@amalgm/live 0.2.81-main.43088917913 → 0.2.81-main.43165964618

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 (86) hide show
  1. package/PURPOSE.md +10 -5
  2. package/dist/detection/package-proposal.d.ts +3 -3
  3. package/dist/detection/package-proposal.d.ts.map +1 -1
  4. package/dist/detection/package-proposal.js +1 -1
  5. package/dist/detection/package-proposal.js.map +1 -1
  6. package/dist/detection/record-proposal.d.ts +1 -1
  7. package/dist/detection/record-proposal.d.ts.map +1 -1
  8. package/dist/drive/contracts.d.ts +21 -6
  9. package/dist/drive/contracts.d.ts.map +1 -1
  10. package/dist/drive/contracts.js.map +1 -1
  11. package/dist/drive/drive.d.ts +2 -2
  12. package/dist/drive/drive.d.ts.map +1 -1
  13. package/dist/drive/drive.js +13 -11
  14. package/dist/drive/drive.js.map +1 -1
  15. package/dist/drive/listing.d.ts +6 -10
  16. package/dist/drive/listing.d.ts.map +1 -1
  17. package/dist/drive/listing.js +31 -30
  18. package/dist/drive/listing.js.map +1 -1
  19. package/dist/drive/map-index.d.ts +47 -14
  20. package/dist/drive/map-index.d.ts.map +1 -1
  21. package/dist/drive/map-index.js +111 -28
  22. package/dist/drive/map-index.js.map +1 -1
  23. package/dist/drive/where.d.ts +29 -14
  24. package/dist/drive/where.d.ts.map +1 -1
  25. package/dist/drive/where.js +53 -31
  26. package/dist/drive/where.js.map +1 -1
  27. package/dist/entities/accepted-view.d.ts +64 -0
  28. package/dist/entities/accepted-view.d.ts.map +1 -0
  29. package/dist/entities/accepted-view.js +221 -0
  30. package/dist/entities/accepted-view.js.map +1 -0
  31. package/dist/entities/cloud.d.ts +18 -22
  32. package/dist/entities/cloud.d.ts.map +1 -1
  33. package/dist/entities/cloud.js +28 -28
  34. package/dist/entities/cloud.js.map +1 -1
  35. package/dist/entities/graph-head.d.ts +22 -73
  36. package/dist/entities/graph-head.d.ts.map +1 -1
  37. package/dist/entities/graph-head.js +30 -160
  38. package/dist/entities/graph-head.js.map +1 -1
  39. package/dist/entities/graph-pages.d.ts +123 -0
  40. package/dist/entities/graph-pages.d.ts.map +1 -0
  41. package/dist/entities/graph-pages.js +239 -0
  42. package/dist/entities/graph-pages.js.map +1 -0
  43. package/dist/entities/index.d.ts +6 -1
  44. package/dist/entities/index.d.ts.map +1 -1
  45. package/dist/entities/index.js +6 -1
  46. package/dist/entities/index.js.map +1 -1
  47. package/dist/entities/package-pages.d.ts +5 -4
  48. package/dist/entities/package-pages.d.ts.map +1 -1
  49. package/dist/entities/package-pages.js +11 -15
  50. package/dist/entities/package-pages.js.map +1 -1
  51. package/dist/history/version.d.ts +1 -1
  52. package/dist/history/version.d.ts.map +1 -1
  53. package/dist/records/contracts.js +3 -3
  54. package/dist/records/contracts.js.map +1 -1
  55. package/dist/transfer/artifacts.d.ts +1 -1
  56. package/dist/transfer/artifacts.d.ts.map +1 -1
  57. package/dist/transfer/upload.js +1 -1
  58. package/dist/transfer/upload.js.map +1 -1
  59. package/dist-cjs/detection/package-proposal.js +1 -1
  60. package/dist-cjs/detection/package-proposal.js.map +1 -1
  61. package/dist-cjs/drive/contracts.js.map +1 -1
  62. package/dist-cjs/drive/drive.js +13 -11
  63. package/dist-cjs/drive/drive.js.map +1 -1
  64. package/dist-cjs/drive/listing.js +30 -29
  65. package/dist-cjs/drive/listing.js.map +1 -1
  66. package/dist-cjs/drive/map-index.js +111 -28
  67. package/dist-cjs/drive/map-index.js.map +1 -1
  68. package/dist-cjs/drive/where.js +54 -30
  69. package/dist-cjs/drive/where.js.map +1 -1
  70. package/dist-cjs/entities/accepted-view.js +225 -0
  71. package/dist-cjs/entities/accepted-view.js.map +1 -0
  72. package/dist-cjs/entities/cloud.js +30 -30
  73. package/dist-cjs/entities/cloud.js.map +1 -1
  74. package/dist-cjs/entities/graph-head.js +29 -167
  75. package/dist-cjs/entities/graph-head.js.map +1 -1
  76. package/dist-cjs/entities/graph-pages.js +257 -0
  77. package/dist-cjs/entities/graph-pages.js.map +1 -0
  78. package/dist-cjs/entities/index.js +6 -1
  79. package/dist-cjs/entities/index.js.map +1 -1
  80. package/dist-cjs/entities/package-pages.js +12 -16
  81. package/dist-cjs/entities/package-pages.js.map +1 -1
  82. package/dist-cjs/records/contracts.js +4 -4
  83. package/dist-cjs/records/contracts.js.map +1 -1
  84. package/dist-cjs/transfer/upload.js +2 -2
  85. package/dist-cjs/transfer/upload.js.map +1 -1
  86. package/package.json +4 -4
package/PURPOSE.md CHANGED
@@ -506,11 +506,16 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
506
506
  Outbox mutation.
507
507
 
508
508
  42. **The registry graph is immutable pages, and its head is the snapshot.**
509
- A page is one root's UUID-sorted records serialized canonically under a
510
- fixed byte budget, identified by the hash of its own bytes, and stored as
511
- ordinary immutable content. The head names each root's ordered pages and
512
- nothing else; its checksum proves the head bytes, never a reassembled
513
- record list. A publication rebuilds only roots it walked and carries every
509
+ A root has two page lists: its records in (parentUUID, uuid) order, so a
510
+ folder's children lie together, and a parent index of [uuid, parentUUID]
511
+ pairs in uuid order. Each page is a contiguous slice serialized
512
+ canonically under a fixed byte budget, identified by the hash of its own
513
+ bytes, and stored as ordinary immutable content. The head names each
514
+ root's ordered pages and each page's first key, and nothing else, so a
515
+ reader picks the pages one folder or one entity needs from the head
516
+ alone; its checksum proves the head bytes, never a reassembled record
517
+ list. A reader proves each page it reads and believes the head for the
518
+ rest. A publication rebuilds only roots it walked and carries every
514
519
  other root's committed page list forward byte-identically. The authority
515
520
  verifies every replaced root from its pages and requires unchanged roots
516
521
  to match the committed head exactly. A first head over a records-shaped
@@ -15,14 +15,14 @@
15
15
  * every change to an existing entity stay ordinary records. A package takes
16
16
  * its anchor's place in the order, so cause still precedes effect.
17
17
  */
18
- import type { GraphPage } from '../entities/graph-head.js';
18
+ import type { RecordPage } from '../entities/graph-pages.js';
19
19
  import { type Sha256Hex } from '../entities/types.js';
20
20
  import { type Steps } from '../steps.js';
21
21
  import { type DetectedChangeProposal } from './record-proposal.js';
22
22
  export interface PackageProposal {
23
23
  readonly proposal: DetectedChangeProposal;
24
24
  /** The pages the proposal names, with their bytes, for upload. */
25
- readonly pages: readonly GraphPage[];
25
+ readonly pages: readonly RecordPage[];
26
26
  }
27
27
  /** The package that creates `anchorId` with every record of its new
28
28
  * subtree, `records` holding the anchor's own result too. */
@@ -32,7 +32,7 @@ export interface PackagedProposals {
32
32
  /** What to record, in order: each package in its anchor's place. */
33
33
  readonly proposals: readonly DetectedChangeProposal[];
34
34
  /** Every page the packages name, with its bytes. */
35
- readonly pages: readonly GraphPage[];
35
+ readonly pages: readonly RecordPage[];
36
36
  }
37
37
  /** Detect's proposals with each new subtree packaged (see the rule above). */
38
38
  export declare function packageProposalsSteps(proposals: readonly DetectedChangeProposal[], sha256Hex: Sha256Hex): Steps<PackagedProposals>;
@@ -1 +1 @@
1
- {"version":3,"file":"package-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/package-proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED;6DAC6D;AAC7D,wBAAiB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,SAAS,EAAE,SAAS,GACnB,KAAK,CAAC,eAAe,CAAC,CAmBxB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,SAAS,EAAE,SAAS,GACnB,eAAe,CAEjB;AAED,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED,8EAA8E;AAC9E,wBAAiB,qBAAqB,CACpC,SAAS,EAAE,SAAS,sBAAsB,EAAE,EAC5C,SAAS,EAAE,SAAS,GACnB,KAAK,CAAC,iBAAiB,CAAC,CA8C1B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,sBAAsB,EAAE,EAC5C,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAEnB"}
1
+ {"version":3,"file":"package-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/package-proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED;6DAC6D;AAC7D,wBAAiB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,SAAS,EAAE,SAAS,GACnB,KAAK,CAAC,eAAe,CAAC,CAmBxB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,SAAS,EAAE,SAAS,GACnB,eAAe,CAEjB;AAED,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACtD,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,8EAA8E;AAC9E,wBAAiB,qBAAqB,CACpC,SAAS,EAAE,SAAS,sBAAsB,EAAE,EAC5C,SAAS,EAAE,SAAS,GACnB,KAAK,CAAC,iBAAiB,CAAC,CA8C1B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,sBAAsB,EAAE,EAC5C,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAEnB"}
@@ -26,7 +26,7 @@ export function* packageProposalSteps(anchorId, records, sha256Hex) {
26
26
  const pages = yield* packagePagesSteps(anchorId, records, sha256Hex);
27
27
  let result;
28
28
  for (const page of pages)
29
- result ??= page.records.find((record) => record.uuid === anchorId.toLowerCase());
29
+ result ??= page.items.find((record) => record.uuid === anchorId.toLowerCase());
30
30
  const anchor = assertRecord(result);
31
31
  const replay = { kind: 'package', pages: Object.freeze(pages.map((page) => page.ref)) };
32
32
  const proposal = Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"package-proposal.js","sourceRoot":"","sources":["../../src/detection/package-proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-proposal.js","sourceRoot":"","sources":["../../src/detection/package-proposal.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  import { type CloudEntityRecord } from '../entities/cloud.js';
11
11
  import { type ConstructType } from '../entities/types.js';
12
12
  import { type ContentManifest } from '../contracts/content.js';
13
- import type { GraphPageRef } from '../entities/graph-head.js';
13
+ import type { GraphPageRef } from '../entities/graph-pages.js';
14
14
  import { type TransferArtifact } from '../transfer/artifacts.js';
15
15
  /** One proposal contract for both authors; `origin` says which. `@6` results
16
16
  * carry an ordinary file's size and a link's target (null on every other
@@ -1 +1 @@
1
- {"version":3,"file":"record-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAElC;;8EAE8E;AAC9E,eAAO,MAAM,wBAAwB,sCAAsC,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;AAEtD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAED;8EAC8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED;wEACwE;AACxE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC;AAED,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,UAAU,GACV,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,wBAAwB,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAED;sEACsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAID;;+DAE+D;AAC/D,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,GACxB,SAAS,gBAAgB,EAAE,CAQ7B;AAED,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAElE;;wEAEwE;AACxE,wBAAgB,SAAS,CACvB,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GAClE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAY7E;AAED;kEACkE;AAClE,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE3E;AA0CD,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAQhG;AA6ID;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,GACzB,sBAAsB,GAAG,IAAI,CAiB/B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,sBAAsB,GAC5B,sBAAsB,GAAG,IAAI,CAO/B"}
1
+ {"version":3,"file":"record-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"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"}
@@ -36,13 +36,28 @@ export interface MapEntity {
36
36
  }
37
37
  /** One root's map, and what this computer has placed of it. The host
38
38
  * chooses which accepted graph it shows; it must never list a newer result
39
- * than the bytes it would place for it. */
39
+ * than the bytes it would place for it. The map reads a container's children
40
+ * when the drive enters it, so a look costs the containers it goes through,
41
+ * never the whole root. */
40
42
  export interface MapPort {
41
43
  /** The root this map stands over. */
42
44
  root(): MapEntity;
43
- /** Every child of a container, any status. The drive lists active ones. */
45
+ /** Reads a container's children whole, so `children` and `holders` answer
46
+ * for it from then on, and says whether the map holds the container: false
47
+ * when a change took it away before its children were read, so it has
48
+ * none. The drive enters each container before it reads beneath it;
49
+ * entering one already entered costs nothing. The children are the
50
+ * container's at the map's own position, so no change the map accepts is
51
+ * lost between reading them and answering for them. A container's version
52
+ * moves with membership only where its children are read: an entered
53
+ * container shows the membership version of the children it lists, and
54
+ * one never entered its record's. */
55
+ enter(parentUUID: string): Promise<boolean>;
56
+ /** Every child of an entered container, any status; none of any other.
57
+ * The drive lists active ones. */
44
58
  children(parentUUID: string): readonly MapEntity[];
45
- /** The children holding exactly this name, any status. */
59
+ /** The children of an entered container holding exactly this name, any
60
+ * status; none of any other. */
46
61
  holders(parentUUID: string, name: string): readonly MapEntity[];
47
62
  /** Whether this computer holds the entity: it has admitted a row for it,
48
63
  * so the shelf speaks for it from then on, whether its ground stands there
@@ -71,9 +86,9 @@ export interface Root {
71
86
  * computer holds it, and its shelf. It is what a look at the reference
72
87
  * itself needs, a stat of it or a listing of the folder it stands in, so a
73
88
  * host answers it from the root's own record, never its whole map, until
74
- * the root is entered. From then its entity is the entered map's root, so
75
- * the version a stat shows moves with every name a listing inside shows: a
76
- * record's version never moves with membership, which is never a record. */
89
+ * the root is entered. From then its entity is the entered map's root, whose
90
+ * version moves with membership once the drive lists inside it
91
+ * (`MapPort.enter`). */
77
92
  export interface Top {
78
93
  readonly uuid: string;
79
94
  readonly entity: MapEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/drive/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEvF;;kBAEkB;AAClB,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;qEACiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;2CAE2C;AAC3C,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,IAAI,IAAI,SAAS,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CAAC;IACnD,0DAA0D;IAC1D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CAAC;IAChE;;;;4EAIwE;IACxE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;mCACmC;AACnC,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,GAAG,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IACzC,8EAA8E;IAC9E,KAAK,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC7D;AAED;;oEAEoE;AACpE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED;;;;;;4EAM4E;AAC5E,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;;sBAGkB;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;8EAE0E;IAC1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC3C;;gCAE4B;IAC5B,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED;;+BAE+B;AAC/B,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;cAWc;AACd,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED;;oDAEoD;AACpD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;;mEAMmE;AACnE,MAAM,WAAW,YAAY;IAC3B;2DACuD;IACvD,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC;oCACgC;IAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD;uCACmC;IACnC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE;AAED;;;;;0DAK0D;AAC1D,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;gCAGgC;AAChC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;gFAgBgF;AAChF,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED;;;;;2DAK2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;iEACiE;AACjE,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;sEACkE;IAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,MAAkB;IAQ/F;sDACkD;IAClD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU;CAQpD;AAMD;;wEAEwE;AACxE,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD,wEAAwE;AACxE,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/drive/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/drive/contracts.ts"],"names":[],"mappings":"AAqOA;iEACiE;AACjE,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAuB;IACpC,oCAAoC;IAC3B,IAAI,CAAO;IACpB;sEACkE;IACzD,MAAM,CAAS;IAExB,YAAY,IAA0B,EAAE,OAAe,EAAE,IAAU,EAAE,SAAiB,IAAI,CAAC,IAAI;QAC7F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;sDACkD;IAClD,MAAM,CAAC,IAAI,CAAC,KAAc,EAAE,IAAU;QACpC,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAkC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjH,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAA4B,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC;CACF;AAED,MAAM,aAAa,GAAwB,IAAI,GAAG,CAChD,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAkC,CACrE,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/drive/contracts.ts"],"names":[],"mappings":"AAoPA;iEACiE;AACjE,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAuB;IACpC,oCAAoC;IAC3B,IAAI,CAAO;IACpB;sEACkE;IACzD,MAAM,CAAS;IAExB,YAAY,IAA0B,EAAE,OAAe,EAAE,IAAU,EAAE,SAAiB,IAAI,CAAC,IAAI;QAC7F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;sDACkD;IAClD,MAAM,CAAC,IAAI,CAAC,KAAc,EAAE,IAAU;QACpC,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAkC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjH,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAA4B,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC;CACF;AAED,MAAM,aAAa,GAAwB,IAAI,GAAG,CAChD,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAkC,CACrE,CAAC"}
@@ -49,8 +49,8 @@ export declare class Drive {
49
49
  * A directory is empty only when the drive shows nothing in it, whatever
50
50
  * its shelf holds: a placed folder's directory stands empty on the shelf
51
51
  * while its children wait on the map, and removing it would remove them.
52
- * 'not-empty', placing nothing, when a listing here shows an entry or a
53
- * door; otherwise as `change`. The shelf's own names the host's removal
52
+ * 'not-empty', placing nothing, when a listing here shows an entry;
53
+ * otherwise as `change`. The shelf's own names the host's removal
54
54
  * meets for itself. */
55
55
  vacate(path: readonly string[]): Promise<Touched | 'not-empty' | null>;
56
56
  /** Whether a removal may happen at this address, placing nothing: false
@@ -1 +1 @@
1
- {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/drive/drive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../src/drive/drive.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  * shows, and the one effect, a touch, that makes the shelf whole at an
4
4
  * address before an ordinary operation runs there.
5
5
  *
6
- * Looking, listing and stat never place, except at a door: an unplaced
7
- * repository's `.git`, which only the shelf can describe. Every operation that opens, reads,
6
+ * Looking, listing and stat never place, except inside an unplaced
7
+ * repository's `.git`, whose names only the shelf holds; `.git` itself the
8
+ * map answers as the repository's Git directory. Every operation that opens, reads,
8
9
  * writes, renames, removes, changes or follows an address touches it first,
9
10
  * and a creation touches the address it creates at, so its ancestors stand.
10
11
  * After a touch the shelf speaks, and the host does what it would do on any
@@ -63,8 +64,8 @@ export class Drive {
63
64
  * A directory is empty only when the drive shows nothing in it, whatever
64
65
  * its shelf holds: a placed folder's directory stands empty on the shelf
65
66
  * while its children wait on the map, and removing it would remove them.
66
- * 'not-empty', placing nothing, when a listing here shows an entry or a
67
- * door; otherwise as `change`. The shelf's own names the host's removal
67
+ * 'not-empty', placing nothing, when a listing here shows an entry;
68
+ * otherwise as `change`. The shelf's own names the host's removal
68
69
  * meets for itself. */
69
70
  async vacate(path) {
70
71
  const before = await this.judged(path);
@@ -232,7 +233,7 @@ export class Drive {
232
233
  if (unit?.uuid !== at.entity.uuid)
233
234
  return null;
234
235
  const root = await rootOf(this.ports.roots, at.root);
235
- if (root === null || !outsideRepositories(root.map, at.address))
236
+ if (root === null || !await outsideRepositories(root.map, at.address))
236
237
  return null;
237
238
  return { unit, root, entity: at.entity };
238
239
  }
@@ -240,7 +241,7 @@ export class Drive {
240
241
  * alone in its slot, so its leaving moves no sibling's address. */
241
242
  async leavable(at) {
242
243
  const found = await this.own(at);
243
- return found !== null && aloneInSlot(found.root.map, found.entity) ? found : null;
244
+ return found !== null && await aloneInSlot(found.root.map, found.entity) ? found : null;
244
245
  }
245
246
  /** A file of its own and the content it lists, or null: a folder or a
246
247
  * link comes down with none of its bytes, and the host changes it on the
@@ -292,9 +293,9 @@ export class Drive {
292
293
  if (at.kind === 'shelf' && root.shelf.names(at.address) === null)
293
294
  return null;
294
295
  const address = [...at.address, name];
295
- const top = at.address.length === 0 ? name : childAt(root.map, root.map.root().uuid, at.address[0])?.name;
296
- if (top === undefined || !freeName(root.map, parent.uuid, name, unit.uuid) || root.shelf.has(address)
297
- || !outsideRepositories(root.map, at.address) || (root.uuid === this.ports.roots.home.uuid && placedAtHome(top, address.length > 1))
296
+ const top = at.address.length === 0 ? name : (await childAt(root.map, root.map.root().uuid, at.address[0]))?.name;
297
+ if (top === undefined || !await freeName(root.map, parent.uuid, name, unit.uuid) || root.shelf.has(address)
298
+ || !await outsideRepositories(root.map, at.address) || (root.uuid === this.ports.roots.home.uuid && placedAtHome(top, address.length > 1))
298
299
  || addressOnly(this.ports.roots, to, { root: root.uuid, address }))
299
300
  return null;
300
301
  return { parentUUID: parent.uuid, name, address };
@@ -337,8 +338,9 @@ function unnamed(at) {
337
338
  function noFolder(at) {
338
339
  return at.kind === 'nowhere' ? 'nowhere' : at.kind === 'notdir' ? 'not-directory' : null;
339
340
  }
340
- /** Whether a listing shows anything beside the shelf's own names. */
341
+ /** Whether a listing shows anything beside the shelf's own names, which the
342
+ * host's own removal meets for itself. */
341
343
  function shows(listed) {
342
- return listed.kind === 'entries' && (listed.entries.length > 0 || listed.doors.length > 0);
344
+ return listed.kind === 'entries' && listed.entries.length > 0;
343
345
  }
344
346
  //# sourceMappingURL=drive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/drive/drive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAyB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,GAChF,MAAM,YAAY,CAAC;AA8DpB,MAAM,OAAO,KAAK;IAGa;IAFZ,UAAU,CAAa;IAExC,YAA6B,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAuB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAuB;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;8CAG0C;IAC1C,KAAK,CAAC,KAAK,CAAC,IAAuB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;sDAMkD;IAClD,KAAK,CAAC,MAAM,CAAC,IAAuB;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;2BAMuB;IACvB,KAAK,CAAC,MAAM,CAAC,IAAuB;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;8CAC0C;IAC1C,KAAK,CAAC,SAAS,CAAC,IAAuB;QACrC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;yCAQqC;IACrC,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,EAAwB;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,KAAK,GAAG,KAAK,IAAsB,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EACvE,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAC7E,CAAC;IACJ,CAAC;IAED;;;;oEAIgE;IACxD,KAAK,CAAC,OAAO,CAAC,IAAuB,EAAE,EAAwB,EAAE,EAAS;QAChF,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC;YACrF,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED;;;;;;;;;;;0BAWsB;IACtB,KAAK,CAAC,IAAI,CAAC,IAAuB,EAAE,EAAqB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9G,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAC9F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,CACvE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;oDAYgD;IAChD,KAAK,CAAC,IAAI,CAAC,IAAuB,EAAE,IAAY;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EACnE,KAAK,EAAC,KAAK,EAAC,EAAE;YACZ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7G,OAAO,IAAI,CAAC;QACd,CAAC,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;oDAMgD;IAChD,KAAK,CAAC,IAAI,CAAC,IAAuB,EAAE,IAA2B;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAC9D,KAAK,EAAC,KAAK,EAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CACrG,CAAC;IACJ,CAAC;IAED;;;;;;;+DAO2D;IACnD,KAAK,CAAC,KAAK,CAAC,IAAW,EAAE,EAAqB,EAAE,KAAY;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC7G,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QAC/C,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QACjG,OAAO,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAED;;;;;;;0BAOsB;IACd,KAAK,CAAC,GAAG,CACf,IAAuB,EAAE,KAAa,EAAE,MAAmD,EAC3F,KAAuC,EAAE,IAAoC,EAAE,KAAc;QAE7F,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,GAAI,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzG,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC3D,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;iEAG6D;IACrD,KAAK,CAAC,KAAK,CACjB,IAAuB,EAAE,KAAQ,EAAE,KAAuC,EAAE,IAAoC;QAEhH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAED;;;kBAGc;IACN,KAAK,CAAC,GAAG,CAAC,EAAS;QACzB,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED;uEACmE;IAC3D,KAAK,CAAC,QAAQ,CAAC,EAAS;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IAED;;gBAEY;IACJ,KAAK,CAAC,QAAQ,CAAC,EAAS;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACjE,OAAO,QAAQ,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC;IACvI,CAAC;IAED;yCACqC;IAC7B,KAAK,CAAC,OAAO,CAAC,EAAS,EAAE,IAAY;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnF,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;+EAC2E;IACnE,KAAK,CAAC,OAAO,CAAC,EAAS,EAAE,EAAqB;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;IACjE,CAAC;IAED;;;;;;;;0BAQsB;IACd,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAO,EAAE,EAAqB;QAClE,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACxF,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9E,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAW,CAAC,EAAE,IAAI,CAAC;QACpH,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;eAChG,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;eACjI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAClF,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;IAED;;6BAEyB;IACjB,KAAK,CAAC,MAAM,CAAC,IAAuB,EAAE,MAAc;QAC1D,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,IAAI,GAAG,GAAG,MAAM,IAAK,CAAC;YACzB,MAAM,OAAO,GAAG,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;YAC3D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,QAAQ;gBAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,MAAM,CAAC,IAAuB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,wEAAwE;IACxE,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACF;AAED;;wDAEwD;AACxD,SAAS,OAAO,CAAC,EAAS;IACxB,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;qDAEqD;AACrD,SAAS,QAAQ,CAAC,EAAS;IACzB,OAAO,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,qEAAqE;AACrE,SAAS,KAAK,CAAC,MAAe;IAC5B,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/drive/drive.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,18 @@
1
1
  import type { RootsPort, Unit } from './contracts.js';
2
2
  import { type Entry } from './where.js';
3
3
  export type Listing =
4
- /** The entries the map adds, in the root and at the address named.
5
- * `complete` when nothing stands on the shelf, so these are the whole
6
- * listing; otherwise the host lists that shelf's directory and shows these
7
- * beside it. `doors` are names the map cannot describe, an unplaced
8
- * repository's `.git`: listed by name, and a look at one places it.
9
- * `hidden` are shelf names the host leaves out of its listing. */
4
+ /** A folder's listing, in the root and at the address named: `shelf`, the
5
+ * names standing on that shelf's directory, which the host describes;
6
+ * `entries`, what the map adds. Together they are the whole listing. */
10
7
  {
11
8
  readonly kind: 'entries';
12
9
  readonly root: string;
13
10
  readonly address: readonly string[];
11
+ readonly shelf: readonly string[];
14
12
  readonly entries: readonly Entry[];
15
- readonly doors: readonly string[];
16
- readonly hidden: readonly string[];
17
- readonly complete: boolean;
18
13
  }
19
- /** Inside an unplaced repository's door: place `placing`, then list the shelf. */
14
+ /** An unplaced repository's `.git`, or a folder inside it: place
15
+ * `placing`, then list the shelf. */
20
16
  | {
21
17
  readonly kind: 'place-first';
22
18
  readonly placing: readonly Unit[];
@@ -1 +1 @@
1
- {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAa,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAgD,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,OAAO;AACjB;;;;;kEAKkE;AAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AACjO,kFAAkF;GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BzF"}
1
+ {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAa,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAuE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7G,MAAM,MAAM,OAAO;AACjB;;wEAEwE;AACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE;AACjK;qCACqC;GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAkCzF"}
@@ -1,33 +1,40 @@
1
1
  /**
2
- * What a program sees when it lists a folder: the shelf's names, and beside
3
- * them the map's children this computer has not placed, each at its derived
4
- * name. A listing never hides a name the shelf shows: a map child whose name
5
- * the shelf holds is shadowed and left out. A reference whose target this
6
- * person's graph holds is listed as a directory, since the walk shows that
7
- * root inline where the reference stands; only listing inside it enters it.
8
- * An unplaced repository lists its files from the map and its `.git` as a
9
- * door, so finding a repository needs no bytes; only listing inside the door
10
- * places it first. The computers folder never lists this computer's own
11
- * folder: the walk finds it nowhere.
2
+ * What a program sees when it lists a folder: the names standing on the
3
+ * shelf, and beside them the map's children this computer has not placed,
4
+ * each at its derived name. The drive judges every name it lists, the
5
+ * shelf's too, by the walk's one rule (`unshown`), so no host lists a name
6
+ * the drive has not judged and a name a look finds nowhere is never listed.
7
+ * A listing never hides a person's ground: a map child whose name the shelf
8
+ * holds is shadowed and left out. A reference whose target this person's
9
+ * graph holds is listed as a directory, since the walk shows that root
10
+ * inline where the reference stands; only listing inside it enters it. An
11
+ * unplaced repository lists its files from the map and its `.git` as its
12
+ * Git directory, so finding a repository needs no bytes; only listing
13
+ * inside `.git`, whose names the map does not hold, places it first.
12
14
  */
13
- import { REPOSITORY_METADATA } from '../detection/classify.js';
14
15
  import { CONTAINERS } from '../entities/types.js';
15
- import { FILES_FOLDER } from '../registration/home-layout.js';
16
- import { active, derivedNames, entryOf, rootOf, where } from './where.js';
16
+ import { active, derivedNames, entryOf, gitDirectory, rootOf, unshown, where } from './where.js';
17
17
  export async function listing(roots, path) {
18
+ const shown = (name) => !unshown(roots, [...path, name]);
18
19
  const at = await where(roots, path);
19
20
  switch (at.kind) {
20
21
  case 'shelf': {
21
- const hidden = hiddenAt(roots, at.root, at.address);
22
- if (at.entity === null || !CONTAINERS.has(at.entity.type))
23
- return { kind: 'entries', root: at.root, address: at.address, entries: [], doors: [], hidden, complete: false };
24
22
  const root = await rootOf(roots, at.root);
25
23
  if (root === null)
26
24
  return { kind: 'nowhere' };
27
- const shelf = new Set(root.shelf.names(at.address) ?? []);
25
+ const standing = root.shelf.names(at.address);
26
+ if (standing === null)
27
+ return root.shelf.has(at.address) ? { kind: 'notdir' } : { kind: 'nowhere' };
28
+ const shelf = standing.filter(shown);
29
+ const listed = { kind: 'entries', root: at.root, address: at.address, shelf };
30
+ if (at.entity === null || !CONTAINERS.has(at.entity.type))
31
+ return { ...listed, entries: [] };
32
+ if (!await root.map.enter(at.entity.uuid))
33
+ return { kind: 'nowhere' };
34
+ const held = new Set(standing);
28
35
  const unplaced = derivedNames(active(root.map.children(at.entity.uuid)))
29
- .filter(([child, name]) => !root.map.placed(child.uuid) && !shelf.has(name) && !hidden.includes(name));
30
- return { kind: 'entries', root: at.root, address: at.address, entries: await entries(roots, unplaced), doors: [], hidden, complete: false };
36
+ .filter(([child, name]) => !root.map.placed(child.uuid) && !held.has(name) && shown(name));
37
+ return { ...listed, entries: await entries(roots, unplaced) };
31
38
  }
32
39
  case 'listed': {
33
40
  if (at.entry.kind !== 'directory')
@@ -35,11 +42,11 @@ export async function listing(roots, path) {
35
42
  const root = await rootOf(roots, at.root);
36
43
  if (root === null)
37
44
  return { kind: 'nowhere' };
38
- const hidden = hiddenAt(roots, at.root, at.address);
39
- const children = derivedNames(active(root.map.children(at.entry.uuid)))
40
- .filter(([, name]) => !hidden.includes(name));
41
- const doors = at.entry.type === 'repo.git' ? [REPOSITORY_METADATA] : [];
42
- return { kind: 'entries', root: at.root, address: at.address, entries: await entries(roots, children), doors, hidden, complete: true };
45
+ if (!await root.map.enter(at.entry.uuid))
46
+ return { kind: 'nowhere' };
47
+ const children = derivedNames(active(root.map.children(at.entry.uuid))).filter(([, name]) => shown(name));
48
+ const git = at.entry.type === 'repo.git' ? [gitDirectory(at.entity)] : [];
49
+ return { kind: 'entries', root: at.root, address: at.address, shelf: [], entries: [...await entries(roots, children), ...git] };
43
50
  }
44
51
  case 'door':
45
52
  return { kind: 'place-first', placing: at.placing };
@@ -49,12 +56,6 @@ export async function listing(roots, path) {
49
56
  return at;
50
57
  }
51
58
  }
52
- /** The names a listing leaves out at an address: this computer's own folder,
53
- * in the home's computers folder. */
54
- function hiddenAt(roots, root, address) {
55
- const computers = root === roots.home.uuid && address.length === 1 && address[0] === FILES_FOLDER;
56
- return computers && roots.computer !== null ? [roots.computer] : [];
57
- }
58
59
  /** Each child's entry at its name; a reference leading into a root this
59
60
  * person holds is a directory, which that root's top alone can say. */
60
61
  async function entries(roots, children) {
@@ -1 +1 @@
1
- {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/drive/listing.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,27 @@
1
1
  /**
2
- * The map, indexed: every entity of one root's accepted graph, reachable by
3
- * UUID, by parent and by slot in constant time, so no stat or listing ever
4
- * walks. The host loads it from the received state of its root and keeps it
5
- * current from each accepted record, in the cost of the change, never a
6
- * re-fold. It holds every status: the drive lists the active ones.
2
+ * The map, indexed: what the drive has entered of one root's accepted graph,
3
+ * reachable by UUID, by parent and by slot in constant time, so no stat or
4
+ * listing ever walks. The host gives it the root's record, then each
5
+ * container's children whole as the drive enters it (`MapPort.enter`), and
6
+ * keeps what it holds current from each accepted record, in the cost of the
7
+ * change, never a re-fold. It holds every status: the drive lists the active
8
+ * ones.
9
+ *
10
+ * A container's children are all here or none are. Every entity the index
11
+ * holds, but the root, stands in a container it entered, so a record that
12
+ * takes an entity into a container never entered forgets it, and everything
13
+ * beneath, until the drive enters that container.
14
+ *
15
+ * Each record keeps its accepted version, but for an entered container whose
16
+ * version is its membership (`DERIVED_PAYLOAD`): that one shows the
17
+ * membership version of the children the index holds for it
18
+ * (`MapPort.enter`), derived when it is next read, so every read sees it and
19
+ * a run of changes derives it once. A container never entered shows its
20
+ * record's.
21
+ *
22
+ * The index also gathers every entity a change reaches, for the host to take
23
+ * (`takeTouched`): each entity it takes, enters or forgets, and each
24
+ * container one of them leaves or joins, the containers whose listing moved.
7
25
  *
8
26
  * Under each parent the index keeps one tree of names: each held name and who
9
27
  * holds it, the sole holder itself or the holders of a shared slot. That one
@@ -15,28 +33,43 @@
15
33
  * selected keeps its parentUUID without that parent being here.
16
34
  */
17
35
  import type { CloudEntityRecord } from '../entities/cloud.js';
36
+ import { type Sha256Hex } from '../entities/types.js';
18
37
  import type { MapEntity } from './contracts.js';
19
38
  export declare class MapIndex {
20
39
  #private;
21
- constructor(rootUUID: string);
40
+ constructor(rootUUID: string, sha256Hex: Sha256Hex);
22
41
  get rootUUID(): string;
23
42
  /** How many entities the map holds, any status. */
24
43
  get size(): number;
25
- /** Replaces the whole map with these records. */
26
- load(records: Iterable<CloudEntityRecord>): void;
27
- /** Takes one accepted record: a new entity enters under its parent and
28
- * slot, a known one moves to its new parent or name when either changed,
29
- * and its fields are replaced. The caller decides what belongs to this
30
- * root; the index only keeps it. */
44
+ /** Takes a held container's children whole, so it answers for them from
45
+ * then on, and says whether it holds the container. A container entered
46
+ * already, or one the index does not hold, takes nothing. The children
47
+ * must be the container's at the index's own position: the host reads
48
+ * them and enters them with no record accepted between, since a record
49
+ * accepted in that gap is not in them and would be lost. */
50
+ enter(parentUUID: string, children: Iterable<CloudEntityRecord>): boolean;
51
+ /** Whether the drive has entered this container. */
52
+ entered(uuid: string): boolean;
53
+ /** Takes one accepted record: the root's replaces its row, an entity whose
54
+ * container is entered enters under its parent and slot, or moves to its
55
+ * new parent or name when either changed, with its fields replaced. An
56
+ * entity whose container is not entered is forgotten, with everything
57
+ * beneath it. The caller decides what belongs to this root; the index only
58
+ * keeps it. */
31
59
  accept(record: CloudEntityRecord): void;
32
- /** Forgets an entity and everything beneath it. */
60
+ /** Forgets an entity and everything beneath it, entered or not. */
33
61
  remove(uuid: string): void;
34
62
  has(uuid: string): boolean;
35
63
  get(uuid: string): MapEntity | undefined;
36
- /** The root, once loaded. */
64
+ /** Where a held entity stands, deriving nothing; undefined when the map
65
+ * holds no row for it. */
66
+ parentOf(uuid: string): string | null | undefined;
67
+ /** The root, once accepted. */
37
68
  root(): MapEntity;
38
69
  children(parentUUID: string): readonly MapEntity[];
39
70
  holders(parentUUID: string, name: string): readonly MapEntity[];
71
+ /** Every entity a change reached since the last take, and starts anew. */
72
+ takeTouched(): Set<string>;
40
73
  }
41
74
  /** The fields of a cloud record the drive reads. A reference's
42
75
  * `payloadVersion` is the UUID of the root it leads to (`files/commands.ts`);