it's working?

This commit is contained in:
2026-02-17 16:19:15 -06:00
parent 2749d5d773
commit 77cf18c02f
3 changed files with 59 additions and 0 deletions

View File

@@ -123,6 +123,10 @@ CMD ["/usr/local/bin/attune-sensor"]
# ============================================================================
FROM debian:${DEBIAN_VERSION}-slim AS sensor-full
# Re-declare global ARG so it's available in RUN commands within this stage
# (global ARGs are only automatically available in FROM instructions)
ARG NODE_VERSION=20
RUN apt-get update && apt-get install -y \
ca-certificates \
libssl3 \

View File

@@ -181,6 +181,8 @@ CMD ["/usr/local/bin/attune-worker"]
# ============================================================================
FROM debian:${DEBIAN_VERSION}-slim AS worker-node
ARG NODE_VERSION=20
RUN apt-get update && apt-get install -y \
ca-certificates \
libssl3 \
@@ -220,6 +222,8 @@ CMD ["/usr/local/bin/attune-worker"]
# ============================================================================
FROM debian:${DEBIAN_VERSION} AS worker-full
ARG NODE_VERSION=20
RUN apt-get update && apt-get install -y \
ca-certificates \
libssl3 \

View File

@@ -332,6 +332,11 @@ function TriggerDetail({ triggerRef }: { triggerRef: string }) {
const requiredFields = paramSchema.required || [];
const paramEntries = Object.entries(properties);
const outSchema = trigger.data?.out_schema || {};
const outProperties = outSchema.properties || {};
const outRequiredFields = outSchema.required || [];
const outEntries = Object.entries(outProperties);
return (
<div className="p-6 max-w-7xl mx-auto">
{/* Header */}
@@ -521,6 +526,52 @@ function TriggerDetail({ triggerRef }: { triggerRef: string }) {
</div>
)}
</div>
{/* Payload Schema Card */}
{outEntries.length > 0 && (
<div className="bg-white shadow rounded-lg p-6">
<h2 className="text-xl font-semibold mb-2">Payload Schema</h2>
<p className="text-sm text-gray-500 mb-4">
Schema of the event payload generated when this trigger fires.
</p>
<div className="space-y-3">
{outEntries.map(([key, param]: [string, any]) => (
<div key={key} className="border border-gray-200 rounded p-3">
<div className="flex items-start justify-between">
<div className="flex-1">
<div className="flex items-center gap-2">
<span className="font-mono font-semibold text-sm">
{key}
</span>
{outRequiredFields.includes(key) && (
<span className="text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded">
Required
</span>
)}
<span className="text-xs px-2 py-0.5 bg-gray-100 text-gray-700 rounded">
{param?.type || "any"}
</span>
</div>
{param?.description && (
<p className="text-sm text-gray-600 mt-1">
{param.description}
</p>
)}
{param?.default !== undefined && (
<p className="text-xs text-gray-500 mt-1">
Default:{" "}
<code className="bg-gray-100 px-1 rounded">
{JSON.stringify(param.default)}
</code>
</p>
)}
</div>
</div>
</div>
))}
</div>
</div>
)}
</div>
{/* Sidebar */}