@plumbus/core 0.8.0-beta.0 → 0.8.0-beta.2

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 (91) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ai/ai/provider.d.ts +2 -0
  4. package/dist/ai/ai-service.d.ts +35 -0
  5. package/dist/ai/ai-service.d.ts.map +1 -1
  6. package/dist/ai/ai-service.js +132 -13
  7. package/dist/ai/ai-service.js.map +1 -1
  8. package/dist/ai/index.d.ts +1 -1
  9. package/dist/ai/index.d.ts.map +1 -1
  10. package/dist/ai/index.js.map +1 -1
  11. package/dist/ai/provider.d.ts +2 -0
  12. package/dist/ai/provider.d.ts.map +1 -1
  13. package/dist/ai/provider.js +5 -0
  14. package/dist/ai/provider.js.map +1 -1
  15. package/dist/audit/service.d.ts.map +1 -1
  16. package/dist/audit/service.js +6 -1
  17. package/dist/audit/service.js.map +1 -1
  18. package/dist/cli/commands/dev.d.ts.map +1 -1
  19. package/dist/cli/commands/dev.js +4 -0
  20. package/dist/cli/commands/dev.js.map +1 -1
  21. package/dist/cli/commands/start.d.ts.map +1 -1
  22. package/dist/cli/commands/start.js +6 -0
  23. package/dist/cli/commands/start.js.map +1 -1
  24. package/dist/durable/index.d.ts +2 -2
  25. package/dist/durable/index.d.ts.map +1 -1
  26. package/dist/durable/index.js +2 -2
  27. package/dist/durable/index.js.map +1 -1
  28. package/dist/durable/postgres-persist.d.ts +39 -2
  29. package/dist/durable/postgres-persist.d.ts.map +1 -1
  30. package/dist/durable/postgres-persist.js +67 -4
  31. package/dist/durable/postgres-persist.js.map +1 -1
  32. package/dist/durable/spine-claim.d.ts +11 -0
  33. package/dist/durable/spine-claim.d.ts.map +1 -1
  34. package/dist/durable/spine-claim.js +36 -2
  35. package/dist/durable/spine-claim.js.map +1 -1
  36. package/dist/errors/http.d.ts.map +1 -1
  37. package/dist/errors/http.js +9 -1
  38. package/dist/errors/http.js.map +1 -1
  39. package/dist/events/dispatcher.d.ts.map +1 -1
  40. package/dist/events/dispatcher.js +21 -4
  41. package/dist/events/dispatcher.js.map +1 -1
  42. package/dist/events/worker.d.ts.map +1 -1
  43. package/dist/events/worker.js +1 -3
  44. package/dist/events/worker.js.map +1 -1
  45. package/dist/execution/context-factory.d.ts.map +1 -1
  46. package/dist/execution/context-factory.js +6 -1
  47. package/dist/execution/context-factory.js.map +1 -1
  48. package/dist/execution/deferred-flow-service.d.ts.map +1 -1
  49. package/dist/execution/deferred-flow-service.js +7 -0
  50. package/dist/execution/deferred-flow-service.js.map +1 -1
  51. package/dist/flows/dead-letter.d.ts +18 -1
  52. package/dist/flows/dead-letter.d.ts.map +1 -1
  53. package/dist/flows/dead-letter.js +17 -1
  54. package/dist/flows/dead-letter.js.map +1 -1
  55. package/dist/flows/engine.d.ts +15 -0
  56. package/dist/flows/engine.d.ts.map +1 -1
  57. package/dist/flows/engine.js +149 -22
  58. package/dist/flows/engine.js.map +1 -1
  59. package/dist/flows/flow-service.d.ts.map +1 -1
  60. package/dist/flows/flow-service.js +3 -0
  61. package/dist/flows/flow-service.js.map +1 -1
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/runtime/bootstrap.d.ts +16 -1
  66. package/dist/runtime/bootstrap.d.ts.map +1 -1
  67. package/dist/runtime/bootstrap.js +7 -1
  68. package/dist/runtime/bootstrap.js.map +1 -1
  69. package/dist/runtime/load-extensions.d.ts.map +1 -1
  70. package/dist/runtime/load-extensions.js +33 -0
  71. package/dist/runtime/load-extensions.js.map +1 -1
  72. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  73. package/dist/runtime/start-worker-pool.js +33 -15
  74. package/dist/runtime/start-worker-pool.js.map +1 -1
  75. package/dist/server/bootstrap.d.ts +19 -0
  76. package/dist/server/bootstrap.d.ts.map +1 -1
  77. package/dist/server/bootstrap.js +31 -3
  78. package/dist/server/bootstrap.js.map +1 -1
  79. package/dist/testing/context.d.ts.map +1 -1
  80. package/dist/testing/context.js +1 -0
  81. package/dist/testing/context.js.map +1 -1
  82. package/dist/types/context.d.ts +3 -0
  83. package/dist/types/context.d.ts.map +1 -1
  84. package/dist/worker/bootstrap.d.ts +8 -0
  85. package/dist/worker/bootstrap.d.ts.map +1 -1
  86. package/dist/worker/bootstrap.js +19 -7
  87. package/dist/worker/bootstrap.js.map +1 -1
  88. package/instructions/ai.md +14 -0
  89. package/instructions/flows.md +6 -0
  90. package/instructions/framework.md +3 -0
  91. package/package.json +3 -3
@@ -114,6 +114,8 @@ export interface ProviderRequest {
114
114
  * wins.
115
115
  */
116
116
  signal?: AbortSignal;
117
+ /** Trusted host-supplied propagation headers. Provider adapters never accept credential overrides. */
118
+ transportHeaders?: Readonly<Record<string, string>>;
117
119
  /**
118
120
  * Deterministic sampling seed. OpenAI-compatible providers (including xAI
119
121
  * Grok) honor this parameter: identical `{seed, temperature, model, prompt}`
@@ -15,6 +15,32 @@ export type { AICostContext };
15
15
  * to their own ledger (e.g. an app-owned per-project cost ledger).
16
16
  */
17
17
  export type OnAICostRecorded = (record: AICostRecord, costContext?: AICostContext) => Promise<void> | void;
18
+ export type AIProviderOperation = 'generate' | 'stream' | 'extract' | 'classify';
19
+ /** Privacy-sensitive call context visible only to trusted server extension hooks. */
20
+ export interface AIProviderCallContext {
21
+ readonly provider: string;
22
+ readonly operation: AIProviderOperation;
23
+ readonly tenantId?: string;
24
+ readonly actor?: string;
25
+ readonly correlationId?: string;
26
+ readonly costContext?: AICostContext;
27
+ }
28
+ export interface AIProviderSpan extends AIProviderCallContext {
29
+ readonly startedAt: string;
30
+ readonly durationMs: number;
31
+ readonly status: 'ok' | 'error';
32
+ readonly traceparent?: string;
33
+ readonly errorType?: string;
34
+ }
35
+ export interface AIProviderConcurrencyConfig {
36
+ /** Immediate per-scope ceiling. Saturation refuses; it never queues or hangs. */
37
+ readonly maxConcurrentCalls: number;
38
+ /** Defaults to provider + tenant + costContext.serviceArea (the package/service boundary). */
39
+ readonly resolveScope?: (context: AIProviderCallContext) => string;
40
+ }
41
+ interface AIProviderConcurrencyState {
42
+ readonly active: Map<string, number>;
43
+ }
18
44
  export interface AIServiceConfig {
19
45
  /** Multiple provider adapters keyed by name (e.g. "openai", "anthropic") */
20
46
  providers: Record<string, AIProviderAdapter>;
@@ -49,6 +75,7 @@ export interface AIServiceConfig {
49
75
  budget?: {
50
76
  tenantId?: string;
51
77
  actor?: string;
78
+ correlationId?: string;
52
79
  };
53
80
  /**
54
81
  * Optional framework hook fired after every AI call completes and the
@@ -57,6 +84,14 @@ export interface AIServiceConfig {
57
84
  * in the hook are caught and logged to stderr but never propagate.
58
85
  */
59
86
  onAICostRecorded?: OnAICostRecorded;
87
+ /** Per-tenant/provider/package admission applied around each real provider attempt. */
88
+ providerConcurrency?: AIProviderConcurrencyConfig;
89
+ /** Trusted propagation headers, resolved once per provider attempt. */
90
+ resolveProviderHeaders?: (context: AIProviderCallContext) => Readonly<Record<string, string>> | Promise<Readonly<Record<string, string>>>;
91
+ /** Best-effort provider client span export hook. Hook failures never fail the model call. */
92
+ onProviderSpan?: (span: AIProviderSpan) => void | Promise<void>;
93
+ /** @internal Shared by services rebound with `withContext`. */
94
+ _providerConcurrencyState?: AIProviderConcurrencyState;
60
95
  }
61
96
  /** Convenience: create config from a single provider (backward compat) */
62
97
  export declare function singleProviderConfig(provider: AIProviderAdapter, rest?: Omit<AIServiceConfig, 'providers' | 'defaultProvider'>): AIServiceConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAIb,SAAS,EAIV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAInE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,KAAK,iBAAiB,EAUvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,aAAa,KACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC,0DAA0D,CAAC;IACjF,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QACE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,mCAAmC;QACnC,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CACF,CAAC,kCAAkC,CAAC;IACrC,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,iBAAiB,CAAC,GAC5D,eAAe,CAMjB;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAw0ClE"}
1
+ {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  // Integrates: provider adapter, prompt registry, validation, cost tracking, security, RAG, explainability
4
4
  import { z } from 'zod';
5
5
  import { AIBudgetExceededError, AISecurityBlockedError } from '../errors/data-errors.js';
6
+ import { PlumbusError } from '../errors/plumbus-error.js';
6
7
  import { fillPromptTemplate } from './fill-prompt-template.js';
7
8
  import { normalizeCost, validateTokenUsage } from './usage-validation.js';
8
9
  import { estimateModelCost as calculateModelCost, findModelRate } from './model-pricing.js';
@@ -38,13 +39,97 @@ export function createAIService(config) {
38
39
  })()
39
40
  : configuredPromptRegistry;
40
41
  const responseSchemaCache = new WeakMap();
41
- function resolveProvider(providerName) {
42
+ const concurrencyState = config._providerConcurrencyState ?? {
43
+ active: new Map(),
44
+ };
45
+ // Dynamic-override wrappers retain the original config object; attach the runtime so every
46
+ // identity-bound service created from it competes for the same slots.
47
+ config._providerConcurrencyState = concurrencyState;
48
+ function callContext(provider, operation, costContext) {
49
+ return {
50
+ provider,
51
+ operation,
52
+ ...(config.budget?.tenantId ? { tenantId: config.budget.tenantId } : {}),
53
+ ...(config.budget?.actor ? { actor: config.budget.actor } : {}),
54
+ ...(config.budget?.correlationId ? { correlationId: config.budget.correlationId } : {}),
55
+ ...(costContext ? { costContext } : {}),
56
+ };
57
+ }
58
+ function acquireProviderSlot(context) {
59
+ const policy = config.providerConcurrency;
60
+ if (!policy)
61
+ return () => undefined;
62
+ if (!Number.isSafeInteger(policy.maxConcurrentCalls) || policy.maxConcurrentCalls < 1) {
63
+ throw new Error('AI provider concurrency maxConcurrentCalls must be a positive integer');
64
+ }
65
+ const scope = policy.resolveScope?.(context) ??
66
+ [
67
+ context.provider,
68
+ context.tenantId ?? 'platform',
69
+ context.costContext?.serviceArea ?? 'default',
70
+ ].join(':');
71
+ const active = concurrencyState.active.get(scope) ?? 0;
72
+ if (active >= policy.maxConcurrentCalls) {
73
+ throw new PlumbusError('conflict', 'AI provider concurrency is exhausted for this tenant and package', {
74
+ failureCode: 'ai-provider-concurrency-exhausted',
75
+ reason: 'ai-provider-concurrency-exhausted',
76
+ provider: context.provider,
77
+ limit: policy.maxConcurrentCalls,
78
+ retryAfterSeconds: 1,
79
+ });
80
+ }
81
+ concurrencyState.active.set(scope, active + 1);
82
+ let released = false;
83
+ return () => {
84
+ if (released)
85
+ return;
86
+ released = true;
87
+ const remaining = (concurrencyState.active.get(scope) ?? 1) - 1;
88
+ if (remaining <= 0)
89
+ concurrencyState.active.delete(scope);
90
+ else
91
+ concurrencyState.active.set(scope, remaining);
92
+ };
93
+ }
94
+ async function trustedProviderHeaders(context) {
95
+ const headers = (await config.resolveProviderHeaders?.(context)) ?? {};
96
+ const projected = {};
97
+ for (const [name, value] of Object.entries(headers)) {
98
+ const lower = name.toLowerCase();
99
+ if (['authorization', 'proxy-authorization', 'x-api-key', 'api-key', 'content-type'].includes(lower)) {
100
+ throw new Error(`AI provider propagation header "${name}" is reserved`);
101
+ }
102
+ projected[lower] = String(value);
103
+ }
104
+ return projected;
105
+ }
106
+ async function reportProviderSpan(context, startedAt, durationMs, status, traceparent, error) {
107
+ if (!config.onProviderSpan)
108
+ return;
109
+ try {
110
+ await config.onProviderSpan({
111
+ ...context,
112
+ startedAt: startedAt.toISOString(),
113
+ durationMs,
114
+ status,
115
+ ...(traceparent ? { traceparent } : {}),
116
+ ...(status === 'error'
117
+ ? { errorType: error instanceof Error ? error.name : 'UnknownError' }
118
+ : {}),
119
+ });
120
+ }
121
+ catch {
122
+ // Observability must never turn a provider answer into an application failure.
123
+ }
124
+ }
125
+ function resolveProvider(providerName, operation, costContext) {
42
126
  const name = providerName ?? defaultProvider;
43
127
  const adapter = providers[name];
44
128
  if (!adapter) {
45
129
  const available = Object.keys(providers).join(', ');
46
130
  throw new Error(`AI provider "${name}" not configured. Available: ${available}`);
47
131
  }
132
+ const context = callContext(adapter.name, operation, costContext);
48
133
  // Every provider attempt, including validation retries, checks the budget.
49
134
  const checkRequest = (request) => {
50
135
  const input = JSON.stringify({
@@ -62,16 +147,46 @@ export function createAIService(config) {
62
147
  embed: (request) => adapter.embed(request),
63
148
  async complete(request) {
64
149
  checkRequest(request);
65
- const response = await adapter.complete(request);
66
- validateTokenUsage(response.usage);
67
- return { ...response, cost: normalizeCost(response.cost) ?? undefined };
150
+ const release = acquireProviderSlot(context);
151
+ const startedAt = new Date();
152
+ let traceparent;
153
+ try {
154
+ const transportHeaders = await trustedProviderHeaders(context);
155
+ traceparent = transportHeaders.traceparent;
156
+ const response = await adapter.complete({ ...request, transportHeaders });
157
+ validateTokenUsage(response.usage);
158
+ await reportProviderSpan(context, startedAt, Date.now() - startedAt.getTime(), 'ok', traceparent);
159
+ return { ...response, cost: normalizeCost(response.cost) ?? undefined };
160
+ }
161
+ catch (error) {
162
+ await reportProviderSpan(context, startedAt, Date.now() - startedAt.getTime(), 'error', traceparent, error);
163
+ throw error;
164
+ }
165
+ finally {
166
+ release();
167
+ }
68
168
  },
69
169
  async *stream(request) {
70
170
  checkRequest(request);
71
- for await (const event of adapter.stream(request)) {
72
- if (event.usage)
73
- validateTokenUsage(event.usage);
74
- yield { ...event, cost: normalizeCost(event.cost) ?? undefined };
171
+ const release = acquireProviderSlot(context);
172
+ const startedAt = new Date();
173
+ let traceparent;
174
+ try {
175
+ const transportHeaders = await trustedProviderHeaders(context);
176
+ traceparent = transportHeaders.traceparent;
177
+ for await (const event of adapter.stream({ ...request, transportHeaders })) {
178
+ if (event.usage)
179
+ validateTokenUsage(event.usage);
180
+ yield { ...event, cost: normalizeCost(event.cost) ?? undefined };
181
+ }
182
+ await reportProviderSpan(context, startedAt, Date.now() - startedAt.getTime(), 'ok', traceparent);
183
+ }
184
+ catch (error) {
185
+ await reportProviderSpan(context, startedAt, Date.now() - startedAt.getTime(), 'error', traceparent, error);
186
+ throw error;
187
+ }
188
+ finally {
189
+ release();
75
190
  }
76
191
  },
77
192
  };
@@ -274,7 +389,7 @@ export function createAIService(config) {
274
389
  ? buildPromptText(params.prompt, inputForAI)
275
390
  : { text: params.prompt, substitutedKeys: new Set() };
276
391
  // Resolve provider: per-call > prompt-level > default
277
- const activeProvider = resolveProvider(params.provider ?? ('provider' in promptInfo ? promptInfo.provider : undefined));
392
+ const activeProvider = resolveProvider(params.provider ?? ('provider' in promptInfo ? promptInfo.provider : undefined), 'generate', params.costContext);
278
393
  // Check if we have a schema to validate against
279
394
  const promptDef = hasPromptDef ? promptRegistry?.get(params.prompt) : undefined;
280
395
  const singleTextField = promptDef ? getSingleTextFieldName(promptDef.output) : undefined;
@@ -478,7 +593,11 @@ export function createAIService(config) {
478
593
  }
479
594
  return {
480
595
  withContext(identity) {
481
- return createAIService({ ...config, budget: { ...identity } });
596
+ return createAIService({
597
+ ...config,
598
+ budget: { ...identity },
599
+ _providerConcurrencyState: concurrencyState,
600
+ });
482
601
  },
483
602
  features: { perCallProviderModelReasoning: true },
484
603
  recordProviderCost,
@@ -505,7 +624,7 @@ export function createAIService(config) {
505
624
  ? buildPromptText(params.prompt, inputForAI)
506
625
  : { text: params.prompt, substitutedKeys: new Set() };
507
626
  // Resolve provider
508
- const activeProvider = resolveProvider(params.provider ?? ('provider' in promptInfo ? promptInfo.provider : undefined));
627
+ const activeProvider = resolveProvider(params.provider ?? ('provider' in promptInfo ? promptInfo.provider : undefined), 'stream', params.costContext);
509
628
  // Detect if the output schema is a simple single-string-field object
510
629
  // (e.g. z.object({ question: z.string() })). If so, stream plain text
511
630
  // so the user sees readable words instead of JSON tokens.
@@ -879,7 +998,7 @@ export function createAIService(config) {
879
998
  const textForAI = String(inputForAI.text);
880
999
  checkBudget();
881
1000
  // extract uses default provider (no prompt-level routing)
882
- const activeProvider = resolveProvider();
1001
+ const activeProvider = resolveProvider(undefined, 'extract', params.costContext);
883
1002
  const resolvedModel = config.defaultModel ?? activeProvider.name;
884
1003
  const systemPrompt = 'Extract structured data from the following text. Return valid JSON matching the required schema.';
885
1004
  const request = {
@@ -956,7 +1075,7 @@ export function createAIService(config) {
956
1075
  const textForAI = String(inputForAI.text);
957
1076
  checkBudget();
958
1077
  // classify uses default provider (no prompt-level routing)
959
- const activeProvider = resolveProvider();
1078
+ const activeProvider = resolveProvider(undefined, 'classify', params.costContext);
960
1079
  const resolvedModel = config.defaultModel ?? activeProvider.name;
961
1080
  const systemPrompt = 'Classify the following text into one or more of the provided labels. Return a JSON array of matching label strings.';
962
1081
  const request = {
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../src/ai/ai-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { createAIService, singleProviderConfig, type AICostContext, type AIServiceConfig, type OnAICostRecorded, } from './ai-service.js';
1
+ export { createAIService, singleProviderConfig, type AICostContext, type AIProviderCallContext, type AIProviderConcurrencyConfig, type AIProviderOperation, type AIProviderSpan, type AIServiceConfig, type OnAICostRecorded, } from './ai-service.js';
2
2
  export { fillPromptTemplate } from './fill-prompt-template.js';
3
3
  export { createCostTracker, type AICostRecord, type AICostRecordInput, type BudgetCheckResult, type BudgetConfig, type CostTracker, type DailyUsage, type UsageSyncResult, } from './cost-tracker.js';
4
4
  export { deriveLedgerUsage, type DerivedLedgerUsage, type LedgerUsageKind, } from './derive-ledger-usage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EACL,eAAe,EACf,oBAAoB,GAIrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAQlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AAClC,iBAAiB;AACjB,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAC7B,gBAAgB;AAChB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAC5B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GAmBtB,MAAM,eAAe,CAAC;AACvB,oCAAoC;AACpC,OAAO,EACL,WAAW,EACX,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AACxB,yCAAyC;AACzC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9F,wCAAwC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,6BAA6B,CAAC;AACrC,eAAe;AACf,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GASf,MAAM,gBAAgB,CAAC;AACxB,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GAKpB,MAAM,eAAe,CAAC;AACvB,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,iBAAiB,CAAC;AACzB,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAmBjC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,6EAA6E;AAC7E,kFAAkF;AAClF,yCAAyC;AACzC,EAAE;AACF,uFAAuF;AAEvF,aAAa;AACb,OAAO,EACL,eAAe,EACf,oBAAoB,GAQrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,gBAAgB;AAChB,OAAO,EACL,iBAAiB,GAQlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AAClC,iBAAiB;AACjB,OAAO,EACL,2BAA2B,GAI5B,MAAM,qBAAqB,CAAC;AAC7B,gBAAgB;AAChB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAC5B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,oBAAoB;AACpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GAmBtB,MAAM,eAAe,CAAC;AACvB,oCAAoC;AACpC,OAAO,EACL,WAAW,EACX,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AACxB,yCAAyC;AACzC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9F,wCAAwC;AACxC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,6BAA6B,CAAC;AACrC,eAAe;AACf,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GASf,MAAM,gBAAgB,CAAC;AACxB,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GAKpB,MAAM,eAAe,CAAC;AACvB,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,oBAAoB,GAKrB,MAAM,mBAAmB,CAAC;AAC3B,oBAAoB;AACpB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,iBAAiB,CAAC;AACzB,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,iCAAiC,EACjC,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAmBjC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -114,6 +114,8 @@ export interface ProviderRequest {
114
114
  * wins.
115
115
  */
116
116
  signal?: AbortSignal;
117
+ /** Trusted host-supplied propagation headers. Provider adapters never accept credential overrides. */
118
+ transportHeaders?: Readonly<Record<string, string>>;
117
119
  /**
118
120
  * Deterministic sampling seed. OpenAI-compatible providers (including xAI
119
121
  * Grok) honor this parameter: identical `{seed, temperature, model, prompt}`
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
@@ -628,6 +628,7 @@ async function completeOpenAIResponses(args) {
628
628
  send: () => fetch(`${args.baseUrl}/responses`, {
629
629
  method: 'POST',
630
630
  headers: {
631
+ ...request.transportHeaders,
631
632
  'Content-Type': 'application/json',
632
633
  Authorization: `Bearer ${args.apiKey}`,
633
634
  },
@@ -823,6 +824,7 @@ export function createOpenAIAdapter(config) {
823
824
  send: () => fetch(`${baseUrl}/chat/completions`, {
824
825
  method: 'POST',
825
826
  headers: {
827
+ ...request.transportHeaders,
826
828
  'Content-Type': 'application/json',
827
829
  Authorization: `Bearer ${config.apiKey}`,
828
830
  },
@@ -917,6 +919,7 @@ export function createOpenAIAdapter(config) {
917
919
  send: () => fetch(`${baseUrl}/chat/completions`, {
918
920
  method: 'POST',
919
921
  headers: {
922
+ ...request.transportHeaders,
920
923
  'Content-Type': 'application/json',
921
924
  Authorization: `Bearer ${config.apiKey}`,
922
925
  },
@@ -1052,6 +1055,7 @@ export function createAnthropicAdapter(config) {
1052
1055
  send: () => fetch(`${baseUrl}/messages`, {
1053
1056
  method: 'POST',
1054
1057
  headers: {
1058
+ ...request.transportHeaders,
1055
1059
  'Content-Type': 'application/json',
1056
1060
  'x-api-key': config.apiKey,
1057
1061
  'anthropic-version': '2023-06-01',
@@ -1139,6 +1143,7 @@ export function createAnthropicAdapter(config) {
1139
1143
  send: () => fetch(`${baseUrl}/messages`, {
1140
1144
  method: 'POST',
1141
1145
  headers: {
1146
+ ...request.transportHeaders,
1142
1147
  'Content-Type': 'application/json',
1143
1148
  'x-api-key': config.apiKey,
1144
1149
  'anthropic-version': '2023-06-01',