@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,352 +0,0 @@
|
|
|
1
|
-
import * as nvim from "../nvim/index.js";
|
|
2
|
-
import * as process from "../process/snapshot.js";
|
|
3
|
-
import * as tmux from "../tmux/bridge.js";
|
|
4
|
-
import type { AgentInfo, BufferInfo, WindowInfo, WindowState } from "./types.js";
|
|
5
|
-
|
|
6
|
-
export interface InventoryOptions {
|
|
7
|
-
session?: string; // filter to specific tmux session
|
|
8
|
-
includeNvim?: boolean; // correlate nvim instances (default: true)
|
|
9
|
-
includeAgent?: boolean; // detect agent processes (default: true)
|
|
10
|
-
includeBuffers?: boolean; // fetch buffer list (default: false, expensive)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function normalizeTty(tty: string | null | undefined): string | null {
|
|
14
|
-
if (!tty) return null;
|
|
15
|
-
const trimmed = tty.trim();
|
|
16
|
-
if (!trimmed) return null;
|
|
17
|
-
if (trimmed.startsWith("/dev/")) return trimmed.slice("/dev/".length);
|
|
18
|
-
return trimmed;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function guessPanePidFromTty(
|
|
22
|
-
paneTty: string | null,
|
|
23
|
-
snapshot: Map<number, process.ProcessInfo>,
|
|
24
|
-
): number | null {
|
|
25
|
-
const normalizedPaneTty = normalizeTty(paneTty);
|
|
26
|
-
if (!normalizedPaneTty) return null;
|
|
27
|
-
|
|
28
|
-
const matching: process.ProcessInfo[] = [];
|
|
29
|
-
for (const [, info] of snapshot) {
|
|
30
|
-
if (normalizeTty(info.tty) === normalizedPaneTty) {
|
|
31
|
-
matching.push(info);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (matching.length === 0) return null;
|
|
36
|
-
|
|
37
|
-
const pidSet = new Set(matching.map((p) => p.pid));
|
|
38
|
-
const roots = matching.filter((p) => !pidSet.has(p.ppid));
|
|
39
|
-
const candidates = roots.length > 0 ? roots : matching;
|
|
40
|
-
|
|
41
|
-
const shells = new Set(["zsh", "bash", "fish", "sh", "nu", "pwsh", "tcsh", "csh", "ksh", "dash"]);
|
|
42
|
-
candidates.sort((a, b) => {
|
|
43
|
-
const aShell = shells.has(a.cmd.toLowerCase()) ? 0 : 1;
|
|
44
|
-
const bShell = shells.has(b.cmd.toLowerCase()) ? 0 : 1;
|
|
45
|
-
if (aShell !== bShell) return aShell - bShell;
|
|
46
|
-
return a.pid - b.pid;
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
return candidates[0]?.pid ?? null;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function extractSessionId(args: string): string | undefined {
|
|
53
|
-
const match = args.match(/(?:^|\s)--session-id(?:=|\s+)([^\s]+)/);
|
|
54
|
-
return match?.[1];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function extractIssue(args: string): string | undefined {
|
|
58
|
-
const match = args.match(/\b[A-Z][A-Z0-9]{1,9}-\d+\b/);
|
|
59
|
-
return match?.[0];
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function depthFromRoot(
|
|
63
|
-
rootPid: number,
|
|
64
|
-
pid: number,
|
|
65
|
-
snapshot: Map<number, process.ProcessInfo>,
|
|
66
|
-
maxDepth = 50,
|
|
67
|
-
): number {
|
|
68
|
-
if (pid === rootPid) return 0;
|
|
69
|
-
|
|
70
|
-
let depth = 0;
|
|
71
|
-
let current = pid;
|
|
72
|
-
const visited = new Set<number>();
|
|
73
|
-
|
|
74
|
-
while (depth < maxDepth) {
|
|
75
|
-
if (current === rootPid) return depth;
|
|
76
|
-
if (visited.has(current)) break;
|
|
77
|
-
visited.add(current);
|
|
78
|
-
|
|
79
|
-
const info = snapshot.get(current);
|
|
80
|
-
if (!info) break;
|
|
81
|
-
current = info.ppid;
|
|
82
|
-
depth++;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return depth;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function toBufferInfo(buf: unknown): BufferInfo {
|
|
89
|
-
const record: Record<string, unknown> =
|
|
90
|
-
typeof buf === "object" && buf !== null ? (buf as Record<string, unknown>) : {};
|
|
91
|
-
|
|
92
|
-
const name = typeof record.name === "string" ? record.name : "";
|
|
93
|
-
const filetype = typeof record.filetype === "string" ? record.filetype : "";
|
|
94
|
-
const lineCount =
|
|
95
|
-
typeof record.lineCount === "number"
|
|
96
|
-
? record.lineCount
|
|
97
|
-
: typeof record.linecount === "number"
|
|
98
|
-
? record.linecount
|
|
99
|
-
: 0;
|
|
100
|
-
|
|
101
|
-
const cursor =
|
|
102
|
-
typeof record.cursor === "object" &&
|
|
103
|
-
record.cursor !== null &&
|
|
104
|
-
typeof (record.cursor as Record<string, unknown>).line === "number" &&
|
|
105
|
-
typeof (record.cursor as Record<string, unknown>).col === "number"
|
|
106
|
-
? ({
|
|
107
|
-
line: (record.cursor as Record<string, unknown>).line as number,
|
|
108
|
-
col: (record.cursor as Record<string, unknown>).col as number,
|
|
109
|
-
} satisfies { line: number; col: number })
|
|
110
|
-
: undefined;
|
|
111
|
-
|
|
112
|
-
return {
|
|
113
|
-
name,
|
|
114
|
-
path: name,
|
|
115
|
-
modified: Boolean(record.modified),
|
|
116
|
-
filetype,
|
|
117
|
-
lineCount,
|
|
118
|
-
cursor,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function detectAgentForPane(
|
|
123
|
-
panePid: number,
|
|
124
|
-
snapshot: Map<number, process.ProcessInfo>,
|
|
125
|
-
tree: Map<number, number[]>,
|
|
126
|
-
): AgentInfo | null {
|
|
127
|
-
if (panePid <= 0) return null;
|
|
128
|
-
|
|
129
|
-
const candidatePids = process.findDescendants(panePid, tree, snapshot, (p) => {
|
|
130
|
-
return process.detectAgentType(p) !== null;
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
// Include root pid if pane is running the agent directly.
|
|
134
|
-
const paneInfo = snapshot.get(panePid);
|
|
135
|
-
if (paneInfo && process.detectAgentType(paneInfo)) {
|
|
136
|
-
candidatePids.push(panePid);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if (candidatePids.length === 0) return null;
|
|
140
|
-
|
|
141
|
-
let best: {
|
|
142
|
-
pid: number;
|
|
143
|
-
depth: number;
|
|
144
|
-
type: AgentInfo["type"];
|
|
145
|
-
info: process.ProcessInfo;
|
|
146
|
-
} | null = null;
|
|
147
|
-
|
|
148
|
-
for (const pid of candidatePids) {
|
|
149
|
-
const info = snapshot.get(pid);
|
|
150
|
-
if (!info) continue;
|
|
151
|
-
|
|
152
|
-
const type = process.detectAgentType(info);
|
|
153
|
-
if (!type) continue;
|
|
154
|
-
|
|
155
|
-
const depth = depthFromRoot(panePid, pid, snapshot);
|
|
156
|
-
if (!best || depth > best.depth || (depth === best.depth && pid < best.pid)) {
|
|
157
|
-
best = { pid, depth, type, info };
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (!best) return null;
|
|
162
|
-
|
|
163
|
-
return {
|
|
164
|
-
type: best.type,
|
|
165
|
-
pid: best.pid,
|
|
166
|
-
sessionId: extractSessionId(best.info.args),
|
|
167
|
-
issue: extractIssue(best.info.args),
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
async function buildWindowState(params: {
|
|
172
|
-
sessionName: string;
|
|
173
|
-
windowIndex: number;
|
|
174
|
-
windowName: string;
|
|
175
|
-
pane: tmux.TmuxPane;
|
|
176
|
-
snapshot: Map<number, process.ProcessInfo>;
|
|
177
|
-
tree: Map<number, number[]>;
|
|
178
|
-
options: Required<Pick<InventoryOptions, "includeNvim" | "includeAgent" | "includeBuffers">>;
|
|
179
|
-
}): Promise<WindowState> {
|
|
180
|
-
const { sessionName, windowIndex, windowName, pane, snapshot, tree, options } = params;
|
|
181
|
-
|
|
182
|
-
const paneId = (await tmux.getPaneId(windowIndex, pane.index, sessionName)) ?? "";
|
|
183
|
-
const paneTty = (await tmux.getPaneTty(windowIndex, pane.index, sessionName)) ?? "";
|
|
184
|
-
const panePid = guessPanePidFromTty(paneTty, snapshot) ?? -1;
|
|
185
|
-
|
|
186
|
-
const window: WindowInfo = {
|
|
187
|
-
session: sessionName,
|
|
188
|
-
window: windowIndex,
|
|
189
|
-
windowName,
|
|
190
|
-
pane: pane.index,
|
|
191
|
-
paneId,
|
|
192
|
-
panePid,
|
|
193
|
-
paneTty,
|
|
194
|
-
title: pane.currentCommand,
|
|
195
|
-
cwd: pane.currentPath,
|
|
196
|
-
active: pane.active,
|
|
197
|
-
size: { cols: pane.width, rows: pane.height },
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
const agent = options.includeAgent ? detectAgentForPane(panePid, snapshot, tree) : null;
|
|
201
|
-
|
|
202
|
-
if (!options.includeNvim) {
|
|
203
|
-
return { window, nvim: null, agent, buffers: [] };
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
const nvimState: NonNullable<WindowState["nvim"]> = {
|
|
207
|
-
available: false,
|
|
208
|
-
pid: null,
|
|
209
|
-
serverAddr: null,
|
|
210
|
-
discoveryMethod: null,
|
|
211
|
-
currentBuffer: null,
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
let buffers: BufferInfo[] = [];
|
|
215
|
-
|
|
216
|
-
if (panePid > 0) {
|
|
217
|
-
let nvimPid = nvim.findNvimPidForWindow(panePid, snapshot, tree);
|
|
218
|
-
|
|
219
|
-
// If the pane is running nvim directly (no shell), treat it as the nvim pid.
|
|
220
|
-
if (!nvimPid) {
|
|
221
|
-
const rootInfo = snapshot.get(panePid);
|
|
222
|
-
if (rootInfo && process.isNvimProcess(rootInfo)) {
|
|
223
|
-
nvimPid = panePid;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
if (nvimPid) {
|
|
228
|
-
nvimState.available = true;
|
|
229
|
-
nvimState.pid = nvimPid;
|
|
230
|
-
|
|
231
|
-
const discovery = await nvim.discoverNvimServerAddress(nvimPid, snapshot);
|
|
232
|
-
nvimState.serverAddr = discovery?.addr ?? null;
|
|
233
|
-
nvimState.discoveryMethod = discovery?.method ?? null;
|
|
234
|
-
|
|
235
|
-
if (options.includeBuffers && nvimState.serverAddr) {
|
|
236
|
-
const [listed, current] = await Promise.all([
|
|
237
|
-
nvim.listBuffers(nvimState.serverAddr),
|
|
238
|
-
nvim.getCurrentBufferInfo(nvimState.serverAddr),
|
|
239
|
-
]);
|
|
240
|
-
|
|
241
|
-
buffers = (listed ?? []).map(toBufferInfo);
|
|
242
|
-
nvimState.currentBuffer = current ? toBufferInfo(current) : null;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
return { window, nvim: nvimState, agent, buffers };
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Get complete inventory of all workspace windows.
|
|
252
|
-
* Correlates tmux panes → nvim instances → agent processes.
|
|
253
|
-
*/
|
|
254
|
-
export async function inventory(options?: InventoryOptions): Promise<WindowState[]> {
|
|
255
|
-
const {
|
|
256
|
-
session,
|
|
257
|
-
includeNvim = true,
|
|
258
|
-
includeAgent = true,
|
|
259
|
-
includeBuffers = false,
|
|
260
|
-
} = options || {};
|
|
261
|
-
|
|
262
|
-
const tmuxRunning = await tmux.isRunning();
|
|
263
|
-
if (!tmuxRunning) return [];
|
|
264
|
-
|
|
265
|
-
const sessions = await tmux.listSessions();
|
|
266
|
-
const targetSessions = session ? sessions.filter((s) => s.name === session) : sessions;
|
|
267
|
-
if (session && targetSessions.length === 0) return [];
|
|
268
|
-
|
|
269
|
-
const snapshot = await process.getProcessSnapshot();
|
|
270
|
-
const tree = process.buildProcessTree(snapshot);
|
|
271
|
-
|
|
272
|
-
const states: WindowState[] = [];
|
|
273
|
-
|
|
274
|
-
for (const s of targetSessions) {
|
|
275
|
-
const windows = await tmux.listWindows(s.name);
|
|
276
|
-
|
|
277
|
-
for (const w of windows) {
|
|
278
|
-
const panes = await tmux.listPanes(w.index, s.name);
|
|
279
|
-
|
|
280
|
-
for (const pane of panes) {
|
|
281
|
-
states.push(
|
|
282
|
-
await buildWindowState({
|
|
283
|
-
sessionName: s.name,
|
|
284
|
-
windowIndex: w.index,
|
|
285
|
-
windowName: w.name,
|
|
286
|
-
pane,
|
|
287
|
-
snapshot,
|
|
288
|
-
tree,
|
|
289
|
-
options: { includeNvim, includeAgent, includeBuffers },
|
|
290
|
-
}),
|
|
291
|
-
);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
return states;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Get a single window's state by pane ID or session:window.pane reference.
|
|
301
|
-
*/
|
|
302
|
-
export async function getWindowState(
|
|
303
|
-
ref: string,
|
|
304
|
-
options?: Omit<InventoryOptions, "session">,
|
|
305
|
-
): Promise<WindowState | null> {
|
|
306
|
-
const trimmed = ref.trim();
|
|
307
|
-
if (!trimmed) return null;
|
|
308
|
-
|
|
309
|
-
// Pane ID form: "%3"
|
|
310
|
-
if (trimmed.startsWith("%")) {
|
|
311
|
-
const states = await inventory({ ...(options || {}) });
|
|
312
|
-
return states.find((s) => s.window.paneId === trimmed) ?? null;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
// session:window.pane form, e.g. "work:1.0"
|
|
316
|
-
const match = trimmed.match(/^([^:]+):(\d+)\.(\d+)$/);
|
|
317
|
-
if (!match) return null;
|
|
318
|
-
|
|
319
|
-
const sessionName = match[1];
|
|
320
|
-
const windowIndex = parseInt(match[2], 10);
|
|
321
|
-
const paneIndex = parseInt(match[3], 10);
|
|
322
|
-
|
|
323
|
-
const states = await inventory({ ...(options || {}), session: sessionName });
|
|
324
|
-
return states.find((s) => s.window.window === windowIndex && s.window.pane === paneIndex) ?? null;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* Get the currently focused window's state.
|
|
329
|
-
*/
|
|
330
|
-
export async function getFocusedWindow(
|
|
331
|
-
options?: Omit<InventoryOptions, "session">,
|
|
332
|
-
): Promise<WindowState | null> {
|
|
333
|
-
const tmuxRunning = await tmux.isRunning();
|
|
334
|
-
if (!tmuxRunning) return null;
|
|
335
|
-
|
|
336
|
-
const sessions = await tmux.listSessions();
|
|
337
|
-
const attachedSession = sessions.find((s) => s.attached);
|
|
338
|
-
if (!attachedSession) return null;
|
|
339
|
-
|
|
340
|
-
const windows = await tmux.listWindows(attachedSession.name);
|
|
341
|
-
const activeWindow = windows.find((w) => w.active);
|
|
342
|
-
if (!activeWindow) return null;
|
|
343
|
-
|
|
344
|
-
const panes = await tmux.listPanes(activeWindow.index, attachedSession.name);
|
|
345
|
-
const activePane = panes.find((p) => p.active);
|
|
346
|
-
if (!activePane) return null;
|
|
347
|
-
|
|
348
|
-
return getWindowState(
|
|
349
|
-
`${attachedSession.name}:${activeWindow.index}.${activePane.index}`,
|
|
350
|
-
options,
|
|
351
|
-
);
|
|
352
|
-
}
|
package/src/lib/windows/types.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// Window identification
|
|
2
|
-
export interface WindowInfo {
|
|
3
|
-
session: string; // tmux session name
|
|
4
|
-
window: number; // window index
|
|
5
|
-
windowName: string; // window name
|
|
6
|
-
pane: number; // pane index
|
|
7
|
-
paneId: string; // tmux pane ID (e.g., "%3")
|
|
8
|
-
panePid: number; // pane's shell PID
|
|
9
|
-
paneTty: string; // pane's TTY (e.g., "/dev/ttys003")
|
|
10
|
-
title: string; // window title or current command
|
|
11
|
-
cwd: string; // current working directory
|
|
12
|
-
active: boolean; // is this the active pane
|
|
13
|
-
size: { cols: number; rows: number };
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Buffer information from nvim
|
|
17
|
-
export interface BufferInfo {
|
|
18
|
-
name: string; // buffer name/path
|
|
19
|
-
path: string; // full file path
|
|
20
|
-
modified: boolean;
|
|
21
|
-
filetype: string;
|
|
22
|
-
lineCount: number;
|
|
23
|
-
cursor?: { line: number; col: number };
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Agent process information
|
|
27
|
-
export interface AgentInfo {
|
|
28
|
-
type: "claude" | "codex" | "copilot" | "gemini";
|
|
29
|
-
pid: number;
|
|
30
|
-
sessionId?: string; // abbie session ID if known
|
|
31
|
-
issue?: string; // Linear issue if known
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Full window state with correlations
|
|
35
|
-
export interface WindowState {
|
|
36
|
-
window: WindowInfo;
|
|
37
|
-
nvim: {
|
|
38
|
-
available: boolean;
|
|
39
|
-
pid: number | null;
|
|
40
|
-
serverAddr: string | null;
|
|
41
|
-
discoveryMethod: "argv" | "lsof" | null;
|
|
42
|
-
currentBuffer: BufferInfo | null;
|
|
43
|
-
} | null;
|
|
44
|
-
agent: AgentInfo | null;
|
|
45
|
-
buffers: BufferInfo[]; // all listed buffers in nvim
|
|
46
|
-
}
|
package/src/lib.ts
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Programmatic API for abbie CLI.
|
|
3
|
-
*
|
|
4
|
-
* This module provides clean library exports for using agents
|
|
5
|
-
* functionality without the CLI wrapper.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { getAllSessions, createSession, EventStore, reportStart, reportComplete } from 'agents';
|
|
10
|
-
*
|
|
11
|
-
* // Planning sessions
|
|
12
|
-
* const sessions = getAllSessions('/path/to/plans');
|
|
13
|
-
* const session = createSession('/path/to/plans', 'arbor', 'feature-slug');
|
|
14
|
-
*
|
|
15
|
-
* // Event sourcing
|
|
16
|
-
* const events = new EventStore();
|
|
17
|
-
* events.append(createEvent.sessionStart('hostagent-20251222-123456-abc1', 'claude', {
|
|
18
|
-
* project: 'hostagent',
|
|
19
|
-
* issue: 'ZO-123'
|
|
20
|
-
* }));
|
|
21
|
-
*
|
|
22
|
-
* // Heartbeat/liveness
|
|
23
|
-
* const heartbeat = new HeartbeatManager();
|
|
24
|
-
* heartbeat.register('hostagent-20251222-123456-abc1', 'claude', {
|
|
25
|
-
* project: 'hostagent'
|
|
26
|
-
* });
|
|
27
|
-
*
|
|
28
|
-
* // Resource semaphores
|
|
29
|
-
* const resources = createResourceManager();
|
|
30
|
-
* const lease = resources.acquire('codex_api', sessionId, 'claude');
|
|
31
|
-
*
|
|
32
|
-
* // Multi-agent session mining
|
|
33
|
-
* const miner = getSessionMiner();
|
|
34
|
-
* const recentSessions = miner.getRecentSessions('hostagent');
|
|
35
|
-
*
|
|
36
|
-
* // Auto-discovery
|
|
37
|
-
* const items = await discoverWork({
|
|
38
|
-
* cwd: process.cwd(),
|
|
39
|
-
* project: 'hostagent',
|
|
40
|
-
* dryRun: true,
|
|
41
|
-
* limit: 5,
|
|
42
|
-
* staleDays: 14,
|
|
43
|
-
* linear: { enabled: true, limit: 5 }
|
|
44
|
-
* });
|
|
45
|
-
*
|
|
46
|
-
* // Spawn agent
|
|
47
|
-
* await spawnAgent(items[0], {
|
|
48
|
-
* dryRun: false,
|
|
49
|
-
* cwd: process.cwd(),
|
|
50
|
-
* project: 'hostagent',
|
|
51
|
-
* sessionId: 'hostagent-auto-123',
|
|
52
|
-
* resources
|
|
53
|
-
* });
|
|
54
|
-
*
|
|
55
|
-
* // Backlog management
|
|
56
|
-
* const backlog = getBacklogManager();
|
|
57
|
-
* backlog.add({
|
|
58
|
-
* type: 'issue',
|
|
59
|
-
* ref: 'ZO-123',
|
|
60
|
-
* title: 'Fix auth bug',
|
|
61
|
-
* project: 'hostagent',
|
|
62
|
-
* priority: 1,
|
|
63
|
-
* source: 'linear'
|
|
64
|
-
* });
|
|
65
|
-
*
|
|
66
|
-
* // Unified lifecycle reporting (Convex reports + Slack + messages)
|
|
67
|
-
* const result = await reportStart('beginning loop on arbor', { dm: true });
|
|
68
|
-
* // ... do work ...
|
|
69
|
-
* await reportComplete('feature implemented', { confidence: 9 });
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
// Active session management (spawn + track running agents)
|
|
74
|
-
export {
|
|
75
|
-
type ActiveAgentType,
|
|
76
|
-
type ActiveSession,
|
|
77
|
-
ActiveSessionManager,
|
|
78
|
-
getActiveSessionManager,
|
|
79
|
-
type StartSessionOptions,
|
|
80
|
-
type StartSessionResult,
|
|
81
|
-
} from "./lib/active-sessions.js";
|
|
82
|
-
// Agent adapters (extensible agent CLI abstraction)
|
|
83
|
-
export {
|
|
84
|
-
AGENT_ADAPTERS,
|
|
85
|
-
AGENT_METADATA,
|
|
86
|
-
type AgentAdapter,
|
|
87
|
-
type AgentCommandContext,
|
|
88
|
-
type AgentCommandResult,
|
|
89
|
-
ALL_AGENTS,
|
|
90
|
-
getAgentAdapter,
|
|
91
|
-
getAvailableAgents,
|
|
92
|
-
} from "./lib/agent-adapters.js";
|
|
93
|
-
// Multi-agent session mining
|
|
94
|
-
export {
|
|
95
|
-
type AgentSession,
|
|
96
|
-
AgentSessionMiner,
|
|
97
|
-
getSessionMiner,
|
|
98
|
-
} from "./lib/agent-sessions.js";
|
|
99
|
-
// Auto-discovery and execution
|
|
100
|
-
export {
|
|
101
|
-
type DiscoveryOptions,
|
|
102
|
-
type DiscoveryResult,
|
|
103
|
-
discoverWork,
|
|
104
|
-
type WorkItem,
|
|
105
|
-
type WorkSource,
|
|
106
|
-
} from "./lib/auto/discover.js";
|
|
107
|
-
export {
|
|
108
|
-
analyzeCodebase,
|
|
109
|
-
analyzeGitTrajectory,
|
|
110
|
-
type IdeatedWork,
|
|
111
|
-
type IdeationResult,
|
|
112
|
-
ideatedToWorkItem,
|
|
113
|
-
ideateWork,
|
|
114
|
-
synthesizeWork,
|
|
115
|
-
} from "./lib/auto/ideate.js";
|
|
116
|
-
export {
|
|
117
|
-
decideAgent,
|
|
118
|
-
type SpawnOptions,
|
|
119
|
-
type SpawnRequest,
|
|
120
|
-
type SpawnResult,
|
|
121
|
-
spawnAgent,
|
|
122
|
-
spawnWorkItems,
|
|
123
|
-
} from "./lib/auto/spawn.js";
|
|
124
|
-
export {
|
|
125
|
-
type LoopConfig,
|
|
126
|
-
readLoopConfig,
|
|
127
|
-
resolveLinearApiKey,
|
|
128
|
-
resolveLinearApiKeyAsync,
|
|
129
|
-
type WorkspaceResolution,
|
|
130
|
-
} from "./lib/auto/workspace.js";
|
|
131
|
-
// Backlog management
|
|
132
|
-
export {
|
|
133
|
-
addBacklogItem,
|
|
134
|
-
type BacklogItem,
|
|
135
|
-
BacklogManager,
|
|
136
|
-
type BacklogStatus,
|
|
137
|
-
type ClaimResult,
|
|
138
|
-
claimBacklogItem,
|
|
139
|
-
getBacklogManager,
|
|
140
|
-
} from "./lib/backlog.js";
|
|
141
|
-
// Errors
|
|
142
|
-
export {
|
|
143
|
-
AgentsError,
|
|
144
|
-
errorToExitCode,
|
|
145
|
-
InvalidProjectError,
|
|
146
|
-
InvalidSessionError,
|
|
147
|
-
type JsonError,
|
|
148
|
-
SessionExistsError,
|
|
149
|
-
SessionNotFoundError,
|
|
150
|
-
toJsonError,
|
|
151
|
-
} from "./lib/errors.js";
|
|
152
|
-
// Event sourcing
|
|
153
|
-
export {
|
|
154
|
-
type BaseEvent,
|
|
155
|
-
createEvent,
|
|
156
|
-
EventStore,
|
|
157
|
-
type EventType,
|
|
158
|
-
generateSessionId,
|
|
159
|
-
type PreviewCreatedEvent,
|
|
160
|
-
type ResourceAcquiredEvent,
|
|
161
|
-
type ResourceReleasedEvent,
|
|
162
|
-
type SessionBlockedEvent,
|
|
163
|
-
type SessionCheckpointEvent,
|
|
164
|
-
type SessionCompleteEvent,
|
|
165
|
-
type SessionEvent,
|
|
166
|
-
type SessionHeartbeatEvent,
|
|
167
|
-
type SessionStartEvent,
|
|
168
|
-
type TaskCompleteEvent,
|
|
169
|
-
type TaskStartEvent,
|
|
170
|
-
} from "./lib/events.js";
|
|
171
|
-
// Heartbeat/liveness
|
|
172
|
-
export {
|
|
173
|
-
type HeartbeatConfig,
|
|
174
|
-
HeartbeatManager,
|
|
175
|
-
type SessionLiveness,
|
|
176
|
-
} from "./lib/heartbeat.js";
|
|
177
|
-
// Hook discovery and management
|
|
178
|
-
export {
|
|
179
|
-
type AgentPlatform,
|
|
180
|
-
ClaudeAdapter,
|
|
181
|
-
CodexAdapter,
|
|
182
|
-
CopilotAdapter,
|
|
183
|
-
discoverAllHooks,
|
|
184
|
-
generateMockPayload,
|
|
185
|
-
getAllHooks,
|
|
186
|
-
getConfigPaths,
|
|
187
|
-
getConfiguredPlatforms,
|
|
188
|
-
getHooksForPlatform,
|
|
189
|
-
type Hook,
|
|
190
|
-
type HookAdapter,
|
|
191
|
-
type HookDiscoveryError,
|
|
192
|
-
type HookEventType,
|
|
193
|
-
type HookRegistry,
|
|
194
|
-
type HookTestResult,
|
|
195
|
-
runHook,
|
|
196
|
-
} from "./lib/hooks/index.js";
|
|
197
|
-
// Managed abbie tmux session
|
|
198
|
-
export {
|
|
199
|
-
ensureManagedSession,
|
|
200
|
-
getManagedSessionName,
|
|
201
|
-
hasProjectWindow,
|
|
202
|
-
listManagedWindows,
|
|
203
|
-
} from "./lib/managed-session.js";
|
|
204
|
-
// Panes broker protocol + client helper (local fanout for pane streaming)
|
|
205
|
-
export * from "./lib/panes/index.js";
|
|
206
|
-
// Unified lifecycle reporting (Convex reports + Slack + messages)
|
|
207
|
-
export {
|
|
208
|
-
type AgentIdentity,
|
|
209
|
-
type BlockerType,
|
|
210
|
-
detectAgent,
|
|
211
|
-
generateTraceId,
|
|
212
|
-
getOrCreateTraceId,
|
|
213
|
-
type ReportAction,
|
|
214
|
-
type ReportOptions,
|
|
215
|
-
type ReportResult,
|
|
216
|
-
reportBlocked,
|
|
217
|
-
reportComplete,
|
|
218
|
-
reportProgress,
|
|
219
|
-
reportStart,
|
|
220
|
-
} from "./lib/report.js";
|
|
221
|
-
// Resource semaphores
|
|
222
|
-
export {
|
|
223
|
-
createResourceManager,
|
|
224
|
-
DEFAULT_RESOURCES,
|
|
225
|
-
type ResourceConfig,
|
|
226
|
-
type ResourceLease,
|
|
227
|
-
ResourceManager,
|
|
228
|
-
} from "./lib/resources.js";
|
|
229
|
-
// Planning session management
|
|
230
|
-
export {
|
|
231
|
-
createSession,
|
|
232
|
-
generateSlug,
|
|
233
|
-
getAllSessions,
|
|
234
|
-
getSession,
|
|
235
|
-
type SessionMetadata,
|
|
236
|
-
} from "./lib/session-manager.js";
|
|
237
|
-
// SQLite-backed session state (device-aware)
|
|
238
|
-
export {
|
|
239
|
-
type CleanupSessionStateOptions,
|
|
240
|
-
type CleanupSessionStateResult,
|
|
241
|
-
type EndSessionStateOptions,
|
|
242
|
-
type InitSessionStateOptions,
|
|
243
|
-
type ListSessionStateOptions,
|
|
244
|
-
type SessionAgentType,
|
|
245
|
-
SessionStateManager,
|
|
246
|
-
type SessionStateRecord,
|
|
247
|
-
type SessionStateStatus,
|
|
248
|
-
type UpdateSessionStateOptions,
|
|
249
|
-
} from "./lib/session-state.js";
|
|
250
|
-
// Core agent types
|
|
251
|
-
export {
|
|
252
|
-
AGENT_CAPABILITIES,
|
|
253
|
-
AGENTS,
|
|
254
|
-
Agent,
|
|
255
|
-
AgentCapability,
|
|
256
|
-
type AgentCapabilityType,
|
|
257
|
-
type AgentType,
|
|
258
|
-
DEFAULT_AGENT,
|
|
259
|
-
isValidAgent,
|
|
260
|
-
} from "./lib/types.js";
|