experimental-ash 0.2.0-alpha.6 → 0.2.0-alpha.8

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 (32) hide show
  1. package/dist/src/execution/node-step.d.ts.map +1 -1
  2. package/dist/src/execution/node-step.js +27 -36
  3. package/dist/src/execution/node-step.js.map +1 -1
  4. package/dist/src/harness/execute-tool.d.ts +38 -0
  5. package/dist/src/harness/execute-tool.d.ts.map +1 -0
  6. package/dist/src/harness/execute-tool.js +59 -0
  7. package/dist/src/harness/execute-tool.js.map +1 -0
  8. package/dist/src/harness/provider-tools.d.ts +2 -2
  9. package/dist/src/harness/provider-tools.js +2 -2
  10. package/dist/src/harness/tool-loop.d.ts.map +1 -1
  11. package/dist/src/harness/tool-loop.js +13 -3
  12. package/dist/src/harness/tool-loop.js.map +1 -1
  13. package/dist/src/harness/tools.d.ts +3 -3
  14. package/dist/src/harness/tools.d.ts.map +1 -1
  15. package/dist/src/harness/tools.js +11 -6
  16. package/dist/src/harness/tools.js.map +1 -1
  17. package/dist/src/harness/types.d.ts +8 -3
  18. package/dist/src/harness/types.d.ts.map +1 -1
  19. package/dist/src/internal/application/package.js +1 -1
  20. package/dist/src/internal/nitro/routes/index.d.ts +1 -0
  21. package/dist/src/internal/nitro/routes/index.d.ts.map +1 -1
  22. package/dist/src/internal/nitro/routes/index.js +21 -1
  23. package/dist/src/internal/nitro/routes/index.js.map +1 -1
  24. package/dist/src/internal/nitro/routes/web-ui/assets/index.js +1 -1
  25. package/dist/src/public/index.d.ts +2 -1
  26. package/dist/src/public/index.d.ts.map +1 -1
  27. package/dist/src/public/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/src/runtime/tools/execute-tool.d.ts +0 -20
  30. package/dist/src/runtime/tools/execute-tool.d.ts.map +0 -1
  31. package/dist/src/runtime/tools/execute-tool.js +0 -90
  32. package/dist/src/runtime/tools/execute-tool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node-step.d.ts","sourceRoot":"","sources":["../../../src/execution/node-step.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAQpE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,KAAK,OAAO,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;IACjE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;CACzC;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAoBnF"}
1
+ {"version":3,"file":"node-step.d.ts","sourceRoot":"","sources":["../../../src/execution/node-step.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAOpE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE;IACnC,QAAQ,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,KAAK,OAAO,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;IACjE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;CACzC;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAoBnF"}
@@ -1,7 +1,6 @@
1
1
  import { createToolLoopHarness } from "../harness/tool-loop.js";
2
2
  import { resolveInstalledPackageInfo } from "../internal/application/package.js";
3
3
  import { resolveRuntimeModelReference } from "../runtime/agent/resolve-model.js";
4
- import { executeRuntimeToolCall } from "../runtime/tools/execute-tool.js";
5
4
  import { findRegisteredRuntimeTool } from "../runtime/tools/registry.js";
6
5
  import { createSubagentToolExecutor } from "./subagent-tool.js";
7
6
  import { createToolCompactionHandler } from "./tool-compaction.js";
@@ -13,7 +12,7 @@ const NOOP_EMIT = async () => { };
13
12
  export function createExecutionNodeStep(input) {
14
13
  const parentEmit = input.emit ?? NOOP_EMIT;
15
14
  const resolveModel = createRuntimeModelResolver(input.compiledArtifactsSource);
16
- const toolExecutors = createNodeToolExecutors({
15
+ const executableTools = createNodeExecutableTools({
17
16
  createRuntime: input.createRuntime,
18
17
  node: input.node,
19
18
  parentEmit,
@@ -26,7 +25,7 @@ export function createExecutionNodeStep(input) {
26
25
  onCompaction,
27
26
  resolveModel,
28
27
  runtimeIdentity: buildRuntimeIdentity(input.node),
29
- toolExecutors,
28
+ executableTools,
30
29
  toolNeedsApprovalFns,
31
30
  });
32
31
  }
@@ -79,52 +78,44 @@ function createRuntimeModelResolver(compiledArtifactsSource) {
79
78
  compiledArtifactsSource,
80
79
  });
81
80
  }
82
- function createNodeToolExecutors(input) {
83
- const executors = new Map();
81
+ function createNodeExecutableTools(input) {
82
+ const tools = new Map();
84
83
  for (const tool of input.node.turnAgent.tools) {
85
- if (!isExecutablePreparedTool({ node: input.node, tool })) {
86
- continue;
87
- }
88
- executors.set(tool.name, createToolExecutor({
84
+ const definition = resolveExecutableToolDefinition({
89
85
  createRuntime: input.createRuntime,
90
86
  node: input.node,
91
87
  parentEmit: input.parentEmit,
92
88
  tool,
93
- }));
89
+ });
90
+ if (definition !== null) {
91
+ tools.set(tool.name, definition);
92
+ }
94
93
  }
95
- return executors;
94
+ return tools;
96
95
  }
97
- function isExecutablePreparedTool(input) {
96
+ function resolveExecutableToolDefinition(input) {
98
97
  if (input.tool.kind === "subagent") {
99
- return true;
98
+ return {
99
+ execute: createSubagentToolExecutor({
100
+ createRuntime: input.createRuntime,
101
+ parentEmit: input.parentEmit,
102
+ subagentTool: input.tool,
103
+ }),
104
+ name: input.tool.name,
105
+ };
100
106
  }
101
107
  const registeredTool = findRegisteredRuntimeTool(input.node.toolRegistry, input.tool.name);
102
108
  if (registeredTool === null) {
103
- return false;
109
+ return null;
104
110
  }
105
- return registeredTool.definition.execute !== undefined;
106
- }
107
- function createToolExecutor(input) {
108
- if (input.tool.kind === "subagent") {
109
- return createSubagentToolExecutor({
110
- createRuntime: input.createRuntime,
111
- parentEmit: input.parentEmit,
112
- subagentTool: input.tool,
113
- });
111
+ const execute = registeredTool.definition.execute;
112
+ if (execute === undefined) {
113
+ return null;
114
114
  }
115
- return async (args) => {
116
- const callId = crypto.randomUUID();
117
- const toolResult = await executeRuntimeToolCall({
118
- action: {
119
- callId,
120
- input: (args ?? {}),
121
- kind: "tool-call",
122
- toolName: input.tool.name,
123
- },
124
- registry: input.node.toolRegistry,
125
- visibleTools: input.node.toolRegistry.preparedTools,
126
- });
127
- return toolResult.output;
115
+ return {
116
+ execute,
117
+ inputValidator: registeredTool.definition.inputValidator,
118
+ name: input.tool.name,
128
119
  };
129
120
  }
130
121
  //# sourceMappingURL=node-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-step.js","sourceRoot":"","sources":["../../../src/execution/node-step.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-step.js","sourceRoot":"","sources":["../../../src/execution/node-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type JsonValue } from "../runtime/json.js";
2
+ import type { StandardSchemaValidator } from "../runtime/standard-schema.js";
3
+ /**
4
+ * Harness-owned definition of an authored tool ready for execution.
5
+ *
6
+ * Carries just the pieces the harness needs — no registry metadata, no
7
+ * serializable descriptors. The execution layer resolves a
8
+ * {@link ResolvedToolDefinition} into this shape before handing it off.
9
+ */
10
+ export interface ExecutableToolDefinition {
11
+ readonly execute: (input: unknown) => Promise<unknown> | unknown;
12
+ readonly inputValidator?: StandardSchemaValidator;
13
+ readonly name: string;
14
+ }
15
+ /**
16
+ * Result of executing one authored tool through the harness.
17
+ */
18
+ export type ToolExecutionResult = {
19
+ readonly ok: false;
20
+ readonly code: string;
21
+ readonly message: string;
22
+ } | {
23
+ readonly ok: true;
24
+ readonly output: JsonValue;
25
+ };
26
+ /**
27
+ * Executes one authored tool call through the harness-owned pipeline.
28
+ *
29
+ * Validates input (when an {@link ExecutableToolDefinition.inputValidator} is
30
+ * present), invokes the authored `execute` function, and validates that the
31
+ * returned value is JSON-serializable.
32
+ *
33
+ * The unified Ash context is already active when this function is called
34
+ * (the caller runs inside the execution layer's ALS scope), so authored code
35
+ * can access `getSession()`, `getSandbox()`, etc. directly.
36
+ */
37
+ export declare function executeAuthoredTool(definition: ExecutableToolDefinition, input: unknown): Promise<ToolExecutionResult>;
38
+ //# sourceMappingURL=execute-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-tool.d.ts","sourceRoot":"","sources":["../../../src/harness/execute-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAM7E;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,wBAAwB,EACpC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,mBAAmB,CAAC,CA8C9B"}
@@ -0,0 +1,59 @@
1
+ import { isJsonValue } from "../runtime/json.js";
2
+ import { formatStandardSchemaIssues, validateStandardSchemaValue, } from "../runtime/standard-schema.js";
3
+ /**
4
+ * Executes one authored tool call through the harness-owned pipeline.
5
+ *
6
+ * Validates input (when an {@link ExecutableToolDefinition.inputValidator} is
7
+ * present), invokes the authored `execute` function, and validates that the
8
+ * returned value is JSON-serializable.
9
+ *
10
+ * The unified Ash context is already active when this function is called
11
+ * (the caller runs inside the execution layer's ALS scope), so authored code
12
+ * can access `getSession()`, `getSandbox()`, etc. directly.
13
+ */
14
+ export async function executeAuthoredTool(definition, input) {
15
+ let parsedInput = input;
16
+ if (definition.inputValidator !== undefined) {
17
+ let validationResult;
18
+ try {
19
+ validationResult = await validateStandardSchemaValue(definition.inputValidator, parsedInput);
20
+ }
21
+ catch (error) {
22
+ return {
23
+ code: "TOOL_INPUT_VALIDATION_FAILED",
24
+ message: formatErrorMessage(error),
25
+ ok: false,
26
+ };
27
+ }
28
+ if (!validationResult.ok) {
29
+ return {
30
+ code: "TOOL_INPUT_INVALID",
31
+ message: `Tool "${definition.name}" received invalid input: ${formatStandardSchemaIssues(validationResult.issues)}.`,
32
+ ok: false,
33
+ };
34
+ }
35
+ parsedInput = validationResult.value;
36
+ }
37
+ try {
38
+ const output = await definition.execute(parsedInput);
39
+ if (!isJsonValue(output)) {
40
+ return {
41
+ code: "TOOL_OUTPUT_NOT_SERIALIZABLE",
42
+ message: `Tool "${definition.name}" returned a non-JSON-serializable value.`,
43
+ ok: false,
44
+ };
45
+ }
46
+ return { ok: true, output };
47
+ }
48
+ catch (error) {
49
+ return {
50
+ code: "TOOL_EXECUTION_FAILED",
51
+ message: formatErrorMessage(error),
52
+ ok: false,
53
+ };
54
+ }
55
+ }
56
+ function formatErrorMessage(error) {
57
+ return error instanceof Error ? error.message : String(error);
58
+ }
59
+ //# sourceMappingURL=execute-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-tool.js","sourceRoot":"","sources":["../../../src/harness/execute-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAsBvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAoC,EACpC,KAAc;IAEd,IAAI,WAAW,GAAY,KAAK,CAAC;IAEjC,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,gBAAyE,CAAC;QAE9E,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,2BAA2B,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;gBAClC,EAAE,EAAE,KAAK;aACV,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,SAAS,UAAU,CAAC,IAAI,6BAA6B,0BAA0B,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG;gBACpH,EAAE,EAAE,KAAK;aACV,CAAC;QACJ,CAAC;QAED,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,SAAS,UAAU,CAAC,IAAI,2CAA2C;gBAC5E,EAAE,EAAE,KAAK;aACV,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;YAClC,EAAE,EAAE,KAAK;SACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -9,8 +9,8 @@ type WebSearchBackend = "anthropic" | "gateway" | "google" | "openai";
9
9
  *
10
10
  * - OpenAI models (gateway or BYO): native OpenAI search
11
11
  * - Anthropic models (gateway or BYO): native Anthropic search
12
- * - Google models (gateway or BYO): native Google search grounding
13
- * - Other models on AI Gateway: Perplexity search via gateway
12
+ * - Direct/BYO Google models: native Google search grounding
13
+ * - Other models on AI Gateway (including `google/...`): Perplexity search via gateway
14
14
  * - Other BYO models: not available (returns `null`)
15
15
  */
16
16
  export declare function resolveWebSearchBackend(modelRef: RuntimeModelReference): WebSearchBackend | null;
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * - OpenAI models (gateway or BYO): native OpenAI search
5
5
  * - Anthropic models (gateway or BYO): native Anthropic search
6
- * - Google models (gateway or BYO): native Google search grounding
7
- * - Other models on AI Gateway: Perplexity search via gateway
6
+ * - Direct/BYO Google models: native Google search grounding
7
+ * - Other models on AI Gateway (including `google/...`): Perplexity search via gateway
8
8
  * - Other BYO models: not available (returns `null`)
9
9
  */
10
10
  export function resolveWebSearchBackend(modelRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../../src/harness/tool-loop.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAEV,MAAM,EAGN,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CA0P3E"}
1
+ {"version":3,"file":"tool-loop.d.ts","sourceRoot":"","sources":["../../../src/harness/tool-loop.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAEV,MAAM,EAGN,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAuQ3E"}
@@ -93,7 +93,7 @@ export function createToolLoopHarness(config) {
93
93
  const tools = await buildToolSetWithProviderTools({
94
94
  approvedTools: getApprovedTools(session),
95
95
  definitions: session.agent.tools,
96
- executors: config.toolExecutors,
96
+ executableTools: config.executableTools,
97
97
  isRoot: session.agent.isRoot,
98
98
  modelReference: session.agent.modelReference,
99
99
  needsApprovalFns: config.toolNeedsApprovalFns,
@@ -145,8 +145,9 @@ export function createToolLoopHarness(config) {
145
145
  lastKnownInputTokens: result.usage?.inputTokens,
146
146
  },
147
147
  };
148
+ const finishReason = normalizeAssistantStepFinishReason(result.finishReason);
148
149
  const completedStepOutput = {
149
- finishReason: normalizeAssistantStepFinishReason(result.finishReason),
150
+ finishReason,
150
151
  message: stepOutput,
151
152
  reasoning: result.reasoningText,
152
153
  };
@@ -187,7 +188,16 @@ export function createToolLoopHarness(config) {
187
188
  ...baseSession,
188
189
  history: updatedHistory,
189
190
  };
190
- const continueLoop = runtimeActionToolCalls.length > 0 || hasDeferredStepInput(nextSession);
191
+ // Continue the tool loop when:
192
+ // 1. The model explicitly requested tool calls (finish reason is "tool-calls"),
193
+ // meaning it expects to process the results before producing a final response.
194
+ // 2. The last response message is a "tool" role message, indicating tool execution
195
+ // occurred and the model needs another step to incorporate those results.
196
+ // 3. There is deferred step input (e.g. a user message that was parked while
197
+ // waiting for tool approval) that still needs to be fed into the next step.
198
+ const continueLoop = finishReason === "tool-calls" ||
199
+ responseMessages.at(-1)?.role === "tool" ||
200
+ hasDeferredStepInput(nextSession);
191
201
  if (emit) {
192
202
  if (runtimeActionToolCalls.length > 0) {
193
203
  await emitToolCallActionsAndResults(emit, emissionState, {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../../src/harness/tool-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,EACX,aAAa,GAEd,MAAM,IAAI,CAAC;AAEZ,OAAO,EAEL,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAS3D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,KAAK,UAAU,OAAO,CACpB,cAA+C,EAC/C,KAAiB;QAEjB,IAAI,OAAO,GAAG,cAAc,CAAC;QAC7B,IAAI,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAErD,qEAAqE;QACrE,MAAM,SAAS,GAAG,wBAAwB,CAAC;YACzC,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAE5B,yDAAyD;QACzD,gEAAgE;QAChE,iEAAiE;QACjE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAE7E,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,aAAa,GAAG,MAAM,gBAAgB,CACpC,IAAI,EACJ,KAAK,IAAI,EAAE,EACX,aAAa,EACb,MAAM,CAAC,eAAe,CACvB,CAAC;YACF,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,QAAQ,GAAmB,OAAO,CAAC,QAAQ,CAAC;QAEhD,iFAAiF;QACjF,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,yBAAyB,CAC/C,SAAS,CAAC,IAAI,KAAK,cAAc;YAC/B,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;YACvE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CACjD,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;gBAC9C,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB;gBAChE,KAAK;gBACL,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,8BAA8B,CAAC;oBAC7B,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,SAAS,EAAE,EAAE;oBACb,gBAAgB,EAAE,CAAC;oBACnB,MAAM,EAAE,aAAa,CAAC,MAAM;oBAC5B,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;iBACnE,CAAC,CACH,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,MAAM,eAAe,CAC9B,QAAQ,EACR,UAAU,CAAC,KAAK,EAChB,OAAO,CAAC,UAAU,EAClB,UAAU,CAAC,eAAe,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,8BAA8B,CAAC;oBAC7B,mBAAmB,EAAE,CAAC;oBACtB,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC7B,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,6BAA6B,CAAC;YAChD,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;YACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAChC,SAAS,EAAE,MAAM,CAAC,aAAa;YAC/B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;YAC5C,gBAAgB,EAAE,MAAM,CAAC,oBAAoB;SAC9C,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,WAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,cAAc,GAAG,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS;YAC/C,KAAK;YACL,WAAW;YACX,eAAe;YACf,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACxB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QAEH,IAAI,MAAsD,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,oBAAoB,CAAC;oBACnB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/D,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,EAAE;iBACd,CAAC,CACH,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACzD,CAAC;QACF,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;YACpD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QACH,MAAM,aAAa,GAAmB,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC;QACjF,MAAM,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3F,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;aAChD;SACF,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,YAAY,EAAE,kCAAkC,CAAC,MAAM,CAAC,YAAY,CAAC;YACrE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,MAAM,CAAC,aAAa;SAChC,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,aAAa,GAAG,oBAAoB,CAAC;gBACvC,QAAQ,EAAE,aAAa;gBACvB,gBAAgB;gBAChB,OAAO,EAAE;oBACP,GAAG,WAAW;oBACd,OAAO,EAAE,QAAQ;iBAClB;aACF,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE;wBACvD,SAAS,EAAE,sBAAsB;wBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;gBAExE,MAAM,IAAI,CACR,yBAAyB,CAAC;oBACxB,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC7B,CAAC,CACH,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACnC,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvF,aAAa,GAAG,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,aAAa;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAmB,CAAC,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAC1E,IAAI,WAAW,GAAmB;YAChC,GAAG,WAAW;YACd,OAAO,EAAE,cAAc;SACxB,CAAC;QACF,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE5F,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE;oBACvD,SAAS,EAAE,sBAAsB;oBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;YAExE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACzF,CAAC;YAED,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9E,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,yBAAyB,CAChC,KAGa;IAEb,OAAO,KAA0E,CAAC;AACpF,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAyB;IACnE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,KAAK,CAAC;QACf;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tool-loop.js","sourceRoot":"","sources":["../../../src/harness/tool-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,EACX,aAAa,GAEd,MAAM,IAAI,CAAC;AAEZ,OAAO,EAEL,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAS3D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzB,KAAK,UAAU,OAAO,CACpB,cAA+C,EAC/C,KAAiB;QAEjB,IAAI,OAAO,GAAG,cAAc,CAAC;QAC7B,IAAI,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAErD,qEAAqE;QACrE,MAAM,SAAS,GAAG,wBAAwB,CAAC;YACzC,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAE5B,yDAAyD;QACzD,gEAAgE;QAChE,iEAAiE;QACjE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAE7E,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,aAAa,GAAG,MAAM,gBAAgB,CACpC,IAAI,EACJ,KAAK,IAAI,EAAE,EACX,aAAa,EACb,MAAM,CAAC,eAAe,CACvB,CAAC;YACF,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,QAAQ,GAAmB,OAAO,CAAC,QAAQ,CAAC;QAEhD,iFAAiF;QACjF,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,yBAAyB,CAC/C,SAAS,CAAC,IAAI,KAAK,cAAc;YAC/B,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;YACvE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CACjD,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;gBAC9C,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB;gBAChE,KAAK;gBACL,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,8BAA8B,CAAC;oBAC7B,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,SAAS,EAAE,EAAE;oBACb,gBAAgB,EAAE,CAAC;oBACnB,MAAM,EAAE,aAAa,CAAC,MAAM;oBAC5B,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;iBACnE,CAAC,CACH,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,MAAM,eAAe,CAC9B,QAAQ,EACR,UAAU,CAAC,KAAK,EAChB,OAAO,CAAC,UAAU,EAClB,UAAU,CAAC,eAAe,CAC3B,CAAC;YAEF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,8BAA8B,CAAC;oBAC7B,mBAAmB,EAAE,CAAC;oBACtB,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;oBACxC,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC7B,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,6BAA6B,CAAC;YAChD,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;YACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAChC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAC5B,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;YAC5C,gBAAgB,EAAE,MAAM,CAAC,oBAAoB;SAC9C,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,WAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,cAAc,GAAG,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7D,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS;YAC/C,KAAK;YACL,WAAW;YACX,eAAe;YACf,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACxB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QAEH,IAAI,MAAsD,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,CACR,oBAAoB,CAAC;oBACnB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/D,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,EAAE;iBACd,CAAC,CACH,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7F,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CACzD,CAAC;QACF,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;YACpD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QACH,MAAM,aAAa,GAAmB,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC;QACjF,MAAM,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3F,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU;gBACrB,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;aAChD;SACF,CAAC;QAEF,MAAM,YAAY,GAAG,kCAAkC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE7E,MAAM,mBAAmB,GAAG;YAC1B,YAAY;YACZ,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,MAAM,CAAC,aAAa;SAChC,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,aAAa,GAAG,oBAAoB,CAAC;gBACvC,QAAQ,EAAE,aAAa;gBACvB,gBAAgB;gBAChB,OAAO,EAAE;oBACP,GAAG,WAAW;oBACd,OAAO,EAAE,QAAQ;iBAClB;aACF,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE;wBACvD,SAAS,EAAE,sBAAsB;wBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;gBAExE,MAAM,IAAI,CACR,yBAAyB,CAAC;oBACxB,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,MAAM,EAAE,aAAa,CAAC,MAAM;iBAC7B,CAAC,CACH,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACnC,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvF,aAAa,GAAG,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,aAAa;aACvB,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAmB,CAAC,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAC1E,IAAI,WAAW,GAAmB;YAChC,GAAG,WAAW;YACd,OAAO,EAAE,cAAc;SACxB,CAAC;QAEF,+BAA+B;QAC/B,gFAAgF;QAChF,kFAAkF;QAClF,mFAAmF;QACnF,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,MAAM,YAAY,GAChB,YAAY,KAAK,YAAY;YAC7B,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;YACxC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE;oBACvD,SAAS,EAAE,sBAAsB;oBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;YAExE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACzF,CAAC;YAED,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9E,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,yBAAyB,CAChC,KAGa;IAEb,OAAO,KAA0E,CAAC;AACpF,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAyB;IACnE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,KAAK,CAAC;QACf;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type ToolSet } from "ai";
2
2
  import type { NeedsApprovalContext } from "../public/definitions/tool.js";
3
3
  import type { RuntimeModelReference } from "../runtime/agent/bootstrap.js";
4
- import type { SessionToolDefinition, ToolExecutorMap } from "./types.js";
4
+ import type { ExecutableToolMap, SessionToolDefinition } from "./types.js";
5
5
  /**
6
6
  * Builds an AI SDK `ToolSet` from serializable session definitions and an
7
7
  * executor map that provides the actual execute functions.
@@ -9,7 +9,7 @@ import type { SessionToolDefinition, ToolExecutorMap } from "./types.js";
9
9
  export declare function buildToolSet(input: {
10
10
  readonly approvedTools?: ReadonlySet<string>;
11
11
  readonly definitions: readonly SessionToolDefinition[];
12
- readonly executors: ToolExecutorMap;
12
+ readonly executableTools: ExecutableToolMap;
13
13
  readonly isRoot?: boolean;
14
14
  readonly needsApprovalFns?: ReadonlyMap<string, (ctx: NeedsApprovalContext) => boolean>;
15
15
  }): ToolSet;
@@ -30,7 +30,7 @@ export declare function buildToolSet(input: {
30
30
  export declare function buildToolSetWithProviderTools(input: {
31
31
  readonly approvedTools?: ReadonlySet<string>;
32
32
  readonly definitions: readonly SessionToolDefinition[];
33
- readonly executors: ToolExecutorMap;
33
+ readonly executableTools: ExecutableToolMap;
34
34
  readonly isRoot?: boolean;
35
35
  readonly modelReference: RuntimeModelReference;
36
36
  readonly needsApprovalFns?: ReadonlyMap<string, (ctx: NeedsApprovalContext) => boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/harness/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAQ,MAAM,IAAI,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAI3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC;CACzF,GAAG,OAAO,CA6CV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC;CACzF,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBnB"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/harness/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAQ,MAAM,IAAI,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAK3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC;CACzF,GAAG,OAAO,CAmDV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC;CACzF,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBnB"}
@@ -1,5 +1,6 @@
1
1
  import { jsonSchema, tool } from "ai";
2
2
  import { WEB_SEARCH_TOOL_DEFINITION } from "../runtime/framework-tools/web-search.js";
3
+ import { executeAuthoredTool } from "./execute-tool.js";
3
4
  import { resolveWebSearchBackend, resolveWebSearchProviderTool } from "./provider-tools.js";
4
5
  import { normalizeToolInputSchema } from "./tool-schema.js";
5
6
  /**
@@ -26,12 +27,16 @@ export function buildToolSet(input) {
26
27
  return required;
27
28
  },
28
29
  };
29
- const execute = input.executors.get(definition.name);
30
- if (execute !== undefined) {
30
+ const executableTool = input.executableTools.get(definition.name);
31
+ if (executableTool !== undefined) {
31
32
  tools[definition.name] = tool({
32
33
  ...baseToolDefinition,
33
34
  execute: async (rawInput) => {
34
- return (await execute(rawInput));
35
+ const result = await executeAuthoredTool(executableTool, rawInput);
36
+ if (!result.ok) {
37
+ return { code: result.code, message: result.message };
38
+ }
39
+ return result.output;
35
40
  },
36
41
  });
37
42
  continue;
@@ -59,15 +64,15 @@ export async function buildToolSetWithProviderTools(input) {
59
64
  ...buildToolSet({
60
65
  approvedTools: input.approvedTools,
61
66
  definitions: input.definitions,
62
- executors: input.executors,
67
+ executableTools: input.executableTools,
63
68
  isRoot: input.isRoot,
64
69
  needsApprovalFns: input.needsApprovalFns,
65
70
  }),
66
71
  };
67
72
  // Inject the real provider tool for web_search when the execution layer
68
- // skipped its executor (i.e. the framework definition uses the sentinel).
73
+ // skipped its executable definition (i.e. the framework definition uses the sentinel).
69
74
  const hasWebSearchInSession = input.definitions.some((t) => t.name === WEB_SEARCH_TOOL_DEFINITION.name);
70
- if (hasWebSearchInSession && !input.executors.has(WEB_SEARCH_TOOL_DEFINITION.name)) {
75
+ if (hasWebSearchInSession && !input.executableTools.has(WEB_SEARCH_TOOL_DEFINITION.name)) {
71
76
  const backend = resolveWebSearchBackend(input.modelReference);
72
77
  if (backend !== null) {
73
78
  tools[WEB_SEARCH_TOOL_DEFINITION.name] = await resolveWebSearchProviderTool(backend);
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/harness/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/harness/tools.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type { RunMode } from "../run-mode.js";
6
6
  import type { RuntimeModelReference } from "../runtime/agent/bootstrap.js";
7
7
  import type { InputResponse } from "../runtime/input/types.js";
8
8
  import type { JsonValue } from "../runtime/json.js";
9
+ import type { ExecutableToolDefinition } from "./execute-tool.js";
9
10
  /**
10
11
  * Serializable tool definition stored on the session.
11
12
  *
@@ -104,9 +105,13 @@ export interface StepResult {
104
105
  */
105
106
  export type StepFn = (session: HarnessSession, input?: StepInput) => Promise<StepResult>;
106
107
  /**
107
- * Map from tool name to its execute function.
108
+ * Map from tool name to its executable definition.
109
+ *
110
+ * The harness runs each definition through {@link executeAuthoredTool} at call
111
+ * time, which handles input validation, output serialization checks, and error
112
+ * wrapping.
108
113
  */
109
- export type ToolExecutorMap = ReadonlyMap<string, (args: unknown) => Promise<unknown>>;
114
+ export type ExecutableToolMap = ReadonlyMap<string, ExecutableToolDefinition>;
110
115
  /**
111
116
  * Callback that writes one event to the event stream.
112
117
  *
@@ -145,7 +150,7 @@ export interface ToolLoopHarnessConfig {
145
150
  * authoritative server-side metadata.
146
151
  */
147
152
  readonly runtimeIdentity?: RuntimeIdentity;
148
- readonly toolExecutors: ToolExecutorMap;
153
+ readonly executableTools: ExecutableToolMap;
149
154
  readonly toolNeedsApprovalFns?: ReadonlyMap<string, (ctx: NeedsApprovalContext) => boolean>;
150
155
  }
151
156
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/harness/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/harness/types.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ASH_PACKAGE_NAME } from "../../package-name.js";
6
6
  let cachedPackageInfo;
7
7
  // The package build stamps the published version into `dist` so bundled
8
8
  // deployments can still report package metadata without resolving package.json.
9
- const BUNDLED_FALLBACK_PACKAGE_VERSION = "0.2.0-alpha.6";
9
+ const BUNDLED_FALLBACK_PACKAGE_VERSION = "0.2.0-alpha.8";
10
10
  const BUNDLED_FALLBACK_PACKAGE_VERSION_PLACEHOLDER = "__ASH_PACKAGE_VERSION_PLACEHOLDER__";
11
11
  function resolveFallbackPackageVersion() {
12
12
  return BUNDLED_FALLBACK_PACKAGE_VERSION === BUNDLED_FALLBACK_PACKAGE_VERSION_PLACEHOLDER
@@ -2,6 +2,7 @@
2
2
  * Builds the package-owned home page response for one resolved application.
3
3
  */
4
4
  export declare function handleHomePageRequest(input?: {
5
+ agentInfoOnlyMode?: boolean;
5
6
  homePageHtml?: string;
6
7
  }): Promise<Response>;
7
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/nitro/routes/index.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED;;GAEG;8BACsB,OAAO,CAAC,QAAQ,CAAC;AAA1C,wBAEE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/nitro/routes/index.ts"],"names":[],"mappings":"AAyCA;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GACjE,OAAO,CAAC,QAAQ,CAAC,CAYnB;AAED;;GAEG;8BACsB,OAAO,CAAC,QAAQ,CAAC;AAA1C,wBAEE"}
@@ -9,11 +9,31 @@ function resolveConfiguredHomePageHtml(configuredHomePageHtml) {
9
9
  }
10
10
  return runtimeConfiguration.homePageHtml;
11
11
  }
12
+ function resolveAgentInfoOnlyMode(configuredAgentInfoOnlyMode) {
13
+ if (typeof configuredAgentInfoOnlyMode === "boolean") {
14
+ return configuredAgentInfoOnlyMode;
15
+ }
16
+ return process.env.VERCEL === "1";
17
+ }
18
+ function injectHomePageRuntimeFlags(input) {
19
+ const runtimeFlagsScript = `<script>globalThis.__ASH_UI_AGENT_INFO_ONLY_MODE__=${input.agentInfoOnlyMode ? "true" : "false"};</script>`;
20
+ if (input.homePageHtml.includes("</head>")) {
21
+ return input.homePageHtml.replace("</head>", `${runtimeFlagsScript}</head>`);
22
+ }
23
+ if (input.homePageHtml.includes("</body>")) {
24
+ return input.homePageHtml.replace("</body>", `${runtimeFlagsScript}</body>`);
25
+ }
26
+ return `${runtimeFlagsScript}${input.homePageHtml}`;
27
+ }
12
28
  /**
13
29
  * Builds the package-owned home page response for one resolved application.
14
30
  */
15
31
  export async function handleHomePageRequest(input = {}) {
16
- return new Response(resolveConfiguredHomePageHtml(input.homePageHtml), {
32
+ const homePageHtml = injectHomePageRuntimeFlags({
33
+ agentInfoOnlyMode: resolveAgentInfoOnlyMode(input.agentInfoOnlyMode),
34
+ homePageHtml: resolveConfiguredHomePageHtml(input.homePageHtml),
35
+ });
36
+ return new Response(homePageHtml, {
17
37
  headers: {
18
38
  "cache-control": "no-store",
19
39
  "content-type": "text/html; charset=utf-8",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/nitro/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,SAAS,6BAA6B,CAAC,sBAA+B;IACpE,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,oBAAoB,GAAG,gCAAgC,EAAE,CAAC;IAEhE,IAAI,OAAO,oBAAoB,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAmC,EAAE;IAErC,OAAO,IAAI,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QACrE,OAAO,EAAE;YACP,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,0BAA0B;SAC3C;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,eAAe,KAAK,IAAuB,EAAE;IAC3C,OAAO,MAAM,qBAAqB,EAAE,CAAC;AACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/nitro/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAE/E,SAAS,6BAA6B,CAAC,sBAA+B;IACpE,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,oBAAoB,GAAG,gCAAgC,EAAE,CAAC;IAEhE,IAAI,OAAO,oBAAoB,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,2BAAqC;IACrE,IAAI,OAAO,2BAA2B,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAGnC;IACC,MAAM,kBAAkB,GAAG,sDAAsD,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC;IAExI,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,kBAAkB,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,kBAAkB,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,GAAG,kBAAkB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgE,EAAE;IAElE,MAAM,YAAY,GAAG,0BAA0B,CAAC;QAC9C,iBAAiB,EAAE,wBAAwB,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACpE,YAAY,EAAE,6BAA6B,CAAC,KAAK,CAAC,YAAY,CAAC;KAChE,CAAC,CAAC;IAEH,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE;YACP,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,0BAA0B;SAC3C;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,eAAe,KAAK,IAAuB,EAAE;IAC3C,OAAO,MAAM,qBAAqB,EAAE,CAAC;AACvC,CAAC,CAAC"}