orchajs 0.1.0-next.7 → 0.1.0-next.9
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/README.md +123 -5
- package/dist/compiler/build-project.d.ts.map +1 -1
- package/dist/compiler/build-project.js +2 -1
- package/dist/compiler/build-project.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/providers/bedrock.d.ts +13 -0
- package/dist/providers/bedrock.d.ts.map +1 -0
- package/dist/providers/bedrock.js +395 -0
- package/dist/providers/bedrock.js.map +1 -0
- package/dist/providers/catalog.d.ts +4 -0
- package/dist/providers/catalog.d.ts.map +1 -1
- package/dist/providers/catalog.js +4 -0
- package/dist/providers/catalog.js.map +1 -1
- package/dist/runtime/agent.d.ts +1 -0
- package/dist/runtime/agent.d.ts.map +1 -1
- package/dist/runtime/agent.js +3 -1
- package/dist/runtime/agent.js.map +1 -1
- package/dist/runtime/context.d.ts +12 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +12 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/create-orcha.d.ts.map +1 -1
- package/dist/runtime/create-orcha.js +11 -1
- package/dist/runtime/create-orcha.js.map +1 -1
- package/dist/testing.d.ts +5 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +444 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +88 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -177,13 +177,17 @@ runtime, so application and action APIs do not change when an agent switches
|
|
|
177
177
|
providers. Provider-specific capabilities that cannot be represented safely
|
|
178
178
|
fail with an explicit Orcha error instead of silently degrading.
|
|
179
179
|
|
|
180
|
-
Anthropic, DeepSeek Chat Completions, OpenAI
|
|
181
|
-
API through Google GenAI, and Vertex AI are
|
|
180
|
+
Anthropic, Amazon Bedrock Converse, DeepSeek Chat Completions, OpenAI
|
|
181
|
+
Responses, the Gemini Developer API through Google GenAI, and Vertex AI are
|
|
182
|
+
built in:
|
|
182
183
|
|
|
183
184
|
```js
|
|
184
185
|
orcha.init({
|
|
185
186
|
providers: {
|
|
186
187
|
anthropic: process.env.ANTHROPIC_API_KEY,
|
|
188
|
+
bedrock: {
|
|
189
|
+
region: process.env.AWS_REGION,
|
|
190
|
+
},
|
|
187
191
|
deepseek: process.env.DEEPSEEK_API_KEY,
|
|
188
192
|
googlegenai: process.env.GOOGLE_GENAI_API_KEY,
|
|
189
193
|
openai: process.env.OPENAI_API_KEY,
|
|
@@ -198,6 +202,40 @@ orcha.init({
|
|
|
198
202
|
});
|
|
199
203
|
```
|
|
200
204
|
|
|
205
|
+
Amazon Bedrock uses the standard AWS credential chain by default. Local AWS
|
|
206
|
+
profiles, `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`, ECS/EKS credentials,
|
|
207
|
+
and attached IAM roles work without copying credentials into Orcha
|
|
208
|
+
configuration. Explicit temporary or static credentials are also supported:
|
|
209
|
+
|
|
210
|
+
```js
|
|
211
|
+
orcha.init({
|
|
212
|
+
providers: {
|
|
213
|
+
bedrock: {
|
|
214
|
+
region: process.env.AWS_REGION,
|
|
215
|
+
credentials: {
|
|
216
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
217
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
|
218
|
+
sessionToken: process.env.AWS_SESSION_TOKEN,
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
agents: {
|
|
223
|
+
complianceAgent: "./complianceAgent",
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Select `"bedrock"` in the agent and use a Bedrock model ID, inference-profile
|
|
229
|
+
ID, or ARN:
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"provider": "bedrock",
|
|
234
|
+
"model": "us.anthropic.claude-sonnet-4-6",
|
|
235
|
+
"outputType": "text"
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
201
239
|
Vertex AI uses Google Application Default Credentials by default. Configure
|
|
202
240
|
ADC through the runtime environment, or provide `credentials: { clientEmail,
|
|
203
241
|
privateKey }` inside the `vertexai` configuration.
|
|
@@ -304,6 +342,84 @@ await orcha.exampleAgent.update(sessionId, {
|
|
|
304
342
|
});
|
|
305
343
|
```
|
|
306
344
|
|
|
345
|
+
## Agent tests
|
|
346
|
+
|
|
347
|
+
Agent tests live beside the agent and use the same compiled instructions,
|
|
348
|
+
provider, output contract, action schemas, `run()`, and `resume()` behavior as
|
|
349
|
+
the application.
|
|
350
|
+
|
|
351
|
+
Register test folders in `tests/index.js`:
|
|
352
|
+
|
|
353
|
+
```js
|
|
354
|
+
import { defineTests } from "orchajs/testing";
|
|
355
|
+
|
|
356
|
+
export default defineTests({
|
|
357
|
+
delayedOrder: "./delayedOrder",
|
|
358
|
+
});
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
Each test folder contains an `index.json` with its input, one simulated
|
|
362
|
+
response sequence for every action declared by the agent, and deterministic
|
|
363
|
+
expectations:
|
|
364
|
+
|
|
365
|
+
```json
|
|
366
|
+
{
|
|
367
|
+
"input": {
|
|
368
|
+
"content": "Explain why order ORD-4821 is late."
|
|
369
|
+
},
|
|
370
|
+
"actions": {
|
|
371
|
+
"lookup_order_status": {
|
|
372
|
+
"responses": [
|
|
373
|
+
{
|
|
374
|
+
"output": {
|
|
375
|
+
"orderId": "ORD-4821",
|
|
376
|
+
"status": "delayed"
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
]
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
"expect": {
|
|
383
|
+
"status": "completed",
|
|
384
|
+
"text": {
|
|
385
|
+
"contains": ["ORD-4821", "delayed"],
|
|
386
|
+
"excludes": ["delivered"]
|
|
387
|
+
},
|
|
388
|
+
"actions": [
|
|
389
|
+
{
|
|
390
|
+
"name": "lookup_order_status",
|
|
391
|
+
"arguments": {
|
|
392
|
+
"equals": {
|
|
393
|
+
"orderId": "ORD-4821"
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
]
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
The test action keys must exactly match the agent's `/actions`. Tests never run
|
|
403
|
+
the real local or client implementations; configured responses are submitted
|
|
404
|
+
through the normal client-action pause/resume flow.
|
|
405
|
+
|
|
406
|
+
Run every registered test programmatically:
|
|
407
|
+
|
|
408
|
+
```js
|
|
409
|
+
import { orcha } from "orchajs";
|
|
410
|
+
import { runTests } from "orchajs/testing";
|
|
411
|
+
import "./orcha/index.js";
|
|
412
|
+
|
|
413
|
+
const report = await runTests(orcha);
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Test sessions retain complete JSONL logs beside normal sessions under
|
|
417
|
+
`.orcha/sessions/ses_test_<uuid>.jsonl`. The final `test.completed` event
|
|
418
|
+
records the suite, case, status, duration, and every assertion. Run tests
|
|
419
|
+
explicitly before building in CI. Tests use the configured providers, so the
|
|
420
|
+
test step requires provider credentials and consumes model tokens; `orcha
|
|
421
|
+
build` itself remains offline and does not require those credentials.
|
|
422
|
+
|
|
307
423
|
For esbuild production applications, add `orchaPlugin()` from
|
|
308
424
|
`orchajs/esbuild` to the existing build. It compiles the registry and replaces
|
|
309
425
|
unchanged `orchajs` imports with the self-contained generated runtime. The
|
|
@@ -315,10 +431,12 @@ application continues to use its normal `npm run build` command.
|
|
|
315
431
|
|
|
316
432
|
- [x] Registry compiler + `orcha build`
|
|
317
433
|
- [x] Model Action Protocol — client actions and opt-in native/sandboxed local actions
|
|
318
|
-
- [x] Provider-neutral Anthropic, DeepSeek, OpenAI, Google GenAI, and Vertex AI adapters
|
|
434
|
+
- [x] Provider-neutral Anthropic, Bedrock, DeepSeek, OpenAI, Google GenAI, and Vertex AI adapters
|
|
319
435
|
- [x] Stateful sessions — Node JSONL replay and client-action pause/resume
|
|
320
|
-
- [
|
|
321
|
-
- [ ]
|
|
436
|
+
- [x] Agent `/tests` with durable test-prefixed logs and explicit CI gating
|
|
437
|
+
- [ ] Agent `/evaluations` and `/guardrails`
|
|
438
|
+
- [x] Production compiler and `orcha build`
|
|
439
|
+
- [ ] CLI `orcha init` and `orcha dev` workflows + quick examples
|
|
322
440
|
|
|
323
441
|
See [`ROADMAP.md`](./ROADMAP.md) for what's coming after — evaluations,
|
|
324
442
|
OpenTelemetry tracing, MCP interop adapters, and remote session storage remain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"build-project.d.ts","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAwHjB"}
|
|
@@ -57,7 +57,8 @@ export async function buildProject(options = {}) {
|
|
|
57
57
|
];
|
|
58
58
|
const providerRuntimeSource = createProviderRuntimeSource(includedProviders);
|
|
59
59
|
const needsNodeRequire = compiledBundle.actionRuntime === "sandbox" ||
|
|
60
|
-
includedProviders.includes("vertexai")
|
|
60
|
+
includedProviders.includes("vertexai") ||
|
|
61
|
+
includedProviders.includes("bedrock");
|
|
61
62
|
await writeFile(productionEntryPath, [
|
|
62
63
|
`import { createOrcha } from ${JSON.stringify(runtimeFactoryPath)};`,
|
|
63
64
|
`import { createProviderResponseGenerator } from ${JSON.stringify(providerDispatcherPath)};`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build-project.js","sourceRoot":"","sources":["../../src/compiler/build-project.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { orcha } from "./orcha.js";
|
|
|
2
2
|
export { OrchaError } from "./errors.js";
|
|
3
3
|
export type { Orcha, OrchaClient } from "./orcha.js";
|
|
4
4
|
export { NodeJsonlSessionStore } from "./storage/node-jsonl.js";
|
|
5
|
-
export type { ActionConfiguration, ApiKeyProviderConfiguration, AgentContinueInput, AgentConfiguration, AgentInput, AgentRuntime, ClientCapability, ClientToolCall, CompletedRunResult, CompiledActionManifest, CompiledAgentManifest, CompiledBundle, Execution, ExecutionSnapshot, FailedRunResult, FileContent, LocalActionRuntimeConfiguration, MessageContent, MetadataValue, OrchaErrorCode, OrchaInitConfiguration, PaginationOptions, ProjectConfiguration, ProviderConfiguration, ProviderInitConfigurations, ProviderName, RunError, RunStatus, ResumeInput, RunResult, SessionEvent, SessionEventType, SessionHistory, SessionHistoryItem, SessionList, SessionListOptions, SessionMetadata, SessionSnapshot, SessionStatus, SessionStore, SessionUpdate, StreamingRunSnapshot, TextContent, ToolResult, ToolResumeInput, Usage, VertexAIProviderConfiguration, GoogleServiceAccountCredentials, WaitingRunResult, } from "./types.js";
|
|
5
|
+
export type { ActionConfiguration, AgentTestActionConfiguration, AgentTestActionExpectation, AgentTestActionResponse, AgentTestAssertionResult, AgentTestCaseConfiguration, AgentTestCaseReport, AgentTestExpectation, AgentTestRegistrations, AgentTestReport, AgentTestTextExpectation, AgentTestValueExpectation, ApiKeyProviderConfiguration, AwsCredentials, AgentContinueInput, AgentConfiguration, AgentInput, AgentRuntime, ClientCapability, ClientToolCall, CompletedRunResult, CompiledActionManifest, CompiledAgentManifest, CompiledBundle, Execution, ExecutionSnapshot, FailedRunResult, FileContent, LocalActionRuntimeConfiguration, MessageContent, MetadataValue, OrchaErrorCode, OrchaInitConfiguration, PaginationOptions, ProjectConfiguration, ProviderConfiguration, ProviderInitConfigurations, ProviderName, BedrockProviderConfiguration, RunError, RunStatus, RunTestsOptions, ResumeInput, RunResult, SessionEvent, SessionEventType, SessionHistory, SessionHistoryItem, SessionList, SessionListOptions, SessionMetadata, SessionSnapshot, SessionStatus, SessionStore, SessionUpdate, StreamingRunSnapshot, TextContent, ToolResult, ToolResumeInput, Usage, VertexAIProviderConfiguration, GoogleServiceAccountCredentials, WaitingRunResult, } from "./types.js";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,eAAe,EACf,KAAK,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,4BAA4B,EAC5B,QAAQ,EACR,SAAS,EACT,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,eAAe,EACf,KAAK,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ConverseStreamCommand, type ConverseStreamOutput } from "@aws-sdk/client-bedrock-runtime";
|
|
2
|
+
import type { ProviderAdapter, ProviderRequest, ProviderResponse } from "./types.js";
|
|
3
|
+
export interface BedrockContentClient {
|
|
4
|
+
send(command: ConverseStreamCommand): Promise<{
|
|
5
|
+
stream?: AsyncIterable<ConverseStreamOutput>;
|
|
6
|
+
$metadata: {
|
|
7
|
+
requestId?: string;
|
|
8
|
+
};
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
export declare const bedrockProvider: ProviderAdapter;
|
|
12
|
+
export declare function generateBedrockContent(client: BedrockContentClient, request: ProviderRequest): Promise<ProviderResponse>;
|
|
13
|
+
//# sourceMappingURL=bedrock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAGrB,KAAK,oBAAoB,EAG1B,MAAM,iCAAiC,CAAC;AAQzC,OAAO,KAAK,EACV,eAAe,EAGf,eAAe,EACf,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAyCpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAC5C,MAAM,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC7C,SAAS,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACnC,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,eAAe,EAAE,eAG7B,CAAC;AA0BF,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA2C3B"}
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import { BedrockRuntimeClient, ConverseStreamCommand, } from "@aws-sdk/client-bedrock-runtime";
|
|
2
|
+
import { OrchaError } from "../errors.js";
|
|
3
|
+
import { parseStructuredOutput } from "../runtime/structured-output.js";
|
|
4
|
+
export const bedrockProvider = {
|
|
5
|
+
name: "bedrock",
|
|
6
|
+
generate: generateBedrock,
|
|
7
|
+
};
|
|
8
|
+
async function generateBedrock(configuration, request) {
|
|
9
|
+
const bedrockConfiguration = validateConfiguration(configuration);
|
|
10
|
+
if (request.outputType === "image" || request.outputType === "audio") {
|
|
11
|
+
throw new OrchaError("unsupported_provider_capability", `Amazon Bedrock Converse does not support "${request.outputType}" as a direct agent output.`);
|
|
12
|
+
}
|
|
13
|
+
const client = new BedrockRuntimeClient({
|
|
14
|
+
region: bedrockConfiguration.region,
|
|
15
|
+
...(bedrockConfiguration.baseUrl
|
|
16
|
+
? { endpoint: bedrockConfiguration.baseUrl }
|
|
17
|
+
: {}),
|
|
18
|
+
...(bedrockConfiguration.credentials
|
|
19
|
+
? { credentials: bedrockConfiguration.credentials }
|
|
20
|
+
: {}),
|
|
21
|
+
});
|
|
22
|
+
return generateBedrockContent(client, request);
|
|
23
|
+
}
|
|
24
|
+
export async function generateBedrockContent(client, request) {
|
|
25
|
+
const input = {
|
|
26
|
+
modelId: request.model,
|
|
27
|
+
system: [{ text: systemPrompt(request) }],
|
|
28
|
+
messages: await toBedrockMessages(request.messages),
|
|
29
|
+
...(request.maxTokens
|
|
30
|
+
? { inferenceConfig: { maxTokens: request.maxTokens } }
|
|
31
|
+
: {}),
|
|
32
|
+
};
|
|
33
|
+
if (request.tools.length > 0) {
|
|
34
|
+
input.toolConfig = {
|
|
35
|
+
tools: request.tools.map((tool) => ({
|
|
36
|
+
toolSpec: {
|
|
37
|
+
name: tool.name,
|
|
38
|
+
description: tool.description,
|
|
39
|
+
inputSchema: {
|
|
40
|
+
json: toBedrockDocument(tool.parameters),
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (request.reasoningLevel && isAnthropicModel(request.model)) {
|
|
47
|
+
input.additionalModelRequestFields = {
|
|
48
|
+
thinking: { type: "adaptive" },
|
|
49
|
+
output_config: { effort: request.reasoningLevel },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const response = await client.send(new ConverseStreamCommand(input));
|
|
53
|
+
if (!response.stream) {
|
|
54
|
+
throw new Error("Amazon Bedrock returned no response stream.");
|
|
55
|
+
}
|
|
56
|
+
const collected = await collectBedrockStream(response.stream, response.$metadata.requestId, request.publishOutput);
|
|
57
|
+
return toProviderResponse(request, collected);
|
|
58
|
+
}
|
|
59
|
+
function validateConfiguration(configuration) {
|
|
60
|
+
if (!("region" in configuration) ||
|
|
61
|
+
typeof configuration.region !== "string" ||
|
|
62
|
+
!configuration.region.trim()) {
|
|
63
|
+
throw new Error('Missing AWS region in orcha.init({ providers: { bedrock: { region: "..." } } }).');
|
|
64
|
+
}
|
|
65
|
+
if (configuration.credentials &&
|
|
66
|
+
(!configuration.credentials.accessKeyId.trim() ||
|
|
67
|
+
!configuration.credentials.secretAccessKey.trim())) {
|
|
68
|
+
throw new Error("Bedrock credentials require accessKeyId and secretAccessKey.");
|
|
69
|
+
}
|
|
70
|
+
return configuration;
|
|
71
|
+
}
|
|
72
|
+
function systemPrompt(request) {
|
|
73
|
+
if (request.outputType !== "json") {
|
|
74
|
+
return request.systemPrompt;
|
|
75
|
+
}
|
|
76
|
+
return `${request.systemPrompt}\n\nReturn only valid JSON matching this JSON Schema:\n${JSON.stringify(request.outputSchema ?? {})}`;
|
|
77
|
+
}
|
|
78
|
+
async function toBedrockMessages(messages) {
|
|
79
|
+
const output = [];
|
|
80
|
+
for (const message of messages) {
|
|
81
|
+
if (message.role === "user") {
|
|
82
|
+
output.push({
|
|
83
|
+
role: "user",
|
|
84
|
+
content: typeof message.content === "string"
|
|
85
|
+
? [{ text: message.content }]
|
|
86
|
+
: await Promise.all(message.content.map(toBedrockUserBlock)),
|
|
87
|
+
});
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (message.role === "tool") {
|
|
91
|
+
output.push({
|
|
92
|
+
role: "user",
|
|
93
|
+
content: message.results.map((result) => ({
|
|
94
|
+
toolResult: {
|
|
95
|
+
toolUseId: result.callId,
|
|
96
|
+
content: [
|
|
97
|
+
{ json: toBedrockDocument(result.output) },
|
|
98
|
+
],
|
|
99
|
+
...(result.isError ? { status: "error" } : {}),
|
|
100
|
+
},
|
|
101
|
+
})),
|
|
102
|
+
});
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
output.push({
|
|
106
|
+
role: "assistant",
|
|
107
|
+
content: message.content.map((block) => toBedrockAssistantBlock(block, message.provider === "bedrock")),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return output;
|
|
111
|
+
}
|
|
112
|
+
async function toBedrockUserBlock(block) {
|
|
113
|
+
if (block.type === "text") {
|
|
114
|
+
return { text: block.text };
|
|
115
|
+
}
|
|
116
|
+
if ((block.type === "image" || block.type === "url") &&
|
|
117
|
+
block.mimeType.startsWith("image/")) {
|
|
118
|
+
const format = imageFormat(block.mimeType);
|
|
119
|
+
const response = await fetch(block.fileUri);
|
|
120
|
+
if (!response.ok) {
|
|
121
|
+
throw new Error(`Could not load Bedrock image input: HTTP ${response.status}.`);
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
image: {
|
|
125
|
+
format,
|
|
126
|
+
source: {
|
|
127
|
+
bytes: new Uint8Array(await response.arrayBuffer()),
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
throw new OrchaError("unsupported_content_type", `Amazon Bedrock does not support Orcha content type "${block.type}" with MIME type "${block.mimeType}".`);
|
|
133
|
+
}
|
|
134
|
+
function imageFormat(mimeType) {
|
|
135
|
+
const subtype = mimeType.toLowerCase().split(";")[0]?.split("/")[1];
|
|
136
|
+
if (subtype === "png" ||
|
|
137
|
+
subtype === "jpeg" ||
|
|
138
|
+
subtype === "gif" ||
|
|
139
|
+
subtype === "webp") {
|
|
140
|
+
return subtype;
|
|
141
|
+
}
|
|
142
|
+
if (subtype === "jpg") {
|
|
143
|
+
return "jpeg";
|
|
144
|
+
}
|
|
145
|
+
throw new OrchaError("unsupported_content_type", `Amazon Bedrock does not support image MIME type "${mimeType}".`);
|
|
146
|
+
}
|
|
147
|
+
function toBedrockAssistantBlock(block, replayBedrockState) {
|
|
148
|
+
if (block.type === "text") {
|
|
149
|
+
return { text: block.text };
|
|
150
|
+
}
|
|
151
|
+
if (block.type === "tool_call") {
|
|
152
|
+
return {
|
|
153
|
+
toolUse: {
|
|
154
|
+
toolUseId: block.callId,
|
|
155
|
+
name: block.name,
|
|
156
|
+
input: toBedrockDocument(block.arguments),
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
if (!replayBedrockState) {
|
|
161
|
+
return { text: block.text };
|
|
162
|
+
}
|
|
163
|
+
if (!block.text && block.replay?.opaqueData) {
|
|
164
|
+
return {
|
|
165
|
+
reasoningContent: {
|
|
166
|
+
redactedContent: Uint8Array.from(Buffer.from(block.replay.opaqueData, "base64")),
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
reasoningContent: {
|
|
172
|
+
reasoningText: {
|
|
173
|
+
text: block.text,
|
|
174
|
+
...(block.replay?.opaqueData
|
|
175
|
+
? { signature: block.replay.opaqueData }
|
|
176
|
+
: {}),
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
async function collectBedrockStream(stream, requestId, publishOutput) {
|
|
182
|
+
const blocks = new Map();
|
|
183
|
+
let stopReason;
|
|
184
|
+
let usage;
|
|
185
|
+
let cumulativeText = "";
|
|
186
|
+
for await (const event of stream) {
|
|
187
|
+
throwStreamError(event);
|
|
188
|
+
const start = event.contentBlockStart;
|
|
189
|
+
if (start?.start?.toolUse) {
|
|
190
|
+
blocks.set(start.contentBlockIndex ?? blocks.size, {
|
|
191
|
+
type: "tool_call",
|
|
192
|
+
callId: start.start.toolUse.toolUseId ?? "",
|
|
193
|
+
name: start.start.toolUse.name ?? "",
|
|
194
|
+
input: "",
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const deltaEvent = event.contentBlockDelta;
|
|
198
|
+
const delta = deltaEvent?.delta;
|
|
199
|
+
const index = deltaEvent?.contentBlockIndex ?? blocks.size;
|
|
200
|
+
if (delta?.text !== undefined) {
|
|
201
|
+
const block = getPartialTextBlock(blocks, index);
|
|
202
|
+
block.text += delta.text;
|
|
203
|
+
cumulativeText += delta.text;
|
|
204
|
+
publishOutput?.(cumulativeText);
|
|
205
|
+
}
|
|
206
|
+
if (delta?.toolUse?.input !== undefined) {
|
|
207
|
+
const block = blocks.get(index);
|
|
208
|
+
if (!block || block.type !== "tool_call") {
|
|
209
|
+
throw new Error(`Amazon Bedrock streamed tool input before tool start at block ${index}.`);
|
|
210
|
+
}
|
|
211
|
+
block.input += delta.toolUse.input;
|
|
212
|
+
}
|
|
213
|
+
if (delta?.reasoningContent) {
|
|
214
|
+
const block = getPartialReasoningBlock(blocks, index);
|
|
215
|
+
if (delta.reasoningContent.text !== undefined) {
|
|
216
|
+
block.text += delta.reasoningContent.text;
|
|
217
|
+
}
|
|
218
|
+
if (delta.reasoningContent.signature !== undefined) {
|
|
219
|
+
block.signature = delta.reasoningContent.signature;
|
|
220
|
+
}
|
|
221
|
+
if (delta.reasoningContent.redactedContent !== undefined) {
|
|
222
|
+
block.redactedContent =
|
|
223
|
+
delta.reasoningContent.redactedContent;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (event.messageStop?.stopReason) {
|
|
227
|
+
stopReason = event.messageStop.stopReason;
|
|
228
|
+
}
|
|
229
|
+
if (event.metadata?.usage) {
|
|
230
|
+
usage = event.metadata.usage;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
requestId,
|
|
235
|
+
blocks: [...blocks.entries()]
|
|
236
|
+
.sort(([left], [right]) => left - right)
|
|
237
|
+
.map(([, block]) => normalizeBlock(block)),
|
|
238
|
+
stopReason,
|
|
239
|
+
usage,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
function getPartialTextBlock(blocks, index) {
|
|
243
|
+
const existing = blocks.get(index);
|
|
244
|
+
if (existing?.type === "text") {
|
|
245
|
+
return existing;
|
|
246
|
+
}
|
|
247
|
+
const block = { type: "text", text: "" };
|
|
248
|
+
blocks.set(index, block);
|
|
249
|
+
return block;
|
|
250
|
+
}
|
|
251
|
+
function getPartialReasoningBlock(blocks, index) {
|
|
252
|
+
const existing = blocks.get(index);
|
|
253
|
+
if (existing?.type === "reasoning") {
|
|
254
|
+
return existing;
|
|
255
|
+
}
|
|
256
|
+
const block = {
|
|
257
|
+
type: "reasoning",
|
|
258
|
+
text: "",
|
|
259
|
+
};
|
|
260
|
+
blocks.set(index, block);
|
|
261
|
+
return block;
|
|
262
|
+
}
|
|
263
|
+
function normalizeBlock(block) {
|
|
264
|
+
if (block.type === "text") {
|
|
265
|
+
return block;
|
|
266
|
+
}
|
|
267
|
+
if (block.type === "tool_call") {
|
|
268
|
+
return {
|
|
269
|
+
type: "tool_call",
|
|
270
|
+
callId: block.callId,
|
|
271
|
+
name: block.name,
|
|
272
|
+
arguments: parseToolInput(block.input, block.name),
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
if (block.redactedContent) {
|
|
276
|
+
return {
|
|
277
|
+
type: "reasoning",
|
|
278
|
+
text: "",
|
|
279
|
+
replay: {
|
|
280
|
+
opaqueData: Buffer.from(block.redactedContent).toString("base64"),
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return {
|
|
285
|
+
type: "reasoning",
|
|
286
|
+
text: block.text,
|
|
287
|
+
...(block.signature
|
|
288
|
+
? { replay: { opaqueData: block.signature } }
|
|
289
|
+
: {}),
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
function parseToolInput(input, name) {
|
|
293
|
+
if (!input) {
|
|
294
|
+
return {};
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
const parsed = JSON.parse(input);
|
|
298
|
+
if (isRecord(parsed)) {
|
|
299
|
+
return parsed;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
// The provider error below includes the tool name.
|
|
304
|
+
}
|
|
305
|
+
throw new Error(`Amazon Bedrock returned invalid JSON arguments for tool "${name}".`);
|
|
306
|
+
}
|
|
307
|
+
function toProviderResponse(request, response) {
|
|
308
|
+
const textOutput = response.blocks
|
|
309
|
+
.filter((block) => block.type === "text")
|
|
310
|
+
.map((block) => block.text)
|
|
311
|
+
.join("");
|
|
312
|
+
const toolCalls = response.blocks.filter((block) => block.type === "tool_call");
|
|
313
|
+
return {
|
|
314
|
+
output: request.outputType === "json" && toolCalls.length === 0
|
|
315
|
+
? parseStructuredOutput(textOutput, request.outputSchema ?? {})
|
|
316
|
+
: textOutput,
|
|
317
|
+
responseId: response.requestId,
|
|
318
|
+
stopReason: normalizeStopReason(response.stopReason),
|
|
319
|
+
content: response.blocks,
|
|
320
|
+
toolCalls,
|
|
321
|
+
usage: {
|
|
322
|
+
inputTokens: response.usage?.inputTokens ?? 0,
|
|
323
|
+
outputTokens: response.usage?.outputTokens ?? 0,
|
|
324
|
+
reasoningTokens: null,
|
|
325
|
+
cacheReadTokens: response.usage?.cacheReadInputTokens ?? 0,
|
|
326
|
+
cacheWriteTokens: response.usage?.cacheWriteInputTokens ?? 0,
|
|
327
|
+
},
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function normalizeStopReason(reason) {
|
|
331
|
+
if (!reason) {
|
|
332
|
+
return undefined;
|
|
333
|
+
}
|
|
334
|
+
if (reason === "end_turn" || reason === "stop_sequence") {
|
|
335
|
+
return "end_turn";
|
|
336
|
+
}
|
|
337
|
+
if (reason === "tool_use") {
|
|
338
|
+
return "tool_call";
|
|
339
|
+
}
|
|
340
|
+
if (reason === "max_tokens" ||
|
|
341
|
+
reason === "model_context_window_exceeded") {
|
|
342
|
+
return "max_tokens";
|
|
343
|
+
}
|
|
344
|
+
if (reason === "content_filtered" ||
|
|
345
|
+
reason === "guardrail_intervened") {
|
|
346
|
+
return "content_filter";
|
|
347
|
+
}
|
|
348
|
+
return "unknown";
|
|
349
|
+
}
|
|
350
|
+
function throwStreamError(event) {
|
|
351
|
+
const error = event.internalServerException ??
|
|
352
|
+
event.modelStreamErrorException ??
|
|
353
|
+
event.validationException ??
|
|
354
|
+
event.throttlingException ??
|
|
355
|
+
event.serviceUnavailableException;
|
|
356
|
+
if (error) {
|
|
357
|
+
throw new Error(error.message ?? "Amazon Bedrock streaming request failed.");
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
function isAnthropicModel(model) {
|
|
361
|
+
const normalized = model.toLowerCase();
|
|
362
|
+
return (normalized.includes("anthropic.") ||
|
|
363
|
+
normalized.includes("claude"));
|
|
364
|
+
}
|
|
365
|
+
function toBedrockDocument(value) {
|
|
366
|
+
if (value === undefined || value === null) {
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
369
|
+
if (typeof value === "string" ||
|
|
370
|
+
typeof value === "boolean") {
|
|
371
|
+
return value;
|
|
372
|
+
}
|
|
373
|
+
if (typeof value === "number") {
|
|
374
|
+
if (!Number.isFinite(value)) {
|
|
375
|
+
throw new Error("Amazon Bedrock document values must contain finite numbers.");
|
|
376
|
+
}
|
|
377
|
+
return value;
|
|
378
|
+
}
|
|
379
|
+
if (Array.isArray(value)) {
|
|
380
|
+
return value.map(toBedrockDocument);
|
|
381
|
+
}
|
|
382
|
+
if (isRecord(value)) {
|
|
383
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => [
|
|
384
|
+
key,
|
|
385
|
+
toBedrockDocument(item),
|
|
386
|
+
]));
|
|
387
|
+
}
|
|
388
|
+
throw new Error(`Amazon Bedrock cannot serialize a ${typeof value} document value.`);
|
|
389
|
+
}
|
|
390
|
+
function isRecord(value) {
|
|
391
|
+
return (typeof value === "object" &&
|
|
392
|
+
value !== null &&
|
|
393
|
+
!Array.isArray(value));
|
|
394
|
+
}
|
|
395
|
+
//# sourceMappingURL=bedrock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../src/providers/bedrock.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@ export declare const builtInProviderCatalog: {
|
|
|
7
7
|
readonly moduleFile: "anthropic.js";
|
|
8
8
|
readonly exportName: "anthropicProvider";
|
|
9
9
|
};
|
|
10
|
+
readonly bedrock: {
|
|
11
|
+
readonly moduleFile: "bedrock.js";
|
|
12
|
+
readonly exportName: "bedrockProvider";
|
|
13
|
+
};
|
|
10
14
|
readonly deepseek: {
|
|
11
15
|
readonly moduleFile: "deepseek.js";
|
|
12
16
|
readonly exportName: "deepSeekProvider";
|