@once-agent/sdk 0.1.4 → 0.1.6

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 (89) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +62 -3
  3. package/dist/benchmark.d.ts +40 -0
  4. package/dist/benchmark.d.ts.map +1 -0
  5. package/dist/benchmark.js +169 -0
  6. package/dist/benchmark.js.map +1 -0
  7. package/dist/cli.js +52 -12
  8. package/dist/cli.js.map +1 -1
  9. package/dist/connect/binding.d.ts +17 -0
  10. package/dist/connect/binding.d.ts.map +1 -0
  11. package/dist/connect/binding.js +91 -0
  12. package/dist/connect/binding.js.map +1 -0
  13. package/dist/connect/classifier.d.ts +18 -0
  14. package/dist/connect/classifier.d.ts.map +1 -0
  15. package/dist/connect/classifier.js +49 -0
  16. package/dist/connect/classifier.js.map +1 -0
  17. package/dist/connect/execute.d.ts +30 -0
  18. package/dist/connect/execute.d.ts.map +1 -0
  19. package/dist/connect/execute.js +47 -0
  20. package/dist/connect/execute.js.map +1 -0
  21. package/dist/connect/kernel.d.ts +33 -0
  22. package/dist/connect/kernel.d.ts.map +1 -0
  23. package/dist/connect/kernel.js +46 -0
  24. package/dist/connect/kernel.js.map +1 -0
  25. package/dist/connect/openai-agents.d.ts +31 -0
  26. package/dist/connect/openai-agents.d.ts.map +1 -0
  27. package/dist/connect/openai-agents.js +42 -0
  28. package/dist/connect/openai-agents.js.map +1 -0
  29. package/dist/dataset-cli.d.ts +3 -0
  30. package/dist/dataset-cli.d.ts.map +1 -0
  31. package/dist/dataset-cli.js +49 -0
  32. package/dist/dataset-cli.js.map +1 -0
  33. package/dist/dataset-progress.d.ts +16 -0
  34. package/dist/dataset-progress.d.ts.map +1 -0
  35. package/dist/dataset-progress.js +130 -0
  36. package/dist/dataset-progress.js.map +1 -0
  37. package/dist/dataset.d.ts +35 -0
  38. package/dist/dataset.d.ts.map +1 -0
  39. package/dist/dataset.js +133 -0
  40. package/dist/dataset.js.map +1 -0
  41. package/dist/index.d.ts +39 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +259 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/runtime/decision.d.ts +39 -0
  46. package/dist/runtime/decision.d.ts.map +1 -0
  47. package/dist/runtime/decision.js +102 -0
  48. package/dist/runtime/decision.js.map +1 -0
  49. package/dist/runtime/fetch-interceptor.d.ts +74 -0
  50. package/dist/runtime/fetch-interceptor.d.ts.map +1 -0
  51. package/dist/runtime/fetch-interceptor.js +156 -0
  52. package/dist/runtime/fetch-interceptor.js.map +1 -0
  53. package/dist/runtime/identity.d.ts +23 -0
  54. package/dist/runtime/identity.d.ts.map +1 -0
  55. package/dist/runtime/identity.js +191 -0
  56. package/dist/runtime/identity.js.map +1 -0
  57. package/dist/runtime/pipeline.d.ts +25 -0
  58. package/dist/runtime/pipeline.d.ts.map +1 -0
  59. package/dist/runtime/pipeline.js +121 -0
  60. package/dist/runtime/pipeline.js.map +1 -0
  61. package/dist/setup.d.ts +2 -0
  62. package/dist/setup.d.ts.map +1 -1
  63. package/dist/setup.js +126 -33
  64. package/dist/setup.js.map +1 -1
  65. package/dist/trace.d.ts +13 -0
  66. package/dist/trace.d.ts.map +1 -0
  67. package/dist/trace.js +60 -0
  68. package/dist/trace.js.map +1 -0
  69. package/dist-cjs/connect/binding.js +99 -0
  70. package/dist-cjs/connect/binding.js.map +1 -0
  71. package/dist-cjs/connect/classifier.js +53 -0
  72. package/dist-cjs/connect/classifier.js.map +1 -0
  73. package/dist-cjs/connect/execute.js +52 -0
  74. package/dist-cjs/connect/execute.js.map +1 -0
  75. package/dist-cjs/connect/kernel.js +51 -0
  76. package/dist-cjs/connect/kernel.js.map +1 -0
  77. package/dist-cjs/connect/openai-agents.js +47 -0
  78. package/dist-cjs/connect/openai-agents.js.map +1 -0
  79. package/dist-cjs/index.js +282 -3
  80. package/dist-cjs/index.js.map +1 -1
  81. package/dist-cjs/runtime/decision.js +105 -0
  82. package/dist-cjs/runtime/decision.js.map +1 -0
  83. package/dist-cjs/runtime/fetch-interceptor.js +162 -0
  84. package/dist-cjs/runtime/fetch-interceptor.js.map +1 -0
  85. package/dist-cjs/runtime/identity.js +194 -0
  86. package/dist-cjs/runtime/identity.js.map +1 -0
  87. package/dist-cjs/runtime/pipeline.js +124 -0
  88. package/dist-cjs/runtime/pipeline.js.map +1 -0
  89. package/package.json +91 -69
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decideHttpExecution = decideHttpExecution;
4
+ const SAFE_HTTP_METHODS = new Set([
5
+ "GET",
6
+ "HEAD",
7
+ "OPTIONS"
8
+ ]);
9
+ const CONSEQUENTIAL_HTTP_METHODS = new Set([
10
+ "POST",
11
+ "PUT",
12
+ "PATCH",
13
+ "DELETE"
14
+ ]);
15
+ function normalizeMethod(method) {
16
+ return String(method || "")
17
+ .trim()
18
+ .toUpperCase();
19
+ }
20
+ function nonEmpty(value) {
21
+ return (typeof value === "string" &&
22
+ value.trim().length > 0);
23
+ }
24
+ /**
25
+ * Decide whether an outbound HTTP operation may
26
+ * pass normally, must be protected by Once, or
27
+ * must fail closed.
28
+ *
29
+ * v0.1 intentionally does NOT guess identity.
30
+ *
31
+ * A consequential operation without a stable
32
+ * operationId is blocked rather than executed
33
+ * unsafely.
34
+ */
35
+ function decideHttpExecution(call) {
36
+ const method = normalizeMethod(call.method);
37
+ let parsedUrl;
38
+ try {
39
+ parsedUrl =
40
+ new URL(call.url);
41
+ }
42
+ catch {
43
+ return {
44
+ decision: "BLOCK",
45
+ code: "INVALID_URL",
46
+ consequential: true,
47
+ method,
48
+ reason: "Runtime could not safely determine the destination URL."
49
+ };
50
+ }
51
+ if (parsedUrl.protocol !== "https:" &&
52
+ parsedUrl.protocol !== "http:") {
53
+ return {
54
+ decision: "BLOCK",
55
+ code: "UNSUPPORTED_PROTOCOL",
56
+ consequential: true,
57
+ method,
58
+ reason: `Runtime does not support protocol ${parsedUrl.protocol}`
59
+ };
60
+ }
61
+ if (SAFE_HTTP_METHODS.has(method)) {
62
+ return {
63
+ decision: "PASS",
64
+ code: "SAFE_HTTP_METHOD",
65
+ consequential: false,
66
+ method,
67
+ reason: `${method} is treated as a non-consequential HTTP read in Runtime v0.1.`
68
+ };
69
+ }
70
+ if (!CONSEQUENTIAL_HTTP_METHODS.has(method)) {
71
+ return {
72
+ decision: "BLOCK",
73
+ code: "UNSUPPORTED_HTTP_METHOD",
74
+ consequential: true,
75
+ method,
76
+ reason: `Runtime does not yet have a proven execution policy for HTTP method ${method || "(empty)"}.`
77
+ };
78
+ }
79
+ if (!nonEmpty(call.provider)) {
80
+ return {
81
+ decision: "BLOCK",
82
+ code: "MISSING_PROVIDER",
83
+ consequential: true,
84
+ method,
85
+ reason: "Consequential operation has no configured Once provider."
86
+ };
87
+ }
88
+ if (!nonEmpty(call.operationId)) {
89
+ return {
90
+ decision: "BLOCK",
91
+ code: "MISSING_OPERATION_ID",
92
+ consequential: true,
93
+ method,
94
+ reason: "Consequential operation has no stable operation identity. Once refuses unsafe execution."
95
+ };
96
+ }
97
+ return {
98
+ decision: "PROTECT",
99
+ code: "CONSEQUENTIAL_HTTP_WRITE",
100
+ consequential: true,
101
+ method,
102
+ reason: "Consequential HTTP operation has a provider and stable identity and must execute through Once."
103
+ };
104
+ }
105
+ //# sourceMappingURL=decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision.js","sourceRoot":"","sources":["../../src/runtime/decision.ts"],"names":[],"mappings":";;AAyFA,kDAsKC;AArND,MAAM,iBAAiB,GACrB,IAAI,GAAG,CAAC;IACN,KAAK;IACL,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEL,MAAM,0BAA0B,GAC9B,IAAI,GAAG,CAAC;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AAEL,SAAS,eAAe,CACtB,MAAc;IAGd,OAAO,MAAM,CACX,MAAM,IAAI,EAAE,CACb;SACE,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CACf,KAAyB;IAGzB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CACjC,IAAyB;IAGzB,MAAM,MAAM,GACV,eAAe,CACb,IAAI,CAAC,MAAM,CACZ,CAAC;IAEJ,IAAI,SAAc,CAAC;IAEnB,IAAI,CAAC;QAEH,SAAS;YACP,IAAI,GAAG,CACL,IAAI,CAAC,GAAG,CACT,CAAC;IAEN,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,aAAa;YAEf,aAAa,EACX,IAAI;YAEN,MAAM;YAEN,MAAM,EACJ,yDAAyD;SAC5D,CAAC;IACJ,CAAC;IAED,IACE,SAAS,CAAC,QAAQ,KAAK,QAAQ;QAC/B,SAAS,CAAC,QAAQ,KAAK,OAAO,EAC9B,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,sBAAsB;YAExB,aAAa,EACX,IAAI;YAEN,MAAM;YAEN,MAAM,EACJ,qCAAqC,SAAS,CAAC,QAAQ,EAAE;SAC5D,CAAC;IACJ,CAAC;IAED,IACE,iBAAiB,CAAC,GAAG,CACnB,MAAM,CACP,EACD,CAAC;QAED,OAAO;YACL,QAAQ,EACN,MAAM;YAER,IAAI,EACF,kBAAkB;YAEpB,aAAa,EACX,KAAK;YAEP,MAAM;YAEN,MAAM,EACJ,GAAG,MAAM,+DAA+D;SAC3E,CAAC;IACJ,CAAC;IAED,IACE,CAAC,0BAA0B,CAAC,GAAG,CAC7B,MAAM,CACP,EACD,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,yBAAyB;YAE3B,aAAa,EACX,IAAI;YAEN,MAAM;YAEN,MAAM,EACJ,uEAAuE,MAAM,IAAI,SAAS,GAAG;SAChG,CAAC;IACJ,CAAC;IAED,IACE,CAAC,QAAQ,CACP,IAAI,CAAC,QAAQ,CACd,EACD,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,kBAAkB;YAEpB,aAAa,EACX,IAAI;YAEN,MAAM;YAEN,MAAM,EACJ,0DAA0D;SAC7D,CAAC;IACJ,CAAC;IAED,IACE,CAAC,QAAQ,CACP,IAAI,CAAC,WAAW,CACjB,EACD,CAAC;QAED,OAAO;YACL,QAAQ,EACN,OAAO;YAET,IAAI,EACF,sBAAsB;YAExB,aAAa,EACX,IAAI;YAEN,MAAM;YAEN,MAAM,EACJ,0FAA0F;SAC7F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EACN,SAAS;QAEX,IAAI,EACF,0BAA0B;QAE5B,aAAa,EACX,IAAI;QAEN,MAAM;QAEN,MAAM,EACJ,gGAAgG;KACnG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnceRuntimeBlockedError = void 0;
4
+ exports.createOnceFetchInterceptor = createOnceFetchInterceptor;
5
+ exports.installOnceFetchInterceptor = installOnceFetchInterceptor;
6
+ const pipeline_js_1 = require("./pipeline.js");
7
+ class OnceRuntimeBlockedError extends Error {
8
+ code;
9
+ decision;
10
+ constructor(decision) {
11
+ super(`Once blocked outbound HTTP execution: ${decision.code}. ${decision.reason}`);
12
+ this.name =
13
+ "OnceRuntimeBlockedError";
14
+ this.code =
15
+ decision.code;
16
+ this.decision =
17
+ decision;
18
+ }
19
+ }
20
+ exports.OnceRuntimeBlockedError = OnceRuntimeBlockedError;
21
+ function headersToObject(headers) {
22
+ const result = {};
23
+ headers.forEach((value, key) => {
24
+ result[key] =
25
+ value;
26
+ });
27
+ return result;
28
+ }
29
+ async function inspectBody(request) {
30
+ const method = request.method
31
+ .trim()
32
+ .toUpperCase();
33
+ if (method === "GET" ||
34
+ method === "HEAD" ||
35
+ method === "OPTIONS") {
36
+ return undefined;
37
+ }
38
+ /*
39
+ * Identity v0.1 currently recognizes JSON-style
40
+ * body identity fields.
41
+ *
42
+ * Clone first so inspection never consumes the
43
+ * actual request body.
44
+ */
45
+ let clone;
46
+ try {
47
+ clone =
48
+ request.clone();
49
+ }
50
+ catch {
51
+ return undefined;
52
+ }
53
+ const contentType = clone.headers
54
+ .get("content-type")
55
+ ?.toLowerCase() ??
56
+ "";
57
+ if (!contentType.includes("application/json")) {
58
+ return undefined;
59
+ }
60
+ try {
61
+ const text = await clone.text();
62
+ return (text.length > 0
63
+ ? text
64
+ : undefined);
65
+ }
66
+ catch {
67
+ return undefined;
68
+ }
69
+ }
70
+ /**
71
+ * Create a fetch-compatible Once interception
72
+ * function without mutating global state.
73
+ */
74
+ function createOnceFetchInterceptor(options) {
75
+ const originalFetch = options.fetchImpl ??
76
+ globalThis.fetch;
77
+ if (typeof originalFetch !==
78
+ "function") {
79
+ throw new Error("Once Runtime requires a native fetch implementation.");
80
+ }
81
+ const intercepted = async (input, init) => {
82
+ /*
83
+ * Constructing a Request gives us one
84
+ * normalized view of URL, method, headers
85
+ * and body while preserving native fetch
86
+ * semantics for the final call.
87
+ */
88
+ const request = new Request(input, init);
89
+ // Reads bypass policy/provider/identity hooks as well as the ledger.
90
+ if (["GET", "HEAD", "OPTIONS"].includes(request.method) ||
91
+ (options.shouldProtect && await options.shouldProtect(request.clone()) === false)) {
92
+ return await originalFetch(request);
93
+ }
94
+ const provider = options.resolveProvider
95
+ ? await options.resolveProvider(request)
96
+ : options.provider;
97
+ const explicitOperationId = options.resolveOperationId
98
+ ? await options.resolveOperationId(request)
99
+ : undefined;
100
+ const body = await inspectBody(request);
101
+ const decision = (0, pipeline_js_1.prepareHttpExecution)({
102
+ method: request.method,
103
+ url: request.url,
104
+ provider,
105
+ operationId: explicitOperationId,
106
+ headers: headersToObject(request.headers),
107
+ body
108
+ });
109
+ if (decision.decision ===
110
+ "PASS") {
111
+ return await originalFetch(request);
112
+ }
113
+ if (decision.decision ===
114
+ "BLOCK") {
115
+ throw new OnceRuntimeBlockedError(decision);
116
+ }
117
+ return await options.protect({
118
+ request,
119
+ decision,
120
+ provider,
121
+ originalFetch
122
+ });
123
+ };
124
+ return intercepted;
125
+ }
126
+ /**
127
+ * Install Once at the process-wide fetch boundary.
128
+ *
129
+ * Installation is explicit and reversible.
130
+ */
131
+ function installOnceFetchInterceptor(options) {
132
+ const previous = globalThis.fetch;
133
+ const intercepted = createOnceFetchInterceptor({
134
+ ...options,
135
+ fetchImpl: options.fetchImpl ??
136
+ previous
137
+ });
138
+ globalThis.fetch =
139
+ intercepted;
140
+ let restored = false;
141
+ return {
142
+ fetch: intercepted,
143
+ restore: () => {
144
+ if (restored) {
145
+ return;
146
+ }
147
+ /*
148
+ * Restore only if our interceptor still
149
+ * owns global fetch. Do not overwrite a
150
+ * later runtime/framework replacement.
151
+ */
152
+ if (globalThis.fetch ===
153
+ intercepted) {
154
+ globalThis.fetch =
155
+ previous;
156
+ }
157
+ restored =
158
+ true;
159
+ }
160
+ };
161
+ }
162
+ //# sourceMappingURL=fetch-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-interceptor.js","sourceRoot":"","sources":["../../src/runtime/fetch-interceptor.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}