@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,292 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, mock } from 'bun:test';
|
|
2
|
-
let tmuxRunning = true;
|
|
3
|
-
let tmuxSessions = [];
|
|
4
|
-
let tmuxWindowsBySession = new Map();
|
|
5
|
-
let tmuxPanesBySessionWindow = new Map();
|
|
6
|
-
let tmuxPaneIdByTarget = new Map();
|
|
7
|
-
let tmuxPaneTtyByTarget = new Map();
|
|
8
|
-
let processSnapshot = new Map();
|
|
9
|
-
let nvimPidByPanePid = new Map();
|
|
10
|
-
let nvimDiscoveryByPid = new Map();
|
|
11
|
-
let nvimBuffers = null;
|
|
12
|
-
let nvimCurrentBuffer = null;
|
|
13
|
-
function keyForPane(session, window, pane) {
|
|
14
|
-
return `${session}:${window}.${pane}`;
|
|
15
|
-
}
|
|
16
|
-
mock.module('../tmux/bridge.js', () => {
|
|
17
|
-
return {
|
|
18
|
-
isRunning: async () => tmuxRunning,
|
|
19
|
-
listSessions: async () => tmuxSessions,
|
|
20
|
-
listWindows: async (session) => tmuxWindowsBySession.get(session ?? '') ?? [],
|
|
21
|
-
listPanes: async (window, session) => {
|
|
22
|
-
const win = typeof window === 'string' ? parseInt(window, 10) : window;
|
|
23
|
-
return tmuxPanesBySessionWindow.get(`${session ?? ''}:${win}`) ?? [];
|
|
24
|
-
},
|
|
25
|
-
getPaneId: async (window, pane = 0, session) => {
|
|
26
|
-
const win = typeof window === 'string' ? parseInt(window, 10) : window;
|
|
27
|
-
return tmuxPaneIdByTarget.get(keyForPane(session ?? '', win, pane)) ?? null;
|
|
28
|
-
},
|
|
29
|
-
getPaneTty: async (window, pane = 0, session) => {
|
|
30
|
-
const win = typeof window === 'string' ? parseInt(window, 10) : window;
|
|
31
|
-
return tmuxPaneTtyByTarget.get(keyForPane(session ?? '', win, pane)) ?? null;
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
function buildTree(snapshot) {
|
|
36
|
-
const tree = new Map();
|
|
37
|
-
for (const [pid, info] of snapshot) {
|
|
38
|
-
const children = tree.get(info.ppid) || [];
|
|
39
|
-
children.push(pid);
|
|
40
|
-
tree.set(info.ppid, children);
|
|
41
|
-
}
|
|
42
|
-
return tree;
|
|
43
|
-
}
|
|
44
|
-
function findDescendants(pid, tree, snapshot, filter) {
|
|
45
|
-
const results = [];
|
|
46
|
-
const stack = [pid];
|
|
47
|
-
const visited = new Set();
|
|
48
|
-
while (stack.length > 0) {
|
|
49
|
-
const current = stack.pop();
|
|
50
|
-
if (visited.has(current))
|
|
51
|
-
continue;
|
|
52
|
-
visited.add(current);
|
|
53
|
-
const info = snapshot.get(current);
|
|
54
|
-
if (info && current !== pid) {
|
|
55
|
-
if (!filter || filter(info))
|
|
56
|
-
results.push(current);
|
|
57
|
-
}
|
|
58
|
-
const children = tree.get(current) || [];
|
|
59
|
-
stack.push(...children);
|
|
60
|
-
}
|
|
61
|
-
return results;
|
|
62
|
-
}
|
|
63
|
-
function isNvimProcess(info) {
|
|
64
|
-
const cmd = info.cmd.toLowerCase();
|
|
65
|
-
return cmd === 'nvim' || cmd === 'vim' || cmd === 'vi';
|
|
66
|
-
}
|
|
67
|
-
function detectAgentType(info) {
|
|
68
|
-
const cmd = info.cmd.toLowerCase();
|
|
69
|
-
if (cmd === 'claude')
|
|
70
|
-
return 'claude';
|
|
71
|
-
if (cmd === 'codex')
|
|
72
|
-
return 'codex';
|
|
73
|
-
if (cmd === 'copilot')
|
|
74
|
-
return 'copilot';
|
|
75
|
-
if (cmd === 'gemini')
|
|
76
|
-
return 'gemini';
|
|
77
|
-
const wrappers = ['node', 'bun', 'npx', 'pnpm', 'npm'];
|
|
78
|
-
if (wrappers.includes(cmd)) {
|
|
79
|
-
const argsLower = info.args.toLowerCase();
|
|
80
|
-
if (argsLower.includes('claude'))
|
|
81
|
-
return 'claude';
|
|
82
|
-
if (argsLower.includes('codex'))
|
|
83
|
-
return 'codex';
|
|
84
|
-
if (argsLower.includes('copilot'))
|
|
85
|
-
return 'copilot';
|
|
86
|
-
if (argsLower.includes('gemini'))
|
|
87
|
-
return 'gemini';
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
mock.module('../process/snapshot.js', () => {
|
|
92
|
-
return {
|
|
93
|
-
getProcessSnapshot: async () => processSnapshot,
|
|
94
|
-
buildProcessTree: (snapshot) => buildTree(snapshot),
|
|
95
|
-
findDescendants: (pid, tree, snapshot, filter) => findDescendants(pid, tree, snapshot, filter),
|
|
96
|
-
detectAgentType: (info) => detectAgentType(info),
|
|
97
|
-
isNvimProcess: (info) => isNvimProcess(info),
|
|
98
|
-
};
|
|
99
|
-
});
|
|
100
|
-
mock.module('../nvim/index.js', () => {
|
|
101
|
-
return {
|
|
102
|
-
findNvimPidForWindow: (panePid) => nvimPidByPanePid.get(panePid) ?? null,
|
|
103
|
-
discoverNvimServerAddress: async (pid) => nvimDiscoveryByPid.get(pid) ?? null,
|
|
104
|
-
listBuffers: async () => nvimBuffers,
|
|
105
|
-
getCurrentBufferInfo: async () => nvimCurrentBuffer,
|
|
106
|
-
};
|
|
107
|
-
});
|
|
108
|
-
const windows = await import('./inventory.js');
|
|
109
|
-
function resetMocks() {
|
|
110
|
-
tmuxRunning = true;
|
|
111
|
-
tmuxSessions = [];
|
|
112
|
-
tmuxWindowsBySession = new Map();
|
|
113
|
-
tmuxPanesBySessionWindow = new Map();
|
|
114
|
-
tmuxPaneIdByTarget = new Map();
|
|
115
|
-
tmuxPaneTtyByTarget = new Map();
|
|
116
|
-
processSnapshot = new Map();
|
|
117
|
-
nvimPidByPanePid = new Map();
|
|
118
|
-
nvimDiscoveryByPid = new Map();
|
|
119
|
-
nvimBuffers = null;
|
|
120
|
-
nvimCurrentBuffer = null;
|
|
121
|
-
}
|
|
122
|
-
describe('windows inventory', () => {
|
|
123
|
-
it('returns empty array when tmux is not running', async () => {
|
|
124
|
-
resetMocks();
|
|
125
|
-
tmuxRunning = false;
|
|
126
|
-
const result = await windows.inventory();
|
|
127
|
-
expect(result).toEqual([]);
|
|
128
|
-
const focused = await windows.getFocusedWindow();
|
|
129
|
-
expect(focused).toBeNull();
|
|
130
|
-
});
|
|
131
|
-
it('correlates tmux pane → nvim → agent', async () => {
|
|
132
|
-
resetMocks();
|
|
133
|
-
tmuxSessions = [{ name: 'work', windows: 1, attached: true, created: new Date() }];
|
|
134
|
-
tmuxWindowsBySession.set('work', [
|
|
135
|
-
{ id: '@1', index: 0, name: 'editor', active: true, panes: 1, layout: 'even-horizontal' },
|
|
136
|
-
]);
|
|
137
|
-
tmuxPanesBySessionWindow.set('work:0', [
|
|
138
|
-
{
|
|
139
|
-
index: 0,
|
|
140
|
-
active: true,
|
|
141
|
-
width: 100,
|
|
142
|
-
height: 30,
|
|
143
|
-
currentCommand: 'zsh',
|
|
144
|
-
currentPath: '/Users/luke/Developer',
|
|
145
|
-
},
|
|
146
|
-
]);
|
|
147
|
-
tmuxPaneIdByTarget.set('work:0.0', '%3');
|
|
148
|
-
tmuxPaneTtyByTarget.set('work:0.0', '/dev/ttys001');
|
|
149
|
-
// Process snapshot for the pane tty:
|
|
150
|
-
// tmux(100) → zsh(200) → nvim(300)
|
|
151
|
-
// └→ codex(400)
|
|
152
|
-
processSnapshot.set(100, { pid: 100, ppid: 1, tty: '??', cmd: 'tmux', args: 'tmux new -s work' });
|
|
153
|
-
processSnapshot.set(200, { pid: 200, ppid: 100, tty: 'ttys001', cmd: 'zsh', args: '-zsh' });
|
|
154
|
-
processSnapshot.set(300, {
|
|
155
|
-
pid: 300,
|
|
156
|
-
ppid: 200,
|
|
157
|
-
tty: 'ttys001',
|
|
158
|
-
cmd: 'nvim',
|
|
159
|
-
args: 'nvim --listen /tmp/nvim.sock',
|
|
160
|
-
});
|
|
161
|
-
processSnapshot.set(400, {
|
|
162
|
-
pid: 400,
|
|
163
|
-
ppid: 200,
|
|
164
|
-
tty: 'ttys001',
|
|
165
|
-
cmd: 'codex',
|
|
166
|
-
args: 'codex exec - --session-id hostagent-123 ARBOR-42',
|
|
167
|
-
});
|
|
168
|
-
nvimPidByPanePid.set(200, 300);
|
|
169
|
-
nvimDiscoveryByPid.set(300, { addr: '/tmp/nvim.sock', method: 'argv' });
|
|
170
|
-
nvimBuffers = [
|
|
171
|
-
{
|
|
172
|
-
bufnr: 1,
|
|
173
|
-
name: '/Users/luke/Developer/utils/agents/src/index.ts',
|
|
174
|
-
filetype: 'typescript',
|
|
175
|
-
modified: false,
|
|
176
|
-
loaded: true,
|
|
177
|
-
listed: true,
|
|
178
|
-
linecount: 123,
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
bufnr: 2,
|
|
182
|
-
name: '/Users/luke/Developer/utils/agents/README.md',
|
|
183
|
-
filetype: 'markdown',
|
|
184
|
-
modified: true,
|
|
185
|
-
loaded: true,
|
|
186
|
-
listed: true,
|
|
187
|
-
linecount: 10,
|
|
188
|
-
},
|
|
189
|
-
];
|
|
190
|
-
nvimCurrentBuffer = {
|
|
191
|
-
bufnr: 1,
|
|
192
|
-
name: '/Users/luke/Developer/utils/agents/src/index.ts',
|
|
193
|
-
filetype: 'typescript',
|
|
194
|
-
modified: false,
|
|
195
|
-
loaded: true,
|
|
196
|
-
listed: true,
|
|
197
|
-
cursor: { line: 10, col: 5 },
|
|
198
|
-
linecount: 123,
|
|
199
|
-
};
|
|
200
|
-
const result = await windows.inventory({ includeBuffers: true });
|
|
201
|
-
expect(result).toHaveLength(1);
|
|
202
|
-
const state = result[0];
|
|
203
|
-
expect(state.window.session).toBe('work');
|
|
204
|
-
expect(state.window.window).toBe(0);
|
|
205
|
-
expect(state.window.pane).toBe(0);
|
|
206
|
-
expect(state.window.paneId).toBe('%3');
|
|
207
|
-
expect(state.window.paneTty).toBe('/dev/ttys001');
|
|
208
|
-
expect(state.window.panePid).toBe(200);
|
|
209
|
-
expect(state.window.title).toBe('zsh');
|
|
210
|
-
expect(state.window.cwd).toBe('/Users/luke/Developer');
|
|
211
|
-
expect(state.window.active).toBe(true);
|
|
212
|
-
expect(state.window.size).toEqual({ cols: 100, rows: 30 });
|
|
213
|
-
expect(state.nvim).not.toBeNull();
|
|
214
|
-
expect(state.nvim?.available).toBe(true);
|
|
215
|
-
expect(state.nvim?.pid).toBe(300);
|
|
216
|
-
expect(state.nvim?.serverAddr).toBe('/tmp/nvim.sock');
|
|
217
|
-
expect(state.nvim?.discoveryMethod).toBe('argv');
|
|
218
|
-
expect(state.nvim?.currentBuffer?.path).toBe('/Users/luke/Developer/utils/agents/src/index.ts');
|
|
219
|
-
expect(state.nvim?.currentBuffer?.cursor).toEqual({ line: 10, col: 5 });
|
|
220
|
-
expect(state.agent).not.toBeNull();
|
|
221
|
-
expect(state.agent?.type).toBe('codex');
|
|
222
|
-
expect(state.agent?.pid).toBe(400);
|
|
223
|
-
expect(state.agent?.sessionId).toBe('hostagent-123');
|
|
224
|
-
expect(state.agent?.issue).toBe('ARBOR-42');
|
|
225
|
-
expect(state.buffers).toHaveLength(2);
|
|
226
|
-
expect(state.buffers[0]?.lineCount).toBe(123);
|
|
227
|
-
});
|
|
228
|
-
it('handles no nvim and no agent gracefully', async () => {
|
|
229
|
-
resetMocks();
|
|
230
|
-
tmuxSessions = [{ name: 'work', windows: 1, attached: true, created: new Date() }];
|
|
231
|
-
tmuxWindowsBySession.set('work', [
|
|
232
|
-
{ id: '@1', index: 0, name: 'editor', active: true, panes: 1, layout: 'even-horizontal' },
|
|
233
|
-
]);
|
|
234
|
-
tmuxPanesBySessionWindow.set('work:0', [
|
|
235
|
-
{
|
|
236
|
-
index: 0,
|
|
237
|
-
active: true,
|
|
238
|
-
width: 100,
|
|
239
|
-
height: 30,
|
|
240
|
-
currentCommand: 'zsh',
|
|
241
|
-
currentPath: '/Users/luke/Developer',
|
|
242
|
-
},
|
|
243
|
-
]);
|
|
244
|
-
tmuxPaneIdByTarget.set('work:0.0', '%3');
|
|
245
|
-
tmuxPaneTtyByTarget.set('work:0.0', '/dev/ttys001');
|
|
246
|
-
processSnapshot.set(100, { pid: 100, ppid: 1, tty: '??', cmd: 'tmux', args: 'tmux new -s work' });
|
|
247
|
-
processSnapshot.set(200, { pid: 200, ppid: 100, tty: 'ttys001', cmd: 'zsh', args: '-zsh' });
|
|
248
|
-
// nvim/agent absent
|
|
249
|
-
nvimPidByPanePid.set(200, null);
|
|
250
|
-
const result = await windows.inventory();
|
|
251
|
-
expect(result).toHaveLength(1);
|
|
252
|
-
const state = result[0];
|
|
253
|
-
expect(state.agent).toBeNull();
|
|
254
|
-
expect(state.nvim?.available).toBe(false);
|
|
255
|
-
expect(state.nvim?.pid).toBeNull();
|
|
256
|
-
expect(state.buffers).toEqual([]);
|
|
257
|
-
});
|
|
258
|
-
it('supports getWindowState by pane ID and by session:window.pane', async () => {
|
|
259
|
-
resetMocks();
|
|
260
|
-
tmuxSessions = [{ name: 'work', windows: 1, attached: true, created: new Date() }];
|
|
261
|
-
tmuxWindowsBySession.set('work', [
|
|
262
|
-
{ id: '@1', index: 0, name: 'editor', active: true, panes: 1, layout: 'even-horizontal' },
|
|
263
|
-
]);
|
|
264
|
-
tmuxPanesBySessionWindow.set('work:0', [
|
|
265
|
-
{
|
|
266
|
-
index: 0,
|
|
267
|
-
active: true,
|
|
268
|
-
width: 100,
|
|
269
|
-
height: 30,
|
|
270
|
-
currentCommand: 'zsh',
|
|
271
|
-
currentPath: '/Users/luke/Developer',
|
|
272
|
-
},
|
|
273
|
-
]);
|
|
274
|
-
tmuxPaneIdByTarget.set('work:0.0', '%3');
|
|
275
|
-
tmuxPaneTtyByTarget.set('work:0.0', '/dev/ttys001');
|
|
276
|
-
processSnapshot.set(100, { pid: 100, ppid: 1, tty: '??', cmd: 'tmux', args: 'tmux new -s work' });
|
|
277
|
-
processSnapshot.set(200, { pid: 200, ppid: 100, tty: 'ttys001', cmd: 'zsh', args: '-zsh' });
|
|
278
|
-
const byPaneId = await windows.getWindowState('%3');
|
|
279
|
-
expect(byPaneId?.window.session).toBe('work');
|
|
280
|
-
const byRef = await windows.getWindowState('work:0.0');
|
|
281
|
-
expect(byRef?.window.paneId).toBe('%3');
|
|
282
|
-
});
|
|
283
|
-
it('returns empty when filtering to unknown session', async () => {
|
|
284
|
-
resetMocks();
|
|
285
|
-
tmuxSessions = [{ name: 'other', windows: 1, attached: true, created: new Date() }];
|
|
286
|
-
tmuxWindowsBySession.set('other', [
|
|
287
|
-
{ id: '@1', index: 0, name: 'misc', active: true, panes: 1, layout: 'even-horizontal' },
|
|
288
|
-
]);
|
|
289
|
-
const result = await windows.inventory({ session: 'work' });
|
|
290
|
-
expect(result).toEqual([]);
|
|
291
|
-
});
|
|
292
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/windows/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAGD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACxC,aAAa,EAAE,UAAU,GAAG,IAAI,CAAC;KAClC,GAAG,IAAI,CAAC;IACT,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB"}
|
package/dist/lib.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function Default(): any;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function AboutPage(): void;
|
package/dist/web/app/layout.d.ts
DELETED
package/dist/web/app/layout.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ThemeProvider } from 'next-themes';
|
|
2
|
-
import { ToastProvider } from '@/components/toast';
|
|
3
|
-
import '@/styles/globals.css';
|
|
4
|
-
export const metadata = {
|
|
5
|
-
title: 'agents web',
|
|
6
|
-
description: 'Monitor and control your agent ecosystem',
|
|
7
|
-
};
|
|
8
|
-
export default function RootLayout({ children, overlay, }) {
|
|
9
|
-
return (<html lang="en" suppressHydrationWarning className="h-full overflow-hidden bg-background">
|
|
10
|
-
<body className="h-full overflow-hidden bg-background text-foreground antialiased">
|
|
11
|
-
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem={false} disableTransitionOnChange>
|
|
12
|
-
<ToastProvider>
|
|
13
|
-
{children}
|
|
14
|
-
{overlay}
|
|
15
|
-
</ToastProvider>
|
|
16
|
-
</ThemeProvider>
|
|
17
|
-
</body>
|
|
18
|
-
</html>);
|
|
19
|
-
}
|
package/dist/web/app/page.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function Page(): any;
|
package/dist/web/app/page.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { Provider } from 'jotai';
|
|
3
|
-
import { Agentation } from 'agentation';
|
|
4
|
-
import { Sidebar } from '@/components/sidebar/index';
|
|
5
|
-
import { MainView } from '@/components/main-view';
|
|
6
|
-
import { CommandPalette } from '@/components/command-palette';
|
|
7
|
-
import { useAgentState } from '@/hooks/use-state';
|
|
8
|
-
import { useKeybindings } from '@/hooks/use-keybindings';
|
|
9
|
-
function AppContent() {
|
|
10
|
-
const { isLoading, error } = useAgentState();
|
|
11
|
-
const { commandPaletteOpen, setCommandPaletteOpen } = useKeybindings();
|
|
12
|
-
if (isLoading) {
|
|
13
|
-
return (<div className="flex h-screen items-center justify-center bg-background">
|
|
14
|
-
<div className="text-sm text-foreground-secondary">Loading...</div>
|
|
15
|
-
</div>);
|
|
16
|
-
}
|
|
17
|
-
if (error) {
|
|
18
|
-
return (<div className="flex h-screen items-center justify-center bg-background">
|
|
19
|
-
<div className="flex flex-col items-center gap-2">
|
|
20
|
-
<div className="text-sm text-destructive">{error}</div>
|
|
21
|
-
<button onClick={() => window.location.reload()} className="mt-2 rounded-md bg-background-secondary px-3 py-1.5 text-sm text-foreground-secondary outline-none transition-colors hover:bg-background-tertiary hover:text-foreground ">
|
|
22
|
-
retry
|
|
23
|
-
</button>
|
|
24
|
-
</div>
|
|
25
|
-
</div>);
|
|
26
|
-
}
|
|
27
|
-
return (<div className="flex h-screen bg-background">
|
|
28
|
-
<Sidebar />
|
|
29
|
-
<MainView />
|
|
30
|
-
<CommandPalette open={commandPaletteOpen} onOpenChange={setCommandPaletteOpen}/>
|
|
31
|
-
<Agentation />
|
|
32
|
-
</div>);
|
|
33
|
-
}
|
|
34
|
-
export default function Page() {
|
|
35
|
-
return (<Provider>
|
|
36
|
-
<AppContent />
|
|
37
|
-
</Provider>);
|
|
38
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function SettingsPage(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function ShortcutsPage(): void;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type SidebarView = 'main' | 'settings';
|
|
2
|
-
export declare const sidebarViewAtom: any;
|
|
3
|
-
export declare const sidebarViewStackAtom: any;
|
|
4
|
-
export declare const sidebarAnimatingAtom: any;
|
|
5
|
-
export type NavigationDirection = 'forward' | 'back' | null;
|
|
6
|
-
export declare const navigationDirectionAtom: any;
|
|
7
|
-
export declare const expandedProjectsAtom: any;
|
|
8
|
-
export type ProjectSidebarItemKey = 'terminal' | 'files' | 'planning';
|
|
9
|
-
export declare const DEFAULT_PROJECT_SIDEBAR_ITEMS: Record<ProjectSidebarItemKey, boolean>;
|
|
10
|
-
export declare const projectSidebarItemsAtom: any;
|
|
11
|
-
export declare const canGoBackAtom: any;
|
|
12
|
-
export declare const pushViewAtom: any;
|
|
13
|
-
export declare const popViewAtom: any;
|
|
14
|
-
export declare const toggleProjectAtom: any;
|
|
15
|
-
export declare const setProjectExpandedAtom: any;
|
|
16
|
-
export declare const setProjectSidebarItemEnabledAtom: any;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { atom } from 'jotai';
|
|
2
|
-
import { atomWithStorage } from 'jotai/utils';
|
|
3
|
-
// Sidebar view state with navigation stack
|
|
4
|
-
export const sidebarViewAtom = atom('main');
|
|
5
|
-
export const sidebarViewStackAtom = atom([]);
|
|
6
|
-
// Animation state to prevent interaction during transitions
|
|
7
|
-
export const sidebarAnimatingAtom = atom(false);
|
|
8
|
-
export const navigationDirectionAtom = atom(null);
|
|
9
|
-
// Expanded projects (for accordion pattern) - persisted locally
|
|
10
|
-
export const expandedProjectsAtom = atomWithStorage('agents.web.sidebar.expandedProjects', {});
|
|
11
|
-
export const DEFAULT_PROJECT_SIDEBAR_ITEMS = {
|
|
12
|
-
terminal: true,
|
|
13
|
-
files: true,
|
|
14
|
-
planning: true,
|
|
15
|
-
};
|
|
16
|
-
// Per-project sidebar item visibility - persisted locally
|
|
17
|
-
export const projectSidebarItemsAtom = atomWithStorage('agents.web.sidebar.projectItems', {});
|
|
18
|
-
// Derived atom for checking if we can go back
|
|
19
|
-
export const canGoBackAtom = atom((get) => get(sidebarViewStackAtom).length > 0);
|
|
20
|
-
// Action atoms for navigation
|
|
21
|
-
// With motion/AnimatePresence, we just update state - motion handles animation timing
|
|
22
|
-
export const pushViewAtom = atom(null, (get, set, view) => {
|
|
23
|
-
const currentView = get(sidebarViewAtom);
|
|
24
|
-
const stack = get(sidebarViewStackAtom);
|
|
25
|
-
// Don't push if already on this view
|
|
26
|
-
if (currentView === view)
|
|
27
|
-
return;
|
|
28
|
-
set(sidebarViewStackAtom, [...stack, currentView]);
|
|
29
|
-
set(navigationDirectionAtom, 'forward');
|
|
30
|
-
set(sidebarViewAtom, view);
|
|
31
|
-
});
|
|
32
|
-
export const popViewAtom = atom(null, (get, set) => {
|
|
33
|
-
const stack = get(sidebarViewStackAtom);
|
|
34
|
-
if (stack.length === 0)
|
|
35
|
-
return;
|
|
36
|
-
const newStack = [...stack];
|
|
37
|
-
const previousView = newStack.pop();
|
|
38
|
-
set(sidebarViewStackAtom, newStack);
|
|
39
|
-
set(navigationDirectionAtom, 'back');
|
|
40
|
-
set(sidebarViewAtom, previousView);
|
|
41
|
-
});
|
|
42
|
-
// Toggle project expansion
|
|
43
|
-
export const toggleProjectAtom = atom(null, (get, set, project) => {
|
|
44
|
-
const expanded = get(expandedProjectsAtom);
|
|
45
|
-
set(expandedProjectsAtom, { ...expanded, [project]: !(expanded[project] ?? false) });
|
|
46
|
-
});
|
|
47
|
-
export const setProjectExpandedAtom = atom(null, (get, set, params) => {
|
|
48
|
-
const expanded = get(expandedProjectsAtom);
|
|
49
|
-
set(expandedProjectsAtom, { ...expanded, [params.project]: params.expanded });
|
|
50
|
-
});
|
|
51
|
-
export const setProjectSidebarItemEnabledAtom = atom(null, (get, set, params) => {
|
|
52
|
-
const items = get(projectSidebarItemsAtom);
|
|
53
|
-
const projectItems = items[params.project] ?? {};
|
|
54
|
-
set(projectSidebarItemsAtom, {
|
|
55
|
-
...items,
|
|
56
|
-
[params.project]: { ...projectItems, [params.item]: params.enabled },
|
|
57
|
-
});
|
|
58
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const stateAtom: any;
|
|
2
|
-
export declare const isLoadingAtom: any;
|
|
3
|
-
export declare const errorAtom: any;
|
|
4
|
-
export declare const projectsAtom: any;
|
|
5
|
-
export declare const sessionsAtom: any;
|
|
6
|
-
export declare const runningSessionsAtom: any;
|
|
7
|
-
export declare const selectedSessionIdAtom: any;
|
|
8
|
-
export declare const selectedSessionAtom: any;
|
|
9
|
-
export declare const tmuxRunningAtom: any;
|
|
10
|
-
export declare const tmuxWindowsAtom: any;
|
|
11
|
-
export declare const selectedWindowAtom: any;
|
|
12
|
-
export declare const selectedProjectAtom: any;
|
|
13
|
-
export type ProjectView = 'terminal' | 'files' | 'planning';
|
|
14
|
-
export declare const selectedProjectViewAtom: any;
|
|
15
|
-
export declare const selectedPaneAtom: any;
|
|
16
|
-
export declare const paneContentAtom: any;
|
|
17
|
-
export declare const paneLoadingAtom: any;
|
|
18
|
-
export declare const sidebarCollapsedAtom: any;
|
|
19
|
-
export declare const viewModeAtom: any;
|
|
20
|
-
export declare const activeWindowAtom: any;
|
|
21
|
-
export declare const wsConnectedAtom: any;
|
|
22
|
-
export declare const prefixActiveAtom: any;
|
|
23
|
-
export declare const commandPaletteOpenAtom: any;
|
|
24
|
-
export declare const terminalFocusedAtom: any;
|
package/dist/web/atoms/state.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { atom } from 'jotai';
|
|
2
|
-
// Core state
|
|
3
|
-
export const stateAtom = atom(null);
|
|
4
|
-
export const isLoadingAtom = atom(true);
|
|
5
|
-
export const errorAtom = atom(null);
|
|
6
|
-
// Projects metadata
|
|
7
|
-
export const projectsAtom = atom({ projects: {}, defaultEmoji: '📁' });
|
|
8
|
-
// Sessions
|
|
9
|
-
export const sessionsAtom = atom((get) => get(stateAtom)?.sessions.items ?? []);
|
|
10
|
-
export const runningSessionsAtom = atom((get) => get(sessionsAtom).filter((s) => s.status === 'running'));
|
|
11
|
-
export const selectedSessionIdAtom = atom(null);
|
|
12
|
-
export const selectedSessionAtom = atom((get) => {
|
|
13
|
-
const id = get(selectedSessionIdAtom);
|
|
14
|
-
if (!id)
|
|
15
|
-
return null;
|
|
16
|
-
return get(sessionsAtom).find((s) => s.session_id === id) ?? null;
|
|
17
|
-
});
|
|
18
|
-
// tmux
|
|
19
|
-
export const tmuxRunningAtom = atom((get) => get(stateAtom)?.tmux.running ?? false);
|
|
20
|
-
export const tmuxWindowsAtom = atom((get) => get(stateAtom)?.tmux.windows ?? []);
|
|
21
|
-
export const selectedWindowAtom = atom(null);
|
|
22
|
-
// Alias for clarity - sidebar items are "projects" (tmux windows)
|
|
23
|
-
export const selectedProjectAtom = selectedWindowAtom;
|
|
24
|
-
export const selectedProjectViewAtom = atom('terminal');
|
|
25
|
-
export const selectedPaneAtom = atom(0);
|
|
26
|
-
// Pane content (captured from tmux)
|
|
27
|
-
export const paneContentAtom = atom('');
|
|
28
|
-
export const paneLoadingAtom = atom(false);
|
|
29
|
-
// UI state
|
|
30
|
-
export const sidebarCollapsedAtom = atom(false);
|
|
31
|
-
export const viewModeAtom = atom('windows');
|
|
32
|
-
// Derived: active tmux window
|
|
33
|
-
export const activeWindowAtom = atom((get) => {
|
|
34
|
-
const windows = get(tmuxWindowsAtom);
|
|
35
|
-
return windows.find((w) => w.active) ?? windows[0] ?? null;
|
|
36
|
-
});
|
|
37
|
-
// WebSocket connection state
|
|
38
|
-
export const wsConnectedAtom = atom(false);
|
|
39
|
-
// Keybindings state
|
|
40
|
-
export const prefixActiveAtom = atom(false);
|
|
41
|
-
export const commandPaletteOpenAtom = atom(false);
|
|
42
|
-
// Terminal focus state - when true, all keybindings pass through to xterm.js
|
|
43
|
-
export const terminalFocusedAtom = atom(false);
|