@mrpatronz/nexusflow 2.12.1 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/core/work-guidance.d.ts +4 -4
  2. package/dist/gui/assets/AgentsPage-CJMUiowX.js +3 -0
  3. package/dist/gui/assets/DashboardPage-CPMjNCSd.js +1 -0
  4. package/dist/gui/assets/GettingStartedPage-vdPpxxX3.js +1 -0
  5. package/dist/gui/assets/MonacoDiffAdapter-p1QUAz5J.js +1 -0
  6. package/dist/gui/assets/ProjectsPage-vy3814fL.js +1 -0
  7. package/dist/gui/assets/ScaffoldRepoInline-C0aEuaen.js +1 -0
  8. package/dist/gui/assets/SettingsPage-CjrpeCko.js +1 -0
  9. package/dist/gui/assets/SkillsPage-BRczkn37.js +7 -0
  10. package/dist/gui/assets/StartWorkPage-Bb8nNYOL.js +1 -0
  11. package/dist/gui/assets/StrategiesPage-BYoYlyl3.js +3 -0
  12. package/dist/gui/assets/WorkroomsPage-C2QVQ1jm.js +4 -0
  13. package/dist/gui/assets/WorkspacesPage-BuQTcejb.js +16 -0
  14. package/dist/gui/assets/alert-CHAmIFAx.js +1 -0
  15. package/dist/gui/assets/alert-dialog-BQTrpDEB.js +1 -0
  16. package/dist/gui/assets/badge-BObbahyU.js +1 -0
  17. package/dist/gui/assets/button-BrcP8Wxx.js +1 -0
  18. package/dist/gui/assets/card-BMggHY3n.js +1 -0
  19. package/dist/gui/assets/chevron-down-Dy03VL1q.js +1 -0
  20. package/dist/gui/assets/{circle-plus--zM3-3r3.js → circle-plus-D0tjHKM4.js} +1 -1
  21. package/dist/gui/assets/{code-xml-DH-38Tt7.js → code-xml-DHWUQOSO.js} +1 -1
  22. package/dist/gui/assets/codicon-Brq4_Ui5.ttf +0 -0
  23. package/dist/gui/assets/editor.worker-CqMcl4Az.js +30 -0
  24. package/dist/gui/assets/index-D-sx2qJG.js +78 -0
  25. package/dist/gui/assets/index-n0pVdSJ7.css +2 -0
  26. package/dist/gui/assets/isElementDisabled-BONWqXlb.js +1 -0
  27. package/dist/gui/assets/jsx-runtime-DE3RlOCf.js +1 -0
  28. package/dist/gui/assets/{label-DC730X8s.js → label-C610MHwq.js} +1 -1
  29. package/dist/gui/assets/monaco-DLwhzYMT.js +849 -0
  30. package/dist/gui/assets/monaco-d9IpiNv7.css +1 -0
  31. package/dist/gui/assets/rolldown-runtime-hePW80VL.js +1 -0
  32. package/dist/gui/assets/shield-check-C5I2LDCK.js +1 -0
  33. package/dist/gui/assets/{square-check-big-Bj8Rf_dH.js → square-check-big-DpHMT26q.js} +1 -1
  34. package/dist/gui/assets/status-CKOvrZ16.js +1 -0
  35. package/dist/gui/assets/tabs-ClWne-mz.js +1 -0
  36. package/dist/gui/assets/{trash-2-CMdv3eD3.js → trash-2-BrrLX4tD.js} +1 -1
  37. package/dist/gui/assets/useAriaLabelledBy-DAWGcnTk.js +1 -0
  38. package/dist/gui/assets/useValueChanged-DfJmRF2P.js +1 -0
  39. package/dist/gui/assets/{vsc-BsVrJLSg.js → vsc-EOWFTqft.js} +1 -1
  40. package/dist/gui/index.html +12 -5
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +146 -32
  43. package/dist/server.js.map +1 -1
  44. package/dist/services/repository-file.d.ts +5 -0
  45. package/dist/services/repository-file.d.ts.map +1 -0
  46. package/dist/services/repository-file.js +36 -0
  47. package/dist/services/repository-file.js.map +1 -0
  48. package/dist/services/symbolService.d.ts +40 -0
  49. package/dist/services/symbolService.d.ts.map +1 -0
  50. package/dist/services/symbolService.js +687 -0
  51. package/dist/services/symbolService.js.map +1 -0
  52. package/dist/terminal/manager.d.ts +57 -0
  53. package/dist/terminal/manager.d.ts.map +1 -0
  54. package/dist/terminal/manager.js +256 -0
  55. package/dist/terminal/manager.js.map +1 -0
  56. package/dist/terminal/native.d.ts +6 -0
  57. package/dist/terminal/native.d.ts.map +1 -0
  58. package/dist/terminal/native.js +30 -0
  59. package/dist/terminal/native.js.map +1 -0
  60. package/dist/terminal/routes.d.ts +17 -0
  61. package/dist/terminal/routes.d.ts.map +1 -0
  62. package/dist/terminal/routes.js +207 -0
  63. package/dist/terminal/routes.js.map +1 -0
  64. package/dist/terminal/smoke.d.ts +2 -0
  65. package/dist/terminal/smoke.d.ts.map +1 -0
  66. package/dist/terminal/smoke.js +30 -0
  67. package/dist/terminal/smoke.js.map +1 -0
  68. package/dist/terminal/targets.d.ts +49 -0
  69. package/dist/terminal/targets.d.ts.map +1 -0
  70. package/dist/terminal/targets.js +94 -0
  71. package/dist/terminal/targets.js.map +1 -0
  72. package/dist/types.d.ts +5 -0
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/utils/detect-editors.d.ts.map +1 -1
  75. package/dist/utils/detect-editors.js +1 -0
  76. package/dist/utils/detect-editors.js.map +1 -1
  77. package/dist/utils/open-editor.d.ts +1 -1
  78. package/dist/utils/open-editor.d.ts.map +1 -1
  79. package/dist/utils/open-editor.js +5 -3
  80. package/dist/utils/open-editor.js.map +1 -1
  81. package/dist/utils/session-finder.d.ts +1 -0
  82. package/dist/utils/session-finder.d.ts.map +1 -1
  83. package/dist/utils/session-finder.js +66 -27
  84. package/dist/utils/session-finder.js.map +1 -1
  85. package/dist/utils/terminal-launch.d.ts.map +1 -1
  86. package/dist/utils/terminal-launch.js +5 -1
  87. package/dist/utils/terminal-launch.js.map +1 -1
  88. package/dist/utils/workspace-launch.d.ts +1 -1
  89. package/dist/utils/workspace-launch.d.ts.map +1 -1
  90. package/dist/utils/workspace-launch.js +2 -2
  91. package/dist/utils/workspace-launch.js.map +1 -1
  92. package/package.json +6 -1
  93. package/dist/gui/assets/AgentsPage-C7Rh_dp7.js +0 -3
  94. package/dist/gui/assets/DashboardPage-YVONGtqS.js +0 -1
  95. package/dist/gui/assets/GettingStartedPage-C2Kbvz_N.js +0 -1
  96. package/dist/gui/assets/ProjectsPage-DOpfV2Oj.js +0 -1
  97. package/dist/gui/assets/ScaffoldRepoInline-D91aitAi.js +0 -1
  98. package/dist/gui/assets/SettingsPage-BdaHN6fa.js +0 -1
  99. package/dist/gui/assets/SkillsPage-DT9lRkCg.js +0 -7
  100. package/dist/gui/assets/StartWorkPage-D932lq9x.js +0 -1
  101. package/dist/gui/assets/StrategiesPage-DCfS-wdu.js +0 -3
  102. package/dist/gui/assets/WorkroomsPage-BQU27nWS.js +0 -4
  103. package/dist/gui/assets/WorkspacesPage-D3TLVmq-.js +0 -13
  104. package/dist/gui/assets/alert-QnMXzwpU.js +0 -1
  105. package/dist/gui/assets/alert-dialog-YynbGyj1.js +0 -1
  106. package/dist/gui/assets/badge-DTBzXOWn.js +0 -1
  107. package/dist/gui/assets/button-CREn1mup.js +0 -1
  108. package/dist/gui/assets/card-yrg6ov8B.js +0 -1
  109. package/dist/gui/assets/chevron-down-B_Mwbim8.js +0 -1
  110. package/dist/gui/assets/git-branch-Ce0I2663.js +0 -1
  111. package/dist/gui/assets/index-er-mkc2S.css +0 -2
  112. package/dist/gui/assets/index-hTa55BQ6.js +0 -57
  113. package/dist/gui/assets/layers-j_brOuoa.js +0 -1
  114. package/dist/gui/assets/shield-check-Dd1Yv3l2.js +0 -1
  115. package/dist/gui/assets/tabs-DfW7Akjs.js +0 -1
  116. package/dist/gui/assets/useAriaLabelledBy-BmJErI5a.js +0 -1
@@ -0,0 +1,207 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
4
+ import { getCookie, setCookie } from 'hono/cookie';
5
+ import { bodyLimit } from 'hono/body-limit';
6
+ import { z } from 'zod';
7
+ import { checkGenerationLock } from '../core/generation-lock.js';
8
+ import { loadWorkspaceManifest } from '../core/workspace.js';
9
+ import { canOpenCodexSessionInWorkspace, canTransferClaudeSessionInWorkspace, findSessions } from '../utils/session-finder.js';
10
+ import { TerminalManager, nativePtyAvailable } from './manager.js';
11
+ import { listTerminalTargets, resolveLaunch } from './targets.js';
12
+ const COOKIE = 'contextspace_terminal_owner';
13
+ const HEADER = 'x-contextspace-terminal';
14
+ const TOKEN_TTL = 5 * 60_000;
15
+ const OWNER_TTL = 24 * 60 * 60_000;
16
+ const uuid = z.string().uuid();
17
+ const workspaceId = z.string().min(1).max(200);
18
+ const createSchema = z.object({ launchId: uuid, target: z.enum(['shell', 'antigravity', 'codex', 'claude', 'copilot', 'cursor', 'pi']), cwd: z.string().max(4096).optional(), sessionId: uuid.optional() }).strict();
19
+ export function trustedTerminalOrigin(origin, requestUrl, developmentOrigin = process.env.CONTEXTSPACE_DASHBOARD_ORIGIN) {
20
+ if (!origin)
21
+ return false;
22
+ try {
23
+ const supplied = new URL(origin), request = new URL(requestUrl);
24
+ const local = (u) => ['localhost', '127.0.0.1', '[::1]'].includes(u.hostname) && ['http:', 'https:'].includes(u.protocol) && !u.username && !u.password;
25
+ if (!local(supplied) || !local(request) || supplied.origin !== origin)
26
+ return false;
27
+ return origin === request.origin || (!!developmentOrigin && origin === new URL(developmentOrigin).origin);
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ export async function containedTerminalCwd(root, requested = '.') {
34
+ const base = await fs.realpath(root);
35
+ const cwd = await fs.realpath(path.resolve(base, requested));
36
+ const relative = path.relative(base, cwd);
37
+ if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative) || !(await fs.stat(cwd)).isDirectory())
38
+ throw new Error('Terminal directory must be inside this workspace.');
39
+ return cwd;
40
+ }
41
+ export class TerminalAccess {
42
+ owners = new Map();
43
+ bootstrap(cookie) {
44
+ const now = Date.now();
45
+ for (const [id, item] of this.owners)
46
+ if (item.lastSeen + OWNER_TTL < now)
47
+ this.owners.delete(id);
48
+ let owner = cookie && this.owners.has(cookie) ? cookie : undefined;
49
+ if (!owner) {
50
+ if (this.owners.size >= 128)
51
+ throw new Error('Too many terminal browser sessions. Restart the local server.');
52
+ owner = randomBytes(32).toString('hex');
53
+ }
54
+ let item = this.owners.get(owner);
55
+ // Reuse a live token so parallel workspace panels do not invalidate one another.
56
+ if (!item || item.expires <= now)
57
+ item = { token: randomBytes(32).toString('hex'), expires: now + TOKEN_TTL, lastSeen: now };
58
+ item.lastSeen = now;
59
+ this.owners.set(owner, item);
60
+ return { owner, token: item.token, expiresAt: item.expires };
61
+ }
62
+ validate(owner, token) {
63
+ if (!owner || typeof token !== 'string')
64
+ return false;
65
+ const item = this.owners.get(owner);
66
+ if (!item || item.expires <= Date.now() || token !== item.token)
67
+ return false;
68
+ item.lastSeen = Date.now();
69
+ return true;
70
+ }
71
+ }
72
+ export const terminalManager = new TerminalManager();
73
+ export function registerTerminalRoutes(app, upgrade, resolveWorkspace, manager = terminalManager) {
74
+ const access = new TerminalAccess();
75
+ const boundary = (c) => {
76
+ const origin = c.req.header('origin');
77
+ // Same-origin fetch need not send Origin; Fetch Metadata plus our custom
78
+ // header supplies a browser-only boundary. Cross-origin dev uses an exact opt-in.
79
+ return origin ? trustedTerminalOrigin(origin, c.req.url) : c.req.header('sec-fetch-site') === 'same-origin';
80
+ };
81
+ app.use('/api/terminals/*', bodyLimit({ maxSize: 16_384 }));
82
+ app.use('/api/terminals/*', async (c, next) => {
83
+ c.header('Cache-Control', 'no-store');
84
+ if (!boundary(c) || !c.req.header(HEADER))
85
+ return c.json({ error: 'Terminal access requires the local ContextSpace window.' }, 403);
86
+ if (c.req.path === '/api/terminals/bootstrap')
87
+ return next();
88
+ if (!access.validate(getCookie(c, COOKIE), c.req.header(HEADER)))
89
+ return c.json({ error: 'Terminal access expired. Reconnect from ContextSpace.' }, 403);
90
+ return next();
91
+ });
92
+ app.post('/api/terminals/bootstrap', c => {
93
+ try {
94
+ const session = access.bootstrap(getCookie(c, COOKIE));
95
+ setCookie(c, COOKIE, session.owner, { httpOnly: true, sameSite: 'Strict', path: '/', maxAge: OWNER_TTL / 1000, secure: new URL(c.req.url).protocol === 'https:' });
96
+ return c.json({ token: session.token, expiresAt: session.expiresAt });
97
+ }
98
+ catch (error) {
99
+ return c.json({ error: error.message }, 429);
100
+ }
101
+ });
102
+ const rootFor = async (id) => {
103
+ const root = await resolveWorkspace(workspaceId.parse(id));
104
+ if (!root)
105
+ throw new Error('Workspace not found.');
106
+ return root;
107
+ };
108
+ app.post('/api/terminals/:workspace/status', async (c) => {
109
+ try {
110
+ const id = c.req.param('workspace');
111
+ await rootFor(id);
112
+ return c.json({ ...await nativePtyAvailable(), targets: listTerminalTargets(), sessions: manager.list(getCookie(c, COOKIE), id) });
113
+ }
114
+ catch (error) {
115
+ return c.json({ error: error.message }, 400);
116
+ }
117
+ });
118
+ app.post('/api/terminals/:workspace/create', async (c) => {
119
+ try {
120
+ const id = c.req.param('workspace'), root = await rootFor(id);
121
+ const input = createSchema.parse(await c.req.json());
122
+ await checkGenerationLock(root, { markDocuments: true });
123
+ let cwd = await containedTerminalCwd(root, input.cwd);
124
+ if (input.sessionId) {
125
+ const manifest = await loadWorkspaceManifest(root);
126
+ const repos = (await Promise.all((manifest?.repos ?? []).map(repo => containedTerminalCwd(root, path.basename(repo)).catch(() => null)))).filter((repo) => !!repo);
127
+ const checker = input.target === 'codex' ? canOpenCodexSessionInWorkspace : input.target === 'claude' ? canTransferClaudeSessionInWorkspace : null;
128
+ if (checker && !await checker(root, repos, input.sessionId))
129
+ throw new Error('Saved session ownership could not be verified for this workspace and harness.');
130
+ const found = (await findSessions(root, repos)).find(s => s.assistant === input.target && s.id === input.sessionId);
131
+ if (!found?.recordedCwd)
132
+ throw new Error('Saved session ownership could not be verified. Open the harness and use its own session picker.');
133
+ if (found.threadKind === 'subagent')
134
+ throw new Error('This is a subagent session. Resume its main conversation instead.');
135
+ cwd = await containedTerminalCwd(root, found.recordedCwd);
136
+ }
137
+ const terminal = await manager.create({ owner: getCookie(c, COOKIE), workspace: id, cwd, target: input.target, sessionId: input.sessionId, launchId: input.launchId, launch: resolveLaunch(input.target, input.sessionId) });
138
+ return c.json({ terminal });
139
+ }
140
+ catch (error) {
141
+ return c.json({ error: error instanceof z.ZodError ? 'Invalid terminal launch parameters.' : error.message }, 400);
142
+ }
143
+ });
144
+ app.post('/api/terminals/:workspace/:id/stop', async (c) => {
145
+ try {
146
+ const workspace = c.req.param('workspace');
147
+ await rootFor(workspace);
148
+ manager.stop(getCookie(c, COOKIE), workspace, uuid.parse(c.req.param('id')));
149
+ return c.json({ success: true });
150
+ }
151
+ catch (error) {
152
+ return c.json({ error: error.message }, 400);
153
+ }
154
+ });
155
+ app.get('/ws/terminal', async (c, next) => {
156
+ // node-ws synthesizes c.req.url against http://localhost, losing the real
157
+ // port. The browser's Host header retains the exact upgrade destination.
158
+ const upgradeUrl = `http://${c.req.header('host') ?? new URL(c.req.url).host}/ws/terminal`;
159
+ if (!trustedTerminalOrigin(c.req.header('origin'), upgradeUrl))
160
+ return c.text('Forbidden', 403);
161
+ const owner = getCookie(c, COOKIE);
162
+ if (!owner)
163
+ return c.text('Forbidden', 403);
164
+ let client, workspace = '', id = '', attached = false, connecting = false, closed = false;
165
+ let deadline;
166
+ return upgrade(() => ({
167
+ onOpen(_event, ws) {
168
+ client = { send: data => ws.send(data), close: () => ws.close(1008) };
169
+ deadline = setTimeout(() => ws.close(1008), 5000);
170
+ deadline.unref();
171
+ },
172
+ async onMessage(event, ws) {
173
+ try {
174
+ if (typeof event.data !== 'string' || event.data.length > 20_000)
175
+ throw new Error('Invalid terminal frame.');
176
+ const message = JSON.parse(event.data);
177
+ if (!attached) {
178
+ if (connecting)
179
+ throw new Error('Terminal attachment is pending.');
180
+ if (message.type !== 'attach' || !access.validate(owner, message.token))
181
+ throw new Error('Terminal access expired. Reconnect from ContextSpace.');
182
+ connecting = true;
183
+ workspace = workspaceId.parse(message.workspace);
184
+ id = uuid.parse(message.id);
185
+ await rootFor(workspace);
186
+ if (closed)
187
+ return;
188
+ manager.attach(owner, workspace, id, client);
189
+ attached = true;
190
+ clearTimeout(deadline);
191
+ }
192
+ else
193
+ manager.control(owner, workspace, id, client, message);
194
+ }
195
+ catch (error) {
196
+ ws.send(JSON.stringify({ type: 'error', message: error instanceof z.ZodError ? 'Invalid terminal attachment.' : error.message }));
197
+ ws.close(1008);
198
+ }
199
+ },
200
+ onClose() { closed = true; clearTimeout(deadline); if (client && attached)
201
+ manager.detach(owner, workspace, id, client); },
202
+ onError() { closed = true; clearTimeout(deadline); if (client && attached)
203
+ manager.detach(owner, workspace, id, client); },
204
+ }))(c, next);
205
+ });
206
+ }
207
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/terminal/routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=smoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../../src/terminal/smoke.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ /** Run with the SAME runtime that will host the packaged backend. No AI account needed. */
2
+ import { resolveLaunch } from './targets.js';
3
+ import { spawnNativePty, terminatePty } from './manager.js';
4
+ const launch = resolveLaunch('shell');
5
+ const child = await spawnNativePty(launch, process.cwd(), 80, 24);
6
+ const marker = 'CONTEXTSPACE_' + 'PTY_READY';
7
+ const command = process.platform === 'win32' ? `Write-Output ('CONTEXTSPACE_' + 'PTY_READY')\r` : `printf 'CONTEXTSPACE_%s\\n' PTY_READY\r`;
8
+ let text = '';
9
+ let success = false;
10
+ const deadline = setTimeout(() => { terminatePty(child); console.error('Native terminal smoke timed out.'); process.exit(1); }, 10_000);
11
+ child.onData(data => {
12
+ text += data;
13
+ if (!success && text.includes(marker)) {
14
+ success = true;
15
+ child.resize(100, 30);
16
+ terminatePty(child);
17
+ }
18
+ });
19
+ child.onExit(({ exitCode }) => {
20
+ clearTimeout(deadline);
21
+ if (!success)
22
+ console.error(`Terminal exited before its output was verified (${exitCode}).`);
23
+ else
24
+ console.log(`Native terminal verified: ${process.platform}/${process.arch}, ${process.versions.electron ? 'Electron ' + process.versions.electron : 'Node ' + process.versions.node}`);
25
+ // ConPTY workers can retain Node's event loop after the shell exits. This
26
+ // one-shot probe has verified output, resize and exit; release its runtime.
27
+ setTimeout(() => process.exit(success ? 0 : 1), 100);
28
+ });
29
+ child.write(command);
30
+ //# sourceMappingURL=smoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.js","sourceRoot":"","sources":["../../src/terminal/smoke.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AACtC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,eAAe,GAAG,WAAW,CAAC;AAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,yCAAyC,CAAC;AAC5I,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACxI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;IAClB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,mDAAmD,QAAQ,IAAI,CAAC,CAAC;;QACxF,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5L,0EAA0E;IAC1E,4EAA4E;IAC5E,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ declare const harnesses: {
2
+ readonly antigravity: {
3
+ readonly name: "Antigravity (agy)";
4
+ readonly binary: "agy";
5
+ };
6
+ readonly codex: {
7
+ readonly name: "Codex";
8
+ readonly binary: "codex";
9
+ };
10
+ readonly claude: {
11
+ readonly name: "Claude Code";
12
+ readonly binary: "claude";
13
+ };
14
+ readonly copilot: {
15
+ readonly name: "GitHub Copilot";
16
+ readonly binary: "copilot";
17
+ };
18
+ readonly cursor: {
19
+ readonly name: "Cursor Agent";
20
+ readonly binary: "cursor-agent";
21
+ };
22
+ readonly pi: {
23
+ readonly name: "Pi";
24
+ readonly binary: "pi";
25
+ };
26
+ };
27
+ export type TerminalTarget = 'shell' | keyof typeof harnesses;
28
+ export interface LaunchSpec {
29
+ file: string;
30
+ args: string[];
31
+ env: NodeJS.ProcessEnv;
32
+ label: string;
33
+ }
34
+ export declare function terminalEnvironment(): NodeJS.ProcessEnv;
35
+ export declare function resolveShell(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
36
+ export declare function resolveLaunch(target: string, sessionId?: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): LaunchSpec;
37
+ export declare function listTerminalTargets(): ({
38
+ id: string;
39
+ name: string;
40
+ available: boolean;
41
+ reason: null;
42
+ } | {
43
+ id: string;
44
+ name: string;
45
+ available: boolean;
46
+ reason: string;
47
+ })[];
48
+ export {};
49
+ //# sourceMappingURL=targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/terminal/targets.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAOL,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAC9D,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEnG,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,UAAU,CAQvD;AAED,wBAAgB,YAAY,CAAC,GAAG,oBAAwB,EAAE,QAAQ,kBAAmB,GAAG,MAAM,CAY7F;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,oBAAwB,EAAE,QAAQ,kBAAmB,GAAG,UAAU,CA8BtI;AAED,wBAAgB,mBAAmB;;;;;;;;;;KAKlC"}
@@ -0,0 +1,94 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import { findExecutable, getAugmentedPath } from '../utils/user-paths.js';
4
+ const harnesses = {
5
+ antigravity: { name: 'Antigravity (agy)', binary: 'agy' },
6
+ codex: { name: 'Codex', binary: 'codex' },
7
+ claude: { name: 'Claude Code', binary: 'claude' },
8
+ copilot: { name: 'GitHub Copilot', binary: 'copilot' },
9
+ cursor: { name: 'Cursor Agent', binary: 'cursor-agent' },
10
+ pi: { name: 'Pi', binary: 'pi' },
11
+ };
12
+ export function terminalEnvironment() {
13
+ const env = { ...process.env, PATH: getAugmentedPath(), TERM: 'xterm-256color', COLORTERM: 'truecolor' };
14
+ // Desktop launches its backend as Electron-as-Node. Do not propagate that
15
+ // runtime mode or injected Node options into users' shells and harnesses.
16
+ delete env.ELECTRON_RUN_AS_NODE;
17
+ delete env.NODE_OPTIONS;
18
+ if (process.platform === 'win32')
19
+ env.Path = env.PATH;
20
+ return env;
21
+ }
22
+ export function resolveShell(env = terminalEnvironment(), platform = process.platform) {
23
+ if (platform === 'win32') {
24
+ const shell = findExecutable('pwsh.exe', env, platform) ?? findExecutable('powershell.exe', env, platform);
25
+ if (!shell)
26
+ throw new Error('PowerShell was not found. Install PowerShell or check your PATH.');
27
+ return shell;
28
+ }
29
+ const candidates = [env.SHELL, '/bin/bash', '/bin/zsh', '/bin/sh'];
30
+ for (const shell of candidates) {
31
+ if (!shell || !path.isAbsolute(shell))
32
+ continue;
33
+ try {
34
+ fs.accessSync(shell, fs.constants.X_OK);
35
+ if (fs.statSync(shell).isFile())
36
+ return shell;
37
+ }
38
+ catch { /* next shell */ }
39
+ }
40
+ throw new Error('No interactive shell was found.');
41
+ }
42
+ export function resolveLaunch(target, sessionId, env = terminalEnvironment(), platform = process.platform) {
43
+ if (target === 'shell') {
44
+ if (sessionId)
45
+ throw new Error('Shells do not have saved assistant sessions.');
46
+ const file = resolveShell(env, platform);
47
+ return { file, args: platform === 'win32' ? ['-NoLogo'] : ['-l'], env, label: path.basename(file) };
48
+ }
49
+ if (!Object.hasOwn(harnesses, target))
50
+ throw new Error('This harness does not have an embedded terminal target.');
51
+ const harness = harnesses[target];
52
+ const file = target === 'cursor'
53
+ ? findExecutable('agent', env, platform) ?? findExecutable(harness.binary, env, platform)
54
+ : findExecutable(harness.binary, env, platform);
55
+ if (!file)
56
+ throw new Error(`${harness.name} is not installed or is not on PATH. Install it, then refresh the terminal list.`);
57
+ let args = [];
58
+ if (sessionId) {
59
+ if (!/^[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i.test(sessionId))
60
+ throw new Error('Invalid saved session ID.');
61
+ if (target === 'codex')
62
+ args = ['resume', sessionId];
63
+ else if (target === 'claude')
64
+ args = ['--resume', sessionId];
65
+ else if (target === 'antigravity')
66
+ args = ['--conversation', sessionId];
67
+ else if (target === 'copilot' || target === 'cursor')
68
+ args = ['--resume', sessionId];
69
+ else if (target === 'pi')
70
+ args = ['--session', sessionId];
71
+ else
72
+ throw new Error('Direct resume is not verified for this harness. Start it and use its own session picker.');
73
+ }
74
+ if (platform === 'win32' && !/\.exe$/i.test(file)) {
75
+ // npm shims cannot be passed directly to CreateProcess. PowerShell's call
76
+ // operator receives server-resolved, single-quoted literals, never raw input.
77
+ const quote = (s) => `'${s.replaceAll("'", "''")}'`;
78
+ const command = `& ${[file, ...args].map(quote).join(' ')}; exit $LASTEXITCODE`;
79
+ return { file: resolveShell(env, platform), args: ['-NoLogo', '-NoProfile', '-EncodedCommand', Buffer.from(command, 'utf16le').toString('base64')], env, label: harness.name };
80
+ }
81
+ return { file, args, env, label: harness.name };
82
+ }
83
+ export function listTerminalTargets() {
84
+ return ['shell', ...Object.keys(harnesses)].map(id => {
85
+ try {
86
+ const spec = resolveLaunch(id);
87
+ return { id, name: spec.label, available: true, reason: null };
88
+ }
89
+ catch (error) {
90
+ return { id, name: id === 'shell' ? 'Shell' : harnesses[id].name, available: false, reason: error.message };
91
+ }
92
+ });
93
+ }
94
+ //# sourceMappingURL=targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/terminal/targets.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -92,6 +92,11 @@ export interface AISession {
92
92
  updatedAt: string;
93
93
  messageCount: number;
94
94
  workspacePath: string;
95
+ /** Only classify using provider metadata, never prompt text or a title. */
96
+ threadKind?: 'main' | 'subagent' | 'unknown';
97
+ parentSessionId?: string;
98
+ /** Unmodified cwd from the provider record, for canonical launch validation. */
99
+ recordedCwd?: string;
95
100
  /**
96
101
  * Server-verified way to continue this exact local session in a Desktop app.
97
102
  * `direct` opens the existing task by provider deep link. `guided` uses the
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-editors.d.ts","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsClD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAgB/D"}
1
+ {"version":3,"file":"detect-editors.d.ts","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuClD;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAgB/D"}
@@ -31,6 +31,7 @@ async function commandExists(command) {
31
31
  const result = await execa(command, ['--version'], {
32
32
  reject: false,
33
33
  shell: process.platform === 'win32',
34
+ windowsHide: true,
34
35
  });
35
36
  return result.exitCode === 0;
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detect-editors.js","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,uCAAuC;AACvC,MAAM,iBAAiB,GAAoF;IACzG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE;IAC/C,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;IACnE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;IAChE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;IACzC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;IACrC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;CAC1C,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACpC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC7D,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ;SACgB,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"detect-editors.js","sourceRoot":"","sources":["../../src/utils/detect-editors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,uCAAuC;AACvC,MAAM,iBAAiB,GAAoF;IACzG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE;IAC/C,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;IACnE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;IAChE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;IACzC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;IACrC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;IAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;CAC1C,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACnC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC7D,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ;SACgB,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
@@ -16,5 +16,5 @@ export declare function resolveEditorTarget(editorCommand: string, workspacePath
16
16
  * Opens the workspace in the given editor or shell terminal. Throws if the editor cannot be
17
17
  * spawned so callers can surface a manual-open hint.
18
18
  */
19
- export declare function openInEditor(editorCommand: string, workspacePath: string): Promise<void>;
19
+ export declare function openInEditor(editorCommand: string, workspacePath: string, filePath?: string): Promise<void>;
20
20
  //# sourceMappingURL=open-editor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-editor.d.ts","sourceRoot":"","sources":["../../src/utils/open-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9F"}
1
+ {"version":3,"file":"open-editor.d.ts","sourceRoot":"","sources":["../../src/utils/open-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -35,7 +35,7 @@ export async function resolveEditorTarget(editorCommand, workspacePath) {
35
35
  * Opens the workspace in the given editor or shell terminal. Throws if the editor cannot be
36
36
  * spawned so callers can surface a manual-open hint.
37
37
  */
38
- export async function openInEditor(editorCommand, workspacePath) {
38
+ export async function openInEditor(editorCommand, workspacePath, filePath) {
39
39
  if (editorCommand === 'powershell' || editorCommand === 'pwsh') {
40
40
  await launchWorkspaceTerminal(workspacePath, { title: 'PowerShell' });
41
41
  return;
@@ -44,10 +44,12 @@ export async function openInEditor(editorCommand, workspacePath) {
44
44
  await launchWorkspaceTerminal(workspacePath, { command: 'cmd.exe', title: 'Command Prompt' });
45
45
  return;
46
46
  }
47
- const target = await resolveEditorTarget(editorCommand, workspacePath);
47
+ const target = filePath
48
+ ? path.resolve(workspacePath, filePath)
49
+ : await resolveEditorTarget(editorCommand, workspacePath);
48
50
  const useShell = process.platform === 'win32';
49
51
  // With `shell: true` execa does not escape arguments; quote so spaces survive.
50
52
  const arg = useShell ? `"${target}"` : target;
51
- await execa(editorCommand, [arg], { stdio: 'ignore', shell: useShell });
53
+ await execa(editorCommand, [arg], { stdio: 'ignore', shell: useShell, windowsHide: true });
52
54
  }
53
55
  //# sourceMappingURL=open-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-editor.js","sourceRoot":"","sources":["../../src/utils/open-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvG;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,EACrB,aAAqB;IAErB,IAAI,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/B,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,aAAqB;IAC7E,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,uBAAuB,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,uBAAuB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC9C,+EAA+E;IAC/E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"open-editor.js","sourceRoot":"","sources":["../../src/utils/open-editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAEvG;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,EACrB,aAAqB;IAErB,IAAI,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/B,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,aAAqB,EACrB,aAAqB,EACrB,QAAiB;IAEjB,IAAI,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,uBAAuB,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,uBAAuB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9F,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC;QACvC,CAAC,CAAC,MAAM,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC9C,+EAA+E;IAC/E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7F,CAAC"}
@@ -36,6 +36,7 @@ export declare function codexMessageText(payload: any): string;
36
36
  /** Extract the resumable thread UUID from a Codex `session_meta` record. */
37
37
  export declare function codexSessionId(record: any): string | null;
38
38
  export declare function isCodexSessionId(id: unknown): id is string;
39
+ export declare function codexThreadIdentity(meta: any): Pick<AISession, 'threadKind' | 'parentSessionId'>;
39
40
  /**
40
41
  * True for a user message that is CLI-injected context (Codex
41
42
  * <environment_context>/<user_instructions>, Copilot <system_reminder>) rather