@aligndottech/cli 0.57.0 → 0.58.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 +31 -18
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +14 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +24 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/import/git.d.ts.map +1 -1
- package/dist/commands/import/git.js +8 -4
- package/dist/commands/import/git.js.map +1 -1
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +26 -12
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/use.d.ts +2 -0
- package/dist/commands/use.d.ts.map +1 -1
- package/dist/commands/use.js +19 -1
- package/dist/commands/use.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +91 -53
- package/dist/commands/why.js.map +1 -1
- package/dist/lib/agent-rules.d.ts +11 -4
- package/dist/lib/agent-rules.d.ts.map +1 -1
- package/dist/lib/agent-rules.js +163 -190
- package/dist/lib/agent-rules.js.map +1 -1
- package/dist/lib/ask-listing.d.ts +30 -0
- package/dist/lib/ask-listing.d.ts.map +1 -0
- package/dist/lib/ask-listing.js +60 -0
- package/dist/lib/ask-listing.js.map +1 -0
- package/dist/lib/capture-report.d.ts.map +1 -1
- package/dist/lib/capture-report.js +11 -3
- package/dist/lib/capture-report.js.map +1 -1
- package/dist/lib/claude-presence.d.ts +12 -0
- package/dist/lib/claude-presence.d.ts.map +1 -0
- package/dist/lib/claude-presence.js +19 -0
- package/dist/lib/claude-presence.js.map +1 -0
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +4 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/doctor.d.ts +9 -1
- package/dist/lib/doctor.d.ts.map +1 -1
- package/dist/lib/doctor.js +19 -1
- package/dist/lib/doctor.js.map +1 -1
- package/dist/lib/embedding-assets.d.ts +40 -0
- package/dist/lib/embedding-assets.d.ts.map +1 -0
- package/dist/lib/embedding-assets.js +74 -0
- package/dist/lib/embedding-assets.js.map +1 -0
- package/dist/lib/embedding-runtime.d.ts +41 -0
- package/dist/lib/embedding-runtime.d.ts.map +1 -0
- package/dist/lib/embedding-runtime.js +224 -0
- package/dist/lib/embedding-runtime.js.map +1 -0
- package/dist/lib/fetchers/git.d.ts +3 -0
- package/dist/lib/fetchers/git.d.ts.map +1 -1
- package/dist/lib/fetchers/git.js +9 -5
- package/dist/lib/fetchers/git.js.map +1 -1
- package/dist/lib/found-summary.d.ts.map +1 -1
- package/dist/lib/found-summary.js +19 -3
- package/dist/lib/found-summary.js.map +1 -1
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +21 -1
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/git.d.ts +7 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +7 -2
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/import-defaults.d.ts +11 -4
- package/dist/lib/import-defaults.d.ts.map +1 -1
- package/dist/lib/import-defaults.js +11 -4
- package/dist/lib/import-defaults.js.map +1 -1
- package/dist/lib/launch/mcp-child-env.d.ts.map +1 -1
- package/dist/lib/launch/mcp-child-env.js +6 -4
- package/dist/lib/launch/mcp-child-env.js.map +1 -1
- package/dist/lib/local-db.d.ts +13 -0
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +23 -0
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings-native.d.ts +17 -0
- package/dist/lib/local-embeddings-native.d.ts.map +1 -0
- package/dist/lib/local-embeddings-native.js +78 -0
- package/dist/lib/local-embeddings-native.js.map +1 -0
- package/dist/lib/local-embeddings.d.ts.map +1 -1
- package/dist/lib/local-embeddings.js +46 -47
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +2 -2
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +43 -31
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-thresholds.d.ts +8 -0
- package/dist/lib/local-thresholds.d.ts.map +1 -1
- package/dist/lib/local-thresholds.js +8 -0
- package/dist/lib/local-thresholds.js.map +1 -1
- package/dist/lib/model-cache.d.ts +13 -0
- package/dist/lib/model-cache.d.ts.map +1 -1
- package/dist/lib/model-cache.js +26 -0
- package/dist/lib/model-cache.js.map +1 -1
- package/dist/lib/next-step.d.ts +2 -0
- package/dist/lib/next-step.d.ts.map +1 -1
- package/dist/lib/next-step.js +37 -16
- package/dist/lib/next-step.js.map +1 -1
- package/dist/lib/node-floor.d.ts +6 -0
- package/dist/lib/node-floor.d.ts.map +1 -0
- package/dist/lib/node-floor.js +15 -0
- package/dist/lib/node-floor.js.map +1 -0
- package/dist/lib/safe-config-write.d.ts +24 -1
- package/dist/lib/safe-config-write.d.ts.map +1 -1
- package/dist/lib/safe-config-write.js +113 -26
- package/dist/lib/safe-config-write.js.map +1 -1
- package/dist/lib/scope-real.d.ts.map +1 -1
- package/dist/lib/search-query.d.ts +21 -0
- package/dist/lib/search-query.d.ts.map +1 -1
- package/dist/lib/search-query.js +1 -1
- package/dist/lib/search-query.js.map +1 -1
- package/dist/lib/search-rerank.d.ts +23 -0
- package/dist/lib/search-rerank.d.ts.map +1 -0
- package/dist/lib/search-rerank.js +63 -0
- package/dist/lib/search-rerank.js.map +1 -0
- package/dist/lib/suppress-sqlite-warning.d.ts +13 -0
- package/dist/lib/suppress-sqlite-warning.d.ts.map +1 -0
- package/dist/lib/suppress-sqlite-warning.js +21 -0
- package/dist/lib/suppress-sqlite-warning.js.map +1 -0
- package/dist/lib/sync/real-env.d.ts.map +1 -1
- package/dist/lib/sync/spawn-background.d.ts +1 -1
- package/dist/lib/sync/spawn-background.d.ts.map +1 -1
- package/dist/lib/sync/spawn-background.js +1 -1
- package/dist/lib/sync/spawn-background.js.map +1 -1
- package/dist/lib/tar-lite.d.ts +18 -0
- package/dist/lib/tar-lite.d.ts.map +1 -0
- package/dist/lib/tar-lite.js +120 -0
- package/dist/lib/tar-lite.js.map +1 -0
- package/dist/lib/user-hooks.d.ts.map +1 -1
- package/dist/lib/user-hooks.js +13 -3
- package/dist/lib/user-hooks.js.map +1 -1
- package/dist/lib/verified-download.d.ts +19 -0
- package/dist/lib/verified-download.d.ts.map +1 -0
- package/dist/lib/verified-download.js +105 -0
- package/dist/lib/verified-download.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything the on-device embedding path pins: which native runtime, which model files, where
|
|
3
|
+
* each comes from, and the SHA-256 each must hash to.
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth. The loader (embedding-runtime.ts, local-embeddings-native.ts), the
|
|
6
|
+
* release-asset builder (scripts/build-ort-runtime.ts) and `align doctor` all read this file, so
|
|
7
|
+
* the digest the CLI trusts and the digest the workflow publishes cannot drift apart.
|
|
8
|
+
*
|
|
9
|
+
* WHY A DOWNLOAD AT ALL (ALI-1781). `@huggingface/transformers` depends on `onnxruntime-node`,
|
|
10
|
+
* whose npm tarball carries the runtime for EVERY OS and the CUDA/TensorRT providers (548MB
|
|
11
|
+
* installed), plus `onnxruntime-web` (141MB, browser) and `sharp` - 779MB for a CLI whose
|
|
12
|
+
* embeddings need ~46MB of one platform's CPU library. npm has no way to install one platform's
|
|
13
|
+
* slice of a single package, and an `overrides` entry in this package is ignored when it is
|
|
14
|
+
* installed globally. So the runtime for THIS os/arch is fetched once, on first local use, and
|
|
15
|
+
* the digest below is what makes that safe.
|
|
16
|
+
*/
|
|
17
|
+
import { join } from 'node:path';
|
|
18
|
+
/** onnxruntime-node release the bundle is cut from. This is the version a plain
|
|
19
|
+
* `npm install @aligndottech/cli` resolved when the vectors in existing graphs were written. */
|
|
20
|
+
export const ORT_VERSION = '1.30.0';
|
|
21
|
+
/** npm `dist.integrity` of the two upstream tarballs the bundles are built from. */
|
|
22
|
+
export const ORT_NODE_NPM_INTEGRITY = 'sha512-twhs1C2C/BFkz1yc5OY0KIU2GUq6DURO7hD4bx5Q2Qy3nAMJwRXW8xU3NVczE29VA9lolLOYepoD8fjTGOfIqw==';
|
|
23
|
+
export const ORT_COMMON_NPM_INTEGRITY = 'sha512-7fdVWjAID1dVhH/G8qK3APARunV4VkBFoCQAP7qp4Wkab0mrorvmc+sqiT+mKXOzDqdjN5j+/Z9nb4gzNPWcyA==';
|
|
24
|
+
/**
|
|
25
|
+
* SHA-256 of the UNCOMPRESSED tar for each platform (see tar-lite.ts: the tar is
|
|
26
|
+
* reproducible, the gzip around it is not). Filled in by `npx tsx scripts/build-ort-runtime.ts`.
|
|
27
|
+
* A platform absent here has no runtime bundle, which is the same set `transformers.js` ran on
|
|
28
|
+
* before: glibc Linux x64/arm64, macOS arm64, Windows x64/arm64.
|
|
29
|
+
*/
|
|
30
|
+
export const RUNTIME_SHA256 = {
|
|
31
|
+
'linux-x64': '8b9fd63b63d9a67c7008b0a54b2f2e18638f473bc6f01cdd777e7e3614a74cd3',
|
|
32
|
+
'linux-arm64': '85961209b62e6bc301be1596f7019f7c2a632d955ce94799bf298ed713ff8e14',
|
|
33
|
+
'darwin-arm64': '75da7e3e9dbffaaaabaafe6ca44f4e1afaa00e81cda298d11fc965edccc7f972',
|
|
34
|
+
'win32-x64': 'dbc1f3a9c90f9def839ac19f2e5f35c60013e164bdfa8b4b90bb87bc40eaa636',
|
|
35
|
+
'win32-arm64': 'c3f98d500b86aede9bc554e491d6f69c141fd6a497120e2da89a36cb0283bc2b',
|
|
36
|
+
};
|
|
37
|
+
export function runtimeKey(platform = process.platform, arch = process.arch, table = RUNTIME_SHA256) {
|
|
38
|
+
const key = `${platform}-${arch}`;
|
|
39
|
+
return key in table ? key : null;
|
|
40
|
+
}
|
|
41
|
+
export const RUNTIME_TAG = `ort-runtime-v${ORT_VERSION}`;
|
|
42
|
+
export const RUNTIME_DEFAULT_BASE_URL = `https://github.com/aligndottech/align-cli/releases/download/${RUNTIME_TAG}`;
|
|
43
|
+
export function runtimeAssetName(key) {
|
|
44
|
+
return `align-ort-${ORT_VERSION}-${key}.tgz`;
|
|
45
|
+
}
|
|
46
|
+
/** `ALIGN_ORT_RUNTIME_URL` points at a mirror or a pre-staged directory (https:, http: or
|
|
47
|
+
* file:). It changes WHERE the bytes come from and nothing about what they must hash to. */
|
|
48
|
+
export function runtimeUrl(key, env = process.env) {
|
|
49
|
+
const base = (env['ALIGN_ORT_RUNTIME_URL'] || RUNTIME_DEFAULT_BASE_URL).replace(/\/+$/, '');
|
|
50
|
+
return `${base}/${runtimeAssetName(key)}`;
|
|
51
|
+
}
|
|
52
|
+
/** Upper bounds for the extracted runtime. The real figures are ~46MB for the biggest bundle. */
|
|
53
|
+
export const RUNTIME_LIMITS = { maxEntries: 200, maxTotalBytes: 160 * 1024 * 1024 };
|
|
54
|
+
export const MODEL_REPO = 'Xenova/all-MiniLM-L6-v2';
|
|
55
|
+
/** Immutable commit of the model repo; files are fetched by commit, never by `main`. */
|
|
56
|
+
export const MODEL_REVISION = '751bff37182d3f1213fa05d7196b954e230abad9';
|
|
57
|
+
/** Same three files transformers.js fetched for dtype q8 (config.json is not read by us). */
|
|
58
|
+
export const MODEL_FILES = [
|
|
59
|
+
{ path: 'onnx/model_quantized.onnx', sha256: 'afdb6f1a0e45b715d0bb9b11772f032c399babd23bfc31fed1c170afc848bdb1', maxBytes: 40 * 1024 * 1024 },
|
|
60
|
+
{ path: 'tokenizer.json', sha256: 'da0e79933b9ed51798a3ae27893d3c5fa4a201126cef75586296df9b4d2c62a0', maxBytes: 4 * 1024 * 1024 },
|
|
61
|
+
{ path: 'tokenizer_config.json', sha256: '9261e7d79b44c8195c1cada2b453e55b00aeb81e907a6664974b4d7776172ab3', maxBytes: 64 * 1024 },
|
|
62
|
+
];
|
|
63
|
+
/** `HF_ENDPOINT` is the convention huggingface tooling uses for a mirror. Digest still applies. */
|
|
64
|
+
export function modelFileUrl(file, env = process.env) {
|
|
65
|
+
const host = (env['HF_ENDPOINT'] || 'https://huggingface.co').replace(/\/+$/, '');
|
|
66
|
+
return `${host}/${MODEL_REPO}/resolve/${MODEL_REVISION}/${file.path}`;
|
|
67
|
+
}
|
|
68
|
+
export function runtimeDir(root, key) {
|
|
69
|
+
return join(root, 'ort', `${ORT_VERSION}-${key}`);
|
|
70
|
+
}
|
|
71
|
+
export function modelDir(root) {
|
|
72
|
+
return join(root, 'hf', ...MODEL_REPO.split('/'), MODEL_REVISION.slice(0, 12));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=embedding-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-assets.js","sourceRoot":"","sources":["../../src/lib/embedding-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type ModelFile } from './embedding-assets.js';
|
|
2
|
+
/** The cache is empty and this process may not fill it (hook), or the platform has no runtime. */
|
|
3
|
+
export declare class EmbeddingAssetsMissing extends Error {
|
|
4
|
+
readonly reason: 'not-downloaded' | 'unsupported-platform';
|
|
5
|
+
constructor(message: string, reason: 'not-downloaded' | 'unsupported-platform');
|
|
6
|
+
}
|
|
7
|
+
export interface EnsureOptions {
|
|
8
|
+
allowDownload: boolean;
|
|
9
|
+
env?: Record<string, string | undefined>;
|
|
10
|
+
/** Cache root override (tests). Defaults to modelCacheDir(env, opts.platform ?? process.platform). */
|
|
11
|
+
root?: string;
|
|
12
|
+
platform?: string;
|
|
13
|
+
arch?: string;
|
|
14
|
+
fetchImpl?: typeof fetch;
|
|
15
|
+
/** One-line progress notice, shown only when a download actually starts. */
|
|
16
|
+
notice?: (message: string) => void;
|
|
17
|
+
/** Test seam: swap the pinned digests for a tiny fixture. Production never sets it. */
|
|
18
|
+
pins?: {
|
|
19
|
+
runtimeSha256?: Readonly<Record<string, string>>;
|
|
20
|
+
modelFiles?: readonly ModelFile[];
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare function ensureRuntime(opts: EnsureOptions): Promise<string>;
|
|
24
|
+
export declare function ensureModel(opts: EnsureOptions): Promise<string>;
|
|
25
|
+
export interface OrtApi {
|
|
26
|
+
InferenceSession: {
|
|
27
|
+
create(path: string, options?: Record<string, unknown>): Promise<{
|
|
28
|
+
inputNames: readonly string[];
|
|
29
|
+
outputNames: readonly string[];
|
|
30
|
+
run(feeds: Record<string, unknown>): Promise<Record<string, {
|
|
31
|
+
data: Float32Array | ArrayLike<number>;
|
|
32
|
+
}>>;
|
|
33
|
+
}>;
|
|
34
|
+
};
|
|
35
|
+
Tensor: new (type: string, data: BigInt64Array, dims: number[]) => unknown;
|
|
36
|
+
}
|
|
37
|
+
/** Load the downloaded wrapper by ABSOLUTE path. The JS inside it resolves its own sibling
|
|
38
|
+
* `../bin/...` binding and its bundled onnxruntime-common, so nothing here depends on how, or
|
|
39
|
+
* whether, this package's own node_modules were laid out. */
|
|
40
|
+
export declare function loadOrt(dir: string): OrtApi;
|
|
41
|
+
//# sourceMappingURL=embedding-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-runtime.d.ts","sourceRoot":"","sources":["../../src/lib/embedding-runtime.ts"],"names":[],"mappings":"AAmBA,OAAO,EACkC,KAAK,SAAS,EAEtD,MAAM,uBAAuB,CAAC;AAM/B,kGAAkG;AAClG,qBAAa,sBAAuB,SAAQ,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,sBAAsB;gBAA3E,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,gBAAgB,GAAG,sBAAsB;CAIxF;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,sGAAsG;IACtG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,uFAAuF;IACvF,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,CAAC;CAChG;AAoGD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCxE;AAMD,wBAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCtE;AAED,MAAM,WAAW,MAAM;IACrB,gBAAgB,EAAE;QAChB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;YAC/D,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;YAC9B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;gBAAE,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;aAAE,CAAC,CAAC,CAAC;SAC1G,CAAC,CAAC;KACJ,CAAC;IACF,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;CAC5E;AAED;;8DAE8D;AAC9D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3C"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch, verify, cache and load the two things on-device embeddings need that npm no longer
|
|
3
|
+
* ships (ALI-1781): the native ONNX Runtime for THIS os/arch, and the model files.
|
|
4
|
+
*
|
|
5
|
+
* Contract:
|
|
6
|
+
* - Every byte is checked against a digest pinned in embedding-assets.ts BEFORE it touches the
|
|
7
|
+
* cache. A mismatch throws and leaves nothing behind.
|
|
8
|
+
* - Writes go to a private temp dir beside the target and are renamed into place, so a crash,
|
|
9
|
+
* Ctrl-C or a second process racing the first never leaves a half-written cache that a later
|
|
10
|
+
* run would load.
|
|
11
|
+
* - Nothing is written under the install tree, ever (model-cache.ts: modelCacheDir).
|
|
12
|
+
* - `allowDownload: false` (agent hooks) never touches the network: a hook runs on every edit
|
|
13
|
+
* and must not stall the edit on a 20MB download. It throws EmbeddingAssetsMissing instead,
|
|
14
|
+
* which the advisory hook already reports as "could not check" and exits 0.
|
|
15
|
+
*/
|
|
16
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
17
|
+
import { existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
18
|
+
import { createRequire } from 'node:module';
|
|
19
|
+
import { dirname, join } from 'node:path';
|
|
20
|
+
import { MODEL_FILES, MODEL_REVISION, modelDir, modelFileUrl, ORT_VERSION, RUNTIME_LIMITS, RUNTIME_SHA256, runtimeDir, runtimeKey, runtimeUrl, } from './embedding-assets.js';
|
|
21
|
+
import { modelCacheDir } from './model-cache.js';
|
|
22
|
+
import { ensurePrivateDir } from './private-files.js';
|
|
23
|
+
import { extractTar } from './tar-lite.js';
|
|
24
|
+
import { fetchVerified } from './verified-download.js';
|
|
25
|
+
/** The cache is empty and this process may not fill it (hook), or the platform has no runtime. */
|
|
26
|
+
export class EmbeddingAssetsMissing extends Error {
|
|
27
|
+
reason;
|
|
28
|
+
constructor(message, reason) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.reason = reason;
|
|
31
|
+
this.name = 'EmbeddingAssetsMissing';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const MARKER = '.verified';
|
|
35
|
+
function marker(content) {
|
|
36
|
+
return createHash('sha256').update(content).digest('hex');
|
|
37
|
+
}
|
|
38
|
+
/** Every entry under `dir` except the marker, as [relative path, size]. Throws on anything that is
|
|
39
|
+
* not a plain file or directory (a symlink, a device), and on loose ownership or modes. */
|
|
40
|
+
function listTree(dir, rel = '') {
|
|
41
|
+
const out = [];
|
|
42
|
+
const uid = typeof process.getuid === 'function' ? process.getuid() : null;
|
|
43
|
+
for (const name of readdirSync(join(dir, rel))) {
|
|
44
|
+
if (rel === '' && name === MARKER)
|
|
45
|
+
continue;
|
|
46
|
+
const r = rel ? `${rel}/${name}` : name;
|
|
47
|
+
const st = lstatSync(join(dir, r));
|
|
48
|
+
if (st.isSymbolicLink())
|
|
49
|
+
throw new Error(`symlink in cache: ${r}`);
|
|
50
|
+
// POSIX only: a cache entry another user owns, or anyone but the owner may write, is not ours.
|
|
51
|
+
if (uid !== null && (st.uid !== uid || (st.mode & 0o022) !== 0))
|
|
52
|
+
throw new Error(`cache entry not exclusively ours: ${r}`);
|
|
53
|
+
if (st.isDirectory())
|
|
54
|
+
out.push(...listTree(dir, r));
|
|
55
|
+
else if (st.isFile())
|
|
56
|
+
out.push({ rel: r, size: st.size });
|
|
57
|
+
else
|
|
58
|
+
throw new Error(`unexpected file type in cache: ${r}`);
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
/** The marker is not just a flag: it records the digest it was written for AND the exact file list
|
|
63
|
+
* with sizes, so a directory that merely contains a copied `.verified` (a repo's, a shared /tmp's)
|
|
64
|
+
* is not trusted, and neither is one with a file added, swapped for a symlink or resized. It does
|
|
65
|
+
* not re-hash the 46MB (the load runs on every edit hook), so a same-user attacker who preserves
|
|
66
|
+
* sizes is out of scope: that user can edit the CLI itself. `align doctor` re-hashes the model. */
|
|
67
|
+
function writeMarker(dir, digest) {
|
|
68
|
+
const files = listTree(dir).map((f) => [f.rel, f.size]).sort();
|
|
69
|
+
writeFileSync(join(dir, MARKER), `${JSON.stringify({ marker: digest, files })}\n`, { mode: 0o644 });
|
|
70
|
+
}
|
|
71
|
+
function isComplete(dir, expected) {
|
|
72
|
+
try {
|
|
73
|
+
const m = JSON.parse(readFileSync(join(dir, MARKER), 'utf8'));
|
|
74
|
+
if (m.marker !== expected || !Array.isArray(m.files))
|
|
75
|
+
return false;
|
|
76
|
+
const have = listTree(dir).map((f) => [f.rel, f.size]).sort();
|
|
77
|
+
return JSON.stringify(have) === JSON.stringify([...m.files].sort());
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** Windows antivirus and indexers hold freshly written files; a rename then fails with a transient
|
|
84
|
+
* EPERM/EBUSY/EACCES that goes away within moments. */
|
|
85
|
+
function renameWithRetry(from, to) {
|
|
86
|
+
for (let attempt = 0;; attempt++) {
|
|
87
|
+
try {
|
|
88
|
+
renameSync(from, to);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
const code = err.code;
|
|
93
|
+
if (attempt >= 8 || !(code === 'EPERM' || code === 'EBUSY' || code === 'EACCES'))
|
|
94
|
+
throw err;
|
|
95
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 50 * (attempt + 1));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/** Interrupted extractions leave `.tmp-*` siblings (up to ~46MB each). Remove old ones. */
|
|
100
|
+
function sweepStaleTemps(parent) {
|
|
101
|
+
try {
|
|
102
|
+
for (const name of readdirSync(parent)) {
|
|
103
|
+
if (!name.startsWith('.tmp-'))
|
|
104
|
+
continue;
|
|
105
|
+
const st = statSync(join(parent, name));
|
|
106
|
+
if (Date.now() - st.mtimeMs > 3_600_000)
|
|
107
|
+
rmSync(join(parent, name), { recursive: true, force: true });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch { /* nothing to sweep, or a race with another process: both fine */ }
|
|
111
|
+
}
|
|
112
|
+
function tempSibling(target) {
|
|
113
|
+
return join(dirname(target), `.tmp-${process.pid}-${randomBytes(4).toString('hex')}`);
|
|
114
|
+
}
|
|
115
|
+
/** Publish `tmp` as `target`. A concurrent run that got there first wins, provided what it left
|
|
116
|
+
* is complete. A target that exists but is NOT complete (a stale or damaged cache) is replaced,
|
|
117
|
+
* so a bad cache heals on the next run instead of failing every run after it. */
|
|
118
|
+
function publish(tmp, target, expectedMarker) {
|
|
119
|
+
try {
|
|
120
|
+
renameWithRetry(tmp, target);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
if (isComplete(target, expectedMarker)) {
|
|
125
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (!existsSync(target)) {
|
|
129
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
130
|
+
throw err;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
rmSync(target, { recursive: true, force: true });
|
|
135
|
+
renameWithRetry(tmp, target);
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
139
|
+
if (!isComplete(target, expectedMarker))
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export async function ensureRuntime(opts) {
|
|
144
|
+
const env = opts.env ?? process.env;
|
|
145
|
+
const key = runtimeKey(opts.platform, opts.arch, opts.pins?.runtimeSha256);
|
|
146
|
+
if (!key) {
|
|
147
|
+
throw new EmbeddingAssetsMissing(`No on-device embedding runtime is published for ${opts.platform ?? process.platform}-${opts.arch ?? process.arch} ` +
|
|
148
|
+
'(supported: glibc Linux x64/arm64, macOS arm64, Windows x64/arm64).', 'unsupported-platform');
|
|
149
|
+
}
|
|
150
|
+
const root = opts.root ?? modelCacheDir(env, opts.platform ?? process.platform);
|
|
151
|
+
const digest = (opts.pins?.runtimeSha256 ?? RUNTIME_SHA256)[key];
|
|
152
|
+
const target = runtimeDir(root, key);
|
|
153
|
+
const want = marker(digest);
|
|
154
|
+
if (isComplete(target, want))
|
|
155
|
+
return target;
|
|
156
|
+
if (!opts.allowDownload) {
|
|
157
|
+
throw new EmbeddingAssetsMissing(`The on-device embedding runtime (ONNX Runtime ${ORT_VERSION}) is not downloaded yet. Run \`align doctor\` or any local command (for example \`align ask\`) once, outside an agent hook, to fetch it.`, 'not-downloaded');
|
|
158
|
+
}
|
|
159
|
+
opts.notice?.(`Downloading the on-device embedding runtime (ONNX Runtime ${ORT_VERSION}, ${key}), one time...`);
|
|
160
|
+
const tar = await fetchVerified(runtimeUrl(key, env), {
|
|
161
|
+
sha256: digest, maxBytes: RUNTIME_LIMITS.maxTotalBytes, gunzip: true, fetchImpl: opts.fetchImpl,
|
|
162
|
+
});
|
|
163
|
+
ensurePrivateDir(dirname(target));
|
|
164
|
+
sweepStaleTemps(dirname(target));
|
|
165
|
+
const tmp = tempSibling(target);
|
|
166
|
+
try {
|
|
167
|
+
extractTar(tar, tmp, RUNTIME_LIMITS);
|
|
168
|
+
writeMarker(tmp, want);
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
172
|
+
throw err;
|
|
173
|
+
}
|
|
174
|
+
publish(tmp, target, want);
|
|
175
|
+
return target;
|
|
176
|
+
}
|
|
177
|
+
function modelMarker(files) {
|
|
178
|
+
return marker(`${MODEL_REVISION}\n${files.map((f) => `${f.path} ${f.sha256}`).join('\n')}`);
|
|
179
|
+
}
|
|
180
|
+
export async function ensureModel(opts) {
|
|
181
|
+
const env = opts.env ?? process.env;
|
|
182
|
+
const root = opts.root ?? modelCacheDir(env, opts.platform ?? process.platform);
|
|
183
|
+
const target = modelDir(root);
|
|
184
|
+
const files = opts.pins?.modelFiles ?? MODEL_FILES;
|
|
185
|
+
const want = modelMarker(files);
|
|
186
|
+
if (isComplete(target, want))
|
|
187
|
+
return target;
|
|
188
|
+
if (!opts.allowDownload) {
|
|
189
|
+
throw new EmbeddingAssetsMissing('The on-device embedding model is not downloaded yet. Run `align doctor` or any local command (for example `align ask`) once, outside an agent hook, to fetch it.', 'not-downloaded');
|
|
190
|
+
}
|
|
191
|
+
opts.notice?.('Downloading the on-device embedding model (~23MB, Xenova/all-MiniLM-L6-v2), one time...');
|
|
192
|
+
const fetched = [];
|
|
193
|
+
for (const f of files) {
|
|
194
|
+
fetched.push([f, await fetchVerified(modelFileUrl(f, env), { sha256: f.sha256, maxBytes: f.maxBytes, fetchImpl: opts.fetchImpl })]);
|
|
195
|
+
}
|
|
196
|
+
ensurePrivateDir(dirname(target));
|
|
197
|
+
sweepStaleTemps(dirname(target));
|
|
198
|
+
const tmp = tempSibling(target);
|
|
199
|
+
try {
|
|
200
|
+
for (const [f, data] of fetched) {
|
|
201
|
+
const dest = join(tmp, f.path);
|
|
202
|
+
mkdirSync(dirname(dest), { recursive: true, mode: 0o700 });
|
|
203
|
+
// Explicit mode: the default is 0666 minus umask, which is group-writable under umask 002 (Ubuntu's default).
|
|
204
|
+
writeFileSync(dest, data, { mode: 0o644 });
|
|
205
|
+
}
|
|
206
|
+
writeMarker(tmp, want);
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
210
|
+
throw err;
|
|
211
|
+
}
|
|
212
|
+
publish(tmp, target, want);
|
|
213
|
+
return target;
|
|
214
|
+
}
|
|
215
|
+
/** Load the downloaded wrapper by ABSOLUTE path. The JS inside it resolves its own sibling
|
|
216
|
+
* `../bin/...` binding and its bundled onnxruntime-common, so nothing here depends on how, or
|
|
217
|
+
* whether, this package's own node_modules were laid out. */
|
|
218
|
+
export function loadOrt(dir) {
|
|
219
|
+
const entry = join(dir, 'dist', 'index.js');
|
|
220
|
+
if (!existsSync(entry))
|
|
221
|
+
throw new Error(`runtime bundle at ${dir} has no dist/index.js`);
|
|
222
|
+
return createRequire(join(dir, 'package.json'))(entry);
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=embedding-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-runtime.js","sourceRoot":"","sources":["../../src/lib/embedding-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare function gitCaptureSkips(counts: {
|
|
|
11
11
|
scanned: number;
|
|
12
12
|
kept: number;
|
|
13
13
|
rejectedByRationale: number;
|
|
14
|
+
droppedByCap?: number;
|
|
14
15
|
}): CaptureSkip[];
|
|
15
16
|
/**
|
|
16
17
|
* The whole git report, one writer for `align setup` and `align connect git`. `--limit`
|
|
@@ -24,11 +25,13 @@ export declare function gitCaptureReport(counts: {
|
|
|
24
25
|
kept: number;
|
|
25
26
|
rejectedByRationale: number;
|
|
26
27
|
limit: number;
|
|
28
|
+
droppedByCap?: number;
|
|
27
29
|
}): CaptureFetchReport;
|
|
28
30
|
/** Read-only local-git import. The canonical GitFetcher in connector-core is
|
|
29
31
|
* pure; the CLI injects the actual git I/O (log/remote) here. */
|
|
30
32
|
export declare function fetchGitItems(opts: {
|
|
31
33
|
limit: number;
|
|
32
34
|
since?: string;
|
|
35
|
+
keep?: number;
|
|
33
36
|
}): Promise<CaptureFetchResult>;
|
|
34
37
|
//# sourceMappingURL=git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/lib/fetchers/git.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/lib/fetchers/git.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,EAAE,CAmB5I;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClG,GAAG,kBAAkB,CAQrB;AAED;kEACkE;AAClE,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAWvH"}
|
package/dist/lib/fetchers/git.js
CHANGED
|
@@ -10,17 +10,21 @@ import { MECHANICAL_SUBJECT_PREFIXES } from '../commit-shape.js';
|
|
|
10
10
|
* scanned commit into one of those three buckets and nothing else.
|
|
11
11
|
*/
|
|
12
12
|
export function gitCaptureSkips(counts) {
|
|
13
|
-
const
|
|
13
|
+
const capped = counts.droppedByCap ?? 0;
|
|
14
|
+
const mechanical = counts.scanned - counts.kept - counts.rejectedByRationale - capped;
|
|
14
15
|
return [
|
|
16
|
+
...(capped > 0
|
|
17
|
+
? [{ count: capped, detail: 'older commits that state a reason, not imported (a first import keeps the newest; `align connect git --limit` reads further)' }]
|
|
18
|
+
: []),
|
|
15
19
|
...(counts.rejectedByRationale > 0
|
|
16
|
-
? [{ count: counts.rejectedByRationale, detail: '
|
|
20
|
+
? [{ count: counts.rejectedByRationale, detail: 'skipped: commit message states no reason beyond the subject' }]
|
|
17
21
|
: []),
|
|
18
22
|
...(mechanical > 0
|
|
19
23
|
? [{
|
|
20
24
|
count: mechanical,
|
|
21
25
|
// The list is the one the predicate is built from, so the line cannot name a
|
|
22
26
|
// different set than the one that did the rejecting.
|
|
23
|
-
detail: `
|
|
27
|
+
detail: `skipped as housekeeping: mechanical or too-short subject (${MECHANICAL_SUBJECT_PREFIXES.join(', ')})`,
|
|
24
28
|
}]
|
|
25
29
|
: []),
|
|
26
30
|
];
|
|
@@ -47,12 +51,12 @@ export async function fetchGitItems(opts) {
|
|
|
47
51
|
// Read ONCE and hand the commits to the pure GitFetcher, rather than letting it call
|
|
48
52
|
// git again: two reads of a moving history are two different answers, and the scanned
|
|
49
53
|
// and rejected counts have to describe the same read the items came from.
|
|
50
|
-
const { commits, scanned, rejectedByRationale } = await getCommitHistoryDetailed({ limit: opts.limit, ...(opts.since !== undefined ? { from: opts.since } : {}) });
|
|
54
|
+
const { commits, scanned, rejectedByRationale, droppedByCap } = await getCommitHistoryDetailed({ limit: opts.limit, ...(opts.since !== undefined ? { from: opts.since } : {}), ...(opts.keep !== undefined ? { keep: opts.keep } : {}) });
|
|
51
55
|
const items = await new GitFetcher({ getCommitHistory: async () => commits, getRemoteUrl })
|
|
52
56
|
.fetch({ token: '', limit: opts.limit });
|
|
53
57
|
return {
|
|
54
58
|
items,
|
|
55
|
-
report: gitCaptureReport({ scanned, kept: commits.length, rejectedByRationale, limit: opts.limit }),
|
|
59
|
+
report: gitCaptureReport({ scanned, kept: commits.length, rejectedByRationale, limit: opts.limit, droppedByCap }),
|
|
56
60
|
};
|
|
57
61
|
}
|
|
58
62
|
//# sourceMappingURL=git.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/lib/fetchers/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/lib/fetchers/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGjE;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAA6F;IAC3H,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACtF,OAAO;QACL,GAAG,CAAC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,8HAA8H,EAAE,CAAC;YAC7J,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC;YAChC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,6DAA6D,EAAE,CAAC;YAChH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,GAAG,CAAC;YAChB,CAAC,CAAC,CAAC;oBACC,KAAK,EAAE,UAAU;oBACjB,6EAA6E;oBAC7E,qDAAqD;oBACrD,MAAM,EAAE,6DAA6D,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC/G,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAEhC;IACC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,6FAA6F;QAC7F,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK;QACvC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED;kEACkE;AAClE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAsD;IACxF,qFAAqF;IACrF,sFAAsF;IACtF,0EAA0E;IAC1E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,MAAM,wBAAwB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1O,MAAM,KAAK,GAAG,MAAM,IAAI,UAAU,CAAC,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;SACxF,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,OAAO;QACL,KAAK;QACL,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;KAClH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"found-summary.d.ts","sourceRoot":"","sources":["../../src/lib/found-summary.ts"],"names":[],"mappings":"AAeA,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,aAAa,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjF,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F;
|
|
1
|
+
{"version":3,"file":"found-summary.d.ts","sourceRoot":"","sources":["../../src/lib/found-summary.ts"],"names":[],"mappings":"AAeA,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,aAAa,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjF,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F;AAUD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY,CA+BlE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CA2B1D"}
|
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
import { localCitationFor } from './commit-cite.js';
|
|
15
15
|
/** How many decisions the summary names. Five fits a terminal without scrolling. */
|
|
16
16
|
export const FOUND_SUMMARY_MAX = 5;
|
|
17
|
+
/**
|
|
18
|
+
* ALI-1772: subjects that read as housekeeping, not as a choice. The importer keeps them (a
|
|
19
|
+
* docs commit can state a reason), so this only decides what the first-run box SHOWS first.
|
|
20
|
+
* Conventional `type:` / `type(scope):` shapes only, so prose like "document the retry
|
|
21
|
+
* policy" is not demoted; plus git's own Merge subjects (not prose like "Merge the two workers") and a `[DRAFT` / `[WIP` marker.
|
|
22
|
+
*/
|
|
23
|
+
const HOUSEKEEPING_SUBJECT = /^(?:(?:docs|chore|ci|test|style|build)(?:\([^)]*\))?!?:|merge\s+(?:pull request|branch|remote-tracking|tag)\b|\[(?:draft|wip)\b)/i;
|
|
17
24
|
export function buildFoundSummary(db) {
|
|
18
25
|
// The graph total comes from the db's COUNT, never from the length of the page
|
|
19
26
|
// below - those differ by two orders of magnitude on a real repo, and reporting
|
|
@@ -30,7 +37,14 @@ export function buildFoundSummary(db) {
|
|
|
30
37
|
// listDecisions() is already ordered created_at DESC, so the head of it is the
|
|
31
38
|
// recent page. The cap is applied here rather than in the renderer so a caller
|
|
32
39
|
// reading `recent.length` gets the number that will actually be printed.
|
|
33
|
-
|
|
40
|
+
// Housekeeping subjects sort after the rest (stable, so db order holds inside each group)
|
|
41
|
+
// and still fill the sample when too few real changes exist.
|
|
42
|
+
const rows = db.listDecisions();
|
|
43
|
+
const ranked = [
|
|
44
|
+
...rows.filter((r) => !HOUSEKEEPING_SUBJECT.test(r.title)),
|
|
45
|
+
...rows.filter((r) => HOUSEKEEPING_SUBJECT.test(r.title)),
|
|
46
|
+
];
|
|
47
|
+
const recent = ranked.slice(0, FOUND_SUMMARY_MAX).map((row) => {
|
|
34
48
|
const cite = localCitationFor(row.sourceUrl);
|
|
35
49
|
return { title: row.title, ...(cite ? { cite } : {}) };
|
|
36
50
|
});
|
|
@@ -47,8 +61,10 @@ export function renderFoundSummary(s) {
|
|
|
47
61
|
// be a permanent zero beside a real one - the same broken-counter read this ticket
|
|
48
62
|
// removes from `align status`.
|
|
49
63
|
const counts = s.linked > 0
|
|
50
|
-
? ` ${s.total} decisions found, ${s.linked} with connections`
|
|
51
|
-
: ` ${s.total} decisions found`;
|
|
64
|
+
? ` ${s.total} candidate decisions found, ${s.linked} with connections`
|
|
65
|
+
: ` ${s.total} candidate decisions found`;
|
|
66
|
+
// "candidate": the importer keeps commits whose message states a reason. That is a text
|
|
67
|
+
// heuristic, so the box does not claim to know which of them were real decisions.
|
|
52
68
|
const lines = [counts];
|
|
53
69
|
if (s.recent.length > 0) {
|
|
54
70
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"found-summary.js","sourceRoot":"","sources":["../../src/lib/found-summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAuBnC,MAAM,UAAU,iBAAiB,CAAC,EAAkB;IAClD,+EAA+E;IAC/E,gFAAgF;IAChF,uDAAuD;IACvD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;IAEtC,mFAAmF;IACnF,kFAAkF;IAClF,qDAAqD;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,+EAA+E;IAC/E,+EAA+E;IAC/E,yEAAyE;IACzE,
|
|
1
|
+
{"version":3,"file":"found-summary.js","sourceRoot":"","sources":["../../src/lib/found-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/gateway-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/lib/gateway-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoCvD;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAInE,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;2FAGuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;mCAM+B;IAC/B,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,EAAE,CAAC,EAAE;QACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAI3C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAIzE,UAAU,CAAC,EAAE,MAAM,CAAC;QAKpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAG3E,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAE3H,YAAY,CAAC,EAAE,MAAM,CAAC;QAItB,mBAAmB,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAS/D,SAAS,CAAC,EAAE,gBAAgB,CAAC;QAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAGlC,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;KACrC,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,YAAY,GACZ,kBAAkB,GAClB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IAEH,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3E,iDAAiD;IACjD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC7C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE;QACnB,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,KAAK,CAAC;QACxB,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAE7E,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3H,6FAA6F;QAC7F,MAAM,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KACzG,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,SAAS,GAAG,UAAU,CAAC;QACjC,qGAAqG;QACrG,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE;YACT,gBAAgB,EAAE,KAAK,CAAC;gBACtB,EAAE,EAAE,MAAM,CAAC;gBACX,KAAK,EAAE,MAAM,CAAC;gBACd,YAAY,EAAE,MAAM,CAAC;gBACrB,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC,CAAC;SACJ,CAAC;KACH,CAAC,CAAC;CACJ;AAGD,YAAY,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAoB3E,qBAAa,YAAa,SAAQ,KAAK;aACQ,UAAU,EAAE,MAAM;gBAAnD,OAAO,EAAE,MAAM,EAAkB,UAAU,EAAE,MAAM;CAIhE;AAED,iBAAS,sBAAsB,CAAC,GAAG,EAAE,iBAAiB;IAgmBlD,4FAA4F;wBAClE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;wBAI5B,MAAM,GAAG,MAAM;;;;;;cApenB,OAAO,CAAC,MAAM,CAAC;sBAMP,OAAO,CAAC,aAAa,EAAE,CAAC;4BAalB,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;oBAUzC,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;uBAMlC,MAAM,QAAQ,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;0BAK/D,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;2BAMrB,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;uBAoB5E,MAAM,kCAEO,MAAM,WACb;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GACxC,OAAO,CAAC,aAAa,CAAC;2BAOG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAQ,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKxG,mGAAmG;uBAC1E,OAAO,CAAC;QAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAInE;;;;;;;;;;;;;;;OAeG;oBACmB,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG;QAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAWhH;;;;;;;OAOG;IACH;;;;;OAKG;uBAEG,MAAM,UACF;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;6BASnF,MAAM,WACN,UAAU,GAAG,aAAa,SAC5B,MAAM,GACZ,OAAO,CAAC;QACT,OAAO,EAAE,UAAU,GAAG,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;yBAQM,MAAM,YACF,MAAM,SACV;QACJ,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;;;WAMG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO,CAAC,eAAe,CAAC;4BA2BG;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,SAAS,GAAG,YAAY,GAAG,iBAAiB,CAAC;QAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAOlC;;;OAGG;2BAEW,MAAM,WACT,MAAM,uCAEC,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAWnB;;;;OAIG;0BACyB,MAAM,kBAAkB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7E;;;;;;;;;;;;;OAaG;4BAC2B,MAAM,kCAA8B,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQvG,iGAAiG;oCAC3D,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D;;;;;;OAMG;wBACsB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAQ,OAAO,CAAC,eAAe,CAAC;gBA+CjE,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;sCAGb,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;qBAGnE,OAAO,CAAC;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;iCAI9G,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;iBAGtF,OAAO,CAAC;QAAE,cAAc,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;gCAKvE,MAAM,EAAE,WACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;8BAOvD,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;0BASrE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;6BAKtH;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;oBAUvE,OAAO,CAAC,OAAO,EAAE,CAAC;4BAMV,MAAM,oBAAuB,OAAO,CAAC,UAAU,EAAE,CAAC;gCAQzE,MAAM,EAAE,GACZ,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;kBAe3F,OAAO,CAAC,KAAK,EAAE,CAAC;gCAKxB;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;uBAyBjC,OAAO,CAAC,SAAS,EAAE,CAAC;IAI7C;oFACgF;uBACvD,eAAe,EAAE,SAAS;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBlJ;;;;;;OAMG;sBACqB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;EAgBjH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAsBrG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LOCAL_DEFAULT_GATEWAY_URL } from './config.js';
|
|
1
|
+
import { defaultGatewayUrlFor, hasCredential, LOCAL_DEFAULT_GATEWAY_URL } from './config.js';
|
|
2
2
|
import { createLocalGatewayClient } from './local-gateway-client.js';
|
|
3
3
|
import pkg from '../../package.json' with { type: 'json' };
|
|
4
4
|
/**
|
|
@@ -188,9 +188,29 @@ function buildHttpGatewayClient(env) {
|
|
|
188
188
|
throw new Error('Local mode is not set up here. Run `align --local` to create a local decision graph, ' +
|
|
189
189
|
'or pass --env preview / --env prod to use a cloud environment instead.');
|
|
190
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* ALI-1777: a built-in cloud env (prod, preview) at its own default URL with no token
|
|
193
|
+
* means this machine was never set up, which a bare "Gateway returned 401 ... unauthorized"
|
|
194
|
+
* did not say. Thrown before the dial, like the two checks above. A SAVED token the gateway
|
|
195
|
+
* rejects is not this case and still reports the 401. A self-hosted
|
|
196
|
+
* URL (ALIGN_GATEWAY_URL) is left alone: there, no token may be a real request. A tenant with no token is
|
|
197
|
+
* refused by assertAuthenticatedIdentity first. The env is named from the URL, so an ALIGN_GATEWAY_URL
|
|
198
|
+
* pointing a built-in env at the other built-in's URL gets that URL's hint (refusal is still correct).
|
|
199
|
+
*/
|
|
200
|
+
function assertSetUp() {
|
|
201
|
+
if (env.mode !== 'auth' || hasCredential(env))
|
|
202
|
+
return;
|
|
203
|
+
const name = ['prod', 'preview'].find((n) => defaultGatewayUrlFor(n) === gatewayUrl);
|
|
204
|
+
if (!name)
|
|
205
|
+
return;
|
|
206
|
+
throw new Error(name === 'prod'
|
|
207
|
+
? 'Align is not set up on this machine. Run `align` to set it up.'
|
|
208
|
+
: 'Align is not set up for preview on this machine. Run `align login --env preview`.');
|
|
209
|
+
}
|
|
191
210
|
async function request(path, options = {}) {
|
|
192
211
|
assertAuthenticatedIdentity();
|
|
193
212
|
assertLocalModeConfigured();
|
|
213
|
+
assertSetUp();
|
|
194
214
|
const { maxBytes, ...fetchOptions } = options;
|
|
195
215
|
try {
|
|
196
216
|
const res = await fetch(`${gatewayUrl}${path}`, {
|