orchajs 0.1.0-next.8 → 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/README.md CHANGED
@@ -342,6 +342,84 @@ await orcha.exampleAgent.update(sessionId, {
342
342
  });
343
343
  ```
344
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
+
345
423
  For esbuild production applications, add `orchaPlugin()` from
346
424
  `orchajs/esbuild` to the existing build. It compiles the registry and replaces
347
425
  unchanged `orchajs` imports with the self-contained generated runtime. The
@@ -353,10 +431,12 @@ application continues to use its normal `npm run build` command.
353
431
 
354
432
  - [x] Registry compiler + `orcha build`
355
433
  - [x] Model Action Protocol — client actions and opt-in native/sandboxed local actions
356
- - [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
357
435
  - [x] Stateful sessions — Node JSONL replay and client-action pause/resume
358
- - [ ] `orcha.run()` one-shot entry point
359
- - [ ] 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
360
440
 
361
441
  See [`ROADMAP.md`](./ROADMAP.md) for what's coming after — evaluations,
362
442
  OpenTelemetry tracing, MCP interop adapters, and remote session storage remain
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, 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, 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,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,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"}
@@ -8,6 +8,7 @@ export declare class RuntimeAgent implements AgentRuntime {
8
8
  store: SessionStore;
9
9
  activeSessions: Set<string>;
10
10
  generateProviderResponse: ProviderResponseGenerator;
11
+ sessionIdPrefix?: string;
11
12
  });
12
13
  get clientTools(): CompiledActionManifest[];
13
14
  run(input: AgentInput | string): Execution;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAGZ,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EAGT,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EAGX,cAAc,EAEd,WAAW,EACX,kBAAkB,EAElB,eAAe,EACf,YAAY,EACZ,aAAa,EAId,MAAM,aAAa,CAAC;AAuBrB,qBAAa,YAAa,YAAW,YAAY;;gBAOnC,OAAO,EAAE;QACnB,QAAQ,EAAE,qBAAqB,CAAC;QAChC,aAAa,EAAE,oBAAoB,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,wBAAwB,EAAE,yBAAyB,CAAC;KACrD;IAQD,IAAI,WAAW,IAAI,sBAAsB,EAAE,CAI1C;IAED,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAsB1C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,SAAS;IAkClD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMhD,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAkBpB,IAAI,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwC5D,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,eAAe,CAAC;CA8tB5B"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,yBAAyB,EAG1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAGZ,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EAGT,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EAGX,cAAc,EAEd,WAAW,EACX,kBAAkB,EAElB,eAAe,EACf,YAAY,EACZ,aAAa,EAId,MAAM,aAAa,CAAC;AAuBrB,qBAAa,YAAa,YAAW,YAAY;;gBAQnC,OAAO,EAAE;QACnB,QAAQ,EAAE,qBAAqB,CAAC;QAChC,aAAa,EAAE,oBAAoB,CAAC;QACpC,KAAK,EAAE,YAAY,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,wBAAwB,EAAE,yBAAyB,CAAC;QACpD,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IASD,IAAI,WAAW,IAAI,sBAAsB,EAAE,CAI1C;IAED,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAsB1C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,SAAS;IAkClD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMhD,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAkBpB,IAAI,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwC5D,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,eAAe,CAAC;CA8tB5B"}
@@ -10,19 +10,21 @@ export class RuntimeAgent {
10
10
  #store;
11
11
  #activeSessions;
12
12
  #generateProviderResponse;
13
+ #sessionIdPrefix;
13
14
  constructor(options) {
14
15
  this.#manifest = options.manifest;
15
16
  this.#configuration = options.configuration;
16
17
  this.#store = options.store;
17
18
  this.#activeSessions = options.activeSessions;
18
19
  this.#generateProviderResponse = options.generateProviderResponse;
20
+ this.#sessionIdPrefix = options.sessionIdPrefix ?? "ses_";
19
21
  }
20
22
  get clientTools() {
21
23
  return Object.values(this.#manifest.actions ?? {}).filter((action) => action.execution === "client");
22
24
  }
23
25
  run(input) {
24
26
  const normalized = typeof input === "string" ? { content: input } : input;
25
- const sessionId = `ses_${randomUUID()}`;
27
+ const sessionId = `${this.#sessionIdPrefix}${randomUUID()}`;
26
28
  if (typeof normalized === "object" &&
27
29
  normalized !== null &&
28
30
  "sessionId" in normalized) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ProviderResponseGenerator } from "../providers/types.js";
2
+ import type { CompiledBundle, ProjectConfiguration } from "../types.js";
3
+ export interface OrchaRuntimeContext {
4
+ projectRoot: string;
5
+ registrations: Record<string, string>;
6
+ bundle: CompiledBundle;
7
+ configuration: ProjectConfiguration;
8
+ generateProviderResponse: ProviderResponseGenerator;
9
+ }
10
+ export declare function setOrchaRuntimeContext(client: object, context: OrchaRuntimeContext): void;
11
+ export declare function getOrchaRuntimeContext(client: object): OrchaRuntimeContext;
12
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,oBAAoB,CAAC;IACpC,wBAAwB,EAAE,yBAAyB,CAAC;CACrD;AAID,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CAEN;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GACb,mBAAmB,CAQrB"}
@@ -0,0 +1,12 @@
1
+ const contexts = new WeakMap();
2
+ export function setOrchaRuntimeContext(client, context) {
3
+ contexts.set(client, context);
4
+ }
5
+ export function getOrchaRuntimeContext(client) {
6
+ const context = contexts.get(client);
7
+ if (!context) {
8
+ throw new Error("runTests() requires an initialized Orcha client.");
9
+ }
10
+ return context;
11
+ }
12
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"AAcA,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA+B,CAAC;AAE5D,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAA4B;IAE5B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAc;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-orcha.d.ts","sourceRoot":"","sources":["../../src/runtime/create-orcha.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,WAAW,CAAC;IACzD,aAAa,IAAI,OAAO,CAAC;IACzB,kDAAkD;IAClD,iBAAiB,IAAI,cAAc,CAAC;CACrC;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAC3B,aAAa,EAAE,sBAAsB,KAClC,cAAc,CAAC;AAgGpB,wBAAgB,WAAW,CACzB,aAAa,EAAE,cAAc,EAC7B,wBAAwB,EAAE,yBAAyB,GAClD,WAAW,CAoBb"}
1
+ {"version":3,"file":"create-orcha.d.ts","sourceRoot":"","sources":["../../src/runtime/create-orcha.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,WAAW,CAAC;IACzD,aAAa,IAAI,OAAO,CAAC;IACzB,kDAAkD;IAClD,iBAAiB,IAAI,cAAc,CAAC;CACrC;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAC3B,aAAa,EAAE,sBAAsB,KAClC,cAAc,CAAC;AA2GpB,wBAAgB,WAAW,CACzB,aAAa,EAAE,cAAc,EAC7B,wBAAwB,EAAE,yBAAyB,GAClD,WAAW,CAoBb"}
@@ -1,6 +1,7 @@
1
1
  import { resolve } from "node:path";
2
2
  import { RuntimeAgent } from "./agent.js";
3
3
  import { NodeJsonlSessionStore } from "../storage/node-jsonl.js";
4
+ import { setOrchaRuntimeContext } from "./context.js";
4
5
  class OrchaRuntimeCore {
5
6
  #agents = new Map();
6
7
  #bundle;
@@ -16,7 +17,9 @@ class OrchaRuntimeCore {
16
17
  this.#client = client;
17
18
  }
18
19
  init(configuration) {
19
- const projectRoot = resolve(configuration.root ?? process.cwd());
20
+ const projectRoot = resolve(configuration.root ??
21
+ process.env.ORCHA_PROJECT_ROOT ??
22
+ process.cwd());
20
23
  const bundle = this.#resolveBundle(configuration);
21
24
  const runtimeConfiguration = {
22
25
  providers: Object.fromEntries(Object.entries(configuration.providers).map(([name, provider]) => [
@@ -51,6 +54,13 @@ class OrchaRuntimeCore {
51
54
  }
52
55
  this.#bundle = bundle;
53
56
  this.#agents = agents;
57
+ setOrchaRuntimeContext(this.#client, {
58
+ projectRoot,
59
+ registrations: { ...configuration.agents },
60
+ bundle,
61
+ configuration: runtimeConfiguration,
62
+ generateProviderResponse: this.#generateProviderResponse,
63
+ });
54
64
  return this.#client;
55
65
  }
56
66
  isInitialized() {
@@ -1 +1 @@
1
- {"version":3,"file":"create-orcha.js","sourceRoot":"","sources":["../../src/runtime/create-orcha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-orcha.js","sourceRoot":"","sources":["../../src/runtime/create-orcha.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { OrchaClient } from "./runtime/create-orcha.js";
2
+ import type { AgentTestRegistrations, AgentTestReport, RunTestsOptions } from "./types.js";
3
+ export declare function defineTests<const Registrations extends AgentTestRegistrations>(registrations: Registrations): Registrations;
4
+ export declare function runTests(orcha: OrchaClient, options?: RunTestsOptions): Promise<AgentTestReport>;
5
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,KAAK,EAMV,sBAAsB,EACtB,eAAe,EAIf,eAAe,EAEhB,MAAM,YAAY,CAAC;AAapB,wBAAgB,WAAW,CACzB,KAAK,CAAC,aAAa,SAAS,sBAAsB,EAClD,aAAa,EAAE,aAAa,GAAG,aAAa,CAE7C;AAED,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAmE1B"}
@@ -0,0 +1,444 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { existsSync } from "node:fs";
3
+ import { mkdir, readFile, rm } from "node:fs/promises";
4
+ import { isAbsolute, relative, resolve, sep, } from "node:path";
5
+ import { pathToFileURL } from "node:url";
6
+ import { build as bundleEntry } from "esbuild";
7
+ import { RuntimeAgent } from "./runtime/agent.js";
8
+ import { getOrchaRuntimeContext } from "./runtime/context.js";
9
+ import { SessionEventWriter } from "./runtime/session-events.js";
10
+ import { NodeJsonlSessionStore } from "./storage/node-jsonl.js";
11
+ export function defineTests(registrations) {
12
+ return registrations;
13
+ }
14
+ export async function runTests(orcha, options = {}) {
15
+ const context = getOrchaRuntimeContext(orcha);
16
+ const suiteId = `tst_${Date.now()}_${randomUUID()}`;
17
+ const startedAt = performance.now();
18
+ const registryBuildDirectory = resolve(context.projectRoot, ".orcha/.test-build", suiteId, "registries");
19
+ let cases;
20
+ try {
21
+ cases = await discoverTests(context.projectRoot, context.registrations, context.bundle.agents, options, registryBuildDirectory);
22
+ }
23
+ finally {
24
+ await rm(registryBuildDirectory, {
25
+ recursive: true,
26
+ force: true,
27
+ });
28
+ }
29
+ const reports = [];
30
+ const storageDirectory = context.configuration.storage?.directory ?? ".orcha/sessions";
31
+ const store = new NodeJsonlSessionStore(storageDirectory, context.projectRoot);
32
+ for (const testCase of cases) {
33
+ const manifest = context.bundle.agents[testCase.agent];
34
+ const agent = new RuntimeAgent({
35
+ manifest: withSimulatedActions(manifest),
36
+ configuration: context.configuration,
37
+ store,
38
+ activeSessions: new Set(),
39
+ generateProviderResponse: context.generateProviderResponse,
40
+ sessionIdPrefix: "ses_test_",
41
+ });
42
+ reports.push(await runTestCase(agent, store, testCase, suiteId, context.projectRoot, storageDirectory));
43
+ }
44
+ const passed = reports.filter((report) => report.status === "passed").length;
45
+ return {
46
+ suiteId,
47
+ status: passed === reports.length ? "passed" : "failed",
48
+ total: reports.length,
49
+ passed,
50
+ failed: reports.length - passed,
51
+ durationMs: Math.round(performance.now() - startedAt),
52
+ cases: reports,
53
+ };
54
+ }
55
+ async function discoverTests(projectRoot, registrations, manifests, options, registryBuildDirectory) {
56
+ if (options.agent && !manifests[options.agent]) {
57
+ throw new Error(`Unknown agent "${options.agent}".`);
58
+ }
59
+ const discovered = [];
60
+ const registryRoot = resolve(projectRoot, "orcha");
61
+ for (const [agentName, registeredPath] of Object.entries(registrations)) {
62
+ if (options.agent && options.agent !== agentName) {
63
+ continue;
64
+ }
65
+ const testsDirectory = resolve(registryRoot, registeredPath, "tests");
66
+ const registryPath = resolve(testsDirectory, "index.js");
67
+ if (!existsSync(registryPath)) {
68
+ continue;
69
+ }
70
+ const registrations = await loadTestRegistrations(registryPath, agentName, registryBuildDirectory);
71
+ for (const [testName, testPath] of Object.entries(registrations)) {
72
+ if (options.test && options.test !== testName) {
73
+ continue;
74
+ }
75
+ const sourceDirectory = resolve(testsDirectory, testPath);
76
+ assertInsideDirectory(testsDirectory, sourceDirectory, `Test "${agentName}/${testName}"`);
77
+ const configuration = await loadTestConfiguration(resolve(sourceDirectory, "index.json"), agentName, testName);
78
+ validateTestCase(agentName, testName, configuration, manifests[agentName]);
79
+ discovered.push({
80
+ agent: agentName,
81
+ name: testName,
82
+ configuration,
83
+ });
84
+ }
85
+ }
86
+ if (options.test && discovered.length === 0) {
87
+ const scope = options.agent
88
+ ? ` for agent "${options.agent}"`
89
+ : "";
90
+ throw new Error(`Unknown registered test "${options.test}"${scope}.`);
91
+ }
92
+ return discovered;
93
+ }
94
+ async function loadTestRegistrations(registryPath, agentName, registryBuildDirectory) {
95
+ let loaded;
96
+ const bundledRegistryPath = resolve(registryBuildDirectory, `${randomUUID()}.mjs`);
97
+ try {
98
+ await mkdir(registryBuildDirectory, { recursive: true });
99
+ await bundleEntry({
100
+ entryPoints: [registryPath],
101
+ outfile: bundledRegistryPath,
102
+ bundle: true,
103
+ format: "esm",
104
+ platform: "node",
105
+ target: "node20",
106
+ packages: "external",
107
+ logLevel: "silent",
108
+ });
109
+ const module = (await import(`${pathToFileURL(bundledRegistryPath).href}?time=${Date.now()}`));
110
+ loaded = module.default;
111
+ }
112
+ catch (error) {
113
+ throw new Error(`Agent "${agentName}" has an invalid tests/index.js.`, { cause: error });
114
+ }
115
+ finally {
116
+ await rm(bundledRegistryPath, { force: true });
117
+ }
118
+ if (!isRecord(loaded)) {
119
+ throw new Error(`Agent "${agentName}" tests/index.js must default export an object.`);
120
+ }
121
+ const registrations = {};
122
+ for (const [name, path] of Object.entries(loaded)) {
123
+ if (!name.trim()) {
124
+ throw new Error(`Agent "${agentName}" has an empty registered test name.`);
125
+ }
126
+ if (typeof path !== "string" || !path.trim()) {
127
+ throw new Error(`Test "${agentName}/${name}" must register a folder path.`);
128
+ }
129
+ registrations[name] = path;
130
+ }
131
+ return registrations;
132
+ }
133
+ async function loadTestConfiguration(path, agentName, testName) {
134
+ try {
135
+ return JSON.parse(await readFile(path, "utf8"));
136
+ }
137
+ catch (error) {
138
+ throw new Error(`Test "${agentName}/${testName}" is missing a valid index.json at ${path}.`, { cause: error });
139
+ }
140
+ }
141
+ function validateTestCase(agentName, testName, configuration, manifest) {
142
+ const label = `Test "${agentName}/${testName}"`;
143
+ if (!isRecord(configuration)) {
144
+ throw new Error(`${label} configuration must be an object.`);
145
+ }
146
+ if (!isRecord(configuration.input) ||
147
+ !("content" in configuration.input)) {
148
+ throw new Error(`${label} requires input.content.`);
149
+ }
150
+ if (!isRecord(configuration.actions)) {
151
+ throw new Error(`${label} requires an actions object.`);
152
+ }
153
+ if (!isRecord(configuration.expect)) {
154
+ throw new Error(`${label} requires an expect object.`);
155
+ }
156
+ const agentActions = Object.keys(manifest.actions).sort();
157
+ const testActions = Object.keys(configuration.actions).sort();
158
+ const missing = agentActions.filter((name) => !testActions.includes(name));
159
+ const unknown = testActions.filter((name) => !agentActions.includes(name));
160
+ if (missing.length > 0 || unknown.length > 0) {
161
+ const details = [
162
+ missing.length > 0
163
+ ? `missing actions: ${missing.join(", ")}`
164
+ : "",
165
+ unknown.length > 0
166
+ ? `unknown actions: ${unknown.join(", ")}`
167
+ : "",
168
+ ].filter(Boolean);
169
+ throw new Error(`${label} actions must exactly match the agent actions (${details.join("; ")}).`);
170
+ }
171
+ for (const [name, action] of Object.entries(configuration.actions)) {
172
+ validateTestAction(label, name, action);
173
+ }
174
+ validateExpectation(label, configuration.expect);
175
+ const expectedActions = configuration.expect.actions;
176
+ if (Array.isArray(expectedActions)) {
177
+ for (const expectedAction of expectedActions) {
178
+ if (!manifest.actions[expectedAction.name]) {
179
+ throw new Error(`${label} expects unknown action "${expectedAction.name}".`);
180
+ }
181
+ }
182
+ }
183
+ }
184
+ function validateTestAction(label, name, action) {
185
+ if (!isRecord(action) || !Array.isArray(action.responses)) {
186
+ throw new Error(`${label} action "${name}" requires a responses array.`);
187
+ }
188
+ for (const [index, response] of action.responses.entries()) {
189
+ if (!isRecord(response) || !("output" in response)) {
190
+ throw new Error(`${label} action "${name}" response ${index + 1} requires output.`);
191
+ }
192
+ }
193
+ }
194
+ function validateExpectation(label, expectation) {
195
+ if (expectation.status !== undefined &&
196
+ expectation.status !== "completed" &&
197
+ expectation.status !== "failed") {
198
+ throw new Error(`${label} has an invalid expected status.`);
199
+ }
200
+ if (expectation.output) {
201
+ validateValueExpectation(label, "expect.output", expectation.output);
202
+ }
203
+ if (expectation.text) {
204
+ for (const field of ["contains", "excludes"]) {
205
+ const values = expectation.text[field];
206
+ if (values !== undefined &&
207
+ (!Array.isArray(values) ||
208
+ values.some((value) => typeof value !== "string"))) {
209
+ throw new Error(`${label} ${field} must be an array of strings.`);
210
+ }
211
+ }
212
+ }
213
+ if (expectation.actions !== undefined &&
214
+ !Array.isArray(expectation.actions)) {
215
+ throw new Error(`${label} expect.actions must be an array.`);
216
+ }
217
+ for (const [index, action] of (expectation.actions ?? []).entries()) {
218
+ if (!isRecord(action) || typeof action.name !== "string") {
219
+ throw new Error(`${label} expected action ${index + 1} requires a name.`);
220
+ }
221
+ if (action.arguments) {
222
+ validateValueExpectation(label, `expect.actions[${index}].arguments`, action.arguments);
223
+ }
224
+ }
225
+ }
226
+ function validateValueExpectation(label, path, expectation) {
227
+ if (!isRecord(expectation)) {
228
+ throw new Error(`${label} ${path} must be an object.`);
229
+ }
230
+ const hasEquals = "equals" in expectation;
231
+ const hasPartial = "partial" in expectation;
232
+ if (hasEquals === hasPartial) {
233
+ throw new Error(`${label} ${path} requires exactly one of equals or partial.`);
234
+ }
235
+ }
236
+ function withSimulatedActions(manifest) {
237
+ return {
238
+ ...manifest,
239
+ actions: Object.fromEntries(Object.entries(manifest.actions).map(([name, action]) => [
240
+ name,
241
+ {
242
+ ...action,
243
+ execution: "client",
244
+ source: undefined,
245
+ sourceHash: undefined,
246
+ },
247
+ ])),
248
+ };
249
+ }
250
+ async function runTestCase(agent, store, testCase, suiteId, projectRoot, storageDirectory) {
251
+ const startedAt = performance.now();
252
+ const actionIndexes = new Map();
253
+ const actionNames = Object.keys(testCase.configuration.actions);
254
+ let result = await agent.run({
255
+ ...testCase.configuration.input,
256
+ name: `${testCase.agent}/${testCase.name}`,
257
+ metadata: {
258
+ ...testCase.configuration.input.metadata,
259
+ orchaTest: true,
260
+ testAgent: testCase.agent,
261
+ testCase: testCase.name,
262
+ },
263
+ clientCapabilities: actionNames,
264
+ }).result;
265
+ let fixtureError;
266
+ while (result.status === "waiting_for_client_action") {
267
+ const toolResults = [];
268
+ for (const call of result.clientToolCalls) {
269
+ const action = testCase.configuration.actions[call.name];
270
+ const index = actionIndexes.get(call.name) ?? 0;
271
+ const response = action?.responses[index];
272
+ if (!response) {
273
+ fixtureError =
274
+ `Action "${call.name}" has no configured response for call ${index + 1}.`;
275
+ break;
276
+ }
277
+ actionIndexes.set(call.name, index + 1);
278
+ toolResults.push({
279
+ callId: call.callId,
280
+ output: response.output,
281
+ });
282
+ }
283
+ if (fixtureError) {
284
+ break;
285
+ }
286
+ result = await agent.resume(result.sessionId, {
287
+ toolResults,
288
+ }).result;
289
+ }
290
+ const events = await store.read(result.sessionId);
291
+ const actualActions = actionCallsFromEvents(events);
292
+ const assertions = evaluateAssertions(testCase.configuration, result, actualActions);
293
+ if (fixtureError) {
294
+ assertions.unshift({
295
+ path: "actions",
296
+ passed: false,
297
+ message: fixtureError,
298
+ });
299
+ }
300
+ const passed = assertions.every((assertion) => assertion.passed);
301
+ const report = {
302
+ agent: testCase.agent,
303
+ name: testCase.name,
304
+ description: testCase.configuration.description,
305
+ status: passed ? "passed" : "failed",
306
+ sessionId: result.sessionId,
307
+ sessionPath: relative(projectRoot, resolve(projectRoot, storageDirectory, `${result.sessionId}.jsonl`)),
308
+ durationMs: Math.round(performance.now() - startedAt),
309
+ ...("usage" in result && result.usage
310
+ ? { usage: result.usage }
311
+ : {}),
312
+ assertions,
313
+ ...(result.status === "failed"
314
+ ? { error: result.error }
315
+ : {}),
316
+ };
317
+ const writer = new SessionEventWriter(result.sessionId, events);
318
+ await store.append(result.sessionId, [
319
+ writer.create("test.completed", {
320
+ suiteId,
321
+ agent: report.agent,
322
+ test: report.name,
323
+ status: report.status,
324
+ durationMs: report.durationMs,
325
+ assertions: report.assertions,
326
+ ...(report.usage ? { usage: report.usage } : {}),
327
+ ...(report.error ? { error: report.error } : {}),
328
+ }, "session"),
329
+ ]);
330
+ return report;
331
+ }
332
+ function actionCallsFromEvents(events) {
333
+ return events.flatMap((event) => {
334
+ if (event.type !== "client_action.requested" ||
335
+ !Array.isArray(event.data.calls)) {
336
+ return [];
337
+ }
338
+ return event.data.calls.flatMap((call) => isRecord(call) &&
339
+ typeof call.name === "string" &&
340
+ isRecord(call.arguments)
341
+ ? [
342
+ {
343
+ name: call.name,
344
+ arguments: call.arguments,
345
+ },
346
+ ]
347
+ : []);
348
+ });
349
+ }
350
+ function evaluateAssertions(configuration, result, actualActions) {
351
+ const assertions = [];
352
+ const expectedStatus = configuration.expect.status ?? "completed";
353
+ assertions.push(assertion("status", result.status === expectedStatus, `Expected status "${expectedStatus}", received "${result.status}".`, expectedStatus, result.status));
354
+ if (configuration.expect.output) {
355
+ const actual = result.status === "completed" ||
356
+ result.status === "waiting_for_client_action"
357
+ ? result.output
358
+ : undefined;
359
+ assertions.push(evaluateValue("output", configuration.expect.output, actual));
360
+ }
361
+ if (configuration.expect.text) {
362
+ const actual = result.status === "completed" &&
363
+ typeof result.output === "string"
364
+ ? result.output
365
+ : "";
366
+ for (const value of configuration.expect.text.contains ?? []) {
367
+ assertions.push(assertion("text.contains", actual.includes(value), `Expected output text to contain ${JSON.stringify(value)}.`, value, actual));
368
+ }
369
+ for (const value of configuration.expect.text.excludes ?? []) {
370
+ assertions.push(assertion("text.excludes", !actual.includes(value), `Expected output text not to contain ${JSON.stringify(value)}.`, value, actual));
371
+ }
372
+ }
373
+ if (configuration.expect.actions) {
374
+ assertions.push(assertion("actions.length", actualActions.length ===
375
+ configuration.expect.actions.length, `Expected ${configuration.expect.actions.length} action calls, received ${actualActions.length}.`, configuration.expect.actions.length, actualActions.length));
376
+ for (const [index, expected,] of configuration.expect.actions.entries()) {
377
+ const actual = actualActions[index];
378
+ assertions.push(assertion(`actions[${index}].name`, actual?.name === expected.name, `Expected action ${index + 1} to be "${expected.name}".`, expected.name, actual?.name));
379
+ if (expected.arguments) {
380
+ assertions.push(evaluateValue(`actions[${index}].arguments`, expected.arguments, actual?.arguments));
381
+ }
382
+ }
383
+ }
384
+ return assertions;
385
+ }
386
+ function evaluateValue(path, expectation, actual) {
387
+ if ("equals" in expectation) {
388
+ return assertion(path, deepEqual(expectation.equals, actual), `Expected ${path} to equal the configured value.`, expectation.equals, actual);
389
+ }
390
+ return assertion(path, deepPartial(expectation.partial, actual), `Expected ${path} to include the configured partial value.`, expectation.partial, actual);
391
+ }
392
+ function assertion(path, passed, message, expected, actual) {
393
+ return {
394
+ path,
395
+ passed,
396
+ message: passed ? "Passed." : message,
397
+ ...(expected !== undefined ? { expected } : {}),
398
+ ...(actual !== undefined ? { actual } : {}),
399
+ };
400
+ }
401
+ function deepEqual(expected, actual) {
402
+ if (Object.is(expected, actual)) {
403
+ return true;
404
+ }
405
+ if (Array.isArray(expected) && Array.isArray(actual)) {
406
+ return (expected.length === actual.length &&
407
+ expected.every((item, index) => deepEqual(item, actual[index])));
408
+ }
409
+ if (isRecord(expected) && isRecord(actual)) {
410
+ const expectedKeys = Object.keys(expected);
411
+ const actualKeys = Object.keys(actual);
412
+ return (expectedKeys.length === actualKeys.length &&
413
+ expectedKeys.every((key) => Object.hasOwn(actual, key) &&
414
+ deepEqual(expected[key], actual[key])));
415
+ }
416
+ return false;
417
+ }
418
+ function deepPartial(expected, actual) {
419
+ if (isRecord(expected)) {
420
+ return (isRecord(actual) &&
421
+ Object.entries(expected).every(([key, value]) => Object.hasOwn(actual, key) &&
422
+ deepPartial(value, actual[key])));
423
+ }
424
+ if (Array.isArray(expected)) {
425
+ return (Array.isArray(actual) &&
426
+ expected.length <= actual.length &&
427
+ expected.every((item, index) => deepPartial(item, actual[index])));
428
+ }
429
+ return Object.is(expected, actual);
430
+ }
431
+ function assertInsideDirectory(parent, child, label) {
432
+ const path = relative(parent, child);
433
+ if (path === ".." ||
434
+ path.startsWith(`..${sep}`) ||
435
+ isAbsolute(path)) {
436
+ throw new Error(`${label} path must stay inside its tests directory.`);
437
+ }
438
+ }
439
+ function isRecord(value) {
440
+ return (typeof value === "object" &&
441
+ value !== null &&
442
+ !Array.isArray(value));
443
+ }
444
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -181,7 +181,7 @@ export interface ToolResumeInput {
181
181
  toolResults: ToolResult[];
182
182
  }
183
183
  export type ResumeInput = string | AgentContinueInput | ToolResumeInput;
184
- export type SessionEventType = "session.created" | "session.updated" | "run.started" | "message.created" | "action.requested" | "action.completed" | "action.failed" | "client_action.requested" | "client_action.resolved" | "run.paused" | "run.completed" | "run.failed";
184
+ export type SessionEventType = "session.created" | "session.updated" | "run.started" | "message.created" | "action.requested" | "action.completed" | "action.failed" | "client_action.requested" | "client_action.resolved" | "run.paused" | "run.completed" | "run.failed" | "test.completed";
185
185
  export interface SessionEvent<TData = Record<string, unknown>> {
186
186
  sequence: number;
187
187
  type: SessionEventType;
@@ -257,4 +257,72 @@ export interface AgentRuntime {
257
257
  list(options?: SessionListOptions): Promise<SessionList>;
258
258
  update(sessionId: string, update: SessionUpdate): Promise<SessionSnapshot>;
259
259
  }
260
+ export type AgentTestRegistrations = Record<string, string>;
261
+ export interface AgentTestActionResponse {
262
+ output: unknown;
263
+ isError?: boolean;
264
+ }
265
+ export interface AgentTestActionConfiguration {
266
+ responses: AgentTestActionResponse[];
267
+ }
268
+ export interface AgentTestValueExpectation {
269
+ equals?: unknown;
270
+ partial?: unknown;
271
+ }
272
+ export interface AgentTestTextExpectation {
273
+ contains?: string[];
274
+ excludes?: string[];
275
+ }
276
+ export interface AgentTestActionExpectation {
277
+ name: string;
278
+ arguments?: AgentTestValueExpectation;
279
+ }
280
+ export interface AgentTestExpectation {
281
+ status?: "completed" | "failed";
282
+ output?: AgentTestValueExpectation;
283
+ text?: AgentTestTextExpectation;
284
+ actions?: AgentTestActionExpectation[];
285
+ }
286
+ export interface AgentTestCaseConfiguration {
287
+ description?: string;
288
+ input: {
289
+ content: string | MessageContent[];
290
+ variables?: Record<string, string>;
291
+ metadata?: SessionMetadata;
292
+ };
293
+ actions: Record<string, AgentTestActionConfiguration>;
294
+ expect: AgentTestExpectation;
295
+ }
296
+ export interface AgentTestAssertionResult {
297
+ path: string;
298
+ passed: boolean;
299
+ message: string;
300
+ expected?: unknown;
301
+ actual?: unknown;
302
+ }
303
+ export interface AgentTestCaseReport {
304
+ agent: string;
305
+ name: string;
306
+ description?: string;
307
+ status: "passed" | "failed";
308
+ sessionId?: string;
309
+ sessionPath?: string;
310
+ durationMs: number;
311
+ usage?: Usage;
312
+ assertions: AgentTestAssertionResult[];
313
+ error?: RunError;
314
+ }
315
+ export interface AgentTestReport {
316
+ suiteId: string;
317
+ status: "passed" | "failed";
318
+ total: number;
319
+ passed: number;
320
+ failed: number;
321
+ durationMs: number;
322
+ cases: AgentTestCaseReport[];
323
+ }
324
+ export interface RunTestsOptions {
325
+ agent?: string;
326
+ test?: string;
327
+ }
260
328
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orchajs",
3
- "version": "0.1.0-next.8",
3
+ "version": "0.1.0",
4
4
  "description": "A filesystem-convention, stateful agent framework for JavaScript.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,6 +22,10 @@
22
22
  "./esbuild": {
23
23
  "types": "./dist/integrations/esbuild.d.ts",
24
24
  "import": "./dist/integrations/esbuild.js"
25
+ },
26
+ "./testing": {
27
+ "types": "./dist/testing.d.ts",
28
+ "import": "./dist/testing.js"
25
29
  }
26
30
  },
27
31
  "bin": {
@@ -58,5 +62,10 @@
58
62
  "@changesets/cli": "^2.31.1",
59
63
  "@types/node": "^24.3.1",
60
64
  "typescript": "^5.9.2"
65
+ },
66
+ "overrides": {
67
+ "@changesets/write": {
68
+ "human-id": "4.1.1"
69
+ }
61
70
  }
62
71
  }