@aligndottech/cli 0.31.1 → 0.32.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/README.md +1 -0
- package/dist/commands/decisions/index.d.ts.map +1 -1
- package/dist/commands/decisions/index.js +10 -0
- package/dist/commands/decisions/index.js.map +1 -1
- package/dist/commands/import/docs.d.ts +3 -0
- package/dist/commands/import/docs.d.ts.map +1 -0
- package/dist/commands/import/docs.js +36 -0
- package/dist/commands/import/docs.js.map +1 -0
- package/dist/commands/import/git.d.ts.map +1 -1
- package/dist/commands/import/git.js +12 -3
- package/dist/commands/import/git.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +2 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/local.js +29 -2
- package/dist/commands/local.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +12 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +255 -53
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +52 -4
- package/dist/commands/why.js.map +1 -1
- package/dist/lib/commit-cite.d.ts +3 -2
- package/dist/lib/commit-cite.d.ts.map +1 -1
- package/dist/lib/commit-cite.js +18 -3
- package/dist/lib/commit-cite.js.map +1 -1
- package/dist/lib/config.d.ts +22 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +69 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connect-prompt.d.ts +53 -0
- package/dist/lib/connect-prompt.d.ts.map +1 -0
- package/dist/lib/connect-prompt.js +102 -0
- package/dist/lib/connect-prompt.js.map +1 -0
- package/dist/lib/decision-refs.d.ts +18 -1
- package/dist/lib/decision-refs.d.ts.map +1 -1
- package/dist/lib/decision-refs.js +60 -1
- package/dist/lib/decision-refs.js.map +1 -1
- package/dist/lib/fetchers/docs.d.ts +6 -0
- package/dist/lib/fetchers/docs.d.ts.map +1 -0
- package/dist/lib/fetchers/docs.js +180 -0
- package/dist/lib/fetchers/docs.js.map +1 -0
- package/dist/lib/found-summary.d.ts +34 -0
- package/dist/lib/found-summary.d.ts.map +1 -0
- package/dist/lib/found-summary.js +63 -0
- package/dist/lib/found-summary.js.map +1 -0
- package/dist/lib/gateway-client.d.ts +15 -1
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +7 -1
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/git.d.ts +57 -5
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +114 -17
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/local-db.d.ts +81 -3
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +163 -14
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +9 -2
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +91 -10
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/repo-identity.d.ts +47 -0
- package/dist/lib/repo-identity.d.ts.map +1 -0
- package/dist/lib/repo-identity.js +110 -0
- package/dist/lib/repo-identity.js.map +1 -0
- package/dist/lib/setup-ux.d.ts +12 -0
- package/dist/lib/setup-ux.d.ts.map +1 -1
- package/dist/lib/setup-ux.js +18 -0
- package/dist/lib/setup-ux.js.map +1 -1
- package/dist/lib/value-rollup.d.ts +19 -1
- package/dist/lib/value-rollup.d.ts.map +1 -1
- package/dist/lib/value-rollup.js +39 -11
- package/dist/lib/value-rollup.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/local-db.js
CHANGED
|
@@ -2,6 +2,7 @@ import { DatabaseSync } from 'node:sqlite';
|
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { mkdirSync } from 'node:fs';
|
|
4
4
|
import { dirname } from 'node:path';
|
|
5
|
+
import { repoFromSourceUrl } from './repo-identity.js';
|
|
5
6
|
const SCHEMA = `
|
|
6
7
|
CREATE TABLE IF NOT EXISTS decisions (
|
|
7
8
|
id TEXT PRIMARY KEY,
|
|
@@ -9,7 +10,8 @@ CREATE TABLE IF NOT EXISTS decisions (
|
|
|
9
10
|
summary TEXT NOT NULL,
|
|
10
11
|
source_url TEXT,
|
|
11
12
|
platform TEXT NOT NULL DEFAULT 'cli',
|
|
12
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
13
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
14
|
+
repo TEXT
|
|
13
15
|
);
|
|
14
16
|
|
|
15
17
|
CREATE TABLE IF NOT EXISTS decision_embeddings (
|
|
@@ -42,7 +44,7 @@ CREATE TABLE IF NOT EXISTS decision_refs (
|
|
|
42
44
|
* `migrate` from the source and compares it here, because forgetting the bump leaves the new
|
|
43
45
|
* branch running destructively on every open with nothing to stop it.
|
|
44
46
|
*/
|
|
45
|
-
export const SCHEMA_VERSION =
|
|
47
|
+
export const SCHEMA_VERSION = 3;
|
|
46
48
|
/**
|
|
47
49
|
* A `source_url` is only an identity if it points at ONE thing. Some fetchers substitute a
|
|
48
50
|
* constant when the per-item link is missing, and connector-core ships one:
|
|
@@ -97,6 +99,13 @@ export function identifyingSourceUrl(raw) {
|
|
|
97
99
|
* to run `align import git` - so a graph goes from 2 decisions to 4 by following the tips.
|
|
98
100
|
* Collapse the existing duplicates, then make them unrepresentable with a unique index.
|
|
99
101
|
*
|
|
102
|
+
* 3. ALI-798: add the `repo` column (missing on any graph that predates it) and backfill it
|
|
103
|
+
* for every existing row from `source_url`, via the same `repoFromSourceUrl` the importer
|
|
104
|
+
* now stamps new rows with - one reader of the URL shape, used for both. A row whose
|
|
105
|
+
* source is not code (Jira, Slack, a bare capture) stays NULL, which is "unattributed",
|
|
106
|
+
* not "wrong": `--repo` scoping always includes unattributed rows alongside the named
|
|
107
|
+
* repo (see local-gateway-client.ts), so nothing existing becomes invisible.
|
|
108
|
+
*
|
|
100
109
|
* The version guard is load-bearing rather than tidiness. The same UPDATE run on every open
|
|
101
110
|
* is indistinguishable from this one today, and starts silently eating genuine conflicts the
|
|
102
111
|
* moment anything writes one.
|
|
@@ -189,7 +198,11 @@ function migrate(db) {
|
|
|
189
198
|
// Stamped INSIDE the transaction. Outside it, a process killed between COMMIT and the
|
|
190
199
|
// pragma replays the version-1 relabel on the next open, which turns an adjudicated
|
|
191
200
|
// conflicts_with edge into relates - the exact silent loss the docstring above warns of.
|
|
192
|
-
|
|
201
|
+
//
|
|
202
|
+
// Stamps this step's OWN number (2), not SCHEMA_VERSION: a later step (3, below) runs
|
|
203
|
+
// after this one commits, and if a crash lands between the two, `user_version` must
|
|
204
|
+
// still read 2 so the version-3 step is not skipped on the next open.
|
|
205
|
+
db.exec('PRAGMA user_version = 2');
|
|
193
206
|
db.exec('COMMIT');
|
|
194
207
|
}
|
|
195
208
|
catch (err) {
|
|
@@ -201,6 +214,46 @@ function migrate(db) {
|
|
|
201
214
|
throw err;
|
|
202
215
|
}
|
|
203
216
|
}
|
|
217
|
+
if (version < 3) {
|
|
218
|
+
// The column may already exist: a brand-new database's CREATE TABLE (SCHEMA, above)
|
|
219
|
+
// declares `repo` directly, so on a fresh install this ALTER would fail with "duplicate
|
|
220
|
+
// column name" if run unconditionally. A legacy database predates the column entirely.
|
|
221
|
+
const hasRepoColumn = db.prepare('PRAGMA table_info(decisions)').all()
|
|
222
|
+
.some((c) => c.name === 'repo');
|
|
223
|
+
if (!hasRepoColumn) {
|
|
224
|
+
db.exec('ALTER TABLE decisions ADD COLUMN repo TEXT');
|
|
225
|
+
}
|
|
226
|
+
// Backfill every row with no repo yet. JS-side because SQLite has no regex function to
|
|
227
|
+
// apply `repoFromSourceUrl`'s pattern in SQL - and it must be the SAME function the
|
|
228
|
+
// importer stamps new rows with, or a backfilled row and a freshly-imported one for the
|
|
229
|
+
// same URL could disagree about which repo they belong to.
|
|
230
|
+
const rows = db.prepare('SELECT id, source_url FROM decisions WHERE repo IS NULL')
|
|
231
|
+
.all();
|
|
232
|
+
if (rows.length) {
|
|
233
|
+
db.exec('BEGIN IMMEDIATE');
|
|
234
|
+
try {
|
|
235
|
+
const update = db.prepare('UPDATE decisions SET repo = ? WHERE id = ?');
|
|
236
|
+
for (const row of rows) {
|
|
237
|
+
const repo = repoFromSourceUrl(row.source_url);
|
|
238
|
+
// Only WRITE when a repo was found: leaving a non-code row NULL is the correct
|
|
239
|
+
// outcome (unattributed, not "wrong"), and writing NULL over NULL is a no-op
|
|
240
|
+
// this loop can just skip.
|
|
241
|
+
if (repo)
|
|
242
|
+
update.run(repo, row.id);
|
|
243
|
+
}
|
|
244
|
+
db.exec('PRAGMA user_version = 3');
|
|
245
|
+
db.exec('COMMIT');
|
|
246
|
+
}
|
|
247
|
+
catch (err) {
|
|
248
|
+
if (db.isTransaction)
|
|
249
|
+
db.exec('ROLLBACK');
|
|
250
|
+
throw err;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
db.exec('PRAGMA user_version = 3');
|
|
255
|
+
}
|
|
256
|
+
}
|
|
204
257
|
if (version < SCHEMA_VERSION) {
|
|
205
258
|
db.exec(`PRAGMA user_version = ${SCHEMA_VERSION}`);
|
|
206
259
|
}
|
|
@@ -218,6 +271,13 @@ export function createLocalDb(dbPath) {
|
|
|
218
271
|
db.exec('PRAGMA journal_mode = WAL');
|
|
219
272
|
db.exec(SCHEMA);
|
|
220
273
|
migrate(db);
|
|
274
|
+
// Shared by insertLink and resolveRefs (ALI-796), so there is one writer of the
|
|
275
|
+
// decision_links insert rather than two copies of the same ON CONFLICT clause.
|
|
276
|
+
function insertLinkRow(link) {
|
|
277
|
+
db.prepare(`INSERT INTO decision_links (id, source_id, target_id, relation, confidence) VALUES (?, ?, ?, ?, ?)
|
|
278
|
+
ON CONFLICT(source_id, target_id, relation)
|
|
279
|
+
DO UPDATE SET confidence = MAX(confidence, excluded.confidence)`).run(randomUUID(), link.sourceId, link.targetId, link.relation, link.confidence);
|
|
280
|
+
}
|
|
221
281
|
return {
|
|
222
282
|
/**
|
|
223
283
|
* Insert, or refresh the decision that already carries this `source_url`, returning the id
|
|
@@ -231,10 +291,24 @@ export function createLocalDb(dbPath) {
|
|
|
231
291
|
* distinct - so `align capture` with no URL keeps inserting, by construction rather than by
|
|
232
292
|
* a special case here.
|
|
233
293
|
*/
|
|
294
|
+
/**
|
|
295
|
+
* `repo` (ALI-798): the identity of the checkout this decision came from, or null for
|
|
296
|
+
* anything that is not code (Jira, Slack, a bare capture). Optional so every existing
|
|
297
|
+
* caller keeps compiling unchanged - omitting it inserts NULL, same as it always did.
|
|
298
|
+
*
|
|
299
|
+
* On a re-import upsert, COALESCE keeps whichever value is non-null: a new repo can fill
|
|
300
|
+
* in an attribution the row did not have, but an already-attributed row is never
|
|
301
|
+
* overwritten back to unattributed by a re-import that (for whatever reason) resolved no
|
|
302
|
+
* repo this time. Re-attributing a row that ALREADY has a (different) repo is not a case
|
|
303
|
+
* this upsert needs to handle - `source_url` identifies the row, and a URL does not
|
|
304
|
+
* change which repo it points at between imports.
|
|
305
|
+
*/
|
|
234
306
|
insertDecision(row) {
|
|
235
|
-
const inserted = db.prepare(`INSERT INTO decisions (id, title, summary, source_url, platform) VALUES (?, ?, ?, ?, ?)
|
|
236
|
-
ON CONFLICT(source_url, title) DO UPDATE SET
|
|
237
|
-
|
|
307
|
+
const inserted = db.prepare(`INSERT INTO decisions (id, title, summary, source_url, platform, repo) VALUES (?, ?, ?, ?, ?, ?)
|
|
308
|
+
ON CONFLICT(source_url, title) DO UPDATE SET
|
|
309
|
+
summary = excluded.summary, platform = excluded.platform,
|
|
310
|
+
repo = COALESCE(excluded.repo, decisions.repo)
|
|
311
|
+
RETURNING id`).get(randomUUID(), row.title, row.summary, identifyingSourceUrl(row.sourceUrl), row.platform, row.repo ?? null);
|
|
238
312
|
return inserted.id;
|
|
239
313
|
},
|
|
240
314
|
/**
|
|
@@ -268,11 +342,33 @@ export function createLocalDb(dbPath) {
|
|
|
268
342
|
const row = db.prepare(`SELECT id FROM decisions WHERE source_url = ? AND title = ?`).get(identity, title);
|
|
269
343
|
return row?.id ?? null;
|
|
270
344
|
},
|
|
271
|
-
|
|
272
|
-
|
|
345
|
+
/**
|
|
346
|
+
* `filter.repo` scopes to one repo's rows. `includeUnattributed` (ALI-798's own rule:
|
|
347
|
+
* "repo = ? OR repo IS NULL") also returns rows with no repo at all - a Jira ticket, a
|
|
348
|
+
* Slack thread, anything not code - because a strict `repo = ?` would make 36% of a
|
|
349
|
+
* measured real graph (every non-code decision) invisible from inside any one repo,
|
|
350
|
+
* which is a worse regression than the bug this filter exists to fix. Left false by
|
|
351
|
+
* callers that want an exact match (repo resolution, tests) rather than the retrieval
|
|
352
|
+
* default.
|
|
353
|
+
*/
|
|
354
|
+
listDecisions(filter = {}) {
|
|
355
|
+
let sql = `SELECT id, title, summary, source_url as sourceUrl, platform, created_at as createdAt, repo FROM decisions`;
|
|
356
|
+
const params = [];
|
|
357
|
+
if (filter.repo !== undefined) {
|
|
358
|
+
sql += filter.includeUnattributed ? ` WHERE (repo = ? OR repo IS NULL)` : ` WHERE repo = ?`;
|
|
359
|
+
params.push(filter.repo);
|
|
360
|
+
}
|
|
361
|
+
sql += ` ORDER BY created_at DESC`;
|
|
362
|
+
return db.prepare(sql).all(...params);
|
|
273
363
|
},
|
|
274
364
|
getDecisionById(id) {
|
|
275
|
-
return db.prepare(`SELECT id, title, summary, source_url as sourceUrl, platform, created_at as createdAt FROM decisions WHERE id = ?`).get(id) ?? null;
|
|
365
|
+
return db.prepare(`SELECT id, title, summary, source_url as sourceUrl, platform, created_at as createdAt, repo FROM decisions WHERE id = ?`).get(id) ?? null;
|
|
366
|
+
},
|
|
367
|
+
/** Distinct repo identities known to this graph, for resolving a `--repo <name>` argument
|
|
368
|
+
* against what actually exists rather than guessing at a spelling. */
|
|
369
|
+
listRepos() {
|
|
370
|
+
return db.prepare(`SELECT DISTINCT repo FROM decisions WHERE repo IS NOT NULL ORDER BY repo`)
|
|
371
|
+
.all().map((r) => r.repo);
|
|
276
372
|
},
|
|
277
373
|
setEmbedding(decisionId, embedding) {
|
|
278
374
|
db.prepare(`INSERT OR REPLACE INTO decision_embeddings (decision_id, embedding) VALUES (?, ?)`).run(decisionId, Buffer.from(embedding.buffer, embedding.byteOffset, embedding.byteLength));
|
|
@@ -283,8 +379,23 @@ export function createLocalDb(dbPath) {
|
|
|
283
379
|
return null;
|
|
284
380
|
return new Float32Array(row.embedding.buffer, row.embedding.byteOffset, row.embedding.byteLength / 4);
|
|
285
381
|
},
|
|
286
|
-
|
|
287
|
-
|
|
382
|
+
/**
|
|
383
|
+
* Unscoped by default: relationship linking (ingestOne, in local-gateway-client.ts) wants
|
|
384
|
+
* candidates across EVERY repo - cross-repo memory is the product this ticket protects,
|
|
385
|
+
* not just the thing it stops blending on retrieval. A `filter.repo` is for the retrieval
|
|
386
|
+
* paths (search, ask) that DO want to stay in-scope, filtered here rather than after
|
|
387
|
+
* ranking - filtering post-rank would silently return fewer than `topK` results whenever
|
|
388
|
+
* some of the best global matches fall outside the scope.
|
|
389
|
+
*/
|
|
390
|
+
getAllEmbeddings(filter = {}) {
|
|
391
|
+
let sql = `SELECT e.decision_id, e.embedding FROM decision_embeddings e`;
|
|
392
|
+
const params = [];
|
|
393
|
+
if (filter.repo !== undefined) {
|
|
394
|
+
sql += ` JOIN decisions d ON d.id = e.decision_id`;
|
|
395
|
+
sql += filter.includeUnattributed ? ` WHERE (d.repo = ? OR d.repo IS NULL)` : ` WHERE d.repo = ?`;
|
|
396
|
+
params.push(filter.repo);
|
|
397
|
+
}
|
|
398
|
+
const rows = db.prepare(sql).all(...params);
|
|
288
399
|
return rows.map(r => ({
|
|
289
400
|
decisionId: r.decision_id,
|
|
290
401
|
embedding: new Float32Array(r.embedding.buffer, r.embedding.byteOffset, r.embedding.byteLength / 4),
|
|
@@ -301,9 +412,7 @@ export function createLocalDb(dbPath) {
|
|
|
301
412
|
* refreshed rather than ignored so a better score replaces a worse one.
|
|
302
413
|
*/
|
|
303
414
|
insertLink(link) {
|
|
304
|
-
|
|
305
|
-
ON CONFLICT(source_id, target_id, relation)
|
|
306
|
-
DO UPDATE SET confidence = MAX(confidence, excluded.confidence)`).run(randomUUID(), link.sourceId, link.targetId, link.relation, link.confidence);
|
|
415
|
+
insertLinkRow(link);
|
|
307
416
|
},
|
|
308
417
|
/**
|
|
309
418
|
* ALI-792: what this decision's text points at (ticket keys, #N, tool URLs).
|
|
@@ -334,6 +443,46 @@ export function createLocalDb(dbPath) {
|
|
|
334
443
|
getRefs(decisionId) {
|
|
335
444
|
return db.prepare(`SELECT ref, platform FROM decision_refs WHERE decision_id = ? ORDER BY rowid`).all(decisionId);
|
|
336
445
|
},
|
|
446
|
+
/**
|
|
447
|
+
* Every ref across every decision, for the gap resolver (ALI-796): it needs to
|
|
448
|
+
* count DISTINCT decisions per platform graph-wide, which a per-decision
|
|
449
|
+
* `getRefs` cannot do without one round trip per decision.
|
|
450
|
+
*/
|
|
451
|
+
getAllRefs() {
|
|
452
|
+
return db.prepare(`SELECT decision_id as decisionId, ref, platform FROM decision_refs ORDER BY rowid`).all();
|
|
453
|
+
},
|
|
454
|
+
/**
|
|
455
|
+
* ALI-796's payoff: a newly-ingested decision may be the exact thing an EARLIER
|
|
456
|
+
* decision's text already cited (a git commit citing "ALI-123", now that the Jira
|
|
457
|
+
* issue for it has been imported). `candidates` is that new decision's own
|
|
458
|
+
* identity (decision-refs.ts's `refIdentityFor`) - every shape another decision
|
|
459
|
+
* could have recorded it as. For each one that some existing ref already names,
|
|
460
|
+
* link the citer to this decision.
|
|
461
|
+
*
|
|
462
|
+
* Deliberately one-directional: it resolves refs that were ALREADY WAITING when
|
|
463
|
+
* this decision arrives. It does not also re-scan this decision's own text for refs
|
|
464
|
+
* pointing at decisions already in the graph - the realistic setup flow imports git
|
|
465
|
+
* (which writes the citing refs) before a connector is added later to fill them in,
|
|
466
|
+
* so the citer is always the one already present. A source imported before the
|
|
467
|
+
* repo it is later linked from is the case this does not cover.
|
|
468
|
+
*
|
|
469
|
+
* `relation: 'relates'` at confidence 1.0 - not a guess like the cosine-similarity
|
|
470
|
+
* `relates` edges elsewhere (ALI-503): this one is a deterministic exact-key match,
|
|
471
|
+
* and 1.0 says so. `insertLinkRow`'s unique index on (source, target, relation)
|
|
472
|
+
* makes re-resolving the same pair on a later import a no-op rather than a
|
|
473
|
+
* duplicate edge.
|
|
474
|
+
*/
|
|
475
|
+
resolveRefs(newDecisionId, candidates) {
|
|
476
|
+
if (!candidates.length)
|
|
477
|
+
return;
|
|
478
|
+
const findCiters = db.prepare(`SELECT decision_id as decisionId FROM decision_refs WHERE platform = ? AND ref = ? AND decision_id != ?`);
|
|
479
|
+
for (const c of candidates) {
|
|
480
|
+
const citers = findCiters.all(c.platform, c.ref, newDecisionId);
|
|
481
|
+
for (const citer of citers) {
|
|
482
|
+
insertLinkRow({ sourceId: citer.decisionId, targetId: newDecisionId, relation: 'relates', confidence: 1.0 });
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
},
|
|
337
486
|
listLinks(filter) {
|
|
338
487
|
let sql = `SELECT id, source_id as sourceId, target_id as targetId, relation, confidence FROM decision_links WHERE 1=1`;
|
|
339
488
|
const params = [];
|
package/dist/lib/local-db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"local-db.js","sourceRoot":"","sources":["../../src/lib/local-db.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,9 @@ export declare const RETRIEVAL_RELATES_THRESHOLD = 0.3;
|
|
|
64
64
|
export declare const RELATED_TOP_K = 3;
|
|
65
65
|
export declare const RELATED_FLOOR = 0.45;
|
|
66
66
|
export declare const DRIFT_THRESHOLD = 0.5;
|
|
67
|
-
export declare function createLocalGatewayClient(dbPath: string
|
|
67
|
+
export declare function createLocalGatewayClient(dbPath: string, clientOpts?: {
|
|
68
|
+
cwd?: string;
|
|
69
|
+
}): {
|
|
68
70
|
/** Release the underlying SQLite handle (required on Windows before deleting the file). */
|
|
69
71
|
close(): void;
|
|
70
72
|
whoami(): Promise<{
|
|
@@ -132,6 +134,8 @@ export declare function createLocalGatewayClient(dbPath: string): {
|
|
|
132
134
|
}>;
|
|
133
135
|
listDecisions(params?: {
|
|
134
136
|
limit?: number;
|
|
137
|
+
repo?: string;
|
|
138
|
+
all?: boolean;
|
|
135
139
|
}): Promise<{
|
|
136
140
|
cite?: string | undefined;
|
|
137
141
|
source_url?: string | undefined;
|
|
@@ -141,7 +145,10 @@ export declare function createLocalGatewayClient(dbPath: string): {
|
|
|
141
145
|
platform: string;
|
|
142
146
|
status: string;
|
|
143
147
|
}[]>;
|
|
144
|
-
searchDecisions(query: string, limit?: number
|
|
148
|
+
searchDecisions(query: string, limit?: number, scope?: {
|
|
149
|
+
repo?: string;
|
|
150
|
+
all?: boolean;
|
|
151
|
+
}): Promise<SearchResults>;
|
|
145
152
|
checkAlignment(diff: string, _context?: string, opts?: {
|
|
146
153
|
depth?: CheckDepth;
|
|
147
154
|
title?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/local-gateway-client.ts"],"names":[],"mappings":"AAYA,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;AAEnC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO;IAiKtF,2FAA2F;;;;;;;2BAS9D,MAAM;;;;;;;;uBAKV,KAAK,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;;;;;;;;;;;;IA2B5G;;;;;;;;;;;;;;;OAeG;oBACmB,MAAM;;;;;;;;;;;gBAaV,OAAO,EAAE;;2BAUC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;;;2BAiB/C,MAAM,0BAAsB;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;yBA+C1G,MAAM,aACD,MAAM,SAMX;QAAE,KAAK,CAAC,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,eAAe,CAAC;2BAuJE,MAAM,WAAW,MAAM,gBAAgB,MAAM;;;;;;;;;;;0BAQ9C,MAAM;;;;;;;;EAmBrC;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createLocalDb } from './local-db.js';
|
|
2
|
+
import { currentRepoIdentity, repoFromSourceUrl } from './repo-identity.js';
|
|
2
3
|
import { cosineSimilarity, getEmbedding } from './local-embeddings.js';
|
|
3
4
|
import { classifyRelationship } from './local-relationship-classifier.js';
|
|
4
5
|
import { noProviderHintInline, RECOMMENDED_OLLAMA_PULL } from './local-llm.js';
|
|
5
6
|
import { repositoryOf } from './decision-links.js';
|
|
6
7
|
import { localCitationFor } from './commit-cite.js';
|
|
7
|
-
import { extractRefs } from './decision-refs.js';
|
|
8
|
+
import { extractRefs, refIdentityFor } from './decision-refs.js';
|
|
8
9
|
import { contentWordQuery } from './search-query.js';
|
|
9
10
|
/**
|
|
10
11
|
* Cosine floor for linking two decisions as related on ingest.
|
|
@@ -79,10 +80,71 @@ export const RELATED_FLOOR = RELATES_THRESHOLD;
|
|
|
79
80
|
// Below this similarity between a decision and new content, the content is
|
|
80
81
|
// considered to have drifted from the decision.
|
|
81
82
|
export const DRIFT_THRESHOLD = 0.5;
|
|
82
|
-
export function createLocalGatewayClient(dbPath) {
|
|
83
|
+
export function createLocalGatewayClient(dbPath, clientOpts = {}) {
|
|
83
84
|
const db = createLocalDb(dbPath);
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
// Memoized: every retrieval call in one command invocation (a single `align ask`, one
|
|
86
|
+
// MCP tool call) runs in the same repo, so resolving it once per process is correct and
|
|
87
|
+
// saves N redundant `git remote`/`git rev-parse` subprocess calls. `undefined` is "not
|
|
88
|
+
// resolved yet" - distinct from the real result `null` ("not in a git repo"), which a
|
|
89
|
+
// plain `??`-based cache could not tell apart from "never checked".
|
|
90
|
+
let cachedCurrentRepo;
|
|
91
|
+
async function getCurrentRepo() {
|
|
92
|
+
if (cachedCurrentRepo === undefined) {
|
|
93
|
+
cachedCurrentRepo = await currentRepoIdentity(clientOpts);
|
|
94
|
+
}
|
|
95
|
+
return cachedCurrentRepo;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Resolves a `--repo <name>` argument against what actually exists, so a user can type
|
|
99
|
+
* the short repo name ("align-cli") or "owner/repo" instead of memorising the full
|
|
100
|
+
* `host/owner/repo` identity. Falls through to the literal argument on no match - an
|
|
101
|
+
* honest empty result (via includeUnattributed's OR, or a genuine "nothing found") beats
|
|
102
|
+
* silently guessing at a typo, and this is a convenience over a security boundary.
|
|
103
|
+
*/
|
|
104
|
+
function resolveRepoArg(arg) {
|
|
105
|
+
const known = db.listRepos();
|
|
106
|
+
if (known.includes(arg))
|
|
107
|
+
return arg;
|
|
108
|
+
const lower = arg.toLowerCase();
|
|
109
|
+
const matches = known.filter((r) => r === lower || r.endsWith(`/${lower}`) || r.split('/').pop() === lower);
|
|
110
|
+
if (matches.length === 1)
|
|
111
|
+
return matches[0];
|
|
112
|
+
if (matches.length > 1) {
|
|
113
|
+
throw new Error(`"${arg}" matches more than one repo in your graph: ${matches.join(', ')}. Use the full name to disambiguate.`);
|
|
114
|
+
}
|
|
115
|
+
return arg;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* ALI-798's actual scoping rule, in one place so every retrieval caller (CLI command,
|
|
119
|
+
* MCP tool) gets it uniformly rather than re-implementing it: `all` drops the filter
|
|
120
|
+
* entirely; an explicit `repo` scopes to it (resolved against what is actually in the
|
|
121
|
+
* graph); naming neither defaults to the CURRENT repo when one exists, and to unscoped
|
|
122
|
+
* outside a git repo (nothing to scope to).
|
|
123
|
+
*
|
|
124
|
+
* `effectiveRepo` is what a caller shows the user ("answering from X") - null means
|
|
125
|
+
* "showed everything", which is itself worth saying, not just silence.
|
|
126
|
+
*/
|
|
127
|
+
async function resolveScope(scope) {
|
|
128
|
+
if (scope?.all)
|
|
129
|
+
return { dbFilter: {}, effectiveRepo: null };
|
|
130
|
+
if (scope?.repo !== undefined) {
|
|
131
|
+
const repo = resolveRepoArg(scope.repo);
|
|
132
|
+
return { dbFilter: { repo, includeUnattributed: true }, effectiveRepo: repo };
|
|
133
|
+
}
|
|
134
|
+
const current = await getCurrentRepo();
|
|
135
|
+
if (current === null)
|
|
136
|
+
return { dbFilter: {}, effectiveRepo: null };
|
|
137
|
+
return { dbFilter: { repo: current, includeUnattributed: true }, effectiveRepo: current };
|
|
138
|
+
}
|
|
139
|
+
async function findSimilar(embedding, topK, threshold = 0.0, excludeId,
|
|
140
|
+
// Undefined (the default) is UNSCOPED - relationship linking (ingestOne) wants
|
|
141
|
+
// candidates across every repo, so it must never pass one. Retrieval callers
|
|
142
|
+
// (searchDecisions, checkAlignment) pass the resolved dbFilter from resolveScope.
|
|
143
|
+
// Scoping HERE rather than after ranking is what keeps `topK` honest: filtering
|
|
144
|
+
// post-rank could silently return fewer than topK whenever some of the best global
|
|
145
|
+
// matches fall outside the scope.
|
|
146
|
+
scopeFilter) {
|
|
147
|
+
const all = db.getAllEmbeddings(scopeFilter);
|
|
86
148
|
return all
|
|
87
149
|
.filter(e => e.decisionId !== excludeId)
|
|
88
150
|
.map(e => ({ decisionId: e.decisionId, score: cosineSimilarity(embedding, e.embedding) }))
|
|
@@ -122,13 +184,25 @@ export function createLocalGatewayClient(dbPath) {
|
|
|
122
184
|
// 2026-09-01). Batch ingest still filters the decision's own source_url so a
|
|
123
185
|
// raw_text that quotes its own address is not a self-reference.
|
|
124
186
|
const refs = capturedAsUrl ? [] : extractRefs(input).filter(r => r.ref !== sourceUrl);
|
|
187
|
+
// ALI-798: which repo this decision belongs to. A hosted code URL (any platform, not
|
|
188
|
+
// just 'git' - a GitHub PR captured by hand is still code) names its own repo directly.
|
|
189
|
+
// Only a git-sourced item with NO hosted remote (a self-hosted GHES, a repo never
|
|
190
|
+
// pushed) falls back to the CURRENT repo - that fallback is deliberately narrow: a
|
|
191
|
+
// Jira ticket or Slack thread imported from inside a repo is not that repo's, and
|
|
192
|
+
// widening the fallback to every platform would misattribute them.
|
|
193
|
+
const repo = repoFromSourceUrl(sourceUrl) ?? (platform === 'git' ? await getCurrentRepo() : null);
|
|
125
194
|
// BEFORE the upsert: insertDecision returns the surviving id whether it inserted or
|
|
126
195
|
// refreshed, so this is the only moment the difference is visible. Without it a
|
|
127
196
|
// re-import reports every decision as imported while the graph does not move, which
|
|
128
197
|
// reads as having imported twice (ALI-770).
|
|
129
198
|
const created = db.findIdBySource(sourceUrl, title) === null;
|
|
130
|
-
const id = db.insertDecision({ title, summary, sourceUrl, platform });
|
|
199
|
+
const id = db.insertDecision({ title, summary, sourceUrl, platform, repo });
|
|
131
200
|
db.replaceRefs(id, refs);
|
|
201
|
+
// ALI-796's payoff: if some earlier decision already cited THIS one (a git commit
|
|
202
|
+
// citing a Jira key before Jira was ever connected), resolve that gap into a real
|
|
203
|
+
// link now that the cited item has arrived. Harmless no-op for platforms with no
|
|
204
|
+
// citable identity (refIdentityFor returns [] for a plain git/slack/cli capture).
|
|
205
|
+
db.resolveRefs(id, refIdentityFor(platform, sourceUrl));
|
|
132
206
|
// Embed title + summary so URL captures (whose summary is just "Captured
|
|
133
207
|
// from <host>") still carry the path-derived title's semantic content.
|
|
134
208
|
const embedText = title === summary ? summary : `${title}. ${summary}`;
|
|
@@ -222,9 +296,13 @@ export function createLocalGatewayClient(dbPath) {
|
|
|
222
296
|
// ALI-602: `align context sync --env local` lists the graph without a query.
|
|
223
297
|
// The db reads newest-first; the renderer re-sorts deterministically, so the
|
|
224
298
|
// order here only decides WHICH rows survive the limit (newest do).
|
|
299
|
+
//
|
|
300
|
+
// ALI-798: `repo`/`all` mirror searchDecisions' scope resolution - naming neither
|
|
301
|
+
// defaults to the current repo (+ unattributed rows) when one exists.
|
|
225
302
|
async listDecisions(params = {}) {
|
|
226
303
|
const limit = params.limit ?? 200;
|
|
227
|
-
|
|
304
|
+
const { dbFilter } = await resolveScope({ repo: params.repo, all: params.all });
|
|
305
|
+
return db.listDecisions(dbFilter).slice(0, limit).map((row) => {
|
|
228
306
|
const cite = localCitationFor(row.sourceUrl);
|
|
229
307
|
return {
|
|
230
308
|
id: row.id,
|
|
@@ -237,9 +315,10 @@ export function createLocalGatewayClient(dbPath) {
|
|
|
237
315
|
};
|
|
238
316
|
});
|
|
239
317
|
},
|
|
240
|
-
async searchDecisions(query, limit = 10) {
|
|
318
|
+
async searchDecisions(query, limit = 10, scope) {
|
|
319
|
+
const { dbFilter, effectiveRepo } = await resolveScope(scope);
|
|
241
320
|
const embedding = await getEmbedding(query);
|
|
242
|
-
let similar = await findSimilar(embedding, limit, SEARCH_THRESHOLD);
|
|
321
|
+
let similar = await findSimilar(embedding, limit, SEARCH_THRESHOLD, undefined, dbFilter);
|
|
243
322
|
// A natural-language question embeds less densely than its subject does, so on a
|
|
244
323
|
// small graph it can miss a decision that its own content words hit. Retry once,
|
|
245
324
|
// only on an empty result, mirroring the gateway's own keyword-to-semantic
|
|
@@ -248,7 +327,7 @@ export function createLocalGatewayClient(dbPath) {
|
|
|
248
327
|
if (!similar.length) {
|
|
249
328
|
const reduced = contentWordQuery(query);
|
|
250
329
|
if (reduced) {
|
|
251
|
-
similar = await findSimilar(await getEmbedding(reduced), limit, SEARCH_THRESHOLD);
|
|
330
|
+
similar = await findSimilar(await getEmbedding(reduced), limit, SEARCH_THRESHOLD, undefined, dbFilter);
|
|
252
331
|
}
|
|
253
332
|
}
|
|
254
333
|
const results = similar
|
|
@@ -275,10 +354,12 @@ export function createLocalGatewayClient(dbPath) {
|
|
|
275
354
|
// No decision_url: a local-embedded decision lives only in this machine's
|
|
276
355
|
// SQLite file, so any Align URL built for it would 404 wherever it pointed.
|
|
277
356
|
// Absent beats fabricated - a wrong link looks clickable.
|
|
357
|
+
// ALI-796: what this decision cites, so `align ask` can name a gap.
|
|
358
|
+
external_references: db.getRefs(row.id),
|
|
278
359
|
};
|
|
279
360
|
})
|
|
280
361
|
.filter((d) => d !== null);
|
|
281
|
-
return { results, count: results.length, strategy: 'semantic' };
|
|
362
|
+
return { results, count: results.length, strategy: 'semantic', scope: effectiveRepo };
|
|
282
363
|
},
|
|
283
364
|
async checkAlignment(diff, _context,
|
|
284
365
|
// 'exhaustive' deliberately collapses into 'full' here: local mode has no gateway
|
|
@@ -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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAA8B,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOrD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,iFAAiF;AACjF,qFAAqF;AACrF,mFAAmF;AACnF,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C,2EAA2E;AAC3E,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,aAA+B,EAAE;IACxF,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjC,sFAAsF;IACtF,wFAAwF;IACxF,uFAAuF;IACvF,sFAAsF;IACtF,oEAAoE;IACpE,IAAI,iBAA4C,CAAC;IACjD,KAAK,UAAU,cAAc;QAC3B,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,SAAS,cAAc,CAAC,GAAW;QACjC,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC;QAC5G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,+CAA+C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAClI,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,UAAU,YAAY,CACzB,KAAwC;QAExC,IAAI,KAAK,EAAE,GAAG;YAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7D,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QACvC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACnE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC5F,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,SAAuB,EACvB,IAAY,EACZ,SAAS,GAAG,GAAG,EACf,SAAkB;IAClB,+EAA+E;IAC/E,6EAA6E;IAC7E,kFAAkF;IAClF,gFAAgF;IAChF,mFAAmF;IACnF,kCAAkC;IAClC,WAA8D;QAE9D,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,GAAG;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACzF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;YAClC,iFAAiF;YACjF,6EAA6E;YAC7E,6DAA6D;aAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7G,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,uFAAuF;IACvF,sFAAsF;IACtF,KAAK,UAAU,SAAS,CACtB,KAAa,EACb,QAAgB,EAChB,OAAsE,EAAE;QAExE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,SAAS,GAAkB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAC9D,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC;gBACtE,OAAO,GAAG,iBAAiB,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC1C,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,aAAa;YAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhE,+EAA+E;QAC/E,gFAAgF;QAChF,sEAAsE;QACtE,gFAAgF;QAChF,0EAA0E;QAC1E,6EAA6E;QAC7E,gEAAgE;QAChE,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAEtF,qFAAqF;QACrF,wFAAwF;QACxF,kFAAkF;QAClF,mFAAmF;QACnF,kFAAkF;QAClF,mEAAmE;QACnE,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElG,oFAAoF;QACpF,gFAAgF;QAChF,oFAAoF;QACpF,4CAA4C;QAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;QAC7D,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzB,kFAAkF;QAClF,kFAAkF;QAClF,iFAAiF;QACjF,kFAAkF;QAClF,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACxD,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,SAAS,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE/B,gFAAgF;QAChF,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,yDAAyD;QACzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,oBAAoB,IAAI,CAAC,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,CAC7F,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,qFAAqF;YACrF,2EAA2E;YAC3E,2EAA2E;YAC3E,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACnF,CAAC;IAED,OAAO;QACL,2FAA2F;QAC3F,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAED,KAAK,CAAC,MAAM;YACV,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK;YACnD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QACnJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,KAA0F;YAC1G,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;oBAC/D,aAAa,EAAE,IAAI,CAAC,KAAK;oBACzB,iBAAiB,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;iBAC3C,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,QAAQ,EAAE;wBACR,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACpC,EAAE,EAAE,CAAC,CAAC,UAAU;4BAChB,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,IAAI,EAAE;4BACpD,6EAA6E;4BAC7E,qDAAqD;4BACrD,YAAY,EAAE,SAAS;4BACvB,UAAU,EAAE,CAAC,CAAC,KAAK;yBACpB,CAAC,CAAC;qBACJ;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC;QAED;;;;;;;;;;;;;;;WAeG;QACH,KAAK,CAAC,WAAW,CAAC,EAAU;YAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE,qEAAqE,CAAC,CAAC;YAC1G,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,mBAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,EAAe;aACxB,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,oEAAoE;QACpE,EAAE;QACF,kFAAkF;QAClF,sEAAsE;QACtE,KAAK,CAAC,aAAa,CAAC,SAA2D,EAAE;YAC/E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;YAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7C,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,QAAQ;oBAChB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE,EAAE,KAAwC;YACvF,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzF,iFAAiF;YACjF,iFAAiF;YACjF,2EAA2E;YAC3E,gFAAgF;YAChF,gEAAgE;YAChE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,OAAO;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG;oBAAE,OAAO,IAAI,CAAC;gBACtB,4EAA4E;gBAC5E,0EAA0E;gBAC1E,sEAAsE;gBACtE,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7C,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,CAAC,CAAC,KAAK;oBACnB,UAAU,EAAE,GAAG,CAAC,SAAS;oBACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,0EAA0E;oBAC1E,4EAA4E;oBAC5E,0DAA0D;oBAC1D,oEAAoE;oBACpE,mBAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;iBACxC,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QACxF,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,IAAY,EACZ,QAAiB;QACjB,kFAAkF;QAClF,oFAAoF;QACpF,6DAA6D;QAC7D,+EAA+E;QAC/E,+CAA+C;QAC/C,OAA+C,EAAE;YAEjD,sEAAsE;YACtE,EAAE;YACF,yFAAyF;YACzF,wFAAwF;YACxF,yFAAyF;YACzF,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC7F,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,OAAO;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,MAAM,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7C,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;YACpJ,CAAC;YAED,yFAAyF;YACzF,qFAAqF;YACrF,oFAAoF;YACpF,wFAAwF;YACxF,wFAAwF;YACxF,0FAA0F;YAC1F,0DAA0D;YAC1D,EAAE;YACF,oFAAoF;YACpF,6EAA6E;YAC7E,wFAAwF;YACxF,uFAAuF;YACvF,iFAAiF;YACjF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACrD,kBAAkB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvC,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,UAAU,EAAE,CAAC,CAAC,KAAK;wBACnB,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;qBAC9B,CAAC,CAAC;oBACH,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,SAAS,UAAU,CAAC,MAAM,yDAAyD;iBAC7F,CAAC;YACJ,CAAC;YAED,6EAA6E;YAC7E,wEAAwE;YACxE,yFAAyF;YACzF,0FAA0F;YAC1F,yFAAyF;YACzF,kBAAkB;YAClB,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACzF,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,4EAA4E;gBAC5E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,iFAAiF;gBACjF,MAAM,OAAO,GAA0B,YAAY;oBACjD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE;oBAC3C,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,kBAAkB;oBAAE,YAAY,GAAG,IAAI,CAAC;gBACrF,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;oBAC7B,YAAY,EAAE,GAAG,EAAE,IAAI,IAAI,SAAS,EAAE,wCAAwC;oBAC9E,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,CAAC,KAAK;oBACtC,KAAK,EAAE,GAAG,KAAK,IAAI;oBACnB,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;oBACtD,2EAA2E;oBAC3E,wEAAwE;oBACxE,yDAAyD;oBACzD,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;oBACjD,MAAM,EAAE,GAAG,EAAE,MAAM;oBACnB,UAAU,EAAE,CAAC,CAAC,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACpI,MAAM,SAAS,GAAG,KAAK;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,gBAAgB,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,CAAC;iBACpF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,WAAW,EAAE,CAAC,CAAC,EAAE;gBACjB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,yDAAyD;gBAC7E,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAA2B;aACnF,CAAC,CAAC,CAAC;YAEN,+EAA+E;YAC/E,gFAAgF;YAChF,iFAAiF;YACjF,yEAAyE;YACzE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAE7D,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO;oBACL,MAAM,EAAE,aAAa;oBACrB,UAAU;oBACV,kBAAkB;oBAClB,SAAS;oBACT,OAAO,EAAE,8BAA8B,SAAS,CAAC,MAAM,uEAAuE;iBAC/H,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,kFAAkF;gBAClF,kFAAkF;gBAClF,8EAA8E;gBAC9E,+EAA+E;gBAC/E,wEAAwE;gBACxE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;gBACrC,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,KAAK,sBAAsB;oBAChE,CAAC,CAAC,2EAA2E,uBAAuB,iDAAiD;oBACrJ,CAAC,CAAC,YAAY,CAAC,aAAa,KAAK,YAAY;wBAC3C,CAAC,CAAC,oBAAoB,CAAC,yBAAyB,CAAC;wBACjD,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,kBAAkB;4BACpC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ,oCAAoC,OAAO,CAAC,MAAM,gDAAgD;4BAC1I,CAAC,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,YAAY,CAAC,aAAa;oBAClC,UAAU,EAAE,CAAC;oBACb,kBAAkB;oBAClB,SAAS,EAAE,EAAE;oBACb,OAAO,EACL,mBAAmB,kBAAkB,CAAC,MAAM,kEAAkE;wBAC9G,0FAA0F,IAAI,EAAE;iBACnG,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,UAAU;gBACV,kBAAkB;gBAClB,SAAS;gBACT,OAAO,EAAE,SAAS,kBAAkB,CAAC,MAAM,iCAAiC;aAC7E,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAe,EAAE,WAAoB;YACxE,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB;gBAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;YAC3H,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YACpE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,eAAe,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,UAAkB;YAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YACnE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,YAAY;YAChB,oFAAoF;YACpF,kFAAkF;YAClF,kFAAkF;YAClF,mDAAmD;YACnD,MAAM,KAAK,GAAG;gBACZ,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBAC/C,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;aAC7C,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare function repoFromSourceUrl(sourceUrl: string | null | undefined): string | null;
|
|
2
|
+
/**
|
|
3
|
+
* The same identity, derived from a git REMOTE url instead of a commit URL - for a git
|
|
4
|
+
* item whose source_url has no commit/pull path to match against (there is none; the
|
|
5
|
+
* remote IS the identity).
|
|
6
|
+
*
|
|
7
|
+
* Mirrors `buildCommitUrl`'s host detection (lib/git.ts) branch-for-branch on purpose:
|
|
8
|
+
* these are two writers of one fact (which repo a remote names), and letting them diverge
|
|
9
|
+
* would mean `repoFromSourceUrl(buildCommitUrl(remote, sha))` and `repoFromRemoteUrl(remote)`
|
|
10
|
+
* silently disagreeing about the same remote - a git-sourced decision stamped under one
|
|
11
|
+
* identity by the importer and looked up under another by a `--repo` filter. The parity
|
|
12
|
+
* test in repo-identity.test.ts is what keeps that from drifting unnoticed.
|
|
13
|
+
*/
|
|
14
|
+
export declare function repoFromRemoteUrl(remoteUrl: string | null): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* The identity of the repo the CLI is currently running in, for stamping a git-sourced
|
|
17
|
+
* decision whose remote is unrecognised or absent (a self-hosted GHES, a local-only repo
|
|
18
|
+
* never pushed anywhere). Falls back to the absolute repo root path - a path always starts
|
|
19
|
+
* with `/` (or a drive letter), which can never collide with the `host/owner/repo` shape
|
|
20
|
+
* above, so the two identity spaces never need disambiguating.
|
|
21
|
+
*
|
|
22
|
+
* Returns null outside a git repo: there is nothing to stamp, and nothing to scope to
|
|
23
|
+
* either (the ticket's own rule - "outside a git repo, default to all").
|
|
24
|
+
*/
|
|
25
|
+
export declare function currentRepoIdentity(opts?: {
|
|
26
|
+
cwd?: string;
|
|
27
|
+
}): Promise<string | null>;
|
|
28
|
+
/**
|
|
29
|
+
* Turns `--repo`/`--all` CLI flags into the `{ repo, all }` scope object
|
|
30
|
+
* searchDecisions/listDecisions take - and, since the repo dimension is local-only
|
|
31
|
+
* (ALI-798 scoped it to the local graph, not the cloud gateway), warns and drops them
|
|
32
|
+
* when the resolved environment has no repo dimension at all. One place decides this so
|
|
33
|
+
* every command that adds the flags applies the same rule (see ALI-505: a flag that
|
|
34
|
+
* silently does nothing is a bug, not a graceful degradation).
|
|
35
|
+
*
|
|
36
|
+
* Returns undefined for "no scope opinion" - a caller passes that straight through to
|
|
37
|
+
* searchDecisions/listDecisions, which apply their own default (current repo, or all
|
|
38
|
+
* outside one) exactly as if neither flag had been typed.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveScopeOpts(opts: {
|
|
41
|
+
repo?: string;
|
|
42
|
+
all?: boolean;
|
|
43
|
+
}, envName: string, warn: (message: string) => void): {
|
|
44
|
+
repo?: string;
|
|
45
|
+
all?: boolean;
|
|
46
|
+
} | undefined;
|
|
47
|
+
//# sourceMappingURL=repo-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-identity.d.ts","sourceRoot":"","sources":["../../src/lib/repo-identity.ts"],"names":[],"mappings":"AAkCA,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASzE;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM7F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9B;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAO9C"}
|