@once-agent/sdk 0.1.4 → 0.1.5

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.
Files changed (38) hide show
  1. package/README.md +62 -3
  2. package/dist/cli.js +13 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +29 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +245 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/decision.d.ts +39 -0
  9. package/dist/runtime/decision.d.ts.map +1 -0
  10. package/dist/runtime/decision.js +102 -0
  11. package/dist/runtime/decision.js.map +1 -0
  12. package/dist/runtime/fetch-interceptor.d.ts +66 -0
  13. package/dist/runtime/fetch-interceptor.d.ts.map +1 -0
  14. package/dist/runtime/fetch-interceptor.js +151 -0
  15. package/dist/runtime/fetch-interceptor.js.map +1 -0
  16. package/dist/runtime/identity.d.ts +23 -0
  17. package/dist/runtime/identity.d.ts.map +1 -0
  18. package/dist/runtime/identity.js +191 -0
  19. package/dist/runtime/identity.js.map +1 -0
  20. package/dist/runtime/pipeline.d.ts +25 -0
  21. package/dist/runtime/pipeline.d.ts.map +1 -0
  22. package/dist/runtime/pipeline.js +121 -0
  23. package/dist/runtime/pipeline.js.map +1 -0
  24. package/dist/setup.d.ts +2 -0
  25. package/dist/setup.d.ts.map +1 -1
  26. package/dist/setup.js +101 -8
  27. package/dist/setup.js.map +1 -1
  28. package/dist-cjs/index.js +255 -2
  29. package/dist-cjs/index.js.map +1 -1
  30. package/dist-cjs/runtime/decision.js +105 -0
  31. package/dist-cjs/runtime/decision.js.map +1 -0
  32. package/dist-cjs/runtime/fetch-interceptor.js +157 -0
  33. package/dist-cjs/runtime/fetch-interceptor.js.map +1 -0
  34. package/dist-cjs/runtime/identity.js +194 -0
  35. package/dist-cjs/runtime/identity.js.map +1 -0
  36. package/dist-cjs/runtime/pipeline.js +124 -0
  37. package/dist-cjs/runtime/pipeline.js.map +1 -0
  38. package/package.json +3 -2
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpOperationIdentity = resolveHttpOperationIdentity;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const BODY_FIELDS = [
6
+ {
7
+ key: "once_operation_id",
8
+ source: "body:once_operation_id"
9
+ },
10
+ {
11
+ key: "onceOperationId",
12
+ source: "body:onceOperationId"
13
+ },
14
+ {
15
+ key: "operation_id",
16
+ source: "body:operation_id"
17
+ },
18
+ {
19
+ key: "operationId",
20
+ source: "body:operationId"
21
+ },
22
+ {
23
+ key: "idempotency_key",
24
+ source: "body:idempotency_key"
25
+ },
26
+ {
27
+ key: "idempotencyKey",
28
+ source: "body:idempotencyKey"
29
+ }
30
+ ];
31
+ function clean(value) {
32
+ if (typeof value !== "string") {
33
+ return null;
34
+ }
35
+ const result = value.trim();
36
+ return result.length > 0
37
+ ? result
38
+ : null;
39
+ }
40
+ function normalizeMethod(value) {
41
+ return String(value || "")
42
+ .trim()
43
+ .toUpperCase();
44
+ }
45
+ function normalizeUrl(value) {
46
+ try {
47
+ const url = new URL(value);
48
+ if (url.protocol !== "https:" &&
49
+ url.protocol !== "http:") {
50
+ return null;
51
+ }
52
+ url.hash = "";
53
+ const params = Array.from(url.searchParams.entries()).sort(([ak, av], [bk, bv]) => ak.localeCompare(bk) ||
54
+ av.localeCompare(bv));
55
+ url.search = "";
56
+ for (const [key, item] of params) {
57
+ url.searchParams.append(key, item);
58
+ }
59
+ return url.toString();
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
65
+ function headerValue(headers, wanted) {
66
+ if (!headers) {
67
+ return null;
68
+ }
69
+ for (const [key, value] of Object.entries(headers)) {
70
+ if (key.toLowerCase() !==
71
+ wanted.toLowerCase()) {
72
+ continue;
73
+ }
74
+ if (Array.isArray(value)) {
75
+ const valid = value
76
+ .map(clean)
77
+ .filter((item) => item !== null);
78
+ return valid.length === 1
79
+ ? valid[0]
80
+ : null;
81
+ }
82
+ return clean(value);
83
+ }
84
+ return null;
85
+ }
86
+ function bodyObject(body) {
87
+ if (body === null ||
88
+ body === undefined) {
89
+ return null;
90
+ }
91
+ if (typeof body === "string") {
92
+ try {
93
+ const parsed = JSON.parse(body);
94
+ if (parsed &&
95
+ typeof parsed === "object" &&
96
+ !Array.isArray(parsed)) {
97
+ return parsed;
98
+ }
99
+ return null;
100
+ }
101
+ catch {
102
+ return null;
103
+ }
104
+ }
105
+ if (typeof body === "object" &&
106
+ !Array.isArray(body)) {
107
+ return body;
108
+ }
109
+ return null;
110
+ }
111
+ function candidates(input) {
112
+ const result = [];
113
+ const explicit = clean(input.operationId);
114
+ if (explicit) {
115
+ result.push({
116
+ source: "explicit",
117
+ value: explicit
118
+ });
119
+ }
120
+ const normalHeader = headerValue(input.headers, "idempotency-key");
121
+ if (normalHeader) {
122
+ result.push({
123
+ source: "header:idempotency-key",
124
+ value: normalHeader
125
+ });
126
+ }
127
+ const alternateHeader = headerValue(input.headers, "x-idempotency-key");
128
+ if (alternateHeader) {
129
+ result.push({
130
+ source: "header:x-idempotency-key",
131
+ value: alternateHeader
132
+ });
133
+ }
134
+ const body = bodyObject(input.body);
135
+ if (body) {
136
+ for (const field of BODY_FIELDS) {
137
+ const value = clean(body[field.key]);
138
+ if (value) {
139
+ result.push({
140
+ source: field.source,
141
+ value
142
+ });
143
+ }
144
+ }
145
+ }
146
+ return result;
147
+ }
148
+ function buildOperationId(method, url, identity) {
149
+ const hash = (0, node_crypto_1.createHash)("sha256");
150
+ hash.update("once-runtime-http-id-v1\u0000", "utf8");
151
+ for (const value of [method, url, identity]) {
152
+ const bytes = Buffer.from(value, "utf8");
153
+ const length = Buffer.allocUnsafe(4);
154
+ length.writeUInt32BE(bytes.length, 0);
155
+ hash.update(length);
156
+ hash.update(bytes);
157
+ }
158
+ return ("http:" +
159
+ hash
160
+ .digest("hex")
161
+ .slice(0, 32));
162
+ }
163
+ function resolveHttpOperationIdentity(input) {
164
+ const method = normalizeMethod(input.method);
165
+ const url = normalizeUrl(input.url);
166
+ if (!url) {
167
+ return {
168
+ status: "REQUIRED",
169
+ reason: "A valid HTTP(S) destination is required."
170
+ };
171
+ }
172
+ const found = candidates(input);
173
+ if (found.length === 0) {
174
+ return {
175
+ status: "REQUIRED",
176
+ reason: "No trustworthy stable identity carrier was found. Runtime refuses to guess."
177
+ };
178
+ }
179
+ const values = Array.from(new Set(found.map(item => item.value)));
180
+ if (values.length !== 1) {
181
+ return {
182
+ status: "CONFLICT",
183
+ sources: found.map(item => item.source),
184
+ reason: "Stable identity carriers disagree. Runtime refuses ambiguous identity."
185
+ };
186
+ }
187
+ return {
188
+ status: "FOUND",
189
+ operationId: buildOperationId(method, url, values[0]),
190
+ source: found[0].source,
191
+ reason: "Stable identity found and deterministically bound to this HTTP operation."
192
+ };
193
+ }
194
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/runtime/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareHttpExecution = prepareHttpExecution;
4
+ const decision_js_1 = require("./decision.js");
5
+ const identity_js_1 = require("./identity.js");
6
+ function prepareHttpExecution(request) {
7
+ const identity = (0, identity_js_1.resolveHttpOperationIdentity)({
8
+ method: request.method,
9
+ url: request.url,
10
+ operationId: request.operationId,
11
+ headers: request.headers,
12
+ body: request.body
13
+ });
14
+ const resolvedOperationId = identity.status === "FOUND"
15
+ ? identity.operationId
16
+ : undefined;
17
+ const gate = (0, decision_js_1.decideHttpExecution)({
18
+ surface: "http",
19
+ method: request.method,
20
+ url: request.url,
21
+ provider: request.provider,
22
+ operationId: resolvedOperationId
23
+ });
24
+ /*
25
+ * Safe reads pass normally and do not require
26
+ * stable operation identity.
27
+ */
28
+ if (gate.decision === "PASS") {
29
+ return {
30
+ decision: gate.decision,
31
+ code: gate.code,
32
+ consequential: gate.consequential,
33
+ method: gate.method,
34
+ reason: gate.reason,
35
+ identityStatus: identity.status
36
+ };
37
+ }
38
+ /*
39
+ * Structural failures take precedence.
40
+ */
41
+ if (gate.code === "INVALID_URL" ||
42
+ gate.code === "UNSUPPORTED_PROTOCOL" ||
43
+ gate.code === "UNSUPPORTED_HTTP_METHOD") {
44
+ return {
45
+ decision: gate.decision,
46
+ code: gate.code,
47
+ consequential: gate.consequential,
48
+ method: gate.method,
49
+ reason: gate.reason,
50
+ identityStatus: identity.status
51
+ };
52
+ }
53
+ /*
54
+ * Never choose between conflicting identities.
55
+ */
56
+ if (identity.status === "CONFLICT") {
57
+ return {
58
+ decision: "BLOCK",
59
+ code: "IDENTITY_CONFLICT",
60
+ consequential: true,
61
+ method: gate.method,
62
+ reason: identity.reason,
63
+ identityStatus: identity.status
64
+ };
65
+ }
66
+ /*
67
+ * Provider is required for protected execution.
68
+ */
69
+ if (gate.code === "MISSING_PROVIDER") {
70
+ return {
71
+ decision: "BLOCK",
72
+ code: "MISSING_PROVIDER",
73
+ consequential: true,
74
+ method: gate.method,
75
+ reason: gate.reason,
76
+ identityStatus: identity.status,
77
+ ...(identity.status === "FOUND"
78
+ ? {
79
+ operationId: identity.operationId,
80
+ identitySource: identity.source
81
+ }
82
+ : {})
83
+ };
84
+ }
85
+ /*
86
+ * Consequential writes without trustworthy
87
+ * stable identity fail closed.
88
+ */
89
+ if (identity.status === "REQUIRED") {
90
+ return {
91
+ decision: "BLOCK",
92
+ code: "IDENTITY_REQUIRED",
93
+ consequential: true,
94
+ method: gate.method,
95
+ reason: identity.reason,
96
+ identityStatus: identity.status
97
+ };
98
+ }
99
+ /*
100
+ * FOUND identity + provider must result in
101
+ * protected execution.
102
+ */
103
+ if (gate.decision !== "PROTECT") {
104
+ return {
105
+ decision: "BLOCK",
106
+ code: gate.code,
107
+ consequential: true,
108
+ method: gate.method,
109
+ reason: "Runtime reached an unexpected execution state and failed closed.",
110
+ identityStatus: identity.status
111
+ };
112
+ }
113
+ return {
114
+ decision: "PROTECT",
115
+ code: gate.code,
116
+ consequential: true,
117
+ method: gate.method,
118
+ reason: gate.reason,
119
+ operationId: identity.operationId,
120
+ identitySource: identity.source,
121
+ identityStatus: identity.status
122
+ };
123
+ }
124
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/runtime/pipeline.ts"],"names":[],"mappings":";;AA8CA,oDA+PC;AA7SD,+CAIuB;AAEvB,+CAIuB;AAoCvB,SAAgB,oBAAoB,CAClC,OAA+B;IAG/B,MAAM,QAAQ,GACZ,IAAA,0CAA4B,EAAC;QAC3B,MAAM,EACJ,OAAO,CAAC,MAAM;QAEhB,GAAG,EACD,OAAO,CAAC,GAAG;QAEb,WAAW,EACT,OAAO,CAAC,WAAW;QAErB,OAAO,EACL,OAAO,CAAC,OAAO;QAEjB,IAAI,EACF,OAAO,CAAC,IAAI;KACf,CAAC,CAAC;IAEL,MAAM,mBAAmB,GACvB,QAAQ,CAAC,MAAM,KAAK,OAAO;QACzB,CAAC,CAAC,QAAQ,CAAC,WAAW;QACtB,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,IAAI,GACR,IAAA,iCAAmB,EAAC;QAClB,OAAO,EACL,MAAM;QAER,MAAM,EACJ,OAAO,CAAC,MAAM;QAEhB,GAAG,EACD,OAAO,CAAC,GAAG;QAEb,QAAQ,EACN,OAAO,CAAC,QAAQ;QAElB,WAAW,EACT,mBAAmB;KACtB,CAAC,CAAC;IAEL;;;OAGG;IACH,IACE,IAAI,CAAC,QAAQ,KAAK,MAAM,EACxB,CAAC;QAED,OAAO;YACL,QAAQ,EACN,IAAI,CAAC,QAAQ;YAEf,IAAI,EACF,IAAI,CAAC,IAAI;YAEX,aAAa,EACX,IAAI,CAAC,aAAa;YAEpB,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,cAAc,EACZ,QAAQ,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IACE,IAAI,CAAC,IAAI,KAAK,aAAa;QAC3B,IAAI,CAAC,IAAI,KAAK,sBAAsB;QACpC,IAAI,CAAC,IAAI,KAAK,yBAAyB,EACvC,CAAC;QAED,OAAO;YACL,QAAQ,EACN,IAAI,CAAC,QAAQ;YAEf,IAAI,EACF,IAAI,CAAC,IAAI;YAEX,aAAa,EACX,IAAI,CAAC,aAAa;YAEpB,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,cAAc,EACZ,QAAQ,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU,EAC9B,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,mBAAmB;YAErB,aAAa,EACX,IAAI;YAEN,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,QAAQ,CAAC,MAAM;YAEjB,cAAc,EACZ,QAAQ,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IACE,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAChC,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,kBAAkB;YAEpB,aAAa,EACX,IAAI;YAEN,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,cAAc,EACZ,QAAQ,CAAC,MAAM;YAEjB,GAAG,CACD,QAAQ,CAAC,MAAM,KAAK,OAAO;gBACzB,CAAC,CAAC;oBACE,WAAW,EACT,QAAQ,CAAC,WAAW;oBAEtB,cAAc,EACZ,QAAQ,CAAC,MAAM;iBAClB;gBACH,CAAC,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IACE,QAAQ,CAAC,MAAM,KAAK,UAAU,EAC9B,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,mBAAmB;YAErB,aAAa,EACX,IAAI;YAEN,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,QAAQ,CAAC,MAAM;YAEjB,cAAc,EACZ,QAAQ,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IACE,IAAI,CAAC,QAAQ,KAAK,SAAS,EAC3B,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,IAAI,CAAC,IAAI;YAEX,aAAa,EACX,IAAI;YAEN,MAAM,EACJ,IAAI,CAAC,MAAM;YAEb,MAAM,EACJ,kEAAkE;YAEpE,cAAc,EACZ,QAAQ,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EACN,SAAS;QAEX,IAAI,EACF,IAAI,CAAC,IAAI;QAEX,aAAa,EACX,IAAI;QAEN,MAAM,EACJ,IAAI,CAAC,MAAM;QAEb,MAAM,EACJ,IAAI,CAAC,MAAM;QAEb,WAAW,EACT,QAAQ,CAAC,WAAW;QAEtB,cAAc,EACZ,QAAQ,CAAC,MAAM;QAEjB,cAAc,EACZ,QAAQ,CAAC,MAAM;KAClB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@once-agent/sdk",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Execution safety for side-effecting AI agent tools.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "typecheck": "tsc --noEmit",
23
23
  "benchmark:scan": "npm run build && node ./scripts/scan-benchmark.mjs",
24
24
  "test:contract": "npm run build && tsc --noEmit --target ES2022 --module NodeNext --moduleResolution NodeNext --strict --types node ./scripts/sdk-contract-types.ts && node ./scripts/sdk-contract-runtime.mjs",
25
- "test:release": "npm run benchmark:scan && npm run test:scanner-declarations && npm run test:contract && npm run test:protect && npm run test:capabilities && npm run test:transformer && npm run test:binding && npm run test:patch-planner && npm run test:transformer-protect && npm run test:apply && npm run test:id-conformance && npm run test:consumer && npm run test:activation && npm run test:package",
25
+ "test:release": "npm run benchmark:scan && npm run test:scanner-declarations && npm run test:contract && npm run test:protect && npm run test:capabilities && npm run test:transformer && npm run test:binding && npm run test:patch-planner && npm run test:transformer-protect && npm run test:apply && npm run test:id-conformance && npm run test:consumer && npm run test:activation && npm run test:package && npm run test:runtime-setup",
26
26
  "test:protect": "npm run build && node ./scripts/protect-regression.mjs",
27
27
  "test:capabilities": "npm run build && node ./scripts/capability-regression.mjs",
28
28
  "test:transformer": "npm run build && node ./scripts/http-transformer-regression.mjs",
@@ -36,6 +36,7 @@
36
36
  "test:id-conformance": "npm run build && node ./scripts/id-conformance-regression.mjs",
37
37
  "build:esm": "tsc -p tsconfig.json",
38
38
  "build:cjs": "tsc -p tsconfig.cjs.json && node ./scripts/write-cjs-package.mjs",
39
+ "test:runtime-setup": "npm run build && node ./scripts/runtime-setup-regression.mjs",
39
40
  "test:activation": "npm run build && node ./scripts/activation-regression.mjs"
40
41
  },
41
42
  "keywords": [