@graview/core 0.1.3 → 0.1.5

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 (124) hide show
  1. package/dist/app.d.ts +9 -1
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js.map +1 -1
  4. package/dist/capabilities.js +1 -1
  5. package/dist/capabilities.js.map +1 -1
  6. package/dist/cli/check/policy.d.ts.map +1 -1
  7. package/dist/cli/check/policy.js +40 -0
  8. package/dist/cli/check/policy.js.map +1 -1
  9. package/dist/cli/index.d.ts +2 -1
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/document/canonical.d.ts +2 -1
  13. package/dist/document/canonical.d.ts.map +1 -1
  14. package/dist/document/canonical.js +2 -1
  15. package/dist/document/canonical.js.map +1 -1
  16. package/dist/document/compile.d.ts +14 -2
  17. package/dist/document/compile.d.ts.map +1 -1
  18. package/dist/document/compile.js +50 -24
  19. package/dist/document/compile.js.map +1 -1
  20. package/dist/document/diff.d.ts.map +1 -1
  21. package/dist/document/diff.js +3 -1
  22. package/dist/document/diff.js.map +1 -1
  23. package/dist/document/edit.d.ts +7 -1
  24. package/dist/document/edit.d.ts.map +1 -1
  25. package/dist/document/edit.js +46 -2
  26. package/dist/document/edit.js.map +1 -1
  27. package/dist/document/graview-template.d.ts +2 -2
  28. package/dist/document/index.d.ts +2 -2
  29. package/dist/document/index.d.ts.map +1 -1
  30. package/dist/document/index.js +1 -1
  31. package/dist/document/index.js.map +1 -1
  32. package/dist/document/migrate.d.ts.map +1 -1
  33. package/dist/document/migrate.js +3 -2
  34. package/dist/document/migrate.js.map +1 -1
  35. package/dist/document/patch.d.ts.map +1 -1
  36. package/dist/document/patch.js +2 -5
  37. package/dist/document/patch.js.map +1 -1
  38. package/dist/document/schema.d.ts +298 -298
  39. package/dist/document/schema.d.ts.map +1 -1
  40. package/dist/document/schema.js +125 -140
  41. package/dist/document/schema.js.map +1 -1
  42. package/dist/document/to-document.d.ts.map +1 -1
  43. package/dist/document/to-document.js +2 -1
  44. package/dist/document/to-document.js.map +1 -1
  45. package/dist/index.d.ts +9 -6
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +12 -4
  48. package/dist/index.js.map +1 -1
  49. package/dist/integrity.d.ts.map +1 -1
  50. package/dist/integrity.js +35 -5
  51. package/dist/integrity.js.map +1 -1
  52. package/dist/invariants/types.d.ts +1 -1
  53. package/dist/invariants/types.d.ts.map +1 -1
  54. package/dist/mutations/define-mutation.d.ts +26 -3
  55. package/dist/mutations/define-mutation.d.ts.map +1 -1
  56. package/dist/mutations/define-mutation.js +18 -5
  57. package/dist/mutations/define-mutation.js.map +1 -1
  58. package/dist/mutations/derive-edits.js +5 -5
  59. package/dist/mutations/derive-edits.js.map +1 -1
  60. package/dist/mutations/form.d.ts.map +1 -1
  61. package/dist/mutations/form.js +6 -5
  62. package/dist/mutations/form.js.map +1 -1
  63. package/dist/mutations/node-ref.d.ts +16 -5
  64. package/dist/mutations/node-ref.d.ts.map +1 -1
  65. package/dist/mutations/node-ref.js +52 -16
  66. package/dist/mutations/node-ref.js.map +1 -1
  67. package/dist/mutations/types.d.ts +2 -2
  68. package/dist/mutations/types.d.ts.map +1 -1
  69. package/dist/ops/log.d.ts +11 -0
  70. package/dist/ops/log.d.ts.map +1 -1
  71. package/dist/ops/log.js.map +1 -1
  72. package/dist/ops/served.d.ts +80 -0
  73. package/dist/ops/served.d.ts.map +1 -0
  74. package/dist/ops/served.js +316 -0
  75. package/dist/ops/served.js.map +1 -0
  76. package/dist/ops/types.d.ts +8 -0
  77. package/dist/ops/types.d.ts.map +1 -1
  78. package/dist/ops/withheld.d.ts +63 -8
  79. package/dist/ops/withheld.d.ts.map +1 -1
  80. package/dist/ops/withheld.js +198 -22
  81. package/dist/ops/withheld.js.map +1 -1
  82. package/dist/ops/writers.d.ts +29 -0
  83. package/dist/ops/writers.d.ts.map +1 -0
  84. package/dist/ops/writers.js +98 -0
  85. package/dist/ops/writers.js.map +1 -0
  86. package/dist/permissions/sight.d.ts +15 -2
  87. package/dist/permissions/sight.d.ts.map +1 -1
  88. package/dist/permissions/sight.js +34 -5
  89. package/dist/permissions/sight.js.map +1 -1
  90. package/dist/presence.d.ts +24 -2
  91. package/dist/presence.d.ts.map +1 -1
  92. package/dist/presence.js +26 -1
  93. package/dist/presence.js.map +1 -1
  94. package/dist/refusal.d.ts +9 -5
  95. package/dist/refusal.d.ts.map +1 -1
  96. package/dist/refusal.js +9 -5
  97. package/dist/refusal.js.map +1 -1
  98. package/dist/scaffold/project.d.ts.map +1 -1
  99. package/dist/scaffold/project.js +5 -0
  100. package/dist/scaffold/project.js.map +1 -1
  101. package/dist/schema/json-schema.d.ts +2 -3
  102. package/dist/schema/json-schema.d.ts.map +1 -1
  103. package/dist/schema/json-schema.js +30 -10
  104. package/dist/schema/json-schema.js.map +1 -1
  105. package/dist/schema/schema.d.ts +19 -4
  106. package/dist/schema/schema.d.ts.map +1 -1
  107. package/dist/schema/schema.js +2 -2
  108. package/dist/schema/schema.js.map +1 -1
  109. package/dist/schema/zod.d.ts +18 -0
  110. package/dist/schema/zod.d.ts.map +1 -0
  111. package/dist/schema/zod.js +44 -0
  112. package/dist/schema/zod.js.map +1 -0
  113. package/dist/seen.d.ts +54 -1
  114. package/dist/seen.d.ts.map +1 -1
  115. package/dist/seen.js +457 -25
  116. package/dist/seen.js.map +1 -1
  117. package/dist/store.d.ts +141 -17
  118. package/dist/store.d.ts.map +1 -1
  119. package/dist/store.js +203 -84
  120. package/dist/store.js.map +1 -1
  121. package/dist/testing.js.map +1 -1
  122. package/dist/version.d.ts +1 -1
  123. package/dist/version.js +1 -1
  124. package/package.json +2 -2
package/dist/presence.js CHANGED
@@ -35,12 +35,36 @@ export function presenceName(presence) {
35
35
  const name = presence.name ?? "";
36
36
  return name && presence.onBehalfOfName ? `${name}, for ${presence.onBehalfOfName}` : name;
37
37
  }
38
- /** Whether a presence still stands at `now`: until its announced time, or within the TTL of its last word. */
38
+ /**
39
+ * Whether a presence still stands at `now`: while a socket holds it, until
40
+ * its announced time, or within the TTL of its last word.
41
+ */
39
42
  export function presenceStands(presence, now, ttlMs = PRESENCE_TTL_MS) {
43
+ if (presence.held === "socket")
44
+ return true;
40
45
  if (presence.until !== undefined)
41
46
  return now < Date.parse(presence.until);
42
47
  return now - Date.parse(presence.at) < ttlMs;
43
48
  }
49
+ /**
50
+ * WHEN THE NEXT VISITOR GOES, in epoch ms: the earliest `until` still ahead
51
+ * of `now` in `who`, or undefined when nobody standing has one (a socket's
52
+ * presence goes when its socket closes, a poller's by its host's TTL). A
53
+ * host that keeps `who` itself sets its alarm by it — a Durable Object's
54
+ * `setAlarm`, a timer — and tells the room then, so a visitor whose time
55
+ * is up leaves every map without anything else happening.
56
+ */
57
+ export function nextExpiry(who, now = Date.now()) {
58
+ let next;
59
+ for (const presence of who) {
60
+ if (presence.until === undefined || presence.held === "socket")
61
+ continue;
62
+ const until = Date.parse(presence.until);
63
+ if (Number.isFinite(until) && until > now && (next === undefined || until < next))
64
+ next = until;
65
+ }
66
+ return next;
67
+ }
44
68
  const PARTICIPANT_KINDS = new Set(["human", "agent", "rule", "system"]);
45
69
  /**
46
70
  * THE ONE DIALECT. A participant is `kind:id:session`: the op log's own
@@ -101,6 +125,7 @@ export function samePresence(a, b) {
101
125
  a.onBehalfOf === b.onBehalfOf &&
102
126
  a.onBehalfOfName === b.onBehalfOfName &&
103
127
  a.until === b.until &&
128
+ a.held === b.held &&
104
129
  a.hue === b.hue &&
105
130
  a.stop === b.stop &&
106
131
  (a.over ?? null) === (b.over ?? null) &&
@@ -1 +1 @@
1
- {"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
package/dist/refusal.d.ts CHANGED
@@ -10,13 +10,17 @@
10
10
  * missing what the call names is not there: a record, or a batch to take back
11
11
  * invalid the call as asked does not fit: its arguments, the kind, a rule, the order things happened in
12
12
  * limit the host's hard cap: the call can never succeed as asked, however long the caller waits
13
+ * unavailable the host takes no changes for a while — a room read-only while it is checked, storage that failed to write — and does not know for how long
13
14
  *
14
- * `limit` is the host's to say; nothing in the store says it. It is not
15
- * `busy`: busy is "not now", and the client keeps the change and sends it
16
- * again (FR-45). A refusal of any reason is final, and the change is taken
17
- * back.
15
+ * `limit` and `unavailable` are the host's to say; nothing in the store
16
+ * says them. Neither is `busy`: busy is "not now, after `retryAfter`", and
17
+ * the client keeps the change and sends it again (FR-45). `unavailable` is
18
+ * the one refusal that is not final: nothing was judged, and the client
19
+ * keeps the change pending and sends it again, backing off as it does to
20
+ * reconnect, until the host takes it. A refusal of any other reason is
21
+ * final, and the change is taken back.
18
22
  */
19
- export declare const REFUSAL_REASONS: readonly ["forbidden", "missing", "invalid", "limit"];
23
+ export declare const REFUSAL_REASONS: readonly ["forbidden", "missing", "invalid", "limit", "unavailable"];
20
24
  export type RefusalReason = (typeof REFUSAL_REASONS)[number];
21
25
  /** A refusal as the wire carries it: the code, the sentence a person reads, and who could. */
22
26
  export interface WireRefusal {
@@ -1 +1 @@
1
- {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,uDAAwD,CAAC;AAErF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,8FAA8F;AAC9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CASrD"}
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,eAAe,sEAAuE,CAAC;AAEpG,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,8FAA8F;AAC9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CASrD"}
package/dist/refusal.js CHANGED
@@ -13,13 +13,17 @@ import { PermissionDeniedError } from "./permissions/types.js";
13
13
  * missing what the call names is not there: a record, or a batch to take back
14
14
  * invalid the call as asked does not fit: its arguments, the kind, a rule, the order things happened in
15
15
  * limit the host's hard cap: the call can never succeed as asked, however long the caller waits
16
+ * unavailable the host takes no changes for a while — a room read-only while it is checked, storage that failed to write — and does not know for how long
16
17
  *
17
- * `limit` is the host's to say; nothing in the store says it. It is not
18
- * `busy`: busy is "not now", and the client keeps the change and sends it
19
- * again (FR-45). A refusal of any reason is final, and the change is taken
20
- * back.
18
+ * `limit` and `unavailable` are the host's to say; nothing in the store
19
+ * says them. Neither is `busy`: busy is "not now, after `retryAfter`", and
20
+ * the client keeps the change and sends it again (FR-45). `unavailable` is
21
+ * the one refusal that is not final: nothing was judged, and the client
22
+ * keeps the change pending and sends it again, backing off as it does to
23
+ * reconnect, until the host takes it. A refusal of any other reason is
24
+ * final, and the change is taken back.
21
25
  */
22
- export const REFUSAL_REASONS = ["forbidden", "missing", "invalid", "limit"];
26
+ export const REFUSAL_REASONS = ["forbidden", "missing", "invalid", "limit", "unavailable"];
23
27
  /**
24
28
  * THE STORE'S OWN ERRORS, READ INTO A REASON. Anything that is not one of
25
29
  * the store's refusals — a mutation's own throw, an invariant, an id that
@@ -1 +1 @@
1
- {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAYrF;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,YAAY,kBAAkB;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAChF,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;IACpG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../src/refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAU,CAAC;AAYpG;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,YAAY,kBAAkB;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAChF,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;IACpG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,oHAyBnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA+C,CAAC;AAO7F,eAAO,MAAM,WAAW,UAIvB,CAAC;AAEF,eAAO,MAAM,UAAU,UAMtB,CAAC;AAEF,eAAO,MAAM,SAAS,UAIrB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAqB/E;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgCxE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,IAAI,MAAM,CAsBrC;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,IAAI,MAAM,CAOnC;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAqEhE;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAyCnD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAoBtC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAoM3C;AAOD,wBAAgB,SAAS,IAAI,MAAM,CAWlC;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA2EvC;AAID,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA2BtC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAwC3D"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,oHAyBnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAA+C,CAAC;AAO7F,eAAO,MAAM,WAAW,UAIvB,CAAC;AAEF,eAAO,MAAM,UAAU,UAMtB,CAAC;AAEF,eAAO,MAAM,SAAS,UAIrB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAqB/E;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgCxE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,IAAI,MAAM,CAsBrC;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,IAAI,MAAM,CAOnC;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAqEhE;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAyCnD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAoBtC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAyM3C;AAOD,wBAAgB,SAAS,IAAI,MAAM,CAWlC;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA2EvC;AAID,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CA2BtC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAwC3D"}
@@ -426,12 +426,17 @@ export default defineConfig({
426
426
  "@graview/core/scaffold": framework("core/src/scaffold/index.ts"),
427
427
  "@graview/core/sqlite": framework("core/src/persistence/sqlite.ts"),
428
428
  "@graview/core": framework("core/src/index.ts"),
429
+ "@graview/layout/view": framework("layout/src/view.ts"),
429
430
  "@graview/layout": framework("layout/src/index.ts"),
430
431
  "@graview/tools/cli": framework("tools/src/cli.ts"),
432
+ "@graview/tools/frame": framework("tools/src/frame.ts"),
431
433
  "@graview/tools": framework("tools/src/index.ts"),
432
434
  "@graview/render/gpu": framework("render/src/gpu.ts"),
433
435
  "@graview/render": framework("render/src/index.ts"),
436
+ "@graview/react/provider": framework("react/src/provider.ts"),
434
437
  "@graview/react": framework("react/src/index.ts"),
438
+ "@graview/primitives/frame": framework("primitives/src/frame.ts"),
439
+ "@graview/primitives/pages": framework("primitives/src/pages.ts"),
435
440
  "@graview/primitives": framework("primitives/src/index.ts"),
436
441
  "@graview/pages": framework("pages/src/index.ts"),
437
442
  // The browser entry, so the file adapter's node:fs never meets the bundler.
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { z } from "zod";
2
1
  import type { AnySchema } from "./schema.js";
3
2
  import type { AnyNodeDefinition } from "./types.js";
4
3
  export type JsonSchema = Record<string, unknown>;
@@ -7,7 +6,7 @@ export type JsonSchema = Record<string, unknown>;
7
6
  * validation, TypeScript inference, and the JSON Schema an agent tool
8
7
  * definition needs. Nothing is written twice, so nothing drifts.
9
8
  */
10
- export declare function toJsonSchema(schema: z.ZodType): JsonSchema;
9
+ export declare function toJsonSchema(schema: unknown): JsonSchema;
11
10
  /** JSON Schema for one node kind, including its id and kind discriminator. */
12
11
  export declare function nodeJsonSchema(definition: AnyNodeDefinition): JsonSchema;
13
12
  export interface MutationToolSchema {
@@ -31,7 +30,7 @@ export declare function mutationToolSchema(mutation: {
31
30
  name: string;
32
31
  title?: string;
33
32
  description?: string;
34
- input: z.ZodType;
33
+ input: unknown;
35
34
  creates?: readonly string[];
36
35
  }): MutationToolSchema;
37
36
  /** Every node kind's JSON Schema, keyed by kind. */
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,UAAU,CAU1D;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,UAAU,CAOxE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,GAAG,kBAAkB,CAkCrB;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAMxE"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAExD;AA4BD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,UAAU,CAOxE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,GAAG,kBAAkB,CAkCrB;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAMxE"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "./zod.js";
2
2
  import { takesAnId } from "../mutations/define-mutation.js";
3
3
  import { nodeRefArgs } from "../mutations/node-ref.js";
4
4
  /**
@@ -7,18 +7,38 @@ import { nodeRefArgs } from "../mutations/node-ref.js";
7
7
  * definition needs. Nothing is written twice, so nothing drifts.
8
8
  */
9
9
  export function toJsonSchema(schema) {
10
- const convert = z
11
- .toJSONSchema;
12
- if (typeof convert !== "function") {
13
- throw new Error("This Zod build has no toJSONSchema(). Upgrade to zod >= 3.25 / 4.x, " +
14
- "or pass a JSON Schema explicitly.");
15
- }
16
- return convert(schema, { io: "input", unrepresentable: "any" });
10
+ return z.toJSONSchema(schema, { io: "input", unrepresentable: "any", override: formatsByName });
11
+ }
12
+ /** zod's names for string formats that JSON Schema calls something else; the rest are the same word. */
13
+ const JSON_SCHEMA_FORMATS = { guid: "uuid", url: "uri", datetime: "date-time", json_string: "json-string" };
14
+ /*
15
+ * A FORMAT IS SAID BY ITS NAME (a tool schema is a stability surface). zod
16
+ * writes its own regex for `z.email()`, `z.uuid()`, `z.iso.datetime()` beside
17
+ * the format, and that regex changes between zod's minor versions — so the
18
+ * tools an app offers moved with the version a consumer happened to resolve.
19
+ * A string format says `format` and nothing else; a pattern the author wrote
20
+ * with `.regex(…)` is the author's, and is kept.
21
+ */
22
+ function formatsByName(ctx) {
23
+ const def = ctx.zodSchema._zod?.def;
24
+ if (!def || def.type !== "string" || typeof def.format !== "string" || def.format === "regex")
25
+ return;
26
+ const js = ctx.jsonSchema;
27
+ const authored = (def.checks ?? []).map((check) => check._zod?.def).filter((check) => check?.format === "regex" && check.pattern instanceof RegExp).map((check) => check.pattern.source);
28
+ delete js["pattern"];
29
+ const allOf = js["allOf"];
30
+ if (Array.isArray(allOf) && allOf.every((part) => typeof part === "object" && part !== null && Object.keys(part).length === 1 && "pattern" in part))
31
+ delete js["allOf"];
32
+ js["format"] = JSON_SCHEMA_FORMATS[def.format] ?? def.format;
33
+ if (authored.length === 1)
34
+ js["pattern"] = authored[0];
35
+ else if (authored.length > 1)
36
+ js["allOf"] = authored.map((pattern) => ({ pattern }));
17
37
  }
18
38
  /** JSON Schema for one node kind, including its id and kind discriminator. */
19
39
  export function nodeJsonSchema(definition) {
20
- return toJsonSchema(definition.fields.extend({
21
- id: z.string().min(1),
40
+ return toJsonSchema(z.extend(definition.fields, {
41
+ id: z.string().check(z.minLength(1)),
22
42
  kind: z.literal(definition.kind),
23
43
  }));
24
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/schema/json-schema.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,7 @@ export interface Schema<Defs extends readonly AnyNodeDefinition[] = readonly Any
12
12
  readonly definitions: Defs;
13
13
  readonly kinds: readonly Defs[number]["kind"][];
14
14
  readonly edgeKinds: readonly string[];
15
- definition<K extends Defs[number]["kind"]>(kind: K): Extract<Defs[number], {
16
- kind: K;
17
- }>;
15
+ definition<K extends Defs[number]["kind"]>(kind: K): DefinitionOfKind<Defs[number], K>;
18
16
  tryDefinition(kind: string): Defs[number] | undefined;
19
17
  edge(kind: string): EdgeKindInfo | undefined;
20
18
  /** Whether an edge of `kind` may run from one node kind to another. */
@@ -24,10 +22,27 @@ export interface Schema<Defs extends readonly AnyNodeDefinition[] = readonly Any
24
22
  /** Phantom carrier for the node union — never populated at runtime. */
25
23
  readonly __node: NodeOf<Defs[number]>;
26
24
  }
25
+ /**
26
+ * THE DEFINITION OF ONE KIND: the one that names it, in a schema whose kinds
27
+ * are known; any definition, narrowed to that kind, in one whose kinds are
28
+ * only `string` (`AnySchema`), where the exact one cannot be picked out and
29
+ * `Extract` would leave nothing.
30
+ */
31
+ export type DefinitionOfKind<D extends AnyNodeDefinition, K extends string> = D extends {
32
+ readonly kind: infer Named;
33
+ } ? (K extends Named ? D : never) : never;
27
34
  export type AnySchema = Schema<readonly AnyNodeDefinition[]>;
28
35
  export type NodeOfSchema<S extends AnySchema> = S["__node"];
29
36
  export type KindOfSchema<S extends AnySchema> = NodeOfSchema<S>["kind"];
30
- export type NodeOfKind<S extends AnySchema, K extends KindOfSchema<S>> = Extract<NodeOfSchema<S>, {
37
+ /**
38
+ * A node of one kind: the kind's own node in a schema whose kinds are known;
39
+ * any node of that kind in one whose kinds are only `string` (`AnySchema`,
40
+ * as an unbound `defineInvariant` sees it), where `Extract` would leave
41
+ * nothing and every field read off it would be `never`.
42
+ */
43
+ export type NodeOfKind<S extends AnySchema, K extends KindOfSchema<S>> = string extends KindOfSchema<S> ? NodeOfSchema<S> & {
44
+ readonly kind: K;
45
+ } : Extract<NodeOfSchema<S>, {
31
46
  kind: K;
32
47
  }>;
33
48
  export declare class SchemaError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAEjB,MAAM,EACN,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM,CAAC,IAAI,SAAS,SAAS,iBAAiB,EAAE,GAAG,SAAS,iBAAiB,EAAE;IAC9F,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,UAAU,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EACvC,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACtC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAC7C,uEAAuE;IACvE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,gEAAgE;IAChE,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;AAC7D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAC9E,YAAY,CAAC,CAAC,CAAC,EACf;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CACZ,CAAC;AAEF,qBAAa,WAAY,SAAQ,KAAK;IAGlC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;gBADtB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,MAAM,YAAA;CAKzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,SAAS,iBAAiB,EAAE,EAC1E,WAAW,EAAE,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAC5C,MAAM,CAAC,IAAI,CAAC,CAuGd"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "./zod.js";
2
2
  export class SchemaError extends Error {
3
3
  hint;
4
4
  constructor(message, hint) {
@@ -54,7 +54,7 @@ export function createSchema(definitions) {
54
54
  }
55
55
  const nodeSchemas = new Map();
56
56
  for (const def of defs) {
57
- nodeSchemas.set(def.kind, def.fields.extend({ id: z.string().min(1), kind: z.literal(def.kind) }));
57
+ nodeSchemas.set(def.kind, z.extend(def.fields, { id: z.string().check(z.minLength(1)), kind: z.literal(def.kind) }));
58
58
  }
59
59
  return {
60
60
  definitions: defs,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export * from "zod/mini";
2
+ /** A schema's definition, classic or mini: what zod keeps on `_zod.def`. */
3
+ export type ZodDef = {
4
+ readonly type?: string;
5
+ readonly innerType?: unknown;
6
+ readonly options?: readonly unknown[];
7
+ readonly element?: unknown;
8
+ readonly values?: readonly unknown[];
9
+ readonly entries?: Record<string, string | number>;
10
+ readonly checks?: readonly unknown[];
11
+ readonly pattern?: unknown;
12
+ readonly format?: string;
13
+ readonly [key: string]: unknown;
14
+ };
15
+ export declare const defOf: (schema: unknown) => ZodDef | undefined;
16
+ /** What a schema was described as (`.describe(…)` classic, `z.describe(…)` mini): the registry holds both. */
17
+ export declare const descriptionOf: (schema: unknown) => string | undefined;
18
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/schema/zod.ts"],"names":[],"mappings":"AAQA,cAAc,UAAU,CAAC;AA8BzB,4EAA4E;AAC5E,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,QAAQ,OAAO,KAAG,MAAM,GAAG,SAC8D,CAAC;AAEhH,8GAA8G;AAC9G,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,MAAM,GAAG,SAIxD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { config, globalRegistry } from "zod/mini";
2
+ import en from "zod/v4/locales/en.js";
3
+ /*
4
+ * Imported as a namespace (`import * as z from "./zod.js"`) and never
5
+ * re-exported as one: a namespace object handed on as a value is one a
6
+ * bundler must keep whole, which is the cost this module exists to avoid.
7
+ */
8
+ export * from "zod/mini";
9
+ /*
10
+ * THE FRAMEWORK'S OWN ZOD: zod/mini, over the one copy of zod a product
11
+ * resolves.
12
+ *
13
+ * A product writes `z.string().min(1)` with the classic `z` that
14
+ * `@graview/core` re-exports, and pays for classic zod in its own bundle
15
+ * by choosing it. The framework itself builds schemas too — the document
16
+ * format, a compiled document's fields, the derived edit acts — and built
17
+ * them with the same classic `z`, which a bundler keeps whole: every page
18
+ * that compiled a document carried 188 KB of zod (FR-57). zod/mini is the
19
+ * same zod (one `$ZodType`, one registry, one parse) with functions in
20
+ * place of methods, so a bundler keeps only what is called — about 25 KB.
21
+ *
22
+ * Classic and mini schemas mix freely: a mini object may hold a classic
23
+ * field and the other way round, and both parse, describe themselves in
24
+ * the global registry and keep their definition on `_zod.def`. So the
25
+ * framework reads a schema only through `_zod.def` (`defOf`) and the
26
+ * registry (`descriptionOf`), never through a classic-only method.
27
+ *
28
+ * Mini carries no messages of its own until a locale is configured; classic
29
+ * configures English when it loads. Configured here too, so a document's
30
+ * findings say "Too big: expected string to have <=500 characters" whether
31
+ * or not anything on the page loaded classic — and only where nobody has
32
+ * chosen a locale, as classic does, so a product's own choice stands.
33
+ */
34
+ if (!config().localeError)
35
+ config(en());
36
+ export const defOf = (schema) => typeof schema === "object" && schema !== null ? schema._zod?.def : undefined;
37
+ /** What a schema was described as (`.describe(…)` classic, `z.describe(…)` mini): the registry holds both. */
38
+ export const descriptionOf = (schema) => {
39
+ if (typeof schema !== "object" || schema === null || !("_zod" in schema))
40
+ return undefined;
41
+ const said = globalRegistry.get(schema)?.description;
42
+ return typeof said === "string" ? said : undefined;
43
+ };
44
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAoB,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEtC;;;;GAIG;AACH,cAAc,UAAU,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW;IAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAiBxC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAe,EAAsB,EAAE,CAC3D,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAE,MAAsC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAEhH,8GAA8G;AAC9G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAsB,EAAE;IACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAqB,CAAC,EAAE,WAAW,CAAC;IACpE,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC,CAAC"}
package/dist/seen.d.ts CHANGED
@@ -1,5 +1,10 @@
1
+ import type { GraphDiff } from "./graph/diff.js";
2
+ import type { GraphNodeBase } from "./graph/types.js";
3
+ import type { GraphEdge } from "./graph/types.js";
4
+ import type { Violation } from "./invariants/types.js";
1
5
  import { type LogReading } from "./ops/log.js";
2
6
  import type { Operation } from "./ops/types.js";
7
+ import { type SeatLens } from "./ops/withheld.js";
3
8
  import type { Policy, Principal } from "./permissions/types.js";
4
9
  import type { AnySchema } from "./schema/schema.js";
5
10
  import type { Store } from "./store.js";
@@ -17,12 +22,21 @@ interface Judged {
17
22
  in(id: string): readonly {
18
23
  readonly id: string;
19
24
  }[];
25
+ /** A store's own graph says its links, so an op can be judged where it stood (FR-55). */
26
+ outEdges?(id: string): readonly GraphEdge[];
27
+ inEdges?(id: string): readonly GraphEdge[];
20
28
  };
21
29
  readonly log: LogReading;
22
30
  /** The kinds of the modules this workspace has off (FR-12), kept from every seat as a sight keeps a record. */
23
31
  readonly modules?: {
24
32
  readonly disabledKinds: ReadonlySet<string>;
25
33
  };
34
+ /** The declaration, to say which of a kind's fields a record may be served without (FR-55). */
35
+ readonly schema?: {
36
+ tryDefinition(kind: string): {
37
+ readonly fields: unknown;
38
+ } | undefined;
39
+ };
26
40
  }
27
41
  /**
28
42
  * WHETHER ANYTHING IS KEPT FROM THIS SEAT: a sight the policy declares
@@ -43,8 +57,47 @@ export declare function hidesFrom(store: Judged, principal: Principal): boolean;
43
57
  * made what is an index the log keeps as it goes (`recordsOf`).
44
58
  */
45
59
  export declare function seesId(store: Judged, principal: Principal): (id: string) => boolean;
46
- /** The store's log as one seat may read it: every op in its place, the ones it may not see withheld (FR-16). */
60
+ /**
61
+ * WHAT ONE SEAT IS SERVED (FR-55) — the judgement every surface built on
62
+ * the seat view reads, so a snapshot, a log, an answer and the wire cannot
63
+ * disagree about it.
64
+ *
65
+ * Its sight (`seesId`) says which records it may be told of. An id is
66
+ * minted from a label, so a seen record's field that holds the id of one
67
+ * it may not see tells it that record's name: such a field is CLEARED in
68
+ * what the seat is served — the record stays, usable, without it — when
69
+ * the kind's declaration lets a record be without it. When the field is
70
+ * one the record cannot do without, clearing it would serve a record that
71
+ * fails its own declaration, and a client refuses to load that: the record
72
+ * is WITHHELD from the seat whole instead, as if its sight did not reach
73
+ * it — not in the graph, the snapshot, the log's primitives or an edge.
74
+ * Which ids a field names is judged by the seat's sight alone, so a record
75
+ * naming one withheld this way still names a record the seat may see.
76
+ */
77
+ export declare function seatLens(store: Judged, principal: Principal): SeatLens;
78
+ /** The store's log as one seat may read it: every op in its place, the ones it may not see withheld (FR-16), and no id it may not see in any of them (FR-55). */
47
79
  export declare function logSeenBy(store: Judged, principal: Principal): readonly Operation[];
80
+ /**
81
+ * A CHANGE'S ANSWER AS ONE SEAT MAY BE TOLD IT (FR-55) — the diff, the
82
+ * primitives, the ops and the rules it would break or mend of a preview,
83
+ * an apply or an undo, for a surface that hands a seat what its own act
84
+ * did: an act may touch what its own seat may not see. Records and edges
85
+ * it is not served go, a field naming one it may not see is cleared as
86
+ * the view clears it, the ops are redacted as its log is, and a sentence
87
+ * that names what it may not see says only that a change it cannot see
88
+ * happened. With nothing kept from the seat, the answer as it is.
89
+ */
90
+ export declare function answerSeenBy<A extends {
91
+ readonly diff?: GraphDiff<GraphNodeBase>;
92
+ readonly primitives?: readonly unknown[];
93
+ readonly reads?: readonly string[];
94
+ readonly writes?: readonly string[];
95
+ readonly intent?: string;
96
+ readonly introduces?: readonly Violation[];
97
+ readonly resolves?: readonly Violation[];
98
+ readonly violationsAfter?: readonly Violation[];
99
+ readonly ops?: readonly Operation[];
100
+ }>(store: Judged, principal: Principal, answer: A): A;
48
101
  /** A log reading over a seat's redacted ops, for `checkUndo`. */
49
102
  export declare function readingOf(ops: readonly Operation[], epochs: LogReading["epochs"]): LogReading;
50
103
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAS,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,qFAAqF;AACrF,UAAU,MAAM;IACd,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE;QACd,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;QAChF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACpD,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACpD,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,+GAA+G;IAC/G,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CACpE;AAaD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAWnF;AAED,gHAAgH;AAChH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,SAAS,EAAE,CAGnF;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAE7F;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CA2H3F"}
1
+ {"version":3,"file":"seen.d.ts","sourceRoot":"","sources":["../src/seen.ts"],"names":[],"mappings":"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"}