@duckcodeailabs/dql-agent 1.13.4 → 1.14.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 (137) hide show
  1. package/dist/agent-run-engine.d.ts +87 -7
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +559 -40
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-store.d.ts.map +1 -1
  6. package/dist/agent-run-store.js +42 -25
  7. package/dist/agent-run-store.js.map +1 -1
  8. package/dist/agentic/tool-loop.d.ts.map +1 -1
  9. package/dist/agentic/tool-loop.js +100 -32
  10. package/dist/agentic/tool-loop.js.map +1 -1
  11. package/dist/aggregation-safety-proof.d.ts +41 -0
  12. package/dist/aggregation-safety-proof.d.ts.map +1 -0
  13. package/dist/aggregation-safety-proof.js +511 -0
  14. package/dist/aggregation-safety-proof.js.map +1 -0
  15. package/dist/analytical-compatibility.d.ts.map +1 -1
  16. package/dist/analytical-compatibility.js +42 -25
  17. package/dist/analytical-compatibility.js.map +1 -1
  18. package/dist/analytical-execution-graph.d.ts +4 -21
  19. package/dist/analytical-execution-graph.d.ts.map +1 -1
  20. package/dist/analytical-execution-graph.js +27 -0
  21. package/dist/analytical-execution-graph.js.map +1 -1
  22. package/dist/analytical-frame.d.ts +12 -1
  23. package/dist/analytical-frame.d.ts.map +1 -1
  24. package/dist/analytical-frame.js +102 -2
  25. package/dist/analytical-frame.js.map +1 -1
  26. package/dist/analytical-orchestration.d.ts +256 -0
  27. package/dist/analytical-orchestration.d.ts.map +1 -0
  28. package/dist/analytical-orchestration.js +419 -0
  29. package/dist/analytical-orchestration.js.map +1 -0
  30. package/dist/analytical-result-facts.d.ts +54 -1
  31. package/dist/analytical-result-facts.d.ts.map +1 -1
  32. package/dist/analytical-result-facts.js +183 -0
  33. package/dist/analytical-result-facts.js.map +1 -1
  34. package/dist/answer-loop.d.ts +44 -3
  35. package/dist/answer-loop.d.ts.map +1 -1
  36. package/dist/answer-loop.js +771 -38
  37. package/dist/answer-loop.js.map +1 -1
  38. package/dist/cascade/budgets.js +1 -1
  39. package/dist/cascade/route-policy.d.ts +1 -1
  40. package/dist/cascade/route-policy.d.ts.map +1 -1
  41. package/dist/cascade/route-policy.js +2 -0
  42. package/dist/cascade/route-policy.js.map +1 -1
  43. package/dist/conversation/snapshot.d.ts.map +1 -1
  44. package/dist/conversation/snapshot.js +3 -0
  45. package/dist/conversation/snapshot.js.map +1 -1
  46. package/dist/conversation/turn-trust.d.ts.map +1 -1
  47. package/dist/conversation/turn-trust.js +6 -0
  48. package/dist/conversation/turn-trust.js.map +1 -1
  49. package/dist/generated-analytical-proposal.d.ts +37 -0
  50. package/dist/generated-analytical-proposal.d.ts.map +1 -0
  51. package/dist/generated-analytical-proposal.js +219 -0
  52. package/dist/generated-analytical-proposal.js.map +1 -0
  53. package/dist/index.d.ts +11 -5
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +7 -3
  56. package/dist/index.js.map +1 -1
  57. package/dist/intent-controller.d.ts +8 -1
  58. package/dist/intent-controller.d.ts.map +1 -1
  59. package/dist/intent-controller.js.map +1 -1
  60. package/dist/kg/build.js +102 -6
  61. package/dist/kg/build.js.map +1 -1
  62. package/dist/meaning-resolution.d.ts +30 -0
  63. package/dist/meaning-resolution.d.ts.map +1 -1
  64. package/dist/meaning-resolution.js +61 -8
  65. package/dist/meaning-resolution.js.map +1 -1
  66. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  67. package/dist/metadata/analysis-planner.js +46 -2
  68. package/dist/metadata/analysis-planner.js.map +1 -1
  69. package/dist/metadata/block-fit.d.ts.map +1 -1
  70. package/dist/metadata/block-fit.js +55 -2
  71. package/dist/metadata/block-fit.js.map +1 -1
  72. package/dist/metadata/catalog.d.ts +24 -0
  73. package/dist/metadata/catalog.d.ts.map +1 -1
  74. package/dist/metadata/catalog.js +227 -42
  75. package/dist/metadata/catalog.js.map +1 -1
  76. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  77. package/dist/metadata/meaning-evidence.js +408 -36
  78. package/dist/metadata/meaning-evidence.js.map +1 -1
  79. package/dist/metadata/sql-context-validation.d.ts +3 -0
  80. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  81. package/dist/metadata/sql-context-validation.js +16 -5
  82. package/dist/metadata/sql-context-validation.js.map +1 -1
  83. package/dist/plan-execution-adapter.d.ts +9 -1
  84. package/dist/plan-execution-adapter.d.ts.map +1 -1
  85. package/dist/plan-execution-adapter.js +81 -32
  86. package/dist/plan-execution-adapter.js.map +1 -1
  87. package/dist/provider-egress.d.ts +122 -0
  88. package/dist/provider-egress.d.ts.map +1 -0
  89. package/dist/provider-egress.js +504 -0
  90. package/dist/provider-egress.js.map +1 -0
  91. package/dist/providers/claude.d.ts.map +1 -1
  92. package/dist/providers/claude.js +76 -33
  93. package/dist/providers/claude.js.map +1 -1
  94. package/dist/providers/dispatch.d.ts +15 -0
  95. package/dist/providers/dispatch.d.ts.map +1 -0
  96. package/dist/providers/dispatch.js +25 -0
  97. package/dist/providers/dispatch.js.map +1 -0
  98. package/dist/providers/gemini.d.ts.map +1 -1
  99. package/dist/providers/gemini.js +16 -8
  100. package/dist/providers/gemini.js.map +1 -1
  101. package/dist/providers/index.d.ts +2 -1
  102. package/dist/providers/index.d.ts.map +1 -1
  103. package/dist/providers/index.js +1 -0
  104. package/dist/providers/index.js.map +1 -1
  105. package/dist/providers/ollama.d.ts.map +1 -1
  106. package/dist/providers/ollama.js +29 -10
  107. package/dist/providers/ollama.js.map +1 -1
  108. package/dist/providers/openai.d.ts.map +1 -1
  109. package/dist/providers/openai.js +92 -36
  110. package/dist/providers/openai.js.map +1 -1
  111. package/dist/providers/types.d.ts +43 -0
  112. package/dist/providers/types.d.ts.map +1 -1
  113. package/dist/providers/types.js.map +1 -1
  114. package/dist/relationship-proof.d.ts +19 -0
  115. package/dist/relationship-proof.d.ts.map +1 -0
  116. package/dist/relationship-proof.js +75 -0
  117. package/dist/relationship-proof.js.map +1 -0
  118. package/dist/research-loop.d.ts.map +1 -1
  119. package/dist/research-loop.js +17 -11
  120. package/dist/research-loop.js.map +1 -1
  121. package/dist/resolved-analytical-plan.d.ts +25 -3
  122. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  123. package/dist/resolved-analytical-plan.js +460 -31
  124. package/dist/resolved-analytical-plan.js.map +1 -1
  125. package/dist/router.d.ts +38 -1
  126. package/dist/router.d.ts.map +1 -1
  127. package/dist/router.js +1060 -53
  128. package/dist/router.js.map +1 -1
  129. package/dist/semantic-identities.d.ts +18 -0
  130. package/dist/semantic-identities.d.ts.map +1 -0
  131. package/dist/semantic-identities.js +60 -0
  132. package/dist/semantic-identities.js.map +1 -0
  133. package/dist/semantic-proof-authority.d.ts +29 -0
  134. package/dist/semantic-proof-authority.d.ts.map +1 -0
  135. package/dist/semantic-proof-authority.js +34 -0
  136. package/dist/semantic-proof-authority.js.map +1 -0
  137. package/package.json +4 -4
@@ -5,24 +5,45 @@
5
5
  *
6
6
  * Acceptance: AGT-013, AGT-014, API-006.
7
7
  */
8
+ import { normalizeMetricCapabilityContract } from '@duckcodeailabs/dql-core';
9
+ import { authorityIdentitiesForKGNode, authorityIdentitiesForMetadataObject, retrievalAliasesForKGNode, semanticRuntimeReferencesForKGNode, } from './semantic-identities.js';
10
+ /**
11
+ * Add the frozen grouping outputs as deterministic ascending tie breakers.
12
+ * Their order is the RAP/source output order; retrieval aliases and unrelated
13
+ * compatible dimensions are never consulted.
14
+ */
15
+ export function appendStableSemanticSecondaryOrder(orderBy, frozenGroupingNames, tiePolicy) {
16
+ if (tiePolicy !== 'stable_secondary_key')
17
+ return [...orderBy];
18
+ const ordered = [...orderBy];
19
+ const existing = new Set(ordered.map((order) => order.name));
20
+ for (const name of frozenGroupingNames) {
21
+ if (!existing.has(name)) {
22
+ ordered.push({ name, direction: 'asc' });
23
+ existing.add(name);
24
+ }
25
+ }
26
+ return ordered;
27
+ }
8
28
  export function buildPlanExecutionRegistry(input) {
9
29
  const byNodeId = new Map(input.nodes.map((node) => [node.nodeId, node]));
10
30
  const identitiesByNode = new Map();
11
31
  for (const node of input.nodes) {
12
- identitiesByNode.set(node.nodeId, new Set(nodeIdentities(node)));
32
+ identitiesByNode.set(node.nodeId, new Set(authorityIdentitiesForKGNode(node)));
13
33
  }
14
34
  for (const object of input.objects ?? []) {
15
35
  const nodeId = nodeIdForMetadataObject(object);
16
36
  if (!nodeId || !byNodeId.has(nodeId))
17
37
  continue;
18
38
  const identities = identitiesByNode.get(nodeId) ?? new Set();
19
- for (const identity of metadataObjectIdentities(object))
39
+ for (const identity of authorityIdentitiesForMetadataObject(object))
20
40
  identities.add(identity);
21
41
  identitiesByNode.set(nodeId, identities);
22
42
  }
23
43
  return input.nodes.map((node) => ({
24
44
  node,
25
45
  identities: [...(identitiesByNode.get(node.nodeId) ?? [])].filter(Boolean).sort(),
46
+ retrievalAliases: retrievalAliasesForKGNode(node).sort(),
26
47
  }));
27
48
  }
28
49
  export function adaptResolvedAnalyticalPlan(input) {
@@ -81,8 +102,24 @@ export function adaptResolvedAnalyticalPlan(input) {
81
102
  if (entry.node.kind !== 'metric') {
82
103
  return block('EXECUTION_KIND_MISMATCH', `${plan.executionId} is ${entry.node.kind}, not a semantic metric.`);
83
104
  }
84
- if (!input.semanticLayer)
85
- return block('SEMANTIC_LAYER_REQUIRED', 'The pinned semantic layer is unavailable.');
105
+ const selectedCapability = normalizeMetricCapabilityContract(plan.selectedCapability);
106
+ if (!input.semanticLayer) {
107
+ const entryCapability = normalizeMetricCapabilityContract(entry.node.payload?.analyticalCapability);
108
+ if (!selectedCapability
109
+ || !entryCapability
110
+ || selectedCapability.sourceFingerprint !== entryCapability.sourceFingerprint
111
+ || plan.selectedCapabilityFingerprint !== selectedCapability.sourceFingerprint)
112
+ return block('SEMANTIC_LAYER_REQUIRED', 'The pinned semantic layer is unavailable.');
113
+ return {
114
+ schemaVersion: 1,
115
+ status: 'ready',
116
+ kind: 'semantic',
117
+ planId: plan.planId,
118
+ fingerprint: plan.fingerprint,
119
+ metricNode: entry.node,
120
+ selection: { metrics: [entry.node.name], dimensions: [] },
121
+ };
122
+ }
86
123
  const metricNames = [];
87
124
  const metricBindings = plan.query.measures.length > 0
88
125
  ? plan.query.measures
@@ -100,10 +137,11 @@ export function adaptResolvedAnalyticalPlan(input) {
100
137
  metricNames.push(resolved.name);
101
138
  }
102
139
  const dimensions = [];
140
+ const dimensionOutputAliases = [];
103
141
  let timeDimension;
104
142
  let timeFilterDimensionName;
105
143
  for (const binding of plan.query.dimensions) {
106
- const resolved = resolveSemanticDimension(binding, input.registry, input.semanticLayer);
144
+ const resolved = resolveSemanticDimension(binding, input.registry, input.semanticLayer, selectedCapability, plan.schemaVersion === 1);
107
145
  if ('code' in resolved)
108
146
  return block(resolved.code, resolved.reason, resolved.candidateIds);
109
147
  if (isTimeDimension(resolved.definition)) {
@@ -118,11 +156,12 @@ export function adaptResolvedAnalyticalPlan(input) {
118
156
  }
119
157
  else {
120
158
  dimensions.push(resolved.name);
159
+ dimensionOutputAliases.push(resolved.definition.name);
121
160
  }
122
161
  }
123
162
  const filters = [];
124
163
  for (const filter of plan.query.filters) {
125
- const resolved = resolveSemanticDimension(filter.binding, input.registry, input.semanticLayer);
164
+ const resolved = resolveSemanticDimension(filter.binding, input.registry, input.semanticLayer, selectedCapability, plan.schemaVersion === 1);
126
165
  if ('code' in resolved)
127
166
  return block(resolved.code, resolved.reason, resolved.candidateIds);
128
167
  filters.push({ dimension: resolved.name, operator: 'equals', values: [filter.value] });
@@ -152,7 +191,9 @@ export function adaptResolvedAnalyticalPlan(input) {
152
191
  dimensions,
153
192
  ...(timeDimension ? { timeDimension } : {}),
154
193
  ...(filters.length ? { filters } : {}),
155
- ...(plan.query.order ? { orderBy: [{ name: metricNames[0], direction: plan.query.order }] } : {}),
194
+ ...(plan.query.order ? {
195
+ orderBy: appendStableSemanticSecondaryOrder([{ name: metricNames[0], direction: plan.query.order }], dimensionOutputAliases, plan.analyticalFrame?.ranking?.tiePolicy),
196
+ } : {}),
156
197
  ...(plan.query.limit !== undefined ? { limit: plan.query.limit } : {}),
157
198
  };
158
199
  return {
@@ -268,6 +309,10 @@ export function adaptAnalyticalSemanticGraph(input) {
268
309
  graph.snapshotId !== plan.snapshotId) {
269
310
  return block('EXECUTION_GRAPH_MISMATCH', 'The executable graph does not bind the supplied immutable plan.');
270
311
  }
312
+ const expectedRelationshipProofs = [...new Set(plan.relationshipProofs?.map((proof) => proof.authorityFingerprint) ?? [])].sort();
313
+ if ([...graph.relationshipProofFingerprints ?? []].sort().join('|') !== expectedRelationshipProofs.join('|')) {
314
+ return block('EXECUTION_GRAPH_MISMATCH', 'The executable graph relationship authority does not match the immutable plan.');
315
+ }
271
316
  if (input.expectedSnapshotId && graph.snapshotId !== input.expectedSnapshotId) {
272
317
  return block('SNAPSHOT_MISMATCH', `Graph snapshot ${graph.snapshotId} does not match active snapshot ${input.expectedSnapshotId}.`);
273
318
  }
@@ -289,11 +334,17 @@ export function adaptAnalyticalSemanticGraph(input) {
289
334
  return block(metricNames.length > 1 ? 'SEMANTIC_MEMBER_AMBIGUOUS' : 'SEMANTIC_MEMBER_MISSING', `${plan.executionId} maps to ${metricNames.length} semantic metrics.`, metricNames);
290
335
  }
291
336
  const invocations = [];
337
+ const frame = plan.analyticalFrame;
338
+ const sourceRanking = frame && !frame.comparison
339
+ && frame.ranking?.byMetricId === frame.metricConceptIds[0]
340
+ ? frame.ranking
341
+ : undefined;
292
342
  for (const source of graph.nodes.filter((node) => node.kind === 'source_invocation')) {
293
343
  if (source.strategy !== 'period_aggregate') {
294
344
  return block('EXECUTION_GRAPH_ROUTE_MISMATCH', 'A semantic graph cannot invoke a complete certified asset.');
295
345
  }
296
346
  const dimensions = [];
347
+ const dimensionOutputAliases = [];
297
348
  let timeDimension;
298
349
  for (const dimensionId of source.groupByDimensionIds) {
299
350
  const resolved = resolveSemanticDimensionId(dimensionId, input.registry, input.semanticLayer);
@@ -304,6 +355,7 @@ export function adaptAnalyticalSemanticGraph(input) {
304
355
  }
305
356
  else {
306
357
  dimensions.push(resolved.name);
358
+ dimensionOutputAliases.push(resolved.definition.name);
307
359
  }
308
360
  }
309
361
  const filters = [];
@@ -339,6 +391,12 @@ export function adaptAnalyticalSemanticGraph(input) {
339
391
  dimensions,
340
392
  ...(timeDimension ? { timeDimension } : {}),
341
393
  ...(filters.length ? { filters } : {}),
394
+ ...(sourceRanking
395
+ ? {
396
+ orderBy: appendStableSemanticSecondaryOrder([{ name: metricNames[0], direction: sourceRanking.direction }], dimensionOutputAliases, sourceRanking.tiePolicy),
397
+ limit: sourceRanking.limit,
398
+ }
399
+ : {}),
342
400
  },
343
401
  outputAliases: structuredClone(source.outputAliases),
344
402
  ...(source.period ? { period: structuredClone(source.period) } : {}),
@@ -385,7 +443,7 @@ function resolveSemanticMetric(binding, registry, layer) {
385
443
  }
386
444
  return { name: names[0], node: matches[0].node };
387
445
  }
388
- function resolveSemanticDimension(binding, registry, layer) {
446
+ function resolveSemanticDimension(binding, registry, layer, selectedCapability = undefined, allowLegacyCapabilityFallback = false) {
389
447
  if (binding.status !== 'resolved' || !binding.qualifiedId) {
390
448
  return {
391
449
  code: binding.status === 'ambiguous' ? 'SEMANTIC_MEMBER_AMBIGUOUS' : 'SEMANTIC_MEMBER_MISSING',
@@ -394,6 +452,18 @@ function resolveSemanticDimension(binding, registry, layer) {
394
452
  };
395
453
  }
396
454
  const matches = resolveRegistryIdentity(binding.qualifiedId, registry).filter((entry) => entry.node.kind === 'dimension');
455
+ if (matches.length === 0 && allowLegacyCapabilityFallback) {
456
+ const capabilityMatches = selectedCapability?.dimensions.filter((dimension) => dimension.dimensionId === binding.qualifiedId) ?? [];
457
+ const definitions = capabilityMatches.length === 1
458
+ ? uniqueDefinitions([layer.resolveGroupBy(binding.qualifiedId), layer.resolveGroupBy(binding.requested)])
459
+ : [];
460
+ if (definitions.length === 1) {
461
+ return {
462
+ name: definitions[0].qualifiedName ?? definitions[0].name,
463
+ definition: definitions[0],
464
+ };
465
+ }
466
+ }
397
467
  if (matches.length !== 1) {
398
468
  return {
399
469
  code: matches.length > 1 ? 'SEMANTIC_MEMBER_AMBIGUOUS' : 'SEMANTIC_MEMBER_MISSING',
@@ -403,11 +473,8 @@ function resolveSemanticDimension(binding, registry, layer) {
403
473
  }
404
474
  const node = matches[0].node;
405
475
  const localId = stringValue(node.payload?.localId) ?? node.name;
406
- const candidates = uniqueDefinitions([
407
- layer.resolveGroupBy(node.name),
408
- layer.resolveGroupBy(localId),
409
- ...stringArray(node.payload?.aliases).map((alias) => layer.resolveGroupBy(alias)),
410
- ]);
476
+ const candidates = uniqueDefinitions(semanticRuntimeReferencesForKGNode(node)
477
+ .map((reference) => layer.resolveGroupBy(reference)));
411
478
  if (candidates.length !== 1) {
412
479
  return {
413
480
  code: candidates.length > 1 ? 'SEMANTIC_MEMBER_AMBIGUOUS' : 'SEMANTIC_MEMBER_MISSING',
@@ -426,29 +493,11 @@ function resolveSemanticDimensionId(dimensionId, registry, layer) {
426
493
  }, registry, layer);
427
494
  }
428
495
  function semanticMetricNames(node, layer) {
429
- const localId = stringValue(node.payload?.localId) ?? node.name;
430
- const exactIdentities = new Set([node.name, localId, ...stringArray(node.payload?.aliases)]);
496
+ const exactIdentities = new Set(semanticRuntimeReferencesForKGNode(node));
431
497
  return [...new Set(layer.listMetrics().filter((metric) => exactIdentities.has(metric.name)
432
498
  || exactIdentities.has(`${metric.cube ?? ''}.${metric.name}`)
433
499
  || (metric.source?.objectId ? exactIdentities.has(metric.source.objectId) : false)).map((metric) => metric.name))].sort();
434
500
  }
435
- function nodeIdentities(node) {
436
- return [
437
- node.nodeId,
438
- stringValue(node.payload?.qualifiedId),
439
- stringValue(node.payload?.sourceNativeId),
440
- ...stringArray(node.payload?.aliases),
441
- ].filter((value) => Boolean(value));
442
- }
443
- function metadataObjectIdentities(object) {
444
- return [
445
- object.objectKey,
446
- object.fullName,
447
- stringValue(object.payload?.qualifiedId),
448
- stringValue(object.payload?.sourceNativeId),
449
- ...stringArray(object.payload?.aliases),
450
- ].filter((value) => Boolean(value));
451
- }
452
501
  function nodeIdForMetadataObject(object) {
453
502
  if (object.objectType === 'dql_block')
454
503
  return `block:${object.name}`;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-execution-adapter.js","sourceRoot":"","sources":["../src/plan-execution-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-execution-adapter.js","sourceRoot":"","sources":["../src/plan-execution-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import type { ProviderEgressCategory, ProviderDispatchPhaseV1, ProviderEgressPurpose, ProviderEgressReceiptV1 } from '@duckcodeailabs/dql-core';
2
+ export declare const PROVIDER_RESULT_ROW_REDACTION_POLICY_ID = "research-result-rows-v1";
3
+ export declare const PROVIDER_ZERO_RESULT_ROWS_POLICY_ID = "no-result-rows-v1";
4
+ export declare const ASK_NARRATION_RESULT_ROW_POLICY_ID = "ask-narration-rows-v1";
5
+ /** Hard ceiling on rows any narration policy may release, whatever the config says. */
6
+ export declare const MAX_ASK_NARRATION_RESULT_ROWS = 20;
7
+ /**
8
+ * How many executed result rows may cross the provider boundary, and under whose
9
+ * authority.
10
+ *
11
+ * A model cannot describe, rank, or compare values it has never seen. Blanket
12
+ * `allowResultRows: false` on every dispatch is what forced answer prose to be
13
+ * built by a local template, which is how an ordinary Ask came to return a
14
+ * `column: value` dump. Ordinary Ask now releases a bounded, redacted sample by
15
+ * default; a project admin can set it back to zero, in which case narration
16
+ * still runs but is grounded only in columns and computed statistics.
17
+ */
18
+ export interface ProviderResultRowEgressPolicy {
19
+ /** Rows released to the narration/synthesis dispatch. 0 disables row egress. */
20
+ maxNarrationRows: number;
21
+ /** Rows released to tool observations inside a generation loop. */
22
+ maxToolRows: number;
23
+ /** Who decided: the shipped default, project config, or an explicit request opt-in. */
24
+ source: 'default' | 'project_config' | 'request_opt_in';
25
+ /** Recorded on every receipt so an auditor can tell which rule applied. */
26
+ policyId: string;
27
+ }
28
+ export declare const DEFAULT_ASK_ROW_EGRESS_POLICY: ProviderResultRowEgressPolicy;
29
+ export declare const ZERO_ROW_EGRESS_POLICY: ProviderResultRowEgressPolicy;
30
+ export declare const RESEARCH_ROW_EGRESS_POLICY: ProviderResultRowEgressPolicy;
31
+ /**
32
+ * Resolve the row-egress policy for one run. The admin kill-switch wins over the
33
+ * default; an explicit Research opt-in is the only thing that widens tool rows.
34
+ */
35
+ export declare function resolveProviderResultRowEgressPolicy(input: {
36
+ projectSetting?: {
37
+ mode?: 'bounded_sample' | 'disabled';
38
+ maxNarrationRows?: number;
39
+ };
40
+ researchOptIn?: boolean;
41
+ }): ProviderResultRowEgressPolicy;
42
+ export interface ProviderPayloadGuardPolicy {
43
+ allowResultRows: boolean;
44
+ maxResultRows: number;
45
+ purpose: ProviderEgressPurpose;
46
+ }
47
+ export interface ProviderPayloadRowShape {
48
+ resultRowCount: number;
49
+ columnCount: number;
50
+ }
51
+ export interface BoundedProviderResultRows {
52
+ value: unknown;
53
+ shape: ProviderPayloadRowShape;
54
+ exhausted: boolean;
55
+ }
56
+ export declare function markProviderMetadata<T extends object>(value: T): T;
57
+ export declare function markProviderMetadataArray<T>(value: T[]): T[];
58
+ /**
59
+ * Clone one governed context immediately before prompt/transport construction.
60
+ * Result-row containers and unclassified arrays are stripped; only arrays in a
61
+ * typed metadata field receive process-local provenance. JSON cannot forge the
62
+ * marker because every input value is cloned before marking.
63
+ */
64
+ export declare function prepareProviderContextForDispatch(value: unknown): unknown;
65
+ /** Validate and mark runtime-acquired schema at its server-owned construction site. */
66
+ export declare function prepareServerOwnedProviderSchemaContext(value: unknown): unknown[];
67
+ /**
68
+ * Clone an exact provider-native request envelope at the physical dispatch
69
+ * boundary. Unlike governed-context normalization, this trusts arrays only at
70
+ * provider wire paths with validated item shapes; a matching leaf name inside
71
+ * arbitrary context never grants provenance.
72
+ */
73
+ export declare function prepareProviderWireEnvelopeForDispatch(provider: string, value: unknown): Record<string, unknown>;
74
+ /**
75
+ * Inspect a provider-bound payload recursively. Detection is structural rather
76
+ * than dependent on a `rows` field, so a nested or renamed result cannot bypass
77
+ * the guard. Known schema/catalog descriptor arrays remain metadata.
78
+ */
79
+ export declare function inspectProviderPayloadRowShape(value: unknown): ProviderPayloadRowShape;
80
+ /** Throw before any row-shaped payload reaches a provider. */
81
+ export declare function assertProviderPayloadAllowed(value: unknown, policy: ProviderPayloadGuardPolicy): ProviderPayloadRowShape;
82
+ /** Remove row-shaped arrays while preserving surrounding metadata. */
83
+ export declare function stripProviderResultRows(value: unknown, depth?: number): unknown;
84
+ /** Bound every untrusted row container against one shared remaining allowance. */
85
+ export declare function boundProviderResultRows(value: unknown, maxRows: number): BoundedProviderResultRows;
86
+ /** Redact and bound explicitly opted-in Research rows before prompt/tool use. */
87
+ export declare function redactProviderResultRows(rows: Array<Record<string, unknown>>, limit: number): Array<Record<string, unknown>>;
88
+ export declare function createProviderEgressReceipt(input: {
89
+ purpose: ProviderEgressPurpose;
90
+ provider: string;
91
+ permittedCategories: ProviderEgressCategory[];
92
+ optIn: boolean;
93
+ payload: unknown;
94
+ resultRowCount?: number;
95
+ cumulativeResultRowCount?: number;
96
+ columnCount?: number;
97
+ redactionPolicyId?: string;
98
+ }): ProviderEgressReceiptV1;
99
+ /**
100
+ * Content-free receipt for one exact provider-native HTTP envelope. Tool
101
+ * results are strings in the OpenAI/Claude wire formats, so their row shape is
102
+ * carried from the recursive pre-serialization inspection that produced those
103
+ * strings. Any still-structural row array in the envelope wins over that
104
+ * projection and can never be hidden with a caller-supplied zero.
105
+ */
106
+ export declare function createProviderDispatchEgressReceipt(input: {
107
+ purpose: ProviderEgressPurpose;
108
+ dispatchPhase?: ProviderDispatchPhaseV1;
109
+ provider: string;
110
+ model?: string;
111
+ operation?: 'generate' | 'generate_with_tools' | 'generate_stream';
112
+ attemptIndex?: number;
113
+ options?: ProviderEgressReceiptV1['options'];
114
+ permittedCategories: ProviderEgressCategory[];
115
+ optIn: boolean;
116
+ envelope: unknown;
117
+ serializedResultShape?: ProviderPayloadRowShape;
118
+ cumulativeResultRowCount?: number;
119
+ redactionPolicyId?: string;
120
+ }): ProviderEgressReceiptV1;
121
+ export declare function providerPayloadFingerprint(payload: unknown): string;
122
+ //# sourceMappingURL=provider-egress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-egress.d.ts","sourceRoot":"","sources":["../src/provider-egress.ts"],"names":[],"mappings":"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"}