veryfront 0.1.1124 → 0.1.1126

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 (41) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/agent/ag-ui/browser-encoder.d.ts.map +1 -1
  3. package/esm/src/agent/ag-ui/browser-encoder.js +3 -0
  4. package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
  5. package/esm/src/agent/conversation/run-events.js +6 -1
  6. package/esm/src/agent/hosted/child-fork-execution-runner.d.ts +2 -0
  7. package/esm/src/agent/hosted/child-fork-execution-runner.d.ts.map +1 -1
  8. package/esm/src/agent/hosted/child-fork-execution-runner.js +11 -2
  9. package/esm/src/agent/hosted/child-fork-instructions.js +1 -1
  10. package/esm/src/agent/hosted/child-steering-tools.js +3 -3
  11. package/esm/src/agent/hosted/child-tool-input.d.ts +2 -2
  12. package/esm/src/agent/hosted/child-tool-input.js +1 -1
  13. package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts +4 -2
  14. package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts.map +1 -1
  15. package/esm/src/agent/hosted/default-invoke-agent-tool.js +21 -3
  16. package/esm/src/agent/hosted/durable-child-fork-execution.d.ts +2 -0
  17. package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
  18. package/esm/src/agent/hosted/durable-child-fork-execution.js +19 -3
  19. package/esm/src/agent/hosted/project-reference-resolver.d.ts +21 -0
  20. package/esm/src/agent/hosted/project-reference-resolver.d.ts.map +1 -0
  21. package/esm/src/agent/hosted/project-reference-resolver.js +18 -0
  22. package/esm/src/agent/hosted/project-remote-tool-source.js +3 -3
  23. package/esm/src/agent/project/context.d.ts +1 -1
  24. package/esm/src/agent/project/context.d.ts.map +1 -1
  25. package/esm/src/agent/project/context.js +8 -2
  26. package/esm/src/agent/streaming/knowledge-source-document.d.ts +11 -0
  27. package/esm/src/agent/streaming/knowledge-source-document.d.ts.map +1 -0
  28. package/esm/src/agent/streaming/knowledge-source-document.js +38 -0
  29. package/esm/src/agent/streaming/mirrored-tool-chunk-state.d.ts.map +1 -1
  30. package/esm/src/agent/streaming/mirrored-tool-chunk-state.js +27 -12
  31. package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
  32. package/esm/src/html/hydration-script-builder/templates/router.js +10 -0
  33. package/esm/src/html/utils.d.ts.map +1 -1
  34. package/esm/src/html/utils.js +26 -7
  35. package/esm/src/routing/client/types.d.ts +9 -0
  36. package/esm/src/routing/client/types.d.ts.map +1 -1
  37. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts.map +1 -1
  38. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +25 -0
  39. package/esm/src/utils/version-constant.d.ts +1 -1
  40. package/esm/src/utils/version-constant.js +1 -1
  41. package/package.json +5 -5
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1124",
3
+ "version": "0.1.1126",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;CACzD;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,CAcvE;AAqSD,yDAAyD;AACzD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,8BAA8B,GACvC,aAAa,GAAG,IAAI,CA+HtB;AAoID,wDAAwD;AACxD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,CA+N3B;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,uBAAuB,EAAE,CA8B3B"}
1
+ {"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;CACzD;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,CAcvE;AAqSD,yDAAyD;AACzD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,8BAA8B,GACvC,aAAa,GAAG,IAAI,CA+HtB;AAoID,wDAAwD;AACxD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,CAmO3B;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,uBAAuB,EAAE,CA8B3B"}
@@ -480,6 +480,9 @@ export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
480
480
  return [createCustomDataEvent(name, "data" in event ? event.data : null)];
481
481
  }
482
482
  switch (event.type) {
483
+ case "source-document":
484
+ state.sawVisibleOutput = true;
485
+ return [createCustomDataEvent("source-document", event)];
483
486
  case "message-start":
484
487
  getMessageId(state, event);
485
488
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;CAiKvD;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB;AAED,kDAAkD;AAClD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB"}
1
+ {"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;CAuKvD;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB;AAED,kDAAkD;AAClD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB"}
@@ -217,12 +217,17 @@ export class ConversationRunEventEncoder {
217
217
  this.releaseToolCallState(chunk.toolCallId);
218
218
  return events;
219
219
  }
220
+ case "source-document":
221
+ return [{
222
+ type: conversationRunEventTypes.custom,
223
+ name: "source-document",
224
+ value: chunk,
225
+ }];
220
226
  case "error":
221
227
  case "finish":
222
228
  case "abort":
223
229
  case "message-metadata":
224
230
  case "source-url":
225
- case "source-document":
226
231
  case "file":
227
232
  case "tool-approval-request":
228
233
  case "start-step":
@@ -14,6 +14,7 @@ import type { HostedChildForkStreamLogger, HostedChildForkStreamTraceInput } fro
14
14
  import type { HostedChildRunIdentifiers } from "./child-status.js";
15
15
  import { type HostedChildForkRuntimeConfig, type HostedChildForkToolInput, type HostedChildInvocationContext, type ResolveHostedChildForkRuntimeConfigInput } from "./child-tool-input.js";
16
16
  import type { SourceIntegrationPolicyManifest } from "../../integrations/source-policy.js";
17
+ import { type HostedProjectReferenceResolver } from "./project-reference-resolver.js";
17
18
  /** Default value for hosted child fork stream idle timeout ms. */
18
19
  export declare const DEFAULT_HOSTED_CHILD_FORK_STREAM_IDLE_TIMEOUT_MS = 45000;
19
20
  /** Default value for hosted child fork stream active tool timeout ms. */
@@ -104,6 +105,7 @@ export type ExecuteHostedChildForkToolInputOptions<TAttributes extends HostToolT
104
105
  defaultMaxSteps: number;
105
106
  contextModel?: string;
106
107
  onRequestedProjectId?: (projectId: string) => void | Promise<void>;
108
+ resolveProjectReference?: HostedProjectReferenceResolver;
107
109
  prepareToolAssembly: (input: {
108
110
  runtimeConfig: HostedChildForkRuntimeConfig;
109
111
  requestedTools?: HostedChildForkToolInput["tools"];
@@ -1 +1 @@
1
- {"version":3,"file":"child-fork-execution-runner.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-execution-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-fork-execution-runner.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-execution-runner.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { startHostedChildForkRuntimeWithHostTools, } from "./child-fork-runtime-
7
7
  import { runAgentRuntimeForkStep, } from "../streaming/fork-runtime-stream.js";
8
8
  import { throwIfChildRunAborted } from "../child-run/execution-support.js";
9
9
  import { resolveHostedChildForkRuntimeConfig, withHostedChildInvocationContext, } from "./child-tool-input.js";
10
+ import { resolveHostedProjectReference, } from "./project-reference-resolver.js";
10
11
  /** Default value for hosted child fork stream idle timeout ms. */
11
12
  export const DEFAULT_HOSTED_CHILD_FORK_STREAM_IDLE_TIMEOUT_MS = 45_000;
12
13
  /** Default value for hosted child fork stream active tool timeout ms. */
@@ -53,8 +54,16 @@ function defaultResolveSystem(input) {
53
54
  }
54
55
  /** Input payload for execute hosted child fork tool. */
55
56
  export async function executeHostedChildForkToolInput(input) {
56
- if (input.forkInput.project_id) {
57
- await input.onRequestedProjectId?.(input.forkInput.project_id);
57
+ const requestedProjectReference = input.forkInput.project_reference;
58
+ if (requestedProjectReference) {
59
+ const resolver = input.resolveProjectReference ?? resolveHostedProjectReference;
60
+ const resolvedProject = await resolver({
61
+ projectReference: requestedProjectReference,
62
+ authToken: input.authToken,
63
+ apiUrl: input.apiUrl,
64
+ abortSignal: input.abortSignal,
65
+ });
66
+ await input.onRequestedProjectId?.(resolvedProject.projectId);
58
67
  }
59
68
  const forkInput = input.inputAlreadyHasInvocationContext
60
69
  ? input.forkInput
@@ -65,7 +65,7 @@ export function buildHostedChildForkInstructions(context = {}) {
65
65
  project_reference: "${projectId}"
66
66
  ${branchLine}
67
67
 
68
- Use project_reference only for tools whose schema requires project_reference. Some MCP tools use different identifiers; for example sandbox command tools use the sandbox session id returned by create_sandbox_session, and create_sandbox_session uses project_id when billing/project scope is needed.
68
+ Use project_reference only for tools whose schema requires project_reference. Some MCP tools use different identifiers; for example sandbox command tools use the sandbox session id returned by create_sandbox_session, and create_sandbox_session uses project_reference when billing/project scope is needed.
69
69
  IMPORTANT: Also pass branch_id to file tools to ensure edits go to the correct branch.
70
70
  Do NOT guess or invent project references, always use the values above.
71
71
  </project_context>`);
@@ -42,9 +42,9 @@ export function wrapHostedChildProjectSwitchTool(input) {
42
42
  execute: async (toolInput, execOptions) => {
43
43
  const normalizedToolInput = toChildRunToolInputRecord(toolInput);
44
44
  const result = await originalExecute(toolInput, execOptions);
45
- const projectId = normalizedToolInput.project_id;
46
- const confirmedProjectId = typeof projectId === "string"
47
- ? getConfirmedProjectContextSwitchId(result, projectId)
45
+ const projectReference = normalizedToolInput.project_reference;
46
+ const confirmedProjectId = typeof projectReference === "string"
47
+ ? getConfirmedProjectContextSwitchId(result, projectReference)
48
48
  : null;
49
49
  if (confirmedProjectId) {
50
50
  await input.onConfirmedProjectSwitch(confirmedProjectId);
@@ -10,7 +10,7 @@ export declare const getHostedChildForkToolInputSchema: () => import("../../inte
10
10
  description: import("../../internal-agents/schema.js").Schema<string>;
11
11
  prompt: import("../../internal-agents/schema.js").Schema<string>;
12
12
  context: import("../../internal-agents/schema.js").Schema<Record<string, import("../../schemas/primitives.js").JsonValue>>;
13
- project_id: import("../../internal-agents/schema.js").Schema<string | undefined>;
13
+ project_reference: import("../../internal-agents/schema.js").Schema<string | undefined>;
14
14
  tools: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
15
15
  model: import("../../internal-agents/schema.js").Schema<string | undefined>;
16
16
  temperature: import("../../internal-agents/schema.js").Schema<number | undefined>;
@@ -25,7 +25,7 @@ export declare const hostedChildForkToolInputSchema: import("../../internal-agen
25
25
  description: import("../../internal-agents/schema.js").Schema<string>;
26
26
  prompt: import("../../internal-agents/schema.js").Schema<string>;
27
27
  context: import("../../internal-agents/schema.js").Schema<Record<string, import("../../schemas/primitives.js").JsonValue>>;
28
- project_id: import("../../internal-agents/schema.js").Schema<string | undefined>;
28
+ project_reference: import("../../internal-agents/schema.js").Schema<string | undefined>;
29
29
  tools: import("../../internal-agents/schema.js").Schema<string[] | undefined>;
30
30
  model: import("../../internal-agents/schema.js").Schema<string | undefined>;
31
31
  temperature: import("../../internal-agents/schema.js").Schema<number | undefined>;
@@ -8,7 +8,7 @@ export const getHostedChildForkToolInputSchema = defineSchema((v) => v.object({
8
8
  description: v.string().describe("3-5 word task summary"),
9
9
  prompt: v.string().describe("Detailed instructions for the task"),
10
10
  context: v.record(v.string(), getJsonValueSchema()).default({}).describe("Structured data payload for the child task. Use this for critical facts, records, ids, decisions, and values the child must act on. Defaults to {} when the delegation has no record or evidence payload."),
11
- project_id: v.string().optional().describe("Override project context. Use after studio_open_project."),
11
+ project_reference: v.string().optional().describe("Override project context by UUID or slug. Use after studio_open_project."),
12
12
  tools: v.array(v.string()).optional().describe("Tool subset for this fork. Omit = inherit all parent tools."),
13
13
  model: v.string().optional().describe('Model override (e.g. "sonnet" for cheaper work).'),
14
14
  temperature: v.number().min(0).max(2).optional().describe("Sampling temperature override. Omit for the hosted child default."),
@@ -13,6 +13,7 @@ import { type HostedChildForkRuntimeConfig, type HostedChildForkToolInput, type
13
13
  import type { RuntimeClientProfile } from "../runtime/client-profile.js";
14
14
  import type { RuntimeLoadSkillToolContext } from "../runtime/load-skill-tool.js";
15
15
  import type { RuntimeReasoningOption } from "../types.js";
16
+ import { type HostedProjectReferenceResolver } from "./project-reference-resolver.js";
16
17
  /** Context for default hosted invoke agent. */
17
18
  export type DefaultHostedInvokeAgentContext = MutableAgentProjectContext & {
18
19
  authToken: string;
@@ -80,6 +81,7 @@ export type DefaultHostedInvokeAgentToolOptions<TContext extends DefaultHostedIn
80
81
  shouldRethrowError?: (error: unknown) => boolean;
81
82
  buildGlobalTools?: (context: TContext, childAgentId: string, childConfig?: DefaultHostedChildAgentExecutionConfig, durableChildRun?: HostedChildRunIdentifiers) => HostToolSet;
82
83
  resolveChildAgentExecutionConfig?: (childAgentId: string, projectId: string) => Promise<DefaultHostedChildAgentExecutionConfig | undefined>;
84
+ resolveProjectReference?: HostedProjectReferenceResolver;
83
85
  refreshProjectSkillIds?: DefaultHostedInvokeAgentProjectRefresh<TContext>;
84
86
  /** Require durable child lifecycle even when legacy generic delegation is disabled. */
85
87
  requireDurableInvokeAgent?: boolean;
@@ -106,7 +108,7 @@ export declare const getDefaultHostedInvokeAgentInputSchema: () => import("../..
106
108
  prompt: string;
107
109
  context: Record<string, import("../../schemas/primitives.js").JsonValue>;
108
110
  } & {
109
- project_id?: string | undefined;
111
+ project_reference?: string | undefined;
110
112
  tools?: string[] | undefined;
111
113
  model?: string | undefined;
112
114
  temperature?: number | undefined;
@@ -124,7 +126,7 @@ export declare const defaultHostedInvokeAgentInputSchema: import("../../internal
124
126
  prompt: string;
125
127
  context: Record<string, import("../../schemas/primitives.js").JsonValue>;
126
128
  } & {
127
- project_id?: string | undefined;
129
+ project_reference?: string | undefined;
128
130
  tools?: string[] | undefined;
129
131
  model?: string | undefined;
130
132
  temperature?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"default-invoke-agent-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-invoke-agent-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-invoke-agent-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-invoke-agent-tool.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { prepareDefaultHostedChildForkToolAssembly } from "./child-requested-too
20
20
  import { withRootOwnedChildResultHint } from "../conversation/delegation-policy.js";
21
21
  import { getRuntimeSourceIntegrationPolicyFromContext } from "../runtime/runtime-tool-config.js";
22
22
  import { buildHostedChildForkInstructions } from "./child-fork-instructions.js";
23
+ import { resolveHostedProjectReference, } from "./project-reference-resolver.js";
23
24
  const defaultHostedInvokeAgentSelectionFields = (v) => ({
24
25
  agent_id: v.string()
25
26
  .min(1, "agent_id is required")
@@ -265,12 +266,29 @@ export const defaultHostedInvokeAgentToolInternals = {
265
266
  export async function executeDefaultHostedInvokeAgentTool(options, input, childAgentId, executionContext) {
266
267
  let executionSnapshot = null;
267
268
  const config = options.getConfig();
268
- const targetProjectId = input.project_id ?? options.context.projectId;
269
- const childConfig = await options.resolveChildAgentExecutionConfig?.(childAgentId, targetProjectId);
270
269
  const toolCallId = getToolCallId(executionContext);
271
270
  const abortSignal = getAbortSignal(executionContext);
271
+ const requestedProjectReference = input.project_reference;
272
+ let targetProjectId = options.context.projectId;
273
+ let resolvedInput = input;
274
+ if (requestedProjectReference) {
275
+ const resolver = options.resolveProjectReference ?? resolveHostedProjectReference;
276
+ const resolvedProject = await resolver({
277
+ projectReference: requestedProjectReference,
278
+ authToken: options.context.authToken,
279
+ apiUrl: config.apiUrl,
280
+ abortSignal,
281
+ });
282
+ targetProjectId = resolvedProject.projectId;
283
+ await applyRequestedProjectId(options, targetProjectId);
284
+ resolvedInput = {
285
+ ...input,
286
+ project_reference: undefined,
287
+ };
288
+ }
289
+ const childConfig = await options.resolveChildAgentExecutionConfig?.(childAgentId, targetProjectId);
272
290
  const sourceIntegrationPolicy = getRuntimeSourceIntegrationPolicyFromContext(executionContext);
273
- const configuredInput = applyChildAgentExecutionConfig(input, childConfig);
291
+ const configuredInput = applyChildAgentExecutionConfig(resolvedInput, childConfig);
274
292
  const forkInput = configuredInput;
275
293
  const durableInvokeRecorder = createHostedDurableChildInvokeTraceRecorder({
276
294
  traceBase: {
@@ -8,6 +8,7 @@ import { bootstrapHostedChildRun } from "./child-bootstrap.js";
8
8
  import { runHostedChildExecutionLifecycle, shouldSkipHostedChildTerminalPersistence } from "./child-lifecycle.js";
9
9
  import { type HostedChildRunIdentifiers, type HostedChildTerminalStatus } from "./child-status.js";
10
10
  import { type HostedChildForkToolInput, type HostedChildInvocationContext } from "./child-tool-input.js";
11
+ import { type HostedProjectReferenceResolver } from "./project-reference-resolver.js";
11
12
  /** Options accepted by hosted durable child execution. */
12
13
  export type HostedDurableChildExecutionOptions = {
13
14
  durableChildRun?: HostedChildRunIdentifiers;
@@ -162,6 +163,7 @@ export type ExecuteHostedDurableChildForkInput<TResult, TLocalResult extends Chi
162
163
  getRuntimeTargetEnvironmentId?: () => string | null | undefined;
163
164
  getBranchId?: () => string | null | undefined;
164
165
  getContextModel?: () => string | undefined;
166
+ resolveProjectReference?: HostedProjectReferenceResolver;
165
167
  defaultModel: string;
166
168
  resolveModelId: (model: string) => string;
167
169
  resolveProvider: (modelId: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-child-fork-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-child-fork-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-child-fork-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-child-fork-execution.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { runHostedChildExecutionLifecycle, shouldSkipHostedChildTerminalPersiste
8
8
  import { HostedChildTerminalStateError, } from "./child-status.js";
9
9
  import { buildHostedChildForkEffectivePrompt, withHostedChildInvocationContext, } from "./child-tool-input.js";
10
10
  import { isChildRunAbortError, throwIfChildRunAborted } from "../child-run/execution-support.js";
11
+ import { resolveHostedProjectReference, } from "./project-reference-resolver.js";
11
12
  function buildHostedChildResultSummaryForMode(input) {
12
13
  if (input.snapshot?.fullResultText !== null && input.snapshot?.fullResultText !== undefined) {
13
14
  return buildChildRunResultSummary(input.snapshot.fullResultText, {
@@ -217,9 +218,20 @@ function resolveContextModel(input) {
217
218
  async function defaultRunBootstrap(operation) {
218
219
  return operation();
219
220
  }
221
+ function getRequestedProjectReference(forkInput) {
222
+ return forkInput.project_reference ?? null;
223
+ }
220
224
  async function prepareHostedDurableChildBootstrapContext(input) {
221
- if (input.forkInput.project_id) {
222
- await input.onRequestedProjectId?.(input.forkInput.project_id);
225
+ const requestedProjectReference = getRequestedProjectReference(input.forkInput);
226
+ if (requestedProjectReference) {
227
+ const resolver = input.resolveProjectReference ?? resolveHostedProjectReference;
228
+ const resolvedProject = await resolver({
229
+ projectReference: requestedProjectReference,
230
+ authToken: input.authToken,
231
+ apiUrl: input.apiUrl,
232
+ abortSignal: input.executionOptions.abortSignal,
233
+ });
234
+ await input.onRequestedProjectId?.(resolvedProject.projectId);
223
235
  }
224
236
  const targets = resolveConversationRunTargets({
225
237
  projectId: input.getProjectId() ?? null,
@@ -254,7 +266,11 @@ async function bootstrapHostedDurableChildFork(input) {
254
266
  authToken: input.authToken,
255
267
  apiUrl: input.apiUrl,
256
268
  ensureProjectId: input.getProjectId() ?? undefined,
257
- runProjectId: input.runProjectId !== undefined ? input.runProjectId : undefined,
269
+ runProjectId: getRequestedProjectReference(input.forkInput)
270
+ ? input.getProjectId() ?? undefined
271
+ : input.runProjectId !== undefined
272
+ ? input.runProjectId
273
+ : input.getProjectId() ?? undefined,
258
274
  parentConversationId: input.bootstrapContext.parentConversationId,
259
275
  parentRunId: input.bootstrapContext.parentRunId,
260
276
  parentMessageId: input.bootstrapContext.parentMessageId,
@@ -0,0 +1,21 @@
1
+ /** Resolver for public project references used by hosted agent tools. */
2
+ export type HostedProjectReferenceResolver = (input: {
3
+ projectReference: string;
4
+ authToken: string;
5
+ apiUrl: string;
6
+ abortSignal?: AbortSignal;
7
+ }) => Promise<{
8
+ projectId: string;
9
+ slug?: string | null;
10
+ }>;
11
+ /** Resolve a public project UUID or slug through the API boundary. */
12
+ export declare function resolveHostedProjectReference(input: {
13
+ projectReference: string;
14
+ authToken: string;
15
+ apiUrl: string;
16
+ abortSignal?: AbortSignal;
17
+ }): Promise<{
18
+ projectId: string;
19
+ slug?: string | null;
20
+ }>;
21
+ //# sourceMappingURL=project-reference-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-reference-resolver.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/project-reference-resolver.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,MAAM,8BAA8B,GAAG,CAAC,KAAK,EAAE;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,KAAK,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAE3D,sEAAsE;AACtE,wBAAsB,6BAA6B,CAAC,KAAK,EAAE;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAqBvD"}
@@ -0,0 +1,18 @@
1
+ /** Resolve a public project UUID or slug through the API boundary. */
2
+ export async function resolveHostedProjectReference(input) {
3
+ const response = await fetch(new URL(`/projects/${encodeURIComponent(input.projectReference)}`, input.apiUrl), {
4
+ headers: { Authorization: `Bearer ${input.authToken}` },
5
+ signal: input.abortSignal,
6
+ });
7
+ if (!response.ok) {
8
+ throw new Error(`Project lookup failed (${response.status})`);
9
+ }
10
+ const data = await response.json();
11
+ if (typeof data.id !== "string" || data.id.length === 0) {
12
+ throw new Error("Project lookup response did not include project id");
13
+ }
14
+ return {
15
+ projectId: data.id,
16
+ slug: typeof data.slug === "string" ? data.slug : null,
17
+ };
18
+ }
@@ -96,9 +96,9 @@ export function createHostedProjectRemoteToolSource(input) {
96
96
  return result;
97
97
  }
98
98
  if (isProjectNavigationRemoteTool(toolName, input.projectScopedRemoteToolOptions)) {
99
- const requestedProjectId = trustedToolInput.project_id;
100
- const confirmedProjectId = typeof requestedProjectId === "string"
101
- ? getConfirmedProjectContextSwitchId(result, requestedProjectId)
99
+ const requestedProjectReference = trustedToolInput.project_reference;
100
+ const confirmedProjectId = typeof requestedProjectReference === "string"
101
+ ? getConfirmedProjectContextSwitchId(result, requestedProjectReference)
102
102
  : null;
103
103
  if (confirmedProjectId) {
104
104
  await input.onProjectSwitch?.(confirmedProjectId);
@@ -11,5 +11,5 @@ export interface MutableAgentProjectContext {
11
11
  /** Apply agent project context change helper. */
12
12
  export declare function applyAgentProjectContextChange(context: MutableAgentProjectContext, projectId: string): boolean;
13
13
  /** Return confirmed project context switch ID. */
14
- export declare function getConfirmedProjectContextSwitchId(result: unknown, requestedProjectId: string): string | null;
14
+ export declare function getConfirmedProjectContextSwitchId(result: unknown, requestedProjectReference?: string): string | null;
15
15
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/project/context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC5E,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,iDAAiD;AACjD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,GAChB,OAAO,CAYT;AA6BD,kDAAkD;AAClD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,OAAO,EACf,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,IAAI,CAYf"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/project/context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC5E,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,iDAAiD;AACjD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,GAChB,OAAO,CAYT;AA6BD,kDAAkD;AAClD,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,OAAO,EACf,yBAAyB,CAAC,EAAE,MAAM,GACjC,MAAM,GAAG,IAAI,CAqBf"}
@@ -32,7 +32,7 @@ function getProjectContextSwitchContent(result) {
32
32
  return null;
33
33
  }
34
34
  /** Return confirmed project context switch ID. */
35
- export function getConfirmedProjectContextSwitchId(result, requestedProjectId) {
35
+ export function getConfirmedProjectContextSwitchId(result, requestedProjectReference) {
36
36
  const content = getProjectContextSwitchContent(result);
37
37
  if (!content || Reflect.get(content, "success") !== true) {
38
38
  return null;
@@ -41,5 +41,11 @@ export function getConfirmedProjectContextSwitchId(result, requestedProjectId) {
41
41
  if (typeof projectId !== "string") {
42
42
  return null;
43
43
  }
44
- return projectId === requestedProjectId ? projectId : null;
44
+ const slug = Reflect.get(content, "slug");
45
+ if (requestedProjectReference &&
46
+ requestedProjectReference !== projectId &&
47
+ requestedProjectReference !== slug) {
48
+ return null;
49
+ }
50
+ return projectId;
45
51
  }
@@ -0,0 +1,11 @@
1
+ import type { ChatMessageMetadata, ChatUiMessageChunk } from "../../chat/protocol.js";
2
+ type SourceDocumentChunk = Extract<ChatUiMessageChunk<ChatMessageMetadata>, {
3
+ type: "source-document";
4
+ }>;
5
+ /** Derive an exact structured citation from a successful project knowledge file read. */
6
+ export declare function deriveKnowledgeSourceDocumentChunk(input: {
7
+ toolName: string | undefined;
8
+ output: unknown;
9
+ }): SourceDocumentChunk | null;
10
+ export {};
11
+ //# sourceMappingURL=knowledge-source-document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-source-document.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/knowledge-source-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,KAAK,mBAAmB,GAAG,OAAO,CAChC,kBAAkB,CAAC,mBAAmB,CAAC,EACvC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAC5B,CAAC;AAsBF,yFAAyF;AACzF,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,mBAAmB,GAAG,IAAI,CAsB7B"}
@@ -0,0 +1,38 @@
1
+ import { lookup as lookupMediaType } from "../../platform/compat/media-types.js";
2
+ const GET_FILE_TOOL_NAME = "get_file";
3
+ const KNOWLEDGE_PATH_PREFIX = "knowledge/";
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ function resolveStructuredOutput(output) {
8
+ if (!isRecord(output)) {
9
+ return null;
10
+ }
11
+ if (isRecord(output.structuredContent)) {
12
+ return output.structuredContent;
13
+ }
14
+ if (isRecord(output.structured_content)) {
15
+ return output.structured_content;
16
+ }
17
+ return output;
18
+ }
19
+ /** Derive an exact structured citation from a successful project knowledge file read. */
20
+ export function deriveKnowledgeSourceDocumentChunk(input) {
21
+ if (input.toolName !== GET_FILE_TOOL_NAME) {
22
+ return null;
23
+ }
24
+ const output = resolveStructuredOutput(input.output);
25
+ const path = output?.path;
26
+ if (typeof path !== "string" ||
27
+ path.length === 0 ||
28
+ !path.startsWith(KNOWLEDGE_PATH_PREFIX)) {
29
+ return null;
30
+ }
31
+ return {
32
+ type: "source-document",
33
+ sourceId: path,
34
+ mediaType: lookupMediaType(path) ?? "text/plain",
35
+ title: path,
36
+ filename: path,
37
+ };
38
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"mirrored-tool-chunk-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/mirrored-tool-chunk-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mirrored-tool-chunk-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/mirrored-tool-chunk-state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { deriveKnowledgeSourceDocumentChunk } from "./knowledge-source-document.js";
1
2
  /** Check whether a durable chunk mirrors tool output. */
2
3
  export function isDurableMirroredOutputChunk(chunk) {
3
4
  switch (chunk.type) {
@@ -149,22 +150,36 @@ export async function closeHostedMirroredOpenToolCalls(input) {
149
150
  /** Create hosted mirrored UI stream. */
150
151
  export async function* createHostedMirroredUiStream(input) {
151
152
  let streamError = null;
153
+ const emittedKnowledgeSourceIds = new Set();
152
154
  try {
153
- for await (const chunk of input.sourceStream) {
154
- input.rootStreamWatchdog.observe(chunk);
155
- if (isDurableMirroredOutputChunk(chunk)) {
156
- input.setMirroredOutput?.(true);
155
+ for await (const sourceChunk of input.sourceStream) {
156
+ const derivedSource = sourceChunk.type === "tool-output-available"
157
+ ? deriveKnowledgeSourceDocumentChunk({
158
+ toolName: input.mirroredToolChunkState.toolCallNames.get(sourceChunk.toolCallId),
159
+ output: sourceChunk.output,
160
+ })
161
+ : null;
162
+ const chunks = [sourceChunk];
163
+ if (derivedSource && !emittedKnowledgeSourceIds.has(derivedSource.sourceId)) {
164
+ emittedKnowledgeSourceIds.add(derivedSource.sourceId);
165
+ chunks.push(derivedSource);
157
166
  }
158
- recordMirroredToolChunkState(input.mirroredToolChunkState, chunk);
159
- if (input.appendChunk) {
160
- await Promise.resolve(input.appendChunk(chunk)).catch((error) => {
161
- input.logger?.error("Durable run mirror failed to handle chunk", {
162
- chunkType: chunk.type,
163
- error: error instanceof Error ? error.message : String(error),
167
+ for (const chunk of chunks) {
168
+ input.rootStreamWatchdog.observe(chunk);
169
+ if (isDurableMirroredOutputChunk(chunk)) {
170
+ input.setMirroredOutput?.(true);
171
+ }
172
+ recordMirroredToolChunkState(input.mirroredToolChunkState, chunk);
173
+ if (input.appendChunk) {
174
+ await Promise.resolve(input.appendChunk(chunk)).catch((error) => {
175
+ input.logger?.error("Durable run mirror failed to handle chunk", {
176
+ chunkType: chunk.type,
177
+ error: error instanceof Error ? error.message : String(error),
178
+ });
164
179
  });
165
- });
180
+ }
181
+ yield chunk;
166
182
  }
167
- yield chunk;
168
183
  }
169
184
  }
170
185
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cA4sC3B,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAstC3B,CAAC"}
@@ -622,6 +622,16 @@ export const getRouterScript = () => `
622
622
 
623
623
  if (signal.aborted) return;
624
624
 
625
+ // getServerData redirect(): the page-data endpoint encodes it as a 200
626
+ // { redirect: { destination } } payload. Follow it with a document
627
+ // navigation to the target (the same net effect as the full-page 302),
628
+ // instead of trying to render a page that does not exist here.
629
+ if (pageData && pageData.redirect && typeof pageData.redirect.destination === 'string') {
630
+ log('SPA navigation redirect -> ' + pageData.redirect.destination);
631
+ window.location.href = pageData.redirect.destination;
632
+ return;
633
+ }
634
+
625
635
  if (pushState) {
626
636
  window.history.pushState({ pageData, scrollY: 0 }, '', href);
627
637
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAgBjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA0JF,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AA+GD,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC,CAmEzB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/src/html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAgBjF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAQR;AAaD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AA4DD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AA6KF,UAAU,qBAAqB;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD;AA+GD,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC,CAmEzB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElF"}
@@ -107,19 +107,38 @@ const CDN_URL_TEMPLATES = {
107
107
  veryfrontWorkflow: (v) => `https://cdn.jsdelivr.net/npm/veryfront@${v}/esm/src/workflow/react/index.js`,
108
108
  },
109
109
  };
110
- function buildCdnImportMapFromTemplates(versions, templates, includePlatformUtilities) {
110
+ function buildCdnImportMapFromTemplates(versions, templates,
111
+ // Whether the AI/chat modules (chat/markdown/mdx/workflow) are also served
112
+ // locally instead of from the CDN. The CORE platform utilities
113
+ // (router/head/context/fonts) are ALWAYS served locally regardless of
114
+ // provider — they must share the same React context module instance as SSR,
115
+ // otherwise usePageContext() returns undefined and the browser fails to even
116
+ // resolve `veryfront/router`. CDN is for third-party deps (react) and,
117
+ // optionally, the AI modules — never the core runtime.
118
+ includeAiModulesLocally) {
111
119
  const { react, veryfront } = versions;
120
+ // React is ALWAYS served from esm.sh, regardless of the configured CDN
121
+ // provider. esm.sh is the only CDN that serves React as real ESM; unpkg and
122
+ // jsdelivr only ship UMD globals (react/umd/react.production.min.js), which
123
+ // cannot be consumed through an import map at all — the browser rejects them
124
+ // with a module-resolution/CORS error and hydration never starts. Self-hosted
125
+ // mode already does exactly this. The `provider` only governs where the
126
+ // veryfront framework modules load from.
127
+ const reactTemplates = CDN_URL_TEMPLATES["esm.sh"];
112
128
  return {
113
- react: templates.react(react),
114
- "react-dom": templates.reactDom(react),
115
- "react-dom/client": templates.reactDomClient(react),
116
- "react/jsx-runtime": templates.jsxRuntime(react),
117
- "react/jsx-dev-runtime": templates.jsxDevRuntime(react),
129
+ react: reactTemplates.react(react),
130
+ "react-dom": reactTemplates.reactDom(react),
131
+ "react-dom/client": reactTemplates.reactDomClient(react),
132
+ "react/jsx-runtime": reactTemplates.jsxRuntime(react),
133
+ "react/jsx-dev-runtime": reactTemplates.jsxDevRuntime(react),
118
134
  "veryfront/chat": templates.veryfrontChat(veryfront),
119
135
  "veryfront/markdown": templates.veryfrontMarkdown(veryfront),
120
136
  "veryfront/mdx": templates.veryfrontMdx(veryfront),
121
137
  "veryfront/workflow": templates.veryfrontWorkflow(veryfront),
122
- ...(includePlatformUtilities ? PLATFORM_UTILITIES : {}),
138
+ // Core runtime utilities always resolve locally (see comment above).
139
+ ...CORE_PLATFORM_UTILITIES,
140
+ // AI modules only override the CDN entries when requested.
141
+ ...(includeAiModulesLocally ? AI_MODULE_UTILITIES : {}),
123
142
  };
124
143
  }
125
144
  function getEsmShImportMap(versions) {
@@ -31,5 +31,14 @@ export interface SpaPageData {
31
31
  props: Record<string, unknown>;
32
32
  params: Record<string, string | string[]>;
33
33
  layoutProps: Record<string, Record<string, unknown>>;
34
+ /**
35
+ * Set when the route's getServerData called redirect(): the page-data endpoint
36
+ * returns a 200 with this instead of page props, and the client router follows
37
+ * it with a document navigation to `destination`.
38
+ */
39
+ redirect?: {
40
+ destination: string;
41
+ permanent?: boolean;
42
+ };
34
43
  }
35
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/client/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/client/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACrD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-data-endpoint-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/handlers/request/module/page-data-endpoint-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA8EhE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,qBAAqB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,eAAe,EAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,aAAa,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAC1C,OAAO,CAAC,aAAa,CAAC,CAgHxB"}
1
+ {"version":3,"file":"page-data-endpoint-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/src/server/handlers/request/module/page-data-endpoint-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA8EhE,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,qBAAqB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,eAAe,EAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,aAAa,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAC1C,OAAO,CAAC,aAAa,CAAC,CAoIxB"}
@@ -100,6 +100,19 @@ export function handlePageDataEndpoint(req, pathname, ctx, createResponseBuilder
100
100
  status: HTTP_GATEWAY_TIMEOUT,
101
101
  }));
102
102
  }
103
+ // A redirect() from getServerData surfaces here as a thrown
104
+ // VeryfrontError carrying context.redirect. The full-page render path
105
+ // converts this into a 302; the SPA page-data endpoint must encode it as
106
+ // a 200 payload so the client router can follow the redirect instead of
107
+ // treating it as an internal error (which 500s and aborts navigation).
108
+ const redirect = extractRedirectFromError(e);
109
+ if (redirect) {
110
+ return respond(ResponseBuilder.json({ redirect }, req, {
111
+ securityConfig: ctx.securityConfig,
112
+ corsConfig: ctx.securityConfig?.cors,
113
+ status: 200,
114
+ }));
115
+ }
103
116
  const errorMessage = getErrorMessage(e);
104
117
  const lower = errorMessage.toLowerCase();
105
118
  const isNotFound = lower.includes("not found") ||
@@ -213,6 +226,18 @@ function refreshStalePageData(cacheKey, resolve, cachePolicy) {
213
226
  }
214
227
  });
215
228
  }
229
+ /**
230
+ * A redirect() from getServerData is thrown up the pipeline as a VeryfrontError
231
+ * whose `context.redirect` holds the destination (mirrors extractRedirectLocation
232
+ * in the SSR service). Returns null for any other error.
233
+ */
234
+ function extractRedirectFromError(error) {
235
+ const context = error?.context;
236
+ const redirect = context?.redirect;
237
+ if (!redirect || typeof redirect.destination !== "string")
238
+ return null;
239
+ return { destination: redirect.destination, permanent: redirect.permanent === true };
240
+ }
216
241
  function buildPageDataCacheKey(ctx, slug, url) {
217
242
  const projectKey = ctx.projectId ?? ctx.projectSlug ?? ctx.projectDir;
218
243
  const environment = ctx.resolvedEnvironment ?? ctx.requestContext?.mode ?? "preview";
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.1124";
2
+ export declare const VERSION = "0.1.1126";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.1124";
4
+ export const VERSION = "0.1.1126";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.1124",
3
+ "version": "0.1.1126",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -332,10 +332,10 @@
332
332
  "@types/react": "19.2.14",
333
333
  "@types/react-dom": "19.2.3",
334
334
  "ws": "8.21.0",
335
- "@veryfront/ext-bundler-esbuild": "0.1.1124",
336
- "@veryfront/ext-content-mdx": "0.1.1124",
337
- "@veryfront/ext-css-tailwind": "0.1.1124",
338
- "@veryfront/ext-parser-babel": "0.1.1124"
335
+ "@veryfront/ext-bundler-esbuild": "0.1.1126",
336
+ "@veryfront/ext-content-mdx": "0.1.1126",
337
+ "@veryfront/ext-css-tailwind": "0.1.1126",
338
+ "@veryfront/ext-parser-babel": "0.1.1126"
339
339
  },
340
340
  "devDependencies": {
341
341
  "@types/node": "20.9.0"