@xrkseek/harness 0.7.4 → 0.7.6

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 (112) hide show
  1. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts +50 -0
  2. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/checkpoint/dist/store.js +240 -16
  4. package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -1
  5. package/node_modules/@xrkseek/checkpoint/dist/types.d.ts +18 -0
  6. package/node_modules/@xrkseek/checkpoint/dist/types.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/checkpoint/dist/types.js.map +1 -1
  8. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  9. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  10. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  11. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +18 -3
  12. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  13. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +128 -7
  14. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  15. package/node_modules/@xrkseek/server-face/dist/context.d.ts +7 -6
  16. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  17. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  18. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +5 -2
  19. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  20. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  21. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +33 -8
  22. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  23. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  24. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +19 -1
  25. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  26. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  27. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +4 -17
  28. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  29. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +5 -6
  30. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  31. package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts +3 -3
  32. package/node_modules/@xrkseek/server-face/dist/presence-dressing.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/server-face/dist/presence-dressing.js +70 -3
  34. package/node_modules/@xrkseek/server-face/dist/presence-dressing.js.map +1 -1
  35. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  36. package/node_modules/@xrkseek/server-face/dist/runtime.js +29 -6
  37. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  38. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts +9 -0
  39. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts.map +1 -1
  40. package/node_modules/@xrkseek/server-face/dist/seat-channel.js +11 -0
  41. package/node_modules/@xrkseek/server-face/dist/seat-channel.js.map +1 -1
  42. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +2 -0
  43. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  44. package/node_modules/@xrkseek/server-face/dist/session-status.js +4 -2
  45. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  46. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/server-face/dist/settings-document.js +5 -1
  48. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  49. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -1
  50. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +16 -3
  51. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -1
  52. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  53. package/node_modules/@xrkseek/server-host/dist/index.js +31 -1
  54. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  55. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +14 -0
  56. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  57. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.d.ts +6 -0
  58. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.js +18 -10
  60. package/node_modules/@xrkseek/server-http/dist/dsh-compat/cordis-credentials-bridge.js.map +1 -1
  61. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js +1 -1
  62. package/node_modules/@xrkseek/server-http/dist/dsh-compat/dsh-compat-matrix.js.map +1 -1
  63. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts +6 -0
  64. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.d.ts.map +1 -1
  65. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js +16 -9
  66. package/node_modules/@xrkseek/server-http/dist/dsh-compat/host-apply-bridge.js.map +1 -1
  67. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +3 -2
  68. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  69. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +3 -2
  70. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  71. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.d.ts.map +1 -1
  72. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js +66 -2
  73. package/node_modules/@xrkseek/server-http/dist/dsh-compat/market.js.map +1 -1
  74. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +11 -1
  76. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
  77. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.d.ts +37 -0
  78. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.d.ts.map +1 -0
  79. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.js +153 -0
  80. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-lan-share.js.map +1 -0
  81. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.d.ts +5 -0
  82. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.d.ts.map +1 -1
  83. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.js +7 -2
  84. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-local-gateway.js.map +1 -1
  85. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +19 -0
  86. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
  87. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +167 -43
  88. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
  89. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts +24 -0
  90. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js +76 -2
  92. package/node_modules/@xrkseek/server-http/dist/dsh-compat/our-free-model-host.js.map +1 -1
  93. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.d.ts.map +1 -1
  94. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js +7 -1
  95. package/node_modules/@xrkseek/server-http/dist/dsh-compat/shared-registry.js.map +1 -1
  96. package/node_modules/@xrkseek/server-http/dist/dsh-compat/skin-center.d.ts +1 -1
  97. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts +1 -1
  98. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js +1 -1
  100. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/index.js.map +1 -1
  101. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +28 -5
  102. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +63 -10
  104. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
  105. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.d.ts.map +1 -1
  106. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js +13 -0
  107. package/node_modules/@xrkseek/server-http/dist/dsh-compat/wire-normalize.js.map +1 -1
  108. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
  109. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
  111. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  112. package/package.json +1 -1
@@ -8,6 +8,20 @@ import { type GitRunner, type RestoreOptions, type RestorePlan, type RestoreResu
8
8
  * large tree); override with `XRK_CHECKPOINT_GIT_TIMEOUT_MS`.
9
9
  */
10
10
  export declare const DEFAULT_GIT_TIMEOUT_MS = 15000;
11
+ /**
12
+ * Files larger than this are not snapshotted.
13
+ *
14
+ * Modeled on codex's ghost commits (`DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`,
15
+ * `git-utils/src/ghost_commits.rs:28-29`) which used 10 MiB; `baseline.rs:21`
16
+ * still calls it "the default file limit for automatic ghost snapshots". A
17
+ * checkpoint is derived data — a 60 MiB archive is not something a turn
18
+ * "undoes", it is something a script regenerates.
19
+ *
20
+ * Measured on the workspace that motivated this: capping at 10 MiB alone drops
21
+ * a 9.5 GiB tree to 5.7 GiB (-40%), because the bulk is many small artifacts
22
+ * rather than a few huge ones — the type gate below carries the rest.
23
+ */
24
+ export declare const DEFAULT_MAX_FILE_BYTES: number;
11
25
  /**
12
26
  * Synthetic commit identity for shadow commits. The store must not depend on
13
27
  * (or write to) the operator's git config.
@@ -45,6 +59,14 @@ export interface WorkspaceCheckpointStoreOptions {
45
59
  */
46
60
  readonly timeoutMs?: number;
47
61
  readonly now?: () => number;
62
+ /**
63
+ * Byte cap for one snapshotted file (default
64
+ * {@link DEFAULT_MAX_FILE_BYTES}). `0` disables the cap — every file the
65
+ * type/dir gates left in is snapshotted regardless of size.
66
+ *
67
+ * Overridable per workspace through `XRK_CHECKPOINT_MAX_FILE_BYTES`.
68
+ */
69
+ readonly maxFileBytes?: number;
48
70
  }
49
71
  /**
50
72
  * Turn-scoped workspace snapshots in a shadow git repo.
@@ -71,6 +93,8 @@ export declare class WorkspaceCheckpointStore {
71
93
  private readonly runGit;
72
94
  private readonly timeoutMs;
73
95
  private readonly now;
96
+ /** Size gate for one file; `0` disables it. */
97
+ private readonly maxFileBytes;
74
98
  /** Work-tree-relative shadow path, when the shadow lives in the workspace. */
75
99
  private readonly shadowRelPath;
76
100
  private records;
@@ -107,8 +131,34 @@ export declare class WorkspaceCheckpointStore {
107
131
  * (Re)write the git-level ignore file. Idempotent and cheap: patterns are
108
132
  * only rewritten when the content differs. Safety-critical — `clean -fd`
109
133
  * must never see the shadow repo as untracked.
134
+ *
135
+ * `extra` carries this turn's over-cap paths (see
136
+ * {@link oversizeUntracked}); they are re-derived every snapshot, so a file
137
+ * that shrinks under the cap is picked up again on the next turn instead of
138
+ * being ignored forever.
110
139
  */
111
140
  private ensureExcludesFile;
141
+ /**
142
+ * Untracked, non-ignored files above the byte cap.
143
+ *
144
+ * Only *untracked* files are measured, exactly like codex's
145
+ * `DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`: a file already in the snapshot was
146
+ * accepted when it was added, and re-measuring every tracked path each turn
147
+ * is the very scan cost this gate exists to avoid. `--exclude-standard`
148
+ * means the type/dir gates already filtered the list, so this stats a
149
+ * handful of paths on a normal turn, not the whole tree.
150
+ */
151
+ private oversizeUntracked;
152
+ /**
153
+ * Discard a shadow repo written under an older exclusion policy.
154
+ *
155
+ * The blobs the new policy refuses are still reachable from `HEAD`, so no
156
+ * amount of `gc` reclaims them — starting over is the only way down. The
157
+ * snapshot index is renamed aside rather than deleted: `/rollback` then says
158
+ * "unknown checkpoint" for the old points, which is true, while the file
159
+ * stays on disk for an operator who wants to look.
160
+ */
161
+ private ensurePolicy;
112
162
  /** Create the shadow repo on first use; idempotent afterwards. */
113
163
  private ensureRepo;
114
164
  /** Like {@link ensureRepo} but never creates: a missing repo is a lost point. */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAgDpB;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAiB7C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AA0EvD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAgBhE,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAMR;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AA+DD;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,OAAO,CAA8B;IAC7C,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,6EAA6E;IAC7E,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,+BAA+B;IAyBpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,KAAK,QAAQ,GAyBnB;YAEa,IAAI;YAOJ,MAAM;IA4CpB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;;;;;;;;OASG;YACW,iBAAiB;IAsB/B;;;;;;;;OAQG;YACW,YAAY;IAkC1B,kEAAkE;YACpD,UAAU;IAexB,iFAAiF;YACnE,WAAW;IAYzB,kEAAkE;IAC5D,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAsFxE,yDAAyD;IACzD,IAAI,IAAI,SAAS,yBAAyB,EAAE;IAK5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB;IAa1C,6EAA6E;YAC/D,UAAU;IAKxB,0EAA0E;IACpE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IASnD,0EAA0E;YAC5D,iBAAiB;IAiB/B;;;OAGG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IA2B/E;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAgB7B;;;;;;;;;;;;;;;;;OAiBG;IACG,OAAO,CAAC,QAAQ,SAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAYvD,iFAAiF;YACnE,gBAAgB;IAO9B,OAAO,CAAC,SAAS;IAOjB,sEAAsE;IACtE,OAAO,CAAC,SAAS;IASjB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,SAAS;CAgBlB"}
@@ -1,5 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
2
+ import { existsSync, lstatSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync, } from "node:fs";
3
+ import { rm as rmAsync } from "node:fs/promises";
3
4
  import path from "node:path";
4
5
  import { resolveXrkHome } from "@xrkseek/xrk-home-paths";
5
6
  import { readJsonFile, writeJsonFileAtomic } from "./json-file.js";
@@ -52,12 +53,122 @@ function sleep(ms) {
52
53
  * large tree); override with `XRK_CHECKPOINT_GIT_TIMEOUT_MS`.
53
54
  */
54
55
  export const DEFAULT_GIT_TIMEOUT_MS = 15_000;
56
+ /**
57
+ * Exclusion-policy generation.
58
+ *
59
+ * Bump whenever the exclude set changes meaning (a new pattern class, a new
60
+ * cap). A shadow repo written under an older policy still holds the blobs the
61
+ * new policy would refuse, and those blobs are reachable from `HEAD` — `gc`
62
+ * can never drop them. The only way to reclaim is to discard the repo and
63
+ * start over, so {@link WorkspaceCheckpointStore.ensurePolicy} does exactly
64
+ * that once per bump.
65
+ *
66
+ * Costs the rollback list: `index.json` is set aside, not deleted, so the old
67
+ * points stay auditable while `/rollback` honestly reports them gone.
68
+ */
69
+ const SNAPSHOT_POLICY_VERSION = 2;
70
+ /**
71
+ * Files larger than this are not snapshotted.
72
+ *
73
+ * Modeled on codex's ghost commits (`DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`,
74
+ * `git-utils/src/ghost_commits.rs:28-29`) which used 10 MiB; `baseline.rs:21`
75
+ * still calls it "the default file limit for automatic ghost snapshots". A
76
+ * checkpoint is derived data — a 60 MiB archive is not something a turn
77
+ * "undoes", it is something a script regenerates.
78
+ *
79
+ * Measured on the workspace that motivated this: capping at 10 MiB alone drops
80
+ * a 9.5 GiB tree to 5.7 GiB (-40%), because the bulk is many small artifacts
81
+ * rather than a few huge ones — the type gate below carries the rest.
82
+ */
83
+ export const DEFAULT_MAX_FILE_BYTES = 10 * 1024 * 1024;
84
+ /**
85
+ * Directory names never worth snapshotting, matched as any path segment.
86
+ *
87
+ * The first twelve are codex's `ghost_commits.rs:30-48` list verbatim (its
88
+ * comment: "typically large dependency or build trees that are not useful for
89
+ * undo and can cause snapshots to grow without bound"). The tail adds this
90
+ * repo's own local-artifact conventions (`xrk-local-artifacts`).
91
+ */
92
+ const EXCLUDED_DIR_SEGMENTS = [
93
+ "node_modules",
94
+ ".venv",
95
+ "venv",
96
+ "env",
97
+ ".env",
98
+ "dist",
99
+ "build",
100
+ ".pytest_cache",
101
+ ".mypy_cache",
102
+ ".cache",
103
+ ".tox",
104
+ "__pycache__",
105
+ ".release",
106
+ "coverage",
107
+ ".tmp",
108
+ ];
109
+ /**
110
+ * Suffixes a turn does not "undo": archives, office blobs, media, compiled
111
+ * output. A model reads and edits text; it regenerates artifacts.
112
+ *
113
+ * This is the gate that actually matters. Measured on the workspace that
114
+ * motivated this (26,855 files / 9.50 GiB): the byte cap alone saves 40%,
115
+ * this alone saves 99.2% (8,846 text files / 0.07 GiB) while keeping every
116
+ * one of the 1,453 `.py` and 442 `.md` files the agent was editing. Both
117
+ * together: 6,783 files / 0.05 GiB = -99.5%.
118
+ *
119
+ * Deliberately NOT a "directory density" cap (codex drops any untracked dir
120
+ * with >=200 files). That rule is unusable here: a workspace with no
121
+ * `.gitignore` has no tracked files at all, so `hwgen/` (24,463 files, of
122
+ * which 1,453 are the agent's own sources) would be dropped wholesale and the
123
+ * snapshot would lose exactly what it exists to protect. Type is the honest
124
+ * discriminator; file count is not.
125
+ */
126
+ const EXCLUDED_SUFFIXES = [
127
+ // archives
128
+ ".zip", ".7z", ".rar", ".tar", ".gz", ".bz2", ".xz", ".tgz",
129
+ // office / documents
130
+ ".pptx", ".ppt", ".docx", ".doc", ".xlsx", ".xls", ".pdf", ".caj",
131
+ // raster / vector
132
+ ".png", ".jpg", ".jpeg", ".gif", ".webp", ".bmp", ".tif", ".tiff",
133
+ ".ico", ".psd", ".ai",
134
+ // media
135
+ ".mp4", ".mov", ".avi", ".mkv", ".flv", ".webm", ".mp3", ".wav",
136
+ ".flac", ".ogg", ".m4a",
137
+ // fonts
138
+ ".woff", ".woff2", ".ttf", ".otf", ".eot",
139
+ // built binaries / databases
140
+ ".exe", ".dll", ".so", ".dylib", ".bin", ".iso", ".dmg", ".msi",
141
+ ".sqlite", ".db", ".pyc", ".pyo", ".wasm",
142
+ ];
143
+ /**
144
+ * How many over-cap paths a snapshot record keeps.
145
+ *
146
+ * The point is to let the UI/agent *say what it skipped* ("3 files over 10 MiB
147
+ * were not snapshotted") instead of silently producing an incomplete restore —
148
+ * codex learned the same lesson and prints the first three excluded entries
149
+ * plus the threshold. A short sample is enough to explain; the full list would
150
+ * bloat every record in `index.json`.
151
+ */
152
+ const SKIPPED_SAMPLE_LIMIT = 3;
55
153
  /**
56
154
  * Synthetic commit identity for shadow commits. The store must not depend on
57
155
  * (or write to) the operator's git config.
58
156
  */
59
157
  export const CHECKPOINT_AUTHOR_NAME = "XRK Checkpoint";
60
158
  export const CHECKPOINT_AUTHOR_EMAIL = "checkpoint@xrk.invalid";
159
+ /**
160
+ * Gitignore pattern matching exactly one work-tree-relative path.
161
+ *
162
+ * Anchored (`/`) so a build artifact named `out` at the root does not also
163
+ * swallow `src/out`; escaped because the byte cap feeds real filenames in and
164
+ * a model-written `a[1].bin` must not turn into a glob.
165
+ */
166
+ function ignorePatternForPath(relativePath) {
167
+ const escaped = relativePath
168
+ .replace(/([\\*?[])/g, "\\$1")
169
+ .replace(/^([#!])/, "\\$1");
170
+ return `/${escaped}`;
171
+ }
61
172
  /** Stable, filesystem-safe id for one workspace path. */
62
173
  export function workspaceCheckpointId(workspaceDir) {
63
174
  return createHash("sha1")
@@ -102,6 +213,19 @@ function readTimeoutMs() {
102
213
  ? Math.floor(parsed)
103
214
  : DEFAULT_GIT_TIMEOUT_MS;
104
215
  }
216
+ /**
217
+ * Byte cap: explicit option wins, then `XRK_CHECKPOINT_MAX_FILE_BYTES`, then
218
+ * {@link DEFAULT_MAX_FILE_BYTES}. A non-numeric / negative value falls back to
219
+ * the default rather than silently disabling the cap (`0` is the explicit
220
+ * off switch).
221
+ */
222
+ function readMaxFileBytes(explicit) {
223
+ const raw = explicit ?? Number(process.env.XRK_CHECKPOINT_MAX_FILE_BYTES ?? "");
224
+ if (explicit === undefined && (Number.isNaN(raw) || raw < 0)) {
225
+ return DEFAULT_MAX_FILE_BYTES;
226
+ }
227
+ return Number.isFinite(raw) ? Math.floor(raw) : DEFAULT_MAX_FILE_BYTES;
228
+ }
105
229
  /** Parse `git clean` output lines carrying a known prefix. */
106
230
  function parseCleanOutput(stdout, prefix) {
107
231
  const out = [];
@@ -151,6 +275,8 @@ export class WorkspaceCheckpointStore {
151
275
  runGit;
152
276
  timeoutMs;
153
277
  now;
278
+ /** Size gate for one file; `0` disables it. */
279
+ maxFileBytes;
154
280
  /** Work-tree-relative shadow path, when the shadow lives in the workspace. */
155
281
  shadowRelPath;
156
282
  records;
@@ -177,6 +303,7 @@ export class WorkspaceCheckpointStore {
177
303
  this.runGit = options.runGit;
178
304
  this.timeoutMs = options.timeoutMs ?? readTimeoutMs();
179
305
  this.now = options.now ?? (() => Date.now());
306
+ this.maxFileBytes = readMaxFileBytes(options.maxFileBytes);
180
307
  this.records = this.loadIndex();
181
308
  this.indexSignature = this.indexStat();
182
309
  }
@@ -258,23 +385,26 @@ export class WorkspaceCheckpointStore {
258
385
  * (Re)write the git-level ignore file. Idempotent and cheap: patterns are
259
386
  * only rewritten when the content differs. Safety-critical — `clean -fd`
260
387
  * must never see the shadow repo as untracked.
388
+ *
389
+ * `extra` carries this turn's over-cap paths (see
390
+ * {@link oversizeUntracked}); they are re-derived every snapshot, so a file
391
+ * that shrinks under the cap is picked up again on the next turn instead of
392
+ * being ignored forever.
261
393
  */
262
- ensureExcludesFile() {
394
+ ensureExcludesFile(extra = []) {
263
395
  mkdirSync(this.shadowDir, { recursive: true });
264
- // Keep heavy / regenerable trees out of `add -A` — monorepo node_modules
265
- // and dist dominate snapshot latency on product workspaces. Worktree
266
- // `.gitignore` still applies; this file is an extra excludesFile.
267
- const patterns = [
268
- "node_modules/",
269
- "**/node_modules/",
270
- "dist/",
271
- "**/dist/",
272
- ".git/",
273
- "**/.git/",
274
- ".release/",
275
- "coverage/",
276
- "**/*.tsbuildinfo",
277
- ];
396
+ // Worktree `.gitignore` still applies; this file is an extra excludesFile.
397
+ // Three tiers, cheapest gate first: the shadow repo's own path (safety),
398
+ // dependency/build trees (any segment), then artifact suffixes. A 9.5 GiB
399
+ // workspace drops to 50 MiB with the suffix gate alone.
400
+ const patterns = [".git/", "**/.git/", "**/*.tsbuildinfo"];
401
+ for (const segment of EXCLUDED_DIR_SEGMENTS) {
402
+ patterns.push(`${segment}/`, `**/${segment}/`);
403
+ }
404
+ for (const suffix of EXCLUDED_SUFFIXES)
405
+ patterns.push(`*${suffix}`);
406
+ for (const relative of extra)
407
+ patterns.push(ignorePatternForPath(relative));
278
408
  if (this.shadowRelPath)
279
409
  patterns.push(`${this.shadowRelPath}/`);
280
410
  const content = `${patterns.join("\n")}\n`;
@@ -289,10 +419,90 @@ export class WorkspaceCheckpointStore {
289
419
  /* read-only workspace: git will still work, only self-ignore is lost */
290
420
  }
291
421
  }
422
+ /**
423
+ * Untracked, non-ignored files above the byte cap.
424
+ *
425
+ * Only *untracked* files are measured, exactly like codex's
426
+ * `DEFAULT_IGNORE_LARGE_UNTRACKED_FILES`: a file already in the snapshot was
427
+ * accepted when it was added, and re-measuring every tracked path each turn
428
+ * is the very scan cost this gate exists to avoid. `--exclude-standard`
429
+ * means the type/dir gates already filtered the list, so this stats a
430
+ * handful of paths on a normal turn, not the whole tree.
431
+ */
432
+ async oversizeUntracked(budgetMs) {
433
+ if (this.maxFileBytes <= 0)
434
+ return [];
435
+ const listed = await this.exec(["ls-files", "-z", "--others", "--exclude-standard"], budgetMs);
436
+ if (listed.code !== 0)
437
+ return [];
438
+ const over = [];
439
+ for (const relative of listed.stdout.split("\0")) {
440
+ if (!relative)
441
+ continue;
442
+ try {
443
+ // `lstat`, never `stat`: a symlink pointing at a 5 GiB image is a few
444
+ // bytes of text in the tree and must not be judged by its target.
445
+ const entry = lstatSync(path.join(this.workspaceDir, relative));
446
+ if (entry.isFile() && entry.size > this.maxFileBytes)
447
+ over.push(relative);
448
+ }
449
+ catch {
450
+ /* vanished between the listing and the stat */
451
+ }
452
+ }
453
+ return over;
454
+ }
455
+ /**
456
+ * Discard a shadow repo written under an older exclusion policy.
457
+ *
458
+ * The blobs the new policy refuses are still reachable from `HEAD`, so no
459
+ * amount of `gc` reclaims them — starting over is the only way down. The
460
+ * snapshot index is renamed aside rather than deleted: `/rollback` then says
461
+ * "unknown checkpoint" for the old points, which is true, while the file
462
+ * stays on disk for an operator who wants to look.
463
+ */
464
+ async ensurePolicy() {
465
+ const marker = path.join(this.shadowDir, "policy");
466
+ let current = "";
467
+ try {
468
+ current = readFileSync(marker, "utf8").trim();
469
+ }
470
+ catch {
471
+ /* first run */
472
+ }
473
+ if (current === String(SNAPSHOT_POLICY_VERSION))
474
+ return;
475
+ const hadRepo = existsSync(path.join(this.gitDir, "HEAD"));
476
+ if (hadRepo) {
477
+ // Async: a multi-GiB removal must not block the Host event loop. Runs
478
+ // inside the snapshot gate, so no concurrent `add` can see a half-gone
479
+ // object store.
480
+ await rmAsync(this.gitDir, { recursive: true, force: true });
481
+ try {
482
+ if (existsSync(this.indexFile)) {
483
+ renameSync(this.indexFile, `${this.indexFile}.policy${current || "0"}.bak`);
484
+ }
485
+ }
486
+ catch {
487
+ /* index is derived data; the shadow repo is already gone */
488
+ }
489
+ this.records = [];
490
+ this.indexSignature = undefined;
491
+ this.repoReady = false;
492
+ }
493
+ try {
494
+ mkdirSync(this.shadowDir, { recursive: true });
495
+ writeFileSync(marker, String(SNAPSHOT_POLICY_VERSION), "utf8");
496
+ }
497
+ catch {
498
+ /* read-only workspace: the next turn retries */
499
+ }
500
+ }
292
501
  /** Create the shadow repo on first use; idempotent afterwards. */
293
502
  async ensureRepo(budgetMs = this.timeoutMs) {
294
503
  if (this.repoReady)
295
504
  return;
505
+ await this.ensurePolicy();
296
506
  this.ensureExcludesFile();
297
507
  if (!existsSync(path.join(this.gitDir, "HEAD"))) {
298
508
  await this.execOk(["init", "--quiet"], "init-failed", "init (shadow repo)", budgetMs);
@@ -328,6 +538,13 @@ export class WorkspaceCheckpointStore {
328
538
  const deadline = this.now() + this.timeoutMs;
329
539
  const remaining = () => Math.max(1, deadline - this.now());
330
540
  await this.ensureRepo(remaining());
541
+ // Over-cap paths are re-derived each turn: a worktree file that shrank
542
+ // under the cap comes back into the snapshot instead of staying ignored
543
+ // forever. `--exclude-standard` has already applied the type/dir gates,
544
+ // so this only stats files the tree did not already refuse.
545
+ const oversized = await this.oversizeUntracked(remaining());
546
+ if (oversized.length > 0)
547
+ this.ensureExcludesFile(oversized);
331
548
  await this.execOk(["add", "-A"], "snapshot-failed", "add -A", remaining(), 1);
332
549
  const label = input.label?.trim();
333
550
  const message = [
@@ -348,6 +565,9 @@ export class WorkspaceCheckpointStore {
348
565
  createdAt: this.now(),
349
566
  ...(label ? { label } : {}),
350
567
  fileCount: splitLines(files.stdout).length,
568
+ ...(oversized.length > 0
569
+ ? { skippedOversized: oversized.slice(0, SKIPPED_SAMPLE_LIMIT) }
570
+ : {}),
351
571
  };
352
572
  this.records.push(record);
353
573
  this.saveIndex();
@@ -384,11 +604,15 @@ export class WorkspaceCheckpointStore {
384
604
  }
385
605
  /** {@link planRestore} body; the caller already holds the shadow gate. */
386
606
  async planRestoreLocked(target) {
607
+ const record = this.get(target);
387
608
  const tree = await this.execOk(["ls-tree", "-r", "--name-only", target], "restore-failed", `ls-tree ${target}`);
388
609
  return {
389
610
  id: target,
390
611
  fileCount: splitLines(tree.stdout).length,
391
612
  extra: await this.extraFiles(),
613
+ ...(record.skippedOversized
614
+ ? { skippedOversized: record.skippedOversized }
615
+ : {}),
392
616
  };
393
617
  }
394
618
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,15 @@ export interface WorkspaceCheckpointRecord {
41
41
  readonly label?: string;
42
42
  /** Tracked files captured at this point. */
43
43
  readonly fileCount: number;
44
+ /**
45
+ * Files present in the worktree but **not** in this point, because they
46
+ * exceeded the per-file byte cap (a short sample, not the full list).
47
+ *
48
+ * Present so a restore can be honest: those paths are untouched by
49
+ * `restore`, so their current content will not be rolled back. Absent when
50
+ * nothing was skipped.
51
+ */
52
+ readonly skippedOversized?: readonly string[];
44
53
  }
45
54
  export interface SnapshotInput {
46
55
  readonly sessionId: string;
@@ -61,6 +70,15 @@ export interface RestorePlan {
61
70
  readonly fileCount: number;
62
71
  /** Untracked, non-ignored files present now but absent from the snapshot. */
63
72
  readonly extra: readonly string[];
73
+ /**
74
+ * Files the recorded point never captured, because they exceeded the
75
+ * per-file byte cap (sample, see {@link WorkspaceCheckpointRecord}).
76
+ *
77
+ * `restore` does not touch them, so their current content survives the
78
+ * rollback. Present on the plan so the caller can say that out loud instead
79
+ * of implying a complete restore.
80
+ */
81
+ readonly skippedOversized?: readonly string[];
64
82
  }
65
83
  export interface RestoreResult extends RestorePlan {
66
84
  readonly restored: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,gBAAgB,KACpB,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,yEAAyE;AACzE,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAEhC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAKhE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,gBAAgB,KACpB,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,yEAAyE;AACzE,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;gBAEhC,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM;CAKhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkFH,yEAAyE;AACzE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAA+B;IAE5C,YAAY,IAAkC,EAAE,OAAe;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoGH,yEAAyE;AACzE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAA+B;IAE5C,YAAY,IAAkC,EAAE,OAAe;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}