@sentropic/llm-mesh 0.28.1 → 0.29.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 +20 -2
- package/dist/decision/adapter-result.d.ts.map +1 -1
- package/dist/decision/adapter-result.js +12 -0
- package/dist/decision/adapter-result.js.map +1 -1
- package/dist/decision/descriptor.d.ts +1 -1
- package/dist/decision/dispatch.d.ts.map +1 -1
- package/dist/decision/dispatch.js +4 -1
- package/dist/decision/dispatch.js.map +1 -1
- package/dist/decision/host.d.ts +5 -0
- package/dist/decision/host.d.ts.map +1 -1
- package/dist/decision/host.js +3 -0
- package/dist/decision/host.js.map +1 -1
- package/dist/decision/jev-response.d.ts.map +1 -1
- package/dist/decision/jev-response.js +5 -1
- package/dist/decision/jev-response.js.map +1 -1
- package/dist/decision/jev-verdict.d.ts.map +1 -1
- package/dist/decision/jev-verdict.js +6 -1
- package/dist/decision/jev-verdict.js.map +1 -1
- package/dist/decision/openai-adapter.d.ts +46 -0
- package/dist/decision/openai-adapter.d.ts.map +1 -0
- package/dist/decision/openai-adapter.js +66 -0
- package/dist/decision/openai-adapter.js.map +1 -0
- package/dist/decision/openai-codec.d.ts +7 -0
- package/dist/decision/openai-codec.d.ts.map +1 -0
- package/dist/decision/openai-codec.js +60 -0
- package/dist/decision/openai-codec.js.map +1 -0
- package/dist/decision/openai-descriptor.d.ts +7 -0
- package/dist/decision/openai-descriptor.d.ts.map +1 -0
- package/dist/decision/openai-descriptor.js +31 -0
- package/dist/decision/openai-descriptor.js.map +1 -0
- package/dist/decision/openai-request.d.ts +15 -0
- package/dist/decision/openai-request.d.ts.map +1 -0
- package/dist/decision/openai-request.js +33 -0
- package/dist/decision/openai-request.js.map +1 -0
- package/dist/decision/openai-verdict.d.ts +9 -0
- package/dist/decision/openai-verdict.d.ts.map +1 -0
- package/dist/decision/openai-verdict.js +76 -0
- package/dist/decision/openai-verdict.js.map +1 -0
- package/dist/decision/policy.d.ts.map +1 -1
- package/dist/decision/policy.js +2 -1
- package/dist/decision/policy.js.map +1 -1
- package/dist/decision/pricing.js +6 -6
- package/dist/decision/pricing.js.map +1 -1
- package/dist/decision/service.d.ts.map +1 -1
- package/dist/decision/service.js +2 -1
- package/dist/decision/service.js.map +1 -1
- package/dist/transport/openai-decisions.d.ts +23 -0
- package/dist/transport/openai-decisions.d.ts.map +1 -0
- package/dist/transport/openai-decisions.js +107 -0
- package/dist/transport/openai-decisions.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -403,10 +403,10 @@ authority escalation and lineage conflicts. Package enrollment keeps existing id
|
|
|
403
403
|
|
|
404
404
|
## Generic Decision Capability
|
|
405
405
|
|
|
406
|
-
`@sentropic/llm-mesh` provides strict decision evaluation contracts, portable client execution, and
|
|
406
|
+
`@sentropic/llm-mesh` provides strict decision evaluation contracts, portable client execution, and native JEV/OpenAI Decisions adapters via three distinct export subpaths:
|
|
407
407
|
|
|
408
408
|
- `@sentropic/llm-mesh/decision`: Consumer contracts (`EvaluatorRef`, `DecisionRequest`, `DecisionResult`, `DecisionVerdict`, `DecisionReceipt`) and portable remote client (`createRemoteDecisionClient`).
|
|
409
|
-
- `@sentropic/llm-mesh/decision/host`: Trusted host factory (`createDecisionService`)
|
|
409
|
+
- `@sentropic/llm-mesh/decision/host`: Trusted host factory (`createDecisionService`), JEV adapter (`createJevAdapter`), and dedicated OpenAI Decisions adapter/transport (`createOpenAiDecisionsAdapter`, `createOpenAiDecisionsTransport`).
|
|
410
410
|
- `@sentropic/llm-mesh/transport/jev`: Deterministic JEV transport (`createJevTransport`).
|
|
411
411
|
|
|
412
412
|
### Consumer usage
|
|
@@ -465,6 +465,24 @@ const service = createDecisionService({
|
|
|
465
465
|
});
|
|
466
466
|
```
|
|
467
467
|
|
|
468
|
+
### Native OpenAI Decisions
|
|
469
|
+
|
|
470
|
+
The host subpath exports `openAiDecisionsDescriptor` and the published standard/no-cache rate projection `openAiDecisionsPrice`.
|
|
471
|
+
Register `createOpenAiDecisionsAdapter({ transport: createOpenAiDecisionsTransport({ fetch: globalThis.fetch }) })`
|
|
472
|
+
in a dedicated Decision provider registry and explicitly allowlist its exact evaluator reference. Resolve credentials
|
|
473
|
+
from host-owned `OPENAI_API_KEY` and pricing from `control.model_pricing`; ordinary chat composition is unchanged.
|
|
474
|
+
Consumers keep using `createRemoteDecisionClient` with a trusted `native-distribution-v1` context for that revision.
|
|
475
|
+
|
|
476
|
+
The adapter sends one named predicate, choice or score question to `/v1/decisions`. It disables implicit caching,
|
|
477
|
+
uses the separate $0.10/M uncached-input tariff with no output charge, and rejects a Responses price row.
|
|
478
|
+
Refusals remain typed errors with independently validated usage; no retry, prompted fallback or CLI route is added.
|
|
479
|
+
JEV stays pinned to 1.13.0 and accepts its documented answer discriminator with closed key validation.
|
|
480
|
+
|
|
481
|
+
Both built-in candidates remain unqualified with empty accepted served-model sets. Fixtures establish protocol
|
|
482
|
+
conformance only. Identity stability, account access, billing bounds and criterion-specific calibration require
|
|
483
|
+
the separately approved V4-L5/L6 work. See the [JEV](../../spec/decision/jev-v4l3-candidate.md) and
|
|
484
|
+
[OpenAI Decisions](../../spec/decision/openai-v4l3-candidate.md) candidate packets for dated evidence and gaps.
|
|
485
|
+
|
|
468
486
|
### Deadline & Failure Semantics
|
|
469
487
|
|
|
470
488
|
- **Deadline margin**: The client waits server deadline + 1 000 ms grace margin (11 000 ms default, 61 000 ms cap) whenever client `options.timeoutMs` is omitted or ≥ server timeout + 1 000 ms, so that the server's own timeout receipt reaches the client before client-side abort. Providing `options.timeoutMs` bounds the client timeout via `Math.min(options.timeoutMs, serverTimeout + 1 000)`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-result.d.ts","sourceRoot":"","sources":["../../src/decision/adapter-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-result.d.ts","sourceRoot":"","sources":["../../src/decision/adapter-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AA8DnE,yFAAyF;AACzF,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EACrF,UAAU,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAiEhF"}
|
|
@@ -7,6 +7,9 @@ import { hasOnlyKeys, isRecord, isText, snapshotBoundedJson } from './validation
|
|
|
7
7
|
import { parseJevProviderRaw } from './raw.js';
|
|
8
8
|
import { deriveDecision } from './verdict.js';
|
|
9
9
|
import { STRUCTURED_SCORE_MEANING } from './structured.js';
|
|
10
|
+
import { encodeOpenAiDecisionsRequest } from './openai-request.js';
|
|
11
|
+
import { openAiDecisionsContext } from './openai-verdict.js';
|
|
12
|
+
import { isValidDecisionVerdict } from './client.js';
|
|
10
13
|
/** Closed structured envelope at the host boundary (V-K1/V-K2). Undeclared
|
|
11
14
|
* carriers, substituted score meaning/scale/direction and provider raw data
|
|
12
15
|
* are rejected; the surviving verdict is rebuilt field by field from
|
|
@@ -93,6 +96,15 @@ export function parseDecisionAdapterResult(candidate, request, descriptor, secre
|
|
|
93
96
|
if (usage.tokens.input.source !== 'provider' || usage.tokens.output.source !== 'provider'
|
|
94
97
|
|| usage.evaluatorCalls !== 1 || usage.explanations !== 0)
|
|
95
98
|
return failed('USAGE_INVALID');
|
|
99
|
+
if (descriptor.protocol === 'openai-decisions') {
|
|
100
|
+
const encoded = encodeOpenAiDecisionsRequest(request, descriptor);
|
|
101
|
+
if (!encoded.ok || !isValidDecisionVerdict(value.verdict, encoded.request, openAiDecisionsContext(encoded.request, encoded.criterion, descriptor)) || value.verdict.providerRaw !== undefined)
|
|
102
|
+
return failed('VERDICT_INVALID');
|
|
103
|
+
const verdict = value.verdict;
|
|
104
|
+
return { ok: true, verdict: { criterionKind: verdict.criterionKind, resolvedCriterionKind: verdict.resolvedCriterionKind,
|
|
105
|
+
score: structuredClone(verdict.score), decision: structuredClone(verdict.decision), label: structuredClone(verdict.label),
|
|
106
|
+
rationale: null, confidence: structuredClone(verdict.confidence), distribution: structuredClone(verdict.distribution) }, ...evidence };
|
|
107
|
+
}
|
|
96
108
|
if ((descriptor.protocol ?? 'jev-native') !== 'jev-native') {
|
|
97
109
|
const closed = parseStructuredHostVerdict(value.verdict, request, descriptor);
|
|
98
110
|
if (!closed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-result.js","sourceRoot":"","sources":["../../src/decision/adapter-result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter-result.js","sourceRoot":"","sources":["../../src/decision/adapter-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export interface DecisionEvaluatorDescriptor {
|
|
|
35
35
|
};
|
|
36
36
|
maxBillableInputTokens: number;
|
|
37
37
|
/** Enforced protocol output/reasoning bound (§3.2 Execution). Zero means
|
|
38
|
-
* the descriptor admits no billable output;
|
|
38
|
+
* the descriptor admits no billable output; output-priced quoting requires a
|
|
39
39
|
* positive bound and the structured transport transmits it as the
|
|
40
40
|
* execution cap. */
|
|
41
41
|
maxBillableOutputTokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/decision/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQvD,wFAAwF;AACxF,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EACtH,QAAQ,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/decision/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQvD,wFAAwF;AACxF,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EACtH,QAAQ,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,kDAwCnF"}
|
|
@@ -43,8 +43,11 @@ export async function dispatchDecision(execution, selection, admitted, options)
|
|
|
43
43
|
error = createDecisionError('TIMEOUT', result.error.phase);
|
|
44
44
|
}
|
|
45
45
|
closeDecisionReceipt(execution, error);
|
|
46
|
+
// Invalid native usage cannot release the admitted hold through settlement.
|
|
47
|
+
const retainHold = selection.descriptor.protocol === 'openai-decisions' && !result.ok && result.error.code === 'USAGE_INVALID';
|
|
46
48
|
try {
|
|
47
|
-
|
|
49
|
+
if (!retainHold)
|
|
50
|
+
await options.budget.settle({ holdId: admitted.holdId, receipt: copyDecisionReceipt(receipt), boundViolated: priced.overrun });
|
|
48
51
|
}
|
|
49
52
|
catch {
|
|
50
53
|
receipt.budget.state = 'pending-reconciliation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/decision/dispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/decision/dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/decision/host.d.ts
CHANGED
|
@@ -3,6 +3,11 @@ export { createDecisionService } from './service.js';
|
|
|
3
3
|
export { createJevAdapter } from './adapter.js';
|
|
4
4
|
export { createStructuredDecisionAdapter, STRUCTURED_CONTRACT_REVISION, STRUCTURED_SCORE_MEANING } from './structured.js';
|
|
5
5
|
export { jevDescriptor } from './descriptor.js';
|
|
6
|
+
export { createOpenAiDecisionsAdapter } from './openai-adapter.js';
|
|
7
|
+
export type { OpenAiDecisionsAdapterOptions } from './openai-adapter.js';
|
|
8
|
+
export { openAiDecisionsDescriptor, openAiDecisionsPrice } from './openai-descriptor.js';
|
|
9
|
+
export { createOpenAiDecisionsTransport } from '../transport/openai-decisions.js';
|
|
10
|
+
export type { OpenAiDecisionsTransport, OpenAiDecisionsTransportOptions } from '../transport/openai-decisions.js';
|
|
6
11
|
export type { JevAdapterOptions } from './adapter.js';
|
|
7
12
|
export type { StructuredDecisionTransport, StructuredProviderEnvelope, StructuredDecisionPayload, StructuredDecisionAdapterOptions, DecisionBackend } from './structured.js';
|
|
8
13
|
export type { DecisionServiceOptions, DecisionPriceLookupKey } from './host-options.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/decision/host.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7K,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAC/F,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/decision/host.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,YAAY,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAClH,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7K,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAC/F,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/decision/host.js
CHANGED
|
@@ -3,4 +3,7 @@ export { createDecisionService } from './service.js';
|
|
|
3
3
|
export { createJevAdapter } from './adapter.js';
|
|
4
4
|
export { createStructuredDecisionAdapter, STRUCTURED_CONTRACT_REVISION, STRUCTURED_SCORE_MEANING } from './structured.js';
|
|
5
5
|
export { jevDescriptor } from './descriptor.js';
|
|
6
|
+
export { createOpenAiDecisionsAdapter } from './openai-adapter.js';
|
|
7
|
+
export { openAiDecisionsDescriptor, openAiDecisionsPrice } from './openai-descriptor.js';
|
|
8
|
+
export { createOpenAiDecisionsTransport } from '../transport/openai-decisions.js';
|
|
6
9
|
//# sourceMappingURL=host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/decision/host.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/decision/host.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev-response.d.ts","sourceRoot":"","sources":["../../src/decision/jev-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAAM,GAAG,IACc,CAAC;AAGvE,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,2BAA2B,EACrH,SAAS,CAAC,EAAE,OAAO,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"jev-response.d.ts","sourceRoot":"","sources":["../../src/decision/jev-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMpD,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAAM,GAAG,IACc,CAAC;AAGvE,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,2BAA2B,EACrH,SAAS,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAiC5C"}
|
|
@@ -35,7 +35,11 @@ export function decodeJevResponse(candidate, request, descriptor, requestId) {
|
|
|
35
35
|
}
|
|
36
36
|
if (!answered)
|
|
37
37
|
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse'), ...evidence };
|
|
38
|
-
const
|
|
38
|
+
const answer = body.answers.verdict;
|
|
39
|
+
if (!isRecord(answer) || !has(answer, 'type')) {
|
|
40
|
+
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse'), ...evidence };
|
|
41
|
+
}
|
|
42
|
+
const verdict = decodeJevVerdict(answer, request, descriptor);
|
|
39
43
|
return verdict.ok ? { ok: true, verdict: verdict.verdict, ...evidence }
|
|
40
44
|
: { ok: false, error: createDecisionError(verdict.code, 'parse'), ...evidence };
|
|
41
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev-response.js","sourceRoot":"","sources":["../../src/decision/jev-response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jev-response.js","sourceRoot":"","sources":["../../src/decision/jev-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev-verdict.d.ts","sourceRoot":"","sources":["../../src/decision/jev-verdict.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAC/G,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,2BAA2B,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"jev-verdict.d.ts","sourceRoot":"","sources":["../../src/decision/jev-verdict.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAC/G,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,2BAA2B,GAAG,gBAAgB,CAqDxI"}
|
|
@@ -10,8 +10,13 @@ export function decodeJevVerdict(candidate, request, descriptor) {
|
|
|
10
10
|
const invalid = { ok: false, code: 'VERDICT_INVALID' };
|
|
11
11
|
if (!snapshot.ok || !isRecord(snapshot.value))
|
|
12
12
|
return invalid;
|
|
13
|
-
const answer = snapshot.value;
|
|
13
|
+
const { type, ...answer } = snapshot.value;
|
|
14
14
|
const { criterion } = encoded;
|
|
15
|
+
// The pinned System One wire includes a discriminator. Primitive projections
|
|
16
|
+
// used by host reconstruction omit it; a supplied discriminator is binding.
|
|
17
|
+
const expectedType = criterion.kind === 'binary' ? 'noul' : criterion.kind === 'graded' ? 'score' : 'choice';
|
|
18
|
+
if (Object.hasOwn(snapshot.value, 'type') && type !== expectedType)
|
|
19
|
+
return invalid;
|
|
15
20
|
let score = null;
|
|
16
21
|
let label = null;
|
|
17
22
|
let confidence = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev-verdict.js","sourceRoot":"","sources":["../../src/decision/jev-verdict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEpH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG7E,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,SAAkB,EAAE,OAAwB,EAAE,UAAuC;IACpH,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAW,CAAC;IAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"jev-verdict.js","sourceRoot":"","sources":["../../src/decision/jev-verdict.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ProviderAdapter, ProviderRuntimeContext } from '../registry.js';
|
|
2
|
+
import type { GenerateRequest, GenerateResponse, StreamRequest, StreamResult } from '../generation.js';
|
|
3
|
+
import type { AuthInput } from '../auth.js';
|
|
4
|
+
import type { DecisionRequest } from './request.js';
|
|
5
|
+
import type { DecisionAdapterResult } from './adapter.js';
|
|
6
|
+
import type { DecisionEvaluatorDescriptor } from './descriptor.js';
|
|
7
|
+
import type { OpenAiDecisionsTransport } from '../transport/openai-decisions.js';
|
|
8
|
+
export interface OpenAiDecisionsAdapterOptions {
|
|
9
|
+
transport: OpenAiDecisionsTransport;
|
|
10
|
+
descriptor?: DecisionEvaluatorDescriptor;
|
|
11
|
+
}
|
|
12
|
+
/** Explicit native registration; ordinary OpenAI chat composition never acquires it. */
|
|
13
|
+
export declare class OpenAiDecisionsAdapter implements ProviderAdapter {
|
|
14
|
+
private readonly options;
|
|
15
|
+
readonly provider: {
|
|
16
|
+
providerId: "openai";
|
|
17
|
+
family: "openai";
|
|
18
|
+
label: string;
|
|
19
|
+
decisionOnly: true;
|
|
20
|
+
status: import("../providers.js").ProviderStatus;
|
|
21
|
+
capabilities: import("../capabilities.js").ProviderCapabilities;
|
|
22
|
+
};
|
|
23
|
+
readonly descriptor: DecisionEvaluatorDescriptor;
|
|
24
|
+
constructor(options: OpenAiDecisionsAdapterOptions);
|
|
25
|
+
listModels(): never[];
|
|
26
|
+
listEvaluators(): {
|
|
27
|
+
providerId: "openai" | "gemini" | "anthropic" | "mistral" | "cohere" | "gcp" | "local" | "muse" | "typesafe";
|
|
28
|
+
evaluatorId: string;
|
|
29
|
+
revision: string;
|
|
30
|
+
}[];
|
|
31
|
+
validateAuth(source?: AuthInput): {
|
|
32
|
+
ok: boolean;
|
|
33
|
+
};
|
|
34
|
+
generate(_request: GenerateRequest): Promise<GenerateResponse>;
|
|
35
|
+
stream(_request: StreamRequest): Promise<StreamResult>;
|
|
36
|
+
normalizeError(_error: unknown): {
|
|
37
|
+
providerId: "openai";
|
|
38
|
+
message: string;
|
|
39
|
+
retryable: boolean;
|
|
40
|
+
};
|
|
41
|
+
decision(request: DecisionRequest, context?: ProviderRuntimeContext & {
|
|
42
|
+
signal?: AbortSignal;
|
|
43
|
+
}): Promise<DecisionAdapterResult>;
|
|
44
|
+
}
|
|
45
|
+
export declare const createOpenAiDecisionsAdapter: (options: OpenAiDecisionsAdapterOptions) => OpenAiDecisionsAdapter;
|
|
46
|
+
//# sourceMappingURL=openai-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-adapter.d.ts","sourceRoot":"","sources":["../../src/decision/openai-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAQjF,MAAM,WAAW,6BAA6B;IAAG,SAAS,EAAE,wBAAwB,CAAC;IAAC,UAAU,CAAC,EAAE,2BAA2B,CAAA;CAAE;AAChI,wFAAwF;AACxF,qBAAa,sBAAuB,YAAW,eAAe;IAIhD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,QAAQ;;;;;;;MACqE;IACtF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;gBACpB,OAAO,EAAE,6BAA6B;IAWnE,UAAU;IACV,cAAc;;;;;IACd,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS;;;IAKzB,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC9D,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAC5D,cAAc,CAAC,MAAM,EAAE,OAAO;;;;;IACxB,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqBtI;AACD,eAAO,MAAM,4BAA4B,YAAa,6BAA6B,KAAG,sBAA6D,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { getSecretAuthMaterial } from '../auth.js';
|
|
2
|
+
import { getProviderProfile } from '../catalog.js';
|
|
3
|
+
import { openAiDecisionsDescriptor } from './openai-descriptor.js';
|
|
4
|
+
import { parseDecisionEvaluatorDescriptor } from './descriptor-validation.js';
|
|
5
|
+
import { encodeOpenAiDecisionsRequest, decodeOpenAiDecisionsResponse } from './openai-codec.js';
|
|
6
|
+
import { createDecisionError } from './errors.js';
|
|
7
|
+
import { unreportedDecisionUsage } from './receipt.js';
|
|
8
|
+
import { isRecord, snapshotBoundedJson } from './validation.js';
|
|
9
|
+
/** Explicit native registration; ordinary OpenAI chat composition never acquires it. */
|
|
10
|
+
export class OpenAiDecisionsAdapter {
|
|
11
|
+
options;
|
|
12
|
+
provider = { ...getProviderProfile('typesafe'), providerId: 'openai',
|
|
13
|
+
family: 'openai', label: 'OpenAI Decisions', decisionOnly: true };
|
|
14
|
+
descriptor;
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.options = options;
|
|
17
|
+
const descriptor = parseDecisionEvaluatorDescriptor(options.descriptor ?? openAiDecisionsDescriptor);
|
|
18
|
+
if (!descriptor || descriptor.protocol !== 'openai-decisions' || descriptor.evaluator.providerId !== 'openai'
|
|
19
|
+
|| descriptor.wireModel !== 'gpt-6-luna' || descriptor.nativeDecision || descriptor.maxBillableOutputTokens !== 0
|
|
20
|
+
|| descriptor.compilation.readout !== 'openai-decisions-v1'
|
|
21
|
+
|| descriptor.compilation.templateDigest !== openAiDecisionsDescriptor.compilation.templateDigest
|
|
22
|
+
|| descriptor.compilation.schemaDigest !== openAiDecisionsDescriptor.compilation.schemaDigest
|
|
23
|
+
|| descriptor.definition.validationProfile.profile !== 'native-distribution-v1'
|
|
24
|
+
|| descriptor.definition.validationProfile.version !== 'v1')
|
|
25
|
+
throw new Error('Invalid OpenAI Decisions descriptor.');
|
|
26
|
+
this.descriptor = descriptor;
|
|
27
|
+
}
|
|
28
|
+
listModels() { return []; }
|
|
29
|
+
listEvaluators() { return [{ ...this.descriptor.evaluator }]; }
|
|
30
|
+
validateAuth(source) {
|
|
31
|
+
const auth = getSecretAuthMaterial(source);
|
|
32
|
+
return { ok: auth?.type === 'environment-token' && auth.envVar === 'OPENAI_API_KEY' && typeof auth.token === 'string'
|
|
33
|
+
&& auth.token.trim().length > 0 && auth.token === auth.token.trim() && !/[\r\n]/.test(auth.token) };
|
|
34
|
+
}
|
|
35
|
+
async generate(_request) { throw new Error('Decisions does not support chat.'); }
|
|
36
|
+
async stream(_request) { throw new Error('Decisions does not support chat.'); }
|
|
37
|
+
normalizeError(_error) { return { providerId: 'openai', message: 'Decisions operation failed.', retryable: false }; }
|
|
38
|
+
async decision(request, context) {
|
|
39
|
+
const empty = { usage: unreportedDecisionUsage('not-dispatched'), servedEvaluator: null, servedModelId: null };
|
|
40
|
+
const failed = (code, phase = 'preflight') => ({ ok: false, error: createDecisionError(code, phase), ...empty,
|
|
41
|
+
...(phase === 'dispatch' ? { usage: unreportedDecisionUsage('unknown') } : {}) });
|
|
42
|
+
const encoded = encodeOpenAiDecisionsRequest(request, this.descriptor);
|
|
43
|
+
if (!encoded.ok)
|
|
44
|
+
return failed(encoded.code);
|
|
45
|
+
if (this.descriptor.qualification.servedIdentity !== 'qualified')
|
|
46
|
+
return failed('PROVIDER_UNAVAILABLE');
|
|
47
|
+
const auth = getSecretAuthMaterial(context?.auth);
|
|
48
|
+
if (!this.validateAuth(context?.auth).ok || auth?.type !== 'environment-token' || !auth.token)
|
|
49
|
+
return failed('CREDENTIAL_MISSING');
|
|
50
|
+
try {
|
|
51
|
+
const result = await this.options.transport.send(encoded.bodyJson, auth.token, { signal: context?.signal, timeoutMs: encoded.request.policy?.timeoutMs });
|
|
52
|
+
if (!result.ok)
|
|
53
|
+
return { ...failed(result.error.code, 'dispatch'), error: result.error };
|
|
54
|
+
const snapshot = snapshotBoundedJson(result.body);
|
|
55
|
+
const body = snapshot.ok ? snapshot.value : null;
|
|
56
|
+
if (isRecord(body) && typeof body.model === 'string' && body.model.includes(auth.token))
|
|
57
|
+
body.model = null;
|
|
58
|
+
return decodeOpenAiDecisionsResponse(body, encoded.request, this.descriptor, result.providerRequestId?.includes(auth.token) ? undefined : result.providerRequestId);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return failed('TRANSPORT_FAILED', 'dispatch');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export const createOpenAiDecisionsAdapter = (options) => new OpenAiDecisionsAdapter(options);
|
|
66
|
+
//# sourceMappingURL=openai-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-adapter.js","sourceRoot":"","sources":["../../src/decision/openai-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DecisionRequest } from './request.js';
|
|
2
|
+
import type { DecisionEvaluatorDescriptor } from './descriptor.js';
|
|
3
|
+
import type { DecisionAdapterResult } from './adapter.js';
|
|
4
|
+
export { encodeOpenAiDecisionsRequest } from './openai-request.js';
|
|
5
|
+
/** Independently validate usage and identity even when the named answer is refused. */
|
|
6
|
+
export declare function decodeOpenAiDecisionsResponse(candidate: unknown, request: DecisionRequest, descriptor: DecisionEvaluatorDescriptor, requestId?: unknown): DecisionAdapterResult;
|
|
7
|
+
//# sourceMappingURL=openai-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-codec.d.ts","sourceRoot":"","sources":["../../src/decision/openai-codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAO1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAInE,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EACxF,UAAU,EAAE,2BAA2B,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,qBAAqB,CA0CrF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { createDecisionError } from './errors.js';
|
|
2
|
+
import { unreportedDecisionUsage } from './receipt.js';
|
|
3
|
+
import { sanitizeJevId } from './jev-response.js';
|
|
4
|
+
import { hasOnlyKeys, isRecord, snapshotBoundedJson } from './validation.js';
|
|
5
|
+
import { encodeOpenAiDecisionsRequest } from './openai-request.js';
|
|
6
|
+
import { decodeOpenAiDecisionsVerdict } from './openai-verdict.js';
|
|
7
|
+
export { encodeOpenAiDecisionsRequest } from './openai-request.js';
|
|
8
|
+
const count = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
|
|
9
|
+
/** Independently validate usage and identity even when the named answer is refused. */
|
|
10
|
+
export function decodeOpenAiDecisionsResponse(candidate, request, descriptor, requestId) {
|
|
11
|
+
const snapshot = snapshotBoundedJson(candidate);
|
|
12
|
+
const body = snapshot.ok && isRecord(snapshot.value) ? snapshot.value : null;
|
|
13
|
+
const native = isRecord(body?.usage) ? body.usage : {};
|
|
14
|
+
const input = count(native.input_tokens) ? native.input_tokens : null;
|
|
15
|
+
const output = count(native.output_tokens) ? native.output_tokens : null;
|
|
16
|
+
const sum = input !== null && output !== null && count(input + output) ? input + output : null;
|
|
17
|
+
const token = (value) => value === null ? { value: null, source: 'not-reported' }
|
|
18
|
+
: { value, source: 'provider' };
|
|
19
|
+
const usage = unreportedDecisionUsage('unknown');
|
|
20
|
+
usage.tokens = { input: token(input), output: token(output), total: token(count(native.total_tokens) && native.total_tokens === sum ? sum : null) };
|
|
21
|
+
const answered = Array.isArray(body?.answers) && body.answers.length === 1 && isRecord(body.answers[0]) && body.answers[0].name === 'verdict';
|
|
22
|
+
usage.evaluatorCalls = answered ? 1 : null;
|
|
23
|
+
usage.explanations = answered ? 0 : null;
|
|
24
|
+
const servedModelId = sanitizeJevId(body?.model);
|
|
25
|
+
const matched = servedModelId !== null && descriptor.qualification.servedIdentity === 'qualified'
|
|
26
|
+
&& descriptor.acceptedServedModelIds.includes(servedModelId);
|
|
27
|
+
const providerRequestId = sanitizeJevId(requestId);
|
|
28
|
+
const evidence = { usage, servedModelId, servedEvaluator: matched ? { ...descriptor.evaluator } : null,
|
|
29
|
+
...(providerRequestId ? { providerRequestId } : {}) };
|
|
30
|
+
const failed = (code) => {
|
|
31
|
+
// Contradictory or unpriced details invalidate the counters as billing evidence.
|
|
32
|
+
if (code === 'USAGE_INVALID')
|
|
33
|
+
usage.tokens = unreportedDecisionUsage('unknown').tokens;
|
|
34
|
+
return { ok: false, error: createDecisionError(code, 'parse'), ...evidence };
|
|
35
|
+
};
|
|
36
|
+
if (!body || !hasOnlyKeys(body, ['model', 'answers', 'usage']))
|
|
37
|
+
return failed('VERDICT_INVALID');
|
|
38
|
+
if (!matched)
|
|
39
|
+
return failed('SERVED_IDENTITY_MISMATCH');
|
|
40
|
+
const cache = native.input_tokens_details;
|
|
41
|
+
const reasoning = native.output_tokens_details;
|
|
42
|
+
if (input === null || output === null || sum === null || native.total_tokens !== sum
|
|
43
|
+
|| !hasOnlyKeys(native, ['input_tokens', 'output_tokens', 'total_tokens', 'input_tokens_details', 'output_tokens_details'])
|
|
44
|
+
|| !isRecord(cache) || !hasOnlyKeys(cache, ['cached_tokens', 'cache_write_tokens'])
|
|
45
|
+
|| cache.cached_tokens !== 0 || cache.cache_write_tokens !== 0
|
|
46
|
+
|| !isRecord(reasoning) || !hasOnlyKeys(reasoning, ['reasoning_tokens'])
|
|
47
|
+
|| !count(reasoning.reasoning_tokens) || reasoning.reasoning_tokens > output)
|
|
48
|
+
return failed('USAGE_INVALID');
|
|
49
|
+
if (!answered)
|
|
50
|
+
return failed('VERDICT_INVALID');
|
|
51
|
+
const answer = body.answers[0];
|
|
52
|
+
if (answer.type === 'refusal')
|
|
53
|
+
return failed(hasOnlyKeys(answer, ['name', 'type']) ? 'PROVIDER_REJECTED' : 'VERDICT_INVALID');
|
|
54
|
+
const encoded = encodeOpenAiDecisionsRequest(request, descriptor);
|
|
55
|
+
if (!encoded.ok)
|
|
56
|
+
return failed(encoded.code);
|
|
57
|
+
const verdict = decodeOpenAiDecisionsVerdict(answer, encoded.request, encoded.criterion, descriptor);
|
|
58
|
+
return verdict ? { ok: true, verdict, ...evidence } : failed('VERDICT_INVALID');
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=openai-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-codec.js","sourceRoot":"","sources":["../../src/decision/openai-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DecisionEvaluatorDescriptor } from './descriptor.js';
|
|
2
|
+
import type { DecisionPrice } from './pricing.js';
|
|
3
|
+
/** Documented candidate only. Account entitlement and stable selection are unverified. */
|
|
4
|
+
export declare const openAiDecisionsDescriptor: DecisionEvaluatorDescriptor;
|
|
5
|
+
/** Published standard/no-cache rate projection; the host must supply its authoritative row. */
|
|
6
|
+
export declare const openAiDecisionsPrice: DecisionPrice;
|
|
7
|
+
//# sourceMappingURL=openai-descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-descriptor.d.ts","sourceRoot":"","sources":["../../src/decision/openai-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,EAAE,2BAmBvC,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,EAAE,aAIlC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { digestStructuredArtifact } from './validation.js';
|
|
2
|
+
const contract = 'openai-decisions-v1';
|
|
3
|
+
const digest = (value) => digestStructuredArtifact(value);
|
|
4
|
+
/** Documented candidate only. Account entitlement and stable selection are unverified. */
|
|
5
|
+
export const openAiDecisionsDescriptor = {
|
|
6
|
+
evaluator: { providerId: 'openai', evaluatorId: 'gpt-6-luna-decisions', revision: 'gpt-6-luna-decisions-v1-unqualified' },
|
|
7
|
+
protocol: 'openai-decisions', wireModel: 'gpt-6-luna', acceptedServedModelIds: [],
|
|
8
|
+
qualification: { servedIdentity: 'unqualified', billingBound: 'unqualified', evidenceRefs: [] },
|
|
9
|
+
maxBillableInputTokens: 2048, maxBillableOutputTokens: 0,
|
|
10
|
+
maxRequestBytes: 256 * 1024, maxStateQuestionBytes: 32 * 1024,
|
|
11
|
+
probabilityTolerance: 1e-4, scoreNativeKeys: 'index-string', nativeDecision: false,
|
|
12
|
+
confidence: { meaning: 'provider-confidence',
|
|
13
|
+
meaningRef: 'https://developers.openai.com/api/docs/guides/decisions#interpret-the-answers', min: 0, max: 1 },
|
|
14
|
+
compilation: { templateDigest: digest({ contract, input: 'json-data', question: 'verdict', cache: 'disabled' }),
|
|
15
|
+
schemaDigest: digest({ contract, answers: ['predicate', 'choice', 'score', 'refusal'] }), readout: contract },
|
|
16
|
+
definition: { validationProfile: { profile: 'native-distribution-v1', version: 'v1' },
|
|
17
|
+
kinds: ['binary', 'choice', 'graded'].map((kind) => ({ kind, schemaDigest: digest({ contract, kind }) })),
|
|
18
|
+
evidenceRequirements: ['served-identity', 'reported-usage', 'one-named-answer'],
|
|
19
|
+
executionDigest: digest({ contract, attempts: 1, cache: 'disabled', maxBillableInputTokens: 2048, maxBillableOutputTokens: 0 }),
|
|
20
|
+
bundleDigest: digest({ contract, qualification: 'unqualified', sourceDate: '2026-10-26' }) },
|
|
21
|
+
priceProtocol: { authority: 'control.model_pricing', revision: 'openai-decisions-standard-no-cache-2026-10-26' },
|
|
22
|
+
registeredCriteria: [], retention: { status: 'unknown', basis: 'published-policy', retentionDays: null,
|
|
23
|
+
gap: 'unknown (source-gap)', evidenceRefs: ['https://developers.openai.com/api/docs/guides/your-data'] },
|
|
24
|
+
};
|
|
25
|
+
/** Published standard/no-cache rate projection; the host must supply its authoritative row. */
|
|
26
|
+
export const openAiDecisionsPrice = {
|
|
27
|
+
providerId: 'openai', modelId: 'gpt-6-luna', ...{ priceRevision: openAiDecisionsDescriptor.priceProtocol.revision },
|
|
28
|
+
authority: 'control.model_pricing', protocol: 'openai-decisions', inputMicroUsdPerMtok: '100000',
|
|
29
|
+
outputMicroUsdPerMtok: '0', minimumMicroUsd: '0', identityMismatchPricing: 'requires-reconciliation',
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=openai-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-descriptor.js","sourceRoot":"","sources":["../../src/decision/openai-descriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DecisionRequest } from './request.js';
|
|
2
|
+
import type { DecisionEvaluatorDescriptor, ResolvedDecisionCriterion } from './descriptor.js';
|
|
3
|
+
import type { DecisionErrorCode } from './errors.js';
|
|
4
|
+
export type OpenAiDecisionsEncoding = {
|
|
5
|
+
ok: true;
|
|
6
|
+
request: DecisionRequest;
|
|
7
|
+
criterion: ResolvedDecisionCriterion;
|
|
8
|
+
bodyJson: string;
|
|
9
|
+
} | {
|
|
10
|
+
ok: false;
|
|
11
|
+
code: DecisionErrorCode;
|
|
12
|
+
};
|
|
13
|
+
/** Dedicated one-question protocol; evidence stays in input data, never in instructions. */
|
|
14
|
+
export declare function encodeOpenAiDecisionsRequest(candidate: unknown, descriptor: DecisionEvaluatorDescriptor): OpenAiDecisionsEncoding;
|
|
15
|
+
//# sourceMappingURL=openai-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-request.d.ts","sourceRoot":"","sources":["../../src/decision/openai-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,MAAM,uBAAuB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,yBAAyB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3C,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,2BAA2B,GAAG,uBAAuB,CA0BjI"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { parseDecisionRequest } from './request.js';
|
|
2
|
+
/** Dedicated one-question protocol; evidence stays in input data, never in instructions. */
|
|
3
|
+
export function encodeOpenAiDecisionsRequest(candidate, descriptor) {
|
|
4
|
+
const parsed = parseDecisionRequest(candidate);
|
|
5
|
+
if (!parsed.ok)
|
|
6
|
+
return parsed;
|
|
7
|
+
const request = parsed.request;
|
|
8
|
+
if (descriptor.protocol !== 'openai-decisions' || request.evaluator.providerId !== descriptor.evaluator.providerId
|
|
9
|
+
|| request.evaluator.evaluatorId !== descriptor.evaluator.evaluatorId)
|
|
10
|
+
return { ok: false, code: 'EVALUATOR_UNKNOWN' };
|
|
11
|
+
if (request.evaluator.revision !== descriptor.evaluator.revision)
|
|
12
|
+
return { ok: false, code: 'REVISION_MISMATCH' };
|
|
13
|
+
const ref = request.criterion;
|
|
14
|
+
const criterion = ref.kind === 'registered' ? descriptor.registeredCriteria.find((entry) => entry.criteriaId === ref.criteriaId && entry.revision === ref.revision)?.criterion : ref;
|
|
15
|
+
if (!criterion || (criterion.kind === 'choice' && (criterion.options.length < 2 || criterion.options.length > 255))
|
|
16
|
+
|| (criterion.kind === 'graded' && (criterion.levels.length < 2 || criterion.levels.length > 10))
|
|
17
|
+
|| request.policy?.explanation === 'required' || request.decision?.kind === 'provider')
|
|
18
|
+
return { ok: false, code: 'CAPABILITY_UNSUPPORTED' };
|
|
19
|
+
const question = { name: 'verdict', instructions: criterion.kind === 'binary' && criterion.criteria
|
|
20
|
+
? JSON.stringify({ instructions: criterion.instructions, criteria: criterion.criteria }) : criterion.instructions,
|
|
21
|
+
type: criterion.kind === 'binary' ? 'predicate' : criterion.kind === 'graded' ? 'score' : 'choice',
|
|
22
|
+
...(criterion.kind === 'choice' ? { choices: criterion.options.map((option) => ({ value: option.id, description: option.description })) } : {}),
|
|
23
|
+
...(criterion.kind === 'graded' ? { levels: criterion.levels.map((level) => ({ label: level.label, description: level.description })) } : {}) };
|
|
24
|
+
const input = JSON.stringify(request.inputs);
|
|
25
|
+
// Explicit mode without breakpoints disables the currently documented implicit cache.
|
|
26
|
+
const bodyJson = JSON.stringify({ model: descriptor.wireModel, input, questions: [question], prompt_cache_options: { mode: 'explicit' } });
|
|
27
|
+
const bytes = (value) => new TextEncoder().encode(value).byteLength;
|
|
28
|
+
if (bytes(bodyJson) > descriptor.maxRequestBytes || bytes(input) + bytes(JSON.stringify(question)) > descriptor.maxStateQuestionBytes) {
|
|
29
|
+
return { ok: false, code: 'REQUEST_INVALID' };
|
|
30
|
+
}
|
|
31
|
+
return { ok: true, request, criterion, bodyJson };
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=openai-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-request.js","sourceRoot":"","sources":["../../src/decision/openai-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DecisionRequest } from './request.js';
|
|
2
|
+
import type { DecisionEvaluatorDescriptor, ResolvedDecisionCriterion } from './descriptor.js';
|
|
3
|
+
import type { DecisionValidationContext } from './validation-context.js';
|
|
4
|
+
import type { DecisionVerdict } from './verdict.js';
|
|
5
|
+
/** Trusted native semantics projection, shared by decode and host reconstruction. */
|
|
6
|
+
export declare function openAiDecisionsContext(request: DecisionRequest, criterion: ResolvedDecisionCriterion, descriptor: DecisionEvaluatorDescriptor): DecisionValidationContext;
|
|
7
|
+
/** Closed vendor codec. Typed choice values are never coerced into string IDs. */
|
|
8
|
+
export declare function decodeOpenAiDecisionsVerdict(answer: unknown, request: DecisionRequest, criterion: ResolvedDecisionCriterion, descriptor: DecisionEvaluatorDescriptor): DecisionVerdict | null;
|
|
9
|
+
//# sourceMappingURL=openai-verdict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-verdict.d.ts","sourceRoot":"","sources":["../../src/decision/openai-verdict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,yBAAyB,EACnG,UAAU,EAAE,2BAA2B,GAAG,yBAAyB,CAUpE;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EACpF,SAAS,EAAE,yBAAyB,EAAE,UAAU,EAAE,2BAA2B,GAAG,eAAe,GAAG,IAAI,CA4CvG"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { deriveDecision, parseDecisionConfidence, parseDecisionScore } from './verdict.js';
|
|
2
|
+
import { isValidDecisionVerdict } from './client.js';
|
|
3
|
+
import { hasOnlyKeys, isRecord } from './validation.js';
|
|
4
|
+
/** Trusted native semantics projection, shared by decode and host reconstruction. */
|
|
5
|
+
export function openAiDecisionsContext(request, criterion, descriptor) {
|
|
6
|
+
return { evaluator: { ...descriptor.evaluator }, validationProfile: { profile: 'native-distribution-v1', version: 'v1' },
|
|
7
|
+
acceptedServedModelIds: [...descriptor.acceptedServedModelIds], definitionDigest: descriptor.definition.bundleDigest,
|
|
8
|
+
semantics: { nativeDecision: false, rationale: 'forbidden',
|
|
9
|
+
score: criterion.kind === 'choice' ? null : { meaning: criterion.kind === 'binary' ? 'probability-true' : 'rubric-grade',
|
|
10
|
+
min: 0, max: criterion.kind === 'binary' ? 1 : criterion.levels.length - 1 },
|
|
11
|
+
confidence: criterion.kind === 'binary' ? null : { ...descriptor.confidence } },
|
|
12
|
+
...(request.criterion.kind === 'registered' ? { registeredResolution: { criteriaId: request.criterion.criteriaId,
|
|
13
|
+
revision: request.criterion.revision, resolvedKind: criterion.kind, criterion,
|
|
14
|
+
resolvedAt: new Date().toISOString(), maxAgeMs: 1 } } : {}) };
|
|
15
|
+
}
|
|
16
|
+
/** Closed vendor codec. Typed choice values are never coerced into string IDs. */
|
|
17
|
+
export function decodeOpenAiDecisionsVerdict(answer, request, criterion, descriptor) {
|
|
18
|
+
if (!isRecord(answer) || answer.name !== 'verdict')
|
|
19
|
+
return null;
|
|
20
|
+
let score = null;
|
|
21
|
+
let label = null;
|
|
22
|
+
let confidence = null;
|
|
23
|
+
let distribution = null;
|
|
24
|
+
if (criterion.kind === 'binary') {
|
|
25
|
+
if (answer.type !== 'predicate' || !hasOnlyKeys(answer, ['type', 'name', 'probability']))
|
|
26
|
+
return null;
|
|
27
|
+
score = parseDecisionScore({ value: answer.probability, meaning: 'probability-true',
|
|
28
|
+
scale: { kind: 'bounded', min: 0, max: 1, direction: 'unordered' } });
|
|
29
|
+
if (!score)
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (!hasOnlyKeys(answer, ['type', 'name', 'confidence', 'probabilities', criterion.kind === 'choice' ? 'choice' : 'score'])
|
|
34
|
+
|| answer.type !== (criterion.kind === 'choice' ? 'choice' : 'score') || !Array.isArray(answer.probabilities))
|
|
35
|
+
return null;
|
|
36
|
+
const entries = [];
|
|
37
|
+
for (const entry of answer.probabilities) {
|
|
38
|
+
if (!isRecord(entry) || !hasOnlyKeys(entry, criterion.kind === 'choice' ? ['value', 'probability'] : ['value', 'label', 'probability']))
|
|
39
|
+
return null;
|
|
40
|
+
if (criterion.kind === 'choice') {
|
|
41
|
+
if (typeof entry.value !== 'string' || !criterion.options.some((option) => option.id === entry.value))
|
|
42
|
+
return null;
|
|
43
|
+
entries.push({ outcome: entry.value, nativeOutcome: entry.value, probability: entry.probability });
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (typeof entry.value !== 'number' || !Number.isSafeInteger(entry.value)
|
|
47
|
+
|| entry.value < 0 || entry.value >= criterion.levels.length || entry.label !== criterion.levels[entry.value].label)
|
|
48
|
+
return null;
|
|
49
|
+
entries.push({ outcome: criterion.levels[entry.value].label, nativeOutcome: String(entry.value), probability: entry.probability });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
distribution = entries;
|
|
53
|
+
confidence = parseDecisionConfidence({ value: answer.confidence, ...descriptor.confidence, origin: 'provider' });
|
|
54
|
+
if (!confidence)
|
|
55
|
+
return null;
|
|
56
|
+
if (criterion.kind === 'choice') {
|
|
57
|
+
if (typeof answer.choice !== 'string')
|
|
58
|
+
return null;
|
|
59
|
+
label = { value: answer.choice, origin: 'provider' };
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
score = parseDecisionScore({ value: answer.score, meaning: 'rubric-grade',
|
|
63
|
+
scale: { kind: 'bounded', min: 0, max: criterion.levels.length - 1, direction: criterion.direction } });
|
|
64
|
+
if (!score)
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const derived = deriveDecision({ rule: request.decision, score, label: label?.value ?? null, providerDecision: null,
|
|
69
|
+
declaredLabels: criterion.kind === 'choice' ? criterion.options.map((option) => option.id) : [] });
|
|
70
|
+
if (!derived.ok)
|
|
71
|
+
return null;
|
|
72
|
+
const verdict = { criterionKind: request.criterion.kind, resolvedCriterionKind: criterion.kind,
|
|
73
|
+
score, decision: derived.decision, label, confidence, distribution, rationale: null };
|
|
74
|
+
return isValidDecisionVerdict(verdict, request, openAiDecisionsContext(request, criterion, descriptor)) ? verdict : null;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=openai-verdict.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-verdict.js","sourceRoot":"","sources":["../../src/decision/openai-verdict.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/decision/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/decision/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,WAAW,kBAAkB;IAAG,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;AACxG,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,2BAA2B,EACtG,IAAI,GAAE,kBAAuB,GAAG,iBAAiB,GAAG,IAAI,CAqBzD"}
|
package/dist/decision/policy.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { encodeJevRequest } from './jev-codec.js';
|
|
2
|
+
import { encodeOpenAiDecisionsRequest } from './openai-request.js';
|
|
2
3
|
/** Capability/decision refusal precedes credential acquisition and financial admission. */
|
|
3
4
|
export function validateDecisionPolicy(request, descriptor, host = {}) {
|
|
4
|
-
const encoded = encodeJevRequest(request, descriptor);
|
|
5
|
+
const encoded = descriptor.protocol === 'openai-decisions' ? encodeOpenAiDecisionsRequest(request, descriptor) : encodeJevRequest(request, descriptor);
|
|
5
6
|
if (!encoded.ok)
|
|
6
7
|
return encoded.code;
|
|
7
8
|
const criterion = encoded.criterion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/decision/policy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/decision/policy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAGnE,2FAA2F;AAC3F,MAAM,UAAU,sBAAsB,CAAC,OAAwB,EAAE,UAAuC,EACtG,OAA2B,EAAE;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,KAAK,kBAAkB,CAAC,CAAC,CAAC,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvJ,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,UAAU,CAAC,aAAa,CAAC,cAAc,KAAK,WAAW;QAAE,OAAO,sBAAsB,CAAC;IAC3F,IAAI,OAAO,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU;QAAE,OAAO,wBAAwB,CAAC;IACzH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,wBAAwB,CAAC;IACnG,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrI,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,wBAAwB,CAAC;QACjE,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG;YAAE,OAAO,iBAAiB,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,wBAAwB,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,iBAAiB,CAAC;IACxH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/decision/pricing.js
CHANGED
|
@@ -18,18 +18,18 @@ export function quoteDecision(request, descriptor, candidate, hostCap) {
|
|
|
18
18
|
const price = freezeDecisionData(value);
|
|
19
19
|
if (descriptor.qualification.billingBound !== 'qualified')
|
|
20
20
|
return { ok: false, code: 'BUDGET_BOUND_UNAVAILABLE' };
|
|
21
|
-
const
|
|
22
|
-
// JEV
|
|
23
|
-
if (
|
|
21
|
+
const inputOnly = (descriptor.protocol ?? 'jev-native') === 'jev-native' || descriptor.protocol === 'openai-decisions';
|
|
22
|
+
// Native JEV/Decisions tariffs admit no billed output; reject a foreign output rate.
|
|
23
|
+
if (inputOnly && price.outputMicroUsdPerMtok !== '0')
|
|
24
24
|
return { ok: false, code: 'BUDGET_BOUND_UNAVAILABLE' };
|
|
25
|
-
//
|
|
25
|
+
// Other protocols price output work, so quoting requires the descriptor's
|
|
26
26
|
// enforced output/reasoning bound. Without it no finite liability exists.
|
|
27
27
|
const outputBound = descriptor.maxBillableOutputTokens;
|
|
28
|
-
if (!
|
|
28
|
+
if (!inputOnly && (typeof outputBound !== 'number' || !Number.isSafeInteger(outputBound) || outputBound < 1)) {
|
|
29
29
|
return { ok: false, code: 'BUDGET_BOUND_UNAVAILABLE' };
|
|
30
30
|
}
|
|
31
31
|
const inputReserve = ceilRate(descriptor.maxBillableInputTokens, price.inputMicroUsdPerMtok);
|
|
32
|
-
const outputReserve =
|
|
32
|
+
const outputReserve = inputOnly ? 0n : ceilRate(descriptor.maxBillableOutputTokens, price.outputMicroUsdPerMtok);
|
|
33
33
|
const reserve = minimum(inputReserve + outputReserve, price);
|
|
34
34
|
const caps = [hostCap, request.policy?.budget?.maxCostMicroUsd].filter((v) => v !== undefined);
|
|
35
35
|
if (caps.some((cap) => !isMicroUsd(cap)))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/decision/pricing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAa9F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9H,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,QAAQ,CAAC;AACxG,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAoB,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAEvI,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,UAAuC,EAAE,SAAkB,EACjH,OAAkB;IAClB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,sBAAsB;QAC3G,uBAAuB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,SAAS,CAAC,UAAU;WACrJ,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,QAAQ;WACnG,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;WACrC,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;WACzH,CAAC,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,uBAAuB,CAAC;WAChG,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,aAAa,CAAC,SAAS;WACtD,KAAK,CAAC,QAAQ,KAAK,CAAC,UAAU,CAAC,QAAQ,IAAI,YAAY,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IACjH,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAiC,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,aAAa,CAAC,YAAY,KAAK,WAAW;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;IAClH,MAAM,
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/decision/pricing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/decision/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAShE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,2BAA2B,GAAG,IAAI,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;IACtH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;qFACiF;IACjF,kBAAkB,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C;AACD,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACrI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAuB3C,2FAA2F;AAC3F,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+BhI;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AACpH,uFAAuF;AACvF,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,2BAA2B,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/decision/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAShE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,2BAA2B,GAAG,IAAI,GAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAC;IACtH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;qFACiF;IACjF,kBAAkB,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C;AACD,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GACrI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAuB3C,2FAA2F;AAC3F,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+BhI;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AACpH,uFAAuF;AACvF,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,2BAA2B,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmB1I;AAUD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,cAAc,CA8BtF"}
|
package/dist/decision/service.js
CHANGED
|
@@ -83,7 +83,8 @@ export async function resolveDecisionAuth(descriptor, resolver) {
|
|
|
83
83
|
|| typeof material.token !== 'string'
|
|
84
84
|
|| !material.token.trim() || material.token !== material.token.trim() || /[\r\n]/.test(material.token)
|
|
85
85
|
|| typeof material.envVar !== 'string' || !material.envVar.trim()
|
|
86
|
-
|| (isJev && material.envVar !== 'JEV_API_KEY')
|
|
86
|
+
|| (isJev && material.envVar !== 'JEV_API_KEY')
|
|
87
|
+
|| (descriptor.protocol === 'openai-decisions' && material.envVar !== 'OPENAI_API_KEY')) {
|
|
87
88
|
return { ok: false, code: 'CREDENTIAL_MISSING' };
|
|
88
89
|
}
|
|
89
90
|
return { ok: true, auth: freezeDecisionData(snapshot.value) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/decision/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/decision/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DecisionError } from '../decision/errors.js';
|
|
2
|
+
export declare const OPENAI_DECISIONS_ENDPOINT = "https://api.openai.com/v1/decisions";
|
|
3
|
+
export type OpenAiDecisionsTransportResult = {
|
|
4
|
+
ok: true;
|
|
5
|
+
body: unknown;
|
|
6
|
+
providerRequestId?: string;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
error: DecisionError;
|
|
10
|
+
};
|
|
11
|
+
export interface OpenAiDecisionsTransport {
|
|
12
|
+
send(bodyJson: string, token: string, options?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
timeoutMs?: number;
|
|
15
|
+
}): Promise<OpenAiDecisionsTransportResult>;
|
|
16
|
+
}
|
|
17
|
+
export interface OpenAiDecisionsTransportOptions {
|
|
18
|
+
fetch: typeof globalThis.fetch;
|
|
19
|
+
maxResponseBytes?: number;
|
|
20
|
+
}
|
|
21
|
+
/** Trusted, explicitly injected fetch must have retries disabled. Construction performs no I/O. */
|
|
22
|
+
export declare function createOpenAiDecisionsTransport(options: OpenAiDecisionsTransportOptions): OpenAiDecisionsTransport;
|
|
23
|
+
//# sourceMappingURL=openai-decisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-decisions.d.ts","sourceRoot":"","sources":["../../src/transport/openai-decisions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAC/E,MAAM,MAAM,8BAA8B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AACxC,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACxI;AACD,MAAM,WAAW,+BAA+B;IAAG,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE;AAE9G,mGAAmG;AACnG,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B,GAAG,wBAAwB,CA8EjH"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { createDecisionError } from '../decision/errors.js';
|
|
2
|
+
import { sanitizeJevId as sanitizeOpenAiDecisionsId } from '../decision/jev-response.js';
|
|
3
|
+
import { DECISION_MAX_JSON_BYTES, snapshotBoundedJson } from '../decision/validation.js';
|
|
4
|
+
export const OPENAI_DECISIONS_ENDPOINT = 'https://api.openai.com/v1/decisions';
|
|
5
|
+
/** Trusted, explicitly injected fetch must have retries disabled. Construction performs no I/O. */
|
|
6
|
+
export function createOpenAiDecisionsTransport(options) {
|
|
7
|
+
const cap = options.maxResponseBytes ?? DECISION_MAX_JSON_BYTES;
|
|
8
|
+
if (!Number.isSafeInteger(cap) || cap < 1 || cap > DECISION_MAX_JSON_BYTES)
|
|
9
|
+
throw new Error('Invalid OPENAI_DECISIONS response bound.');
|
|
10
|
+
return { async send(bodyJson, token, call = {}) {
|
|
11
|
+
if (!token.trim() || token !== token.trim() || /[\r\n]/.test(token))
|
|
12
|
+
return { ok: false, error: createDecisionError('CREDENTIAL_MISSING', 'preflight') };
|
|
13
|
+
if (call.signal?.aborted)
|
|
14
|
+
return { ok: false, error: createDecisionError('CANCELLED', 'dispatch') };
|
|
15
|
+
const timeoutMs = call.timeoutMs ?? 10_000;
|
|
16
|
+
if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 60_000) {
|
|
17
|
+
return { ok: false, error: createDecisionError('REQUEST_INVALID', 'preflight') };
|
|
18
|
+
}
|
|
19
|
+
const controller = new AbortController();
|
|
20
|
+
let timedOut = false;
|
|
21
|
+
let reader;
|
|
22
|
+
let onAbort;
|
|
23
|
+
const aborted = new Promise((resolve) => {
|
|
24
|
+
onAbort = () => {
|
|
25
|
+
void reader?.cancel().catch(() => { });
|
|
26
|
+
resolve({ ok: false, error: createDecisionError(timedOut ? 'TIMEOUT' : 'CANCELLED', 'dispatch') });
|
|
27
|
+
};
|
|
28
|
+
controller.signal.addEventListener('abort', onAbort, { once: true });
|
|
29
|
+
});
|
|
30
|
+
const cancel = () => controller.abort();
|
|
31
|
+
call.signal?.addEventListener('abort', cancel, { once: true });
|
|
32
|
+
const timer = setTimeout(() => { timedOut = true; controller.abort(); }, timeoutMs);
|
|
33
|
+
const run = async () => {
|
|
34
|
+
try {
|
|
35
|
+
const response = await options.fetch(OPENAI_DECISIONS_ENDPOINT, { method: 'POST', redirect: 'manual',
|
|
36
|
+
headers: { authorization: `Bearer ${token}`, 'content-type': 'application/json', accept: 'application/json' },
|
|
37
|
+
body: bodyJson, signal: controller.signal });
|
|
38
|
+
if (controller.signal.aborted) {
|
|
39
|
+
void response.body?.cancel().catch(() => { });
|
|
40
|
+
return await aborted;
|
|
41
|
+
}
|
|
42
|
+
if (response.redirected || (response.status >= 300 && response.status < 400)) {
|
|
43
|
+
return { ok: false, error: createDecisionError('PROVIDER_REJECTED', 'dispatch') };
|
|
44
|
+
}
|
|
45
|
+
if (response.status !== 200) {
|
|
46
|
+
const code = response.status === 401 ? 'AUTHENTICATION_FAILED' : response.status === 422 ? 'PROVIDER_REJECTED'
|
|
47
|
+
: response.status === 429 ? 'RATE_LIMITED' : response.status === 529 ? 'PROVIDER_OVERLOADED'
|
|
48
|
+
: response.status >= 500 ? 'PROVIDER_UNAVAILABLE' : 'PROVIDER_REJECTED';
|
|
49
|
+
return { ok: false, error: createDecisionError(code, 'dispatch') };
|
|
50
|
+
}
|
|
51
|
+
if (!/^application\/json(?:\s*;|$)/i.test(response.headers.get('content-type') ?? '')) {
|
|
52
|
+
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse') };
|
|
53
|
+
}
|
|
54
|
+
const declared = response.headers.get('content-length');
|
|
55
|
+
if (declared !== null && (!/^\d+$/.test(declared) || Number(declared) > cap)) {
|
|
56
|
+
return { ok: false, error: createDecisionError('RESPONSE_TOO_LARGE', 'parse') };
|
|
57
|
+
}
|
|
58
|
+
reader = response.body?.getReader();
|
|
59
|
+
if (!reader)
|
|
60
|
+
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse') };
|
|
61
|
+
const buffer = new Uint8Array(cap);
|
|
62
|
+
let size = 0;
|
|
63
|
+
try {
|
|
64
|
+
for (;;) {
|
|
65
|
+
const chunk = await reader.read();
|
|
66
|
+
if (chunk.done)
|
|
67
|
+
break;
|
|
68
|
+
if (size + chunk.value.byteLength > cap) {
|
|
69
|
+
void reader.cancel().catch(() => { });
|
|
70
|
+
return { ok: false, error: createDecisionError('RESPONSE_TOO_LARGE', 'parse') };
|
|
71
|
+
}
|
|
72
|
+
buffer.set(chunk.value, size);
|
|
73
|
+
size += chunk.value.byteLength;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
reader.releaseLock();
|
|
78
|
+
reader = undefined;
|
|
79
|
+
}
|
|
80
|
+
let parsed;
|
|
81
|
+
try {
|
|
82
|
+
parsed = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(buffer.subarray(0, size)));
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse') };
|
|
86
|
+
}
|
|
87
|
+
const snapshot = snapshotBoundedJson(parsed, cap);
|
|
88
|
+
if (!snapshot.ok)
|
|
89
|
+
return { ok: false, error: createDecisionError('VERDICT_INVALID', 'parse') };
|
|
90
|
+
const id = sanitizeOpenAiDecisionsId(response.headers.get('x-request-id'));
|
|
91
|
+
return { ok: true, body: snapshot.value, ...(id && !id.includes(token) ? { providerRequestId: id } : {}) };
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return { ok: false, error: createDecisionError(timedOut ? 'TIMEOUT' : controller.signal.aborted ? 'CANCELLED' : 'TRANSPORT_FAILED', 'dispatch') };
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
try {
|
|
98
|
+
return await Promise.race([run(), aborted]);
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
clearTimeout(timer);
|
|
102
|
+
call.signal?.removeEventListener('abort', cancel);
|
|
103
|
+
controller.signal.removeEventListener('abort', onAbort);
|
|
104
|
+
}
|
|
105
|
+
} };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=openai-decisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-decisions.js","sourceRoot":"","sources":["../../src/transport/openai-decisions.ts"],"names":[],"mappings":"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"}
|