@axiastudio/aioc 0.1.0-rc.1 → 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
@@ -8,13 +8,14 @@ Project home and documentation: [https://axiastudio.github.io/aioc](https://axia
8
8
 
9
9
  ## Release Status
10
10
 
11
- This package is currently in release-candidate phase (`0.1.0-rc.1`) and is not yet stable.
12
- The core runtime surface is expected to remain frozen except for bug fixes, cleanup, and documentation adjustments before `0.1.0`.
11
+ This package is stable as of `0.1.0`.
12
+ The core runtime surface is compatibility-managed. Breaking changes to the stable surface should ship only with explicit migration guidance and release notes.
13
13
 
14
- ### What Stable Means
14
+ ### Stable Scope
15
15
 
16
- AIOC will move from release candidate to stable when the core runtime surface is confirmed, the public documentation matches the actual exported contract, `RunRecord` and replay/compare workflows are considered reliable, and the SDK has been validated in real applications beyond toy examples.
16
+ AIOC `0.1.0` stabilizes the core runtime surface, public documentation aligned to the exported contract, `RunRecord` and replay/compare workflows, and the governance-first runtime model validated in real applications beyond toy examples.
17
17
 
18
+ - Release notes: `CHANGELOG.md`
18
19
  - Historical beta contract snapshot: `docs/BETA-CONTRACT.md`
19
20
  - Historical alpha contract snapshot: `docs/ALPHA-CONTRACT.md`
20
21
  - Privacy baseline: `docs/PRIVACY-BASELINE.md`
@@ -259,6 +260,8 @@ AIOC adopts the following non-negotiable principles:
259
260
  - `docs/RFC-0003-run-record-audit-trail-and-persistence.md` (`Accepted`)
260
261
  - `docs/RFC-0004-policy-outcomes-and-approval-model.md` (`Accepted`)
261
262
  - `docs/RFC-0005-suspended-proposals-and-approval-lifecycle.md` (`Draft`)
263
+ - `docs/RFC-0006-approval-evidence-helpers.md` (`Draft`)
264
+ - `docs/RFC-0007-thread-state-utilities.md` (`Draft`)
262
265
  - `docs/PRIVACY-BASELINE.md`
263
266
 
264
267
  ## Historical Snapshots
@@ -8,7 +8,6 @@ export interface ToolResultEnvelope {
8
8
  data: unknown | null;
9
9
  }
10
10
  export declare function createDeniedPolicyResult(reason: string, metadata?: Record<string, unknown>): PolicyResult;
11
- export declare function createDeprecatedPolicyFieldResult(fieldName: string, replacementField: string, receivedValue?: unknown): PolicyResult;
12
11
  export declare function toAllowedToolResultEnvelope(data: unknown): ToolResultEnvelope;
13
12
  export declare function materializePolicyResult(policyResult: PolicyResult): PolicyResult;
14
13
  export declare function resolveResultMode(policyResult: PolicyResult): PolicyResultMode;
@@ -1 +1 @@
1
- {"version":3,"file":"policy-outcomes.d.ts","sourceRoot":"","sources":["../src/policy-outcomes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,wBAAwB,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,YAAY,CAOd;AAED,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,OAAO,GACtB,YAAY,CAMd;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAO7E;AAoBD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,GACzB,YAAY,CAYd;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,GACzB,gBAAgB,CAElB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EACF;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GACJ,kBAAkB,CA+CpB"}
1
+ {"version":3,"file":"policy-outcomes.d.ts","sourceRoot":"","sources":["../src/policy-outcomes.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,wBAAwB,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,YAAY,CAOd;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CAO7E;AAoBD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,GACzB,YAAY,CAYd;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,GACzB,gBAAgB,CAElB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EACF;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,GACJ,kBAAkB,CA+CpB"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDeniedPolicyResult = createDeniedPolicyResult;
4
- exports.createDeprecatedPolicyFieldResult = createDeprecatedPolicyFieldResult;
5
4
  exports.toAllowedToolResultEnvelope = toAllowedToolResultEnvelope;
6
5
  exports.materializePolicyResult = materializePolicyResult;
7
6
  exports.resolveResultMode = resolveResultMode;
@@ -15,13 +14,6 @@ function createDeniedPolicyResult(reason, metadata) {
15
14
  metadata,
16
15
  };
17
16
  }
18
- function createDeprecatedPolicyFieldResult(fieldName, replacementField, receivedValue) {
19
- return createDeniedPolicyResult(`deprecated_policy_field_${fieldName}`, {
20
- deprecatedField: fieldName,
21
- replacementField,
22
- receivedValue,
23
- });
24
- }
25
17
  function toAllowedToolResultEnvelope(data) {
26
18
  return {
27
19
  status: "ok",
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAuChC,OAAO,EACL,cAAc,EAEd,mBAAmB,EAGnB,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,KAAK,eAAe,CAAC,QAAQ,IAAI;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC5B,CAAC;AAGF,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAswB3B,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,KAAK,CAA4B;gBAGvC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAC/C,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;IAMlC,QAAQ,IAAI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAQnD,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAE/B;CACF;AAED,wBAAsB,GAAG,CAAC,QAAQ,GAAG,OAAO,EAC1C,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC9B,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,EAChC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAClC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAExC,wBAAsB,GAAG,CAAC,QAAQ,GAAG,OAAO,EAC1C,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC9B,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,EAChC,OAAO,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACtC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAsChC,OAAO,EACL,cAAc,EAEd,mBAAmB,EAGnB,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,KAAK,eAAe,CAAC,QAAQ,IAAI;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC5B,CAAC;AAGF,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAuwB3B,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,KAAK,CAA4B;gBAGvC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAC/C,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;IAMlC,QAAQ,IAAI,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAQnD,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAE/B;CACF;AAED,wBAAsB,GAAG,CAAC,QAAQ,GAAG,OAAO,EAC1C,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC9B,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,EAChC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAClC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAExC,wBAAsB,GAAG,CAAC,QAAQ,GAAG,OAAO,EAC1C,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC9B,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,EAChC,OAAO,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACtC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC"}
package/dist/run.js CHANGED
@@ -124,10 +124,16 @@ function isPolicyResultShape(value) {
124
124
  validResultMode &&
125
125
  validExpiresAt);
126
126
  }
127
- // TODO: Remove this beta-only migration guard before stable.
128
- function hasLegacyDenyMode(value) {
127
+ function hasDeprecatedDenyMode(value) {
129
128
  return typeof value === "object" && value !== null && "denyMode" in value;
130
129
  }
130
+ function createDeprecatedDenyModeResult(receivedValue) {
131
+ return (0, policy_outcomes_1.createDeniedPolicyResult)("deprecated_policy_field_denyMode", {
132
+ deprecatedField: "denyMode",
133
+ replacementField: "resultMode",
134
+ receivedValue,
135
+ });
136
+ }
131
137
  async function emitPolicyDecision(params) {
132
138
  const { agentName, turn, callId, policyResult, logEmitter, onPolicyDecision, } = params;
133
139
  const resultMode = policyResult.decision === "allow"
@@ -195,8 +201,8 @@ async function evaluateToolPolicy(agent, call, parsedArguments, runContext, turn
195
201
  catch (error) {
196
202
  return (0, policy_outcomes_1.createDeniedPolicyResult)("policy_error", toErrorMetadata(error));
197
203
  }
198
- if (hasLegacyDenyMode(rawResult)) {
199
- return (0, policy_outcomes_1.createDeprecatedPolicyFieldResult)("denyMode", "resultMode", rawResult.denyMode);
204
+ if (hasDeprecatedDenyMode(rawResult)) {
205
+ return createDeprecatedDenyModeResult(rawResult.denyMode);
200
206
  }
201
207
  if (!isPolicyResultShape(rawResult)) {
202
208
  return (0, policy_outcomes_1.createDeniedPolicyResult)("invalid_policy_result");
@@ -228,8 +234,8 @@ async function evaluateHandoffPolicy(fromAgent, toAgent, call, handoffPayload, r
228
234
  catch (error) {
229
235
  return (0, policy_outcomes_1.createDeniedPolicyResult)("policy_error", toErrorMetadata(error));
230
236
  }
231
- if (hasLegacyDenyMode(rawResult)) {
232
- return (0, policy_outcomes_1.createDeprecatedPolicyFieldResult)("denyMode", "resultMode", rawResult.denyMode);
237
+ if (hasDeprecatedDenyMode(rawResult)) {
238
+ return createDeprecatedDenyModeResult(rawResult.denyMode);
233
239
  }
234
240
  if (!isPolicyResultShape(rawResult)) {
235
241
  return (0, policy_outcomes_1.createDeniedPolicyResult)("invalid_policy_result");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiastudio/aioc",
3
- "version": "0.1.0-rc.1",
3
+ "version": "0.1.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [