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
package/dist/index.js
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ModelClient,
|
|
3
|
+
ProviderModelClient
|
|
4
|
+
} from "./chunk-7Y263YIW.js";
|
|
5
|
+
import {
|
|
6
|
+
DebugRuntimeSource,
|
|
7
|
+
createRuntimeSource
|
|
8
|
+
} from "./chunk-RHY7Y43E.js";
|
|
9
|
+
import {
|
|
10
|
+
RequestContext,
|
|
11
|
+
currentContext,
|
|
12
|
+
useContext
|
|
13
|
+
} from "./chunk-ZWQBAJ5O.js";
|
|
14
|
+
import {
|
|
15
|
+
BoundCredentials,
|
|
16
|
+
WorkloadAccessTokenProvider
|
|
17
|
+
} from "./chunk-RBAY4MO2.js";
|
|
18
|
+
import {
|
|
19
|
+
AgentCoreControlPlane
|
|
20
|
+
} from "./chunk-5ZOLHQXO.js";
|
|
21
|
+
import "./chunk-5JXA7JPS.js";
|
|
22
|
+
import {
|
|
23
|
+
MCPClient,
|
|
24
|
+
mergeMCPHeaders
|
|
25
|
+
} from "./chunk-JW62DVIC.js";
|
|
26
|
+
import {
|
|
27
|
+
Skills
|
|
28
|
+
} from "./chunk-55XZZRKO.js";
|
|
29
|
+
import {
|
|
30
|
+
MemoryStore
|
|
31
|
+
} from "./chunk-IF7LMBXC.js";
|
|
32
|
+
import {
|
|
33
|
+
AccessKeyCredential,
|
|
34
|
+
ResourceSTSProvider
|
|
35
|
+
} from "./chunk-IUCLCPVV.js";
|
|
36
|
+
import "./chunk-UBP5CHU7.js";
|
|
37
|
+
import {
|
|
38
|
+
requiredString
|
|
39
|
+
} from "./chunk-K3TE7625.js";
|
|
40
|
+
import {
|
|
41
|
+
Tool
|
|
42
|
+
} from "./chunk-EKXZKKJJ.js";
|
|
43
|
+
import {
|
|
44
|
+
nullLogger
|
|
45
|
+
} from "./chunk-NZL3VPJ2.js";
|
|
46
|
+
import {
|
|
47
|
+
AddMemoriesOutcomeUnknownError,
|
|
48
|
+
AgentCoreError,
|
|
49
|
+
AuthenticationError,
|
|
50
|
+
ConfigError,
|
|
51
|
+
ContextError,
|
|
52
|
+
CredentialExchangeError,
|
|
53
|
+
InvocationError,
|
|
54
|
+
MCPServerNotFoundError,
|
|
55
|
+
MemoryAPIError,
|
|
56
|
+
MemoryContractError,
|
|
57
|
+
MemoryValidationError,
|
|
58
|
+
ModelConnectionNotFoundError,
|
|
59
|
+
ResourceNotConfiguredError,
|
|
60
|
+
UnsupportedFeatureError,
|
|
61
|
+
WorkloadAccessTokenRejectedError,
|
|
62
|
+
WorkloadIdentityNotConfiguredError
|
|
63
|
+
} from "./chunk-MZ5UWGXS.js";
|
|
64
|
+
|
|
65
|
+
// src/client.ts
|
|
66
|
+
import { createHash } from "crypto";
|
|
67
|
+
|
|
68
|
+
// src/collaboration/client.ts
|
|
69
|
+
var CollaborationClient = class {
|
|
70
|
+
constructor(options) {
|
|
71
|
+
this.options = options;
|
|
72
|
+
}
|
|
73
|
+
options;
|
|
74
|
+
runtime;
|
|
75
|
+
closed = false;
|
|
76
|
+
async worker() {
|
|
77
|
+
this.ensureOpen();
|
|
78
|
+
this.runtime ??= this.load().catch((error) => {
|
|
79
|
+
this.runtime = void 0;
|
|
80
|
+
throw error;
|
|
81
|
+
});
|
|
82
|
+
const worker = await (await this.runtime).worker();
|
|
83
|
+
this.ensureOpen();
|
|
84
|
+
return worker;
|
|
85
|
+
}
|
|
86
|
+
async close() {
|
|
87
|
+
this.closed = true;
|
|
88
|
+
const runtime = await this.runtime?.catch(() => void 0);
|
|
89
|
+
await runtime?.close();
|
|
90
|
+
}
|
|
91
|
+
async load() {
|
|
92
|
+
const packageName = "alibabacloud-agentcore-collaboration";
|
|
93
|
+
const addon = await import(packageName);
|
|
94
|
+
return new addon.Collaboration(this.options);
|
|
95
|
+
}
|
|
96
|
+
ensureOpen() {
|
|
97
|
+
if (this.closed) throw new Error("AgentCore collaboration client is closed");
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// src/client.ts
|
|
102
|
+
var AgentCore = class _AgentCore {
|
|
103
|
+
constructor(options = {}) {
|
|
104
|
+
this.options = options;
|
|
105
|
+
this.logger = options.logger ?? nullLogger;
|
|
106
|
+
this.credentials = new BoundCredentials(async () => {
|
|
107
|
+
this.ensureOpen();
|
|
108
|
+
if (!this.context) await this.ensureRuntime();
|
|
109
|
+
return { ...this.context, controlPlane: this.requireControlPlane() };
|
|
110
|
+
}, this.logger);
|
|
111
|
+
this.skills = new Skills({ workspaceDir: options.skillWorkspaceDir, logger: this.logger, runtime: async () => {
|
|
112
|
+
this.ensureOpen();
|
|
113
|
+
if (!this.context) await this.ensureRuntime();
|
|
114
|
+
return { workspaceId: this.context.workspaceId, provider: this.requireControlPlane() };
|
|
115
|
+
} });
|
|
116
|
+
if (options.workspaceId !== void 0 || options.regionId !== void 0) {
|
|
117
|
+
const workspaceId = requiredString(options.workspaceId, "workspaceId and regionId must be provided together");
|
|
118
|
+
const regionId = requiredString(options.regionId, "workspaceId and regionId must be provided together");
|
|
119
|
+
if (options.configPath || options.envPath || process.env.AGENTCORE_DEBUG_TOKEN?.trim()) throw new ConfigError("workspaceId and regionId cannot be combined with runtime file paths or a debug token");
|
|
120
|
+
this.context = this.createContext(workspaceId, regionId, options.controlPlaneEndpoint);
|
|
121
|
+
} else this.runtimeSource = createRuntimeSource(options);
|
|
122
|
+
}
|
|
123
|
+
options;
|
|
124
|
+
skills;
|
|
125
|
+
credentials;
|
|
126
|
+
runtimeSource;
|
|
127
|
+
runtime;
|
|
128
|
+
context;
|
|
129
|
+
initializing;
|
|
130
|
+
models = /* @__PURE__ */ new Map();
|
|
131
|
+
mcps = /* @__PURE__ */ new Map();
|
|
132
|
+
directResources = [];
|
|
133
|
+
logger;
|
|
134
|
+
closed = false;
|
|
135
|
+
closing;
|
|
136
|
+
collaborationClient;
|
|
137
|
+
static auto(options = {}) {
|
|
138
|
+
return new _AgentCore(options);
|
|
139
|
+
}
|
|
140
|
+
get config() {
|
|
141
|
+
return this.runtime?.config;
|
|
142
|
+
}
|
|
143
|
+
get collaboration() {
|
|
144
|
+
this.ensureOpen();
|
|
145
|
+
return this.collaborationClient ??= new CollaborationClient({
|
|
146
|
+
teamsPath: this.options.teamsPath,
|
|
147
|
+
envPath: this.options.envPath,
|
|
148
|
+
workspaceDir: this.options.collaborationWorkspaceDir,
|
|
149
|
+
logger: this.logger,
|
|
150
|
+
debugSource: this.runtimeSource instanceof DebugRuntimeSource ? this.runtimeSource : void 0
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
memoryStore(name) {
|
|
154
|
+
this.ensureOpen();
|
|
155
|
+
return new MemoryStore(name, { logger: this.logger, runtime: async () => {
|
|
156
|
+
this.ensureOpen();
|
|
157
|
+
if (!this.context) await this.ensureRuntime();
|
|
158
|
+
return { ...this.context, endpoint: this.runtime?.controlPlaneEndpoint ?? this.options.controlPlaneEndpoint, accessKeyCredential: this.options.accessKeyCredential };
|
|
159
|
+
} });
|
|
160
|
+
}
|
|
161
|
+
async model(resourceName, options = {}) {
|
|
162
|
+
this.ensureOpen();
|
|
163
|
+
const runtime = await this.ensureRuntime();
|
|
164
|
+
const control = this.requireControlPlane();
|
|
165
|
+
const key = JSON.stringify([resourceName, options.model, options.timeoutMs]);
|
|
166
|
+
const cached = this.models.get(key);
|
|
167
|
+
if (cached) return cached;
|
|
168
|
+
const request = (async () => {
|
|
169
|
+
const descriptor = await control.resolveModel(resourceName, options.model);
|
|
170
|
+
this.ensureOpen();
|
|
171
|
+
return ModelClient.platform(runtime.config, descriptor, { timeoutMs: options.timeoutMs, logger: this.logger });
|
|
172
|
+
})();
|
|
173
|
+
this.models.set(key, request);
|
|
174
|
+
try {
|
|
175
|
+
return await request;
|
|
176
|
+
} catch (error) {
|
|
177
|
+
this.models.delete(key);
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
directModel(options) {
|
|
182
|
+
this.ensureOpen();
|
|
183
|
+
const client = "languageModel" in options ? new ProviderModelClient({ ...options, logger: options.logger ?? this.logger }) : ModelClient.direct({ ...options, logger: options.logger ?? this.logger });
|
|
184
|
+
this.directResources.push(client);
|
|
185
|
+
return client;
|
|
186
|
+
}
|
|
187
|
+
async mcp(name, options = {}) {
|
|
188
|
+
this.ensureOpen();
|
|
189
|
+
const { headers, credentialName: suppliedCredentialName, ...timeouts } = options;
|
|
190
|
+
const credentialName = suppliedCredentialName?.trim();
|
|
191
|
+
if (credentialName !== void 0 && !credentialName) throw new TypeError("credential name must not be empty");
|
|
192
|
+
const customHeaders = mergeMCPHeaders({}, headers);
|
|
193
|
+
const runtime = await this.ensureRuntime();
|
|
194
|
+
const control = this.requireControlPlane();
|
|
195
|
+
const headerKey = createHash("sha256").update(JSON.stringify(
|
|
196
|
+
Object.entries(customHeaders).sort(([left], [right]) => left.localeCompare(right))
|
|
197
|
+
)).digest("hex");
|
|
198
|
+
const key = JSON.stringify([name, credentialName, timeouts.sessionMs, timeouts.metadataMs, timeouts.toolMs, headerKey]);
|
|
199
|
+
const cached = this.mcps.get(key);
|
|
200
|
+
if (cached) return cached;
|
|
201
|
+
const request = (async () => {
|
|
202
|
+
const descriptor = await control.resolveMCP(name);
|
|
203
|
+
this.ensureOpen();
|
|
204
|
+
return MCPClient.platform(runtime.config, descriptor, {
|
|
205
|
+
...timeouts,
|
|
206
|
+
headers: customHeaders,
|
|
207
|
+
logger: this.logger,
|
|
208
|
+
credentialHeadersProvider: credentialName === void 0 ? void 0 : async () => (await this.credentials.getForMCP(credentialName, descriptor.mcpServerId)).asHeaders()
|
|
209
|
+
});
|
|
210
|
+
})();
|
|
211
|
+
this.mcps.set(key, request);
|
|
212
|
+
try {
|
|
213
|
+
return await request;
|
|
214
|
+
} catch (error) {
|
|
215
|
+
this.mcps.delete(key);
|
|
216
|
+
throw error;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
directMCP(options) {
|
|
220
|
+
this.ensureOpen();
|
|
221
|
+
const client = MCPClient.direct({ ...options, logger: options.logger ?? this.logger });
|
|
222
|
+
this.directResources.push(client);
|
|
223
|
+
return client;
|
|
224
|
+
}
|
|
225
|
+
close() {
|
|
226
|
+
if (this.closing) return this.closing;
|
|
227
|
+
this.closed = true;
|
|
228
|
+
this.closing = (async () => {
|
|
229
|
+
await this.collaborationClient?.close();
|
|
230
|
+
await this.runtimeSource?.close();
|
|
231
|
+
const resources = await Promise.allSettled([...this.models.values(), ...this.mcps.values()]);
|
|
232
|
+
await this.initializing?.catch(() => void 0);
|
|
233
|
+
const completed = resources.flatMap((result) => result.status === "fulfilled" ? [result.value] : []);
|
|
234
|
+
const failures = await Promise.allSettled([...completed, ...this.directResources].map((resource) => resource.close()));
|
|
235
|
+
this.context?.controlPlane?.close();
|
|
236
|
+
this.context?.resourceSTS?.close();
|
|
237
|
+
this.context?.workloadAccessToken?.close();
|
|
238
|
+
this.models.clear();
|
|
239
|
+
this.mcps.clear();
|
|
240
|
+
this.directResources.length = 0;
|
|
241
|
+
const error = failures.find((result) => result.status === "rejected");
|
|
242
|
+
if (error?.status === "rejected") throw error.reason;
|
|
243
|
+
})();
|
|
244
|
+
return this.closing;
|
|
245
|
+
}
|
|
246
|
+
ensureOpen() {
|
|
247
|
+
if (this.closed) throw new Error("AgentCore client is closed");
|
|
248
|
+
}
|
|
249
|
+
requireControlPlane() {
|
|
250
|
+
if (!this.context?.controlPlane) throw new ResourceNotConfiguredError("AgentCore control-plane runtime is not configured");
|
|
251
|
+
return this.context.controlPlane;
|
|
252
|
+
}
|
|
253
|
+
async ensureRuntime() {
|
|
254
|
+
this.ensureOpen();
|
|
255
|
+
if (this.runtime) return this.runtime;
|
|
256
|
+
if (this.initializing) return this.initializing;
|
|
257
|
+
if (!this.runtimeSource) throw new ResourceNotConfiguredError("managed model and MCP require runtime gateway configuration");
|
|
258
|
+
const source = this.runtimeSource;
|
|
259
|
+
const request = (async () => {
|
|
260
|
+
const runtime = await source.resolve();
|
|
261
|
+
this.ensureOpen();
|
|
262
|
+
const context = this.createContext(runtime.config.workspaceId, runtime.config.regionId, runtime.controlPlaneEndpoint, runtime);
|
|
263
|
+
this.context = context;
|
|
264
|
+
this.runtime = runtime;
|
|
265
|
+
return runtime;
|
|
266
|
+
})();
|
|
267
|
+
this.initializing = request;
|
|
268
|
+
try {
|
|
269
|
+
return await request;
|
|
270
|
+
} finally {
|
|
271
|
+
this.initializing = void 0;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
createContext(workspaceId, regionId, endpoint, runtime) {
|
|
275
|
+
let resourceSTS;
|
|
276
|
+
let workloadAccessToken;
|
|
277
|
+
try {
|
|
278
|
+
if (runtime?.controllerEndpoint && runtime.agentSATokens) {
|
|
279
|
+
resourceSTS = new ResourceSTSProvider(runtime.controllerEndpoint, runtime.agentSATokens, { logger: this.logger });
|
|
280
|
+
workloadAccessToken = new WorkloadAccessTokenProvider(runtime.controllerEndpoint, runtime.agentSATokens, { logger: this.logger });
|
|
281
|
+
}
|
|
282
|
+
const controlPlane = resourceSTS || this.options.accessKeyCredential ? new AgentCoreControlPlane({
|
|
283
|
+
workspaceId,
|
|
284
|
+
regionId,
|
|
285
|
+
endpoint,
|
|
286
|
+
resourceSTSProvider: resourceSTS,
|
|
287
|
+
accessKeyCredential: this.options.accessKeyCredential,
|
|
288
|
+
logger: this.logger
|
|
289
|
+
}) : void 0;
|
|
290
|
+
return { workspaceId, regionId, controlPlane, resourceSTS, workloadAccessToken };
|
|
291
|
+
} catch (error) {
|
|
292
|
+
resourceSTS?.close();
|
|
293
|
+
workloadAccessToken?.close();
|
|
294
|
+
throw error;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
export {
|
|
299
|
+
AccessKeyCredential,
|
|
300
|
+
AddMemoriesOutcomeUnknownError,
|
|
301
|
+
AgentCore,
|
|
302
|
+
AgentCoreError,
|
|
303
|
+
AuthenticationError,
|
|
304
|
+
ConfigError,
|
|
305
|
+
ContextError,
|
|
306
|
+
CredentialExchangeError,
|
|
307
|
+
InvocationError,
|
|
308
|
+
MCPServerNotFoundError,
|
|
309
|
+
MemoryAPIError,
|
|
310
|
+
MemoryContractError,
|
|
311
|
+
MemoryValidationError,
|
|
312
|
+
ModelConnectionNotFoundError,
|
|
313
|
+
RequestContext,
|
|
314
|
+
ResourceNotConfiguredError,
|
|
315
|
+
Tool,
|
|
316
|
+
UnsupportedFeatureError,
|
|
317
|
+
WorkloadAccessTokenRejectedError,
|
|
318
|
+
WorkloadIdentityNotConfiguredError,
|
|
319
|
+
currentContext,
|
|
320
|
+
useContext
|
|
321
|
+
};
|
|
322
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/client.ts","../src/collaboration/client.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { AccessKeyCredential } from './auth/access-key';\nimport { ResourceSTSProvider } from './auth/resource-sts';\nimport { WorkloadAccessTokenProvider } from './auth/workload-access-token';\nimport { AgentCoreControlPlane } from './controlplane/client';\nimport { ConfigError, ResourceNotConfiguredError } from './errors';\nimport { nullLogger, type Logger } from './logging';\nimport { ModelClient, type DirectModelOptions } from './model/client';\nimport { ProviderModelClient, type DirectProviderOptions } from './model/provider';\nimport { MCPClient, type DirectMCPOptions, type ManagedMCPOptions } from './mcp/client';\nimport { mergeMCPHeaders } from './mcp/headers';\nimport { createRuntimeSource, DebugRuntimeSource } from './runtime/debug';\nimport { requiredString, type AgentConfig } from './runtime/config';\nimport type { ManagedRuntimeOptions, RuntimeBindings, RuntimeSource } from './runtime/managed';\nimport { Skills } from './skill/loader';\nimport { BoundCredentials } from './auth/bound-credentials';\nimport { MemoryStore } from './memory/client';\nimport { CollaborationClient } from './collaboration/client';\n\nexport interface AgentCoreOptions extends ManagedRuntimeOptions {\n workspaceId?: string;\n regionId?: string;\n accessKeyCredential?: AccessKeyCredential;\n skillWorkspaceDir?: string;\n teamsPath?: string;\n collaborationWorkspaceDir?: string;\n}\ninterface ResourceContext {\n workspaceId: string;\n regionId: string;\n controlPlane?: AgentCoreControlPlane;\n resourceSTS?: ResourceSTSProvider;\n workloadAccessToken?: WorkloadAccessTokenProvider;\n}\n\n/** A single asynchronous Core. Direct resources do not require runtime files. */\nexport class AgentCore {\n readonly skills: Skills;\n readonly credentials: BoundCredentials;\n private readonly runtimeSource?: RuntimeSource;\n private runtime?: RuntimeBindings;\n private context?: ResourceContext;\n private initializing?: Promise<RuntimeBindings>;\n private readonly models = new Map<string, Promise<ModelClient>>();\n private readonly mcps = new Map<string, Promise<MCPClient>>();\n private readonly directResources: Array<{ close(): void | Promise<void> }> = [];\n private readonly logger: Logger;\n private closed = false;\n private closing?: Promise<void>;\n private collaborationClient?: CollaborationClient;\n\n constructor(private readonly options: AgentCoreOptions = {}) {\n this.logger = options.logger ?? nullLogger;\n this.credentials = new BoundCredentials(async () => {\n this.ensureOpen();\n if (!this.context) await this.ensureRuntime();\n return { ...this.context!, controlPlane: this.requireControlPlane() };\n }, this.logger);\n this.skills = new Skills({ workspaceDir: options.skillWorkspaceDir, logger: this.logger, runtime: async () => {\n this.ensureOpen();\n if (!this.context) await this.ensureRuntime();\n return { workspaceId: this.context!.workspaceId, provider: this.requireControlPlane() };\n } });\n if (options.workspaceId !== undefined || options.regionId !== undefined) {\n const workspaceId = requiredString(options.workspaceId, 'workspaceId and regionId must be provided together');\n const regionId = requiredString(options.regionId, 'workspaceId and regionId must be provided together');\n if (options.configPath || options.envPath || process.env.AGENTCORE_DEBUG_TOKEN?.trim()) throw new ConfigError('workspaceId and regionId cannot be combined with runtime file paths or a debug token');\n this.context = this.createContext(workspaceId, regionId, options.controlPlaneEndpoint);\n } else this.runtimeSource = createRuntimeSource(options);\n }\n static auto(options: AgentCoreOptions = {}): AgentCore { return new AgentCore(options); }\n get config(): AgentConfig | undefined { return this.runtime?.config; }\n get collaboration(): CollaborationClient {\n this.ensureOpen();\n return this.collaborationClient ??= new CollaborationClient({ teamsPath: this.options.teamsPath,\n envPath: this.options.envPath, workspaceDir: this.options.collaborationWorkspaceDir, logger: this.logger,\n debugSource: this.runtimeSource instanceof DebugRuntimeSource ? this.runtimeSource : undefined });\n }\n\n memoryStore(name: string): MemoryStore {\n this.ensureOpen();\n return new MemoryStore(name, { logger: this.logger, runtime: async () => {\n this.ensureOpen();\n if (!this.context) await this.ensureRuntime();\n return { ...this.context!, endpoint: this.runtime?.controlPlaneEndpoint ?? this.options.controlPlaneEndpoint, accessKeyCredential: this.options.accessKeyCredential };\n } });\n }\n\n async model(resourceName: string, options: { model?: string; timeoutMs?: number } = {}): Promise<ModelClient> {\n this.ensureOpen();\n const runtime = await this.ensureRuntime();\n const control = this.requireControlPlane();\n const key = JSON.stringify([resourceName, options.model, options.timeoutMs]);\n const cached = this.models.get(key);\n if (cached) return cached;\n const request = (async () => {\n const descriptor = await control.resolveModel(resourceName, options.model);\n this.ensureOpen();\n return ModelClient.platform(runtime.config, descriptor, { timeoutMs: options.timeoutMs, logger: this.logger });\n })();\n this.models.set(key, request);\n try { return await request; } catch (error) { this.models.delete(key); throw error; }\n }\n directModel(options: DirectModelOptions): ModelClient;\n directModel(options: DirectProviderOptions): ProviderModelClient;\n directModel(options: DirectModelOptions | DirectProviderOptions): ModelClient | ProviderModelClient {\n this.ensureOpen();\n const client = 'languageModel' in options\n ? new ProviderModelClient({ ...options, logger: options.logger ?? this.logger })\n : ModelClient.direct({ ...options, logger: options.logger ?? this.logger });\n this.directResources.push(client); return client;\n }\n async mcp(name: string, options: ManagedMCPOptions = {}): Promise<MCPClient> {\n this.ensureOpen();\n const { headers, credentialName: suppliedCredentialName, ...timeouts } = options;\n const credentialName = suppliedCredentialName?.trim();\n if (credentialName !== undefined && !credentialName) throw new TypeError('credential name must not be empty');\n const customHeaders = mergeMCPHeaders({}, headers);\n const runtime = await this.ensureRuntime();\n const control = this.requireControlPlane();\n // Cache keys must not expose header values when the Core object is inspected.\n const headerKey = createHash('sha256').update(JSON.stringify(\n Object.entries(customHeaders).sort(([left], [right]) => left.localeCompare(right)),\n )).digest('hex');\n const key = JSON.stringify([name, credentialName, timeouts.sessionMs, timeouts.metadataMs, timeouts.toolMs, headerKey]);\n const cached = this.mcps.get(key);\n if (cached) return cached;\n const request = (async () => {\n const descriptor = await control.resolveMCP(name);\n this.ensureOpen();\n return MCPClient.platform(runtime.config, descriptor, { ...timeouts, headers: customHeaders, logger: this.logger,\n credentialHeadersProvider: credentialName === undefined ? undefined : async () =>\n (await this.credentials.getForMCP(credentialName, descriptor.mcpServerId)).asHeaders(),\n });\n })();\n this.mcps.set(key, request);\n try { return await request; } catch (error) { this.mcps.delete(key); throw error; }\n }\n directMCP(options: DirectMCPOptions): MCPClient {\n this.ensureOpen();\n const client = MCPClient.direct({ ...options, logger: options.logger ?? this.logger });\n this.directResources.push(client); return client;\n }\n\n close(): Promise<void> {\n if (this.closing) return this.closing;\n this.closed = true;\n this.closing = (async () => {\n await this.collaborationClient?.close();\n await this.runtimeSource?.close();\n const resources = await Promise.allSettled([...this.models.values(), ...this.mcps.values()]);\n await this.initializing?.catch(() => undefined);\n const completed = resources.flatMap((result) => result.status === 'fulfilled' ? [result.value] : []);\n const failures = await Promise.allSettled([...completed, ...this.directResources].map((resource) => resource.close()));\n this.context?.controlPlane?.close(); this.context?.resourceSTS?.close(); this.context?.workloadAccessToken?.close();\n this.models.clear(); this.mcps.clear(); this.directResources.length = 0;\n const error = failures.find((result) => result.status === 'rejected');\n if (error?.status === 'rejected') throw error.reason;\n })();\n return this.closing;\n }\n\n private ensureOpen(): void { if (this.closed) throw new Error('AgentCore client is closed'); }\n private requireControlPlane(): AgentCoreControlPlane {\n if (!this.context?.controlPlane) throw new ResourceNotConfiguredError('AgentCore control-plane runtime is not configured');\n return this.context.controlPlane;\n }\n private async ensureRuntime(): Promise<RuntimeBindings> {\n this.ensureOpen();\n if (this.runtime) return this.runtime;\n if (this.initializing) return this.initializing;\n if (!this.runtimeSource) throw new ResourceNotConfiguredError('managed model and MCP require runtime gateway configuration');\n const source = this.runtimeSource;\n const request = (async () => {\n const runtime = await source.resolve();\n this.ensureOpen();\n const context = this.createContext(runtime.config.workspaceId, runtime.config.regionId, runtime.controlPlaneEndpoint, runtime);\n this.context = context; this.runtime = runtime;\n return runtime;\n })();\n this.initializing = request;\n try { return await request; } finally { this.initializing = undefined; }\n }\n private createContext(workspaceId: string, regionId: string, endpoint?: string, runtime?: RuntimeBindings): ResourceContext {\n let resourceSTS: ResourceSTSProvider | undefined;\n let workloadAccessToken: WorkloadAccessTokenProvider | undefined;\n try {\n if (runtime?.controllerEndpoint && runtime.agentSATokens) {\n resourceSTS = new ResourceSTSProvider(runtime.controllerEndpoint, runtime.agentSATokens, { logger: this.logger });\n workloadAccessToken = new WorkloadAccessTokenProvider(runtime.controllerEndpoint, runtime.agentSATokens, { logger: this.logger });\n }\n const controlPlane = resourceSTS || this.options.accessKeyCredential ? new AgentCoreControlPlane({ workspaceId, regionId, endpoint,\n resourceSTSProvider: resourceSTS, accessKeyCredential: this.options.accessKeyCredential, logger: this.logger,\n }) : undefined;\n return { workspaceId, regionId, controlPlane, resourceSTS, workloadAccessToken };\n } catch (error) { resourceSTS?.close(); workloadAccessToken?.close(); throw error; }\n }\n}\n","import type { CollaborationOptions, CollaborationRuntime, Worker } from './contracts';\n\nexport class CollaborationClient {\n private runtime?: Promise<CollaborationRuntime>;\n private closed = false;\n constructor(private readonly options: CollaborationOptions) {}\n async worker(): Promise<Worker> {\n this.ensureOpen();\n this.runtime ??= this.load().catch(error => { this.runtime = undefined; throw error; });\n const worker = await (await this.runtime).worker();\n this.ensureOpen(); return worker;\n }\n async close(): Promise<void> {\n this.closed = true;\n const runtime = await this.runtime?.catch(() => undefined);\n await runtime?.close();\n }\n private async load(): Promise<CollaborationRuntime> {\n // Keep the addon optional and resolved from the application's installation at runtime.\n const packageName = 'alibabacloud-agentcore-collaboration';\n const addon = await import(packageName) as { Collaboration: new (options: CollaborationOptions) => CollaborationRuntime };\n return new addon.Collaboration(this.options);\n }\n private ensureOpen(): void { if (this.closed) throw new Error('AgentCore collaboration client is closed'); }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkS7PWSJNPcjs = require('../chunk-S7PWSJNP.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkPC4FM2RPcjs = require('../chunk-PC4FM2RP.cjs');
|
|
8
|
+
require('../chunk-ZELRQU4J.cjs');
|
|
9
|
+
require('../chunk-JSP7ZROS.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.AgentCoreConverter = _chunkPC4FM2RPcjs.AISDKEventConverter; exports.languageModel = _chunkS7PWSJNPcjs.languageModel; exports.tools = _chunkS7PWSJNPcjs.tools;
|
|
15
|
+
//# sourceMappingURL=ai-sdk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/integrations/ai-sdk.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACF,qKAAC","file":"/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/integrations/ai-sdk.cjs"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LanguageModelV3 } from '@ai-sdk/provider';
|
|
2
|
+
import { ToolSet } from 'ai';
|
|
3
|
+
import { M as ModelClient } from '../client-DDU4-ygJ.cjs';
|
|
4
|
+
import { ProviderModelClient } from '../model/index.cjs';
|
|
5
|
+
import { T as Tool } from '../common-BSXkQfxI.cjs';
|
|
6
|
+
export { A as AgentCoreConverter } from '../event-converters-Cn_NeGyQ.cjs';
|
|
7
|
+
import 'node:util';
|
|
8
|
+
import '../logging-C8GLLg1f.cjs';
|
|
9
|
+
import '../config-CMkmMtx1.cjs';
|
|
10
|
+
import '../controlplane/index.cjs';
|
|
11
|
+
import '../access-key-CkoHq3S8.cjs';
|
|
12
|
+
import '../model-CkYHzHPk.cjs';
|
|
13
|
+
|
|
14
|
+
/** The caller owns the ModelClient (or its Core); this adapter does not close it. */
|
|
15
|
+
declare function languageModel(client: ModelClient | ProviderModelClient, options?: {
|
|
16
|
+
api?: 'chat' | 'responses';
|
|
17
|
+
}): LanguageModelV3;
|
|
18
|
+
/** MCP and Skill tools share the same canonical Tool representation. */
|
|
19
|
+
declare function tools(items: readonly Tool[]): ToolSet;
|
|
20
|
+
|
|
21
|
+
export { languageModel, tools };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LanguageModelV3 } from '@ai-sdk/provider';
|
|
2
|
+
import { ToolSet } from 'ai';
|
|
3
|
+
import { M as ModelClient } from '../client-pDzS7EZR.js';
|
|
4
|
+
import { ProviderModelClient } from '../model/index.js';
|
|
5
|
+
import { T as Tool } from '../common-BSXkQfxI.js';
|
|
6
|
+
export { A as AgentCoreConverter } from '../event-converters-BIn8odqo.js';
|
|
7
|
+
import 'node:util';
|
|
8
|
+
import '../logging-C8GLLg1f.js';
|
|
9
|
+
import '../config-CMkmMtx1.js';
|
|
10
|
+
import '../controlplane/index.js';
|
|
11
|
+
import '../access-key-CkoHq3S8.js';
|
|
12
|
+
import '../model-CkYHzHPk.js';
|
|
13
|
+
|
|
14
|
+
/** The caller owns the ModelClient (or its Core); this adapter does not close it. */
|
|
15
|
+
declare function languageModel(client: ModelClient | ProviderModelClient, options?: {
|
|
16
|
+
api?: 'chat' | 'responses';
|
|
17
|
+
}): LanguageModelV3;
|
|
18
|
+
/** MCP and Skill tools share the same canonical Tool representation. */
|
|
19
|
+
declare function tools(items: readonly Tool[]): ToolSet;
|
|
20
|
+
|
|
21
|
+
export { languageModel, tools };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
languageModel,
|
|
3
|
+
tools
|
|
4
|
+
} from "../chunk-MICRSJ6R.js";
|
|
5
|
+
import {
|
|
6
|
+
AISDKEventConverter
|
|
7
|
+
} from "../chunk-WKZUYPDS.js";
|
|
8
|
+
import "../chunk-PTJPB27L.js";
|
|
9
|
+
import "../chunk-MZ5UWGXS.js";
|
|
10
|
+
export {
|
|
11
|
+
AISDKEventConverter as AgentCoreConverter,
|
|
12
|
+
languageModel,
|
|
13
|
+
tools
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=ai-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkLXHW6OT4cjs = require('../chunk-LXHW6OT4.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkA3WMLVJCcjs = require('../chunk-A3WMLVJC.cjs');
|
|
8
|
+
require('../chunk-MWAHO47B.cjs');
|
|
9
|
+
require('../chunk-QIZO3A4Y.cjs');
|
|
10
|
+
require('../chunk-RZNQGEGJ.cjs');
|
|
11
|
+
require('../chunk-2E5EWEDG.cjs');
|
|
12
|
+
require('../chunk-5RKN46UU.cjs');
|
|
13
|
+
require('../chunk-EGUKJE3Z.cjs');
|
|
14
|
+
require('../chunk-LE5P3SJW.cjs');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
var _chunkPC4FM2RPcjs = require('../chunk-PC4FM2RP.cjs');
|
|
18
|
+
require('../chunk-ZELRQU4J.cjs');
|
|
19
|
+
require('../chunk-JSP7ZROS.cjs');
|
|
20
|
+
|
|
21
|
+
// src/integrations/google-adk.ts
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
var _adk = require('@google/adk');
|
|
26
|
+
async function model(client) {
|
|
27
|
+
const { AgentCoreLlm } = await Promise.resolve().then(() => _interopRequireWildcard(require("../google-adk-model-PDBKY5YZ.cjs")));
|
|
28
|
+
return new AgentCoreLlm(client);
|
|
29
|
+
}
|
|
30
|
+
var SchemaTool = class extends _adk.BaseTool {
|
|
31
|
+
constructor(value) {
|
|
32
|
+
super({ name: value.name, description: value.description });
|
|
33
|
+
this.value = value;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_getDeclaration() {
|
|
37
|
+
return { name: this.name, description: this.description, parametersJsonSchema: structuredClone(this.value.parameters) };
|
|
38
|
+
}
|
|
39
|
+
async runAsync({ args }) {
|
|
40
|
+
return this.value.invoke(args);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
function tools(values) {
|
|
44
|
+
return values.map((value) => new SchemaTool(value));
|
|
45
|
+
}
|
|
46
|
+
function skillTools2(values, options = {}) {
|
|
47
|
+
return tools(_chunkA3WMLVJCcjs.skillTools.call(void 0, values, options));
|
|
48
|
+
}
|
|
49
|
+
var AgentCoreMemoryService = class {
|
|
50
|
+
constructor(store, options) {
|
|
51
|
+
this.store = store;
|
|
52
|
+
this.options = options;
|
|
53
|
+
this.topK = _nullishCoalesce(options.topK, () => ( 5));
|
|
54
|
+
_chunkLXHW6OT4cjs.validateTopK.call(void 0, this.topK);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
async searchMemory({ appName, userId, query }) {
|
|
60
|
+
const scope = { agentId: this.options.partitionResolver(appName, userId) };
|
|
61
|
+
_chunkLXHW6OT4cjs.validateScope.call(void 0, scope);
|
|
62
|
+
const result = await this.store.searchMemories(query, { scope, topK: this.topK });
|
|
63
|
+
return { memories: result.memories.map(({ memory }) => ({ content: { parts: [{ text: memory.content.text }] }, timestamp: memory.createdAt })) };
|
|
64
|
+
}
|
|
65
|
+
async addSessionToMemory(session) {
|
|
66
|
+
await this.addEventsToMemory({ appName: session.appName, userId: session.userId, sessionId: session.id, events: session.events });
|
|
67
|
+
}
|
|
68
|
+
/** Explicit delta ingestion, avoiding repeated ingestion of the entire Session. */
|
|
69
|
+
async addEventsToMemory(request) {
|
|
70
|
+
const scope = { agentId: this.options.partitionResolver(request.appName, request.userId), sessionId: request.sessionId };
|
|
71
|
+
_chunkLXHW6OT4cjs.validateScope.call(void 0, scope);
|
|
72
|
+
const messages = [];
|
|
73
|
+
for (const event of request.events) {
|
|
74
|
+
if (!event.content || event.partial || event.errorCode) continue;
|
|
75
|
+
const role = event.author === "user" ? "user" : event.content.role === "model" && _adk.isFinalResponse.call(void 0, event) ? "assistant" : void 0;
|
|
76
|
+
if (!role) continue;
|
|
77
|
+
const content = (_nullishCoalesce(event.content.parts, () => ( []))).filter((part) => part.text && !part.thought).map((part) => part.text).join("\n");
|
|
78
|
+
if (content.trim()) messages.push({ role, content });
|
|
79
|
+
}
|
|
80
|
+
if (messages.length) await this.store.addMemories({ scope, messages, metadata: request.customMetadata });
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
exports.AgentCoreConverter = _chunkPC4FM2RPcjs.GoogleADKEventConverter; exports.AgentCoreMemoryService = AgentCoreMemoryService; exports.model = model; exports.skillTools = skillTools2; exports.tools = tools;
|
|
90
|
+
//# sourceMappingURL=google-adk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/integrations/google-adk.cjs","../../src/integrations/google-adk.ts"],"names":["skillTools"],"mappings":"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","file":"/Users/zhuoguang/Documents/Code/collaborate/hiclaw/agentcore-sdk-nodejs/dist/integrations/google-adk.cjs","sourcesContent":[null,"import { BaseTool, isFinalResponse, type BaseLlm, type BaseMemoryService, type Event,\n type RunAsyncToolRequest, type SearchMemoryRequest, type SearchMemoryResponse, type Session } from '@google/adk';\nimport type { ModelClient, ProviderModelClient } from '../model';\nimport type { MemoryStore, MemoryMessage } from '../memory';\nimport type { Tool } from './common';\nimport { skillTools as canonicalSkillTools, type Skill, type SkillToolsOptions } from '../skill';\nimport { validateScope, validateTopK } from './memory/common';\n\n/** Load model-provider dependencies only when a model is requested. */\nexport async function model(client: ModelClient | ProviderModelClient): Promise<BaseLlm> {\n const { AgentCoreLlm } = await import('./google-adk-model');\n return new AgentCoreLlm(client);\n}\n\nclass SchemaTool extends BaseTool {\n constructor(private readonly value: Tool) { super({ name: value.name, description: value.description }); }\n override _getDeclaration() {\n return { name: this.name, description: this.description, parametersJsonSchema: structuredClone(this.value.parameters) };\n }\n async runAsync({ args }: RunAsyncToolRequest): Promise<unknown> { return this.value.invoke(args); }\n}\nexport function tools(values: readonly Tool[]): BaseTool[] { return values.map(value => new SchemaTool(value)); }\nexport function skillTools(values: readonly Skill[], options: SkillToolsOptions = {}): BaseTool[] {\n return tools(canonicalSkillTools(values, options));\n}\n\nexport interface AgentCoreMemoryServiceOptions {\n /** Map the application's trusted ADK app/user pair to an AgentCore logical partition. */\n partitionResolver: (appName: string, userId: string) => string;\n topK?: number;\n}\nexport interface AddEventsToMemoryRequest {\n appName: string;\n userId: string;\n sessionId?: string;\n events: readonly Event[];\n customMetadata?: Readonly<Record<string, string>>;\n}\n\n/** Borrows the MemoryStore; ADK's SessionService continues to own conversation history. */\nexport class AgentCoreMemoryService implements BaseMemoryService {\n private readonly topK: number;\n constructor(private readonly store: MemoryStore, private readonly options: AgentCoreMemoryServiceOptions) {\n this.topK = options.topK ?? 5; validateTopK(this.topK);\n }\n async searchMemory({ appName, userId, query }: SearchMemoryRequest): Promise<SearchMemoryResponse> {\n const scope = { agentId: this.options.partitionResolver(appName, userId) }; validateScope(scope);\n const result = await this.store.searchMemories(query, { scope, topK: this.topK });\n return { memories: result.memories.map(({ memory }) => ({ content: { parts: [{ text: memory.content.text }] }, timestamp: memory.createdAt })) };\n }\n async addSessionToMemory(session: Session): Promise<void> {\n await this.addEventsToMemory({ appName: session.appName, userId: session.userId, sessionId: session.id, events: session.events });\n }\n /** Explicit delta ingestion, avoiding repeated ingestion of the entire Session. */\n async addEventsToMemory(request: AddEventsToMemoryRequest): Promise<void> {\n const scope = { agentId: this.options.partitionResolver(request.appName, request.userId), sessionId: request.sessionId }; validateScope(scope);\n const messages: MemoryMessage[] = [];\n for (const event of request.events) {\n if (!event.content || event.partial || event.errorCode) continue;\n const role = event.author === 'user' ? 'user' : event.content.role === 'model' && isFinalResponse(event) ? 'assistant' : undefined;\n if (!role) continue;\n const content = (event.content.parts ?? []).filter(part => part.text && !part.thought).map(part => part.text!).join('\\n');\n if (content.trim()) messages.push({ role, content });\n }\n if (messages.length) await this.store.addMemories({ scope, messages, metadata: request.customMetadata });\n }\n}\nexport { GoogleADKEventConverter as AgentCoreConverter } from './event-converters';\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Event, BaseMemoryService, SearchMemoryRequest, SearchMemoryResponse, Session, BaseLlm, BaseTool } from '@google/adk';
|
|
2
|
+
import { M as ModelClient } from '../client-DDU4-ygJ.cjs';
|
|
3
|
+
import { ProviderModelClient } from '../model/index.cjs';
|
|
4
|
+
import { MemoryStore } from '../memory/index.cjs';
|
|
5
|
+
import { T as Tool } from '../common-BSXkQfxI.cjs';
|
|
6
|
+
import { S as Skill } from '../loader-eWuJ2GSL.cjs';
|
|
7
|
+
import { SkillToolsOptions } from '../skill/index.cjs';
|
|
8
|
+
export { G as AgentCoreConverter } from '../event-converters-Cn_NeGyQ.cjs';
|
|
9
|
+
import 'node:util';
|
|
10
|
+
import '../logging-C8GLLg1f.cjs';
|
|
11
|
+
import '../config-CMkmMtx1.cjs';
|
|
12
|
+
import '../controlplane/index.cjs';
|
|
13
|
+
import '../access-key-CkoHq3S8.cjs';
|
|
14
|
+
import '@ai-sdk/provider';
|
|
15
|
+
import 'ai';
|
|
16
|
+
import '../model-CkYHzHPk.cjs';
|
|
17
|
+
|
|
18
|
+
/** Load model-provider dependencies only when a model is requested. */
|
|
19
|
+
declare function model(client: ModelClient | ProviderModelClient): Promise<BaseLlm>;
|
|
20
|
+
declare function tools(values: readonly Tool[]): BaseTool[];
|
|
21
|
+
declare function skillTools(values: readonly Skill[], options?: SkillToolsOptions): BaseTool[];
|
|
22
|
+
interface AgentCoreMemoryServiceOptions {
|
|
23
|
+
/** Map the application's trusted ADK app/user pair to an AgentCore logical partition. */
|
|
24
|
+
partitionResolver: (appName: string, userId: string) => string;
|
|
25
|
+
topK?: number;
|
|
26
|
+
}
|
|
27
|
+
interface AddEventsToMemoryRequest {
|
|
28
|
+
appName: string;
|
|
29
|
+
userId: string;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
events: readonly Event[];
|
|
32
|
+
customMetadata?: Readonly<Record<string, string>>;
|
|
33
|
+
}
|
|
34
|
+
/** Borrows the MemoryStore; ADK's SessionService continues to own conversation history. */
|
|
35
|
+
declare class AgentCoreMemoryService implements BaseMemoryService {
|
|
36
|
+
private readonly store;
|
|
37
|
+
private readonly options;
|
|
38
|
+
private readonly topK;
|
|
39
|
+
constructor(store: MemoryStore, options: AgentCoreMemoryServiceOptions);
|
|
40
|
+
searchMemory({ appName, userId, query }: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
41
|
+
addSessionToMemory(session: Session): Promise<void>;
|
|
42
|
+
/** Explicit delta ingestion, avoiding repeated ingestion of the entire Session. */
|
|
43
|
+
addEventsToMemory(request: AddEventsToMemoryRequest): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { type AddEventsToMemoryRequest, AgentCoreMemoryService, type AgentCoreMemoryServiceOptions, model, skillTools, tools };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Event, BaseMemoryService, SearchMemoryRequest, SearchMemoryResponse, Session, BaseLlm, BaseTool } from '@google/adk';
|
|
2
|
+
import { M as ModelClient } from '../client-pDzS7EZR.js';
|
|
3
|
+
import { ProviderModelClient } from '../model/index.js';
|
|
4
|
+
import { MemoryStore } from '../memory/index.js';
|
|
5
|
+
import { T as Tool } from '../common-BSXkQfxI.js';
|
|
6
|
+
import { S as Skill } from '../loader-DrIQ37nm.js';
|
|
7
|
+
import { SkillToolsOptions } from '../skill/index.js';
|
|
8
|
+
export { G as AgentCoreConverter } from '../event-converters-BIn8odqo.js';
|
|
9
|
+
import 'node:util';
|
|
10
|
+
import '../logging-C8GLLg1f.js';
|
|
11
|
+
import '../config-CMkmMtx1.js';
|
|
12
|
+
import '../controlplane/index.js';
|
|
13
|
+
import '../access-key-CkoHq3S8.js';
|
|
14
|
+
import '@ai-sdk/provider';
|
|
15
|
+
import 'ai';
|
|
16
|
+
import '../model-CkYHzHPk.js';
|
|
17
|
+
|
|
18
|
+
/** Load model-provider dependencies only when a model is requested. */
|
|
19
|
+
declare function model(client: ModelClient | ProviderModelClient): Promise<BaseLlm>;
|
|
20
|
+
declare function tools(values: readonly Tool[]): BaseTool[];
|
|
21
|
+
declare function skillTools(values: readonly Skill[], options?: SkillToolsOptions): BaseTool[];
|
|
22
|
+
interface AgentCoreMemoryServiceOptions {
|
|
23
|
+
/** Map the application's trusted ADK app/user pair to an AgentCore logical partition. */
|
|
24
|
+
partitionResolver: (appName: string, userId: string) => string;
|
|
25
|
+
topK?: number;
|
|
26
|
+
}
|
|
27
|
+
interface AddEventsToMemoryRequest {
|
|
28
|
+
appName: string;
|
|
29
|
+
userId: string;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
events: readonly Event[];
|
|
32
|
+
customMetadata?: Readonly<Record<string, string>>;
|
|
33
|
+
}
|
|
34
|
+
/** Borrows the MemoryStore; ADK's SessionService continues to own conversation history. */
|
|
35
|
+
declare class AgentCoreMemoryService implements BaseMemoryService {
|
|
36
|
+
private readonly store;
|
|
37
|
+
private readonly options;
|
|
38
|
+
private readonly topK;
|
|
39
|
+
constructor(store: MemoryStore, options: AgentCoreMemoryServiceOptions);
|
|
40
|
+
searchMemory({ appName, userId, query }: SearchMemoryRequest): Promise<SearchMemoryResponse>;
|
|
41
|
+
addSessionToMemory(session: Session): Promise<void>;
|
|
42
|
+
/** Explicit delta ingestion, avoiding repeated ingestion of the entire Session. */
|
|
43
|
+
addEventsToMemory(request: AddEventsToMemoryRequest): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { type AddEventsToMemoryRequest, AgentCoreMemoryService, type AgentCoreMemoryServiceOptions, model, skillTools, tools };
|