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.
- package/esm/deno.js +1 -1
- package/esm/src/agent/ag-ui/browser-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/browser-encoder.js +3 -0
- package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-events.js +6 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.d.ts +2 -0
- package/esm/src/agent/hosted/child-fork-execution-runner.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.js +11 -2
- package/esm/src/agent/hosted/child-fork-instructions.js +1 -1
- package/esm/src/agent/hosted/child-steering-tools.js +3 -3
- package/esm/src/agent/hosted/child-tool-input.d.ts +2 -2
- package/esm/src/agent/hosted/child-tool-input.js +1 -1
- package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts +4 -2
- package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-invoke-agent-tool.js +21 -3
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts +2 -0
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.js +19 -3
- package/esm/src/agent/hosted/project-reference-resolver.d.ts +21 -0
- package/esm/src/agent/hosted/project-reference-resolver.d.ts.map +1 -0
- package/esm/src/agent/hosted/project-reference-resolver.js +18 -0
- package/esm/src/agent/hosted/project-remote-tool-source.js +3 -3
- package/esm/src/agent/project/context.d.ts +1 -1
- package/esm/src/agent/project/context.d.ts.map +1 -1
- package/esm/src/agent/project/context.js +8 -2
- package/esm/src/agent/streaming/knowledge-source-document.d.ts +11 -0
- package/esm/src/agent/streaming/knowledge-source-document.d.ts.map +1 -0
- package/esm/src/agent/streaming/knowledge-source-document.js +38 -0
- package/esm/src/agent/streaming/mirrored-tool-chunk-state.d.ts.map +1 -1
- package/esm/src/agent/streaming/mirrored-tool-chunk-state.js +27 -12
- package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/router.js +10 -0
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +26 -7
- package/esm/src/routing/client/types.d.ts +9 -0
- package/esm/src/routing/client/types.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +25 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
package/esm/deno.js
CHANGED
|
@@ -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,
|
|
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;
|
|
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":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAKL,KAAK,gCAAgC,EACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,wCAAwC,EAAE,MAAM,4BAA4B,CAAC;AAK3F,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,wCAAwC,EAE9C,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,KAAK,6BAA6B,EAElC,KAAK,6CAA6C,EACnD,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAEV,+CAA+C,EAChD,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAEjC,KAAK,wCAAwC,EAE9C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;
|
|
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
|
-
|
|
57
|
-
|
|
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
|
|
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
|
|
46
|
-
const confirmedProjectId = typeof
|
|
47
|
-
? getConfirmedProjectContextSwitchId(result,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,KAAK,EACV,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAErB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kCAAkC,CAAC;AAErF,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,EACL,KAAK,6BAA6B,EAElC,KAAK,6CAA6C,EACnD,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAQnF,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAML,KAAK,8BAA8B,EACpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAElC,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"default-invoke-agent-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-invoke-agent-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAEL,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAErB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kCAAkC,CAAC;AAErF,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,EACL,KAAK,6BAA6B,EAElC,KAAK,6CAA6C,EACnD,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAQnF,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAML,KAAK,8BAA8B,EACpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAElC,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAK1D,OAAO,EACL,KAAK,8BAA8B,EAEpC,MAAM,iCAAiC,CAAC;AAEzC,+CAA+C;AAC/C,MAAM,MAAM,+BAA+B,GAAG,0BAA0B,GAAG;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B,CAAC,EAAE,4BAA4B,CAAC;IAC1D,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,sCAAsC,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IAC3E,6BAA6B,CAAC,EAAE,2BAA2B,CAAC,+BAA+B,CAAC,CAAC;IAC7F,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAClE,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,uCAAuC,GAAG,MAAM,CAC1D,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,CACtF,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,6BAA6B,GAAG,CAAC,OAAO,EAClD,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,OAAO,KACrB,OAAO,CAAC;AAEb,6DAA6D;AAC7D,MAAM,MAAM,kCAAkC,GAC1C,uBAAuB,GACvB,8BAA8B,CAAC;AAEnC,2EAA2E;AAC3E,MAAM,MAAM,sCAAsC,CAChD,QAAQ,SAAS,+BAA+B,IAC9C,CACF,OAAO,EAAE,QAAQ,KACd,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,4DAA4D;AAC5D,MAAM,MAAM,mCAAmC,CAAC,QAAQ,SAAS,+BAA+B,IAC9F;IACE,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,EAAE,MAAM,8BAA8B,CAAC;IAChD,MAAM,EAAE,8BAA8B,CAAC;IACvC,KAAK,EAAE,6BAA6B,CAAC;IACrC,kBAAkB,EAAE,CAAC,UAAU,EAAE,uCAAuC,KAAK,IAAI,CAAC;IAClF,cAAc,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,sBAAsB,CAAC,EAAE,CACvB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,KAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,CACjB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,KAC3D,sBAAsB,GAAG,SAAS,CAAC;IACxC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IAC3F,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACjD,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,QAAQ,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,sCAAsC,EACpD,eAAe,CAAC,EAAE,yBAAyB,KACxC,WAAW,CAAC;IACjB,gCAAgC,CAAC,EAAE,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC,CAAC;IACjE,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;IACzD,sBAAsB,CAAC,EAAE,sCAAsC,CAAC,QAAQ,CAAC,CAAC;IAC1E,uFAAuF;IACvF,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,MAAM,CAAC;IACvE,8BAA8B,CAAC,EAAE,CAC/B,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,qBAAqB,CAAC,EAAE,UAAU,CAAC,OAAO,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAC3F,uBAAuB,CACxB,CAAC;IACF,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,6CAA6C,CAAC,uCAAuC,CAAC,KAC1F,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC7E,CAAC;AASJ,eAAO,MAAM,0CAA0C;;GAEtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uCAAuC;;GAEnD,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;EAElD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;EAE/C,CAAC;AAEF,qDAAqD;AACrD,KAAK,mCAAmC,GAAG,WAAW,CACpD,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAC1D,CAAC;AACF,MAAM,MAAM,6BAA6B,GACrC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,GACpD;IACA,OAAO,CAAC,EAAE,mCAAmC,CAAC,SAAS,CAAC,CAAC;CAC1D,CAAC;AAwSJ,iBAAS,8BAA8B,CACrC,KAAK,EAAE,6BAA6B,EACpC,WAAW,EAAE,sCAAsC,GAAG,SAAS,GAC9D,6BAA6B,CAqB/B;AAED,qEAAqE;AACrE,eAAO,MAAM,qCAAqC;;CAEjD,CAAC;AAEF,gDAAgD;AAChD,wBAAsB,mCAAmC,CACvD,QAAQ,SAAS,+BAA+B,EAEhD,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,EACtD,KAAK,EAAE,6BAA6B,EACpC,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,oBAAoB,GACtC,OAAO,CAAC,kCAAkC,CAAC,CA+L7C;AAED,+CAA+C;AAC/C,wBAAgB,kCAAkC,CAChD,QAAQ,SAAS,+BAA+B,EAEhD,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,yGAqBvD"}
|
|
@@ -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(
|
|
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":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,uCAAuC,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,wCAAwC,EACzC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,yBAAyB,EAE9B,KAAK,yBAAyB,EAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAElC,MAAM,uBAAuB,CAAC;
|
|
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
|
-
|
|
222
|
-
|
|
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.
|
|
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
|
|
100
|
-
const confirmedProjectId = typeof
|
|
101
|
-
? getConfirmedProjectContextSwitchId(result,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
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
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
input.
|
|
162
|
-
|
|
163
|
-
|
|
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,
|
|
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;
|
|
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"}
|
package/esm/src/html/utils.js
CHANGED
|
@@ -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,
|
|
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:
|
|
114
|
-
"react-dom":
|
|
115
|
-
"react-dom/client":
|
|
116
|
-
"react/jsx-runtime":
|
|
117
|
-
"react/jsx-dev-runtime":
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
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.
|
|
336
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
337
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
338
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
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"
|