@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 +7 -4
- package/dist/policy-outcomes.d.ts +0 -1
- package/dist/policy-outcomes.d.ts.map +1 -1
- package/dist/policy-outcomes.js +0 -8
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +12 -6
- package/package.json +1 -1
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
|
|
12
|
-
The core runtime surface is
|
|
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
|
-
###
|
|
14
|
+
### Stable Scope
|
|
15
15
|
|
|
16
|
-
AIOC
|
|
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,
|
|
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"}
|
package/dist/policy-outcomes.js
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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 (
|
|
199
|
-
return (
|
|
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 (
|
|
232
|
-
return (
|
|
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");
|