stageflow 0.25.0 → 0.30.0
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/README.md +14 -3
- package/builtin-skills/browser/SKILL.md +42 -0
- package/dist/a2a/contracts.d.ts +1 -0
- package/dist/a2a/contracts.js +1 -0
- package/dist/a2a/registry.d.ts +2 -0
- package/dist/a2a/registry.js +20 -1
- package/dist/a2a/server.d.ts +7 -0
- package/dist/a2a/server.js +5 -2
- package/dist/a2a/service.d.ts +1 -1
- package/dist/a2a/service.js +57 -8
- package/dist/a2a/store.d.ts +8 -5
- package/dist/a2a/store.js +24 -67
- package/dist/agent/activity.d.ts +3 -0
- package/dist/agent/bootProviderConfig.d.ts +21 -0
- package/dist/agent/bootProviderConfig.js +74 -0
- package/dist/agent/claudeAdapter.js +2 -2
- package/dist/agent/cursorProvider.d.ts +2 -0
- package/dist/agent/cursorProvider.js +30 -5
- package/dist/agent/fakeAgent.d.ts +1 -0
- package/dist/agent/fakeAgent.js +13 -0
- package/dist/agent/piAdapter.d.ts +11 -24
- package/dist/agent/piAdapter.js +107 -50
- package/dist/agent/piIsolatedMcp.d.ts +2 -0
- package/dist/agent/piIsolatedMcp.js +10 -2
- package/dist/agent/piSessionFactory.d.ts +38 -0
- package/dist/agent/piSessionFactory.js +60 -0
- package/dist/agent/port.d.ts +8 -0
- package/dist/agent/streamLogRedact.d.ts +7 -1
- package/dist/agent/streamLogRedact.js +26 -11
- package/dist/browser/anchor.d.ts +27 -0
- package/dist/browser/anchor.js +127 -0
- package/dist/browser/auditSink.d.ts +38 -0
- package/dist/browser/auditSink.js +34 -0
- package/dist/browser/browserHost.d.ts +86 -0
- package/dist/browser/browserHost.js +7 -0
- package/dist/browser/browserSweep.d.ts +14 -0
- package/dist/browser/browserSweep.js +54 -0
- package/dist/browser/browserTeardown.d.ts +56 -0
- package/dist/browser/browserTeardown.js +235 -0
- package/dist/browser/fakeRemoteBrowserHost.d.ts +2 -0
- package/dist/browser/fakeRemoteBrowserHost.js +34 -0
- package/dist/browser/gateHandoff.d.ts +25 -0
- package/dist/browser/gateHandoff.js +83 -0
- package/dist/browser/humanLogin.d.ts +18 -0
- package/dist/browser/humanLogin.js +34 -0
- package/dist/browser/keyProvider.d.ts +10 -0
- package/dist/browser/keyProvider.js +39 -0
- package/dist/browser/localBrowserHost.d.ts +10 -0
- package/dist/browser/localBrowserHost.js +152 -0
- package/dist/browser/localProfileLock.d.ts +2 -0
- package/dist/browser/localProfileLock.js +218 -0
- package/dist/browser/localProfileStore.d.ts +5 -0
- package/dist/browser/localProfileStore.js +91 -0
- package/dist/browser/loginCheck.d.ts +53 -0
- package/dist/browser/loginCheck.js +147 -0
- package/dist/browser/memoryProfileLock.d.ts +2 -0
- package/dist/browser/memoryProfileLock.js +53 -0
- package/dist/browser/memoryProfileStore.d.ts +2 -0
- package/dist/browser/memoryProfileStore.js +31 -0
- package/dist/browser/navigationAudit.d.ts +16 -0
- package/dist/browser/navigationAudit.js +53 -0
- package/dist/browser/persistedEnv.d.ts +3 -0
- package/dist/browser/persistedEnv.js +15 -0
- package/dist/browser/profileLock.d.ts +40 -0
- package/dist/browser/profileLock.js +10 -0
- package/dist/browser/profileStore.d.ts +23 -0
- package/dist/browser/profileStore.js +39 -0
- package/dist/browser/runLiveness.d.ts +13 -0
- package/dist/browser/runLiveness.js +39 -0
- package/dist/browser/sitePolicy.d.ts +10 -0
- package/dist/browser/sitePolicy.js +61 -0
- package/dist/browser/stageBrowserEnv.d.ts +22 -0
- package/dist/browser/stageBrowserEnv.js +147 -0
- package/dist/browser/stageProfileLock.d.ts +17 -0
- package/dist/browser/stageProfileLock.js +39 -0
- package/dist/cli/artifactCommand.js +9 -16
- package/dist/cli/backupCommand.d.ts +9 -0
- package/dist/cli/backupCommand.js +111 -0
- package/dist/cli/browserCommand.d.ts +44 -0
- package/dist/cli/browserCommand.js +472 -0
- package/dist/cli/debugRunCommand.d.ts +10 -0
- package/dist/cli/debugRunCommand.js +109 -0
- package/dist/cli/doctorCommand.d.ts +32 -0
- package/dist/cli/doctorCommand.js +453 -0
- package/dist/cli/envelopeCommand.js +9 -2
- package/dist/cli/exportAllCommand.d.ts +55 -0
- package/dist/cli/exportAllCommand.js +218 -0
- package/dist/cli/exportRunCommand.js +23 -21
- package/dist/cli/hostClient.d.ts +41 -3
- package/dist/cli/hostClient.js +129 -14
- package/dist/cli/initCommand.d.ts +1 -0
- package/dist/cli/initCommand.js +23 -7
- package/dist/cli/initTemplates.d.ts +5 -2
- package/dist/cli/initTemplates.js +32 -2
- package/dist/cli/resolveSafeOutPath.d.ts +2 -0
- package/dist/cli/resolveSafeOutPath.js +40 -0
- package/dist/cli/restoreCommand.d.ts +10 -0
- package/dist/cli/restoreCommand.js +90 -0
- package/dist/cli/runCommand.d.ts +3 -2
- package/dist/cli/runCommand.js +93 -11
- package/dist/cli/runOutput.d.ts +4 -0
- package/dist/cli/runOutput.js +33 -7
- package/dist/cli/runStageCommand.d.ts +1 -0
- package/dist/cli/runStageCommand.js +44 -25
- package/dist/cli/runsCommand.d.ts +1 -1
- package/dist/cli/runsCommand.js +168 -10
- package/dist/cli/triggerCommand.d.ts +12 -0
- package/dist/cli/triggerCommand.js +183 -0
- package/dist/cli/validateCommand.d.ts +1 -1
- package/dist/cli/validateCommand.js +23 -6
- package/dist/cli.js +202 -32
- package/dist/config/browseCatalog.d.ts +1 -0
- package/dist/config/browseCatalog.js +5 -4
- package/dist/config/builtinSkills.d.ts +4 -0
- package/dist/config/builtinSkills.js +23 -0
- package/dist/config/catalogRelativePath.d.ts +63 -0
- package/dist/config/catalogRelativePath.js +126 -0
- package/dist/config/configOrigin.d.ts +27 -0
- package/dist/config/configOrigin.js +59 -0
- package/dist/config/createTrigger.d.ts +27 -0
- package/dist/config/createTrigger.js +232 -0
- package/dist/config/draftPackage.d.ts +117 -0
- package/dist/config/draftPackage.js +550 -0
- package/dist/config/ensureCatalogScanRoot.d.ts +16 -0
- package/dist/config/ensureCatalogScanRoot.js +73 -0
- package/dist/config/hostConfig.d.ts +57 -0
- package/dist/config/hostConfig.js +360 -0
- package/dist/config/listSkills.d.ts +26 -0
- package/dist/config/listSkills.js +206 -5
- package/dist/config/loadOutcome.d.ts +7 -1
- package/dist/config/loadPipeline.js +39 -2
- package/dist/config/loadStage.js +25 -0
- package/dist/config/loadStageflowManifest.js +25 -0
- package/dist/config/loadTask.d.ts +2 -0
- package/dist/config/loadTask.js +57 -18
- package/dist/config/loadTrigger.d.ts +9 -0
- package/dist/config/loadTrigger.js +120 -0
- package/dist/config/materializeStageModels.js +5 -1
- package/dist/config/mergePipelineIncludes.d.ts +3 -0
- package/dist/config/mergePipelineIncludes.js +19 -0
- package/dist/config/migrateYaml.js +6 -11
- package/dist/config/multiProjectCatalog.d.ts +32 -0
- package/dist/config/multiProjectCatalog.js +150 -0
- package/dist/config/normalizePipelineStageEntry.js +27 -1
- package/dist/config/parseCompletionContract.js +6 -0
- package/dist/config/pipelineStageKeys.js +3 -0
- package/dist/config/publishDraftPackage.d.ts +7 -0
- package/dist/config/publishDraftPackage.js +25 -0
- package/dist/config/resolveCatalogContext.js +1 -1
- package/dist/config/resolveCatalogRoots.d.ts +27 -0
- package/dist/config/resolveCatalogRoots.js +76 -0
- package/dist/config/resolveModel.d.ts +7 -1
- package/dist/config/resolveModel.js +11 -1
- package/dist/config/resolvePipelineDag.js +1 -1
- package/dist/config/resolveStageMcpServers.d.ts +9 -1
- package/dist/config/resolveStageMcpServers.js +36 -9
- package/dist/config/scanCatalogPaths.d.ts +1 -1
- package/dist/config/scanCatalogPaths.js +6 -2
- package/dist/config/secretFromEnvOrFile.d.ts +9 -0
- package/dist/config/secretFromEnvOrFile.js +34 -0
- package/dist/config/seededCatalog.d.ts +11 -0
- package/dist/config/seededCatalog.js +29 -0
- package/dist/config/stageBrowser.d.ts +12 -0
- package/dist/config/stageBrowser.js +118 -0
- package/dist/config/toolRequires.d.ts +24 -0
- package/dist/config/toolRequires.js +115 -0
- package/dist/config/triggerCatalog.d.ts +10 -0
- package/dist/config/triggerCatalog.js +37 -0
- package/dist/config/validateCatalog.d.ts +17 -3
- package/dist/config/validateCatalog.js +223 -3
- package/dist/config/validateCompletionContract.js +8 -0
- package/dist/diagnostics/checks.d.ts +39 -0
- package/dist/diagnostics/checks.js +135 -0
- package/dist/envelope/preEmitChecks.d.ts +1 -1
- package/dist/envelope/preEmitChecks.js +8 -0
- package/dist/errors/codes.d.ts +14 -0
- package/dist/errors/codes.js +59 -0
- package/dist/git/cache.d.ts +14 -0
- package/dist/git/cache.js +150 -0
- package/dist/git/credentials.d.ts +9 -0
- package/dist/git/credentials.js +88 -0
- package/dist/git/errors.d.ts +20 -0
- package/dist/git/errors.js +94 -0
- package/dist/git/exec.d.ts +16 -0
- package/dist/git/exec.js +135 -0
- package/dist/git/operations.d.ts +29 -0
- package/dist/git/operations.js +153 -0
- package/dist/git/version.d.ts +1 -0
- package/dist/git/version.js +10 -0
- package/dist/logging/audit.d.ts +16 -0
- package/dist/logging/audit.js +19 -0
- package/dist/logging/commonWords.d.ts +2 -0
- package/dist/logging/commonWords.js +13 -0
- package/dist/logging/logger.d.ts +49 -0
- package/dist/logging/logger.js +193 -0
- package/dist/logging/namedSecrets.d.ts +6 -0
- package/dist/logging/namedSecrets.js +58 -0
- package/dist/logging/redact.d.ts +17 -0
- package/dist/logging/redact.js +105 -0
- package/dist/mcp/catalogTools.js +492 -81
- package/dist/mcp/checkoutTools.d.ts +52 -0
- package/dist/mcp/checkoutTools.js +332 -0
- package/dist/mcp/controlTools.js +182 -6
- package/dist/mcp/deps.d.ts +3 -0
- package/dist/mcp/getStartedTool.d.ts +3 -0
- package/dist/mcp/getStartedTool.js +62 -0
- package/dist/mcp/readArtifact.d.ts +11 -0
- package/dist/mcp/readArtifact.js +46 -30
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/tools.js +6 -0
- package/dist/mcp/triggerTools.d.ts +3 -0
- package/dist/mcp/triggerTools.js +176 -0
- package/dist/net/proxy.d.ts +14 -0
- package/dist/net/proxy.js +78 -0
- package/dist/operatorAgent/docsRetrieval.d.ts +40 -0
- package/dist/operatorAgent/docsRetrieval.js +269 -0
- package/dist/operatorAgent/draftContext.d.ts +16 -0
- package/dist/operatorAgent/draftContext.js +68 -0
- package/dist/operatorAgent/fakeHost.d.ts +39 -0
- package/dist/operatorAgent/fakeHost.js +92 -0
- package/dist/operatorAgent/host.d.ts +40 -0
- package/dist/operatorAgent/host.js +179 -0
- package/dist/operatorAgent/index.d.ts +9 -0
- package/dist/operatorAgent/index.js +8 -0
- package/dist/operatorAgent/piModel.d.ts +80 -0
- package/dist/operatorAgent/piModel.js +528 -0
- package/dist/operatorAgent/profiles/workshopAuthor.d.ts +23 -0
- package/dist/operatorAgent/profiles/workshopAuthor.js +338 -0
- package/dist/operatorAgent/profiles/workshopAuthorPlaybook.d.ts +6 -0
- package/dist/operatorAgent/profiles/workshopAuthorPlaybook.js +103 -0
- package/dist/operatorAgent/profiles/workshopAuthorTools.d.ts +57 -0
- package/dist/operatorAgent/profiles/workshopAuthorTools.js +623 -0
- package/dist/operatorAgent/proposals.d.ts +32 -0
- package/dist/operatorAgent/proposals.js +144 -0
- package/dist/operatorAgent/types.d.ts +128 -0
- package/dist/operatorAgent/types.js +1 -0
- package/dist/package-meta.d.ts +2 -1
- package/dist/package-meta.js +2 -1
- package/dist/preflight/bash.d.ts +8 -0
- package/dist/preflight/bash.js +34 -0
- package/dist/preflight/claudeRoot.d.ts +11 -0
- package/dist/preflight/claudeRoot.js +23 -0
- package/dist/preflight/mcpCommands.d.ts +8 -0
- package/dist/preflight/mcpCommands.js +36 -0
- package/dist/preflight/pipelinePreflight.d.ts +40 -0
- package/dist/preflight/pipelinePreflight.js +192 -0
- package/dist/preflight/tls.d.ts +6 -0
- package/dist/preflight/tls.js +18 -0
- package/dist/preflight/toolchain.d.ts +45 -0
- package/dist/preflight/toolchain.js +219 -0
- package/dist/project/findManifestRoot.d.ts +3 -0
- package/dist/project/findManifestRoot.js +35 -0
- package/dist/project/findProjectRoot.js +3 -4
- package/dist/project/globalHome.d.ts +7 -0
- package/dist/project/globalHome.js +63 -2
- package/dist/project/resolveProjectContext.js +2 -2
- package/dist/project/resolveStageflowContext.d.ts +7 -0
- package/dist/project/resolveStageflowContext.js +46 -30
- package/dist/projection/projectRun.d.ts +2 -1
- package/dist/projection/projectRun.js +1 -0
- package/dist/runstore/assertTmpdir.d.ts +1 -0
- package/dist/runstore/assertTmpdir.js +25 -0
- package/dist/runstore/backup.d.ts +52 -0
- package/dist/runstore/backup.js +292 -0
- package/dist/runstore/createStore.d.ts +18 -1
- package/dist/runstore/createStore.js +64 -5
- package/dist/runstore/debugBundle.d.ts +60 -0
- package/dist/runstore/debugBundle.js +143 -0
- package/dist/runstore/diskUsage.d.ts +50 -0
- package/dist/runstore/diskUsage.js +214 -0
- package/dist/runstore/exportRunPayload.d.ts +8 -0
- package/dist/runstore/exportRunPayload.js +23 -0
- package/dist/runstore/normalizeCatalogPath.d.ts +1 -0
- package/dist/runstore/normalizeCatalogPath.js +10 -0
- package/dist/runstore/paths.d.ts +5 -0
- package/dist/runstore/paths.js +145 -1
- package/dist/runstore/port.d.ts +139 -13
- package/dist/runstore/port.js +8 -1
- package/dist/runstore/restore.d.ts +81 -0
- package/dist/runstore/restore.js +355 -0
- package/dist/runstore/retention.d.ts +27 -0
- package/dist/runstore/retention.js +74 -0
- package/dist/runstore/runManifest.d.ts +146 -0
- package/dist/runstore/runManifest.js +288 -0
- package/dist/runstore/runProjection.d.ts +3 -1
- package/dist/runstore/runProjection.js +63 -1
- package/dist/runstore/sqlite/SqliteRunStore.d.ts +35 -3
- package/dist/runstore/sqlite/SqliteRunStore.js +442 -219
- package/dist/runstore/sqlite/applyStorePragmas.d.ts +39 -0
- package/dist/runstore/sqlite/applyStorePragmas.js +145 -0
- package/dist/runstore/sqlite/migrations/001-baseline.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/001-baseline.js +10 -0
- package/dist/runstore/sqlite/migrations/002-repository-binding.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/002-repository-binding.js +29 -0
- package/dist/runstore/sqlite/migrations/003-run-lifecycle.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/003-run-lifecycle.js +28 -0
- package/dist/runstore/sqlite/migrations/004-auto-resume-count.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/004-auto-resume-count.js +19 -0
- package/dist/runstore/sqlite/migrations/005-config-origins.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/005-config-origins.js +19 -0
- package/dist/runstore/sqlite/migrations/006-pipeline-body-and-caller.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/006-pipeline-body-and-caller.js +28 -0
- package/dist/runstore/sqlite/migrations/007-projects-registry.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/007-projects-registry.js +31 -0
- package/dist/runstore/sqlite/migrations/008-triggers-table.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/008-triggers-table.js +19 -0
- package/dist/runstore/sqlite/migrations/009-trigger-next-run.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/009-trigger-next-run.js +19 -0
- package/dist/runstore/sqlite/migrations/010-trigger-adapter-state.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/010-trigger-adapter-state.js +17 -0
- package/dist/runstore/sqlite/migrations/index.d.ts +21 -0
- package/dist/runstore/sqlite/migrations/index.js +78 -0
- package/dist/runstore/sqlite/schema.d.ts +20 -1
- package/dist/runstore/sqlite/schema.js +277 -1
- package/dist/runstore/sqlite/storeOpenError.d.ts +6 -0
- package/dist/runstore/sqlite/storeOpenError.js +11 -0
- package/dist/runstore/sqlite/storeSchemaError.d.ts +5 -0
- package/dist/runstore/sqlite/storeSchemaError.js +8 -0
- package/dist/runstore/stageExecution.js +3 -0
- package/dist/runstore/storeFilesystem.d.ts +32 -0
- package/dist/runstore/storeFilesystem.js +148 -0
- package/dist/runstore/trackProjection.js +2 -0
- package/dist/runstore/workspaceLayout.d.ts +13 -0
- package/dist/runstore/workspaceLayout.js +76 -0
- package/dist/runtime/answerResume.d.ts +1 -0
- package/dist/runtime/answerResume.js +3 -1
- package/dist/runtime/completionCheckRunner.d.ts +15 -1
- package/dist/runtime/completionCheckRunner.js +67 -7
- package/dist/runtime/containerLimits.d.ts +16 -0
- package/dist/runtime/containerLimits.js +84 -0
- package/dist/runtime/credentialBinding.d.ts +2 -0
- package/dist/runtime/credentialBinding.js +3 -0
- package/dist/runtime/credentialMaterialisation.d.ts +28 -0
- package/dist/runtime/credentialMaterialisation.js +128 -0
- package/dist/runtime/emailSource.d.ts +72 -0
- package/dist/runtime/emailSource.js +304 -0
- package/dist/runtime/gitCheckoutCapability.js +7 -13
- package/dist/runtime/githubPollSource.d.ts +86 -0
- package/dist/runtime/githubPollSource.js +284 -0
- package/dist/runtime/pipelineRunner.d.ts +40 -1
- package/dist/runtime/pipelineRunner.js +181 -17
- package/dist/runtime/pipelineScheduler.d.ts +17 -0
- package/dist/runtime/pipelineScheduler.js +220 -28
- package/dist/runtime/reloadRunCatalog.js +6 -1
- package/dist/runtime/repositoryMaterialize.d.ts +47 -0
- package/dist/runtime/repositoryMaterialize.js +235 -0
- package/dist/runtime/resumeTimedOut.d.ts +1 -1
- package/dist/runtime/resumeTimedOut.js +5 -2
- package/dist/runtime/runChangeBus.js +9 -0
- package/dist/runtime/runDeletion.d.ts +7 -0
- package/dist/runtime/runDeletion.js +37 -0
- package/dist/runtime/runManager.d.ts +169 -4
- package/dist/runtime/runManager.js +1748 -83
- package/dist/runtime/runRetentionSweep.d.ts +31 -0
- package/dist/runtime/runRetentionSweep.js +328 -0
- package/dist/runtime/runRetryCoordinator.d.ts +4 -0
- package/dist/runtime/runRetryCoordinator.js +20 -2
- package/dist/runtime/runSkills.d.ts +40 -0
- package/dist/runtime/runSkills.js +173 -0
- package/dist/runtime/scheduleSource.d.ts +38 -0
- package/dist/runtime/scheduleSource.js +119 -0
- package/dist/runtime/settingsFile.d.ts +5 -0
- package/dist/runtime/settingsFile.js +61 -54
- package/dist/runtime/stageAttemptBootstrap.d.ts +5 -1
- package/dist/runtime/stageAttemptBootstrap.js +250 -27
- package/dist/runtime/stageCacheEnv.d.ts +6 -0
- package/dist/runtime/stageCacheEnv.js +34 -0
- package/dist/runtime/stageConcurrency.d.ts +2 -1
- package/dist/runtime/stageConcurrency.js +4 -2
- package/dist/runtime/stageEnvironment.d.ts +38 -0
- package/dist/runtime/stageEnvironment.js +194 -0
- package/dist/runtime/stageHitl.d.ts +1 -0
- package/dist/runtime/stageHitl.js +5 -1
- package/dist/runtime/stageProcessLauncher.d.ts +20 -0
- package/dist/runtime/stageProcessLauncher.js +236 -41
- package/dist/runtime/stageRecovery.d.ts +3 -1
- package/dist/runtime/stageRecovery.js +19 -4
- package/dist/runtime/stageRoots.d.ts +38 -1
- package/dist/runtime/stageRoots.js +118 -0
- package/dist/runtime/stageRunner.d.ts +6 -0
- package/dist/runtime/stageRunner.js +32 -6
- package/dist/runtime/stageSecretDecl.d.ts +9 -0
- package/dist/runtime/stageSecretDecl.js +102 -0
- package/dist/runtime/stageSecrets.d.ts +40 -0
- package/dist/runtime/stageSecrets.js +181 -0
- package/dist/runtime/stageStreamLog.d.ts +1 -0
- package/dist/runtime/stageStreamLog.js +2 -1
- package/dist/runtime/stageWorker.d.ts +3 -2
- package/dist/runtime/stageWorker.js +58 -10
- package/dist/runtime/stageWorkerProtocol.d.ts +5 -0
- package/dist/runtime/stageWorkerProtocol.js +8 -0
- package/dist/runtime/startPayload.d.ts +32 -0
- package/dist/runtime/startPayload.js +59 -0
- package/dist/runtime/taskInput.js +14 -5
- package/dist/runtime/triggerCatalog.d.ts +6 -0
- package/dist/runtime/triggerCatalog.js +24 -0
- package/dist/runtime/triggerEventMatch.d.ts +2 -0
- package/dist/runtime/triggerEventMatch.js +6 -0
- package/dist/runtime/triggerPort.d.ts +14 -0
- package/dist/runtime/triggerPort.js +1 -0
- package/dist/runtime/triggerRunner.d.ts +17 -0
- package/dist/runtime/triggerRunner.js +89 -0
- package/dist/runtime/verifiedStageExecution.d.ts +8 -0
- package/dist/runtime/verifiedStageExecution.js +16 -1
- package/dist/runtime/webhookSignature.d.ts +1 -0
- package/dist/runtime/webhookSignature.js +12 -0
- package/dist/runtime/workspaceBinding.d.ts +20 -0
- package/dist/runtime/workspaceBinding.js +60 -0
- package/dist/server/allowedHosts.d.ts +19 -0
- package/dist/server/allowedHosts.js +179 -0
- package/dist/server/bootstrap.d.ts +42 -2
- package/dist/server/bootstrap.js +273 -5
- package/dist/server/controlToken.d.ts +47 -0
- package/dist/server/controlToken.js +254 -0
- package/dist/server/createHttpHost.d.ts +11 -2
- package/dist/server/createHttpHost.js +106 -10
- package/dist/server/ensureGlobalService.d.ts +5 -1
- package/dist/server/ensureGlobalService.js +35 -1
- package/dist/server/healthSurfaces.d.ts +6 -0
- package/dist/server/healthSurfaces.js +123 -0
- package/dist/server/http.d.ts +27 -1
- package/dist/server/http.js +2254 -477
- package/dist/server/listenHost.d.ts +5 -0
- package/dist/server/listenHost.js +56 -0
- package/dist/server/mcpHost.d.ts +10 -1
- package/dist/server/mcpHost.js +36 -6
- package/dist/server/operatorResults.d.ts +2 -2
- package/dist/server/operatorResults.js +40 -29
- package/dist/server/requestAuthContext.d.ts +12 -0
- package/dist/server/requestAuthContext.js +21 -0
- package/dist/server/shutdown.d.ts +69 -0
- package/dist/server/shutdown.js +219 -0
- package/dist/server/triggerRoutes.d.ts +15 -0
- package/dist/server/triggerRoutes.js +268 -0
- package/dist/tools/askOperator.d.ts +3 -2
- package/dist/types/completion.d.ts +3 -0
- package/dist/types/pipeline.d.ts +10 -1
- package/dist/types/preEmitCheck.d.ts +7 -0
- package/dist/types/stage.d.ts +22 -0
- package/dist/types/stageflowManifest.d.ts +3 -0
- package/dist/types/task.d.ts +8 -0
- package/dist/types/trigger.d.ts +18 -0
- package/dist/types/trigger.js +1 -0
- package/dist/ui/assets/{index-CSsDued1.css → index-Bv4p1aPK.css} +1 -1
- package/dist/ui/assets/index-CntB4bZR.js +133 -0
- package/dist/ui/index.html +2 -2
- package/dist/workshop/autosave.d.ts +58 -0
- package/dist/workshop/autosave.js +222 -0
- package/dist/workshop/buildStore.d.ts +79 -0
- package/dist/workshop/buildStore.js +326 -0
- package/dist/workshop/chatTurn.d.ts +232 -0
- package/dist/workshop/chatTurn.js +475 -0
- package/dist/workshop/modelSettings.d.ts +18 -0
- package/dist/workshop/modelSettings.js +44 -0
- package/dist/workshop/sessionStore.d.ts +61 -0
- package/dist/workshop/sessionStore.js +254 -0
- package/dist/workshop/workshopPin.d.ts +72 -0
- package/dist/workshop/workshopPin.js +193 -0
- package/examples/README.md +99 -0
- package/examples/archify-on-pr/README.md +213 -0
- package/examples/archify-on-pr/archify-on-pr.pipeline.yaml +19 -0
- package/examples/archify-on-pr/archify-on-pr.task.yaml +19 -0
- package/examples/archify-on-pr/author-diagrams.yaml +106 -0
- package/examples/archify-on-pr/detect-changes.yaml +89 -0
- package/examples/browser-session/README.md +77 -0
- package/examples/browser-session/browser-session.pipeline.yaml +50 -0
- package/examples/browser-session/browser-session.task.yaml +6 -0
- package/examples/browser-session/check-login.yaml +22 -0
- package/examples/browser-session/fixture-server.mjs +64 -0
- package/examples/browser-session/human-login.yaml +31 -0
- package/examples/browser-session/merge.yaml +36 -0
- package/examples/browser-session/work-a.yaml +41 -0
- package/examples/browser-session/work-b.yaml +41 -0
- package/examples/ci-validate/README.md +35 -0
- package/examples/ci-validate/check.yaml +13 -0
- package/examples/ci-validate/ci-demo.pipeline.yaml +4 -0
- package/examples/ci-validate/validate.sh +5 -0
- package/examples/compliance-review-demo/README.md +125 -0
- package/examples/compliance-review-demo/compliance-review-demo.pipeline.yaml +29 -0
- package/examples/compliance-review-demo/connect-account.yaml +47 -0
- package/examples/compliance-review-demo/map-to-control.yaml +123 -0
- package/examples/compliance-review-demo/poll-bucket-config.yaml +103 -0
- package/examples/compliance-review-demo/publish-report.yaml +79 -0
- package/examples/compliance-review-demo/review-verdict.yaml +122 -0
- package/examples/compliance-review-demo/run-compliance-check.yaml +96 -0
- package/examples/compliance-review-demo/store-evidence.yaml +143 -0
- package/examples/conditional-fork/README.md +89 -0
- package/examples/conditional-fork/branch-a.yaml +13 -0
- package/examples/conditional-fork/branch-b.yaml +13 -0
- package/examples/conditional-fork/decide.yaml +35 -0
- package/examples/conditional-fork/fork-demo.pipeline.yaml +20 -0
- package/examples/conditional-fork/fork-demo.task.yaml +8 -0
- package/examples/context7-mcp/README.md +42 -0
- package/examples/context7-mcp/context7-mcp.pipeline.yaml +15 -0
- package/examples/context7-mcp/context7-mcp.task.yaml +4 -0
- package/examples/context7-mcp/fetch-docs.yaml +52 -0
- package/examples/context7-mcp/resolve-library.yaml +31 -0
- package/examples/context7-mcp/write-brief.yaml +52 -0
- package/examples/feature-loop/README.md +104 -0
- package/examples/feature-loop/address-feedback.yaml +148 -0
- package/examples/feature-loop/align.yaml +116 -0
- package/examples/feature-loop/decompose.yaml +86 -0
- package/examples/feature-loop/default-model-hierarchy.task.yaml +58 -0
- package/examples/feature-loop/feature-loop.pipeline.yaml +140 -0
- package/examples/feature-loop/feature-loop.task.yaml +25 -0
- package/examples/feature-loop/implement.yaml +128 -0
- package/examples/feature-loop/plan.yaml +111 -0
- package/examples/feature-loop/publish.yaml +167 -0
- package/examples/feature-loop/review.yaml +146 -0
- package/examples/feature-loop/verify.yaml +106 -0
- package/examples/feedback-loop/README.md +72 -0
- package/examples/feedback-loop/VERIFY.md +208 -0
- package/examples/feedback-loop/continue-only.task.yaml +4 -0
- package/examples/feedback-loop/exhaust-require-continue.task.yaml +6 -0
- package/examples/feedback-loop/exhaust-wait-human.task.yaml +11 -0
- package/examples/feedback-loop/feedback-loop-wait-human.pipeline.yaml +23 -0
- package/examples/feedback-loop/feedback-loop.pipeline.yaml +23 -0
- package/examples/feedback-loop/feedback-loop.task.yaml +4 -0
- package/examples/feedback-loop/implement.yaml +14 -0
- package/examples/feedback-loop/plan.yaml +14 -0
- package/examples/feedback-loop/review.yaml +15 -0
- package/examples/feedback-loop/send-back-once.task.yaml +6 -0
- package/examples/feedback-loop/submit.yaml +12 -0
- package/examples/generic-fan-in/README.md +151 -0
- package/examples/generic-fan-in/clarify.yaml +18 -0
- package/examples/generic-fan-in/generic-fan-in-accepted.pipeline.yaml +19 -0
- package/examples/generic-fan-in/generic-fan-in-accepted.task.yaml +8 -0
- package/examples/generic-fan-in/generic-fan-in.pipeline.yaml +18 -0
- package/examples/generic-fan-in/generic-fan-in.task.yaml +9 -0
- package/examples/generic-fan-in/research.yaml +45 -0
- package/examples/generic-fan-in/synthesize.yaml +66 -0
- package/examples/generic-fan-in/validation.yaml +45 -0
- package/examples/github-release/README.md +78 -0
- package/examples/github-release/draft-release-notes.yaml +64 -0
- package/examples/github-release/github-release.pipeline.yaml +11 -0
- package/examples/github-release/github-release.task.yaml +13 -0
- package/examples/github-release/publish-github-release.yaml +64 -0
- package/examples/hello-world/README.md +28 -0
- package/examples/hello-world/hello.pipeline.yaml +4 -0
- package/examples/hello-world/my-task.task.yaml +6 -0
- package/examples/hello-world/research.yaml +18 -0
- package/examples/mcp-hitl-tour/README.md +113 -0
- package/examples/mcp-hitl-tour/draft-angle.yaml +33 -0
- package/examples/mcp-hitl-tour/draft-short.yaml +32 -0
- package/examples/mcp-hitl-tour/emit-angles.yaml +45 -0
- package/examples/mcp-hitl-tour/gather.yaml +31 -0
- package/examples/mcp-hitl-tour/intake.yaml +62 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour-exhaust.task.yaml +13 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour.pipeline.yaml +54 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour.task.yaml +16 -0
- package/examples/mcp-hitl-tour/polish.yaml +33 -0
- package/examples/mcp-hitl-tour/review.yaml +17 -0
- package/examples/mcp-hitl-tour/ship.yaml +25 -0
- package/examples/oss-issue-contribution/README.md +218 -0
- package/examples/oss-issue-contribution/oss-address-review-feedback.yaml +117 -0
- package/examples/oss-issue-contribution/oss-approve-contribution.yaml +181 -0
- package/examples/oss-issue-contribution/oss-approve-plan.yaml +111 -0
- package/examples/oss-issue-contribution/oss-explain-fix.yaml +108 -0
- package/examples/oss-issue-contribution/oss-explain-issue.yaml +114 -0
- package/examples/oss-issue-contribution/oss-implement-source-fix.yaml +171 -0
- package/examples/oss-issue-contribution/oss-investigate-area.yaml +116 -0
- package/examples/oss-issue-contribution/oss-issue-contribution.pipeline.yaml +125 -0
- package/examples/oss-issue-contribution/oss-issue-intake.yaml +106 -0
- package/examples/oss-issue-contribution/oss-plan-investigation.yaml +112 -0
- package/examples/oss-issue-contribution/oss-plan-review.yaml +109 -0
- package/examples/oss-issue-contribution/oss-reproduce-issue.yaml +140 -0
- package/examples/oss-issue-contribution/oss-review-change.yaml +107 -0
- package/examples/oss-issue-contribution/oss-verify-fix.yaml +130 -0
- package/examples/oss-issue-contribution/oss-write-regression-test.yaml +135 -0
- package/examples/oss-issue-contribution/pi-7629.task.yaml +79 -0
- package/examples/oss-issue-contribution/pi-8919.task.yaml +75 -0
- package/examples/oss-issue-contribution/pydantic-ai-7971.task.yaml +53 -0
- package/examples/oss-quick-fix/README.md +65 -0
- package/examples/oss-quick-fix/implement-fix.yaml +84 -0
- package/examples/oss-quick-fix/oss-quick-fix.pipeline.yaml +35 -0
- package/examples/oss-quick-fix/oss-quick-fix.task.yaml +19 -0
- package/examples/oss-quick-fix/ship-fix.yaml +81 -0
- package/examples/oss-quick-fix/understand-issue.yaml +67 -0
- package/examples/oss-quick-fix/verify-fix.yaml +73 -0
- package/examples/plan-review/README.md +37 -0
- package/examples/plan-review/plan-review-followup.yaml +13 -0
- package/examples/plan-review/plan-review.pipeline.yaml +9 -0
- package/examples/plan-review/plan-review.task.yaml +9 -0
- package/examples/plan-review/plan-review.yaml +25 -0
- package/examples/playwright-mcp/README.md +39 -0
- package/examples/playwright-mcp/playwright-mcp.pipeline.yaml +5 -0
- package/examples/playwright-mcp/playwright-mcp.task.yaml +4 -0
- package/examples/playwright-mcp/screenshot.yaml +40 -0
- package/examples/retry-tour/README.md +75 -0
- package/examples/retry-tour/retry-tour.pipeline.yaml +122 -0
- package/examples/retry-tour/retry-tour.task.yaml +9 -0
- package/examples/route-if-tour/README.md +202 -0
- package/examples/route-if-tour/route-if-tour.pipeline.yaml +950 -0
- package/examples/route-if-tour/route-if-tour.task.yaml +4 -0
- package/examples/route-wiring-smoke-test/01-core-routing.pipeline.yaml +168 -0
- package/examples/route-wiring-smoke-test/02-on-gating.pipeline.yaml +44 -0
- package/examples/route-wiring-smoke-test/03-two-entry-points.pipeline.yaml +28 -0
- package/examples/route-wiring-smoke-test/04-entry-false-equivalent-to-omitted.pipeline.yaml +27 -0
- package/examples/route-wiring-smoke-test/05-fork-choice.pipeline.yaml +110 -0
- package/examples/route-wiring-smoke-test/06-fan-out-fan-in.pipeline.yaml +82 -0
- package/examples/route-wiring-smoke-test/07-loop-human-decision.pipeline.yaml +82 -0
- package/examples/route-wiring-smoke-test/08-skip-fallback-and-multi-on-gate.pipeline.yaml +77 -0
- package/examples/route-wiring-smoke-test/09-multi-loop-targets.pipeline.yaml +102 -0
- package/examples/route-wiring-smoke-test/10-uses-dialect-fork.pipeline.yaml +23 -0
- package/examples/route-wiring-smoke-test/11-sequential-io-handoff.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/12-complex-io-schemas.pipeline.yaml +138 -0
- package/examples/route-wiring-smoke-test/13-ref-io-handoff.pipeline.yaml +84 -0
- package/examples/route-wiring-smoke-test/14-if-eq-gating.pipeline.yaml +50 -0
- package/examples/route-wiring-smoke-test/15-if-all-gated.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/16-if-composition.pipeline.yaml +65 -0
- package/examples/route-wiring-smoke-test/17-if-join.pipeline.yaml +80 -0
- package/examples/route-wiring-smoke-test/README.md +377 -0
- package/examples/route-wiring-smoke-test/rejected/01-reject-legacy-needs.pipeline.yaml +26 -0
- package/examples/route-wiring-smoke-test/rejected/02-reject-legacy-fork.pipeline.yaml +25 -0
- package/examples/route-wiring-smoke-test/rejected/03-reject-legacy-feedback-loop.pipeline.yaml +30 -0
- package/examples/route-wiring-smoke-test/rejected/04-reject-missing-entry.pipeline.yaml +24 -0
- package/examples/route-wiring-smoke-test/rejected/05-reject-unreachable.pipeline.yaml +35 -0
- package/examples/route-wiring-smoke-test/rejected/06-reject-allow-none-without-route-select.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/rejected/07-reject-cycle.pipeline.yaml +27 -0
- package/examples/route-wiring-smoke-test/rejected/08-reject-loop-non-ancestor.pipeline.yaml +42 -0
- package/examples/route-wiring-smoke-test/rejected/09-reject-route-select-leaf.pipeline.yaml +26 -0
- package/examples/route-wiring-smoke-test/rejected/12-reject-loop-replay-unsafe.pipeline.yaml +55 -0
- package/examples/route-wiring-smoke-test/rejected/13-reject-multiple-loop-entries.pipeline.yaml +51 -0
- package/examples/route-wiring-smoke-test/rejected/14-reject-duplicate-stage-id.pipeline.yaml +35 -0
- package/examples/route-wiring-smoke-test/rejected/15-reject-unknown-route-target.pipeline.yaml +15 -0
- package/examples/route-wiring-smoke-test/rejected/16-reject-malformed-route-item.pipeline.yaml +15 -0
- package/examples/route-wiring-smoke-test/rejected/17-reject-io-incompatible.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/18-reject-nested-io.pipeline.yaml +51 -0
- package/examples/route-wiring-smoke-test/rejected/19-reject-array-item-io.pipeline.yaml +55 -0
- package/examples/route-wiring-smoke-test/rejected/20-reject-closed-io.pipeline.yaml +36 -0
- package/examples/route-wiring-smoke-test/rejected/21-reject-ref-io.pipeline.yaml +42 -0
- package/examples/route-wiring-smoke-test/rejected/22-reject-if-unknown-field.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/23-reject-if-optional-field.pipeline.yaml +32 -0
- package/examples/route-wiring-smoke-test/rejected/24-reject-if-empty-all.pipeline.yaml +31 -0
- package/examples/route-wiring-smoke-test/rejected/25-reject-if-gt-on-string.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/26-reject-if-optional-nested.pipeline.yaml +36 -0
- package/examples/route-wiring-smoke-test/rejected/27-reject-if-on-loop.pipeline.yaml +63 -0
- package/examples/route-wiring-smoke-test/rejected/29-reject-if-on-failed.pipeline.yaml +46 -0
- package/examples/route-wiring-smoke-test/smoke-test.task.yaml +4 -0
- package/examples/route-wiring-smoke-test/stages/branch-a.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/branch-b.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/decide.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/finish.yaml +12 -0
- package/examples/ship-feature/README.md +190 -0
- package/examples/ship-feature/feat-address-feedback.yaml +119 -0
- package/examples/ship-feature/feat-implement.yaml +180 -0
- package/examples/ship-feature/feat-plan.yaml +120 -0
- package/examples/ship-feature/feat-review.yaml +109 -0
- package/examples/ship-feature/feat-ship.yaml +203 -0
- package/examples/ship-feature/ship-feature.pipeline.yaml +44 -0
- package/examples/ship-feature/ship-feature.task.yaml +78 -0
- package/examples/stage-mcp/README.md +145 -0
- package/examples/stage-mcp/echo-mcp.mjs +20 -0
- package/examples/stage-mcp/stage-mcp-dead.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp-dead.task.yaml +3 -0
- package/examples/stage-mcp/stage-mcp-missing-var.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp-missing-var.task.yaml +3 -0
- package/examples/stage-mcp/stage-mcp.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp.task.yaml +4 -0
- package/examples/stage-mcp/use-echo.yaml +20 -0
- package/examples/stageflow.yaml +51 -0
- package/examples/verify-tour/README.md +80 -0
- package/examples/verify-tour/verify-tour.pipeline.yaml +162 -0
- package/examples/verify-tour/verify-tour.task.yaml +11 -0
- package/package.json +9 -1
- package/skills/stageflow/SKILL.md +6 -6
- package/skills/stageflow/references/control-surface.md +13 -5
- package/skills/stageflow/scripts/detect-host.mjs +14 -1
- package/skills/stageflow/scripts/detect-host.test.mjs +29 -1
- package/skills/stageflow-author/SKILL.md +4 -3
- package/skills/stageflow-author/references/catalog-mapping.md +16 -0
- package/skills/stageflow-author/references/catalog-write-conventions.md +1 -1
- package/skills/stageflow-author/references/stage-prompt-template.md +4 -4
- package/skills/stageflow-run/SKILL.md +22 -12
- package/skills/stageflow-run/references/mcp-call.md +9 -1
- package/skills/stageflow-run/references/task-and-pipeline-selection.md +19 -6
- package/skills/stageflow-run/scripts/mcp-call.mjs +46 -6
- package/skills/stageflow-run/scripts/mcp-call.test.mjs +64 -0
- package/skills/stageflow-session-capture/references/catalog-authoring.md +2 -0
- package/skills/stageflow-setup/SKILL.md +51 -8
- package/dist/ui/assets/index-Da5EHU6M.js +0 -119
|
@@ -0,0 +1,950 @@
|
|
|
1
|
+
id: route-if-tour
|
|
2
|
+
model: cursor/auto
|
|
3
|
+
schemas:
|
|
4
|
+
empty:
|
|
5
|
+
type: object
|
|
6
|
+
go-flag:
|
|
7
|
+
type: object
|
|
8
|
+
required: [go]
|
|
9
|
+
properties:
|
|
10
|
+
go:
|
|
11
|
+
type: boolean
|
|
12
|
+
flag:
|
|
13
|
+
type: object
|
|
14
|
+
required: [ok]
|
|
15
|
+
properties:
|
|
16
|
+
ok:
|
|
17
|
+
type: boolean
|
|
18
|
+
customer:
|
|
19
|
+
type: object
|
|
20
|
+
required: [tier]
|
|
21
|
+
properties:
|
|
22
|
+
tier:
|
|
23
|
+
type: string
|
|
24
|
+
stages:
|
|
25
|
+
- id: kickoff
|
|
26
|
+
entry: true
|
|
27
|
+
route:
|
|
28
|
+
- to: classify
|
|
29
|
+
system_prompt: |
|
|
30
|
+
Start the route-if tour in one sentence.
|
|
31
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
32
|
+
io:
|
|
33
|
+
input:
|
|
34
|
+
schema:
|
|
35
|
+
$ref: "#/schemas/empty"
|
|
36
|
+
output:
|
|
37
|
+
schema:
|
|
38
|
+
$ref: "#/schemas/empty"
|
|
39
|
+
|
|
40
|
+
- id: classify
|
|
41
|
+
route:
|
|
42
|
+
- to: ran-eq-string
|
|
43
|
+
if:
|
|
44
|
+
field: kind
|
|
45
|
+
op: eq
|
|
46
|
+
value: ok
|
|
47
|
+
- to: ran-eq-int
|
|
48
|
+
if:
|
|
49
|
+
field: count
|
|
50
|
+
op: eq
|
|
51
|
+
value: 3
|
|
52
|
+
- to: ran-eq-num
|
|
53
|
+
if:
|
|
54
|
+
field: ratio
|
|
55
|
+
op: eq
|
|
56
|
+
value: 1.5
|
|
57
|
+
- to: ran-eq-bool
|
|
58
|
+
if:
|
|
59
|
+
field: flag
|
|
60
|
+
op: eq
|
|
61
|
+
value: true
|
|
62
|
+
- to: ran-ne
|
|
63
|
+
if:
|
|
64
|
+
field: kind
|
|
65
|
+
op: ne
|
|
66
|
+
value: fail
|
|
67
|
+
- to: ran-in
|
|
68
|
+
if:
|
|
69
|
+
field: tag
|
|
70
|
+
op: in
|
|
71
|
+
value: [gold, silver]
|
|
72
|
+
- to: ran-not-in
|
|
73
|
+
if:
|
|
74
|
+
field: tag
|
|
75
|
+
op: not_in
|
|
76
|
+
value: [bronze]
|
|
77
|
+
- to: ran-gt-num
|
|
78
|
+
if:
|
|
79
|
+
field: ratio
|
|
80
|
+
op: gt
|
|
81
|
+
value: 1.0
|
|
82
|
+
- to: score
|
|
83
|
+
system_prompt: |
|
|
84
|
+
Classify the record in one sentence.
|
|
85
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"kind":"ok","count":3,"ratio":1.5,"flag":true,"tag":"gold"}.
|
|
86
|
+
io:
|
|
87
|
+
input:
|
|
88
|
+
schema:
|
|
89
|
+
$ref: "#/schemas/empty"
|
|
90
|
+
output:
|
|
91
|
+
schema:
|
|
92
|
+
type: object
|
|
93
|
+
required: [kind, count, ratio, flag, tag]
|
|
94
|
+
properties:
|
|
95
|
+
kind:
|
|
96
|
+
type: string
|
|
97
|
+
count:
|
|
98
|
+
type: integer
|
|
99
|
+
ratio:
|
|
100
|
+
type: number
|
|
101
|
+
flag:
|
|
102
|
+
type: boolean
|
|
103
|
+
tag:
|
|
104
|
+
type: string
|
|
105
|
+
|
|
106
|
+
- id: ran-eq-string
|
|
107
|
+
system_prompt: |
|
|
108
|
+
Note that the string eq gate fired, in one sentence.
|
|
109
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
110
|
+
io:
|
|
111
|
+
input:
|
|
112
|
+
schema:
|
|
113
|
+
$ref: "#/schemas/empty"
|
|
114
|
+
output:
|
|
115
|
+
schema:
|
|
116
|
+
$ref: "#/schemas/empty"
|
|
117
|
+
|
|
118
|
+
- id: ran-eq-int
|
|
119
|
+
system_prompt: |
|
|
120
|
+
Note that the integer eq gate fired, in one sentence.
|
|
121
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
122
|
+
io:
|
|
123
|
+
input:
|
|
124
|
+
schema:
|
|
125
|
+
$ref: "#/schemas/empty"
|
|
126
|
+
output:
|
|
127
|
+
schema:
|
|
128
|
+
$ref: "#/schemas/empty"
|
|
129
|
+
|
|
130
|
+
- id: ran-eq-num
|
|
131
|
+
system_prompt: |
|
|
132
|
+
Note that the number eq gate fired, in one sentence.
|
|
133
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
134
|
+
io:
|
|
135
|
+
input:
|
|
136
|
+
schema:
|
|
137
|
+
$ref: "#/schemas/empty"
|
|
138
|
+
output:
|
|
139
|
+
schema:
|
|
140
|
+
$ref: "#/schemas/empty"
|
|
141
|
+
|
|
142
|
+
- id: ran-eq-bool
|
|
143
|
+
system_prompt: |
|
|
144
|
+
Note that the boolean eq gate fired, in one sentence.
|
|
145
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
146
|
+
io:
|
|
147
|
+
input:
|
|
148
|
+
schema:
|
|
149
|
+
$ref: "#/schemas/empty"
|
|
150
|
+
output:
|
|
151
|
+
schema:
|
|
152
|
+
$ref: "#/schemas/empty"
|
|
153
|
+
|
|
154
|
+
- id: ran-ne
|
|
155
|
+
system_prompt: |
|
|
156
|
+
Note that the ne gate fired, in one sentence.
|
|
157
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
158
|
+
io:
|
|
159
|
+
input:
|
|
160
|
+
schema:
|
|
161
|
+
$ref: "#/schemas/empty"
|
|
162
|
+
output:
|
|
163
|
+
schema:
|
|
164
|
+
$ref: "#/schemas/empty"
|
|
165
|
+
|
|
166
|
+
- id: ran-in
|
|
167
|
+
system_prompt: |
|
|
168
|
+
Note that the in gate fired, in one sentence.
|
|
169
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
170
|
+
io:
|
|
171
|
+
input:
|
|
172
|
+
schema:
|
|
173
|
+
$ref: "#/schemas/empty"
|
|
174
|
+
output:
|
|
175
|
+
schema:
|
|
176
|
+
$ref: "#/schemas/empty"
|
|
177
|
+
|
|
178
|
+
- id: ran-not-in
|
|
179
|
+
system_prompt: |
|
|
180
|
+
Note that the not_in gate fired, in one sentence.
|
|
181
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
182
|
+
io:
|
|
183
|
+
input:
|
|
184
|
+
schema:
|
|
185
|
+
$ref: "#/schemas/empty"
|
|
186
|
+
output:
|
|
187
|
+
schema:
|
|
188
|
+
$ref: "#/schemas/empty"
|
|
189
|
+
|
|
190
|
+
- id: ran-gt-num
|
|
191
|
+
system_prompt: |
|
|
192
|
+
Note that the number gt gate fired, in one sentence.
|
|
193
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
194
|
+
io:
|
|
195
|
+
input:
|
|
196
|
+
schema:
|
|
197
|
+
$ref: "#/schemas/empty"
|
|
198
|
+
output:
|
|
199
|
+
schema:
|
|
200
|
+
$ref: "#/schemas/empty"
|
|
201
|
+
|
|
202
|
+
- id: score
|
|
203
|
+
route:
|
|
204
|
+
- to: ran-gt
|
|
205
|
+
if:
|
|
206
|
+
field: score
|
|
207
|
+
op: gt
|
|
208
|
+
value: 5
|
|
209
|
+
- to: ran-gte
|
|
210
|
+
if:
|
|
211
|
+
field: score
|
|
212
|
+
op: gte
|
|
213
|
+
value: 10
|
|
214
|
+
- to: ran-lt
|
|
215
|
+
if:
|
|
216
|
+
field: score
|
|
217
|
+
op: lt
|
|
218
|
+
value: 20
|
|
219
|
+
- to: ran-lte
|
|
220
|
+
if:
|
|
221
|
+
field: score
|
|
222
|
+
op: lte
|
|
223
|
+
value: 10
|
|
224
|
+
- to: account
|
|
225
|
+
system_prompt: |
|
|
226
|
+
Score the record in one sentence.
|
|
227
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"score":10}.
|
|
228
|
+
io:
|
|
229
|
+
input:
|
|
230
|
+
schema:
|
|
231
|
+
$ref: "#/schemas/empty"
|
|
232
|
+
output:
|
|
233
|
+
schema:
|
|
234
|
+
type: object
|
|
235
|
+
required: [score]
|
|
236
|
+
properties:
|
|
237
|
+
score:
|
|
238
|
+
type: integer
|
|
239
|
+
|
|
240
|
+
- id: ran-gt
|
|
241
|
+
system_prompt: |
|
|
242
|
+
Note that the integer gt gate fired, in one sentence.
|
|
243
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
244
|
+
io:
|
|
245
|
+
input:
|
|
246
|
+
schema:
|
|
247
|
+
$ref: "#/schemas/empty"
|
|
248
|
+
output:
|
|
249
|
+
schema:
|
|
250
|
+
$ref: "#/schemas/empty"
|
|
251
|
+
|
|
252
|
+
- id: ran-gte
|
|
253
|
+
system_prompt: |
|
|
254
|
+
Note that the gte gate fired (score equals the bound), in one sentence.
|
|
255
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
256
|
+
io:
|
|
257
|
+
input:
|
|
258
|
+
schema:
|
|
259
|
+
$ref: "#/schemas/empty"
|
|
260
|
+
output:
|
|
261
|
+
schema:
|
|
262
|
+
$ref: "#/schemas/empty"
|
|
263
|
+
|
|
264
|
+
- id: ran-lt
|
|
265
|
+
system_prompt: |
|
|
266
|
+
Note that the lt gate fired, in one sentence.
|
|
267
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
268
|
+
io:
|
|
269
|
+
input:
|
|
270
|
+
schema:
|
|
271
|
+
$ref: "#/schemas/empty"
|
|
272
|
+
output:
|
|
273
|
+
schema:
|
|
274
|
+
$ref: "#/schemas/empty"
|
|
275
|
+
|
|
276
|
+
- id: ran-lte
|
|
277
|
+
system_prompt: |
|
|
278
|
+
Note that the lte gate fired (score equals the bound), in one sentence.
|
|
279
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
280
|
+
io:
|
|
281
|
+
input:
|
|
282
|
+
schema:
|
|
283
|
+
$ref: "#/schemas/empty"
|
|
284
|
+
output:
|
|
285
|
+
schema:
|
|
286
|
+
$ref: "#/schemas/empty"
|
|
287
|
+
|
|
288
|
+
- id: account
|
|
289
|
+
route:
|
|
290
|
+
- to: ran-nested
|
|
291
|
+
if:
|
|
292
|
+
field: customer.tier
|
|
293
|
+
op: eq
|
|
294
|
+
value: gold
|
|
295
|
+
- to: verdict
|
|
296
|
+
system_prompt: |
|
|
297
|
+
Read the customer record in one sentence.
|
|
298
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"customer":{"tier":"gold"}}.
|
|
299
|
+
io:
|
|
300
|
+
input:
|
|
301
|
+
schema:
|
|
302
|
+
$ref: "#/schemas/empty"
|
|
303
|
+
output:
|
|
304
|
+
schema:
|
|
305
|
+
type: object
|
|
306
|
+
required: [customer]
|
|
307
|
+
properties:
|
|
308
|
+
customer:
|
|
309
|
+
$ref: "#/schemas/customer"
|
|
310
|
+
|
|
311
|
+
- id: ran-nested
|
|
312
|
+
system_prompt: |
|
|
313
|
+
Note that the nested customer.tier gate fired, in one sentence.
|
|
314
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
315
|
+
io:
|
|
316
|
+
input:
|
|
317
|
+
schema:
|
|
318
|
+
type: object
|
|
319
|
+
required: [customer]
|
|
320
|
+
properties:
|
|
321
|
+
customer:
|
|
322
|
+
$ref: "#/schemas/customer"
|
|
323
|
+
output:
|
|
324
|
+
schema:
|
|
325
|
+
$ref: "#/schemas/empty"
|
|
326
|
+
|
|
327
|
+
- id: verdict
|
|
328
|
+
route:
|
|
329
|
+
- to: ran-ref
|
|
330
|
+
if:
|
|
331
|
+
field: ok
|
|
332
|
+
op: eq
|
|
333
|
+
value: true
|
|
334
|
+
- to: compose
|
|
335
|
+
system_prompt: |
|
|
336
|
+
Record the verdict in one sentence.
|
|
337
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"ok":true}.
|
|
338
|
+
io:
|
|
339
|
+
input:
|
|
340
|
+
schema:
|
|
341
|
+
$ref: "#/schemas/empty"
|
|
342
|
+
output:
|
|
343
|
+
schema:
|
|
344
|
+
$ref: "#/schemas/flag"
|
|
345
|
+
|
|
346
|
+
- id: ran-ref
|
|
347
|
+
system_prompt: |
|
|
348
|
+
Note that the $ref output-schema gate fired, in one sentence.
|
|
349
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
350
|
+
io:
|
|
351
|
+
input:
|
|
352
|
+
schema:
|
|
353
|
+
$ref: "#/schemas/flag"
|
|
354
|
+
output:
|
|
355
|
+
schema:
|
|
356
|
+
$ref: "#/schemas/empty"
|
|
357
|
+
|
|
358
|
+
- id: compose
|
|
359
|
+
route:
|
|
360
|
+
- to: ran-all
|
|
361
|
+
if:
|
|
362
|
+
all:
|
|
363
|
+
- field: severity
|
|
364
|
+
op: eq
|
|
365
|
+
value: high
|
|
366
|
+
- field: customer.tier
|
|
367
|
+
op: in
|
|
368
|
+
value: [gold, silver]
|
|
369
|
+
- to: ran-any
|
|
370
|
+
if:
|
|
371
|
+
any:
|
|
372
|
+
- field: channel
|
|
373
|
+
op: eq
|
|
374
|
+
value: web
|
|
375
|
+
- field: severity
|
|
376
|
+
op: eq
|
|
377
|
+
value: low
|
|
378
|
+
- to: ran-not
|
|
379
|
+
if:
|
|
380
|
+
not:
|
|
381
|
+
field: severity
|
|
382
|
+
op: eq
|
|
383
|
+
value: low
|
|
384
|
+
- to: ran-nested-compose
|
|
385
|
+
if:
|
|
386
|
+
not:
|
|
387
|
+
all:
|
|
388
|
+
- field: severity
|
|
389
|
+
op: eq
|
|
390
|
+
value: low
|
|
391
|
+
- field: channel
|
|
392
|
+
op: eq
|
|
393
|
+
value: phone
|
|
394
|
+
- to: ran-any-of-alls
|
|
395
|
+
if:
|
|
396
|
+
any:
|
|
397
|
+
- all:
|
|
398
|
+
- field: severity
|
|
399
|
+
op: eq
|
|
400
|
+
value: high
|
|
401
|
+
- field: channel
|
|
402
|
+
op: eq
|
|
403
|
+
value: web
|
|
404
|
+
- all:
|
|
405
|
+
- field: severity
|
|
406
|
+
op: eq
|
|
407
|
+
value: low
|
|
408
|
+
- field: channel
|
|
409
|
+
op: eq
|
|
410
|
+
value: phone
|
|
411
|
+
- to: triage
|
|
412
|
+
system_prompt: |
|
|
413
|
+
Compose the record in one sentence.
|
|
414
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"severity":"high","channel":"web","customer":{"tier":"gold"}}.
|
|
415
|
+
io:
|
|
416
|
+
input:
|
|
417
|
+
schema:
|
|
418
|
+
$ref: "#/schemas/empty"
|
|
419
|
+
output:
|
|
420
|
+
schema:
|
|
421
|
+
type: object
|
|
422
|
+
required: [severity, channel, customer]
|
|
423
|
+
properties:
|
|
424
|
+
severity:
|
|
425
|
+
type: string
|
|
426
|
+
channel:
|
|
427
|
+
type: string
|
|
428
|
+
customer:
|
|
429
|
+
$ref: "#/schemas/customer"
|
|
430
|
+
|
|
431
|
+
- id: ran-all
|
|
432
|
+
system_prompt: |
|
|
433
|
+
Note that the all (AND) gate fired, in one sentence.
|
|
434
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
435
|
+
io:
|
|
436
|
+
input:
|
|
437
|
+
schema:
|
|
438
|
+
type: object
|
|
439
|
+
required: [severity, channel, customer]
|
|
440
|
+
properties:
|
|
441
|
+
severity:
|
|
442
|
+
type: string
|
|
443
|
+
channel:
|
|
444
|
+
type: string
|
|
445
|
+
customer:
|
|
446
|
+
$ref: "#/schemas/customer"
|
|
447
|
+
output:
|
|
448
|
+
schema:
|
|
449
|
+
$ref: "#/schemas/empty"
|
|
450
|
+
|
|
451
|
+
- id: ran-any
|
|
452
|
+
system_prompt: |
|
|
453
|
+
Note that the any (OR) gate fired, in one sentence.
|
|
454
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
455
|
+
io:
|
|
456
|
+
input:
|
|
457
|
+
schema:
|
|
458
|
+
$ref: "#/schemas/empty"
|
|
459
|
+
output:
|
|
460
|
+
schema:
|
|
461
|
+
$ref: "#/schemas/empty"
|
|
462
|
+
|
|
463
|
+
- id: ran-not
|
|
464
|
+
system_prompt: |
|
|
465
|
+
Note that the not gate fired, in one sentence.
|
|
466
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
467
|
+
io:
|
|
468
|
+
input:
|
|
469
|
+
schema:
|
|
470
|
+
$ref: "#/schemas/empty"
|
|
471
|
+
output:
|
|
472
|
+
schema:
|
|
473
|
+
$ref: "#/schemas/empty"
|
|
474
|
+
|
|
475
|
+
- id: ran-nested-compose
|
|
476
|
+
system_prompt: |
|
|
477
|
+
Note that not(all(...)) fired, in one sentence.
|
|
478
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
479
|
+
io:
|
|
480
|
+
input:
|
|
481
|
+
schema:
|
|
482
|
+
$ref: "#/schemas/empty"
|
|
483
|
+
output:
|
|
484
|
+
schema:
|
|
485
|
+
$ref: "#/schemas/empty"
|
|
486
|
+
|
|
487
|
+
- id: ran-any-of-alls
|
|
488
|
+
system_prompt: |
|
|
489
|
+
Note that any(all(...), all(...)) fired, in one sentence.
|
|
490
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
491
|
+
io:
|
|
492
|
+
input:
|
|
493
|
+
schema:
|
|
494
|
+
$ref: "#/schemas/empty"
|
|
495
|
+
output:
|
|
496
|
+
schema:
|
|
497
|
+
$ref: "#/schemas/empty"
|
|
498
|
+
|
|
499
|
+
- id: triage
|
|
500
|
+
route:
|
|
501
|
+
- to: skipped-page
|
|
502
|
+
if:
|
|
503
|
+
field: severity
|
|
504
|
+
op: eq
|
|
505
|
+
value: high
|
|
506
|
+
- to: ran-notify
|
|
507
|
+
system_prompt: |
|
|
508
|
+
Triage the record in one sentence.
|
|
509
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"severity":"low"}.
|
|
510
|
+
io:
|
|
511
|
+
input:
|
|
512
|
+
schema:
|
|
513
|
+
$ref: "#/schemas/empty"
|
|
514
|
+
output:
|
|
515
|
+
schema:
|
|
516
|
+
type: object
|
|
517
|
+
required: [severity]
|
|
518
|
+
properties:
|
|
519
|
+
severity:
|
|
520
|
+
type: string
|
|
521
|
+
|
|
522
|
+
- id: skipped-page
|
|
523
|
+
route:
|
|
524
|
+
- to: skipped-page-child
|
|
525
|
+
system_prompt: |
|
|
526
|
+
Page on-call in one sentence.
|
|
527
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
528
|
+
io:
|
|
529
|
+
input:
|
|
530
|
+
schema:
|
|
531
|
+
$ref: "#/schemas/empty"
|
|
532
|
+
output:
|
|
533
|
+
schema:
|
|
534
|
+
$ref: "#/schemas/empty"
|
|
535
|
+
|
|
536
|
+
- id: skipped-page-child
|
|
537
|
+
system_prompt: |
|
|
538
|
+
This descendant should stay skipped with skipped-page.
|
|
539
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
540
|
+
io:
|
|
541
|
+
input:
|
|
542
|
+
schema:
|
|
543
|
+
$ref: "#/schemas/empty"
|
|
544
|
+
output:
|
|
545
|
+
schema:
|
|
546
|
+
$ref: "#/schemas/empty"
|
|
547
|
+
|
|
548
|
+
- id: ran-notify
|
|
549
|
+
route:
|
|
550
|
+
- to: gated-only
|
|
551
|
+
system_prompt: |
|
|
552
|
+
Notify the team in one sentence.
|
|
553
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
554
|
+
io:
|
|
555
|
+
input:
|
|
556
|
+
schema:
|
|
557
|
+
$ref: "#/schemas/empty"
|
|
558
|
+
output:
|
|
559
|
+
schema:
|
|
560
|
+
$ref: "#/schemas/empty"
|
|
561
|
+
|
|
562
|
+
- id: gated-only
|
|
563
|
+
route:
|
|
564
|
+
- to: ran-all-gated
|
|
565
|
+
if:
|
|
566
|
+
field: go
|
|
567
|
+
op: eq
|
|
568
|
+
value: true
|
|
569
|
+
system_prompt: |
|
|
570
|
+
Decide the all-gated fire lane in one sentence.
|
|
571
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"go":true}.
|
|
572
|
+
io:
|
|
573
|
+
input:
|
|
574
|
+
schema:
|
|
575
|
+
$ref: "#/schemas/empty"
|
|
576
|
+
output:
|
|
577
|
+
schema:
|
|
578
|
+
$ref: "#/schemas/go-flag"
|
|
579
|
+
|
|
580
|
+
- id: ran-all-gated
|
|
581
|
+
route:
|
|
582
|
+
- to: quiet
|
|
583
|
+
- to: write
|
|
584
|
+
system_prompt: |
|
|
585
|
+
Note that the only forward if matched, in one sentence.
|
|
586
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
587
|
+
io:
|
|
588
|
+
input:
|
|
589
|
+
schema:
|
|
590
|
+
$ref: "#/schemas/go-flag"
|
|
591
|
+
output:
|
|
592
|
+
schema:
|
|
593
|
+
$ref: "#/schemas/empty"
|
|
594
|
+
|
|
595
|
+
- id: quiet
|
|
596
|
+
route:
|
|
597
|
+
- to: skipped-quiet
|
|
598
|
+
if:
|
|
599
|
+
field: go
|
|
600
|
+
op: eq
|
|
601
|
+
value: true
|
|
602
|
+
system_prompt: |
|
|
603
|
+
Decide the quiet miss lane in one sentence.
|
|
604
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"go":false}.
|
|
605
|
+
io:
|
|
606
|
+
input:
|
|
607
|
+
schema:
|
|
608
|
+
$ref: "#/schemas/empty"
|
|
609
|
+
output:
|
|
610
|
+
schema:
|
|
611
|
+
$ref: "#/schemas/go-flag"
|
|
612
|
+
|
|
613
|
+
- id: skipped-quiet
|
|
614
|
+
system_prompt: |
|
|
615
|
+
This stage should stay skipped.
|
|
616
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
617
|
+
io:
|
|
618
|
+
input:
|
|
619
|
+
schema:
|
|
620
|
+
$ref: "#/schemas/empty"
|
|
621
|
+
output:
|
|
622
|
+
schema:
|
|
623
|
+
$ref: "#/schemas/empty"
|
|
624
|
+
|
|
625
|
+
- id: write
|
|
626
|
+
route:
|
|
627
|
+
- to: assemble-ok
|
|
628
|
+
if:
|
|
629
|
+
field: ready
|
|
630
|
+
op: eq
|
|
631
|
+
value: true
|
|
632
|
+
- to: draw
|
|
633
|
+
system_prompt: |
|
|
634
|
+
Write the first half in one sentence.
|
|
635
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"ready":true}.
|
|
636
|
+
io:
|
|
637
|
+
input:
|
|
638
|
+
schema:
|
|
639
|
+
$ref: "#/schemas/empty"
|
|
640
|
+
output:
|
|
641
|
+
schema:
|
|
642
|
+
type: object
|
|
643
|
+
required: [ready]
|
|
644
|
+
properties:
|
|
645
|
+
ready:
|
|
646
|
+
type: boolean
|
|
647
|
+
|
|
648
|
+
- id: draw
|
|
649
|
+
route:
|
|
650
|
+
- to: assemble-ok
|
|
651
|
+
if:
|
|
652
|
+
field: complete
|
|
653
|
+
op: eq
|
|
654
|
+
value: true
|
|
655
|
+
- to: write-miss
|
|
656
|
+
system_prompt: |
|
|
657
|
+
Draw the second half in one sentence.
|
|
658
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"complete":true}.
|
|
659
|
+
io:
|
|
660
|
+
input:
|
|
661
|
+
schema:
|
|
662
|
+
$ref: "#/schemas/empty"
|
|
663
|
+
output:
|
|
664
|
+
schema:
|
|
665
|
+
type: object
|
|
666
|
+
required: [complete]
|
|
667
|
+
properties:
|
|
668
|
+
complete:
|
|
669
|
+
type: boolean
|
|
670
|
+
|
|
671
|
+
- id: assemble-ok
|
|
672
|
+
system_prompt: |
|
|
673
|
+
Combine both matching parents into one sentence.
|
|
674
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
675
|
+
io:
|
|
676
|
+
input:
|
|
677
|
+
schema:
|
|
678
|
+
$ref: "#/schemas/empty"
|
|
679
|
+
output:
|
|
680
|
+
schema:
|
|
681
|
+
$ref: "#/schemas/empty"
|
|
682
|
+
|
|
683
|
+
- id: write-miss
|
|
684
|
+
route:
|
|
685
|
+
- to: assemble-miss
|
|
686
|
+
if:
|
|
687
|
+
field: ready
|
|
688
|
+
op: eq
|
|
689
|
+
value: true
|
|
690
|
+
- to: draw-miss
|
|
691
|
+
system_prompt: |
|
|
692
|
+
Write the miss-join half in one sentence.
|
|
693
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"ready":true}.
|
|
694
|
+
io:
|
|
695
|
+
input:
|
|
696
|
+
schema:
|
|
697
|
+
$ref: "#/schemas/empty"
|
|
698
|
+
output:
|
|
699
|
+
schema:
|
|
700
|
+
type: object
|
|
701
|
+
required: [ready]
|
|
702
|
+
properties:
|
|
703
|
+
ready:
|
|
704
|
+
type: boolean
|
|
705
|
+
|
|
706
|
+
- id: draw-miss
|
|
707
|
+
route:
|
|
708
|
+
- to: assemble-miss
|
|
709
|
+
if:
|
|
710
|
+
field: complete
|
|
711
|
+
op: eq
|
|
712
|
+
value: true
|
|
713
|
+
- to: mix-open
|
|
714
|
+
system_prompt: |
|
|
715
|
+
Draw the miss-join half in one sentence.
|
|
716
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"complete":false}.
|
|
717
|
+
io:
|
|
718
|
+
input:
|
|
719
|
+
schema:
|
|
720
|
+
$ref: "#/schemas/empty"
|
|
721
|
+
output:
|
|
722
|
+
schema:
|
|
723
|
+
type: object
|
|
724
|
+
required: [complete]
|
|
725
|
+
properties:
|
|
726
|
+
complete:
|
|
727
|
+
type: boolean
|
|
728
|
+
|
|
729
|
+
- id: assemble-miss
|
|
730
|
+
system_prompt: |
|
|
731
|
+
This join should stay skipped.
|
|
732
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
733
|
+
io:
|
|
734
|
+
input:
|
|
735
|
+
schema:
|
|
736
|
+
$ref: "#/schemas/empty"
|
|
737
|
+
output:
|
|
738
|
+
schema:
|
|
739
|
+
$ref: "#/schemas/empty"
|
|
740
|
+
|
|
741
|
+
- id: mix-open
|
|
742
|
+
route:
|
|
743
|
+
- to: assemble-mix-ok
|
|
744
|
+
- to: mix-gated
|
|
745
|
+
system_prompt: |
|
|
746
|
+
Open the mixed-join fire half in one sentence.
|
|
747
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
748
|
+
io:
|
|
749
|
+
input:
|
|
750
|
+
schema:
|
|
751
|
+
$ref: "#/schemas/empty"
|
|
752
|
+
output:
|
|
753
|
+
schema:
|
|
754
|
+
$ref: "#/schemas/empty"
|
|
755
|
+
|
|
756
|
+
- id: mix-gated
|
|
757
|
+
route:
|
|
758
|
+
- to: assemble-mix-ok
|
|
759
|
+
if:
|
|
760
|
+
field: ready
|
|
761
|
+
op: eq
|
|
762
|
+
value: true
|
|
763
|
+
- to: mix-open-miss
|
|
764
|
+
system_prompt: |
|
|
765
|
+
Gate the mixed-join fire half in one sentence.
|
|
766
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"ready":true}.
|
|
767
|
+
io:
|
|
768
|
+
input:
|
|
769
|
+
schema:
|
|
770
|
+
$ref: "#/schemas/empty"
|
|
771
|
+
output:
|
|
772
|
+
schema:
|
|
773
|
+
type: object
|
|
774
|
+
required: [ready]
|
|
775
|
+
properties:
|
|
776
|
+
ready:
|
|
777
|
+
type: boolean
|
|
778
|
+
|
|
779
|
+
- id: assemble-mix-ok
|
|
780
|
+
system_prompt: |
|
|
781
|
+
Combine the ungated parent and the matching gated parent in one sentence.
|
|
782
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
783
|
+
io:
|
|
784
|
+
input:
|
|
785
|
+
schema:
|
|
786
|
+
$ref: "#/schemas/empty"
|
|
787
|
+
output:
|
|
788
|
+
schema:
|
|
789
|
+
$ref: "#/schemas/empty"
|
|
790
|
+
|
|
791
|
+
- id: mix-open-miss
|
|
792
|
+
route:
|
|
793
|
+
- to: assemble-mix-miss
|
|
794
|
+
- to: mix-gated-miss
|
|
795
|
+
system_prompt: |
|
|
796
|
+
Open the mixed-join miss half in one sentence.
|
|
797
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
798
|
+
io:
|
|
799
|
+
input:
|
|
800
|
+
schema:
|
|
801
|
+
$ref: "#/schemas/empty"
|
|
802
|
+
output:
|
|
803
|
+
schema:
|
|
804
|
+
$ref: "#/schemas/empty"
|
|
805
|
+
|
|
806
|
+
- id: mix-gated-miss
|
|
807
|
+
route:
|
|
808
|
+
- to: assemble-mix-miss
|
|
809
|
+
if:
|
|
810
|
+
field: ready
|
|
811
|
+
op: eq
|
|
812
|
+
value: true
|
|
813
|
+
- to: strict-num
|
|
814
|
+
system_prompt: |
|
|
815
|
+
Gate the mixed-join miss half in one sentence.
|
|
816
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"ready":false}.
|
|
817
|
+
io:
|
|
818
|
+
input:
|
|
819
|
+
schema:
|
|
820
|
+
$ref: "#/schemas/empty"
|
|
821
|
+
output:
|
|
822
|
+
schema:
|
|
823
|
+
type: object
|
|
824
|
+
required: [ready]
|
|
825
|
+
properties:
|
|
826
|
+
ready:
|
|
827
|
+
type: boolean
|
|
828
|
+
|
|
829
|
+
- id: assemble-mix-miss
|
|
830
|
+
system_prompt: |
|
|
831
|
+
This mixed join should stay skipped.
|
|
832
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
833
|
+
io:
|
|
834
|
+
input:
|
|
835
|
+
schema:
|
|
836
|
+
$ref: "#/schemas/empty"
|
|
837
|
+
output:
|
|
838
|
+
schema:
|
|
839
|
+
$ref: "#/schemas/empty"
|
|
840
|
+
|
|
841
|
+
- id: strict-num
|
|
842
|
+
route:
|
|
843
|
+
- to: ran-int-one
|
|
844
|
+
if:
|
|
845
|
+
field: n
|
|
846
|
+
op: eq
|
|
847
|
+
value: 1
|
|
848
|
+
- to: skipped-coerced
|
|
849
|
+
if:
|
|
850
|
+
field: n
|
|
851
|
+
op: eq
|
|
852
|
+
value: "1"
|
|
853
|
+
- to: loop-draft
|
|
854
|
+
system_prompt: |
|
|
855
|
+
Emit the integer one in one sentence.
|
|
856
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {"n":1}.
|
|
857
|
+
io:
|
|
858
|
+
input:
|
|
859
|
+
schema:
|
|
860
|
+
$ref: "#/schemas/empty"
|
|
861
|
+
output:
|
|
862
|
+
schema:
|
|
863
|
+
type: object
|
|
864
|
+
required: [n]
|
|
865
|
+
properties:
|
|
866
|
+
n:
|
|
867
|
+
type: integer
|
|
868
|
+
|
|
869
|
+
- id: ran-int-one
|
|
870
|
+
system_prompt: |
|
|
871
|
+
Note that integer 1 matched eq 1, in one sentence.
|
|
872
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
873
|
+
io:
|
|
874
|
+
input:
|
|
875
|
+
schema:
|
|
876
|
+
$ref: "#/schemas/empty"
|
|
877
|
+
output:
|
|
878
|
+
schema:
|
|
879
|
+
$ref: "#/schemas/empty"
|
|
880
|
+
|
|
881
|
+
- id: skipped-coerced
|
|
882
|
+
system_prompt: |
|
|
883
|
+
This stage should stay skipped because 1 is not "1".
|
|
884
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
885
|
+
io:
|
|
886
|
+
input:
|
|
887
|
+
schema:
|
|
888
|
+
$ref: "#/schemas/empty"
|
|
889
|
+
output:
|
|
890
|
+
schema:
|
|
891
|
+
$ref: "#/schemas/empty"
|
|
892
|
+
|
|
893
|
+
- id: loop-draft
|
|
894
|
+
route:
|
|
895
|
+
- to: loop-check
|
|
896
|
+
system_prompt: |
|
|
897
|
+
Draft a one-sentence change for the loop lane.
|
|
898
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
899
|
+
io:
|
|
900
|
+
input:
|
|
901
|
+
schema:
|
|
902
|
+
$ref: "#/schemas/empty"
|
|
903
|
+
output:
|
|
904
|
+
schema:
|
|
905
|
+
$ref: "#/schemas/empty"
|
|
906
|
+
|
|
907
|
+
- id: loop-check
|
|
908
|
+
route:
|
|
909
|
+
- to: loop-done
|
|
910
|
+
if:
|
|
911
|
+
field: pass
|
|
912
|
+
op: eq
|
|
913
|
+
value: true
|
|
914
|
+
- type: loop
|
|
915
|
+
to: loop-draft
|
|
916
|
+
max_replays: 1
|
|
917
|
+
on_max_replays: require_continue
|
|
918
|
+
replay_session: resume
|
|
919
|
+
system_prompt: |
|
|
920
|
+
Check the draft in one sentence.
|
|
921
|
+
Always emit payload: {"pass":true}.
|
|
922
|
+
On success you MUST include feedback_loop in your envelope:
|
|
923
|
+
{"action":"continue"} or {"action":"send_back","target":"loop-draft"}.
|
|
924
|
+
On your FIRST attempt, send_back to loop-draft.
|
|
925
|
+
On your SECOND attempt (after the replay), continue.
|
|
926
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], payload: {"pass":true}, and the matching feedback_loop action.
|
|
927
|
+
io:
|
|
928
|
+
input:
|
|
929
|
+
schema:
|
|
930
|
+
$ref: "#/schemas/empty"
|
|
931
|
+
output:
|
|
932
|
+
schema:
|
|
933
|
+
type: object
|
|
934
|
+
required: [pass]
|
|
935
|
+
properties:
|
|
936
|
+
pass:
|
|
937
|
+
type: boolean
|
|
938
|
+
|
|
939
|
+
- id: loop-done
|
|
940
|
+
replay_safe: false
|
|
941
|
+
system_prompt: |
|
|
942
|
+
Finish the loop lane in one sentence.
|
|
943
|
+
Then emit a success envelope via emit_stage_envelope with status: success, a short summary, artifacts: [], and payload: {}.
|
|
944
|
+
io:
|
|
945
|
+
input:
|
|
946
|
+
schema:
|
|
947
|
+
$ref: "#/schemas/empty"
|
|
948
|
+
output:
|
|
949
|
+
schema:
|
|
950
|
+
$ref: "#/schemas/empty"
|