@aligndottech/cli 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/import/sessions.d.ts +16 -4
- package/dist/commands/import/sessions.d.ts.map +1 -1
- package/dist/commands/import/sessions.js +110 -17
- package/dist/commands/import/sessions.js.map +1 -1
- package/dist/lib/decision-render.d.ts +35 -0
- package/dist/lib/decision-render.d.ts.map +1 -0
- package/dist/lib/decision-render.js +149 -0
- package/dist/lib/decision-render.js.map +1 -0
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +4 -1
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-llm.d.ts +66 -1
- package/dist/lib/local-llm.d.ts.map +1 -1
- package/dist/lib/local-llm.js +165 -11
- package/dist/lib/local-llm.js.map +1 -1
- package/dist/lib/local-relationship-classifier.d.ts +18 -0
- package/dist/lib/local-relationship-classifier.d.ts.map +1 -1
- package/dist/lib/local-relationship-classifier.js +32 -6
- package/dist/lib/local-relationship-classifier.js.map +1 -1
- package/dist/lib/sessions/confirm-freetext.d.ts +43 -0
- package/dist/lib/sessions/confirm-freetext.d.ts.map +1 -0
- package/dist/lib/sessions/confirm-freetext.js +82 -0
- package/dist/lib/sessions/confirm-freetext.js.map +1 -0
- package/dist/lib/sessions/extract-freetext.d.ts +26 -0
- package/dist/lib/sessions/extract-freetext.d.ts.map +1 -0
- package/dist/lib/sessions/extract-freetext.js +53 -0
- package/dist/lib/sessions/extract-freetext.js.map +1 -0
- package/dist/lib/token-estimate.d.ts +17 -0
- package/dist/lib/token-estimate.d.ts.map +1 -0
- package/dist/lib/token-estimate.js +24 -0
- package/dist/lib/token-estimate.js.map +1 -0
- package/package.json +10 -1
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `align import sessions` (ALI-808) - reads local coding-agent session transcripts
|
|
2
|
+
* `align import sessions` (ALI-808/809) - reads local coding-agent session transcripts
|
|
3
3
|
* (Claude Code, pi, Codex CLI, opencode; gemini-cli and cursor detect files but cannot yet
|
|
4
|
-
* parse them - see fixtures/sessions/README.md), finds decision-shaped moments in them
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* parse them - see fixtures/sessions/README.md), finds decision-shaped moments in them with
|
|
5
|
+
* two passes, and reviews each one with a human before it enters the graph:
|
|
6
|
+
*
|
|
7
|
+
* Pass A (extract-structured.ts): an answered Claude Code AskUserQuestion. Structured, so
|
|
8
|
+
* every field (question, options, chosen label) is exact - fires only for Claude Code.
|
|
9
|
+
*
|
|
10
|
+
* Pass B (extract-freetext.ts + confirm-freetext.ts, ALI-809): a human turn that redirects
|
|
11
|
+
* or settles on an approach in prose ("let's use X instead"), heuristically found and then
|
|
12
|
+
* confirmed by an LLM before it may reach this list - "heuristic proposes, LLM adjudicates,
|
|
13
|
+
* only adjudicated results assert" (align decision ALI-409, applied to candidates instead of
|
|
14
|
+
* graph edges). This is what makes the command produce anything for the five agents with no
|
|
15
|
+
* structured signal (ALI-808's own survey found none). Rendered with a visibly lower-weight
|
|
16
|
+
* tag (agent, "free-text", confidence %) than a Pass A record, per the ticket's own
|
|
17
|
+
* requirement - a low-confidence prose guess must never look as authoritative as a rejected-
|
|
18
|
+
* alternatives-and-rationale structured one.
|
|
7
19
|
*
|
|
8
20
|
* Local-only by construction: `decider_kind`/`confirmed_by`/`confirmed_at` are local-graph
|
|
9
21
|
* columns (ALI-831), so this refuses any environment that is not the local embedded graph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/commands/import/sessions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/commands/import/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmGzC,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAgJtE"}
|
|
@@ -4,12 +4,17 @@ import { createConfigStore } from '../../lib/config.js';
|
|
|
4
4
|
import { getGitIdentity } from '../../lib/git.js';
|
|
5
5
|
import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
|
|
6
6
|
import { createLocalGatewayClient } from '../../lib/local-gateway-client.js';
|
|
7
|
-
import { runConfirmEachImport } from '../../lib/personal-import.js';
|
|
7
|
+
import { runConfirmEachImport, runWithConcurrency } from '../../lib/personal-import.js';
|
|
8
8
|
import { resolveImportEnv } from '../../lib/resolve-env.js';
|
|
9
9
|
import { detectAgents } from '../../lib/sessions/registry.js';
|
|
10
10
|
import { extractStructuredDecisions } from '../../lib/sessions/extract-structured.js';
|
|
11
|
+
import { findFreeTextCandidates } from '../../lib/sessions/extract-freetext.js';
|
|
12
|
+
import { confirmFreeTextCandidate, describeConfirmFailure, } from '../../lib/sessions/confirm-freetext.js';
|
|
11
13
|
import { buildSessionSourceUrl } from '../../lib/sessions/source-url.js';
|
|
12
14
|
import { SessionFormatUnverifiedError } from '../../lib/sessions/types.js';
|
|
15
|
+
/** Same as personal-import.ts's BATCH_CONCURRENCY - see the confirmation loop below for why a
|
|
16
|
+
* larger number would not actually help against a single local Ollama instance. */
|
|
17
|
+
const FREE_TEXT_CONFIRM_CONCURRENCY = 3;
|
|
13
18
|
/** Mirrors ratify.ts's resolveRatifier exactly (git identity, then the OS user) but is not
|
|
14
19
|
* imported from there - see the PR description for why this one small duplication was
|
|
15
20
|
* chosen over reaching into a command file ALI-808 does not own. */
|
|
@@ -25,6 +30,41 @@ class SessionCandidateItem {
|
|
|
25
30
|
const c = this.candidate;
|
|
26
31
|
return `${chalk.cyan(`[${c.agent}]`)} ${c.question}\n ${chalk.dim('->')} ${c.chosenLabel}`;
|
|
27
32
|
}
|
|
33
|
+
toWrite() {
|
|
34
|
+
const c = this.candidate;
|
|
35
|
+
return {
|
|
36
|
+
source_url: buildSessionSourceUrl(c.agent, c.sessionId, c.messageId),
|
|
37
|
+
raw_text: `${c.question}\n\nChosen: ${c.chosenLabel}`,
|
|
38
|
+
title: c.question,
|
|
39
|
+
...(c.timestamp ? { created_at: c.timestamp } : {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Pass B (ALI-809): a heuristic-proposed, LLM-confirmed free-text redirect. Rendered with a
|
|
44
|
+
* visibly different tag and its confidence score so a low-confidence prose guess never carries
|
|
45
|
+
* the same visual weight as a rejected-alternatives-and-rationale structured record (the
|
|
46
|
+
* ticket's own requirement - see extract-freetext.ts and confirm-freetext.ts for the two
|
|
47
|
+
* stages that produce this). */
|
|
48
|
+
class FreeTextCandidateItem {
|
|
49
|
+
decision;
|
|
50
|
+
constructor(decision) {
|
|
51
|
+
this.decision = decision;
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
const d = this.decision;
|
|
55
|
+
const pct = Math.round(d.confidence * 100);
|
|
56
|
+
const said = d.humanText.length > 140 ? `${d.humanText.slice(0, 140)}...` : d.humanText;
|
|
57
|
+
return `${chalk.yellow(`[${d.agent} - free-text - ${pct}%]`)} ${d.title}\n ${chalk.dim('said:')} "${said}"`;
|
|
58
|
+
}
|
|
59
|
+
toWrite() {
|
|
60
|
+
const d = this.decision;
|
|
61
|
+
return {
|
|
62
|
+
source_url: buildSessionSourceUrl(d.agent, d.sessionId, d.messageId),
|
|
63
|
+
raw_text: d.humanText,
|
|
64
|
+
title: d.title,
|
|
65
|
+
...(d.timestamp ? { created_at: d.timestamp } : {}),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
28
68
|
}
|
|
29
69
|
function bySortableTimestamp(a, b) {
|
|
30
70
|
// Undated candidates sort last rather than colliding at epoch-0, which would otherwise
|
|
@@ -55,7 +95,8 @@ export function registerImportSessionsCommand(importCmd) {
|
|
|
55
95
|
console.log(chalk.dim('\nNo local session data found for any known agent in this project.\n'));
|
|
56
96
|
return;
|
|
57
97
|
}
|
|
58
|
-
const
|
|
98
|
+
const structured = [];
|
|
99
|
+
const freeText = [];
|
|
59
100
|
for (const { adapter, files } of detected) {
|
|
60
101
|
if (!adapter.fixtureVerified) {
|
|
61
102
|
console.log(chalk.yellow(`\n Found ${adapter.agent} session data, but this reader cannot parse it yet (no verified fixture - see src/__tests__/fixtures/sessions/README.md). Skipping.`));
|
|
@@ -75,33 +116,85 @@ export function registerImportSessionsCommand(importCmd) {
|
|
|
75
116
|
}
|
|
76
117
|
if (!session)
|
|
77
118
|
continue;
|
|
78
|
-
|
|
119
|
+
structured.push(...extractStructuredDecisions(session));
|
|
120
|
+
freeText.push(...findFreeTextCandidates(session));
|
|
79
121
|
}
|
|
80
122
|
}
|
|
81
|
-
if (
|
|
123
|
+
if (structured.length === 0 && freeText.length === 0) {
|
|
82
124
|
console.log(chalk.dim('\nNo decision-shaped moments found in your local session data.\n'));
|
|
83
125
|
return;
|
|
84
126
|
}
|
|
85
|
-
|
|
127
|
+
// Merge BEFORE the limit so --limit bounds the whole review queue, not just Pass A -
|
|
128
|
+
// then confirm only the free-text candidates that actually fall inside the window,
|
|
129
|
+
// so a low --limit also bounds how many LLM calls this command makes.
|
|
130
|
+
const pending = [
|
|
131
|
+
...structured.map(c => ({ kind: 'structured', timestamp: c.timestamp, item: c })),
|
|
132
|
+
...freeText.map(c => ({ kind: 'freetext', timestamp: c.timestamp, item: c })),
|
|
133
|
+
];
|
|
134
|
+
pending.sort(bySortableTimestamp);
|
|
86
135
|
const limit = parseInt(opts.limit, 10);
|
|
87
|
-
const toReview =
|
|
88
|
-
const
|
|
89
|
-
|
|
136
|
+
const toReview = pending.slice(0, limit);
|
|
137
|
+
const totalFound = pending.length;
|
|
138
|
+
const truncatedNote = totalFound > toReview.length
|
|
139
|
+
? ` (showing the first ${toReview.length} of ${totalFound} - raise with --limit)`
|
|
90
140
|
: '';
|
|
91
|
-
console.log(chalk.bold(`\nFound ${
|
|
141
|
+
console.log(chalk.bold(`\nFound ${totalFound} decision-shaped moment${totalFound === 1 ? '' : 's'} to review${truncatedNote}.\n`));
|
|
92
142
|
console.log(chalk.dim('Each one enters the graph as an agent claim (unratified) - review it, `align ratify` later stands behind it as a human.\n'));
|
|
143
|
+
// Pass B: only an LLM-adjudicated result may reach the review list (align decision
|
|
144
|
+
// ALI-409's "heuristic proposes, LLM adjudicates, only adjudicated results assert").
|
|
145
|
+
// Bounded concurrency, not one-at-a-time: each call is a full LLM round-trip, and
|
|
146
|
+
// FREE_TEXT_CONFIRM_CONCURRENCY matches the ingest batch concurrency in
|
|
147
|
+
// personal-import.ts (3) rather than a larger number, since a local Ollama model is a
|
|
148
|
+
// single shared resource that concurrent requests would just queue behind anyway.
|
|
149
|
+
const freeTextPositions = toReview
|
|
150
|
+
.map((p, i) => (p.kind === 'freetext' ? i : -1))
|
|
151
|
+
.filter(i => i !== -1);
|
|
152
|
+
const confirmResults = await runWithConcurrency(freeTextPositions.map(i => () => confirmFreeTextCandidate(toReview[i].item)), FREE_TEXT_CONFIRM_CONCURRENCY);
|
|
153
|
+
const failures = new Map();
|
|
154
|
+
const recordFailure = (reason, failure) => {
|
|
155
|
+
const bucket = failures.get(reason) ?? { count: 0, failure };
|
|
156
|
+
bucket.count++;
|
|
157
|
+
failures.set(reason, bucket);
|
|
158
|
+
};
|
|
159
|
+
const items = [];
|
|
160
|
+
let confirmIdx = 0;
|
|
161
|
+
for (const p of toReview) {
|
|
162
|
+
if (p.kind === 'structured') {
|
|
163
|
+
items.push(new SessionCandidateItem(p.item));
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const settled = confirmResults[confirmIdx++];
|
|
167
|
+
if (settled.status === 'rejected') {
|
|
168
|
+
recordFailure('confirm_error');
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const outcome = settled.value;
|
|
172
|
+
if (!outcome.ok) {
|
|
173
|
+
recordFailure(outcome.reason, outcome.failure);
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (outcome.decision)
|
|
177
|
+
items.push(new FreeTextCandidateItem(outcome.decision));
|
|
178
|
+
// outcome.decision === null: the model looked and said the heuristic misfired -
|
|
179
|
+
// nothing was actually decided here, so it is dropped silently, same as a rejected
|
|
180
|
+
// AskUserQuestion in extract-structured.ts.
|
|
181
|
+
}
|
|
182
|
+
const reportUnconfirmed = () => {
|
|
183
|
+
for (const [reason, { count, failure }] of failures) {
|
|
184
|
+
console.log(chalk.dim(`(${count} free-text candidate${count === 1 ? '' : 's'} not confirmed.${describeConfirmFailure(reason, failure)})`));
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
if (items.length === 0) {
|
|
188
|
+
console.log(chalk.dim('\nNothing survived confirmation - candidates were found but none were confirmed as real decisions.\n'));
|
|
189
|
+
reportUnconfirmed();
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
reportUnconfirmed();
|
|
93
193
|
const client = createLocalGatewayClient(env.localDbPath);
|
|
94
194
|
const confirmedBy = await resolveConfirmer();
|
|
95
195
|
try {
|
|
96
|
-
const items = toReview.map(c => new SessionCandidateItem(c));
|
|
97
196
|
const result = await runConfirmEachImport(items, async (item) => {
|
|
98
|
-
|
|
99
|
-
return client.confirmSessionDecision({
|
|
100
|
-
source_url: buildSessionSourceUrl(c.agent, c.sessionId, c.messageId),
|
|
101
|
-
raw_text: `${c.question}\n\nChosen: ${c.chosenLabel}`,
|
|
102
|
-
title: c.question,
|
|
103
|
-
...(c.timestamp ? { created_at: c.timestamp } : {}),
|
|
104
|
-
}, confirmedBy);
|
|
197
|
+
return client.confirmSessionDecision(item.toWrite(), confirmedBy);
|
|
105
198
|
}, { label: 'agent session decisions' });
|
|
106
199
|
console.log('');
|
|
107
200
|
if (result.imported > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/commands/import/sessions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/commands/import/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type RenderBudget = 'compact' | 'full';
|
|
2
|
+
export interface RenderableDecision {
|
|
3
|
+
/** Required. A positive integer the CALLER assigns when numbering a candidate list -
|
|
4
|
+
* never a raw id/uuid (ALI-598). */
|
|
5
|
+
ordinal: number;
|
|
6
|
+
title?: string | null;
|
|
7
|
+
/** One of decision_snapshots.status - 'superseded'/'archived' render RETIRED,
|
|
8
|
+
* 'conflicted' renders CONFLICTED, anything else renders no flag. */
|
|
9
|
+
status?: string | null;
|
|
10
|
+
platform?: string | null;
|
|
11
|
+
/** ISO 8601. */
|
|
12
|
+
decided_at?: string | null;
|
|
13
|
+
author?: string | null;
|
|
14
|
+
architectural_altitude?: string | null;
|
|
15
|
+
/** A caller-formatted scope label, e.g. "infra: max_tokens=4096". */
|
|
16
|
+
dimension?: string | null;
|
|
17
|
+
summary?: string | null;
|
|
18
|
+
decision_json?: {
|
|
19
|
+
ai?: {
|
|
20
|
+
rationale?: string | null;
|
|
21
|
+
} | null;
|
|
22
|
+
} | null;
|
|
23
|
+
/** A pre-formatted citation like "align-stack#1742" (format.ts:citationFor) - not
|
|
24
|
+
* re-derived here. */
|
|
25
|
+
cite?: string | null;
|
|
26
|
+
/** Never read for rendering - present only so a caller's row shape does not need
|
|
27
|
+
* stripping before calling. See the ALI-598 positive control in decision-render.test.ts. */
|
|
28
|
+
id?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const FULL_STATEMENT_TOKEN_BUDGET = 90;
|
|
31
|
+
export declare const FULL_RATIONALE_TOKEN_BUDGET = 110;
|
|
32
|
+
export declare function renderDecision(d: RenderableDecision, opts: {
|
|
33
|
+
budget: RenderBudget;
|
|
34
|
+
}): string;
|
|
35
|
+
//# sourceMappingURL=decision-render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-render.d.ts","sourceRoot":"","sources":["../../src/lib/decision-render.ts"],"names":[],"mappings":"AAoCA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC;wCACoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;yEACqE;IACrE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE;0BACsB;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;gGAC4F;IAC5F,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAUD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AA+E/C,wBAAgB,cAAc,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,MAAM,CAsC5F"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// ALI-851: the one writer for rendering a decision into text a model reads.
|
|
2
|
+
//
|
|
3
|
+
// This is the TypeScript twin of align-stack's `services/brain/app/decision_render.py`.
|
|
4
|
+
// Two separate repos with no shared filesystem, so the two implementations are pinned to
|
|
5
|
+
// agree by a shared fixture committed byte-identical in both:
|
|
6
|
+
// align-stack: services/brain/tests/fixtures/decision_render_fixture.json
|
|
7
|
+
// align-cli: src/__tests__/fixtures/decision-render-fixture.json
|
|
8
|
+
// Each side's test renders its own copy and asserts the recorded `expected` strings, so
|
|
9
|
+
// both sides agreeing with one golden is how the two languages are proven to agree with
|
|
10
|
+
// each other. Do not change this file's OUTPUT SHAPE without updating both fixture copies
|
|
11
|
+
// and re-running both test suites - see decision_render.py's module docstring for the full
|
|
12
|
+
// rationale (why the bracket order is what it is, why truncation is estimated rather than
|
|
13
|
+
// counted live, why `dimension` is a caller-formatted string rather than a typed import).
|
|
14
|
+
//
|
|
15
|
+
// INPUT CONTRACT. `d.ordinal` is required (ALI-598: render candidates by ordinal, never a
|
|
16
|
+
// raw id - an id present on `d` for the caller's own bookkeeping never reaches the output).
|
|
17
|
+
// Everything else is optional. `dimension` is a caller-formatted scope label; this module
|
|
18
|
+
// does not import the gateway's DecisionDimension type, so a caller holding one formats it
|
|
19
|
+
// before calling (keeps this module dependency-free of the gateway's domain types).
|
|
20
|
+
//
|
|
21
|
+
// OUTPUT SHAPE, in this exact order (ALI-655: the status flag is FIRST in the bracket - it
|
|
22
|
+
// decides which relation types are even worth proposing, so it must not sit behind a long
|
|
23
|
+
// line of context a reader skims past):
|
|
24
|
+
//
|
|
25
|
+
// {ordinal}. {title} [{STATUS} | {platform} | decided {YYYY-MM-DD} | by {author} |
|
|
26
|
+
// {altitude} | {dimension}]
|
|
27
|
+
// {statement, capped}
|
|
28
|
+
// Rationale: {decision_json.ai.rationale, capped}
|
|
29
|
+
// {cite}
|
|
30
|
+
//
|
|
31
|
+
// An absent bracket field is omitted with no dangling separator; an empty bracket is
|
|
32
|
+
// omitted entirely. `budget: 'compact'` returns the first line alone; `'full'` adds the
|
|
33
|
+
// statement, rationale and cite lines.
|
|
34
|
+
import { charsForTokens, estimateTokens } from './token-estimate.js';
|
|
35
|
+
const ELISION = '...';
|
|
36
|
+
const RETIRED_STATUSES = new Set(['superseded', 'archived']);
|
|
37
|
+
const CONFLICTED_STATUS = 'conflicted';
|
|
38
|
+
// Full-budget per-field caps, in ESTIMATED tokens - mirrors decision_render.py's
|
|
39
|
+
// FULL_STATEMENT_TOKEN_BUDGET/FULL_RATIONALE_TOKEN_BUDGET exactly. Keep the two in step; a
|
|
40
|
+
// drift here silently breaks the cross-language byte-identity the shared fixture pins.
|
|
41
|
+
export const FULL_STATEMENT_TOKEN_BUDGET = 90;
|
|
42
|
+
export const FULL_RATIONALE_TOKEN_BUDGET = 110;
|
|
43
|
+
function capToTokens(text, maxTokens) {
|
|
44
|
+
if (!text)
|
|
45
|
+
return text;
|
|
46
|
+
if (estimateTokens(text) <= maxTokens)
|
|
47
|
+
return text;
|
|
48
|
+
let limit = Math.max(0, charsForTokens(maxTokens) - ELISION.length);
|
|
49
|
+
let result = text.slice(0, limit).trimEnd() + ELISION;
|
|
50
|
+
// charsForTokens/estimateTokens do not perfectly round-trip under floating point (e.g.
|
|
51
|
+
// charsForTokens(110) -> 256 chars, but estimateTokens(256) -> 111, one over budget) -
|
|
52
|
+
// shrink by one character at a time until the actual estimate respects the caller's
|
|
53
|
+
// budget, rather than trusting the inverse arithmetic to land exactly.
|
|
54
|
+
while (limit > 0 && estimateTokens(result) > maxTokens) {
|
|
55
|
+
limit -= 1;
|
|
56
|
+
result = text.slice(0, limit).trimEnd() + ELISION;
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
function statusFlag(status) {
|
|
61
|
+
if (!status)
|
|
62
|
+
return null;
|
|
63
|
+
if (RETIRED_STATUSES.has(status))
|
|
64
|
+
return 'RETIRED';
|
|
65
|
+
if (status === CONFLICTED_STATUS)
|
|
66
|
+
return 'CONFLICTED';
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
// Python's fromisoformat only accepts strings shaped like an ISO date/datetime and raises
|
|
70
|
+
// ValueError on anything else; `new Date(...)` alone does not agree - it falls back to a
|
|
71
|
+
// lenient, non-ISO, implementation-specific parser for strings that don't look like a date
|
|
72
|
+
// (e.g. new Date("12345") silently succeeds as year 12345, new Date("0") as year 2000).
|
|
73
|
+
// Require the ISO shape first so those inputs are MISSING here exactly as they are on the
|
|
74
|
+
// Python side, rather than rendering a nonsense date - a calendar-invalid value that DOES
|
|
75
|
+
// have the right shape (e.g. "2026-13-45") still correctly fails the Number.isNaN check
|
|
76
|
+
// below, same as Python's fromisoformat raising on it.
|
|
77
|
+
const ISO_DATE_RE = /^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$/;
|
|
78
|
+
// A date-time string with NO timezone designator (no `Z`, no `+HH:MM`/`-HH:MM`) is parsed
|
|
79
|
+
// as HOST-LOCAL time by `new Date(...)` (the ECMA-262 Date Time String Format rule), which
|
|
80
|
+
// makes the rendered date depend on the machine running the code. Python's twin does the
|
|
81
|
+
// opposite: `parse_decided_at`'s `_as_utc` labels a naive (tzinfo-less) datetime as UTC
|
|
82
|
+
// without shifting it - deterministic regardless of the machine. Force the same "naive =
|
|
83
|
+
// UTC" reading here by appending `Z` before parsing, or the two languages can render a
|
|
84
|
+
// DIFFERENT date for the identical input depending on where each one runs.
|
|
85
|
+
const HAS_TIME = /T\d{2}:\d{2}/;
|
|
86
|
+
const HAS_ZONE_DESIGNATOR = /(Z|[+-]\d{2}:?\d{2})$/;
|
|
87
|
+
/** Mirrors app/relationship_type_rules.parse_decided_at's ISO-string branch: an
|
|
88
|
+
* unparseable value is MISSING, not an error, same as the Python side. An offset
|
|
89
|
+
* (e.g. `-05:00`) is normalized to UTC on both sides identically, via `_as_utc`'s
|
|
90
|
+
* `.astimezone(UTC)` here and `.toISOString()`'s implicit UTC output there. */
|
|
91
|
+
function decidedLabel(decidedAt) {
|
|
92
|
+
if (!decidedAt || !ISO_DATE_RE.test(decidedAt))
|
|
93
|
+
return null;
|
|
94
|
+
const naive = HAS_TIME.test(decidedAt) && !HAS_ZONE_DESIGNATOR.test(decidedAt);
|
|
95
|
+
const parsed = new Date(naive ? `${decidedAt}Z` : decidedAt);
|
|
96
|
+
if (Number.isNaN(parsed.getTime()))
|
|
97
|
+
return null;
|
|
98
|
+
return `decided ${parsed.toISOString().slice(0, 10)}`;
|
|
99
|
+
}
|
|
100
|
+
function buildBracket(d) {
|
|
101
|
+
const parts = [];
|
|
102
|
+
const flag = statusFlag(d.status);
|
|
103
|
+
if (flag)
|
|
104
|
+
parts.push(flag);
|
|
105
|
+
if (d.platform && d.platform.trim())
|
|
106
|
+
parts.push(d.platform.trim());
|
|
107
|
+
const decided = decidedLabel(d.decided_at);
|
|
108
|
+
if (decided)
|
|
109
|
+
parts.push(decided);
|
|
110
|
+
if (d.author && d.author.trim())
|
|
111
|
+
parts.push(`by ${d.author.trim()}`);
|
|
112
|
+
if (d.architectural_altitude && d.architectural_altitude.trim()) {
|
|
113
|
+
parts.push(d.architectural_altitude.trim());
|
|
114
|
+
}
|
|
115
|
+
if (d.dimension && d.dimension.trim())
|
|
116
|
+
parts.push(d.dimension.trim());
|
|
117
|
+
return parts.length ? ` [${parts.join(' | ')}]` : '';
|
|
118
|
+
}
|
|
119
|
+
export function renderDecision(d, opts) {
|
|
120
|
+
if (opts.budget !== 'compact' && opts.budget !== 'full') {
|
|
121
|
+
throw new Error(`renderDecision: unknown budget ${JSON.stringify(opts.budget)}, expected 'compact' or 'full'`);
|
|
122
|
+
}
|
|
123
|
+
if (d.ordinal === undefined || d.ordinal === null) {
|
|
124
|
+
// ALI-598: an id must never ride the text - the ordinal is what the caller assigns
|
|
125
|
+
// instead. A missing ordinal is a caller bug, not a "render with no number" case.
|
|
126
|
+
throw new Error("renderDecision: 'ordinal' is required (ALI-598 - never render a raw id)");
|
|
127
|
+
}
|
|
128
|
+
if (!Number.isInteger(d.ordinal) || d.ordinal < 1) {
|
|
129
|
+
throw new Error(`renderDecision: 'ordinal' must be a positive integer, got ${JSON.stringify(d.ordinal)}`);
|
|
130
|
+
}
|
|
131
|
+
const title = d.title ?? '';
|
|
132
|
+
const bracket = buildBracket(d);
|
|
133
|
+
const firstLine = `${d.ordinal}. ${title}${bracket}`;
|
|
134
|
+
if (opts.budget === 'compact')
|
|
135
|
+
return firstLine;
|
|
136
|
+
const lines = [firstLine];
|
|
137
|
+
if (d.summary) {
|
|
138
|
+
lines.push(` ${capToTokens(String(d.summary), FULL_STATEMENT_TOKEN_BUDGET)}`);
|
|
139
|
+
}
|
|
140
|
+
const rationale = d.decision_json?.ai?.rationale;
|
|
141
|
+
if (rationale) {
|
|
142
|
+
lines.push(` Rationale: ${capToTokens(String(rationale), FULL_RATIONALE_TOKEN_BUDGET)}`);
|
|
143
|
+
}
|
|
144
|
+
if (d.cite) {
|
|
145
|
+
lines.push(` ${d.cite}`);
|
|
146
|
+
}
|
|
147
|
+
return lines.join('\n');
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=decision-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-render.js","sourceRoot":"","sources":["../../src/lib/decision-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAQ/C,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,OAAoB,CAAC;AAI/C,eAAO,MAAM,eAAe,MAAM,CAAC;AAgBnC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;IAyKtF,2FAA2F;;;;;;;2BAS9D,MAAM;;;;;;;;;;;;uBAaV,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;;;;;;;;;;;;IA4BjI;;;;;;;;OAQG;iCAEK;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,eACrE,MAAM,GAClB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAcnF;;;;;;;;;;;;;;;OAeG;oBACmB,MAAM;;;;;gBAeV,OAAO,EAAE;;;;;;;;;;;;;2BAUC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;IAwBlG;;;;;;;;;OASG;uBACsB,MAAM,QAAQ;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;;;;;2BAsBhC,MAAM,0BAAsB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;yBAiD1G,MAAM,aACD,MAAM,SAMX;QAAE,KAAK,CAAC,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"local-gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAQ/C,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,OAAoB,CAAC;AAI/C,eAAO,MAAM,eAAe,MAAM,CAAC;AAgBnC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;IAyKtF,2FAA2F;;;;;;;2BAS9D,MAAM;;;;;;;;;;;;uBAaV,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;;;;;;;;;;;;IA4BjI;;;;;;;;OAQG;iCAEK;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,eACrE,MAAM,GAClB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAcnF;;;;;;;;;;;;;;;OAeG;oBACmB,MAAM;;;;;gBAeV,OAAO,EAAE;;;;;;;;;;;;;2BAUC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;IAwBlG;;;;;;;;;OASG;uBACsB,MAAM,QAAQ;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;;;;;2BAsBhC,MAAM,0BAAsB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;yBAiD1G,MAAM,aACD,MAAM,SAMX;QAAE,KAAK,CAAC,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,eAAe,CAAC;2BA6JE,MAAM,WAAW,MAAM,gBAAgB,MAAM;;;;;;;;;;;0BAQ9C,MAAM;;;;;;;;EAmBrC;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -518,7 +518,10 @@ export function createLocalGatewayClient(dbPath, clientOpts = {}) {
|
|
|
518
518
|
// on a bare diff means judging a file header and a few `+` lines. Accepting the option in
|
|
519
519
|
// the signature and then classifying against a placeholder is the dropped-`depth` defect
|
|
520
520
|
// one field over.
|
|
521
|
-
|
|
521
|
+
// ALI-845: the classifier's own buildUserPrompt is now budget-derived (local-relationship-
|
|
522
|
+
// classifier.ts), so capping the subject at a literal here would be a second writer of the
|
|
523
|
+
// same fact, at a number unrelated to any window. Send the diff uncut.
|
|
524
|
+
const subject = { title: opts.title ?? 'Proposed change', summary: diff };
|
|
522
525
|
const typed = [];
|
|
523
526
|
let chainStopped = false;
|
|
524
527
|
for (const c of candidates) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-gateway-client.js","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-gateway-client.js","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"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"}
|