@undefineds.co/linx 0.3.27 → 0.3.29

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 (30) hide show
  1. package/dist/lib/linx-interactive-command-routing.js +9 -2
  2. package/dist/lib/linx-interactive-command-routing.js.map +1 -1
  3. package/dist/lib/linx-interactive-idea-capture.js +294 -0
  4. package/dist/lib/linx-interactive-idea-capture.js.map +1 -0
  5. package/dist/lib/linx-interactive-post-init.js +1 -1
  6. package/dist/lib/linx-interactive-post-init.js.map +1 -1
  7. package/dist/lib/linx-interactive-shell-state.js +37 -0
  8. package/dist/lib/linx-interactive-shell-state.js.map +1 -1
  9. package/dist/lib/linx-interactive-submit-router.js +14 -2
  10. package/dist/lib/linx-interactive-submit-router.js.map +1 -1
  11. package/dist/lib/linx-interactive-turn-response-watchdog.js +130 -0
  12. package/dist/lib/linx-interactive-turn-response-watchdog.js.map +1 -0
  13. package/dist/lib/linx-interrupt-control.js +21 -1
  14. package/dist/lib/linx-interrupt-control.js.map +1 -1
  15. package/dist/lib/linx-session-work-control.js +28 -4
  16. package/dist/lib/linx-session-work-control.js.map +1 -1
  17. package/dist/lib/linx-symphony-interactive-command.js +14 -61
  18. package/dist/lib/linx-symphony-interactive-command.js.map +1 -1
  19. package/dist/lib/linx-update-notification.js +38 -5
  20. package/dist/lib/linx-update-notification.js.map +1 -1
  21. package/dist/lib/shell-lifecycle.js +21 -1
  22. package/dist/lib/shell-lifecycle.js.map +1 -1
  23. package/dist/plugins/linx-symphony-codex/.codex-plugin/plugin.json +1 -1
  24. package/dist/plugins/linx-symphony-codex/skills/symphony/SKILL.md +6 -4
  25. package/dist/skills/symphony/SKILL.md +6 -4
  26. package/package.json +1 -1
  27. package/dist/lib/linx-auto-editor-indicator-host.js +0 -15
  28. package/dist/lib/linx-auto-editor-indicator-host.js.map +0 -1
  29. package/dist/lib/linx-auto-editor-indicator.js +0 -56
  30. package/dist/lib/linx-auto-editor-indicator.js.map +0 -1
@@ -1,20 +1,27 @@
1
1
  import { parseLinxShellCommand } from './linx-shell-command-router.js';
2
- import { installLinxAutoEditorIndicator } from './linx-auto-editor-indicator.js';
3
2
  import { registerLinxInteractiveSubmitHandler } from './linx-interactive-submit-router.js';
4
3
  import { setLinxInteractiveEditorText } from './linx-interactive-editor-text-host.js';
5
4
  import { configureLinxInteractiveShellState, } from './linx-interactive-shell-state.js';
5
+ import { installLinxInteractiveIdeaCapture } from './linx-interactive-idea-capture.js';
6
+ import { installLinxInteractiveTurnResponseWatchdog } from './linx-interactive-turn-response-watchdog.js';
6
7
  import { installLinxSessionCommandRouter as installOwnedLinxSessionCommandRouter, installLinxSessionCommandRouterAfterRebind as installOwnedLinxSessionCommandRouterAfterRebind, } from './linx-session-command-routing.js';
7
8
  import { isGlobalCommandHandlerInstalled, markGlobalCommandHandlerInstalled, } from './linx-interactive-command-routing-host.js';
8
9
  import { installLinxFinalSubmitCommandRouter as installOwnedLinxFinalSubmitCommandRouter, installLinxInputCommandRouter as installOwnedLinxInputCommandRouter, } from './linx-input-command-routing.js';
9
10
  import { recordInteractiveSubmittedUserMessage } from './linx-submitted-user-message-recording.js';
10
11
  import { executeLinxShellCommand } from './linx-shell-command-executor.js';
11
12
  export function installLinxShellCommands(interactive, runtime, sessionCwd, options = {}) {
12
- installLinxAutoEditorIndicator(interactive);
13
+ installLinxInteractiveTurnResponseWatchdog(interactive);
14
+ installLinxInteractiveIdeaCapture(interactive, runtime);
13
15
  if (options.onAutoControlChange) {
14
16
  configureLinxInteractiveShellState(interactive, {
15
17
  autoControlChange: options.onAutoControlChange,
16
18
  });
17
19
  }
20
+ if (options.turnResponsePendingStatusTimeoutMs !== undefined) {
21
+ configureLinxInteractiveShellState(interactive, {
22
+ turnResponsePendingStatusTimeoutMs: options.turnResponsePendingStatusTimeoutMs,
23
+ });
24
+ }
18
25
  if (options.handleAiConnectCommand) {
19
26
  configureLinxInteractiveShellState(interactive, {
20
27
  aiConnectCommand: options.handleAiConnectCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"linx-interactive-command-routing.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-command-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linx-interactive-command-routing.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-command-routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { upsertExactRecord } from '@undefineds.co/drizzle-solid';
3
+ import { showLinxInteractiveError } from './linx-interactive-error-display.js';
4
+ import { showLinxInteractiveStatus } from './linx-interactive-status-display.js';
5
+ import { DEFAULT_SECRETARY_CHAT_ID, secretaryChatUri, secretaryThreadUri } from './pod-mirror-mapping.js';
6
+ import { resolveLinxInteractivePodWebId } from './linx-interactive-runtime-host.js';
7
+ import { resolveLinxSessionId } from './linx-session-metadata.js';
8
+ import { registerLinxInteractiveSubmitHandler } from './linx-interactive-submit-router.js';
9
+ import { getDefaultPodDataSession } from './pod-data-session.js';
10
+ import { getLinxInteractiveCaptureIdea, getLinxInteractiveIdeaCaptureForegroundTimeoutMs, setLinxInteractiveLastIdeaCapture, } from './linx-interactive-shell-state.js';
11
+ import { chatResource, drizzle, ideaResource, solidResources, threadResource, } from './models.js';
12
+ const ideaCaptureInstalled = new WeakSet();
13
+ const DEFAULT_IDEA_CAPTURE_FOREGROUND_TIMEOUT_MS = 1_500;
14
+ export function installLinxInteractiveIdeaCapture(interactive, runtime) {
15
+ if (!interactive || ideaCaptureInstalled.has(interactive)) {
16
+ return;
17
+ }
18
+ registerLinxInteractiveSubmitHandler(interactive, {
19
+ name: 'linx-idea-capture',
20
+ priority: 10,
21
+ async handler({ interactive: target, input }) {
22
+ if (!shouldConsiderIdeaCaptureInput(input) || !shouldCaptureIdeaInput(input)) {
23
+ return false;
24
+ }
25
+ showLinxInteractiveStatus(target, 'Capturing Idea…');
26
+ const capture = captureInteractiveIdeaForInput(target, runtime, input);
27
+ const projection = await waitForForegroundIdeaCapture(capture, resolveIdeaCaptureForegroundTimeoutMs(target));
28
+ setLinxInteractiveLastIdeaCapture(target, input, projection);
29
+ if (projection?.kind === 'pending') {
30
+ showLinxInteractiveStatus(target, 'Idea capture is still running; continuing chat.');
31
+ void capture.catch((error) => {
32
+ const normalized = normalizeError(error);
33
+ showLinxInteractiveError(target, `Capture failed: ${normalized.message}`);
34
+ });
35
+ }
36
+ return false;
37
+ },
38
+ });
39
+ ideaCaptureInstalled.add(interactive);
40
+ }
41
+ function resolveIdeaCaptureForegroundTimeoutMs(interactive) {
42
+ const configured = getLinxInteractiveIdeaCaptureForegroundTimeoutMs(interactive);
43
+ return typeof configured === 'number' && Number.isFinite(configured) && configured >= 0
44
+ ? configured
45
+ : DEFAULT_IDEA_CAPTURE_FOREGROUND_TIMEOUT_MS;
46
+ }
47
+ async function waitForForegroundIdeaCapture(capture, timeoutMs) {
48
+ let timeout;
49
+ try {
50
+ return await Promise.race([
51
+ capture,
52
+ new Promise((resolve) => {
53
+ timeout = setTimeout(() => {
54
+ resolve({ kind: 'pending', message: 'Idea capture is still running downstream.' });
55
+ }, timeoutMs);
56
+ }),
57
+ ]);
58
+ }
59
+ finally {
60
+ if (timeout) {
61
+ clearTimeout(timeout);
62
+ }
63
+ }
64
+ }
65
+ export async function captureInteractiveIdeaForInput(interactive, runtime, input, options = {}) {
66
+ try {
67
+ const source = await resolveIdeaSourceContext(interactive, runtime);
68
+ const context = await captureIdeaIfNeeded(input, source, getLinxInteractiveCaptureIdea(interactive), options.podRuntime);
69
+ if (!context) {
70
+ return undefined;
71
+ }
72
+ showLinxInteractiveStatus(interactive, `Captured Idea: ${context.summary} (${context.status}).`);
73
+ return { kind: 'captured', context };
74
+ }
75
+ catch (error) {
76
+ const normalized = normalizeError(error);
77
+ showLinxInteractiveError(interactive, `Capture failed: ${normalized.message}`);
78
+ return { kind: 'failed', error: normalized };
79
+ }
80
+ }
81
+ export function renderIdeaCaptureProjection(ideaCapture) {
82
+ if (!ideaCapture) {
83
+ return [];
84
+ }
85
+ if (ideaCapture.kind === 'captured') {
86
+ return [
87
+ '',
88
+ 'Capture status:',
89
+ 'Idea already captured before this model turn.',
90
+ `URI: ${ideaCapture.context.uri}`,
91
+ `Summary: ${ideaCapture.context.summary}`,
92
+ `Status: ${ideaCapture.context.status}`,
93
+ `Commitment: ${ideaCapture.context.commitment}`,
94
+ 'Do not ask the user to repeat this capture and do not claim capture is still pending.',
95
+ ];
96
+ }
97
+ if (ideaCapture.kind === 'pending') {
98
+ return [
99
+ '',
100
+ 'Capture status:',
101
+ 'Idea capture started before this model turn but is still waiting on a downstream Pod call.',
102
+ `Status: ${ideaCapture.message}`,
103
+ 'Do not claim it was captured yet. Continue the answer normally and mention the pending capture only if relevant.',
104
+ ];
105
+ }
106
+ return [
107
+ '',
108
+ 'Capture status:',
109
+ 'Idea capture was required but Pod write failed before this model turn.',
110
+ `Error: ${ideaCapture.error.message}`,
111
+ 'Do not claim it was captured. Surface the persistence blocker briefly if the user-facing answer would otherwise imply durable capture.',
112
+ ];
113
+ }
114
+ export function serializeIdeaCaptureProjection(ideaCapture) {
115
+ if (ideaCapture.kind === 'captured') {
116
+ return {
117
+ kind: 'captured',
118
+ ...ideaCapture.context,
119
+ };
120
+ }
121
+ if (ideaCapture.kind === 'pending') {
122
+ return {
123
+ kind: 'pending',
124
+ message: ideaCapture.message,
125
+ };
126
+ }
127
+ return {
128
+ kind: 'failed',
129
+ message: ideaCapture.error.message,
130
+ };
131
+ }
132
+ function shouldConsiderIdeaCaptureInput(input) {
133
+ return Boolean(input)
134
+ && !input.startsWith('/')
135
+ && !input.startsWith('!');
136
+ }
137
+ async function captureIdeaIfNeeded(input, source, captureIdea, runtime) {
138
+ if (!shouldCaptureIdeaInput(input)) {
139
+ return undefined;
140
+ }
141
+ if (captureIdea) {
142
+ return normalizeCapturedIdeaContext(await captureIdea(input, source));
143
+ }
144
+ return persistCapturedIdeaToPod({
145
+ input,
146
+ source,
147
+ affectedArea: inferIdeaAffectedArea(input),
148
+ runtime,
149
+ });
150
+ }
151
+ async function persistCapturedIdeaToPod(input) {
152
+ const runtime = input.runtime ?? createDefaultIdeaCaptureRuntime();
153
+ const podSession = await runtime.getPodDataSession();
154
+ if (!podSession) {
155
+ throw new Error('No active Pod session; Idea capture requires LinX/Solid login.');
156
+ }
157
+ const db = runtime.createDb(podSession);
158
+ const now = new Date();
159
+ const row = buildCapturedIdeaRow({
160
+ input: input.input,
161
+ source: input.source,
162
+ webId: podSession.webId,
163
+ now,
164
+ affectedArea: input.affectedArea,
165
+ });
166
+ await db.init([
167
+ runtime.ideaResource,
168
+ runtime.chatResource,
169
+ runtime.threadResource,
170
+ ]).catch(() => undefined);
171
+ await upsertExactRecord(db, runtime.ideaResource, { id: row.id }, row, {
172
+ operation: 'linx.capture.idea.upsert',
173
+ });
174
+ return {
175
+ uri: runtime.ideaResource.buildIri(podSession.webId, { id: row.id, createdAt: row.createdAt }),
176
+ summary: row.summary,
177
+ status: row.status,
178
+ commitment: row.commitment,
179
+ };
180
+ }
181
+ function createDefaultIdeaCaptureRuntime() {
182
+ return {
183
+ getPodDataSession: getDefaultPodDataSession,
184
+ createDb(podSession) {
185
+ return drizzle(podSession.solidSession, {
186
+ logger: false,
187
+ disableInteropDiscovery: true,
188
+ podUrl: podSession.podUrl,
189
+ resourcePreparation: 'best-effort',
190
+ schema: solidResources,
191
+ });
192
+ },
193
+ ideaResource,
194
+ chatResource,
195
+ threadResource,
196
+ };
197
+ }
198
+ function buildCapturedIdeaRow(input) {
199
+ const text = input.input.trim();
200
+ const summary = summarizeIdeaInput(text);
201
+ const id = buildIdeaResourceId(input.now);
202
+ return {
203
+ id,
204
+ summary,
205
+ input: text,
206
+ status: 'captured',
207
+ commitment: 'thought',
208
+ affectedArea: input.affectedArea,
209
+ currentUnderstanding: text,
210
+ openQuestions: [],
211
+ related: [],
212
+ conflicts: [],
213
+ nextStep: 'Review this captured Idea against related conversation and promote only after scope and commitment are clear.',
214
+ chat: input.source?.chat,
215
+ thread: input.source?.thread,
216
+ sourceMessages: [],
217
+ createdBy: input.webId,
218
+ metadata: {
219
+ surface: 'linx-capture',
220
+ source: 'interactive-user-message',
221
+ ...(input.source?.sessionId ? { sessionId: input.source.sessionId } : {}),
222
+ },
223
+ createdAt: input.now,
224
+ updatedAt: input.now,
225
+ };
226
+ }
227
+ function buildIdeaResourceId(now) {
228
+ const yyyy = String(now.getUTCFullYear()).padStart(4, '0');
229
+ const mm = String(now.getUTCMonth() + 1).padStart(2, '0');
230
+ const dd = String(now.getUTCDate()).padStart(2, '0');
231
+ return `${yyyy}/${mm}/${dd}.ttl#idea_${now.toISOString().replace(/[-:.TZ]/g, '')}_${randomUUID().slice(0, 8)}`;
232
+ }
233
+ function shouldCaptureIdeaInput(input) {
234
+ const normalized = input.trim();
235
+ if (normalized.length < 12) {
236
+ return false;
237
+ }
238
+ return /\b(idea|maybe|perhaps|could we|should we|what if|proposal|direction)\b/iu.test(normalized)
239
+ || /(我觉得|感觉|也许|可能|考虑|想法|方向|要不要|能不能|是不是|是否|应该)/u.test(normalized);
240
+ }
241
+ function inferIdeaAffectedArea(input) {
242
+ const normalized = input.toLowerCase();
243
+ if (/symphony|secretary|auto|approval|grant|pod|xpod|skill|worker|agent|capture/u.test(normalized)) {
244
+ return normalized.match(/symphony|secretary|auto|approval|grant|pod|xpod|skill|worker|agent|capture/u)?.[0];
245
+ }
246
+ if (/(建模|模型|数据|同步|权限|审批|托管|多端|工作流|指标|质检|抓取|收藏|记忆)/u.test(input)) {
247
+ return input.match(/建模|模型|数据|同步|权限|审批|托管|多端|工作流|指标|质检|抓取|收藏|记忆/u)?.[0];
248
+ }
249
+ return undefined;
250
+ }
251
+ function summarizeIdeaInput(input) {
252
+ const normalized = input.replace(/\s+/g, ' ').trim();
253
+ return normalized.length <= 80 ? normalized : `${normalized.slice(0, 77)}...`;
254
+ }
255
+ function normalizeCapturedIdeaContext(value) {
256
+ if (!isRecord(value)) {
257
+ return undefined;
258
+ }
259
+ const uri = normalizeString(value.uri);
260
+ const summary = normalizeString(value.summary);
261
+ if (!uri || !summary) {
262
+ return undefined;
263
+ }
264
+ return {
265
+ uri,
266
+ summary,
267
+ status: normalizeString(value.status) ?? 'captured',
268
+ commitment: normalizeString(value.commitment) ?? 'thought',
269
+ };
270
+ }
271
+ async function resolveIdeaSourceContext(interactive, runtime) {
272
+ const sessionId = resolveLinxSessionId({ interactive, runtime });
273
+ const webId = await resolveLinxInteractivePodWebId(interactive);
274
+ if (typeof sessionId !== 'string' || !sessionId.trim() || !webId) {
275
+ return undefined;
276
+ }
277
+ const trimmedSessionId = sessionId.trim();
278
+ return {
279
+ chat: secretaryChatUri(webId),
280
+ thread: secretaryThreadUri(webId, trimmedSessionId, DEFAULT_SECRETARY_CHAT_ID),
281
+ sessionId: trimmedSessionId,
282
+ };
283
+ }
284
+ function normalizeString(value) {
285
+ const normalized = typeof value === 'string' ? value.trim() : '';
286
+ return normalized || undefined;
287
+ }
288
+ function normalizeError(error) {
289
+ return error instanceof Error ? error : new Error(String(error));
290
+ }
291
+ function isRecord(value) {
292
+ return Boolean(value) && typeof value === 'object';
293
+ }
294
+ //# sourceMappingURL=linx-interactive-idea-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-interactive-idea-capture.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-idea-capture.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ function installPostInitInteractiveControls(interactive, runtime, sessionCwd, op
53
53
  export function installLinxEscapeInterrupt(interactive) {
54
54
  installLinxInterruptControl(interactive, {
55
55
  disableAutoMode(target) {
56
- void handleInteractiveAutoCommand(target, getLinxInteractiveRuntime(target), false);
56
+ return handleInteractiveAutoCommand(target, getLinxInteractiveRuntime(target), false);
57
57
  },
58
58
  });
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linx-interactive-post-init.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-post-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linx-interactive-post-init.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-post-init.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,15 @@ export function configureLinxInteractiveShellState(interactive, options) {
43
43
  if (options.projectedBackendCommand) {
44
44
  state.projectedBackendCommand = options.projectedBackendCommand;
45
45
  }
46
+ if (options.captureIdea) {
47
+ state.captureIdea = options.captureIdea;
48
+ }
49
+ if (options.ideaCaptureForegroundTimeoutMs !== undefined) {
50
+ state.ideaCaptureForegroundTimeoutMs = options.ideaCaptureForegroundTimeoutMs;
51
+ }
52
+ if (options.turnResponsePendingStatusTimeoutMs !== undefined) {
53
+ state.turnResponsePendingStatusTimeoutMs = options.turnResponsePendingStatusTimeoutMs;
54
+ }
46
55
  if (options.symphony) {
47
56
  Object.assign(state.symphony, options.symphony);
48
57
  }
@@ -97,6 +106,34 @@ export function getLinxInteractiveSymphonyStatusPodTimeoutMs(interactive) {
97
106
  export function getLinxInteractiveRunSymphony(interactive) {
98
107
  return getLinxInteractiveSymphonyState(interactive).runSymphony;
99
108
  }
109
+ export function getLinxInteractiveCaptureIdea(interactive) {
110
+ return getLinxInteractiveShellState(interactive).captureIdea;
111
+ }
112
+ export function getLinxInteractiveIdeaCaptureForegroundTimeoutMs(interactive) {
113
+ return getLinxInteractiveShellState(interactive).ideaCaptureForegroundTimeoutMs;
114
+ }
115
+ export function getLinxInteractiveTurnResponsePendingStatusTimeoutMs(interactive) {
116
+ return getLinxInteractiveShellState(interactive).turnResponsePendingStatusTimeoutMs;
117
+ }
118
+ export function setLinxInteractiveLastIdeaCapture(interactive, input, projection) {
119
+ const state = getLinxInteractiveShellState(interactive);
120
+ if (!projection) {
121
+ if (state.lastIdeaCapture?.input === input) {
122
+ delete state.lastIdeaCapture;
123
+ }
124
+ return;
125
+ }
126
+ state.lastIdeaCapture = { input, projection };
127
+ }
128
+ export function takeLinxInteractiveLastIdeaCapture(interactive, input) {
129
+ const state = getLinxInteractiveShellState(interactive);
130
+ if (state.lastIdeaCapture?.input !== input) {
131
+ return undefined;
132
+ }
133
+ const projection = state.lastIdeaCapture.projection;
134
+ delete state.lastIdeaCapture;
135
+ return projection;
136
+ }
100
137
  export function getLinxInteractiveListSymphonyIssues(interactive) {
101
138
  return getLinxInteractiveSymphonyState(interactive).listSymphonyIssues;
102
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linx-interactive-shell-state.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-shell-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linx-interactive-shell-state.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-shell-state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { clearLinxInteractiveTurnResponseWatchdog, startLinxInteractiveTurnResponseWatchdog, } from './linx-interactive-turn-response-watchdog.js';
1
2
  const LINX_INTERACTIVE_SUBMIT_ROUTER = Symbol.for('linx.tui.submitRouter');
2
3
  const LINX_INTERACTIVE_SUBMIT_WRAPPED = Symbol.for('linx.tui.submitRouter.wrapped');
3
4
  export function registerLinxInteractiveSubmitHandler(interactive, entry) {
@@ -50,12 +51,23 @@ function wrapLinxInteractiveEditorSubmit(interactive, state) {
50
51
  }
51
52
  const wrappedSubmit = async (text) => {
52
53
  const input = String(text ?? '').trim();
54
+ const submitOriginal = async (submittedText) => {
55
+ const submittedInput = String(submittedText ?? '').trim();
56
+ startLinxInteractiveTurnResponseWatchdog(interactive, submittedInput);
57
+ try {
58
+ await originalSubmit(submittedText);
59
+ }
60
+ catch (error) {
61
+ clearLinxInteractiveTurnResponseWatchdog(interactive);
62
+ throw error;
63
+ }
64
+ };
53
65
  for (const entry of state.handlers) {
54
- if (await entry.handler({ interactive, text, input, originalSubmit })) {
66
+ if (await entry.handler({ interactive, text, input, originalSubmit: submitOriginal })) {
55
67
  return;
56
68
  }
57
69
  }
58
- await originalSubmit(text);
70
+ await submitOriginal(text);
59
71
  };
60
72
  wrappedSubmit[LINX_INTERACTIVE_SUBMIT_WRAPPED] = true;
61
73
  editor.onSubmit = wrappedSubmit;
@@ -1 +1 @@
1
- {"version":3,"file":"linx-interactive-submit-router.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-submit-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linx-interactive-submit-router.js","sourceRoot":"","sources":["../../src/lib/linx-interactive-submit-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { registerLinxInteractiveEventHandler } from './linx-interactive-event-router.js';
2
+ import { showLinxInteractiveStatus } from './linx-interactive-status-display.js';
3
+ import { getLinxInteractiveTurnResponsePendingStatusTimeoutMs } from './linx-interactive-shell-state.js';
4
+ const DEFAULT_TURN_RESPONSE_PENDING_STATUS_TIMEOUT_MS = 8_000;
5
+ const turnResponseWatchdogs = new WeakMap();
6
+ const turnResponseWatchdogInstalled = new WeakSet();
7
+ export function installLinxInteractiveTurnResponseWatchdog(interactive) {
8
+ if (!interactive || turnResponseWatchdogInstalled.has(interactive)) {
9
+ return;
10
+ }
11
+ registerLinxInteractiveEventHandler(interactive, {
12
+ name: 'linx-turn-response-watchdog',
13
+ priority: -10,
14
+ handler({ interactive: target, event }) {
15
+ handleLinxInteractiveTurnResponseEvent(target, event);
16
+ return { handled: false };
17
+ },
18
+ });
19
+ turnResponseWatchdogInstalled.add(interactive);
20
+ }
21
+ export function startLinxInteractiveTurnResponseWatchdog(interactive, input) {
22
+ if (!interactive || !shouldWatchTurnResponseInput(input)) {
23
+ return;
24
+ }
25
+ const state = {
26
+ input,
27
+ phase: 'submitted',
28
+ };
29
+ replaceTurnResponseWatchdog(interactive, state);
30
+ }
31
+ function handleLinxInteractiveTurnResponseEvent(interactive, event) {
32
+ const state = getTurnResponseWatchdog(interactive);
33
+ if (!state || !isRecord(event)) {
34
+ return;
35
+ }
36
+ const type = event.type;
37
+ if (type === 'agent_start') {
38
+ state.phase = 'agent-started';
39
+ scheduleTurnResponseStatus(interactive, state);
40
+ return;
41
+ }
42
+ if (type === 'message_update' && isAssistantMessageWithVisibleContent(event.message)) {
43
+ clearTurnResponseWatchdog(interactive);
44
+ return;
45
+ }
46
+ if (type === 'message_end' && isAssistantMessage(event.message)) {
47
+ clearTurnResponseWatchdog(interactive);
48
+ return;
49
+ }
50
+ if (type === 'agent_end') {
51
+ clearTurnResponseWatchdog(interactive);
52
+ }
53
+ }
54
+ function replaceTurnResponseWatchdog(interactive, state) {
55
+ clearTurnResponseWatchdog(interactive);
56
+ if (interactive && typeof interactive === 'object') {
57
+ turnResponseWatchdogs.set(interactive, state);
58
+ scheduleTurnResponseStatus(interactive, state);
59
+ }
60
+ }
61
+ function getTurnResponseWatchdog(interactive) {
62
+ return interactive && typeof interactive === 'object'
63
+ ? turnResponseWatchdogs.get(interactive)
64
+ : undefined;
65
+ }
66
+ export function clearLinxInteractiveTurnResponseWatchdog(interactive) {
67
+ clearTurnResponseWatchdog(interactive);
68
+ }
69
+ function clearTurnResponseWatchdog(interactive) {
70
+ const state = getTurnResponseWatchdog(interactive);
71
+ if (state?.timer) {
72
+ clearTimeout(state.timer);
73
+ }
74
+ if (interactive && typeof interactive === 'object') {
75
+ turnResponseWatchdogs.delete(interactive);
76
+ }
77
+ }
78
+ function scheduleTurnResponseStatus(interactive, state) {
79
+ if (state.timer) {
80
+ clearTimeout(state.timer);
81
+ }
82
+ state.timer = setTimeout(() => {
83
+ const current = getTurnResponseWatchdog(interactive);
84
+ if (current !== state) {
85
+ return;
86
+ }
87
+ showLinxInteractiveStatus(interactive, formatTurnResponsePendingStatus(state));
88
+ }, resolveTurnResponsePendingStatusTimeoutMs(interactive));
89
+ state.timer.unref?.();
90
+ }
91
+ function resolveTurnResponsePendingStatusTimeoutMs(interactive) {
92
+ const configured = getLinxInteractiveTurnResponsePendingStatusTimeoutMs(interactive);
93
+ return typeof configured === 'number' && Number.isFinite(configured) && configured >= 0
94
+ ? configured
95
+ : DEFAULT_TURN_RESPONSE_PENDING_STATUS_TIMEOUT_MS;
96
+ }
97
+ function formatTurnResponsePendingStatus(state) {
98
+ if (state.phase === 'agent-started') {
99
+ return 'Still waiting for a response from LinX Cloud/backend; the model call has not produced content yet.';
100
+ }
101
+ return 'Still waiting for a response; the submitted message is queued but no backend activity has arrived yet.';
102
+ }
103
+ function shouldWatchTurnResponseInput(input) {
104
+ const normalized = input.trim();
105
+ return Boolean(normalized)
106
+ && !normalized.startsWith('/')
107
+ && !normalized.startsWith('!');
108
+ }
109
+ function isAssistantMessage(value) {
110
+ return isRecord(value) && value.role === 'assistant';
111
+ }
112
+ function isAssistantMessageWithVisibleContent(value) {
113
+ if (!isAssistantMessage(value)) {
114
+ return false;
115
+ }
116
+ const content = value.content;
117
+ return Array.isArray(content) && content.some((entry) => {
118
+ if (!isRecord(entry)) {
119
+ return false;
120
+ }
121
+ if (entry.type === 'text') {
122
+ return typeof entry.text === 'string' && entry.text.length > 0;
123
+ }
124
+ return entry.type === 'toolCall';
125
+ });
126
+ }
127
+ function isRecord(value) {
128
+ return Boolean(value) && typeof value === 'object';
129
+ }
130
+ //# sourceMappingURL=linx-interactive-turn-response-watchdog.js.map