@amalgm/live 0.2.53 → 0.2.55

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.
Files changed (97) hide show
  1. package/PURPOSE.md +17 -0
  2. package/dist/contracts/binding.d.ts +3 -2
  3. package/dist/contracts/binding.d.ts.map +1 -1
  4. package/dist/contracts/deployments.d.ts +39 -0
  5. package/dist/contracts/deployments.d.ts.map +1 -0
  6. package/dist/contracts/deployments.js +75 -0
  7. package/dist/contracts/deployments.js.map +1 -0
  8. package/dist/contracts/index.d.ts +1 -0
  9. package/dist/contracts/index.d.ts.map +1 -1
  10. package/dist/contracts/index.js +1 -0
  11. package/dist/contracts/index.js.map +1 -1
  12. package/dist/detection/adapter-contract.d.ts +0 -33
  13. package/dist/detection/adapter-contract.d.ts.map +1 -1
  14. package/dist/detection/adapter-contract.js +0 -32
  15. package/dist/detection/adapter-contract.js.map +1 -1
  16. package/dist/detection/diff.d.ts +5 -87
  17. package/dist/detection/diff.d.ts.map +1 -1
  18. package/dist/detection/diff.js +5 -111
  19. package/dist/detection/diff.js.map +1 -1
  20. package/dist/detection/enrollment.d.ts +8 -17
  21. package/dist/detection/enrollment.d.ts.map +1 -1
  22. package/dist/detection/enrollment.js +8 -73
  23. package/dist/detection/enrollment.js.map +1 -1
  24. package/dist/detection/index.d.ts +5 -8
  25. package/dist/detection/index.d.ts.map +1 -1
  26. package/dist/detection/index.js +5 -8
  27. package/dist/detection/index.js.map +1 -1
  28. package/dist/detection/territory.d.ts +1 -27
  29. package/dist/detection/territory.d.ts.map +1 -1
  30. package/dist/detection/territory.js +1 -77
  31. package/dist/detection/territory.js.map +1 -1
  32. package/dist/entities/cloud.d.ts +31 -6
  33. package/dist/entities/cloud.d.ts.map +1 -1
  34. package/dist/entities/cloud.js +210 -47
  35. package/dist/entities/cloud.js.map +1 -1
  36. package/dist/entities/graph-head.d.ts +109 -0
  37. package/dist/entities/graph-head.d.ts.map +1 -0
  38. package/dist/entities/graph-head.js +267 -0
  39. package/dist/entities/graph-head.js.map +1 -0
  40. package/dist/entities/index.d.ts +3 -1
  41. package/dist/entities/index.d.ts.map +1 -1
  42. package/dist/entities/index.js +3 -1
  43. package/dist/entities/index.js.map +1 -1
  44. package/dist/entities/rules.js +2 -2
  45. package/dist/entities/rules.js.map +1 -1
  46. package/dist/entities/types.d.ts +3 -0
  47. package/dist/entities/types.d.ts.map +1 -1
  48. package/dist/entities/types.js +3 -0
  49. package/dist/entities/types.js.map +1 -1
  50. package/dist/files/commands.d.ts.map +1 -1
  51. package/dist/files/commands.js +2 -13
  52. package/dist/files/commands.js.map +1 -1
  53. package/dist/registration/user-ground.d.ts +5 -1
  54. package/dist/registration/user-ground.d.ts.map +1 -1
  55. package/dist/registration/user-ground.js +9 -14
  56. package/dist/registration/user-ground.js.map +1 -1
  57. package/dist/transfer/cargo.d.ts +46 -12
  58. package/dist/transfer/cargo.d.ts.map +1 -1
  59. package/dist/transfer/cargo.js +52 -18
  60. package/dist/transfer/cargo.js.map +1 -1
  61. package/dist-cjs/contracts/deployments.js +81 -0
  62. package/dist-cjs/contracts/deployments.js.map +1 -0
  63. package/dist-cjs/contracts/index.js +1 -0
  64. package/dist-cjs/contracts/index.js.map +1 -1
  65. package/dist-cjs/detection/adapter-contract.js +1 -34
  66. package/dist-cjs/detection/adapter-contract.js.map +1 -1
  67. package/dist-cjs/detection/diff.js +5 -113
  68. package/dist-cjs/detection/diff.js.map +1 -1
  69. package/dist-cjs/detection/enrollment.js +9 -75
  70. package/dist-cjs/detection/enrollment.js.map +1 -1
  71. package/dist-cjs/detection/index.js +5 -8
  72. package/dist-cjs/detection/index.js.map +1 -1
  73. package/dist-cjs/detection/territory.js +1 -79
  74. package/dist-cjs/detection/territory.js.map +1 -1
  75. package/dist-cjs/entities/cloud.js +212 -49
  76. package/dist-cjs/entities/cloud.js.map +1 -1
  77. package/dist-cjs/entities/graph-head.js +280 -0
  78. package/dist-cjs/entities/graph-head.js.map +1 -0
  79. package/dist-cjs/entities/index.js +3 -1
  80. package/dist-cjs/entities/index.js.map +1 -1
  81. package/dist-cjs/entities/rules.js +1 -1
  82. package/dist-cjs/entities/rules.js.map +1 -1
  83. package/dist-cjs/entities/types.js +4 -1
  84. package/dist-cjs/entities/types.js.map +1 -1
  85. package/dist-cjs/files/commands.js +1 -12
  86. package/dist-cjs/files/commands.js.map +1 -1
  87. package/dist-cjs/registration/user-ground.js +8 -13
  88. package/dist-cjs/registration/user-ground.js.map +1 -1
  89. package/dist-cjs/transfer/cargo.js +55 -20
  90. package/dist-cjs/transfer/cargo.js.map +1 -1
  91. package/package.json +1 -1
  92. package/dist/detection/continuity.d.ts +0 -54
  93. package/dist/detection/continuity.d.ts.map +0 -1
  94. package/dist/detection/continuity.js +0 -85
  95. package/dist/detection/continuity.js.map +0 -1
  96. package/dist-cjs/detection/continuity.js +0 -88
  97. package/dist-cjs/detection/continuity.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Detection enrollment policies.
2
+ * Detection enrollment policy.
3
3
  *
4
- * Current user ground enrolls everything except structural local state and
5
- * paths excluded by its tracked `.amalgmignore`; `.gitignore` never decides
6
- * Amalgm enrollment. `defaultShouldEnroll` remains only as the older explicit
7
- * registration policy for additive API compatibility. Current portable paths
8
- * already use `/`; a host converts its native separator at the boundary. A
9
- * literal `\\` is therefore preserved as part of a POSIX filename. Both
10
- * policies are pure strings-in/verdict-out and never inspect disk themselves.
4
+ * User ground enrolls everything except structural local state and paths
5
+ * excluded by its tracked `.amalgmignore`; `.gitignore` never decides Amalgm
6
+ * enrollment, and there are no implicit dependency, dotfile, cache, or secret
7
+ * exclusions. Portable paths already use `/`; a host converts its native
8
+ * separator at the boundary. A literal `\\` is therefore preserved as part of
9
+ * a POSIX filename. The policy is pure strings-in/verdict-out and never
10
+ * inspects disk itself.
11
11
  */
12
12
  /** The injected policy shape: relative path in, verdict out. */
13
13
  export type EnrollmentPolicy = (relPath: string) => boolean;
@@ -17,15 +17,6 @@ export type EnrollmentPolicy = (relPath: string) => boolean;
17
17
  export declare const AMALGM_CONTROL_DIRECTORY = ".amalgm";
18
18
  export declare const AMALGM_IGNORE_FILE = ".amalgmignore";
19
19
  export declare const DEFAULT_AMALGM_IGNORE = "/.amalgm/\n";
20
- /**
21
- * Legacy explicit-registration policy retained for additive API compatibility.
22
- * Current user-ground Detect must use {@link createUserGroundEnrollmentPolicy};
23
- * there are no implicit dependency, dotfile, cache, or secret exclusions.
24
- * Both separators are path separators; '' never enrolls.
25
- *
26
- * @deprecated Use `createUserGroundEnrollmentPolicy` for current user ground.
27
- */
28
- export declare const defaultShouldEnroll: EnrollmentPolicy;
29
20
  /**
30
21
  * One normalized spelling for portable enrollment and ignore matching.
31
22
  * Portable relative paths use `/`. Do not reinterpret `\\`: it is a valid,
@@ -1 +1 @@
1
- {"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D;;qEAEqE;AACrE,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,qBAAqB,gBAAoC,CAAC;AAgDvE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;8EAC8E;AAC9E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGjE;AAsDD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,SAAK,GAAG,gBAAgB,CAalF"}
1
+ {"version":3,"file":"enrollment.d.ts","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D;;qEAEqE;AACrE,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,qBAAqB,gBAAoC,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;8EAC8E;AAC9E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGjE;AAsDD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,SAAK,GAAG,gBAAgB,CAalF"}
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Detection enrollment policies.
2
+ * Detection enrollment policy.
3
3
  *
4
- * Current user ground enrolls everything except structural local state and
5
- * paths excluded by its tracked `.amalgmignore`; `.gitignore` never decides
6
- * Amalgm enrollment. `defaultShouldEnroll` remains only as the older explicit
7
- * registration policy for additive API compatibility. Current portable paths
8
- * already use `/`; a host converts its native separator at the boundary. A
9
- * literal `\\` is therefore preserved as part of a POSIX filename. Both
10
- * policies are pure strings-in/verdict-out and never inspect disk themselves.
4
+ * User ground enrolls everything except structural local state and paths
5
+ * excluded by its tracked `.amalgmignore`; `.gitignore` never decides Amalgm
6
+ * enrollment, and there are no implicit dependency, dotfile, cache, or secret
7
+ * exclusions. Portable paths already use `/`; a host converts its native
8
+ * separator at the boundary. A literal `\\` is therefore preserved as part of
9
+ * a POSIX filename. The policy is pure strings-in/verdict-out and never
10
+ * inspects disk itself.
11
11
  */
12
12
  /** The Git-like names at the user-ground boundary. Structural coordination
13
13
  * state is local and cannot be negated by user policy; the ignore file is
@@ -15,71 +15,6 @@
15
15
  export const AMALGM_CONTROL_DIRECTORY = '.amalgm';
16
16
  export const AMALGM_IGNORE_FILE = '.amalgmignore';
17
17
  export const DEFAULT_AMALGM_IGNORE = `/${AMALGM_CONTROL_DIRECTORY}/\n`;
18
- const EXCLUDED_DIRECTORIES = new Set([
19
- '.amalgm',
20
- '.aws',
21
- '.cache',
22
- '.docker',
23
- '.git',
24
- '.gnupg',
25
- '.gradle',
26
- '.hg',
27
- '.kube',
28
- '.mypy_cache',
29
- '.next',
30
- '.nyc_output',
31
- '.parcel-cache',
32
- '.pytest_cache',
33
- '.ruff_cache',
34
- '.ssh',
35
- '.svn',
36
- '.svelte-kit',
37
- '.turbo',
38
- '.venv',
39
- '.vite',
40
- '__pycache__',
41
- 'coverage',
42
- 'node_modules',
43
- ]);
44
- const EXCLUDED_FILES = new Set([
45
- '.DS_Store',
46
- 'Thumbs.db',
47
- 'desktop.ini',
48
- 'npm-debug.log',
49
- 'pnpm-debug.log',
50
- 'yarn-debug.log',
51
- 'yarn-error.log',
52
- ]);
53
- function isPrivateFile(name) {
54
- if (/^\.env(?:\..+)?$/i.test(name) && !/\.example$/i.test(name))
55
- return true;
56
- if (/^(?:credentials?|secrets?)\.(?:json|ya?ml|toml|ini|conf)$/i.test(name))
57
- return true;
58
- if (/^id_(?:dsa|ecdsa|ed25519|rsa)$/i.test(name))
59
- return true;
60
- if (/^(?:\.git-credentials|\.netrc|\.npmrc|\.pypirc|auth\.json|kubeconfig)$/i.test(name))
61
- return true;
62
- if (/^(?:service[-_]?account|firebase[-_]?adminsdk).*\.json$/i.test(name))
63
- return true;
64
- return /\.(?:key|keystore|kdbx|p12|pfx|pem|ppk|tfstate(?:\.backup)?)$/i.test(name);
65
- }
66
- /**
67
- * Legacy explicit-registration policy retained for additive API compatibility.
68
- * Current user-ground Detect must use {@link createUserGroundEnrollmentPolicy};
69
- * there are no implicit dependency, dotfile, cache, or secret exclusions.
70
- * Both separators are path separators; '' never enrolls.
71
- *
72
- * @deprecated Use `createUserGroundEnrollmentPolicy` for current user ground.
73
- */
74
- export const defaultShouldEnroll = (relPath) => {
75
- const parts = normalizedRelativePath(String(relPath || '').replace(/\\/g, '/')).split('/').filter(Boolean);
76
- const name = parts.at(-1);
77
- if (name === undefined || parts.some((part) => EXCLUDED_DIRECTORIES.has(part)))
78
- return false;
79
- if (EXCLUDED_FILES.has(name) || isPrivateFile(name))
80
- return false;
81
- return !name.startsWith('.#') && !name.endsWith('~') && !/\.(?:swp|swo)$/i.test(name);
82
- };
83
18
  /**
84
19
  * One normalized spelling for portable enrollment and ignore matching.
85
20
  * Portable relative paths use `/`. Do not reinterpret `\\`: it is a valid,
@@ -1 +1 @@
1
- {"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;qEAEqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,wBAAwB,KAAK,CAAC;AAEvE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,OAAO;IACP,aAAa;IACb,OAAO;IACP,aAAa;IACb,eAAe;IACf,eAAe;IACf,aAAa;IACb,MAAM;IACN,MAAM;IACN,aAAa;IACb,QAAQ;IACR,OAAO;IACP,OAAO;IACP,aAAa;IACb,UAAU;IACV,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW;IACX,WAAW;IACX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,IAAI,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzF,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,yEAAyE,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtG,IAAI,0DAA0D,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,OAAO,gEAAgE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqB,CAAC,OAAO,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7F,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACzB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AACvF,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,OAAO,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAOD,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAW,CAAC;QAC3C,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,IAAI,CAAC,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,IAAI,CAAC,CAAC;oBACX,UAAU,IAAI,UAAU,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,UAAU,IAAI,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,UAAU,IAAI,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAAU,GAAG,EAAE;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAChG,IAAI,OAAO,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9D,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"enrollment.js","sourceRoot":"","sources":["../../src/detection/enrollment.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Detection — the pure cores that turn observed disk evidence into facts.
3
3
  * Normative sources:
4
- * entity-model.md (identity axioms, the two continuity witnesses) and
4
+ * entity-model.md (identity axioms, the two identity witnesses) and
5
5
  * entity-implementation.md (the ratified seams).
6
6
  *
7
7
  * Everything here is rows and entries in, verdicts out. Walking disk,
@@ -10,15 +10,13 @@
10
10
  * policy) and this layer owns only the laws:
11
11
  *
12
12
  * - `adapter-contract` the seven rails, the ratified detect socket,
13
- * descriptor conviction, the three-state truth
14
- * judgment, the reference adapter
13
+ * and descriptor conviction
15
14
  * - `classify` text/binary from detect's own read evidence
16
15
  * - `refusal` declined-vs-broken, named where it is raised
17
- * - `enrollment` tracked user-ground policy plus legacy compatibility
18
- * - `diff` the compare functions: file/dir/link identity
19
- * - `continuity` root rescue and the undecided address
16
+ * - `enrollment` the tracked user-ground policy
17
+ * - `diff` directory channel identity from inode and address
20
18
  * - `watch-boundary` generation-safe Watch input and coverage output
21
- * - `territory` nearest-repository recorder selection
19
+ * - `territory` nearest-repository ownership, indexed per graph
22
20
  * - `record-proposal` the exact Detect-to-Record contract
23
21
  * - `batch` net-difference planning and Watch settlement
24
22
  * - `content` text/binary/link replay from one captured read
@@ -28,7 +26,6 @@
28
26
  export * from './adapter-contract.js';
29
27
  export * from './batch.js';
30
28
  export * from './classify.js';
31
- export * from './continuity.js';
32
29
  export * from './content.js';
33
30
  export * from './diff.js';
34
31
  export * from './echo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Detection — the pure cores that turn observed disk evidence into facts.
3
3
  * Normative sources:
4
- * entity-model.md (identity axioms, the two continuity witnesses) and
4
+ * entity-model.md (identity axioms, the two identity witnesses) and
5
5
  * entity-implementation.md (the ratified seams).
6
6
  *
7
7
  * Everything here is rows and entries in, verdicts out. Walking disk,
@@ -10,15 +10,13 @@
10
10
  * policy) and this layer owns only the laws:
11
11
  *
12
12
  * - `adapter-contract` the seven rails, the ratified detect socket,
13
- * descriptor conviction, the three-state truth
14
- * judgment, the reference adapter
13
+ * and descriptor conviction
15
14
  * - `classify` text/binary from detect's own read evidence
16
15
  * - `refusal` declined-vs-broken, named where it is raised
17
- * - `enrollment` tracked user-ground policy plus legacy compatibility
18
- * - `diff` the compare functions: file/dir/link identity
19
- * - `continuity` root rescue and the undecided address
16
+ * - `enrollment` the tracked user-ground policy
17
+ * - `diff` directory channel identity from inode and address
20
18
  * - `watch-boundary` generation-safe Watch input and coverage output
21
- * - `territory` nearest-repository recorder selection
19
+ * - `territory` nearest-repository ownership, indexed per graph
22
20
  * - `record-proposal` the exact Detect-to-Record contract
23
21
  * - `batch` net-difference planning and Watch settlement
24
22
  * - `content` text/binary/link replay from one captured read
@@ -28,7 +26,6 @@
28
26
  export * from './adapter-contract.js';
29
27
  export * from './batch.js';
30
28
  export * from './classify.js';
31
- export * from './continuity.js';
32
29
  export * from './content.js';
33
30
  export * from './diff.js';
34
31
  export * from './echo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/detection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1,15 +1,5 @@
1
- /** Nearest-repository ownership for one detected entity transition. */
1
+ /** Nearest-repository ownership, indexed once for a whole graph. */
2
2
  import type { CloudEntityRecord } from '../entities/cloud.js';
3
- import type { EntityReadPort, EntityRow } from '../entities/types.js';
4
- export interface EntityRecorderTarget {
5
- readonly kind: 'entity';
6
- readonly resourceId: string;
7
- }
8
- export interface RepositoryRecorderTarget {
9
- readonly kind: 'repository';
10
- readonly resourceId: string;
11
- }
12
- export type RecorderTarget = EntityRecorderTarget | RepositoryRecorderTarget;
13
3
  export interface RepositoryTerritoryNode {
14
4
  readonly uuid: string;
15
5
  readonly type: CloudEntityRecord['type'];
@@ -29,20 +19,4 @@ export interface RepositoryTerritoryIndex<Node extends RepositoryTerritoryNode>
29
19
  * owner in this index.
30
20
  */
31
21
  export declare function indexRepositoryTerritory<Node extends RepositoryTerritoryNode>(nodes: readonly Node[]): RepositoryTerritoryIndex<Node>;
32
- export interface RecorderTransition {
33
- readonly base: Pick<CloudEntityRecord, 'uuid' | 'type' | 'parentUUID' | 'name' | 'status'> | null;
34
- readonly result: Pick<CloudEntityRecord, 'uuid' | 'type' | 'parentUUID' | 'name' | 'status'>;
35
- }
36
- /** The nearest repo at or above `uuid`; nested repositories win. */
37
- export declare function nearestRepository(uuid: string | null, byUuid: EntityReadPort['byUuid']): EntityRow | null;
38
- /**
39
- * Name every recorder whose state a transition can change.
40
- *
41
- * Ordinary changes outside repository territory publish on the entity UUID.
42
- * A change wholly inside one repository publishes only the repository parcel.
43
- * Crossing a repository boundary also publishes the entity graph transition,
44
- * plus the source and/or destination repositories whose identity maps and
45
- * Checkpoints changed.
46
- */
47
- export declare function recorderTargets(transition: RecorderTransition, byUuid: EntityReadPort['byUuid']): readonly RecorderTarget[];
48
22
  //# sourceMappingURL=territory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"territory.d.ts","sourceRoot":"","sources":["../../src/detection/territory.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,uBAAuB;IAC5E,gFAAgF;IAChF,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,8DAA8D;IAC9D,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,uBAAuB,EAC3E,KAAK,EAAE,SAAS,IAAI,EAAE,GACrB,wBAAwB,CAAC,IAAI,CAAC,CAuChC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAClG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;CAC9F;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC/B,SAAS,GAAG,IAAI,CAYlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC/B,SAAS,cAAc,EAAE,CA+C3B"}
1
+ {"version":3,"file":"territory.d.ts","sourceRoot":"","sources":["../../src/detection/territory.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,uBAAuB;IAC5E,gFAAgF;IAChF,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,8DAA8D;IAC9D,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,uBAAuB,EAC3E,KAAK,EAAE,SAAS,IAAI,EAAE,GACrB,wBAAwB,CAAC,IAAI,CAAC,CAuChC"}
@@ -1,4 +1,4 @@
1
- /** Nearest-repository ownership for one detected entity transition. */
1
+ /** Nearest-repository ownership, indexed once for a whole graph. */
2
2
  /**
3
3
  * Index nearest-repository territory once for a complete or boundary-trimmed
4
4
  * graph. Hosts use this when one scan needs ownership for every row: repeated
@@ -49,80 +49,4 @@ export function indexRepositoryTerritory(nodes) {
49
49
  ownedBy: (repositoryId) => Object.freeze([...(owned.get(repositoryId) ?? [])]),
50
50
  });
51
51
  }
52
- /** The nearest repo at or above `uuid`; nested repositories win. */
53
- export function nearestRepository(uuid, byUuid) {
54
- const seen = new Set();
55
- let cursor = uuid;
56
- while (cursor !== null) {
57
- if (seen.has(cursor))
58
- throw new Error(`registry corrupt: parent cycle at ${cursor}`);
59
- seen.add(cursor);
60
- const row = byUuid(cursor);
61
- if (!row)
62
- throw new Error(`no entity ${cursor}`);
63
- if (row.type === 'repo.git')
64
- return row;
65
- cursor = row.parentUuid;
66
- }
67
- return null;
68
- }
69
- /**
70
- * Name every recorder whose state a transition can change.
71
- *
72
- * Ordinary changes outside repository territory publish on the entity UUID.
73
- * A change wholly inside one repository publishes only the repository parcel.
74
- * Crossing a repository boundary also publishes the entity graph transition,
75
- * plus the source and/or destination repositories whose identity maps and
76
- * Checkpoints changed.
77
- */
78
- export function recorderTargets(transition, byUuid) {
79
- const { base, result } = transition;
80
- if (base !== null && base.uuid !== result.uuid) {
81
- throw new Error('a recorder transition cannot change entity UUID');
82
- }
83
- const before = nearestRepository(base?.parentUUID ?? null, byUuid);
84
- const after = nearestRepository(result.parentUUID, byUuid);
85
- const add = (targets, target) => {
86
- if (!targets.some((candidate) => candidate.resourceId === target.resourceId))
87
- targets.push(target);
88
- };
89
- // Every `.git` boundary starts its own repository rail, even when nested.
90
- // Its enclosing repository changes only when the boundary's graph entry
91
- // changes; ordinary Card/Checkpoint advancement remains on the inner rail.
92
- if (base?.type === 'repo.git' || result.type === 'repo.git') {
93
- const targets = [];
94
- add(targets, {
95
- kind: result.type === 'repo.git' ? 'repository' : 'entity',
96
- resourceId: result.uuid,
97
- });
98
- const boundaryChanged = base === null
99
- || base.type !== result.type
100
- || base.parentUUID !== result.parentUUID
101
- || base.name !== result.name
102
- || base.status !== result.status;
103
- if (boundaryChanged) {
104
- if (before)
105
- add(targets, { kind: 'repository', resourceId: before.uuid });
106
- if (after)
107
- add(targets, { kind: 'repository', resourceId: after.uuid });
108
- }
109
- return Object.freeze(targets);
110
- }
111
- if (base === null) {
112
- return Object.freeze(after
113
- ? [{ kind: 'repository', resourceId: after.uuid }]
114
- : [{ kind: 'entity', resourceId: result.uuid }]);
115
- }
116
- if (before?.uuid === after?.uuid) {
117
- return Object.freeze(before
118
- ? [{ kind: 'repository', resourceId: before.uuid }]
119
- : [{ kind: 'entity', resourceId: result.uuid }]);
120
- }
121
- const targets = [{ kind: 'entity', resourceId: result.uuid }];
122
- for (const repository of [before, after]) {
123
- if (repository)
124
- add(targets, { kind: 'repository', resourceId: repository.uuid });
125
- }
126
- return Object.freeze(targets);
127
- }
128
52
  //# sourceMappingURL=territory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"territory.js","sourceRoot":"","sources":["../../src/detection/territory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"territory.js","sourceRoot":"","sources":["../../src/detection/territory.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAiBpE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9F,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,IAAU,EAAe,EAAE;QAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACrF,MAAM,KAAK,GAAG,MAAM,KAAK,IAAI;YAC3B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACvF,CAAC,CAAC;AACL,CAAC"}
@@ -1,12 +1,19 @@
1
1
  /**
2
2
  * The entity-cloud boundary's pure half (engine
3
3
  * registration/entity-cloud.js): the snapshot codec, record assertions,
4
- * equality, the private resource id, and the repo travel law — only
5
- * logical graph facts, never a path, inode, watcher, or database row.
4
+ * equality, the private resource id, containment selection, and the repo
5
+ * travel law — only logical graph facts, never a path, inode, watcher, or
6
+ * database row.
6
7
  *
7
8
  * Wire parity is the contract here: `stableJson`, record key order, and
8
9
  * snapshot sorting reproduce the engine's bytes exactly, so a snapshot
9
10
  * packed on either side hashes and compares identically.
11
+ *
12
+ * Every ancestor question in this module is answered once per graph, not
13
+ * once per record. A workspace of ~19,000 entities 32 levels deep re-walks
14
+ * the same spine for every record it holds, and that is the difference
15
+ * between a linear pass and a quadratic one. `indexRepositoryTerritory`
16
+ * (src/detection/territory.ts) memoizes the same shape for the same reason.
10
17
  */
11
18
  import { type EntityStatus, type EntityType, type Sha256Hex } from './types.js';
12
19
  /** `@1` could project arbitrary pre-cloud registrations. `@2` omitted the
@@ -51,10 +58,16 @@ export declare function privateEntityResourceId(userId: string, sha256Hex: Sha25
51
58
  /** The one JSON spelling every snapshot comparison and checksum uses. */
52
59
  export declare const stableJson: (value: unknown) => string;
53
60
  export declare const sameRecord: (left: unknown, right: unknown) => boolean;
54
- /** Two record lists describe the same graph (normalized, sorted, compared whole). */
55
- export declare const sameRecords: (left: readonly unknown[], right: readonly unknown[]) => boolean;
56
- /** Every record in `records` appears byte-identically in `expected`. */
57
- export declare function recordsAreSubset(records: readonly unknown[], expected: readonly unknown[]): boolean;
61
+ /** Two record lists describe the same graph (normalized, sorted, compared
62
+ * field by field).
63
+ *
64
+ * Comparing the canonical bytes would answer the same question, but it would
65
+ * spell out both whole graphs to answer one boolean — megabytes of JSON per
66
+ * call at register scale. `assertRecord` guarantees the equivalence: every
67
+ * normalized record carries exactly these eight keys in this order, and every
68
+ * value is `string | null`, never `undefined`. JSON's spelling of a string is
69
+ * injective, so field-wise equality and byte equality decide identically. */
70
+ export declare function sameRecords(left: readonly unknown[], right: readonly unknown[]): boolean;
58
71
  /**
59
72
  * Validate one snapshot record and normalize it (UUIDs lowercased,
60
73
  * transportVersion defaulted to null). Refusals: an invalid shape; a
@@ -102,6 +115,18 @@ export declare function travelingRecords(records: readonly unknown[], sha256Hex:
102
115
  /** Normalize records into the one canonical snapshot: asserted, sorted by
103
116
  * uuid, duplicates refused. */
104
117
  export declare function snapshotFromRecords(records: readonly unknown[]): CloudSnapshot;
118
+ /** One complete subtree of an already-normalized record list: `rootUuid` and
119
+ * everything that descends from it, in the order it arrived.
120
+ *
121
+ * Containment is reachability down child edges, so it is answered by one
122
+ * walk over one child index — not by sweeping the whole graph until a fixed
123
+ * point stops moving. Records sorted by UUID arrive in no useful tree order,
124
+ * so a sweep adds roughly one level per pass and pays the graph's full depth
125
+ * in whole-list scans. Reachability is the whole law, exactly as a sweep
126
+ * decided it: a record in a cycle the root cannot reach stays out, and a
127
+ * record whose named parent is the root itself stays in even when no record
128
+ * for that root is present. */
129
+ export declare function containedRecords(records: readonly CloudEntityRecord[], rootUuid: string): readonly CloudEntityRecord[];
105
130
  /** Build the complete, self-contained root replacement carried by cold
106
131
  * Register. Every declared root must be present, every record must descend
107
132
  * from one of those roots inside this same operation, and active slots must
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/entities/cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/entities/cloud.ts"],"names":[],"mappings":"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"}