@agent-relay/sdk 7.1.1 → 8.0.2
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 +177 -143
- package/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/bin/agent-relay-broker-win32-x64.exe +0 -0
- package/dist/actions/errors.d.ts +18 -0
- package/dist/actions/errors.d.ts.map +1 -0
- package/dist/actions/errors.js +39 -0
- package/dist/actions/errors.js.map +1 -0
- package/dist/actions/index.d.ts +5 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +5 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/json-schema-lite.d.ts +13 -0
- package/dist/actions/json-schema-lite.d.ts.map +1 -0
- package/dist/actions/json-schema-lite.js +322 -0
- package/dist/actions/json-schema-lite.js.map +1 -0
- package/dist/actions/registry.d.ts +20 -0
- package/dist/actions/registry.d.ts.map +1 -0
- package/dist/actions/registry.js +267 -0
- package/dist/actions/registry.js.map +1 -0
- package/dist/actions/types.d.ts +177 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/{provisioner → actions}/types.js.map +1 -1
- package/dist/agent-relay.d.ts +86 -0
- package/dist/agent-relay.d.ts.map +1 -0
- package/dist/agent-relay.js +197 -0
- package/dist/agent-relay.js.map +1 -0
- package/dist/capabilities.d.ts +6 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +9 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/delivery/index.d.ts +4 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +4 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/runner.d.ts +26 -0
- package/dist/delivery/runner.d.ts.map +1 -0
- package/dist/delivery/runner.js +177 -0
- package/dist/delivery/runner.js.map +1 -0
- package/dist/delivery/types.d.ts +45 -0
- package/dist/delivery/types.d.ts.map +1 -0
- package/dist/delivery/types.js +2 -0
- package/dist/delivery/types.js.map +1 -0
- package/dist/facade.d.ts +151 -0
- package/dist/facade.d.ts.map +1 -0
- package/dist/facade.js +280 -0
- package/dist/facade.js.map +1 -0
- package/dist/index.d.ts +9 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -23
- package/dist/index.js.map +1 -1
- package/dist/listeners.d.ts +162 -0
- package/dist/listeners.d.ts.map +1 -0
- package/dist/listeners.js +297 -0
- package/dist/listeners.js.map +1 -0
- package/dist/messaging/index.d.ts +4 -0
- package/dist/messaging/index.d.ts.map +1 -0
- package/dist/messaging/index.js +4 -0
- package/dist/messaging/index.js.map +1 -0
- package/dist/messaging/normalize.d.ts +29 -0
- package/dist/messaging/normalize.d.ts.map +1 -0
- package/dist/messaging/normalize.js +602 -0
- package/dist/messaging/normalize.js.map +1 -0
- package/dist/messaging/relaycast.d.ts +270 -0
- package/dist/messaging/relaycast.d.ts.map +1 -0
- package/dist/messaging/relaycast.js +559 -0
- package/dist/messaging/relaycast.js.map +1 -0
- package/dist/messaging/types.d.ts +672 -0
- package/dist/messaging/types.d.ts.map +1 -0
- package/dist/messaging/types.js +2 -0
- package/dist/messaging/types.js.map +1 -0
- package/dist/relaycast-errors.d.ts +39 -0
- package/dist/relaycast-errors.d.ts.map +1 -0
- package/dist/relaycast-errors.js +111 -0
- package/dist/relaycast-errors.js.map +1 -0
- package/dist/session/index.d.ts +58 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +54 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/types.d.ts +258 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +7 -0
- package/dist/session/types.js.map +1 -0
- package/package.json +31 -199
- package/dist/broker-logs.d.ts +0 -80
- package/dist/broker-logs.d.ts.map +0 -1
- package/dist/broker-logs.js +0 -189
- package/dist/broker-logs.js.map +0 -1
- package/dist/broker-path.d.ts +0 -34
- package/dist/broker-path.d.ts.map +0 -1
- package/dist/broker-path.js +0 -267
- package/dist/broker-path.js.map +0 -1
- package/dist/browser.d.ts +0 -16
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js +0 -19
- package/dist/browser.js.map +0 -1
- package/dist/cli-registry.d.ts +0 -44
- package/dist/cli-registry.d.ts.map +0 -1
- package/dist/cli-registry.js +0 -104
- package/dist/cli-registry.js.map +0 -1
- package/dist/cli-resolver.d.ts +0 -30
- package/dist/cli-resolver.d.ts.map +0 -1
- package/dist/cli-resolver.js +0 -132
- package/dist/cli-resolver.js.map +0 -1
- package/dist/client.d.ts +0 -278
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -838
- package/dist/client.js.map +0 -1
- package/dist/communicate/a2a-bridge.d.ts +0 -25
- package/dist/communicate/a2a-bridge.d.ts.map +0 -1
- package/dist/communicate/a2a-bridge.js +0 -89
- package/dist/communicate/a2a-bridge.js.map +0 -1
- package/dist/communicate/a2a-server.d.ts +0 -31
- package/dist/communicate/a2a-server.d.ts.map +0 -1
- package/dist/communicate/a2a-server.js +0 -220
- package/dist/communicate/a2a-server.js.map +0 -1
- package/dist/communicate/a2a-transport.d.ts +0 -48
- package/dist/communicate/a2a-transport.d.ts.map +0 -1
- package/dist/communicate/a2a-transport.js +0 -305
- package/dist/communicate/a2a-transport.js.map +0 -1
- package/dist/communicate/a2a-types.d.ts +0 -107
- package/dist/communicate/a2a-types.d.ts.map +0 -1
- package/dist/communicate/a2a-types.js +0 -209
- package/dist/communicate/a2a-types.js.map +0 -1
- package/dist/communicate/adapters/ai-sdk.d.ts +0 -63
- package/dist/communicate/adapters/ai-sdk.d.ts.map +0 -1
- package/dist/communicate/adapters/ai-sdk.js +0 -114
- package/dist/communicate/adapters/ai-sdk.js.map +0 -1
- package/dist/communicate/adapters/claude-sdk.d.ts +0 -28
- package/dist/communicate/adapters/claude-sdk.d.ts.map +0 -1
- package/dist/communicate/adapters/claude-sdk.js +0 -47
- package/dist/communicate/adapters/claude-sdk.js.map +0 -1
- package/dist/communicate/adapters/crewai.d.ts +0 -42
- package/dist/communicate/adapters/crewai.d.ts.map +0 -1
- package/dist/communicate/adapters/crewai.js +0 -95
- package/dist/communicate/adapters/crewai.js.map +0 -1
- package/dist/communicate/adapters/google-adk.d.ts +0 -53
- package/dist/communicate/adapters/google-adk.d.ts.map +0 -1
- package/dist/communicate/adapters/google-adk.js +0 -77
- package/dist/communicate/adapters/google-adk.js.map +0 -1
- package/dist/communicate/adapters/index.d.ts +0 -3
- package/dist/communicate/adapters/index.d.ts.map +0 -1
- package/dist/communicate/adapters/index.js +0 -3
- package/dist/communicate/adapters/index.js.map +0 -1
- package/dist/communicate/adapters/langgraph.d.ts +0 -40
- package/dist/communicate/adapters/langgraph.d.ts.map +0 -1
- package/dist/communicate/adapters/langgraph.js +0 -77
- package/dist/communicate/adapters/langgraph.js.map +0 -1
- package/dist/communicate/adapters/openai-agents.d.ts +0 -25
- package/dist/communicate/adapters/openai-agents.d.ts.map +0 -1
- package/dist/communicate/adapters/openai-agents.js +0 -70
- package/dist/communicate/adapters/openai-agents.js.map +0 -1
- package/dist/communicate/adapters/pi.d.ts +0 -44
- package/dist/communicate/adapters/pi.d.ts.map +0 -1
- package/dist/communicate/adapters/pi.js +0 -55
- package/dist/communicate/adapters/pi.js.map +0 -1
- package/dist/communicate/core.d.ts +0 -58
- package/dist/communicate/core.d.ts.map +0 -1
- package/dist/communicate/core.js +0 -127
- package/dist/communicate/core.js.map +0 -1
- package/dist/communicate/index.d.ts +0 -20
- package/dist/communicate/index.d.ts.map +0 -1
- package/dist/communicate/index.js +0 -43
- package/dist/communicate/index.js.map +0 -1
- package/dist/communicate/transport.d.ts +0 -35
- package/dist/communicate/transport.d.ts.map +0 -1
- package/dist/communicate/transport.js +0 -279
- package/dist/communicate/transport.js.map +0 -1
- package/dist/communicate/types.d.ts +0 -58
- package/dist/communicate/types.d.ts.map +0 -1
- package/dist/communicate/types.js +0 -66
- package/dist/communicate/types.js.map +0 -1
- package/dist/consensus-helpers.d.ts +0 -103
- package/dist/consensus-helpers.d.ts.map +0 -1
- package/dist/consensus-helpers.js +0 -147
- package/dist/consensus-helpers.js.map +0 -1
- package/dist/consensus.d.ts +0 -72
- package/dist/consensus.d.ts.map +0 -1
- package/dist/consensus.js +0 -378
- package/dist/consensus.js.map +0 -1
- package/dist/event-bus.d.ts +0 -57
- package/dist/event-bus.d.ts.map +0 -1
- package/dist/event-bus.js +0 -76
- package/dist/event-bus.js.map +0 -1
- package/dist/examples/demo.d.ts +0 -2
- package/dist/examples/demo.d.ts.map +0 -1
- package/dist/examples/demo.js +0 -63
- package/dist/examples/demo.js.map +0 -1
- package/dist/examples/example.d.ts +0 -2
- package/dist/examples/example.d.ts.map +0 -1
- package/dist/examples/example.js +0 -77
- package/dist/examples/example.js.map +0 -1
- package/dist/examples/persona-spawn.d.ts +0 -2
- package/dist/examples/persona-spawn.d.ts.map +0 -1
- package/dist/examples/persona-spawn.js +0 -43
- package/dist/examples/persona-spawn.js.map +0 -1
- package/dist/examples/quickstart.d.ts +0 -2
- package/dist/examples/quickstart.d.ts.map +0 -1
- package/dist/examples/quickstart.js +0 -56
- package/dist/examples/quickstart.js.map +0 -1
- package/dist/examples/ralph-loop.d.ts +0 -2
- package/dist/examples/ralph-loop.d.ts.map +0 -1
- package/dist/examples/ralph-loop.js +0 -281
- package/dist/examples/ralph-loop.js.map +0 -1
- package/dist/examples/workflow-superiority.d.ts +0 -32
- package/dist/examples/workflow-superiority.d.ts.map +0 -1
- package/dist/examples/workflow-superiority.js +0 -1421
- package/dist/examples/workflow-superiority.js.map +0 -1
- package/dist/github.d.ts +0 -24
- package/dist/github.d.ts.map +0 -1
- package/dist/github.js +0 -24
- package/dist/github.js.map +0 -1
- package/dist/http.d.ts +0 -38
- package/dist/http.d.ts.map +0 -1
- package/dist/http.js +0 -60
- package/dist/http.js.map +0 -1
- package/dist/lifecycle-hooks.d.ts +0 -141
- package/dist/lifecycle-hooks.d.ts.map +0 -1
- package/dist/lifecycle-hooks.js +0 -29
- package/dist/lifecycle-hooks.js.map +0 -1
- package/dist/logs.d.ts +0 -106
- package/dist/logs.d.ts.map +0 -1
- package/dist/logs.js +0 -291
- package/dist/logs.js.map +0 -1
- package/dist/models.d.ts +0 -9
- package/dist/models.d.ts.map +0 -1
- package/dist/models.js +0 -17
- package/dist/models.js.map +0 -1
- package/dist/personas.d.ts +0 -160
- package/dist/personas.d.ts.map +0 -1
- package/dist/personas.js +0 -401
- package/dist/personas.js.map +0 -1
- package/dist/protocol.d.ts +0 -521
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -2
- package/dist/protocol.js.map +0 -1
- package/dist/provisioner/__tests__/audit.test.d.ts +0 -2
- package/dist/provisioner/__tests__/audit.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/audit.test.js +0 -45
- package/dist/provisioner/__tests__/audit.test.js.map +0 -1
- package/dist/provisioner/__tests__/compiler.test.d.ts +0 -2
- package/dist/provisioner/__tests__/compiler.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/compiler.test.js +0 -345
- package/dist/provisioner/__tests__/compiler.test.js.map +0 -1
- package/dist/provisioner/__tests__/presets.test.d.ts +0 -2
- package/dist/provisioner/__tests__/presets.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/presets.test.js +0 -23
- package/dist/provisioner/__tests__/presets.test.js.map +0 -1
- package/dist/provisioner/__tests__/seeder.test.d.ts +0 -2
- package/dist/provisioner/__tests__/seeder.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/seeder.test.js +0 -224
- package/dist/provisioner/__tests__/seeder.test.js.map +0 -1
- package/dist/provisioner/__tests__/tar-seeder.test.d.ts +0 -2
- package/dist/provisioner/__tests__/tar-seeder.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/tar-seeder.test.js +0 -191
- package/dist/provisioner/__tests__/tar-seeder.test.js.map +0 -1
- package/dist/provisioner/__tests__/token-factory.test.d.ts +0 -2
- package/dist/provisioner/__tests__/token-factory.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/token-factory.test.js +0 -139
- package/dist/provisioner/__tests__/token-factory.test.js.map +0 -1
- package/dist/provisioner/__tests__/token.test.d.ts +0 -2
- package/dist/provisioner/__tests__/token.test.d.ts.map +0 -1
- package/dist/provisioner/__tests__/token.test.js +0 -49
- package/dist/provisioner/__tests__/token.test.js.map +0 -1
- package/dist/provisioner/audit.d.ts +0 -19
- package/dist/provisioner/audit.d.ts.map +0 -1
- package/dist/provisioner/audit.js +0 -74
- package/dist/provisioner/audit.js.map +0 -1
- package/dist/provisioner/compiler.d.ts +0 -23
- package/dist/provisioner/compiler.d.ts.map +0 -1
- package/dist/provisioner/compiler.js +0 -355
- package/dist/provisioner/compiler.js.map +0 -1
- package/dist/provisioner/index.d.ts +0 -10
- package/dist/provisioner/index.d.ts.map +0 -1
- package/dist/provisioner/index.js +0 -269
- package/dist/provisioner/index.js.map +0 -1
- package/dist/provisioner/local-jwks.d.ts +0 -25
- package/dist/provisioner/local-jwks.d.ts.map +0 -1
- package/dist/provisioner/local-jwks.js +0 -70
- package/dist/provisioner/local-jwks.js.map +0 -1
- package/dist/provisioner/mount.d.ts +0 -14
- package/dist/provisioner/mount.d.ts.map +0 -1
- package/dist/provisioner/mount.js +0 -329
- package/dist/provisioner/mount.js.map +0 -1
- package/dist/provisioner/seeder.d.ts +0 -17
- package/dist/provisioner/seeder.d.ts.map +0 -1
- package/dist/provisioner/seeder.js +0 -419
- package/dist/provisioner/seeder.js.map +0 -1
- package/dist/provisioner/token.d.ts +0 -41
- package/dist/provisioner/token.d.ts.map +0 -1
- package/dist/provisioner/token.js +0 -77
- package/dist/provisioner/token.js.map +0 -1
- package/dist/provisioner/types.d.ts +0 -134
- package/dist/provisioner/types.d.ts.map +0 -1
- package/dist/pty.d.ts +0 -8
- package/dist/pty.d.ts.map +0 -1
- package/dist/pty.js +0 -26
- package/dist/pty.js.map +0 -1
- package/dist/relay-adapter.d.ts +0 -124
- package/dist/relay-adapter.d.ts.map +0 -1
- package/dist/relay-adapter.js +0 -242
- package/dist/relay-adapter.js.map +0 -1
- package/dist/relay.d.ts +0 -550
- package/dist/relay.d.ts.map +0 -1
- package/dist/relay.js +0 -1682
- package/dist/relay.js.map +0 -1
- package/dist/shadow.d.ts +0 -101
- package/dist/shadow.d.ts.map +0 -1
- package/dist/shadow.js +0 -174
- package/dist/shadow.js.map +0 -1
- package/dist/slack.d.ts +0 -24
- package/dist/slack.d.ts.map +0 -1
- package/dist/slack.js +0 -24
- package/dist/slack.js.map +0 -1
- package/dist/spawn-from-env.d.ts +0 -78
- package/dist/spawn-from-env.d.ts.map +0 -1
- package/dist/spawn-from-env.js +0 -172
- package/dist/spawn-from-env.js.map +0 -1
- package/dist/transport.d.ts +0 -104
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js +0 -520
- package/dist/transport.js.map +0 -1
- package/dist/types.d.ts +0 -101
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/workers.d.ts +0 -39
- package/dist/workers.d.ts.map +0 -1
- package/dist/workers.js +0 -39
- package/dist/workers.js.map +0 -1
- package/dist/workflows/__tests__/budget-enforcement.test.d.ts +0 -2
- package/dist/workflows/__tests__/budget-enforcement.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/budget-enforcement.test.js +0 -411
- package/dist/workflows/__tests__/budget-enforcement.test.js.map +0 -1
- package/dist/workflows/__tests__/budget-tracker.test.d.ts +0 -2
- package/dist/workflows/__tests__/budget-tracker.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/budget-tracker.test.js +0 -99
- package/dist/workflows/__tests__/budget-tracker.test.js.map +0 -1
- package/dist/workflows/__tests__/builder-paths.test.d.ts +0 -2
- package/dist/workflows/__tests__/builder-paths.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/builder-paths.test.js +0 -63
- package/dist/workflows/__tests__/builder-paths.test.js.map +0 -1
- package/dist/workflows/__tests__/channel-messenger.test.d.ts +0 -2
- package/dist/workflows/__tests__/channel-messenger.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/channel-messenger.test.js +0 -123
- package/dist/workflows/__tests__/channel-messenger.test.js.map +0 -1
- package/dist/workflows/__tests__/cli-session-collector.test.d.ts +0 -2
- package/dist/workflows/__tests__/cli-session-collector.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/cli-session-collector.test.js +0 -54
- package/dist/workflows/__tests__/cli-session-collector.test.js.map +0 -1
- package/dist/workflows/__tests__/collectors/claude.test.d.ts +0 -2
- package/dist/workflows/__tests__/collectors/claude.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/collectors/claude.test.js +0 -85
- package/dist/workflows/__tests__/collectors/claude.test.js.map +0 -1
- package/dist/workflows/__tests__/collectors/codex.test.d.ts +0 -2
- package/dist/workflows/__tests__/collectors/codex.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/collectors/codex.test.js +0 -67
- package/dist/workflows/__tests__/collectors/codex.test.js.map +0 -1
- package/dist/workflows/__tests__/collectors/opencode.test.d.ts +0 -2
- package/dist/workflows/__tests__/collectors/opencode.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/collectors/opencode.test.js +0 -119
- package/dist/workflows/__tests__/collectors/opencode.test.js.map +0 -1
- package/dist/workflows/__tests__/e2big-and-verify.test.d.ts +0 -2
- package/dist/workflows/__tests__/e2big-and-verify.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/e2big-and-verify.test.js +0 -62
- package/dist/workflows/__tests__/e2big-and-verify.test.js.map +0 -1
- package/dist/workflows/__tests__/e2e-permissions.test.d.ts +0 -2
- package/dist/workflows/__tests__/e2e-permissions.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/e2e-permissions.test.js +0 -338
- package/dist/workflows/__tests__/e2e-permissions.test.js.map +0 -1
- package/dist/workflows/__tests__/permission-types.test.d.ts +0 -2
- package/dist/workflows/__tests__/permission-types.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/permission-types.test.js +0 -124
- package/dist/workflows/__tests__/permission-types.test.js.map +0 -1
- package/dist/workflows/__tests__/permissions-integration.test.d.ts +0 -2
- package/dist/workflows/__tests__/permissions-integration.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/permissions-integration.test.js +0 -577
- package/dist/workflows/__tests__/permissions-integration.test.js.map +0 -1
- package/dist/workflows/__tests__/process-backend-executor.test.d.ts +0 -2
- package/dist/workflows/__tests__/process-backend-executor.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/process-backend-executor.test.js +0 -83
- package/dist/workflows/__tests__/process-backend-executor.test.js.map +0 -1
- package/dist/workflows/__tests__/proxy-env.test.d.ts +0 -2
- package/dist/workflows/__tests__/proxy-env.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/proxy-env.test.js +0 -135
- package/dist/workflows/__tests__/proxy-env.test.js.map +0 -1
- package/dist/workflows/__tests__/run-script.test.d.ts +0 -2
- package/dist/workflows/__tests__/run-script.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/run-script.test.js +0 -426
- package/dist/workflows/__tests__/run-script.test.js.map +0 -1
- package/dist/workflows/__tests__/run-summary-table.test.d.ts +0 -2
- package/dist/workflows/__tests__/run-summary-table.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/run-summary-table.test.js +0 -131
- package/dist/workflows/__tests__/run-summary-table.test.js.map +0 -1
- package/dist/workflows/__tests__/scrub-pty-chrome.test.d.ts +0 -2
- package/dist/workflows/__tests__/scrub-pty-chrome.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/scrub-pty-chrome.test.js +0 -113
- package/dist/workflows/__tests__/scrub-pty-chrome.test.js.map +0 -1
- package/dist/workflows/__tests__/sibling-links.test.d.ts +0 -2
- package/dist/workflows/__tests__/sibling-links.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/sibling-links.test.js +0 -166
- package/dist/workflows/__tests__/sibling-links.test.js.map +0 -1
- package/dist/workflows/__tests__/step-cwd.test.d.ts +0 -2
- package/dist/workflows/__tests__/step-cwd.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/step-cwd.test.js +0 -42
- package/dist/workflows/__tests__/step-cwd.test.js.map +0 -1
- package/dist/workflows/__tests__/step-executor.test.d.ts +0 -2
- package/dist/workflows/__tests__/step-executor.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/step-executor.test.js +0 -378
- package/dist/workflows/__tests__/step-executor.test.js.map +0 -1
- package/dist/workflows/__tests__/template-resolver.test.d.ts +0 -2
- package/dist/workflows/__tests__/template-resolver.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/template-resolver.test.js +0 -145
- package/dist/workflows/__tests__/template-resolver.test.js.map +0 -1
- package/dist/workflows/__tests__/verification-custom.test.d.ts +0 -2
- package/dist/workflows/__tests__/verification-custom.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/verification-custom.test.js +0 -230
- package/dist/workflows/__tests__/verification-custom.test.js.map +0 -1
- package/dist/workflows/__tests__/verification-traceback.test.d.ts +0 -2
- package/dist/workflows/__tests__/verification-traceback.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/verification-traceback.test.js +0 -442
- package/dist/workflows/__tests__/verification-traceback.test.js.map +0 -1
- package/dist/workflows/__tests__/verification.test.d.ts +0 -2
- package/dist/workflows/__tests__/verification.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/verification.test.js +0 -272
- package/dist/workflows/__tests__/verification.test.js.map +0 -1
- package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts +0 -2
- package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/workflow-reliability-contract.test.js +0 -536
- package/dist/workflows/__tests__/workflow-reliability-contract.test.js.map +0 -1
- package/dist/workflows/__tests__/workflow-reliability-e2e.test.d.ts +0 -2
- package/dist/workflows/__tests__/workflow-reliability-e2e.test.d.ts.map +0 -1
- package/dist/workflows/__tests__/workflow-reliability-e2e.test.js +0 -199
- package/dist/workflows/__tests__/workflow-reliability-e2e.test.js.map +0 -1
- package/dist/workflows/api-executor.d.ts +0 -16
- package/dist/workflows/api-executor.d.ts.map +0 -1
- package/dist/workflows/api-executor.js +0 -94
- package/dist/workflows/api-executor.js.map +0 -1
- package/dist/workflows/barrier.d.ts +0 -72
- package/dist/workflows/barrier.d.ts.map +0 -1
- package/dist/workflows/barrier.js +0 -162
- package/dist/workflows/barrier.js.map +0 -1
- package/dist/workflows/budget-tracker.d.ts +0 -75
- package/dist/workflows/budget-tracker.d.ts.map +0 -1
- package/dist/workflows/budget-tracker.js +0 -184
- package/dist/workflows/budget-tracker.js.map +0 -1
- package/dist/workflows/builder.d.ts +0 -229
- package/dist/workflows/builder.d.ts.map +0 -1
- package/dist/workflows/builder.js +0 -430
- package/dist/workflows/builder.js.map +0 -1
- package/dist/workflows/channel-messenger.d.ts +0 -28
- package/dist/workflows/channel-messenger.d.ts.map +0 -1
- package/dist/workflows/channel-messenger.js +0 -275
- package/dist/workflows/channel-messenger.js.map +0 -1
- package/dist/workflows/cli-session-collector.d.ts +0 -39
- package/dist/workflows/cli-session-collector.d.ts.map +0 -1
- package/dist/workflows/cli-session-collector.js +0 -23
- package/dist/workflows/cli-session-collector.js.map +0 -1
- package/dist/workflows/cli.d.ts +0 -11
- package/dist/workflows/cli.d.ts.map +0 -1
- package/dist/workflows/cli.js +0 -395
- package/dist/workflows/cli.js.map +0 -1
- package/dist/workflows/cloud-runner.d.ts +0 -15
- package/dist/workflows/cloud-runner.d.ts.map +0 -1
- package/dist/workflows/cloud-runner.js +0 -41
- package/dist/workflows/cloud-runner.js.map +0 -1
- package/dist/workflows/cloud-schedules.d.ts +0 -3
- package/dist/workflows/cloud-schedules.d.ts.map +0 -1
- package/dist/workflows/cloud-schedules.js +0 -2
- package/dist/workflows/cloud-schedules.js.map +0 -1
- package/dist/workflows/collectors/claude.d.ts +0 -6
- package/dist/workflows/collectors/claude.d.ts.map +0 -1
- package/dist/workflows/collectors/claude.js +0 -330
- package/dist/workflows/collectors/claude.js.map +0 -1
- package/dist/workflows/collectors/codex.d.ts +0 -18
- package/dist/workflows/collectors/codex.d.ts.map +0 -1
- package/dist/workflows/collectors/codex.js +0 -265
- package/dist/workflows/collectors/codex.js.map +0 -1
- package/dist/workflows/collectors/opencode.d.ts +0 -6
- package/dist/workflows/collectors/opencode.d.ts.map +0 -1
- package/dist/workflows/collectors/opencode.js +0 -204
- package/dist/workflows/collectors/opencode.js.map +0 -1
- package/dist/workflows/coordinator.d.ts +0 -73
- package/dist/workflows/coordinator.d.ts.map +0 -1
- package/dist/workflows/coordinator.js +0 -647
- package/dist/workflows/coordinator.js.map +0 -1
- package/dist/workflows/custom-steps.d.ts +0 -73
- package/dist/workflows/custom-steps.d.ts.map +0 -1
- package/dist/workflows/custom-steps.js +0 -321
- package/dist/workflows/custom-steps.js.map +0 -1
- package/dist/workflows/default-logger.d.ts +0 -9
- package/dist/workflows/default-logger.d.ts.map +0 -1
- package/dist/workflows/default-logger.js +0 -104
- package/dist/workflows/default-logger.js.map +0 -1
- package/dist/workflows/dry-run-format.d.ts +0 -6
- package/dist/workflows/dry-run-format.d.ts.map +0 -1
- package/dist/workflows/dry-run-format.js +0 -76
- package/dist/workflows/dry-run-format.js.map +0 -1
- package/dist/workflows/file-db.d.ts +0 -85
- package/dist/workflows/file-db.d.ts.map +0 -1
- package/dist/workflows/file-db.js +0 -215
- package/dist/workflows/file-db.js.map +0 -1
- package/dist/workflows/index.d.ts +0 -36
- package/dist/workflows/index.d.ts.map +0 -1
- package/dist/workflows/index.js +0 -33
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/listr-renderer.d.ts +0 -26
- package/dist/workflows/listr-renderer.d.ts.map +0 -1
- package/dist/workflows/listr-renderer.js +0 -230
- package/dist/workflows/listr-renderer.js.map +0 -1
- package/dist/workflows/memory-db.d.ts +0 -17
- package/dist/workflows/memory-db.d.ts.map +0 -1
- package/dist/workflows/memory-db.js +0 -33
- package/dist/workflows/memory-db.js.map +0 -1
- package/dist/workflows/process-backend-executor.d.ts +0 -18
- package/dist/workflows/process-backend-executor.d.ts.map +0 -1
- package/dist/workflows/process-backend-executor.js +0 -74
- package/dist/workflows/process-backend-executor.js.map +0 -1
- package/dist/workflows/process-spawner.d.ts +0 -35
- package/dist/workflows/process-spawner.d.ts.map +0 -1
- package/dist/workflows/process-spawner.js +0 -141
- package/dist/workflows/process-spawner.js.map +0 -1
- package/dist/workflows/proxy-env.d.ts +0 -52
- package/dist/workflows/proxy-env.d.ts.map +0 -1
- package/dist/workflows/proxy-env.js +0 -92
- package/dist/workflows/proxy-env.js.map +0 -1
- package/dist/workflows/run-script.d.ts +0 -82
- package/dist/workflows/run-script.d.ts.map +0 -1
- package/dist/workflows/run-script.js +0 -521
- package/dist/workflows/run-script.js.map +0 -1
- package/dist/workflows/run-summary-table.d.ts +0 -5
- package/dist/workflows/run-summary-table.d.ts.map +0 -1
- package/dist/workflows/run-summary-table.js +0 -132
- package/dist/workflows/run-summary-table.js.map +0 -1
- package/dist/workflows/run.d.ts +0 -45
- package/dist/workflows/run.d.ts.map +0 -1
- package/dist/workflows/run.js +0 -37
- package/dist/workflows/run.js.map +0 -1
- package/dist/workflows/runner.d.ts +0 -527
- package/dist/workflows/runner.d.ts.map +0 -1
- package/dist/workflows/runner.js +0 -6266
- package/dist/workflows/runner.js.map +0 -1
- package/dist/workflows/sibling-links.d.ts +0 -100
- package/dist/workflows/sibling-links.d.ts.map +0 -1
- package/dist/workflows/sibling-links.js +0 -205
- package/dist/workflows/sibling-links.js.map +0 -1
- package/dist/workflows/state.d.ts +0 -77
- package/dist/workflows/state.d.ts.map +0 -1
- package/dist/workflows/state.js +0 -140
- package/dist/workflows/state.js.map +0 -1
- package/dist/workflows/step-executor.d.ts +0 -95
- package/dist/workflows/step-executor.d.ts.map +0 -1
- package/dist/workflows/step-executor.js +0 -393
- package/dist/workflows/step-executor.js.map +0 -1
- package/dist/workflows/template-resolver.d.ts +0 -33
- package/dist/workflows/template-resolver.d.ts.map +0 -1
- package/dist/workflows/template-resolver.js +0 -144
- package/dist/workflows/template-resolver.js.map +0 -1
- package/dist/workflows/templates.d.ts +0 -47
- package/dist/workflows/templates.d.ts.map +0 -1
- package/dist/workflows/templates.js +0 -405
- package/dist/workflows/templates.js.map +0 -1
- package/dist/workflows/trajectory.d.ts +0 -87
- package/dist/workflows/trajectory.d.ts.map +0 -1
- package/dist/workflows/trajectory.js +0 -412
- package/dist/workflows/trajectory.js.map +0 -1
- package/dist/workflows/types.d.ts +0 -471
- package/dist/workflows/types.d.ts.map +0 -1
- package/dist/workflows/types.js +0 -37
- package/dist/workflows/types.js.map +0 -1
- package/dist/workflows/validator.d.ts +0 -11
- package/dist/workflows/validator.d.ts.map +0 -1
- package/dist/workflows/validator.js +0 -184
- package/dist/workflows/validator.js.map +0 -1
- package/dist/workflows/verification.d.ts +0 -53
- package/dist/workflows/verification.d.ts.map +0 -1
- package/dist/workflows/verification.js +0 -238
- package/dist/workflows/verification.js.map +0 -1
- /package/dist/{provisioner → actions}/types.js +0 -0
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import type { AccessPreset, AgentPermissions, CompiledAgentPermissions, FilePermissions, PermissionSource } from '../workflows/types.js';
|
|
2
|
-
import type { LocalJwksSigningKey } from './local-jwks.js';
|
|
3
|
-
import type { MountHandle } from './mount.js';
|
|
4
|
-
/** Configuration for provisioning workflow agents. */
|
|
5
|
-
export interface WorkflowProvisionConfig {
|
|
6
|
-
/** RS256 signing key used to mint JWT tokens. */
|
|
7
|
-
tokenSigningKey: LocalJwksSigningKey;
|
|
8
|
-
/** Workspace identifier (e.g. 'my-project'). */
|
|
9
|
-
workspace: string;
|
|
10
|
-
/** Absolute path to the project directory. */
|
|
11
|
-
projectDir: string;
|
|
12
|
-
/** Base URL of the relayfile server (e.g. 'http://127.0.0.1:4080'). */
|
|
13
|
-
relayfileBaseUrl: string;
|
|
14
|
-
/**
|
|
15
|
-
* Agents to provision, keyed by agent name.
|
|
16
|
-
* Each entry carries the AgentPermissions from relay.yaml.
|
|
17
|
-
* When empty/undefined, agents are auto-discovered from dotfiles.
|
|
18
|
-
*/
|
|
19
|
-
agents?: Record<string, AgentPermissions>;
|
|
20
|
-
/** JWT token TTL in seconds. Default: 7200 (2 hours). */
|
|
21
|
-
tokenTtlSeconds?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Directories to exclude from workspace seeding.
|
|
24
|
-
* Defaults: ['.relay', '.git', 'node_modules'].
|
|
25
|
-
*/
|
|
26
|
-
excludeDirs?: string[];
|
|
27
|
-
/**
|
|
28
|
-
* When true, skip workspace creation and file seeding.
|
|
29
|
-
* Useful when only tokens/ACL are needed.
|
|
30
|
-
*/
|
|
31
|
-
skipSeeding?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Admin scopes for the workspace management token.
|
|
34
|
-
* Uses DEFAULT_ADMIN_SCOPES when omitted.
|
|
35
|
-
*/
|
|
36
|
-
adminScopes?: string[];
|
|
37
|
-
/** Optional explicit relayfile-mount binary path. */
|
|
38
|
-
mountBinaryPath?: string;
|
|
39
|
-
/** Base directory for per-agent mount points. Defaults to <projectDir>/.relay. */
|
|
40
|
-
mountBaseDir?: string;
|
|
41
|
-
/** When true, skip starting relayfile mount processes. */
|
|
42
|
-
skipMount?: boolean;
|
|
43
|
-
/** When true, print a short audit summary to stdout after provisioning. */
|
|
44
|
-
verbose?: boolean;
|
|
45
|
-
}
|
|
46
|
-
/** Aggregate counts for compiled permissions across provisioned agents. */
|
|
47
|
-
export interface ProvisionSummary {
|
|
48
|
-
readonly: number;
|
|
49
|
-
readwrite: number;
|
|
50
|
-
denied: number;
|
|
51
|
-
customScopes: number;
|
|
52
|
-
}
|
|
53
|
-
/** Convenience shape for a single agent's compiled scopes. */
|
|
54
|
-
export interface CompiledAgentScopes {
|
|
55
|
-
/** Agent name. */
|
|
56
|
-
agentName: string;
|
|
57
|
-
/** Workspace identifier. */
|
|
58
|
-
workspace: string;
|
|
59
|
-
/** Final token scopes after compilation. */
|
|
60
|
-
scopes: string[];
|
|
61
|
-
/** Directory ACL rules derived from the compiled permissions. */
|
|
62
|
-
acl: Record<string, string[]>;
|
|
63
|
-
/** Counts for the compiled access model. */
|
|
64
|
-
summary: ProvisionSummary;
|
|
65
|
-
}
|
|
66
|
-
/** Result of a single agent's provisioning. */
|
|
67
|
-
export interface AgentProvisionResult {
|
|
68
|
-
/** Agent name. */
|
|
69
|
-
name: string;
|
|
70
|
-
/** Absolute path to the written JWT file (.relay/tokens/<name>.jwt). */
|
|
71
|
-
tokenPath: string;
|
|
72
|
-
/** The raw JWT string. */
|
|
73
|
-
token: string;
|
|
74
|
-
/** Scopes baked into the token. */
|
|
75
|
-
scopes: string[];
|
|
76
|
-
/** Full compiled permissions (for audit / dry-run output). */
|
|
77
|
-
compiled: CompiledAgentPermissions;
|
|
78
|
-
/** Absolute path to the mounted relayfile workspace for this agent, when active. */
|
|
79
|
-
mountPoint?: string;
|
|
80
|
-
}
|
|
81
|
-
/** Map of agent names to minted JWT strings. */
|
|
82
|
-
export type AgentTokenMap = Record<string, string>;
|
|
83
|
-
/** Map of agent names to their provisioning result. */
|
|
84
|
-
export type AgentProvisionMap = Record<string, AgentProvisionResult>;
|
|
85
|
-
/** Aggregate result of provisionWorkflowAgents(). */
|
|
86
|
-
export interface ProvisionResult {
|
|
87
|
-
/** Per-agent results, keyed by agent name. */
|
|
88
|
-
agents: AgentProvisionMap;
|
|
89
|
-
/** Ordered list of agent names (matches iteration order). */
|
|
90
|
-
agentNames: string[];
|
|
91
|
-
/** Workspace-level admin token (used for seeding). */
|
|
92
|
-
adminToken: string;
|
|
93
|
-
/** Number of files seeded to the relayfile workspace. */
|
|
94
|
-
seededFileCount: number;
|
|
95
|
-
/** Number of ACL directory rules seeded. */
|
|
96
|
-
seededAclCount: number;
|
|
97
|
-
/** Aggregate summary across all agents. */
|
|
98
|
-
summary: ProvisionSummary;
|
|
99
|
-
/** Per-agent mounted workspace handles. */
|
|
100
|
-
mounts: Map<string, MountHandle>;
|
|
101
|
-
/** Per-agent minted JWT strings. */
|
|
102
|
-
tokens: Map<string, string>;
|
|
103
|
-
/** Per-agent compiled token scopes. */
|
|
104
|
-
scopes: Map<string, string[]>;
|
|
105
|
-
}
|
|
106
|
-
/** Input to the permission compiler for a single agent. */
|
|
107
|
-
export interface CompileInput {
|
|
108
|
-
agentName: string;
|
|
109
|
-
workspace: string;
|
|
110
|
-
projectDir: string;
|
|
111
|
-
permissions: AgentPermissions;
|
|
112
|
-
}
|
|
113
|
-
/** Options for the ACL seeder. */
|
|
114
|
-
export interface SeedAclOptions {
|
|
115
|
-
relayfileBaseUrl: string;
|
|
116
|
-
token: string;
|
|
117
|
-
workspace: string;
|
|
118
|
-
aclRules: Record<string, string[]>;
|
|
119
|
-
}
|
|
120
|
-
/** Options for workspace file seeding. */
|
|
121
|
-
export interface SeedWorkspaceOptions {
|
|
122
|
-
relayfileBaseUrl: string;
|
|
123
|
-
token: string;
|
|
124
|
-
workspace: string;
|
|
125
|
-
projectDir: string;
|
|
126
|
-
excludeDirs: string[];
|
|
127
|
-
}
|
|
128
|
-
/** Minimal debug summary written alongside compiled ACL output. */
|
|
129
|
-
export interface AgentAclSummary {
|
|
130
|
-
name: string;
|
|
131
|
-
summary: Pick<ProvisionSummary, 'readonly' | 'readwrite' | 'denied'>;
|
|
132
|
-
}
|
|
133
|
-
export type { AccessPreset, AgentPermissions, CompiledAgentPermissions, FilePermissions, PermissionSource };
|
|
134
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provisioner/types.ts"],"names":[],"mappings":"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"}
|
package/dist/pty.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PTY stream utilities — ANSI stripping and line extraction.
|
|
3
|
-
*/
|
|
4
|
-
/** Strip ANSI escape sequences from a string. */
|
|
5
|
-
export declare function stripAnsi(s: string): string;
|
|
6
|
-
/** Strip ANSI, split on newlines, trim, and drop empty lines. */
|
|
7
|
-
export declare function cleanLines(raw: string): string[];
|
|
8
|
-
//# sourceMappingURL=pty.d.ts.map
|
package/dist/pty.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3C;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD"}
|
package/dist/pty.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PTY stream utilities — ANSI stripping and line extraction.
|
|
3
|
-
*/
|
|
4
|
-
// eslint-disable-next-line no-control-regex
|
|
5
|
-
const ANSI_RE = /\x1b(?:\[[0-9;?]*[A-Za-z]|\][^\x07\x1b]*(?:\x07|\x1b\\)?|[()][0-9A-Za-z]|[\x20-\x2f]*[\x40-\x7e])|\x1b/g;
|
|
6
|
-
// eslint-disable-next-line no-control-regex
|
|
7
|
-
const CURSOR_FORWARD_CSI_RE = /\x1b\[(\d*)C/g;
|
|
8
|
-
// eslint-disable-next-line no-control-regex
|
|
9
|
-
const ORPHANED_CURSOR_FORWARD_CSI_RE = /\[(\d*)C/g;
|
|
10
|
-
function cursorForwardSpaces(countText) {
|
|
11
|
-
const count = Number.parseInt(countText || "1", 10);
|
|
12
|
-
const width = Number.isFinite(count) && count > 0 ? count : 1;
|
|
13
|
-
return " ".repeat(width);
|
|
14
|
-
}
|
|
15
|
-
/** Strip ANSI escape sequences from a string. */
|
|
16
|
-
export function stripAnsi(s) {
|
|
17
|
-
let result = s.replace(CURSOR_FORWARD_CSI_RE, (_match, count) => cursorForwardSpaces(count));
|
|
18
|
-
result = result.replace(ANSI_RE, "");
|
|
19
|
-
result = result.replace(ORPHANED_CURSOR_FORWARD_CSI_RE, (_match, count) => cursorForwardSpaces(count));
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
/** Strip ANSI, split on newlines, trim, and drop empty lines. */
|
|
23
|
-
export function cleanLines(raw) {
|
|
24
|
-
return stripAnsi(raw).split(/\r?\n/).map(l => l.trimEnd()).filter(Boolean);
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=pty.js.map
|
package/dist/pty.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../src/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4CAA4C;AAC5C,MAAM,OAAO,GAAG,yGAAyG,CAAC;AAE1H,4CAA4C;AAC5C,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C,4CAA4C;AAC5C,MAAM,8BAA8B,GAAG,WAAW,CAAC;AAEnD,SAAS,mBAAmB,CAAC,SAA6B;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE,CACtE,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE,CAChF,mBAAmB,CAAC,KAAK,CAAC,CAC3B,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC"}
|
package/dist/relay-adapter.d.ts
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RelayAdapter — high-level interface over the broker SDK.
|
|
3
|
-
*
|
|
4
|
-
* Wraps AgentRelayClient with auto-start, safe result patterns,
|
|
5
|
-
* and convenience methods. Usable by any integration: dashboard,
|
|
6
|
-
* MCP, ACP bridge, CLI, or custom tooling.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* import { RelayAdapter } from '@agent-relay/sdk';
|
|
10
|
-
*
|
|
11
|
-
* const relay = new RelayAdapter({ cwd: projectRoot });
|
|
12
|
-
* await relay.start();
|
|
13
|
-
*
|
|
14
|
-
* await relay.spawn({ name: 'Worker1', cli: 'claude', task: 'Build auth' });
|
|
15
|
-
* const agents = await relay.listAgents();
|
|
16
|
-
* await relay.sendMessage({ to: 'Worker1', text: 'status?' });
|
|
17
|
-
* await relay.release('Worker1');
|
|
18
|
-
*
|
|
19
|
-
* await relay.shutdown();
|
|
20
|
-
*/
|
|
21
|
-
import { AgentRelayClient } from './client.js';
|
|
22
|
-
import type { SendMessageInput } from './types.js';
|
|
23
|
-
import type { BrokerEvent, BrokerStats, BrokerStatus, CrashInsightsResponse } from './protocol.js';
|
|
24
|
-
import type { PtyInputStream, PtyInputStreamOptions } from './transport.js';
|
|
25
|
-
export interface RelayAdapterOptions {
|
|
26
|
-
/** Project root directory (required — the broker locks per project). */
|
|
27
|
-
cwd: string;
|
|
28
|
-
/** Path to the agent-relay binary. Falls back to bundled/PATH resolution. */
|
|
29
|
-
binaryPath?: string;
|
|
30
|
-
/** Default channels for spawned agents. */
|
|
31
|
-
channels?: string[];
|
|
32
|
-
/** Environment variables forwarded to the broker process. */
|
|
33
|
-
env?: NodeJS.ProcessEnv;
|
|
34
|
-
}
|
|
35
|
-
export interface RelaySpawnRequest {
|
|
36
|
-
name: string;
|
|
37
|
-
cli: string;
|
|
38
|
-
task?: string;
|
|
39
|
-
team?: string;
|
|
40
|
-
cwd?: string;
|
|
41
|
-
model?: string;
|
|
42
|
-
interactive?: boolean;
|
|
43
|
-
shadowMode?: string;
|
|
44
|
-
shadowOf?: string;
|
|
45
|
-
shadowAgent?: string;
|
|
46
|
-
shadowTriggers?: string;
|
|
47
|
-
shadowSpeakOn?: string;
|
|
48
|
-
spawnerName?: string;
|
|
49
|
-
userId?: string;
|
|
50
|
-
includeWorkflowConventions?: boolean;
|
|
51
|
-
}
|
|
52
|
-
export interface RelaySpawnResult {
|
|
53
|
-
success: boolean;
|
|
54
|
-
name: string;
|
|
55
|
-
pid?: number;
|
|
56
|
-
error?: string;
|
|
57
|
-
}
|
|
58
|
-
export interface RelayAgentInfo {
|
|
59
|
-
name: string;
|
|
60
|
-
cli?: string;
|
|
61
|
-
pid?: number;
|
|
62
|
-
channels: string[];
|
|
63
|
-
parent?: string;
|
|
64
|
-
runtime: string;
|
|
65
|
-
}
|
|
66
|
-
export interface RelayReleaseResult {
|
|
67
|
-
success: boolean;
|
|
68
|
-
name: string;
|
|
69
|
-
error?: string;
|
|
70
|
-
}
|
|
71
|
-
export declare class RelayAdapter {
|
|
72
|
-
private client;
|
|
73
|
-
private started;
|
|
74
|
-
private startPromise;
|
|
75
|
-
private readonly spawnOpts;
|
|
76
|
-
private readonly stderrListeners;
|
|
77
|
-
private readonly pendingEventListeners;
|
|
78
|
-
constructor(opts: RelayAdapterOptions);
|
|
79
|
-
private ensureClient;
|
|
80
|
-
/** Start the broker process. Idempotent — concurrent calls share one spawn. */
|
|
81
|
-
start(): Promise<void>;
|
|
82
|
-
private doStart;
|
|
83
|
-
/** Shut down the broker and all spawned agents. */
|
|
84
|
-
shutdown(): Promise<void>;
|
|
85
|
-
/** Spawn an agent via the broker's PTY runtime. */
|
|
86
|
-
spawn(req: RelaySpawnRequest): Promise<RelaySpawnResult>;
|
|
87
|
-
/** Release (stop) a spawned agent. */
|
|
88
|
-
release(name: string, reason?: string): Promise<RelayReleaseResult>;
|
|
89
|
-
/** List all agents managed by this broker instance. */
|
|
90
|
-
listAgents(): Promise<RelayAgentInfo[]>;
|
|
91
|
-
/** Check if a specific agent is spawned. */
|
|
92
|
-
hasAgent(name: string): Promise<boolean>;
|
|
93
|
-
/** Get broker status (agent count, pending deliveries). */
|
|
94
|
-
getStatus(): Promise<BrokerStatus>;
|
|
95
|
-
/** Send a message to an agent or channel. */
|
|
96
|
-
sendMessage(input: SendMessageInput): Promise<{
|
|
97
|
-
event_id: string;
|
|
98
|
-
targets: string[];
|
|
99
|
-
}>;
|
|
100
|
-
sendInput(name: string, data: string): Promise<void>;
|
|
101
|
-
openInputStream(name: string, options?: PtyInputStreamOptions): Promise<PtyInputStream>;
|
|
102
|
-
interruptAgent(name: string): Promise<boolean>;
|
|
103
|
-
setModel(name: string, model: string, opts?: {
|
|
104
|
-
timeoutMs?: number;
|
|
105
|
-
}): Promise<{
|
|
106
|
-
success: boolean;
|
|
107
|
-
name: string;
|
|
108
|
-
model: string;
|
|
109
|
-
}>;
|
|
110
|
-
getMetrics(agent?: string): Promise<{
|
|
111
|
-
agents: Array<{
|
|
112
|
-
name: string;
|
|
113
|
-
pid: number;
|
|
114
|
-
memory_bytes: number;
|
|
115
|
-
uptime_secs: number;
|
|
116
|
-
}>;
|
|
117
|
-
broker?: BrokerStats;
|
|
118
|
-
}>;
|
|
119
|
-
getCrashInsights(): Promise<CrashInsightsResponse>;
|
|
120
|
-
onEvent(listener: (event: BrokerEvent) => void): () => void;
|
|
121
|
-
onStderr(listener: (line: string) => void): () => void;
|
|
122
|
-
get raw(): AgentRelayClient;
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=relay-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relay-adapter.d.ts","sourceRoot":"","sources":["../src/relay-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/relay-adapter.js
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RelayAdapter — high-level interface over the broker SDK.
|
|
3
|
-
*
|
|
4
|
-
* Wraps AgentRelayClient with auto-start, safe result patterns,
|
|
5
|
-
* and convenience methods. Usable by any integration: dashboard,
|
|
6
|
-
* MCP, ACP bridge, CLI, or custom tooling.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* import { RelayAdapter } from '@agent-relay/sdk';
|
|
10
|
-
*
|
|
11
|
-
* const relay = new RelayAdapter({ cwd: projectRoot });
|
|
12
|
-
* await relay.start();
|
|
13
|
-
*
|
|
14
|
-
* await relay.spawn({ name: 'Worker1', cli: 'claude', task: 'Build auth' });
|
|
15
|
-
* const agents = await relay.listAgents();
|
|
16
|
-
* await relay.sendMessage({ to: 'Worker1', text: 'status?' });
|
|
17
|
-
* await relay.release('Worker1');
|
|
18
|
-
*
|
|
19
|
-
* await relay.shutdown();
|
|
20
|
-
*/
|
|
21
|
-
import { AgentRelayClient } from './client.js';
|
|
22
|
-
const WORKFLOW_BOOTSTRAP_TASK = 'You are connected to Agent Relay. Do not reply to this message and wait for relay messages and respond using Relaycast MCP tools.';
|
|
23
|
-
const WORKFLOW_CONVENTIONS = [
|
|
24
|
-
'Messaging requirements:',
|
|
25
|
-
'- When you receive `Relay message from <sender> ...`, reply using `mcp__relaycast__message_dm_send(to: "<sender>", text: "...")`.',
|
|
26
|
-
'- Send `ACK: ...` when you receive a task.',
|
|
27
|
-
'- Send `DONE: ...` when the task is complete.',
|
|
28
|
-
'- Do not reply only in terminal text; send the response via mcp__relaycast__message_dm_send.',
|
|
29
|
-
'- Use mcp__relaycast__message_inbox_check() and mcp__relaycast__agent_list() when context is missing.',
|
|
30
|
-
].join('\n');
|
|
31
|
-
function hasWorkflowConventions(task) {
|
|
32
|
-
const lower = task.toLowerCase();
|
|
33
|
-
return (lower.includes('mcp__relaycast__message_dm_send(') ||
|
|
34
|
-
lower.includes('relay_send(') ||
|
|
35
|
-
(lower.includes('ack:') && lower.includes('done:')));
|
|
36
|
-
}
|
|
37
|
-
function buildSpawnTask(task, includeWorkflowConventions) {
|
|
38
|
-
const normalized = typeof task === 'string' ? task.trim() : '';
|
|
39
|
-
if (!includeWorkflowConventions) {
|
|
40
|
-
return normalized.length > 0 ? normalized : undefined;
|
|
41
|
-
}
|
|
42
|
-
if (normalized.length === 0) {
|
|
43
|
-
return `${WORKFLOW_BOOTSTRAP_TASK}\n\n${WORKFLOW_CONVENTIONS}`;
|
|
44
|
-
}
|
|
45
|
-
if (hasWorkflowConventions(normalized)) {
|
|
46
|
-
return normalized;
|
|
47
|
-
}
|
|
48
|
-
return `${normalized}\n\n${WORKFLOW_CONVENTIONS}`;
|
|
49
|
-
}
|
|
50
|
-
// ── Adapter ─────────────────────────────────────────────────────────
|
|
51
|
-
export class RelayAdapter {
|
|
52
|
-
client = null;
|
|
53
|
-
started = false;
|
|
54
|
-
startPromise = null;
|
|
55
|
-
spawnOpts;
|
|
56
|
-
stderrListeners = new Set();
|
|
57
|
-
pendingEventListeners = [];
|
|
58
|
-
constructor(opts) {
|
|
59
|
-
this.spawnOpts = {
|
|
60
|
-
binaryPath: opts.binaryPath,
|
|
61
|
-
channels: opts.channels ?? ['general'],
|
|
62
|
-
cwd: opts.cwd,
|
|
63
|
-
env: opts.env,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
ensureClient() {
|
|
67
|
-
if (!this.client)
|
|
68
|
-
throw new Error('RelayAdapter not started — call start() first');
|
|
69
|
-
return this.client;
|
|
70
|
-
}
|
|
71
|
-
// ── Lifecycle ───────────────────────────────────────────────────
|
|
72
|
-
/** Start the broker process. Idempotent — concurrent calls share one spawn. */
|
|
73
|
-
async start() {
|
|
74
|
-
if (this.started)
|
|
75
|
-
return;
|
|
76
|
-
if (this.startPromise)
|
|
77
|
-
return this.startPromise;
|
|
78
|
-
this.startPromise = this.doStart();
|
|
79
|
-
try {
|
|
80
|
-
await this.startPromise;
|
|
81
|
-
}
|
|
82
|
-
finally {
|
|
83
|
-
this.startPromise = null;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
async doStart() {
|
|
87
|
-
this.client = await AgentRelayClient.spawn({
|
|
88
|
-
...this.spawnOpts,
|
|
89
|
-
onStderr: (line) => {
|
|
90
|
-
for (const listener of this.stderrListeners) {
|
|
91
|
-
try {
|
|
92
|
-
listener(line);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
/* ignore */
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
// Wire any event listeners that were registered before start()
|
|
101
|
-
for (const listener of this.pendingEventListeners) {
|
|
102
|
-
this.client.onEvent(listener);
|
|
103
|
-
}
|
|
104
|
-
this.pendingEventListeners.length = 0;
|
|
105
|
-
this.started = true;
|
|
106
|
-
}
|
|
107
|
-
/** Shut down the broker and all spawned agents. */
|
|
108
|
-
async shutdown() {
|
|
109
|
-
await this.ensureClient().shutdown();
|
|
110
|
-
this.client = null;
|
|
111
|
-
this.started = false;
|
|
112
|
-
}
|
|
113
|
-
// ── Spawn / Release ─────────────────────────────────────────────
|
|
114
|
-
/** Spawn an agent via the broker's PTY runtime. */
|
|
115
|
-
async spawn(req) {
|
|
116
|
-
await this.start();
|
|
117
|
-
const client = this.ensureClient();
|
|
118
|
-
try {
|
|
119
|
-
const input = {
|
|
120
|
-
name: req.name,
|
|
121
|
-
cli: req.cli,
|
|
122
|
-
task: buildSpawnTask(req.task, req.includeWorkflowConventions),
|
|
123
|
-
channels: ['general'],
|
|
124
|
-
model: req.model,
|
|
125
|
-
cwd: req.cwd,
|
|
126
|
-
team: req.team,
|
|
127
|
-
shadowOf: req.shadowOf,
|
|
128
|
-
shadowMode: req.shadowMode,
|
|
129
|
-
};
|
|
130
|
-
const result = await client.spawnPty(input);
|
|
131
|
-
let pid;
|
|
132
|
-
try {
|
|
133
|
-
const agents = await client.listAgents();
|
|
134
|
-
pid = agents.find((a) => a.name === req.name)?.pid;
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
// Non-fatal
|
|
138
|
-
}
|
|
139
|
-
return { success: true, name: result.name, pid };
|
|
140
|
-
}
|
|
141
|
-
catch (err) {
|
|
142
|
-
return { success: false, name: req.name, error: err?.message ?? String(err) };
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
/** Release (stop) a spawned agent. */
|
|
146
|
-
async release(name, reason) {
|
|
147
|
-
await this.start();
|
|
148
|
-
try {
|
|
149
|
-
await this.ensureClient().release(name, reason);
|
|
150
|
-
return { success: true, name };
|
|
151
|
-
}
|
|
152
|
-
catch (err) {
|
|
153
|
-
return { success: false, name, error: err?.message ?? String(err) };
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
// ── Query ───────────────────────────────────────────────────────
|
|
157
|
-
/** List all agents managed by this broker instance. */
|
|
158
|
-
async listAgents() {
|
|
159
|
-
await this.start();
|
|
160
|
-
const agents = await this.ensureClient().listAgents();
|
|
161
|
-
return agents.map((a) => ({
|
|
162
|
-
name: a.name,
|
|
163
|
-
cli: undefined,
|
|
164
|
-
pid: a.pid,
|
|
165
|
-
channels: a.channels,
|
|
166
|
-
parent: a.parent,
|
|
167
|
-
runtime: a.runtime,
|
|
168
|
-
}));
|
|
169
|
-
}
|
|
170
|
-
/** Check if a specific agent is spawned. */
|
|
171
|
-
async hasAgent(name) {
|
|
172
|
-
const agents = await this.listAgents();
|
|
173
|
-
return agents.some((a) => a.name === name);
|
|
174
|
-
}
|
|
175
|
-
/** Get broker status (agent count, pending deliveries). */
|
|
176
|
-
async getStatus() {
|
|
177
|
-
await this.start();
|
|
178
|
-
return this.ensureClient().getStatus();
|
|
179
|
-
}
|
|
180
|
-
// ── Messaging ───────────────────────────────────────────────────
|
|
181
|
-
/** Send a message to an agent or channel. */
|
|
182
|
-
async sendMessage(input) {
|
|
183
|
-
await this.start();
|
|
184
|
-
return this.ensureClient().sendMessage(input);
|
|
185
|
-
}
|
|
186
|
-
// ── PTY Input ───────────────────────────────────────────────────
|
|
187
|
-
async sendInput(name, data) {
|
|
188
|
-
await this.start();
|
|
189
|
-
await this.ensureClient().sendInput(name, data);
|
|
190
|
-
}
|
|
191
|
-
async openInputStream(name, options) {
|
|
192
|
-
await this.start();
|
|
193
|
-
return this.ensureClient().openInputStream(name, options);
|
|
194
|
-
}
|
|
195
|
-
async interruptAgent(name) {
|
|
196
|
-
try {
|
|
197
|
-
await this.sendInput(name, '\x1b\x1b');
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
return false;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// ── Model ───────────────────────────────────────────────────────
|
|
205
|
-
async setModel(name, model, opts) {
|
|
206
|
-
await this.start();
|
|
207
|
-
return this.ensureClient().setModel(name, model, opts);
|
|
208
|
-
}
|
|
209
|
-
// ── Metrics ─────────────────────────────────────────────────────
|
|
210
|
-
async getMetrics(agent) {
|
|
211
|
-
await this.start();
|
|
212
|
-
return this.ensureClient().getMetrics(agent);
|
|
213
|
-
}
|
|
214
|
-
async getCrashInsights() {
|
|
215
|
-
await this.start();
|
|
216
|
-
return this.ensureClient().getCrashInsights();
|
|
217
|
-
}
|
|
218
|
-
// ── Events ──────────────────────────────────────────────────────
|
|
219
|
-
onEvent(listener) {
|
|
220
|
-
if (this.client) {
|
|
221
|
-
return this.client.onEvent(listener);
|
|
222
|
-
}
|
|
223
|
-
// Queue listener — will be wired after start()
|
|
224
|
-
this.pendingEventListeners.push(listener);
|
|
225
|
-
return () => {
|
|
226
|
-
const idx = this.pendingEventListeners.indexOf(listener);
|
|
227
|
-
if (idx >= 0)
|
|
228
|
-
this.pendingEventListeners.splice(idx, 1);
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
onStderr(listener) {
|
|
232
|
-
this.stderrListeners.add(listener);
|
|
233
|
-
return () => {
|
|
234
|
-
this.stderrListeners.delete(listener);
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
// ── Underlying client (escape hatch) ────────────────────────────
|
|
238
|
-
get raw() {
|
|
239
|
-
return this.ensureClient();
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
//# sourceMappingURL=relay-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relay-adapter.js","sourceRoot":"","sources":["../src/relay-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,gBAAgB,EAA+B,MAAM,aAAa,CAAC;AAK5E,MAAM,uBAAuB,GAC3B,mIAAmI,CAAC;AAEtI,MAAM,oBAAoB,GAAG;IAC3B,yBAAyB;IACzB,mIAAmI;IACnI,4CAA4C;IAC5C,+CAA+C;IAC/C,8FAA8F;IAC9F,uGAAuG;CACxG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAClD,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAAwB,EACxB,0BAA+C;IAE/C,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,uBAAuB,OAAO,oBAAoB,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,UAAU,OAAO,oBAAoB,EAAE,CAAC;AACpD,CAAC;AAuDD,uEAAuE;AAEvE,MAAM,OAAO,YAAY;IACf,MAAM,GAA4B,IAAI,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAyB,IAAI,CAAC;IACjC,SAAS,CAAyB;IAClC,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,qBAAqB,GAAwC,EAAE,CAAC;IAEjF,YAAY,IAAyB;QACnC,IAAI,CAAC,SAAS,GAAG;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,mEAAmE;IAEnE,+EAA+E;IAC/E,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC;YACzC,GAAG,IAAI,CAAC,SAAS;YACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,+DAA+D;QAC/D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,mEAAmE;IAEnE,mDAAmD;IACnD,KAAK,CAAC,KAAK,CAAC,GAAsB;QAChC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAkB;gBAC3B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,0BAA0B,CAAC;gBAC9D,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE5C,IAAI,GAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAe;QACzC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,mEAAmE;IAEnE,uDAAuD;IACvD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAED,mEAAmE;IAEnE,6CAA6C;IAC7C,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QACxC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAA+B;QACjE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,KAAa,EACb,IAA6B;QAE7B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,UAAU,CAAC,KAAc;QAI7B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED,mEAAmE;IAEnE,OAAO,CAAC,QAAsC;QAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,+CAA+C;QAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,QAAgC;QACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;CACF"}
|