@creativeintelligence/abbie 0.1.4 → 0.1.6
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/dist/cli/commands/login.js +26 -0
- package/dist/cli/commands/start.js +2 -1
- package/oclif.manifest.json +1 -1
- package/package.json +9 -5
- package/dist/cli/base-command.d.ts.map +0 -1
- package/dist/cli/commands/agent/list.d.ts.map +0 -1
- package/dist/cli/commands/annotation/ack.d.ts.map +0 -1
- package/dist/cli/commands/annotation/create.d.ts.map +0 -1
- package/dist/cli/commands/annotation/events.d.ts.map +0 -1
- package/dist/cli/commands/annotation/export.d.ts.map +0 -1
- package/dist/cli/commands/annotation/import.d.ts.map +0 -1
- package/dist/cli/commands/annotation/ingest.d.ts.map +0 -1
- package/dist/cli/commands/annotation/list.d.ts.map +0 -1
- package/dist/cli/commands/annotation/reply.d.ts.map +0 -1
- package/dist/cli/commands/annotation/resolve.d.ts.map +0 -1
- package/dist/cli/commands/auto/index.d.ts.map +0 -1
- package/dist/cli/commands/backlog/add.d.ts.map +0 -1
- package/dist/cli/commands/backlog/claim.d.ts.map +0 -1
- package/dist/cli/commands/backlog/complete.d.ts.map +0 -1
- package/dist/cli/commands/backlog/list.d.ts.map +0 -1
- package/dist/cli/commands/backlog/pick.d.ts.map +0 -1
- package/dist/cli/commands/backlog/sync.d.ts.map +0 -1
- package/dist/cli/commands/bootstrap.d.ts.map +0 -1
- package/dist/cli/commands/bridge.d.ts.map +0 -1
- package/dist/cli/commands/context/inject.d.ts.map +0 -1
- package/dist/cli/commands/context/list.d.ts.map +0 -1
- package/dist/cli/commands/context/publish.d.ts.map +0 -1
- package/dist/cli/commands/context/read.d.ts.map +0 -1
- package/dist/cli/commands/daemon.d.ts.map +0 -1
- package/dist/cli/commands/digest/index.d.ts.map +0 -1
- package/dist/cli/commands/docs/lint.d.ts.map +0 -1
- package/dist/cli/commands/docs/sync.d.ts.map +0 -1
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/find/index.d.ts.map +0 -1
- package/dist/cli/commands/gc.d.ts.map +0 -1
- package/dist/cli/commands/history/index.d.ts.map +0 -1
- package/dist/cli/commands/hooks/guard.d.ts.map +0 -1
- package/dist/cli/commands/hooks/list.d.ts.map +0 -1
- package/dist/cli/commands/hooks/lock.d.ts.map +0 -1
- package/dist/cli/commands/hooks/status.d.ts.map +0 -1
- package/dist/cli/commands/hooks/test.d.ts.map +0 -1
- package/dist/cli/commands/hooks/unlock.d.ts.map +0 -1
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/list.d.ts.map +0 -1
- package/dist/cli/commands/list.e2e.test.d.ts +0 -1
- package/dist/cli/commands/list.e2e.test.js +0 -47
- package/dist/cli/commands/login.d.ts.map +0 -1
- package/dist/cli/commands/logout.d.ts.map +0 -1
- package/dist/cli/commands/panes/broker.d.ts.map +0 -1
- package/dist/cli/commands/panes/pipe-sink.d.ts.map +0 -1
- package/dist/cli/commands/panes/snapshot.d.ts.map +0 -1
- package/dist/cli/commands/plan.d.ts.map +0 -1
- package/dist/cli/commands/plan.e2e.test.d.ts +0 -1
- package/dist/cli/commands/plan.e2e.test.js +0 -74
- package/dist/cli/commands/preview/index.d.ts.map +0 -1
- package/dist/cli/commands/preview/init.d.ts.map +0 -1
- package/dist/cli/commands/preview/list.d.ts.map +0 -1
- package/dist/cli/commands/preview/status.d.ts.map +0 -1
- package/dist/cli/commands/preview/stop.d.ts.map +0 -1
- package/dist/cli/commands/preview/sync.d.ts.map +0 -1
- package/dist/cli/commands/preview/watch.d.ts.map +0 -1
- package/dist/cli/commands/project/add.d.ts.map +0 -1
- package/dist/cli/commands/project/list.d.ts.map +0 -1
- package/dist/cli/commands/project/remove.d.ts.map +0 -1
- package/dist/cli/commands/push.d.ts.map +0 -1
- package/dist/cli/commands/reference/add.d.ts.map +0 -1
- package/dist/cli/commands/reference/delete.d.ts.map +0 -1
- package/dist/cli/commands/reference/extract.d.ts.map +0 -1
- package/dist/cli/commands/reference/list.d.ts.map +0 -1
- package/dist/cli/commands/reference/normalize.d.ts.map +0 -1
- package/dist/cli/commands/reference/open.d.ts.map +0 -1
- package/dist/cli/commands/reference/save.d.ts.map +0 -1
- package/dist/cli/commands/reference/search.d.ts.map +0 -1
- package/dist/cli/commands/reference/show.d.ts.map +0 -1
- package/dist/cli/commands/reference/update-index.d.ts.map +0 -1
- package/dist/cli/commands/reference/update.d.ts.map +0 -1
- package/dist/cli/commands/report/blocked.d.ts.map +0 -1
- package/dist/cli/commands/report/complete.d.ts.map +0 -1
- package/dist/cli/commands/report/progress.d.ts.map +0 -1
- package/dist/cli/commands/report/start.d.ts.map +0 -1
- package/dist/cli/commands/resource/acquire.d.ts.map +0 -1
- package/dist/cli/commands/resource/list.d.ts.map +0 -1
- package/dist/cli/commands/resource/release.d.ts.map +0 -1
- package/dist/cli/commands/resource/wait.d.ts.map +0 -1
- package/dist/cli/commands/review.d.ts.map +0 -1
- package/dist/cli/commands/session/attach.d.ts.map +0 -1
- package/dist/cli/commands/session/await.d.ts.map +0 -1
- package/dist/cli/commands/session/complete.d.ts.map +0 -1
- package/dist/cli/commands/session/create.d.ts.map +0 -1
- package/dist/cli/commands/session/heartbeat.d.ts.map +0 -1
- package/dist/cli/commands/session/list.d.ts.map +0 -1
- package/dist/cli/commands/session/mark-done.d.ts.map +0 -1
- package/dist/cli/commands/session/mine.d.ts.map +0 -1
- package/dist/cli/commands/session/replay.d.ts.map +0 -1
- package/dist/cli/commands/session/run.d.ts.map +0 -1
- package/dist/cli/commands/session/show.d.ts.map +0 -1
- package/dist/cli/commands/session/start.d.ts.map +0 -1
- package/dist/cli/commands/session/state/cleanup.d.ts.map +0 -1
- package/dist/cli/commands/session/state/end.d.ts.map +0 -1
- package/dist/cli/commands/session/state/get.d.ts.map +0 -1
- package/dist/cli/commands/session/state/init.d.ts.map +0 -1
- package/dist/cli/commands/session/state/list.d.ts.map +0 -1
- package/dist/cli/commands/session/state/update.d.ts.map +0 -1
- package/dist/cli/commands/session/stop.d.ts.map +0 -1
- package/dist/cli/commands/session/view.d.ts.map +0 -1
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/state/dump.d.ts.map +0 -1
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/sync.d.ts.map +0 -1
- package/dist/cli/commands/trace/export.d.ts.map +0 -1
- package/dist/cli/commands/triage/claim.d.ts.map +0 -1
- package/dist/cli/commands/triage/list.d.ts.map +0 -1
- package/dist/cli/commands/triage/next.d.ts.map +0 -1
- package/dist/cli/commands/triage/pull.d.ts.map +0 -1
- package/dist/cli/commands/triage/stats.d.ts.map +0 -1
- package/dist/cli/commands/tunnel/list.d.ts.map +0 -1
- package/dist/cli/commands/tunnel/start.d.ts.map +0 -1
- package/dist/cli/commands/tunnel/stop.d.ts.map +0 -1
- package/dist/cli/commands/tunnel/url.d.ts.map +0 -1
- package/dist/cli/commands/web/start.d.ts.map +0 -1
- package/dist/cli/commands/windows/context.d.ts.map +0 -1
- package/dist/cli/commands/windows/focus.d.ts.map +0 -1
- package/dist/cli/commands/windows/list.d.ts.map +0 -1
- package/dist/cli/commands/windows/map.d.ts.map +0 -1
- package/dist/cli/commands/windows/read.d.ts.map +0 -1
- package/dist/cli/commands/windows/search.d.ts.map +0 -1
- package/dist/cli/commands/windows/show.d.ts.map +0 -1
- package/dist/cli/commands/windows/watch.d.ts.map +0 -1
- package/dist/lib/active-sessions.d.ts.map +0 -1
- package/dist/lib/agent-adapters.d.ts.map +0 -1
- package/dist/lib/agent-sessions.d.ts.map +0 -1
- package/dist/lib/agent-trace.d.ts.map +0 -1
- package/dist/lib/analytics.d.ts.map +0 -1
- package/dist/lib/annotations-convex.d.ts.map +0 -1
- package/dist/lib/annotations.d.ts.map +0 -1
- package/dist/lib/auto/discover.d.ts.map +0 -1
- package/dist/lib/auto/ideate.d.ts.map +0 -1
- package/dist/lib/auto/spawn.d.ts.map +0 -1
- package/dist/lib/auto/workspace.d.ts.map +0 -1
- package/dist/lib/backlog.d.ts.map +0 -1
- package/dist/lib/backlog.test.d.ts +0 -1
- package/dist/lib/backlog.test.js +0 -162
- package/dist/lib/config-loader.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/claude.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/codex.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/copilot.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/gemini.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/index.d.ts.map +0 -1
- package/dist/lib/config-sync/adapters/opencode.d.ts.map +0 -1
- package/dist/lib/config-sync/index.d.ts.map +0 -1
- package/dist/lib/config-sync/types.d.ts.map +0 -1
- package/dist/lib/config-sync/writer.d.ts.map +0 -1
- package/dist/lib/content-sync/index.d.ts.map +0 -1
- package/dist/lib/content-sync/types.d.ts.map +0 -1
- package/dist/lib/contracts.d.ts.map +0 -1
- package/dist/lib/convex.d.ts.map +0 -1
- package/dist/lib/device.d.ts.map +0 -1
- package/dist/lib/digest/index.d.ts.map +0 -1
- package/dist/lib/docs/lint.d.ts.map +0 -1
- package/dist/lib/docs/lint.test.d.ts +0 -1
- package/dist/lib/docs/lint.test.js +0 -120
- package/dist/lib/docs/sync.d.ts.map +0 -1
- package/dist/lib/doctor/index.d.ts.map +0 -1
- package/dist/lib/doctor/repos.d.ts.map +0 -1
- package/dist/lib/doctor/templates.d.ts.map +0 -1
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/events.d.ts.map +0 -1
- package/dist/lib/heartbeat.d.ts.map +0 -1
- package/dist/lib/heartbeat.test.d.ts +0 -1
- package/dist/lib/heartbeat.test.js +0 -124
- package/dist/lib/hooks/adapters/claude.d.ts.map +0 -1
- package/dist/lib/hooks/adapters/codex.d.ts.map +0 -1
- package/dist/lib/hooks/adapters/copilot.d.ts.map +0 -1
- package/dist/lib/hooks/context.d.ts.map +0 -1
- package/dist/lib/hooks/index.d.ts.map +0 -1
- package/dist/lib/hooks/registry.d.ts.map +0 -1
- package/dist/lib/hooks/runner.d.ts.map +0 -1
- package/dist/lib/hooks/types.d.ts.map +0 -1
- package/dist/lib/index.test.d.ts +0 -1
- package/dist/lib/index.test.js +0 -334
- package/dist/lib/managed-session.d.ts.map +0 -1
- package/dist/lib/math.d.ts.map +0 -1
- package/dist/lib/math.test.d.ts +0 -1
- package/dist/lib/math.test.js +0 -238
- package/dist/lib/ngrok.d.ts.map +0 -1
- package/dist/lib/nvim/discovery.d.ts.map +0 -1
- package/dist/lib/nvim/discovery.test.d.ts +0 -1
- package/dist/lib/nvim/discovery.test.js +0 -131
- package/dist/lib/nvim/index.d.ts.map +0 -1
- package/dist/lib/nvim/remote.d.ts.map +0 -1
- package/dist/lib/nvim/remote.test.d.ts +0 -1
- package/dist/lib/nvim/remote.test.js +0 -18
- package/dist/lib/panes/broker.d.ts.map +0 -1
- package/dist/lib/panes/index.d.ts.map +0 -1
- package/dist/lib/panes/server.d.ts.map +0 -1
- package/dist/lib/preview/detect.d.ts.map +0 -1
- package/dist/lib/preview/index.d.ts.map +0 -1
- package/dist/lib/preview/manager.d.ts.map +0 -1
- package/dist/lib/preview/schema.d.ts.map +0 -1
- package/dist/lib/preview/sprite.d.ts.map +0 -1
- package/dist/lib/preview/watcher.d.ts.map +0 -1
- package/dist/lib/process/index.d.ts.map +0 -1
- package/dist/lib/process/snapshot.d.ts.map +0 -1
- package/dist/lib/process/snapshot.test.d.ts +0 -1
- package/dist/lib/process/snapshot.test.js +0 -127
- package/dist/lib/project-identity.d.ts.map +0 -1
- package/dist/lib/provider-auth.d.ts.map +0 -1
- package/dist/lib/references.d.ts.map +0 -1
- package/dist/lib/report.d.ts.map +0 -1
- package/dist/lib/resources.d.ts.map +0 -1
- package/dist/lib/resources.test.d.ts +0 -1
- package/dist/lib/resources.test.js +0 -94
- package/dist/lib/runner.d.ts.map +0 -1
- package/dist/lib/runner.test.d.ts +0 -1
- package/dist/lib/runner.test.js +0 -234
- package/dist/lib/session-artifacts.d.ts.map +0 -1
- package/dist/lib/session-manager.d.ts.map +0 -1
- package/dist/lib/session-manager.test.d.ts +0 -1
- package/dist/lib/session-manager.test.js +0 -310
- package/dist/lib/session-result.d.ts.map +0 -1
- package/dist/lib/session-state.d.ts.map +0 -1
- package/dist/lib/slack-workspace.d.ts.map +0 -1
- package/dist/lib/tmux/bridge.d.ts.map +0 -1
- package/dist/lib/tmux/context.d.ts.map +0 -1
- package/dist/lib/tmux/context.test.d.ts +0 -1
- package/dist/lib/tmux/context.test.js +0 -215
- package/dist/lib/tmux/index.d.ts.map +0 -1
- package/dist/lib/tmux/map.d.ts.map +0 -1
- package/dist/lib/tmux/map.test.d.ts +0 -1
- package/dist/lib/tmux/map.test.js +0 -80
- package/dist/lib/tmux/panes.d.ts.map +0 -1
- package/dist/lib/tmux/redaction.d.ts.map +0 -1
- package/dist/lib/tmux/redaction.test.d.ts +0 -1
- package/dist/lib/tmux/redaction.test.js +0 -183
- package/dist/lib/triage-llm.d.ts.map +0 -1
- package/dist/lib/triage-tracker.d.ts.map +0 -1
- package/dist/lib/triage.d.ts.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/windows/index.d.ts.map +0 -1
- package/dist/lib/windows/inventory.d.ts.map +0 -1
- package/dist/lib/windows/inventory.test.d.ts +0 -1
- package/dist/lib/windows/inventory.test.js +0 -292
- package/dist/lib/windows/types.d.ts.map +0 -1
- package/dist/lib.d.ts.map +0 -1
- package/dist/web/app/@overlay/default.d.ts +0 -1
- package/dist/web/app/@overlay/default.js +0 -3
- package/dist/web/app/about/page.d.ts +0 -1
- package/dist/web/app/about/page.js +0 -6
- package/dist/web/app/layout.d.ts +0 -7
- package/dist/web/app/layout.js +0 -19
- package/dist/web/app/page.d.ts +0 -1
- package/dist/web/app/page.js +0 -38
- package/dist/web/app/settings/page.d.ts +0 -1
- package/dist/web/app/settings/page.js +0 -6
- package/dist/web/app/shortcuts/page.d.ts +0 -1
- package/dist/web/app/shortcuts/page.js +0 -6
- package/dist/web/atoms/sidebar.d.ts +0 -16
- package/dist/web/atoms/sidebar.js +0 -58
- package/dist/web/atoms/state.d.ts +0 -24
- package/dist/web/atoms/state.js +0 -43
- package/dist/web/components/command-palette.d.ts +0 -6
- package/dist/web/components/command-palette.js +0 -297
- package/dist/web/components/main-view.d.ts +0 -1
- package/dist/web/components/main-view.js +0 -93
- package/dist/web/components/overlay/page-overlay.d.ts +0 -16
- package/dist/web/components/overlay/page-overlay.js +0 -84
- package/dist/web/components/pane-view.d.ts +0 -5
- package/dist/web/components/pane-view.js +0 -168
- package/dist/web/components/project-files-view.d.ts +0 -6
- package/dist/web/components/project-files-view.js +0 -205
- package/dist/web/components/project-planning-view.d.ts +0 -6
- package/dist/web/components/project-planning-view.js +0 -146
- package/dist/web/components/session-view.d.ts +0 -6
- package/dist/web/components/session-view.js +0 -211
- package/dist/web/components/sessions-list-view.d.ts +0 -1
- package/dist/web/components/sessions-list-view.js +0 -118
- package/dist/web/components/sidebar/index.d.ts +0 -9
- package/dist/web/components/sidebar/index.js +0 -29
- package/dist/web/components/sidebar/kbd.d.ts +0 -17
- package/dist/web/components/sidebar/kbd.js +0 -47
- package/dist/web/components/sidebar/nav-group.d.ts +0 -22
- package/dist/web/components/sidebar/nav-group.js +0 -43
- package/dist/web/components/sidebar/nav-item.d.ts +0 -17
- package/dist/web/components/sidebar/nav-item.js +0 -38
- package/dist/web/components/sidebar/sidebar-header.d.ts +0 -9
- package/dist/web/components/sidebar/sidebar-header.js +0 -18
- package/dist/web/components/sidebar/sidebar-nav.d.ts +0 -7
- package/dist/web/components/sidebar/sidebar-nav.js +0 -505
- package/dist/web/components/sidebar/sidebar-search.d.ts +0 -7
- package/dist/web/components/sidebar/sidebar-search.js +0 -18
- package/dist/web/components/sidebar/sidebar-settings.d.ts +0 -4
- package/dist/web/components/sidebar/sidebar-settings.js +0 -28
- package/dist/web/components/sidebar/sidebar-transition.d.ts +0 -12
- package/dist/web/components/sidebar/sidebar-transition.js +0 -58
- package/dist/web/components/status-bar.d.ts +0 -1
- package/dist/web/components/status-bar.js +0 -53
- package/dist/web/components/terminal.d.ts +0 -4
- package/dist/web/components/terminal.js +0 -324
- package/dist/web/components/toast.d.ts +0 -7
- package/dist/web/components/toast.js +0 -72
- package/dist/web/hooks/use-keybindings.d.ts +0 -30
- package/dist/web/hooks/use-keybindings.js +0 -322
- package/dist/web/hooks/use-state.d.ts +0 -11
- package/dist/web/hooks/use-state.js +0 -84
- package/dist/web/lib/api.d.ts +0 -179
- package/dist/web/lib/api.js +0 -79
- package/dist/web/lib/paths.d.ts +0 -2
- package/dist/web/lib/paths.js +0 -26
- package/dist/web/lib/utils.d.ts +0 -2
- package/dist/web/lib/utils.js +0 -5
- package/dist/web/lib/ws.d.ts +0 -18
- package/dist/web/lib/ws.js +0 -138
- package/dist/web/next.config.d.ts +0 -3
- package/dist/web/next.config.js +0 -9
- package/scripts/generate-manifest.ts +0 -44
- package/src/cli/base-command.ts +0 -233
- package/src/cli/commands/__tests__/annotations.test.ts +0 -704
- package/src/cli/commands/__tests__/bridge.test.ts +0 -101
- package/src/cli/commands/__tests__/daemon.test.ts +0 -79
- package/src/cli/commands/agent/list.ts +0 -75
- package/src/cli/commands/annotation/ack.ts +0 -37
- package/src/cli/commands/annotation/create.ts +0 -67
- package/src/cli/commands/annotation/events.ts +0 -63
- package/src/cli/commands/annotation/export.ts +0 -67
- package/src/cli/commands/annotation/import.ts +0 -98
- package/src/cli/commands/annotation/ingest.ts +0 -112
- package/src/cli/commands/annotation/list.ts +0 -57
- package/src/cli/commands/annotation/reply.ts +0 -46
- package/src/cli/commands/annotation/resolve.ts +0 -37
- package/src/cli/commands/auto/index.ts +0 -755
- package/src/cli/commands/backlog/add.ts +0 -74
- package/src/cli/commands/backlog/claim.ts +0 -53
- package/src/cli/commands/backlog/complete.ts +0 -51
- package/src/cli/commands/backlog/list.ts +0 -107
- package/src/cli/commands/backlog/pick.ts +0 -50
- package/src/cli/commands/backlog/sync.ts +0 -131
- package/src/cli/commands/bootstrap.ts +0 -205
- package/src/cli/commands/bridge.ts +0 -233
- package/src/cli/commands/context/inject.ts +0 -103
- package/src/cli/commands/context/list.ts +0 -112
- package/src/cli/commands/context/publish.ts +0 -83
- package/src/cli/commands/context/read.ts +0 -85
- package/src/cli/commands/daemon.ts +0 -1809
- package/src/cli/commands/digest/index.ts +0 -245
- package/src/cli/commands/docs/lint.ts +0 -93
- package/src/cli/commands/docs/sync.ts +0 -90
- package/src/cli/commands/doctor.ts +0 -267
- package/src/cli/commands/find/index.ts +0 -313
- package/src/cli/commands/history/index.ts +0 -269
- package/src/cli/commands/hooks/guard.ts +0 -71
- package/src/cli/commands/hooks/list.ts +0 -139
- package/src/cli/commands/hooks/lock.ts +0 -47
- package/src/cli/commands/hooks/status.ts +0 -56
- package/src/cli/commands/hooks/test.ts +0 -190
- package/src/cli/commands/hooks/unlock.ts +0 -56
- package/src/cli/commands/list.e2e.test.ts +0 -58
- package/src/cli/commands/list.ts +0 -96
- package/src/cli/commands/login.ts +0 -236
- package/src/cli/commands/logout.ts +0 -45
- package/src/cli/commands/panes/broker.ts +0 -68
- package/src/cli/commands/panes/pipe-sink.ts +0 -101
- package/src/cli/commands/panes/snapshot.ts +0 -156
- package/src/cli/commands/plan.e2e.test.ts +0 -90
- package/src/cli/commands/plan.ts +0 -68
- package/src/cli/commands/preview/index.ts +0 -282
- package/src/cli/commands/preview/list.ts +0 -116
- package/src/cli/commands/preview/status.ts +0 -137
- package/src/cli/commands/preview/stop.ts +0 -165
- package/src/cli/commands/project/add.ts +0 -110
- package/src/cli/commands/project/list.ts +0 -136
- package/src/cli/commands/project/remove.ts +0 -60
- package/src/cli/commands/push.ts +0 -115
- package/src/cli/commands/reference/add.ts +0 -266
- package/src/cli/commands/reference/delete.ts +0 -67
- package/src/cli/commands/reference/extract.ts +0 -389
- package/src/cli/commands/reference/list.ts +0 -117
- package/src/cli/commands/reference/normalize.ts +0 -90
- package/src/cli/commands/reference/open.ts +0 -92
- package/src/cli/commands/reference/save.ts +0 -103
- package/src/cli/commands/reference/search.ts +0 -85
- package/src/cli/commands/reference/show.ts +0 -174
- package/src/cli/commands/reference/update-index.ts +0 -103
- package/src/cli/commands/reference/update.ts +0 -136
- package/src/cli/commands/report/blocked.ts +0 -165
- package/src/cli/commands/report/complete.ts +0 -179
- package/src/cli/commands/report/progress.ts +0 -142
- package/src/cli/commands/report/start.ts +0 -140
- package/src/cli/commands/resource/acquire.ts +0 -116
- package/src/cli/commands/resource/list.ts +0 -77
- package/src/cli/commands/resource/release.ts +0 -64
- package/src/cli/commands/resource/wait.ts +0 -93
- package/src/cli/commands/review.ts +0 -105
- package/src/cli/commands/session/attach.ts +0 -200
- package/src/cli/commands/session/await.ts +0 -83
- package/src/cli/commands/session/complete.ts +0 -100
- package/src/cli/commands/session/create.ts +0 -92
- package/src/cli/commands/session/heartbeat.ts +0 -63
- package/src/cli/commands/session/list.ts +0 -281
- package/src/cli/commands/session/mark-done.ts +0 -132
- package/src/cli/commands/session/mine.ts +0 -189
- package/src/cli/commands/session/replay.ts +0 -659
- package/src/cli/commands/session/run.ts +0 -44
- package/src/cli/commands/session/show.ts +0 -177
- package/src/cli/commands/session/start.ts +0 -580
- package/src/cli/commands/session/state/cleanup.ts +0 -61
- package/src/cli/commands/session/state/end.ts +0 -47
- package/src/cli/commands/session/state/get.ts +0 -65
- package/src/cli/commands/session/state/init.ts +0 -50
- package/src/cli/commands/session/state/list.ts +0 -68
- package/src/cli/commands/session/state/update.ts +0 -108
- package/src/cli/commands/session/stop.ts +0 -134
- package/src/cli/commands/session/view.ts +0 -186
- package/src/cli/commands/start.ts +0 -256
- package/src/cli/commands/state/dump.ts +0 -449
- package/src/cli/commands/status.ts +0 -244
- package/src/cli/commands/sync.ts +0 -174
- package/src/cli/commands/trace/export.ts +0 -255
- package/src/cli/commands/triage/claim.ts +0 -203
- package/src/cli/commands/triage/list.ts +0 -137
- package/src/cli/commands/triage/next.ts +0 -73
- package/src/cli/commands/triage/pull.ts +0 -97
- package/src/cli/commands/triage/stats.ts +0 -82
- package/src/cli/commands/tunnel/list.ts +0 -113
- package/src/cli/commands/tunnel/start.ts +0 -122
- package/src/cli/commands/tunnel/stop.ts +0 -108
- package/src/cli/commands/tunnel/url.ts +0 -82
- package/src/cli/commands/web/start.ts +0 -125
- package/src/cli/commands/windows/context.ts +0 -439
- package/src/cli/commands/windows/focus.ts +0 -130
- package/src/cli/commands/windows/list.ts +0 -213
- package/src/cli/commands/windows/map.ts +0 -223
- package/src/cli/commands/windows/read.ts +0 -279
- package/src/cli/commands/windows/search.ts +0 -219
- package/src/cli/commands/windows/show.ts +0 -188
- package/src/cli/commands/windows/watch.ts +0 -262
- package/src/lib/__tests__/annotations-convex.test.ts +0 -104
- package/src/lib/active-sessions.ts +0 -1486
- package/src/lib/agent-adapters.ts +0 -412
- package/src/lib/agent-sessions.ts +0 -671
- package/src/lib/agent-trace.test.ts +0 -296
- package/src/lib/agent-trace.ts +0 -513
- package/src/lib/analytics.ts +0 -178
- package/src/lib/annotations-convex.ts +0 -296
- package/src/lib/annotations.test.ts +0 -274
- package/src/lib/annotations.ts +0 -836
- package/src/lib/auto/discover.ts +0 -545
- package/src/lib/auto/ideate.ts +0 -412
- package/src/lib/auto/spawn.ts +0 -549
- package/src/lib/auto/workspace.ts +0 -282
- package/src/lib/backlog.test.ts +0 -194
- package/src/lib/backlog.ts +0 -428
- package/src/lib/config-loader.ts +0 -391
- package/src/lib/config-sync/adapters/claude.ts +0 -91
- package/src/lib/config-sync/adapters/codex.ts +0 -135
- package/src/lib/config-sync/adapters/copilot.ts +0 -98
- package/src/lib/config-sync/adapters/gemini.ts +0 -86
- package/src/lib/config-sync/adapters/index.ts +0 -39
- package/src/lib/config-sync/adapters/opencode.ts +0 -94
- package/src/lib/config-sync/index.ts +0 -399
- package/src/lib/config-sync/types.ts +0 -92
- package/src/lib/config-sync/writer.ts +0 -188
- package/src/lib/content-sync/index.ts +0 -882
- package/src/lib/content-sync/types.ts +0 -104
- package/src/lib/contracts.test.ts +0 -186
- package/src/lib/contracts.ts +0 -195
- package/src/lib/convex.ts +0 -54
- package/src/lib/device.ts +0 -41
- package/src/lib/digest/index.ts +0 -529
- package/src/lib/docs/lint.test.ts +0 -135
- package/src/lib/docs/lint.ts +0 -310
- package/src/lib/docs/sync.ts +0 -184
- package/src/lib/doctor/index.ts +0 -647
- package/src/lib/doctor/repos.ts +0 -381
- package/src/lib/doctor/templates.ts +0 -191
- package/src/lib/errors.ts +0 -111
- package/src/lib/events.ts +0 -479
- package/src/lib/heartbeat.test.ts +0 -164
- package/src/lib/heartbeat.ts +0 -326
- package/src/lib/hooks/adapters/claude.ts +0 -115
- package/src/lib/hooks/adapters/codex.ts +0 -92
- package/src/lib/hooks/adapters/copilot.ts +0 -141
- package/src/lib/hooks/context.ts +0 -174
- package/src/lib/hooks/index.ts +0 -39
- package/src/lib/hooks/registry.ts +0 -101
- package/src/lib/hooks/runner.ts +0 -208
- package/src/lib/hooks/types.ts +0 -89
- package/src/lib/index.test.ts +0 -426
- package/src/lib/managed-session.ts +0 -117
- package/src/lib/math.test.ts +0 -299
- package/src/lib/math.ts +0 -120
- package/src/lib/ngrok.ts +0 -441
- package/src/lib/nvim/discovery.test.ts +0 -157
- package/src/lib/nvim/discovery.ts +0 -181
- package/src/lib/nvim/index.ts +0 -28
- package/src/lib/nvim/remote.test.ts +0 -21
- package/src/lib/nvim/remote.ts +0 -184
- package/src/lib/panes/README.md +0 -20
- package/src/lib/panes/broker.ts +0 -261
- package/src/lib/panes/index.ts +0 -1
- package/src/lib/panes/server.ts +0 -379
- package/src/lib/preview/detect.ts +0 -184
- package/src/lib/preview/index.ts +0 -1
- package/src/lib/process/index.ts +0 -16
- package/src/lib/process/snapshot.test.ts +0 -188
- package/src/lib/process/snapshot.ts +0 -257
- package/src/lib/provider-auth.ts +0 -258
- package/src/lib/references.ts +0 -481
- package/src/lib/report.ts +0 -973
- package/src/lib/resources.test.ts +0 -132
- package/src/lib/resources.ts +0 -429
- package/src/lib/runner.test.ts +0 -288
- package/src/lib/runner.ts +0 -1223
- package/src/lib/session-artifacts.test.ts +0 -107
- package/src/lib/session-artifacts.ts +0 -193
- package/src/lib/session-manager.test.ts +0 -402
- package/src/lib/session-manager.ts +0 -150
- package/src/lib/session-result.test.ts +0 -98
- package/src/lib/session-result.ts +0 -262
- package/src/lib/session-state.ts +0 -470
- package/src/lib/slack-workspace.ts +0 -25
- package/src/lib/tmux/bridge.ts +0 -439
- package/src/lib/tmux/context.test.ts +0 -242
- package/src/lib/tmux/context.ts +0 -380
- package/src/lib/tmux/index.ts +0 -46
- package/src/lib/tmux/map.test.ts +0 -99
- package/src/lib/tmux/map.ts +0 -252
- package/src/lib/tmux/panes.ts +0 -170
- package/src/lib/tmux/redaction.test.ts +0 -231
- package/src/lib/tmux/redaction.ts +0 -201
- package/src/lib/triage-llm.ts +0 -312
- package/src/lib/triage-tracker.ts +0 -400
- package/src/lib/triage.ts +0 -655
- package/src/lib/types.ts +0 -61
- package/src/lib/windows/index.ts +0 -2
- package/src/lib/windows/inventory.test.ts +0 -370
- package/src/lib/windows/inventory.ts +0 -352
- package/src/lib/windows/types.ts +0 -46
- package/src/lib.ts +0 -260
|
@@ -1,412 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Adapter System
|
|
3
|
-
*
|
|
4
|
-
* Extensible abstraction for spawning different AI coding agent CLIs.
|
|
5
|
-
* Each adapter knows how to:
|
|
6
|
-
* - Build the command line invocation for its agent
|
|
7
|
-
* - Handle prompt input (stdin, file, or inline)
|
|
8
|
-
* - Capture output (file, stdout, or streaming)
|
|
9
|
-
*
|
|
10
|
-
* Adding a new agent:
|
|
11
|
-
* 1. Add the agent to Agent enum in types.ts
|
|
12
|
-
* 2. Create an adapter implementing AgentAdapter
|
|
13
|
-
* 3. Register it in AGENT_ADAPTERS map
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
17
|
-
import { homedir } from "node:os";
|
|
18
|
-
import { join } from "node:path";
|
|
19
|
-
import type { AgentType } from "./types.js";
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Context passed to agent adapters for command building
|
|
23
|
-
*/
|
|
24
|
-
export interface AgentCommandContext {
|
|
25
|
-
/** Unique session ID */
|
|
26
|
-
sessionId: string;
|
|
27
|
-
/** Path to prompt file */
|
|
28
|
-
promptPath: string;
|
|
29
|
-
/** Path for output (if agent supports file output) */
|
|
30
|
-
outputPath: string;
|
|
31
|
-
/** Working directory */
|
|
32
|
-
cwd: string;
|
|
33
|
-
/** Optional model override */
|
|
34
|
-
model?: string;
|
|
35
|
-
/** Trace ID for event correlation */
|
|
36
|
-
traceId?: string;
|
|
37
|
-
/** Project name */
|
|
38
|
-
project?: string;
|
|
39
|
-
/** Environment variables to inject */
|
|
40
|
-
envVars: Record<string, string>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Result of building an agent command
|
|
45
|
-
*/
|
|
46
|
-
export interface AgentCommandResult {
|
|
47
|
-
/** The shell command to execute */
|
|
48
|
-
command: string;
|
|
49
|
-
/** Whether the agent writes structured output to outputPath */
|
|
50
|
-
writesOutputFile: boolean;
|
|
51
|
-
/** Whether the agent reads prompt from stdin */
|
|
52
|
-
readsStdin: boolean;
|
|
53
|
-
/** Session ID environment variable name (for hooks/tracking) */
|
|
54
|
-
sessionEnvVar: string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Agent adapter interface
|
|
59
|
-
*/
|
|
60
|
-
export interface AgentAdapter {
|
|
61
|
-
/** Agent type identifier */
|
|
62
|
-
readonly type: AgentType;
|
|
63
|
-
/** Human-readable name */
|
|
64
|
-
readonly name: string;
|
|
65
|
-
/** Whether this agent is available (CLI installed) */
|
|
66
|
-
isAvailable(): Promise<boolean>;
|
|
67
|
-
/** Build command for terminal mode (tmux window) */
|
|
68
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult;
|
|
69
|
-
/** Build command for headless mode (subprocess) */
|
|
70
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Base class with common utilities
|
|
75
|
-
*/
|
|
76
|
-
abstract class BaseAdapter implements AgentAdapter {
|
|
77
|
-
abstract readonly type: AgentType;
|
|
78
|
-
abstract readonly name: string;
|
|
79
|
-
|
|
80
|
-
protected localBin = join(homedir(), ".local", "bin");
|
|
81
|
-
|
|
82
|
-
async isAvailable(): Promise<boolean> {
|
|
83
|
-
const { execSync } = await import("node:child_process");
|
|
84
|
-
try {
|
|
85
|
-
execSync(`which ${this.type}`, { stdio: "ignore" });
|
|
86
|
-
return true;
|
|
87
|
-
} catch {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
abstract buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult;
|
|
93
|
-
abstract buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult;
|
|
94
|
-
|
|
95
|
-
protected buildEnvPrefix(ctx: AgentCommandContext): string {
|
|
96
|
-
const vars = Object.entries(ctx.envVars)
|
|
97
|
-
.map(([k, v]) => `${k}=${v}`)
|
|
98
|
-
.join(" ");
|
|
99
|
-
return vars ? `env ${vars}` : "";
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
protected readPromptContent(promptPath: string): string {
|
|
103
|
-
if (existsSync(promptPath)) {
|
|
104
|
-
return readFileSync(promptPath, "utf-8").trim().replace(/'/g, "'\\''");
|
|
105
|
-
}
|
|
106
|
-
return "";
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Claude Code adapter
|
|
112
|
-
*/
|
|
113
|
-
class ClaudeAdapter extends BaseAdapter {
|
|
114
|
-
readonly type = "claude" as const;
|
|
115
|
-
readonly name = "Claude Code";
|
|
116
|
-
|
|
117
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
118
|
-
const { randomUUID } = require("node:crypto");
|
|
119
|
-
const claudeSessionId = randomUUID();
|
|
120
|
-
const claudePath = join(this.localBin, "claude");
|
|
121
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
122
|
-
|
|
123
|
-
const command = `cat '${ctx.promptPath}' | ${envPrefix} CLAUDE_SESSION_ID=${ctx.sessionId} '${claudePath}' -p --dangerously-skip-permissions --output-format text --session-id ${claudeSessionId}`;
|
|
124
|
-
|
|
125
|
-
return {
|
|
126
|
-
command,
|
|
127
|
-
writesOutputFile: false,
|
|
128
|
-
readsStdin: true,
|
|
129
|
-
sessionEnvVar: "CLAUDE_SESSION_ID",
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
134
|
-
return this.buildTerminalCommand(ctx);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Codex CLI adapter
|
|
140
|
-
*/
|
|
141
|
-
class CodexAdapter extends BaseAdapter {
|
|
142
|
-
readonly type = "codex" as const;
|
|
143
|
-
readonly name = "Codex CLI";
|
|
144
|
-
|
|
145
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
146
|
-
const codexPath = join(this.localBin, "codex");
|
|
147
|
-
const modelFlag = ctx.model ? ` --model '${ctx.model}'` : "";
|
|
148
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
149
|
-
|
|
150
|
-
// Note: codex 0.98.0's `-o` (--output-last-message) doesn't reliably
|
|
151
|
-
// write the response file. Stdout capture handles output instead.
|
|
152
|
-
const command = `cat '${ctx.promptPath}' | ${envPrefix} CODEX_SESSION_ID=${ctx.sessionId} '${codexPath}' exec - --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check${modelFlag}`;
|
|
153
|
-
|
|
154
|
-
return {
|
|
155
|
-
command,
|
|
156
|
-
writesOutputFile: false,
|
|
157
|
-
readsStdin: true,
|
|
158
|
-
sessionEnvVar: "CODEX_SESSION_ID",
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
163
|
-
return this.buildTerminalCommand(ctx);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* GitHub Copilot CLI adapter
|
|
169
|
-
*/
|
|
170
|
-
class CopilotAdapter extends BaseAdapter {
|
|
171
|
-
readonly type = "copilot" as const;
|
|
172
|
-
readonly name = "GitHub Copilot CLI";
|
|
173
|
-
|
|
174
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
175
|
-
const promptContent = this.readPromptContent(ctx.promptPath);
|
|
176
|
-
const modelFlag = ctx.model ? ` --model '${ctx.model}'` : "";
|
|
177
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
178
|
-
|
|
179
|
-
const command = `${envPrefix} COPILOT_SESSION_ID=${ctx.sessionId} copilot -p '${promptContent}' --yolo --stream off${modelFlag}`;
|
|
180
|
-
|
|
181
|
-
return {
|
|
182
|
-
command,
|
|
183
|
-
writesOutputFile: false,
|
|
184
|
-
readsStdin: false,
|
|
185
|
-
sessionEnvVar: "COPILOT_SESSION_ID",
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
190
|
-
return this.buildTerminalCommand(ctx);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Gemini CLI adapter
|
|
196
|
-
*/
|
|
197
|
-
class GeminiAdapter extends BaseAdapter {
|
|
198
|
-
readonly type = "gemini" as const;
|
|
199
|
-
readonly name = "Gemini CLI";
|
|
200
|
-
|
|
201
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
202
|
-
const promptContent = this.readPromptContent(ctx.promptPath);
|
|
203
|
-
const modelFlag = ctx.model ? ` -m '${ctx.model}'` : "";
|
|
204
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
205
|
-
|
|
206
|
-
const command = `${envPrefix} GEMINI_SESSION_ID=${ctx.sessionId} gemini -p '${promptContent}'${modelFlag}`;
|
|
207
|
-
|
|
208
|
-
return {
|
|
209
|
-
command,
|
|
210
|
-
writesOutputFile: false,
|
|
211
|
-
readsStdin: false,
|
|
212
|
-
sessionEnvVar: "GEMINI_SESSION_ID",
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
217
|
-
return this.buildTerminalCommand(ctx);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* OpenCode adapter (SST's opencode CLI)
|
|
223
|
-
*/
|
|
224
|
-
class OpenCodeAdapter extends BaseAdapter {
|
|
225
|
-
readonly type = "opencode" as const;
|
|
226
|
-
readonly name = "OpenCode";
|
|
227
|
-
|
|
228
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
229
|
-
const promptContent = this.readPromptContent(ctx.promptPath);
|
|
230
|
-
const modelFlag = ctx.model ? ` -m '${ctx.model}'` : "";
|
|
231
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
232
|
-
|
|
233
|
-
// opencode run supports JSON format output
|
|
234
|
-
const command = `${envPrefix} OPENCODE_SESSION_ID=${ctx.sessionId} opencode run '${promptContent}'${modelFlag} --format json`;
|
|
235
|
-
|
|
236
|
-
return {
|
|
237
|
-
command,
|
|
238
|
-
writesOutputFile: false,
|
|
239
|
-
readsStdin: false,
|
|
240
|
-
sessionEnvVar: "OPENCODE_SESSION_ID",
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
245
|
-
return this.buildTerminalCommand(ctx);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Factory Droid adapter
|
|
251
|
-
*/
|
|
252
|
-
class DroidAdapter extends BaseAdapter {
|
|
253
|
-
readonly type = "droid" as const;
|
|
254
|
-
readonly name = "Factory Droid";
|
|
255
|
-
|
|
256
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
257
|
-
const promptContent = this.readPromptContent(ctx.promptPath);
|
|
258
|
-
const modelFlag = ctx.model ? ` --model '${ctx.model}'` : "";
|
|
259
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
260
|
-
|
|
261
|
-
// droid supports interactive mode by default, use -m for message mode
|
|
262
|
-
const command = `${envPrefix} DROID_SESSION_ID=${ctx.sessionId} droid -m '${promptContent}'${modelFlag}`;
|
|
263
|
-
|
|
264
|
-
return {
|
|
265
|
-
command,
|
|
266
|
-
writesOutputFile: false,
|
|
267
|
-
readsStdin: false,
|
|
268
|
-
sessionEnvVar: "DROID_SESSION_ID",
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
273
|
-
return this.buildTerminalCommand(ctx);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* Pi coding agent adapter
|
|
279
|
-
*/
|
|
280
|
-
class PiAdapter extends BaseAdapter {
|
|
281
|
-
readonly type = "pi" as const;
|
|
282
|
-
readonly name = "Pi Coding Agent";
|
|
283
|
-
|
|
284
|
-
async isAvailable(): Promise<boolean> {
|
|
285
|
-
// Pi may be installed via npm link from the fork
|
|
286
|
-
const { execSync } = await import("node:child_process");
|
|
287
|
-
try {
|
|
288
|
-
execSync("which pi", { stdio: "ignore" });
|
|
289
|
-
return true;
|
|
290
|
-
} catch {
|
|
291
|
-
// Check if fork exists and is built
|
|
292
|
-
const forkPath = join(
|
|
293
|
-
homedir(),
|
|
294
|
-
"Developer",
|
|
295
|
-
"forks",
|
|
296
|
-
"pi-mono",
|
|
297
|
-
"packages",
|
|
298
|
-
"coding-agent",
|
|
299
|
-
"dist",
|
|
300
|
-
"cli.js",
|
|
301
|
-
);
|
|
302
|
-
return existsSync(forkPath);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
buildTerminalCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
307
|
-
const promptContent = this.readPromptContent(ctx.promptPath);
|
|
308
|
-
const envPrefix = this.buildEnvPrefix(ctx);
|
|
309
|
-
|
|
310
|
-
// Disable extensions for orchestrated runs so a broken local extension
|
|
311
|
-
// cannot block session startup.
|
|
312
|
-
const modelFlags = ctx.model
|
|
313
|
-
? ` --model '${ctx.model}'`
|
|
314
|
-
: " --provider google --model gemini-2.5-flash-lite";
|
|
315
|
-
|
|
316
|
-
// pi supports interactive mode, -p for prompt
|
|
317
|
-
const command = `${envPrefix} PI_SESSION_ID=${ctx.sessionId} pi --no-extensions${modelFlags} -p '${promptContent}'`;
|
|
318
|
-
|
|
319
|
-
return {
|
|
320
|
-
command,
|
|
321
|
-
writesOutputFile: false,
|
|
322
|
-
readsStdin: false,
|
|
323
|
-
sessionEnvVar: "PI_SESSION_ID",
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
buildHeadlessCommand(ctx: AgentCommandContext): AgentCommandResult {
|
|
328
|
-
return this.buildTerminalCommand(ctx);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* Registry of all agent adapters
|
|
334
|
-
*/
|
|
335
|
-
export const AGENT_ADAPTERS: Record<AgentType, AgentAdapter> = {
|
|
336
|
-
claude: new ClaudeAdapter(),
|
|
337
|
-
codex: new CodexAdapter(),
|
|
338
|
-
copilot: new CopilotAdapter(),
|
|
339
|
-
gemini: new GeminiAdapter(),
|
|
340
|
-
opencode: new OpenCodeAdapter(),
|
|
341
|
-
droid: new DroidAdapter(),
|
|
342
|
-
pi: new PiAdapter(),
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* Get adapter for an agent type
|
|
347
|
-
*/
|
|
348
|
-
export function getAgentAdapter(agent: AgentType): AgentAdapter {
|
|
349
|
-
const adapter = AGENT_ADAPTERS[agent];
|
|
350
|
-
if (!adapter) {
|
|
351
|
-
throw new Error(`Unknown agent type: ${agent}`);
|
|
352
|
-
}
|
|
353
|
-
return adapter;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Check which agents are available on the system
|
|
358
|
-
*/
|
|
359
|
-
export async function getAvailableAgents(): Promise<AgentType[]> {
|
|
360
|
-
const available: AgentType[] = [];
|
|
361
|
-
for (const [type, adapter] of Object.entries(AGENT_ADAPTERS)) {
|
|
362
|
-
if (await adapter.isAvailable()) {
|
|
363
|
-
available.push(type as AgentType);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
return available;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* All agents (flat list — no core/extended distinction)
|
|
371
|
-
*/
|
|
372
|
-
export const ALL_AGENTS = Object.values(AGENT_ADAPTERS).map((a) => a.type);
|
|
373
|
-
|
|
374
|
-
/**
|
|
375
|
-
* Agent metadata for display
|
|
376
|
-
*/
|
|
377
|
-
export const AGENT_METADATA: Record<
|
|
378
|
-
AgentType,
|
|
379
|
-
{ name: string; description: string; installCmd?: string }
|
|
380
|
-
> = {
|
|
381
|
-
claude: {
|
|
382
|
-
name: "Claude Code",
|
|
383
|
-
description: "Anthropic's official CLI for Claude",
|
|
384
|
-
},
|
|
385
|
-
codex: {
|
|
386
|
-
name: "Codex CLI",
|
|
387
|
-
description: "OpenAI's coding agent CLI",
|
|
388
|
-
},
|
|
389
|
-
copilot: {
|
|
390
|
-
name: "GitHub Copilot CLI",
|
|
391
|
-
description: "GitHub Copilot in the terminal",
|
|
392
|
-
},
|
|
393
|
-
gemini: {
|
|
394
|
-
name: "Gemini CLI",
|
|
395
|
-
description: "Google's Gemini CLI",
|
|
396
|
-
},
|
|
397
|
-
opencode: {
|
|
398
|
-
name: "OpenCode",
|
|
399
|
-
description: "SST's open source coding agent (multi-provider)",
|
|
400
|
-
installCmd: "curl -fsSL https://opencode.ai/install | bash",
|
|
401
|
-
},
|
|
402
|
-
droid: {
|
|
403
|
-
name: "Factory Droid",
|
|
404
|
-
description: "Factory AI's enterprise coding agent",
|
|
405
|
-
installCmd: "curl -fsSL https://app.factory.ai/cli | sh",
|
|
406
|
-
},
|
|
407
|
-
pi: {
|
|
408
|
-
name: "Pi Coding Agent",
|
|
409
|
-
description: "Extensible TypeScript coding agent",
|
|
410
|
-
installCmd: "npm install -g @mariozechner/pi-coding-agent",
|
|
411
|
-
},
|
|
412
|
-
};
|