@swarmify/agents-cli 1.11.3 → 1.13.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/CHANGELOG.md +40 -1
- package/LICENSE +21 -0
- package/README.md +209 -233
- package/dist/commands/__tests__/sessions.test.js +90 -20
- package/dist/commands/__tests__/sessions.test.js.map +1 -1
- package/dist/commands/cloud.d.ts +11 -0
- package/dist/commands/cloud.d.ts.map +1 -0
- package/dist/commands/cloud.js +363 -0
- package/dist/commands/cloud.js.map +1 -0
- package/dist/commands/commands.d.ts +9 -0
- package/dist/commands/commands.d.ts.map +1 -1
- package/dist/commands/commands.js +330 -139
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/daemon.d.ts +8 -0
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +38 -222
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/drive.d.ts +8 -0
- package/dist/commands/drive.d.ts.map +1 -1
- package/dist/commands/drive.js +70 -7
- package/dist/commands/drive.js.map +1 -1
- package/dist/commands/exec.d.ts +9 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +198 -24
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/factory.d.ts +11 -0
- package/dist/commands/factory.d.ts.map +1 -0
- package/dist/commands/factory.js +445 -0
- package/dist/commands/factory.js.map +1 -0
- package/dist/commands/fork.d.ts +8 -0
- package/dist/commands/fork.d.ts.map +1 -1
- package/dist/commands/fork.js +38 -4
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/hooks.d.ts +9 -0
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +252 -18
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/init.d.ts +15 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +137 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +250 -169
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/models.d.ts +11 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +170 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/packages.d.ts +8 -0
- package/dist/commands/packages.d.ts.map +1 -1
- package/dist/commands/packages.js +155 -14
- package/dist/commands/packages.js.map +1 -1
- package/dist/commands/permissions.d.ts +9 -0
- package/dist/commands/permissions.d.ts.map +1 -1
- package/dist/commands/permissions.js +72 -13
- package/dist/commands/permissions.js.map +1 -1
- package/dist/commands/plugins.d.ts +8 -0
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +265 -44
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/profiles.d.ts +12 -0
- package/dist/commands/profiles.d.ts.map +1 -0
- package/dist/commands/profiles.js +255 -0
- package/dist/commands/profiles.js.map +1 -0
- package/dist/commands/pty.d.ts +1 -0
- package/dist/commands/pty.d.ts.map +1 -1
- package/dist/commands/pty.js +133 -22
- package/dist/commands/pty.js.map +1 -1
- package/dist/commands/pull.d.ts +8 -0
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +103 -14
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts +8 -0
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +37 -3
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/refresh-memory.d.ts +16 -0
- package/dist/commands/refresh-memory.d.ts.map +1 -0
- package/dist/commands/refresh-memory.js +52 -0
- package/dist/commands/refresh-memory.js.map +1 -0
- package/dist/commands/resource-view.d.ts +39 -0
- package/dist/commands/resource-view.d.ts.map +1 -0
- package/dist/commands/resource-view.js +197 -0
- package/dist/commands/resource-view.js.map +1 -0
- package/dist/commands/routines.d.ts +8 -0
- package/dist/commands/routines.d.ts.map +1 -1
- package/dist/commands/routines.js +163 -34
- package/dist/commands/routines.js.map +1 -1
- package/dist/commands/rules.d.ts +9 -0
- package/dist/commands/rules.d.ts.map +1 -1
- package/dist/commands/rules.js +83 -12
- package/dist/commands/rules.js.map +1 -1
- package/dist/commands/secrets.d.ts +11 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +352 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/sessions-picker.d.ts +18 -0
- package/dist/commands/sessions-picker.d.ts.map +1 -0
- package/dist/commands/sessions-picker.js +265 -0
- package/dist/commands/sessions-picker.js.map +1 -0
- package/dist/commands/sessions.d.ts +15 -0
- package/dist/commands/sessions.d.ts.map +1 -1
- package/dist/commands/sessions.js +708 -258
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/skills.d.ts +9 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +355 -233
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/subagents.d.ts +8 -0
- package/dist/commands/subagents.d.ts.map +1 -1
- package/dist/commands/subagents.js +214 -74
- package/dist/commands/subagents.js.map +1 -1
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +15 -7
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/teams-picker.d.ts +18 -0
- package/dist/commands/teams-picker.d.ts.map +1 -0
- package/dist/commands/teams-picker.js +290 -0
- package/dist/commands/teams-picker.js.map +1 -0
- package/dist/commands/teams.d.ts +18 -0
- package/dist/commands/teams.d.ts.map +1 -0
- package/dist/commands/teams.js +1098 -0
- package/dist/commands/teams.js.map +1 -0
- package/dist/commands/utils.d.ts +20 -0
- package/dist/commands/utils.d.ts.map +1 -1
- package/dist/commands/utils.js +34 -0
- package/dist/commands/utils.js.map +1 -1
- package/dist/commands/versions.d.ts +8 -0
- package/dist/commands/versions.d.ts.map +1 -1
- package/dist/commands/versions.js +71 -8
- package/dist/commands/versions.js.map +1 -1
- package/dist/commands/view.d.ts +34 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +207 -13
- package/dist/commands/view.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +136 -51
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/bugfixes.test.js +3 -3
- package/dist/lib/__tests__/bugfixes.test.js.map +1 -1
- package/dist/lib/__tests__/exec.test.js +125 -19
- package/dist/lib/__tests__/exec.test.js.map +1 -1
- package/dist/lib/__tests__/hooks.test.d.ts +2 -0
- package/dist/lib/__tests__/hooks.test.d.ts.map +1 -0
- package/dist/lib/__tests__/hooks.test.js +203 -0
- package/dist/lib/__tests__/hooks.test.js.map +1 -0
- package/dist/lib/__tests__/memory-compile.test.d.ts +2 -0
- package/dist/lib/__tests__/memory-compile.test.d.ts.map +1 -0
- package/dist/lib/__tests__/memory-compile.test.js +95 -0
- package/dist/lib/__tests__/memory-compile.test.js.map +1 -0
- package/dist/lib/__tests__/models.test.d.ts +2 -0
- package/dist/lib/__tests__/models.test.d.ts.map +1 -0
- package/dist/lib/__tests__/models.test.js +239 -0
- package/dist/lib/__tests__/models.test.js.map +1 -0
- package/dist/lib/__tests__/rotate.test.d.ts +2 -0
- package/dist/lib/__tests__/rotate.test.d.ts.map +1 -0
- package/dist/lib/__tests__/rotate.test.js +80 -0
- package/dist/lib/__tests__/rotate.test.js.map +1 -0
- package/dist/lib/__tests__/secrets-bundles.test.d.ts +2 -0
- package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +1 -0
- package/dist/lib/__tests__/secrets-bundles.test.js +104 -0
- package/dist/lib/__tests__/secrets-bundles.test.js.map +1 -0
- package/dist/lib/__tests__/secrets.test.d.ts +2 -0
- package/dist/lib/__tests__/secrets.test.d.ts.map +1 -0
- package/dist/lib/__tests__/secrets.test.js +90 -0
- package/dist/lib/__tests__/secrets.test.js.map +1 -0
- package/dist/lib/__tests__/shims.test.d.ts +2 -0
- package/dist/lib/__tests__/shims.test.d.ts.map +1 -0
- package/dist/lib/__tests__/shims.test.js +39 -0
- package/dist/lib/__tests__/shims.test.js.map +1 -0
- package/dist/lib/__tests__/usage.test.js +4 -2
- package/dist/lib/__tests__/usage.test.js.map +1 -1
- package/dist/lib/__tests__/versions.test.d.ts +2 -0
- package/dist/lib/__tests__/versions.test.d.ts.map +1 -0
- package/dist/lib/__tests__/versions.test.js +63 -0
- package/dist/lib/__tests__/versions.test.js.map +1 -0
- package/dist/lib/agents.d.ts +53 -1
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +178 -37
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/artifact-actions.d.ts +8 -3
- package/dist/lib/artifact-actions.d.ts.map +1 -1
- package/dist/lib/artifact-actions.js +8 -5
- package/dist/lib/artifact-actions.js.map +1 -1
- package/dist/lib/cloud/codex.d.ts +26 -0
- package/dist/lib/cloud/codex.d.ts.map +1 -0
- package/dist/lib/cloud/codex.js +237 -0
- package/dist/lib/cloud/codex.js.map +1 -0
- package/dist/lib/cloud/factory.d.ts +32 -0
- package/dist/lib/cloud/factory.d.ts.map +1 -0
- package/dist/lib/cloud/factory.js +43 -0
- package/dist/lib/cloud/factory.js.map +1 -0
- package/dist/lib/cloud/registry.d.ts +16 -0
- package/dist/lib/cloud/registry.d.ts.map +1 -0
- package/dist/lib/cloud/registry.js +68 -0
- package/dist/lib/cloud/registry.js.map +1 -0
- package/dist/lib/cloud/rush.d.ts +37 -0
- package/dist/lib/cloud/rush.d.ts.map +1 -0
- package/dist/lib/cloud/rush.js +230 -0
- package/dist/lib/cloud/rush.js.map +1 -0
- package/dist/lib/cloud/rush.test.d.ts +2 -0
- package/dist/lib/cloud/rush.test.d.ts.map +1 -0
- package/dist/lib/cloud/rush.test.js +63 -0
- package/dist/lib/cloud/rush.test.js.map +1 -0
- package/dist/lib/cloud/store.d.ts +23 -0
- package/dist/lib/cloud/store.d.ts.map +1 -0
- package/dist/lib/cloud/store.js +116 -0
- package/dist/lib/cloud/store.js.map +1 -0
- package/dist/lib/cloud/stream.d.ts +24 -0
- package/dist/lib/cloud/stream.d.ts.map +1 -0
- package/dist/lib/cloud/stream.js +145 -0
- package/dist/lib/cloud/stream.js.map +1 -0
- package/dist/lib/cloud/types.d.ts +109 -0
- package/dist/lib/cloud/types.d.ts.map +1 -0
- package/dist/lib/cloud/types.js +33 -0
- package/dist/lib/cloud/types.js.map +1 -0
- package/dist/lib/cloud/types.test.d.ts +2 -0
- package/dist/lib/cloud/types.test.d.ts.map +1 -0
- package/dist/lib/cloud/types.test.js +41 -0
- package/dist/lib/cloud/types.test.js.map +1 -0
- package/dist/lib/commands.d.ts +67 -0
- package/dist/lib/commands.d.ts.map +1 -1
- package/dist/lib/commands.js +161 -2
- package/dist/lib/commands.js.map +1 -1
- package/dist/lib/convert.d.ts +10 -0
- package/dist/lib/convert.d.ts.map +1 -1
- package/dist/lib/convert.js +9 -0
- package/dist/lib/convert.js.map +1 -1
- package/dist/lib/daemon.d.ts +21 -0
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/daemon.js +21 -0
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/drive-sync.d.ts +18 -0
- package/dist/lib/drive-sync.d.ts.map +1 -1
- package/dist/lib/drive-sync.js +16 -0
- package/dist/lib/drive-sync.js.map +1 -1
- package/dist/lib/exec.d.ts +64 -3
- package/dist/lib/exec.d.ts.map +1 -1
- package/dist/lib/exec.js +218 -80
- package/dist/lib/exec.js.map +1 -1
- package/dist/lib/factory/__tests__/config.test.d.ts +2 -0
- package/dist/lib/factory/__tests__/config.test.d.ts.map +1 -0
- package/dist/lib/factory/__tests__/config.test.js +128 -0
- package/dist/lib/factory/__tests__/config.test.js.map +1 -0
- package/dist/lib/factory/config.d.ts +49 -0
- package/dist/lib/factory/config.d.ts.map +1 -0
- package/dist/lib/factory/config.js +127 -0
- package/dist/lib/factory/config.js.map +1 -0
- package/dist/lib/factory.js +1 -1
- package/dist/lib/factory.js.map +1 -1
- package/dist/lib/git.d.ts +16 -1
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +33 -4
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/help.d.ts +7 -0
- package/dist/lib/help.d.ts.map +1 -1
- package/dist/lib/help.js +3 -0
- package/dist/lib/help.js.map +1 -1
- package/dist/lib/hooks.d.ts +59 -3
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +413 -33
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/ledger/__tests__/local.test.d.ts +2 -0
- package/dist/lib/ledger/__tests__/local.test.d.ts.map +1 -0
- package/dist/lib/ledger/__tests__/local.test.js +177 -0
- package/dist/lib/ledger/__tests__/local.test.js.map +1 -0
- package/dist/lib/ledger/__tests__/sync.test.d.ts +2 -0
- package/dist/lib/ledger/__tests__/sync.test.d.ts.map +1 -0
- package/dist/lib/ledger/__tests__/sync.test.js +117 -0
- package/dist/lib/ledger/__tests__/sync.test.js.map +1 -0
- package/dist/lib/ledger/index.d.ts +18 -0
- package/dist/lib/ledger/index.d.ts.map +1 -0
- package/dist/lib/ledger/index.js +32 -0
- package/dist/lib/ledger/index.js.map +1 -0
- package/dist/lib/ledger/local.d.ts +22 -0
- package/dist/lib/ledger/local.d.ts.map +1 -0
- package/dist/lib/ledger/local.js +333 -0
- package/dist/lib/ledger/local.js.map +1 -0
- package/dist/lib/ledger/r2.d.ts +41 -0
- package/dist/lib/ledger/r2.d.ts.map +1 -0
- package/dist/lib/ledger/r2.js +335 -0
- package/dist/lib/ledger/r2.js.map +1 -0
- package/dist/lib/ledger/sync.d.ts +33 -0
- package/dist/lib/ledger/sync.d.ts.map +1 -0
- package/dist/lib/ledger/sync.js +106 -0
- package/dist/lib/ledger/sync.js.map +1 -0
- package/dist/lib/ledger/types.d.ts +100 -0
- package/dist/lib/ledger/types.d.ts.map +1 -0
- package/dist/lib/ledger/types.js +21 -0
- package/dist/lib/ledger/types.js.map +1 -0
- package/dist/lib/manifest.d.ts +6 -0
- package/dist/lib/manifest.d.ts.map +1 -1
- package/dist/lib/manifest.js +12 -0
- package/dist/lib/manifest.js.map +1 -1
- package/dist/lib/markdown.d.ts.map +1 -1
- package/dist/lib/markdown.js +6 -0
- package/dist/lib/markdown.js.map +1 -1
- package/dist/lib/mcp.d.ts +0 -9
- package/dist/lib/mcp.d.ts.map +1 -1
- package/dist/lib/mcp.js +0 -20
- package/dist/lib/mcp.js.map +1 -1
- package/dist/lib/memory-compile.d.ts +65 -0
- package/dist/lib/memory-compile.d.ts.map +1 -0
- package/dist/lib/memory-compile.js +174 -0
- package/dist/lib/memory-compile.js.map +1 -0
- package/dist/lib/memory.d.ts +8 -0
- package/dist/lib/memory.d.ts.map +1 -1
- package/dist/lib/memory.js +8 -0
- package/dist/lib/memory.js.map +1 -1
- package/dist/lib/models.d.ts +98 -0
- package/dist/lib/models.d.ts.map +1 -0
- package/dist/lib/models.js +722 -0
- package/dist/lib/models.js.map +1 -0
- package/dist/lib/permissions.d.ts +3 -1
- package/dist/lib/permissions.d.ts.map +1 -1
- package/dist/lib/permissions.js +13 -3
- package/dist/lib/permissions.js.map +1 -1
- package/dist/lib/picker.d.ts +27 -0
- package/dist/lib/picker.d.ts.map +1 -0
- package/dist/lib/picker.js +110 -0
- package/dist/lib/picker.js.map +1 -0
- package/dist/lib/plugins.d.ts +22 -0
- package/dist/lib/plugins.d.ts.map +1 -1
- package/dist/lib/plugins.js +114 -0
- package/dist/lib/plugins.js.map +1 -1
- package/dist/lib/profiles-keychain.d.ts +11 -0
- package/dist/lib/profiles-keychain.d.ts.map +1 -0
- package/dist/lib/profiles-keychain.js +14 -0
- package/dist/lib/profiles-keychain.js.map +1 -0
- package/dist/lib/profiles-presets.d.ts +25 -0
- package/dist/lib/profiles-presets.d.ts.map +1 -0
- package/dist/lib/profiles-presets.js +104 -0
- package/dist/lib/profiles-presets.js.map +1 -0
- package/dist/lib/profiles.d.ts +70 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +145 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/pty-client.d.ts +1 -0
- package/dist/lib/pty-client.d.ts.map +1 -1
- package/dist/lib/pty-client.js.map +1 -1
- package/dist/lib/pty-server.d.ts +5 -0
- package/dist/lib/pty-server.d.ts.map +1 -1
- package/dist/lib/pty-server.js +5 -0
- package/dist/lib/pty-server.js.map +1 -1
- package/dist/lib/registry.d.ts +17 -0
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/registry.js +17 -0
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/resources.d.ts +5 -0
- package/dist/lib/resources.d.ts.map +1 -1
- package/dist/lib/resources.js.map +1 -1
- package/dist/lib/rotate.d.ts +58 -0
- package/dist/lib/rotate.d.ts.map +1 -0
- package/dist/lib/rotate.js +93 -0
- package/dist/lib/rotate.js.map +1 -0
- package/dist/lib/routines.d.ts +30 -1
- package/dist/lib/routines.d.ts.map +1 -1
- package/dist/lib/routines.js +31 -4
- package/dist/lib/routines.js.map +1 -1
- package/dist/lib/runner.d.ts +14 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +45 -11
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/sandbox.d.ts +16 -0
- package/dist/lib/sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox.js +19 -2
- package/dist/lib/sandbox.js.map +1 -1
- package/dist/lib/scheduler.d.ts +8 -0
- package/dist/lib/scheduler.d.ts.map +1 -1
- package/dist/lib/scheduler.js +8 -0
- package/dist/lib/scheduler.js.map +1 -1
- package/dist/lib/secrets-bundles.d.ts +38 -0
- package/dist/lib/secrets-bundles.d.ts.map +1 -0
- package/dist/lib/secrets-bundles.js +176 -0
- package/dist/lib/secrets-bundles.js.map +1 -0
- package/dist/lib/secrets.d.ts +53 -0
- package/dist/lib/secrets.d.ts.map +1 -0
- package/dist/lib/secrets.js +140 -0
- package/dist/lib/secrets.js.map +1 -0
- package/dist/lib/session/__tests__/db.test.d.ts +2 -0
- package/dist/lib/session/__tests__/db.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/db.test.js +54 -0
- package/dist/lib/session/__tests__/db.test.js.map +1 -0
- package/dist/lib/session/__tests__/discover.test.js +54 -91
- package/dist/lib/session/__tests__/discover.test.js.map +1 -1
- package/dist/lib/session/__tests__/prompt.test.d.ts +2 -0
- package/dist/lib/session/__tests__/prompt.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/prompt.test.js +44 -0
- package/dist/lib/session/__tests__/prompt.test.js.map +1 -0
- package/dist/lib/session/__tests__/render.test.d.ts +2 -0
- package/dist/lib/session/__tests__/render.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/render.test.js +602 -0
- package/dist/lib/session/__tests__/render.test.js.map +1 -0
- package/dist/lib/session/artifacts.d.ts +15 -0
- package/dist/lib/session/artifacts.d.ts.map +1 -0
- package/dist/lib/session/artifacts.js +86 -0
- package/dist/lib/session/artifacts.js.map +1 -0
- package/dist/lib/session/db.d.ts +140 -0
- package/dist/lib/session/db.d.ts.map +1 -0
- package/dist/lib/session/db.js +599 -0
- package/dist/lib/session/db.js.map +1 -0
- package/dist/lib/session/discover.d.ts +44 -32
- package/dist/lib/session/discover.d.ts.map +1 -1
- package/dist/lib/session/discover.js +418 -464
- package/dist/lib/session/discover.js.map +1 -1
- package/dist/lib/session/parse.d.ts +11 -0
- package/dist/lib/session/parse.d.ts.map +1 -1
- package/dist/lib/session/parse.js +50 -0
- package/dist/lib/session/parse.js.map +1 -1
- package/dist/lib/session/prompt.d.ts +10 -0
- package/dist/lib/session/prompt.d.ts.map +1 -1
- package/dist/lib/session/prompt.js +38 -2
- package/dist/lib/session/prompt.js.map +1 -1
- package/dist/lib/session/prompt.test.d.ts +2 -0
- package/dist/lib/session/prompt.test.d.ts.map +1 -0
- package/dist/lib/session/prompt.test.js +57 -0
- package/dist/lib/session/prompt.test.js.map +1 -0
- package/dist/lib/session/render.d.ts +91 -10
- package/dist/lib/session/render.d.ts.map +1 -1
- package/dist/lib/session/render.js +708 -180
- package/dist/lib/session/render.js.map +1 -1
- package/dist/lib/session/team-filter.d.ts +35 -0
- package/dist/lib/session/team-filter.d.ts.map +1 -0
- package/dist/lib/session/team-filter.js +75 -0
- package/dist/lib/session/team-filter.js.map +1 -0
- package/dist/lib/session/team-filter.test.d.ts +2 -0
- package/dist/lib/session/team-filter.test.d.ts.map +1 -0
- package/dist/lib/session/team-filter.test.js +157 -0
- package/dist/lib/session/team-filter.test.js.map +1 -0
- package/dist/lib/session/types.d.ts +48 -6
- package/dist/lib/session/types.d.ts.map +1 -1
- package/dist/lib/session/types.js +9 -0
- package/dist/lib/session/types.js.map +1 -1
- package/dist/lib/shims.d.ts +73 -2
- package/dist/lib/shims.d.ts.map +1 -1
- package/dist/lib/shims.js +171 -25
- package/dist/lib/shims.js.map +1 -1
- package/dist/lib/skills.d.ts +68 -0
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/skills.js +267 -1
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/state.d.ts +41 -2
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +63 -4
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/subagents.d.ts +9 -0
- package/dist/lib/subagents.d.ts.map +1 -1
- package/dist/lib/subagents.js +9 -1
- package/dist/lib/subagents.js.map +1 -1
- package/dist/lib/teams/__tests__/oracle.test.d.ts +2 -0
- package/dist/lib/teams/__tests__/oracle.test.d.ts.map +1 -0
- package/dist/lib/teams/__tests__/oracle.test.js +89 -0
- package/dist/lib/teams/__tests__/oracle.test.js.map +1 -0
- package/dist/lib/teams/__tests__/supervisor.test.d.ts +2 -0
- package/dist/lib/teams/__tests__/supervisor.test.d.ts.map +1 -0
- package/dist/lib/teams/__tests__/supervisor.test.js +179 -0
- package/dist/lib/teams/__tests__/supervisor.test.js.map +1 -0
- package/dist/lib/teams/agents.d.ts +247 -0
- package/dist/lib/teams/agents.d.ts.map +1 -0
- package/dist/lib/teams/agents.js +1244 -0
- package/dist/lib/teams/agents.js.map +1 -0
- package/dist/lib/teams/api.d.ts +91 -0
- package/dist/lib/teams/api.d.ts.map +1 -0
- package/dist/lib/teams/api.js +239 -0
- package/dist/lib/teams/api.js.map +1 -0
- package/dist/lib/teams/cloud.d.ts +11 -0
- package/dist/lib/teams/cloud.d.ts.map +1 -0
- package/dist/lib/teams/cloud.js +169 -0
- package/dist/lib/teams/cloud.js.map +1 -0
- package/dist/lib/teams/debug.d.ts +8 -0
- package/dist/lib/teams/debug.d.ts.map +1 -0
- package/dist/lib/teams/debug.js +12 -0
- package/dist/lib/teams/debug.js.map +1 -0
- package/dist/lib/teams/file_ops.d.ts +13 -0
- package/dist/lib/teams/file_ops.d.ts.map +1 -0
- package/dist/lib/teams/file_ops.js +66 -0
- package/dist/lib/teams/file_ops.js.map +1 -0
- package/dist/lib/teams/index.d.ts +16 -0
- package/dist/lib/teams/index.d.ts.map +1 -0
- package/dist/lib/teams/index.js +15 -0
- package/dist/lib/teams/index.js.map +1 -0
- package/dist/lib/teams/oracle.d.ts +20 -0
- package/dist/lib/teams/oracle.d.ts.map +1 -0
- package/dist/lib/teams/oracle.js +59 -0
- package/dist/lib/teams/oracle.js.map +1 -0
- package/dist/lib/teams/parsers.d.ts +9 -0
- package/dist/lib/teams/parsers.d.ts.map +1 -0
- package/dist/lib/teams/parsers.js +837 -0
- package/dist/lib/teams/parsers.js.map +1 -0
- package/dist/lib/teams/persistence.d.ts +43 -0
- package/dist/lib/teams/persistence.d.ts.map +1 -0
- package/dist/lib/teams/persistence.js +299 -0
- package/dist/lib/teams/persistence.js.map +1 -0
- package/dist/lib/teams/ralph.d.ts +8 -0
- package/dist/lib/teams/ralph.d.ts.map +1 -0
- package/dist/lib/teams/ralph.js +59 -0
- package/dist/lib/teams/ralph.js.map +1 -0
- package/dist/lib/teams/registry.d.ts +18 -0
- package/dist/lib/teams/registry.d.ts.map +1 -0
- package/dist/lib/teams/registry.js +68 -0
- package/dist/lib/teams/registry.js.map +1 -0
- package/dist/lib/teams/summarizer.d.ts +73 -0
- package/dist/lib/teams/summarizer.d.ts.map +1 -0
- package/dist/lib/teams/summarizer.js +780 -0
- package/dist/lib/teams/summarizer.js.map +1 -0
- package/dist/lib/teams/supervisor.d.ts +49 -0
- package/dist/lib/teams/supervisor.d.ts.map +1 -0
- package/dist/lib/teams/supervisor.js +74 -0
- package/dist/lib/teams/supervisor.js.map +1 -0
- package/dist/lib/template.d.ts +8 -5
- package/dist/lib/template.d.ts.map +1 -1
- package/dist/lib/template.js +8 -5
- package/dist/lib/template.js.map +1 -1
- package/dist/lib/types.d.ts +58 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +16 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/usage.d.ts +48 -0
- package/dist/lib/usage.d.ts.map +1 -1
- package/dist/lib/usage.js +103 -11
- package/dist/lib/usage.js.map +1 -1
- package/dist/lib/versions.d.ts +12 -1
- package/dist/lib/versions.d.ts.map +1 -1
- package/dist/lib/versions.js +91 -35
- package/dist/lib/versions.js.map +1 -1
- package/package.json +20 -6
- package/scripts/postinstall.js +1 -1
- package/scripts/rebuild-sqlite.sh +46 -0
- package/dist/commands/sessions.test.d.ts +0 -2
- package/dist/commands/sessions.test.d.ts.map +0 -1
- package/dist/commands/sessions.test.js +0 -53
- package/dist/commands/sessions.test.js.map +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Artifact action types and validation
|
|
3
|
-
* Ported from agents/halo/cli/pkg/config
|
|
2
|
+
* Artifact action types and validation.
|
|
3
|
+
* Ported from agents/halo/cli/pkg/config.
|
|
4
|
+
*
|
|
5
|
+
* Artifact actions map tool invocations to artifact labels, allowing agents to
|
|
6
|
+
* trigger tools automatically when specific artifacts are produced.
|
|
4
7
|
*/
|
|
5
8
|
/**
|
|
6
|
-
* Validate artifact actions configuration
|
|
9
|
+
* Validate artifact actions configuration.
|
|
7
10
|
* @param actions - List of artifact actions to validate
|
|
8
11
|
* @param httpToolNames - Set of tool names defined in http_tools section
|
|
9
12
|
* @param applicationTools - Set of valid application tool names
|
|
@@ -38,8 +41,8 @@ export function validateArtifactActions(actions, httpToolNames, applicationTools
|
|
|
38
41
|
return errors;
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
41
|
-
* Validate template string uses only allowed patterns
|
|
42
|
-
* Only allows {{artifact.X}} and {{preflight.X}} patterns
|
|
44
|
+
* Validate template string uses only allowed patterns.
|
|
45
|
+
* Only allows {{artifact.X}} and {{preflight.X}} patterns.
|
|
43
46
|
*/
|
|
44
47
|
function validateTemplate(tmpl) {
|
|
45
48
|
const re = /\{\{(\w+)\.(\w+)\}\}/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-actions.js","sourceRoot":"","sources":["../../src/lib/artifact-actions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"artifact-actions.js","sourceRoot":"","sources":["../../src/lib/artifact-actions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAyB,EACzB,aAA0B,EAC1B,gBAA6B;IAE7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,+BAA+B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,qBAAqB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0DAA0D,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,EAAE,GAAG,uBAAuB,CAAC;IACnC,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACpD,OAAO,gCAAgC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,8CAA8C,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex Cloud provider -- wraps the `codex` CLI for cloud dispatch.
|
|
3
|
+
*
|
|
4
|
+
* Delegates to `codex cloud exec/status/list` subcommands, parsing their
|
|
5
|
+
* JSON or text output into the unified CloudTask format. Streaming is
|
|
6
|
+
* emulated via polling since Codex Cloud lacks an SSE endpoint.
|
|
7
|
+
*/
|
|
8
|
+
import type { CloudProvider, CloudTask, CloudTaskStatus, CloudEvent, DispatchOptions } from './types.js';
|
|
9
|
+
export declare class CodexCloudProvider implements CloudProvider {
|
|
10
|
+
id: "codex";
|
|
11
|
+
name: string;
|
|
12
|
+
private defaultEnv?;
|
|
13
|
+
constructor(config?: {
|
|
14
|
+
env?: string;
|
|
15
|
+
});
|
|
16
|
+
supports(_options: DispatchOptions): boolean;
|
|
17
|
+
dispatch(options: DispatchOptions): Promise<CloudTask>;
|
|
18
|
+
status(taskId: string): Promise<CloudTask>;
|
|
19
|
+
list(filter?: {
|
|
20
|
+
status?: CloudTaskStatus;
|
|
21
|
+
}): Promise<CloudTask[]>;
|
|
22
|
+
stream(taskId: string): AsyncIterable<CloudEvent>;
|
|
23
|
+
cancel(_taskId: string): Promise<void>;
|
|
24
|
+
message(_taskId: string, _content: string): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/lib/cloud/codex.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AA0EpB,qBAAa,kBAAmB,YAAW,aAAa;IACtD,EAAE,EAAG,OAAO,CAAU;IACtB,IAAI,SAAiB;IAErB,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO;IAItC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAgDtD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB1C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgChE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IA+BlD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex Cloud provider -- wraps the `codex` CLI for cloud dispatch.
|
|
3
|
+
*
|
|
4
|
+
* Delegates to `codex cloud exec/status/list` subcommands, parsing their
|
|
5
|
+
* JSON or text output into the unified CloudTask format. Streaming is
|
|
6
|
+
* emulated via polling since Codex Cloud lacks an SSE endpoint.
|
|
7
|
+
*/
|
|
8
|
+
import { spawn, execFileSync } from 'child_process';
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import * as os from 'os';
|
|
12
|
+
import { resolveDispatchRepos } from './types.js';
|
|
13
|
+
const SHIMS_DIR = path.join(os.homedir(), '.agents', 'shims');
|
|
14
|
+
/** Map a Codex Cloud status string to the canonical CloudTaskStatus enum. */
|
|
15
|
+
function mapStatus(s) {
|
|
16
|
+
const lower = s.toLowerCase();
|
|
17
|
+
if (lower.includes('queued') || lower.includes('pending'))
|
|
18
|
+
return 'queued';
|
|
19
|
+
if (lower.includes('running') || lower.includes('in_progress'))
|
|
20
|
+
return 'running';
|
|
21
|
+
if (lower.includes('completed') || lower.includes('succeeded') || lower.includes('success'))
|
|
22
|
+
return 'completed';
|
|
23
|
+
if (lower.includes('failed') || lower.includes('error'))
|
|
24
|
+
return 'failed';
|
|
25
|
+
if (lower.includes('cancelled') || lower.includes('canceled'))
|
|
26
|
+
return 'cancelled';
|
|
27
|
+
return 'running';
|
|
28
|
+
}
|
|
29
|
+
/** Locate the codex binary, checking agents-cli shims first then PATH. */
|
|
30
|
+
function findCodexBinary() {
|
|
31
|
+
// Check agents-cli shims first
|
|
32
|
+
const shim = path.join(SHIMS_DIR, 'codex');
|
|
33
|
+
if (fs.existsSync(shim))
|
|
34
|
+
return shim;
|
|
35
|
+
// Check PATH via which
|
|
36
|
+
try {
|
|
37
|
+
return execFileSync('which', ['codex'], { stdio: 'pipe' }).toString().trim() || null;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Check whether the codex CLI is installed and reachable. */
|
|
44
|
+
function codexAvailable() {
|
|
45
|
+
return findCodexBinary() !== null;
|
|
46
|
+
}
|
|
47
|
+
/** Spawn the codex CLI with the given arguments and capture its output. */
|
|
48
|
+
function runCodex(args) {
|
|
49
|
+
const bin = findCodexBinary();
|
|
50
|
+
if (!bin)
|
|
51
|
+
return Promise.resolve({ stdout: '', stderr: 'codex not found', code: 127 });
|
|
52
|
+
return new Promise((resolve) => {
|
|
53
|
+
const proc = spawn(bin, args, { stdio: ['pipe', 'pipe', 'pipe'] });
|
|
54
|
+
let stdout = '';
|
|
55
|
+
let stderr = '';
|
|
56
|
+
proc.stdout.on('data', (d) => { stdout += d.toString(); });
|
|
57
|
+
proc.stderr.on('data', (d) => { stderr += d.toString(); });
|
|
58
|
+
proc.on('close', (code) => {
|
|
59
|
+
resolve({ stdout, stderr, code: code ?? 1 });
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/** Best-effort parse of codex CLI output into task fields (tries JSON, then key:value lines). */
|
|
64
|
+
function parseTaskFromText(text) {
|
|
65
|
+
// Codex cloud list/status output varies. Try JSON first, then parse text.
|
|
66
|
+
try {
|
|
67
|
+
return JSON.parse(text);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Parse text output line by line for key: value patterns
|
|
71
|
+
const result = {};
|
|
72
|
+
for (const line of text.split('\n')) {
|
|
73
|
+
const match = line.match(/^\s*(\w[\w\s]*\w)\s*[:=]\s*(.+)\s*$/);
|
|
74
|
+
if (match) {
|
|
75
|
+
result[match[1].toLowerCase().replace(/\s+/g, '_')] = match[2].trim();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
id: result.id || result.task_id,
|
|
80
|
+
status: result.status ? mapStatus(result.status) : undefined,
|
|
81
|
+
summary: result.summary || result.output,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class CodexCloudProvider {
|
|
86
|
+
id = 'codex';
|
|
87
|
+
name = 'Codex Cloud';
|
|
88
|
+
defaultEnv;
|
|
89
|
+
constructor(config) {
|
|
90
|
+
this.defaultEnv = config?.env;
|
|
91
|
+
}
|
|
92
|
+
supports(_options) {
|
|
93
|
+
return codexAvailable();
|
|
94
|
+
}
|
|
95
|
+
async dispatch(options) {
|
|
96
|
+
const env = options.providerOptions?.env ?? this.defaultEnv;
|
|
97
|
+
if (!env) {
|
|
98
|
+
throw new Error('Codex Cloud requires --env <id>. Set a default in ~/.agents/agents.yaml under cloud.providers.codex.env.');
|
|
99
|
+
}
|
|
100
|
+
// Codex envs bundle their own repo list — the repos a task can touch are
|
|
101
|
+
// fixed at env-creation time, not per-dispatch. Passing 2+ repos here is
|
|
102
|
+
// almost always a misconfiguration: either the user meant to dispatch to
|
|
103
|
+
// Rush (which does support multi-repo), or they need to create/pick a
|
|
104
|
+
// Codex env that already contains those repos. Fail loudly rather than
|
|
105
|
+
// silently ignore the extras.
|
|
106
|
+
const repos = resolveDispatchRepos(options);
|
|
107
|
+
if (repos.length > 1) {
|
|
108
|
+
throw new Error(`Codex Cloud does not support multi-repo dispatch. Got ${repos.length} repos (${repos.join(', ')}). ` +
|
|
109
|
+
`Codex envs bundle repos at the env layer — either configure a Codex env that includes all of these repos, ` +
|
|
110
|
+
`or switch to --provider rush (which clones each repo into /workspace/<owner>/<name>/).`);
|
|
111
|
+
}
|
|
112
|
+
const args = ['cloud', 'exec', '--env', env];
|
|
113
|
+
if (options.branch)
|
|
114
|
+
args.push('--branch', options.branch);
|
|
115
|
+
args.push(options.prompt);
|
|
116
|
+
const { stdout, stderr, code } = await runCodex(args);
|
|
117
|
+
if (code !== 0) {
|
|
118
|
+
throw new Error(`codex cloud exec failed: ${stderr || stdout}`);
|
|
119
|
+
}
|
|
120
|
+
// Parse task ID from output. Codex typically prints the task ID.
|
|
121
|
+
const taskId = extractTaskId(stdout) ?? `codex-${Date.now()}`;
|
|
122
|
+
const now = new Date().toISOString();
|
|
123
|
+
return {
|
|
124
|
+
id: taskId,
|
|
125
|
+
provider: 'codex',
|
|
126
|
+
status: 'queued',
|
|
127
|
+
agent: 'codex',
|
|
128
|
+
prompt: options.prompt,
|
|
129
|
+
repo: repos[0],
|
|
130
|
+
repos: repos.length > 0 ? repos : undefined,
|
|
131
|
+
branch: options.branch,
|
|
132
|
+
createdAt: now,
|
|
133
|
+
updatedAt: now,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
async status(taskId) {
|
|
137
|
+
const { stdout, stderr, code } = await runCodex(['cloud', 'status', taskId]);
|
|
138
|
+
if (code !== 0) {
|
|
139
|
+
throw new Error(`codex cloud status failed: ${stderr || stdout}`);
|
|
140
|
+
}
|
|
141
|
+
const parsed = parseTaskFromText(stdout);
|
|
142
|
+
const now = new Date().toISOString();
|
|
143
|
+
return {
|
|
144
|
+
id: taskId,
|
|
145
|
+
provider: 'codex',
|
|
146
|
+
status: parsed.status ?? 'running',
|
|
147
|
+
agent: 'codex',
|
|
148
|
+
prompt: parsed.prompt ?? '',
|
|
149
|
+
summary: parsed.summary,
|
|
150
|
+
createdAt: parsed.createdAt ?? now,
|
|
151
|
+
updatedAt: now,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
async list(filter) {
|
|
155
|
+
const args = ['cloud', 'list', '--json', '--limit', '20'];
|
|
156
|
+
if (this.defaultEnv)
|
|
157
|
+
args.push('--env', this.defaultEnv);
|
|
158
|
+
const { stdout, stderr, code } = await runCodex(args);
|
|
159
|
+
if (code !== 0) {
|
|
160
|
+
throw new Error(`codex cloud list failed: ${stderr || stdout}`);
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
const data = JSON.parse(stdout);
|
|
164
|
+
const tasks = (data.tasks ?? data ?? []).map((t) => ({
|
|
165
|
+
id: (t.id || t.task_id),
|
|
166
|
+
provider: 'codex',
|
|
167
|
+
status: mapStatus(t.status ?? ''),
|
|
168
|
+
agent: 'codex',
|
|
169
|
+
prompt: (t.prompt || t.query || ''),
|
|
170
|
+
branch: t.branch || undefined,
|
|
171
|
+
summary: t.summary || undefined,
|
|
172
|
+
createdAt: t.created_at || '',
|
|
173
|
+
updatedAt: t.updated_at || '',
|
|
174
|
+
}));
|
|
175
|
+
if (filter?.status) {
|
|
176
|
+
return tasks.filter((t) => t.status === filter.status);
|
|
177
|
+
}
|
|
178
|
+
return tasks;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async *stream(taskId) {
|
|
185
|
+
// Codex Cloud doesn't have SSE streaming. Poll status until terminal.
|
|
186
|
+
const terminalStatuses = new Set(['completed', 'failed', 'cancelled']);
|
|
187
|
+
let lastStatus = '';
|
|
188
|
+
while (true) {
|
|
189
|
+
try {
|
|
190
|
+
const task = await this.status(taskId);
|
|
191
|
+
if (task.status !== lastStatus) {
|
|
192
|
+
lastStatus = task.status;
|
|
193
|
+
yield {
|
|
194
|
+
type: terminalStatuses.has(task.status) ? 'done' : 'status',
|
|
195
|
+
data: JSON.stringify({ status: task.status, summary: task.summary }),
|
|
196
|
+
timestamp: new Date().toISOString(),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if (terminalStatuses.has(task.status))
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
catch (err) {
|
|
203
|
+
yield {
|
|
204
|
+
type: 'error',
|
|
205
|
+
data: err instanceof Error ? err.message : String(err),
|
|
206
|
+
timestamp: new Date().toISOString(),
|
|
207
|
+
};
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
// Poll every 5 seconds
|
|
211
|
+
await new Promise((r) => setTimeout(r, 5000));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
async cancel(_taskId) {
|
|
215
|
+
// Codex Cloud doesn't expose a cancel command via CLI.
|
|
216
|
+
throw new Error('Cancel is not supported for Codex Cloud tasks via CLI.');
|
|
217
|
+
}
|
|
218
|
+
async message(_taskId, _content) {
|
|
219
|
+
throw new Error('Follow-up messages are not supported for Codex Cloud tasks.');
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/** Extract a task ID from codex CLI output (JSON field, key:value line, or UUID pattern). */
|
|
223
|
+
function extractTaskId(output) {
|
|
224
|
+
// Try JSON first
|
|
225
|
+
try {
|
|
226
|
+
const data = JSON.parse(output);
|
|
227
|
+
return data.id || data.task_id;
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Look for UUID-like patterns or task IDs in the text
|
|
231
|
+
const match = output.match(/(?:task[_\s]?id|id)\s*[:=]\s*["']?([a-zA-Z0-9_-]+)/i)
|
|
232
|
+
|| output.match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i)
|
|
233
|
+
|| output.match(/(task_[a-zA-Z0-9]+)/i);
|
|
234
|
+
return match?.[1];
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/cloud/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory/Droid cloud provider -- stub for Phase 2.
|
|
3
|
+
*
|
|
4
|
+
* Will dispatch tasks to a `droid daemon` running on a remote machine.
|
|
5
|
+
* All methods throw until the droid daemon API is documented and stable.
|
|
6
|
+
*/
|
|
7
|
+
import type { CloudProvider, CloudTask, CloudTaskStatus, CloudEvent, DispatchOptions } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Factory/Droid cloud provider — stub for Phase 2.
|
|
10
|
+
*
|
|
11
|
+
* Integration path: `droid daemon` running on a remote machine (mac-mini, cloud VM, k8s pod).
|
|
12
|
+
* Dispatch via HTTP to the daemon, stream output, cancel via HTTP DELETE.
|
|
13
|
+
*
|
|
14
|
+
* Not yet implemented because:
|
|
15
|
+
* 1. Droid v0.104 has no cloud dispatch command (droid exec is local only)
|
|
16
|
+
* 2. droid daemon API isn't documented yet
|
|
17
|
+
* 3. droid computer register/ssh is the remote execution primitive but needs exploration
|
|
18
|
+
*/
|
|
19
|
+
export declare class FactoryCloudProvider implements CloudProvider {
|
|
20
|
+
id: "factory";
|
|
21
|
+
name: string;
|
|
22
|
+
supports(_options: DispatchOptions): boolean;
|
|
23
|
+
dispatch(_options: DispatchOptions): Promise<CloudTask>;
|
|
24
|
+
status(_taskId: string): Promise<CloudTask>;
|
|
25
|
+
list(_filter?: {
|
|
26
|
+
status?: CloudTaskStatus;
|
|
27
|
+
}): Promise<CloudTask[]>;
|
|
28
|
+
stream(_taskId: string): AsyncIterable<CloudEvent>;
|
|
29
|
+
cancel(_taskId: string): Promise<void>;
|
|
30
|
+
message(_taskId: string, _content: string): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/lib/cloud/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,EAAE,EAAG,SAAS,CAAU;IACxB,IAAI,SAAqB;IAEzB,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO;IAItC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAIvD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3C,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIjE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IAInD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory/Droid cloud provider -- stub for Phase 2.
|
|
3
|
+
*
|
|
4
|
+
* Will dispatch tasks to a `droid daemon` running on a remote machine.
|
|
5
|
+
* All methods throw until the droid daemon API is documented and stable.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Factory/Droid cloud provider — stub for Phase 2.
|
|
9
|
+
*
|
|
10
|
+
* Integration path: `droid daemon` running on a remote machine (mac-mini, cloud VM, k8s pod).
|
|
11
|
+
* Dispatch via HTTP to the daemon, stream output, cancel via HTTP DELETE.
|
|
12
|
+
*
|
|
13
|
+
* Not yet implemented because:
|
|
14
|
+
* 1. Droid v0.104 has no cloud dispatch command (droid exec is local only)
|
|
15
|
+
* 2. droid daemon API isn't documented yet
|
|
16
|
+
* 3. droid computer register/ssh is the remote execution primitive but needs exploration
|
|
17
|
+
*/
|
|
18
|
+
export class FactoryCloudProvider {
|
|
19
|
+
id = 'factory';
|
|
20
|
+
name = 'Factory (Droid)';
|
|
21
|
+
supports(_options) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
async dispatch(_options) {
|
|
25
|
+
throw new Error('Factory cloud provider is not yet available. Coming in a future release.');
|
|
26
|
+
}
|
|
27
|
+
async status(_taskId) {
|
|
28
|
+
throw new Error('Factory cloud provider is not yet available.');
|
|
29
|
+
}
|
|
30
|
+
async list(_filter) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
async *stream(_taskId) {
|
|
34
|
+
throw new Error('Factory cloud provider is not yet available.');
|
|
35
|
+
}
|
|
36
|
+
async cancel(_taskId) {
|
|
37
|
+
throw new Error('Factory cloud provider is not yet available.');
|
|
38
|
+
}
|
|
39
|
+
async message(_taskId, _content) {
|
|
40
|
+
throw new Error('Factory cloud provider is not yet available.');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/lib/cloud/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC/B,EAAE,GAAG,SAAkB,CAAC;IACxB,IAAI,GAAG,iBAAiB,CAAC;IAEzB,QAAQ,CAAC,QAAyB;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAyB;QACtC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAsC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,OAAe;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QAC7C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud provider registry.
|
|
3
|
+
*
|
|
4
|
+
* Reads the `cloud` section of agents.yaml, lazily instantiates provider
|
|
5
|
+
* implementations, and exposes lookup helpers used by the `agents cloud` commands.
|
|
6
|
+
*/
|
|
7
|
+
import type { CloudProvider, CloudProviderId } from './types.js';
|
|
8
|
+
/** Look up a provider by ID, throwing if the ID is unknown. */
|
|
9
|
+
export declare function getProvider(id: CloudProviderId): CloudProvider;
|
|
10
|
+
/** Return the user's configured default provider, falling back to 'rush'. */
|
|
11
|
+
export declare function getDefaultProviderId(): CloudProviderId;
|
|
12
|
+
/** Return every registered provider (used by `agents cloud providers`). */
|
|
13
|
+
export declare function getAllProviders(): CloudProvider[];
|
|
14
|
+
/** Resolve the active provider from an explicit flag or the configured default. */
|
|
15
|
+
export declare function resolveProvider(explicit?: string): CloudProvider;
|
|
16
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/cloud/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAyC9E,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,EAAE,EAAE,eAAe,GAAG,aAAa,CAO9D;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,eAAe,CAGtD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAGjD;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAGhE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud provider registry.
|
|
3
|
+
*
|
|
4
|
+
* Reads the `cloud` section of agents.yaml, lazily instantiates provider
|
|
5
|
+
* implementations, and exposes lookup helpers used by the `agents cloud` commands.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import * as os from 'os';
|
|
10
|
+
import * as yaml from 'yaml';
|
|
11
|
+
import { RushCloudProvider } from './rush.js';
|
|
12
|
+
import { CodexCloudProvider } from './codex.js';
|
|
13
|
+
import { FactoryCloudProvider } from './factory.js';
|
|
14
|
+
const META_FILE = path.join(os.homedir(), '.agents', 'agents.yaml');
|
|
15
|
+
let _config = null;
|
|
16
|
+
/** Parse the `cloud` section from agents.yaml, caching the result for the process lifetime. */
|
|
17
|
+
function loadCloudConfig() {
|
|
18
|
+
if (_config)
|
|
19
|
+
return _config;
|
|
20
|
+
if (!fs.existsSync(META_FILE)) {
|
|
21
|
+
_config = {};
|
|
22
|
+
return _config;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const raw = fs.readFileSync(META_FILE, 'utf-8');
|
|
26
|
+
const data = yaml.parse(raw);
|
|
27
|
+
_config = data?.cloud ?? {};
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
_config = {};
|
|
31
|
+
}
|
|
32
|
+
return _config;
|
|
33
|
+
}
|
|
34
|
+
const providers = new Map();
|
|
35
|
+
/** Instantiate all provider implementations once, keyed by their ID. */
|
|
36
|
+
function initProviders() {
|
|
37
|
+
if (providers.size > 0)
|
|
38
|
+
return;
|
|
39
|
+
const config = loadCloudConfig();
|
|
40
|
+
providers.set('rush', new RushCloudProvider());
|
|
41
|
+
providers.set('codex', new CodexCloudProvider(config.providers?.codex));
|
|
42
|
+
providers.set('factory', new FactoryCloudProvider());
|
|
43
|
+
}
|
|
44
|
+
/** Look up a provider by ID, throwing if the ID is unknown. */
|
|
45
|
+
export function getProvider(id) {
|
|
46
|
+
initProviders();
|
|
47
|
+
const provider = providers.get(id);
|
|
48
|
+
if (!provider) {
|
|
49
|
+
throw new Error(`Unknown cloud provider: ${id}. Available: ${[...providers.keys()].join(', ')}`);
|
|
50
|
+
}
|
|
51
|
+
return provider;
|
|
52
|
+
}
|
|
53
|
+
/** Return the user's configured default provider, falling back to 'rush'. */
|
|
54
|
+
export function getDefaultProviderId() {
|
|
55
|
+
const config = loadCloudConfig();
|
|
56
|
+
return config.default_provider ?? 'rush';
|
|
57
|
+
}
|
|
58
|
+
/** Return every registered provider (used by `agents cloud providers`). */
|
|
59
|
+
export function getAllProviders() {
|
|
60
|
+
initProviders();
|
|
61
|
+
return [...providers.values()];
|
|
62
|
+
}
|
|
63
|
+
/** Resolve the active provider from an explicit flag or the configured default. */
|
|
64
|
+
export function resolveProvider(explicit) {
|
|
65
|
+
const id = (explicit ?? getDefaultProviderId());
|
|
66
|
+
return getProvider(id);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/cloud/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAEpE,IAAI,OAAO,GAAuB,IAAI,CAAC;AAEvC,+FAA+F;AAC/F,SAAS,eAAe;IACtB,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,OAAO,GAAI,IAAI,EAAE,KAAqB,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,SAAS,GAAwC,IAAI,GAAG,EAAE,CAAC;AAEjE,wEAAwE;AACxE,SAAS,aAAa;IACpB,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO;IAE/B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAC/C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACxE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,oBAAoB,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,EAAmB;IAC7C,aAAa,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC;AAC3C,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe;IAC7B,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,oBAAoB,EAAE,CAAoB,CAAC;IACnE,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rush Cloud provider -- dispatches tasks to the Factory Floor via api.prix.dev.
|
|
3
|
+
*
|
|
4
|
+
* Auth: reads the session token from ~/.rush/user.yaml (written by `rush login`).
|
|
5
|
+
* Requires the Rush GitHub App installed on the target repo.
|
|
6
|
+
*/
|
|
7
|
+
import type { CloudProvider, CloudTask, CloudTaskStatus, CloudEvent, DispatchOptions } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build the POST body for /api/v1/cloud-runs. Exported so tests can verify
|
|
10
|
+
* the back-compat shape (singular fields + repos[]) without needing real
|
|
11
|
+
* GitHub installations or a live Rush session. `findInstallation` is the
|
|
12
|
+
* only other I/O and it's tested by the halo/proxy integration suite.
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildDispatchBody(input: {
|
|
15
|
+
agent?: string;
|
|
16
|
+
prompt: string;
|
|
17
|
+
mode?: string;
|
|
18
|
+
resolvedRepos: Array<{
|
|
19
|
+
installation_id: number;
|
|
20
|
+
repo_owner: string;
|
|
21
|
+
repo_name: string;
|
|
22
|
+
}>;
|
|
23
|
+
}): Record<string, unknown>;
|
|
24
|
+
export declare class RushCloudProvider implements CloudProvider {
|
|
25
|
+
id: "rush";
|
|
26
|
+
name: string;
|
|
27
|
+
supports(_options: DispatchOptions): boolean;
|
|
28
|
+
dispatch(options: DispatchOptions): Promise<CloudTask>;
|
|
29
|
+
status(taskId: string): Promise<CloudTask>;
|
|
30
|
+
list(filter?: {
|
|
31
|
+
status?: CloudTaskStatus;
|
|
32
|
+
}): Promise<CloudTask[]>;
|
|
33
|
+
stream(taskId: string): AsyncIterable<CloudEvent>;
|
|
34
|
+
cancel(taskId: string): Promise<void>;
|
|
35
|
+
message(taskId: string, content: string): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=rush.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rush.d.ts","sourceRoot":"","sources":["../../../src/lib/cloud/rush.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AAiGpB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,KAAK,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiB1B;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACrD,EAAE,EAAG,MAAM,CAAU;IACrB,IAAI,SAAgB;IAEpB,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO;IAItC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAwDtD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsB1C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAyBhE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IAWlD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9D"}
|