@stigmer/server 3.14.0-dev.20260910084630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/README.md +93 -0
- package/dist/artifactstorage/artifact-storage.d.ts +185 -0
- package/dist/artifactstorage/artifact-storage.d.ts.map +1 -0
- package/dist/artifactstorage/artifact-storage.js +298 -0
- package/dist/artifactstorage/artifact-storage.js.map +1 -0
- package/dist/artifactstorage/r2-storage.d.ts +55 -0
- package/dist/artifactstorage/r2-storage.d.ts.map +1 -0
- package/dist/artifactstorage/r2-storage.js +225 -0
- package/dist/artifactstorage/r2-storage.js.map +1 -0
- package/dist/boot/compose.d.ts +97 -0
- package/dist/boot/compose.d.ts.map +1 -0
- package/dist/boot/compose.js +1037 -0
- package/dist/boot/compose.js.map +1 -0
- package/dist/boot/config.d.ts +205 -0
- package/dist/boot/config.d.ts.map +1 -0
- package/dist/boot/config.js +205 -0
- package/dist/boot/config.js.map +1 -0
- package/dist/boot/inprocess.d.ts +101 -0
- package/dist/boot/inprocess.d.ts.map +1 -0
- package/dist/boot/inprocess.js +226 -0
- package/dist/boot/inprocess.js.map +1 -0
- package/dist/boot/logger.d.ts +65 -0
- package/dist/boot/logger.d.ts.map +1 -0
- package/dist/boot/logger.js +61 -0
- package/dist/boot/logger.js.map +1 -0
- package/dist/domain/agent/controller.d.ts +40 -0
- package/dist/domain/agent/controller.d.ts.map +1 -0
- package/dist/domain/agent/controller.js +278 -0
- package/dist/domain/agent/controller.js.map +1 -0
- package/dist/domain/agent/defaultagent.d.ts +37 -0
- package/dist/domain/agent/defaultagent.d.ts.map +1 -0
- package/dist/domain/agent/defaultagent.js +104 -0
- package/dist/domain/agent/defaultagent.js.map +1 -0
- package/dist/domain/agent/search-extractor.d.ts +3 -0
- package/dist/domain/agent/search-extractor.d.ts.map +1 -0
- package/dist/domain/agent/search-extractor.js +50 -0
- package/dist/domain/agent/search-extractor.js.map +1 -0
- package/dist/domain/agent/steps.d.ts +81 -0
- package/dist/domain/agent/steps.d.ts.map +1 -0
- package/dist/domain/agent/steps.js +482 -0
- package/dist/domain/agent/steps.js.map +1 -0
- package/dist/domain/agentchannel/channel-runtime.d.ts +137 -0
- package/dist/domain/agentchannel/channel-runtime.d.ts.map +1 -0
- package/dist/domain/agentchannel/channel-runtime.js +2 -0
- package/dist/domain/agentchannel/channel-runtime.js.map +1 -0
- package/dist/domain/agentchannel/constants.d.ts +77 -0
- package/dist/domain/agentchannel/constants.d.ts.map +1 -0
- package/dist/domain/agentchannel/constants.js +90 -0
- package/dist/domain/agentchannel/constants.js.map +1 -0
- package/dist/domain/agentchannel/controller.d.ts +57 -0
- package/dist/domain/agentchannel/controller.d.ts.map +1 -0
- package/dist/domain/agentchannel/controller.js +377 -0
- package/dist/domain/agentchannel/controller.js.map +1 -0
- package/dist/domain/agentchannel/conversation.d.ts +45 -0
- package/dist/domain/agentchannel/conversation.d.ts.map +1 -0
- package/dist/domain/agentchannel/conversation.js +69 -0
- package/dist/domain/agentchannel/conversation.js.map +1 -0
- package/dist/domain/agentchannel/message.d.ts +48 -0
- package/dist/domain/agentchannel/message.d.ts.map +1 -0
- package/dist/domain/agentchannel/message.js +40 -0
- package/dist/domain/agentchannel/message.js.map +1 -0
- package/dist/domain/agentchannel/steps.d.ts +79 -0
- package/dist/domain/agentchannel/steps.d.ts.map +1 -0
- package/dist/domain/agentchannel/steps.js +264 -0
- package/dist/domain/agentchannel/steps.js.map +1 -0
- package/dist/domain/agentexecution/approval/author.d.ts +57 -0
- package/dist/domain/agentexecution/approval/author.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/author.js +194 -0
- package/dist/domain/agentexecution/approval/author.js.map +1 -0
- package/dist/domain/agentexecution/approval/compute-from-events.d.ts +10 -0
- package/dist/domain/agentexecution/approval/compute-from-events.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/compute-from-events.js +80 -0
- package/dist/domain/agentexecution/approval/compute-from-events.js.map +1 -0
- package/dist/domain/agentexecution/approval/compute.d.ts +26 -0
- package/dist/domain/agentexecution/approval/compute.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/compute.js +118 -0
- package/dist/domain/agentexecution/approval/compute.js.map +1 -0
- package/dist/domain/agentexecution/approval/emit.d.ts +70 -0
- package/dist/domain/agentexecution/approval/emit.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/emit.js +212 -0
- package/dist/domain/agentexecution/approval/emit.js.map +1 -0
- package/dist/domain/agentexecution/approval/lease-scope.d.ts +37 -0
- package/dist/domain/agentexecution/approval/lease-scope.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/lease-scope.js +26 -0
- package/dist/domain/agentexecution/approval/lease-scope.js.map +1 -0
- package/dist/domain/agentexecution/approval/preserve.d.ts +4 -0
- package/dist/domain/agentexecution/approval/preserve.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/preserve.js +62 -0
- package/dist/domain/agentexecution/approval/preserve.js.map +1 -0
- package/dist/domain/agentexecution/approval/project.d.ts +9 -0
- package/dist/domain/agentexecution/approval/project.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/project.js +105 -0
- package/dist/domain/agentexecution/approval/project.js.map +1 -0
- package/dist/domain/agentexecution/approval/tool-category.d.ts +22 -0
- package/dist/domain/agentexecution/approval/tool-category.d.ts.map +1 -0
- package/dist/domain/agentexecution/approval/tool-category.js +55 -0
- package/dist/domain/agentexecution/approval/tool-category.js.map +1 -0
- package/dist/domain/agentexecution/artifacts.d.ts +50 -0
- package/dist/domain/agentexecution/artifacts.d.ts.map +1 -0
- package/dist/domain/agentexecution/artifacts.js +376 -0
- package/dist/domain/agentexecution/artifacts.js.map +1 -0
- package/dist/domain/agentexecution/constants.d.ts +24 -0
- package/dist/domain/agentexecution/constants.d.ts.map +1 -0
- package/dist/domain/agentexecution/constants.js +26 -0
- package/dist/domain/agentexecution/constants.js.map +1 -0
- package/dist/domain/agentexecution/controller.d.ts +102 -0
- package/dist/domain/agentexecution/controller.d.ts.map +1 -0
- package/dist/domain/agentexecution/controller.js +256 -0
- package/dist/domain/agentexecution/controller.js.map +1 -0
- package/dist/domain/agentexecution/create-execution-context-step.d.ts +104 -0
- package/dist/domain/agentexecution/create-execution-context-step.d.ts.map +1 -0
- package/dist/domain/agentexecution/create-execution-context-step.js +756 -0
- package/dist/domain/agentexecution/create-execution-context-step.js.map +1 -0
- package/dist/domain/agentexecution/create-steps.d.ts +159 -0
- package/dist/domain/agentexecution/create-steps.d.ts.map +1 -0
- package/dist/domain/agentexecution/create-steps.js +660 -0
- package/dist/domain/agentexecution/create-steps.js.map +1 -0
- package/dist/domain/agentexecution/engine.d.ts +100 -0
- package/dist/domain/agentexecution/engine.d.ts.map +1 -0
- package/dist/domain/agentexecution/engine.js +49 -0
- package/dist/domain/agentexecution/engine.js.map +1 -0
- package/dist/domain/agentexecution/filereview/author.d.ts +119 -0
- package/dist/domain/agentexecution/filereview/author.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/author.js +257 -0
- package/dist/domain/agentexecution/filereview/author.js.map +1 -0
- package/dist/domain/agentexecution/filereview/autokeep.d.ts +20 -0
- package/dist/domain/agentexecution/filereview/autokeep.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/autokeep.js +189 -0
- package/dist/domain/agentexecution/filereview/autokeep.js.map +1 -0
- package/dist/domain/agentexecution/filereview/cas-blob.d.ts +23 -0
- package/dist/domain/agentexecution/filereview/cas-blob.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/cas-blob.js +45 -0
- package/dist/domain/agentexecution/filereview/cas-blob.js.map +1 -0
- package/dist/domain/agentexecution/filereview/digest.d.ts +16 -0
- package/dist/domain/agentexecution/filereview/digest.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/digest.js +52 -0
- package/dist/domain/agentexecution/filereview/digest.js.map +1 -0
- package/dist/domain/agentexecution/filereview/gate.d.ts +38 -0
- package/dist/domain/agentexecution/filereview/gate.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/gate.js +45 -0
- package/dist/domain/agentexecution/filereview/gate.js.map +1 -0
- package/dist/domain/agentexecution/filereview/progress.d.ts +3 -0
- package/dist/domain/agentexecution/filereview/progress.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/progress.js +37 -0
- package/dist/domain/agentexecution/filereview/progress.js.map +1 -0
- package/dist/domain/agentexecution/filereview/project.d.ts +9 -0
- package/dist/domain/agentexecution/filereview/project.d.ts.map +1 -0
- package/dist/domain/agentexecution/filereview/project.js +152 -0
- package/dist/domain/agentexecution/filereview/project.js.map +1 -0
- package/dist/domain/agentexecution/lifecycle.d.ts +74 -0
- package/dist/domain/agentexecution/lifecycle.d.ts.map +1 -0
- package/dist/domain/agentexecution/lifecycle.js +570 -0
- package/dist/domain/agentexecution/lifecycle.js.map +1 -0
- package/dist/domain/agentexecution/phases.d.ts +22 -0
- package/dist/domain/agentexecution/phases.d.ts.map +1 -0
- package/dist/domain/agentexecution/phases.js +36 -0
- package/dist/domain/agentexecution/phases.js.map +1 -0
- package/dist/domain/agentexecution/record-runner-lineage-labels.d.ts +42 -0
- package/dist/domain/agentexecution/record-runner-lineage-labels.d.ts.map +1 -0
- package/dist/domain/agentexecution/record-runner-lineage-labels.js +38 -0
- package/dist/domain/agentexecution/record-runner-lineage-labels.js.map +1 -0
- package/dist/domain/agentexecution/search-extractor.d.ts +3 -0
- package/dist/domain/agentexecution/search-extractor.d.ts.map +1 -0
- package/dist/domain/agentexecution/search-extractor.js +48 -0
- package/dist/domain/agentexecution/search-extractor.js.map +1 -0
- package/dist/domain/agentexecution/status-observers.d.ts +26 -0
- package/dist/domain/agentexecution/status-observers.d.ts.map +1 -0
- package/dist/domain/agentexecution/status-observers.js +83 -0
- package/dist/domain/agentexecution/status-observers.js.map +1 -0
- package/dist/domain/agentexecution/steps.d.ts +51 -0
- package/dist/domain/agentexecution/steps.d.ts.map +1 -0
- package/dist/domain/agentexecution/steps.js +160 -0
- package/dist/domain/agentexecution/steps.js.map +1 -0
- package/dist/domain/agentexecution/stream-broker.d.ts +63 -0
- package/dist/domain/agentexecution/stream-broker.d.ts.map +1 -0
- package/dist/domain/agentexecution/stream-broker.js +87 -0
- package/dist/domain/agentexecution/stream-broker.js.map +1 -0
- package/dist/domain/agentexecution/submit-approval.d.ts +41 -0
- package/dist/domain/agentexecution/submit-approval.d.ts.map +1 -0
- package/dist/domain/agentexecution/submit-approval.js +393 -0
- package/dist/domain/agentexecution/submit-approval.js.map +1 -0
- package/dist/domain/agentexecution/submit-file-decision.d.ts +21 -0
- package/dist/domain/agentexecution/submit-file-decision.d.ts.map +1 -0
- package/dist/domain/agentexecution/submit-file-decision.js +286 -0
- package/dist/domain/agentexecution/submit-file-decision.js.map +1 -0
- package/dist/domain/agentexecution/subscribe.d.ts +16 -0
- package/dist/domain/agentexecution/subscribe.d.ts.map +1 -0
- package/dist/domain/agentexecution/subscribe.js +120 -0
- package/dist/domain/agentexecution/subscribe.js.map +1 -0
- package/dist/domain/agentexecution/temporal/config.d.ts +99 -0
- package/dist/domain/agentexecution/temporal/config.d.ts.map +1 -0
- package/dist/domain/agentexecution/temporal/config.js +106 -0
- package/dist/domain/agentexecution/temporal/config.js.map +1 -0
- package/dist/domain/agentexecution/tool-call-settle.d.ts +31 -0
- package/dist/domain/agentexecution/tool-call-settle.d.ts.map +1 -0
- package/dist/domain/agentexecution/tool-call-settle.js +36 -0
- package/dist/domain/agentexecution/tool-call-settle.js.map +1 -0
- package/dist/domain/agentexecution/update-status.d.ts +45 -0
- package/dist/domain/agentexecution/update-status.d.ts.map +1 -0
- package/dist/domain/agentexecution/update-status.js +381 -0
- package/dist/domain/agentexecution/update-status.js.map +1 -0
- package/dist/domain/agentexecution/usage.d.ts +114 -0
- package/dist/domain/agentexecution/usage.d.ts.map +1 -0
- package/dist/domain/agentexecution/usage.js +675 -0
- package/dist/domain/agentexecution/usage.js.map +1 -0
- package/dist/domain/agentexecution/validate-service-tier.d.ts +29 -0
- package/dist/domain/agentexecution/validate-service-tier.d.ts.map +1 -0
- package/dist/domain/agentexecution/validate-service-tier.js +39 -0
- package/dist/domain/agentexecution/validate-service-tier.js.map +1 -0
- package/dist/domain/agentexecution/validate-thinking-mode.d.ts +32 -0
- package/dist/domain/agentexecution/validate-thinking-mode.d.ts.map +1 -0
- package/dist/domain/agentexecution/validate-thinking-mode.js +41 -0
- package/dist/domain/agentexecution/validate-thinking-mode.js.map +1 -0
- package/dist/domain/agentinstance/controller.d.ts +47 -0
- package/dist/domain/agentinstance/controller.d.ts.map +1 -0
- package/dist/domain/agentinstance/controller.js +278 -0
- package/dist/domain/agentinstance/controller.js.map +1 -0
- package/dist/domain/agentinstance/defaultinstance.d.ts +24 -0
- package/dist/domain/agentinstance/defaultinstance.d.ts.map +1 -0
- package/dist/domain/agentinstance/defaultinstance.js +74 -0
- package/dist/domain/agentinstance/defaultinstance.js.map +1 -0
- package/dist/domain/agentinstance/search-extractor.d.ts +3 -0
- package/dist/domain/agentinstance/search-extractor.d.ts.map +1 -0
- package/dist/domain/agentinstance/search-extractor.js +43 -0
- package/dist/domain/agentinstance/search-extractor.js.map +1 -0
- package/dist/domain/agentinstance/steps.d.ts +77 -0
- package/dist/domain/agentinstance/steps.d.ts.map +1 -0
- package/dist/domain/agentinstance/steps.js +261 -0
- package/dist/domain/agentinstance/steps.js.map +1 -0
- package/dist/domain/agentshare/constants.d.ts +47 -0
- package/dist/domain/agentshare/constants.d.ts.map +1 -0
- package/dist/domain/agentshare/constants.js +56 -0
- package/dist/domain/agentshare/constants.js.map +1 -0
- package/dist/domain/agentshare/controller.d.ts +42 -0
- package/dist/domain/agentshare/controller.d.ts.map +1 -0
- package/dist/domain/agentshare/controller.js +535 -0
- package/dist/domain/agentshare/controller.js.map +1 -0
- package/dist/domain/agentshare/steps.d.ts +84 -0
- package/dist/domain/agentshare/steps.d.ts.map +1 -0
- package/dist/domain/agentshare/steps.js +363 -0
- package/dist/domain/agentshare/steps.js.map +1 -0
- package/dist/domain/apikey/controller.d.ts +43 -0
- package/dist/domain/apikey/controller.d.ts.map +1 -0
- package/dist/domain/apikey/controller.js +154 -0
- package/dist/domain/apikey/controller.js.map +1 -0
- package/dist/domain/apikey/keymaterial.d.ts +23 -0
- package/dist/domain/apikey/keymaterial.d.ts.map +1 -0
- package/dist/domain/apikey/keymaterial.js +59 -0
- package/dist/domain/apikey/keymaterial.js.map +1 -0
- package/dist/domain/apikey/lookup.d.ts +10 -0
- package/dist/domain/apikey/lookup.d.ts.map +1 -0
- package/dist/domain/apikey/lookup.js +36 -0
- package/dist/domain/apikey/lookup.js.map +1 -0
- package/dist/domain/apikey/steps.d.ts +41 -0
- package/dist/domain/apikey/steps.d.ts.map +1 -0
- package/dist/domain/apikey/steps.js +123 -0
- package/dist/domain/apikey/steps.js.map +1 -0
- package/dist/domain/apikey/verifier.d.ts +8 -0
- package/dist/domain/apikey/verifier.d.ts.map +1 -0
- package/dist/domain/apikey/verifier.js +68 -0
- package/dist/domain/apikey/verifier.js.map +1 -0
- package/dist/domain/artifact/constants.d.ts +36 -0
- package/dist/domain/artifact/constants.d.ts.map +1 -0
- package/dist/domain/artifact/constants.js +40 -0
- package/dist/domain/artifact/constants.js.map +1 -0
- package/dist/domain/artifact/controller.d.ts +15 -0
- package/dist/domain/artifact/controller.d.ts.map +1 -0
- package/dist/domain/artifact/controller.js +468 -0
- package/dist/domain/artifact/controller.js.map +1 -0
- package/dist/domain/artifact/file-server.d.ts +29 -0
- package/dist/domain/artifact/file-server.d.ts.map +1 -0
- package/dist/domain/artifact/file-server.js +173 -0
- package/dist/domain/artifact/file-server.js.map +1 -0
- package/dist/domain/channelapp/constants.d.ts +45 -0
- package/dist/domain/channelapp/constants.d.ts.map +1 -0
- package/dist/domain/channelapp/constants.js +54 -0
- package/dist/domain/channelapp/constants.js.map +1 -0
- package/dist/domain/channelapp/controller.d.ts +41 -0
- package/dist/domain/channelapp/controller.d.ts.map +1 -0
- package/dist/domain/channelapp/controller.js +237 -0
- package/dist/domain/channelapp/controller.js.map +1 -0
- package/dist/domain/channelapp/steps.d.ts +72 -0
- package/dist/domain/channelapp/steps.d.ts.map +1 -0
- package/dist/domain/channelapp/steps.js +285 -0
- package/dist/domain/channelapp/steps.js.map +1 -0
- package/dist/domain/environment/constants.d.ts +48 -0
- package/dist/domain/environment/constants.d.ts.map +1 -0
- package/dist/domain/environment/constants.js +57 -0
- package/dist/domain/environment/constants.js.map +1 -0
- package/dist/domain/environment/controller.d.ts +40 -0
- package/dist/domain/environment/controller.d.ts.map +1 -0
- package/dist/domain/environment/controller.js +429 -0
- package/dist/domain/environment/controller.js.map +1 -0
- package/dist/domain/environment/redact.d.ts +43 -0
- package/dist/domain/environment/redact.d.ts.map +1 -0
- package/dist/domain/environment/redact.js +54 -0
- package/dist/domain/environment/redact.js.map +1 -0
- package/dist/domain/environment/resolution/resolution.d.ts +47 -0
- package/dist/domain/environment/resolution/resolution.d.ts.map +1 -0
- package/dist/domain/environment/resolution/resolution.js +120 -0
- package/dist/domain/environment/resolution/resolution.js.map +1 -0
- package/dist/domain/environment/search-extractor.d.ts +3 -0
- package/dist/domain/environment/search-extractor.d.ts.map +1 -0
- package/dist/domain/environment/search-extractor.js +43 -0
- package/dist/domain/environment/search-extractor.js.map +1 -0
- package/dist/domain/environment/steps.d.ts +141 -0
- package/dist/domain/environment/steps.d.ts.map +1 -0
- package/dist/domain/environment/steps.js +445 -0
- package/dist/domain/environment/steps.js.map +1 -0
- package/dist/domain/executioncontext/constants.d.ts +36 -0
- package/dist/domain/executioncontext/constants.d.ts.map +1 -0
- package/dist/domain/executioncontext/constants.js +42 -0
- package/dist/domain/executioncontext/constants.js.map +1 -0
- package/dist/domain/executioncontext/controller.d.ts +63 -0
- package/dist/domain/executioncontext/controller.d.ts.map +1 -0
- package/dist/domain/executioncontext/controller.js +189 -0
- package/dist/domain/executioncontext/controller.js.map +1 -0
- package/dist/domain/executioncontext/redact.d.ts +28 -0
- package/dist/domain/executioncontext/redact.d.ts.map +1 -0
- package/dist/domain/executioncontext/redact.js +32 -0
- package/dist/domain/executioncontext/redact.js.map +1 -0
- package/dist/domain/executioncontext/resolve-values-for-caller.d.ts +72 -0
- package/dist/domain/executioncontext/resolve-values-for-caller.d.ts.map +1 -0
- package/dist/domain/executioncontext/resolve-values-for-caller.js +130 -0
- package/dist/domain/executioncontext/resolve-values-for-caller.js.map +1 -0
- package/dist/domain/executioncontext/search-extractor.d.ts +3 -0
- package/dist/domain/executioncontext/search-extractor.d.ts.map +1 -0
- package/dist/domain/executioncontext/search-extractor.js +43 -0
- package/dist/domain/executioncontext/search-extractor.js.map +1 -0
- package/dist/domain/executioncontext/steps.d.ts +104 -0
- package/dist/domain/executioncontext/steps.d.ts.map +1 -0
- package/dist/domain/executioncontext/steps.js +216 -0
- package/dist/domain/executioncontext/steps.js.map +1 -0
- package/dist/domain/executioncontext/temporal/delete-execution-context.d.ts +11 -0
- package/dist/domain/executioncontext/temporal/delete-execution-context.d.ts.map +1 -0
- package/dist/domain/executioncontext/temporal/delete-execution-context.js +71 -0
- package/dist/domain/executioncontext/temporal/delete-execution-context.js.map +1 -0
- package/dist/domain/github/controller.d.ts +12 -0
- package/dist/domain/github/controller.d.ts.map +1 -0
- package/dist/domain/github/controller.js +141 -0
- package/dist/domain/github/controller.js.map +1 -0
- package/dist/domain/mcpserver/complete-oauth-connect.d.ts +23 -0
- package/dist/domain/mcpserver/complete-oauth-connect.d.ts.map +1 -0
- package/dist/domain/mcpserver/complete-oauth-connect.js +232 -0
- package/dist/domain/mcpserver/complete-oauth-connect.js.map +1 -0
- package/dist/domain/mcpserver/connect-status.d.ts +100 -0
- package/dist/domain/mcpserver/connect-status.d.ts.map +1 -0
- package/dist/domain/mcpserver/connect-status.js +219 -0
- package/dist/domain/mcpserver/connect-status.js.map +1 -0
- package/dist/domain/mcpserver/connect.d.ts +235 -0
- package/dist/domain/mcpserver/connect.d.ts.map +1 -0
- package/dist/domain/mcpserver/connect.js +805 -0
- package/dist/domain/mcpserver/connect.js.map +1 -0
- package/dist/domain/mcpserver/controller.d.ts +19 -0
- package/dist/domain/mcpserver/controller.d.ts.map +1 -0
- package/dist/domain/mcpserver/controller.js +344 -0
- package/dist/domain/mcpserver/controller.js.map +1 -0
- package/dist/domain/mcpserver/disconnect-oauth.d.ts +5 -0
- package/dist/domain/mcpserver/disconnect-oauth.d.ts.map +1 -0
- package/dist/domain/mcpserver/disconnect-oauth.js +82 -0
- package/dist/domain/mcpserver/disconnect-oauth.js.map +1 -0
- package/dist/domain/mcpserver/enabledtools/enabledtools.d.ts +63 -0
- package/dist/domain/mcpserver/enabledtools/enabledtools.d.ts.map +1 -0
- package/dist/domain/mcpserver/enabledtools/enabledtools.js +46 -0
- package/dist/domain/mcpserver/enabledtools/enabledtools.js.map +1 -0
- package/dist/domain/mcpserver/engine.d.ts +171 -0
- package/dist/domain/mcpserver/engine.d.ts.map +1 -0
- package/dist/domain/mcpserver/engine.js +27 -0
- package/dist/domain/mcpserver/engine.js.map +1 -0
- package/dist/domain/mcpserver/get-oauth-grant-status.d.ts +20 -0
- package/dist/domain/mcpserver/get-oauth-grant-status.d.ts.map +1 -0
- package/dist/domain/mcpserver/get-oauth-grant-status.js +77 -0
- package/dist/domain/mcpserver/get-oauth-grant-status.js.map +1 -0
- package/dist/domain/mcpserver/initiate-oauth-connect.d.ts +52 -0
- package/dist/domain/mcpserver/initiate-oauth-connect.d.ts.map +1 -0
- package/dist/domain/mcpserver/initiate-oauth-connect.js +331 -0
- package/dist/domain/mcpserver/initiate-oauth-connect.js.map +1 -0
- package/dist/domain/mcpserver/oauth/dcr.d.ts +17 -0
- package/dist/domain/mcpserver/oauth/dcr.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/dcr.js +62 -0
- package/dist/domain/mcpserver/oauth/dcr.js.map +1 -0
- package/dist/domain/mcpserver/oauth/discovery.d.ts +37 -0
- package/dist/domain/mcpserver/oauth/discovery.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/discovery.js +93 -0
- package/dist/domain/mcpserver/oauth/discovery.js.map +1 -0
- package/dist/domain/mcpserver/oauth/managed-env.d.ts +69 -0
- package/dist/domain/mcpserver/oauth/managed-env.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/managed-env.js +111 -0
- package/dist/domain/mcpserver/oauth/managed-env.js.map +1 -0
- package/dist/domain/mcpserver/oauth/pkce.d.ts +14 -0
- package/dist/domain/mcpserver/oauth/pkce.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/pkce.js +22 -0
- package/dist/domain/mcpserver/oauth/pkce.js.map +1 -0
- package/dist/domain/mcpserver/oauth/preflight.d.ts +31 -0
- package/dist/domain/mcpserver/oauth/preflight.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/preflight.js +82 -0
- package/dist/domain/mcpserver/oauth/preflight.js.map +1 -0
- package/dist/domain/mcpserver/oauth/refresh.d.ts +34 -0
- package/dist/domain/mcpserver/oauth/refresh.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/refresh.js +74 -0
- package/dist/domain/mcpserver/oauth/refresh.js.map +1 -0
- package/dist/domain/mcpserver/oauth/token.d.ts +32 -0
- package/dist/domain/mcpserver/oauth/token.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/token.js +112 -0
- package/dist/domain/mcpserver/oauth/token.js.map +1 -0
- package/dist/domain/mcpserver/oauth/truncate-body.d.ts +8 -0
- package/dist/domain/mcpserver/oauth/truncate-body.d.ts.map +1 -0
- package/dist/domain/mcpserver/oauth/truncate-body.js +11 -0
- package/dist/domain/mcpserver/oauth/truncate-body.js.map +1 -0
- package/dist/domain/mcpserver/search-extractor.d.ts +3 -0
- package/dist/domain/mcpserver/search-extractor.d.ts.map +1 -0
- package/dist/domain/mcpserver/search-extractor.js +45 -0
- package/dist/domain/mcpserver/search-extractor.js.map +1 -0
- package/dist/domain/mcpserver/start-connect.d.ts +38 -0
- package/dist/domain/mcpserver/start-connect.d.ts.map +1 -0
- package/dist/domain/mcpserver/start-connect.js +175 -0
- package/dist/domain/mcpserver/start-connect.js.map +1 -0
- package/dist/domain/mcpserver/steps.d.ts +63 -0
- package/dist/domain/mcpserver/steps.d.ts.map +1 -0
- package/dist/domain/mcpserver/steps.js +144 -0
- package/dist/domain/mcpserver/steps.js.map +1 -0
- package/dist/domain/memory/constants.d.ts +47 -0
- package/dist/domain/memory/constants.d.ts.map +1 -0
- package/dist/domain/memory/constants.js +49 -0
- package/dist/domain/memory/constants.js.map +1 -0
- package/dist/domain/memory/controller.d.ts +79 -0
- package/dist/domain/memory/controller.d.ts.map +1 -0
- package/dist/domain/memory/controller.js +250 -0
- package/dist/domain/memory/controller.js.map +1 -0
- package/dist/domain/memory/steps.d.ts +161 -0
- package/dist/domain/memory/steps.d.ts.map +1 -0
- package/dist/domain/memory/steps.js +468 -0
- package/dist/domain/memory/steps.js.map +1 -0
- package/dist/domain/oauthapp/constants.d.ts +32 -0
- package/dist/domain/oauthapp/constants.d.ts.map +1 -0
- package/dist/domain/oauthapp/constants.js +35 -0
- package/dist/domain/oauthapp/constants.js.map +1 -0
- package/dist/domain/oauthapp/controller.d.ts +42 -0
- package/dist/domain/oauthapp/controller.d.ts.map +1 -0
- package/dist/domain/oauthapp/controller.js +232 -0
- package/dist/domain/oauthapp/controller.js.map +1 -0
- package/dist/domain/oauthapp/refresolution/refresolution.d.ts +12 -0
- package/dist/domain/oauthapp/refresolution/refresolution.d.ts.map +1 -0
- package/dist/domain/oauthapp/refresolution/refresolution.js +79 -0
- package/dist/domain/oauthapp/refresolution/refresolution.js.map +1 -0
- package/dist/domain/oauthapp/refresolution.d.ts +12 -0
- package/dist/domain/oauthapp/refresolution.d.ts.map +1 -0
- package/dist/domain/oauthapp/refresolution.js +83 -0
- package/dist/domain/oauthapp/refresolution.js.map +1 -0
- package/dist/domain/oauthapp/steps.d.ts +47 -0
- package/dist/domain/oauthapp/steps.d.ts.map +1 -0
- package/dist/domain/oauthapp/steps.js +169 -0
- package/dist/domain/oauthapp/steps.js.map +1 -0
- package/dist/domain/organization/controller.d.ts +46 -0
- package/dist/domain/organization/controller.d.ts.map +1 -0
- package/dist/domain/organization/controller.js +323 -0
- package/dist/domain/organization/controller.js.map +1 -0
- package/dist/domain/organization/search-extractor.d.ts +3 -0
- package/dist/domain/organization/search-extractor.d.ts.map +1 -0
- package/dist/domain/organization/search-extractor.js +43 -0
- package/dist/domain/organization/search-extractor.js.map +1 -0
- package/dist/domain/organization/steps.d.ts +30 -0
- package/dist/domain/organization/steps.d.ts.map +1 -0
- package/dist/domain/organization/steps.js +89 -0
- package/dist/domain/organization/steps.js.map +1 -0
- package/dist/domain/platform/controller.d.ts +60 -0
- package/dist/domain/platform/controller.d.ts.map +1 -0
- package/dist/domain/platform/controller.js +172 -0
- package/dist/domain/platform/controller.js.map +1 -0
- package/dist/domain/platform/version.d.ts +15 -0
- package/dist/domain/platform/version.d.ts.map +1 -0
- package/dist/domain/platform/version.js +18 -0
- package/dist/domain/platform/version.js.map +1 -0
- package/dist/domain/project/controller.d.ts +48 -0
- package/dist/domain/project/controller.d.ts.map +1 -0
- package/dist/domain/project/controller.js +192 -0
- package/dist/domain/project/controller.js.map +1 -0
- package/dist/domain/project/reconcile.d.ts +77 -0
- package/dist/domain/project/reconcile.d.ts.map +1 -0
- package/dist/domain/project/reconcile.js +175 -0
- package/dist/domain/project/reconcile.js.map +1 -0
- package/dist/domain/project/search-extractor.d.ts +3 -0
- package/dist/domain/project/search-extractor.d.ts.map +1 -0
- package/dist/domain/project/search-extractor.js +43 -0
- package/dist/domain/project/search-extractor.js.map +1 -0
- package/dist/domain/schedule/clock.d.ts +54 -0
- package/dist/domain/schedule/clock.d.ts.map +1 -0
- package/dist/domain/schedule/clock.js +143 -0
- package/dist/domain/schedule/clock.js.map +1 -0
- package/dist/domain/schedule/controller.d.ts +67 -0
- package/dist/domain/schedule/controller.d.ts.map +1 -0
- package/dist/domain/schedule/controller.js +383 -0
- package/dist/domain/schedule/controller.js.map +1 -0
- package/dist/domain/schedule/cron.d.ts +29 -0
- package/dist/domain/schedule/cron.d.ts.map +1 -0
- package/dist/domain/schedule/cron.js +130 -0
- package/dist/domain/schedule/cron.js.map +1 -0
- package/dist/domain/schedule/list-runs.d.ts +24 -0
- package/dist/domain/schedule/list-runs.d.ts.map +1 -0
- package/dist/domain/schedule/list-runs.js +203 -0
- package/dist/domain/schedule/list-runs.js.map +1 -0
- package/dist/domain/schedule/persist-update.d.ts +5 -0
- package/dist/domain/schedule/persist-update.d.ts.map +1 -0
- package/dist/domain/schedule/persist-update.js +62 -0
- package/dist/domain/schedule/persist-update.js.map +1 -0
- package/dist/domain/schedule/resume.d.ts +33 -0
- package/dist/domain/schedule/resume.d.ts.map +1 -0
- package/dist/domain/schedule/resume.js +82 -0
- package/dist/domain/schedule/resume.js.map +1 -0
- package/dist/domain/schedule/steps.d.ts +96 -0
- package/dist/domain/schedule/steps.d.ts.map +1 -0
- package/dist/domain/schedule/steps.js +208 -0
- package/dist/domain/schedule/steps.js.map +1 -0
- package/dist/domain/schedule/trigger.d.ts +59 -0
- package/dist/domain/schedule/trigger.d.ts.map +1 -0
- package/dist/domain/schedule/trigger.js +195 -0
- package/dist/domain/schedule/trigger.js.map +1 -0
- package/dist/domain/session/controller.d.ts +66 -0
- package/dist/domain/session/controller.d.ts.map +1 -0
- package/dist/domain/session/controller.js +282 -0
- package/dist/domain/session/controller.js.map +1 -0
- package/dist/domain/session/search-extractor.d.ts +3 -0
- package/dist/domain/session/search-extractor.d.ts.map +1 -0
- package/dist/domain/session/search-extractor.js +43 -0
- package/dist/domain/session/search-extractor.js.map +1 -0
- package/dist/domain/session/steps.d.ts +96 -0
- package/dist/domain/session/steps.d.ts.map +1 -0
- package/dist/domain/session/steps.js +592 -0
- package/dist/domain/session/steps.js.map +1 -0
- package/dist/domain/skill/constants.d.ts +64 -0
- package/dist/domain/skill/constants.d.ts.map +1 -0
- package/dist/domain/skill/constants.js +64 -0
- package/dist/domain/skill/constants.js.map +1 -0
- package/dist/domain/skill/controller.d.ts +38 -0
- package/dist/domain/skill/controller.d.ts.map +1 -0
- package/dist/domain/skill/controller.js +476 -0
- package/dist/domain/skill/controller.js.map +1 -0
- package/dist/domain/skill/push.d.ts +97 -0
- package/dist/domain/skill/push.d.ts.map +1 -0
- package/dist/domain/skill/push.js +485 -0
- package/dist/domain/skill/push.js.map +1 -0
- package/dist/domain/skill/search-extractor.d.ts +3 -0
- package/dist/domain/skill/search-extractor.d.ts.map +1 -0
- package/dist/domain/skill/search-extractor.js +44 -0
- package/dist/domain/skill/search-extractor.js.map +1 -0
- package/dist/domain/skill/storage/artifact-storage.d.ts +33 -0
- package/dist/domain/skill/storage/artifact-storage.d.ts.map +1 -0
- package/dist/domain/skill/storage/artifact-storage.js +106 -0
- package/dist/domain/skill/storage/artifact-storage.js.map +1 -0
- package/dist/domain/skill/storage/frontmatter.d.ts +16 -0
- package/dist/domain/skill/storage/frontmatter.d.ts.map +1 -0
- package/dist/domain/skill/storage/frontmatter.js +143 -0
- package/dist/domain/skill/storage/frontmatter.js.map +1 -0
- package/dist/domain/skill/storage/prefilter.d.ts +77 -0
- package/dist/domain/skill/storage/prefilter.d.ts.map +1 -0
- package/dist/domain/skill/storage/prefilter.js +127 -0
- package/dist/domain/skill/storage/prefilter.js.map +1 -0
- package/dist/domain/skill/storage/zip-gate.d.ts +20 -0
- package/dist/domain/skill/storage/zip-gate.d.ts.map +1 -0
- package/dist/domain/skill/storage/zip-gate.js +186 -0
- package/dist/domain/skill/storage/zip-gate.js.map +1 -0
- package/dist/domain/skill/transfer/handler.d.ts +36 -0
- package/dist/domain/skill/transfer/handler.d.ts.map +1 -0
- package/dist/domain/skill/transfer/handler.js +120 -0
- package/dist/domain/skill/transfer/handler.js.map +1 -0
- package/dist/domain/skill/transfer/slots.d.ts +79 -0
- package/dist/domain/skill/transfer/slots.d.ts.map +1 -0
- package/dist/domain/skill/transfer/slots.js +216 -0
- package/dist/domain/skill/transfer/slots.js.map +1 -0
- package/dist/domain/skill/version-resolution.d.ts +16 -0
- package/dist/domain/skill/version-resolution.d.ts.map +1 -0
- package/dist/domain/skill/version-resolution.js +254 -0
- package/dist/domain/skill/version-resolution.js.map +1 -0
- package/dist/domain/workflow/controller.d.ts +45 -0
- package/dist/domain/workflow/controller.d.ts.map +1 -0
- package/dist/domain/workflow/controller.js +751 -0
- package/dist/domain/workflow/controller.js.map +1 -0
- package/dist/domain/workflow/converter/converter.d.ts +8 -0
- package/dist/domain/workflow/converter/converter.d.ts.map +1 -0
- package/dist/domain/workflow/converter/converter.js +122 -0
- package/dist/domain/workflow/converter/converter.js.map +1 -0
- package/dist/domain/workflow/converter/task-converters.d.ts +30 -0
- package/dist/domain/workflow/converter/task-converters.d.ts.map +1 -0
- package/dist/domain/workflow/converter/task-converters.js +608 -0
- package/dist/domain/workflow/converter/task-converters.js.map +1 -0
- package/dist/domain/workflow/converter/types.d.ts +13 -0
- package/dist/domain/workflow/converter/types.d.ts.map +1 -0
- package/dist/domain/workflow/converter/types.js +2 -0
- package/dist/domain/workflow/converter/types.js.map +1 -0
- package/dist/domain/workflow/converter/unmarshal.d.ts +39 -0
- package/dist/domain/workflow/converter/unmarshal.d.ts.map +1 -0
- package/dist/domain/workflow/converter/unmarshal.js +165 -0
- package/dist/domain/workflow/converter/unmarshal.js.map +1 -0
- package/dist/domain/workflow/registry/bundled.d.ts +3 -0
- package/dist/domain/workflow/registry/bundled.d.ts.map +1 -0
- package/dist/domain/workflow/registry/bundled.js +21 -0
- package/dist/domain/workflow/registry/bundled.js.map +1 -0
- package/dist/domain/workflow/registry/data/model-registry.json +1236 -0
- package/dist/domain/workflow/registry/data/task-kind-registry.json +3177 -0
- package/dist/domain/workflow/registry/document-catalog.d.ts +68 -0
- package/dist/domain/workflow/registry/document-catalog.d.ts.map +1 -0
- package/dist/domain/workflow/registry/document-catalog.js +238 -0
- package/dist/domain/workflow/registry/document-catalog.js.map +1 -0
- package/dist/domain/workflow/registry/model-catalog-provider.d.ts +108 -0
- package/dist/domain/workflow/registry/model-catalog-provider.d.ts.map +1 -0
- package/dist/domain/workflow/registry/model-catalog-provider.js +34 -0
- package/dist/domain/workflow/registry/model-catalog-provider.js.map +1 -0
- package/dist/domain/workflow/registry/model-registry-store.d.ts +151 -0
- package/dist/domain/workflow/registry/model-registry-store.d.ts.map +1 -0
- package/dist/domain/workflow/registry/model-registry-store.js +196 -0
- package/dist/domain/workflow/registry/model-registry-store.js.map +1 -0
- package/dist/domain/workflow/registry/pin-validation.d.ts +67 -0
- package/dist/domain/workflow/registry/pin-validation.d.ts.map +1 -0
- package/dist/domain/workflow/registry/pin-validation.js +151 -0
- package/dist/domain/workflow/registry/pin-validation.js.map +1 -0
- package/dist/domain/workflow/search-extractor.d.ts +3 -0
- package/dist/domain/workflow/search-extractor.d.ts.map +1 -0
- package/dist/domain/workflow/search-extractor.js +44 -0
- package/dist/domain/workflow/search-extractor.js.map +1 -0
- package/dist/domain/workflow/steps.d.ts +72 -0
- package/dist/domain/workflow/steps.d.ts.map +1 -0
- package/dist/domain/workflow/steps.js +536 -0
- package/dist/domain/workflow/steps.js.map +1 -0
- package/dist/domain/workflow/validation/budget-warnings.d.ts +3 -0
- package/dist/domain/workflow/validation/budget-warnings.d.ts.map +1 -0
- package/dist/domain/workflow/validation/budget-warnings.js +109 -0
- package/dist/domain/workflow/validation/budget-warnings.js.map +1 -0
- package/dist/domain/workflow/validation/crossref.d.ts +31 -0
- package/dist/domain/workflow/validation/crossref.d.ts.map +1 -0
- package/dist/domain/workflow/validation/crossref.js +338 -0
- package/dist/domain/workflow/validation/crossref.js.map +1 -0
- package/dist/domain/workflow/validation/expression-warnings.d.ts +3 -0
- package/dist/domain/workflow/validation/expression-warnings.d.ts.map +1 -0
- package/dist/domain/workflow/validation/expression-warnings.js +78 -0
- package/dist/domain/workflow/validation/expression-warnings.js.map +1 -0
- package/dist/domain/workflow/validation/format-violation.d.ts +23 -0
- package/dist/domain/workflow/validation/format-violation.d.ts.map +1 -0
- package/dist/domain/workflow/validation/format-violation.js +37 -0
- package/dist/domain/workflow/validation/format-violation.js.map +1 -0
- package/dist/domain/workflow/validation/human-input-validation.d.ts +3 -0
- package/dist/domain/workflow/validation/human-input-validation.d.ts.map +1 -0
- package/dist/domain/workflow/validation/human-input-validation.js +78 -0
- package/dist/domain/workflow/validation/human-input-validation.js.map +1 -0
- package/dist/domain/workflow/validation/model-validation.d.ts +13 -0
- package/dist/domain/workflow/validation/model-validation.d.ts.map +1 -0
- package/dist/domain/workflow/validation/model-validation.js +175 -0
- package/dist/domain/workflow/validation/model-validation.js.map +1 -0
- package/dist/domain/workflow/validation/task-config-constraints.d.ts +7 -0
- package/dist/domain/workflow/validation/task-config-constraints.d.ts.map +1 -0
- package/dist/domain/workflow/validation/task-config-constraints.js +126 -0
- package/dist/domain/workflow/validation/task-config-constraints.js.map +1 -0
- package/dist/domain/workflow/validation/validator.d.ts +11 -0
- package/dist/domain/workflow/validation/validator.d.ts.map +1 -0
- package/dist/domain/workflow/validation/validator.js +116 -0
- package/dist/domain/workflow/validation/validator.js.map +1 -0
- package/dist/domain/workflowexecution/constants.d.ts +83 -0
- package/dist/domain/workflowexecution/constants.d.ts.map +1 -0
- package/dist/domain/workflowexecution/constants.js +87 -0
- package/dist/domain/workflowexecution/constants.js.map +1 -0
- package/dist/domain/workflowexecution/controller.d.ts +95 -0
- package/dist/domain/workflowexecution/controller.d.ts.map +1 -0
- package/dist/domain/workflowexecution/controller.js +270 -0
- package/dist/domain/workflowexecution/controller.js.map +1 -0
- package/dist/domain/workflowexecution/create-execution-context-step.d.ts +30 -0
- package/dist/domain/workflowexecution/create-execution-context-step.d.ts.map +1 -0
- package/dist/domain/workflowexecution/create-execution-context-step.js +141 -0
- package/dist/domain/workflowexecution/create-execution-context-step.js.map +1 -0
- package/dist/domain/workflowexecution/create-steps.d.ts +70 -0
- package/dist/domain/workflowexecution/create-steps.d.ts.map +1 -0
- package/dist/domain/workflowexecution/create-steps.js +254 -0
- package/dist/domain/workflowexecution/create-steps.js.map +1 -0
- package/dist/domain/workflowexecution/engine.d.ts +131 -0
- package/dist/domain/workflowexecution/engine.d.ts.map +1 -0
- package/dist/domain/workflowexecution/engine.js +38 -0
- package/dist/domain/workflowexecution/engine.js.map +1 -0
- package/dist/domain/workflowexecution/execution-filter.d.ts +38 -0
- package/dist/domain/workflowexecution/execution-filter.d.ts.map +1 -0
- package/dist/domain/workflowexecution/execution-filter.js +177 -0
- package/dist/domain/workflowexecution/execution-filter.js.map +1 -0
- package/dist/domain/workflowexecution/get-event-log.d.ts +16 -0
- package/dist/domain/workflowexecution/get-event-log.d.ts.map +1 -0
- package/dist/domain/workflowexecution/get-event-log.js +95 -0
- package/dist/domain/workflowexecution/get-event-log.js.map +1 -0
- package/dist/domain/workflowexecution/get-execution-summary.d.ts +20 -0
- package/dist/domain/workflowexecution/get-execution-summary.d.ts.map +1 -0
- package/dist/domain/workflowexecution/get-execution-summary.js +212 -0
- package/dist/domain/workflowexecution/get-execution-summary.js.map +1 -0
- package/dist/domain/workflowexecution/lifecycle.d.ts +80 -0
- package/dist/domain/workflowexecution/lifecycle.d.ts.map +1 -0
- package/dist/domain/workflowexecution/lifecycle.js +560 -0
- package/dist/domain/workflowexecution/lifecycle.js.map +1 -0
- package/dist/domain/workflowexecution/list-pending-approvals.d.ts +13 -0
- package/dist/domain/workflowexecution/list-pending-approvals.d.ts.map +1 -0
- package/dist/domain/workflowexecution/list-pending-approvals.js +69 -0
- package/dist/domain/workflowexecution/list-pending-approvals.js.map +1 -0
- package/dist/domain/workflowexecution/normalize-workflow-ref-step.d.ts +6 -0
- package/dist/domain/workflowexecution/normalize-workflow-ref-step.d.ts.map +1 -0
- package/dist/domain/workflowexecution/normalize-workflow-ref-step.js +54 -0
- package/dist/domain/workflowexecution/normalize-workflow-ref-step.js.map +1 -0
- package/dist/domain/workflowexecution/pin-workflow-version-step.d.ts +8 -0
- package/dist/domain/workflowexecution/pin-workflow-version-step.d.ts.map +1 -0
- package/dist/domain/workflowexecution/pin-workflow-version-step.js +81 -0
- package/dist/domain/workflowexecution/pin-workflow-version-step.js.map +1 -0
- package/dist/domain/workflowexecution/queries.d.ts +10 -0
- package/dist/domain/workflowexecution/queries.d.ts.map +1 -0
- package/dist/domain/workflowexecution/queries.js +40 -0
- package/dist/domain/workflowexecution/queries.js.map +1 -0
- package/dist/domain/workflowexecution/search-extractor.d.ts +3 -0
- package/dist/domain/workflowexecution/search-extractor.d.ts.map +1 -0
- package/dist/domain/workflowexecution/search-extractor.js +44 -0
- package/dist/domain/workflowexecution/search-extractor.js.map +1 -0
- package/dist/domain/workflowexecution/send-signal.d.ts +16 -0
- package/dist/domain/workflowexecution/send-signal.d.ts.map +1 -0
- package/dist/domain/workflowexecution/send-signal.js +189 -0
- package/dist/domain/workflowexecution/send-signal.js.map +1 -0
- package/dist/domain/workflowexecution/stream-broker.d.ts +70 -0
- package/dist/domain/workflowexecution/stream-broker.d.ts.map +1 -0
- package/dist/domain/workflowexecution/stream-broker.js +87 -0
- package/dist/domain/workflowexecution/stream-broker.js.map +1 -0
- package/dist/domain/workflowexecution/submit-approval.d.ts +40 -0
- package/dist/domain/workflowexecution/submit-approval.d.ts.map +1 -0
- package/dist/domain/workflowexecution/submit-approval.js +105 -0
- package/dist/domain/workflowexecution/submit-approval.js.map +1 -0
- package/dist/domain/workflowexecution/submit-file-decision.d.ts +26 -0
- package/dist/domain/workflowexecution/submit-file-decision.d.ts.map +1 -0
- package/dist/domain/workflowexecution/submit-file-decision.js +118 -0
- package/dist/domain/workflowexecution/submit-file-decision.js.map +1 -0
- package/dist/domain/workflowexecution/submit-workflow-task-approval.d.ts +16 -0
- package/dist/domain/workflowexecution/submit-workflow-task-approval.d.ts.map +1 -0
- package/dist/domain/workflowexecution/submit-workflow-task-approval.js +119 -0
- package/dist/domain/workflowexecution/submit-workflow-task-approval.js.map +1 -0
- package/dist/domain/workflowexecution/subscribe-events.d.ts +14 -0
- package/dist/domain/workflowexecution/subscribe-events.d.ts.map +1 -0
- package/dist/domain/workflowexecution/subscribe-events.js +155 -0
- package/dist/domain/workflowexecution/subscribe-events.js.map +1 -0
- package/dist/domain/workflowexecution/subscribe.d.ts +24 -0
- package/dist/domain/workflowexecution/subscribe.d.ts.map +1 -0
- package/dist/domain/workflowexecution/subscribe.js +124 -0
- package/dist/domain/workflowexecution/subscribe.js.map +1 -0
- package/dist/domain/workflowexecution/temporal/config.d.ts +108 -0
- package/dist/domain/workflowexecution/temporal/config.d.ts.map +1 -0
- package/dist/domain/workflowexecution/temporal/config.js +111 -0
- package/dist/domain/workflowexecution/temporal/config.js.map +1 -0
- package/dist/domain/workflowexecution/update-status.d.ts +41 -0
- package/dist/domain/workflowexecution/update-status.d.ts.map +1 -0
- package/dist/domain/workflowexecution/update-status.js +280 -0
- package/dist/domain/workflowexecution/update-status.js.map +1 -0
- package/dist/domain/workflowinstance/controller.d.ts +44 -0
- package/dist/domain/workflowinstance/controller.d.ts.map +1 -0
- package/dist/domain/workflowinstance/controller.js +387 -0
- package/dist/domain/workflowinstance/controller.js.map +1 -0
- package/dist/domain/workflowinstance/defaultinstance.d.ts +23 -0
- package/dist/domain/workflowinstance/defaultinstance.d.ts.map +1 -0
- package/dist/domain/workflowinstance/defaultinstance.js +58 -0
- package/dist/domain/workflowinstance/defaultinstance.js.map +1 -0
- package/dist/domain/workflowinstance/search-extractor.d.ts +3 -0
- package/dist/domain/workflowinstance/search-extractor.d.ts.map +1 -0
- package/dist/domain/workflowinstance/search-extractor.js +44 -0
- package/dist/domain/workflowinstance/search-extractor.js.map +1 -0
- package/dist/domain/workflowinstance/steps.d.ts +57 -0
- package/dist/domain/workflowinstance/steps.d.ts.map +1 -0
- package/dist/domain/workflowinstance/steps.js +143 -0
- package/dist/domain/workflowinstance/steps.js.map +1 -0
- package/dist/encryption/codec.d.ts +102 -0
- package/dist/encryption/codec.d.ts.map +1 -0
- package/dist/encryption/codec.js +2 -0
- package/dist/encryption/codec.js.map +1 -0
- package/dist/encryption/encryption.d.ts +210 -0
- package/dist/encryption/encryption.d.ts.map +1 -0
- package/dist/encryption/encryption.js +418 -0
- package/dist/encryption/encryption.js.map +1 -0
- package/dist/encryption/errors.d.ts +66 -0
- package/dist/encryption/errors.d.ts.map +1 -0
- package/dist/encryption/errors.js +83 -0
- package/dist/encryption/errors.js.map +1 -0
- package/dist/encryption/key-manager.d.ts +23 -0
- package/dist/encryption/key-manager.d.ts.map +1 -0
- package/dist/encryption/key-manager.js +130 -0
- package/dist/encryption/key-manager.js.map +1 -0
- package/dist/encryption/scope.d.ts +80 -0
- package/dist/encryption/scope.d.ts.map +1 -0
- package/dist/encryption/scope.js +133 -0
- package/dist/encryption/scope.js.map +1 -0
- package/dist/encryption/v1-codec.d.ts +36 -0
- package/dist/encryption/v1-codec.d.ts.map +1 -0
- package/dist/encryption/v1-codec.js +120 -0
- package/dist/encryption/v1-codec.js.map +1 -0
- package/dist/envmerge/envmerge.d.ts +45 -0
- package/dist/envmerge/envmerge.d.ts.map +1 -0
- package/dist/envmerge/envmerge.js +88 -0
- package/dist/envmerge/envmerge.js.map +1 -0
- package/dist/extensions/authorizer.d.ts +70 -0
- package/dist/extensions/authorizer.d.ts.map +1 -0
- package/dist/extensions/authorizer.js +2 -0
- package/dist/extensions/authorizer.js.map +1 -0
- package/dist/extensions/caller-guards.d.ts +56 -0
- package/dist/extensions/caller-guards.d.ts.map +1 -0
- package/dist/extensions/caller-guards.js +2 -0
- package/dist/extensions/caller-guards.js.map +1 -0
- package/dist/extensions/drivers.d.ts +140 -0
- package/dist/extensions/drivers.d.ts.map +1 -0
- package/dist/extensions/drivers.js +2 -0
- package/dist/extensions/drivers.js.map +1 -0
- package/dist/extensions/gate-slots.d.ts +68 -0
- package/dist/extensions/gate-slots.d.ts.map +1 -0
- package/dist/extensions/gate-slots.js +32 -0
- package/dist/extensions/gate-slots.js.map +1 -0
- package/dist/extensions/identity.d.ts +91 -0
- package/dist/extensions/identity.d.ts.map +1 -0
- package/dist/extensions/identity.js +16 -0
- package/dist/extensions/identity.js.map +1 -0
- package/dist/extensions/list-read-scope.d.ts +108 -0
- package/dist/extensions/list-read-scope.d.ts.map +1 -0
- package/dist/extensions/list-read-scope.js +31 -0
- package/dist/extensions/list-read-scope.js.map +1 -0
- package/dist/extensions/organization-directory.d.ts +49 -0
- package/dist/extensions/organization-directory.d.ts.map +1 -0
- package/dist/extensions/organization-directory.js +6 -0
- package/dist/extensions/organization-directory.js.map +1 -0
- package/dist/extensions/registry.d.ts +221 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +230 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/resource-authorization.d.ts +135 -0
- package/dist/extensions/resource-authorization.d.ts.map +1 -0
- package/dist/extensions/resource-authorization.js +2 -0
- package/dist/extensions/resource-authorization.js.map +1 -0
- package/dist/extensions/schedule-fire-caller.d.ts +33 -0
- package/dist/extensions/schedule-fire-caller.d.ts.map +1 -0
- package/dist/extensions/schedule-fire-caller.js +2 -0
- package/dist/extensions/schedule-fire-caller.js.map +1 -0
- package/dist/extensions/status-hooks.d.ts +47 -0
- package/dist/extensions/status-hooks.d.ts.map +1 -0
- package/dist/extensions/status-hooks.js +2 -0
- package/dist/extensions/status-hooks.js.map +1 -0
- package/dist/gocompat/query-escape.d.ts +22 -0
- package/dist/gocompat/query-escape.d.ts.map +1 -0
- package/dist/gocompat/query-escape.js +42 -0
- package/dist/gocompat/query-escape.js.map +1 -0
- package/dist/gocompat/trim.d.ts +10 -0
- package/dist/gocompat/trim.d.ts.map +1 -0
- package/dist/gocompat/trim.js +31 -0
- package/dist/gocompat/trim.js.map +1 -0
- package/dist/identity/oidc-verifier.d.ts +14 -0
- package/dist/identity/oidc-verifier.d.ts.map +1 -0
- package/dist/identity/oidc-verifier.js +136 -0
- package/dist/identity/oidc-verifier.js.map +1 -0
- package/dist/index.d.ts +98 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +143 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +62 -0
- package/dist/main.js.map +1 -0
- package/dist/observability/rpc-metrics.d.ts +89 -0
- package/dist/observability/rpc-metrics.d.ts.map +1 -0
- package/dist/observability/rpc-metrics.js +151 -0
- package/dist/observability/rpc-metrics.js.map +1 -0
- package/dist/pipeline/apiresource-labels.d.ts +52 -0
- package/dist/pipeline/apiresource-labels.d.ts.map +1 -0
- package/dist/pipeline/apiresource-labels.js +39 -0
- package/dist/pipeline/apiresource-labels.js.map +1 -0
- package/dist/pipeline/apiresource-meta.d.ts +35 -0
- package/dist/pipeline/apiresource-meta.d.ts.map +1 -0
- package/dist/pipeline/apiresource-meta.js +114 -0
- package/dist/pipeline/apiresource-meta.js.map +1 -0
- package/dist/pipeline/chain.d.ts +45 -0
- package/dist/pipeline/chain.d.ts.map +1 -0
- package/dist/pipeline/chain.js +14 -0
- package/dist/pipeline/chain.js.map +1 -0
- package/dist/pipeline/errors.d.ts +83 -0
- package/dist/pipeline/errors.d.ts.map +1 -0
- package/dist/pipeline/errors.js +129 -0
- package/dist/pipeline/errors.js.map +1 -0
- package/dist/pipeline/interceptors/apiresource.d.ts +10 -0
- package/dist/pipeline/interceptors/apiresource.d.ts.map +1 -0
- package/dist/pipeline/interceptors/apiresource.js +38 -0
- package/dist/pipeline/interceptors/apiresource.js.map +1 -0
- package/dist/pipeline/interceptors/auth.d.ts +138 -0
- package/dist/pipeline/interceptors/auth.d.ts.map +1 -0
- package/dist/pipeline/interceptors/auth.js +371 -0
- package/dist/pipeline/interceptors/auth.js.map +1 -0
- package/dist/pipeline/interceptors/error-boundary.d.ts +48 -0
- package/dist/pipeline/interceptors/error-boundary.d.ts.map +1 -0
- package/dist/pipeline/interceptors/error-boundary.js +185 -0
- package/dist/pipeline/interceptors/error-boundary.js.map +1 -0
- package/dist/pipeline/interceptors/logging.d.ts +4 -0
- package/dist/pipeline/interceptors/logging.d.ts.map +1 -0
- package/dist/pipeline/interceptors/logging.js +68 -0
- package/dist/pipeline/interceptors/logging.js.map +1 -0
- package/dist/pipeline/interceptors/protovalidate.d.ts +3 -0
- package/dist/pipeline/interceptors/protovalidate.d.ts.map +1 -0
- package/dist/pipeline/interceptors/protovalidate.js +50 -0
- package/dist/pipeline/interceptors/protovalidate.js.map +1 -0
- package/dist/pipeline/interceptors/request-metrics.d.ts +5 -0
- package/dist/pipeline/interceptors/request-metrics.d.ts.map +1 -0
- package/dist/pipeline/interceptors/request-metrics.js +99 -0
- package/dist/pipeline/interceptors/request-metrics.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts +36 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -0
- package/dist/pipeline/pipeline.js +93 -0
- package/dist/pipeline/pipeline.js.map +1 -0
- package/dist/pipeline/request-context.d.ts +39 -0
- package/dist/pipeline/request-context.d.ts.map +1 -0
- package/dist/pipeline/request-context.js +76 -0
- package/dist/pipeline/request-context.js.map +1 -0
- package/dist/pipeline/steps/authorization-tuples.d.ts +105 -0
- package/dist/pipeline/steps/authorization-tuples.d.ts.map +1 -0
- package/dist/pipeline/steps/authorization-tuples.js +315 -0
- package/dist/pipeline/steps/authorization-tuples.js.map +1 -0
- package/dist/pipeline/steps/authorize.d.ts +61 -0
- package/dist/pipeline/steps/authorize.d.ts.map +1 -0
- package/dist/pipeline/steps/authorize.js +221 -0
- package/dist/pipeline/steps/authorize.js.map +1 -0
- package/dist/pipeline/steps/build-update-state.d.ts +4 -0
- package/dist/pipeline/steps/build-update-state.d.ts.map +1 -0
- package/dist/pipeline/steps/build-update-state.js +93 -0
- package/dist/pipeline/steps/build-update-state.js.map +1 -0
- package/dist/pipeline/steps/defaults.d.ts +97 -0
- package/dist/pipeline/steps/defaults.d.ts.map +1 -0
- package/dist/pipeline/steps/defaults.js +251 -0
- package/dist/pipeline/steps/defaults.js.map +1 -0
- package/dist/pipeline/steps/delete.d.ts +21 -0
- package/dist/pipeline/steps/delete.d.ts.map +1 -0
- package/dist/pipeline/steps/delete.js +60 -0
- package/dist/pipeline/steps/delete.js.map +1 -0
- package/dist/pipeline/steps/duplicate.d.ts +12 -0
- package/dist/pipeline/steps/duplicate.d.ts.map +1 -0
- package/dist/pipeline/steps/duplicate.js +31 -0
- package/dist/pipeline/steps/duplicate.js.map +1 -0
- package/dist/pipeline/steps/guard-memory-capture.d.ts +61 -0
- package/dist/pipeline/steps/guard-memory-capture.d.ts.map +1 -0
- package/dist/pipeline/steps/guard-memory-capture.js +83 -0
- package/dist/pipeline/steps/guard-memory-capture.js.map +1 -0
- package/dist/pipeline/steps/guard-reserved-labels.d.ts +13 -0
- package/dist/pipeline/steps/guard-reserved-labels.d.ts.map +1 -0
- package/dist/pipeline/steps/guard-reserved-labels.js +138 -0
- package/dist/pipeline/steps/guard-reserved-labels.js.map +1 -0
- package/dist/pipeline/steps/helpers.d.ts +38 -0
- package/dist/pipeline/steps/helpers.d.ts.map +1 -0
- package/dist/pipeline/steps/helpers.js +122 -0
- package/dist/pipeline/steps/helpers.js.map +1 -0
- package/dist/pipeline/steps/index-search.d.ts +23 -0
- package/dist/pipeline/steps/index-search.d.ts.map +1 -0
- package/dist/pipeline/steps/index-search.js +56 -0
- package/dist/pipeline/steps/index-search.js.map +1 -0
- package/dist/pipeline/steps/load-by-reference.d.ts +12 -0
- package/dist/pipeline/steps/load-by-reference.d.ts.map +1 -0
- package/dist/pipeline/steps/load-by-reference.js +29 -0
- package/dist/pipeline/steps/load-by-reference.js.map +1 -0
- package/dist/pipeline/steps/load-existing.d.ts +19 -0
- package/dist/pipeline/steps/load-existing.d.ts.map +1 -0
- package/dist/pipeline/steps/load-existing.js +44 -0
- package/dist/pipeline/steps/load-existing.js.map +1 -0
- package/dist/pipeline/steps/load-for-apply.d.ts +21 -0
- package/dist/pipeline/steps/load-for-apply.d.ts.map +1 -0
- package/dist/pipeline/steps/load-for-apply.js +60 -0
- package/dist/pipeline/steps/load-for-apply.js.map +1 -0
- package/dist/pipeline/steps/load-target.d.ts +20 -0
- package/dist/pipeline/steps/load-target.d.ts.map +1 -0
- package/dist/pipeline/steps/load-target.js +29 -0
- package/dist/pipeline/steps/load-target.js.map +1 -0
- package/dist/pipeline/steps/persist.d.ts +9 -0
- package/dist/pipeline/steps/persist.d.ts.map +1 -0
- package/dist/pipeline/steps/persist.js +23 -0
- package/dist/pipeline/steps/persist.js.map +1 -0
- package/dist/pipeline/steps/references.d.ts +22 -0
- package/dist/pipeline/steps/references.d.ts.map +1 -0
- package/dist/pipeline/steps/references.js +128 -0
- package/dist/pipeline/steps/references.js.map +1 -0
- package/dist/pipeline/steps/secret-cleanup.d.ts +47 -0
- package/dist/pipeline/steps/secret-cleanup.d.ts.map +1 -0
- package/dist/pipeline/steps/secret-cleanup.js +56 -0
- package/dist/pipeline/steps/secret-cleanup.js.map +1 -0
- package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts +36 -0
- package/dist/pipeline/steps/server-stamped-reserved-labels.d.ts.map +1 -0
- package/dist/pipeline/steps/server-stamped-reserved-labels.js +25 -0
- package/dist/pipeline/steps/server-stamped-reserved-labels.js.map +1 -0
- package/dist/pipeline/steps/shapes.d.ts +43 -0
- package/dist/pipeline/steps/shapes.d.ts.map +1 -0
- package/dist/pipeline/steps/shapes.js +69 -0
- package/dist/pipeline/steps/shapes.js.map +1 -0
- package/dist/pipeline/steps/slug.d.ts +18 -0
- package/dist/pipeline/steps/slug.d.ts.map +1 -0
- package/dist/pipeline/steps/slug.js +34 -0
- package/dist/pipeline/steps/slug.js.map +1 -0
- package/dist/pipeline/steps/validate-visibility.d.ts +29 -0
- package/dist/pipeline/steps/validate-visibility.d.ts.map +1 -0
- package/dist/pipeline/steps/validate-visibility.js +52 -0
- package/dist/pipeline/steps/validate-visibility.js.map +1 -0
- package/dist/pipeline/steps/validation.d.ts +6 -0
- package/dist/pipeline/steps/validation.d.ts.map +1 -0
- package/dist/pipeline/steps/validation.js +35 -0
- package/dist/pipeline/steps/validation.js.map +1 -0
- package/dist/pipeline/steps/visibility-gates.d.ts +19 -0
- package/dist/pipeline/steps/visibility-gates.d.ts.map +1 -0
- package/dist/pipeline/steps/visibility-gates.js +134 -0
- package/dist/pipeline/steps/visibility-gates.js.map +1 -0
- package/dist/query/activity/controller.d.ts +28 -0
- package/dist/query/activity/controller.d.ts.map +1 -0
- package/dist/query/activity/controller.js +20 -0
- package/dist/query/activity/controller.js.map +1 -0
- package/dist/query/activity/handler.d.ts +84 -0
- package/dist/query/activity/handler.d.ts.map +1 -0
- package/dist/query/activity/handler.js +269 -0
- package/dist/query/activity/handler.js.map +1 -0
- package/dist/query/search/controller.d.ts +33 -0
- package/dist/query/search/controller.d.ts.map +1 -0
- package/dist/query/search/controller.js +43 -0
- package/dist/query/search/controller.js.map +1 -0
- package/dist/query/search/criteria.d.ts +95 -0
- package/dist/query/search/criteria.d.ts.map +1 -0
- package/dist/query/search/criteria.js +172 -0
- package/dist/query/search/criteria.js.map +1 -0
- package/dist/query/search/extractor.d.ts +45 -0
- package/dist/query/search/extractor.d.ts.map +1 -0
- package/dist/query/search/extractor.js +52 -0
- package/dist/query/search/extractor.js.map +1 -0
- package/dist/query/search/handler.d.ts +27 -0
- package/dist/query/search/handler.d.ts.map +1 -0
- package/dist/query/search/handler.js +86 -0
- package/dist/query/search/handler.js.map +1 -0
- package/dist/query/search/paged-result.d.ts +25 -0
- package/dist/query/search/paged-result.d.ts.map +1 -0
- package/dist/query/search/paged-result.js +26 -0
- package/dist/query/search/paged-result.js.map +1 -0
- package/dist/query/search/query-store.d.ts +38 -0
- package/dist/query/search/query-store.d.ts.map +1 -0
- package/dist/query/search/query-store.js +186 -0
- package/dist/query/search/query-store.js.map +1 -0
- package/dist/query/search/registry.d.ts +51 -0
- package/dist/query/search/registry.d.ts.map +1 -0
- package/dist/query/search/registry.js +108 -0
- package/dist/query/search/registry.js.map +1 -0
- package/dist/runnerauth/runner-credential-provider.d.ts +279 -0
- package/dist/runnerauth/runner-credential-provider.d.ts.map +1 -0
- package/dist/runnerauth/runner-credential-provider.js +28 -0
- package/dist/runnerauth/runner-credential-provider.js.map +1 -0
- package/dist/runnerauth/runnerauth.d.ts +87 -0
- package/dist/runnerauth/runnerauth.d.ts.map +1 -0
- package/dist/runnerauth/runnerauth.js +203 -0
- package/dist/runnerauth/runnerauth.js.map +1 -0
- package/dist/sandbox/builtins.d.ts +3 -0
- package/dist/sandbox/builtins.d.ts.map +1 -0
- package/dist/sandbox/builtins.js +18 -0
- package/dist/sandbox/builtins.js.map +1 -0
- package/dist/sandbox/docker.d.ts +3 -0
- package/dist/sandbox/docker.d.ts.map +1 -0
- package/dist/sandbox/docker.js +168 -0
- package/dist/sandbox/docker.js.map +1 -0
- package/dist/sandbox/kubernetes.d.ts +27 -0
- package/dist/sandbox/kubernetes.d.ts.map +1 -0
- package/dist/sandbox/kubernetes.js +378 -0
- package/dist/sandbox/kubernetes.js.map +1 -0
- package/dist/sandbox/lane.d.ts +53 -0
- package/dist/sandbox/lane.d.ts.map +1 -0
- package/dist/sandbox/lane.js +34 -0
- package/dist/sandbox/lane.js.map +1 -0
- package/dist/sandbox/local-process.d.ts +3 -0
- package/dist/sandbox/local-process.d.ts.map +1 -0
- package/dist/sandbox/local-process.js +155 -0
- package/dist/sandbox/local-process.js.map +1 -0
- package/dist/sandbox/naming.d.ts +11 -0
- package/dist/sandbox/naming.d.ts.map +1 -0
- package/dist/sandbox/naming.js +33 -0
- package/dist/sandbox/naming.js.map +1 -0
- package/dist/sandbox/provisioner.d.ts +138 -0
- package/dist/sandbox/provisioner.d.ts.map +1 -0
- package/dist/sandbox/provisioner.js +31 -0
- package/dist/sandbox/provisioner.js.map +1 -0
- package/dist/sandbox/steps.d.ts +92 -0
- package/dist/sandbox/steps.d.ts.map +1 -0
- package/dist/sandbox/steps.js +267 -0
- package/dist/sandbox/steps.js.map +1 -0
- package/dist/store/interface.d.ts +585 -0
- package/dist/store/interface.d.ts.map +1 -0
- package/dist/store/interface.js +51 -0
- package/dist/store/interface.js.map +1 -0
- package/dist/store/logger.d.ts +13 -0
- package/dist/store/logger.d.ts.map +1 -0
- package/dist/store/logger.js +3 -0
- package/dist/store/logger.js.map +1 -0
- package/dist/store/postgres/migrations.d.ts +60 -0
- package/dist/store/postgres/migrations.d.ts.map +1 -0
- package/dist/store/postgres/migrations.js +242 -0
- package/dist/store/postgres/migrations.js.map +1 -0
- package/dist/store/postgres/store.d.ts +69 -0
- package/dist/store/postgres/store.d.ts.map +1 -0
- package/dist/store/postgres/store.js +873 -0
- package/dist/store/postgres/store.js.map +1 -0
- package/dist/store/postgres/tsquery.d.ts +54 -0
- package/dist/store/postgres/tsquery.d.ts.map +1 -0
- package/dist/store/postgres/tsquery.js +78 -0
- package/dist/store/postgres/tsquery.js.map +1 -0
- package/dist/store/proto-fields.d.ts +42 -0
- package/dist/store/proto-fields.d.ts.map +1 -0
- package/dist/store/proto-fields.js +171 -0
- package/dist/store/proto-fields.js.map +1 -0
- package/dist/store/rfc3339.d.ts +11 -0
- package/dist/store/rfc3339.d.ts.map +1 -0
- package/dist/store/rfc3339.js +13 -0
- package/dist/store/rfc3339.js.map +1 -0
- package/dist/store/sqlite/fts5.d.ts +40 -0
- package/dist/store/sqlite/fts5.d.ts.map +1 -0
- package/dist/store/sqlite/fts5.js +68 -0
- package/dist/store/sqlite/fts5.js.map +1 -0
- package/dist/store/sqlite/migrations.d.ts +50 -0
- package/dist/store/sqlite/migrations.d.ts.map +1 -0
- package/dist/store/sqlite/migrations.js +291 -0
- package/dist/store/sqlite/migrations.js.map +1 -0
- package/dist/store/sqlite/store.d.ts +64 -0
- package/dist/store/sqlite/store.d.ts.map +1 -0
- package/dist/store/sqlite/store.js +874 -0
- package/dist/store/sqlite/store.js.map +1 -0
- package/dist/temporal/agentexecution/activities.d.ts +45 -0
- package/dist/temporal/agentexecution/activities.d.ts.map +1 -0
- package/dist/temporal/agentexecution/activities.js +158 -0
- package/dist/temporal/agentexecution/activities.js.map +1 -0
- package/dist/temporal/agentexecution/dispatch.d.ts +24 -0
- package/dist/temporal/agentexecution/dispatch.d.ts.map +1 -0
- package/dist/temporal/agentexecution/dispatch.js +106 -0
- package/dist/temporal/agentexecution/dispatch.js.map +1 -0
- package/dist/temporal/agentexecution/engine-client.d.ts +63 -0
- package/dist/temporal/agentexecution/engine-client.d.ts.map +1 -0
- package/dist/temporal/agentexecution/engine-client.js +144 -0
- package/dist/temporal/agentexecution/engine-client.js.map +1 -0
- package/dist/temporal/agentexecution/names.d.ts +82 -0
- package/dist/temporal/agentexecution/names.d.ts.map +1 -0
- package/dist/temporal/agentexecution/names.js +88 -0
- package/dist/temporal/agentexecution/names.js.map +1 -0
- package/dist/temporal/agentexecution/runner-result.d.ts +27 -0
- package/dist/temporal/agentexecution/runner-result.d.ts.map +1 -0
- package/dist/temporal/agentexecution/runner-result.js +50 -0
- package/dist/temporal/agentexecution/runner-result.js.map +1 -0
- package/dist/temporal/agentexecution/worker.d.ts +40 -0
- package/dist/temporal/agentexecution/worker.d.ts.map +1 -0
- package/dist/temporal/agentexecution/worker.js +37 -0
- package/dist/temporal/agentexecution/worker.js.map +1 -0
- package/dist/temporal/agentexecution/workflow-input.d.ts +41 -0
- package/dist/temporal/agentexecution/workflow-input.d.ts.map +1 -0
- package/dist/temporal/agentexecution/workflow-input.js +2 -0
- package/dist/temporal/agentexecution/workflow-input.js.map +1 -0
- package/dist/temporal/agentexecution/workflows/index.d.ts +16 -0
- package/dist/temporal/agentexecution/workflows/index.d.ts.map +1 -0
- package/dist/temporal/agentexecution/workflows/index.js +16 -0
- package/dist/temporal/agentexecution/workflows/index.js.map +1 -0
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts +3 -0
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.d.ts.map +1 -0
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js +1091 -0
- package/dist/temporal/agentexecution/workflows/invoke-agent-execution.js.map +1 -0
- package/dist/temporal/manager.d.ts +175 -0
- package/dist/temporal/manager.d.ts.map +1 -0
- package/dist/temporal/manager.js +465 -0
- package/dist/temporal/manager.js.map +1 -0
- package/dist/temporal/mcpserver/engine-client.d.ts +48 -0
- package/dist/temporal/mcpserver/engine-client.d.ts.map +1 -0
- package/dist/temporal/mcpserver/engine-client.js +211 -0
- package/dist/temporal/mcpserver/engine-client.js.map +1 -0
- package/dist/temporal/mcpserver/names.d.ts +20 -0
- package/dist/temporal/mcpserver/names.d.ts.map +1 -0
- package/dist/temporal/mcpserver/names.js +22 -0
- package/dist/temporal/mcpserver/names.js.map +1 -0
- package/dist/temporal/payload-codec.d.ts +71 -0
- package/dist/temporal/payload-codec.d.ts.map +1 -0
- package/dist/temporal/payload-codec.js +57 -0
- package/dist/temporal/payload-codec.js.map +1 -0
- package/dist/temporal/runner-failure.d.ts +13 -0
- package/dist/temporal/runner-failure.d.ts.map +1 -0
- package/dist/temporal/runner-failure.js +65 -0
- package/dist/temporal/runner-failure.js.map +1 -0
- package/dist/temporal/schedule/activities.d.ts +22 -0
- package/dist/temporal/schedule/activities.d.ts.map +1 -0
- package/dist/temporal/schedule/activities.js +350 -0
- package/dist/temporal/schedule/activities.js.map +1 -0
- package/dist/temporal/schedule/artifact.d.ts +61 -0
- package/dist/temporal/schedule/artifact.d.ts.map +1 -0
- package/dist/temporal/schedule/artifact.js +119 -0
- package/dist/temporal/schedule/artifact.js.map +1 -0
- package/dist/temporal/schedule/config.d.ts +153 -0
- package/dist/temporal/schedule/config.d.ts.map +1 -0
- package/dist/temporal/schedule/config.js +186 -0
- package/dist/temporal/schedule/config.js.map +1 -0
- package/dist/temporal/schedule/model-pinning.d.ts +31 -0
- package/dist/temporal/schedule/model-pinning.d.ts.map +1 -0
- package/dist/temporal/schedule/model-pinning.js +18 -0
- package/dist/temporal/schedule/model-pinning.js.map +1 -0
- package/dist/temporal/schedule/names.d.ts +105 -0
- package/dist/temporal/schedule/names.d.ts.map +1 -0
- package/dist/temporal/schedule/names.js +72 -0
- package/dist/temporal/schedule/names.js.map +1 -0
- package/dist/temporal/schedule/reconciler.d.ts +94 -0
- package/dist/temporal/schedule/reconciler.d.ts.map +1 -0
- package/dist/temporal/schedule/reconciler.js +254 -0
- package/dist/temporal/schedule/reconciler.js.map +1 -0
- package/dist/temporal/schedule/run-ledger.d.ts +67 -0
- package/dist/temporal/schedule/run-ledger.d.ts.map +1 -0
- package/dist/temporal/schedule/run-ledger.js +154 -0
- package/dist/temporal/schedule/run-ledger.js.map +1 -0
- package/dist/temporal/schedule/run-starter.d.ts +122 -0
- package/dist/temporal/schedule/run-starter.d.ts.map +1 -0
- package/dist/temporal/schedule/run-starter.js +406 -0
- package/dist/temporal/schedule/run-starter.js.map +1 -0
- package/dist/temporal/schedule/status-writes.d.ts +14 -0
- package/dist/temporal/schedule/status-writes.d.ts.map +1 -0
- package/dist/temporal/schedule/status-writes.js +43 -0
- package/dist/temporal/schedule/status-writes.js.map +1 -0
- package/dist/temporal/schedule/syncer.d.ts +77 -0
- package/dist/temporal/schedule/syncer.d.ts.map +1 -0
- package/dist/temporal/schedule/syncer.js +161 -0
- package/dist/temporal/schedule/syncer.js.map +1 -0
- package/dist/temporal/schedule/worker.d.ts +36 -0
- package/dist/temporal/schedule/worker.d.ts.map +1 -0
- package/dist/temporal/schedule/worker.js +37 -0
- package/dist/temporal/schedule/worker.js.map +1 -0
- package/dist/temporal/schedule/workflows/index.d.ts +12 -0
- package/dist/temporal/schedule/workflows/index.d.ts.map +1 -0
- package/dist/temporal/schedule/workflows/index.js +12 -0
- package/dist/temporal/schedule/workflows/index.js.map +1 -0
- package/dist/temporal/schedule/workflows/tick.d.ts +24 -0
- package/dist/temporal/schedule/workflows/tick.d.ts.map +1 -0
- package/dist/temporal/schedule/workflows/tick.js +283 -0
- package/dist/temporal/schedule/workflows/tick.js.map +1 -0
- package/dist/temporal/workflow-source.d.ts +22 -0
- package/dist/temporal/workflow-source.d.ts.map +1 -0
- package/dist/temporal/workflow-source.js +44 -0
- package/dist/temporal/workflow-source.js.map +1 -0
- package/dist/temporal/workflowexecution/activities.d.ts +34 -0
- package/dist/temporal/workflowexecution/activities.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/activities.js +145 -0
- package/dist/temporal/workflowexecution/activities.js.map +1 -0
- package/dist/temporal/workflowexecution/dispatch.d.ts +38 -0
- package/dist/temporal/workflowexecution/dispatch.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/dispatch.js +28 -0
- package/dist/temporal/workflowexecution/dispatch.js.map +1 -0
- package/dist/temporal/workflowexecution/engine-client.d.ts +67 -0
- package/dist/temporal/workflowexecution/engine-client.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/engine-client.js +145 -0
- package/dist/temporal/workflowexecution/engine-client.js.map +1 -0
- package/dist/temporal/workflowexecution/names.d.ts +69 -0
- package/dist/temporal/workflowexecution/names.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/names.js +71 -0
- package/dist/temporal/workflowexecution/names.js.map +1 -0
- package/dist/temporal/workflowexecution/worker.d.ts +40 -0
- package/dist/temporal/workflowexecution/worker.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/worker.js +37 -0
- package/dist/temporal/workflowexecution/worker.js.map +1 -0
- package/dist/temporal/workflowexecution/workflow-input.d.ts +42 -0
- package/dist/temporal/workflowexecution/workflow-input.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/workflow-input.js +2 -0
- package/dist/temporal/workflowexecution/workflow-input.js.map +1 -0
- package/dist/temporal/workflowexecution/workflows/index.d.ts +16 -0
- package/dist/temporal/workflowexecution/workflows/index.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/workflows/index.js +16 -0
- package/dist/temporal/workflowexecution/workflows/index.js.map +1 -0
- package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.d.ts +3 -0
- package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.d.ts.map +1 -0
- package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.js +430 -0
- package/dist/temporal/workflowexecution/workflows/invoke-workflow-execution.js.map +1 -0
- package/dist/transport/console/assets.d.ts +16 -0
- package/dist/transport/console/assets.d.ts.map +1 -0
- package/dist/transport/console/assets.js +66 -0
- package/dist/transport/console/assets.js.map +1 -0
- package/dist/transport/console/handler.d.ts +20 -0
- package/dist/transport/console/handler.d.ts.map +1 -0
- package/dist/transport/console/handler.js +252 -0
- package/dist/transport/console/handler.js.map +1 -0
- package/dist/transport/console/resolver.d.ts +66 -0
- package/dist/transport/console/resolver.d.ts.map +1 -0
- package/dist/transport/console/resolver.js +163 -0
- package/dist/transport/console/resolver.js.map +1 -0
- package/dist/transport/constants.d.ts +44 -0
- package/dist/transport/constants.d.ts.map +1 -0
- package/dist/transport/constants.js +44 -0
- package/dist/transport/constants.js.map +1 -0
- package/dist/transport/cors.d.ts +51 -0
- package/dist/transport/cors.d.ts.map +1 -0
- package/dist/transport/cors.js +67 -0
- package/dist/transport/cors.js.map +1 -0
- package/dist/transport/demux.d.ts +61 -0
- package/dist/transport/demux.d.ts.map +1 -0
- package/dist/transport/demux.js +107 -0
- package/dist/transport/demux.js.map +1 -0
- package/dist/transport/health.d.ts +15 -0
- package/dist/transport/health.d.ts.map +1 -0
- package/dist/transport/health.js +105 -0
- package/dist/transport/health.js.map +1 -0
- package/dist/transport/lanes.d.ts +13 -0
- package/dist/transport/lanes.d.ts.map +1 -0
- package/dist/transport/lanes.js +2 -0
- package/dist/transport/lanes.js.map +1 -0
- package/dist/transport/registry/lanes.d.ts +35 -0
- package/dist/transport/registry/lanes.d.ts.map +1 -0
- package/dist/transport/registry/lanes.js +26 -0
- package/dist/transport/registry/lanes.js.map +1 -0
- package/dist/transport/server.d.ts +63 -0
- package/dist/transport/server.d.ts.map +1 -0
- package/dist/transport/server.js +137 -0
- package/dist/transport/server.js.map +1 -0
- package/package.json +92 -0
- package/src/artifactstorage/__tests__/artifact-storage.test.ts +356 -0
- package/src/artifactstorage/__tests__/r2-storage.test.ts +144 -0
- package/src/artifactstorage/artifact-storage.ts +453 -0
- package/src/artifactstorage/r2-storage.ts +279 -0
- package/src/boot/__tests__/auth-enabled-composition.test.ts +245 -0
- package/src/boot/__tests__/compose.test.ts +97 -0
- package/src/boot/__tests__/config.test.ts +82 -0
- package/src/boot/__tests__/logger.test.ts +147 -0
- package/src/boot/compose.ts +1301 -0
- package/src/boot/config.ts +495 -0
- package/src/boot/inprocess.ts +415 -0
- package/src/boot/logger.ts +111 -0
- package/src/domain/agent/__tests__/agent.test.ts +522 -0
- package/src/domain/agent/controller.ts +557 -0
- package/src/domain/agent/defaultagent.ts +135 -0
- package/src/domain/agent/search-extractor.ts +72 -0
- package/src/domain/agent/steps.ts +691 -0
- package/src/domain/agentchannel/__tests__/agentchannel.test.ts +1025 -0
- package/src/domain/agentchannel/__tests__/channel-runtime.test.ts +548 -0
- package/src/domain/agentchannel/channel-runtime.ts +211 -0
- package/src/domain/agentchannel/constants.ts +112 -0
- package/src/domain/agentchannel/controller.ts +742 -0
- package/src/domain/agentchannel/conversation.ts +147 -0
- package/src/domain/agentchannel/message.ts +92 -0
- package/src/domain/agentchannel/steps.ts +371 -0
- package/src/domain/agentexecution/__tests__/agentexecution.test.ts +1502 -0
- package/src/domain/agentexecution/__tests__/artifacts.test.ts +600 -0
- package/src/domain/agentexecution/__tests__/create-execution-context-step.test.ts +286 -0
- package/src/domain/agentexecution/__tests__/create-steps.test.ts +984 -0
- package/src/domain/agentexecution/__tests__/engine-stub.ts +20 -0
- package/src/domain/agentexecution/__tests__/engine.test.ts +67 -0
- package/src/domain/agentexecution/__tests__/lifecycle.test.ts +1221 -0
- package/src/domain/agentexecution/__tests__/read-authorization.test.ts +128 -0
- package/src/domain/agentexecution/__tests__/record-runner-lineage-labels.test.ts +136 -0
- package/src/domain/agentexecution/__tests__/status-observers.test.ts +164 -0
- package/src/domain/agentexecution/__tests__/stream-broker.test.ts +119 -0
- package/src/domain/agentexecution/__tests__/update-status.test.ts +369 -0
- package/src/domain/agentexecution/__tests__/usage.test.ts +186 -0
- package/src/domain/agentexecution/__tests__/validate-service-tier.test.ts +117 -0
- package/src/domain/agentexecution/__tests__/validate-thinking-mode.test.ts +143 -0
- package/src/domain/agentexecution/approval/__tests__/corpus-support.ts +100 -0
- package/src/domain/agentexecution/approval/__tests__/lease-scope-corpus.test.ts +78 -0
- package/src/domain/agentexecution/approval/__tests__/policy-source-corpus.test.ts +49 -0
- package/src/domain/agentexecution/approval/__tests__/scenarios-corpus.test.ts +73 -0
- package/src/domain/agentexecution/approval/__tests__/sequence-corpus.test.ts +279 -0
- package/src/domain/agentexecution/approval/author.ts +280 -0
- package/src/domain/agentexecution/approval/compute-from-events.ts +92 -0
- package/src/domain/agentexecution/approval/compute.ts +143 -0
- package/src/domain/agentexecution/approval/emit.ts +274 -0
- package/src/domain/agentexecution/approval/lease-scope.ts +53 -0
- package/src/domain/agentexecution/approval/preserve.ts +88 -0
- package/src/domain/agentexecution/approval/project.ts +139 -0
- package/src/domain/agentexecution/approval/tool-category.ts +58 -0
- package/src/domain/agentexecution/artifacts.ts +512 -0
- package/src/domain/agentexecution/constants.ts +30 -0
- package/src/domain/agentexecution/controller.ts +594 -0
- package/src/domain/agentexecution/create-execution-context-step.ts +1094 -0
- package/src/domain/agentexecution/create-steps.ts +919 -0
- package/src/domain/agentexecution/engine.ts +156 -0
- package/src/domain/agentexecution/filereview/__tests__/file-review-corpus.test.ts +198 -0
- package/src/domain/agentexecution/filereview/author.ts +338 -0
- package/src/domain/agentexecution/filereview/autokeep.ts +249 -0
- package/src/domain/agentexecution/filereview/cas-blob.ts +52 -0
- package/src/domain/agentexecution/filereview/digest.ts +58 -0
- package/src/domain/agentexecution/filereview/gate.ts +68 -0
- package/src/domain/agentexecution/filereview/progress.ts +51 -0
- package/src/domain/agentexecution/filereview/project.ts +171 -0
- package/src/domain/agentexecution/lifecycle.ts +884 -0
- package/src/domain/agentexecution/phases.ts +39 -0
- package/src/domain/agentexecution/record-runner-lineage-labels.ts +76 -0
- package/src/domain/agentexecution/search-extractor.ts +70 -0
- package/src/domain/agentexecution/status-observers.ts +108 -0
- package/src/domain/agentexecution/steps.ts +218 -0
- package/src/domain/agentexecution/stream-broker.ts +126 -0
- package/src/domain/agentexecution/submit-approval.ts +584 -0
- package/src/domain/agentexecution/submit-file-decision.ts +477 -0
- package/src/domain/agentexecution/subscribe.ts +165 -0
- package/src/domain/agentexecution/temporal/config.ts +119 -0
- package/src/domain/agentexecution/tool-call-settle.ts +75 -0
- package/src/domain/agentexecution/update-status.ts +534 -0
- package/src/domain/agentexecution/usage.ts +987 -0
- package/src/domain/agentexecution/validate-service-tier.ts +76 -0
- package/src/domain/agentexecution/validate-thinking-mode.ts +90 -0
- package/src/domain/agentinstance/__tests__/agentinstance.test.ts +344 -0
- package/src/domain/agentinstance/controller.ts +629 -0
- package/src/domain/agentinstance/defaultinstance.ts +87 -0
- package/src/domain/agentinstance/search-extractor.ts +61 -0
- package/src/domain/agentinstance/steps.ts +377 -0
- package/src/domain/agentshare/__tests__/agentshare.test.ts +897 -0
- package/src/domain/agentshare/constants.ts +72 -0
- package/src/domain/agentshare/controller.ts +927 -0
- package/src/domain/agentshare/steps.ts +459 -0
- package/src/domain/apikey/__tests__/apikey.test.ts +253 -0
- package/src/domain/apikey/__tests__/verifier.test.ts +180 -0
- package/src/domain/apikey/controller.ts +330 -0
- package/src/domain/apikey/keymaterial.ts +65 -0
- package/src/domain/apikey/lookup.ts +46 -0
- package/src/domain/apikey/steps.ts +159 -0
- package/src/domain/apikey/verifier.ts +76 -0
- package/src/domain/artifact/__tests__/artifact.test.ts +410 -0
- package/src/domain/artifact/__tests__/file-server-host.test.ts +59 -0
- package/src/domain/artifact/constants.ts +47 -0
- package/src/domain/artifact/controller.ts +685 -0
- package/src/domain/artifact/file-server.ts +213 -0
- package/src/domain/channelapp/__tests__/channelapp.test.ts +684 -0
- package/src/domain/channelapp/constants.ts +66 -0
- package/src/domain/channelapp/controller.ts +474 -0
- package/src/domain/channelapp/steps.ts +409 -0
- package/src/domain/environment/__tests__/environment.test.ts +672 -0
- package/src/domain/environment/constants.ts +67 -0
- package/src/domain/environment/controller.ts +836 -0
- package/src/domain/environment/redact.ts +75 -0
- package/src/domain/environment/resolution/__tests__/resolution.test.ts +209 -0
- package/src/domain/environment/resolution/resolution.ts +155 -0
- package/src/domain/environment/search-extractor.ts +63 -0
- package/src/domain/environment/steps.ts +621 -0
- package/src/domain/executioncontext/__tests__/executioncontext.test.ts +790 -0
- package/src/domain/executioncontext/__tests__/resolve-values-capability.test.ts +130 -0
- package/src/domain/executioncontext/constants.ts +51 -0
- package/src/domain/executioncontext/controller.ts +414 -0
- package/src/domain/executioncontext/redact.ts +42 -0
- package/src/domain/executioncontext/resolve-values-for-caller.ts +236 -0
- package/src/domain/executioncontext/search-extractor.ts +61 -0
- package/src/domain/executioncontext/steps.ts +283 -0
- package/src/domain/executioncontext/temporal/delete-execution-context.ts +96 -0
- package/src/domain/github/__tests__/github.test.ts +196 -0
- package/src/domain/github/controller.ts +203 -0
- package/src/domain/mcpserver/__tests__/connect-authorization.test.ts +261 -0
- package/src/domain/mcpserver/__tests__/connect.test.ts +629 -0
- package/src/domain/mcpserver/__tests__/mcpserver.test.ts +446 -0
- package/src/domain/mcpserver/__tests__/oauth-handshake.test.ts +635 -0
- package/src/domain/mcpserver/__tests__/seal-unseal.test.ts +110 -0
- package/src/domain/mcpserver/complete-oauth-connect.ts +338 -0
- package/src/domain/mcpserver/connect-status.ts +302 -0
- package/src/domain/mcpserver/connect.ts +1208 -0
- package/src/domain/mcpserver/controller.ts +609 -0
- package/src/domain/mcpserver/disconnect-oauth.ts +106 -0
- package/src/domain/mcpserver/enabledtools/__tests__/enabledtools.test.ts +75 -0
- package/src/domain/mcpserver/enabledtools/enabledtools.ts +93 -0
- package/src/domain/mcpserver/engine.ts +176 -0
- package/src/domain/mcpserver/get-oauth-grant-status.ts +105 -0
- package/src/domain/mcpserver/initiate-oauth-connect.ts +487 -0
- package/src/domain/mcpserver/oauth/__tests__/dcr.test.ts +90 -0
- package/src/domain/mcpserver/oauth/__tests__/discovery.test.ts +150 -0
- package/src/domain/mcpserver/oauth/__tests__/pkce.test.ts +34 -0
- package/src/domain/mcpserver/oauth/__tests__/preflight.test.ts +75 -0
- package/src/domain/mcpserver/oauth/__tests__/token-exchange.test.ts +167 -0
- package/src/domain/mcpserver/oauth/__tests__/token-refresh.test.ts +345 -0
- package/src/domain/mcpserver/oauth/dcr.ts +92 -0
- package/src/domain/mcpserver/oauth/discovery.ts +142 -0
- package/src/domain/mcpserver/oauth/managed-env.ts +175 -0
- package/src/domain/mcpserver/oauth/pkce.ts +28 -0
- package/src/domain/mcpserver/oauth/preflight.ts +107 -0
- package/src/domain/mcpserver/oauth/refresh.ts +118 -0
- package/src/domain/mcpserver/oauth/token.ts +187 -0
- package/src/domain/mcpserver/oauth/truncate-body.ts +11 -0
- package/src/domain/mcpserver/search-extractor.ts +63 -0
- package/src/domain/mcpserver/start-connect.ts +309 -0
- package/src/domain/mcpserver/steps.ts +185 -0
- package/src/domain/memory/__tests__/capture-credential.test.ts +84 -0
- package/src/domain/memory/__tests__/memory.test.ts +483 -0
- package/src/domain/memory/constants.ts +60 -0
- package/src/domain/memory/controller.ts +495 -0
- package/src/domain/memory/steps.ts +588 -0
- package/src/domain/oauthapp/__tests__/oauthapp.test.ts +487 -0
- package/src/domain/oauthapp/__tests__/refresolution.test.ts +86 -0
- package/src/domain/oauthapp/constants.ts +46 -0
- package/src/domain/oauthapp/controller.ts +469 -0
- package/src/domain/oauthapp/refresolution/refresolution.ts +94 -0
- package/src/domain/oauthapp/refresolution.ts +98 -0
- package/src/domain/oauthapp/steps.ts +249 -0
- package/src/domain/organization/__tests__/organization.test.ts +194 -0
- package/src/domain/organization/controller.ts +588 -0
- package/src/domain/organization/search-extractor.ts +61 -0
- package/src/domain/organization/steps.ts +100 -0
- package/src/domain/platform/__tests__/platform.test.ts +377 -0
- package/src/domain/platform/controller.ts +283 -0
- package/src/domain/platform/version.ts +21 -0
- package/src/domain/project/__tests__/project.composed.test.ts +381 -0
- package/src/domain/project/__tests__/reconcile.test.ts +401 -0
- package/src/domain/project/controller.ts +387 -0
- package/src/domain/project/reconcile.ts +291 -0
- package/src/domain/project/search-extractor.ts +71 -0
- package/src/domain/schedule/__tests__/cron.test.ts +166 -0
- package/src/domain/schedule/__tests__/schedule.composed.test.ts +525 -0
- package/src/domain/schedule/clock.ts +192 -0
- package/src/domain/schedule/controller.ts +753 -0
- package/src/domain/schedule/cron.ts +150 -0
- package/src/domain/schedule/list-runs.ts +245 -0
- package/src/domain/schedule/persist-update.ts +76 -0
- package/src/domain/schedule/resume.ts +122 -0
- package/src/domain/schedule/steps.ts +281 -0
- package/src/domain/schedule/trigger.ts +283 -0
- package/src/domain/session/__tests__/session.test.ts +782 -0
- package/src/domain/session/controller.ts +586 -0
- package/src/domain/session/search-extractor.ts +61 -0
- package/src/domain/session/steps.ts +872 -0
- package/src/domain/skill/__tests__/artifact-storage.test.ts +82 -0
- package/src/domain/skill/__tests__/frontmatter.test.ts +124 -0
- package/src/domain/skill/__tests__/prefilter.test.ts +163 -0
- package/src/domain/skill/__tests__/push-degradation.test.ts +171 -0
- package/src/domain/skill/__tests__/skill.test.ts +600 -0
- package/src/domain/skill/__tests__/slots.test.ts +132 -0
- package/src/domain/skill/__tests__/zip-gate.test.ts +194 -0
- package/src/domain/skill/constants.ts +77 -0
- package/src/domain/skill/controller.ts +848 -0
- package/src/domain/skill/push.ts +617 -0
- package/src/domain/skill/search-extractor.ts +61 -0
- package/src/domain/skill/storage/artifact-storage.ts +139 -0
- package/src/domain/skill/storage/frontmatter.ts +181 -0
- package/src/domain/skill/storage/prefilter.ts +200 -0
- package/src/domain/skill/storage/zip-gate.ts +244 -0
- package/src/domain/skill/transfer/handler.ts +185 -0
- package/src/domain/skill/transfer/slots.ts +253 -0
- package/src/domain/skill/version-resolution.ts +336 -0
- package/src/domain/workflow/__tests__/workflow.test.ts +410 -0
- package/src/domain/workflow/controller.ts +1244 -0
- package/src/domain/workflow/converter/__tests__/converter.test.ts +924 -0
- package/src/domain/workflow/converter/converter.ts +149 -0
- package/src/domain/workflow/converter/task-converters.ts +750 -0
- package/src/domain/workflow/converter/types.ts +15 -0
- package/src/domain/workflow/converter/unmarshal.ts +200 -0
- package/src/domain/workflow/registry/__tests__/document-catalog.test.ts +116 -0
- package/src/domain/workflow/registry/__tests__/model-registry-store.test.ts +274 -0
- package/src/domain/workflow/registry/__tests__/pin-validation.test.ts +105 -0
- package/src/domain/workflow/registry/bundled.ts +22 -0
- package/src/domain/workflow/registry/data/model-registry.json +1236 -0
- package/src/domain/workflow/registry/data/task-kind-registry.json +3177 -0
- package/src/domain/workflow/registry/document-catalog.ts +355 -0
- package/src/domain/workflow/registry/model-catalog-provider.ts +134 -0
- package/src/domain/workflow/registry/model-registry-store.ts +298 -0
- package/src/domain/workflow/registry/pin-validation.ts +175 -0
- package/src/domain/workflow/search-extractor.ts +63 -0
- package/src/domain/workflow/steps.ts +711 -0
- package/src/domain/workflow/validation/__tests__/budget-warnings.test.ts +143 -0
- package/src/domain/workflow/validation/__tests__/crossref.test.ts +181 -0
- package/src/domain/workflow/validation/__tests__/expression-warnings.test.ts +81 -0
- package/src/domain/workflow/validation/__tests__/human-input-validation.test.ts +61 -0
- package/src/domain/workflow/validation/__tests__/model-validation.test.ts +232 -0
- package/src/domain/workflow/validation/__tests__/task-config-constraints.test.ts +149 -0
- package/src/domain/workflow/validation/__tests__/validator.test.ts +138 -0
- package/src/domain/workflow/validation/budget-warnings.ts +162 -0
- package/src/domain/workflow/validation/crossref.ts +410 -0
- package/src/domain/workflow/validation/expression-warnings.ts +103 -0
- package/src/domain/workflow/validation/format-violation.ts +61 -0
- package/src/domain/workflow/validation/human-input-validation.ts +93 -0
- package/src/domain/workflow/validation/model-validation.ts +262 -0
- package/src/domain/workflow/validation/task-config-constraints.ts +150 -0
- package/src/domain/workflow/validation/validator.ts +142 -0
- package/src/domain/workflowexecution/__tests__/create-steps.test.ts +385 -0
- package/src/domain/workflowexecution/__tests__/engine-stub.ts +64 -0
- package/src/domain/workflowexecution/__tests__/execution-filter.test.ts +390 -0
- package/src/domain/workflowexecution/__tests__/lifecycle.test.ts +617 -0
- package/src/domain/workflowexecution/__tests__/list-read-scope-summaries.test.ts +193 -0
- package/src/domain/workflowexecution/__tests__/read-authorization.test.ts +166 -0
- package/src/domain/workflowexecution/__tests__/send-signal.test.ts +327 -0
- package/src/domain/workflowexecution/__tests__/stream-broker.test.ts +100 -0
- package/src/domain/workflowexecution/__tests__/subscribe.test.ts +204 -0
- package/src/domain/workflowexecution/__tests__/update-status.test.ts +576 -0
- package/src/domain/workflowexecution/__tests__/workflowexecution.test.ts +1407 -0
- package/src/domain/workflowexecution/constants.ts +102 -0
- package/src/domain/workflowexecution/controller.ts +564 -0
- package/src/domain/workflowexecution/create-execution-context-step.ts +233 -0
- package/src/domain/workflowexecution/create-steps.ts +380 -0
- package/src/domain/workflowexecution/engine.ts +170 -0
- package/src/domain/workflowexecution/execution-filter.ts +255 -0
- package/src/domain/workflowexecution/get-event-log.ts +139 -0
- package/src/domain/workflowexecution/get-execution-summary.ts +318 -0
- package/src/domain/workflowexecution/lifecycle.ts +951 -0
- package/src/domain/workflowexecution/list-pending-approvals.ts +120 -0
- package/src/domain/workflowexecution/normalize-workflow-ref-step.ts +79 -0
- package/src/domain/workflowexecution/pin-workflow-version-step.ts +114 -0
- package/src/domain/workflowexecution/queries.ts +48 -0
- package/src/domain/workflowexecution/search-extractor.ts +63 -0
- package/src/domain/workflowexecution/send-signal.ts +306 -0
- package/src/domain/workflowexecution/stream-broker.ts +133 -0
- package/src/domain/workflowexecution/submit-approval.ts +201 -0
- package/src/domain/workflowexecution/submit-file-decision.ts +194 -0
- package/src/domain/workflowexecution/submit-workflow-task-approval.ts +219 -0
- package/src/domain/workflowexecution/subscribe-events.ts +218 -0
- package/src/domain/workflowexecution/subscribe.ts +172 -0
- package/src/domain/workflowexecution/temporal/config.ts +129 -0
- package/src/domain/workflowexecution/update-status.ts +396 -0
- package/src/domain/workflowinstance/controller.ts +829 -0
- package/src/domain/workflowinstance/defaultinstance.ts +71 -0
- package/src/domain/workflowinstance/search-extractor.ts +62 -0
- package/src/domain/workflowinstance/steps.ts +209 -0
- package/src/encryption/__tests__/codec-seam.test.ts +363 -0
- package/src/encryption/__tests__/encryption.test.ts +237 -0
- package/src/encryption/__tests__/fixtures/go-ciphertext.json +40 -0
- package/src/encryption/__tests__/key-manager.test.ts +127 -0
- package/src/encryption/codec.ts +113 -0
- package/src/encryption/encryption.ts +525 -0
- package/src/encryption/errors.ts +86 -0
- package/src/encryption/key-manager.ts +156 -0
- package/src/encryption/scope.ts +152 -0
- package/src/encryption/v1-codec.ts +143 -0
- package/src/envmerge/__tests__/envmerge.test.ts +350 -0
- package/src/envmerge/envmerge.ts +115 -0
- package/src/extensions/__tests__/direct-handler-authorization.test.ts +308 -0
- package/src/extensions/__tests__/extension-composition.test.ts +1124 -0
- package/src/extensions/__tests__/list-read-scope-composed.test.ts +276 -0
- package/src/extensions/__tests__/list-read-scope.test.ts +151 -0
- package/src/extensions/__tests__/registry.test.ts +669 -0
- package/src/extensions/__tests__/secret-cleanup-composed.test.ts +356 -0
- package/src/extensions/authorizer.ts +64 -0
- package/src/extensions/caller-guards.ts +61 -0
- package/src/extensions/drivers.ts +146 -0
- package/src/extensions/gate-slots.ts +95 -0
- package/src/extensions/identity.ts +99 -0
- package/src/extensions/list-read-scope.ts +143 -0
- package/src/extensions/organization-directory.ts +54 -0
- package/src/extensions/registry.ts +544 -0
- package/src/extensions/resource-authorization.ts +145 -0
- package/src/extensions/schedule-fire-caller.ts +33 -0
- package/src/extensions/status-hooks.ts +55 -0
- package/src/gocompat/__tests__/query-escape.test.ts +35 -0
- package/src/gocompat/__tests__/trim.test.ts +46 -0
- package/src/gocompat/query-escape.ts +41 -0
- package/src/gocompat/trim.ts +38 -0
- package/src/identity/__tests__/oidc-verifier.test.ts +205 -0
- package/src/identity/oidc-verifier.ts +172 -0
- package/src/index.ts +351 -0
- package/src/main.ts +67 -0
- package/src/observability/__tests__/in-memory-meter.ts +101 -0
- package/src/observability/rpc-metrics.ts +203 -0
- package/src/pipeline/__tests__/apiresource-labels.test.ts +67 -0
- package/src/pipeline/__tests__/chain.test.ts +199 -0
- package/src/pipeline/__tests__/pipeline.test.ts +141 -0
- package/src/pipeline/__tests__/router-transport.test.ts +172 -0
- package/src/pipeline/__tests__/steps.test.ts +621 -0
- package/src/pipeline/__tests__/support.ts +20 -0
- package/src/pipeline/apiresource-labels.ts +60 -0
- package/src/pipeline/apiresource-meta.ts +136 -0
- package/src/pipeline/chain.ts +63 -0
- package/src/pipeline/errors.ts +146 -0
- package/src/pipeline/interceptors/__tests__/auth.test.ts +649 -0
- package/src/pipeline/interceptors/__tests__/error-boundary.test.ts +358 -0
- package/src/pipeline/interceptors/__tests__/request-metrics.test.ts +573 -0
- package/src/pipeline/interceptors/apiresource.ts +43 -0
- package/src/pipeline/interceptors/auth.ts +431 -0
- package/src/pipeline/interceptors/error-boundary.ts +246 -0
- package/src/pipeline/interceptors/logging.ts +71 -0
- package/src/pipeline/interceptors/protovalidate.ts +68 -0
- package/src/pipeline/interceptors/request-metrics.ts +114 -0
- package/src/pipeline/pipeline.ts +111 -0
- package/src/pipeline/request-context.ts +92 -0
- package/src/pipeline/steps/__tests__/authorization-tuples.test.ts +318 -0
- package/src/pipeline/steps/__tests__/authorize.test.ts +500 -0
- package/src/pipeline/steps/__tests__/guard-memory-capture.test.ts +222 -0
- package/src/pipeline/steps/__tests__/guard-reserved-labels.test.ts +190 -0
- package/src/pipeline/steps/__tests__/secret-cleanup.test.ts +237 -0
- package/src/pipeline/steps/__tests__/server-stamped-reserved-labels.test.ts +56 -0
- package/src/pipeline/steps/__tests__/visibility-gates.test.ts +187 -0
- package/src/pipeline/steps/authorization-tuples.ts +467 -0
- package/src/pipeline/steps/authorize.ts +302 -0
- package/src/pipeline/steps/build-update-state.ts +148 -0
- package/src/pipeline/steps/defaults.ts +355 -0
- package/src/pipeline/steps/delete.ts +98 -0
- package/src/pipeline/steps/duplicate.ts +55 -0
- package/src/pipeline/steps/guard-memory-capture.ts +154 -0
- package/src/pipeline/steps/guard-reserved-labels.ts +171 -0
- package/src/pipeline/steps/helpers.ts +154 -0
- package/src/pipeline/steps/index-search.ts +90 -0
- package/src/pipeline/steps/load-by-reference.ts +56 -0
- package/src/pipeline/steps/load-existing.ts +73 -0
- package/src/pipeline/steps/load-for-apply.ts +82 -0
- package/src/pipeline/steps/load-target.ts +56 -0
- package/src/pipeline/steps/persist.ts +41 -0
- package/src/pipeline/steps/references.ts +172 -0
- package/src/pipeline/steps/secret-cleanup.ts +109 -0
- package/src/pipeline/steps/server-stamped-reserved-labels.ts +56 -0
- package/src/pipeline/steps/shapes.ts +102 -0
- package/src/pipeline/steps/slug.ts +48 -0
- package/src/pipeline/steps/validate-visibility.ts +93 -0
- package/src/pipeline/steps/validation.ts +45 -0
- package/src/pipeline/steps/visibility-gates.ts +171 -0
- package/src/query/README.md +16 -0
- package/src/query/__tests__/query-services.test.ts +211 -0
- package/src/query/activity/__tests__/handler.test.ts +333 -0
- package/src/query/activity/controller.ts +53 -0
- package/src/query/activity/handler.ts +341 -0
- package/src/query/search/__tests__/controller.test.ts +147 -0
- package/src/query/search/__tests__/criteria.test.ts +185 -0
- package/src/query/search/__tests__/paged-result.test.ts +60 -0
- package/src/query/search/__tests__/query-store.test.ts +478 -0
- package/src/query/search/__tests__/registry.test.ts +103 -0
- package/src/query/search/controller.ts +93 -0
- package/src/query/search/criteria.ts +204 -0
- package/src/query/search/extractor.ts +93 -0
- package/src/query/search/handler.ts +125 -0
- package/src/query/search/paged-result.ts +54 -0
- package/src/query/search/query-store.ts +254 -0
- package/src/query/search/registry.ts +121 -0
- package/src/runnerauth/__tests__/runner-credential-provider.test.ts +86 -0
- package/src/runnerauth/__tests__/runnerauth.test.ts +186 -0
- package/src/runnerauth/runner-credential-provider.ts +328 -0
- package/src/runnerauth/runnerauth.ts +251 -0
- package/src/sandbox/__tests__/docker.integration.test.ts +103 -0
- package/src/sandbox/__tests__/kubernetes.test.ts +228 -0
- package/src/sandbox/__tests__/local-process.integration.test.ts +124 -0
- package/src/sandbox/__tests__/provisioner.test.ts +145 -0
- package/src/sandbox/__tests__/steps.test.ts +648 -0
- package/src/sandbox/builtins.ts +22 -0
- package/src/sandbox/docker.ts +206 -0
- package/src/sandbox/kubernetes.ts +478 -0
- package/src/sandbox/lane.ts +89 -0
- package/src/sandbox/local-process.ts +188 -0
- package/src/sandbox/naming.ts +38 -0
- package/src/sandbox/provisioner.ts +175 -0
- package/src/sandbox/steps.ts +395 -0
- package/src/store/README.md +40 -0
- package/src/store/__tests__/proto-fields.test.ts +84 -0
- package/src/store/__tests__/store-contract.ts +1587 -0
- package/src/store/__tests__/support.ts +33 -0
- package/src/store/interface.ts +835 -0
- package/src/store/logger.ts +13 -0
- package/src/store/postgres/__tests__/migrations.test.ts +175 -0
- package/src/store/postgres/__tests__/store-contract.test.ts +129 -0
- package/src/store/postgres/__tests__/support.ts +67 -0
- package/src/store/postgres/__tests__/tsquery.test.ts +76 -0
- package/src/store/postgres/migrations.ts +298 -0
- package/src/store/postgres/store.ts +1396 -0
- package/src/store/postgres/tsquery.ts +80 -0
- package/src/store/proto-fields.ts +212 -0
- package/src/store/rfc3339.ts +12 -0
- package/src/store/sqlite/__tests__/fixtures/go-v6-database.sql +150 -0
- package/src/store/sqlite/__tests__/fts5.test.ts +83 -0
- package/src/store/sqlite/__tests__/migrations.test.ts +308 -0
- package/src/store/sqlite/__tests__/store-contract.test.ts +41 -0
- package/src/store/sqlite/__tests__/store.test.ts +105 -0
- package/src/store/sqlite/__tests__/support.ts +62 -0
- package/src/store/sqlite/fts5.ts +70 -0
- package/src/store/sqlite/migrations.ts +359 -0
- package/src/store/sqlite/store.ts +1401 -0
- package/src/temporal/README.md +17 -0
- package/src/temporal/__tests__/manager.test.ts +325 -0
- package/src/temporal/__tests__/payload-codec.test.ts +178 -0
- package/src/temporal/__tests__/runner-failure.test.ts +66 -0
- package/src/temporal/agentexecution/__tests__/activities.test.ts +352 -0
- package/src/temporal/agentexecution/__tests__/dispatch.test.ts +336 -0
- package/src/temporal/agentexecution/__tests__/engine-client.test.ts +320 -0
- package/src/temporal/agentexecution/__tests__/invoke-workflow.test.ts +845 -0
- package/src/temporal/agentexecution/__tests__/own-behalf-status-writes.test.ts +305 -0
- package/src/temporal/agentexecution/__tests__/replay-histories/happy-completed.json +568 -0
- package/src/temporal/agentexecution/__tests__/replay-histories/hitl-approval-parented.json +1070 -0
- package/src/temporal/agentexecution/__tests__/replay-histories/hitl-approval.json +864 -0
- package/src/temporal/agentexecution/__tests__/replay-histories/pause-resume.json +915 -0
- package/src/temporal/agentexecution/__tests__/replay.test.ts +64 -0
- package/src/temporal/agentexecution/activities.ts +252 -0
- package/src/temporal/agentexecution/dispatch.ts +148 -0
- package/src/temporal/agentexecution/engine-client.ts +230 -0
- package/src/temporal/agentexecution/names.ts +104 -0
- package/src/temporal/agentexecution/runner-result.ts +58 -0
- package/src/temporal/agentexecution/worker.ts +85 -0
- package/src/temporal/agentexecution/workflow-input.ts +40 -0
- package/src/temporal/agentexecution/workflows/index.ts +15 -0
- package/src/temporal/agentexecution/workflows/invoke-agent-execution.ts +1495 -0
- package/src/temporal/manager.ts +593 -0
- package/src/temporal/mcpserver/engine-client.ts +273 -0
- package/src/temporal/mcpserver/names.ts +23 -0
- package/src/temporal/payload-codec.ts +92 -0
- package/src/temporal/runner-failure.ts +71 -0
- package/src/temporal/schedule/__tests__/activities.test.ts +301 -0
- package/src/temporal/schedule/__tests__/artifact.test.ts +144 -0
- package/src/temporal/schedule/__tests__/config.test.ts +137 -0
- package/src/temporal/schedule/__tests__/reconciler.test.ts +345 -0
- package/src/temporal/schedule/__tests__/replay-histories/tick-completed-run.json +726 -0
- package/src/temporal/schedule/__tests__/replay-histories/tick-skipped-disabled.json +280 -0
- package/src/temporal/schedule/__tests__/replay-histories/tick-start-failed.json +592 -0
- package/src/temporal/schedule/__tests__/replay.test.ts +55 -0
- package/src/temporal/schedule/__tests__/run-starter.test.ts +482 -0
- package/src/temporal/schedule/__tests__/syncer.test.ts +195 -0
- package/src/temporal/schedule/__tests__/tick-workflow.test.ts +368 -0
- package/src/temporal/schedule/activities.ts +544 -0
- package/src/temporal/schedule/artifact.ts +137 -0
- package/src/temporal/schedule/config.ts +186 -0
- package/src/temporal/schedule/model-pinning.ts +47 -0
- package/src/temporal/schedule/names.ts +168 -0
- package/src/temporal/schedule/reconciler.ts +332 -0
- package/src/temporal/schedule/run-ledger.ts +233 -0
- package/src/temporal/schedule/run-starter.ts +560 -0
- package/src/temporal/schedule/status-writes.ts +50 -0
- package/src/temporal/schedule/syncer.ts +208 -0
- package/src/temporal/schedule/worker.ts +81 -0
- package/src/temporal/schedule/workflows/index.ts +11 -0
- package/src/temporal/schedule/workflows/tick.ts +394 -0
- package/src/temporal/workflow-source.ts +72 -0
- package/src/temporal/workflowexecution/__tests__/activities.test.ts +262 -0
- package/src/temporal/workflowexecution/__tests__/dispatch.test.ts +98 -0
- package/src/temporal/workflowexecution/__tests__/engine-client.test.ts +268 -0
- package/src/temporal/workflowexecution/__tests__/invoke-workflow.test.ts +354 -0
- package/src/temporal/workflowexecution/__tests__/replay-histories/child-failed.json +678 -0
- package/src/temporal/workflowexecution/__tests__/replay-histories/happy-completed.json +504 -0
- package/src/temporal/workflowexecution/__tests__/replay-histories/pause-resume.json +1116 -0
- package/src/temporal/workflowexecution/__tests__/replay.test.ts +57 -0
- package/src/temporal/workflowexecution/__tests__/test-workflows.ts +90 -0
- package/src/temporal/workflowexecution/activities.ts +209 -0
- package/src/temporal/workflowexecution/dispatch.ts +70 -0
- package/src/temporal/workflowexecution/engine-client.ts +242 -0
- package/src/temporal/workflowexecution/names.ts +84 -0
- package/src/temporal/workflowexecution/worker.ts +85 -0
- package/src/temporal/workflowexecution/workflow-input.ts +42 -0
- package/src/temporal/workflowexecution/workflows/index.ts +15 -0
- package/src/temporal/workflowexecution/workflows/invoke-workflow-execution.ts +574 -0
- package/src/transport/__tests__/demux.test.ts +213 -0
- package/src/transport/__tests__/server.test.ts +146 -0
- package/src/transport/console/__tests__/handler.test.ts +281 -0
- package/src/transport/console/__tests__/nginx-equivalence.test.ts +144 -0
- package/src/transport/console/__tests__/resolver.test.ts +181 -0
- package/src/transport/console/assets.ts +80 -0
- package/src/transport/console/handler.ts +309 -0
- package/src/transport/console/resolver.ts +199 -0
- package/src/transport/constants.ts +47 -0
- package/src/transport/cors.ts +119 -0
- package/src/transport/demux.ts +190 -0
- package/src/transport/health.ts +127 -0
- package/src/transport/lanes.ts +17 -0
- package/src/transport/registry/__tests__/lanes.test.ts +131 -0
- package/src/transport/registry/lanes.ts +65 -0
- package/src/transport/server.ts +238 -0
|
@@ -0,0 +1,3177 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"generatedAt": "generated-by-codegen",
|
|
4
|
+
"descriptors": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "set_vars",
|
|
7
|
+
"displayName": "Set Variables",
|
|
8
|
+
"description": "Assign values to workflow state variables using expressions.",
|
|
9
|
+
"category": "data",
|
|
10
|
+
"icon": "variable",
|
|
11
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.SetTaskConfig",
|
|
12
|
+
"fields": [
|
|
13
|
+
{
|
|
14
|
+
"name": "variables",
|
|
15
|
+
"displayName": "Variables",
|
|
16
|
+
"description": "Variables to set in workflow state. Keys are variable names, values can be literals or expressions. Expressions use ${...} syntax, e.g., \"${.a + .b}\" or \"${now}\"",
|
|
17
|
+
"type": "map",
|
|
18
|
+
"required": true,
|
|
19
|
+
"groupId": "core",
|
|
20
|
+
"fieldNumber": 1,
|
|
21
|
+
"validationHints": [
|
|
22
|
+
"required"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"fieldGroups": [
|
|
27
|
+
{
|
|
28
|
+
"id": "core",
|
|
29
|
+
"displayName": "Variables"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"configJsonSchema": {
|
|
33
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"properties": {
|
|
36
|
+
"variables": {
|
|
37
|
+
"additionalProperties": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"description": "Variables to set in workflow state. Keys are variable names, values can be literals or expressions. Expressions use ${...} syntax, e.g., \"${.a + .b}\" or \"${now}\"",
|
|
41
|
+
"type": "object"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"variables"
|
|
46
|
+
],
|
|
47
|
+
"title": "SetTaskConfig",
|
|
48
|
+
"type": "object"
|
|
49
|
+
},
|
|
50
|
+
"outputJsonSchema": {
|
|
51
|
+
"description": "set_vars mutates workflow context directly; it does not produce task output.",
|
|
52
|
+
"type": "null"
|
|
53
|
+
},
|
|
54
|
+
"yamlExamples": [
|
|
55
|
+
"- name: initialize\n kind: set_vars\n task_config:\n variables:\n status: \"pending\"\n timestamp: \"${ now() }\"\n request_id: \"${ $context.input.id }\"\n"
|
|
56
|
+
],
|
|
57
|
+
"documentationUrl": "/docs/guides/workflows/task-types/set-vars",
|
|
58
|
+
"isAiNative": false,
|
|
59
|
+
"requiresExternalService": false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "http_call",
|
|
63
|
+
"displayName": "HTTP Call",
|
|
64
|
+
"description": "Make an HTTP request to an external API endpoint.",
|
|
65
|
+
"category": "invocation",
|
|
66
|
+
"icon": "globe",
|
|
67
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.HttpCallTaskConfig",
|
|
68
|
+
"fields": [
|
|
69
|
+
{
|
|
70
|
+
"name": "method",
|
|
71
|
+
"displayName": "Method",
|
|
72
|
+
"description": "HTTP method (GET, POST, PUT, DELETE, PATCH).",
|
|
73
|
+
"type": "string",
|
|
74
|
+
"required": true,
|
|
75
|
+
"groupId": "request",
|
|
76
|
+
"fieldNumber": 1,
|
|
77
|
+
"validationHints": [
|
|
78
|
+
"required"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "endpoint",
|
|
83
|
+
"displayName": "Endpoint",
|
|
84
|
+
"description": "HTTP endpoint configuration.",
|
|
85
|
+
"type": "message",
|
|
86
|
+
"required": true,
|
|
87
|
+
"groupId": "request",
|
|
88
|
+
"fieldNumber": 2,
|
|
89
|
+
"elementType": "HttpEndpoint",
|
|
90
|
+
"validationHints": [
|
|
91
|
+
"required"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "headers",
|
|
96
|
+
"displayName": "Headers",
|
|
97
|
+
"description": "HTTP headers (optional). Values can contain expressions: \"Bearer ${TOKEN}\"",
|
|
98
|
+
"type": "map",
|
|
99
|
+
"required": false,
|
|
100
|
+
"groupId": "request",
|
|
101
|
+
"fieldNumber": 3
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "body",
|
|
105
|
+
"displayName": "Body",
|
|
106
|
+
"description": "Request body (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
107
|
+
"type": "struct",
|
|
108
|
+
"required": false,
|
|
109
|
+
"groupId": "request",
|
|
110
|
+
"fieldNumber": 4
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "timeout_seconds",
|
|
114
|
+
"displayName": "Timeout Seconds",
|
|
115
|
+
"description": "Request timeout in seconds. Max: 300 (5 minutes). Optional — unset (0) leaves the request bounded by the runner's activity timeout. When set, the runner aborts the request at this budget and fails the task with HTTP_CALL_TIMEOUT (non-retryable — catchable with try/catch); the activity timeout widens to fit (#686). Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
116
|
+
"type": "int32",
|
|
117
|
+
"required": false,
|
|
118
|
+
"fieldNumber": 5,
|
|
119
|
+
"validationHints": [
|
|
120
|
+
"min: 1",
|
|
121
|
+
"max: 300"
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"fieldGroups": [
|
|
126
|
+
{
|
|
127
|
+
"id": "request",
|
|
128
|
+
"displayName": "Request"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "auth",
|
|
132
|
+
"displayName": "Authentication"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"configJsonSchema": {
|
|
136
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
137
|
+
"additionalProperties": false,
|
|
138
|
+
"properties": {
|
|
139
|
+
"body": {
|
|
140
|
+
"description": "Request body (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
141
|
+
"type": "object"
|
|
142
|
+
},
|
|
143
|
+
"endpoint": {
|
|
144
|
+
"additionalProperties": false,
|
|
145
|
+
"description": "HTTP endpoint configuration.",
|
|
146
|
+
"properties": {
|
|
147
|
+
"uri": {
|
|
148
|
+
"description": "URI of the endpoint. Can contain expressions: \"https://api.example.com/${.resource}\"",
|
|
149
|
+
"minLength": 1,
|
|
150
|
+
"type": "string"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"required": [
|
|
154
|
+
"uri"
|
|
155
|
+
],
|
|
156
|
+
"type": "object"
|
|
157
|
+
},
|
|
158
|
+
"headers": {
|
|
159
|
+
"additionalProperties": {
|
|
160
|
+
"type": "string"
|
|
161
|
+
},
|
|
162
|
+
"description": "HTTP headers (optional). Values can contain expressions: \"Bearer ${TOKEN}\"",
|
|
163
|
+
"type": "object"
|
|
164
|
+
},
|
|
165
|
+
"method": {
|
|
166
|
+
"description": "HTTP method (GET, POST, PUT, DELETE, PATCH).",
|
|
167
|
+
"type": "string"
|
|
168
|
+
},
|
|
169
|
+
"timeout_seconds": {
|
|
170
|
+
"description": "Request timeout in seconds. Max: 300 (5 minutes). Optional — unset (0) leaves the request bounded by the runner's activity timeout. When set, the runner aborts the request at this budget and fails the task with HTTP_CALL_TIMEOUT (non-retryable — catchable with try/catch); the activity timeout widens to fit (#686). Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
171
|
+
"maximum": 300,
|
|
172
|
+
"minimum": 1,
|
|
173
|
+
"type": "integer"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"required": [
|
|
177
|
+
"method",
|
|
178
|
+
"endpoint"
|
|
179
|
+
],
|
|
180
|
+
"title": "HttpCallTaskConfig",
|
|
181
|
+
"type": "object"
|
|
182
|
+
},
|
|
183
|
+
"outputJsonSchema": {
|
|
184
|
+
"description": "HTTP response including status code, headers, and body.",
|
|
185
|
+
"properties": {
|
|
186
|
+
"body": {
|
|
187
|
+
"type": "object"
|
|
188
|
+
},
|
|
189
|
+
"headers": {
|
|
190
|
+
"type": "object"
|
|
191
|
+
},
|
|
192
|
+
"status_code": {
|
|
193
|
+
"type": "integer"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"type": "object"
|
|
197
|
+
},
|
|
198
|
+
"yamlExamples": [
|
|
199
|
+
"- name: fetch_data\n kind: http_call\n task_config:\n method: \"GET\"\n endpoint:\n uri: \"https://api.example.com/tickets/${ $context.ticket_id }\"\n headers:\n Authorization: \"Bearer ${ .secrets.API_TOKEN }\"\n export:\n as: \"${ . }\"\n"
|
|
200
|
+
],
|
|
201
|
+
"documentationUrl": "/docs/guides/workflows/task-types/http-call",
|
|
202
|
+
"isAiNative": false,
|
|
203
|
+
"requiresExternalService": true
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"kind": "grpc_call",
|
|
207
|
+
"displayName": "gRPC Call",
|
|
208
|
+
"description": "Invoke a gRPC method on an external service.",
|
|
209
|
+
"category": "invocation",
|
|
210
|
+
"icon": "server",
|
|
211
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.GrpcCallTaskConfig",
|
|
212
|
+
"fields": [
|
|
213
|
+
{
|
|
214
|
+
"name": "service",
|
|
215
|
+
"displayName": "Service",
|
|
216
|
+
"description": "Fully qualified service name. Example: \"com.example.UserService\"",
|
|
217
|
+
"type": "string",
|
|
218
|
+
"required": true,
|
|
219
|
+
"groupId": "core",
|
|
220
|
+
"fieldNumber": 1,
|
|
221
|
+
"validationHints": [
|
|
222
|
+
"required",
|
|
223
|
+
"min_length: 1"
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "method",
|
|
228
|
+
"displayName": "Method",
|
|
229
|
+
"description": "Method name to call. Example: \"GetUser\"",
|
|
230
|
+
"type": "string",
|
|
231
|
+
"required": true,
|
|
232
|
+
"groupId": "core",
|
|
233
|
+
"fieldNumber": 2,
|
|
234
|
+
"validationHints": [
|
|
235
|
+
"required",
|
|
236
|
+
"min_length: 1"
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "request",
|
|
241
|
+
"displayName": "Request",
|
|
242
|
+
"description": "Request message (optional). Can be any JSON structure matching the proto schema. Supports expressions in string values.",
|
|
243
|
+
"type": "struct",
|
|
244
|
+
"required": false,
|
|
245
|
+
"groupId": "core",
|
|
246
|
+
"fieldNumber": 3
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"fieldGroups": [
|
|
250
|
+
{
|
|
251
|
+
"id": "core",
|
|
252
|
+
"displayName": "Service Configuration"
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"configJsonSchema": {
|
|
256
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
257
|
+
"additionalProperties": false,
|
|
258
|
+
"properties": {
|
|
259
|
+
"method": {
|
|
260
|
+
"description": "Method name to call. Example: \"GetUser\"",
|
|
261
|
+
"minLength": 1,
|
|
262
|
+
"type": "string"
|
|
263
|
+
},
|
|
264
|
+
"request": {
|
|
265
|
+
"description": "Request message (optional). Can be any JSON structure matching the proto schema. Supports expressions in string values.",
|
|
266
|
+
"type": "object"
|
|
267
|
+
},
|
|
268
|
+
"service": {
|
|
269
|
+
"description": "Fully qualified service name. Example: \"com.example.UserService\"",
|
|
270
|
+
"minLength": 1,
|
|
271
|
+
"type": "string"
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"required": [
|
|
275
|
+
"service",
|
|
276
|
+
"method"
|
|
277
|
+
],
|
|
278
|
+
"title": "GrpcCallTaskConfig",
|
|
279
|
+
"type": "object"
|
|
280
|
+
},
|
|
281
|
+
"outputJsonSchema": {
|
|
282
|
+
"description": "gRPC response message as JSON.",
|
|
283
|
+
"type": "object"
|
|
284
|
+
},
|
|
285
|
+
"yamlExamples": [
|
|
286
|
+
"- name: call_service\n kind: grpc_call\n task_config:\n service: \"user.UserService\"\n method: \"GetUser\"\n request:\n user_id: \"${ $context.user_id }\"\n export:\n as: \"${ . }\"\n"
|
|
287
|
+
],
|
|
288
|
+
"documentationUrl": "/docs/guides/workflows/task-types/grpc-call",
|
|
289
|
+
"isAiNative": false,
|
|
290
|
+
"requiresExternalService": true
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"kind": "activity_call",
|
|
294
|
+
"displayName": "Activity Call",
|
|
295
|
+
"description": "Execute a Temporal activity by name with typed input.",
|
|
296
|
+
"category": "invocation",
|
|
297
|
+
"icon": "cog",
|
|
298
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.CallActivityTaskConfig",
|
|
299
|
+
"fields": [
|
|
300
|
+
{
|
|
301
|
+
"name": "activity",
|
|
302
|
+
"displayName": "Activity",
|
|
303
|
+
"description": "Activity name to execute.",
|
|
304
|
+
"type": "string",
|
|
305
|
+
"required": true,
|
|
306
|
+
"groupId": "core",
|
|
307
|
+
"fieldNumber": 1,
|
|
308
|
+
"validationHints": [
|
|
309
|
+
"required",
|
|
310
|
+
"min_length: 1"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "input",
|
|
315
|
+
"displayName": "Input",
|
|
316
|
+
"description": "Activity input (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
317
|
+
"type": "struct",
|
|
318
|
+
"required": false,
|
|
319
|
+
"groupId": "core",
|
|
320
|
+
"fieldNumber": 2
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"fieldGroups": [
|
|
324
|
+
{
|
|
325
|
+
"id": "core",
|
|
326
|
+
"displayName": "Activity Configuration"
|
|
327
|
+
}
|
|
328
|
+
],
|
|
329
|
+
"configJsonSchema": {
|
|
330
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
331
|
+
"additionalProperties": false,
|
|
332
|
+
"properties": {
|
|
333
|
+
"activity": {
|
|
334
|
+
"description": "Activity name to execute.",
|
|
335
|
+
"minLength": 1,
|
|
336
|
+
"type": "string"
|
|
337
|
+
},
|
|
338
|
+
"input": {
|
|
339
|
+
"description": "Activity input (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
340
|
+
"type": "object"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"required": [
|
|
344
|
+
"activity"
|
|
345
|
+
],
|
|
346
|
+
"title": "CallActivityTaskConfig",
|
|
347
|
+
"type": "object"
|
|
348
|
+
},
|
|
349
|
+
"outputJsonSchema": {
|
|
350
|
+
"description": "Activity return value as JSON.",
|
|
351
|
+
"type": "object"
|
|
352
|
+
},
|
|
353
|
+
"yamlExamples": [
|
|
354
|
+
"- name: process_payment\n kind: activity_call\n task_config:\n activity: \"ProcessPayment\"\n input:\n amount: \"${ $context.order.total }\"\n currency: \"USD\"\n export:\n as: \"${ . }\"\n"
|
|
355
|
+
],
|
|
356
|
+
"documentationUrl": "/docs/guides/workflows/task-types/activity-call",
|
|
357
|
+
"isAiNative": false,
|
|
358
|
+
"requiresExternalService": false
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"kind": "switch_case",
|
|
362
|
+
"displayName": "Switch Case",
|
|
363
|
+
"description": "Branch conditionally based on expression evaluation.",
|
|
364
|
+
"category": "control_flow",
|
|
365
|
+
"icon": "git-branch",
|
|
366
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.SwitchTaskConfig",
|
|
367
|
+
"fields": [
|
|
368
|
+
{
|
|
369
|
+
"name": "cases",
|
|
370
|
+
"displayName": "Cases",
|
|
371
|
+
"description": "List of switch cases (at least one required). Cases are evaluated in order. First matching case executes. If no \"when\" is specified, the case acts as default.",
|
|
372
|
+
"type": "repeated",
|
|
373
|
+
"required": false,
|
|
374
|
+
"groupId": "core",
|
|
375
|
+
"fieldNumber": 1,
|
|
376
|
+
"elementType": "SwitchCase",
|
|
377
|
+
"validationHints": [
|
|
378
|
+
"min_items: 1"
|
|
379
|
+
]
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
"fieldGroups": [
|
|
383
|
+
{
|
|
384
|
+
"id": "core",
|
|
385
|
+
"displayName": "Conditions"
|
|
386
|
+
}
|
|
387
|
+
],
|
|
388
|
+
"configJsonSchema": {
|
|
389
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
390
|
+
"additionalProperties": false,
|
|
391
|
+
"properties": {
|
|
392
|
+
"cases": {
|
|
393
|
+
"description": "List of switch cases (at least one required). Cases are evaluated in order. First matching case executes. If no \"when\" is specified, the case acts as default.",
|
|
394
|
+
"items": {
|
|
395
|
+
"additionalProperties": false,
|
|
396
|
+
"properties": {
|
|
397
|
+
"name": {
|
|
398
|
+
"description": "Case name/identifier.",
|
|
399
|
+
"minLength": 1,
|
|
400
|
+
"type": "string"
|
|
401
|
+
},
|
|
402
|
+
"then": {
|
|
403
|
+
"description": "Target task name to execute if condition matches.",
|
|
404
|
+
"minLength": 1,
|
|
405
|
+
"type": "string"
|
|
406
|
+
},
|
|
407
|
+
"when": {
|
|
408
|
+
"description": "Condition expression (optional). If empty, this is the default case. Example: \"${ $context.value \u003e 5 }\"",
|
|
409
|
+
"type": "string"
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
"required": [
|
|
413
|
+
"name",
|
|
414
|
+
"then"
|
|
415
|
+
],
|
|
416
|
+
"type": "object"
|
|
417
|
+
},
|
|
418
|
+
"minItems": 1,
|
|
419
|
+
"type": "array"
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
"title": "SwitchTaskConfig",
|
|
423
|
+
"type": "object"
|
|
424
|
+
},
|
|
425
|
+
"outputJsonSchema": {
|
|
426
|
+
"description": "switch_case directs flow control; it does not produce task output.",
|
|
427
|
+
"type": "null"
|
|
428
|
+
},
|
|
429
|
+
"yamlExamples": [
|
|
430
|
+
"- name: route_by_severity\n kind: switch_case\n task_config:\n cases:\n - name: critical\n when: \"${ $context.triage.severity == 'critical' }\"\n then: escalate\n - name: high\n when: \"${ $context.triage.severity == 'high' }\"\n then: notify_team\n - name: default\n then: log_and_close\n"
|
|
431
|
+
],
|
|
432
|
+
"documentationUrl": "/docs/guides/workflows/task-types/switch-case",
|
|
433
|
+
"isAiNative": false,
|
|
434
|
+
"requiresExternalService": false
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"kind": "for_each",
|
|
438
|
+
"displayName": "For Each",
|
|
439
|
+
"description": "Iterate over a collection, executing tasks for each item.",
|
|
440
|
+
"category": "control_flow",
|
|
441
|
+
"icon": "repeat",
|
|
442
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.ForTaskConfig",
|
|
443
|
+
"fields": [
|
|
444
|
+
{
|
|
445
|
+
"name": "each",
|
|
446
|
+
"displayName": "Each",
|
|
447
|
+
"description": "Variable name for each item in the iteration. Accessible via ${ $data.item } in expressions.",
|
|
448
|
+
"type": "string",
|
|
449
|
+
"required": true,
|
|
450
|
+
"groupId": "core",
|
|
451
|
+
"fieldNumber": 1,
|
|
452
|
+
"validationHints": [
|
|
453
|
+
"required",
|
|
454
|
+
"min_length: 1"
|
|
455
|
+
]
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"name": "in",
|
|
459
|
+
"displayName": "In",
|
|
460
|
+
"description": "Expression evaluating to the collection to iterate over. Example: \"${ $data.items }\" or \"${ [1, 2, 3] }\"",
|
|
461
|
+
"type": "string",
|
|
462
|
+
"required": true,
|
|
463
|
+
"isExpression": true,
|
|
464
|
+
"groupId": "core",
|
|
465
|
+
"fieldNumber": 2,
|
|
466
|
+
"validationHints": [
|
|
467
|
+
"required",
|
|
468
|
+
"min_length: 1"
|
|
469
|
+
]
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"name": "do",
|
|
473
|
+
"displayName": "Do",
|
|
474
|
+
"description": "Tasks to execute for each iteration. Loop variables available: ${ $data.item }, ${ $data.index }",
|
|
475
|
+
"type": "repeated",
|
|
476
|
+
"required": false,
|
|
477
|
+
"groupId": "core",
|
|
478
|
+
"fieldNumber": 3,
|
|
479
|
+
"elementType": "WorkflowTask",
|
|
480
|
+
"validationHints": [
|
|
481
|
+
"min_items: 1"
|
|
482
|
+
]
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "max_parallelism",
|
|
486
|
+
"displayName": "Max Parallelism",
|
|
487
|
+
"description": "Maximum number of iterations to execute concurrently. 0 (default): sequential execution — iterations run one at a time in input order. This preserves pre-T17 behavior. 1: effectively sequential (one at a time, but uses the parallel execution path — useful for testing). N \u003e 1: up to N iterations run concurrently using Temporal workflow goroutines with a semaphore-based concurrency limiter. Results are always reassembled in original input order regardless of completion order.",
|
|
488
|
+
"type": "int32",
|
|
489
|
+
"required": false,
|
|
490
|
+
"fieldNumber": 4
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "batch_size",
|
|
494
|
+
"displayName": "Batch Size",
|
|
495
|
+
"description": "Number of items to process in each batch before moving to the next. 0 (default): no batching — all items are available for parallel execution (up to max_parallelism concurrent). N \u003e 0: items are chunked into groups of N. Each chunk is fully processed before the next chunk begins. Within each chunk, up to max_parallelism iterations run concurrently. Only meaningful when max_parallelism \u003e 0; ignored in sequential mode.",
|
|
496
|
+
"type": "int32",
|
|
497
|
+
"required": false,
|
|
498
|
+
"fieldNumber": 5
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"name": "on_error",
|
|
502
|
+
"displayName": "On Error",
|
|
503
|
+
"description": "Policy for handling individual iteration failures. Default: FOR_EACH_FAIL_FAST (stop on first error). Only meaningful when max_parallelism \u003e 0; in sequential mode, any failure stops the loop regardless of this setting (pre-T17 behavior).",
|
|
504
|
+
"type": "enum",
|
|
505
|
+
"required": false,
|
|
506
|
+
"enumValues": [
|
|
507
|
+
"FOR_EACH_FAIL_FAST",
|
|
508
|
+
"FOR_EACH_CONTINUE",
|
|
509
|
+
"FOR_EACH_SKIP"
|
|
510
|
+
],
|
|
511
|
+
"fieldNumber": 6
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"fieldGroups": [
|
|
515
|
+
{
|
|
516
|
+
"id": "core",
|
|
517
|
+
"displayName": "Iteration"
|
|
518
|
+
}
|
|
519
|
+
],
|
|
520
|
+
"configJsonSchema": {
|
|
521
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
522
|
+
"additionalProperties": false,
|
|
523
|
+
"properties": {
|
|
524
|
+
"batch_size": {
|
|
525
|
+
"description": "Number of items to process in each batch before moving to the next. 0 (default): no batching — all items are available for parallel execution (up to max_parallelism concurrent). N \u003e 0: items are chunked into groups of N. Each chunk is fully processed before the next chunk begins. Within each chunk, up to max_parallelism iterations run concurrently. Only meaningful when max_parallelism \u003e 0; ignored in sequential mode.",
|
|
526
|
+
"type": "integer"
|
|
527
|
+
},
|
|
528
|
+
"do": {
|
|
529
|
+
"description": "Tasks to execute for each iteration. Loop variables available: ${ $data.item }, ${ $data.index }",
|
|
530
|
+
"items": {
|
|
531
|
+
"additionalProperties": false,
|
|
532
|
+
"properties": {
|
|
533
|
+
"compensate": {
|
|
534
|
+
"description": "Compensation tasks to execute if this task needs to be \"undone.\"",
|
|
535
|
+
"items": {
|
|
536
|
+
"type": "object"
|
|
537
|
+
},
|
|
538
|
+
"type": "array"
|
|
539
|
+
},
|
|
540
|
+
"export": {
|
|
541
|
+
"additionalProperties": false,
|
|
542
|
+
"description": "Export configuration (how to save task output to context). Optional - if not set, output is not saved.",
|
|
543
|
+
"properties": {
|
|
544
|
+
"as": {
|
|
545
|
+
"description": "Expression defining how to export output using ${...} syntax.",
|
|
546
|
+
"minLength": 1,
|
|
547
|
+
"type": "string"
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"type": "object"
|
|
551
|
+
},
|
|
552
|
+
"flow": {
|
|
553
|
+
"additionalProperties": false,
|
|
554
|
+
"description": "Flow control (which task executes next). Optional - if not set, continues to next task in sequence.",
|
|
555
|
+
"properties": {
|
|
556
|
+
"then": {
|
|
557
|
+
"description": "Target task name or \"end\" to terminate workflow.",
|
|
558
|
+
"type": "string"
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
"type": "object"
|
|
562
|
+
},
|
|
563
|
+
"kind": {
|
|
564
|
+
"description": "Task type (determines how to interpret task_config).",
|
|
565
|
+
"enum": [
|
|
566
|
+
"set_vars",
|
|
567
|
+
"http_call",
|
|
568
|
+
"grpc_call",
|
|
569
|
+
"activity_call",
|
|
570
|
+
"switch_case",
|
|
571
|
+
"for_each",
|
|
572
|
+
"fork",
|
|
573
|
+
"try_catch",
|
|
574
|
+
"listen",
|
|
575
|
+
"wait",
|
|
576
|
+
"raise_error",
|
|
577
|
+
"run_workflow",
|
|
578
|
+
"agent_call",
|
|
579
|
+
"llm_call",
|
|
580
|
+
"transform",
|
|
581
|
+
"human_input",
|
|
582
|
+
"validate",
|
|
583
|
+
"emit_event",
|
|
584
|
+
"notification",
|
|
585
|
+
"eval"
|
|
586
|
+
],
|
|
587
|
+
"type": "string"
|
|
588
|
+
},
|
|
589
|
+
"name": {
|
|
590
|
+
"description": "Task name/identifier (must be unique within workflow). Must be a valid C-style identifier: starts with a letter or underscore, followed by letters, digits, or underscores.",
|
|
591
|
+
"minLength": 1,
|
|
592
|
+
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
|
|
593
|
+
"type": "string"
|
|
594
|
+
},
|
|
595
|
+
"task_config": {
|
|
596
|
+
"description": "Task-specific configuration whose structure depends on the `kind` field.",
|
|
597
|
+
"type": "object"
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
"required": [
|
|
601
|
+
"kind",
|
|
602
|
+
"task_config"
|
|
603
|
+
],
|
|
604
|
+
"type": "object"
|
|
605
|
+
},
|
|
606
|
+
"minItems": 1,
|
|
607
|
+
"type": "array"
|
|
608
|
+
},
|
|
609
|
+
"each": {
|
|
610
|
+
"description": "Variable name for each item in the iteration. Accessible via ${ $data.item } in expressions.",
|
|
611
|
+
"minLength": 1,
|
|
612
|
+
"type": "string"
|
|
613
|
+
},
|
|
614
|
+
"in": {
|
|
615
|
+
"description": "Expression evaluating to the collection to iterate over. Example: \"${ $data.items }\" or \"${ [1, 2, 3] }\"",
|
|
616
|
+
"minLength": 1,
|
|
617
|
+
"type": "string"
|
|
618
|
+
},
|
|
619
|
+
"max_parallelism": {
|
|
620
|
+
"description": "Maximum number of iterations to execute concurrently. 0 (default): sequential execution — iterations run one at a time in input order. This preserves pre-T17 behavior. 1: effectively sequential (one at a time, but uses the parallel execution path — useful for testing). N \u003e 1: up to N iterations run concurrently using Temporal workflow goroutines with a semaphore-based concurrency limiter. Results are always reassembled in original input order regardless of completion order.",
|
|
621
|
+
"type": "integer"
|
|
622
|
+
},
|
|
623
|
+
"on_error": {
|
|
624
|
+
"description": "Policy for handling individual iteration failures. Default: FOR_EACH_FAIL_FAST (stop on first error). Only meaningful when max_parallelism \u003e 0; in sequential mode, any failure stops the loop regardless of this setting (pre-T17 behavior).",
|
|
625
|
+
"enum": [
|
|
626
|
+
"FOR_EACH_FAIL_FAST",
|
|
627
|
+
"FOR_EACH_CONTINUE",
|
|
628
|
+
"FOR_EACH_SKIP"
|
|
629
|
+
],
|
|
630
|
+
"type": "string"
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
"required": [
|
|
634
|
+
"each",
|
|
635
|
+
"in"
|
|
636
|
+
],
|
|
637
|
+
"title": "ForTaskConfig",
|
|
638
|
+
"type": "object"
|
|
639
|
+
},
|
|
640
|
+
"outputJsonSchema": {
|
|
641
|
+
"description": "Collected results from each iteration.",
|
|
642
|
+
"type": "array"
|
|
643
|
+
},
|
|
644
|
+
"yamlExamples": [
|
|
645
|
+
"- name: process_items\n kind: for_each\n task_config:\n each: item\n in: \"${ $context.items }\"\n do:\n - name: classify_item\n kind: llm_call\n task_config:\n model: \"gpt-4o-mini\"\n prompt: \"Classify: ${ $item.description }\"\n"
|
|
646
|
+
],
|
|
647
|
+
"documentationUrl": "/docs/guides/workflows/task-types/for-each",
|
|
648
|
+
"isAiNative": false,
|
|
649
|
+
"requiresExternalService": false
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"kind": "fork",
|
|
653
|
+
"displayName": "Fork",
|
|
654
|
+
"description": "Execute multiple branches in parallel, optionally racing.",
|
|
655
|
+
"category": "control_flow",
|
|
656
|
+
"icon": "git-fork",
|
|
657
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.ForkTaskConfig",
|
|
658
|
+
"fields": [
|
|
659
|
+
{
|
|
660
|
+
"name": "branches",
|
|
661
|
+
"displayName": "Branches",
|
|
662
|
+
"description": "Branches to execute in parallel (at least 2 required).",
|
|
663
|
+
"type": "repeated",
|
|
664
|
+
"required": false,
|
|
665
|
+
"groupId": "core",
|
|
666
|
+
"fieldNumber": 1,
|
|
667
|
+
"elementType": "ForkBranch",
|
|
668
|
+
"validationHints": [
|
|
669
|
+
"min_items: 2"
|
|
670
|
+
]
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "compete",
|
|
674
|
+
"displayName": "Compete",
|
|
675
|
+
"description": "If true, first branch to complete wins (race mode). If false, all branches must complete (default).",
|
|
676
|
+
"type": "bool",
|
|
677
|
+
"required": false,
|
|
678
|
+
"groupId": "core",
|
|
679
|
+
"fieldNumber": 2
|
|
680
|
+
}
|
|
681
|
+
],
|
|
682
|
+
"fieldGroups": [
|
|
683
|
+
{
|
|
684
|
+
"id": "core",
|
|
685
|
+
"displayName": "Parallel Branches"
|
|
686
|
+
}
|
|
687
|
+
],
|
|
688
|
+
"configJsonSchema": {
|
|
689
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
690
|
+
"additionalProperties": false,
|
|
691
|
+
"properties": {
|
|
692
|
+
"branches": {
|
|
693
|
+
"description": "Branches to execute in parallel (at least 2 required).",
|
|
694
|
+
"items": {
|
|
695
|
+
"additionalProperties": false,
|
|
696
|
+
"properties": {
|
|
697
|
+
"do": {
|
|
698
|
+
"description": "Tasks to execute in this branch.",
|
|
699
|
+
"items": {
|
|
700
|
+
"additionalProperties": false,
|
|
701
|
+
"properties": {
|
|
702
|
+
"compensate": {
|
|
703
|
+
"description": "Compensation tasks to execute if this task needs to be \"undone.\"",
|
|
704
|
+
"items": {
|
|
705
|
+
"type": "object"
|
|
706
|
+
},
|
|
707
|
+
"type": "array"
|
|
708
|
+
},
|
|
709
|
+
"export": {
|
|
710
|
+
"additionalProperties": false,
|
|
711
|
+
"description": "Export configuration (how to save task output to context). Optional - if not set, output is not saved.",
|
|
712
|
+
"properties": {
|
|
713
|
+
"as": {
|
|
714
|
+
"description": "Expression defining how to export output using ${...} syntax.",
|
|
715
|
+
"minLength": 1,
|
|
716
|
+
"type": "string"
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"type": "object"
|
|
720
|
+
},
|
|
721
|
+
"flow": {
|
|
722
|
+
"additionalProperties": false,
|
|
723
|
+
"description": "Flow control (which task executes next). Optional - if not set, continues to next task in sequence.",
|
|
724
|
+
"properties": {
|
|
725
|
+
"then": {
|
|
726
|
+
"description": "Target task name or \"end\" to terminate workflow.",
|
|
727
|
+
"type": "string"
|
|
728
|
+
}
|
|
729
|
+
},
|
|
730
|
+
"type": "object"
|
|
731
|
+
},
|
|
732
|
+
"kind": {
|
|
733
|
+
"description": "Task type (determines how to interpret task_config).",
|
|
734
|
+
"enum": [
|
|
735
|
+
"set_vars",
|
|
736
|
+
"http_call",
|
|
737
|
+
"grpc_call",
|
|
738
|
+
"activity_call",
|
|
739
|
+
"switch_case",
|
|
740
|
+
"for_each",
|
|
741
|
+
"fork",
|
|
742
|
+
"try_catch",
|
|
743
|
+
"listen",
|
|
744
|
+
"wait",
|
|
745
|
+
"raise_error",
|
|
746
|
+
"run_workflow",
|
|
747
|
+
"agent_call",
|
|
748
|
+
"llm_call",
|
|
749
|
+
"transform",
|
|
750
|
+
"human_input",
|
|
751
|
+
"validate",
|
|
752
|
+
"emit_event",
|
|
753
|
+
"notification",
|
|
754
|
+
"eval"
|
|
755
|
+
],
|
|
756
|
+
"type": "string"
|
|
757
|
+
},
|
|
758
|
+
"name": {
|
|
759
|
+
"description": "Task name/identifier (must be unique within workflow). Must be a valid C-style identifier: starts with a letter or underscore, followed by letters, digits, or underscores.",
|
|
760
|
+
"minLength": 1,
|
|
761
|
+
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
|
|
762
|
+
"type": "string"
|
|
763
|
+
},
|
|
764
|
+
"task_config": {
|
|
765
|
+
"description": "Task-specific configuration whose structure depends on the `kind` field.",
|
|
766
|
+
"type": "object"
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
"required": [
|
|
770
|
+
"kind",
|
|
771
|
+
"task_config"
|
|
772
|
+
],
|
|
773
|
+
"type": "object"
|
|
774
|
+
},
|
|
775
|
+
"minItems": 1,
|
|
776
|
+
"type": "array"
|
|
777
|
+
},
|
|
778
|
+
"name": {
|
|
779
|
+
"description": "Branch name/identifier.",
|
|
780
|
+
"minLength": 1,
|
|
781
|
+
"type": "string"
|
|
782
|
+
}
|
|
783
|
+
},
|
|
784
|
+
"required": [
|
|
785
|
+
"name"
|
|
786
|
+
],
|
|
787
|
+
"type": "object"
|
|
788
|
+
},
|
|
789
|
+
"minItems": 2,
|
|
790
|
+
"type": "array"
|
|
791
|
+
},
|
|
792
|
+
"compete": {
|
|
793
|
+
"description": "If true, first branch to complete wins (race mode). If false, all branches must complete (default).",
|
|
794
|
+
"type": "boolean"
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
"title": "ForkTaskConfig",
|
|
798
|
+
"type": "object"
|
|
799
|
+
},
|
|
800
|
+
"outputJsonSchema": {
|
|
801
|
+
"description": "Combined results from all branches (or winner if compete=true).",
|
|
802
|
+
"type": "object"
|
|
803
|
+
},
|
|
804
|
+
"yamlExamples": [
|
|
805
|
+
"- name: parallel_enrichment\n kind: fork\n task_config:\n branches:\n - name: fetch_profile\n do:\n - name: get_profile\n kind: http_call\n task_config:\n method: \"GET\"\n endpoint:\n uri: \"https://api.example.com/users/${ $context.user_id }\"\n - name: fetch_history\n do:\n - name: get_history\n kind: http_call\n task_config:\n method: \"GET\"\n endpoint:\n uri: \"https://api.example.com/history/${ $context.user_id }\"\n compete: false\n"
|
|
806
|
+
],
|
|
807
|
+
"documentationUrl": "/docs/guides/workflows/task-types/fork",
|
|
808
|
+
"isAiNative": false,
|
|
809
|
+
"requiresExternalService": false
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"kind": "try_catch",
|
|
813
|
+
"displayName": "Try/Catch",
|
|
814
|
+
"description": "Handle errors from a block of tasks with recovery logic.",
|
|
815
|
+
"category": "control_flow",
|
|
816
|
+
"icon": "shield",
|
|
817
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.TryTaskConfig",
|
|
818
|
+
"fields": [
|
|
819
|
+
{
|
|
820
|
+
"name": "try",
|
|
821
|
+
"displayName": "Try",
|
|
822
|
+
"description": "Tasks to attempt (at least one required). If any task fails, execution jumps to catch block.",
|
|
823
|
+
"type": "repeated",
|
|
824
|
+
"required": false,
|
|
825
|
+
"groupId": "core",
|
|
826
|
+
"fieldNumber": 1,
|
|
827
|
+
"elementType": "WorkflowTask",
|
|
828
|
+
"validationHints": [
|
|
829
|
+
"min_items: 1"
|
|
830
|
+
]
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"name": "catch",
|
|
834
|
+
"displayName": "Catch",
|
|
835
|
+
"description": "Catch block for error handling (optional). If not provided, errors propagate to parent.",
|
|
836
|
+
"type": "message",
|
|
837
|
+
"required": false,
|
|
838
|
+
"groupId": "core",
|
|
839
|
+
"fieldNumber": 2,
|
|
840
|
+
"elementType": "CatchBlock"
|
|
841
|
+
}
|
|
842
|
+
],
|
|
843
|
+
"fieldGroups": [
|
|
844
|
+
{
|
|
845
|
+
"id": "core",
|
|
846
|
+
"displayName": "Error Handling"
|
|
847
|
+
}
|
|
848
|
+
],
|
|
849
|
+
"configJsonSchema": {
|
|
850
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
851
|
+
"additionalProperties": false,
|
|
852
|
+
"properties": {
|
|
853
|
+
"catch": {
|
|
854
|
+
"additionalProperties": false,
|
|
855
|
+
"description": "Catch block for error handling (optional). If not provided, errors propagate to parent.",
|
|
856
|
+
"properties": {
|
|
857
|
+
"as": {
|
|
858
|
+
"description": "Variable name to store the error (optional). Accessible via ${ .error } in catch tasks.",
|
|
859
|
+
"type": "string"
|
|
860
|
+
},
|
|
861
|
+
"compensate": {
|
|
862
|
+
"description": "Whether to run compensation tasks for already-completed try tasks before executing the catch do block. When true, the runtime walks the compensation stack (completed tasks that declared a `compensate` block) in reverse order and executes each task's compensation actions. After all compensations complete (or fail), the catch `do` block runs as normal. Compensation failures do not prevent the catch block from running. They are logged and included in the task output for diagnostics. Default: false (no compensation — preserves pre-T17 behavior).",
|
|
863
|
+
"type": "boolean"
|
|
864
|
+
},
|
|
865
|
+
"do": {
|
|
866
|
+
"description": "Tasks to execute when error is caught.",
|
|
867
|
+
"items": {
|
|
868
|
+
"additionalProperties": false,
|
|
869
|
+
"properties": {
|
|
870
|
+
"compensate": {
|
|
871
|
+
"description": "Compensation tasks to execute if this task needs to be \"undone.\"",
|
|
872
|
+
"items": {
|
|
873
|
+
"type": "object"
|
|
874
|
+
},
|
|
875
|
+
"type": "array"
|
|
876
|
+
},
|
|
877
|
+
"export": {
|
|
878
|
+
"additionalProperties": false,
|
|
879
|
+
"description": "Export configuration (how to save task output to context). Optional - if not set, output is not saved.",
|
|
880
|
+
"properties": {
|
|
881
|
+
"as": {
|
|
882
|
+
"description": "Expression defining how to export output using ${...} syntax.",
|
|
883
|
+
"minLength": 1,
|
|
884
|
+
"type": "string"
|
|
885
|
+
}
|
|
886
|
+
},
|
|
887
|
+
"type": "object"
|
|
888
|
+
},
|
|
889
|
+
"flow": {
|
|
890
|
+
"additionalProperties": false,
|
|
891
|
+
"description": "Flow control (which task executes next). Optional - if not set, continues to next task in sequence.",
|
|
892
|
+
"properties": {
|
|
893
|
+
"then": {
|
|
894
|
+
"description": "Target task name or \"end\" to terminate workflow.",
|
|
895
|
+
"type": "string"
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
"type": "object"
|
|
899
|
+
},
|
|
900
|
+
"kind": {
|
|
901
|
+
"description": "Task type (determines how to interpret task_config).",
|
|
902
|
+
"enum": [
|
|
903
|
+
"set_vars",
|
|
904
|
+
"http_call",
|
|
905
|
+
"grpc_call",
|
|
906
|
+
"activity_call",
|
|
907
|
+
"switch_case",
|
|
908
|
+
"for_each",
|
|
909
|
+
"fork",
|
|
910
|
+
"try_catch",
|
|
911
|
+
"listen",
|
|
912
|
+
"wait",
|
|
913
|
+
"raise_error",
|
|
914
|
+
"run_workflow",
|
|
915
|
+
"agent_call",
|
|
916
|
+
"llm_call",
|
|
917
|
+
"transform",
|
|
918
|
+
"human_input",
|
|
919
|
+
"validate",
|
|
920
|
+
"emit_event",
|
|
921
|
+
"notification",
|
|
922
|
+
"eval"
|
|
923
|
+
],
|
|
924
|
+
"type": "string"
|
|
925
|
+
},
|
|
926
|
+
"name": {
|
|
927
|
+
"description": "Task name/identifier (must be unique within workflow). Must be a valid C-style identifier: starts with a letter or underscore, followed by letters, digits, or underscores.",
|
|
928
|
+
"minLength": 1,
|
|
929
|
+
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
|
|
930
|
+
"type": "string"
|
|
931
|
+
},
|
|
932
|
+
"task_config": {
|
|
933
|
+
"description": "Task-specific configuration whose structure depends on the `kind` field.",
|
|
934
|
+
"type": "object"
|
|
935
|
+
}
|
|
936
|
+
},
|
|
937
|
+
"required": [
|
|
938
|
+
"kind",
|
|
939
|
+
"task_config"
|
|
940
|
+
],
|
|
941
|
+
"type": "object"
|
|
942
|
+
},
|
|
943
|
+
"minItems": 1,
|
|
944
|
+
"type": "array"
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
"type": "object"
|
|
948
|
+
},
|
|
949
|
+
"try": {
|
|
950
|
+
"description": "Tasks to attempt (at least one required). If any task fails, execution jumps to catch block.",
|
|
951
|
+
"items": {
|
|
952
|
+
"additionalProperties": false,
|
|
953
|
+
"properties": {
|
|
954
|
+
"compensate": {
|
|
955
|
+
"description": "Compensation tasks to execute if this task needs to be \"undone.\"",
|
|
956
|
+
"items": {
|
|
957
|
+
"type": "object"
|
|
958
|
+
},
|
|
959
|
+
"type": "array"
|
|
960
|
+
},
|
|
961
|
+
"export": {
|
|
962
|
+
"additionalProperties": false,
|
|
963
|
+
"description": "Export configuration (how to save task output to context). Optional - if not set, output is not saved.",
|
|
964
|
+
"properties": {
|
|
965
|
+
"as": {
|
|
966
|
+
"description": "Expression defining how to export output using ${...} syntax.",
|
|
967
|
+
"minLength": 1,
|
|
968
|
+
"type": "string"
|
|
969
|
+
}
|
|
970
|
+
},
|
|
971
|
+
"type": "object"
|
|
972
|
+
},
|
|
973
|
+
"flow": {
|
|
974
|
+
"additionalProperties": false,
|
|
975
|
+
"description": "Flow control (which task executes next). Optional - if not set, continues to next task in sequence.",
|
|
976
|
+
"properties": {
|
|
977
|
+
"then": {
|
|
978
|
+
"description": "Target task name or \"end\" to terminate workflow.",
|
|
979
|
+
"type": "string"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"type": "object"
|
|
983
|
+
},
|
|
984
|
+
"kind": {
|
|
985
|
+
"description": "Task type (determines how to interpret task_config).",
|
|
986
|
+
"enum": [
|
|
987
|
+
"set_vars",
|
|
988
|
+
"http_call",
|
|
989
|
+
"grpc_call",
|
|
990
|
+
"activity_call",
|
|
991
|
+
"switch_case",
|
|
992
|
+
"for_each",
|
|
993
|
+
"fork",
|
|
994
|
+
"try_catch",
|
|
995
|
+
"listen",
|
|
996
|
+
"wait",
|
|
997
|
+
"raise_error",
|
|
998
|
+
"run_workflow",
|
|
999
|
+
"agent_call",
|
|
1000
|
+
"llm_call",
|
|
1001
|
+
"transform",
|
|
1002
|
+
"human_input",
|
|
1003
|
+
"validate",
|
|
1004
|
+
"emit_event",
|
|
1005
|
+
"notification",
|
|
1006
|
+
"eval"
|
|
1007
|
+
],
|
|
1008
|
+
"type": "string"
|
|
1009
|
+
},
|
|
1010
|
+
"name": {
|
|
1011
|
+
"description": "Task name/identifier (must be unique within workflow). Must be a valid C-style identifier: starts with a letter or underscore, followed by letters, digits, or underscores.",
|
|
1012
|
+
"minLength": 1,
|
|
1013
|
+
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
|
|
1014
|
+
"type": "string"
|
|
1015
|
+
},
|
|
1016
|
+
"task_config": {
|
|
1017
|
+
"description": "Task-specific configuration whose structure depends on the `kind` field.",
|
|
1018
|
+
"type": "object"
|
|
1019
|
+
}
|
|
1020
|
+
},
|
|
1021
|
+
"required": [
|
|
1022
|
+
"kind",
|
|
1023
|
+
"task_config"
|
|
1024
|
+
],
|
|
1025
|
+
"type": "object"
|
|
1026
|
+
},
|
|
1027
|
+
"minItems": 1,
|
|
1028
|
+
"type": "array"
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
"title": "TryTaskConfig",
|
|
1032
|
+
"type": "object"
|
|
1033
|
+
},
|
|
1034
|
+
"outputJsonSchema": {
|
|
1035
|
+
"description": "Output from the try block (success) or catch block (recovery).",
|
|
1036
|
+
"type": "object"
|
|
1037
|
+
},
|
|
1038
|
+
"yamlExamples": [
|
|
1039
|
+
"- name: safe_api_call\n kind: try_catch\n task_config:\n try:\n - name: risky_call\n kind: http_call\n task_config:\n method: \"POST\"\n endpoint:\n uri: \"https://api.unreliable.com/submit\"\n catch:\n as: error\n do:\n - name: log_failure\n kind: set_vars\n task_config:\n variables:\n error_message: \"${ $error.message }\"\n"
|
|
1040
|
+
],
|
|
1041
|
+
"documentationUrl": "/docs/guides/workflows/task-types/try-catch",
|
|
1042
|
+
"isAiNative": false,
|
|
1043
|
+
"requiresExternalService": false
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"kind": "listen",
|
|
1047
|
+
"displayName": "Listen",
|
|
1048
|
+
"description": "Wait for external signals or events before proceeding.",
|
|
1049
|
+
"category": "event",
|
|
1050
|
+
"icon": "radio",
|
|
1051
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.ListenTaskConfig",
|
|
1052
|
+
"fields": [
|
|
1053
|
+
{
|
|
1054
|
+
"name": "to",
|
|
1055
|
+
"displayName": "To",
|
|
1056
|
+
"description": "Signal listening configuration.",
|
|
1057
|
+
"type": "message",
|
|
1058
|
+
"required": true,
|
|
1059
|
+
"groupId": "core",
|
|
1060
|
+
"fieldNumber": 1,
|
|
1061
|
+
"elementType": "ListenTo",
|
|
1062
|
+
"validationHints": [
|
|
1063
|
+
"required"
|
|
1064
|
+
]
|
|
1065
|
+
}
|
|
1066
|
+
],
|
|
1067
|
+
"fieldGroups": [
|
|
1068
|
+
{
|
|
1069
|
+
"id": "core",
|
|
1070
|
+
"displayName": "Signal Configuration"
|
|
1071
|
+
}
|
|
1072
|
+
],
|
|
1073
|
+
"configJsonSchema": {
|
|
1074
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1075
|
+
"additionalProperties": false,
|
|
1076
|
+
"properties": {
|
|
1077
|
+
"to": {
|
|
1078
|
+
"additionalProperties": false,
|
|
1079
|
+
"description": "Signal listening configuration.",
|
|
1080
|
+
"properties": {
|
|
1081
|
+
"mode": {
|
|
1082
|
+
"description": "Listening mode: - \"one\": Wait for any one signal - \"all\": Wait for all signals",
|
|
1083
|
+
"type": "string"
|
|
1084
|
+
},
|
|
1085
|
+
"signals": {
|
|
1086
|
+
"description": "Signals to listen for.",
|
|
1087
|
+
"items": {
|
|
1088
|
+
"additionalProperties": false,
|
|
1089
|
+
"properties": {
|
|
1090
|
+
"id": {
|
|
1091
|
+
"description": "Signal identifier.",
|
|
1092
|
+
"minLength": 1,
|
|
1093
|
+
"type": "string"
|
|
1094
|
+
},
|
|
1095
|
+
"type": {
|
|
1096
|
+
"description": "Signal type: \"signal\", \"query\", or \"update\".",
|
|
1097
|
+
"type": "string"
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"required": [
|
|
1101
|
+
"id",
|
|
1102
|
+
"type"
|
|
1103
|
+
],
|
|
1104
|
+
"type": "object"
|
|
1105
|
+
},
|
|
1106
|
+
"minItems": 1,
|
|
1107
|
+
"type": "array"
|
|
1108
|
+
}
|
|
1109
|
+
},
|
|
1110
|
+
"required": [
|
|
1111
|
+
"mode"
|
|
1112
|
+
],
|
|
1113
|
+
"type": "object"
|
|
1114
|
+
}
|
|
1115
|
+
},
|
|
1116
|
+
"required": [
|
|
1117
|
+
"to"
|
|
1118
|
+
],
|
|
1119
|
+
"title": "ListenTaskConfig",
|
|
1120
|
+
"type": "object"
|
|
1121
|
+
},
|
|
1122
|
+
"outputJsonSchema": {
|
|
1123
|
+
"description": "Signal payload received from the external source.",
|
|
1124
|
+
"type": "object"
|
|
1125
|
+
},
|
|
1126
|
+
"yamlExamples": [
|
|
1127
|
+
"- name: wait_for_approval\n kind: listen\n task_config:\n to:\n mode: \"one\"\n signals:\n - id: \"approval_signal\"\n type: \"signal\"\n export:\n as: \"${ . }\"\n"
|
|
1128
|
+
],
|
|
1129
|
+
"documentationUrl": "/docs/guides/workflows/task-types/listen",
|
|
1130
|
+
"isAiNative": false,
|
|
1131
|
+
"requiresExternalService": false
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"kind": "wait",
|
|
1135
|
+
"displayName": "Wait",
|
|
1136
|
+
"description": "Pause execution for a specified duration.",
|
|
1137
|
+
"category": "control_flow",
|
|
1138
|
+
"icon": "clock",
|
|
1139
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.WaitTaskConfig",
|
|
1140
|
+
"fields": [
|
|
1141
|
+
{
|
|
1142
|
+
"name": "duration",
|
|
1143
|
+
"displayName": "Duration",
|
|
1144
|
+
"description": "Relative duration to wait from now. Use this when you want to wait for a specific amount of time regardless of when the workflow reaches this task. Example: { days: 7 } = wait 1 week from now",
|
|
1145
|
+
"type": "message",
|
|
1146
|
+
"required": false,
|
|
1147
|
+
"fieldNumber": 1,
|
|
1148
|
+
"elementType": "Duration"
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"name": "until",
|
|
1152
|
+
"displayName": "Until",
|
|
1153
|
+
"description": "Absolute timestamp to wait until. Use this when you want to wait until a specific point in time. If the timestamp is in the past, the task completes immediately. Example: \"2026-03-01T09:00:00Z\" = wait until March 1st, 2026 at 9am UTC",
|
|
1154
|
+
"type": "string",
|
|
1155
|
+
"required": false,
|
|
1156
|
+
"fieldNumber": 2
|
|
1157
|
+
}
|
|
1158
|
+
],
|
|
1159
|
+
"fieldGroups": [
|
|
1160
|
+
{
|
|
1161
|
+
"id": "core",
|
|
1162
|
+
"displayName": "Duration"
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"configJsonSchema": {
|
|
1166
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1167
|
+
"additionalProperties": false,
|
|
1168
|
+
"properties": {
|
|
1169
|
+
"duration": {
|
|
1170
|
+
"additionalProperties": false,
|
|
1171
|
+
"description": "Relative duration to wait from now. Use this when you want to wait for a specific amount of time regardless of when the workflow reaches this task. Example: { days: 7 } = wait 1 week from now",
|
|
1172
|
+
"properties": {
|
|
1173
|
+
"days": {
|
|
1174
|
+
"description": "Number of days to wait (24 hours each).",
|
|
1175
|
+
"type": "integer"
|
|
1176
|
+
},
|
|
1177
|
+
"hours": {
|
|
1178
|
+
"description": "Number of hours to wait.",
|
|
1179
|
+
"type": "integer"
|
|
1180
|
+
},
|
|
1181
|
+
"milliseconds": {
|
|
1182
|
+
"description": "Number of milliseconds to wait.",
|
|
1183
|
+
"type": "integer"
|
|
1184
|
+
},
|
|
1185
|
+
"minutes": {
|
|
1186
|
+
"description": "Number of minutes to wait.",
|
|
1187
|
+
"type": "integer"
|
|
1188
|
+
},
|
|
1189
|
+
"seconds": {
|
|
1190
|
+
"description": "Number of seconds to wait.",
|
|
1191
|
+
"type": "integer"
|
|
1192
|
+
}
|
|
1193
|
+
},
|
|
1194
|
+
"type": "object"
|
|
1195
|
+
},
|
|
1196
|
+
"until": {
|
|
1197
|
+
"description": "Absolute timestamp to wait until. Use this when you want to wait until a specific point in time. If the timestamp is in the past, the task completes immediately. Example: \"2026-03-01T09:00:00Z\" = wait until March 1st, 2026 at 9am UTC",
|
|
1198
|
+
"format": "date-time",
|
|
1199
|
+
"type": "string"
|
|
1200
|
+
}
|
|
1201
|
+
},
|
|
1202
|
+
"title": "WaitTaskConfig",
|
|
1203
|
+
"type": "object"
|
|
1204
|
+
},
|
|
1205
|
+
"outputJsonSchema": {
|
|
1206
|
+
"description": "wait does not produce task output.",
|
|
1207
|
+
"type": "null"
|
|
1208
|
+
},
|
|
1209
|
+
"yamlExamples": [
|
|
1210
|
+
"- name: cooldown\n kind: wait\n task_config:\n duration:\n seconds: 30\n"
|
|
1211
|
+
],
|
|
1212
|
+
"documentationUrl": "/docs/guides/workflows/task-types/wait",
|
|
1213
|
+
"isAiNative": false,
|
|
1214
|
+
"requiresExternalService": false
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"kind": "raise_error",
|
|
1218
|
+
"displayName": "Raise Error",
|
|
1219
|
+
"description": "Raise an error to terminate execution or trigger error handling.",
|
|
1220
|
+
"category": "event",
|
|
1221
|
+
"icon": "alert-triangle",
|
|
1222
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.RaiseTaskConfig",
|
|
1223
|
+
"fields": [
|
|
1224
|
+
{
|
|
1225
|
+
"name": "error",
|
|
1226
|
+
"displayName": "Error",
|
|
1227
|
+
"description": "Error type/name.",
|
|
1228
|
+
"type": "string",
|
|
1229
|
+
"required": true,
|
|
1230
|
+
"isExpression": true,
|
|
1231
|
+
"groupId": "core",
|
|
1232
|
+
"fieldNumber": 1,
|
|
1233
|
+
"validationHints": [
|
|
1234
|
+
"required",
|
|
1235
|
+
"min_length: 1"
|
|
1236
|
+
]
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"name": "message",
|
|
1240
|
+
"displayName": "Message",
|
|
1241
|
+
"description": "Error message. Can contain expressions: \"${ .errorMessage }\" Optional — when omitted, the raised error carries only the error type/name. (The runtime maps this to the problem-details `detail` field only when present; requiring it was contract fiction, #685.)",
|
|
1242
|
+
"type": "string",
|
|
1243
|
+
"required": false,
|
|
1244
|
+
"isExpression": true,
|
|
1245
|
+
"groupId": "core",
|
|
1246
|
+
"fieldNumber": 2
|
|
1247
|
+
}
|
|
1248
|
+
],
|
|
1249
|
+
"fieldGroups": [
|
|
1250
|
+
{
|
|
1251
|
+
"id": "core",
|
|
1252
|
+
"displayName": "Error"
|
|
1253
|
+
}
|
|
1254
|
+
],
|
|
1255
|
+
"configJsonSchema": {
|
|
1256
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1257
|
+
"additionalProperties": false,
|
|
1258
|
+
"properties": {
|
|
1259
|
+
"error": {
|
|
1260
|
+
"description": "Error type/name.",
|
|
1261
|
+
"minLength": 1,
|
|
1262
|
+
"type": "string"
|
|
1263
|
+
},
|
|
1264
|
+
"message": {
|
|
1265
|
+
"description": "Error message. Can contain expressions: \"${ .errorMessage }\" Optional — when omitted, the raised error carries only the error type/name. (The runtime maps this to the problem-details `detail` field only when present; requiring it was contract fiction, #685.)",
|
|
1266
|
+
"type": "string"
|
|
1267
|
+
}
|
|
1268
|
+
},
|
|
1269
|
+
"required": [
|
|
1270
|
+
"error"
|
|
1271
|
+
],
|
|
1272
|
+
"title": "RaiseTaskConfig",
|
|
1273
|
+
"type": "object"
|
|
1274
|
+
},
|
|
1275
|
+
"outputJsonSchema": {
|
|
1276
|
+
"description": "raise_error terminates the current execution path.",
|
|
1277
|
+
"type": "null"
|
|
1278
|
+
},
|
|
1279
|
+
"yamlExamples": [
|
|
1280
|
+
"- name: fail_invalid\n kind: raise_error\n task_config:\n error: \"ValidationError\"\n message: \"Required field missing: ${ $context.missing_field }\"\n"
|
|
1281
|
+
],
|
|
1282
|
+
"documentationUrl": "/docs/guides/workflows/task-types/raise-error",
|
|
1283
|
+
"isAiNative": false,
|
|
1284
|
+
"requiresExternalService": false
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
"kind": "run_workflow",
|
|
1288
|
+
"displayName": "Run Workflow",
|
|
1289
|
+
"description": "Execute a sub-workflow as a child of the current workflow.",
|
|
1290
|
+
"category": "invocation",
|
|
1291
|
+
"icon": "workflow",
|
|
1292
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.RunTaskConfig",
|
|
1293
|
+
"fields": [
|
|
1294
|
+
{
|
|
1295
|
+
"name": "workflow",
|
|
1296
|
+
"displayName": "Workflow",
|
|
1297
|
+
"description": "Sub-workflow name/identifier to execute.",
|
|
1298
|
+
"type": "string",
|
|
1299
|
+
"required": true,
|
|
1300
|
+
"groupId": "core",
|
|
1301
|
+
"fieldNumber": 1,
|
|
1302
|
+
"validationHints": [
|
|
1303
|
+
"required",
|
|
1304
|
+
"min_length: 1"
|
|
1305
|
+
]
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
"name": "input",
|
|
1309
|
+
"displayName": "Input",
|
|
1310
|
+
"description": "Sub-workflow input (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
1311
|
+
"type": "struct",
|
|
1312
|
+
"required": false,
|
|
1313
|
+
"groupId": "core",
|
|
1314
|
+
"fieldNumber": 2
|
|
1315
|
+
}
|
|
1316
|
+
],
|
|
1317
|
+
"fieldGroups": [
|
|
1318
|
+
{
|
|
1319
|
+
"id": "core",
|
|
1320
|
+
"displayName": "Sub-Workflow"
|
|
1321
|
+
}
|
|
1322
|
+
],
|
|
1323
|
+
"configJsonSchema": {
|
|
1324
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1325
|
+
"additionalProperties": false,
|
|
1326
|
+
"properties": {
|
|
1327
|
+
"input": {
|
|
1328
|
+
"description": "Sub-workflow input (optional). Can be any JSON structure. Supports expressions in string values.",
|
|
1329
|
+
"type": "object"
|
|
1330
|
+
},
|
|
1331
|
+
"workflow": {
|
|
1332
|
+
"description": "Sub-workflow name/identifier to execute.",
|
|
1333
|
+
"minLength": 1,
|
|
1334
|
+
"type": "string"
|
|
1335
|
+
}
|
|
1336
|
+
},
|
|
1337
|
+
"required": [
|
|
1338
|
+
"workflow"
|
|
1339
|
+
],
|
|
1340
|
+
"title": "RunTaskConfig",
|
|
1341
|
+
"type": "object"
|
|
1342
|
+
},
|
|
1343
|
+
"outputJsonSchema": {
|
|
1344
|
+
"description": "Output from the child workflow execution.",
|
|
1345
|
+
"type": "object"
|
|
1346
|
+
},
|
|
1347
|
+
"yamlExamples": [
|
|
1348
|
+
"- name: run_enrichment\n kind: run_workflow\n task_config:\n workflow: \"data-enrichment\"\n input:\n user_id: \"${ $context.user.id }\"\n source: \"parent_workflow\"\n export:\n as: \"${ . }\"\n"
|
|
1349
|
+
],
|
|
1350
|
+
"documentationUrl": "/docs/guides/workflows/task-types/run-workflow",
|
|
1351
|
+
"isAiNative": false,
|
|
1352
|
+
"requiresExternalService": false
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"kind": "agent_call",
|
|
1356
|
+
"displayName": "Agent Call",
|
|
1357
|
+
"description": "Invoke an AI agent for complex, multi-step reasoning with tool access.",
|
|
1358
|
+
"category": "ai",
|
|
1359
|
+
"icon": "bot",
|
|
1360
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.AgentCallTaskConfig",
|
|
1361
|
+
"fields": [
|
|
1362
|
+
{
|
|
1363
|
+
"name": "agent",
|
|
1364
|
+
"displayName": "Agent",
|
|
1365
|
+
"description": "Agent reference in \"org/slug\" or \"slug\" format. - \"slug\" only: uses the workflow's organization - \"org/slug\": explicit organization reference Examples: \"code-reviewer\", \"stigmer/code-reviewer\", \"acme/data-analyst\" Required field.",
|
|
1366
|
+
"type": "string",
|
|
1367
|
+
"required": true,
|
|
1368
|
+
"groupId": "core",
|
|
1369
|
+
"fieldNumber": 1,
|
|
1370
|
+
"validationHints": [
|
|
1371
|
+
"required",
|
|
1372
|
+
"min_length: 1",
|
|
1373
|
+
"max_length: 127"
|
|
1374
|
+
]
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"name": "message",
|
|
1378
|
+
"displayName": "Message",
|
|
1379
|
+
"description": "Instructions/prompt to send to the agent. Supports interpolation of workflow variables using JQ expressions. Example: \"Analyze this code: ${ $context.fetchCode.body }\" Required field.",
|
|
1380
|
+
"type": "string",
|
|
1381
|
+
"required": true,
|
|
1382
|
+
"isExpression": true,
|
|
1383
|
+
"groupId": "core",
|
|
1384
|
+
"fieldNumber": 2,
|
|
1385
|
+
"validationHints": [
|
|
1386
|
+
"required",
|
|
1387
|
+
"min_length: 1"
|
|
1388
|
+
]
|
|
1389
|
+
},
|
|
1390
|
+
{
|
|
1391
|
+
"name": "env",
|
|
1392
|
+
"displayName": "Env",
|
|
1393
|
+
"description": "Runtime environment variables to pass to the agent. Values can be literal strings or JQ expressions that reference workflow context or secrets. Example: {\"GITHUB_TOKEN\": \"${ .secrets.GH_TOKEN }\"} Optional.",
|
|
1394
|
+
"type": "map",
|
|
1395
|
+
"required": false,
|
|
1396
|
+
"groupId": "runtime",
|
|
1397
|
+
"fieldNumber": 3
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"name": "run_config",
|
|
1401
|
+
"displayName": "Run Config",
|
|
1402
|
+
"description": "Per-call model choice and run bounds. Unset fields inherit the platform defaults.",
|
|
1403
|
+
"type": "message",
|
|
1404
|
+
"required": false,
|
|
1405
|
+
"fieldNumber": 4,
|
|
1406
|
+
"elementType": "RunConfig"
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
"name": "output",
|
|
1410
|
+
"displayName": "Output",
|
|
1411
|
+
"description": "Structured output contract for this agent call. When set, the workflow runner extracts structured JSON from the agent's final response and validates it against the declared schema. The validated JSON is placed in the task output under the \"structured\" key, enabling reliable downstream routing via switch_case expressions. When not set, the task output contains the agent's raw text response.",
|
|
1412
|
+
"type": "message",
|
|
1413
|
+
"required": false,
|
|
1414
|
+
"groupId": "output",
|
|
1415
|
+
"fieldNumber": 5,
|
|
1416
|
+
"elementType": "AgentCallOutputContract"
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"name": "harness",
|
|
1420
|
+
"displayName": "Harness",
|
|
1421
|
+
"description": "Execution harness for the agent invocation. Determines which execution engine processes the agent call: - HARNESS_UNSPECIFIED / HARNESS_NATIVE: Stigmer native engine (Python/LangGraph) - HARNESS_CURSOR: Cursor SDK engine (TypeScript/Cursor) The runner creates a Session with this harness before creating the AgentExecution. The harness is a session-level concern — it determines tool availability, state management, model access, and billing tier. When unspecified, defaults to HARNESS_NATIVE (the workflow surface's platform default). YAML Example: - code_review: call: agent with: agent: \"code-reviewer\" harness: cursor message: \"Review this PR\"",
|
|
1422
|
+
"type": "enum",
|
|
1423
|
+
"required": false,
|
|
1424
|
+
"enumValues": [
|
|
1425
|
+
"HARNESS_NATIVE",
|
|
1426
|
+
"HARNESS_CURSOR"
|
|
1427
|
+
],
|
|
1428
|
+
"fieldNumber": 6
|
|
1429
|
+
},
|
|
1430
|
+
{
|
|
1431
|
+
"name": "workspace_entries",
|
|
1432
|
+
"displayName": "Workspace Entries",
|
|
1433
|
+
"description": "Workspace the child run's session operates on. Empty means no workspace.",
|
|
1434
|
+
"type": "repeated",
|
|
1435
|
+
"required": false,
|
|
1436
|
+
"fieldNumber": 7,
|
|
1437
|
+
"elementType": "WorkspaceEntry"
|
|
1438
|
+
},
|
|
1439
|
+
{
|
|
1440
|
+
"name": "environment_refs",
|
|
1441
|
+
"displayName": "Environment Refs",
|
|
1442
|
+
"description": "References to Environment resources whose values are provided to the child runs this task creates. This is how a tool-using agent becomes runnable from a workflow: bind an org-shared environment holding the needed credentials, and the child runs receive its values at runtime. The agent and its default instance stay untouched.",
|
|
1443
|
+
"type": "repeated",
|
|
1444
|
+
"required": false,
|
|
1445
|
+
"fieldNumber": 8,
|
|
1446
|
+
"elementType": "ApiResourceReference"
|
|
1447
|
+
}
|
|
1448
|
+
],
|
|
1449
|
+
"fieldGroups": [
|
|
1450
|
+
{
|
|
1451
|
+
"id": "core",
|
|
1452
|
+
"displayName": "Agent Configuration"
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
"id": "runtime",
|
|
1456
|
+
"displayName": "Runtime Settings"
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"id": "budget",
|
|
1460
|
+
"displayName": "Budget Limits",
|
|
1461
|
+
"description": "Cost controls for this agent call. Set max_cost_micros on the config field."
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"id": "output",
|
|
1465
|
+
"displayName": "Structured Output"
|
|
1466
|
+
}
|
|
1467
|
+
],
|
|
1468
|
+
"configJsonSchema": {
|
|
1469
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1470
|
+
"additionalProperties": false,
|
|
1471
|
+
"properties": {
|
|
1472
|
+
"agent": {
|
|
1473
|
+
"description": "Agent reference in \"org/slug\" or \"slug\" format. - \"slug\" only: uses the workflow's organization - \"org/slug\": explicit organization reference Examples: \"code-reviewer\", \"stigmer/code-reviewer\", \"acme/data-analyst\" Required field.",
|
|
1474
|
+
"maxLength": 127,
|
|
1475
|
+
"minLength": 1,
|
|
1476
|
+
"type": "string"
|
|
1477
|
+
},
|
|
1478
|
+
"env": {
|
|
1479
|
+
"additionalProperties": {
|
|
1480
|
+
"type": "string"
|
|
1481
|
+
},
|
|
1482
|
+
"description": "Runtime environment variables to pass to the agent. Values can be literal strings or JQ expressions that reference workflow context or secrets. Example: {\"GITHUB_TOKEN\": \"${ .secrets.GH_TOKEN }\"} Optional.",
|
|
1483
|
+
"type": "object"
|
|
1484
|
+
},
|
|
1485
|
+
"environment_refs": {
|
|
1486
|
+
"description": "References to Environment resources whose values are provided to the child runs this task creates. This is how a tool-using agent becomes runnable from a workflow: bind an org-shared environment holding the needed credentials, and the child runs receive its values at runtime. The agent and its default instance stay untouched.",
|
|
1487
|
+
"items": {
|
|
1488
|
+
"additionalProperties": false,
|
|
1489
|
+
"properties": {
|
|
1490
|
+
"kind": {
|
|
1491
|
+
"description": "Kind of the referenced resource (e.g., SKILL, AGENT, MCP_SERVER).",
|
|
1492
|
+
"enum": [
|
|
1493
|
+
"api_resource_version",
|
|
1494
|
+
"iam_policy",
|
|
1495
|
+
"identity_account",
|
|
1496
|
+
"api_key",
|
|
1497
|
+
"invitation",
|
|
1498
|
+
"identity_provider",
|
|
1499
|
+
"oauth_app",
|
|
1500
|
+
"platform_client",
|
|
1501
|
+
"organization",
|
|
1502
|
+
"platform",
|
|
1503
|
+
"agent",
|
|
1504
|
+
"agent_execution",
|
|
1505
|
+
"session",
|
|
1506
|
+
"skill",
|
|
1507
|
+
"mcp_server",
|
|
1508
|
+
"agent_instance",
|
|
1509
|
+
"agent_share",
|
|
1510
|
+
"agent_channel",
|
|
1511
|
+
"channel_app",
|
|
1512
|
+
"workflow",
|
|
1513
|
+
"workflow_instance",
|
|
1514
|
+
"workflow_execution",
|
|
1515
|
+
"environment",
|
|
1516
|
+
"artifact",
|
|
1517
|
+
"execution_context",
|
|
1518
|
+
"schedule",
|
|
1519
|
+
"memory",
|
|
1520
|
+
"project"
|
|
1521
|
+
],
|
|
1522
|
+
"type": "string"
|
|
1523
|
+
},
|
|
1524
|
+
"org": {
|
|
1525
|
+
"description": "Organization that owns the referenced resource. When non-empty: must be a valid org slug (lowercase alphanumeric with hyphens, starts with a letter, 1-63 characters). Example: \"stigmer\", \"acme-corp\". When empty: the reference is relative — the server resolves it to the parent resource's organization at write time. All stored and returned references always have org populated (absolute form). Use empty org for same-org references (the common case). Use explicit org for cross-org references (e.g., marketplace resources).",
|
|
1526
|
+
"maxLength": 63,
|
|
1527
|
+
"pattern": "^$|^[a-z][a-z0-9-]*[a-z0-9]$",
|
|
1528
|
+
"type": "string"
|
|
1529
|
+
},
|
|
1530
|
+
"slug": {
|
|
1531
|
+
"description": "Resource slug (user-friendly identifier, unique within org). Format: lowercase alphanumeric with hyphens, must start with a letter and end with a letter or digit (e.g., \"web-search\", \"code-reviewer\"). Length: 2-63 characters.",
|
|
1532
|
+
"maxLength": 63,
|
|
1533
|
+
"minLength": 2,
|
|
1534
|
+
"pattern": "^[a-z][a-z0-9-]*[a-z0-9]$",
|
|
1535
|
+
"type": "string"
|
|
1536
|
+
},
|
|
1537
|
+
"version": {
|
|
1538
|
+
"description": "Version of the resource (optional, only applicable to versioned resources like Skills). Supports three formats: 1. Empty/unset → Resolves to \"latest\" (most recent version) 2. Tag name → Resolves to version with this tag (e.g., \"stable\", \"v1.0\") 3. Exact hash → Immutable reference to specific version (e.g., \"abc123...\") Default behavior: Empty means \"latest\" (current version). This field is ignored for non-versioned resources. Examples: - version: \"\" → Use latest version - version: \"latest\" → Use latest version (explicit) - version: \"stable\" → Use version tagged as \"stable\" - version: \"v1.0\" → Use version tagged as \"v1.0\" - version: \"abc123...\" → Use exact version with this hash (immutable)",
|
|
1539
|
+
"pattern": "^$|^latest$|^[a-zA-Z0-9._-]+$|^[a-f0-9]{64}$",
|
|
1540
|
+
"type": "string"
|
|
1541
|
+
}
|
|
1542
|
+
},
|
|
1543
|
+
"required": [
|
|
1544
|
+
"slug"
|
|
1545
|
+
],
|
|
1546
|
+
"type": "object"
|
|
1547
|
+
},
|
|
1548
|
+
"type": "array"
|
|
1549
|
+
},
|
|
1550
|
+
"harness": {
|
|
1551
|
+
"description": "Execution harness for the agent invocation. Determines which execution engine processes the agent call: - HARNESS_UNSPECIFIED / HARNESS_NATIVE: Stigmer native engine (Python/LangGraph) - HARNESS_CURSOR: Cursor SDK engine (TypeScript/Cursor) The runner creates a Session with this harness before creating the AgentExecution. The harness is a session-level concern — it determines tool availability, state management, model access, and billing tier. When unspecified, defaults to HARNESS_NATIVE (the workflow surface's platform default). YAML Example: - code_review: call: agent with: agent: \"code-reviewer\" harness: cursor message: \"Review this PR\"",
|
|
1552
|
+
"enum": [
|
|
1553
|
+
"HARNESS_NATIVE",
|
|
1554
|
+
"HARNESS_CURSOR"
|
|
1555
|
+
],
|
|
1556
|
+
"type": "string"
|
|
1557
|
+
},
|
|
1558
|
+
"message": {
|
|
1559
|
+
"description": "Instructions/prompt to send to the agent. Supports interpolation of workflow variables using JQ expressions. Example: \"Analyze this code: ${ $context.fetchCode.body }\" Required field.",
|
|
1560
|
+
"minLength": 1,
|
|
1561
|
+
"type": "string"
|
|
1562
|
+
},
|
|
1563
|
+
"output": {
|
|
1564
|
+
"additionalProperties": false,
|
|
1565
|
+
"description": "Structured output contract for this agent call. When set, the workflow runner extracts structured JSON from the agent's final response and validates it against the declared schema. The validated JSON is placed in the task output under the \"structured\" key, enabling reliable downstream routing via switch_case expressions. When not set, the task output contains the agent's raw text response.",
|
|
1566
|
+
"properties": {
|
|
1567
|
+
"fallback_task": {
|
|
1568
|
+
"description": "Target task to branch to when schema validation cannot be resolved. Used in two scenarios: 1. on_invalid is ON_INVALID_RETRY and all retries are exhausted 2. on_invalid is ON_INVALID_FALLBACK (immediate branch, no retry) Must reference a valid task name in the same workflow. When empty and retries are exhausted, the task fails.",
|
|
1569
|
+
"type": "string"
|
|
1570
|
+
},
|
|
1571
|
+
"max_retries": {
|
|
1572
|
+
"description": "Maximum retry attempts when on_invalid is ON_INVALID_RETRY. Each retry re-prompts the agent with the specific validation errors and the expected schema, giving the agent an opportunity to self-correct. Only meaningful when on_invalid is ON_INVALID_RETRY; ignored otherwise. Default: 2 (the runner's retry loop). Valid range when set: 1-5. Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1573
|
+
"maximum": 5,
|
|
1574
|
+
"minimum": 1,
|
|
1575
|
+
"type": "integer"
|
|
1576
|
+
},
|
|
1577
|
+
"on_invalid": {
|
|
1578
|
+
"description": "Policy when agent output fails schema validation. Default: ON_INVALID_FAIL (task fails immediately).",
|
|
1579
|
+
"enum": [
|
|
1580
|
+
"ON_INVALID_FAIL",
|
|
1581
|
+
"ON_INVALID_RETRY",
|
|
1582
|
+
"ON_INVALID_FALLBACK"
|
|
1583
|
+
],
|
|
1584
|
+
"type": "string"
|
|
1585
|
+
},
|
|
1586
|
+
"schema": {
|
|
1587
|
+
"description": "JSON Schema that the agent's structured output must conform to. Standard JSON Schema (draft 2020-12 or compatible). The workflow runner extracts JSON from the agent's final response and validates it against this schema. If validation fails, the on_invalid policy determines what happens next. The schema is carried as a google.protobuf.Struct to preserve the existing kind+Struct envelope pattern and allow YAML authors to write standard JSON Schema inline without a Stigmer-specific schema language.",
|
|
1588
|
+
"type": "object"
|
|
1589
|
+
}
|
|
1590
|
+
},
|
|
1591
|
+
"required": [
|
|
1592
|
+
"schema"
|
|
1593
|
+
],
|
|
1594
|
+
"type": "object"
|
|
1595
|
+
},
|
|
1596
|
+
"run_config": {
|
|
1597
|
+
"additionalProperties": false,
|
|
1598
|
+
"description": "Per-call model choice and run bounds. Unset fields inherit the platform defaults.",
|
|
1599
|
+
"properties": {
|
|
1600
|
+
"max_cost_usd": {
|
|
1601
|
+
"description": "Maximum estimated cost in USD per run. The surface's platform execution profile caps this value; the lower bound wins.",
|
|
1602
|
+
"type": "number"
|
|
1603
|
+
},
|
|
1604
|
+
"max_tool_rounds": {
|
|
1605
|
+
"description": "Maximum model-to-tools reasoning cycles per run. The surface's platform execution profile caps this value; the lower bound wins.",
|
|
1606
|
+
"type": "integer"
|
|
1607
|
+
},
|
|
1608
|
+
"model_name": {
|
|
1609
|
+
"description": "The model each run uses. Example: \"claude-sonnet-4-6\".",
|
|
1610
|
+
"type": "string"
|
|
1611
|
+
},
|
|
1612
|
+
"service_tier": {
|
|
1613
|
+
"description": "Service tier for each run's model calls: standard (the default) or fast, where fast bills at the model's fast-tier rates and requires a model that offers one. In workflow YAML the shorthand spellings \"standard\"/\"fast\" are accepted alongside the canonical enum names. Mirrors ExecutionConfig.service_tier: UNSPECIFIED inherits the surface's platform default, which itself resolves to STANDARD — never the provider account default. FAST requires model_name (here or from the platform profile) to name a model with a registry fast pricing variant; validated fail-closed at create.",
|
|
1614
|
+
"enum": [
|
|
1615
|
+
"SERVICE_TIER_STANDARD",
|
|
1616
|
+
"SERVICE_TIER_FAST"
|
|
1617
|
+
],
|
|
1618
|
+
"type": "string"
|
|
1619
|
+
},
|
|
1620
|
+
"thinking_mode": {
|
|
1621
|
+
"description": "Thinking mode for each run's model calls: disabled (the default) or enabled, where enabled selects the model's extended-reasoning variant (billed at base per-token rates — reasoning tokens bill as output). In workflow YAML the shorthand spellings \"disabled\"/\"enabled\" are accepted alongside the canonical enum names. Mirrors ExecutionConfig.thinking_mode: UNSPECIFIED inherits the surface's platform default, which itself resolves to DISABLED — never the provider account default. ENABLED requires model_name (here or from the platform profile) to name a model whose registry entry declares the thinking capability; validated fail-closed at create. Combines freely with service_tier.",
|
|
1622
|
+
"enum": [
|
|
1623
|
+
"THINKING_MODE_DISABLED",
|
|
1624
|
+
"THINKING_MODE_ENABLED"
|
|
1625
|
+
],
|
|
1626
|
+
"type": "string"
|
|
1627
|
+
}
|
|
1628
|
+
},
|
|
1629
|
+
"type": "object"
|
|
1630
|
+
},
|
|
1631
|
+
"workspace_entries": {
|
|
1632
|
+
"description": "Workspace the child run's session operates on. Empty means no workspace.",
|
|
1633
|
+
"items": {
|
|
1634
|
+
"additionalProperties": false,
|
|
1635
|
+
"properties": {
|
|
1636
|
+
"name": {
|
|
1637
|
+
"description": "Short identifier for this workspace entry.",
|
|
1638
|
+
"minLength": 1,
|
|
1639
|
+
"type": "string"
|
|
1640
|
+
},
|
|
1641
|
+
"source": {
|
|
1642
|
+
"additionalProperties": false,
|
|
1643
|
+
"description": "The source that provides this entry's content.",
|
|
1644
|
+
"properties": {
|
|
1645
|
+
"git_repo": {
|
|
1646
|
+
"additionalProperties": false,
|
|
1647
|
+
"description": "Clone a git repository as the workspace source.",
|
|
1648
|
+
"properties": {
|
|
1649
|
+
"branch": {
|
|
1650
|
+
"description": "Branch to clone. When empty, the repository's default branch is used.",
|
|
1651
|
+
"type": "string"
|
|
1652
|
+
},
|
|
1653
|
+
"commit": {
|
|
1654
|
+
"description": "Commit SHA to checkout after cloning. When set, the workspace is checked out at this exact commit. When both branch and commit are set, the branch is cloned first, then the commit is checked out.",
|
|
1655
|
+
"type": "string"
|
|
1656
|
+
},
|
|
1657
|
+
"depth": {
|
|
1658
|
+
"description": "Number of commits to include in the clone history. When not set, defaults to a shallow clone with depth 1. Set to 0 for a full clone with complete history.",
|
|
1659
|
+
"type": "integer"
|
|
1660
|
+
},
|
|
1661
|
+
"url": {
|
|
1662
|
+
"description": "HTTPS clone URL for the repository.",
|
|
1663
|
+
"type": "string"
|
|
1664
|
+
},
|
|
1665
|
+
"write_back_mode": {
|
|
1666
|
+
"description": "Controls whether the platform creates a branch and pull request from the agent's file changes.",
|
|
1667
|
+
"enum": [
|
|
1668
|
+
"GIT_WRITE_BACK_BRANCH_AND_PR"
|
|
1669
|
+
],
|
|
1670
|
+
"type": "string"
|
|
1671
|
+
}
|
|
1672
|
+
},
|
|
1673
|
+
"required": [
|
|
1674
|
+
"url"
|
|
1675
|
+
],
|
|
1676
|
+
"type": "object"
|
|
1677
|
+
},
|
|
1678
|
+
"local_path": {
|
|
1679
|
+
"additionalProperties": false,
|
|
1680
|
+
"description": "Use an existing local directory as the workspace source.",
|
|
1681
|
+
"properties": {
|
|
1682
|
+
"path": {
|
|
1683
|
+
"description": "Absolute path to an existing directory on the host filesystem.",
|
|
1684
|
+
"minLength": 1,
|
|
1685
|
+
"type": "string"
|
|
1686
|
+
}
|
|
1687
|
+
},
|
|
1688
|
+
"type": "object"
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1691
|
+
"type": "object"
|
|
1692
|
+
}
|
|
1693
|
+
},
|
|
1694
|
+
"required": [
|
|
1695
|
+
"source"
|
|
1696
|
+
],
|
|
1697
|
+
"type": "object"
|
|
1698
|
+
},
|
|
1699
|
+
"type": "array"
|
|
1700
|
+
}
|
|
1701
|
+
},
|
|
1702
|
+
"required": [
|
|
1703
|
+
"agent",
|
|
1704
|
+
"message"
|
|
1705
|
+
],
|
|
1706
|
+
"title": "AgentCallTaskConfig",
|
|
1707
|
+
"type": "object"
|
|
1708
|
+
},
|
|
1709
|
+
"outputJsonSchema": {
|
|
1710
|
+
"description": "Agent execution result with dual-channel output.",
|
|
1711
|
+
"properties": {
|
|
1712
|
+
"agent_execution_id": {
|
|
1713
|
+
"description": "Execution ID for drill-down into agent trace.",
|
|
1714
|
+
"type": "string"
|
|
1715
|
+
},
|
|
1716
|
+
"final_text": {
|
|
1717
|
+
"description": "Human-readable agent response.",
|
|
1718
|
+
"type": "string"
|
|
1719
|
+
},
|
|
1720
|
+
"structured": {
|
|
1721
|
+
"description": "Validated JSON output (when output contract is configured).",
|
|
1722
|
+
"type": "object"
|
|
1723
|
+
},
|
|
1724
|
+
"usage_summary": {
|
|
1725
|
+
"properties": {
|
|
1726
|
+
"artifact_count": {
|
|
1727
|
+
"type": "integer"
|
|
1728
|
+
},
|
|
1729
|
+
"estimated_cost_usd": {
|
|
1730
|
+
"type": "number"
|
|
1731
|
+
},
|
|
1732
|
+
"tool_call_count": {
|
|
1733
|
+
"type": "integer"
|
|
1734
|
+
},
|
|
1735
|
+
"total_tokens": {
|
|
1736
|
+
"type": "integer"
|
|
1737
|
+
}
|
|
1738
|
+
},
|
|
1739
|
+
"type": "object"
|
|
1740
|
+
}
|
|
1741
|
+
},
|
|
1742
|
+
"type": "object"
|
|
1743
|
+
},
|
|
1744
|
+
"yamlExamples": [
|
|
1745
|
+
"- name: triage_ticket\n kind: agent_call\n task_config:\n agent: \"support-triage\"\n message: \"${ .ticket.description }\"\n output:\n schema:\n type: object\n required: [severity, category]\n properties:\n severity:\n type: string\n enum: [low, medium, high, critical]\n category:\n type: string\n on_invalid: ON_INVALID_RETRY\n max_retries: 2\n export:\n as: \"${ .structured }\"\n",
|
|
1746
|
+
"- name: fix_flaky_test\n kind: agent_call\n task_config:\n agent: \"code-reviewer\"\n message: \"Fix the flaky test in ${ .failing_test }\"\n harness: HARNESS_CURSOR\n run_config:\n model_name: \"composer-2.5\"\n max_cost_usd: 0.50\n # Fast tier: billed at the model's fast rates. Valid only for\n # models with a fast pricing tier; refused at create otherwise.\n # The shorthand spellings \"standard\"/\"fast\" are also accepted.\n service_tier: SERVICE_TIER_FAST\n",
|
|
1747
|
+
"- name: deep_review\n kind: agent_call\n task_config:\n agent: \"code-reviewer\"\n message: \"Review the architecture of ${ .module }\"\n harness: HARNESS_CURSOR\n run_config:\n model_name: \"claude-haiku-4-5\"\n # Thinking mode: the model's extended-reasoning variant, billed\n # at base per-token rates (reasoning tokens count as output).\n # Valid only for models with the thinking capability; refused at\n # create otherwise. The shorthand spellings \"disabled\"/\"enabled\"\n # are also accepted.\n thinking_mode: THINKING_MODE_ENABLED\n"
|
|
1748
|
+
],
|
|
1749
|
+
"documentationUrl": "/docs/guides/workflows/task-types/agent-call",
|
|
1750
|
+
"isAiNative": true,
|
|
1751
|
+
"requiresExternalService": true
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
"kind": "llm_call",
|
|
1755
|
+
"displayName": "LLM Call",
|
|
1756
|
+
"description": "Direct LLM call for classification, extraction, scoring, or routing without agent overhead.",
|
|
1757
|
+
"category": "ai",
|
|
1758
|
+
"icon": "brain",
|
|
1759
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.LlmCallTaskConfig",
|
|
1760
|
+
"fields": [
|
|
1761
|
+
{
|
|
1762
|
+
"name": "model",
|
|
1763
|
+
"displayName": "Model",
|
|
1764
|
+
"description": "Model reference resolved via the Stigmer model registry. Examples: \"gpt-4o\", \"gpt-4o-mini\", \"claude-sonnet-4-5\", \"claude-haiku-3-5\" Required field.",
|
|
1765
|
+
"type": "string",
|
|
1766
|
+
"required": true,
|
|
1767
|
+
"groupId": "core",
|
|
1768
|
+
"fieldNumber": 1,
|
|
1769
|
+
"validationHints": [
|
|
1770
|
+
"required",
|
|
1771
|
+
"min_length: 1",
|
|
1772
|
+
"max_length: 127"
|
|
1773
|
+
]
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
"name": "system_prompt",
|
|
1777
|
+
"displayName": "System Prompt",
|
|
1778
|
+
"description": "System prompt that sets the LLM's role and constraints. Supports ${ } expression interpolation for dynamic system prompts. Optional — omit for tasks where the user prompt is self-contained.",
|
|
1779
|
+
"type": "string",
|
|
1780
|
+
"required": false,
|
|
1781
|
+
"isExpression": true,
|
|
1782
|
+
"groupId": "core",
|
|
1783
|
+
"fieldNumber": 2
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "prompt",
|
|
1787
|
+
"displayName": "Prompt",
|
|
1788
|
+
"description": "User prompt / instruction sent to the LLM. Supports ${ } expression interpolation for injecting workflow context. Example: \"Classify this ticket: ${ $context.ticket.description }\" Required field.",
|
|
1789
|
+
"type": "string",
|
|
1790
|
+
"required": true,
|
|
1791
|
+
"isExpression": true,
|
|
1792
|
+
"groupId": "core",
|
|
1793
|
+
"fieldNumber": 3,
|
|
1794
|
+
"validationHints": [
|
|
1795
|
+
"required",
|
|
1796
|
+
"min_length: 1"
|
|
1797
|
+
]
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
"name": "response_schema",
|
|
1801
|
+
"displayName": "Response Schema",
|
|
1802
|
+
"description": "JSON Schema for structured output. When set, the runner requests structured output from the provider (e.g., OpenAI's response_format, Anthropic's tool_use extraction) and validates the response against this schema. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema for consistency across the workflow domain. When not set, the task output is the LLM's raw text response.",
|
|
1803
|
+
"type": "struct",
|
|
1804
|
+
"required": false,
|
|
1805
|
+
"groupId": "output",
|
|
1806
|
+
"fieldNumber": 4
|
|
1807
|
+
},
|
|
1808
|
+
{
|
|
1809
|
+
"name": "temperature",
|
|
1810
|
+
"displayName": "Temperature",
|
|
1811
|
+
"description": "Sampling temperature (0.0 to 2.0). Lower = more deterministic, higher = more creative. Range is 0.0-2.0 to accommodate all major providers (OpenAI supports up to 2.0; others clamp to their supported range at runtime). Optional — uses the provider's default when not set.",
|
|
1812
|
+
"type": "float",
|
|
1813
|
+
"required": false,
|
|
1814
|
+
"groupId": "tuning",
|
|
1815
|
+
"fieldNumber": 5,
|
|
1816
|
+
"validationHints": [
|
|
1817
|
+
"max: 2"
|
|
1818
|
+
]
|
|
1819
|
+
},
|
|
1820
|
+
{
|
|
1821
|
+
"name": "max_tokens",
|
|
1822
|
+
"displayName": "Max Tokens",
|
|
1823
|
+
"description": "Maximum tokens in the LLM response. Optional — uses the provider's default when not set. Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1824
|
+
"type": "int32",
|
|
1825
|
+
"required": false,
|
|
1826
|
+
"groupId": "tuning",
|
|
1827
|
+
"fieldNumber": 6,
|
|
1828
|
+
"validationHints": [
|
|
1829
|
+
"min: 1"
|
|
1830
|
+
]
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
"name": "timeout",
|
|
1834
|
+
"displayName": "Timeout",
|
|
1835
|
+
"description": "Timeout for the LLM call in seconds. Max: 600 (10 minutes). Optional — unset (0) leaves the call bounded by the runner's activity timeout. When set, the runner bounds the provider request at this budget and a breach fails the task with LLM_TIMEOUT (non-retryable — catchable with try/catch); the activity timeout widens to fit (#686). Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1836
|
+
"type": "int32",
|
|
1837
|
+
"required": false,
|
|
1838
|
+
"groupId": "tuning",
|
|
1839
|
+
"fieldNumber": 7,
|
|
1840
|
+
"validationHints": [
|
|
1841
|
+
"min: 1",
|
|
1842
|
+
"max: 600"
|
|
1843
|
+
]
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"name": "on_invalid",
|
|
1847
|
+
"displayName": "On Invalid",
|
|
1848
|
+
"description": "Policy when the LLM response fails schema validation. Only meaningful when response_schema is set; ignored otherwise. Default: ON_INVALID_FAIL (task fails immediately).",
|
|
1849
|
+
"type": "enum",
|
|
1850
|
+
"required": false,
|
|
1851
|
+
"enumValues": [
|
|
1852
|
+
"ON_INVALID_FAIL",
|
|
1853
|
+
"ON_INVALID_RETRY",
|
|
1854
|
+
"ON_INVALID_FALLBACK"
|
|
1855
|
+
],
|
|
1856
|
+
"groupId": "output",
|
|
1857
|
+
"fieldNumber": 8
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
"name": "max_retries",
|
|
1861
|
+
"displayName": "Max Retries",
|
|
1862
|
+
"description": "Maximum schema-validation retry attempts when on_invalid is ON_INVALID_RETRY. Each retry re-prompts the LLM with the validation errors and expected schema, giving it an opportunity to self-correct. Only meaningful when on_invalid is ON_INVALID_RETRY; ignored otherwise. Default when unset: 1. Valid range when set: 1-5. Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1863
|
+
"type": "int32",
|
|
1864
|
+
"required": false,
|
|
1865
|
+
"groupId": "output",
|
|
1866
|
+
"fieldNumber": 9,
|
|
1867
|
+
"validationHints": [
|
|
1868
|
+
"min: 1",
|
|
1869
|
+
"max: 5"
|
|
1870
|
+
]
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"name": "fallback_task",
|
|
1874
|
+
"displayName": "Fallback Task",
|
|
1875
|
+
"description": "Target task to branch to when schema validation cannot be resolved. Used in two scenarios: 1. on_invalid is ON_INVALID_RETRY and all retries are exhausted 2. on_invalid is ON_INVALID_FALLBACK (immediate branch, no retry) Must reference a valid task name in the same workflow. When empty and retries are exhausted, the task fails.",
|
|
1876
|
+
"type": "string",
|
|
1877
|
+
"required": false,
|
|
1878
|
+
"groupId": "output",
|
|
1879
|
+
"fieldNumber": 10
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"name": "max_cost_micros",
|
|
1883
|
+
"displayName": "Max Cost Micros",
|
|
1884
|
+
"description": "Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this specific LLM call if its cost exceeds this limit, independent of the workflow-level budget. The runtime checks both: per-task limit first, then workflow remaining budget. Optional — when 0, no per-task cost limit is enforced.",
|
|
1885
|
+
"type": "int32",
|
|
1886
|
+
"required": false,
|
|
1887
|
+
"groupId": "budget",
|
|
1888
|
+
"fieldNumber": 11
|
|
1889
|
+
},
|
|
1890
|
+
{
|
|
1891
|
+
"name": "max_total_tokens",
|
|
1892
|
+
"displayName": "Max Total Tokens",
|
|
1893
|
+
"description": "Per-task token cap (input + output tokens combined). When set, the runtime terminates this specific LLM call if total tokens exceed this limit. Complements max_tokens (field 6), which limits only the output token count as a generation parameter. Optional — when 0, no per-task total token limit is enforced.",
|
|
1894
|
+
"type": "int32",
|
|
1895
|
+
"required": false,
|
|
1896
|
+
"groupId": "budget",
|
|
1897
|
+
"fieldNumber": 12
|
|
1898
|
+
}
|
|
1899
|
+
],
|
|
1900
|
+
"fieldGroups": [
|
|
1901
|
+
{
|
|
1902
|
+
"id": "core",
|
|
1903
|
+
"displayName": "Core Configuration"
|
|
1904
|
+
},
|
|
1905
|
+
{
|
|
1906
|
+
"id": "output",
|
|
1907
|
+
"displayName": "Output Control"
|
|
1908
|
+
},
|
|
1909
|
+
{
|
|
1910
|
+
"id": "tuning",
|
|
1911
|
+
"displayName": "Model Tuning"
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
"id": "budget",
|
|
1915
|
+
"displayName": "Budget Limits"
|
|
1916
|
+
}
|
|
1917
|
+
],
|
|
1918
|
+
"configJsonSchema": {
|
|
1919
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1920
|
+
"additionalProperties": false,
|
|
1921
|
+
"properties": {
|
|
1922
|
+
"fallback_task": {
|
|
1923
|
+
"description": "Target task to branch to when schema validation cannot be resolved. Used in two scenarios: 1. on_invalid is ON_INVALID_RETRY and all retries are exhausted 2. on_invalid is ON_INVALID_FALLBACK (immediate branch, no retry) Must reference a valid task name in the same workflow. When empty and retries are exhausted, the task fails.",
|
|
1924
|
+
"type": "string"
|
|
1925
|
+
},
|
|
1926
|
+
"max_cost_micros": {
|
|
1927
|
+
"description": "Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this specific LLM call if its cost exceeds this limit, independent of the workflow-level budget. The runtime checks both: per-task limit first, then workflow remaining budget. Optional — when 0, no per-task cost limit is enforced.",
|
|
1928
|
+
"type": "integer"
|
|
1929
|
+
},
|
|
1930
|
+
"max_retries": {
|
|
1931
|
+
"description": "Maximum schema-validation retry attempts when on_invalid is ON_INVALID_RETRY. Each retry re-prompts the LLM with the validation errors and expected schema, giving it an opportunity to self-correct. Only meaningful when on_invalid is ON_INVALID_RETRY; ignored otherwise. Default when unset: 1. Valid range when set: 1-5. Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1932
|
+
"maximum": 5,
|
|
1933
|
+
"minimum": 1,
|
|
1934
|
+
"type": "integer"
|
|
1935
|
+
},
|
|
1936
|
+
"max_tokens": {
|
|
1937
|
+
"description": "Maximum tokens in the LLM response. Optional — uses the provider's default when not set. Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1938
|
+
"minimum": 1,
|
|
1939
|
+
"type": "integer"
|
|
1940
|
+
},
|
|
1941
|
+
"max_total_tokens": {
|
|
1942
|
+
"description": "Per-task token cap (input + output tokens combined). When set, the runtime terminates this specific LLM call if total tokens exceed this limit. Complements max_tokens (field 6), which limits only the output token count as a generation parameter. Optional — when 0, no per-task total token limit is enforced.",
|
|
1943
|
+
"type": "integer"
|
|
1944
|
+
},
|
|
1945
|
+
"model": {
|
|
1946
|
+
"description": "Model reference resolved via the Stigmer model registry. Examples: \"gpt-4o\", \"gpt-4o-mini\", \"claude-sonnet-4-5\", \"claude-haiku-3-5\" Required field.",
|
|
1947
|
+
"maxLength": 127,
|
|
1948
|
+
"minLength": 1,
|
|
1949
|
+
"type": "string"
|
|
1950
|
+
},
|
|
1951
|
+
"on_invalid": {
|
|
1952
|
+
"description": "Policy when the LLM response fails schema validation. Only meaningful when response_schema is set; ignored otherwise. Default: ON_INVALID_FAIL (task fails immediately).",
|
|
1953
|
+
"enum": [
|
|
1954
|
+
"ON_INVALID_FAIL",
|
|
1955
|
+
"ON_INVALID_RETRY",
|
|
1956
|
+
"ON_INVALID_FALLBACK"
|
|
1957
|
+
],
|
|
1958
|
+
"type": "string"
|
|
1959
|
+
},
|
|
1960
|
+
"prompt": {
|
|
1961
|
+
"description": "User prompt / instruction sent to the LLM. Supports ${ } expression interpolation for injecting workflow context. Example: \"Classify this ticket: ${ $context.ticket.description }\" Required field.",
|
|
1962
|
+
"minLength": 1,
|
|
1963
|
+
"type": "string"
|
|
1964
|
+
},
|
|
1965
|
+
"response_schema": {
|
|
1966
|
+
"description": "JSON Schema for structured output. When set, the runner requests structured output from the provider (e.g., OpenAI's response_format, Anthropic's tool_use extraction) and validates the response against this schema. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema for consistency across the workflow domain. When not set, the task output is the LLM's raw text response.",
|
|
1967
|
+
"type": "object"
|
|
1968
|
+
},
|
|
1969
|
+
"system_prompt": {
|
|
1970
|
+
"description": "System prompt that sets the LLM's role and constraints. Supports ${ } expression interpolation for dynamic system prompts. Optional — omit for tasks where the user prompt is self-contained.",
|
|
1971
|
+
"type": "string"
|
|
1972
|
+
},
|
|
1973
|
+
"temperature": {
|
|
1974
|
+
"description": "Sampling temperature (0.0 to 2.0). Lower = more deterministic, higher = more creative. Range is 0.0-2.0 to accommodate all major providers (OpenAI supports up to 2.0; others clamp to their supported range at runtime). Optional — uses the provider's default when not set.",
|
|
1975
|
+
"maximum": 2,
|
|
1976
|
+
"type": "number"
|
|
1977
|
+
},
|
|
1978
|
+
"timeout": {
|
|
1979
|
+
"description": "Timeout for the LLM call in seconds. Max: 600 (10 minutes). Optional — unset (0) leaves the call bounded by the runner's activity timeout. When set, the runner bounds the provider request at this budget and a breach fails the task with LLM_TIMEOUT (non-retryable — catchable with try/catch); the activity timeout widens to fit (#686). Unset (0) is valid: proto3 implicit presence makes an omitted field indistinguishable from 0, so the range rule must not fire on it (#673).",
|
|
1980
|
+
"maximum": 600,
|
|
1981
|
+
"minimum": 1,
|
|
1982
|
+
"type": "integer"
|
|
1983
|
+
}
|
|
1984
|
+
},
|
|
1985
|
+
"required": [
|
|
1986
|
+
"model",
|
|
1987
|
+
"prompt"
|
|
1988
|
+
],
|
|
1989
|
+
"title": "LlmCallTaskConfig",
|
|
1990
|
+
"type": "object"
|
|
1991
|
+
},
|
|
1992
|
+
"outputJsonSchema": {
|
|
1993
|
+
"description": "LLM response — structured JSON if response_schema is set, raw text otherwise.",
|
|
1994
|
+
"properties": {
|
|
1995
|
+
"structured": {
|
|
1996
|
+
"description": "Validated JSON output (when response_schema is configured).",
|
|
1997
|
+
"type": "object"
|
|
1998
|
+
},
|
|
1999
|
+
"text": {
|
|
2000
|
+
"description": "Raw text response from the LLM.",
|
|
2001
|
+
"type": "string"
|
|
2002
|
+
}
|
|
2003
|
+
},
|
|
2004
|
+
"type": "object"
|
|
2005
|
+
},
|
|
2006
|
+
"yamlExamples": [
|
|
2007
|
+
"- name: classify_severity\n kind: llm_call\n task_config:\n model: \"gpt-4o-mini\"\n system_prompt: \"You are a support ticket classifier.\"\n prompt: \"Classify this ticket: ${ $context.ticket.description }\"\n response_schema:\n type: object\n required: [severity, category]\n properties:\n severity:\n type: string\n enum: [low, medium, high, critical]\n category:\n type: string\n on_invalid: ON_INVALID_RETRY\n max_retries: 2\n export:\n as: \"${ . }\"\n",
|
|
2008
|
+
"- name: summarize\n kind: llm_call\n task_config:\n model: \"claude-sonnet-4-5\"\n prompt: \"Summarize in 2 sentences: ${ $context.document.text }\"\n temperature: 0.3\n max_tokens: 200\n export:\n as: \"${ . }\"\n"
|
|
2009
|
+
],
|
|
2010
|
+
"documentationUrl": "/docs/guides/workflows/task-types/llm-call",
|
|
2011
|
+
"isAiNative": true,
|
|
2012
|
+
"requiresExternalService": true
|
|
2013
|
+
},
|
|
2014
|
+
{
|
|
2015
|
+
"kind": "transform",
|
|
2016
|
+
"displayName": "Transform",
|
|
2017
|
+
"description": "Deterministic data transformation using JQ, JSONata, or template engines.",
|
|
2018
|
+
"category": "data",
|
|
2019
|
+
"icon": "shuffle",
|
|
2020
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.TransformTaskConfig",
|
|
2021
|
+
"fields": [
|
|
2022
|
+
{
|
|
2023
|
+
"name": "engine",
|
|
2024
|
+
"displayName": "Engine",
|
|
2025
|
+
"description": "Transformation engine to use. Required — must be explicitly set (not UNSPECIFIED).",
|
|
2026
|
+
"type": "enum",
|
|
2027
|
+
"required": true,
|
|
2028
|
+
"enumValues": [
|
|
2029
|
+
"TRANSFORM_ENGINE_JQ",
|
|
2030
|
+
"TRANSFORM_ENGINE_JSONATA",
|
|
2031
|
+
"TRANSFORM_ENGINE_TEMPLATE"
|
|
2032
|
+
],
|
|
2033
|
+
"groupId": "core",
|
|
2034
|
+
"fieldNumber": 1,
|
|
2035
|
+
"validationHints": [
|
|
2036
|
+
"required"
|
|
2037
|
+
]
|
|
2038
|
+
},
|
|
2039
|
+
{
|
|
2040
|
+
"name": "expression",
|
|
2041
|
+
"displayName": "Expression",
|
|
2042
|
+
"description": "Transformation expression in the chosen engine's syntax. For JQ: a JQ filter expression (e.g., '{name: .full_name}') For JSONata: a JSONata expression (e.g., '{\"name\": full_name}') For TEMPLATE: a Go text/template string with {{ }} placeholders Required field.",
|
|
2043
|
+
"type": "string",
|
|
2044
|
+
"required": true,
|
|
2045
|
+
"groupId": "core",
|
|
2046
|
+
"fieldNumber": 2,
|
|
2047
|
+
"validationHints": [
|
|
2048
|
+
"required",
|
|
2049
|
+
"min_length: 1"
|
|
2050
|
+
]
|
|
2051
|
+
},
|
|
2052
|
+
{
|
|
2053
|
+
"name": "input",
|
|
2054
|
+
"displayName": "Input",
|
|
2055
|
+
"description": "Expression selecting the input data for the transformation. Supports ${ } expression interpolation. When omitted, the entire workflow context is used as input. Example: \"${ $context.triage }\" to transform just the triage output.",
|
|
2056
|
+
"type": "string",
|
|
2057
|
+
"required": false,
|
|
2058
|
+
"isExpression": true,
|
|
2059
|
+
"groupId": "core",
|
|
2060
|
+
"fieldNumber": 3
|
|
2061
|
+
}
|
|
2062
|
+
],
|
|
2063
|
+
"fieldGroups": [
|
|
2064
|
+
{
|
|
2065
|
+
"id": "core",
|
|
2066
|
+
"displayName": "Transformation"
|
|
2067
|
+
}
|
|
2068
|
+
],
|
|
2069
|
+
"configJsonSchema": {
|
|
2070
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2071
|
+
"additionalProperties": false,
|
|
2072
|
+
"properties": {
|
|
2073
|
+
"engine": {
|
|
2074
|
+
"description": "Transformation engine to use. Required — must be explicitly set (not UNSPECIFIED).",
|
|
2075
|
+
"enum": [
|
|
2076
|
+
"TRANSFORM_ENGINE_JQ",
|
|
2077
|
+
"TRANSFORM_ENGINE_JSONATA",
|
|
2078
|
+
"TRANSFORM_ENGINE_TEMPLATE"
|
|
2079
|
+
],
|
|
2080
|
+
"type": "string"
|
|
2081
|
+
},
|
|
2082
|
+
"expression": {
|
|
2083
|
+
"description": "Transformation expression in the chosen engine's syntax. For JQ: a JQ filter expression (e.g., '{name: .full_name}') For JSONata: a JSONata expression (e.g., '{\"name\": full_name}') For TEMPLATE: a Go text/template string with {{ }} placeholders Required field.",
|
|
2084
|
+
"minLength": 1,
|
|
2085
|
+
"type": "string"
|
|
2086
|
+
},
|
|
2087
|
+
"input": {
|
|
2088
|
+
"description": "Expression selecting the input data for the transformation. Supports ${ } expression interpolation. When omitted, the entire workflow context is used as input. Example: \"${ $context.triage }\" to transform just the triage output.",
|
|
2089
|
+
"type": "string"
|
|
2090
|
+
}
|
|
2091
|
+
},
|
|
2092
|
+
"required": [
|
|
2093
|
+
"engine",
|
|
2094
|
+
"expression"
|
|
2095
|
+
],
|
|
2096
|
+
"title": "TransformTaskConfig",
|
|
2097
|
+
"type": "object"
|
|
2098
|
+
},
|
|
2099
|
+
"outputJsonSchema": {
|
|
2100
|
+
"description": "Result of applying the transformation expression to the input data.",
|
|
2101
|
+
"type": "object"
|
|
2102
|
+
},
|
|
2103
|
+
"yamlExamples": [
|
|
2104
|
+
"- name: build_api_payload\n kind: transform\n task_config:\n engine: TRANSFORM_ENGINE_JQ\n expression: '{name: .customer.full_name, severity: .triage.severity, summary: .agent_analysis.structured.summary}'\n input: \"${ $context }\"\n export:\n as: \"${ . }\"\n",
|
|
2105
|
+
"- name: render_message\n kind: transform\n task_config:\n engine: TRANSFORM_ENGINE_TEMPLATE\n expression: \"Ticket {{ .ticket_id }} classified as {{ .severity }}\"\n input: \"${ $context.build_api_payload }\"\n export:\n as: \"${ . }\"\n"
|
|
2106
|
+
],
|
|
2107
|
+
"documentationUrl": "/docs/guides/workflows/task-types/transform",
|
|
2108
|
+
"isAiNative": false,
|
|
2109
|
+
"requiresExternalService": false
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
"kind": "human_input",
|
|
2113
|
+
"displayName": "Human Input",
|
|
2114
|
+
"description": "Workflow-level approval gate that pauses execution for human review or input.",
|
|
2115
|
+
"category": "governance",
|
|
2116
|
+
"icon": "user-check",
|
|
2117
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.HumanInputTaskConfig",
|
|
2118
|
+
"fields": [
|
|
2119
|
+
{
|
|
2120
|
+
"name": "prompt",
|
|
2121
|
+
"displayName": "Prompt",
|
|
2122
|
+
"description": "Message shown to the reviewer explaining what needs approval or input. Supports ${ } expression interpolation for injecting workflow context. Example: \"Approve escalation for ticket ${ $context.ticket.id }?\"",
|
|
2123
|
+
"type": "string",
|
|
2124
|
+
"required": true,
|
|
2125
|
+
"isExpression": true,
|
|
2126
|
+
"groupId": "core",
|
|
2127
|
+
"fieldNumber": 1,
|
|
2128
|
+
"validationHints": [
|
|
2129
|
+
"required",
|
|
2130
|
+
"min_length: 1"
|
|
2131
|
+
]
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
"name": "form_schema",
|
|
2135
|
+
"displayName": "Form Schema",
|
|
2136
|
+
"description": "JSON Schema defining the input form rendered to the reviewer. When set, the approval UI renders a typed form based on this schema. The reviewer's form response is validated against the schema before the task completes, and the validated data appears in the task output under the \"form_data\" key. When not set, the reviewer sees only the outcome buttons (approve/deny or custom outcomes) without a data entry form. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema and LlmCallTaskConfig.response_schema.",
|
|
2137
|
+
"type": "struct",
|
|
2138
|
+
"required": false,
|
|
2139
|
+
"groupId": "form",
|
|
2140
|
+
"fieldNumber": 2
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
"name": "outcomes",
|
|
2144
|
+
"displayName": "Outcomes",
|
|
2145
|
+
"description": "Named outcomes that the reviewer can select. Each outcome represents a decision the reviewer can make, with optional routing to a different downstream task. This enables rich branching beyond binary approve/deny. When empty, the task defaults to binary behavior: - \"approve\": task completes, workflow continues to next task - \"deny\": task fails (enters try_catch or EXECUTION_FAILED) When custom outcomes are defined, the first outcome is used as the default for HUMAN_INPUT_TIMEOUT_APPROVE, and the last outcome is used as the default for HUMAN_INPUT_TIMEOUT_DENY.",
|
|
2146
|
+
"type": "repeated",
|
|
2147
|
+
"required": false,
|
|
2148
|
+
"groupId": "core",
|
|
2149
|
+
"fieldNumber": 3,
|
|
2150
|
+
"elementType": "HumanInputOutcome"
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
"name": "approvers",
|
|
2154
|
+
"displayName": "Approvers",
|
|
2155
|
+
"description": "Approver identifiers — who is allowed to respond to this task. Supports user IDs, team slugs, and role names. Format examples: - \"user:jane@acme.com\" — specific user - \"team:engineering-leads\" — any member of the team - \"role:content-admin\" — any user with the role When empty, any authenticated user can respond. Resolution of these identifiers is a runtime concern (T13).",
|
|
2156
|
+
"type": "repeated",
|
|
2157
|
+
"required": false,
|
|
2158
|
+
"groupId": "access",
|
|
2159
|
+
"fieldNumber": 4,
|
|
2160
|
+
"elementType": "string"
|
|
2161
|
+
},
|
|
2162
|
+
{
|
|
2163
|
+
"name": "timeout",
|
|
2164
|
+
"displayName": "Timeout",
|
|
2165
|
+
"description": "Timeout in seconds before the on_timeout policy applies. Default: 0 (no timeout — the task waits indefinitely). Max: 2592000 (30 days). A timeout of 0 means the workflow will wait until a human responds. For production workflows, setting a timeout with an appropriate on_timeout policy is strongly recommended.",
|
|
2166
|
+
"type": "int32",
|
|
2167
|
+
"required": false,
|
|
2168
|
+
"groupId": "timeout",
|
|
2169
|
+
"fieldNumber": 5,
|
|
2170
|
+
"validationHints": [
|
|
2171
|
+
"max: 2592000"
|
|
2172
|
+
]
|
|
2173
|
+
},
|
|
2174
|
+
{
|
|
2175
|
+
"name": "on_timeout",
|
|
2176
|
+
"displayName": "On Timeout",
|
|
2177
|
+
"description": "Policy applied when the timeout expires without a response. Only meaningful when timeout \u003e 0; ignored when timeout is 0. Default: HUMAN_INPUT_TIMEOUT_FAIL (task fails with timeout error).",
|
|
2178
|
+
"type": "enum",
|
|
2179
|
+
"required": false,
|
|
2180
|
+
"enumValues": [
|
|
2181
|
+
"HUMAN_INPUT_TIMEOUT_FAIL",
|
|
2182
|
+
"HUMAN_INPUT_TIMEOUT_APPROVE",
|
|
2183
|
+
"HUMAN_INPUT_TIMEOUT_DENY",
|
|
2184
|
+
"HUMAN_INPUT_TIMEOUT_ESCALATE"
|
|
2185
|
+
],
|
|
2186
|
+
"groupId": "timeout",
|
|
2187
|
+
"fieldNumber": 6
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
"name": "notification_channels",
|
|
2191
|
+
"displayName": "Notification Channels",
|
|
2192
|
+
"description": "Channel identifiers for sending approval request notifications. When the task starts, the runtime sends notifications through these channels to alert potential approvers. Format examples: - \"slack:#approvals\" — Slack channel - \"email:ops@acme.com\" — email address - \"teams:#incident-response\" — Microsoft Teams channel The format and routing of notifications is a runtime concern (T13). The proto carries the identifiers; the runtime resolves them to actual notification providers configured in the workflow instance's environment.",
|
|
2193
|
+
"type": "repeated",
|
|
2194
|
+
"required": false,
|
|
2195
|
+
"groupId": "access",
|
|
2196
|
+
"fieldNumber": 7,
|
|
2197
|
+
"elementType": "string"
|
|
2198
|
+
},
|
|
2199
|
+
{
|
|
2200
|
+
"name": "payload",
|
|
2201
|
+
"displayName": "Payload",
|
|
2202
|
+
"description": "Structured material for the reviewer to examine before deciding. Supports ${ } expression interpolation: the whole value can be a single expression string (\"${ $context.draft_revision }\") or an inline object/array whose nested strings carry embedded expressions. The runtime resolves expressions when the gate activates and attaches the resolved payload to the approval_requested event, so the approval record is permanently bound to exactly what the reviewer saw. Distinct from prompt (the instruction to the reviewer) and form_schema (the shape of the reviewer's response): payload is the thing under review — an article diff, a proposed record set, a generated plan.",
|
|
2203
|
+
"type": "value",
|
|
2204
|
+
"required": false,
|
|
2205
|
+
"fieldNumber": 8
|
|
2206
|
+
},
|
|
2207
|
+
{
|
|
2208
|
+
"name": "ui_hint",
|
|
2209
|
+
"displayName": "Ui Hint",
|
|
2210
|
+
"description": "Hint identifying which UI should present the payload. A plain discriminator string (e.g. \"article-diff\", \"infra-proposal\") that embedding applications match against their registered review renderers. When no renderer is registered for the hint — or the gate is viewed from a surface without custom renderers (CLI, plain console) — the payload is shown as structured data by the built-in approval card, so workflows stay portable across surfaces.",
|
|
2211
|
+
"type": "string",
|
|
2212
|
+
"required": false,
|
|
2213
|
+
"fieldNumber": 9,
|
|
2214
|
+
"validationHints": [
|
|
2215
|
+
"max_length: 63"
|
|
2216
|
+
]
|
|
2217
|
+
}
|
|
2218
|
+
],
|
|
2219
|
+
"fieldGroups": [
|
|
2220
|
+
{
|
|
2221
|
+
"id": "core",
|
|
2222
|
+
"displayName": "Prompt \u0026 Outcomes"
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"id": "form",
|
|
2226
|
+
"displayName": "Input Form"
|
|
2227
|
+
},
|
|
2228
|
+
{
|
|
2229
|
+
"id": "access",
|
|
2230
|
+
"displayName": "Access \u0026 Routing"
|
|
2231
|
+
},
|
|
2232
|
+
{
|
|
2233
|
+
"id": "timeout",
|
|
2234
|
+
"displayName": "Timeout Policy"
|
|
2235
|
+
}
|
|
2236
|
+
],
|
|
2237
|
+
"configJsonSchema": {
|
|
2238
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2239
|
+
"additionalProperties": false,
|
|
2240
|
+
"properties": {
|
|
2241
|
+
"approvers": {
|
|
2242
|
+
"description": "Approver identifiers — who is allowed to respond to this task. Supports user IDs, team slugs, and role names. Format examples: - \"user:jane@acme.com\" — specific user - \"team:engineering-leads\" — any member of the team - \"role:content-admin\" — any user with the role When empty, any authenticated user can respond. Resolution of these identifiers is a runtime concern (T13).",
|
|
2243
|
+
"items": {
|
|
2244
|
+
"type": "string"
|
|
2245
|
+
},
|
|
2246
|
+
"type": "array"
|
|
2247
|
+
},
|
|
2248
|
+
"form_schema": {
|
|
2249
|
+
"description": "JSON Schema defining the input form rendered to the reviewer. When set, the approval UI renders a typed form based on this schema. The reviewer's form response is validated against the schema before the task completes, and the validated data appears in the task output under the \"form_data\" key. When not set, the reviewer sees only the outcome buttons (approve/deny or custom outcomes) without a data entry form. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema and LlmCallTaskConfig.response_schema.",
|
|
2250
|
+
"type": "object"
|
|
2251
|
+
},
|
|
2252
|
+
"notification_channels": {
|
|
2253
|
+
"description": "Channel identifiers for sending approval request notifications. When the task starts, the runtime sends notifications through these channels to alert potential approvers. Format examples: - \"slack:#approvals\" — Slack channel - \"email:ops@acme.com\" — email address - \"teams:#incident-response\" — Microsoft Teams channel The format and routing of notifications is a runtime concern (T13). The proto carries the identifiers; the runtime resolves them to actual notification providers configured in the workflow instance's environment.",
|
|
2254
|
+
"items": {
|
|
2255
|
+
"type": "string"
|
|
2256
|
+
},
|
|
2257
|
+
"type": "array"
|
|
2258
|
+
},
|
|
2259
|
+
"on_timeout": {
|
|
2260
|
+
"description": "Policy applied when the timeout expires without a response. Only meaningful when timeout \u003e 0; ignored when timeout is 0. Default: HUMAN_INPUT_TIMEOUT_FAIL (task fails with timeout error).",
|
|
2261
|
+
"enum": [
|
|
2262
|
+
"HUMAN_INPUT_TIMEOUT_FAIL",
|
|
2263
|
+
"HUMAN_INPUT_TIMEOUT_APPROVE",
|
|
2264
|
+
"HUMAN_INPUT_TIMEOUT_DENY",
|
|
2265
|
+
"HUMAN_INPUT_TIMEOUT_ESCALATE"
|
|
2266
|
+
],
|
|
2267
|
+
"type": "string"
|
|
2268
|
+
},
|
|
2269
|
+
"outcomes": {
|
|
2270
|
+
"description": "Named outcomes that the reviewer can select. Each outcome represents a decision the reviewer can make, with optional routing to a different downstream task. This enables rich branching beyond binary approve/deny. When empty, the task defaults to binary behavior: - \"approve\": task completes, workflow continues to next task - \"deny\": task fails (enters try_catch or EXECUTION_FAILED) When custom outcomes are defined, the first outcome is used as the default for HUMAN_INPUT_TIMEOUT_APPROVE, and the last outcome is used as the default for HUMAN_INPUT_TIMEOUT_DENY.",
|
|
2271
|
+
"items": {
|
|
2272
|
+
"additionalProperties": false,
|
|
2273
|
+
"properties": {
|
|
2274
|
+
"label": {
|
|
2275
|
+
"description": "Human-readable label for the button/action in the approval UI. When empty, the UI displays the capitalized name. Examples: \"Approve Escalation\", \"Reject — Not Customer-Impacting\"",
|
|
2276
|
+
"type": "string"
|
|
2277
|
+
},
|
|
2278
|
+
"name": {
|
|
2279
|
+
"description": "Outcome identifier used in task output and routing. Examples: \"approve\", \"deny\", \"needs_revision\", \"escalate\", \"defer\" Must be unique within the outcomes list.",
|
|
2280
|
+
"maxLength": 63,
|
|
2281
|
+
"minLength": 1,
|
|
2282
|
+
"type": "string"
|
|
2283
|
+
},
|
|
2284
|
+
"then": {
|
|
2285
|
+
"description": "Task to branch to when this outcome is selected. Must reference a valid task name in the same workflow. When empty, the workflow continues to the next task in sequence.",
|
|
2286
|
+
"type": "string"
|
|
2287
|
+
}
|
|
2288
|
+
},
|
|
2289
|
+
"required": [
|
|
2290
|
+
"name"
|
|
2291
|
+
],
|
|
2292
|
+
"type": "object"
|
|
2293
|
+
},
|
|
2294
|
+
"type": "array"
|
|
2295
|
+
},
|
|
2296
|
+
"payload": {
|
|
2297
|
+
"description": "Structured material for the reviewer to examine before deciding. Supports ${ } expression interpolation: the whole value can be a single expression string (\"${ $context.draft_revision }\") or an inline object/array whose nested strings carry embedded expressions. The runtime resolves expressions when the gate activates and attaches the resolved payload to the approval_requested event, so the approval record is permanently bound to exactly what the reviewer saw. Distinct from prompt (the instruction to the reviewer) and form_schema (the shape of the reviewer's response): payload is the thing under review — an article diff, a proposed record set, a generated plan."
|
|
2298
|
+
},
|
|
2299
|
+
"prompt": {
|
|
2300
|
+
"description": "Message shown to the reviewer explaining what needs approval or input. Supports ${ } expression interpolation for injecting workflow context. Example: \"Approve escalation for ticket ${ $context.ticket.id }?\"",
|
|
2301
|
+
"minLength": 1,
|
|
2302
|
+
"type": "string"
|
|
2303
|
+
},
|
|
2304
|
+
"timeout": {
|
|
2305
|
+
"description": "Timeout in seconds before the on_timeout policy applies. Default: 0 (no timeout — the task waits indefinitely). Max: 2592000 (30 days). A timeout of 0 means the workflow will wait until a human responds. For production workflows, setting a timeout with an appropriate on_timeout policy is strongly recommended.",
|
|
2306
|
+
"maximum": 2592000,
|
|
2307
|
+
"type": "integer"
|
|
2308
|
+
},
|
|
2309
|
+
"ui_hint": {
|
|
2310
|
+
"description": "Hint identifying which UI should present the payload. A plain discriminator string (e.g. \"article-diff\", \"infra-proposal\") that embedding applications match against their registered review renderers. When no renderer is registered for the hint — or the gate is viewed from a surface without custom renderers (CLI, plain console) — the payload is shown as structured data by the built-in approval card, so workflows stay portable across surfaces.",
|
|
2311
|
+
"maxLength": 63,
|
|
2312
|
+
"type": "string"
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
"required": [
|
|
2316
|
+
"prompt"
|
|
2317
|
+
],
|
|
2318
|
+
"title": "HumanInputTaskConfig",
|
|
2319
|
+
"type": "object"
|
|
2320
|
+
},
|
|
2321
|
+
"outputJsonSchema": {
|
|
2322
|
+
"description": "Reviewer response including selected outcome and form data.",
|
|
2323
|
+
"properties": {
|
|
2324
|
+
"form_data": {
|
|
2325
|
+
"description": "Validated form response (when form_schema is configured).",
|
|
2326
|
+
"type": "object"
|
|
2327
|
+
},
|
|
2328
|
+
"outcome": {
|
|
2329
|
+
"description": "Selected outcome name (e.g., 'approve', 'deny', 'needs_revision').",
|
|
2330
|
+
"type": "string"
|
|
2331
|
+
},
|
|
2332
|
+
"responded_at": {
|
|
2333
|
+
"description": "ISO 8601 timestamp of the response.",
|
|
2334
|
+
"type": "string"
|
|
2335
|
+
},
|
|
2336
|
+
"reviewer": {
|
|
2337
|
+
"description": "Identity of the user who responded.",
|
|
2338
|
+
"type": "string"
|
|
2339
|
+
}
|
|
2340
|
+
},
|
|
2341
|
+
"type": "object"
|
|
2342
|
+
},
|
|
2343
|
+
"yamlExamples": [
|
|
2344
|
+
"- name: manager_approval\n kind: human_input\n task_config:\n prompt: \"Approve escalation for ${ $context.triage.severity } incident?\"\n form_schema:\n type: object\n properties:\n notes:\n type: string\n description: \"Optional notes for the engineering team\"\n priority_override:\n type: string\n enum: [P1, P2, P3]\n outcomes:\n - name: approve\n label: \"Approve Escalation\"\n - name: deny\n label: \"Reject\"\n then: re_classify\n approvers:\n - \"team:engineering-leads\"\n timeout: 86400\n on_timeout: HUMAN_INPUT_TIMEOUT_DENY\n notification_channels:\n - \"slack:#incident-approvals\"\n export:\n as: \"${ . }\"\n",
|
|
2345
|
+
"- name: release_signoff\n kind: human_input\n task_config:\n prompt: \"Sign off on the ${ $context.release.version } release?\"\n outcomes:\n - name: ship\n label: \"Ship It\"\n - name: escalate\n label: \"Escalate to On-Call Lead\"\n then: page_oncall_lead\n - name: hold\n label: \"Hold the Release\"\n then: end\n approvers:\n - \"team:release-managers\"\n timeout: 3600\n on_timeout: HUMAN_INPUT_TIMEOUT_ESCALATE\n export:\n as: \"${ . }\"\n"
|
|
2346
|
+
],
|
|
2347
|
+
"documentationUrl": "/docs/guides/workflows/task-types/human-input",
|
|
2348
|
+
"isAiNative": false,
|
|
2349
|
+
"requiresExternalService": false
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
"kind": "validate",
|
|
2353
|
+
"displayName": "Validate",
|
|
2354
|
+
"description": "Schema and business-rule validation checkpoint for workflow data.",
|
|
2355
|
+
"category": "data",
|
|
2356
|
+
"icon": "check-circle",
|
|
2357
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.ValidateTaskConfig",
|
|
2358
|
+
"fields": [
|
|
2359
|
+
{
|
|
2360
|
+
"name": "input",
|
|
2361
|
+
"displayName": "Input",
|
|
2362
|
+
"description": "Expression selecting the data to validate. Supports ${ } expression interpolation. Example: \"${ $context.triage }\" to validate the triage task's output.",
|
|
2363
|
+
"type": "string",
|
|
2364
|
+
"required": true,
|
|
2365
|
+
"isExpression": true,
|
|
2366
|
+
"groupId": "core",
|
|
2367
|
+
"fieldNumber": 1,
|
|
2368
|
+
"validationHints": [
|
|
2369
|
+
"required",
|
|
2370
|
+
"min_length: 1"
|
|
2371
|
+
]
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
"name": "schema",
|
|
2375
|
+
"displayName": "Schema",
|
|
2376
|
+
"description": "JSON Schema to validate the input data against. Standard JSON Schema (draft 2020-12 or compatible). The runtime validates the input data against this schema and reports detailed errors for any constraint violations. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema, LlmCallTaskConfig.response_schema, and HumanInputTaskConfig.form_schema. At least one of schema or rules must be set.",
|
|
2377
|
+
"type": "struct",
|
|
2378
|
+
"required": false,
|
|
2379
|
+
"groupId": "schema",
|
|
2380
|
+
"fieldNumber": 2
|
|
2381
|
+
},
|
|
2382
|
+
{
|
|
2383
|
+
"name": "rules",
|
|
2384
|
+
"displayName": "Rules",
|
|
2385
|
+
"description": "Business rules to evaluate against the input data. Each rule is a boolean expression that must evaluate to true. Rules complement schema validation by expressing constraints that JSON Schema cannot: cross-field dependencies, conditional requirements, and domain-specific invariants. At least one of schema or rules must be set.",
|
|
2386
|
+
"type": "repeated",
|
|
2387
|
+
"required": false,
|
|
2388
|
+
"groupId": "rules",
|
|
2389
|
+
"fieldNumber": 3,
|
|
2390
|
+
"elementType": "ValidationRule"
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"name": "on_fail",
|
|
2394
|
+
"displayName": "On Fail",
|
|
2395
|
+
"description": "Policy applied when validation fails. Default: VALIDATION_FAIL_RAISE (task fails with validation error).",
|
|
2396
|
+
"type": "enum",
|
|
2397
|
+
"required": false,
|
|
2398
|
+
"enumValues": [
|
|
2399
|
+
"VALIDATION_FAIL_RAISE",
|
|
2400
|
+
"VALIDATION_FAIL_BRANCH",
|
|
2401
|
+
"VALIDATION_FAIL_WARN"
|
|
2402
|
+
],
|
|
2403
|
+
"groupId": "policy",
|
|
2404
|
+
"fieldNumber": 4
|
|
2405
|
+
},
|
|
2406
|
+
{
|
|
2407
|
+
"name": "fallback_task",
|
|
2408
|
+
"displayName": "Fallback Task",
|
|
2409
|
+
"description": "Target task to branch to when on_fail is VALIDATION_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is VALIDATION_FAIL_BRANCH; ignored otherwise. When on_fail is BRANCH and fallback_task is empty, the task fails.",
|
|
2410
|
+
"type": "string",
|
|
2411
|
+
"required": false,
|
|
2412
|
+
"groupId": "policy",
|
|
2413
|
+
"fieldNumber": 5
|
|
2414
|
+
}
|
|
2415
|
+
],
|
|
2416
|
+
"fieldGroups": [
|
|
2417
|
+
{
|
|
2418
|
+
"id": "core",
|
|
2419
|
+
"displayName": "Validation Target"
|
|
2420
|
+
},
|
|
2421
|
+
{
|
|
2422
|
+
"id": "schema",
|
|
2423
|
+
"displayName": "Schema Validation"
|
|
2424
|
+
},
|
|
2425
|
+
{
|
|
2426
|
+
"id": "rules",
|
|
2427
|
+
"displayName": "Business Rules"
|
|
2428
|
+
},
|
|
2429
|
+
{
|
|
2430
|
+
"id": "policy",
|
|
2431
|
+
"displayName": "Failure Policy"
|
|
2432
|
+
}
|
|
2433
|
+
],
|
|
2434
|
+
"configJsonSchema": {
|
|
2435
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2436
|
+
"additionalProperties": false,
|
|
2437
|
+
"properties": {
|
|
2438
|
+
"fallback_task": {
|
|
2439
|
+
"description": "Target task to branch to when on_fail is VALIDATION_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is VALIDATION_FAIL_BRANCH; ignored otherwise. When on_fail is BRANCH and fallback_task is empty, the task fails.",
|
|
2440
|
+
"type": "string"
|
|
2441
|
+
},
|
|
2442
|
+
"input": {
|
|
2443
|
+
"description": "Expression selecting the data to validate. Supports ${ } expression interpolation. Example: \"${ $context.triage }\" to validate the triage task's output.",
|
|
2444
|
+
"minLength": 1,
|
|
2445
|
+
"type": "string"
|
|
2446
|
+
},
|
|
2447
|
+
"on_fail": {
|
|
2448
|
+
"description": "Policy applied when validation fails. Default: VALIDATION_FAIL_RAISE (task fails with validation error).",
|
|
2449
|
+
"enum": [
|
|
2450
|
+
"VALIDATION_FAIL_RAISE",
|
|
2451
|
+
"VALIDATION_FAIL_BRANCH",
|
|
2452
|
+
"VALIDATION_FAIL_WARN"
|
|
2453
|
+
],
|
|
2454
|
+
"type": "string"
|
|
2455
|
+
},
|
|
2456
|
+
"rules": {
|
|
2457
|
+
"description": "Business rules to evaluate against the input data. Each rule is a boolean expression that must evaluate to true. Rules complement schema validation by expressing constraints that JSON Schema cannot: cross-field dependencies, conditional requirements, and domain-specific invariants. At least one of schema or rules must be set.",
|
|
2458
|
+
"items": {
|
|
2459
|
+
"additionalProperties": false,
|
|
2460
|
+
"properties": {
|
|
2461
|
+
"expression": {
|
|
2462
|
+
"description": "Boolean expression that must evaluate to true for the rule to pass. Supports ${ } expression interpolation. The expression receives the validate task's input data as its context. Example: \"${ .severity != 'critical' || (.rationale != null \u0026\u0026 .rationale != '') }\"",
|
|
2463
|
+
"minLength": 1,
|
|
2464
|
+
"type": "string"
|
|
2465
|
+
},
|
|
2466
|
+
"message": {
|
|
2467
|
+
"description": "Error message included in validation output when the rule fails. Supports ${ } expression interpolation for dynamic error messages. When empty, a generic message is generated from the rule name. Example: \"Critical severity requires a rationale\"",
|
|
2468
|
+
"type": "string"
|
|
2469
|
+
},
|
|
2470
|
+
"name": {
|
|
2471
|
+
"description": "Rule identifier for error reporting and debugging. Appears in validation error output so operators can identify which specific rule failed. Examples: \"critical_needs_rationale\", \"customer_impact_requires_high_severity\"",
|
|
2472
|
+
"maxLength": 127,
|
|
2473
|
+
"minLength": 1,
|
|
2474
|
+
"type": "string"
|
|
2475
|
+
}
|
|
2476
|
+
},
|
|
2477
|
+
"required": [
|
|
2478
|
+
"name",
|
|
2479
|
+
"expression"
|
|
2480
|
+
],
|
|
2481
|
+
"type": "object"
|
|
2482
|
+
},
|
|
2483
|
+
"type": "array"
|
|
2484
|
+
},
|
|
2485
|
+
"schema": {
|
|
2486
|
+
"description": "JSON Schema to validate the input data against. Standard JSON Schema (draft 2020-12 or compatible). The runtime validates the input data against this schema and reports detailed errors for any constraint violations. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema, LlmCallTaskConfig.response_schema, and HumanInputTaskConfig.form_schema. At least one of schema or rules must be set.",
|
|
2487
|
+
"type": "object"
|
|
2488
|
+
}
|
|
2489
|
+
},
|
|
2490
|
+
"required": [
|
|
2491
|
+
"input"
|
|
2492
|
+
],
|
|
2493
|
+
"title": "ValidateTaskConfig",
|
|
2494
|
+
"type": "object"
|
|
2495
|
+
},
|
|
2496
|
+
"outputJsonSchema": {
|
|
2497
|
+
"description": "Validation result with pass/fail status and error details.",
|
|
2498
|
+
"properties": {
|
|
2499
|
+
"data": {
|
|
2500
|
+
"description": "The original input data that was validated.",
|
|
2501
|
+
"type": "object"
|
|
2502
|
+
},
|
|
2503
|
+
"errors": {
|
|
2504
|
+
"description": "List of validation errors (empty when valid is true).",
|
|
2505
|
+
"items": {
|
|
2506
|
+
"properties": {
|
|
2507
|
+
"message": {
|
|
2508
|
+
"type": "string"
|
|
2509
|
+
},
|
|
2510
|
+
"path": {
|
|
2511
|
+
"type": "string"
|
|
2512
|
+
},
|
|
2513
|
+
"rule": {
|
|
2514
|
+
"type": "string"
|
|
2515
|
+
}
|
|
2516
|
+
},
|
|
2517
|
+
"type": "object"
|
|
2518
|
+
},
|
|
2519
|
+
"type": "array"
|
|
2520
|
+
},
|
|
2521
|
+
"valid": {
|
|
2522
|
+
"description": "Whether all schema and rule validations passed.",
|
|
2523
|
+
"type": "boolean"
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
"type": "object"
|
|
2527
|
+
},
|
|
2528
|
+
"yamlExamples": [
|
|
2529
|
+
"- name: check_triage_quality\n kind: validate\n task_config:\n input: \"${ $context.triage }\"\n schema:\n type: object\n required: [severity, category, customer_impact]\n properties:\n severity:\n type: string\n enum: [low, medium, high, critical]\n category:\n type: string\n minLength: 1\n customer_impact:\n type: boolean\n rules:\n - name: critical_needs_rationale\n expression: \"${ .severity != 'critical' || (.rationale != null \u0026\u0026 .rationale != '') }\"\n message: \"Critical severity requires a rationale\"\n on_fail: VALIDATION_FAIL_BRANCH\n fallback_task: human_review\n export:\n as: \"${ . }\"\n"
|
|
2530
|
+
],
|
|
2531
|
+
"documentationUrl": "/docs/guides/workflows/task-types/validate",
|
|
2532
|
+
"isAiNative": false,
|
|
2533
|
+
"requiresExternalService": false
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
"kind": "emit_event",
|
|
2537
|
+
"displayName": "Emit Event",
|
|
2538
|
+
"description": "Publish a CloudEvents-formatted event for external consumers or other workflows.",
|
|
2539
|
+
"category": "event",
|
|
2540
|
+
"icon": "send",
|
|
2541
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.EmitEventTaskConfig",
|
|
2542
|
+
"fields": [
|
|
2543
|
+
{
|
|
2544
|
+
"name": "event",
|
|
2545
|
+
"displayName": "Event",
|
|
2546
|
+
"description": "The event specification to emit. Contains the CloudEvents envelope fields (type, source, data, subject). Required field.",
|
|
2547
|
+
"type": "message",
|
|
2548
|
+
"required": true,
|
|
2549
|
+
"groupId": "core",
|
|
2550
|
+
"fieldNumber": 1,
|
|
2551
|
+
"elementType": "EmitEventSpec",
|
|
2552
|
+
"validationHints": [
|
|
2553
|
+
"required"
|
|
2554
|
+
]
|
|
2555
|
+
},
|
|
2556
|
+
{
|
|
2557
|
+
"name": "delivery",
|
|
2558
|
+
"displayName": "Delivery",
|
|
2559
|
+
"description": "Delivery targets for the emitted event (optional). When empty, the task only constructs the CloudEvents envelope and exposes it as task output — no external delivery happens. Delivery is best-effort: a failed target never fails the task. Failures are collected into the \"delivery_errors\" array on the task output, one entry per failed target, so workflows can branch on delivery health. Each target has a 30-second timeout.",
|
|
2560
|
+
"type": "repeated",
|
|
2561
|
+
"required": false,
|
|
2562
|
+
"groupId": "delivery",
|
|
2563
|
+
"fieldNumber": 2,
|
|
2564
|
+
"elementType": "EmitDeliveryTarget"
|
|
2565
|
+
}
|
|
2566
|
+
],
|
|
2567
|
+
"fieldGroups": [
|
|
2568
|
+
{
|
|
2569
|
+
"id": "core",
|
|
2570
|
+
"displayName": "Event Specification"
|
|
2571
|
+
},
|
|
2572
|
+
{
|
|
2573
|
+
"id": "delivery",
|
|
2574
|
+
"displayName": "Delivery"
|
|
2575
|
+
}
|
|
2576
|
+
],
|
|
2577
|
+
"configJsonSchema": {
|
|
2578
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2579
|
+
"additionalProperties": false,
|
|
2580
|
+
"properties": {
|
|
2581
|
+
"delivery": {
|
|
2582
|
+
"description": "Delivery targets for the emitted event (optional). When empty, the task only constructs the CloudEvents envelope and exposes it as task output — no external delivery happens. Delivery is best-effort: a failed target never fails the task. Failures are collected into the \"delivery_errors\" array on the task output, one entry per failed target, so workflows can branch on delivery health. Each target has a 30-second timeout.",
|
|
2583
|
+
"items": {
|
|
2584
|
+
"additionalProperties": false,
|
|
2585
|
+
"properties": {
|
|
2586
|
+
"signal": {
|
|
2587
|
+
"additionalProperties": false,
|
|
2588
|
+
"description": "Signal another workflow execution's listen task.",
|
|
2589
|
+
"properties": {
|
|
2590
|
+
"execution_id": {
|
|
2591
|
+
"description": "Target workflow execution id (\"wfx_...\"), as returned by run/create. Usually flows from a prior task's output: \"${ .start_processor.execution_id }\"",
|
|
2592
|
+
"minLength": 1,
|
|
2593
|
+
"type": "string"
|
|
2594
|
+
},
|
|
2595
|
+
"signal_name": {
|
|
2596
|
+
"description": "Signal name, matching the target's listen task event id (verbatim).",
|
|
2597
|
+
"minLength": 1,
|
|
2598
|
+
"type": "string"
|
|
2599
|
+
}
|
|
2600
|
+
},
|
|
2601
|
+
"required": [
|
|
2602
|
+
"execution_id",
|
|
2603
|
+
"signal_name"
|
|
2604
|
+
],
|
|
2605
|
+
"type": "object"
|
|
2606
|
+
},
|
|
2607
|
+
"webhook": {
|
|
2608
|
+
"additionalProperties": false,
|
|
2609
|
+
"description": "POST the CloudEvents envelope to an HTTP endpoint.",
|
|
2610
|
+
"properties": {
|
|
2611
|
+
"headers": {
|
|
2612
|
+
"additionalProperties": {
|
|
2613
|
+
"type": "string"
|
|
2614
|
+
},
|
|
2615
|
+
"description": "HTTP headers to send with the POST (optional). Values can contain runtime placeholders resolved just-in-time by the runner: \"Authorization: Bearer ${.secrets.WEBHOOK_TOKEN}\" or \"${.env_vars.KEY}\". Secrets resolve inside the delivery activity and never enter workflow history.",
|
|
2616
|
+
"type": "object"
|
|
2617
|
+
},
|
|
2618
|
+
"url": {
|
|
2619
|
+
"description": "Endpoint URL to POST the event to. Can contain expressions: \"https://hooks.example.com/${ $context.tenant }\"",
|
|
2620
|
+
"minLength": 1,
|
|
2621
|
+
"type": "string"
|
|
2622
|
+
}
|
|
2623
|
+
},
|
|
2624
|
+
"required": [
|
|
2625
|
+
"url"
|
|
2626
|
+
],
|
|
2627
|
+
"type": "object"
|
|
2628
|
+
}
|
|
2629
|
+
},
|
|
2630
|
+
"type": "object"
|
|
2631
|
+
},
|
|
2632
|
+
"type": "array"
|
|
2633
|
+
},
|
|
2634
|
+
"event": {
|
|
2635
|
+
"additionalProperties": false,
|
|
2636
|
+
"description": "The event specification to emit. Contains the CloudEvents envelope fields (type, source, data, subject). Required field.",
|
|
2637
|
+
"properties": {
|
|
2638
|
+
"data": {
|
|
2639
|
+
"description": "Event payload data. Arbitrary JSON object carried as the CloudEvents data attribute. Values within the Struct can contain ${ } expressions that the runtime evaluates before emission. Unlike other Struct fields in the workflow domain (response_schema, form_schema, schema) which carry JSON Schema definitions, this field carries the actual event payload — not a schema.",
|
|
2640
|
+
"type": "object"
|
|
2641
|
+
},
|
|
2642
|
+
"source": {
|
|
2643
|
+
"description": "CloudEvents source identifier. URI or URI-reference that identifies the context in which the event happened. Supports ${ } expression interpolation. When empty, the runtime defaults to the workflow execution URI (e.g., \"/workflows/{workflow_id}/executions/{execution_id}\").",
|
|
2644
|
+
"type": "string"
|
|
2645
|
+
},
|
|
2646
|
+
"subject": {
|
|
2647
|
+
"description": "CloudEvents subject identifier. Describes the subject of the event in the context of the event producer. Supports ${ } expression interpolation. Examples: \"${ $context.ticket.id }\", \"${ $context.order.number }\"",
|
|
2648
|
+
"type": "string"
|
|
2649
|
+
},
|
|
2650
|
+
"type": {
|
|
2651
|
+
"description": "CloudEvents type identifier. A reverse-DNS string that categorizes the event for routing and filtering. Examples: \"stigmer.workflow.ticket.classified\", \"acme.order.completed\"",
|
|
2652
|
+
"maxLength": 255,
|
|
2653
|
+
"minLength": 1,
|
|
2654
|
+
"type": "string"
|
|
2655
|
+
}
|
|
2656
|
+
},
|
|
2657
|
+
"required": [
|
|
2658
|
+
"type"
|
|
2659
|
+
],
|
|
2660
|
+
"type": "object"
|
|
2661
|
+
}
|
|
2662
|
+
},
|
|
2663
|
+
"required": [
|
|
2664
|
+
"event"
|
|
2665
|
+
],
|
|
2666
|
+
"title": "EmitEventTaskConfig",
|
|
2667
|
+
"type": "object"
|
|
2668
|
+
},
|
|
2669
|
+
"outputJsonSchema": {
|
|
2670
|
+
"description": "Fully-resolved CloudEvents envelope with runtime-generated fields.",
|
|
2671
|
+
"properties": {
|
|
2672
|
+
"data": {
|
|
2673
|
+
"type": "object"
|
|
2674
|
+
},
|
|
2675
|
+
"datacontenttype": {
|
|
2676
|
+
"description": "Always 'application/json'.",
|
|
2677
|
+
"type": "string"
|
|
2678
|
+
},
|
|
2679
|
+
"delivery_errors": {
|
|
2680
|
+
"description": "Present only when at least one delivery target failed. One entry per failed target; delivery is best-effort and never fails the task.",
|
|
2681
|
+
"items": {
|
|
2682
|
+
"type": "string"
|
|
2683
|
+
},
|
|
2684
|
+
"type": "array"
|
|
2685
|
+
},
|
|
2686
|
+
"id": {
|
|
2687
|
+
"description": "Generated UUID for this event.",
|
|
2688
|
+
"type": "string"
|
|
2689
|
+
},
|
|
2690
|
+
"source": {
|
|
2691
|
+
"type": "string"
|
|
2692
|
+
},
|
|
2693
|
+
"specversion": {
|
|
2694
|
+
"description": "Always '1.0'.",
|
|
2695
|
+
"type": "string"
|
|
2696
|
+
},
|
|
2697
|
+
"subject": {
|
|
2698
|
+
"type": "string"
|
|
2699
|
+
},
|
|
2700
|
+
"time": {
|
|
2701
|
+
"description": "ISO 8601 timestamp of emission.",
|
|
2702
|
+
"type": "string"
|
|
2703
|
+
},
|
|
2704
|
+
"type": {
|
|
2705
|
+
"type": "string"
|
|
2706
|
+
}
|
|
2707
|
+
},
|
|
2708
|
+
"type": "object"
|
|
2709
|
+
},
|
|
2710
|
+
"yamlExamples": [
|
|
2711
|
+
"- name: notify_classified\n kind: emit_event\n task_config:\n event:\n type: \"stigmer.workflow.ticket.classified\"\n subject: \"${ $context.ticket.id }\"\n data:\n ticket_id: \"${ $context.ticket.id }\"\n severity: \"${ $context.triage.severity }\"\n category: \"${ $context.triage.category }\"\n export:\n as: \"${ . }\"\n",
|
|
2712
|
+
"- name: notify_downstream\n kind: emit_event\n task_config:\n event:\n type: \"acme.order.fulfilled\"\n subject: \"${ $context.order.number }\"\n data:\n order_id: \"${ $context.order.id }\"\n delivery:\n - webhook:\n url: \"https://hooks.acme.com/orders\"\n headers:\n Authorization: \"Bearer ${.secrets.ACME_HOOK_TOKEN}\"\n - signal:\n execution_id: \"${ .start_shipping.execution_id }\"\n signal_name: \"order-fulfilled\"\n"
|
|
2713
|
+
],
|
|
2714
|
+
"documentationUrl": "/docs/guides/workflows/task-types/emit-event",
|
|
2715
|
+
"isAiNative": false,
|
|
2716
|
+
"requiresExternalService": false
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
"kind": "notification",
|
|
2720
|
+
"displayName": "Notification",
|
|
2721
|
+
"description": "Send a notification to humans through a channel (Slack, email, Discord, etc.).",
|
|
2722
|
+
"category": "event",
|
|
2723
|
+
"icon": "bell",
|
|
2724
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.NotificationTaskConfig",
|
|
2725
|
+
"fields": [
|
|
2726
|
+
{
|
|
2727
|
+
"name": "channel",
|
|
2728
|
+
"displayName": "Channel",
|
|
2729
|
+
"description": "Notification channel identifier. Determines which notification provider processes this message. Common values: \"slack\", \"email\", \"discord\", \"teams\", \"webhook\" This is a string (not an enum) for extensibility — new channels can be added without proto changes. The runtime resolves the channel to its configured provider in the workflow instance's environment.",
|
|
2730
|
+
"type": "string",
|
|
2731
|
+
"required": true,
|
|
2732
|
+
"groupId": "core",
|
|
2733
|
+
"fieldNumber": 1,
|
|
2734
|
+
"validationHints": [
|
|
2735
|
+
"required",
|
|
2736
|
+
"min_length: 1",
|
|
2737
|
+
"max_length: 63"
|
|
2738
|
+
]
|
|
2739
|
+
},
|
|
2740
|
+
{
|
|
2741
|
+
"name": "recipients",
|
|
2742
|
+
"displayName": "Recipients",
|
|
2743
|
+
"description": "Recipient identifiers for the notification. Format depends on the channel: - slack: \"#channel-name\", \"@username\", or Slack user IDs - email: \"user@example.com\" - discord: \"#channel-name\", \"@role\" - teams: \"#channel-name\" - webhook: URL or webhook identifier At least one recipient is required. Individual values may contain ${ } expressions that the runtime evaluates before delivery (e.g., \"${ $context.customer.email }\").",
|
|
2744
|
+
"type": "repeated",
|
|
2745
|
+
"required": false,
|
|
2746
|
+
"groupId": "core",
|
|
2747
|
+
"fieldNumber": 2,
|
|
2748
|
+
"elementType": "string",
|
|
2749
|
+
"validationHints": [
|
|
2750
|
+
"min_items: 1"
|
|
2751
|
+
]
|
|
2752
|
+
},
|
|
2753
|
+
{
|
|
2754
|
+
"name": "subject",
|
|
2755
|
+
"displayName": "Subject",
|
|
2756
|
+
"description": "Notification subject or title. Supports ${ } expression interpolation. Used as: email subject line, Slack message title, webhook payload title. Optional — some channels (e.g., simple Slack messages) may not use it.",
|
|
2757
|
+
"type": "string",
|
|
2758
|
+
"required": false,
|
|
2759
|
+
"isExpression": true,
|
|
2760
|
+
"groupId": "core",
|
|
2761
|
+
"fieldNumber": 3
|
|
2762
|
+
},
|
|
2763
|
+
{
|
|
2764
|
+
"name": "body",
|
|
2765
|
+
"displayName": "Body",
|
|
2766
|
+
"description": "Notification body / message content. Supports ${ } expression interpolation. The primary content of the notification. Formatting depends on channel (e.g., Slack Markdown, HTML for email, plain text for SMS). When template is also set, body serves as the fallback content if the template cannot be resolved.",
|
|
2767
|
+
"type": "string",
|
|
2768
|
+
"required": true,
|
|
2769
|
+
"isExpression": true,
|
|
2770
|
+
"groupId": "core",
|
|
2771
|
+
"fieldNumber": 4,
|
|
2772
|
+
"validationHints": [
|
|
2773
|
+
"required",
|
|
2774
|
+
"min_length: 1"
|
|
2775
|
+
]
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
"name": "template",
|
|
2779
|
+
"displayName": "Template",
|
|
2780
|
+
"description": "Named template reference for rendering the notification. When set, the runtime looks up this template in the workflow instance's environment and uses it for rendering, with the workflow context as template data. The body field is used as fallback if the template cannot be resolved. Examples: \"incident-alert\", \"order-confirmation\", \"approval-request\" Template resolution and rendering is a runtime concern (T13).",
|
|
2781
|
+
"type": "string",
|
|
2782
|
+
"required": false,
|
|
2783
|
+
"groupId": "template",
|
|
2784
|
+
"fieldNumber": 5
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"name": "metadata",
|
|
2788
|
+
"displayName": "Metadata",
|
|
2789
|
+
"description": "Channel-specific metadata as key-value pairs. Provides additional configuration that varies by notification channel: - slack: {\"thread_ts\": \"...\", \"unfurl_links\": \"false\"} - email: {\"priority\": \"high\", \"reply_to\": \"...\", \"cc\": \"...\"} - webhook: {\"method\": \"POST\", \"content_type\": \"application/json\"} Values may contain ${ } expressions that the runtime evaluates before delivery.",
|
|
2790
|
+
"type": "map",
|
|
2791
|
+
"required": false,
|
|
2792
|
+
"groupId": "advanced",
|
|
2793
|
+
"fieldNumber": 6
|
|
2794
|
+
}
|
|
2795
|
+
],
|
|
2796
|
+
"fieldGroups": [
|
|
2797
|
+
{
|
|
2798
|
+
"id": "core",
|
|
2799
|
+
"displayName": "Message"
|
|
2800
|
+
},
|
|
2801
|
+
{
|
|
2802
|
+
"id": "template",
|
|
2803
|
+
"displayName": "Template"
|
|
2804
|
+
},
|
|
2805
|
+
{
|
|
2806
|
+
"id": "advanced",
|
|
2807
|
+
"displayName": "Channel Options"
|
|
2808
|
+
}
|
|
2809
|
+
],
|
|
2810
|
+
"configJsonSchema": {
|
|
2811
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
2812
|
+
"additionalProperties": false,
|
|
2813
|
+
"properties": {
|
|
2814
|
+
"body": {
|
|
2815
|
+
"description": "Notification body / message content. Supports ${ } expression interpolation. The primary content of the notification. Formatting depends on channel (e.g., Slack Markdown, HTML for email, plain text for SMS). When template is also set, body serves as the fallback content if the template cannot be resolved.",
|
|
2816
|
+
"minLength": 1,
|
|
2817
|
+
"type": "string"
|
|
2818
|
+
},
|
|
2819
|
+
"channel": {
|
|
2820
|
+
"description": "Notification channel identifier. Determines which notification provider processes this message. Common values: \"slack\", \"email\", \"discord\", \"teams\", \"webhook\" This is a string (not an enum) for extensibility — new channels can be added without proto changes. The runtime resolves the channel to its configured provider in the workflow instance's environment.",
|
|
2821
|
+
"maxLength": 63,
|
|
2822
|
+
"minLength": 1,
|
|
2823
|
+
"type": "string"
|
|
2824
|
+
},
|
|
2825
|
+
"metadata": {
|
|
2826
|
+
"additionalProperties": {
|
|
2827
|
+
"type": "string"
|
|
2828
|
+
},
|
|
2829
|
+
"description": "Channel-specific metadata as key-value pairs. Provides additional configuration that varies by notification channel: - slack: {\"thread_ts\": \"...\", \"unfurl_links\": \"false\"} - email: {\"priority\": \"high\", \"reply_to\": \"...\", \"cc\": \"...\"} - webhook: {\"method\": \"POST\", \"content_type\": \"application/json\"} Values may contain ${ } expressions that the runtime evaluates before delivery.",
|
|
2830
|
+
"type": "object"
|
|
2831
|
+
},
|
|
2832
|
+
"recipients": {
|
|
2833
|
+
"description": "Recipient identifiers for the notification. Format depends on the channel: - slack: \"#channel-name\", \"@username\", or Slack user IDs - email: \"user@example.com\" - discord: \"#channel-name\", \"@role\" - teams: \"#channel-name\" - webhook: URL or webhook identifier At least one recipient is required. Individual values may contain ${ } expressions that the runtime evaluates before delivery (e.g., \"${ $context.customer.email }\").",
|
|
2834
|
+
"items": {
|
|
2835
|
+
"type": "string"
|
|
2836
|
+
},
|
|
2837
|
+
"minItems": 1,
|
|
2838
|
+
"type": "array"
|
|
2839
|
+
},
|
|
2840
|
+
"subject": {
|
|
2841
|
+
"description": "Notification subject or title. Supports ${ } expression interpolation. Used as: email subject line, Slack message title, webhook payload title. Optional — some channels (e.g., simple Slack messages) may not use it.",
|
|
2842
|
+
"type": "string"
|
|
2843
|
+
},
|
|
2844
|
+
"template": {
|
|
2845
|
+
"description": "Named template reference for rendering the notification. When set, the runtime looks up this template in the workflow instance's environment and uses it for rendering, with the workflow context as template data. The body field is used as fallback if the template cannot be resolved. Examples: \"incident-alert\", \"order-confirmation\", \"approval-request\" Template resolution and rendering is a runtime concern (T13).",
|
|
2846
|
+
"type": "string"
|
|
2847
|
+
}
|
|
2848
|
+
},
|
|
2849
|
+
"required": [
|
|
2850
|
+
"channel",
|
|
2851
|
+
"body"
|
|
2852
|
+
],
|
|
2853
|
+
"title": "NotificationTaskConfig",
|
|
2854
|
+
"type": "object"
|
|
2855
|
+
},
|
|
2856
|
+
"outputJsonSchema": {
|
|
2857
|
+
"description": "Delivery confirmation.",
|
|
2858
|
+
"properties": {
|
|
2859
|
+
"channel": {
|
|
2860
|
+
"type": "string"
|
|
2861
|
+
},
|
|
2862
|
+
"delivered": {
|
|
2863
|
+
"type": "boolean"
|
|
2864
|
+
},
|
|
2865
|
+
"delivered_at": {
|
|
2866
|
+
"description": "ISO 8601 timestamp of delivery.",
|
|
2867
|
+
"type": "string"
|
|
2868
|
+
},
|
|
2869
|
+
"recipients": {
|
|
2870
|
+
"items": {
|
|
2871
|
+
"type": "string"
|
|
2872
|
+
},
|
|
2873
|
+
"type": "array"
|
|
2874
|
+
}
|
|
2875
|
+
},
|
|
2876
|
+
"type": "object"
|
|
2877
|
+
},
|
|
2878
|
+
"yamlExamples": [
|
|
2879
|
+
"- name: alert_slack\n kind: notification\n task_config:\n channel: \"slack\"\n recipients:\n - \"#incident-response\"\n - \"@oncall-lead\"\n subject: \"P${ $context.triage.severity } Incident: ${ $context.ticket.title }\"\n body: |\n *Severity*: ${ $context.triage.severity }\n *Category*: ${ $context.triage.category }\n *Summary*: ${ $context.agent_analysis.structured.summary }\n metadata:\n thread_ts: \"${ $context.slack_thread_id }\"\n export:\n as: \"${ . }\"\n"
|
|
2880
|
+
],
|
|
2881
|
+
"documentationUrl": "/docs/guides/workflows/task-types/notification",
|
|
2882
|
+
"isAiNative": false,
|
|
2883
|
+
"requiresExternalService": true
|
|
2884
|
+
},
|
|
2885
|
+
{
|
|
2886
|
+
"kind": "eval",
|
|
2887
|
+
"displayName": "Evaluate (LLM Judge)",
|
|
2888
|
+
"description": "Assess semantic quality, correctness, safety, or completeness of content using an LLM judge.",
|
|
2889
|
+
"category": "ai",
|
|
2890
|
+
"icon": "scale",
|
|
2891
|
+
"configProtoType": "ai.stigmer.agentic.workflow.v1.tasks.EvalTaskConfig",
|
|
2892
|
+
"fields": [
|
|
2893
|
+
{
|
|
2894
|
+
"name": "model",
|
|
2895
|
+
"displayName": "Model",
|
|
2896
|
+
"description": "LLM model used as the judge. Resolved via the Stigmer model registry. Examples: \"gpt-4o\", \"claude-sonnet-4-5\"",
|
|
2897
|
+
"type": "string",
|
|
2898
|
+
"required": true,
|
|
2899
|
+
"groupId": "core",
|
|
2900
|
+
"fieldNumber": 1,
|
|
2901
|
+
"validationHints": [
|
|
2902
|
+
"required",
|
|
2903
|
+
"min_length: 1",
|
|
2904
|
+
"max_length: 127"
|
|
2905
|
+
]
|
|
2906
|
+
},
|
|
2907
|
+
{
|
|
2908
|
+
"name": "subject",
|
|
2909
|
+
"displayName": "Subject",
|
|
2910
|
+
"description": "Expression selecting the data to evaluate. Supports ${ } expression interpolation. Example: \"${ $context.summarize.text }\" to evaluate a summary task's output.",
|
|
2911
|
+
"type": "string",
|
|
2912
|
+
"required": true,
|
|
2913
|
+
"isExpression": true,
|
|
2914
|
+
"groupId": "core",
|
|
2915
|
+
"fieldNumber": 2,
|
|
2916
|
+
"validationHints": [
|
|
2917
|
+
"required",
|
|
2918
|
+
"min_length: 1"
|
|
2919
|
+
]
|
|
2920
|
+
},
|
|
2921
|
+
{
|
|
2922
|
+
"name": "rubric",
|
|
2923
|
+
"displayName": "Rubric",
|
|
2924
|
+
"description": "Evaluation criteria in natural language. Tells the judge LLM what to assess and what \"good\" looks like. For pass_fail: describe what constitutes a pass. For numeric_score: describe the scoring scale. For multi_criteria: provide overall context (per-criterion detail goes in criteria field).",
|
|
2925
|
+
"type": "string",
|
|
2926
|
+
"required": true,
|
|
2927
|
+
"groupId": "core",
|
|
2928
|
+
"fieldNumber": 3,
|
|
2929
|
+
"validationHints": [
|
|
2930
|
+
"required",
|
|
2931
|
+
"min_length: 1"
|
|
2932
|
+
]
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"name": "scoring_mode",
|
|
2936
|
+
"displayName": "Scoring Mode",
|
|
2937
|
+
"description": "How the judge scores the subject. Default: EVAL_PASS_FAIL.",
|
|
2938
|
+
"type": "enum",
|
|
2939
|
+
"required": false,
|
|
2940
|
+
"enumValues": [
|
|
2941
|
+
"EVAL_PASS_FAIL",
|
|
2942
|
+
"EVAL_NUMERIC_SCORE",
|
|
2943
|
+
"EVAL_MULTI_CRITERIA"
|
|
2944
|
+
],
|
|
2945
|
+
"groupId": "scoring",
|
|
2946
|
+
"fieldNumber": 4
|
|
2947
|
+
},
|
|
2948
|
+
{
|
|
2949
|
+
"name": "threshold",
|
|
2950
|
+
"displayName": "Threshold",
|
|
2951
|
+
"description": "Pass threshold for numeric_score and multi_criteria modes. The subject passes if score \u003e= threshold. Ignored for pass_fail mode (the judge's binary decision is used directly). Valid range: 0.0 to 1.0. Default: 0.5.",
|
|
2952
|
+
"type": "float",
|
|
2953
|
+
"required": false,
|
|
2954
|
+
"groupId": "scoring",
|
|
2955
|
+
"fieldNumber": 5,
|
|
2956
|
+
"validationHints": [
|
|
2957
|
+
"max: 1"
|
|
2958
|
+
]
|
|
2959
|
+
},
|
|
2960
|
+
{
|
|
2961
|
+
"name": "on_fail",
|
|
2962
|
+
"displayName": "On Fail",
|
|
2963
|
+
"description": "Policy applied when the subject fails evaluation. Default: EVAL_FAIL_RAISE (task fails with evaluation error).",
|
|
2964
|
+
"type": "enum",
|
|
2965
|
+
"required": false,
|
|
2966
|
+
"enumValues": [
|
|
2967
|
+
"EVAL_FAIL_RAISE",
|
|
2968
|
+
"EVAL_FAIL_BRANCH",
|
|
2969
|
+
"EVAL_FAIL_WARN"
|
|
2970
|
+
],
|
|
2971
|
+
"groupId": "policy",
|
|
2972
|
+
"fieldNumber": 6
|
|
2973
|
+
},
|
|
2974
|
+
{
|
|
2975
|
+
"name": "fallback_task",
|
|
2976
|
+
"displayName": "Fallback Task",
|
|
2977
|
+
"description": "Target task to branch to when on_fail is EVAL_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is EVAL_FAIL_BRANCH; ignored otherwise.",
|
|
2978
|
+
"type": "string",
|
|
2979
|
+
"required": false,
|
|
2980
|
+
"groupId": "policy",
|
|
2981
|
+
"fieldNumber": 7
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
"name": "system_prompt",
|
|
2985
|
+
"displayName": "System Prompt",
|
|
2986
|
+
"description": "Optional custom system prompt override for the judge LLM. When set, replaces the auto-generated judge system prompt entirely. Use only when the default judge prompt template does not fit your needs. When empty, the runtime constructs a judge-appropriate system prompt from the rubric, scoring_mode, and criteria.",
|
|
2987
|
+
"type": "string",
|
|
2988
|
+
"required": false,
|
|
2989
|
+
"isExpression": true,
|
|
2990
|
+
"groupId": "advanced",
|
|
2991
|
+
"fieldNumber": 8
|
|
2992
|
+
},
|
|
2993
|
+
{
|
|
2994
|
+
"name": "criteria",
|
|
2995
|
+
"displayName": "Criteria",
|
|
2996
|
+
"description": "Evaluation criteria for multi_criteria mode. Required when scoring_mode is EVAL_MULTI_CRITERIA; ignored otherwise. Each criterion is scored independently, and the overall score is the weighted average (uniform if all weights are equal or zero).",
|
|
2997
|
+
"type": "repeated",
|
|
2998
|
+
"required": false,
|
|
2999
|
+
"groupId": "scoring",
|
|
3000
|
+
"fieldNumber": 9,
|
|
3001
|
+
"elementType": "EvalCriterion"
|
|
3002
|
+
},
|
|
3003
|
+
{
|
|
3004
|
+
"name": "max_cost_micros",
|
|
3005
|
+
"displayName": "Max Cost Micros",
|
|
3006
|
+
"description": "Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this eval call if its cost exceeds this limit, independent of the workflow-level budget. Optional — when 0, no per-task cost limit is enforced.",
|
|
3007
|
+
"type": "int32",
|
|
3008
|
+
"required": false,
|
|
3009
|
+
"groupId": "advanced",
|
|
3010
|
+
"fieldNumber": 10
|
|
3011
|
+
}
|
|
3012
|
+
],
|
|
3013
|
+
"fieldGroups": [
|
|
3014
|
+
{
|
|
3015
|
+
"id": "core",
|
|
3016
|
+
"displayName": "Evaluation Setup"
|
|
3017
|
+
},
|
|
3018
|
+
{
|
|
3019
|
+
"id": "scoring",
|
|
3020
|
+
"displayName": "Scoring"
|
|
3021
|
+
},
|
|
3022
|
+
{
|
|
3023
|
+
"id": "policy",
|
|
3024
|
+
"displayName": "Failure Policy"
|
|
3025
|
+
},
|
|
3026
|
+
{
|
|
3027
|
+
"id": "advanced",
|
|
3028
|
+
"displayName": "Advanced"
|
|
3029
|
+
}
|
|
3030
|
+
],
|
|
3031
|
+
"configJsonSchema": {
|
|
3032
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3033
|
+
"additionalProperties": false,
|
|
3034
|
+
"properties": {
|
|
3035
|
+
"criteria": {
|
|
3036
|
+
"description": "Evaluation criteria for multi_criteria mode. Required when scoring_mode is EVAL_MULTI_CRITERIA; ignored otherwise. Each criterion is scored independently, and the overall score is the weighted average (uniform if all weights are equal or zero).",
|
|
3037
|
+
"items": {
|
|
3038
|
+
"additionalProperties": false,
|
|
3039
|
+
"properties": {
|
|
3040
|
+
"description": {
|
|
3041
|
+
"description": "Description of what this criterion measures. Included in the judge prompt to guide the LLM's assessment. Example: \"Does the response accurately reflect the source data without hallucinations?\"",
|
|
3042
|
+
"minLength": 1,
|
|
3043
|
+
"type": "string"
|
|
3044
|
+
},
|
|
3045
|
+
"name": {
|
|
3046
|
+
"description": "Name of this evaluation dimension. Used in the judge prompt and appears in the output. Examples: \"accuracy\", \"completeness\", \"safety\", \"relevance\"",
|
|
3047
|
+
"maxLength": 127,
|
|
3048
|
+
"minLength": 1,
|
|
3049
|
+
"type": "string"
|
|
3050
|
+
},
|
|
3051
|
+
"weight": {
|
|
3052
|
+
"description": "Relative weight for computing the weighted average overall score. When all weights are equal (or all zero), criteria are averaged uniformly. Example: accuracy=3.0, formatting=1.0 means accuracy counts 3x more.",
|
|
3053
|
+
"type": "number"
|
|
3054
|
+
}
|
|
3055
|
+
},
|
|
3056
|
+
"required": [
|
|
3057
|
+
"name",
|
|
3058
|
+
"description"
|
|
3059
|
+
],
|
|
3060
|
+
"type": "object"
|
|
3061
|
+
},
|
|
3062
|
+
"type": "array"
|
|
3063
|
+
},
|
|
3064
|
+
"fallback_task": {
|
|
3065
|
+
"description": "Target task to branch to when on_fail is EVAL_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is EVAL_FAIL_BRANCH; ignored otherwise.",
|
|
3066
|
+
"type": "string"
|
|
3067
|
+
},
|
|
3068
|
+
"max_cost_micros": {
|
|
3069
|
+
"description": "Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this eval call if its cost exceeds this limit, independent of the workflow-level budget. Optional — when 0, no per-task cost limit is enforced.",
|
|
3070
|
+
"type": "integer"
|
|
3071
|
+
},
|
|
3072
|
+
"model": {
|
|
3073
|
+
"description": "LLM model used as the judge. Resolved via the Stigmer model registry. Examples: \"gpt-4o\", \"claude-sonnet-4-5\"",
|
|
3074
|
+
"maxLength": 127,
|
|
3075
|
+
"minLength": 1,
|
|
3076
|
+
"type": "string"
|
|
3077
|
+
},
|
|
3078
|
+
"on_fail": {
|
|
3079
|
+
"description": "Policy applied when the subject fails evaluation. Default: EVAL_FAIL_RAISE (task fails with evaluation error).",
|
|
3080
|
+
"enum": [
|
|
3081
|
+
"EVAL_FAIL_RAISE",
|
|
3082
|
+
"EVAL_FAIL_BRANCH",
|
|
3083
|
+
"EVAL_FAIL_WARN"
|
|
3084
|
+
],
|
|
3085
|
+
"type": "string"
|
|
3086
|
+
},
|
|
3087
|
+
"rubric": {
|
|
3088
|
+
"description": "Evaluation criteria in natural language. Tells the judge LLM what to assess and what \"good\" looks like. For pass_fail: describe what constitutes a pass. For numeric_score: describe the scoring scale. For multi_criteria: provide overall context (per-criterion detail goes in criteria field).",
|
|
3089
|
+
"minLength": 1,
|
|
3090
|
+
"type": "string"
|
|
3091
|
+
},
|
|
3092
|
+
"scoring_mode": {
|
|
3093
|
+
"description": "How the judge scores the subject. Default: EVAL_PASS_FAIL.",
|
|
3094
|
+
"enum": [
|
|
3095
|
+
"EVAL_PASS_FAIL",
|
|
3096
|
+
"EVAL_NUMERIC_SCORE",
|
|
3097
|
+
"EVAL_MULTI_CRITERIA"
|
|
3098
|
+
],
|
|
3099
|
+
"type": "string"
|
|
3100
|
+
},
|
|
3101
|
+
"subject": {
|
|
3102
|
+
"description": "Expression selecting the data to evaluate. Supports ${ } expression interpolation. Example: \"${ $context.summarize.text }\" to evaluate a summary task's output.",
|
|
3103
|
+
"minLength": 1,
|
|
3104
|
+
"type": "string"
|
|
3105
|
+
},
|
|
3106
|
+
"system_prompt": {
|
|
3107
|
+
"description": "Optional custom system prompt override for the judge LLM. When set, replaces the auto-generated judge system prompt entirely. Use only when the default judge prompt template does not fit your needs. When empty, the runtime constructs a judge-appropriate system prompt from the rubric, scoring_mode, and criteria.",
|
|
3108
|
+
"type": "string"
|
|
3109
|
+
},
|
|
3110
|
+
"threshold": {
|
|
3111
|
+
"description": "Pass threshold for numeric_score and multi_criteria modes. The subject passes if score \u003e= threshold. Ignored for pass_fail mode (the judge's binary decision is used directly). Valid range: 0.0 to 1.0. Default: 0.5.",
|
|
3112
|
+
"maximum": 1,
|
|
3113
|
+
"type": "number"
|
|
3114
|
+
}
|
|
3115
|
+
},
|
|
3116
|
+
"required": [
|
|
3117
|
+
"model",
|
|
3118
|
+
"subject",
|
|
3119
|
+
"rubric"
|
|
3120
|
+
],
|
|
3121
|
+
"title": "EvalTaskConfig",
|
|
3122
|
+
"type": "object"
|
|
3123
|
+
},
|
|
3124
|
+
"outputJsonSchema": {
|
|
3125
|
+
"description": "Evaluation result with pass/fail, score, and judge reasoning.",
|
|
3126
|
+
"properties": {
|
|
3127
|
+
"criteria": {
|
|
3128
|
+
"description": "Per-criterion scores and reasoning. Present only for multi_criteria mode.",
|
|
3129
|
+
"items": {
|
|
3130
|
+
"properties": {
|
|
3131
|
+
"name": {
|
|
3132
|
+
"type": "string"
|
|
3133
|
+
},
|
|
3134
|
+
"reasoning": {
|
|
3135
|
+
"type": "string"
|
|
3136
|
+
},
|
|
3137
|
+
"score": {
|
|
3138
|
+
"type": "number"
|
|
3139
|
+
}
|
|
3140
|
+
},
|
|
3141
|
+
"type": "object"
|
|
3142
|
+
},
|
|
3143
|
+
"type": "array"
|
|
3144
|
+
},
|
|
3145
|
+
"model_used": {
|
|
3146
|
+
"description": "The LLM model that served as judge.",
|
|
3147
|
+
"type": "string"
|
|
3148
|
+
},
|
|
3149
|
+
"pass": {
|
|
3150
|
+
"description": "Whether the subject passed evaluation.",
|
|
3151
|
+
"type": "boolean"
|
|
3152
|
+
},
|
|
3153
|
+
"reasoning": {
|
|
3154
|
+
"description": "The judge's explanation of its assessment.",
|
|
3155
|
+
"type": "string"
|
|
3156
|
+
},
|
|
3157
|
+
"score": {
|
|
3158
|
+
"description": "Numeric score (0.0-1.0). Present for numeric_score and multi_criteria modes.",
|
|
3159
|
+
"type": "number"
|
|
3160
|
+
},
|
|
3161
|
+
"subject": {
|
|
3162
|
+
"description": "The original subject data that was evaluated."
|
|
3163
|
+
}
|
|
3164
|
+
},
|
|
3165
|
+
"type": "object"
|
|
3166
|
+
},
|
|
3167
|
+
"yamlExamples": [
|
|
3168
|
+
"- name: check_summary_quality\n kind: eval\n task_config:\n model: \"gpt-4o\"\n subject: \"${ $context.summarize.text }\"\n rubric: |\n Evaluate whether this summary accurately captures the key points\n of the source document without hallucinations or omissions.\n scoring_mode: EVAL_PASS_FAIL\n on_fail: EVAL_FAIL_BRANCH\n fallback_task: regenerate_summary\n export:\n as: \"${ . }\"\n",
|
|
3169
|
+
"- name: score_translation\n kind: eval\n task_config:\n model: \"gpt-4o\"\n subject: \"${ $context.translate.text }\"\n rubric: |\n Rate the quality of this translation on accuracy, fluency,\n and preservation of meaning.\n scoring_mode: EVAL_NUMERIC_SCORE\n threshold: 0.7\n on_fail: EVAL_FAIL_WARN\n export:\n as: \"${ . }\"\n",
|
|
3170
|
+
"- name: evaluate_response\n kind: eval\n task_config:\n model: \"gpt-4o\"\n subject: \"${ $context.agent_response }\"\n rubric: \"Evaluate this customer support response.\"\n scoring_mode: EVAL_MULTI_CRITERIA\n threshold: 0.75\n criteria:\n - name: accuracy\n description: \"Is the information factually correct?\"\n weight: 3.0\n - name: helpfulness\n description: \"Does it address the customer's actual question?\"\n weight: 2.0\n - name: tone\n description: \"Is the tone professional and empathetic?\"\n weight: 1.0\n on_fail: EVAL_FAIL_RAISE\n export:\n as: \"${ . }\"\n"
|
|
3171
|
+
],
|
|
3172
|
+
"documentationUrl": "/docs/guides/workflows/task-types/eval",
|
|
3173
|
+
"isAiNative": true,
|
|
3174
|
+
"requiresExternalService": false
|
|
3175
|
+
}
|
|
3176
|
+
]
|
|
3177
|
+
}
|