@sentropic/llm-mesh 0.29.0 → 0.31.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.
Files changed (86) hide show
  1. package/README.md +21 -0
  2. package/dist/decision/adapter.d.ts.map +1 -1
  3. package/dist/decision/adapter.js +2 -1
  4. package/dist/decision/adapter.js.map +1 -1
  5. package/dist/decision/admission.d.ts +2 -1
  6. package/dist/decision/admission.d.ts.map +1 -1
  7. package/dist/decision/admission.js +5 -1
  8. package/dist/decision/admission.js.map +1 -1
  9. package/dist/decision/assessment-controls.d.ts +6 -0
  10. package/dist/decision/assessment-controls.d.ts.map +1 -0
  11. package/dist/decision/assessment-controls.js +45 -0
  12. package/dist/decision/assessment-controls.js.map +1 -0
  13. package/dist/decision/assessment-recording.d.ts +23 -0
  14. package/dist/decision/assessment-recording.d.ts.map +1 -0
  15. package/dist/decision/assessment-recording.js +73 -0
  16. package/dist/decision/assessment-recording.js.map +1 -0
  17. package/dist/decision/assessment-statistics.d.ts +14 -0
  18. package/dist/decision/assessment-statistics.d.ts.map +1 -0
  19. package/dist/decision/assessment-statistics.js +88 -0
  20. package/dist/decision/assessment-statistics.js.map +1 -0
  21. package/dist/decision/assessment-types.d.ts +123 -0
  22. package/dist/decision/assessment-types.d.ts.map +1 -0
  23. package/dist/decision/assessment-types.js +2 -0
  24. package/dist/decision/assessment-types.js.map +1 -0
  25. package/dist/decision/assessment-validation.d.ts +7 -0
  26. package/dist/decision/assessment-validation.d.ts.map +1 -0
  27. package/dist/decision/assessment-validation.js +124 -0
  28. package/dist/decision/assessment-validation.js.map +1 -0
  29. package/dist/decision/assessment.d.ts +6 -0
  30. package/dist/decision/assessment.d.ts.map +1 -0
  31. package/dist/decision/assessment.js +157 -0
  32. package/dist/decision/assessment.js.map +1 -0
  33. package/dist/decision/descriptor-validation.d.ts.map +1 -1
  34. package/dist/decision/descriptor-validation.js +4 -2
  35. package/dist/decision/descriptor-validation.js.map +1 -1
  36. package/dist/decision/descriptor.d.ts +2 -0
  37. package/dist/decision/descriptor.d.ts.map +1 -1
  38. package/dist/decision/descriptor.js.map +1 -1
  39. package/dist/decision/dispatch.d.ts.map +1 -1
  40. package/dist/decision/dispatch.js +2 -1
  41. package/dist/decision/dispatch.js.map +1 -1
  42. package/dist/decision/host-options.d.ts +5 -0
  43. package/dist/decision/host-options.d.ts.map +1 -1
  44. package/dist/decision/host.d.ts +5 -0
  45. package/dist/decision/host.d.ts.map +1 -1
  46. package/dist/decision/host.js +3 -0
  47. package/dist/decision/host.js.map +1 -1
  48. package/dist/decision/index.d.ts +2 -0
  49. package/dist/decision/index.d.ts.map +1 -1
  50. package/dist/decision/jev-response.js +1 -1
  51. package/dist/decision/jev-response.js.map +1 -1
  52. package/dist/decision/openai-adapter.d.ts.map +1 -1
  53. package/dist/decision/openai-adapter.js +2 -1
  54. package/dist/decision/openai-adapter.js.map +1 -1
  55. package/dist/decision/openai-codec.js +1 -1
  56. package/dist/decision/openai-codec.js.map +1 -1
  57. package/dist/decision/policy.d.ts.map +1 -1
  58. package/dist/decision/policy.js +2 -1
  59. package/dist/decision/policy.js.map +1 -1
  60. package/dist/decision/pricing.d.ts +1 -0
  61. package/dist/decision/pricing.d.ts.map +1 -1
  62. package/dist/decision/pricing.js +25 -10
  63. package/dist/decision/pricing.js.map +1 -1
  64. package/dist/decision/qualification-scope.d.ts +22 -0
  65. package/dist/decision/qualification-scope.d.ts.map +1 -0
  66. package/dist/decision/qualification-scope.js +36 -0
  67. package/dist/decision/qualification-scope.js.map +1 -0
  68. package/dist/decision/qualification.d.ts +34 -0
  69. package/dist/decision/qualification.d.ts.map +1 -0
  70. package/dist/decision/qualification.js +74 -0
  71. package/dist/decision/qualification.js.map +1 -0
  72. package/dist/decision/receipt.d.ts +9 -3
  73. package/dist/decision/receipt.d.ts.map +1 -1
  74. package/dist/decision/receipt.js.map +1 -1
  75. package/dist/decision/service.d.ts.map +1 -1
  76. package/dist/decision/service.js +19 -3
  77. package/dist/decision/service.js.map +1 -1
  78. package/dist/speech/index.d.ts +1 -0
  79. package/dist/speech/index.d.ts.map +1 -1
  80. package/dist/speech/index.js +1 -0
  81. package/dist/speech/index.js.map +1 -1
  82. package/dist/speech/openai-transcription.d.ts +173 -0
  83. package/dist/speech/openai-transcription.d.ts.map +1 -0
  84. package/dist/speech/openai-transcription.js +659 -0
  85. package/dist/speech/openai-transcription.js.map +1 -0
  86. package/package.json +1 -1
@@ -9,6 +9,7 @@ import { dispatchDecision } from './dispatch.js';
9
9
  import { hasOnlyKeys } from './validation.js';
10
10
  import { isMicroUsd } from './pricing.js';
11
11
  import { runWithDecisionDeadline } from './deadline.js';
12
+ import { createDecisionReadinessCheck } from './qualification.js';
12
13
  /** Order-insensitive snapshot comparison for descriptor records. */
13
14
  function canonicalDecisionJson(value) {
14
15
  if (Array.isArray(value))
@@ -102,10 +103,13 @@ const isEvaluatorAllowlist = (value) => Array.isArray(value) && value.every((ent
102
103
  /** Trusted composition only. Construction performs no discovery, key resolution or I/O. */
103
104
  export function createDecisionService(supplied) {
104
105
  const policy = snapshotBoundedJson(supplied.policy ?? {});
106
+ const readiness = snapshotBoundedJson(supplied.readiness ?? null, 16 * 1024 * 1024);
105
107
  if (!supplied.registry || ![supplied.resolveEvaluator, supplied.resolveAuth, supplied.resolvePrice, supplied.authorize,
106
108
  supplied.budget?.admit, supplied.budget?.markDispatched, supplied.budget?.release, supplied.budget?.settle,
107
109
  supplied.receipts?.persist].every((port) => typeof port === 'function')
108
110
  || !isEvaluatorAllowlist(supplied.evaluatorAllowlist)
111
+ || (supplied.executionProfile !== undefined && supplied.executionProfile !== 'production' && supplied.executionProfile !== 'qualification')
112
+ || !readiness.ok
109
113
  || !policy.ok || !isRecord(policy.value)
110
114
  || !hasOnlyKeys(policy.value, ['timeoutMs', 'maxCostMicroUsd', 'allowRaw'])
111
115
  || (policy.value.timeoutMs !== undefined && (!Number.isSafeInteger(policy.value.timeoutMs)
@@ -113,12 +117,16 @@ export function createDecisionService(supplied) {
113
117
  || (policy.value.maxCostMicroUsd !== undefined && !isMicroUsd(policy.value.maxCostMicroUsd))
114
118
  || (policy.value.allowRaw !== undefined && typeof policy.value.allowRaw !== 'boolean'))
115
119
  throw new Error('Invalid decision host configuration.');
116
- const options = { ...supplied, policy: freezeDecisionData(policy.value),
120
+ const options = { ...supplied, executionProfile: supplied.executionProfile ?? 'production', policy: freezeDecisionData(policy.value),
121
+ readiness: freezeDecisionData(readiness.value),
117
122
  evaluatorAllowlist: freezeDecisionData(supplied.evaluatorAllowlist.map((entry) => ({ ...entry }))) };
123
+ const productionReady = createDecisionReadinessCheck(options.readiness);
118
124
  return { async decide(candidate, callOptions) {
119
125
  const execution = beginDecisionExecution(candidate, { clock: options.clock, generateId: options.generateId,
120
126
  timeoutMs: options.policy.timeoutMs, signal: callOptions?.signal });
121
- return runWithDecisionDeadline(execution, async () => {
127
+ if (options.executionProfile === 'qualification')
128
+ execution.receipt.experimental = true;
129
+ const result = await runWithDecisionDeadline(execution, async () => {
122
130
  if (execution.idError)
123
131
  return persistDecisionResult(execution, options.receipts, createDecisionError('MESH_UNAVAILABLE', 'preflight'));
124
132
  const interrupted = decisionInterruption(execution, 'preflight');
@@ -127,13 +135,21 @@ export function createDecisionService(supplied) {
127
135
  const selection = await preflightDecisionRequest(candidate, options);
128
136
  if (!selection.ok)
129
137
  return persistDecisionResult(execution, options.receipts, createDecisionError(selection.code, 'preflight'));
138
+ if ((selection.descriptor.executionProfile ?? 'production') !== options.executionProfile) {
139
+ return persistDecisionResult(execution, options.receipts, createDecisionError('PROVIDER_UNAVAILABLE', 'preflight'));
140
+ }
130
141
  execution.receipt.evaluator = { ...selection.descriptor.evaluator };
131
142
  execution.receipt.retention = structuredClone(selection.descriptor.retention);
132
- const admitted = await admitDecision(execution, selection, options);
143
+ const admitted = await admitDecision(execution, selection, options, productionReady);
133
144
  if (!admitted.ok)
134
145
  return persistDecisionResult(execution, options.receipts, admitted.error);
135
146
  return dispatchDecision(execution, selection, admitted, options);
136
147
  });
148
+ if (execution.receipt.experimental)
149
+ return result.ok
150
+ ? { ...result, experimental: true, kind: 'experimental-verdict' }
151
+ : { ...result, experimental: true };
152
+ return result;
137
153
  } };
138
154
  }
139
155
  //# sourceMappingURL=service.js.map
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  export * from './contracts.js';
2
2
  export * from './capabilities.js';
3
3
  export * from './catalog.js';
4
+ export * from './openai-transcription.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './contracts.js';
2
2
  export * from './capabilities.js';
3
3
  export * from './catalog.js';
4
+ export * from './openai-transcription.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,173 @@
1
+ import type { SpeechBinding, SpeechEngineIdentity, SpeechEvent, SpeechInputFrame, SpeechSession, SpeechSessionReceipt, SpeechSessionRequest } from './contracts.js';
2
+ import type { SpeechCapabilities } from './capabilities.js';
3
+ export declare const OPENAI_TRANSCRIPTION_PROVIDER_ID = "openai";
4
+ export declare const OPENAI_TRANSCRIPTION_ADAPTER_ID = "openai-transcription";
5
+ export declare const OPENAI_TRANSCRIPTION_ADAPTER_REVISION = "1";
6
+ export declare const OPENAI_TRANSCRIPTION_PLACEMENT: "cloud-relay";
7
+ export declare const OPENAI_TRANSCRIPTION_WS_URL = "wss://api.openai.com/v1/realtime?intent=transcription";
8
+ export declare const openAiTranscriptionModels: readonly ["gpt-live-transcribe", "gpt-realtime-whisper"];
9
+ export type OpenAiTranscriptionModelId = (typeof openAiTranscriptionModels)[number];
10
+ export declare const openAiTranscriptionDelays: readonly ["minimal", "low", "medium", "high", "xhigh"];
11
+ export type OpenAiTranscriptionDelay = (typeof openAiTranscriptionDelays)[number];
12
+ /** Independent per-profile configuration. No shared mutable state between profiles. */
13
+ export interface OpenAiTranscriptionProfileConfig {
14
+ readonly modelId: OpenAiTranscriptionModelId;
15
+ /** Served model snapshot pinned at admission; never an unreviewed `latest` alias. */
16
+ readonly modelRevision: string;
17
+ /** Latency/accuracy tradeoff; per-profile, never inherited. */
18
+ readonly delay: OpenAiTranscriptionDelay;
19
+ readonly language?: string;
20
+ readonly prompt?: string;
21
+ /** Client-owned turn detection only. Any other value refuses at open. */
22
+ readonly turnDetection?: 'client';
23
+ readonly accountRef?: string;
24
+ readonly region?: string;
25
+ }
26
+ export declare const openAiTranscriptionIdentity: (config: OpenAiTranscriptionProfileConfig) => SpeechEngineIdentity;
27
+ /** Per-profile capabilities. TTS is unsupported: synthesis is selected separately (local or L13). */
28
+ export declare const openAiTranscriptionCapabilities: (config: OpenAiTranscriptionProfileConfig) => SpeechCapabilities;
29
+ /** Exact `session.update` body. `turn_detection` is always null (server VAD unsupported). */
30
+ export declare const buildTranscriptionSessionUpdate: (config: OpenAiTranscriptionProfileConfig) => Record<string, unknown>;
31
+ export declare class OpenAiTranscriptionError extends Error {
32
+ readonly code: 'unknown-model' | 'invalid-config' | 'admission' | 'ceiling' | 'closed' | 'aborted' | 'transport' | 'invalid-format' | 'unsupported-command';
33
+ constructor(code: OpenAiTranscriptionError['code'], message: string);
34
+ }
35
+ /**
36
+ * Admission outcome consumed as data (gateway `admitSpeech` runs at
37
+ * composition, L16/API — mesh never imports the gateway). The session
38
+ * refuses to open without it and never exceeds its ceilings.
39
+ */
40
+ export interface OpenAiTranscriptionAdmission {
41
+ readonly operationId: string;
42
+ readonly holdRef: string;
43
+ readonly pricingRevision: string;
44
+ readonly ceiling: {
45
+ readonly connectedSeconds: number;
46
+ readonly admittedAudioSeconds: number;
47
+ };
48
+ readonly maxDurationMs: number;
49
+ }
50
+ export interface OpenAiTranscriptionUsageTotals {
51
+ readonly connectedSeconds: number;
52
+ readonly admittedAudioSeconds: number;
53
+ }
54
+ /**
55
+ * Usage sink shaped for the gateway `recordSpeechUsage` / `settleSpeech`
56
+ * calls the composition layer performs. The adapter only measures seconds;
57
+ * pricing stays pinned at admission.
58
+ */
59
+ export interface OpenAiTranscriptionUsageSink {
60
+ /**
61
+ * Maps to the L8 `recordSpeechUsage` call: operational evidence on the hold,
62
+ * never a charge. The adapter sends `cumulative` totals under a stable
63
+ * eventId so restarts and retries cannot double-count measured seconds.
64
+ */
65
+ record(update: {
66
+ readonly eventId: string;
67
+ readonly revision: number;
68
+ readonly mode: 'cumulative' | 'incremental';
69
+ readonly usage: Partial<OpenAiTranscriptionUsageTotals>;
70
+ }): void | Promise<void>;
71
+ /**
72
+ * Maps to the L8 `settleSpeech` call. Usage stays absent unless provider-
73
+ * reported (with a monotonic providerRevision): locally measured seconds
74
+ * are estimates, and a usage covering every priced dimension without a
75
+ * providerRevision is rejected by `settleSpeech` as invalid.
76
+ */
77
+ settle(request: {
78
+ readonly operationId: string;
79
+ readonly outcome: 'completed' | 'cancelled' | 'failed';
80
+ readonly usage?: OpenAiTranscriptionUsageTotals;
81
+ readonly providerRevision?: number;
82
+ }): void | Promise<void>;
83
+ }
84
+ /** Injectable provider socket. Tests use recorded scripts; never a live call. */
85
+ export interface OpenAiTranscriptionSocket {
86
+ send(message: string): void;
87
+ messages(): AsyncIterable<string>;
88
+ close(): Promise<void>;
89
+ }
90
+ export interface OpenAiTranscriptionConnect {
91
+ (url: string, headers: {
92
+ readonly authorization: string;
93
+ readonly originator: string;
94
+ }): Promise<OpenAiTranscriptionSocket> | OpenAiTranscriptionSocket;
95
+ }
96
+ export interface OpenAiTranscriptionOpenOptions {
97
+ readonly request: SpeechSessionRequest;
98
+ readonly admission: OpenAiTranscriptionAdmission;
99
+ /** Bearer material, used once for the socket handshake and never logged. */
100
+ readonly bearerToken: string;
101
+ readonly connect: OpenAiTranscriptionConnect;
102
+ readonly usage: OpenAiTranscriptionUsageSink;
103
+ readonly originator?: string;
104
+ readonly nowMs?: () => number;
105
+ /** Injectable expiry scheduler (tests advance it manually); defaults to setTimeout. */
106
+ readonly schedule?: (delayMs: number, fn: () => void) => () => void;
107
+ readonly signal?: AbortSignal;
108
+ }
109
+ export declare class TranscriptionSession implements SpeechSession {
110
+ readonly receipt: SpeechSessionReceipt;
111
+ readonly events: AsyncIterable<SpeechEvent>;
112
+ private readonly socket;
113
+ private readonly binding;
114
+ private readonly admission;
115
+ private readonly usage;
116
+ private readonly nowMs?;
117
+ private readonly openedAtMs;
118
+ private readonly items;
119
+ private readonly queue;
120
+ private readonly waiters;
121
+ private sequence;
122
+ private eventId;
123
+ private audioSeconds;
124
+ private settled;
125
+ private outcome;
126
+ private readonly pump;
127
+ private readonly signal?;
128
+ private readonly effectiveMaxMs;
129
+ private abortHandler?;
130
+ private expiryCancel?;
131
+ private inPump;
132
+ private turnAudioStartMs?;
133
+ /** End of the last frame written in the open turn (capture + frame duration). */
134
+ private turnAudioEndMs?;
135
+ private openTurnUtteranceId?;
136
+ private readonly turns;
137
+ private readonly bindings;
138
+ /** Finalized items: late deltas/commits drop silently, a second final errors. */
139
+ private readonly finalizedIds;
140
+ /** Cleared items: every late provider frame drops silently. */
141
+ private readonly clearedIds;
142
+ private committedAudioSeconds;
143
+ private usageRevision;
144
+ constructor(receipt: SpeechSessionReceipt, socket: OpenAiTranscriptionSocket, binding: SpeechBinding, admission: OpenAiTranscriptionAdmission, usage: OpenAiTranscriptionUsageSink, nowMs: (() => number) | undefined, signal: AbortSignal | undefined, schedule: ((delayMs: number, fn: () => void) => () => void) | undefined, maxDurationMs: number);
145
+ private nextId;
146
+ private emit;
147
+ private clock;
148
+ private stream;
149
+ write(frame: SpeechInputFrame): Promise<void>;
150
+ command(command: Parameters<SpeechSession['command']>[0]): Promise<void>;
151
+ close(): Promise<void>;
152
+ private pushError;
153
+ /**
154
+ * Resolve the client turn for a provider item. Committed binds are
155
+ * authoritative; before the `committed` frame arrives the oldest
156
+ * unconfirmed turn is used (peeked, never consumed), falling back to the
157
+ * turn currently being recorded. Sequential client turns make all three agree.
158
+ */
159
+ private attribute;
160
+ private newItem;
161
+ private onCommitted;
162
+ private onDelta;
163
+ private onCompleted;
164
+ private onFrame;
165
+ private run;
166
+ }
167
+ /**
168
+ * Open an admitted transcription session. The bearer token travels only into
169
+ * the socket handshake; failures never echo it. The `session.update` is sent
170
+ * before any audio; an aborted signal refuses without connecting.
171
+ */
172
+ export declare const openTranscriptionSession: (config: OpenAiTranscriptionProfileConfig, options: OpenAiTranscriptionOpenOptions) => Promise<TranscriptionSession>;
173
+ //# sourceMappingURL=openai-transcription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-transcription.d.ts","sourceRoot":"","sources":["../../src/speech/openai-transcription.ts"],"names":[],"mappings":"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"}