@duckcodeailabs/dql-agent 1.13.5 → 1.14.1
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/dist/agent-run-engine.d.ts +79 -4
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +457 -39
- package/dist/agent-run-engine.js.map +1 -1
- package/dist/agent-run-gates.d.ts.map +1 -1
- package/dist/agent-run-gates.js +13 -0
- package/dist/agent-run-gates.js.map +1 -1
- package/dist/agent-run-store.d.ts.map +1 -1
- package/dist/agent-run-store.js +42 -25
- package/dist/agent-run-store.js.map +1 -1
- package/dist/agentic/analyst-loop.d.ts +91 -0
- package/dist/agentic/analyst-loop.d.ts.map +1 -0
- package/dist/agentic/analyst-loop.js +311 -0
- package/dist/agentic/analyst-loop.js.map +1 -0
- package/dist/agentic/assumptions.d.ts +62 -0
- package/dist/agentic/assumptions.d.ts.map +1 -0
- package/dist/agentic/assumptions.js +73 -0
- package/dist/agentic/assumptions.js.map +1 -0
- package/dist/agentic/business-explanation.d.ts +56 -0
- package/dist/agentic/business-explanation.d.ts.map +1 -0
- package/dist/agentic/business-explanation.js +130 -0
- package/dist/agentic/business-explanation.js.map +1 -0
- package/dist/agentic/identifier-ledger.d.ts +74 -0
- package/dist/agentic/identifier-ledger.d.ts.map +1 -0
- package/dist/agentic/identifier-ledger.js +151 -0
- package/dist/agentic/identifier-ledger.js.map +1 -0
- package/dist/agentic/ledger-tools.d.ts +68 -0
- package/dist/agentic/ledger-tools.d.ts.map +1 -0
- package/dist/agentic/ledger-tools.js +198 -0
- package/dist/agentic/ledger-tools.js.map +1 -0
- package/dist/agentic/orchestrator-policy.d.ts +60 -0
- package/dist/agentic/orchestrator-policy.d.ts.map +1 -0
- package/dist/agentic/orchestrator-policy.js +73 -0
- package/dist/agentic/orchestrator-policy.js.map +1 -0
- package/dist/agentic/orchestrator.d.ts +54 -0
- package/dist/agentic/orchestrator.d.ts.map +1 -0
- package/dist/agentic/orchestrator.js +67 -0
- package/dist/agentic/orchestrator.js.map +1 -0
- package/dist/agentic/preview-tool.d.ts +36 -0
- package/dist/agentic/preview-tool.d.ts.map +1 -0
- package/dist/agentic/preview-tool.js +71 -0
- package/dist/agentic/preview-tool.js.map +1 -0
- package/dist/agentic/rerank.d.ts +50 -0
- package/dist/agentic/rerank.d.ts.map +1 -0
- package/dist/agentic/rerank.js +140 -0
- package/dist/agentic/rerank.js.map +1 -0
- package/dist/agentic/research/hypothesis.d.ts +110 -0
- package/dist/agentic/research/hypothesis.d.ts.map +1 -0
- package/dist/agentic/research/hypothesis.js +125 -0
- package/dist/agentic/research/hypothesis.js.map +1 -0
- package/dist/agentic/research/synthesis.d.ts +32 -0
- package/dist/agentic/research/synthesis.d.ts.map +1 -0
- package/dist/agentic/research/synthesis.js +94 -0
- package/dist/agentic/research/synthesis.js.map +1 -0
- package/dist/agentic/research-agent.d.ts +54 -0
- package/dist/agentic/research-agent.d.ts.map +1 -0
- package/dist/agentic/research-agent.js +176 -0
- package/dist/agentic/research-agent.js.map +1 -0
- package/dist/agentic/sql-authorization.d.ts +131 -0
- package/dist/agentic/sql-authorization.d.ts.map +1 -0
- package/dist/agentic/sql-authorization.js +232 -0
- package/dist/agentic/sql-authorization.js.map +1 -0
- package/dist/agentic/tool-loop.d.ts +29 -0
- package/dist/agentic/tool-loop.d.ts.map +1 -1
- package/dist/agentic/tool-loop.js +129 -52
- package/dist/agentic/tool-loop.js.map +1 -1
- package/dist/agentic/toolset.d.ts.map +1 -1
- package/dist/agentic/toolset.js +155 -0
- package/dist/agentic/toolset.js.map +1 -1
- package/dist/agentic/turn-plan.d.ts +35 -0
- package/dist/agentic/turn-plan.d.ts.map +1 -0
- package/dist/agentic/turn-plan.js +108 -0
- package/dist/agentic/turn-plan.js.map +1 -0
- package/dist/agentic/value-probe.d.ts +89 -0
- package/dist/agentic/value-probe.d.ts.map +1 -0
- package/dist/agentic/value-probe.js +304 -0
- package/dist/agentic/value-probe.js.map +1 -0
- package/dist/analytical-orchestration.d.ts +336 -0
- package/dist/analytical-orchestration.d.ts.map +1 -0
- package/dist/analytical-orchestration.js +631 -0
- package/dist/analytical-orchestration.js.map +1 -0
- package/dist/analytical-request-policy.d.ts +26 -0
- package/dist/analytical-request-policy.d.ts.map +1 -0
- package/dist/analytical-request-policy.js +82 -0
- package/dist/analytical-request-policy.js.map +1 -0
- package/dist/analytical-result-facts.d.ts +14 -1
- package/dist/analytical-result-facts.d.ts.map +1 -1
- package/dist/analytical-result-facts.js +76 -1
- package/dist/analytical-result-facts.js.map +1 -1
- package/dist/answer-loop.d.ts +61 -16
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +256 -36
- package/dist/answer-loop.js.map +1 -1
- package/dist/cascade/budgets.d.ts.map +1 -1
- package/dist/cascade/budgets.js +8 -1
- package/dist/cascade/budgets.js.map +1 -1
- package/dist/cascade/packer.d.ts +88 -0
- package/dist/cascade/packer.d.ts.map +1 -0
- package/dist/cascade/packer.js +106 -0
- package/dist/cascade/packer.js.map +1 -0
- package/dist/conversation/result-ops.d.ts +18 -3
- package/dist/conversation/result-ops.d.ts.map +1 -1
- package/dist/conversation/result-ops.js +77 -5
- package/dist/conversation/result-ops.js.map +1 -1
- package/dist/conversation/rolling-summary.d.ts.map +1 -1
- package/dist/conversation/rolling-summary.js +7 -2
- package/dist/conversation/rolling-summary.js.map +1 -1
- package/dist/conversation/session-store.d.ts +3 -0
- package/dist/conversation/session-store.d.ts.map +1 -1
- package/dist/conversation/session-store.js +8 -4
- package/dist/conversation/session-store.js.map +1 -1
- package/dist/conversation/snapshot.d.ts.map +1 -1
- package/dist/conversation/snapshot.js +13 -1
- package/dist/conversation/snapshot.js.map +1 -1
- package/dist/conversation/turn-trust.d.ts.map +1 -1
- package/dist/conversation/turn-trust.js +6 -0
- package/dist/conversation/turn-trust.js.map +1 -1
- package/dist/hints/store.d.ts.map +1 -1
- package/dist/hints/store.js +15 -5
- package/dist/hints/store.js.map +1 -1
- package/dist/index.d.ts +27 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/dist/intent-controller.d.ts +8 -0
- package/dist/intent-controller.d.ts.map +1 -1
- package/dist/intent-controller.js +65 -0
- package/dist/intent-controller.js.map +1 -1
- package/dist/meaning-resolution.d.ts +7 -0
- package/dist/meaning-resolution.d.ts.map +1 -1
- package/dist/meaning-resolution.js.map +1 -1
- package/dist/metadata/block-fit.d.ts +18 -0
- package/dist/metadata/block-fit.d.ts.map +1 -1
- package/dist/metadata/block-fit.js +41 -1
- package/dist/metadata/block-fit.js.map +1 -1
- package/dist/metadata/catalog.d.ts +44 -23
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +363 -53
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/meaning-evidence.d.ts.map +1 -1
- package/dist/metadata/meaning-evidence.js +101 -8
- package/dist/metadata/meaning-evidence.js.map +1 -1
- package/dist/metadata/metric-match.d.ts +32 -0
- package/dist/metadata/metric-match.d.ts.map +1 -1
- package/dist/metadata/metric-match.js +120 -9
- package/dist/metadata/metric-match.js.map +1 -1
- package/dist/research-loop.d.ts +33 -2
- package/dist/research-loop.d.ts.map +1 -1
- package/dist/research-loop.js +44 -4
- package/dist/research-loop.js.map +1 -1
- package/dist/resolved-analytical-plan.d.ts.map +1 -1
- package/dist/resolved-analytical-plan.js +92 -5
- package/dist/resolved-analytical-plan.js.map +1 -1
- package/dist/router.d.ts +36 -16
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +604 -25
- package/dist/router.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/cascade/budgets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,aAAa,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,uBAAuB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,oBAAoB,CAAC;IACpC,UAAU,EAAE,0BAA0B,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,4BAA4B,EAAE,kBAW1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/cascade/budgets.ts"],"names":[],"mappings":"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"}
|
package/dist/cascade/budgets.js
CHANGED
|
@@ -26,7 +26,14 @@ export const QUICK_PROMPT_CONTEXT_BUDGET = {
|
|
|
26
26
|
otherRelationLimit: 24,
|
|
27
27
|
sourceSqlLimit: 5,
|
|
28
28
|
sourceSqlColumnLimit: 24,
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Was 0, which blacked out every non-`proves_join` edge on exactly the
|
|
31
|
+
* single-metric lookups that most need lineage — CTX-008 had to add
|
|
32
|
+
* `GOVERNED_JOIN_EDGE_FLOOR` to claw back the join proofs alone. A small
|
|
33
|
+
* allowance removes the blackout without reopening the token cost the zero
|
|
34
|
+
* was defending: the quick path is still the one that must answer in seconds.
|
|
35
|
+
*/
|
|
36
|
+
edgeLimit: 8,
|
|
30
37
|
};
|
|
31
38
|
export const DEEP_PROMPT_CONTEXT_BUDGET = {
|
|
32
39
|
label: 'deep',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../src/cascade/budgets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"budgets.js","sourceRoot":"","sources":["../../src/cascade/budgets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token-budgeted context packing.
|
|
3
|
+
*
|
|
4
|
+
* Every prompt budget in `budgets.ts` is an ITEM COUNT — 12 tables, 50 columns,
|
|
5
|
+
* 18 context objects — and there is no token estimator anywhere in the package.
|
|
6
|
+
* Counts are a poor proxy for what actually fits: one wide fact table with 200
|
|
7
|
+
* documented columns costs more than thirty lean dimensions, so a fixed top-N
|
|
8
|
+
* either wastes most of the window or silently overruns it. Worse, it truncates
|
|
9
|
+
* by POSITION rather than by value, so the object that would have answered the
|
|
10
|
+
* question gets cut because it ranked 19th.
|
|
11
|
+
*
|
|
12
|
+
* This packs by value per token instead, with hard-priority tiers that always go
|
|
13
|
+
* in first. It is deliberately a pure function over already-ranked items: the
|
|
14
|
+
* ranking stays where the evidence is, and this only decides what fits.
|
|
15
|
+
*/
|
|
16
|
+
/** A candidate piece of prompt context, already scored by retrieval. */
|
|
17
|
+
export interface PackItem {
|
|
18
|
+
id: string;
|
|
19
|
+
/** Rendered text. Called at most once per item, so it may be expensive. */
|
|
20
|
+
render: () => string;
|
|
21
|
+
/**
|
|
22
|
+
* Relevance, higher is better. Compared only against other items in the same
|
|
23
|
+
* pack, so any consistent scale works.
|
|
24
|
+
*/
|
|
25
|
+
score: number;
|
|
26
|
+
/**
|
|
27
|
+
* Items that must be included regardless of budget, lowest number first.
|
|
28
|
+
* Reserved for context whose ABSENCE changes the answer's correctness rather
|
|
29
|
+
* than its quality: the frozen plan's bound identifiers, the certified block's
|
|
30
|
+
* SQL, the relations the query is allowed to touch. Everything else competes.
|
|
31
|
+
*/
|
|
32
|
+
priority?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface PackResult {
|
|
35
|
+
text: string;
|
|
36
|
+
included: string[];
|
|
37
|
+
dropped: string[];
|
|
38
|
+
tokensUsed: number;
|
|
39
|
+
/** True when a hard-priority item alone exceeded the budget. */
|
|
40
|
+
overBudget: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Estimate tokens for prompt text.
|
|
44
|
+
*
|
|
45
|
+
* chars/4 is the standard rough ratio and lands within ~10% on schema text,
|
|
46
|
+
* which is mostly short identifiers and punctuation. It is deliberately an
|
|
47
|
+
* ESTIMATE with a pluggable seam rather than a real BPE tokenizer: pulling one
|
|
48
|
+
* in costs a dependency and per-model vocabularies, and a packer only needs to
|
|
49
|
+
* be right enough to stop truncating by position. Swap in a real tokenizer here
|
|
50
|
+
* when a provider's exact window becomes the binding constraint.
|
|
51
|
+
*/
|
|
52
|
+
export declare function estimateTokens(text: string): number;
|
|
53
|
+
export type TokenEstimator = (text: string) => number;
|
|
54
|
+
export interface PackOptions {
|
|
55
|
+
/** Defaults to {@link estimateTokens}. */
|
|
56
|
+
estimate?: TokenEstimator;
|
|
57
|
+
/** Joined between rendered items. Its cost is counted. */
|
|
58
|
+
separator?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Pack items into a token budget, best value first.
|
|
62
|
+
*
|
|
63
|
+
* Hard-priority items are admitted in priority order before anything competes,
|
|
64
|
+
* and they are admitted EVEN IF that exceeds the budget — a prompt missing the
|
|
65
|
+
* relations its SQL is allowed to touch is not a smaller prompt, it is a wrong
|
|
66
|
+
* one. `overBudget` reports that so a caller can widen the window or shed work
|
|
67
|
+
* rather than silently shipping an over-length request.
|
|
68
|
+
*
|
|
69
|
+
* The rest are greedy by score-per-token. Greedy is not optimal for knapsack,
|
|
70
|
+
* but the alternative is a DP over a set that changes every turn, and the
|
|
71
|
+
* ordering that matters — high-value-dense context first — is what greedy gets
|
|
72
|
+
* right.
|
|
73
|
+
*/
|
|
74
|
+
export declare function packContext(items: readonly PackItem[], budgetTokens: number, options?: PackOptions): PackResult;
|
|
75
|
+
/**
|
|
76
|
+
* Token budgets by analysis depth, replacing the item counts in `budgets.ts`.
|
|
77
|
+
*
|
|
78
|
+
* Sized against typical provider windows with room for the system prompt, the
|
|
79
|
+
* conversation, and the response — the context pack is a share of the window,
|
|
80
|
+
* never the whole thing.
|
|
81
|
+
*/
|
|
82
|
+
export declare const PROMPT_TOKEN_BUDGETS: {
|
|
83
|
+
readonly quick: 6000;
|
|
84
|
+
readonly deep: 24000;
|
|
85
|
+
readonly research: 48000;
|
|
86
|
+
};
|
|
87
|
+
export type PromptTokenBudget = keyof typeof PROMPT_TOKEN_BUDGETS;
|
|
88
|
+
//# sourceMappingURL=packer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packer.d.ts","sourceRoot":"","sources":["../../src/cascade/packer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,wEAAwE;AACxE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,UAAU,CAwDZ;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token-budgeted context packing.
|
|
3
|
+
*
|
|
4
|
+
* Every prompt budget in `budgets.ts` is an ITEM COUNT — 12 tables, 50 columns,
|
|
5
|
+
* 18 context objects — and there is no token estimator anywhere in the package.
|
|
6
|
+
* Counts are a poor proxy for what actually fits: one wide fact table with 200
|
|
7
|
+
* documented columns costs more than thirty lean dimensions, so a fixed top-N
|
|
8
|
+
* either wastes most of the window or silently overruns it. Worse, it truncates
|
|
9
|
+
* by POSITION rather than by value, so the object that would have answered the
|
|
10
|
+
* question gets cut because it ranked 19th.
|
|
11
|
+
*
|
|
12
|
+
* This packs by value per token instead, with hard-priority tiers that always go
|
|
13
|
+
* in first. It is deliberately a pure function over already-ranked items: the
|
|
14
|
+
* ranking stays where the evidence is, and this only decides what fits.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Estimate tokens for prompt text.
|
|
18
|
+
*
|
|
19
|
+
* chars/4 is the standard rough ratio and lands within ~10% on schema text,
|
|
20
|
+
* which is mostly short identifiers and punctuation. It is deliberately an
|
|
21
|
+
* ESTIMATE with a pluggable seam rather than a real BPE tokenizer: pulling one
|
|
22
|
+
* in costs a dependency and per-model vocabularies, and a packer only needs to
|
|
23
|
+
* be right enough to stop truncating by position. Swap in a real tokenizer here
|
|
24
|
+
* when a provider's exact window becomes the binding constraint.
|
|
25
|
+
*/
|
|
26
|
+
export function estimateTokens(text) {
|
|
27
|
+
if (!text)
|
|
28
|
+
return 0;
|
|
29
|
+
return Math.ceil(text.length / 4);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Pack items into a token budget, best value first.
|
|
33
|
+
*
|
|
34
|
+
* Hard-priority items are admitted in priority order before anything competes,
|
|
35
|
+
* and they are admitted EVEN IF that exceeds the budget — a prompt missing the
|
|
36
|
+
* relations its SQL is allowed to touch is not a smaller prompt, it is a wrong
|
|
37
|
+
* one. `overBudget` reports that so a caller can widen the window or shed work
|
|
38
|
+
* rather than silently shipping an over-length request.
|
|
39
|
+
*
|
|
40
|
+
* The rest are greedy by score-per-token. Greedy is not optimal for knapsack,
|
|
41
|
+
* but the alternative is a DP over a set that changes every turn, and the
|
|
42
|
+
* ordering that matters — high-value-dense context first — is what greedy gets
|
|
43
|
+
* right.
|
|
44
|
+
*/
|
|
45
|
+
export function packContext(items, budgetTokens, options = {}) {
|
|
46
|
+
const estimate = options.estimate ?? estimateTokens;
|
|
47
|
+
const separator = options.separator ?? '\n';
|
|
48
|
+
const separatorCost = estimate(separator);
|
|
49
|
+
const rendered = items.map((item) => {
|
|
50
|
+
const text = item.render();
|
|
51
|
+
return { item, text, tokens: estimate(text) };
|
|
52
|
+
});
|
|
53
|
+
const required = rendered
|
|
54
|
+
.filter((entry) => entry.item.priority !== undefined)
|
|
55
|
+
.sort((left, right) => (left.item.priority ?? 0) - (right.item.priority ?? 0)
|
|
56
|
+
|| right.item.score - left.item.score
|
|
57
|
+
|| left.item.id.localeCompare(right.item.id));
|
|
58
|
+
const optional = rendered
|
|
59
|
+
.filter((entry) => entry.item.priority === undefined)
|
|
60
|
+
.sort((left, right) => {
|
|
61
|
+
// Value per token. A zero-token item is free, so it sorts first rather
|
|
62
|
+
// than dividing by zero.
|
|
63
|
+
const leftDensity = left.tokens === 0 ? Number.POSITIVE_INFINITY : left.item.score / left.tokens;
|
|
64
|
+
const rightDensity = right.tokens === 0 ? Number.POSITIVE_INFINITY : right.item.score / right.tokens;
|
|
65
|
+
return rightDensity - leftDensity
|
|
66
|
+
|| right.item.score - left.item.score
|
|
67
|
+
|| left.item.id.localeCompare(right.item.id);
|
|
68
|
+
});
|
|
69
|
+
const chosen = [];
|
|
70
|
+
const dropped = [];
|
|
71
|
+
let used = 0;
|
|
72
|
+
for (const entry of required) {
|
|
73
|
+
used += entry.tokens + (chosen.length > 0 ? separatorCost : 0);
|
|
74
|
+
chosen.push(entry);
|
|
75
|
+
}
|
|
76
|
+
const overBudget = used > budgetTokens;
|
|
77
|
+
for (const entry of optional) {
|
|
78
|
+
const cost = entry.tokens + (chosen.length > 0 ? separatorCost : 0);
|
|
79
|
+
if (used + cost > budgetTokens) {
|
|
80
|
+
dropped.push(entry.item.id);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
used += cost;
|
|
84
|
+
chosen.push(entry);
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
text: chosen.map((entry) => entry.text).join(separator),
|
|
88
|
+
included: chosen.map((entry) => entry.item.id),
|
|
89
|
+
dropped,
|
|
90
|
+
tokensUsed: used,
|
|
91
|
+
overBudget,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Token budgets by analysis depth, replacing the item counts in `budgets.ts`.
|
|
96
|
+
*
|
|
97
|
+
* Sized against typical provider windows with room for the system prompt, the
|
|
98
|
+
* conversation, and the response — the context pack is a share of the window,
|
|
99
|
+
* never the whole thing.
|
|
100
|
+
*/
|
|
101
|
+
export const PROMPT_TOKEN_BUDGETS = {
|
|
102
|
+
quick: 6_000,
|
|
103
|
+
deep: 24_000,
|
|
104
|
+
research: 48_000,
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=packer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packer.js","sourceRoot":"","sources":["../../src/cascade/packer.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,11 +53,26 @@ export interface ResultSetComputation {
|
|
|
53
53
|
/** True when coveredRows < ofRowCount (computed over a sample, not the full set). */
|
|
54
54
|
partial: boolean;
|
|
55
55
|
}
|
|
56
|
+
/** Prior-result shape the scorer consults. Optional so bare callers keep working. */
|
|
57
|
+
export interface PriorResultShape {
|
|
58
|
+
columns?: readonly string[];
|
|
59
|
+
measureColumns?: readonly string[];
|
|
60
|
+
}
|
|
56
61
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
62
|
+
* Should this question be answered from the prior result?
|
|
63
|
+
*
|
|
64
|
+
* The demonstrative regex used to be a hard gate, so "what's the average
|
|
65
|
+
* revenue?" right after a table re-entered the full cascade and came back as a
|
|
66
|
+
* metric-composition clarification — a fresh warehouse round-trip for arithmetic
|
|
67
|
+
* over rows already on screen.
|
|
68
|
+
*
|
|
69
|
+
* It is now the strongest of several signals rather than the only one. A named
|
|
70
|
+
* column that EXISTS in the prior result is nearly as strong: "the average
|
|
71
|
+
* lifetime_spend" can only sensibly mean the column just shown. Anything that
|
|
72
|
+
* looks like a new query vetoes both.
|
|
59
73
|
*/
|
|
60
|
-
export declare function
|
|
74
|
+
export declare function refersToPriorResult(question: string, prior?: PriorResultShape): boolean;
|
|
75
|
+
export declare function detectResultSetOperation(question: string, prior?: PriorResultShape): ResultSetOperation | null;
|
|
61
76
|
/**
|
|
62
77
|
* Compute the operation over the prior result rows. Returns null when there is
|
|
63
78
|
* nothing to compute (no rows, or no numeric column for a numeric aggregate).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-ops.d.ts","sourceRoot":"","sources":["../../src/conversation/result-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAClB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"result-ops.d.ts","sourceRoot":"","sources":["../../src/conversation/result-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IAClB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;CAClB;AA6BD,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAsBvF;AAmBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,gBAAgB,GACvB,kBAAkB,GAAG,IAAI,CA+B3B;AA6DD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,kBAAkB,EACtB,KAAK,EAAE,eAAe,GACrB,oBAAoB,GAAG,IAAI,CAuE7B"}
|
|
@@ -15,10 +15,72 @@
|
|
|
15
15
|
* When the full result had more rows than we retained, the answer says so and
|
|
16
16
|
* points the user at re-asking as a fresh query for the exact full-set figure.
|
|
17
17
|
*/
|
|
18
|
-
// A demonstrative back-reference to the prior result.
|
|
19
|
-
//
|
|
20
|
-
//
|
|
18
|
+
// A demonstrative back-reference to the prior result. STRONG evidence that the
|
|
19
|
+
// question is about the rows already on screen — but no longer required on its
|
|
20
|
+
// own, see `refersToPriorResult`.
|
|
21
21
|
const BACK_REFERENCE_RE = /\b(these|those|them|the\s+(?:results?|list|rows?|ones?|values?|numbers?)|above|shown\s+above|listed\s+above|from\s+(?:the\s+)?(?:results?|above|list))\b/i;
|
|
22
|
+
/**
|
|
23
|
+
* Signals that the question introduces a NEW query rather than operating on the
|
|
24
|
+
* rows already returned. Any of these vetoes the cross-result path outright.
|
|
25
|
+
*
|
|
26
|
+
* This side matters more than the positive signals. The failure mode of relaxing
|
|
27
|
+
* the demonstrative requirement is answering a FRESH question from a stale
|
|
28
|
+
* table — silently computing "average revenue last quarter" over whatever
|
|
29
|
+
* happened to be on screen — which is worse than the bug being fixed, because
|
|
30
|
+
* the user cannot see that it happened.
|
|
31
|
+
*/
|
|
32
|
+
const NEW_QUERY_RE = new RegExp([
|
|
33
|
+
// An explicit time frame the prior result was not scoped to.
|
|
34
|
+
'\\b(last|next|this|previous|past)\\s+(year|quarter|month|week|day|\\d+\\s+\\w+)\\b',
|
|
35
|
+
'\\b(ytd|mtd|qtd|year\\s+to\\s+date|since|between|from)\\b',
|
|
36
|
+
// A new breakdown — "by region" asks for a grouping the prior rows may not have.
|
|
37
|
+
'\\bby\\s+[a-z_]',
|
|
38
|
+
// A new population.
|
|
39
|
+
'\\b(all|every|each)\\b',
|
|
40
|
+
// Explicitly asking to re-run.
|
|
41
|
+
'\\b(re-?run|recalculate|refresh|fresh|instead|new\\s+query)\\b',
|
|
42
|
+
].join('|'), 'i');
|
|
43
|
+
/**
|
|
44
|
+
* Should this question be answered from the prior result?
|
|
45
|
+
*
|
|
46
|
+
* The demonstrative regex used to be a hard gate, so "what's the average
|
|
47
|
+
* revenue?" right after a table re-entered the full cascade and came back as a
|
|
48
|
+
* metric-composition clarification — a fresh warehouse round-trip for arithmetic
|
|
49
|
+
* over rows already on screen.
|
|
50
|
+
*
|
|
51
|
+
* It is now the strongest of several signals rather than the only one. A named
|
|
52
|
+
* column that EXISTS in the prior result is nearly as strong: "the average
|
|
53
|
+
* lifetime_spend" can only sensibly mean the column just shown. Anything that
|
|
54
|
+
* looks like a new query vetoes both.
|
|
55
|
+
*/
|
|
56
|
+
export function refersToPriorResult(question, prior) {
|
|
57
|
+
const q = question.trim();
|
|
58
|
+
if (!q)
|
|
59
|
+
return false;
|
|
60
|
+
// A new-query signal wins over everything. Being wrong in this direction is
|
|
61
|
+
// silent and unrecoverable; being wrong the other way just costs a query.
|
|
62
|
+
if (NEW_QUERY_RE.test(q))
|
|
63
|
+
return false;
|
|
64
|
+
if (BACK_REFERENCE_RE.test(q))
|
|
65
|
+
return true;
|
|
66
|
+
// No demonstrative: accept only when the question names a column the prior
|
|
67
|
+
// result actually has. Without prior columns there is nothing to anchor on,
|
|
68
|
+
// so stay conservative and let the normal cascade run.
|
|
69
|
+
const columns = [...(prior?.columns ?? []), ...(prior?.measureColumns ?? [])];
|
|
70
|
+
if (columns.length === 0)
|
|
71
|
+
return false;
|
|
72
|
+
const lower = q.toLowerCase();
|
|
73
|
+
return columns.some((column) => {
|
|
74
|
+
const name = column.toLowerCase().trim();
|
|
75
|
+
if (!name)
|
|
76
|
+
return false;
|
|
77
|
+
if (lower.includes(name))
|
|
78
|
+
return true;
|
|
79
|
+
// `lifetime_spend` should also match "lifetime spend".
|
|
80
|
+
const spaced = name.replace(/[_\s]+/g, ' ');
|
|
81
|
+
return spaced.length > 3 && lower.includes(spaced);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
22
84
|
const AGGREGATE_PATTERNS = [
|
|
23
85
|
{ re: /\b(average|avg|mean)\b/i, aggregate: 'avg' },
|
|
24
86
|
{ re: /\b(median)\b/i, aggregate: 'median' },
|
|
@@ -31,11 +93,21 @@ const AGGREGATE_PATTERNS = [
|
|
|
31
93
|
* Detect a cross-result operation. Returns null unless the question both refers
|
|
32
94
|
* back to the prior result AND names an aggregate or a re-rank.
|
|
33
95
|
*/
|
|
34
|
-
|
|
96
|
+
/** Asks for a reason or a mechanism, not a number. */
|
|
97
|
+
const EXPLANATION_QUESTION = /\b(?:why|how come|how did|how does|how is|explain|reason|caused?|drove|driving|because)\b/i;
|
|
98
|
+
export function detectResultSetOperation(question, prior) {
|
|
35
99
|
const q = question.trim();
|
|
36
100
|
if (!q)
|
|
37
101
|
return null;
|
|
38
|
-
|
|
102
|
+
// An explanation question is never arithmetic over the prior result.
|
|
103
|
+
// "why he is top most in the list?" matched the max-family pattern on the
|
|
104
|
+
// words "top most" and was answered "The maximum of count_lifetime_orders is
|
|
105
|
+
// 156" — a different column, about a different customer, computed over the 50
|
|
106
|
+
// rows that happened to be on screen. A reason is not in a result's cells, so
|
|
107
|
+
// this path declines and lets the real planner run.
|
|
108
|
+
if (EXPLANATION_QUESTION.test(q))
|
|
109
|
+
return null;
|
|
110
|
+
if (!refersToPriorResult(q, prior))
|
|
39
111
|
return null;
|
|
40
112
|
// Re-rank: "top 3 of these", "bottom 5 of those", "highest 3 above".
|
|
41
113
|
const rerank = /\b(top|bottom|highest|lowest|first|last)\s+(\d{1,3})\b/i.exec(q)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-ops.js","sourceRoot":"","sources":["../../src/conversation/result-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqCH
|
|
1
|
+
{"version":3,"file":"result-ops.js","sourceRoot":"","sources":["../../src/conversation/result-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolling-summary.d.ts","sourceRoot":"","sources":["../../src/conversation/rolling-summary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"rolling-summary.d.ts","sourceRoot":"","sources":["../../src/conversation/rolling-summary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAY3D,MAAM,MAAM,6BAA6B,GACrC,WAAW,GACX,aAAa,GACb,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,6BAA6B,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,gBAAgB,EAAE,CAAC;CACpC,GAAG,MAAM,GAAG,SAAS,CAerB;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,cAAc,EAAE,gBAAgB,EAAE,CAAC;CACpC,GAAG,qBAAqB,GAAG,SAAS,CAWpC;AAED,6EAA6E;AAC7E,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,qBAAqB,GAAG,SAAS,GACzC,MAAM,GAAG,SAAS,CAUpB"}
|
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
* `summaryTurnSeq` cursor. An optional LLM compaction can layer on later; this
|
|
6
6
|
* deterministic form is always the fallback and never blocks.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* 600 characters could not hold a session's established facts once a few
|
|
10
|
+
* metrics, filters, and entities had been agreed — the oldest were evicted
|
|
11
|
+
* silently, so the agent "forgot" a binding the reader had already given it.
|
|
12
|
+
*/
|
|
13
|
+
const MAX_SUMMARY_CHARS = 1800;
|
|
9
14
|
const MAX_LINE_CHARS = 200;
|
|
10
|
-
const MAX_STRUCTURED_ENTRIES =
|
|
15
|
+
const MAX_STRUCTURED_ENTRIES = 24;
|
|
11
16
|
const MAX_STRUCTURED_TEXT = 320;
|
|
12
17
|
export function updateRollingSummary(input) {
|
|
13
18
|
const newLines = input.compactedTurns.map(summarizeTurn).filter(Boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rolling-summary.js","sourceRoot":"","sources":["../../src/conversation/rolling-summary.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"rolling-summary.js","sourceRoot":"","sources":["../../src/conversation/rolling-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import type { AgentDqlArtifactReference } from '../answer-loop.js';
|
|
|
13
13
|
import type { CascadeAnswerResult } from '../cascade/cascade.js';
|
|
14
14
|
import type { KnowledgeLens } from '../domain-context.js';
|
|
15
15
|
import type { ConversationSummaryV1 } from './rolling-summary.js';
|
|
16
|
+
import type { NarrationIntegrityReceiptV1 } from '../agent-run-engine.js';
|
|
16
17
|
export interface ConversationThread {
|
|
17
18
|
id: string;
|
|
18
19
|
surface: string;
|
|
@@ -64,6 +65,8 @@ export interface ConversationTurnInput {
|
|
|
64
65
|
sql?: string;
|
|
65
66
|
dqlArtifact?: AgentDqlArtifactReference;
|
|
66
67
|
cascade?: CascadeAnswerResult;
|
|
68
|
+
/** Content-free narration result retained with the conversational history. */
|
|
69
|
+
narrationIntegrityReceipt?: NarrationIntegrityReceiptV1;
|
|
67
70
|
result?: ConversationTurnResult;
|
|
68
71
|
/** The turn's answer contract / requested shape, for working-state reduction. */
|
|
69
72
|
contract?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/conversation/session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/conversation/session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,6 +125,7 @@ export class ConversationStore {
|
|
|
125
125
|
sql TEXT,
|
|
126
126
|
dql_artifact_json TEXT NOT NULL DEFAULT '{}',
|
|
127
127
|
cascade_json TEXT NOT NULL DEFAULT '{}',
|
|
128
|
+
narration_integrity_json TEXT NOT NULL DEFAULT '{}',
|
|
128
129
|
result_json TEXT NOT NULL DEFAULT '{}',
|
|
129
130
|
contract_json TEXT NOT NULL DEFAULT '{}',
|
|
130
131
|
created_at TEXT NOT NULL,
|
|
@@ -151,6 +152,7 @@ export class ConversationStore {
|
|
|
151
152
|
this.ensureColumn('conversation_turns', 'stop_reason', 'TEXT');
|
|
152
153
|
this.ensureColumn('conversation_turns', 'refusal_code', 'TEXT');
|
|
153
154
|
this.ensureColumn('conversation_turns', 'execution_error', 'TEXT');
|
|
155
|
+
this.ensureColumn('conversation_turns', 'narration_integrity_json', "TEXT NOT NULL DEFAULT '{}'");
|
|
154
156
|
this.ensureColumn('conversation_threads', 'summary_json', "TEXT NOT NULL DEFAULT '{}'");
|
|
155
157
|
this.ensureColumn('conversation_threads', 'favorite', 'INTEGER NOT NULL DEFAULT 0');
|
|
156
158
|
}
|
|
@@ -267,10 +269,10 @@ export class ConversationStore {
|
|
|
267
269
|
id, thread_id, agent_run_id, seq, question, answer_summary, answer_text, route,
|
|
268
270
|
trust_label, run_status, stop_reason, refusal_code, execution_error,
|
|
269
271
|
certification, source_certified_block, context_pack_id,
|
|
270
|
-
knowledge_lens_json, sql, dql_artifact_json, cascade_json,
|
|
271
|
-
contract_json, created_at
|
|
272
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
273
|
-
`).run(turn.id, threadId, turn.agentRunId ?? null, turn.seq, turn.question, turn.answerSummary ?? null, turn.answerText ?? null, turn.route ?? null, turn.trustLabel ?? null, turn.runStatus ?? null, turn.stopReason ?? null, turn.refusalCode ?? null, turn.executionError ?? null, turn.certification ?? null, turn.sourceCertifiedBlock ?? null, turn.contextPackId ?? null, JSON.stringify(turn.knowledgeLens ?? {}), turn.sql ?? null, JSON.stringify(turn.dqlArtifact ?? {}), JSON.stringify(turn.cascade ?? {}), JSON.stringify(turn.result ?? {}), JSON.stringify(turn.contract ?? {}), now);
|
|
272
|
+
knowledge_lens_json, sql, dql_artifact_json, cascade_json, narration_integrity_json,
|
|
273
|
+
result_json, contract_json, created_at
|
|
274
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
275
|
+
`).run(turn.id, threadId, turn.agentRunId ?? null, turn.seq, turn.question, turn.answerSummary ?? null, turn.answerText ?? null, turn.route ?? null, turn.trustLabel ?? null, turn.runStatus ?? null, turn.stopReason ?? null, turn.refusalCode ?? null, turn.executionError ?? null, turn.certification ?? null, turn.sourceCertifiedBlock ?? null, turn.contextPackId ?? null, JSON.stringify(turn.knowledgeLens ?? {}), turn.sql ?? null, JSON.stringify(turn.dqlArtifact ?? {}), JSON.stringify(turn.cascade ?? {}), JSON.stringify(turn.narrationIntegrityReceipt ?? {}), JSON.stringify(turn.result ?? {}), JSON.stringify(turn.contract ?? {}), now);
|
|
274
276
|
const tags = [
|
|
275
277
|
turn.sourceCertifiedBlock ?? '',
|
|
276
278
|
turn.route ?? '',
|
|
@@ -505,6 +507,7 @@ function rowToTurn(row) {
|
|
|
505
507
|
const result = safeJSON(row.result_json, {});
|
|
506
508
|
const dqlArtifact = safeJSON(row.dql_artifact_json, {});
|
|
507
509
|
const cascade = safeJSON(row.cascade_json, {});
|
|
510
|
+
const narrationIntegrityReceipt = safeJSON(row.narration_integrity_json, {});
|
|
508
511
|
const contract = safeJSON(row.contract_json, {});
|
|
509
512
|
const knowledgeLens = safeJSON(row.knowledge_lens_json, {});
|
|
510
513
|
return {
|
|
@@ -528,6 +531,7 @@ function rowToTurn(row) {
|
|
|
528
531
|
sql: row.sql ?? undefined,
|
|
529
532
|
dqlArtifact: Object.keys(dqlArtifact).length > 0 ? capDqlArtifact(dqlArtifact) : undefined,
|
|
530
533
|
cascade: Object.keys(cascade).length > 0 ? cascade : undefined,
|
|
534
|
+
narrationIntegrityReceipt: narrationIntegrityReceipt.version === 1 ? narrationIntegrityReceipt : undefined,
|
|
531
535
|
result: Object.keys(result).length > 0 ? result : undefined,
|
|
532
536
|
contract: Object.keys(contract).length > 0 ? contract : undefined,
|
|
533
537
|
createdAt: row.created_at,
|