@veilio-inc/cli 0.9.2 → 0.11.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 +98 -20
- package/dist/args.d.ts +8 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +14 -0
- package/dist/args.js.map +1 -1
- package/dist/client/blocks.d.ts.map +1 -1
- package/dist/client/blocks.js +2 -1
- package/dist/client/blocks.js.map +1 -1
- package/dist/client/fingerprint.d.ts +4 -0
- package/dist/client/fingerprint.d.ts.map +1 -0
- package/dist/client/fingerprint.js +20 -0
- package/dist/client/fingerprint.js.map +1 -0
- package/dist/client/maps.d.ts.map +1 -1
- package/dist/client/maps.js +29 -8
- package/dist/client/maps.js.map +1 -1
- package/dist/client/wording.d.ts +3 -1
- package/dist/client/wording.d.ts.map +1 -1
- package/dist/client/wording.js +10 -2
- package/dist/client/wording.js.map +1 -1
- package/dist/client/wrap-judge.d.ts +30 -0
- package/dist/client/wrap-judge.d.ts.map +1 -0
- package/dist/client/wrap-judge.js +59 -0
- package/dist/client/wrap-judge.js.map +1 -0
- package/dist/cloud-commands.d.ts +21 -1
- package/dist/cloud-commands.d.ts.map +1 -1
- package/dist/cloud-commands.js +342 -5
- package/dist/cloud-commands.js.map +1 -1
- package/dist/cloud.d.ts +5 -1
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +7 -1
- package/dist/cloud.js.map +1 -1
- package/dist/commands.d.ts +3 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +35 -10
- package/dist/commands.js.map +1 -1
- package/dist/flags.d.ts +14 -0
- package/dist/flags.d.ts.map +1 -1
- package/dist/flags.js +40 -0
- package/dist/flags.js.map +1 -1
- package/dist/git-index.d.ts +8 -0
- package/dist/git-index.d.ts.map +1 -0
- package/dist/git-index.js +161 -0
- package/dist/git-index.js.map +1 -0
- package/dist/hashed-bases.d.ts +6 -1
- package/dist/hashed-bases.d.ts.map +1 -1
- package/dist/hashed-bases.js +16 -3
- package/dist/hashed-bases.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -19
- package/dist/index.js.map +1 -1
- package/dist/key-pins.d.ts +46 -0
- package/dist/key-pins.d.ts.map +1 -0
- package/dist/key-pins.js +165 -0
- package/dist/key-pins.js.map +1 -0
- package/dist/reservations.d.ts +6 -4
- package/dist/reservations.d.ts.map +1 -1
- package/dist/reservations.js +19 -21
- package/dist/reservations.js.map +1 -1
- package/dist/staged-blobs.d.ts +21 -0
- package/dist/staged-blobs.d.ts.map +1 -0
- package/dist/staged-blobs.js +150 -0
- package/dist/staged-blobs.js.map +1 -0
- package/dist/store.d.ts +39 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +243 -24
- package/dist/store.js.map +1 -1
- package/dist/team-unlock.d.ts +36 -0
- package/dist/team-unlock.d.ts.map +1 -1
- package/dist/team-unlock.js +25 -1
- package/dist/team-unlock.js.map +1 -1
- package/package.json +2 -2
package/dist/reservations.d.ts
CHANGED
|
@@ -84,7 +84,8 @@ export declare function unissuedNote(placeholders: readonly string[]): string;
|
|
|
84
84
|
export declare function localDroppedNote(n: number): string;
|
|
85
85
|
/**
|
|
86
86
|
* A server's words, safe for a terminal: control characters and Unicode format
|
|
87
|
-
* characters (bidi overrides, zero-width)
|
|
87
|
+
* characters (bidi overrides, zero-width) and the line and paragraph separators
|
|
88
|
+
* become `?` (code review of spec 066; spec 080 review).
|
|
88
89
|
*/
|
|
89
90
|
export declare function printable(text: string): string;
|
|
90
91
|
/**
|
|
@@ -106,10 +107,11 @@ export declare function loadAliases(mapPath: string): SymbolMap;
|
|
|
106
107
|
/**
|
|
107
108
|
* aliases.json, checked like map.json (security audit), and never thrown on
|
|
108
109
|
* (security review of round 1: one bad entry cost teamNumbering every
|
|
109
|
-
* retired placeholder). An entry whose name is not a
|
|
110
|
-
* characters, whose key is not a placeholder, or past the entry bound is
|
|
110
|
+
* retired placeholder). An entry whose name is not a name (isName: 1 to 100000
|
|
111
|
+
* characters, no control or line separator), whose key is not a placeholder, or past the entry bound is
|
|
111
112
|
* dropped and counted in `ignored`; the rest are kept. A file that is not an
|
|
112
|
-
* object of aliases is `unreadable`: no aliases, and never written over.
|
|
113
|
+
* object of aliases is `unreadable`: no aliases, and never written over. The
|
|
114
|
+
* one throw is the store's refusal of a link or a tracked file (spec 085).
|
|
113
115
|
*/
|
|
114
116
|
export declare function readAliases(mapPath: string): {
|
|
115
117
|
aliases: SymbolMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservations.d.ts","sourceRoot":"","sources":["../src/reservations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reservations.d.ts","sourceRoot":"","sources":["../src/reservations.ts"],"names":[],"mappings":"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"}
|
package/dist/reservations.js
CHANGED
|
@@ -6,10 +6,9 @@
|
|
|
6
6
|
// back with only `version`, `map` and `remote`, and would silently drop a field
|
|
7
7
|
// it does not know. Nothing else writes these two files, and only the CLI and
|
|
8
8
|
// the MCP server write them; the guard only reads `reserved.json`.
|
|
9
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
10
9
|
import { randomInt } from 'node:crypto';
|
|
11
10
|
import { basename, dirname, join } from 'node:path';
|
|
12
|
-
import {
|
|
11
|
+
import { isName, openStoreFile, prepareStoreWrite, refuseNonNames, writeStoreFile, } from './store.js';
|
|
13
12
|
import { highestPerKind, isLocalTag, isPlaceholder, isSaneBlock, REDACTION_TOKENS, teamBaseOf, usedInBlock, } from '@veilio-inc/engine';
|
|
14
13
|
export const RESERVED_FILE = 'reserved.json';
|
|
15
14
|
export const ALIASES_FILE = 'aliases.json';
|
|
@@ -33,19 +32,18 @@ export class ReservedFileError extends Error {
|
|
|
33
32
|
const reservedPath = (mapPath) => join(dirname(mapPath), RESERVED_FILE);
|
|
34
33
|
const aliasesPath = (mapPath) => join(dirname(mapPath), ALIASES_FILE);
|
|
35
34
|
function writePrivate(path, value) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
writeFileSync(path, `${JSON.stringify(value, null, 2)}\n`, { mode: 0o600 });
|
|
39
|
-
chmodSync(path, 0o600);
|
|
35
|
+
prepareStoreWrite(basename(path), path);
|
|
36
|
+
writeStoreFile(basename(path), path, `${JSON.stringify(value, null, 2)}\n`);
|
|
40
37
|
}
|
|
41
38
|
/** The member's blocks, or null before any was reserved. A malformed file is refused, never numbered from. */
|
|
42
39
|
export function loadReserved(mapPath) {
|
|
43
40
|
const path = reservedPath(mapPath);
|
|
44
|
-
|
|
41
|
+
const text = openStoreFile(RESERVED_FILE, path);
|
|
42
|
+
if (text === null)
|
|
45
43
|
return null;
|
|
46
44
|
let parsed;
|
|
47
45
|
try {
|
|
48
|
-
parsed = JSON.parse(
|
|
46
|
+
parsed = JSON.parse(text);
|
|
49
47
|
}
|
|
50
48
|
catch {
|
|
51
49
|
throw new ReservedFileError(path, 'it is not valid JSON');
|
|
@@ -184,11 +182,12 @@ export function localDroppedNote(n) {
|
|
|
184
182
|
}
|
|
185
183
|
/**
|
|
186
184
|
* A server's words, safe for a terminal: control characters and Unicode format
|
|
187
|
-
* characters (bidi overrides, zero-width)
|
|
185
|
+
* characters (bidi overrides, zero-width) and the line and paragraph separators
|
|
186
|
+
* become `?` (code review of spec 066; spec 080 review).
|
|
188
187
|
*/
|
|
189
188
|
export function printable(text) {
|
|
190
189
|
// eslint-disable-next-line no-control-regex -- matching them is the point
|
|
191
|
-
return text.replace(/[\u0000-\u001f\u007f-\u009f\p{Cf}]/gu, '?');
|
|
190
|
+
return text.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029\p{Cf}]/gu, '?');
|
|
192
191
|
}
|
|
193
192
|
/** HH:MM on this machine's clock. */
|
|
194
193
|
function localTime(iso) {
|
|
@@ -239,23 +238,25 @@ export function loadAliases(mapPath) {
|
|
|
239
238
|
}
|
|
240
239
|
/** Bounds on aliases.json, far above any real one. */
|
|
241
240
|
const MAX_ALIASES = 1_000_000;
|
|
242
|
-
const MAX_NAME = 100_000;
|
|
243
241
|
/**
|
|
244
242
|
* aliases.json, checked like map.json (security audit), and never thrown on
|
|
245
243
|
* (security review of round 1: one bad entry cost teamNumbering every
|
|
246
|
-
* retired placeholder). An entry whose name is not a
|
|
247
|
-
* characters, whose key is not a placeholder, or past the entry bound is
|
|
244
|
+
* retired placeholder). An entry whose name is not a name (isName: 1 to 100000
|
|
245
|
+
* characters, no control or line separator), whose key is not a placeholder, or past the entry bound is
|
|
248
246
|
* dropped and counted in `ignored`; the rest are kept. A file that is not an
|
|
249
|
-
* object of aliases is `unreadable`: no aliases, and never written over.
|
|
247
|
+
* object of aliases is `unreadable`: no aliases, and never written over. The
|
|
248
|
+
* one throw is the store's refusal of a link or a tracked file (spec 085).
|
|
250
249
|
*/
|
|
251
250
|
export function readAliases(mapPath) {
|
|
252
251
|
const path = aliasesPath(mapPath);
|
|
253
252
|
const none = { aliases: {}, ignored: 0, unreadable: true };
|
|
254
|
-
|
|
253
|
+
// A link or a tracked store is refused, not read as unreadable (spec 085 R1).
|
|
254
|
+
const text = openStoreFile(ALIASES_FILE, path);
|
|
255
|
+
if (text === null)
|
|
255
256
|
return { aliases: {}, ignored: 0 };
|
|
256
257
|
let parsed;
|
|
257
258
|
try {
|
|
258
|
-
parsed = JSON.parse(
|
|
259
|
+
parsed = JSON.parse(text);
|
|
259
260
|
}
|
|
260
261
|
catch {
|
|
261
262
|
return none;
|
|
@@ -269,11 +270,7 @@ export function readAliases(mapPath) {
|
|
|
269
270
|
let kept = 0;
|
|
270
271
|
const aliases = {};
|
|
271
272
|
for (const [p, name] of Object.entries(raw)) {
|
|
272
|
-
if (kept < MAX_ALIASES &&
|
|
273
|
-
typeof name === 'string' &&
|
|
274
|
-
name.length > 0 &&
|
|
275
|
-
name.length <= MAX_NAME &&
|
|
276
|
-
isPlaceholder(p)) {
|
|
273
|
+
if (kept < MAX_ALIASES && isName(name) && isPlaceholder(p)) {
|
|
277
274
|
aliases[p] = name;
|
|
278
275
|
kept++;
|
|
279
276
|
}
|
|
@@ -284,6 +281,7 @@ export function readAliases(mapPath) {
|
|
|
284
281
|
}
|
|
285
282
|
/** Remember renumbered placeholders' old meanings. One old placeholder never gets a second meaning. */
|
|
286
283
|
export function addAliases(mapPath, entries) {
|
|
284
|
+
refuseNonNames(ALIASES_FILE, entries);
|
|
287
285
|
const read = readAliases(mapPath);
|
|
288
286
|
// Written over, an unreadable file would lose every old meaning it holds.
|
|
289
287
|
if (read.unreadable)
|
package/dist/reservations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservations.js","sourceRoot":"","sources":["../src/reservations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reservations.js","sourceRoot":"","sources":["../src/reservations.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,mEAAmE;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EACL,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GAEZ,MAAM,oBAAoB,CAAA;AAE3B,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAE1C,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAA;AAEnE,MAAM,IAAI,GAAG,uBAAuB,CAAA;AAGpC,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAgB/E,MAAM,SAAS,GAAG,CAAC,CAAU,EAAe,EAAE,CAC5C,OAAO,CAAC,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAExF,MAAM,YAAY,GAAG,sCAAsC,CAAA;AAC3D,8EAA8E;AAC9E,MAAM,UAAU,OAAO;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC/F,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,IAAY,EAAE,GAAW;QACnC,KAAK,CACH,GAAG,IAAI,oDAAoD,GAAG,iDAAiD,CAChH,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAA;AAC/E,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AAE7E,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACvC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAC7E,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC/C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,CAAC,GAAG,MAA+B,CAAA;IACzC,IAAI,CAAC,EAAE,OAAO,KAAK,CAAC;QAClB,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACnF,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAU;QACxD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;IAC5F,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,MAAM,IAAI,iBAAiB,CACzB,IAAI,EACJ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CACjE,CAAA;QACH,mFAAmF;QACnF,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,IAAI,sCAAsC,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;QACpD,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAA;IACzE,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAkC,CAAA;QAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAuB,CAAC;YACvD,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAA;QACtE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAA;QAC1E,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;YACnF,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,CAAiB,CAAA;AAC1B,CAAC;AAED,sEAAsE;AACtE,IAAI,UAAU,GAAkB,IAAI,CAAA;AAEpC;4EAC4E;AAC5E,MAAM,UAAU,eAAe;IAC7B,UAAU,GAAG,IAAI,CAAA;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,KAA4D;IAE5D,yEAAyE;IACzE,gEAAgE;IAChE,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAA;IACtB,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QAAE,UAAU,GAAG,IAAI,CAAA;IAClF,IAAI,IAAI,GAAwB,IAAI,CAAA;IACpC,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC,CAAA;IAC5C,IACE,IAAI;QACJ,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAChC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC9B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAE5B,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE;YAC7B,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAA;IACH,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,GAA0C,EAC1C,MAAqB,EACrB,IAAwB;IAExB,IAAI,IAAI,GAAwB,IAAI,CAAA;IACpC,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,IACE,IAAI;QACJ,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ;QAC9B,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO;QAC5B,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAE3C,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA,CAAC,+BAA+B;IAClG,IAAI,IAAI,CAAC,KAAK;QACZ,YAAY,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,CAAC;YACV,GAAG,GAAG;YACN,MAAM;YACN,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;SAC1B,CAAC,CAAA;IACJ,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;AACnD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,CACL,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,+BAA+B;QAC1G,gFAAgF,CACjF,CAAA;AACH,CAAC;AAED;2CAC2C;AAC3C,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,CACL,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,4DAA4D;QACvI,+DAA+D,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,gDAAgD,CACvI,CAAA;AACH,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,YAAY,CAAC,YAA+B;IAC1D,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAA;IACrC,OAAO,CACL,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,iCAAiC;QACvH,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,wCAAwC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,kCAAkC,CACrI,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,+DAA+D;QAC7G,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,iDAAiD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CACjH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,0EAA0E;IAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;AAC9E,CAAC;AAED,qCAAqC;AACrC,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAsD,EACtD,GAAW;IAEX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrD,MAAM,GAAG,GACP,OAAO,CAAC,MAAM,KAAK,KAAK;QACtB,CAAC,CAAC,qDAAqD;YACrD,CAAC,OAAO,CAAC,MAAM;gBACb,CAAC,CAAC,mCAAmC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe;gBAC7E,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC5B,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAA;IAClE,OAAO,CACL,mCAAmC,GAAG,8CAA8C;QACpF,WAAW,GAAG,sEAAsE,CACrF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAsB;IAClE,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAc,EACd,MAA6B,EAC7B,MAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;AACrC,CAAC;AAED,sDAAsD;AACtD,MAAM,WAAW,GAAG,SAAS,CAAA;AAE7B;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IAKzC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAA;IACnE,8EAA8E;IAC9E,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC9C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IACrD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACvF,MAAM,GAAG,GAAI,MAAgC,CAAC,OAAO,IAAI,EAAE,CAAA;IAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9E,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,IAAI,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YACjB,IAAI,EAAE,CAAA;QACR,CAAC;;YAAM,OAAO,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAkB;IAC5D,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,0EAA0E;IAC1E,IAAI,IAAI,CAAC,UAAU;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,sDAAsD,CAAC,CAAA;IACxF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,uCAAuC,YAAY,uBAAuB,CAC/E,CAAA;IACL,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAA;AACzF,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,YAA+B;IAC/D,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAA;IACrC,OAAO,CACL,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,8BAA8B;QACtH,gCAAgC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,kCAAkC,CACtF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,KAAgB;IAEhB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAC9E,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAc,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;IAC7C,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AACpC,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBAAmB,YAAY,kCAAkC,CAAA;AACvH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAA+B;IAC3D,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAA;IACrC,OAAO,CACL,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D;QACjG,+BAA+B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,wDAAwD,CAC3G,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,qDAAqD;AACrD,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1D;qEACqE;AACrE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,YAAY,CAAC,MAAyB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IAC/B,OAAO,CACL,eAAe,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,oBAAoB;QACrF,4FAA4F;QAC5F,4EAA4E,CAC7E,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** A listed file: its mode and object id after the change, and its path. */
|
|
2
|
+
export interface ListedBlob {
|
|
3
|
+
mode: string;
|
|
4
|
+
id: string;
|
|
5
|
+
path: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class BlobsError extends Error {
|
|
8
|
+
}
|
|
9
|
+
/** The entries of a `--raw --no-abbrev --no-renames` listing (core.quotepath on). */
|
|
10
|
+
export declare function parseListing(text: string): ListedBlob[];
|
|
11
|
+
/** The largest text blob scanned: past it the file is "could not check". */
|
|
12
|
+
export declare const MAX_TEXT_BLOB: number;
|
|
13
|
+
/**
|
|
14
|
+
* Read `git cat-file --batch` output as it arrives, and hand each listed text
|
|
15
|
+
* blob to `scan` with its path, one blob at a time. A binary blob keeps no
|
|
16
|
+
* more than its first SNIFF bytes are looked at; a text blob past
|
|
17
|
+
* MAX_TEXT_BLOB keeps nothing and is an error, as is a listed blob the stream
|
|
18
|
+
* lacks or a stream cut short.
|
|
19
|
+
*/
|
|
20
|
+
export declare function scanListedBlobs(listing: ListedBlob[], stream: AsyncIterable<Buffer>, scan: (path: string, text: string) => void): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=staged-blobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staged-blobs.d.ts","sourceRoot":"","sources":["../src/staged-blobs.ts"],"names":[],"mappings":"AAMA,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAKxC,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAYvD;AAsCD,4EAA4E;AAC5E,eAAO,MAAM,aAAa,QAAmB,CAAA;AAI7C;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACzC,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// `veilio scan --blobs <listing>` (spec 085 review round 1): the files a
|
|
2
|
+
// `git diff --raw --no-abbrev` listing names, their content read by object id
|
|
3
|
+
// from `git cat-file --batch` on stdin. The pre-commit hook and the GitHub
|
|
4
|
+
// Action run git; the CLI only reads what git printed, and never a `:<path>`
|
|
5
|
+
// revision, which git would parse (`0:foo` names foo's stage-0 blob).
|
|
6
|
+
export class BlobsError extends Error {
|
|
7
|
+
}
|
|
8
|
+
// `:<old mode> <new mode> <old id> <new id> <status>[score]<TAB><path>`
|
|
9
|
+
const RAW = /^:[0-7]{6} ([0-7]{6}) [0-9a-f]{40,64} ([0-9a-f]{40,64}) [A-Z][0-9]*\t(.+)$/;
|
|
10
|
+
/** The entries of a `--raw --no-abbrev --no-renames` listing (core.quotepath on). */
|
|
11
|
+
export function parseListing(text) {
|
|
12
|
+
const out = [];
|
|
13
|
+
for (const line of text.split('\n')) {
|
|
14
|
+
if (line === '')
|
|
15
|
+
continue;
|
|
16
|
+
const m = RAW.exec(line);
|
|
17
|
+
if (!m)
|
|
18
|
+
throw new BlobsError(`a line of the listing is not git raw diff output: ${JSON.stringify(line.slice(0, 80))}`);
|
|
19
|
+
out.push({ mode: m[1], id: m[2], path: unquote(m[3]) });
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
const ESCAPES = {
|
|
24
|
+
a: 7,
|
|
25
|
+
b: 8,
|
|
26
|
+
t: 9,
|
|
27
|
+
n: 10,
|
|
28
|
+
v: 11,
|
|
29
|
+
f: 12,
|
|
30
|
+
r: 13,
|
|
31
|
+
'"': 34,
|
|
32
|
+
'\\': 92,
|
|
33
|
+
};
|
|
34
|
+
/** A path as git prints it: as is, or C-quoted with octal bytes when it holds
|
|
35
|
+
* a control character, a quote, a backslash or (quotepath) a non-ASCII byte. */
|
|
36
|
+
function unquote(path) {
|
|
37
|
+
if (!path.startsWith('"'))
|
|
38
|
+
return path;
|
|
39
|
+
if (!path.endsWith('"') || path.length < 2)
|
|
40
|
+
throw new BlobsError(`a quoted path does not end: ${path.slice(0, 80)}`);
|
|
41
|
+
const bytes = [];
|
|
42
|
+
const body = path.slice(1, -1);
|
|
43
|
+
for (let i = 0; i < body.length; i++) {
|
|
44
|
+
const c = body[i];
|
|
45
|
+
if (c !== '\\') {
|
|
46
|
+
bytes.push(...Buffer.from(c, 'utf8'));
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const next = body[++i];
|
|
50
|
+
if (next !== undefined && /[0-7]/.test(next)) {
|
|
51
|
+
bytes.push(parseInt(body.slice(i, i + 3), 8));
|
|
52
|
+
i += 2;
|
|
53
|
+
}
|
|
54
|
+
else if (next !== undefined && next in ESCAPES)
|
|
55
|
+
bytes.push(ESCAPES[next]);
|
|
56
|
+
else
|
|
57
|
+
throw new BlobsError(`a quoted path holds an unknown escape: ${path.slice(0, 80)}`);
|
|
58
|
+
}
|
|
59
|
+
return Buffer.from(bytes).toString('utf8');
|
|
60
|
+
}
|
|
61
|
+
/** The largest text blob scanned: past it the file is "could not check". */
|
|
62
|
+
export const MAX_TEXT_BLOB = 16 * 1024 * 1024;
|
|
63
|
+
/** Bytes looked at to tell a binary blob (a NUL among them), as git does. */
|
|
64
|
+
const SNIFF = 8000;
|
|
65
|
+
/**
|
|
66
|
+
* Read `git cat-file --batch` output as it arrives, and hand each listed text
|
|
67
|
+
* blob to `scan` with its path, one blob at a time. A binary blob keeps no
|
|
68
|
+
* more than its first SNIFF bytes are looked at; a text blob past
|
|
69
|
+
* MAX_TEXT_BLOB keeps nothing and is an error, as is a listed blob the stream
|
|
70
|
+
* lacks or a stream cut short.
|
|
71
|
+
*/
|
|
72
|
+
export async function scanListedBlobs(listing, stream, scan) {
|
|
73
|
+
const wanted = new Map();
|
|
74
|
+
for (const e of listing) {
|
|
75
|
+
// A submodule names another repository's commit; a deletion has no blob.
|
|
76
|
+
if (e.mode === '160000' || e.mode === '000000')
|
|
77
|
+
continue;
|
|
78
|
+
wanted.set(e.id, [...(wanted.get(e.id) ?? []), e.path]);
|
|
79
|
+
}
|
|
80
|
+
const seen = new Set();
|
|
81
|
+
let pending = Buffer.alloc(0);
|
|
82
|
+
let blob = null;
|
|
83
|
+
const finish = (b) => {
|
|
84
|
+
const paths = wanted.get(b.id);
|
|
85
|
+
if (!paths)
|
|
86
|
+
return;
|
|
87
|
+
seen.add(b.id);
|
|
88
|
+
if (b.binary)
|
|
89
|
+
return;
|
|
90
|
+
if (b.tooBig)
|
|
91
|
+
throw new BlobsError(`the staged ${JSON.stringify(paths[0])} is larger than 16 MiB, so it could not be checked`);
|
|
92
|
+
const text = Buffer.concat(b.kept).toString('utf8');
|
|
93
|
+
for (const p of paths)
|
|
94
|
+
scan(p, text);
|
|
95
|
+
};
|
|
96
|
+
for await (const chunk of stream) {
|
|
97
|
+
pending = pending.length ? Buffer.concat([pending, chunk]) : chunk;
|
|
98
|
+
for (;;) {
|
|
99
|
+
if (blob) {
|
|
100
|
+
if (blob.left > 0) {
|
|
101
|
+
const take = Math.min(blob.left, pending.length);
|
|
102
|
+
const part = pending.subarray(0, take);
|
|
103
|
+
pending = pending.subarray(take);
|
|
104
|
+
blob.left -= take;
|
|
105
|
+
if (!blob.binary && !blob.tooBig) {
|
|
106
|
+
if (blob.size < SNIFF && part.subarray(0, SNIFF - blob.size).includes(0)) {
|
|
107
|
+
blob.binary = true;
|
|
108
|
+
blob.kept = [];
|
|
109
|
+
}
|
|
110
|
+
else if ((blob.size += part.length) > MAX_TEXT_BLOB) {
|
|
111
|
+
blob.tooBig = true;
|
|
112
|
+
blob.kept = [];
|
|
113
|
+
}
|
|
114
|
+
else
|
|
115
|
+
blob.kept.push(Buffer.from(part));
|
|
116
|
+
}
|
|
117
|
+
if (blob.left > 0)
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
// git writes a LF after each blob's content.
|
|
121
|
+
if (pending.length === 0)
|
|
122
|
+
break;
|
|
123
|
+
if (pending[0] !== 0x0a)
|
|
124
|
+
throw new BlobsError('the blob stream is not `git cat-file --batch` output');
|
|
125
|
+
pending = pending.subarray(1);
|
|
126
|
+
const done = blob;
|
|
127
|
+
blob = null;
|
|
128
|
+
finish(done);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const eol = pending.indexOf(0x0a);
|
|
132
|
+
if (eol === -1)
|
|
133
|
+
break;
|
|
134
|
+
const header = pending.toString('latin1', 0, eol).split(' ');
|
|
135
|
+
pending = pending.subarray(eol + 1);
|
|
136
|
+
if (header[1] === 'missing')
|
|
137
|
+
continue;
|
|
138
|
+
const size = Number(header[2]);
|
|
139
|
+
if (header.length !== 3 || !Number.isSafeInteger(size) || size < 0)
|
|
140
|
+
throw new BlobsError('the blob stream is not `git cat-file --batch` output');
|
|
141
|
+
blob = { id: header[0], left: size, size: 0, kept: [] };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (blob || pending.length > 0)
|
|
145
|
+
throw new BlobsError('the blob stream is cut short or is not `git cat-file --batch` output');
|
|
146
|
+
for (const [id, paths] of wanted)
|
|
147
|
+
if (!seen.has(id))
|
|
148
|
+
throw new BlobsError(`could not read the staged ${JSON.stringify(paths[0])} from git`);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=staged-blobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staged-blobs.js","sourceRoot":"","sources":["../src/staged-blobs.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -29,6 +29,34 @@ export interface StoredMap {
|
|
|
29
29
|
pushedAt?: string;
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
+
/** What a map or aliases.json may restore: 1 to 100000 characters, none of them a control or line separator. */
|
|
33
|
+
export declare function isName(v: unknown): v is string;
|
|
34
|
+
/**
|
|
35
|
+
* Refuses to write a value the store would not read back (review round 1):
|
|
36
|
+
* a map with one would be refused whole on its next read. Refused, not
|
|
37
|
+
* dropped, so a pull never quietly loses a teammate's entry.
|
|
38
|
+
*/
|
|
39
|
+
export declare function refuseNonNames(what: string, map: SymbolMap): void;
|
|
40
|
+
/** A store the CLI will not use: exit 1 in the CLI, a tool error in the MCP server. */
|
|
41
|
+
export declare class StoreRefusal extends Error {
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The one way a store file (map.json, aliases.json, reserved.json) is read
|
|
45
|
+
* (spec 085 R1): its text, or null when there is none. Refused, whatever the
|
|
46
|
+
* file: when `.veilio/` or the file is a link (a cloned repository can commit
|
|
47
|
+
* one to another project's map), and when git tracks `.veilio`, map.json or
|
|
48
|
+
* aliases.json (a map in the repository is not yours to restore from). Git is
|
|
49
|
+
* asked first, so a tracked map is refused even where the file is absent under
|
|
50
|
+
* this spelling. Outside git, or with an index this reader cannot follow, the
|
|
51
|
+
* tracked check cannot answer and the file is read as before.
|
|
52
|
+
*/
|
|
53
|
+
export declare function openStoreFile(what: string, path: string): string | null;
|
|
54
|
+
/**
|
|
55
|
+
* Write a store file as a new file beside it, then rename it into place
|
|
56
|
+
* (spec 085 L2): never written through the file already there, which may be
|
|
57
|
+
* another name for a file elsewhere (a hard link) or another user's.
|
|
58
|
+
*/
|
|
59
|
+
export declare function writeStoreFile(what: string, path: string, text: string): void;
|
|
32
60
|
/**
|
|
33
61
|
* The Cloud provenance recorded alongside the local map, if any.
|
|
34
62
|
*
|
|
@@ -62,6 +90,17 @@ export declare function saveMap(path: string, map: SymbolMap, options?: {
|
|
|
62
90
|
force?: boolean;
|
|
63
91
|
remote?: StoredMap['remote'];
|
|
64
92
|
}): void;
|
|
93
|
+
/**
|
|
94
|
+
* Everything that must hold before a store file is written: neither the store
|
|
95
|
+
* directory nor the file is a link (security audit 2026-11-01: a link a
|
|
96
|
+
* repository committed would put the real names outside the project), and a
|
|
97
|
+
* `.veilio` directory carries a `.gitignore` that keeps it out of git. One
|
|
98
|
+
* there already must be a plain file whose only pattern is `*` (spec 085 L4: a
|
|
99
|
+
* repository can commit its own, which ignores nothing); a missing one is
|
|
100
|
+
* written. It is never rewritten: it may be tracked, and a silent change to a
|
|
101
|
+
* tracked file is worse than a refusal.
|
|
102
|
+
*/
|
|
103
|
+
export declare function prepareStoreWrite(what: string, path: string): void;
|
|
65
104
|
/** Throws when any of `paths` is a link: the store's files are written only
|
|
66
105
|
* where they appear to be (security audit 2026-11-01). */
|
|
67
106
|
export declare function refuseLinks(what: string, ...paths: string[]): void;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9D,OAAO,EAAE,SAAS,EAAE,CAAA;AACpB,eAAO,MAAM,UAAU,aAAa,CAAA;AAEpC;;oCAEoC;AACpC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAepD;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,SAAS,CAAA;IACd;qCACiC;IACjC,OAAO,EAAE,CAAC,CAAA;IACV;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,oDAAoD;QACpD,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAYD,gHAAgH;AAChH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAE9C;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAMjE;AAED,uFAAuF;AACvF,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BvE;AAqDD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAe7E;AAsBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAaxE;AAED;;qEAEqE;AACrE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAiB/C;AAED,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,SAAS,EACd,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;CAAO,GAC9D,IAAI,CAyBN;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA6BlE;AAkCD;2DAC2D;AAC3D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAGlE;AAUD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI9C"}
|