@swarmify/agents-cli 1.12.0 → 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 +33 -0
- 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 +700 -263
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/lib/teams/parsers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6D,CAAC;AAE9F,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,SAAoB,EAAE,GAAQ;IAC5D,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,CAAC;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;YAC3B,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,cAAc,CAAC,SAAoB,EAAE,GAAQ;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;QAC3B,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,GAAG;QACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;IAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;gBACjC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACxC,OAAO,CAAC;gBACN,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC;QAE5B,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;oBACzB,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,MAAM,GAAU,CAAC;oBACrB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAChF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI;oBACJ,OAAO;oBACP,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI;oBACJ,OAAO;oBACP,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI;oBACJ,OAAO;oBACP,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,YAAY,GAAU,EAAE,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxE,MAAM,SAAS,GAAG;oBAChB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,aAAa;oBACnB,IAAI;oBACJ,SAAS;iBACV,CAAC;gBAEF,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC3D,CAAC;qBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;YAEvC,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC;wBACN,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC;wBACN,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC;wBACN,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBACpE,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC;wBACN,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI;wBACV,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;wBACN,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,OAAO;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE;oBACL,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;oBACtC,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;iBACzC;gBACD,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;gBACvB,QAAQ,EAAE,OAAO,KAAK,WAAW;gBACjC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;oBAC7B,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;oBACvB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,OAAO,IAAI,SAAS;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;gBAChC,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK;gBAC9B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;QAE/B,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YAC3D,OAAO,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACxD,OAAO,CAAC;oBACN,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACxD,OAAO,CAAC;oBACN,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,EAAE,cAAc,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1D,OAAO,CAAC;oBACN,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACvD,OAAO,CAAC;oBACN,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;gBACjD,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7D,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,GAAG,EAAE,KAAK;gBACjB,UAAU,EAAE,GAAG,EAAE,UAAU;gBAC3B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,WAAW,CAAC;QACtC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;oBAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK;oBACrB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC;oBACN,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;oBAC3B,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACjE,MAAM,WAAW,GAAG,GAAG,EAAE,SAAS,IAAI,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAErC,IAAI,WAAW,GAAG,GAAG,EAAE,UAAU,CAAC;QAClC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACtD,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC;QAC1B,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;QAExC,qFAAqF;QACrF,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACzG,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9G,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC;oBACN,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5G,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC;oBACN,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC;oBACN,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS;gBAChC,WAAW,EAAE,KAAK,EAAE,WAAW;gBAC/B,KAAK,EAAE;oBACL,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC;iBACvC;gBACD,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;gBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAEpC,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBAC7C,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/E,CAAC;yBAAM,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;wBAChF,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC9E,CAAC;yBAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;wBACtD,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC5C,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC;QAC1C,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC;gBAEpC,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ;wBACjC,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpD,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;oBAC3C,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,OAAO;wBAChB,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;oBACH,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAChE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;wBACrG,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,QAAQ;4BACf,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,SAAS,EAAE,SAAS;yBACrB,CAAC,CAAC;wBACH,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,QAAQ;4BACf,WAAW,EAAE,SAAS;4BACtB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,SAAS;yBACrB,CAAC,CAAC;wBACH,IAAI,WAAW,EAAE,CAAC;4BAChB,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACvG,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClF,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,QAAQ;wBACf,WAAW,EAAE,SAAS;wBACtB,OAAO,EAAE,CAAC,KAAK,CAAC,QAAQ;wBACxB,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;oBACH,IAAI,WAAW,EAAE,CAAC;wBAChB,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,OAAO,IAAI,SAAS;gBAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,2BAA2B;AAC3B,kFAAkF;AAElF,SAAS,iBAAiB,CAAC,GAAQ;IACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpG,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC7D,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU;gBACjB,UAAU,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;gBACnC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;QAE1C,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/G,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAChH,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACjH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;QAEvD,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACxF,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC;wBACN,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACzD,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC;wBACN,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC;wBACN,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,UAAU;wBACjB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC;gBACN,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1F,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;gBAC1B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC;YACN,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,SAAoB,EAAE,IAAY;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AgentType } from './parsers.js';
|
|
2
|
+
/** Resolve the base data directory for teams, preferring ~/.agents/teams/ with a temp fallback. */
|
|
3
|
+
export declare function resolveBaseDir(): Promise<string>;
|
|
4
|
+
/** Reasoning-intensity levels supported by the teams system. */
|
|
5
|
+
export type EffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto';
|
|
6
|
+
/**
|
|
7
|
+
* Legacy type retained for config-file back-compat. Older configs pinned a
|
|
8
|
+
* model per effort tier; we no longer act on these entries but accept them
|
|
9
|
+
* without error when loading from disk.
|
|
10
|
+
*/
|
|
11
|
+
export type ModelOverrides = Partial<Record<AgentType, Partial<Record<EffortLevel, string>>>>;
|
|
12
|
+
/** API endpoint configuration for a model provider. */
|
|
13
|
+
export interface ProviderConfig {
|
|
14
|
+
apiEndpoint: string | null;
|
|
15
|
+
}
|
|
16
|
+
/** Per-agent-type configuration: CLI command template, enabled state, optional pinned model, and provider. */
|
|
17
|
+
export interface AgentConfig {
|
|
18
|
+
command: string;
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
model: string | null;
|
|
21
|
+
provider: string;
|
|
22
|
+
}
|
|
23
|
+
/** Top-level teams configuration structure persisted to config.json. */
|
|
24
|
+
export interface SwarmConfig {
|
|
25
|
+
agents: Record<AgentType, AgentConfig>;
|
|
26
|
+
providers: Record<string, ProviderConfig>;
|
|
27
|
+
}
|
|
28
|
+
/** Result of reading the teams config, including resolved agent and provider configurations. */
|
|
29
|
+
export interface ReadConfigResult {
|
|
30
|
+
hasConfig: boolean;
|
|
31
|
+
enabledAgents: AgentType[];
|
|
32
|
+
agentConfigs: Record<AgentType, AgentConfig>;
|
|
33
|
+
providerConfigs: Record<string, ProviderConfig>;
|
|
34
|
+
}
|
|
35
|
+
/** Resolve and ensure the agents subdirectory exists under the teams base dir. */
|
|
36
|
+
export declare function resolveAgentsDir(): Promise<string>;
|
|
37
|
+
/** Read teams config from disk, migrating legacy formats if needed. Returns defaults when no config exists. */
|
|
38
|
+
export declare function readConfig(): Promise<ReadConfigResult>;
|
|
39
|
+
/** Write teams config to disk. */
|
|
40
|
+
export declare function writeConfig(config: SwarmConfig): Promise<void>;
|
|
41
|
+
/** Update the enabled/disabled status of a specific agent type in the config file. */
|
|
42
|
+
export declare function setAgentEnabled(agentType: AgentType, enabled: boolean): Promise<void>;
|
|
43
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/persistence.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgCzC,mGAAmG;AACnG,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAWtD;AAoBD,gEAAgE;AAChE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9F,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,8GAA8G;AAC9G,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC3C;AAED,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD;AAKD,kFAAkF;AAClF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAMxD;AA4ID,+GAA+G;AAC/G,wBAAsB,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4F5D;AAED,kCAAkC;AAClC,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpE;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc3F"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Teams configuration persistence.
|
|
3
|
+
*
|
|
4
|
+
* Manages reading, writing, and migrating the teams config file
|
|
5
|
+
* (~/.agents/teams/config.json) that stores per-agent-type settings
|
|
6
|
+
* (command templates, enabled state, pinned models) and provider configs.
|
|
7
|
+
* Also resolves the base data directory for teammate process storage.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs/promises';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import { homedir, tmpdir } from 'os';
|
|
12
|
+
import { constants as fsConstants } from 'fs';
|
|
13
|
+
// All supported teammate agent types
|
|
14
|
+
const ALL_AGENTS = ['claude', 'codex', 'gemini', 'cursor', 'opencode'];
|
|
15
|
+
// Teams data lives under ~/.agents/teams/
|
|
16
|
+
const TEAMS_DIR = path.join(homedir(), '.agents', 'teams');
|
|
17
|
+
// Legacy paths (for migration)
|
|
18
|
+
const LEGACY_CONFIG_DIR = path.join(homedir(), '.agents');
|
|
19
|
+
const LEGACY_BASE_DIR = path.join(homedir(), '.swarmify');
|
|
20
|
+
const TMP_FALLBACK_DIR = path.join(tmpdir(), 'agents');
|
|
21
|
+
async function pathExists(p) {
|
|
22
|
+
try {
|
|
23
|
+
await fs.access(p);
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function ensureWritableDir(p) {
|
|
31
|
+
try {
|
|
32
|
+
await fs.mkdir(p, { recursive: true });
|
|
33
|
+
await fs.access(p, fsConstants.W_OK);
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** Resolve the base data directory for teams, preferring ~/.agents/teams/ with a temp fallback. */
|
|
41
|
+
export async function resolveBaseDir() {
|
|
42
|
+
if (await ensureWritableDir(TEAMS_DIR)) {
|
|
43
|
+
return TEAMS_DIR;
|
|
44
|
+
}
|
|
45
|
+
if (await ensureWritableDir(TMP_FALLBACK_DIR)) {
|
|
46
|
+
console.warn(`[agents teams] Falling back to temp data dir at ${TMP_FALLBACK_DIR}`);
|
|
47
|
+
return TMP_FALLBACK_DIR;
|
|
48
|
+
}
|
|
49
|
+
throw new Error('Unable to determine a writable data directory for teams');
|
|
50
|
+
}
|
|
51
|
+
async function resolveAgentsPath() {
|
|
52
|
+
const base = await resolveBaseDir();
|
|
53
|
+
return path.join(base, 'agents');
|
|
54
|
+
}
|
|
55
|
+
async function resolveConfigPath() {
|
|
56
|
+
await fs.mkdir(TEAMS_DIR, { recursive: true });
|
|
57
|
+
return path.join(TEAMS_DIR, 'config.json');
|
|
58
|
+
}
|
|
59
|
+
async function resolveLegacyConfigPath() {
|
|
60
|
+
return path.join(LEGACY_CONFIG_DIR, 'config.json');
|
|
61
|
+
}
|
|
62
|
+
async function resolveLegacySwarmifyConfigPath() {
|
|
63
|
+
return path.join(LEGACY_BASE_DIR, 'agents', 'config.json');
|
|
64
|
+
}
|
|
65
|
+
let AGENTS_DIR = null;
|
|
66
|
+
let CONFIG_PATH = null;
|
|
67
|
+
/** Resolve and ensure the agents subdirectory exists under the teams base dir. */
|
|
68
|
+
export async function resolveAgentsDir() {
|
|
69
|
+
if (!AGENTS_DIR) {
|
|
70
|
+
AGENTS_DIR = await resolveAgentsPath();
|
|
71
|
+
}
|
|
72
|
+
await fs.mkdir(AGENTS_DIR, { recursive: true });
|
|
73
|
+
return AGENTS_DIR;
|
|
74
|
+
}
|
|
75
|
+
async function ensureConfigPath() {
|
|
76
|
+
if (!CONFIG_PATH) {
|
|
77
|
+
CONFIG_PATH = await resolveConfigPath();
|
|
78
|
+
}
|
|
79
|
+
const dir = path.dirname(CONFIG_PATH);
|
|
80
|
+
await fs.mkdir(dir, { recursive: true });
|
|
81
|
+
return CONFIG_PATH;
|
|
82
|
+
}
|
|
83
|
+
// Get default agent configuration. `model` is null by default — the teammate
|
|
84
|
+
// launcher omits --model and the agent's CLI picks its own default, which is
|
|
85
|
+
// what "drop hardcoded model mapping" means in practice.
|
|
86
|
+
function getDefaultAgentConfig(agentType) {
|
|
87
|
+
const defaults = {
|
|
88
|
+
claude: {
|
|
89
|
+
command: 'claude -p \'{prompt}\' --output-format stream-json --json',
|
|
90
|
+
enabled: true,
|
|
91
|
+
model: null,
|
|
92
|
+
provider: 'anthropic'
|
|
93
|
+
},
|
|
94
|
+
codex: {
|
|
95
|
+
command: 'codex exec --sandbox workspace-write \'{prompt}\' --json',
|
|
96
|
+
enabled: true,
|
|
97
|
+
model: null,
|
|
98
|
+
provider: 'openai'
|
|
99
|
+
},
|
|
100
|
+
gemini: {
|
|
101
|
+
command: 'gemini \'{prompt}\' --output-format stream-json',
|
|
102
|
+
enabled: true,
|
|
103
|
+
model: null,
|
|
104
|
+
provider: 'google'
|
|
105
|
+
},
|
|
106
|
+
cursor: {
|
|
107
|
+
command: 'cursor-agent -p --output-format stream-json \'{prompt}\'',
|
|
108
|
+
enabled: true,
|
|
109
|
+
model: null,
|
|
110
|
+
provider: 'custom'
|
|
111
|
+
},
|
|
112
|
+
opencode: {
|
|
113
|
+
command: 'opencode run --format json \'{prompt}\'',
|
|
114
|
+
enabled: true,
|
|
115
|
+
model: null,
|
|
116
|
+
provider: 'custom'
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return defaults[agentType];
|
|
120
|
+
}
|
|
121
|
+
// Get default provider configuration
|
|
122
|
+
function getDefaultProviderConfig() {
|
|
123
|
+
return {
|
|
124
|
+
anthropic: {
|
|
125
|
+
apiEndpoint: 'https://api.anthropic.com'
|
|
126
|
+
},
|
|
127
|
+
openai: {
|
|
128
|
+
apiEndpoint: 'https://api.openai.com/v1'
|
|
129
|
+
},
|
|
130
|
+
google: {
|
|
131
|
+
apiEndpoint: 'https://generativelanguage.googleapis.com/v1'
|
|
132
|
+
},
|
|
133
|
+
custom: {
|
|
134
|
+
apiEndpoint: null
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// Get default full configuration
|
|
139
|
+
function getDefaultSwarmConfig() {
|
|
140
|
+
const agents = {};
|
|
141
|
+
for (const agentType of ALL_AGENTS) {
|
|
142
|
+
agents[agentType] = getDefaultAgentConfig(agentType);
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
agents,
|
|
146
|
+
providers: getDefaultProviderConfig()
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
// Try to read a config file as either SwarmConfig or legacy format
|
|
150
|
+
async function tryReadLegacyConfig(configPath) {
|
|
151
|
+
try {
|
|
152
|
+
const data = await fs.readFile(configPath, 'utf-8');
|
|
153
|
+
const parsed = JSON.parse(data);
|
|
154
|
+
// New format: has agents object with nested configs. We detect it by any
|
|
155
|
+
// recognizable per-agent field (model, models, command, enabled) — the old
|
|
156
|
+
// 'models' field is still accepted so pre-existing configs load cleanly.
|
|
157
|
+
if (parsed.agents && typeof parsed.agents === 'object') {
|
|
158
|
+
const firstValue = Object.values(parsed.agents)[0];
|
|
159
|
+
if (firstValue && typeof firstValue === 'object') {
|
|
160
|
+
const obj = firstValue;
|
|
161
|
+
if ('model' in obj || 'models' in obj || 'command' in obj || 'enabled' in obj) {
|
|
162
|
+
return parsed;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Old format: { enabledAgents: string[] }
|
|
167
|
+
if (parsed.enabledAgents && Array.isArray(parsed.enabledAgents)) {
|
|
168
|
+
const defaultConfig = getDefaultSwarmConfig();
|
|
169
|
+
for (const agentType of parsed.enabledAgents) {
|
|
170
|
+
if (ALL_AGENTS.includes(agentType)) {
|
|
171
|
+
defaultConfig.agents[agentType].enabled = true;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return defaultConfig;
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Migrate from legacy config locations
|
|
183
|
+
async function migrateLegacyConfig() {
|
|
184
|
+
// Try ~/.agents/config.json first (most recent legacy location)
|
|
185
|
+
const legacyConfigPath = await resolveLegacyConfigPath();
|
|
186
|
+
let config = await tryReadLegacyConfig(legacyConfigPath);
|
|
187
|
+
// Try ~/.swarmify/agents/config.json
|
|
188
|
+
if (!config) {
|
|
189
|
+
const swarmifyConfigPath = await resolveLegacySwarmifyConfigPath();
|
|
190
|
+
config = await tryReadLegacyConfig(swarmifyConfigPath);
|
|
191
|
+
}
|
|
192
|
+
if (!config)
|
|
193
|
+
return null;
|
|
194
|
+
// Write migrated config to new location
|
|
195
|
+
const newConfigPath = await ensureConfigPath();
|
|
196
|
+
await fs.writeFile(newConfigPath, JSON.stringify(config, null, 2));
|
|
197
|
+
console.warn(`[agents-mcp] Migrated config to ${newConfigPath}`);
|
|
198
|
+
return config;
|
|
199
|
+
}
|
|
200
|
+
/** Read teams config from disk, migrating legacy formats if needed. Returns defaults when no config exists. */
|
|
201
|
+
export async function readConfig() {
|
|
202
|
+
const configPath = await ensureConfigPath();
|
|
203
|
+
// Try to read new config first
|
|
204
|
+
try {
|
|
205
|
+
const data = await fs.readFile(configPath, 'utf-8');
|
|
206
|
+
const config = JSON.parse(data);
|
|
207
|
+
const enabledAgents = [];
|
|
208
|
+
const agentConfigs = {};
|
|
209
|
+
const providerConfigs = {};
|
|
210
|
+
// Parse agent configs
|
|
211
|
+
if (config.agents && typeof config.agents === 'object') {
|
|
212
|
+
for (const [agentKey, agentValue] of Object.entries(config.agents)) {
|
|
213
|
+
if (!ALL_AGENTS.includes(agentKey))
|
|
214
|
+
continue;
|
|
215
|
+
const agentType = agentKey;
|
|
216
|
+
// Merge with defaults for missing fields
|
|
217
|
+
const defaultAgentConfig = getDefaultAgentConfig(agentType);
|
|
218
|
+
const mergedAgentConfig = {
|
|
219
|
+
...defaultAgentConfig,
|
|
220
|
+
...agentValue
|
|
221
|
+
};
|
|
222
|
+
if (mergedAgentConfig.enabled) {
|
|
223
|
+
enabledAgents.push(agentType);
|
|
224
|
+
}
|
|
225
|
+
agentConfigs[agentType] = mergedAgentConfig;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Fill in missing agents with defaults
|
|
229
|
+
for (const agentType of ALL_AGENTS) {
|
|
230
|
+
if (!agentConfigs[agentType]) {
|
|
231
|
+
agentConfigs[agentType] = getDefaultAgentConfig(agentType);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// Parse provider configs
|
|
235
|
+
if (config.providers && typeof config.providers === 'object') {
|
|
236
|
+
for (const [providerKey, providerValue] of Object.entries(config.providers)) {
|
|
237
|
+
const providerConfig = providerValue;
|
|
238
|
+
providerConfigs[providerKey] = providerConfig;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// Fill in missing providers with defaults
|
|
242
|
+
const defaultProviders = getDefaultProviderConfig();
|
|
243
|
+
for (const [providerKey, providerValue] of Object.entries(defaultProviders)) {
|
|
244
|
+
if (!providerConfigs[providerKey]) {
|
|
245
|
+
providerConfigs[providerKey] = providerValue;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return { enabledAgents, agentConfigs, providerConfigs, hasConfig: true };
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
// Config doesn't exist or is invalid, try migration
|
|
252
|
+
const migratedConfig = await migrateLegacyConfig();
|
|
253
|
+
if (migratedConfig) {
|
|
254
|
+
const enabledAgents = [];
|
|
255
|
+
const agentConfigs = {};
|
|
256
|
+
const providerConfigs = migratedConfig.providers;
|
|
257
|
+
for (const [agentKey, agentValue] of Object.entries(migratedConfig.agents)) {
|
|
258
|
+
const agentType = agentKey;
|
|
259
|
+
agentConfigs[agentType] = agentValue;
|
|
260
|
+
if (agentValue.enabled) {
|
|
261
|
+
enabledAgents.push(agentType);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return { enabledAgents, agentConfigs, providerConfigs, hasConfig: true };
|
|
265
|
+
}
|
|
266
|
+
// No config and no legacy config, return defaults
|
|
267
|
+
const defaultConfig = getDefaultSwarmConfig();
|
|
268
|
+
const enabledAgents = [];
|
|
269
|
+
const agentConfigs = defaultConfig.agents;
|
|
270
|
+
const providerConfigs = defaultConfig.providers;
|
|
271
|
+
for (const [agentKey, agentValue] of Object.entries(defaultConfig.agents)) {
|
|
272
|
+
if (agentValue.enabled) {
|
|
273
|
+
enabledAgents.push(agentKey);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// Write default config to file
|
|
277
|
+
await fs.writeFile(configPath, JSON.stringify(defaultConfig, null, 2));
|
|
278
|
+
return { enabledAgents, agentConfigs, providerConfigs, hasConfig: false };
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/** Write teams config to disk. */
|
|
282
|
+
export async function writeConfig(config) {
|
|
283
|
+
const configPath = await ensureConfigPath();
|
|
284
|
+
await fs.writeFile(configPath, JSON.stringify(config, null, 2));
|
|
285
|
+
}
|
|
286
|
+
/** Update the enabled/disabled status of a specific agent type in the config file. */
|
|
287
|
+
export async function setAgentEnabled(agentType, enabled) {
|
|
288
|
+
const { agentConfigs } = await readConfig();
|
|
289
|
+
agentConfigs[agentType].enabled = enabled;
|
|
290
|
+
const configPath = await ensureConfigPath();
|
|
291
|
+
const config = await fs.readFile(configPath, 'utf-8');
|
|
292
|
+
const parsed = JSON.parse(config);
|
|
293
|
+
if (!parsed.agents[agentType]) {
|
|
294
|
+
parsed.agents[agentType] = getDefaultAgentConfig(agentType);
|
|
295
|
+
}
|
|
296
|
+
parsed.agents[agentType].enabled = enabled;
|
|
297
|
+
await fs.writeFile(configPath, JSON.stringify(parsed, null, 2));
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=persistence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/lib/teams/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface RalphConfig {
|
|
2
|
+
ralphFile: string;
|
|
3
|
+
disabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function getRalphConfig(): RalphConfig;
|
|
6
|
+
export declare function isDangerousPath(cwd: string): boolean;
|
|
7
|
+
export declare function buildRalphPrompt(userPrompt: string, ralphFilePath: string): string;
|
|
8
|
+
//# sourceMappingURL=ralph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/ralph.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,IAAI,WAAW,CAS5C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAqBpD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA2BlF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as os from 'os';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
export function getRalphConfig() {
|
|
4
|
+
const ralphFile = process.env.AGENTS_MCP_RALPH_FILE || 'RALPH.md';
|
|
5
|
+
const disabledStr = process.env.AGENTS_MCP_DISABLE_RALPH || 'false';
|
|
6
|
+
const disabled = disabledStr === 'true' || disabledStr === '1';
|
|
7
|
+
return {
|
|
8
|
+
ralphFile,
|
|
9
|
+
disabled,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function isDangerousPath(cwd) {
|
|
13
|
+
const dangerousPaths = [
|
|
14
|
+
os.homedir(),
|
|
15
|
+
'/',
|
|
16
|
+
'/System',
|
|
17
|
+
'/usr',
|
|
18
|
+
'/bin',
|
|
19
|
+
'/sbin',
|
|
20
|
+
'/etc',
|
|
21
|
+
];
|
|
22
|
+
const normalizedCwd = path.resolve(cwd);
|
|
23
|
+
for (const dangerousPath of dangerousPaths) {
|
|
24
|
+
const normalizedDangerous = path.resolve(dangerousPath);
|
|
25
|
+
if (normalizedCwd === normalizedDangerous || normalizedCwd.startsWith(normalizedDangerous + path.sep)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
export function buildRalphPrompt(userPrompt, ralphFilePath) {
|
|
32
|
+
return `${userPrompt}
|
|
33
|
+
|
|
34
|
+
RALPH MODE INSTRUCTIONS:
|
|
35
|
+
|
|
36
|
+
You are running in autonomous Ralph mode. Your mission:
|
|
37
|
+
|
|
38
|
+
1. READ THE TASK FILE: Open ${ralphFilePath} and read all tasks
|
|
39
|
+
2. UNDERSTAND THE SYSTEM: Read AGENTS.md, README.md, or grep for relevant context to understand the codebase
|
|
40
|
+
3. PICK TASKS LOGICALLY: Work through unchecked tasks (## [ ]) in an order that makes sense (not necessarily top-to-bottom)
|
|
41
|
+
4. COMPLETE EACH TASK:
|
|
42
|
+
- Do the work required
|
|
43
|
+
- Mark the task complete by changing ## [ ] to ## [x] in ${ralphFilePath}
|
|
44
|
+
- Add a brief 1-line update under the ### Updates section for that task
|
|
45
|
+
5. CONTINUE: Keep going until all tasks are checked or you determine you're done
|
|
46
|
+
|
|
47
|
+
TASK FORMAT:
|
|
48
|
+
- Unchecked: ## [ ] Task Title
|
|
49
|
+
- Checked: ## [x] Task Title
|
|
50
|
+
- Updates go under ### Updates section (one line per update)
|
|
51
|
+
|
|
52
|
+
Example update:
|
|
53
|
+
### Updates
|
|
54
|
+
- Added JWT token generation and validation
|
|
55
|
+
- Completed: All auth endpoints working with tests passing
|
|
56
|
+
|
|
57
|
+
Work autonomously. Don't stop until all tasks are complete.`;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ralph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/lib/teams/ralph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAO7B,MAAM,UAAU,cAAc;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,UAAU,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC;IACpE,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,GAAG,CAAC;IAE/D,OAAO;QACL,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,cAAc,GAAG;QACrB,EAAE,CAAC,OAAO,EAAE;QACZ,GAAG;QACH,SAAS;QACT,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;KACP,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExC,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,aAAa,KAAK,mBAAmB,IAAI,aAAa,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtG,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,aAAqB;IACxE,OAAO,GAAG,UAAU;;;;;;8BAMQ,aAAa;;;;;8DAKmB,aAAa;;;;;;;;;;;;;;4DAcf,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Metadata for a registered team. */
|
|
2
|
+
export interface TeamMeta {
|
|
3
|
+
created_at: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}
|
|
6
|
+
/** Map of team name to team metadata. */
|
|
7
|
+
export type TeamRegistry = Record<string, TeamMeta>;
|
|
8
|
+
/** Load all teams from the registry file. Returns an empty object if the file does not exist. */
|
|
9
|
+
export declare function loadTeams(): Promise<TeamRegistry>;
|
|
10
|
+
/** Create a new team. Throws if a team with the same name already exists. */
|
|
11
|
+
export declare function createTeam(name: string, description?: string): Promise<TeamMeta>;
|
|
12
|
+
/** Return existing team metadata or create a new team if it does not exist. */
|
|
13
|
+
export declare function ensureTeam(name: string): Promise<TeamMeta>;
|
|
14
|
+
/** Remove a team from the registry. Returns false if the team did not exist. */
|
|
15
|
+
export declare function removeTeam(name: string): Promise<boolean>;
|
|
16
|
+
/** Check whether a team with the given name exists in the registry. */
|
|
17
|
+
export declare function teamExists(name: string): Promise<boolean>;
|
|
18
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/lib/teams/registry.ts"],"names":[],"mappings":"AAWA,sCAAsC;AACtC,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAOpD,iGAAiG;AACjG,wBAAsB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,CAOvD;AAQD,6EAA6E;AAC7E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAYtF;AAED,+EAA+E;AAC/E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOhE;AAED,gFAAgF;AAChF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM/D;AAED,uEAAuE;AACvE,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG/D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Team registry.
|
|
3
|
+
*
|
|
4
|
+
* Manages the persistent registry of named teams stored in registry.json
|
|
5
|
+
* under the teams data directory. Provides CRUD operations for team metadata
|
|
6
|
+
* (creation timestamp and optional description).
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from 'fs/promises';
|
|
9
|
+
import * as path from 'path';
|
|
10
|
+
import { resolveBaseDir } from './persistence.js';
|
|
11
|
+
async function registryPath() {
|
|
12
|
+
const base = await resolveBaseDir();
|
|
13
|
+
return path.join(base, 'registry.json');
|
|
14
|
+
}
|
|
15
|
+
/** Load all teams from the registry file. Returns an empty object if the file does not exist. */
|
|
16
|
+
export async function loadTeams() {
|
|
17
|
+
try {
|
|
18
|
+
const raw = await fs.readFile(await registryPath(), 'utf-8');
|
|
19
|
+
return JSON.parse(raw);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function saveTeams(reg) {
|
|
26
|
+
const p = await registryPath();
|
|
27
|
+
await fs.mkdir(path.dirname(p), { recursive: true });
|
|
28
|
+
await fs.writeFile(p, JSON.stringify(reg, null, 2));
|
|
29
|
+
}
|
|
30
|
+
/** Create a new team. Throws if a team with the same name already exists. */
|
|
31
|
+
export async function createTeam(name, description) {
|
|
32
|
+
const reg = await loadTeams();
|
|
33
|
+
if (reg[name]) {
|
|
34
|
+
throw new Error(`Team '${name}' already exists`);
|
|
35
|
+
}
|
|
36
|
+
const meta = {
|
|
37
|
+
created_at: new Date().toISOString(),
|
|
38
|
+
...(description ? { description } : {}),
|
|
39
|
+
};
|
|
40
|
+
reg[name] = meta;
|
|
41
|
+
await saveTeams(reg);
|
|
42
|
+
return meta;
|
|
43
|
+
}
|
|
44
|
+
/** Return existing team metadata or create a new team if it does not exist. */
|
|
45
|
+
export async function ensureTeam(name) {
|
|
46
|
+
const reg = await loadTeams();
|
|
47
|
+
if (reg[name])
|
|
48
|
+
return reg[name];
|
|
49
|
+
const meta = { created_at: new Date().toISOString() };
|
|
50
|
+
reg[name] = meta;
|
|
51
|
+
await saveTeams(reg);
|
|
52
|
+
return meta;
|
|
53
|
+
}
|
|
54
|
+
/** Remove a team from the registry. Returns false if the team did not exist. */
|
|
55
|
+
export async function removeTeam(name) {
|
|
56
|
+
const reg = await loadTeams();
|
|
57
|
+
if (!reg[name])
|
|
58
|
+
return false;
|
|
59
|
+
delete reg[name];
|
|
60
|
+
await saveTeams(reg);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/** Check whether a team with the given name exists in the registry. */
|
|
64
|
+
export async function teamExists(name) {
|
|
65
|
+
const reg = await loadTeams();
|
|
66
|
+
return Boolean(reg[name]);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/teams/registry.ts"],"names":[],"mappings":"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"}
|