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 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 Responses, the Gemini Developer
181
- API through Google GenAI, and Vertex AI are built in:
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
- - [ ] `orcha.run()` one-shot entry point
321
- - [ ] CLI (`orcha init`, `orcha build`, `orcha dev`) + example agents
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,CAuHjB"}
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA+B,EAAE;IAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,mBAAmB,GAAG,OAAO,CACjC,kBAAkB,EAClB,sBAAsB,CACvB,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IACjE,MAAM,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC;YAChB,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACtD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,CACV,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,EAAE,CAC/D,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,iBAAiB,CAAC;YAClD,CAAC;YACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,mBAAmB,CAAC;YACvD,CAAC;QACH,CAAC;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACjD,MAAM,kBAAkB,GAAG,OAAO,CAChC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,4BAA4B,CAC7B,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,sBAAsB,GAAG,OAAO,CACpC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,4BAA4B,CAC7B,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,iBAAiB,GAAG;YACxB,GAAG,IAAI,GAAG,CACR,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC1B,CACF;SACF,CAAC;QACF,MAAM,qBAAqB,GACzB,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,gBAAgB,GACpB,cAAc,CAAC,aAAa,KAAK,SAAS;YAC1C,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,SAAS,CACb,mBAAmB,EACnB;YACE,+BAA+B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG;YACpE,mDAAmD,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG;YAC5F,qBAAqB;YACrB,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG;YAC3D,sFAAsF;YACtF,mFAAmF;YACnF,uBAAuB;YACvB,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAAM,CACP,CAAC;QACF,MAAM,WAAW,CAAC;YAChB,WAAW,EAAE,CAAC,mBAAmB,CAAC;YAClC,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE;gBACN,mCAAmC,EAAE,IAAI,CAAC,SAAS,CACjD,cAAc,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CACvD;aACF;YACD,GAAG,CAAC,gBAAgB;gBAClB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,EAAE,EAAE;4BACF,sEAAsE;4BACtE,wDAAwD;yBACzD,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,kBAAkB,EAAE;YAC3B,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,aAAuB;IAC1D,MAAM,kBAAkB,GAAG,OAAO,CAChC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,CACf,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,KAAK,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CACV,YAAY,UAAU,CAAC,UAAU,OAAO,SAAS,WAAW,IAAI,CAAC,SAAS,CACxE,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,UAAU,CAAC,CACnD,GAAG,CACL,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO;QACV,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACtD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,QAAQ,CAAC;AAClB,CAAC"}
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
@@ -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";