aicodeman 1.33.0 → 1.33.2
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/README.md +4 -0
- package/README.zh-CN.md +4 -0
- package/dist/config/cli-registry/schema.d.ts +1 -0
- package/dist/config/cli-registry/schema.d.ts.map +1 -1
- package/dist/config/cli-registry/schema.js +6 -0
- package/dist/config/cli-registry/schema.js.map +1 -1
- package/dist/config/cli-registry/stock.d.ts.map +1 -1
- package/dist/config/cli-registry/stock.js +20 -1
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +13 -0
- package/dist/config/cli-registry/types.d.ts.map +1 -1
- package/dist/config/server-timing.d.ts +7 -0
- package/dist/config/server-timing.d.ts.map +1 -1
- package/dist/config/server-timing.js +7 -0
- package/dist/config/server-timing.js.map +1 -1
- package/dist/cron/cron-service.d.ts +20 -0
- package/dist/cron/cron-service.d.ts.map +1 -1
- package/dist/cron/cron-service.js +31 -10
- package/dist/cron/cron-service.js.map +1 -1
- package/dist/docker-hosts.d.ts +11 -0
- package/dist/docker-hosts.d.ts.map +1 -1
- package/dist/docker-hosts.js +30 -2
- package/dist/docker-hosts.js.map +1 -1
- package/dist/mux-interface.d.ts +7 -0
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/pane-exit-sweep.d.ts +77 -0
- package/dist/pane-exit-sweep.d.ts.map +1 -0
- package/dist/pane-exit-sweep.js +46 -0
- package/dist/pane-exit-sweep.js.map +1 -0
- package/dist/reboot-restore.d.ts +17 -14
- package/dist/reboot-restore.d.ts.map +1 -1
- package/dist/reboot-restore.js +25 -13
- package/dist/reboot-restore.js.map +1 -1
- package/dist/session-activity.d.ts +29 -0
- package/dist/session-activity.d.ts.map +1 -1
- package/dist/session-activity.js +56 -0
- package/dist/session-activity.js.map +1 -1
- package/dist/session.d.ts +57 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +98 -2
- package/dist/session.js.map +1 -1
- package/dist/tmux-manager.d.ts +10 -0
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +13 -1
- package/dist/tmux-manager.js.map +1 -1
- package/dist/types/session.d.ts +7 -6
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/dist/web/paste-image-gc.d.ts +36 -0
- package/dist/web/paste-image-gc.d.ts.map +1 -1
- package/dist/web/paste-image-gc.js +57 -1
- package/dist/web/paste-image-gc.js.map +1 -1
- package/dist/web/public/admin-ui.js.gz +0 -0
- package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
- package/dist/web/public/{app.3ea688d2.js → app.91131d2c.js} +10 -10
- package/dist/web/public/app.91131d2c.js.br +0 -0
- package/dist/web/public/app.91131d2c.js.gz +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/{constants.dee9dcc7.js → constants.cc927eb8.js} +48 -0
- package/dist/web/public/constants.cc927eb8.js.br +0 -0
- package/dist/web/public/constants.cc927eb8.js.gz +0 -0
- package/dist/web/public/cron-ui.js.gz +0 -0
- package/dist/web/public/entrance-animations.js.gz +0 -0
- package/dist/web/public/home-sessions.js +11 -5
- package/dist/web/public/home-sessions.js.br +0 -0
- package/dist/web/public/home-sessions.js.gz +0 -0
- package/dist/web/public/host-wake-ui.js.gz +0 -0
- package/dist/web/public/i18n.f094d01f.js +1 -0
- package/dist/web/public/i18n.f094d01f.js.br +0 -0
- package/dist/web/public/i18n.f094d01f.js.gz +0 -0
- package/dist/web/public/image-input.a216cf9e.js.gz +0 -0
- package/dist/web/public/index.html +15 -9
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.c1e7c7b7.js.gz +0 -0
- package/dist/web/public/mobile-handlers.23a85db1.js.gz +0 -0
- package/dist/web/public/mobile-overview.js +40 -5
- package/dist/web/public/mobile-overview.js.br +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.1aa4952d.css +1 -0
- package/dist/web/public/mobile.1aa4952d.css.br +0 -0
- package/dist/web/public/mobile.1aa4952d.css.gz +0 -0
- package/dist/web/public/notification-manager.50bb87d8.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/panels-ui.67646701.js.gz +0 -0
- package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
- package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
- package/dist/web/public/readmymind-ui.js.gz +0 -0
- package/dist/web/public/reboot-restore-ui.js.gz +0 -0
- package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
- package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.acc0aa26.js → session-ui.7575a231.js} +39 -38
- package/dist/web/public/session-ui.7575a231.js.br +0 -0
- package/dist/web/public/session-ui.7575a231.js.gz +0 -0
- package/dist/web/public/settings-ui.c68e7f59.js.gz +0 -0
- package/dist/web/public/styles.3fe3312d.css +1 -0
- package/dist/web/public/styles.3fe3312d.css.br +0 -0
- package/dist/web/public/styles.3fe3312d.css.gz +0 -0
- package/dist/web/public/subagent-windows.e6ca799f.js.gz +0 -0
- package/dist/web/public/sw.js +2 -2
- package/dist/web/public/sw.js.br +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/tab-rail-resize.dcdc5772.js.gz +0 -0
- package/dist/web/public/terminal-keycode229-recovery.fb91b25b.js.gz +0 -0
- package/dist/web/public/terminal-split.js.gz +0 -0
- package/dist/web/public/{terminal-ui.baf7c9c6.js → terminal-ui.d5223c0e.js} +2 -2
- package/dist/web/public/terminal-ui.d5223c0e.js.br +0 -0
- package/dist/web/public/terminal-ui.d5223c0e.js.gz +0 -0
- package/dist/web/public/ultracode-panel.js.gz +0 -0
- package/dist/web/public/ultracode-windows.js.gz +0 -0
- package/dist/web/public/upload.html.gz +0 -0
- package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/marked.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.bd6882b8.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.6fee72f2.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/public/voice-input.c4b51eb6.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/route-helpers.d.ts +16 -0
- package/dist/web/route-helpers.d.ts.map +1 -1
- package/dist/web/route-helpers.js +19 -0
- package/dist/web/route-helpers.js.map +1 -1
- package/dist/web/routes/cli-registry-routes.d.ts +3 -1
- package/dist/web/routes/cli-registry-routes.d.ts.map +1 -1
- package/dist/web/routes/cli-registry-routes.js +10 -1
- package/dist/web/routes/cli-registry-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +21 -2
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/webview-routes.d.ts.map +1 -1
- package/dist/web/routes/webview-routes.js +15 -3
- package/dist/web/routes/webview-routes.js.map +1 -1
- package/dist/web/routes/ws-routes.d.ts.map +1 -1
- package/dist/web/routes/ws-routes.js +9 -1
- package/dist/web/routes/ws-routes.js.map +1 -1
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +5 -1
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/server.d.ts +37 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +107 -3
- package/dist/web/server.js.map +1 -1
- package/dist/web/sse-events.d.ts +4 -2
- package/dist/web/sse-events.d.ts.map +1 -1
- package/dist/web/sse-events.js +4 -2
- package/dist/web/sse-events.js.map +1 -1
- package/dist/web/webview-sse.d.ts +4 -0
- package/dist/web/webview-sse.d.ts.map +1 -0
- package/dist/web/webview-sse.js +4 -0
- package/dist/web/webview-sse.js.map +1 -0
- package/package.json +2 -1
- package/scripts/postinstall.js +16 -4
- package/dist/web/public/app.3ea688d2.js.br +0 -0
- package/dist/web/public/app.3ea688d2.js.gz +0 -0
- package/dist/web/public/constants.dee9dcc7.js.br +0 -0
- package/dist/web/public/constants.dee9dcc7.js.gz +0 -0
- package/dist/web/public/i18n.600dab6c.js +0 -1
- package/dist/web/public/i18n.600dab6c.js.br +0 -0
- package/dist/web/public/i18n.600dab6c.js.gz +0 -0
- package/dist/web/public/mobile.eeadfbbe.css +0 -1
- package/dist/web/public/mobile.eeadfbbe.css.br +0 -0
- package/dist/web/public/mobile.eeadfbbe.css.gz +0 -0
- package/dist/web/public/session-ui.acc0aa26.js.br +0 -0
- package/dist/web/public/session-ui.acc0aa26.js.gz +0 -0
- package/dist/web/public/styles.340f073e.css +0 -1
- package/dist/web/public/styles.340f073e.css.br +0 -0
- package/dist/web/public/styles.340f073e.css.gz +0 -0
- package/dist/web/public/terminal-ui.baf7c9c6.js.br +0 -0
- package/dist/web/public/terminal-ui.baf7c9c6.js.gz +0 -0
package/dist/reboot-restore.d.ts
CHANGED
|
@@ -19,19 +19,22 @@
|
|
|
19
19
|
* touching its status, so a pinned session a reboot killed still reads `idle` or
|
|
20
20
|
* `busy` and stays eligible.
|
|
21
21
|
*
|
|
22
|
-
* ⚠️ Ending the AGENT rather than the session
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
22
|
+
* ⚠️ Ending the AGENT rather than the session leaves no trace in `status` or
|
|
23
|
+
* `pid`. `/exit` ends the CLI inside the pane, `remain-on-exit` keeps the pane,
|
|
24
|
+
* and the PTY Codeman owns is the `tmux attach-session` process, which stays
|
|
25
|
+
* alive throughout — so no exit handler runs, no lifecycle `exit` is logged,
|
|
26
|
+
* and the record keeps both its pid and `status: 'idle'`. Ark0N/Codeman#446
|
|
27
|
+
* handles it in two steps. The pane-exit watcher persists `paneExit`, and the
|
|
28
|
+
* clean-exit sweep (`pane-exit-sweep.ts`) closes a session whose agent exited
|
|
29
|
+
* with status 0 through `cleanupSession()`, which leaves the durable record
|
|
30
|
+
* described above. This module also refuses a record whose persisted
|
|
31
|
+
* `paneExit` is a clean exit, which covers a session that exited moments
|
|
32
|
+
* before the power went, before the sweep reached it. A crashed agent's record
|
|
33
|
+
* stays eligible, like the row the sweep leaves on the board for it.
|
|
31
34
|
*
|
|
32
|
-
* The `pid` check below is
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
+
* The `pid` check below is NOT that rule. It refuses a record whose attach
|
|
36
|
+
* process was already gone, which is a session that never started or whose
|
|
37
|
+
* pane died outright.
|
|
35
38
|
*
|
|
36
39
|
* @dependencies types (SessionState), config/cli-registry
|
|
37
40
|
* @consumedby web/server (plan build at boot), web/routes/reboot-restore-routes
|
|
@@ -90,14 +93,14 @@ export declare function resolveResumeConversationId(state: SessionState): string
|
|
|
90
93
|
/**
|
|
91
94
|
* Why one session was passed over. Reported for logging and shown to the user.
|
|
92
95
|
*
|
|
93
|
-
*
|
|
96
|
+
* All but the last two are decided before anything is built. `capacity-reached` and
|
|
94
97
|
* `rebuild-failed` can only happen once a click is spending the plan, and they
|
|
95
98
|
* are the two the banner must not confuse with a missing workspace: one means
|
|
96
99
|
* "try again after closing something", the other means the CLI would not start.
|
|
97
100
|
*/
|
|
98
101
|
export interface RebootRestoreRejection {
|
|
99
102
|
sessionId: string;
|
|
100
|
-
reason: 'no-persisted-record' | 'intentionally-ended' | 'not-running' | 'respawn-blocked' | 'remote-or-docker' | 'unsupported-mode' | 'no-working-dir' | 'workspace-missing' | 'workspace-forbidden' | 'already-live' | 'capacity-reached' | 'rebuild-failed';
|
|
103
|
+
reason: 'no-persisted-record' | 'intentionally-ended' | 'not-running' | 'agent-exited' | 'respawn-blocked' | 'remote-or-docker' | 'unsupported-mode' | 'no-working-dir' | 'workspace-missing' | 'workspace-forbidden' | 'already-live' | 'capacity-reached' | 'rebuild-failed';
|
|
101
104
|
}
|
|
102
105
|
/** One restorable session, as the banner shows it and the rebuild replays it. */
|
|
103
106
|
export interface RebootRestoreEntry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reboot-restore.d.ts","sourceRoot":"","sources":["../src/reboot-restore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reboot-restore.d.ts","sourceRoot":"","sources":["../src/reboot-restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO/C,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,yBAAyB,EAAE,MAAM,CAAC;IAClC,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAMrE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAIvE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EACF,qBAAqB,GACrB,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,CAAC;CACtB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EACjD,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GAC/C,iBAAiB,CA+EnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,iBAAiB,CAWnB;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,GAAG,MAAM,CAOjG"}
|
package/dist/reboot-restore.js
CHANGED
|
@@ -19,19 +19,22 @@
|
|
|
19
19
|
* touching its status, so a pinned session a reboot killed still reads `idle` or
|
|
20
20
|
* `busy` and stays eligible.
|
|
21
21
|
*
|
|
22
|
-
* ⚠️ Ending the AGENT rather than the session
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
22
|
+
* ⚠️ Ending the AGENT rather than the session leaves no trace in `status` or
|
|
23
|
+
* `pid`. `/exit` ends the CLI inside the pane, `remain-on-exit` keeps the pane,
|
|
24
|
+
* and the PTY Codeman owns is the `tmux attach-session` process, which stays
|
|
25
|
+
* alive throughout — so no exit handler runs, no lifecycle `exit` is logged,
|
|
26
|
+
* and the record keeps both its pid and `status: 'idle'`. Ark0N/Codeman#446
|
|
27
|
+
* handles it in two steps. The pane-exit watcher persists `paneExit`, and the
|
|
28
|
+
* clean-exit sweep (`pane-exit-sweep.ts`) closes a session whose agent exited
|
|
29
|
+
* with status 0 through `cleanupSession()`, which leaves the durable record
|
|
30
|
+
* described above. This module also refuses a record whose persisted
|
|
31
|
+
* `paneExit` is a clean exit, which covers a session that exited moments
|
|
32
|
+
* before the power went, before the sweep reached it. A crashed agent's record
|
|
33
|
+
* stays eligible, like the row the sweep leaves on the board for it.
|
|
31
34
|
*
|
|
32
|
-
* The `pid` check below is
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
+
* The `pid` check below is NOT that rule. It refuses a record whose attach
|
|
36
|
+
* process was already gone, which is a session that never started or whose
|
|
37
|
+
* pane died outright.
|
|
35
38
|
*
|
|
36
39
|
* @dependencies types (SessionState), config/cli-registry
|
|
37
40
|
* @consumedby web/server (plan build at boot), web/routes/reboot-restore-routes
|
|
@@ -39,6 +42,7 @@
|
|
|
39
42
|
* @module reboot-restore
|
|
40
43
|
*/
|
|
41
44
|
import { getCli } from './config/cli-registry/registry.js';
|
|
45
|
+
import { isCleanPaneExit } from './pane-exit-sweep.js';
|
|
42
46
|
/** Session statuses a reboot restore may rebuild. `stopped` is the kill marker. */
|
|
43
47
|
const RESTORABLE_STATUSES = new Set(['idle', 'busy', 'error']);
|
|
44
48
|
/**
|
|
@@ -123,7 +127,8 @@ export function planRebootRestore(deadSessionIds, persisted, workspaceExists) {
|
|
|
123
127
|
//
|
|
124
128
|
// ⚠️ This does NOT catch a session the user ended with `/exit`. See the
|
|
125
129
|
// module header: that leaves the pid in place, because the pid is the tmux
|
|
126
|
-
// attach process and `remain-on-exit` keeps it alive.
|
|
130
|
+
// attach process and `remain-on-exit` keeps it alive. The `paneExit` check
|
|
131
|
+
// below catches it instead.
|
|
127
132
|
//
|
|
128
133
|
// Conservative on purpose. A session that somehow persisted no pid while
|
|
129
134
|
// genuinely running is not offered, and its conversation stays reachable
|
|
@@ -132,6 +137,13 @@ export function planRebootRestore(deadSessionIds, persisted, workspaceExists) {
|
|
|
132
137
|
skipped.push({ sessionId, reason: 'not-running' });
|
|
133
138
|
continue;
|
|
134
139
|
}
|
|
140
|
+
if (isCleanPaneExit(state.paneExit)) {
|
|
141
|
+
// The user ended the agent, and the clean-exit sweep would have closed the
|
|
142
|
+
// session had the power not gone first (Ark0N/Codeman#446). The same
|
|
143
|
+
// explicit-0 rule applies: an absent status is unknown, not clean.
|
|
144
|
+
skipped.push({ sessionId, reason: 'agent-exited' });
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
135
147
|
if (state.respawnBlocked === true) {
|
|
136
148
|
// The crash-loop breaker tripped on this pane. Re-creating it restarts the loop.
|
|
137
149
|
skipped.push({ sessionId, reason: 'respawn-blocked' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reboot-restore.js","sourceRoot":"","sources":["../src/reboot-restore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reboot-restore.js","sourceRoot":"","sources":["../src/reboot-restore.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,4 +111,33 @@ export declare const MAX_WATCHING_LABEL_CHARS = 40;
|
|
|
111
111
|
* @returns the label, or null when the pane shows no background work
|
|
112
112
|
*/
|
|
113
113
|
export declare function watchingLabel(paneText: string | null | undefined, pattern: RegExp, tailLines?: number): string | null;
|
|
114
|
+
/**
|
|
115
|
+
* How many rows above the composer the turn's closing row may sit. Between the two Claude
|
|
116
|
+
* draws only its composer border and, sometimes, a right-aligned hint
|
|
117
|
+
* (`new task? /clear to save 169.1k tokens`), so this leaves room for a blank row or two
|
|
118
|
+
* and no more. A bound, not a tuning knob: the walk must never reach far enough up the
|
|
119
|
+
* transcript to find an old turn's row.
|
|
120
|
+
*/
|
|
121
|
+
export declare const AWAITING_SEARCH_ROWS = 6;
|
|
122
|
+
/**
|
|
123
|
+
* Whether the pane's newest turn ended by handing off to workers the CLI will wait for,
|
|
124
|
+
* e.g. Claude's `✻ Waiting for 1 dynamic workflow to finish`.
|
|
125
|
+
*
|
|
126
|
+
* Such a pane is quiet and shows its composer, so every other signal calls it idle, yet
|
|
127
|
+
* nothing is being asked of the user: the CLI resumes by itself when the workers report
|
|
128
|
+
* back. That is why a session in this state counts as working.
|
|
129
|
+
*
|
|
130
|
+
* ⚠️ The row is a snapshot. Claude renders it once, at the end of the turn, and never
|
|
131
|
+
* updates it, so after the workers finish the same words are still on screen above the
|
|
132
|
+
* follow-up turn. Matching them anywhere on the pane would pin the session busy for as
|
|
133
|
+
* long as they stay visible. Only the newest transcript row counts: the walk starts at
|
|
134
|
+
* the composer (the LAST row carrying `promptGlyph`), steps up past blank rows, the
|
|
135
|
+
* composer's frame and anything indented (a right-aligned hint, a wrapped continuation),
|
|
136
|
+
* and tests the first row that starts in column 0. A follow-up turn always puts rows of
|
|
137
|
+
* its own there, so the stale copy is never the one tested.
|
|
138
|
+
*
|
|
139
|
+
* @param promptGlyph the CLI's composer glyph (`capabilities.workDetect.promptGlyph`)
|
|
140
|
+
* @returns false when the screen shows no composer, which is no evidence either way
|
|
141
|
+
*/
|
|
142
|
+
export declare function isAwaitingWorkers(paneText: string | null | undefined, pattern: RegExp, promptGlyph: string): boolean;
|
|
114
143
|
//# sourceMappingURL=session-activity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-activity.d.ts","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,kFAAkF;AAClF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAwB,GAC9B,cAAc,CAGhB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAEhH;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAE7G;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA4B,GACtC,MAAM,GAAG,IAAI,CAiBf"}
|
|
1
|
+
{"version":3,"file":"session-activity.d.ts","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,kFAAkF;AAClF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAwB,GAC9B,cAAc,CAGhB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAEhH;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAE7G;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA4B,GACtC,MAAM,GAAG,IAAI,CAiBf;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAsBpH"}
|
package/dist/session-activity.js
CHANGED
|
@@ -133,4 +133,60 @@ export function watchingLabel(paneText, pattern, tailLines = WATCHING_TAIL_LINES
|
|
|
133
133
|
}
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* How many rows above the composer the turn's closing row may sit. Between the two Claude
|
|
138
|
+
* draws only its composer border and, sometimes, a right-aligned hint
|
|
139
|
+
* (`new task? /clear to save 169.1k tokens`), so this leaves room for a blank row or two
|
|
140
|
+
* and no more. A bound, not a tuning knob: the walk must never reach far enough up the
|
|
141
|
+
* transcript to find an old turn's row.
|
|
142
|
+
*/
|
|
143
|
+
export const AWAITING_SEARCH_ROWS = 6;
|
|
144
|
+
/** A row that opens with a box-drawing character is the composer's frame, not transcript. */
|
|
145
|
+
const COMPOSER_FRAME_ROW = /^[─-╿]/;
|
|
146
|
+
/**
|
|
147
|
+
* Whether the pane's newest turn ended by handing off to workers the CLI will wait for,
|
|
148
|
+
* e.g. Claude's `✻ Waiting for 1 dynamic workflow to finish`.
|
|
149
|
+
*
|
|
150
|
+
* Such a pane is quiet and shows its composer, so every other signal calls it idle, yet
|
|
151
|
+
* nothing is being asked of the user: the CLI resumes by itself when the workers report
|
|
152
|
+
* back. That is why a session in this state counts as working.
|
|
153
|
+
*
|
|
154
|
+
* ⚠️ The row is a snapshot. Claude renders it once, at the end of the turn, and never
|
|
155
|
+
* updates it, so after the workers finish the same words are still on screen above the
|
|
156
|
+
* follow-up turn. Matching them anywhere on the pane would pin the session busy for as
|
|
157
|
+
* long as they stay visible. Only the newest transcript row counts: the walk starts at
|
|
158
|
+
* the composer (the LAST row carrying `promptGlyph`), steps up past blank rows, the
|
|
159
|
+
* composer's frame and anything indented (a right-aligned hint, a wrapped continuation),
|
|
160
|
+
* and tests the first row that starts in column 0. A follow-up turn always puts rows of
|
|
161
|
+
* its own there, so the stale copy is never the one tested.
|
|
162
|
+
*
|
|
163
|
+
* @param promptGlyph the CLI's composer glyph (`capabilities.workDetect.promptGlyph`)
|
|
164
|
+
* @returns false when the screen shows no composer, which is no evidence either way
|
|
165
|
+
*/
|
|
166
|
+
export function isAwaitingWorkers(paneText, pattern, promptGlyph) {
|
|
167
|
+
if (!paneText)
|
|
168
|
+
return false;
|
|
169
|
+
const rows = stripAnsi(paneText)
|
|
170
|
+
.split('\n')
|
|
171
|
+
.map((row) => row.trimEnd());
|
|
172
|
+
let composer = -1;
|
|
173
|
+
for (let i = rows.length - 1; i >= 0; i--) {
|
|
174
|
+
// Claude has drawn its composer both bare (`❯ …` between rules) and boxed (`│ ❯ … │`).
|
|
175
|
+
if (rows[i].replace(/^[\s│]+/, '').startsWith(promptGlyph)) {
|
|
176
|
+
composer = i;
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (composer < 0)
|
|
181
|
+
return false;
|
|
182
|
+
for (let i = composer - 1; i >= Math.max(0, composer - AWAITING_SEARCH_ROWS); i--) {
|
|
183
|
+
const row = rows[i];
|
|
184
|
+
if (row === '' || /^\s/.test(row) || COMPOSER_FRAME_ROW.test(row))
|
|
185
|
+
continue;
|
|
186
|
+
// Same reasoning as watchingLabel(): a caller's `g` flag must not make this flap.
|
|
187
|
+
pattern.lastIndex = 0;
|
|
188
|
+
return pattern.test(row);
|
|
189
|
+
}
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
136
192
|
//# sourceMappingURL=session-activity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-activity.js","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAU1C;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA6B,EAC7B,GAAW,EACX,QAAgB,eAAe;IAE/B,IAAI,CAAC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACnF,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA6B,EAAE,WAAmB,iBAAiB;IACrG,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;AAClE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,cAAsB,EAAE,GAAW,EAAE,YAAoB,eAAe;IAClG,OAAO,GAAG,GAAG,cAAc,IAAI,SAAS,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAmC,EACnC,OAAe,EACf,YAAoB,mBAAmB;IAEvC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;SAC9B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,gFAAgF;QAChF,iFAAiF;QACjF,qDAAqD;QACrD,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC/E,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-activity.js","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -272,6 +272,8 @@ export declare class Session extends EventEmitter {
|
|
|
272
272
|
private _watchingLineRe;
|
|
273
273
|
/** Resolved with the pattern above: how many rows at the foot of the screen to search. */
|
|
274
274
|
private _watchingWindow;
|
|
275
|
+
/** Lazily compiled `capabilities.workDetect.awaitingLine`. See _awaitingLinePattern(). */
|
|
276
|
+
private _awaitingLineRe;
|
|
275
277
|
private _trustDialogAccepted;
|
|
276
278
|
private _trustDialogAttempts;
|
|
277
279
|
private _lastTrustDialogScanAt;
|
|
@@ -306,6 +308,21 @@ export declare class Session extends EventEmitter {
|
|
|
306
308
|
* rendered as "alive".
|
|
307
309
|
*/
|
|
308
310
|
private _paneExit;
|
|
311
|
+
/**
|
|
312
|
+
* How many starts, attaches or relaunches are running for this session's
|
|
313
|
+
* pane. While one is, a dead-pane reading may describe a pane that is being
|
|
314
|
+
* revived on purpose, so the exited-agent sweep leaves the session alone
|
|
315
|
+
* (Ark0N/Codeman#446). A counter rather than a flag, so two overlapping
|
|
316
|
+
* operations cannot clear each other's mark.
|
|
317
|
+
*/
|
|
318
|
+
private _paneLifecycleOps;
|
|
319
|
+
/** When the last pane start, attach or relaunch finished (ms), 0 when none has run. */
|
|
320
|
+
private _paneStartedAt;
|
|
321
|
+
/**
|
|
322
|
+
* The server has started closing this session, so no start or attach may
|
|
323
|
+
* begin (see {@link markClosing}).
|
|
324
|
+
*/
|
|
325
|
+
private _closing;
|
|
309
326
|
/**
|
|
310
327
|
* This session was rebuilt from the tmux socket rather than from Codeman's
|
|
311
328
|
* own records, so its `remote`/`docker` metadata is missing rather than known
|
|
@@ -503,6 +520,31 @@ export declare class Session extends EventEmitter {
|
|
|
503
520
|
private get paneExitApplies();
|
|
504
521
|
/** What Codeman last observed of this pane's agent, or undefined for UNKNOWN. */
|
|
505
522
|
get paneExit(): PaneExit | undefined;
|
|
523
|
+
/**
|
|
524
|
+
* True while a start, attach or relaunch is running for this session's pane.
|
|
525
|
+
* The exited-agent sweep reads it (see `pane-exit-sweep.ts`): the dead-pane
|
|
526
|
+
* branch of {@link _setupOrAttachMuxSession} respawns an exited pane, and
|
|
527
|
+
* until it finishes and clears the exit, the pane still reads as dead.
|
|
528
|
+
*/
|
|
529
|
+
get paneLifecycleInFlight(): boolean;
|
|
530
|
+
/**
|
|
531
|
+
* When the last start, attach or relaunch of this pane finished, or 0 when
|
|
532
|
+
* none has run in this process. The exited-agent sweep keeps an exit that
|
|
533
|
+
* lands within `CLEAN_EXIT_MIN_PANE_LIFETIME_MS` of it, since that reads as a
|
|
534
|
+
* CLI failing at startup rather than a user ending it. An attach to a pane
|
|
535
|
+
* that was already running stamps it too, which only costs a user who
|
|
536
|
+
* `/exit`s within seconds of a server restart a row to close by hand.
|
|
537
|
+
*/
|
|
538
|
+
get paneStartedAt(): number;
|
|
539
|
+
/**
|
|
540
|
+
* Mark this session as being closed, or clear the mark after a close that
|
|
541
|
+
* failed. While it is set, {@link startInteractive} and {@link startShell}
|
|
542
|
+
* refuse to run. A start that raced a close would otherwise launch a CLI in a
|
|
543
|
+
* tmux session whose record is about to be deleted (Ark0N/Codeman#446).
|
|
544
|
+
*/
|
|
545
|
+
markClosing(closing: boolean): void;
|
|
546
|
+
/** Run one pane start, attach or relaunch with {@link paneLifecycleInFlight} raised. */
|
|
547
|
+
private _withPaneLifecycle;
|
|
506
548
|
/**
|
|
507
549
|
* Forget this pane's exit, on both this record and the mux layer's cache.
|
|
508
550
|
* Every path that starts or relaunches a command in the pane calls it, and
|
|
@@ -947,6 +989,7 @@ export declare class Session extends EventEmitter {
|
|
|
947
989
|
* ```
|
|
948
990
|
*/
|
|
949
991
|
private _setupOrAttachMuxSession;
|
|
992
|
+
private _doSetupOrAttachMuxSession;
|
|
950
993
|
/**
|
|
951
994
|
* COD-108 — re-establish a dropped REMOTE session. Triggered by the
|
|
952
995
|
* `TmuxManager` remote-reconnect watcher (via `remoteSessionDropped`): the
|
|
@@ -984,6 +1027,7 @@ export declare class Session extends EventEmitter {
|
|
|
984
1027
|
* the mux session is gone — see {@link reattachRemote} for that reasoning).
|
|
985
1028
|
*/
|
|
986
1029
|
restartCli(): Promise<boolean>;
|
|
1030
|
+
private _doRestartCli;
|
|
987
1031
|
/**
|
|
988
1032
|
* Assemble the {@link RespawnPaneOptions} for this session. Single source of
|
|
989
1033
|
* truth shared by interactive start, shell start (via their inline copies),
|
|
@@ -1194,6 +1238,12 @@ export declare class Session extends EventEmitter {
|
|
|
1194
1238
|
* guessing one would badge sessions on the strength of an unread screen.
|
|
1195
1239
|
*/
|
|
1196
1240
|
private _watchingLinePattern;
|
|
1241
|
+
/**
|
|
1242
|
+
* Whether the newest turn on this screen ended waiting for workers the CLI started
|
|
1243
|
+
* (Claude's `✻ Waiting for 1 dynamic workflow to finish`). False for a CLI whose
|
|
1244
|
+
* registry entry declares no `awaitingLine`. See `isAwaitingWorkers()`.
|
|
1245
|
+
*/
|
|
1246
|
+
private _paneAwaitsWorkers;
|
|
1197
1247
|
/**
|
|
1198
1248
|
* The regex matching this CLI's "a turn is running" status line.
|
|
1199
1249
|
*
|
|
@@ -1431,6 +1481,13 @@ export declare class Session extends EventEmitter {
|
|
|
1431
1481
|
* ```
|
|
1432
1482
|
*/
|
|
1433
1483
|
writeViaMux(data: string, options?: SessionWriteOptions): Promise<boolean>;
|
|
1484
|
+
/**
|
|
1485
|
+
* Arm the composer check for a prompt that went out some other way than
|
|
1486
|
+
* `writeViaMux`, e.g. cron's paste mode, which writes the body raw and its Enter
|
|
1487
|
+
* separately. `text` is what the composer line starts with while the prompt is still
|
|
1488
|
+
* unsent; the check re-presses Enter only while that holds.
|
|
1489
|
+
*/
|
|
1490
|
+
verifySubmitted(text: string): void;
|
|
1434
1491
|
/**
|
|
1435
1492
|
* Arm the composer check for a write that carried Enter (session-submit-verifier.ts):
|
|
1436
1493
|
* Claude Code 2.1.277+ ignores Enter for the first 30-50 s after the composer paints,
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -41,7 +41,7 @@ import { TaskTracker } from './task-tracker.js';
|
|
|
41
41
|
import { RalphTracker } from './ralph-tracker.js';
|
|
42
42
|
import { BashToolParser } from './bash-tool-parser.js';
|
|
43
43
|
import { isTrustDialogScreen, trustDialogNextKey, TRUST_KEY_CONFIRM, TRUST_DIALOG_WINDOW_MS, TRUST_DIALOG_RETRY_MS, TRUST_DIALOG_MAX_ATTEMPTS, TRUST_DIALOG_SCAN_BYTES, } from './session-trust-dialog.js';
|
|
44
|
-
import { trackActivityStreak, isSustainedActivity, isPaneQuiet, watchingLabel, WATCHING_TAIL_LINES, IDLE_RECHECK_MS, PANE_PROBE_MIN_INTERVAL_MS, PANE_PROBE_RECHECK_MS, } from './session-activity.js';
|
|
44
|
+
import { trackActivityStreak, isSustainedActivity, isPaneQuiet, watchingLabel, isAwaitingWorkers, WATCHING_TAIL_LINES, IDLE_RECHECK_MS, PANE_PROBE_MIN_INTERVAL_MS, PANE_PROBE_RECHECK_MS, } from './session-activity.js';
|
|
45
45
|
import { BufferAccumulator, ANSI_ESCAPE_PATTERN_FULL, TOKEN_PATTERN, SPINNER_PATTERN, CLAUDE_WORKING_LINE_PATTERN, MAX_SESSION_TOKENS, execPattern, getClaudeCliVersion, getClaudeBinaryPath, spawnPtyWithHelperRepair, resolveLocalShell, } from './utils/index.js';
|
|
46
46
|
import { MAX_TERMINAL_BUFFER_SIZE, TRIM_TERMINAL_TO as TERMINAL_BUFFER_TRIM_SIZE, MAX_TEXT_OUTPUT_SIZE, TRIM_TEXT_TO as TEXT_OUTPUT_TRIM_SIZE, MAX_MESSAGES, MAX_LINE_BUFFER_SIZE, } from './config/buffer-limits.js';
|
|
47
47
|
import { DEFAULT_TMUX_HISTORY_LIMIT } from './config/terminal-history.js';
|
|
@@ -389,6 +389,8 @@ export class Session extends EventEmitter {
|
|
|
389
389
|
_watchingLineRe = undefined;
|
|
390
390
|
/** Resolved with the pattern above: how many rows at the foot of the screen to search. */
|
|
391
391
|
_watchingWindow = WATCHING_TAIL_LINES;
|
|
392
|
+
/** Lazily compiled `capabilities.workDetect.awaitingLine`. See _awaitingLinePattern(). */
|
|
393
|
+
_awaitingLineRe = undefined;
|
|
392
394
|
_trustDialogAccepted = false; // Stops the trust-dialog scan (answered, or given up)
|
|
393
395
|
_trustDialogAttempts = 0; // Keystrokes sent at the trust dialog
|
|
394
396
|
_lastTrustDialogScanAt = 0; // Throttle for the trust-dialog screen read
|
|
@@ -432,6 +434,21 @@ export class Session extends EventEmitter {
|
|
|
432
434
|
* rendered as "alive".
|
|
433
435
|
*/
|
|
434
436
|
_paneExit = null;
|
|
437
|
+
/**
|
|
438
|
+
* How many starts, attaches or relaunches are running for this session's
|
|
439
|
+
* pane. While one is, a dead-pane reading may describe a pane that is being
|
|
440
|
+
* revived on purpose, so the exited-agent sweep leaves the session alone
|
|
441
|
+
* (Ark0N/Codeman#446). A counter rather than a flag, so two overlapping
|
|
442
|
+
* operations cannot clear each other's mark.
|
|
443
|
+
*/
|
|
444
|
+
_paneLifecycleOps = 0;
|
|
445
|
+
/** When the last pane start, attach or relaunch finished (ms), 0 when none has run. */
|
|
446
|
+
_paneStartedAt = 0;
|
|
447
|
+
/**
|
|
448
|
+
* The server has started closing this session, so no start or attach may
|
|
449
|
+
* begin (see {@link markClosing}).
|
|
450
|
+
*/
|
|
451
|
+
_closing = false;
|
|
435
452
|
/**
|
|
436
453
|
* This session was rebuilt from the tmux socket rather than from Codeman's
|
|
437
454
|
* own records, so its `remote`/`docker` metadata is missing rather than known
|
|
@@ -888,6 +905,46 @@ export class Session extends EventEmitter {
|
|
|
888
905
|
get paneExit() {
|
|
889
906
|
return this._paneExit ?? undefined;
|
|
890
907
|
}
|
|
908
|
+
/**
|
|
909
|
+
* True while a start, attach or relaunch is running for this session's pane.
|
|
910
|
+
* The exited-agent sweep reads it (see `pane-exit-sweep.ts`): the dead-pane
|
|
911
|
+
* branch of {@link _setupOrAttachMuxSession} respawns an exited pane, and
|
|
912
|
+
* until it finishes and clears the exit, the pane still reads as dead.
|
|
913
|
+
*/
|
|
914
|
+
get paneLifecycleInFlight() {
|
|
915
|
+
return this._paneLifecycleOps > 0;
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* When the last start, attach or relaunch of this pane finished, or 0 when
|
|
919
|
+
* none has run in this process. The exited-agent sweep keeps an exit that
|
|
920
|
+
* lands within `CLEAN_EXIT_MIN_PANE_LIFETIME_MS` of it, since that reads as a
|
|
921
|
+
* CLI failing at startup rather than a user ending it. An attach to a pane
|
|
922
|
+
* that was already running stamps it too, which only costs a user who
|
|
923
|
+
* `/exit`s within seconds of a server restart a row to close by hand.
|
|
924
|
+
*/
|
|
925
|
+
get paneStartedAt() {
|
|
926
|
+
return this._paneStartedAt;
|
|
927
|
+
}
|
|
928
|
+
/**
|
|
929
|
+
* Mark this session as being closed, or clear the mark after a close that
|
|
930
|
+
* failed. While it is set, {@link startInteractive} and {@link startShell}
|
|
931
|
+
* refuse to run. A start that raced a close would otherwise launch a CLI in a
|
|
932
|
+
* tmux session whose record is about to be deleted (Ark0N/Codeman#446).
|
|
933
|
+
*/
|
|
934
|
+
markClosing(closing) {
|
|
935
|
+
this._closing = closing;
|
|
936
|
+
}
|
|
937
|
+
/** Run one pane start, attach or relaunch with {@link paneLifecycleInFlight} raised. */
|
|
938
|
+
async _withPaneLifecycle(op) {
|
|
939
|
+
this._paneLifecycleOps++;
|
|
940
|
+
try {
|
|
941
|
+
return await op();
|
|
942
|
+
}
|
|
943
|
+
finally {
|
|
944
|
+
this._paneLifecycleOps--;
|
|
945
|
+
this._paneStartedAt = Date.now();
|
|
946
|
+
}
|
|
947
|
+
}
|
|
891
948
|
/**
|
|
892
949
|
* Forget this pane's exit, on both this record and the mux layer's cache.
|
|
893
950
|
* Every path that starts or relaunches a command in the pane calls it, and
|
|
@@ -1516,6 +1573,9 @@ export class Session extends EventEmitter {
|
|
|
1516
1573
|
* ```
|
|
1517
1574
|
*/
|
|
1518
1575
|
async _setupOrAttachMuxSession(options) {
|
|
1576
|
+
return this._withPaneLifecycle(() => this._doSetupOrAttachMuxSession(options));
|
|
1577
|
+
}
|
|
1578
|
+
async _doSetupOrAttachMuxSession(options) {
|
|
1519
1579
|
const mux = this._mux;
|
|
1520
1580
|
// Verify stale mux session — tmux may have been destroyed (e.g., killed externally).
|
|
1521
1581
|
// A session that HAD a mux session relaunches its CLI below just like a failed
|
|
@@ -1691,6 +1751,9 @@ export class Session extends EventEmitter {
|
|
|
1691
1751
|
* the mux session is gone — see {@link reattachRemote} for that reasoning).
|
|
1692
1752
|
*/
|
|
1693
1753
|
async restartCli() {
|
|
1754
|
+
return this._withPaneLifecycle(() => this._doRestartCli());
|
|
1755
|
+
}
|
|
1756
|
+
async _doRestartCli() {
|
|
1694
1757
|
if (!this._useMux || !this._mux || !this._muxSession)
|
|
1695
1758
|
return false;
|
|
1696
1759
|
const mux = this._mux;
|
|
@@ -2079,6 +2142,9 @@ export class Session extends EventEmitter {
|
|
|
2079
2142
|
if (this.ptyProcess) {
|
|
2080
2143
|
throw new Error('Session already has a running process');
|
|
2081
2144
|
}
|
|
2145
|
+
if (this._closing) {
|
|
2146
|
+
throw new Error('Session is being closed');
|
|
2147
|
+
}
|
|
2082
2148
|
// Bounds the workspace-trust scan (see _maybeAcceptTrustDialog). Stamped here
|
|
2083
2149
|
// rather than at PTY spawn so a slow mux attach still counts as startup.
|
|
2084
2150
|
this._interactiveStartedAt = Date.now();
|
|
@@ -2609,7 +2675,10 @@ export class Session extends EventEmitter {
|
|
|
2609
2675
|
return this._lastPaneProbeWorking;
|
|
2610
2676
|
this._lastPaneProbeAt = now;
|
|
2611
2677
|
const text = this._mux.capturePaneText?.(this._muxSession.muxName) ?? null;
|
|
2612
|
-
|
|
2678
|
+
// A turn that ended by handing off to workers the CLI waits for is work too: the
|
|
2679
|
+
// composer is up and the pane is quiet, but the next turn starts without the user.
|
|
2680
|
+
this._lastPaneProbeWorking =
|
|
2681
|
+
text === null ? null : this._workingLinePattern().test(text) || this._paneAwaitsWorkers(text);
|
|
2613
2682
|
this._readWatching(text);
|
|
2614
2683
|
return this._lastPaneProbeWorking;
|
|
2615
2684
|
}
|
|
@@ -2666,6 +2735,21 @@ export class Session extends EventEmitter {
|
|
|
2666
2735
|
}
|
|
2667
2736
|
return this._watchingLineRe;
|
|
2668
2737
|
}
|
|
2738
|
+
/**
|
|
2739
|
+
* Whether the newest turn on this screen ended waiting for workers the CLI started
|
|
2740
|
+
* (Claude's `✻ Waiting for 1 dynamic workflow to finish`). False for a CLI whose
|
|
2741
|
+
* registry entry declares no `awaitingLine`. See `isAwaitingWorkers()`.
|
|
2742
|
+
*/
|
|
2743
|
+
_paneAwaitsWorkers(paneText) {
|
|
2744
|
+
if (this._awaitingLineRe === undefined) {
|
|
2745
|
+
const src = getCli(this.mode)?.capabilities.workDetect?.awaitingLine;
|
|
2746
|
+
this._awaitingLineRe = src ? compileVersionRegex(src) : null;
|
|
2747
|
+
}
|
|
2748
|
+
if (!this._awaitingLineRe)
|
|
2749
|
+
return false;
|
|
2750
|
+
const glyph = getCli(this.mode)?.capabilities.workDetect?.promptGlyph ?? '❯';
|
|
2751
|
+
return isAwaitingWorkers(paneText, this._awaitingLineRe, glyph);
|
|
2752
|
+
}
|
|
2669
2753
|
/**
|
|
2670
2754
|
* The regex matching this CLI's "a turn is running" status line.
|
|
2671
2755
|
*
|
|
@@ -2859,6 +2943,9 @@ export class Session extends EventEmitter {
|
|
|
2859
2943
|
if (this.ptyProcess) {
|
|
2860
2944
|
throw new Error('Session already has a running process');
|
|
2861
2945
|
}
|
|
2946
|
+
if (this._closing) {
|
|
2947
|
+
throw new Error('Session is being closed');
|
|
2948
|
+
}
|
|
2862
2949
|
this._resetBuffers();
|
|
2863
2950
|
// Use user's default shell, falling back to a shell that actually exists.
|
|
2864
2951
|
// Shared with the tmux pane command so both paths launch the same binary.
|
|
@@ -3595,6 +3682,15 @@ export class Session extends EventEmitter {
|
|
|
3595
3682
|
}
|
|
3596
3683
|
return false;
|
|
3597
3684
|
}
|
|
3685
|
+
/**
|
|
3686
|
+
* Arm the composer check for a prompt that went out some other way than
|
|
3687
|
+
* `writeViaMux`, e.g. cron's paste mode, which writes the body raw and its Enter
|
|
3688
|
+
* separately. `text` is what the composer line starts with while the prompt is still
|
|
3689
|
+
* unsent; the check re-presses Enter only while that holds.
|
|
3690
|
+
*/
|
|
3691
|
+
verifySubmitted(text) {
|
|
3692
|
+
this._verifySubmitted(`${text}\r`);
|
|
3693
|
+
}
|
|
3598
3694
|
/**
|
|
3599
3695
|
* Arm the composer check for a write that carried Enter (session-submit-verifier.ts):
|
|
3600
3696
|
* Claude Code 2.1.277+ ignores Enter for the first 30-50 s after the composer paints,
|