veryfront 0.1.1255 → 0.1.1256-rc.17643
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/extensions/ext-llm-anthropic/src/index.d.ts +24 -0
- package/esm/extensions/ext-llm-anthropic/src/index.d.ts.map +1 -1
- package/esm/extensions/ext-llm-anthropic/src/index.js +3 -0
- package/esm/extensions/ext-llm-google/src/index.d.ts +2 -0
- package/esm/extensions/ext-llm-google/src/index.d.ts.map +1 -1
- package/esm/extensions/ext-llm-google/src/index.js +3 -0
- package/esm/extensions/ext-llm-openai/src/index.d.ts +4 -0
- package/esm/extensions/ext-llm-openai/src/index.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/index.js +5 -0
- package/esm/src/agent/ag-ui/request-shared.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/request-shared.js +3 -1
- package/esm/src/agent/factory.d.ts +3 -0
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +5 -1
- package/esm/src/agent/hosted/chat-request-parser.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-request-parser.js +9 -3
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts +2 -1
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/cloud-agent-chat-execution.js +18 -6
- package/esm/src/agent/hosted/context-summary-generator.d.ts +1 -1
- package/esm/src/agent/hosted/context-summary-generator.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-chat-runtime.d.ts +2 -1
- package/esm/src/agent/hosted/default-chat-runtime.d.ts.map +1 -1
- package/esm/src/agent/hosted/default-chat-runtime.js +3 -3
- package/esm/src/agent/hosted/inference-credential.d.ts +9 -0
- package/esm/src/agent/hosted/inference-credential.d.ts.map +1 -0
- package/esm/src/agent/hosted/inference-credential.js +28 -0
- package/esm/src/agent/middleware/chain.d.ts.map +1 -1
- package/esm/src/agent/middleware/chain.js +9 -5
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts +114 -1
- package/esm/src/agent/runtime/agent-invocation-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime/agent-invocation-contract.js +35 -5
- package/esm/src/agent/runtime/index.d.ts +7 -2
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +8 -5
- package/esm/src/agent/runtime/model-transport.d.ts +3 -0
- package/esm/src/agent/runtime/model-transport.d.ts.map +1 -1
- package/esm/src/agent/runtime/model-transport.js +18 -9
- package/esm/src/agent/service/routes.d.ts.map +1 -1
- package/esm/src/agent/service/routes.js +51 -1
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
- package/esm/src/internal-agents/control-plane-auth.d.ts.map +1 -1
- package/esm/src/internal-agents/control-plane-auth.js +3 -1
- package/esm/src/internal-agents/request-body.d.ts.map +1 -1
- package/esm/src/internal-agents/request-body.js +2 -1
- package/esm/src/internal-agents/run-stream.d.ts +2 -0
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +39 -10
- package/esm/src/internal-agents/schema.d.ts +2 -0
- package/esm/src/internal-agents/schema.d.ts.map +1 -1
- package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
- package/esm/src/platform/compat/http/pinned-fetch.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-request-init.d.ts +3 -1
- package/esm/src/provider/runtime-loader/provider-request-init.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-request-init.js +28 -6
- package/esm/src/provider/veryfront-cloud/openai.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/openai.js +4 -5
- package/esm/src/provider/veryfront-cloud/provider.d.ts +2 -0
- package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/provider.js +106 -30
- package/esm/src/provider/veryfront-cloud/shared.d.ts +4 -2
- package/esm/src/provider/veryfront-cloud/shared.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/shared.js +97 -28
- package/esm/src/routing/api/handler.d.ts +19 -1
- package/esm/src/routing/api/handler.d.ts.map +1 -1
- package/esm/src/routing/api/handler.js +181 -17
- package/esm/src/routing/api/module-loader/source-capability-analyzer.d.ts +16 -0
- package/esm/src/routing/api/module-loader/source-capability-analyzer.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/source-capability-analyzer.js +260 -0
- package/esm/src/routing/api/route-executor.d.ts +5 -1
- package/esm/src/routing/api/route-executor.d.ts.map +1 -1
- package/esm/src/routing/api/route-executor.js +55 -19
- package/esm/src/security/application-auth/trusted-proxy.d.ts +2 -0
- package/esm/src/security/application-auth/trusted-proxy.d.ts.map +1 -1
- package/esm/src/security/application-auth/trusted-proxy.js +20 -0
- package/esm/src/security/credential-limits.d.ts +3 -0
- package/esm/src/security/credential-limits.d.ts.map +1 -0
- package/esm/src/security/credential-limits.js +2 -0
- package/esm/src/security/http/application-request.d.ts +2 -0
- package/esm/src/security/http/application-request.d.ts.map +1 -1
- package/esm/src/security/http/application-request.js +46 -0
- package/esm/src/security/http/auth.d.ts +3 -0
- package/esm/src/security/http/auth.d.ts.map +1 -1
- package/esm/src/security/http/auth.js +9 -1
- package/esm/src/security/http/cors/preflight.d.ts +4 -0
- package/esm/src/security/http/cors/preflight.d.ts.map +1 -1
- package/esm/src/security/http/cors/preflight.js +28 -1
- package/esm/src/security/input-validation/limits.d.ts +1 -0
- package/esm/src/security/input-validation/limits.d.ts.map +1 -1
- package/esm/src/security/input-validation/limits.js +88 -17
- package/esm/src/security/private-weak-store.d.ts +8 -0
- package/esm/src/security/private-weak-store.d.ts.map +1 -0
- package/esm/src/security/private-weak-store.js +15 -0
- package/esm/src/security/sandbox/worker-egress-guard.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-egress-guard.js +130 -47
- package/esm/src/security/sandbox/worker-types.d.ts +2 -0
- package/esm/src/security/sandbox/worker-types.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.js +19 -7
- package/esm/src/server/handlers/request/api/api-handler-wrapper.d.ts +5 -0
- package/esm/src/server/handlers/request/api/api-handler-wrapper.d.ts.map +1 -1
- package/esm/src/server/handlers/request/api/api-handler-wrapper.js +96 -14
- package/esm/src/server/handlers/response/cors.d.ts +1 -2
- package/esm/src/server/handlers/response/cors.d.ts.map +1 -1
- package/esm/src/server/handlers/response/cors.js +41 -29
- package/esm/src/server/runtime-handler/handler-context-builder.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/handler-context-builder.js +10 -2
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +36 -10
- package/esm/src/server/runtime-handler/project-middleware.d.ts +4 -0
- package/esm/src/server/runtime-handler/project-middleware.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/project-middleware.js +11 -1
- package/esm/src/types/server.d.ts +12 -0
- package/esm/src/types/server.d.ts.map +1 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.d.ts.map +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +9 -9
package/esm/deno.js
CHANGED
|
@@ -6,6 +6,30 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionFactory } from "../../../src/extensions/index.js";
|
|
8
8
|
import { AnthropicProvider } from "./anthropic-provider.js";
|
|
9
|
+
/** @internal Framework-owned factory captured before project code can replace provider methods. */
|
|
10
|
+
export declare const createAnthropicProviderModel: (modelId: string, config: import("../../../src/extensions/llm/llm-provider.js").LLMProviderConfig) => import("../../../src/provider/types.js").ModelRuntime<import("./anthropic-request-builder.js").OpenAICompatibleLanguageOptions, {
|
|
11
|
+
type: "reasoning";
|
|
12
|
+
text?: string;
|
|
13
|
+
signature?: string;
|
|
14
|
+
redactedData?: string;
|
|
15
|
+
} | {
|
|
16
|
+
type: "text";
|
|
17
|
+
text: string;
|
|
18
|
+
citations?: import("./anthropic-citations.js").AnthropicCitation[];
|
|
19
|
+
} | {
|
|
20
|
+
type: "tool-call";
|
|
21
|
+
toolCallId: string;
|
|
22
|
+
toolName: string;
|
|
23
|
+
input: string;
|
|
24
|
+
providerExecuted?: boolean;
|
|
25
|
+
} | {
|
|
26
|
+
type: "tool-result";
|
|
27
|
+
toolCallId: string;
|
|
28
|
+
toolName: string;
|
|
29
|
+
result: unknown;
|
|
30
|
+
isError?: boolean;
|
|
31
|
+
providerExecuted: true;
|
|
32
|
+
}>;
|
|
9
33
|
declare const extAnthropic: ExtensionFactory;
|
|
10
34
|
export default extAnthropic;
|
|
11
35
|
export { AnthropicProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,mGAAmG;AACnG,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;EAExC,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,gBA0BnB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { LLMProviderRegistryName } from "../../../src/extensions/llm/index.js";
|
|
8
8
|
import { AnthropicProvider } from "./anthropic-provider.js";
|
|
9
|
+
const trustedAnthropicProvider = new AnthropicProvider();
|
|
10
|
+
/** @internal Framework-owned factory captured before project code can replace provider methods. */
|
|
11
|
+
export const createAnthropicProviderModel = trustedAnthropicProvider.createModel.bind(trustedAnthropicProvider);
|
|
9
12
|
const extAnthropic = () => {
|
|
10
13
|
const provider = new AnthropicProvider();
|
|
11
14
|
let registryRef;
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionFactory } from "../../../src/extensions/index.js";
|
|
8
8
|
import { GoogleProvider } from "./google-provider.js";
|
|
9
|
+
/** @internal Framework-owned factory captured before project code can replace provider methods. */
|
|
10
|
+
export declare const createGoogleProviderModel: (modelId: string, config: import("../../../src/extensions/llm/llm-provider.js").LLMProviderConfig) => import("../../../src/provider/types.js").ModelRuntime<import("./google-request-builder.js").OpenAICompatibleLanguageOptions, import("../../../src/provider/types.js").RuntimeAssistantContentPart>;
|
|
9
11
|
declare const extGoogle: ExtensionFactory;
|
|
10
12
|
export default extGoogle;
|
|
11
13
|
export { GoogleProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-google/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-google/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,0SAErC,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBA0BhB,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { LLMProviderRegistryName } from "../../../src/extensions/llm/index.js";
|
|
8
8
|
import { GoogleProvider } from "./google-provider.js";
|
|
9
|
+
const trustedGoogleProvider = new GoogleProvider();
|
|
10
|
+
/** @internal Framework-owned factory captured before project code can replace provider methods. */
|
|
11
|
+
export const createGoogleProviderModel = trustedGoogleProvider.createModel.bind(trustedGoogleProvider);
|
|
9
12
|
const extGoogle = () => {
|
|
10
13
|
const provider = new GoogleProvider();
|
|
11
14
|
let registryRef;
|
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionFactory } from "../../../src/extensions/index.js";
|
|
8
8
|
import { OpenAIProvider } from "./openai-provider.js";
|
|
9
|
+
/** @internal Framework-owned factories captured before project code can replace provider methods. */
|
|
10
|
+
export declare const createOpenAIProviderModel: (modelId: string, config: import("../../../src/extensions/llm/llm-provider.js").LLMProviderConfig) => import("../../../src/provider/types.js").ModelRuntime<import("./openai-chat-request-builder.js").OpenAICompatibleLanguageOptions, import("../../../src/provider/types.js").RuntimeAssistantContentPart>;
|
|
11
|
+
export declare const createOpenAIProviderEmbedding: (modelId: string, config: import("../../../src/extensions/llm/llm-provider.js").LLMProviderConfig) => import("../../../src/provider/types.js").EmbeddingRuntime;
|
|
12
|
+
export declare const createOpenAIProviderResponses: (modelId: string, config: import("../../../src/extensions/llm/llm-provider.js").LLMProviderConfig) => import("../../../src/provider/types.js").ModelRuntime<import("./openai-chat-request-builder.js").OpenAICompatibleLanguageOptions, import("../../../src/provider/types.js").RuntimeAssistantContentPart>;
|
|
9
13
|
declare const extOpenAI: ExtensionFactory;
|
|
10
14
|
export default extOpenAI;
|
|
11
15
|
export { OpenAIProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-openai/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-openai/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,qGAAqG;AACrG,eAAO,MAAM,yBAAyB,+SAErC,CAAC;AACF,eAAO,MAAM,6BAA6B,iKAEzC,CAAC;AACF,eAAO,MAAM,6BAA6B,+SAEzC,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,gBAyBhB,CAAC;AAEF,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { LLMProviderRegistryName } from "../../../src/extensions/llm/index.js";
|
|
8
8
|
import { OpenAIProvider } from "./openai-provider.js";
|
|
9
|
+
const trustedOpenAIProvider = new OpenAIProvider();
|
|
10
|
+
/** @internal Framework-owned factories captured before project code can replace provider methods. */
|
|
11
|
+
export const createOpenAIProviderModel = trustedOpenAIProvider.createModel.bind(trustedOpenAIProvider);
|
|
12
|
+
export const createOpenAIProviderEmbedding = trustedOpenAIProvider.createEmbedding.bind(trustedOpenAIProvider);
|
|
13
|
+
export const createOpenAIProviderResponses = trustedOpenAIProvider.createResponses.bind(trustedOpenAIProvider);
|
|
9
14
|
const extOpenAI = () => {
|
|
10
15
|
const provider = new OpenAIProvider();
|
|
11
16
|
let registry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-shared.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/request-shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-shared.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/request-shared.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B,QAA8B,CAAC;AAExE,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1E;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB,QAAQ,GAAG,SAAS,CAetB;AAoBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAW1D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAW7D;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EACjD,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAkCvB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { INVALID_ARGUMENT, VeryfrontError } from "../../errors/index.js";
|
|
2
2
|
import { isRequestBodyTooLargeError, readBodyWithLimit, } from "../../security/input-validation/limits.js";
|
|
3
3
|
import { DEFAULT_MAX_BODY_SIZE_BYTES } from "../../utils/constants/index.js";
|
|
4
|
+
const IntrinsicReflectApply = Reflect.apply;
|
|
5
|
+
const JsonParse = JSON.parse;
|
|
4
6
|
export const AG_UI_MAX_REQUEST_BODY_BYTES = DEFAULT_MAX_BODY_SIZE_BYTES;
|
|
5
7
|
export async function parseAgUiJsonBody(request) {
|
|
6
|
-
return JSON
|
|
8
|
+
return IntrinsicReflectApply(JsonParse, JSON, [await readBodyWithLimit(request, AG_UI_MAX_REQUEST_BODY_BYTES)]);
|
|
7
9
|
}
|
|
8
10
|
export function createAgUiBodyLimitErrorResponse(error, errorLabel) {
|
|
9
11
|
if (!isRequestBodyTooLargeError(error)) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Agent, AgentConfig, AgentMiddleware, AgentOutputSchema, InferAgentOutputSchema } from "./types.js";
|
|
2
|
+
import { type AgentRuntimeInternalOptions } from "./runtime/index.js";
|
|
2
3
|
/**
|
|
3
4
|
* Agent helper.
|
|
4
5
|
*
|
|
@@ -20,6 +21,8 @@ export declare function createEphemeralAgent<TOutputSchema extends AgentOutputSc
|
|
|
20
21
|
outputSchema: TOutputSchema;
|
|
21
22
|
}): Agent<InferAgentOutputSchema<TOutputSchema>>;
|
|
22
23
|
export declare function createEphemeralAgent<TOutput = never>(config: AgentConfig<TOutput>): Agent<TOutput>;
|
|
24
|
+
/** @internal Creates an unregistered agent with framework-private runtime options. */
|
|
25
|
+
export declare function createEphemeralAgentWithRuntimeOptions<TOutput = never>(config: AgentConfig<TOutput>, runtimeOptions: AgentRuntimeInternalOptions): Agent<TOutput>;
|
|
23
26
|
/**
|
|
24
27
|
* Resolve the middleware array for an agent, prepending security middleware
|
|
25
28
|
* unless explicitly opted out with `security: false`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EAEX,eAAe,EACf,iBAAiB,EAIjB,sBAAsB,EAGvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/src/agent/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EAEX,eAAe,EACf,iBAAiB,EAIjB,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAgB,KAAK,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAgdpF;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,aAAa,SAAS,iBAAiB,EAC3D,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,GAAG;IAAE,YAAY,EAAE,aAAa,CAAA;CAAE,GAC3F,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC;AAChD,wBAAgB,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAKrF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,SAAS,iBAAiB,EAC1E,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,GAAG;IAAE,YAAY,EAAE,aAAa,CAAA;CAAE,GAC3F,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC;AAChD,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,KAAK,EAClD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;AAOlB,sFAAsF;AACtF,wBAAgB,sCAAsC,CAAC,OAAO,GAAG,KAAK,EACpE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAC5B,cAAc,EAAE,2BAA2B,GAC1C,KAAK,CAAC,OAAO,CAAC,CAEhB;AA4FD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC,GACnD,eAAe,EAAE,CAanB"}
|
package/esm/src/agent/factory.js
CHANGED
|
@@ -302,6 +302,10 @@ export function agent(config) {
|
|
|
302
302
|
export function createEphemeralAgent(config) {
|
|
303
303
|
return createAgent(config, { register: false });
|
|
304
304
|
}
|
|
305
|
+
/** @internal Creates an unregistered agent with framework-private runtime options. */
|
|
306
|
+
export function createEphemeralAgentWithRuntimeOptions(config, runtimeOptions) {
|
|
307
|
+
return createAgent(config, { register: false, runtimeOptions });
|
|
308
|
+
}
|
|
305
309
|
function createAgent(config, options) {
|
|
306
310
|
if (typeof config.id === "string" && config.id.trim().length === 0) {
|
|
307
311
|
throw toError(createError({
|
|
@@ -345,7 +349,7 @@ function createAgent(config, options) {
|
|
|
345
349
|
tools: mergedToolsConfig,
|
|
346
350
|
system: augmentedSystem,
|
|
347
351
|
middleware: resolvedMiddleware,
|
|
348
|
-
});
|
|
352
|
+
}, options.runtimeOptions);
|
|
349
353
|
const agentInstance = createAgentInstance({
|
|
350
354
|
id,
|
|
351
355
|
publicConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-request-parser.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-request-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAEpB,aAAa,EAGb,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"chat-request-parser.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-request-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { stringifyUnknown } from "../../chat/conversation.js";
|
|
2
2
|
import { buildHostedChatRequestInputFromRuntimeAgentInvocation, hostedChatRequestSchema, } from "./chat-request.js";
|
|
3
|
-
import {
|
|
3
|
+
import { safeParseRuntimeAgentRunInvocationValue, } from "../runtime/agent-invocation-contract.js";
|
|
4
4
|
import { isRequestBodyTooLargeError, readBodyWithLimit, } from "../../security/input-validation/limits.js";
|
|
5
5
|
import { DEFAULT_MAX_BODY_SIZE_BYTES } from "../../utils/constants/index.js";
|
|
6
6
|
import { verifyHostedRuntimeSourceBinding, } from "./runtime-source-binding.js";
|
|
7
7
|
import { getHostedChatUiToolIdentity } from "./chat-request-tool-part.js";
|
|
8
8
|
import { registerHostedRunEventWriterToken } from "./child-run-event-writer-token.js";
|
|
9
|
+
import { registerHostedInferenceCredential } from "./inference-credential.js";
|
|
9
10
|
import { MAX_GRANTED_INTEGRATION_TOOL_NAMES, MAX_REMOTE_INTEGRATION_TOOL_NAME_LENGTH, } from "../../integrations/limits.js";
|
|
10
11
|
import { parseIntegrationToolIdentity } from "../../integrations/source-policy.js";
|
|
11
12
|
import { toRunEventAppendTokenResult, } from "../service/auth.js";
|
|
13
|
+
const IntrinsicReflectApply = Reflect.apply;
|
|
14
|
+
const JsonParse = JSON.parse;
|
|
12
15
|
/** Internal control-plane credential for exact-run durable event appends. */
|
|
13
16
|
export const RUN_EVENT_APPEND_TOKEN_HEADER = "X-Veryfront-Run-Event-Token";
|
|
14
17
|
async function parseRequestJson(request, maxBodySizeBytes) {
|
|
@@ -26,7 +29,7 @@ async function parseRequestJson(request, maxBodySizeBytes) {
|
|
|
26
29
|
return null;
|
|
27
30
|
}
|
|
28
31
|
try {
|
|
29
|
-
return JSON
|
|
32
|
+
return IntrinsicReflectApply(JsonParse, JSON, [body]);
|
|
30
33
|
}
|
|
31
34
|
catch {
|
|
32
35
|
return null;
|
|
@@ -373,7 +376,7 @@ export async function parseRuntimeAgentRunInvocationHostedChatRequestFromRequest
|
|
|
373
376
|
const requestBody = await parseRequestJson(request, DEFAULT_MAX_BODY_SIZE_BYTES);
|
|
374
377
|
if (requestBody instanceof Response)
|
|
375
378
|
return requestBody;
|
|
376
|
-
const invocation =
|
|
379
|
+
const invocation = safeParseRuntimeAgentRunInvocationValue(requestBody);
|
|
377
380
|
if (!invocation.success) {
|
|
378
381
|
return createValidationErrorResponse({
|
|
379
382
|
messagePrefix: "Invalid runtime agent invocation",
|
|
@@ -418,5 +421,8 @@ export async function parseRuntimeAgentRunInvocationHostedChatRequestFromRequest
|
|
|
418
421
|
if (verifiedRequest.serverEnvelopeVerified === true && invocation.data.taskId) {
|
|
419
422
|
verifiedRequest.taskId = invocation.data.taskId;
|
|
420
423
|
}
|
|
424
|
+
registerHostedInferenceCredential(verifiedRequest, verifiedRequest.serverEnvelopeVerified === true
|
|
425
|
+
? invocation.data.credentials?.inferenceAuthToken
|
|
426
|
+
: undefined);
|
|
421
427
|
return verifiedRequest;
|
|
422
428
|
}
|
|
@@ -6,6 +6,7 @@ import { type DefaultHostedChatRuntimeCreationOptions, type DefaultHostedChatRun
|
|
|
6
6
|
import { type AgentServiceRuntimeConfig, type CreateAgentServiceRuntimeOptions } from "../service/runtime.js";
|
|
7
7
|
import type { AgentServiceServerLifecycle } from "../service/server.js";
|
|
8
8
|
import type { ParsedHostedChatRequest } from "./chat-request-parser.js";
|
|
9
|
+
import type { AgentRuntimeInternalOptions } from "../runtime/index.js";
|
|
9
10
|
import type { PreparedHostedChatExecution } from "./prepared-chat-execution.js";
|
|
10
11
|
import { type NodeVeryfrontCloudAgentServiceContext } from "./cloud-agent-config.js";
|
|
11
12
|
/** Full type of a prepared cloud agent chat execution, ready to stream or detach. */
|
|
@@ -22,7 +23,7 @@ export declare function buildLocalTools(context: NodeVeryfrontCloudAgentServiceC
|
|
|
22
23
|
/** Creates the project steering refresh object for the chat runtime. */
|
|
23
24
|
export declare function createProjectSteeringRefresh(context: NodeVeryfrontCloudAgentServiceContext): (input: import("./default-chat-runtime.js").DefaultHostedChatRuntimeSystemRefreshInput) => Promise<import("../types.js").AgentSystem>;
|
|
24
25
|
/** Creates the hosted chat runtime for the given options. */
|
|
25
|
-
export declare function createAgentRuntime(context: NodeVeryfrontCloudAgentServiceContext, options: DefaultHostedChatRuntimeCreationOptions): Promise<HostedChatRuntimeCreationResult>;
|
|
26
|
+
export declare function createAgentRuntime(context: NodeVeryfrontCloudAgentServiceContext, options: DefaultHostedChatRuntimeCreationOptions, runtimeOptions?: AgentRuntimeInternalOptions): Promise<HostedChatRuntimeCreationResult>;
|
|
26
27
|
/** Prepares the chat execution within the project agent runtime scope. */
|
|
27
28
|
export declare function prepareChatExecutionWithinProjectRuntime(context: NodeVeryfrontCloudAgentServiceContext, req: ParsedHostedChatRequest): Promise<NodeVeryfrontCloudAgentServicePreparedExecution>;
|
|
28
29
|
/** Prepares the chat execution, running within the project agent runtime. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-agent-chat-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/cloud-agent-chat-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAa,MAAM,qBAAqB,CAAC;AAclE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAEL,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACzC,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud-agent-chat-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/cloud-agent-chat-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAa,MAAM,qBAAqB,CAAC;AAclE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAEL,KAAK,uCAAuC,EAC5C,KAAK,mCAAmC,EACzC,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAShF,OAAO,EAKL,KAAK,qCAAqC,EAE3C,MAAM,yBAAyB,CAAC;AAuBjC,qFAAqF;AACrF,MAAM,MAAM,+CAA+C,GAAG,2BAA2B,GAAG;IAC1F,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAClD,cAAc,EAAE,gCAAgC,CAAC;CAClD,CAAC;AAEF,sEAAsE;AACtE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,qCAAqC,EAC9C,OAAO,EAAE,uCAAuC,EAChD,WAAW,EAAE,mCAAmC,GAC/C,WAAW,CA+Bb;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,qCAAqC,yIAU1F;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,qCAAqC,EAC9C,OAAO,EAAE,uCAAuC,EAChD,cAAc,CAAC,EAAE,2BAA2B,GAC3C,OAAO,CAAC,+BAA+B,CAAC,CA0D1C;AA2GD,0EAA0E;AAC1E,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,qCAAqC,EAC9C,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,+CAA+C,CAAC,CAuH1D;AAED,6EAA6E;AAC7E,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qCAAqC,EAC9C,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,+CAA+C,CAAC,CAK1D;AAED,sFAAsF;AACtF,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,qCAAqC,EAC9C,MAAM,EAAE,yBAAyB,oFAUlC;AAkBD,8EAA8E;AAC9E,wBAAsB,uCAAuC,CAC3D,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAsClD;AAED,oFAAoF;AACpF,wBAAgB,kDAAkD,CAChE,OAAO,EAAE,qCAAqC,GAC7C,gCAAgC,CAAC,+CAA+C,CAAC,CAwCnF;AAED,yDAAyD;AACzD,YAAY,EAAE,+CAA+C,IAAI,iBAAiB,EAAE,CAAC"}
|
|
@@ -14,6 +14,7 @@ import { applyAgentProjectContextChange } from "../project/context.js";
|
|
|
14
14
|
import { runWithProjectAgentRuntime } from "../project/agent-runtime.js";
|
|
15
15
|
import { buildInteractiveVeryfrontCloudRuntimeInstructions } from "./cloud-runtime-system-messages.js";
|
|
16
16
|
import { createAgentServiceRegistrationLifecycle, resolveAgentServiceRegistrationInput, } from "../service/registration.js";
|
|
17
|
+
import { createHostedInferenceModelResolver } from "./inference-credential.js";
|
|
17
18
|
import { runPreparedHostedChatExecutionDetached, streamPreparedHostedChatExecutionToAgUiResponse, } from "./prepared-chat-execution.js";
|
|
18
19
|
import { createVeryfrontCloudPreparedHostedChatExecutionRuntimeOptions, } from "./cloud-prepared-chat-execution-runtime.js";
|
|
19
20
|
import { prepareVeryfrontCloudHostedChatExecution } from "./cloud-chat-execution-preparation.js";
|
|
@@ -68,7 +69,7 @@ export function createProjectSteeringRefresh(context) {
|
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
/** Creates the hosted chat runtime for the given options. */
|
|
71
|
-
export function createAgentRuntime(context, options) {
|
|
72
|
+
export function createAgentRuntime(context, options, runtimeOptions) {
|
|
72
73
|
const config = context.infrastructure.getConfig();
|
|
73
74
|
const projectRuntime = getProjectAgentRuntime(context);
|
|
74
75
|
const refreshSystem = createProjectSteeringRefresh(context);
|
|
@@ -119,7 +120,7 @@ export function createAgentRuntime(context, options) {
|
|
|
119
120
|
setAttributes: (attributes) => setFilteredTraceAttributes(context, attributes),
|
|
120
121
|
},
|
|
121
122
|
logger: context.infrastructure.logger,
|
|
122
|
-
});
|
|
123
|
+
}, runtimeOptions);
|
|
123
124
|
}
|
|
124
125
|
function setPrepareChatExecutionStartAttributes(context, input) {
|
|
125
126
|
const span = context.infrastructure.tracer.scope().active();
|
|
@@ -156,7 +157,7 @@ function setPrepareChatExecutionResultAttributes(context, input) {
|
|
|
156
157
|
...scheduleTraceAttributes,
|
|
157
158
|
});
|
|
158
159
|
}
|
|
159
|
-
function createHostedChatContextBudgetOptions(context, req, agentConfig, abortSignal) {
|
|
160
|
+
function createHostedChatContextBudgetOptions(context, req, agentConfig, abortSignal, resolveModelRuntime) {
|
|
160
161
|
const config = context.infrastructure.getConfig();
|
|
161
162
|
if (!config.VERYFRONT_CONTEXT_COMPACTION_ENABLED || !req.durableRootRun) {
|
|
162
163
|
return undefined;
|
|
@@ -169,12 +170,22 @@ function createHostedChatContextBudgetOptions(context, req, agentConfig, abortSi
|
|
|
169
170
|
maxSummaryTokens: config.VERYFRONT_CONTEXT_COMPACTION_MAX_SUMMARY_TOKENS,
|
|
170
171
|
summaryGenerator: createVeryfrontCloudContextSummaryGenerator({
|
|
171
172
|
apiUrl: config.VERYFRONT_API_URL,
|
|
172
|
-
authToken: req.authToken,
|
|
173
173
|
projectSlug: req.projectSlug,
|
|
174
174
|
model: config.VERYFRONT_CONTEXT_COMPACTION_SUMMARY_MODEL ?? agentConfig.model,
|
|
175
175
|
maxOutputTokens: config.VERYFRONT_CONTEXT_COMPACTION_MAX_SUMMARY_TOKENS,
|
|
176
176
|
maxInputTokens: config.VERYFRONT_CONTEXT_COMPACTION_SUMMARY_INPUT_TOKENS,
|
|
177
177
|
abortSignal,
|
|
178
|
+
...(resolveModelRuntime
|
|
179
|
+
? {
|
|
180
|
+
resolveModel: (modelId) => {
|
|
181
|
+
const model = resolveModelRuntime(modelId);
|
|
182
|
+
if (!model) {
|
|
183
|
+
throw new TypeError(`Context compaction requires a Veryfront Cloud model, received "${modelId}"`);
|
|
184
|
+
}
|
|
185
|
+
return model;
|
|
186
|
+
},
|
|
187
|
+
}
|
|
188
|
+
: { authToken: req.authToken }),
|
|
178
189
|
}),
|
|
179
190
|
logger: {
|
|
180
191
|
debug: (message, metadata) => context.infrastructure.logger.debug(message, metadata),
|
|
@@ -186,6 +197,7 @@ function createHostedChatContextBudgetOptions(context, req, agentConfig, abortSi
|
|
|
186
197
|
export async function prepareChatExecutionWithinProjectRuntime(context, req) {
|
|
187
198
|
const { userId, authToken, projectId, conversationId, upstreamParentConversationId, upstreamParentRunId, spawnedFromToolCallId, } = req;
|
|
188
199
|
const config = context.infrastructure.getConfig();
|
|
200
|
+
const resolveModelRuntime = createHostedInferenceModelResolver(req);
|
|
189
201
|
const projectServiceTraceAttributes = buildProjectServiceTraceAttributes({
|
|
190
202
|
projectSlug: req.projectSlug,
|
|
191
203
|
readEnv: getEnv,
|
|
@@ -225,12 +237,12 @@ export async function prepareChatExecutionWithinProjectRuntime(context, req) {
|
|
|
225
237
|
},
|
|
226
238
|
fetchSteering: (steeringInput) => fetchProjectSteering(context, steeringInput),
|
|
227
239
|
buildInstructions: buildInteractiveVeryfrontCloudRuntimeInstructions,
|
|
228
|
-
contextBudget: createHostedChatContextBudgetOptions(context, req, agentConfig, preparationSignal),
|
|
240
|
+
contextBudget: createHostedChatContextBudgetOptions(context, req, agentConfig, preparationSignal, resolveModelRuntime),
|
|
229
241
|
createRuntime: (creationOptions) => context.trace("chat.createRuntime", () => {
|
|
230
242
|
return createAgentRuntime(context, {
|
|
231
243
|
...creationOptions,
|
|
232
244
|
userId: req.userId,
|
|
233
|
-
});
|
|
245
|
+
}, resolveModelRuntime ? { resolveModelRuntime } : undefined);
|
|
234
246
|
}),
|
|
235
247
|
});
|
|
236
248
|
setPrepareChatExecutionResultAttributes(context, {
|
|
@@ -6,7 +6,7 @@ type ResolveModelFunction = typeof resolveModel;
|
|
|
6
6
|
/** Options accepted by Veryfront Cloud context summary generator. */
|
|
7
7
|
export type VeryfrontCloudContextSummaryGeneratorOptions = {
|
|
8
8
|
apiUrl: string | URL;
|
|
9
|
-
authToken
|
|
9
|
+
authToken?: string;
|
|
10
10
|
projectSlug?: string | null;
|
|
11
11
|
model?: string;
|
|
12
12
|
maxOutputTokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-summary-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/context-summary-generator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAGb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3E,KAAK,oBAAoB,GAAG,OAAO,YAAY,CAAC;AAChD,KAAK,oBAAoB,GAAG,OAAO,YAAY,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,4CAA4C,GAAG;IACzD,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"context-summary-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/context-summary-generator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAGb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3E,KAAK,oBAAoB,GAAG,OAAO,YAAY,CAAC;AAChD,KAAK,oBAAoB,GAAG,OAAO,YAAY,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,4CAA4C,GAAG;IACzD,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAqKF,gFAAgF;AAChF,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,4CAA4C,GACpD,uBAAuB,CAmBzB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type HostToolSet, type RemoteMCPToolSourceConfig, type RemoteToolSource, type ToolSet } from "../../tool/index.js";
|
|
2
2
|
import { type VeryfrontCloudContext } from "../../provider/veryfront-cloud/context.js";
|
|
3
|
+
import type { AgentRuntimeInternalOptions } from "../runtime/index.js";
|
|
3
4
|
import type { HostedChatRuntimeCreationOptions, HostedChatRuntimeCreationResult } from "./chat-runtime-contract.js";
|
|
4
5
|
import { type HostedChatRuntimeToolAssemblyResult, type HostedHostToolPolicy, type PrepareHostedChatRuntimeToolAssemblyInput } from "./chat-runtime-tool-assembly.js";
|
|
5
6
|
import type { AgentServiceMcpServerConfig } from "../service/mcp-server-config.js";
|
|
@@ -95,5 +96,5 @@ export declare function scopeHostedRuntimeTools(input: {
|
|
|
95
96
|
cloudContext: VeryfrontCloudContext;
|
|
96
97
|
}): ToolSet;
|
|
97
98
|
/** Create default hosted chat runtime. */
|
|
98
|
-
export declare function createDefaultHostedChatRuntime(input: CreateDefaultHostedChatRuntimeOptions): Promise<HostedChatRuntimeCreationResult>;
|
|
99
|
+
export declare function createDefaultHostedChatRuntime(input: CreateDefaultHostedChatRuntimeOptions, runtimeOptions?: AgentRuntimeInternalOptions): Promise<HostedChatRuntimeCreationResult>;
|
|
99
100
|
//# sourceMappingURL=default-chat-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-chat-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-chat-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAErB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"default-chat-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-chat-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAErB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAQvE,OAAO,KAAK,EACV,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EAEzB,KAAK,yCAAyC,EAC/C,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAO3F,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;CACrD,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,uCAAuC,GAC/C,gCAAgC,CAChC,8BAA8B,EAC9B,0BAA0B,CAC3B,GACC;IACA,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,oDAAoD;AACpD,MAAM,MAAM,mCAAmC,GAAG,iCAAiC,GAAG;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,CAAC,EAAE,uCAAuC,CAAC,mBAAmB,CAAC,CAAC;IACjF,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,uCAAuC,CAAC,eAAe,CAAC,CAAC;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,uCAAuC,CAAC,qBAAqB,CAAC,CAAC;IACrF,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,sBAAsB,CAAC,EAAE,uCAAuC,CAAC,wBAAwB,CAAC,CAAC;IAC3F,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,wBAAwB,CAAC,EAAE,uCAAuC,CAAC,0BAA0B,CAAC,CAAC;CAChG,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,0CAA0C,GAAG;IACvD,OAAO,EAAE,uCAAuC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,0CAA0C,GAAG;IACvD,WAAW,EAAE,mCAAmC,CAAC;IACjD,mBAAmB,EAAE,WAAW,CAAC,uCAAuC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACjG,YAAY,EAAE,mCAAmC,CAAC;CACnD,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,6CAA6C,GAAG;IAC1D,QAAQ,EAAE,6BAA6B,CAAC;IACxC,WAAW,EAAE,mCAAmC,CAAC;CAClD,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,0CAA0C,GAAG;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,mCAAmC,CAAC;CAClD,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,qCAAqC,GAAG;IAClD,OAAO,EAAE,uCAAuC,CAAC;IACjD,2EAA2E;IAC3E,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,uBAAuB,EAAE,+BAA+B,CAAC;IACzD,MAAM,EAAE,8BAA8B,CAAC;IACvC,eAAe,EAAE,CACf,WAAW,EAAE,mCAAmC,KAC7C,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,0CAA0C,KAC9C,mCAAmC,CAAC;IACzC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,0CAA0C,KAC9C,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACxC,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,6CAA6C,KACjD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CACtB,KAAK,EAAE,0CAA0C,KAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,8BAA8B,CAAC,EAC7B,yCAAyC,CAAC,gCAAgC,CAAC,CAAC;IAC9E,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,eAAe,CAAC,EAAE,yCAAyC,CAAC,iBAAiB,CAAC,CAAC;IAC/E,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,MAAM,CAAC,EAAE,8BAA8B,CAAC;CACzC,CAAC;AAuPF,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,mCAAmC,CAAC;IACjD,YAAY,EAAE,qBAAqB,CAAC;CACrC,GAAG,OAAO,CA4BV;AA0CD,0CAA0C;AAC1C,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,qCAAqC,EAC5C,cAAc,GAAE,2BAAgC,GAC/C,OAAO,CAAC,+BAA+B,CAAC,CAgF1C"}
|
|
@@ -4,7 +4,7 @@ import { runWithRequestContextAsync, serverLogger } from "../../utils/index.js";
|
|
|
4
4
|
import { runWithoutRequestContext as runWithoutProjectRequestContext, runWithRequestContext as runWithProjectRequestContext, } from "../../platform/adapters/fs/veryfront/request-context.js";
|
|
5
5
|
import { resolveVeryfrontCloudModelId, resolveVeryfrontCloudModelThinking, resolveVeryfrontCloudReasoningOption, resolveVeryfrontCloudThinkingProviderOptions, } from "../../provider/veryfront-cloud/model-catalog.js";
|
|
6
6
|
import { runWithVeryfrontCloudContext, runWithVeryfrontCloudContextAsync, } from "../../provider/veryfront-cloud/context.js";
|
|
7
|
-
import {
|
|
7
|
+
import { createEphemeralAgentWithRuntimeOptions } from "../factory.js";
|
|
8
8
|
import { markRuntimeLocalTool } from "../runtime/local-tool.js";
|
|
9
9
|
import { applyDefaultResearchArtifactPath, createDefaultResearchRunArtifactMirrorHandler, shouldRetryCreateResearchArtifactAsUpdate, } from "../artifacts/default-research-artifact-support.js";
|
|
10
10
|
import { createHostedChatRuntimeAgentAdapter } from "./chat-runtime-agent-adapter.js";
|
|
@@ -272,7 +272,7 @@ function runWithDefaultHostedRequestContext(input) {
|
|
|
272
272
|
});
|
|
273
273
|
}
|
|
274
274
|
/** Create default hosted chat runtime. */
|
|
275
|
-
export async function createDefaultHostedChatRuntime(input) {
|
|
275
|
+
export async function createDefaultHostedChatRuntime(input, runtimeOptions = {}) {
|
|
276
276
|
const effectiveRunEventWriterCapability = getActiveHostedRunEventWriterCapability();
|
|
277
277
|
return await runWithEffectiveSourceIntegrationPolicy(input.sourceIntegrationPolicy, async () => {
|
|
278
278
|
const modelId = resolveVeryfrontCloudModelId(input.options.model);
|
|
@@ -294,7 +294,7 @@ export async function createDefaultHostedChatRuntime(input) {
|
|
|
294
294
|
sourceIntegrationPolicy: input.sourceIntegrationPolicy,
|
|
295
295
|
refreshSystem: input.refreshSystem,
|
|
296
296
|
});
|
|
297
|
-
const runtimeAgent = runWithVeryfrontCloudContext(cloudContext, () =>
|
|
297
|
+
const runtimeAgent = runWithVeryfrontCloudContext(cloudContext, () => createEphemeralAgentWithRuntimeOptions(runtimeAgentConfig, runtimeOptions));
|
|
298
298
|
return {
|
|
299
299
|
runtimeKind: "framework",
|
|
300
300
|
modelId,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentModelRuntimeResolver } from "../runtime/model-transport.js";
|
|
2
|
+
import type { ParsedHostedChatRequest } from "./chat-request-parser.js";
|
|
3
|
+
/** @internal Bind a verified control-plane inference credential without exposing it on the request. */
|
|
4
|
+
export declare function registerHostedInferenceCredential(request: ParsedHostedChatRequest, credential: string | undefined): void;
|
|
5
|
+
/** @internal Create a model resolver without exposing verified inference authority. */
|
|
6
|
+
export declare function createVeryfrontCloudInferenceModelResolver(credential: string): AgentModelRuntimeResolver;
|
|
7
|
+
/** @internal Create a model resolver without exposing verified inference authority. */
|
|
8
|
+
export declare function createHostedInferenceModelResolver(request: ParsedHostedChatRequest): AgentModelRuntimeResolver | undefined;
|
|
9
|
+
//# sourceMappingURL=inference-credential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference-credential.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/inference-credential.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAOxE,uGAAuG;AACvG,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,IAAI,CAGN;AAED,uFAAuF;AACvF,wBAAgB,0CAA0C,CACxD,UAAU,EAAE,MAAM,GACjB,yBAAyB,CAW3B;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,uBAAuB,GAC/B,yBAAyB,GAAG,SAAS,CAKvC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createVeryfrontCloudInferenceModel } from "../../provider/veryfront-cloud/provider.js";
|
|
2
|
+
import { createPrivateWeakStore } from "../../security/private-weak-store.js";
|
|
3
|
+
const inferenceCredentials = createPrivateWeakStore();
|
|
4
|
+
const VERYFRONT_CLOUD_MODEL_PREFIX = "veryfront-cloud/";
|
|
5
|
+
const IntrinsicReflectApply = Reflect.apply;
|
|
6
|
+
const StringStartsWith = String.prototype.startsWith;
|
|
7
|
+
/** @internal Bind a verified control-plane inference credential without exposing it on the request. */
|
|
8
|
+
export function registerHostedInferenceCredential(request, credential) {
|
|
9
|
+
if (!credential)
|
|
10
|
+
return;
|
|
11
|
+
inferenceCredentials.set(request, credential);
|
|
12
|
+
}
|
|
13
|
+
/** @internal Create a model resolver without exposing verified inference authority. */
|
|
14
|
+
export function createVeryfrontCloudInferenceModelResolver(credential) {
|
|
15
|
+
return (modelId) => {
|
|
16
|
+
if (!IntrinsicReflectApply(StringStartsWith, modelId, [VERYFRONT_CLOUD_MODEL_PREFIX])) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return createVeryfrontCloudInferenceModel(modelId.slice(VERYFRONT_CLOUD_MODEL_PREFIX.length), credential);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** @internal Create a model resolver without exposing verified inference authority. */
|
|
23
|
+
export function createHostedInferenceModelResolver(request) {
|
|
24
|
+
const storedCredential = inferenceCredentials.get(request);
|
|
25
|
+
return typeof storedCredential === "string"
|
|
26
|
+
? createVeryfrontCloudInferenceModelResolver(storedCredential)
|
|
27
|
+
: undefined;
|
|
28
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/middleware/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/middleware/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIhF,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAoB;gBAE1B,UAAU,GAAE,eAAe,EAAO;IAI9C,OAAO,CACL,OAAO,EAAE,YAAY,EACrB,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GACzC,OAAO,CAAC,aAAa,CAAC;IA8BzB,GAAG,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAKtC,OAAO,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAK1C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,IAAI,OAAO;CAGnB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,eAAe,CAEjB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { withSpan } from "../../observability/tracing/otlp-setup.js";
|
|
2
|
+
import { MIDDLEWARE_ERROR } from "../../errors/index.js";
|
|
2
3
|
export class MiddlewareChain {
|
|
3
4
|
middleware;
|
|
4
5
|
constructor(middleware = []) {
|
|
@@ -6,15 +7,18 @@ export class MiddlewareChain {
|
|
|
6
7
|
}
|
|
7
8
|
execute(context, finalHandler) {
|
|
8
9
|
return withSpan("agent.middleware.chain.execute", () => {
|
|
9
|
-
let
|
|
10
|
-
const dispatch = () => {
|
|
11
|
-
|
|
10
|
+
let lastDispatchedIndex = -1;
|
|
11
|
+
const dispatch = (middlewareIndex) => {
|
|
12
|
+
if (middlewareIndex <= lastDispatchedIndex) {
|
|
13
|
+
return Promise.reject(MIDDLEWARE_ERROR.create({ detail: "Agent middleware next() called multiple times" }));
|
|
14
|
+
}
|
|
15
|
+
lastDispatchedIndex = middlewareIndex;
|
|
12
16
|
const currentMiddleware = this.middleware[middlewareIndex];
|
|
13
17
|
if (!currentMiddleware)
|
|
14
18
|
return finalHandler();
|
|
15
|
-
return withSpan(`agent.middleware.chain.dispatch.${
|
|
19
|
+
return withSpan(`agent.middleware.chain.dispatch.${middlewareIndex + 1}`, () => currentMiddleware(context, () => dispatch(middlewareIndex + 1)), { "middleware.index": middlewareIndex });
|
|
16
20
|
};
|
|
17
|
-
return dispatch();
|
|
21
|
+
return dispatch(0);
|
|
18
22
|
}, { "middleware.count": this.middleware.length });
|
|
19
23
|
}
|
|
20
24
|
use(middleware) {
|