alibabacloud-agentcore-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +189 -0
- package/dist/access-key-CkoHq3S8.d.cts +30 -0
- package/dist/access-key-CkoHq3S8.d.ts +30 -0
- package/dist/agent-sa-token-DD1Sb8P1.d.cts +14 -0
- package/dist/agent-sa-token-DD1Sb8P1.d.ts +14 -0
- package/dist/auth/index.cjs +36 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +34 -0
- package/dist/auth/index.d.ts +34 -0
- package/dist/auth/index.js +36 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/bound-credentials-C1fM0thh.d.cts +39 -0
- package/dist/bound-credentials-DqT64Q2s.d.ts +39 -0
- package/dist/chunk-2E5EWEDG.cjs +142 -0
- package/dist/chunk-2E5EWEDG.cjs.map +1 -0
- package/dist/chunk-55XZZRKO.js +220 -0
- package/dist/chunk-55XZZRKO.js.map +1 -0
- package/dist/chunk-5JXA7JPS.js +29 -0
- package/dist/chunk-5JXA7JPS.js.map +1 -0
- package/dist/chunk-5RKN46UU.cjs +139 -0
- package/dist/chunk-5RKN46UU.cjs.map +1 -0
- package/dist/chunk-5ZOLHQXO.js +296 -0
- package/dist/chunk-5ZOLHQXO.js.map +1 -0
- package/dist/chunk-7Y263YIW.js +298 -0
- package/dist/chunk-7Y263YIW.js.map +1 -0
- package/dist/chunk-A3PF2SPD.cjs +141 -0
- package/dist/chunk-A3PF2SPD.cjs.map +1 -0
- package/dist/chunk-A3WMLVJC.cjs +141 -0
- package/dist/chunk-A3WMLVJC.cjs.map +1 -0
- package/dist/chunk-BVZ7H2F5.cjs +582 -0
- package/dist/chunk-BVZ7H2F5.cjs.map +1 -0
- package/dist/chunk-EGUKJE3Z.cjs +24 -0
- package/dist/chunk-EGUKJE3Z.cjs.map +1 -0
- package/dist/chunk-EKXZKKJJ.js +24 -0
- package/dist/chunk-EKXZKKJJ.js.map +1 -0
- package/dist/chunk-GYLT23D3.js +110 -0
- package/dist/chunk-GYLT23D3.js.map +1 -0
- package/dist/chunk-IF7LMBXC.js +306 -0
- package/dist/chunk-IF7LMBXC.js.map +1 -0
- package/dist/chunk-IUCLCPVV.js +113 -0
- package/dist/chunk-IUCLCPVV.js.map +1 -0
- package/dist/chunk-JSP7ZROS.cjs +95 -0
- package/dist/chunk-JSP7ZROS.cjs.map +1 -0
- package/dist/chunk-JW62DVIC.js +238 -0
- package/dist/chunk-JW62DVIC.js.map +1 -0
- package/dist/chunk-K3TE7625.js +139 -0
- package/dist/chunk-K3TE7625.js.map +1 -0
- package/dist/chunk-LE5P3SJW.cjs +16 -0
- package/dist/chunk-LE5P3SJW.cjs.map +1 -0
- package/dist/chunk-LXHW6OT4.cjs +77 -0
- package/dist/chunk-LXHW6OT4.cjs.map +1 -0
- package/dist/chunk-MICRSJ6R.js +48 -0
- package/dist/chunk-MICRSJ6R.js.map +1 -0
- package/dist/chunk-MWAHO47B.cjs +220 -0
- package/dist/chunk-MWAHO47B.cjs.map +1 -0
- package/dist/chunk-MZ5UWGXS.js +95 -0
- package/dist/chunk-MZ5UWGXS.js.map +1 -0
- package/dist/chunk-NZL3VPJ2.js +16 -0
- package/dist/chunk-NZL3VPJ2.js.map +1 -0
- package/dist/chunk-PC4FM2RP.cjs +180 -0
- package/dist/chunk-PC4FM2RP.cjs.map +1 -0
- package/dist/chunk-PKYET77D.cjs +296 -0
- package/dist/chunk-PKYET77D.cjs.map +1 -0
- package/dist/chunk-PTJPB27L.js +31 -0
- package/dist/chunk-PTJPB27L.js.map +1 -0
- package/dist/chunk-QIZO3A4Y.cjs +306 -0
- package/dist/chunk-QIZO3A4Y.cjs.map +1 -0
- package/dist/chunk-RBAY4MO2.js +202 -0
- package/dist/chunk-RBAY4MO2.js.map +1 -0
- package/dist/chunk-RHY7Y43E.js +582 -0
- package/dist/chunk-RHY7Y43E.js.map +1 -0
- package/dist/chunk-RQRI6RCG.cjs +238 -0
- package/dist/chunk-RQRI6RCG.cjs.map +1 -0
- package/dist/chunk-RYXL25AI.js +141 -0
- package/dist/chunk-RYXL25AI.js.map +1 -0
- package/dist/chunk-RZNQGEGJ.cjs +113 -0
- package/dist/chunk-RZNQGEGJ.cjs.map +1 -0
- package/dist/chunk-S7PWSJNP.cjs +48 -0
- package/dist/chunk-S7PWSJNP.cjs.map +1 -0
- package/dist/chunk-TWEO5XVM.cjs +298 -0
- package/dist/chunk-TWEO5XVM.cjs.map +1 -0
- package/dist/chunk-UBP5CHU7.js +142 -0
- package/dist/chunk-UBP5CHU7.js.map +1 -0
- package/dist/chunk-ULJTQSLE.cjs +35 -0
- package/dist/chunk-ULJTQSLE.cjs.map +1 -0
- package/dist/chunk-UWPKFJYM.js +77 -0
- package/dist/chunk-UWPKFJYM.js.map +1 -0
- package/dist/chunk-WKZUYPDS.js +180 -0
- package/dist/chunk-WKZUYPDS.js.map +1 -0
- package/dist/chunk-YZP55W7S.cjs +29 -0
- package/dist/chunk-YZP55W7S.cjs.map +1 -0
- package/dist/chunk-ZELRQU4J.cjs +31 -0
- package/dist/chunk-ZELRQU4J.cjs.map +1 -0
- package/dist/chunk-ZLKYXRNM.js +141 -0
- package/dist/chunk-ZLKYXRNM.js.map +1 -0
- package/dist/chunk-ZLQ2IBTC.cjs +110 -0
- package/dist/chunk-ZLQ2IBTC.cjs.map +1 -0
- package/dist/chunk-ZTWLCHCO.cjs +202 -0
- package/dist/chunk-ZTWLCHCO.cjs.map +1 -0
- package/dist/chunk-ZWQBAJ5O.js +35 -0
- package/dist/chunk-ZWQBAJ5O.js.map +1 -0
- package/dist/client-DDU4-ygJ.d.cts +72 -0
- package/dist/client-pDzS7EZR.d.ts +72 -0
- package/dist/collaboration/index.cjs +44 -0
- package/dist/collaboration/index.cjs.map +1 -0
- package/dist/collaboration/index.d.cts +73 -0
- package/dist/collaboration/index.d.ts +73 -0
- package/dist/collaboration/index.js +44 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/common-BSXkQfxI.d.cts +25 -0
- package/dist/common-BSXkQfxI.d.ts +25 -0
- package/dist/common-DRdI-75k.d.ts +8 -0
- package/dist/common-_vxreiEW.d.cts +8 -0
- package/dist/config-CMkmMtx1.d.cts +20 -0
- package/dist/config-CMkmMtx1.d.ts +20 -0
- package/dist/context-M9rOTifU.d.cts +12 -0
- package/dist/context-M9rOTifU.d.ts +12 -0
- package/dist/controller-DWs3Sy04.d.cts +9 -0
- package/dist/controller-DmI4L4sP.d.ts +9 -0
- package/dist/controlplane/index.cjs +13 -0
- package/dist/controlplane/index.cjs.map +1 -0
- package/dist/controlplane/index.d.cts +66 -0
- package/dist/controlplane/index.d.ts +66 -0
- package/dist/controlplane/index.js +13 -0
- package/dist/controlplane/index.js.map +1 -0
- package/dist/errors-BjGO6N10.d.ts +93 -0
- package/dist/errors-D9OtcR-o.d.cts +93 -0
- package/dist/event-converters-BIn8odqo.d.ts +38 -0
- package/dist/event-converters-Cn_NeGyQ.d.cts +38 -0
- package/dist/google-adk-model-N47R7GB2.js +208 -0
- package/dist/google-adk-model-N47R7GB2.js.map +1 -0
- package/dist/google-adk-model-PDBKY5YZ.cjs +208 -0
- package/dist/google-adk-model-PDBKY5YZ.cjs.map +1 -0
- package/dist/index.cjs +322 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +78 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.js +322 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/ai-sdk.cjs +15 -0
- package/dist/integrations/ai-sdk.cjs.map +1 -0
- package/dist/integrations/ai-sdk.d.cts +21 -0
- package/dist/integrations/ai-sdk.d.ts +21 -0
- package/dist/integrations/ai-sdk.js +15 -0
- package/dist/integrations/ai-sdk.js.map +1 -0
- package/dist/integrations/google-adk.cjs +90 -0
- package/dist/integrations/google-adk.cjs.map +1 -0
- package/dist/integrations/google-adk.d.cts +46 -0
- package/dist/integrations/google-adk.d.ts +46 -0
- package/dist/integrations/google-adk.js +90 -0
- package/dist/integrations/google-adk.js.map +1 -0
- package/dist/integrations/langchain.cjs +95 -0
- package/dist/integrations/langchain.cjs.map +1 -0
- package/dist/integrations/langchain.d.cts +52 -0
- package/dist/integrations/langchain.d.ts +52 -0
- package/dist/integrations/langchain.js +95 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/langgraph.cjs +30 -0
- package/dist/integrations/langgraph.cjs.map +1 -0
- package/dist/integrations/langgraph.d.cts +53 -0
- package/dist/integrations/langgraph.d.ts +53 -0
- package/dist/integrations/langgraph.js +30 -0
- package/dist/integrations/langgraph.js.map +1 -0
- package/dist/integrations/mastra.cjs +108 -0
- package/dist/integrations/mastra.cjs.map +1 -0
- package/dist/integrations/mastra.d.cts +47 -0
- package/dist/integrations/mastra.d.ts +47 -0
- package/dist/integrations/mastra.js +108 -0
- package/dist/integrations/mastra.js.map +1 -0
- package/dist/langchain-adapter-DFJdEX04.d.cts +47 -0
- package/dist/langchain-adapter-DJsyjm5V.d.ts +47 -0
- package/dist/langchain-provider-NF5GIDQV.cjs +227 -0
- package/dist/langchain-provider-NF5GIDQV.cjs.map +1 -0
- package/dist/langchain-provider-PHL4UWNF.js +227 -0
- package/dist/langchain-provider-PHL4UWNF.js.map +1 -0
- package/dist/loader-DrIQ37nm.d.ts +38 -0
- package/dist/loader-eWuJ2GSL.d.cts +38 -0
- package/dist/logging-C8GLLg1f.d.cts +9 -0
- package/dist/logging-C8GLLg1f.d.ts +9 -0
- package/dist/managed-CwLx9h4C.d.cts +32 -0
- package/dist/managed-D9eQK1ut.d.ts +32 -0
- package/dist/mcp/index.cjs +12 -0
- package/dist/mcp/index.cjs.map +1 -0
- package/dist/mcp/index.d.cts +62 -0
- package/dist/mcp/index.d.ts +62 -0
- package/dist/mcp/index.js +12 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/memory/index.cjs +12 -0
- package/dist/memory/index.cjs.map +1 -0
- package/dist/memory/index.d.cts +113 -0
- package/dist/memory/index.d.ts +113 -0
- package/dist/memory/index.js +12 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/model/index.cjs +16 -0
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.cts +129 -0
- package/dist/model/index.d.ts +129 -0
- package/dist/model/index.js +16 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model-CkYHzHPk.d.cts +50 -0
- package/dist/model-CkYHzHPk.d.ts +50 -0
- package/dist/runtime/index.cjs +49 -0
- package/dist/runtime/index.cjs.map +1 -0
- package/dist/runtime/index.d.cts +73 -0
- package/dist/runtime/index.d.ts +73 -0
- package/dist/runtime/index.js +49 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/server/index.cjs +604 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.cts +69 -0
- package/dist/server/index.d.ts +69 -0
- package/dist/server/index.js +604 -0
- package/dist/server/index.js.map +1 -0
- package/dist/skill/index.cjs +14 -0
- package/dist/skill/index.cjs.map +1 -0
- package/dist/skill/index.d.cts +16 -0
- package/dist/skill/index.d.ts +16 -0
- package/dist/skill/index.js +14 -0
- package/dist/skill/index.js.map +1 -0
- package/package.json +292 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import {
|
|
2
|
+
httpUrl,
|
|
3
|
+
requiredString
|
|
4
|
+
} from "./chunk-K3TE7625.js";
|
|
5
|
+
import {
|
|
6
|
+
nullLogger
|
|
7
|
+
} from "./chunk-NZL3VPJ2.js";
|
|
8
|
+
import {
|
|
9
|
+
ConfigError,
|
|
10
|
+
InvocationError
|
|
11
|
+
} from "./chunk-MZ5UWGXS.js";
|
|
12
|
+
|
|
13
|
+
// src/model/client.ts
|
|
14
|
+
import OpenAI from "openai";
|
|
15
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
16
|
+
import { inspect } from "util";
|
|
17
|
+
function managedModelProtocol(protocol) {
|
|
18
|
+
switch (protocol.trim().toLowerCase()) {
|
|
19
|
+
case "openai/v1":
|
|
20
|
+
return "openai";
|
|
21
|
+
case "anthropic":
|
|
22
|
+
return "anthropic";
|
|
23
|
+
default:
|
|
24
|
+
throw new ConfigError(`managed model protocol has no SDK adapter: ${protocol}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function modelBaseURL(gatewayURL, connectionId, protocol) {
|
|
28
|
+
const provider = managedModelProtocol(protocol);
|
|
29
|
+
const gateway = gatewayURL.replace(/\/+$/, "").replace(/\/v1$/, "").replace(/\/model-connection$/, "");
|
|
30
|
+
return `${gateway}/model-connection/${encodeURIComponent(connectionId)}${provider === "openai" ? "/v1" : ""}`;
|
|
31
|
+
}
|
|
32
|
+
var ModelClient = class _ModelClient {
|
|
33
|
+
constructor(settings, requestHeaders, descriptor, logger, timeoutMs) {
|
|
34
|
+
this.timeoutMs = timeoutMs;
|
|
35
|
+
this.settings = Object.freeze(settings);
|
|
36
|
+
this.requestHeaders = requestHeaders;
|
|
37
|
+
this.descriptor = descriptor;
|
|
38
|
+
this.logger = logger;
|
|
39
|
+
const fetch = this.httpFetch.bind(this);
|
|
40
|
+
if (settings.provider === "openai") this.openai = new OpenAI({ baseURL: settings.baseURL, apiKey: "agentcore-transport", fetch, timeout: timeoutMs, maxRetries: 0 });
|
|
41
|
+
else this.anthropic = new Anthropic({ baseURL: settings.baseURL, apiKey: null, authToken: "", defaultHeaders: { "X-Api-Key": null, Authorization: null }, fetch, timeout: timeoutMs, maxRetries: 0 });
|
|
42
|
+
this.logger.info("agentcore.model.client.created", { mode: descriptor ? "managed" : "direct", model: settings.model, provider: settings.provider, baseURL: settings.baseURL });
|
|
43
|
+
}
|
|
44
|
+
timeoutMs;
|
|
45
|
+
descriptor;
|
|
46
|
+
settings;
|
|
47
|
+
logger;
|
|
48
|
+
openai;
|
|
49
|
+
anthropic;
|
|
50
|
+
lifetime = new AbortController();
|
|
51
|
+
requestHeaders;
|
|
52
|
+
static platform(config, descriptor, options = {}) {
|
|
53
|
+
const provider = managedModelProtocol(descriptor.protocol);
|
|
54
|
+
const headers = { ...config.gatewayHeaders };
|
|
55
|
+
return new _ModelClient(
|
|
56
|
+
{ model: descriptor.modelName, provider, baseURL: modelBaseURL(config.modelGatewayUrl, descriptor.connectionId, descriptor.protocol), maxTokens: descriptor.maxTokens },
|
|
57
|
+
() => headers,
|
|
58
|
+
descriptor,
|
|
59
|
+
options.logger ?? nullLogger,
|
|
60
|
+
options.timeoutMs ?? 6e5
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
static direct(options) {
|
|
64
|
+
if (options.apiKey !== void 0 && options.apiKeyProvider !== void 0) throw new ConfigError("apiKey and apiKeyProvider are mutually exclusive");
|
|
65
|
+
const provider = options.provider ?? "openai";
|
|
66
|
+
if (provider !== "openai" && provider !== "anthropic") throw new ConfigError(`direct model protocol has no SDK adapter: ${provider}`);
|
|
67
|
+
const model = requiredString(options.model, "model");
|
|
68
|
+
const baseURL = httpUrl(options.baseURL, "direct model baseURL");
|
|
69
|
+
const resolve = async () => {
|
|
70
|
+
const headers = {};
|
|
71
|
+
const key = options.apiKeyProvider ? requiredString(await options.apiKeyProvider(), "apiKeyProvider result") : options.apiKey;
|
|
72
|
+
if (key) headers[provider === "openai" ? "authorization" : "x-api-key"] = provider === "openai" ? `Bearer ${key}` : key;
|
|
73
|
+
Object.assign(headers, await options.headersProvider?.());
|
|
74
|
+
return headers;
|
|
75
|
+
};
|
|
76
|
+
return new _ModelClient({ model, baseURL, provider }, resolve, void 0, options.logger ?? nullLogger, options.timeoutMs ?? 6e5);
|
|
77
|
+
}
|
|
78
|
+
/** Headers are resolved for framework transports as well as direct API calls. */
|
|
79
|
+
async headers() {
|
|
80
|
+
return this.requestHeaders();
|
|
81
|
+
}
|
|
82
|
+
async completion(messages, parameters = {}, options = {}) {
|
|
83
|
+
this.reject(parameters, ["messages", "stream"]);
|
|
84
|
+
return this.invokeRequest("completion", async () => {
|
|
85
|
+
if (this.openai) return this.openai.chat.completions.create({ ...parameters, model: this.settings.model, messages: [...messages], stream: false }, options);
|
|
86
|
+
return this.anthropic.messages.create({ ...this.anthropicParameters(messages, parameters), model: this.settings.model, stream: false }, options);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
async invoke(messages, parameters = {}, options = {}) {
|
|
90
|
+
return this.completion(messages, parameters, options);
|
|
91
|
+
}
|
|
92
|
+
async *stream(messages, parameters = {}, options = {}) {
|
|
93
|
+
this.reject(parameters, ["messages", "stream"]);
|
|
94
|
+
const request = async () => this.openai ? this.openai.chat.completions.create({ ...parameters, model: this.settings.model, messages: [...messages], stream: true }, options) : this.anthropic.messages.create({ ...this.anthropicParameters(messages, parameters), model: this.settings.model, stream: true }, options);
|
|
95
|
+
yield* this.invokeStream("stream", request);
|
|
96
|
+
}
|
|
97
|
+
async responses(input, parameters = {}, options = {}) {
|
|
98
|
+
this.reject(parameters, ["input", "stream"]);
|
|
99
|
+
this.requireOpenAI("Responses API");
|
|
100
|
+
return this.invokeRequest("responses", () => this.openai.responses.create({ ...parameters, model: this.settings.model, input, stream: false }, options));
|
|
101
|
+
}
|
|
102
|
+
async *responsesStream(input, parameters = {}, options = {}) {
|
|
103
|
+
this.reject(parameters, ["input", "stream"]);
|
|
104
|
+
this.requireOpenAI("Responses API");
|
|
105
|
+
yield* this.invokeStream("responsesStream", () => this.openai.responses.create({ ...parameters, model: this.settings.model, input, stream: true }, options));
|
|
106
|
+
}
|
|
107
|
+
async embedding(input, parameters = {}, options = {}) {
|
|
108
|
+
this.reject(parameters, ["input"]);
|
|
109
|
+
if (this.descriptor) throw new InvocationError("managed model protocol does not publish Embedding API");
|
|
110
|
+
this.requireOpenAI("Embedding API");
|
|
111
|
+
return this.invokeRequest("embedding", () => this.openai.embeddings.create({ ...parameters, model: this.settings.model, input }, options));
|
|
112
|
+
}
|
|
113
|
+
close() {
|
|
114
|
+
this.lifetime.abort();
|
|
115
|
+
}
|
|
116
|
+
[inspect.custom]() {
|
|
117
|
+
return `ModelClient(model=${this.settings.model}, provider=${this.settings.provider}, <redacted>)`;
|
|
118
|
+
}
|
|
119
|
+
toJSON() {
|
|
120
|
+
return this[inspect.custom]();
|
|
121
|
+
}
|
|
122
|
+
requireOpenAI(operation) {
|
|
123
|
+
if (!this.openai) throw new InvocationError(`Anthropic protocol does not publish ${operation}`);
|
|
124
|
+
}
|
|
125
|
+
reject(parameters, operationFields) {
|
|
126
|
+
this.lifetime.signal.throwIfAborted();
|
|
127
|
+
const reserved = ["model", "resourceName", "resource_name", "extra_headers", ...operationFields];
|
|
128
|
+
const conflicts = reserved.filter((name) => Object.hasOwn(parameters, name));
|
|
129
|
+
if (conflicts.length) throw new TypeError(`reserved model request parameters: ${conflicts.join(", ")}`);
|
|
130
|
+
}
|
|
131
|
+
anthropicParameters(messages, parameters) {
|
|
132
|
+
const systemMessages = messages.filter((m) => m.role === "system").map((m) => m.content);
|
|
133
|
+
const body = { ...parameters, messages: messages.filter((m) => m.role !== "system") };
|
|
134
|
+
const maxTokens = parameters.max_tokens ?? this.settings.maxTokens;
|
|
135
|
+
if (maxTokens === void 0) throw new ConfigError("Anthropic model requires max_tokens");
|
|
136
|
+
Object.assign(body, { max_tokens: maxTokens });
|
|
137
|
+
if (systemMessages.length) {
|
|
138
|
+
if (Object.hasOwn(parameters, "system")) throw new TypeError("system is already set by a system message");
|
|
139
|
+
if (systemMessages.length > 1 && !systemMessages.every((v) => typeof v === "string")) throw new TypeError("multiple Anthropic system messages must contain text");
|
|
140
|
+
Object.assign(body, { system: systemMessages.length === 1 ? systemMessages[0] : systemMessages.join("\n\n") });
|
|
141
|
+
}
|
|
142
|
+
return body;
|
|
143
|
+
}
|
|
144
|
+
/** Authenticated transport shared by native clients and framework adapters. */
|
|
145
|
+
async httpFetch(input, init) {
|
|
146
|
+
this.lifetime.signal.throwIfAborted();
|
|
147
|
+
const request = new Request(input, init);
|
|
148
|
+
const url = new URL(request.url);
|
|
149
|
+
const headers = new Headers(request.headers);
|
|
150
|
+
headers.delete("authorization");
|
|
151
|
+
headers.delete("x-api-key");
|
|
152
|
+
for (const [key, value] of Object.entries(await this.requestHeaders())) headers.set(key, value);
|
|
153
|
+
this.logger.info("agentcore.model.http.request", { method: request.method, url: `${url.origin}${url.pathname}` });
|
|
154
|
+
return globalThis.fetch(request, {
|
|
155
|
+
headers,
|
|
156
|
+
redirect: "manual",
|
|
157
|
+
signal: AbortSignal.any([this.lifetime.signal, request.signal, AbortSignal.timeout(this.timeoutMs)])
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
async invokeRequest(operation, request) {
|
|
161
|
+
try {
|
|
162
|
+
return await request();
|
|
163
|
+
} catch (cause) {
|
|
164
|
+
this.failed(operation, cause);
|
|
165
|
+
throw new InvocationError("model request failed", { cause });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async *invokeStream(operation, request) {
|
|
169
|
+
let stream;
|
|
170
|
+
try {
|
|
171
|
+
stream = await request();
|
|
172
|
+
for await (const event of stream) yield event;
|
|
173
|
+
} catch (cause) {
|
|
174
|
+
this.failed(operation, cause);
|
|
175
|
+
throw new InvocationError("model stream request failed", { cause });
|
|
176
|
+
} finally {
|
|
177
|
+
stream?.controller.abort();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
failed(operation, error) {
|
|
181
|
+
const status = error && typeof error === "object" && "status" in error ? String(error.status) : void 0;
|
|
182
|
+
const requestId = error && typeof error === "object" && "request_id" in error ? String(error.request_id) : void 0;
|
|
183
|
+
this.logger.warn("agentcore.model.request.failed", { operation, baseURL: this.settings.baseURL, model: this.settings.model, status, requestId });
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
// src/model/provider.ts
|
|
188
|
+
import { inspect as inspect2 } from "util";
|
|
189
|
+
var ProviderModelClient = class {
|
|
190
|
+
settings;
|
|
191
|
+
languageModel;
|
|
192
|
+
lifetime = new AbortController();
|
|
193
|
+
logger;
|
|
194
|
+
timeoutMs;
|
|
195
|
+
embeddingModel;
|
|
196
|
+
constructor(options) {
|
|
197
|
+
const model = options.languageModel;
|
|
198
|
+
this.settings = Object.freeze({ model: model.modelId, provider: model.provider });
|
|
199
|
+
this.timeoutMs = options.timeoutMs ?? 6e5;
|
|
200
|
+
this.logger = options.logger ?? nullLogger;
|
|
201
|
+
this.languageModel = {
|
|
202
|
+
specificationVersion: "v3",
|
|
203
|
+
provider: model.provider,
|
|
204
|
+
modelId: model.modelId,
|
|
205
|
+
supportedUrls: model.supportedUrls,
|
|
206
|
+
doGenerate: async (args) => {
|
|
207
|
+
const abortSignal = this.signal(args.abortSignal);
|
|
208
|
+
return model.doGenerate({ ...args, abortSignal });
|
|
209
|
+
},
|
|
210
|
+
doStream: async (args) => {
|
|
211
|
+
const abortSignal = this.signal(args.abortSignal);
|
|
212
|
+
return model.doStream({ ...args, abortSignal });
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
this.embeddingModel = options.embeddingModel;
|
|
216
|
+
this.logger.info("agentcore.model.client.created", { mode: "direct-provider", ...this.settings });
|
|
217
|
+
}
|
|
218
|
+
async completion(messages, parameters = {}, options = {}) {
|
|
219
|
+
const abortSignal = this.signal(options.signal);
|
|
220
|
+
const { generateText } = await import("ai");
|
|
221
|
+
return this.request("completion", () => generateText({
|
|
222
|
+
maxRetries: 0,
|
|
223
|
+
...parameters,
|
|
224
|
+
model: this.languageModel,
|
|
225
|
+
messages: [...messages],
|
|
226
|
+
abortSignal
|
|
227
|
+
}));
|
|
228
|
+
}
|
|
229
|
+
async invoke(messages, parameters = {}, options = {}) {
|
|
230
|
+
return this.completion(messages, parameters, options);
|
|
231
|
+
}
|
|
232
|
+
async *stream(messages, parameters = {}, options = {}) {
|
|
233
|
+
const controller = new AbortController();
|
|
234
|
+
const abortSignal = this.signal(AbortSignal.any([controller.signal, ...options.signal ? [options.signal] : []]));
|
|
235
|
+
const { streamText } = await import("ai");
|
|
236
|
+
try {
|
|
237
|
+
const result = streamText({ maxRetries: 0, onError: () => {
|
|
238
|
+
}, ...parameters, model: this.languageModel, messages: [...messages], abortSignal });
|
|
239
|
+
for await (const part of result.fullStream) {
|
|
240
|
+
if (part.type === "error") throw part.error;
|
|
241
|
+
yield part;
|
|
242
|
+
}
|
|
243
|
+
} catch (error) {
|
|
244
|
+
this.failed("stream", error);
|
|
245
|
+
throw error;
|
|
246
|
+
} finally {
|
|
247
|
+
controller.abort();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async embedding(input, parameters = {}, options = {}) {
|
|
251
|
+
const abortSignal = this.signal(options.signal);
|
|
252
|
+
if (!this.embeddingModel) throw new ConfigError("direct provider embedding requires embeddingModel");
|
|
253
|
+
const { embedMany } = await import("ai");
|
|
254
|
+
return this.request("embedding", () => embedMany({
|
|
255
|
+
maxRetries: 0,
|
|
256
|
+
...parameters,
|
|
257
|
+
model: this.embeddingModel,
|
|
258
|
+
values: typeof input === "string" ? [input] : [...input],
|
|
259
|
+
abortSignal
|
|
260
|
+
}));
|
|
261
|
+
}
|
|
262
|
+
close() {
|
|
263
|
+
this.lifetime.abort();
|
|
264
|
+
}
|
|
265
|
+
[inspect2.custom]() {
|
|
266
|
+
return `ProviderModelClient(model=${this.settings.model}, provider=${this.settings.provider}, <redacted>)`;
|
|
267
|
+
}
|
|
268
|
+
toJSON() {
|
|
269
|
+
return this[inspect2.custom]();
|
|
270
|
+
}
|
|
271
|
+
signal(signal) {
|
|
272
|
+
this.lifetime.signal.throwIfAborted();
|
|
273
|
+
return AbortSignal.any([this.lifetime.signal, AbortSignal.timeout(this.timeoutMs), ...signal ? [signal] : []]);
|
|
274
|
+
}
|
|
275
|
+
async request(operation, invoke) {
|
|
276
|
+
try {
|
|
277
|
+
return await invoke();
|
|
278
|
+
} catch (error) {
|
|
279
|
+
this.failed(operation, error);
|
|
280
|
+
throw error;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
failed(operation, error) {
|
|
284
|
+
this.logger.warn("agentcore.model.request.failed", {
|
|
285
|
+
operation,
|
|
286
|
+
...this.settings,
|
|
287
|
+
errorType: error instanceof Error ? error.name : typeof error
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
export {
|
|
293
|
+
managedModelProtocol,
|
|
294
|
+
modelBaseURL,
|
|
295
|
+
ModelClient,
|
|
296
|
+
ProviderModelClient
|
|
297
|
+
};
|
|
298
|
+
//# sourceMappingURL=chunk-7Y263YIW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/client.ts","../src/model/provider.ts"],"sourcesContent":["import OpenAI from 'openai';\nimport Anthropic from '@anthropic-ai/sdk';\nimport { inspect } from 'node:util';\nimport { ConfigError, InvocationError } from '../errors';\nimport { nullLogger, type Logger } from '../logging';\nimport { httpUrl, requiredString, type AgentConfig } from '../runtime/config';\nimport type { ModelDescriptor } from '../controlplane/client';\n\nexport type ModelProtocol = 'openai' | 'anthropic';\nexport type ModelMessage = { role: string; content?: unknown; [key: string]: unknown };\nexport type ModelParameters = Record<string, unknown>;\nexport type ModelResponse = Record<string, unknown>;\nexport type HeadersProvider = () => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;\nexport interface ModelCallOptions { signal?: AbortSignal; }\nexport interface DirectModelOptions {\n model: string;\n baseURL: string;\n provider?: ModelProtocol;\n apiKey?: string;\n apiKeyProvider?: () => string | Promise<string>;\n headersProvider?: HeadersProvider;\n timeoutMs?: number;\n logger?: Logger;\n}\nexport interface ModelSettings {\n readonly model: string;\n readonly provider: ModelProtocol;\n readonly baseURL: string;\n readonly maxTokens?: number;\n}\n\nexport function managedModelProtocol(protocol: string): ModelProtocol {\n switch (protocol.trim().toLowerCase()) {\n case 'openai/v1': return 'openai';\n case 'anthropic': return 'anthropic';\n default: throw new ConfigError(`managed model protocol has no SDK adapter: ${protocol}`);\n }\n}\nexport function modelBaseURL(gatewayURL: string, connectionId: string, protocol: string): string {\n const provider = managedModelProtocol(protocol);\n const gateway = gatewayURL.replace(/\\/+$/, '').replace(/\\/v1$/, '').replace(/\\/model-connection$/, '');\n return `${gateway}/model-connection/${encodeURIComponent(connectionId)}${provider === 'openai' ? '/v1' : ''}`;\n}\n\nexport class ModelClient {\n readonly descriptor?: ModelDescriptor;\n readonly settings: ModelSettings;\n private readonly logger: Logger;\n private readonly openai?: OpenAI;\n private readonly anthropic?: Anthropic;\n private readonly lifetime = new AbortController();\n private readonly requestHeaders: HeadersProvider;\n\n private constructor(settings: ModelSettings, requestHeaders: HeadersProvider, descriptor: ModelDescriptor | undefined, logger: Logger, private readonly timeoutMs: number) {\n this.settings = Object.freeze(settings); this.requestHeaders = requestHeaders;\n this.descriptor = descriptor; this.logger = logger;\n const fetch = this.httpFetch.bind(this);\n // OpenAI requires a non-empty constructor key; our fetch always replaces it\n // with the current provider headers, so this marker is never transmitted.\n if (settings.provider === 'openai') this.openai = new OpenAI({ baseURL: settings.baseURL, apiKey: 'agentcore-transport', fetch, timeout: timeoutMs, maxRetries: 0 });\n else this.anthropic = new Anthropic({ baseURL: settings.baseURL, apiKey: null, authToken: '', defaultHeaders: { 'X-Api-Key': null, Authorization: null }, fetch, timeout: timeoutMs, maxRetries: 0 });\n this.logger.info('agentcore.model.client.created', { mode: descriptor ? 'managed' : 'direct', model: settings.model, provider: settings.provider, baseURL: settings.baseURL });\n }\n\n static platform(config: AgentConfig, descriptor: ModelDescriptor, options: { logger?: Logger; timeoutMs?: number } = {}): ModelClient {\n const provider = managedModelProtocol(descriptor.protocol);\n const headers = { ...config.gatewayHeaders };\n return new ModelClient({ model: descriptor.modelName, provider, baseURL: modelBaseURL(config.modelGatewayUrl, descriptor.connectionId, descriptor.protocol), maxTokens: descriptor.maxTokens },\n () => headers, descriptor, options.logger ?? nullLogger, options.timeoutMs ?? 600_000);\n }\n static direct(options: DirectModelOptions): ModelClient {\n if (options.apiKey !== undefined && options.apiKeyProvider !== undefined) throw new ConfigError('apiKey and apiKeyProvider are mutually exclusive');\n const provider = options.provider ?? 'openai';\n if (provider !== 'openai' && provider !== 'anthropic') throw new ConfigError(`direct model protocol has no SDK adapter: ${provider}`);\n const model = requiredString(options.model, 'model'); const baseURL = httpUrl(options.baseURL, 'direct model baseURL');\n const resolve = async () => {\n const headers: Record<string, string> = {};\n const key = options.apiKeyProvider ? requiredString(await options.apiKeyProvider(), 'apiKeyProvider result') : options.apiKey;\n if (key) headers[provider === 'openai' ? 'authorization' : 'x-api-key'] = provider === 'openai' ? `Bearer ${key}` : key;\n Object.assign(headers, await options.headersProvider?.());\n return headers;\n };\n return new ModelClient({ model, baseURL, provider }, resolve, undefined, options.logger ?? nullLogger, options.timeoutMs ?? 600_000);\n }\n\n /** Headers are resolved for framework transports as well as direct API calls. */\n async headers(): Promise<Readonly<Record<string, string>>> { return this.requestHeaders(); }\n\n async completion(messages: readonly ModelMessage[], parameters: ModelParameters = {}, options: ModelCallOptions = {}): Promise<ModelResponse> {\n this.reject(parameters, ['messages', 'stream']);\n return this.invokeRequest('completion', async () => {\n if (this.openai) return this.openai.chat.completions.create({ ...parameters, model: this.settings.model, messages: [...messages], stream: false } as OpenAI.ChatCompletionCreateParamsNonStreaming, options);\n return this.anthropic!.messages.create({ ...this.anthropicParameters(messages, parameters), model: this.settings.model, stream: false } as Anthropic.MessageCreateParamsNonStreaming, options);\n });\n }\n async invoke(messages: readonly ModelMessage[], parameters: ModelParameters = {}, options: ModelCallOptions = {}): Promise<ModelResponse> { return this.completion(messages, parameters, options); }\n async *stream(messages: readonly ModelMessage[], parameters: ModelParameters = {}, options: ModelCallOptions = {}): AsyncGenerator<ModelResponse> {\n this.reject(parameters, ['messages', 'stream']);\n const request = async () => this.openai\n ? this.openai.chat.completions.create({ ...parameters, model: this.settings.model, messages: [...messages], stream: true } as OpenAI.ChatCompletionCreateParamsStreaming, options)\n : this.anthropic!.messages.create({ ...this.anthropicParameters(messages, parameters), model: this.settings.model, stream: true } as Anthropic.MessageCreateParamsStreaming, options);\n yield* this.invokeStream('stream', request);\n }\n async responses(input: unknown, parameters: ModelParameters = {}, options: ModelCallOptions = {}): Promise<ModelResponse> {\n this.reject(parameters, ['input', 'stream']); this.requireOpenAI('Responses API');\n return this.invokeRequest('responses', () => this.openai!.responses.create({ ...parameters, model: this.settings.model, input, stream: false } as OpenAI.Responses.ResponseCreateParamsNonStreaming, options));\n }\n async *responsesStream(input: unknown, parameters: ModelParameters = {}, options: ModelCallOptions = {}): AsyncGenerator<ModelResponse> {\n this.reject(parameters, ['input', 'stream']); this.requireOpenAI('Responses API');\n yield* this.invokeStream('responsesStream', () => this.openai!.responses.create({ ...parameters, model: this.settings.model, input, stream: true } as OpenAI.Responses.ResponseCreateParamsStreaming, options));\n }\n async embedding(input: unknown, parameters: ModelParameters = {}, options: ModelCallOptions = {}): Promise<ModelResponse> {\n this.reject(parameters, ['input']);\n if (this.descriptor) throw new InvocationError('managed model protocol does not publish Embedding API');\n this.requireOpenAI('Embedding API');\n return this.invokeRequest('embedding', () => this.openai!.embeddings.create({ ...parameters, model: this.settings.model, input } as OpenAI.EmbeddingCreateParams, options));\n }\n close(): void { this.lifetime.abort(); }\n [inspect.custom](): string { return `ModelClient(model=${this.settings.model}, provider=${this.settings.provider}, <redacted>)`; }\n toJSON(): string { return this[inspect.custom](); }\n\n private requireOpenAI(operation: string): void { if (!this.openai) throw new InvocationError(`Anthropic protocol does not publish ${operation}`); }\n private reject(parameters: ModelParameters, operationFields: string[]): void {\n this.lifetime.signal.throwIfAborted();\n const reserved = ['model', 'resourceName', 'resource_name', 'extra_headers', ...operationFields];\n const conflicts = reserved.filter((name) => Object.hasOwn(parameters, name));\n if (conflicts.length) throw new TypeError(`reserved model request parameters: ${conflicts.join(', ')}`);\n }\n private anthropicParameters(messages: readonly ModelMessage[], parameters: ModelParameters): Record<string, unknown> {\n const systemMessages = messages.filter((m) => m.role === 'system').map((m) => m.content);\n const body = { ...parameters, messages: messages.filter((m) => m.role !== 'system') };\n const maxTokens = parameters.max_tokens ?? this.settings.maxTokens;\n if (maxTokens === undefined) throw new ConfigError('Anthropic model requires max_tokens');\n Object.assign(body, { max_tokens: maxTokens });\n if (systemMessages.length) {\n if (Object.hasOwn(parameters, 'system')) throw new TypeError('system is already set by a system message');\n if (systemMessages.length > 1 && !systemMessages.every((v) => typeof v === 'string')) throw new TypeError('multiple Anthropic system messages must contain text');\n Object.assign(body, { system: systemMessages.length === 1 ? systemMessages[0] : systemMessages.join('\\n\\n') });\n }\n return body;\n }\n /** Authenticated transport shared by native clients and framework adapters. */\n async httpFetch(input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]): Promise<Response> {\n this.lifetime.signal.throwIfAborted();\n const request = new Request(input, init);\n const url = new URL(request.url);\n const headers = new Headers(request.headers);\n // Native SDK auth is populated here, including dynamic direct credentials.\n headers.delete('authorization'); headers.delete('x-api-key');\n for (const [key, value] of Object.entries(await this.requestHeaders())) headers.set(key, value);\n this.logger.info('agentcore.model.http.request', { method: request.method, url: `${url.origin}${url.pathname}` });\n return globalThis.fetch(request, { headers, redirect: 'manual',\n signal: AbortSignal.any([this.lifetime.signal, request.signal, AbortSignal.timeout(this.timeoutMs)]),\n });\n }\n private async invokeRequest(operation: string, request: () => Promise<unknown>): Promise<ModelResponse> {\n try { return await request() as ModelResponse; }\n catch (cause) { this.failed(operation, cause); throw new InvocationError('model request failed', { cause }); }\n }\n private async *invokeStream(operation: string, request: () => Promise<AsyncIterable<unknown> & { controller: AbortController }>): AsyncGenerator<ModelResponse> {\n let stream: (AsyncIterable<unknown> & { controller: AbortController }) | undefined;\n try { stream = await request(); for await (const event of stream) yield event as ModelResponse; }\n catch (cause) { this.failed(operation, cause); throw new InvocationError('model stream request failed', { cause }); }\n finally { stream?.controller.abort(); }\n }\n private failed(operation: string, error: unknown): void {\n const status = error && typeof error === 'object' && 'status' in error ? String(error.status) : undefined;\n const requestId = error && typeof error === 'object' && 'request_id' in error ? String(error.request_id) : undefined;\n this.logger.warn('agentcore.model.request.failed', { operation, baseURL: this.settings.baseURL, model: this.settings.model, status, requestId });\n }\n}\n","import type { EmbeddingModelV3, LanguageModelV3 } from '@ai-sdk/provider';\nimport type { generateText, streamText, embedMany, ModelMessage, ToolSet } from 'ai';\nimport { inspect } from 'node:util';\nimport { ConfigError } from '../errors';\nimport { nullLogger, type Logger } from '../logging';\nimport type { ModelCallOptions } from './client';\n\nexport interface DirectProviderOptions {\n /** A configured AI SDK provider model. The provider owns its endpoint and auth. */\n languageModel: LanguageModelV3;\n embeddingModel?: EmbeddingModelV3;\n timeoutMs?: number;\n logger?: Logger;\n}\nexport type ProviderGenerateOptions<T extends ToolSet = ToolSet> = Omit<Parameters<typeof generateText<T>>[0], 'model' | 'messages' | 'prompt' | 'abortSignal'>;\nexport type ProviderStreamOptions<T extends ToolSet = ToolSet> = Omit<Parameters<typeof streamText<T>>[0], 'model' | 'messages' | 'prompt' | 'abortSignal'>;\nexport type ProviderEmbeddingOptions = Omit<Parameters<typeof embedMany>[0], 'model' | 'values' | 'abortSignal'>;\n\n/** Multi-provider Direct models use AI SDK messages/results, not a simulated OpenAI protocol. */\nexport class ProviderModelClient {\n readonly settings: Readonly<{ model: string; provider: string }>;\n readonly languageModel: LanguageModelV3;\n private readonly lifetime = new AbortController();\n private readonly logger: Logger;\n private readonly timeoutMs: number;\n private readonly embeddingModel?: EmbeddingModelV3;\n\n constructor(options: DirectProviderOptions) {\n const model = options.languageModel;\n this.settings = Object.freeze({ model: model.modelId, provider: model.provider });\n this.timeoutMs = options.timeoutMs ?? 600_000;\n this.logger = options.logger ?? nullLogger;\n // Keep lifecycle enforcement when this model is handed to a framework.\n this.languageModel = {\n specificationVersion: 'v3', provider: model.provider, modelId: model.modelId,\n supportedUrls: model.supportedUrls,\n doGenerate: async args => {\n const abortSignal = this.signal(args.abortSignal);\n return model.doGenerate({ ...args, abortSignal });\n },\n doStream: async args => {\n const abortSignal = this.signal(args.abortSignal);\n return model.doStream({ ...args, abortSignal });\n },\n };\n this.embeddingModel = options.embeddingModel;\n this.logger.info('agentcore.model.client.created', { mode: 'direct-provider', ...this.settings });\n }\n\n async completion<T extends ToolSet = ToolSet>(messages: readonly ModelMessage[], parameters: ProviderGenerateOptions<T> = {}, options: ModelCallOptions = {}) {\n const abortSignal = this.signal(options.signal);\n const { generateText } = await import('ai');\n return this.request('completion', () => generateText<T>({ maxRetries: 0, ...parameters,\n model: this.languageModel, messages: [...messages], abortSignal,\n }));\n }\n async invoke<T extends ToolSet = ToolSet>(messages: readonly ModelMessage[], parameters: ProviderGenerateOptions<T> = {}, options: ModelCallOptions = {}) {\n return this.completion(messages, parameters, options);\n }\n async *stream<T extends ToolSet = ToolSet>(messages: readonly ModelMessage[], parameters: ProviderStreamOptions<T> = {}, options: ModelCallOptions = {}) {\n const controller = new AbortController();\n const abortSignal = this.signal(AbortSignal.any([controller.signal, ...(options.signal ? [options.signal] : [])]));\n const { streamText } = await import('ai');\n try {\n // The iterator below propagates errors and logs safe metadata. AI SDK's\n // default onError prints the entire error, including provider request data.\n const result = streamText<T>({ maxRetries: 0, onError: () => {}, ...parameters, model: this.languageModel, messages: [...messages], abortSignal });\n for await (const part of result.fullStream) {\n if (part.type === 'error') throw part.error;\n yield part;\n }\n } catch (error) { this.failed('stream', error); throw error; }\n finally { controller.abort(); }\n }\n async embedding(input: string | readonly string[], parameters: ProviderEmbeddingOptions = {}, options: ModelCallOptions = {}) {\n const abortSignal = this.signal(options.signal);\n if (!this.embeddingModel) throw new ConfigError('direct provider embedding requires embeddingModel');\n const { embedMany } = await import('ai');\n return this.request('embedding', () => embedMany({ maxRetries: 0, ...parameters, model: this.embeddingModel!,\n values: typeof input === 'string' ? [input] : [...input], abortSignal,\n }));\n }\n close(): void { this.lifetime.abort(); }\n [inspect.custom](): string { return `ProviderModelClient(model=${this.settings.model}, provider=${this.settings.provider}, <redacted>)`; }\n toJSON(): string { return this[inspect.custom](); }\n\n private signal(signal?: AbortSignal): AbortSignal {\n this.lifetime.signal.throwIfAborted();\n return AbortSignal.any([this.lifetime.signal, AbortSignal.timeout(this.timeoutMs), ...(signal ? [signal] : [])]);\n }\n private async request<T>(operation: string, invoke: () => Promise<T>): Promise<T> {\n try { return await invoke(); } catch (error) { this.failed(operation, error); throw error; }\n }\n private failed(operation: string, error: unknown): void {\n this.logger.warn('agentcore.model.request.failed', { operation, ...this.settings,\n errorType: error instanceof Error ? error.name : typeof error,\n });\n }\n}\n"],"mappings":"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","names":["inspect","inspect"]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13; var _class14;
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkJSP7ZROScjs = require('./chunk-JSP7ZROS.cjs');
|
|
6
|
+
|
|
7
|
+
// src/collaboration/errors.ts
|
|
8
|
+
var CollaborationError = (_class = class extends _chunkJSP7ZROScjs.AgentCoreError {constructor(...args) { super(...args); _class.prototype.__init.call(this);_class.prototype.__init2.call(this); }
|
|
9
|
+
__init() {this.code = "COLLABORATION_ERROR"}
|
|
10
|
+
__init2() {this.retryable = false}
|
|
11
|
+
}, _class);
|
|
12
|
+
var CollaborationConfigError = (_class2 = class extends _chunkJSP7ZROScjs.ConfigError {constructor(...args2) { super(...args2); _class2.prototype.__init3.call(this);_class2.prototype.__init4.call(this); }
|
|
13
|
+
__init3() {this.code = "COLLABORATION_CONFIG_INVALID"}
|
|
14
|
+
__init4() {this.retryable = true}
|
|
15
|
+
}, _class2);
|
|
16
|
+
var CollaborationContextError = (_class3 = class extends _chunkJSP7ZROScjs.ContextError {constructor(...args3) { super(...args3); _class3.prototype.__init5.call(this);_class3.prototype.__init6.call(this); }
|
|
17
|
+
__init5() {this.code = "COLLABORATION_CONTEXT_INVALID"}
|
|
18
|
+
__init6() {this.retryable = false}
|
|
19
|
+
}, _class3);
|
|
20
|
+
var CollaborationDisabledError = (_class4 = class extends CollaborationError {constructor(...args4) { super(...args4); _class4.prototype.__init7.call(this); }
|
|
21
|
+
__init7() {this.code = "COLLABORATION_DISABLED"}
|
|
22
|
+
}, _class4);
|
|
23
|
+
var CollaborationContextRequiredError = (_class5 = class extends CollaborationError {constructor(...args5) { super(...args5); _class5.prototype.__init8.call(this); }
|
|
24
|
+
__init8() {this.code = "COLLABORATION_CONTEXT_REQUIRED"}
|
|
25
|
+
}, _class5);
|
|
26
|
+
var CollaborationTeamUnavailableError = (_class6 = class extends CollaborationError {constructor(...args6) { super(...args6); _class6.prototype.__init9.call(this); }
|
|
27
|
+
__init9() {this.code = "COLLABORATION_TEAM_UNAVAILABLE"}
|
|
28
|
+
}, _class6);
|
|
29
|
+
var CollaborationRoleUnsupportedError = (_class7 = class extends CollaborationError {constructor(...args7) { super(...args7); _class7.prototype.__init10.call(this); }
|
|
30
|
+
__init10() {this.code = "COLLABORATION_ROLE_UNSUPPORTED"}
|
|
31
|
+
}, _class7);
|
|
32
|
+
var CollaborationToolArgumentError = (_class8 = class extends CollaborationError {constructor(...args8) { super(...args8); _class8.prototype.__init11.call(this); }
|
|
33
|
+
__init11() {this.code = "COLLABORATION_ARGUMENT_INVALID"}
|
|
34
|
+
}, _class8);
|
|
35
|
+
var CollaborationTaskUnauthorizedError = (_class9 = class extends CollaborationError {constructor(...args9) { super(...args9); _class9.prototype.__init12.call(this); }
|
|
36
|
+
__init12() {this.code = "COLLABORATION_TASK_UNAUTHORIZED"}
|
|
37
|
+
}, _class9);
|
|
38
|
+
var CollaborationTaskInvalidError = (_class10 = class extends CollaborationError {constructor(...args10) { super(...args10); _class10.prototype.__init13.call(this); }
|
|
39
|
+
__init13() {this.code = "COLLABORATION_TASK_INVALID"}
|
|
40
|
+
}, _class10);
|
|
41
|
+
var CollaborationTaskNotFoundError = (_class11 = class extends CollaborationError {constructor(...args11) { super(...args11); _class11.prototype.__init14.call(this); }
|
|
42
|
+
__init14() {this.code = "COLLABORATION_TASK_NOT_FOUND"}
|
|
43
|
+
}, _class11);
|
|
44
|
+
var CollaborationTaskConflictError = (_class12 = class extends CollaborationError {constructor(...args12) { super(...args12); _class12.prototype.__init15.call(this); }
|
|
45
|
+
__init15() {this.code = "COLLABORATION_TASK_CONFLICT"}
|
|
46
|
+
}, _class12);
|
|
47
|
+
var CollaborationFileTooLargeError = (_class13 = class extends CollaborationError {constructor(...args13) { super(...args13); _class13.prototype.__init16.call(this); }
|
|
48
|
+
__init16() {this.code = "COLLABORATION_FILE_TOO_LARGE"}
|
|
49
|
+
}, _class13);
|
|
50
|
+
var CollaborationTaskUnavailableError = (_class14 = class extends CollaborationError {constructor(...args14) { super(...args14); _class14.prototype.__init17.call(this);_class14.prototype.__init18.call(this); }
|
|
51
|
+
__init17() {this.code = "COLLABORATION_TASK_UNAVAILABLE"}
|
|
52
|
+
__init18() {this.retryable = true}
|
|
53
|
+
}, _class14);
|
|
54
|
+
|
|
55
|
+
// src/collaboration/context.ts
|
|
56
|
+
var _async_hooks = require('async_hooks');
|
|
57
|
+
var _util = require('util');
|
|
58
|
+
var CollaborationTurnContext = class {
|
|
59
|
+
constructor(sessionId, teamId, roomId, eventId, roomKind) {
|
|
60
|
+
this.sessionId = sessionId;
|
|
61
|
+
this.teamId = teamId;
|
|
62
|
+
this.roomId = roomId;
|
|
63
|
+
this.eventId = eventId;
|
|
64
|
+
this.roomKind = roomKind;
|
|
65
|
+
Object.freeze(this);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
[_util.inspect.custom]() {
|
|
73
|
+
return "CollaborationTurnContext(<redacted>)";
|
|
74
|
+
}
|
|
75
|
+
toJSON() {
|
|
76
|
+
return this[_util.inspect.custom]();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
var context = new (0, _async_hooks.AsyncLocalStorage)();
|
|
80
|
+
function currentCollaborationContext(required = true) {
|
|
81
|
+
const value = context.getStore();
|
|
82
|
+
if (!value && required) throw new CollaborationContextRequiredError("No collaboration request context is active.");
|
|
83
|
+
return value;
|
|
84
|
+
}
|
|
85
|
+
function useCollaborationContext(value, callback) {
|
|
86
|
+
return context.run(value, callback);
|
|
87
|
+
}
|
|
88
|
+
function bindCollaborationContext(headers, callback) {
|
|
89
|
+
return useCollaborationContext(parseCollaborationContext(headers), callback);
|
|
90
|
+
}
|
|
91
|
+
function parseCollaborationContext(headers) {
|
|
92
|
+
const normalized = Object.fromEntries(Object.entries(headers).map(([key, value]) => [key.toLowerCase(), value]));
|
|
93
|
+
const encoded = normalized["x-agentcore-collaboration-context"];
|
|
94
|
+
if (encoded === void 0) return;
|
|
95
|
+
let data;
|
|
96
|
+
try {
|
|
97
|
+
if (!encoded || encoded.length > 8192 || !/^[A-Za-z0-9+/_-]+={0,2}$/.test(encoded) || encoded.replace(/=+$/, "").length % 4 === 1) throw new Error("base64");
|
|
98
|
+
data = JSON.parse(new TextDecoder("utf8", { fatal: true }).decode(Buffer.from(encoded, "base64url")));
|
|
99
|
+
if (!data || Array.isArray(data) || data.version !== 1) throw new Error("schema");
|
|
100
|
+
} catch (e) {
|
|
101
|
+
throw new CollaborationContextError("collaboration context header is invalid");
|
|
102
|
+
}
|
|
103
|
+
const field = (name, required = true) => {
|
|
104
|
+
const value = data[name];
|
|
105
|
+
if (value == null && !required) return;
|
|
106
|
+
if (typeof value !== "string" || !value.trim() || value.length > 1024) throw new CollaborationContextError(`collaboration context ${name} is invalid`);
|
|
107
|
+
return value.trim();
|
|
108
|
+
};
|
|
109
|
+
const kind = field("roomKind");
|
|
110
|
+
if (kind !== "dm" && kind !== "group" && kind !== "task") throw new CollaborationContextError("collaboration context roomKind is invalid");
|
|
111
|
+
return new CollaborationTurnContext(
|
|
112
|
+
_optionalChain([normalized, 'access', _ => _["x-agentcore-session-id"], 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]) || void 0,
|
|
113
|
+
field("teamId", kind === "task"),
|
|
114
|
+
field("roomId"),
|
|
115
|
+
field("eventId"),
|
|
116
|
+
kind
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
exports.CollaborationError = CollaborationError; exports.CollaborationConfigError = CollaborationConfigError; exports.CollaborationContextError = CollaborationContextError; exports.CollaborationDisabledError = CollaborationDisabledError; exports.CollaborationContextRequiredError = CollaborationContextRequiredError; exports.CollaborationTeamUnavailableError = CollaborationTeamUnavailableError; exports.CollaborationRoleUnsupportedError = CollaborationRoleUnsupportedError; exports.CollaborationToolArgumentError = CollaborationToolArgumentError; exports.CollaborationTaskUnauthorizedError = CollaborationTaskUnauthorizedError; exports.CollaborationTaskInvalidError = CollaborationTaskInvalidError; exports.CollaborationTaskNotFoundError = CollaborationTaskNotFoundError; exports.CollaborationTaskConflictError = CollaborationTaskConflictError; exports.CollaborationFileTooLargeError = CollaborationFileTooLargeError; exports.CollaborationTaskUnavailableError = CollaborationTaskUnavailableError; exports.CollaborationTurnContext = CollaborationTurnContext; exports.currentCollaborationContext = currentCollaborationContext; exports.useCollaborationContext = useCollaborationContext; exports.bindCollaborationContext = bindCollaborationContext; exports.parseCollaborationContext = parseCollaborationContext;
|
|
141
|
+
//# sourceMappingURL=chunk-A3PF2SPD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/chunk-A3PF2SPD.cjs","../src/collaboration/errors.ts","../src/collaboration/context.ts"],"names":[],"mappings":"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","file":"/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/chunk-A3PF2SPD.cjs","sourcesContent":[null,"import { AgentCoreError, ConfigError, ContextError } from '../errors';\n\nexport class CollaborationError extends AgentCoreError {\n override readonly code: string = 'COLLABORATION_ERROR';\n readonly retryable: boolean = false;\n}\nexport class CollaborationConfigError extends ConfigError {\n override readonly code = 'COLLABORATION_CONFIG_INVALID';\n readonly retryable = true;\n}\nexport class CollaborationContextError extends ContextError {\n override readonly code = 'COLLABORATION_CONTEXT_INVALID';\n readonly retryable = false;\n}\nexport class CollaborationDisabledError extends CollaborationError { override readonly code = 'COLLABORATION_DISABLED'; }\nexport class CollaborationContextRequiredError extends CollaborationError { override readonly code = 'COLLABORATION_CONTEXT_REQUIRED'; }\nexport class CollaborationTeamUnavailableError extends CollaborationError { override readonly code = 'COLLABORATION_TEAM_UNAVAILABLE'; }\nexport class CollaborationRoleUnsupportedError extends CollaborationError { override readonly code = 'COLLABORATION_ROLE_UNSUPPORTED'; }\nexport class CollaborationToolArgumentError extends CollaborationError { override readonly code = 'COLLABORATION_ARGUMENT_INVALID'; }\nexport class CollaborationTaskUnauthorizedError extends CollaborationError { override readonly code = 'COLLABORATION_TASK_UNAUTHORIZED'; }\nexport class CollaborationTaskInvalidError extends CollaborationError { override readonly code = 'COLLABORATION_TASK_INVALID'; }\nexport class CollaborationTaskNotFoundError extends CollaborationError { override readonly code = 'COLLABORATION_TASK_NOT_FOUND'; }\nexport class CollaborationTaskConflictError extends CollaborationError { override readonly code = 'COLLABORATION_TASK_CONFLICT'; }\nexport class CollaborationFileTooLargeError extends CollaborationError { override readonly code = 'COLLABORATION_FILE_TOO_LARGE'; }\nexport class CollaborationTaskUnavailableError extends CollaborationError {\n override readonly code = 'COLLABORATION_TASK_UNAVAILABLE';\n override readonly retryable = true;\n}\n","import { AsyncLocalStorage } from 'node:async_hooks';\nimport { inspect } from 'node:util';\nimport { CollaborationContextError, CollaborationContextRequiredError } from './errors';\n\nexport class CollaborationTurnContext {\n constructor(readonly sessionId: string | undefined, readonly teamId: string | undefined,\n readonly roomId: string, readonly eventId: string, readonly roomKind: 'dm' | 'group' | 'task') { Object.freeze(this); }\n [inspect.custom](): string { return 'CollaborationTurnContext(<redacted>)'; }\n toJSON(): string { return this[inspect.custom](); }\n}\nconst context = new AsyncLocalStorage<CollaborationTurnContext | undefined>();\nexport function currentCollaborationContext(required?: true): CollaborationTurnContext;\nexport function currentCollaborationContext(required: false): CollaborationTurnContext | undefined;\nexport function currentCollaborationContext(required = true): CollaborationTurnContext | undefined {\n const value = context.getStore();\n if (!value && required) throw new CollaborationContextRequiredError('No collaboration request context is active.');\n return value;\n}\nexport function useCollaborationContext<T>(value: CollaborationTurnContext | undefined, callback: () => T): T { return context.run(value, callback); }\nexport function bindCollaborationContext<T>(headers: Readonly<Record<string, string>>, callback: () => T): T {\n return useCollaborationContext(parseCollaborationContext(headers), callback);\n}\nexport function parseCollaborationContext(headers: Readonly<Record<string, string>>): CollaborationTurnContext | undefined {\n const normalized = Object.fromEntries(Object.entries(headers).map(([key, value]) => [key.toLowerCase(), value]));\n const encoded = normalized['x-agentcore-collaboration-context'];\n if (encoded === undefined) return;\n let data: Record<string, unknown>;\n try {\n if (!encoded || encoded.length > 8192 || !/^[A-Za-z0-9+/_-]+={0,2}$/.test(encoded) || encoded.replace(/=+$/, '').length % 4 === 1) throw new Error('base64');\n data = JSON.parse(new TextDecoder('utf8', { fatal: true }).decode(Buffer.from(encoded, 'base64url')));\n if (!data || Array.isArray(data) || data.version !== 1) throw new Error('schema');\n } catch { throw new CollaborationContextError('collaboration context header is invalid'); }\n const field = (name: string, required = true): string | undefined => {\n const value = data[name];\n if (value == null && !required) return;\n if (typeof value !== 'string' || !value.trim() || value.length > 1024) throw new CollaborationContextError(`collaboration context ${name} is invalid`);\n return value.trim();\n };\n const kind = field('roomKind');\n if (kind !== 'dm' && kind !== 'group' && kind !== 'task') throw new CollaborationContextError('collaboration context roomKind is invalid');\n return new CollaborationTurnContext(normalized['x-agentcore-session-id']?.trim() || undefined,\n field('teamId', kind === 'task'), field('roomId')!, field('eventId')!, kind);\n}\n"]}
|