@inspectr/mcplab 1.28.5 → 1.30.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 (181) hide show
  1. package/README.md +74 -6
  2. package/dist/app/assets/index-8I9ZyPIK.js +243 -0
  3. package/dist/app/assets/index-jX7LoIQP.css +2 -0
  4. package/dist/app/assets/sse-queue-worker-Iwmqd2oW.js +1 -0
  5. package/dist/app/index.html +2 -2
  6. package/dist/app-server/app-context.d.ts +75 -115
  7. package/dist/app-server/app-context.d.ts.map +1 -1
  8. package/dist/app-server/app-dist.d.ts +3 -3
  9. package/dist/app-server/app-dist.js.map +1 -1
  10. package/dist/app-server/app-run-artifacts.d.ts +4 -0
  11. package/dist/app-server/app-run-artifacts.d.ts.map +1 -0
  12. package/dist/app-server/app-run-artifacts.js +66 -0
  13. package/dist/app-server/app-run-artifacts.js.map +1 -0
  14. package/dist/app-server/assistant-common.d.ts +27 -37
  15. package/dist/app-server/assistant-common.d.ts.map +1 -1
  16. package/dist/app-server/assistant-common.js +110 -1
  17. package/dist/app-server/assistant-common.js.map +1 -1
  18. package/dist/app-server/assistant-events.d.ts +8 -28
  19. package/dist/app-server/browser-launch.d.ts +3 -3
  20. package/dist/app-server/browser-launch.js.map +1 -1
  21. package/dist/app-server/browser-provider-learning.d.ts +26 -0
  22. package/dist/app-server/browser-provider-learning.d.ts.map +1 -0
  23. package/dist/app-server/browser-provider-learning.js +353 -0
  24. package/dist/app-server/browser-provider-learning.js.map +1 -0
  25. package/dist/app-server/config-store.d.ts +13 -21
  26. package/dist/app-server/connection-test-routes.d.ts +8 -0
  27. package/dist/app-server/connection-test-routes.d.ts.map +1 -0
  28. package/dist/app-server/connection-test-routes.js +34 -0
  29. package/dist/app-server/connection-test-routes.js.map +1 -0
  30. package/dist/app-server/decision-routes.d.ts +8 -0
  31. package/dist/app-server/decision-routes.d.ts.map +1 -0
  32. package/dist/app-server/decision-routes.js +27 -0
  33. package/dist/app-server/decision-routes.js.map +1 -0
  34. package/dist/app-server/dev-mcp.d.ts +2 -5
  35. package/dist/app-server/evals-routes.d.ts +8 -18
  36. package/dist/app-server/evaluation-group-results.d.ts +11 -0
  37. package/dist/app-server/evaluation-group-results.d.ts.map +1 -0
  38. package/dist/app-server/evaluation-group-results.js +46 -0
  39. package/dist/app-server/evaluation-group-results.js.map +1 -0
  40. package/dist/app-server/evaluation-journal-projection.d.ts +9 -0
  41. package/dist/app-server/evaluation-journal-projection.d.ts.map +1 -0
  42. package/dist/app-server/evaluation-journal-projection.js +76 -0
  43. package/dist/app-server/evaluation-journal-projection.js.map +1 -0
  44. package/dist/app-server/evaluation-journal-writer.d.ts +23 -0
  45. package/dist/app-server/evaluation-journal-writer.d.ts.map +1 -0
  46. package/dist/app-server/evaluation-journal-writer.js +41 -0
  47. package/dist/app-server/evaluation-journal-writer.js.map +1 -0
  48. package/dist/app-server/evaluation-result-projection.d.ts +12 -0
  49. package/dist/app-server/evaluation-result-projection.d.ts.map +1 -0
  50. package/dist/app-server/evaluation-result-projection.js +107 -0
  51. package/dist/app-server/evaluation-result-projection.js.map +1 -0
  52. package/dist/app-server/execution-journal.d.ts +13 -0
  53. package/dist/app-server/execution-journal.d.ts.map +1 -0
  54. package/dist/app-server/execution-journal.js +39 -0
  55. package/dist/app-server/execution-journal.js.map +1 -0
  56. package/dist/app-server/http.d.ts +1 -1
  57. package/dist/app-server/index.d.ts +1 -1
  58. package/dist/app-server/inspectr-session-manager.d.ts +45 -0
  59. package/dist/app-server/inspectr-session-manager.d.ts.map +1 -0
  60. package/dist/app-server/inspectr-session-manager.js +203 -0
  61. package/dist/app-server/inspectr-session-manager.js.map +1 -0
  62. package/dist/app-server/jobs.d.ts +6 -9
  63. package/dist/app-server/libraries-store.d.ts +26 -10
  64. package/dist/app-server/libraries-store.d.ts.map +1 -1
  65. package/dist/app-server/libraries-store.js +130 -3
  66. package/dist/app-server/libraries-store.js.map +1 -1
  67. package/dist/app-server/live-tests-routes.d.ts +17 -0
  68. package/dist/app-server/live-tests-routes.d.ts.map +1 -0
  69. package/dist/app-server/live-tests-routes.js +82 -0
  70. package/dist/app-server/live-tests-routes.js.map +1 -0
  71. package/dist/app-server/live-tests.d.ts +78 -0
  72. package/dist/app-server/live-tests.d.ts.map +1 -0
  73. package/dist/app-server/live-tests.js +285 -0
  74. package/dist/app-server/live-tests.js.map +1 -0
  75. package/dist/app-server/markdown-reports.d.ts +7 -7
  76. package/dist/app-server/oauth-debugger-domain.d.ts +183 -207
  77. package/dist/app-server/oauth-debugger-domain.js.map +1 -1
  78. package/dist/app-server/oauth-debugger.d.ts +10 -17
  79. package/dist/app-server/oauth-debugger.js +1 -1
  80. package/dist/app-server/oauth-debugger.js.map +1 -1
  81. package/dist/app-server/oauth-runtime-domain.d.ts +42 -53
  82. package/dist/app-server/oauth-runtime-domain.js.map +1 -1
  83. package/dist/app-server/oauth-runtime-routes.d.ts +12 -12
  84. package/dist/app-server/oauth-session-manager.d.ts +44 -50
  85. package/dist/app-server/oauth-session-manager.d.ts.map +1 -1
  86. package/dist/app-server/oauth-session-manager.js.map +1 -1
  87. package/dist/app-server/provider-models.d.ts +2 -7
  88. package/dist/app-server/provider-models.d.ts.map +1 -1
  89. package/dist/app-server/provider-models.js +11 -12
  90. package/dist/app-server/provider-models.js.map +1 -1
  91. package/dist/app-server/request-origin.d.ts +6 -0
  92. package/dist/app-server/request-origin.d.ts.map +1 -0
  93. package/dist/app-server/request-origin.js +61 -0
  94. package/dist/app-server/request-origin.js.map +1 -0
  95. package/dist/app-server/result-assistant-domain.d.ts +66 -82
  96. package/dist/app-server/result-assistant-domain.d.ts.map +1 -1
  97. package/dist/app-server/result-assistant-domain.js.map +1 -1
  98. package/dist/app-server/result-assistant-tools.d.ts +5 -5
  99. package/dist/app-server/result-assistant.d.ts +9 -21
  100. package/dist/app-server/result-assistant.js.map +1 -1
  101. package/dist/app-server/router.d.ts +7 -1
  102. package/dist/app-server/router.d.ts.map +1 -1
  103. package/dist/app-server/router.js +375 -57
  104. package/dist/app-server/router.js.map +1 -1
  105. package/dist/app-server/rover-connection.d.ts +48 -0
  106. package/dist/app-server/rover-connection.d.ts.map +1 -0
  107. package/dist/app-server/rover-connection.js +172 -0
  108. package/dist/app-server/rover-connection.js.map +1 -0
  109. package/dist/app-server/run-agent-selection.d.ts +2 -5
  110. package/dist/app-server/run-queue-domain.d.ts +89 -65
  111. package/dist/app-server/run-queue-domain.d.ts.map +1 -1
  112. package/dist/app-server/run-queue-domain.js +723 -9
  113. package/dist/app-server/run-queue-domain.js.map +1 -1
  114. package/dist/app-server/run-queue-events.d.ts +3 -10
  115. package/dist/app-server/run-queue-events.d.ts.map +1 -1
  116. package/dist/app-server/run-queue-events.js +114 -14
  117. package/dist/app-server/run-queue-events.js.map +1 -1
  118. package/dist/app-server/run-queue-executor.d.ts +22 -48
  119. package/dist/app-server/run-queue-executor.d.ts.map +1 -1
  120. package/dist/app-server/run-queue-executor.js +91 -30
  121. package/dist/app-server/run-queue-executor.js.map +1 -1
  122. package/dist/app-server/run-queue-state.d.ts +81 -47
  123. package/dist/app-server/run-queue-state.d.ts.map +1 -1
  124. package/dist/app-server/run-queue-state.js.map +1 -1
  125. package/dist/app-server/runs-routes.d.ts +13 -35
  126. package/dist/app-server/runs-routes.d.ts.map +1 -1
  127. package/dist/app-server/runs-routes.js +196 -29
  128. package/dist/app-server/runs-routes.js.map +1 -1
  129. package/dist/app-server/runs-routes.test-helpers.d.ts +42 -38
  130. package/dist/app-server/runs-routes.test-helpers.d.ts.map +1 -1
  131. package/dist/app-server/runs-routes.test-helpers.js +4 -1
  132. package/dist/app-server/runs-routes.test-helpers.js.map +1 -1
  133. package/dist/app-server/runs-store.d.ts +60 -43
  134. package/dist/app-server/runs-store.d.ts.map +1 -1
  135. package/dist/app-server/runs-store.js +157 -70
  136. package/dist/app-server/runs-store.js.map +1 -1
  137. package/dist/app-server/scenario-assistant-domain.d.ts +131 -157
  138. package/dist/app-server/scenario-assistant-domain.d.ts.map +1 -1
  139. package/dist/app-server/scenario-assistant-domain.js +7 -15
  140. package/dist/app-server/scenario-assistant-domain.js.map +1 -1
  141. package/dist/app-server/scenario-assistant.d.ts +10 -26
  142. package/dist/app-server/scenario-assistant.js.map +1 -1
  143. package/dist/app-server/settings-store.d.ts +4 -8
  144. package/dist/app-server/settings-store.d.ts.map +1 -1
  145. package/dist/app-server/settings-store.js +33 -15
  146. package/dist/app-server/settings-store.js.map +1 -1
  147. package/dist/app-server/static-serving.d.ts +7 -13
  148. package/dist/app-server/store-utils.d.ts +1 -1
  149. package/dist/app-server/tool-analysis-domain.d.ts +167 -183
  150. package/dist/app-server/tool-analysis-domain.d.ts.map +1 -1
  151. package/dist/app-server/tool-analysis-domain.js +2 -59
  152. package/dist/app-server/tool-analysis-domain.js.map +1 -1
  153. package/dist/app-server/tool-analysis-storage.d.ts +20 -34
  154. package/dist/app-server/tool-analysis.d.ts +10 -19
  155. package/dist/app-server/types.d.ts +26 -27
  156. package/dist/app-server/types.d.ts.map +1 -1
  157. package/dist/app-server/version-info.d.ts +6 -6
  158. package/dist/app-server/version-info.js.map +1 -1
  159. package/dist/app-server/workspace-paths.d.ts +2 -1
  160. package/dist/app-server/workspace-paths.d.ts.map +1 -1
  161. package/dist/app-server/workspace-paths.js +5 -1
  162. package/dist/app-server/workspace-paths.js.map +1 -1
  163. package/dist/cli-branding.d.ts +1 -1
  164. package/dist/cli-branding.js.map +1 -1
  165. package/dist/cli.d.ts +1 -1
  166. package/dist/cli.js +5 -6
  167. package/dist/cli.js.map +1 -1
  168. package/dist/eval-config-files.d.ts +5 -8
  169. package/dist/interactive-helpers.d.ts +11 -15
  170. package/dist/migrate-utils.d.ts +1 -1
  171. package/dist/results/context.d.ts +1 -1
  172. package/dist/results/format.d.ts +7 -14
  173. package/dist/results/indexer.d.ts +2 -9
  174. package/dist/results/search.d.ts +1 -1
  175. package/dist/results/types.d.ts +2 -11
  176. package/dist/run-interactive.d.ts +21 -23
  177. package/dist/test-results-fixture.d.ts +4 -4
  178. package/package.json +8 -6
  179. package/dist/app/assets/index-Bxq-wlTN.css +0 -1
  180. package/dist/app/assets/index-j_NpCqyK.js +0 -258
  181. package/dist/app/assets/sse-queue-worker-BMo6aPaB.js +0 -1
@@ -0,0 +1,66 @@
1
+ import { existsSync, readdirSync, renameSync, statSync, writeFileSync } from 'node:fs';
2
+ import { basename, dirname, join } from 'node:path';
3
+ import { persistEvaluationArtifacts } from '@inspectr/mcplab-core';
4
+ import { renderReport } from '@inspectr/mcplab-reporting';
5
+ import { appendExecutionEvent, readLatestResultSnapshot } from './execution-journal.js';
6
+ import { invalidateRunSummaryCache } from './runs-store.js';
7
+ export function persistAppRunArtifacts(params) {
8
+ appendExecutionEvent(params.runDir, {
9
+ eventId: `snapshot-${params.results.metadata.run_id}-${Date.now()}`,
10
+ type: 'result_snapshot',
11
+ ts: new Date().toISOString(),
12
+ executionId: params.results.metadata.run_id,
13
+ results: params.results,
14
+ ...(params.resolvedConfig !== undefined ? { resolvedConfig: params.resolvedConfig } : {}),
15
+ ...(params.traceRecords !== undefined ? { traceRecords: params.traceRecords } : {})
16
+ });
17
+ persistEvaluationArtifacts(params);
18
+ const reportPath = join(params.runDir, 'report.html');
19
+ const temporaryPath = `${reportPath}.tmp-${process.pid}-${Date.now()}`;
20
+ writeFileSync(temporaryPath, renderReport(params.results), 'utf8');
21
+ renameSync(temporaryPath, reportPath);
22
+ invalidateRunSummaryCache(dirname(params.runDir), basename(params.runDir));
23
+ }
24
+ export function recoverJournalSnapshots(runsDir) {
25
+ if (!existsSync(runsDir))
26
+ return 0;
27
+ let recovered = 0;
28
+ for (const entry of readdirSync(runsDir)) {
29
+ const runDir = join(runsDir, entry);
30
+ if (!statSync(runDir).isDirectory())
31
+ continue;
32
+ const snapshot = readLatestResultSnapshot(runDir);
33
+ if (!snapshot || !snapshot.results || typeof snapshot.results !== 'object')
34
+ continue;
35
+ const requiredProjectionPaths = [
36
+ join(runDir, 'results.json'),
37
+ join(runDir, 'summary.md'),
38
+ join(runDir, 'report.html')
39
+ ];
40
+ if (snapshot.resolvedConfig !== undefined)
41
+ requiredProjectionPaths.push(join(runDir, 'resolved-config.yaml'));
42
+ if (snapshot.traceRecords !== undefined)
43
+ requiredProjectionPaths.push(join(runDir, 'trace.jsonl'));
44
+ if (requiredProjectionPaths.every((path) => existsSync(path)))
45
+ continue;
46
+ const params = {
47
+ runDir,
48
+ results: snapshot.results,
49
+ ...(snapshot.resolvedConfig !== undefined ? { resolvedConfig: snapshot.resolvedConfig } : {}),
50
+ ...(Array.isArray(snapshot.traceRecords)
51
+ ? {
52
+ traceRecords: snapshot.traceRecords
53
+ }
54
+ : {})
55
+ };
56
+ persistEvaluationArtifacts(params);
57
+ const reportPath = join(runDir, 'report.html');
58
+ const temporaryPath = `${reportPath}.tmp-${process.pid}-${Date.now()}`;
59
+ writeFileSync(temporaryPath, renderReport(params.results), 'utf8');
60
+ renameSync(temporaryPath, reportPath);
61
+ invalidateRunSummaryCache(runsDir, entry);
62
+ recovered += 1;
63
+ }
64
+ return recovered;
65
+ }
66
+ //# sourceMappingURL=app-run-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-run-artifacts.js","sourceRoot":"","sources":["../../src/app-server/app-run-artifacts.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,17 @@ import type { AgentConfig, LlmMessage, ToolDef } from '@inspectr/mcplab-core';
2
2
  import { formatAssistantToolName } from '@inspectr/mcplab-core';
3
3
  export { formatAssistantToolName };
4
4
  export declare function truncateJson(value: unknown, maxChars: number): string;
5
+ export declare function extractJsonValuesFromAssistantText(text: string): unknown[];
6
+ export declare function parseJsonFromAssistantText<T = unknown>(text: string, validate?: (value: unknown) => T): T;
5
7
  export declare function normalizeAssistantToolName(name: string): string;
6
- export declare function makeAssistantToolPublicName(
7
- serverName: string,
8
- toolName: string,
9
- used: Set<string>
10
- ): string;
11
- export declare function cleanupSessionsByTtl<
12
- T extends {
8
+ export declare function makeAssistantToolPublicName(serverName: string, toolName: string, used: Set<string>): string;
9
+ export declare function cleanupSessionsByTtl<T extends {
13
10
  lastTouchedAt: number;
14
- }
15
- >(sessions: Map<string, T>, ttlMs: number, now?: number, onExpire?: (session: T) => void): void;
16
- export declare function touchSession<
17
- T extends {
11
+ }>(sessions: Map<string, T>, ttlMs: number, now?: number, onExpire?: (session: T) => void): void;
12
+ export declare function touchSession<T extends {
18
13
  lastTouchedAt: number;
19
- }
20
- >(session: T): void;
21
- export declare function withTimeout<T>(
22
- promiseFactory: () => Promise<T>,
23
- timeoutMs: number,
24
- message?: string,
25
- signal?: AbortSignal
26
- ): Promise<T>;
14
+ }>(session: T): void;
15
+ export declare function withTimeout<T>(promiseFactory: () => Promise<T>, timeoutMs: number, message?: string, signal?: AbortSignal): Promise<T>;
27
16
  export declare function newAssistantEntityId(prefix: string): string;
28
17
  /**
29
18
  * Inject synthetic tool_result messages for any dangling tool_use blocks
@@ -34,24 +23,25 @@ export declare function newAssistantEntityId(prefix: string): string;
34
23
  export declare function flushDanglingToolCalls(llmMessages: LlmMessage[]): void;
35
24
  export declare function throwIfAborted(signal?: AbortSignal): void;
36
25
  export interface AssistantToolCallRequestEnvelope {
37
- type: 'tool_call_request';
38
- text: string;
39
- toolCall: {
40
- name: string;
41
- arguments?: unknown;
42
- };
43
- toolCalls: Array<{
44
- name: string;
45
- arguments?: unknown;
46
- }>;
26
+ type: 'tool_call_request';
27
+ text: string;
28
+ toolCall: {
29
+ name: string;
30
+ arguments?: unknown;
31
+ };
32
+ toolCalls: Array<{
33
+ name: string;
34
+ arguments?: unknown;
35
+ }>;
47
36
  }
48
37
  export declare function chatWithJsonRetry<T>(params: {
49
- agent: AgentConfig;
50
- messages: LlmMessage[];
51
- tools: ToolDef[];
52
- system: string;
53
- parse: (text: string) => T;
54
- toolCallFallbackText: (toolName: string) => string;
55
- signal?: AbortSignal;
38
+ agent: AgentConfig;
39
+ messages: LlmMessage[];
40
+ tools: ToolDef[];
41
+ system: string;
42
+ parse: (text: string) => T;
43
+ toolCallFallbackText: (toolName: string) => string;
44
+ signal?: AbortSignal;
45
+ invalidJsonRetryPrompt?: string;
56
46
  }): Promise<T | AssistantToolCallRequestEnvelope>;
57
- //# sourceMappingURL=assistant-common.d.ts.map
47
+ //# sourceMappingURL=assistant-common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-common.d.ts","sourceRoot":"","sources":["../../src/app-server/assistant-common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAChB,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EACtE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,SAAa,EAChB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAC9B,IAAI,CAON;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,SAA6C,EACpD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAqBZ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAgBtE;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAGzD;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC;IAC3B,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAuDhD"}
1
+ {"version":3,"file":"assistant-common.d.ts","sourceRoot":"","sources":["../../src/app-server/assistant-common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQrE;AAqDD,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAU1E;AAED,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,OAAO,EACpD,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,GAC/B,CAAC,CAoCH;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAChB,MAAM,CAUR;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EACtE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,SAAa,EAChB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAC9B,IAAI,CAON;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAElF;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,cAAc,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,OAAO,SAA6C,EACpD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAqBZ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAgBtE;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAGzD;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC;IAC3B,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAwDhD"}
@@ -12,6 +12,114 @@ export function truncateJson(value, maxChars) {
12
12
  return String(value);
13
13
  }
14
14
  }
15
+ function* extractBalancedJsonCandidates(text) {
16
+ const starts = [];
17
+ for (let i = 0; i < text.length; i += 1) {
18
+ const ch = text[i];
19
+ if (ch === '{')
20
+ starts.push({ idx: i, open: '{', close: '}' });
21
+ if (ch === '[')
22
+ starts.push({ idx: i, open: '[', close: ']' });
23
+ }
24
+ let enclosingCandidateEnd = -1;
25
+ for (const start of starts) {
26
+ if (start.idx <= enclosingCandidateEnd)
27
+ continue;
28
+ let depth = 0;
29
+ let inString = false;
30
+ let escaped = false;
31
+ for (let i = start.idx; i < text.length; i += 1) {
32
+ const ch = text[i];
33
+ if (inString) {
34
+ if (escaped) {
35
+ escaped = false;
36
+ continue;
37
+ }
38
+ if (ch === '\\') {
39
+ escaped = true;
40
+ continue;
41
+ }
42
+ if (ch === '"')
43
+ inString = false;
44
+ continue;
45
+ }
46
+ if (ch === '"') {
47
+ inString = true;
48
+ continue;
49
+ }
50
+ if (ch === start.open)
51
+ depth += 1;
52
+ if (ch === start.close) {
53
+ depth -= 1;
54
+ if (depth === 0) {
55
+ const candidate = text.slice(start.idx, i + 1);
56
+ try {
57
+ JSON.parse(candidate);
58
+ // Keep complete wrappers, not their nested profile or diagnostic arrays.
59
+ enclosingCandidateEnd = i;
60
+ }
61
+ catch {
62
+ // An invalid prose fragment may still contain a complete JSON payload.
63
+ }
64
+ yield candidate;
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ export function extractJsonValuesFromAssistantText(text) {
72
+ const values = [];
73
+ for (const candidate of extractBalancedJsonCandidates(text)) {
74
+ try {
75
+ values.push(JSON.parse(candidate));
76
+ }
77
+ catch {
78
+ // Ignore CSS selectors and explanatory prose containing brackets.
79
+ }
80
+ }
81
+ return values;
82
+ }
83
+ export function parseJsonFromAssistantText(text, validate) {
84
+ const cleaned = text.trim();
85
+ let validationError;
86
+ let validationErrorLength = -1;
87
+ const parseCandidate = (candidate) => {
88
+ const value = JSON.parse(candidate);
89
+ if (!validate)
90
+ return value;
91
+ try {
92
+ return validate(value);
93
+ }
94
+ catch (error) {
95
+ // Keep diagnostics from the most complete candidate, not a nested fragment.
96
+ if (candidate.length > validationErrorLength) {
97
+ validationError = error;
98
+ validationErrorLength = candidate.length;
99
+ }
100
+ throw error;
101
+ }
102
+ };
103
+ try {
104
+ return parseCandidate(cleaned);
105
+ }
106
+ catch {
107
+ const fenced = Array.from(cleaned.matchAll(/```(?:json)?\s*([\s\S]+?)```/gi), (match) => match[1].trim());
108
+ for (const candidates of [fenced, extractBalancedJsonCandidates(cleaned)]) {
109
+ for (const candidate of candidates) {
110
+ try {
111
+ return parseCandidate(candidate);
112
+ }
113
+ catch {
114
+ // CSS selectors and explanatory prose can contain brackets before the JSON.
115
+ }
116
+ }
117
+ }
118
+ if (validationError)
119
+ throw validationError;
120
+ throw new Error('Assistant returned invalid JSON');
121
+ }
122
+ }
15
123
  export function normalizeAssistantToolName(name) {
16
124
  return name.replace(/[^a-zA-Z0-9_-]/g, '_').slice(0, 60) || `tool_${Date.now()}`;
17
125
  }
@@ -92,7 +200,8 @@ export function throwIfAborted(signal) {
92
200
  throw createAbortError();
93
201
  }
94
202
  export async function chatWithJsonRetry(params) {
95
- const invalidJsonRetryPrompt = 'Your previous response did not match the required assistant envelope. Reply ONLY with one JSON object using exactly one of these types: "assistant_message" with fields {"type":"assistant_message","text":"..."}, or "tool_call_request" with fields {"type":"tool_call_request","text":"...","toolCall":{"name":"PUBLIC_TOOL_NAME","arguments":{}}}. Do not use any other type, such as "message", "assistant", or an event type.';
203
+ const invalidJsonRetryPrompt = params.invalidJsonRetryPrompt ??
204
+ 'Your previous response did not match the required assistant envelope. Reply ONLY with one JSON object using exactly one of these types: "assistant_message" with fields {"type":"assistant_message","text":"..."}, or "tool_call_request" with fields {"type":"tool_call_request","text":"...","toolCall":{"name":"PUBLIC_TOOL_NAME","arguments":{}}}. Do not use any other type, such as "message", "assistant", or an event type.';
96
205
  const toToolCallRequest = (response) => {
97
206
  if (!response.tool_calls || response.tool_calls.length === 0)
98
207
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-common.js","sourceRoot":"","sources":["../../src/app-server/assistant-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,QAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,QAAgB,EAChB,IAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,0BAA0B,CAAC,UAAU,CAAC,KAAK,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClG,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,KAAa,EACb,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAChB,QAA+B;IAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,KAAK,EAAE,CAAC;YACxC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;YACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAsC,OAAU;IAC1E,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAAgC,EAChC,SAAiB,EACjB,OAAO,GAAG,6BAA6B,SAAS,IAAI,EACpD,MAAoB;IAEpB,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,aAAwD,CAAC;IAC7D,IAAI,aAAuC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAChB,MAAM;QACN,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/B,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CACvB,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,CACvF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,aAAa;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,MAAM,IAAI,aAAa;YAAE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,EAAE,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAyB;IAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,6DAA6D;iBACtE,CAAC;gBACF,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,SAAS;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO;IAC7B,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,MAQ1C;IACC,MAAM,sBAAsB,GAC1B,qaAAqa,CAAC;IAExa,MAAM,iBAAiB,GAAG,CAAC,QAAmD,EAAE,EAAE;QAChF,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE;SAC9B,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,IAAI,EAAE,mBAA4B;YAClC,IAAI;YACJ,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;aACjC;YACD,SAAS,EAAE,QAAQ;SACpB,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,QAAQ,GAAG,MAAM,aAAa,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IACH,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,aAAa,GAAiB;YAClC,GAAG,MAAM,CAAC,QAAQ;YAClB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAClD,CAAC;QACF,QAAQ,GAAG,MAAM,aAAa,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,aAAa;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"assistant-common.js","sourceRoot":"","sources":["../../src/app-server/assistant-common.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,15 @@
1
1
  import type { IncomingMessage, ServerResponse } from 'node:http';
2
2
  import { type SseEvent } from './jobs.js';
3
- export type AssistantSseEventType =
4
- | 'session_started'
5
- | 'turn_started'
6
- | 'tool_call_requested'
7
- | 'tool_call_approved'
8
- | 'tool_call_denied'
9
- | 'tool_call_resolved'
10
- | 'assistant_message_completed'
11
- | 'session_warning'
12
- | 'session_error'
13
- | 'session_finished';
3
+ export type AssistantSseEventType = 'session_started' | 'turn_started' | 'tool_call_requested' | 'tool_call_approved' | 'tool_call_denied' | 'tool_call_resolved' | 'assistant_message_completed' | 'session_warning' | 'session_error' | 'session_finished';
14
4
  export type AssistantSseEvent = SseEvent & {
15
- type: AssistantSseEventType;
5
+ type: AssistantSseEventType;
16
6
  };
17
7
  export interface AssistantSseSessionState {
18
- events: AssistantSseEvent[];
19
- clients: Set<ServerResponse>;
8
+ events: AssistantSseEvent[];
9
+ clients: Set<ServerResponse>;
20
10
  }
21
- export declare function createAssistantSseEvent(
22
- type: AssistantSseEventType,
23
- payload: Record<string, unknown>
24
- ): AssistantSseEvent;
25
- export declare function broadcastAssistantSseEvent(
26
- session: AssistantSseSessionState,
27
- event: AssistantSseEvent
28
- ): void;
29
- export declare function serveAssistantSseStream(
30
- req: IncomingMessage,
31
- res: ServerResponse,
32
- session: AssistantSseSessionState
33
- ): void;
11
+ export declare function createAssistantSseEvent(type: AssistantSseEventType, payload: Record<string, unknown>): AssistantSseEvent;
12
+ export declare function broadcastAssistantSseEvent(session: AssistantSseSessionState, event: AssistantSseEvent): void;
13
+ export declare function serveAssistantSseStream(req: IncomingMessage, res: ServerResponse, session: AssistantSseSessionState): void;
34
14
  export declare function endAssistantSseClients(session: AssistantSseSessionState): void;
35
- //# sourceMappingURL=assistant-events.d.ts.map
15
+ //# sourceMappingURL=assistant-events.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  interface BrowserLaunchDeps {
3
- platform?: NodeJS.Platform;
4
- spawn?: typeof spawn;
3
+ platform?: NodeJS.Platform;
4
+ spawn?: typeof spawn;
5
5
  }
6
6
  export declare function startBrowser(url: string, deps?: BrowserLaunchDeps): void;
7
7
  export {};
8
- //# sourceMappingURL=browser-launch.d.ts.map
8
+ //# sourceMappingURL=browser-launch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launch.js","sourceRoot":"","sources":["../../src/app-server/browser-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,OAA0B,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACjF,OAAO;IACT,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"browser-launch.js","sourceRoot":"","sources":["../../src/app-server/browser-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,IAAI,GAAsB,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACjF,OAAO;IACT,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type BrowserProviderProfile, type LlmAgentConfig } from '@inspectr/mcplab-core';
2
+ export interface BrowserProviderLearningTraceInput {
3
+ evidenceVersion?: unknown;
4
+ observedGeneration?: unknown;
5
+ selectorValidation?: unknown;
6
+ newConversationEvidence?: unknown;
7
+ events?: unknown;
8
+ }
9
+ export interface BrowserProviderProposal {
10
+ profile: BrowserProviderProfile;
11
+ rationale: string[];
12
+ warnings: string[];
13
+ validated: true;
14
+ }
15
+ export declare function sanitizeBrowserProviderProposalDiagnostics(value: unknown): {
16
+ rationale: string[];
17
+ warnings: string[];
18
+ };
19
+ export declare function sanitizeBrowserProviderLearningTrace(value: BrowserProviderLearningTraceInput): Record<string, unknown>;
20
+ export declare function parseBrowserProviderProposal(text: string, trace?: BrowserProviderLearningTraceInput): BrowserProviderProposal;
21
+ export declare function proposeBrowserProviderProfile(params: {
22
+ agent: LlmAgentConfig;
23
+ profile: BrowserProviderProfile;
24
+ trace: BrowserProviderLearningTraceInput;
25
+ }): Promise<BrowserProviderProposal>;
26
+ //# sourceMappingURL=browser-provider-learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-provider-learning.d.ts","sourceRoot":"","sources":["../../src/app-server/browser-provider-learning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASzF,MAAM,WAAW,iCAAiC;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,wBAAgB,0CAA0C,CAAC,KAAK,EAAE,OAAO,GAAG;IAC1E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAUA;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,iCAAiC,GACvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2MzB;AAkGD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,iCAAiC,GACxC,uBAAuB,CA4CzB;AAED,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAC1D,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC;IAChC,KAAK,EAAE,iCAAiC,CAAC;CAC1C,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmCnC"}