@axiastudio/aioc 0.2.6 → 0.2.8
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 +74 -27
- package/dist/run-record-utils.d.ts.map +1 -1
- package/dist/run-record-utils.js +14 -2
- package/package.json +24 -19
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Its core job is to make agent execution boundaries explicit, testable, auditable
|
|
|
23
23
|
|
|
24
24
|
## Release Status
|
|
25
25
|
|
|
26
|
-
Current stable release: `0.2.
|
|
26
|
+
Current stable release: `0.2.8`.
|
|
27
27
|
The stable line started with `0.1.0`.
|
|
28
28
|
The core runtime surface is compatibility-managed. Breaking changes to the stable surface should ship only with explicit migration guidance and release notes.
|
|
29
29
|
|
|
@@ -40,16 +40,26 @@ AIOC `0.2.3` adds RFC-0010 policy composition helpers for exact-name tool and ha
|
|
|
40
40
|
AIOC `0.2.4` adds experimental governance-event packages and an OpenTelemetry Logs exporter for reduced, operational observability events derived from `RunRecord` values.
|
|
41
41
|
AIOC `0.2.5` makes replay history-faithful by recording the initial input scope in `RunRecord` and replaying from it by default.
|
|
42
42
|
AIOC `0.2.6` adds descriptor-level conditional agent handoffs with boolean `where` gates that filter handoff tools before provider requests.
|
|
43
|
+
AIOC `0.2.7` adds run-regression suite utilities and the experimental
|
|
44
|
+
`@axiastudio/aioc-regression-judge` companion package for bounded LLM judge
|
|
45
|
+
inputs and structured judge results.
|
|
46
|
+
AIOC `0.2.8` fixes replay agent cloning so strict and hybrid replay preserve
|
|
47
|
+
conditional handoff rules and expose enabled `handoff_to_*` tools.
|
|
43
48
|
|
|
44
49
|
### Experimental Packages
|
|
45
50
|
|
|
51
|
+
`@axiastudio/aioc-regression-judge` implements the RFC-0012 companion judge
|
|
52
|
+
helpers outside the core runtime package. It builds bounded judge inputs for
|
|
53
|
+
run-regression suites and parses structured `RunJudgeResult` outputs while the
|
|
54
|
+
host application owns the model invocation.
|
|
55
|
+
|
|
46
56
|
`@axiastudio/aioc-governance-events` implements the RFC-0009 governance-event
|
|
47
57
|
mapper outside the core runtime package. It derives reduced, redacted,
|
|
48
58
|
event-shaped records from `RunRecord` values.
|
|
49
59
|
|
|
50
60
|
`@axiastudio/aioc-export-otel` maps those governance events to OpenTelemetry
|
|
51
|
-
Logs.
|
|
52
|
-
|
|
61
|
+
Logs. These packages remain experimental while real usage validates their
|
|
62
|
+
schemas and operational shape.
|
|
53
63
|
|
|
54
64
|
- Release notes: `CHANGELOG.md`
|
|
55
65
|
- Historical beta contract snapshot: `docs/BETA-CONTRACT.md`
|
|
@@ -152,9 +162,18 @@ The Agent Harness Descriptor is included in the supported `0.2.x` API surface as
|
|
|
152
162
|
## Policy Gate (Minimal)
|
|
153
163
|
|
|
154
164
|
```ts
|
|
155
|
-
import {
|
|
156
|
-
|
|
157
|
-
|
|
165
|
+
import {
|
|
166
|
+
Agent,
|
|
167
|
+
allow,
|
|
168
|
+
deny,
|
|
169
|
+
run,
|
|
170
|
+
tool,
|
|
171
|
+
type ToolPolicy,
|
|
172
|
+
} from "@axiastudio/aioc";
|
|
173
|
+
|
|
174
|
+
const toolPolicy: ToolPolicy<{ actor: { groups: string[] } }> = ({
|
|
175
|
+
runContext,
|
|
176
|
+
}) => {
|
|
158
177
|
if (!runContext.context.actor.groups.includes("finance")) {
|
|
159
178
|
return deny("deny_missing_finance_group", {
|
|
160
179
|
resultMode: "tool_result",
|
|
@@ -216,7 +235,13 @@ console.log(calls[0]?.name, calls[0]?.argsHash, calls[0]?.hasOutput);
|
|
|
216
235
|
import { compareRunRecords } from "@axiastudio/aioc";
|
|
217
236
|
|
|
218
237
|
const comparison = compareRunRecords(runRecordA, runRecordB, {
|
|
219
|
-
includeSections: [
|
|
238
|
+
includeSections: [
|
|
239
|
+
"response",
|
|
240
|
+
"toolCalls",
|
|
241
|
+
"policy",
|
|
242
|
+
"guardrails",
|
|
243
|
+
"metadata",
|
|
244
|
+
],
|
|
220
245
|
responseMatchMode: "exact",
|
|
221
246
|
});
|
|
222
247
|
|
|
@@ -246,6 +271,9 @@ console.log(replay.replayStats);
|
|
|
246
271
|
```
|
|
247
272
|
|
|
248
273
|
`replayFromRunRecord(...)` does not bypass policy enforcement: in `strict` and `hybrid`, provide `runOptions.policies` when tool/handoff execution must be authorized.
|
|
274
|
+
Strict and hybrid replay preserve conditional handoff rules from the source
|
|
275
|
+
agent, so enabled handoffs remain visible to the provider as `handoff_to_*`
|
|
276
|
+
tools during replay.
|
|
249
277
|
|
|
250
278
|
## Reference UI Example
|
|
251
279
|
|
|
@@ -266,34 +294,52 @@ This repository also contains `aioc-inspect`, a private reference example UI for
|
|
|
266
294
|
|
|
267
295
|
Suggested reading path: start with `example:hello`, then policy, approval,
|
|
268
296
|
tool-policy, and policy-composition. Use run-record and harness examples after
|
|
269
|
-
the basics; `example:non-regression
|
|
270
|
-
workflows.
|
|
271
|
-
|
|
272
|
-
| Command
|
|
273
|
-
|
|
274
|
-
| `npm run example:hello`
|
|
275
|
-
| `npm run example:policy`
|
|
276
|
-
| `npm run example:approval-required`
|
|
277
|
-
| `npm run example:approval-evidence`
|
|
278
|
-
| `npm run example:tool-policy`
|
|
279
|
-
| `npm run example:policy-composition`
|
|
280
|
-
| `npm run example:harness-rerun`
|
|
281
|
-
| `npm run example:run-record`
|
|
282
|
-
| `npm run example:rru:01-extract`
|
|
283
|
-
| `npm run example:rru:02-compare`
|
|
284
|
-
| `npm run example:rru:03-replay-strict` | Minimal strict replay
|
|
285
|
-
| `npm run example:rru:04-replay-hybrid` | Minimal hybrid replay
|
|
286
|
-
| `npm run example:non-regression`
|
|
287
|
-
| `npm run example:run-regression`
|
|
297
|
+
the basics; `example:non-regression`, `example:run-regression`, and
|
|
298
|
+
`example:run-regression-judge` are advanced workflows.
|
|
299
|
+
|
|
300
|
+
| Command | Purpose | Needs API key |
|
|
301
|
+
| -------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------- |
|
|
302
|
+
| `npm run example:hello` | Minimal single-agent run | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
303
|
+
| `npm run example:policy` | Minimal denied tool + policy flow | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
304
|
+
| `npm run example:approval-required` | Minimal approval-required tool + policy flow | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
305
|
+
| `npm run example:approval-evidence` | Approval evidence passed through context and reevaluated by policy | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
306
|
+
| `npm run example:tool-policy` | Straight tool + policy flow with allowed execution | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
307
|
+
| `npm run example:policy-composition` | Exact-name tool policy dispatch with fallback deny | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
308
|
+
| `npm run example:harness-rerun` | Replay against a modified harness with a mocked new tool output | Yes (`OPENAI_API_KEY`) |
|
|
309
|
+
| `npm run example:run-record` | Run-record persistence with redaction + audit | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
310
|
+
| `npm run example:rru:01-extract` | Minimal `extractToolCalls(...)` | No |
|
|
311
|
+
| `npm run example:rru:02-compare` | Minimal `compareRunRecords(...)` | No |
|
|
312
|
+
| `npm run example:rru:03-replay-strict` | Minimal strict replay | No |
|
|
313
|
+
| `npm run example:rru:04-replay-hybrid` | Minimal hybrid replay | No |
|
|
314
|
+
| `npm run example:non-regression` | Advanced v1/v2 run-record diff | Yes (`AIOC_EXAMPLE_PROVIDER` + matching provider API key) |
|
|
315
|
+
| `npm run example:run-regression` | Local `runRegressionSuite(...)` over a modified harness | Yes (`OPENAI_API_KEY`) |
|
|
316
|
+
| `npm run example:run-regression-judge` | Local `runRegressionSuite(...)` with an LLM judge | Yes (`OPENAI_API_KEY`) |
|
|
288
317
|
|
|
289
318
|
Notes:
|
|
290
319
|
|
|
291
320
|
- for live-provider examples, set `AIOC_EXAMPLE_PROVIDER` to `openai` or `mistral`; the matching API key must also be available
|
|
292
|
-
- `example:harness-rerun` and `example:run-regression` configure OpenAI directly from `OPENAI_API_KEY`;
|
|
321
|
+
- `example:harness-rerun`, `example:run-regression`, and `example:run-regression-judge` configure OpenAI directly from `OPENAI_API_KEY`; harness models are declared in YAML descriptors
|
|
293
322
|
- run-record utility examples are deterministic and do not need a provider
|
|
294
323
|
- `example:non-regression` is educational and can be non-deterministic because it uses a live provider.
|
|
295
324
|
- canonical examples guide: `docs/CANONICAL-EXAMPLES.md`.
|
|
296
325
|
|
|
326
|
+
### Optional LangChain Examples
|
|
327
|
+
|
|
328
|
+
Optional LangChain interoperability examples live in `examples/langchain`.
|
|
329
|
+
They use their own `package.json` so LangChain dependencies do not become
|
|
330
|
+
dependencies of the core `@axiastudio/aioc` runtime package.
|
|
331
|
+
|
|
332
|
+
They demonstrate three composition patterns:
|
|
333
|
+
|
|
334
|
+
- **aioc-first, LangChain-extended**: aioc owns the governed agent run while
|
|
335
|
+
LangChain provides OSS components behind aioc tools, such as retrieval.
|
|
336
|
+
- **LangGraph-orchestrated, aioc-governed**: LangGraph owns workflow
|
|
337
|
+
orchestration while selected graph nodes call aioc for policy-gated execution
|
|
338
|
+
and portable audit evidence.
|
|
339
|
+
- **LangGraph-orchestrated, aioc-recorded**: LangGraph remains the primary
|
|
340
|
+
orchestrator while a local RFC-0013 prototype emits a graph-level
|
|
341
|
+
`RunRecord` around the compiled graph.
|
|
342
|
+
|
|
297
343
|
## Test Commands
|
|
298
344
|
|
|
299
345
|
- `npm run test:unit`
|
|
@@ -325,6 +371,7 @@ AIOC adopts the following non-negotiable principles:
|
|
|
325
371
|
- `docs/RFC-0009-governance-events-and-exporters.md` (`Experimental`)
|
|
326
372
|
- `docs/RFC-0010-policy-composition-helpers.md` (`Accepted`)
|
|
327
373
|
- `docs/RFC-0011-agent-harness-descriptor.md` (`Accepted`)
|
|
374
|
+
- `docs/RFC-0012-run-regression-suites-and-llm-judging.md` (`Accepted`)
|
|
328
375
|
- `docs/PRIVACY-BASELINE.md`
|
|
329
376
|
|
|
330
377
|
## Historical Snapshots
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-record-utils.d.ts","sourceRoot":"","sources":["../src/run-record-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"run-record-utils.d.ts","sourceRoot":"","sources":["../src/run-record-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAC;AAGnD,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,cAAc,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsBD,wBAAgB,gBAAgB,CAAC,QAAQ,EACvC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,GACzB,iBAAiB,EAAE,CAAC;AAEvB,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAC;AA+C/E,MAAM,MAAM,0BAA0B,GAClC,UAAU,GACV,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,WAAW,wBAAwB;IACvC,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC/C,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,0BAA0B,CAAC;IACpC,OAAO,EAAE,0BAA0B,CAAC;IACpC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AA4FD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EACpD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EAC1B,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE,wBAAwB,GACjC,mBAAmB,CAwKrB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,UAAU,CAAC;AAEf,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG,CACzC,KAAK,EAAE,0BAA0B,KAC9B,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB,CAAC,QAAQ,GAAG,OAAO;IAC1D,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO;IAC3D,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAqVD,wBAAsB,mBAAmB,CAAC,QAAQ,GAAG,OAAO,EAC1D,KAAK,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAmE9C"}
|
package/dist/run-record-utils.js
CHANGED
|
@@ -424,9 +424,21 @@ function cloneAgentWithReplayedTools(sourceAgent, mode, queues, replayStats, onM
|
|
|
424
424
|
},
|
|
425
425
|
};
|
|
426
426
|
});
|
|
427
|
-
const
|
|
427
|
+
const wrappedHandoffRules = sourceAgent.handoffRules.map((handoffRule) => {
|
|
428
|
+
const clonedHandoffAgent = cloneAgentWithReplayedTools(handoffRule.agent, mode, queues, replayStats, onMissingToolCall, cache);
|
|
429
|
+
if (handoffRule.enabled) {
|
|
430
|
+
return {
|
|
431
|
+
agent: clonedHandoffAgent,
|
|
432
|
+
enabled: handoffRule.enabled,
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
return {
|
|
436
|
+
agent: clonedHandoffAgent,
|
|
437
|
+
};
|
|
438
|
+
});
|
|
428
439
|
cloned.tools = wrappedTools;
|
|
429
|
-
cloned.
|
|
440
|
+
cloned.handoffRules = wrappedHandoffRules;
|
|
441
|
+
cloned.handoffs = wrappedHandoffRules.map((rule) => rule.agent);
|
|
430
442
|
return cloned;
|
|
431
443
|
}
|
|
432
444
|
async function resolveReplayAgent(input) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axiastudio/aioc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -14,41 +14,46 @@
|
|
|
14
14
|
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
15
15
|
"build": "tsc -p tsconfig.json",
|
|
16
16
|
"build:package": "npm run clean && tsc -p tsconfig.build.json",
|
|
17
|
+
"examples:check": "tsc -p tsconfig.examples.json --noEmit",
|
|
17
18
|
"lint": "eslint ./src --ext .ts",
|
|
18
19
|
"test:unit": "npm run build && node dist/tests/unit/index.js",
|
|
19
20
|
"test:integration": "npm run build && node dist/tests/integration/index.js",
|
|
20
21
|
"test:regression": "npm run build && node dist/tests/regression/index.js",
|
|
21
22
|
"test:ci": "npm run lint && npm run build && node dist/tests/unit/index.js && node dist/tests/integration/index.js && node dist/tests/regression/index.js",
|
|
22
23
|
"test:ci:stability": "npm run test:ci && npm run test:ci",
|
|
23
|
-
"example:hello": "tsx
|
|
24
|
-
"example:policy": "tsx
|
|
25
|
-
"example:approval-required": "tsx
|
|
26
|
-
"example:approval-evidence": "tsx
|
|
27
|
-
"example:tool-policy": "tsx
|
|
28
|
-
"example:policy-composition": "tsx
|
|
29
|
-
"example:harness": "tsx
|
|
30
|
-
"example:harness-rerun": "tsx
|
|
31
|
-
"example:run-record": "tsx
|
|
32
|
-
"example:rru:01-extract": "tsx
|
|
33
|
-
"example:rru:02-compare": "tsx
|
|
34
|
-
"example:rru:03-replay-strict": "tsx
|
|
35
|
-
"example:rru:04-replay-hybrid": "tsx
|
|
36
|
-
"example:non-regression": "tsx
|
|
37
|
-
"example:run-regression": "tsx
|
|
24
|
+
"example:hello": "tsx examples/core/basic/hello-world.ts",
|
|
25
|
+
"example:policy": "tsx examples/core/basic/policy.ts",
|
|
26
|
+
"example:approval-required": "tsx examples/core/basic/approval-required.ts",
|
|
27
|
+
"example:approval-evidence": "tsx examples/core/basic/approval-evidence.ts",
|
|
28
|
+
"example:tool-policy": "tsx examples/core/basic/tools.ts",
|
|
29
|
+
"example:policy-composition": "tsx examples/core/basic/policy-composition.ts",
|
|
30
|
+
"example:harness": "tsx examples/core/harness-descriptor/customer-support.ts",
|
|
31
|
+
"example:harness-rerun": "tsx examples/core/harness-descriptor/rerun-modified-harness.ts",
|
|
32
|
+
"example:run-record": "tsx examples/core/basic/run-record-sink.ts",
|
|
33
|
+
"example:rru:01-extract": "tsx examples/core/run-record-utils-minimal/01-extract-tool-calls.ts",
|
|
34
|
+
"example:rru:02-compare": "tsx examples/core/run-record-utils-minimal/02-compare-run-records.ts",
|
|
35
|
+
"example:rru:03-replay-strict": "tsx examples/core/run-record-utils-minimal/03-replay-strict.ts",
|
|
36
|
+
"example:rru:04-replay-hybrid": "tsx examples/core/run-record-utils-minimal/04-replay-hybrid.ts",
|
|
37
|
+
"example:non-regression": "tsx examples/core/non-regression/v1-v2-runrecord-diff.ts",
|
|
38
|
+
"example:run-regression": "tsx examples/core/run-regression/age-adapted-suite.ts",
|
|
39
|
+
"example:run-regression-judge": "npm run regression-judge:build && tsx packages/aioc-regression-judge/examples/age-adapted-suite-with-judge.ts",
|
|
40
|
+
"example:self-harness": "npm run regression-judge:build && tsx examples/self-harness/phase-1.ts",
|
|
38
41
|
"inspect:samples": "tsx scripts/generate-aioc-inspect-samples.ts",
|
|
39
42
|
"docs:sync": "node scripts/sync-aioc-docs.mjs",
|
|
40
43
|
"docs:dev": "npm run docs:sync && cd apps/aioc-docs && zsh -lc 'npm run dev'",
|
|
41
44
|
"docs:build": "npm run docs:sync && cd apps/aioc-docs && zsh -lc 'npm run build'",
|
|
42
45
|
"docs:preview": "cd apps/aioc-docs && zsh -lc 'npm run preview'",
|
|
43
|
-
"packages:build": "npm run governance-events:build && npm run build -w @axiastudio/aioc-export-otel && npm run build -w @axiastudio/aioc-inspect-ui",
|
|
44
|
-
"packages:test": "npm run governance-events:test && npm run export-otel:test",
|
|
46
|
+
"packages:build": "npm run governance-events:build && npm run regression-judge:build && npm run build -w @axiastudio/aioc-export-otel && npm run build -w @axiastudio/aioc-inspect-ui",
|
|
47
|
+
"packages:test": "npm run governance-events:test && npm run export-otel:test && npm run regression-judge:test",
|
|
45
48
|
"governance-events:build": "npm run build && npm run build -w @axiastudio/aioc-governance-events",
|
|
46
49
|
"governance-events:test": "npm run build && npm test -w @axiastudio/aioc-governance-events",
|
|
50
|
+
"regression-judge:build": "npm run build && npm run build -w @axiastudio/aioc-regression-judge",
|
|
51
|
+
"regression-judge:test": "npm run build && npm test -w @axiastudio/aioc-regression-judge",
|
|
47
52
|
"export-otel:build": "npm run governance-events:build && npm run build -w @axiastudio/aioc-export-otel",
|
|
48
53
|
"export-otel:test": "npm run governance-events:build && npm test -w @axiastudio/aioc-export-otel",
|
|
49
54
|
"export-otel:console": "npm run governance-events:build && npm run console -w @axiastudio/aioc-export-otel",
|
|
50
55
|
"export-otel:signoz": "npm run governance-events:build && npm run signoz -w @axiastudio/aioc-export-otel",
|
|
51
|
-
"test:mistral": "tsx
|
|
56
|
+
"test:mistral": "tsx examples/core/mistral-smoke.ts",
|
|
52
57
|
"prepack": "npm run build:package"
|
|
53
58
|
},
|
|
54
59
|
"keywords": [
|