@graview/core 0.1.20 → 0.1.22

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 (196) hide show
  1. package/README.md +28 -0
  2. package/dist/blocks.d.ts +3 -0
  3. package/dist/blocks.d.ts.map +1 -1
  4. package/dist/blocks.js +2 -0
  5. package/dist/blocks.js.map +1 -1
  6. package/dist/capabilities.js +1 -1
  7. package/dist/capabilities.js.map +1 -1
  8. package/dist/cli/check/computed.d.ts +4 -2
  9. package/dist/cli/check/computed.d.ts.map +1 -1
  10. package/dist/cli/check/computed.js +7 -4
  11. package/dist/cli/check/computed.js.map +1 -1
  12. package/dist/cli/check/lenses.d.ts.map +1 -1
  13. package/dist/cli/check/lenses.js +4 -2
  14. package/dist/cli/check/lenses.js.map +1 -1
  15. package/dist/cli/check/policy.d.ts.map +1 -1
  16. package/dist/cli/check/policy.js +12 -4
  17. package/dist/cli/check/policy.js.map +1 -1
  18. package/dist/cli/check/relations.d.ts +0 -11
  19. package/dist/cli/check/relations.d.ts.map +1 -1
  20. package/dist/cli/check/relations.js +21 -46
  21. package/dist/cli/check/relations.js.map +1 -1
  22. package/dist/cli/check/views.d.ts.map +1 -1
  23. package/dist/cli/check/views.js +3 -2
  24. package/dist/cli/check/views.js.map +1 -1
  25. package/dist/cli/check.d.ts.map +1 -1
  26. package/dist/cli/check.js +1 -2
  27. package/dist/cli/check.js.map +1 -1
  28. package/dist/cli/describe.d.ts.map +1 -1
  29. package/dist/cli/describe.js +23 -2
  30. package/dist/cli/describe.js.map +1 -1
  31. package/dist/cli/doctor.d.ts +34 -0
  32. package/dist/cli/doctor.d.ts.map +1 -0
  33. package/dist/cli/doctor.js +346 -0
  34. package/dist/cli/doctor.js.map +1 -0
  35. package/dist/cli/document-schema.d.ts +6 -0
  36. package/dist/cli/document-schema.d.ts.map +1 -0
  37. package/dist/cli/document-schema.js +55 -0
  38. package/dist/cli/document-schema.js.map +1 -0
  39. package/dist/cli/index.d.ts +3 -1
  40. package/dist/cli/index.d.ts.map +1 -1
  41. package/dist/cli/index.js +41 -2
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/types.d.ts +12 -0
  44. package/dist/cli/types.d.ts.map +1 -0
  45. package/dist/cli/types.js +95 -0
  46. package/dist/cli/types.js.map +1 -0
  47. package/dist/conformance/fixtures.d.ts.map +1 -1
  48. package/dist/conformance/fixtures.js +6 -3
  49. package/dist/conformance/fixtures.js.map +1 -1
  50. package/dist/describe.d.ts +3 -1
  51. package/dist/describe.d.ts.map +1 -1
  52. package/dist/describe.js +9 -0
  53. package/dist/describe.js.map +1 -1
  54. package/dist/document/block-context.d.ts +50 -0
  55. package/dist/document/block-context.d.ts.map +1 -0
  56. package/dist/document/block-context.js +69 -0
  57. package/dist/document/block-context.js.map +1 -0
  58. package/dist/document/blocks.d.ts +24 -10
  59. package/dist/document/blocks.d.ts.map +1 -1
  60. package/dist/document/blocks.js +50 -39
  61. package/dist/document/blocks.js.map +1 -1
  62. package/dist/document/compile-checked.d.ts.map +1 -1
  63. package/dist/document/compile-checked.js +6 -3
  64. package/dist/document/compile-checked.js.map +1 -1
  65. package/dist/document/compile.d.ts +1 -1
  66. package/dist/document/compile.d.ts.map +1 -1
  67. package/dist/document/compile.js +8 -3
  68. package/dist/document/compile.js.map +1 -1
  69. package/dist/document/compiled.d.ts +2 -0
  70. package/dist/document/compiled.d.ts.map +1 -1
  71. package/dist/document/compiled.js +31 -27
  72. package/dist/document/compiled.js.map +1 -1
  73. package/dist/document/computed-values.d.ts +6 -1
  74. package/dist/document/computed-values.d.ts.map +1 -1
  75. package/dist/document/computed-values.js +7 -4
  76. package/dist/document/computed-values.js.map +1 -1
  77. package/dist/document/computed.d.ts +21 -0
  78. package/dist/document/computed.d.ts.map +1 -1
  79. package/dist/document/computed.js +54 -4
  80. package/dist/document/computed.js.map +1 -1
  81. package/dist/document/describe-place.d.ts +15 -0
  82. package/dist/document/describe-place.d.ts.map +1 -1
  83. package/dist/document/describe-place.js +33 -28
  84. package/dist/document/describe-place.js.map +1 -1
  85. package/dist/document/diff.d.ts.map +1 -1
  86. package/dist/document/diff.js +22 -0
  87. package/dist/document/diff.js.map +1 -1
  88. package/dist/document/edit.d.ts.map +1 -1
  89. package/dist/document/edit.js +34 -0
  90. package/dist/document/edit.js.map +1 -1
  91. package/dist/document/expr/evaluate.d.ts +7 -1
  92. package/dist/document/expr/evaluate.d.ts.map +1 -1
  93. package/dist/document/expr/evaluate.js +19 -5
  94. package/dist/document/expr/evaluate.js.map +1 -1
  95. package/dist/document/expr/index.d.ts +1 -1
  96. package/dist/document/expr/index.d.ts.map +1 -1
  97. package/dist/document/expr/index.js +1 -1
  98. package/dist/document/expr/index.js.map +1 -1
  99. package/dist/document/expr/parse.js +1 -1
  100. package/dist/document/expr/parse.js.map +1 -1
  101. package/dist/document/fact-values.d.ts +21 -0
  102. package/dist/document/fact-values.d.ts.map +1 -0
  103. package/dist/document/fact-values.js +24 -0
  104. package/dist/document/fact-values.js.map +1 -0
  105. package/dist/document/facts-and-roles.d.ts +17 -0
  106. package/dist/document/facts-and-roles.d.ts.map +1 -0
  107. package/dist/document/facts-and-roles.js +75 -0
  108. package/dist/document/facts-and-roles.js.map +1 -0
  109. package/dist/document/resolve-for.d.ts +29 -0
  110. package/dist/document/resolve-for.d.ts.map +1 -0
  111. package/dist/document/resolve-for.js +23 -0
  112. package/dist/document/resolve-for.js.map +1 -0
  113. package/dist/document/respell.js +2 -2
  114. package/dist/document/respell.js.map +1 -1
  115. package/dist/document/rule-line.d.ts.map +1 -1
  116. package/dist/document/rule-line.js +6 -2
  117. package/dist/document/rule-line.js.map +1 -1
  118. package/dist/document/rules.d.ts.map +1 -1
  119. package/dist/document/rules.js +5 -1
  120. package/dist/document/rules.js.map +1 -1
  121. package/dist/document/schema.d.ts +8 -0
  122. package/dist/document/schema.d.ts.map +1 -1
  123. package/dist/document/schema.js +20 -3
  124. package/dist/document/schema.js.map +1 -1
  125. package/dist/document/to-document.d.ts.map +1 -1
  126. package/dist/document/to-document.js +2 -0
  127. package/dist/document/to-document.js.map +1 -1
  128. package/dist/document/views.d.ts +15 -1
  129. package/dist/document/views.d.ts.map +1 -1
  130. package/dist/document/views.js +82 -34
  131. package/dist/document/views.js.map +1 -1
  132. package/dist/document.schema.json +1655 -0
  133. package/dist/index.d.ts +1 -9
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +2 -5
  136. package/dist/index.js.map +1 -1
  137. package/dist/invariants/engine.d.ts +13 -0
  138. package/dist/invariants/engine.d.ts.map +1 -1
  139. package/dist/invariants/engine.js +16 -1
  140. package/dist/invariants/engine.js.map +1 -1
  141. package/dist/invariants/types.d.ts +7 -4
  142. package/dist/invariants/types.d.ts.map +1 -1
  143. package/dist/lines.d.ts +23 -3
  144. package/dist/lines.d.ts.map +1 -1
  145. package/dist/lines.js +38 -6
  146. package/dist/lines.js.map +1 -1
  147. package/dist/places.d.ts.map +1 -1
  148. package/dist/places.js +1 -1
  149. package/dist/places.js.map +1 -1
  150. package/dist/scaffold/project.d.ts.map +1 -1
  151. package/dist/scaffold/project.js +5 -0
  152. package/dist/scaffold/project.js.map +1 -1
  153. package/dist/schema/define-node.d.ts.map +1 -1
  154. package/dist/schema/define-node.js +6 -4
  155. package/dist/schema/define-node.js.map +1 -1
  156. package/dist/schema/schema.d.ts +10 -2
  157. package/dist/schema/schema.d.ts.map +1 -1
  158. package/dist/schema/schema.js +4 -1
  159. package/dist/schema/schema.js.map +1 -1
  160. package/dist/seen.d.ts.map +1 -1
  161. package/dist/seen.js +5 -2
  162. package/dist/seen.js.map +1 -1
  163. package/dist/snapshot.d.ts +67 -0
  164. package/dist/snapshot.d.ts.map +1 -0
  165. package/dist/snapshot.js +181 -0
  166. package/dist/snapshot.js.map +1 -0
  167. package/dist/store.d.ts +32 -2
  168. package/dist/store.d.ts.map +1 -1
  169. package/dist/store.js +48 -35
  170. package/dist/store.js.map +1 -1
  171. package/dist/sync/engine.d.ts +93 -9
  172. package/dist/sync/engine.d.ts.map +1 -1
  173. package/dist/sync/engine.js +357 -48
  174. package/dist/sync/engine.js.map +1 -1
  175. package/dist/sync/index.d.ts +11 -0
  176. package/dist/sync/index.d.ts.map +1 -0
  177. package/dist/sync/index.js +15 -0
  178. package/dist/sync/index.js.map +1 -0
  179. package/dist/sync/mcp.d.ts +124 -0
  180. package/dist/sync/mcp.d.ts.map +1 -0
  181. package/dist/sync/mcp.js +247 -0
  182. package/dist/sync/mcp.js.map +1 -0
  183. package/dist/sync/types.d.ts +35 -0
  184. package/dist/sync/types.d.ts.map +1 -1
  185. package/dist/sync/types.js.map +1 -1
  186. package/dist/testing.d.ts +30 -0
  187. package/dist/testing.d.ts.map +1 -1
  188. package/dist/testing.js +38 -0
  189. package/dist/testing.js.map +1 -1
  190. package/dist/typed.d.ts +267 -0
  191. package/dist/typed.d.ts.map +1 -0
  192. package/dist/typed.js +35 -0
  193. package/dist/typed.js.map +1 -0
  194. package/dist/version.d.ts +1 -1
  195. package/dist/version.js +1 -1
  196. package/package.json +16 -3
@@ -2,7 +2,9 @@
2
2
  import type { GraviewApp } from "../app.js";
3
3
  import type { AnySchema } from "../schema/schema.js";
4
4
  import { compileDocument } from "../document/compile-checked.js";
5
- export declare const USAGE = "graview \u2014 start a product, check its declaration, write its agent docs\n\n graview create <dir> [--name \"Field Notes\"] [--kind note] [--plural notes]\n Starts a product on Graview in <dir>: the declaration split into domain\n and UI, an eighty-line shell, a headless test, a CI workflow.\n --name <text> the product's name (default: from <dir>)\n --kind <slug> the first node kind (default: item)\n --plural <slug> its plural (default: <kind>s)\n --link <path> consume the framework from a sibling checkout by\n path rather than from a registry\n --pm pnpm|npm the package manager (default: whichever ran this)\n --port <n> the dev server port (default: 5170)\n --accent <#hex> the brand accent (default: a worked green)\n --no-install write the files and stop\n --no-skills do not install the authoring skills\n --no-git do not initialize a git repository\n --workspace the layout every real product ends up with: a\n workspace root with the app under app/ and the\n harness scripts at the root\n --merge write only the files that do not exist yet, and\n name every collision without touching it\n --force write into a directory that is not empty\n --template <file|url>\n start from a template made anywhere (Graview\n Cloud's graview-template shape): the project keeps\n its document as src/domain/app.json and the\n template as template.json, for `graview apply\n --template` to set a store up from. Named after\n the template unless --name says otherwise.\n\n\n graview check <entry> [--views <module>] [--json]\n Loads <entry> (a module whose default export, or `app` export, is a\n GraviewApp) and reports schema problems. Exits 1 on any error.\n\n --document <file>\n Any command that takes an <entry> takes a declaration document instead\n (a .json file in the Graview document format): compiled, never run as\n code, and checked with the JSON path of every finding. With\n --previous <file>, check holds every renamedFrom to the version before.\n A template (a graview-template .json) is read as the document inside it.\n\n graview docs <entry> [--out <dir>] [--views <module>]\n Writes llms.txt and agents.md next to the entry, or into <dir>.\n\n graview describe <entry> [--as <role>] [--views <module>] [--place <slug|id>]\n Reads the app out: what a blank installation meets and in what order,\n what is drawn and what falls back, the hues, what a seat may do, how a\n model is reached, what is judged. The rung between check and a browser\n \u2014 \"run it and look\" for something that cannot see.\n --place <slug|id> [--seed <snapshot.json>] [--width <px>] [--id <who>] says what one\n place shows that seat instead: headings, figures, lists and problems.\n\n graview lens <name> --roles a,b,c [--binds fields|entities] [--dir <dir>]\n Writes a lens that compiles: the role check that fails loudly, the\n createXLens factory, three fidelities, pick targets \u2014 and beside it a\n REUSE TEST in a domain the app is not about, red until you make the\n claim true. If you cannot make it pass, you wrote a view, and a view\n is a legitimate thing to have written.\n\n graview figure <entry> --kind <kind> [--name <shipped>]\n [--from \"<what the thing is>\"] [--judge <file|->]\n Prints the figure line to paste into defineNode. With --name it is one\n of the shipped drawings; with neither, it suggests the nearest one by\n name and says so. --from prints the brief to hand a model \u2014 the rules,\n the angle and a shipped figure as the style \u2014 and --judge reads the\n answer back, holds it to the rules graview check holds a figure to, and\n prints the line. Nine shipped figures is a vocabulary to start from,\n not a vocabulary to finish in.\n";
5
+ export { diagnose, doctor, DOCTOR_USAGE } from "./doctor.js";
6
+ export type { DoctorFinding, DoctorLevel } from "./doctor.js";
7
+ export declare const USAGE = "graview \u2014 start a product, check its declaration, write its agent docs\n\n graview create <dir> [--name \"Field Notes\"] [--kind note] [--plural notes]\n Starts a product on Graview in <dir>: the declaration split into domain\n and UI, an eighty-line shell, a headless test, a CI workflow.\n --name <text> the product's name (default: from <dir>)\n --kind <slug> the first node kind (default: item)\n --plural <slug> its plural (default: <kind>s)\n --link <path> consume the framework from a sibling checkout by\n path rather than from a registry\n --pm pnpm|npm the package manager (default: whichever ran this)\n --port <n> the dev server port (default: 5170)\n --accent <#hex> the brand accent (default: a worked green)\n --no-install write the files and stop\n --no-skills do not install the authoring skills\n --no-git do not initialize a git repository\n --workspace the layout every real product ends up with: a\n workspace root with the app under app/ and the\n harness scripts at the root\n --merge write only the files that do not exist yet, and\n name every collision without touching it\n --force write into a directory that is not empty\n --template <file|url>\n start from a template made anywhere (Graview\n Cloud's graview-template shape): the project keeps\n its document as src/domain/app.json and the\n template as template.json, for `graview apply\n --template` to set a store up from. Named after\n the template unless --name says otherwise.\n\n\n graview check <entry> [--views <module>] [--json]\n Loads <entry> (a module whose default export, or `app` export, is a\n GraviewApp) and reports schema problems. Exits 1 on any error.\n\n --document <file>\n Any command that takes an <entry> takes a declaration document instead\n (a .json file in the Graview document format): compiled, never run as\n code, and checked with the JSON path of every finding. With\n --previous <file>, check holds every renamedFrom to the version before.\n A template (a graview-template .json) is read as the document inside it.\n\n graview doctor [<dir>] [--document <file>] [--json]\n Says whether the product in <dir> (default .) is on one Graview\n release: every graview and @graview/* pin in its package.json the same\n version, its lockfile and its node_modules holding that version, each\n declaration document's formatVersion one the installed core reads, and\n react beside react-dom at one version (React refuses a mismatched pair\n at startup, and the page is blank). Each problem is said with its fix;\n exits 1 on any.\n\n graview docs <entry> [--out <dir>] [--views <module>]\n Writes llms.txt and agents.md next to the entry, or into <dir>.\n\n graview describe <entry> [--as <role>] [--views <module>] [--place <slug|id>]\n Reads the app out: what a blank installation meets and in what order,\n what is drawn and what falls back, the hues, what a seat may do, how a\n model is reached, what is judged. The rung between check and a browser\n \u2014 \"run it and look\" for something that cannot see.\n --place <slug|id> [--seed <snapshot.json>] [--width <px>] [--id <who>] says what one\n place shows that seat instead: headings, figures, lists and problems.\n\n graview types <document.json> [--out <file.d.ts>]\n Writes the document's kinds, fields and relations as TypeScript: each\n kind's record with its fields' own types (an enum's options as a\n union), and the Types that typedReader (@graview/core/typed) reads a\n store through \u2014 so a renamed field or relation fails tsc in the\n product that reads it. To stdout, or to --out.\n\n graview lens <name> --roles a,b,c [--binds fields|entities] [--dir <dir>]\n Writes a lens that compiles: the role check that fails loudly, the\n createXLens factory, three fidelities, pick targets \u2014 and beside it a\n REUSE TEST in a domain the app is not about, red until you make the\n claim true. If you cannot make it pass, you wrote a view, and a view\n is a legitimate thing to have written.\n\n graview figure <entry> --kind <kind> [--name <shipped>]\n [--from \"<what the thing is>\"] [--judge <file|->]\n Prints the figure line to paste into defineNode. With --name it is one\n of the shipped drawings; with neither, it suggests the nearest one by\n name and says so. --from prints the brief to hand a model \u2014 the rules,\n the angle and a shipped figure as the style \u2014 and --judge reads the\n answer back, holds it to the rules graview check holds a figure to, and\n prints the line. Nine shipped figures is a vocabulary to start from,\n not a vocabulary to finish in.\n";
6
8
  /**
7
9
  * THE ENTRY A COMMAND IS ABOUT: `--document <file>` when given, otherwise
8
10
  * the module named where the command expects it. A document is JSON a host
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAWjE,eAAO,MAAM,KAAK,ysIA0CjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,uEAAuE;AACvE,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAAkC,CAAC;AAE9E,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAGjG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhD;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAehE;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAc/H;AAeD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkM1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU9D,eAAO,MAAM,KAAK,+nKAkDjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,uEAAuE;AACvE,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAAkC,CAAC;AAE9E,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAGjG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhD;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAehE;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAc/H;AAeD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4N1D"}
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { existsSync, mkdirSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
3
3
  import { mkdir, writeFile } from "node:fs/promises";
4
- import { dirname, resolve } from "node:path";
4
+ import { dirname, relative, resolve } from "node:path";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
6
  import { checkApp, formatFindings } from "./check.js";
7
7
  import { readDocument } from "../document/compile.js";
@@ -9,12 +9,16 @@ import { compileDocument } from "../document/compile-checked.js";
9
9
  import { sayFindings } from "../document/findings.js";
10
10
  import { isGraviewTemplate } from "../document/graview-template.js";
11
11
  import { create, CREATE_USAGE } from "./create.js";
12
+ import { doctor, DOCTOR_USAGE } from "./doctor.js";
13
+ export { diagnose, doctor, DOCTOR_USAGE } from "./doctor.js";
12
14
  import { describeApp } from "./describe.js";
13
15
  import { describePlace } from "../document/describe-place.js";
14
16
  import { Store } from "../store.js";
17
+ import { readSnapshot } from "../snapshot.js";
15
18
  import { generateAgentsMd, generateLlmsTxt } from "./docs.js";
16
19
  import { figureBrief, figureFaults, FIGURE_NAMES, FIGURES } from "../schema/figures.js";
17
20
  import { scaffoldLens, validateLensOptions } from "../scaffold/lens.js";
21
+ import { documentTypes } from "./types.js";
18
22
  export const USAGE = `graview — start a product, check its declaration, write its agent docs
19
23
 
20
24
  ${CREATE_USAGE}
@@ -30,6 +34,7 @@ ${CREATE_USAGE}
30
34
  --previous <file>, check holds every renamedFrom to the version before.
31
35
  A template (a graview-template .json) is read as the document inside it.
32
36
 
37
+ ${DOCTOR_USAGE}
33
38
  graview docs <entry> [--out <dir>] [--views <module>]
34
39
  Writes llms.txt and agents.md next to the entry, or into <dir>.
35
40
 
@@ -41,6 +46,13 @@ ${CREATE_USAGE}
41
46
  --place <slug|id> [--seed <snapshot.json>] [--width <px>] [--id <who>] says what one
42
47
  place shows that seat instead: headings, figures, lists and problems.
43
48
 
49
+ graview types <document.json> [--out <file.d.ts>]
50
+ Writes the document's kinds, fields and relations as TypeScript: each
51
+ kind's record with its fields' own types (an enum's options as a
52
+ union), and the Types that typedReader (@graview/core/typed) reads a
53
+ store through — so a renamed field or relation fails tsc in the
54
+ product that reads it. To stdout, or to --out.
55
+
44
56
  graview lens <name> --roles a,b,c [--binds fields|entities] [--dir <dir>]
45
57
  Writes a lens that compiles: the role check that fails loudly, the
46
58
  createXLens factory, three fidelities, pick targets — and beside it a
@@ -163,6 +175,8 @@ export async function main(argv) {
163
175
  }
164
176
  if (command === "create")
165
177
  return create(argv.slice(1));
178
+ if (command === "doctor")
179
+ return doctor(argv.slice(1));
166
180
  if (command === "lens") {
167
181
  /*
168
182
  * A LENS, STARTED. The rules in `graview-lens` are the kind that are
@@ -212,6 +226,31 @@ export async function main(argv) {
212
226
  return 2;
213
227
  }
214
228
  switch (command) {
229
+ case "types": {
230
+ if (!isDocument(entry)) {
231
+ process.stderr.write(`graview types: ${entry} is not a declaration document — it reads a .json file in the Graview document format\n`);
232
+ return 2;
233
+ }
234
+ const { document, findings } = readDocument(documentIn(entry));
235
+ const errors = findings.filter((finding) => finding.severity === "error");
236
+ if (!document || errors.length > 0) {
237
+ process.stderr.write(`graview types: ${entry} is not a document that compiles, so it has no types to write:\n${sayFindings(errors.length > 0 ? errors : findings)}\n`);
238
+ return 1;
239
+ }
240
+ const text = documentTypes(document, relative(process.cwd(), resolve(process.cwd(), entry)));
241
+ const out = flag(argv, "--out");
242
+ if (!out) {
243
+ process.stdout.write(text);
244
+ return 0;
245
+ }
246
+ const path = resolve(process.cwd(), out);
247
+ mkdirSync(dirname(path), { recursive: true });
248
+ writeFileSync(path, text, "utf8");
249
+ const kinds = Object.keys(document.kinds).length;
250
+ const relations = Object.values(document.kinds).reduce((sum, kind) => sum + Object.keys(kind.edges ?? {}).length, 0);
251
+ process.stdout.write(`graview types: wrote ${out} — ${kinds} ${kinds === 1 ? "kind" : "kinds"} and ${relations} ${relations === 1 ? "relation" : "relations"}\n`);
252
+ return 0;
253
+ }
215
254
  case "check": {
216
255
  /*
217
256
  * A DOCUMENT IS CHECKED AS A DOCUMENT: its own findings — a rule that
@@ -258,7 +297,7 @@ export async function main(argv) {
258
297
  if (place !== undefined) {
259
298
  // One place, as one seat sees it, over the seed it is handed (FR-89).
260
299
  const seedFile = flag(argv, "--seed");
261
- const snapshot = seedFile ? JSON.parse(readFileSync(resolve(seedFile), "utf8")) : undefined;
300
+ const snapshot = seedFile ? readSnapshot(readFileSync(resolve(seedFile), "utf8")).snapshot : undefined;
262
301
  const store = new Store({ schema: app.schema, mutations: app.mutations ?? [], ...(app.policy ? { policy: app.policy } : {}), ...(snapshot ? { snapshot } : {}) });
263
302
  const width = Number(flag(argv, "--width") ?? "1440");
264
303
  const principal = role ? { kind: "human", id: flag(argv, "--id") ?? role, roles: [role] } : { kind: "system", id: "graview-describe" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAA4B,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG;;EAEnB,YAAY;;;;;;;;;;;;;EAaZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCb,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAuB,EAAE,EAAU;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE9E,0GAA0G;AAC1G,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,QAAiB;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAiC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa;IACzC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yCAAyC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrH,OAAO,QAAQ,CAAC,GAAiB,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAA4B,CAAC;IACnF,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAA2B,CAAC;IAC3E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,qEAAqE,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAsB,GAAkB,EAAE,MAA+B,EAAE,IAAY;IAC9G,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAE,SAA2B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAQ,QAAyC,CAAC,cAAc,KAAK,UAAU;QAC/E,OAAQ,QAAiC,CAAC,MAAM,KAAK,UAAU,CAAC;IAClE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,+HAA+H,CACvI,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAkC,EAAE,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAe,EAAE,KAAyB;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAA4B,CAAC;IACnF,OAAO,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,IAAuB,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB;;;;;WAKG;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,OAAO,GAAwB;YACnC,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5G,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxB,CAAC;QACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7E,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,0CAA0C,CAAC,CAAC;gBAC3F,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnD,kFAAkF;YAClF,iEAAiE,CACpE,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,yFAAyF,CAAC,CAAC;gBACvI,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,mEAAmE,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvK,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7F,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,MAAM,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;YAClK,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb;;;;;eAKG;YACH,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;oBAC/H,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,0CAA0C,IAAI,CAAC,CAAC;gBAC7I,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,OAAO,CACpB,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAC9D,CAAC;YACF,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,GAAG,MAAM,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM,SAAS,CAAC,GAAG,MAAM,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,MAAM,IAAI,CAAC,CAAC;YAClF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB;;;;eAIG;YACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvG,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClK,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC;gBACzJ,MAAM,IAAI,GAAG,aAAa,CAAC,KAAc,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAY,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/I,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnF,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;gBACnD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CACxF,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd;;;;;;;;;eASG;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAE,GAAG,CAAC,MAAM,CAAC,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,IAAI,sBAAsB,GAAG,CAAC,IAAI,kBAAmB,GAAG,CAAC,MAAM,CAAC,KAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/H,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD;;;;;;eAMG;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC5G,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kDAAkD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;wBAChG,gEAAgE,KAAK,WAAW,IAAI,gBAAgB,CACvG,CAAC;oBACF,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;oBAC5C,4BAA4B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iDAAiD,CACpG,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5F,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iGAAiG,EAAE;gBACjH,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;gBACxC,6BAA6B,IAAI,iCAAiC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CACjG,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;QACD;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,QAAQ,KAAK,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;AACH,CAAC;AACD,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnD,IAAI,eAAe,EAAE,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { FieldSpec, GraviewDocument } from "../document/schema.js";
2
+ /** The TypeScript a field of one declared type holds, as the store keeps it. */
3
+ export declare function fieldType(spec: FieldSpec): string;
4
+ /** Each kind's interface name: its own name in PascalCase, unless that is a name the file already uses. */
5
+ export declare function typeNames(document: GraviewDocument): Map<string, string>;
6
+ /**
7
+ * The `.d.ts` for a document: one interface per kind, `Kinds`, `Edges`,
8
+ * `Types`, `AnyRecord` and `Reader`. `from` is what the header says it was
9
+ * written from.
10
+ */
11
+ export declare function documentTypes(document: GraviewDocument, from?: string): string;
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwBxE,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAcjD;AAgBD,2GAA2G;AAC3G,wBAAgB,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,SAAiB,GAAG,MAAM,CA+BtF"}
@@ -0,0 +1,95 @@
1
+ /*
2
+ * `graview types <document>` — A DOCUMENT'S KINDS, FIELDS AND RELATIONS AS
3
+ * TYPESCRIPT.
4
+ *
5
+ * A face over a document read every record as `{ id, kind } &
6
+ * Record<string, unknown>`, its fields with `typeof` and its relations by
7
+ * bare strings, so a renamed relation was a blank section and not a compile
8
+ * error. This writes what the document declares as types — each kind's
9
+ * record with its fields' own types, an enum's options as a union — and the
10
+ * `Types` that `typedReader` (`@graview/core/typed`) reads a store through.
11
+ * `TypesOf<typeof document>` is the same for a `defineDocument`.
12
+ */
13
+ /** What the generated file names besides the kinds, which a kind's own name gives way to. */
14
+ const TAKEN = new Set(["Kinds", "Edges", "Types", "AnyRecord", "Reader", "TypedReader"]);
15
+ const IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
16
+ const pascal = (kind) => kind.replace(/(^|-)([a-z0-9])/g, (_, __, c) => c.toUpperCase());
17
+ const key = (name) => (IDENTIFIER.test(name) ? name : JSON.stringify(name));
18
+ const comment = (text, indent) => (text ? `${indent}/** ${text.replace(/\*\//g, "*\\/").replace(/\s*\n\s*/g, " ")} */\n` : "");
19
+ const union = (names) => (names.length === 0 ? "never" : names.map((name) => JSON.stringify(name)).join(" | "));
20
+ /** The TypeScript a field of one declared type holds, as the store keeps it. */
21
+ export function fieldType(spec) {
22
+ switch (spec.type) {
23
+ case "enum":
24
+ return union(spec.options ?? []);
25
+ case "number":
26
+ case "integer":
27
+ return "number";
28
+ case "boolean":
29
+ return "boolean";
30
+ case "list":
31
+ return spec.of === "number" ? "readonly number[]" : "readonly string[]";
32
+ default:
33
+ return "string";
34
+ }
35
+ }
36
+ /** What a string field holds, where its type says more than `string`. */
37
+ const HOLDS = {
38
+ date: "A day, as 2026-10-02.",
39
+ datetime: "A date and time, as ISO 8601.",
40
+ url: "A web address.",
41
+ email: "An email address.",
42
+ };
43
+ /** A field's comment: its description, the words it is shown by, and what a string of its type holds. */
44
+ function fieldNote(spec) {
45
+ const said = [spec.description, spec.label ? `Shown as "${spec.label}"` : undefined, HOLDS[spec.type], spec.unit ? `In ${spec.unit}` : undefined].filter((part) => Boolean(part));
46
+ return said.length > 0 ? said.map((part) => (/[.!?]$/.test(part) ? part : `${part}.`)).join(" ") : undefined;
47
+ }
48
+ /** Each kind's interface name: its own name in PascalCase, unless that is a name the file already uses. */
49
+ export function typeNames(document) {
50
+ const names = new Map();
51
+ const used = new Set(TAKEN);
52
+ for (const kind of Object.keys(document.kinds)) {
53
+ let name = pascal(kind);
54
+ while (used.has(name))
55
+ name = `${name}Record`;
56
+ used.add(name);
57
+ names.set(kind, name);
58
+ }
59
+ return names;
60
+ }
61
+ /**
62
+ * The `.d.ts` for a document: one interface per kind, `Kinds`, `Edges`,
63
+ * `Types`, `AnyRecord` and `Reader`. `from` is what the header says it was
64
+ * written from.
65
+ */
66
+ export function documentTypes(document, from = "the document") {
67
+ const names = typeNames(document);
68
+ const kinds = Object.keys(document.kinds);
69
+ const out = [];
70
+ out.push(`/*\n * The types of "${document.name.replace(/\*\//g, "*\\/")}"${document.version === undefined ? "" : ` (version ${document.version})`}, written by \`graview types ${from}\`.\n` +
71
+ ` * Do not edit: change the document and run it again. Read a store through\n` +
72
+ ` * them with \`typedReader<Types>(store)\` from "@graview/core/typed".\n */\n` +
73
+ `import type { TypedReader } from "@graview/core/typed";\n`);
74
+ for (const [kind, spec] of Object.entries(document.kinds)) {
75
+ let body = `${comment(spec.description, "")}export interface ${names.get(kind)} {\n readonly id: string;\n readonly kind: ${JSON.stringify(kind)};\n`;
76
+ for (const [field, f] of Object.entries(spec.fields)) {
77
+ body += `${comment(fieldNote(f), " ")} readonly ${key(field)}${f.required ? "" : "?"}: ${fieldType(f)};\n`;
78
+ }
79
+ out.push(`${body}}\n`);
80
+ }
81
+ out.push(`/** Every kind's record, by kind. */\nexport type Kinds = {\n${kinds.map((kind) => ` readonly ${key(kind)}: ${names.get(kind)};\n`).join("")}};\n`);
82
+ const edges = Object.entries(document.kinds).map(([kind, spec]) => {
83
+ const relations = Object.entries(spec.edges ?? {});
84
+ if (relations.length === 0)
85
+ return ` readonly ${key(kind)}: {};\n`;
86
+ const lines = relations.map(([edge, e]) => `${comment(e.description, " ")} readonly ${key(edge)}: ${e.to === "*" ? "keyof Kinds" : union(e.to)};\n`);
87
+ return ` readonly ${key(kind)}: {\n${lines.join("")} };\n`;
88
+ });
89
+ out.push(`/** The kinds each kind's relations reach, by kind and relation. */\nexport type Edges = {\n${edges.join("")}};\n`);
90
+ out.push(`/** The document's types: what \`typedReader\` reads a store through. */\nexport type Types = { readonly kinds: Kinds; readonly edges: Edges };\n` +
91
+ `/** A record of any kind. */\nexport type AnyRecord = Kinds[keyof Kinds];\n` +
92
+ `/** A store read through these types: \`typedReader<Types>(store)\`. */\nexport type Reader = TypedReader<Types>;\n`);
93
+ return out.join("\n");
94
+ }
95
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EAqB5C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,kBAAkB,EAwoCxC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EA0B5C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,kBAAkB,EAsoCxC,CAAC"}
@@ -19,6 +19,11 @@ export const ANNOUNCED = [
19
19
  version: "0.1.15",
20
20
  what: "FR-121: add-chore and remove-chore refuse an argument they do not take (additionalProperties: false).",
21
21
  },
22
+ {
23
+ fixture: "document:vendors",
24
+ version: "0.1.21",
25
+ what: "A role that only reads is not warned: the viewer role, which may run nothing and reads every kind where the policy keeps none, no longer draws warning:role-may-do-nothing. The warning stays for a role that can neither act nor see a kind.",
26
+ },
22
27
  ];
23
28
  export const FIXTURES = [
24
29
  {
@@ -224,9 +229,7 @@ export const FIXTURES = [
224
229
  },
225
230
  "expect": {
226
231
  "compiles": true,
227
- "findings": [
228
- "warning:role-may-do-nothing"
229
- ],
232
+ "findings": [],
230
233
  "tools": {
231
234
  "add-category": {
232
235
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export { describePlace, placeText } from "./document/describe-place.js";
2
2
  export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
3
3
  export type { ColumnMove, ColumnReach, StatusColumn } from "./columns.js";
4
- export type { DescribedItem, DescribedMasthead, DescribedPart, DescribedProblem, DescribePlaceOptions, DescribePlaceResult, PlaceDescription } from "./document/describe-place.js";
4
+ export type { DescribedFact, DescribedItem, DescribedMasthead, DescribedPart, DescribedProblem, DescribePlaceOptions, DescribePlaceResult, PlaceDescription } from "./document/describe-place.js";
5
+ export { resolveFor } from "./document/resolve-for.js";
6
+ export type { DeclaredBlocks, ResolveForOptions } from "./document/resolve-for.js";
5
7
  //# sourceMappingURL=describe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AASlM,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/describe.js CHANGED
@@ -16,4 +16,13 @@ export { describePlace, placeText } from "./document/describe-place.js";
16
16
  * describer reach it.
17
17
  */
18
18
  export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
19
+ /*
20
+ * A record's declared blocks — or the home's — resolved over what a seat
21
+ * may see exactly as the faces and the describer resolve them: one call for
22
+ * a product's own face. Here, beside the describer that goes through it,
23
+ * and not on `@graview/core/blocks`, which the faces import as they draw:
24
+ * they hold their blocks parsed and read them in `blockContextFor`'s
25
+ * context, and need no lookup of a declaration's views.
26
+ */
27
+ export { resolveFor } from "./document/resolve-for.js";
19
28
  //# sourceMappingURL=describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG1G;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { GraphReader } from "../graph/types.js";
2
+ import type { Principal } from "../permissions/types.js";
3
+ import type { AnySchema } from "../schema/schema.js";
4
+ import { type BlockContext } from "./blocks.js";
5
+ import type { Money } from "./template.js";
6
+ import type { ViewSlot } from "./views.js";
7
+ /** The steps each expression may take where blocks are drawn many times a frame: a card, a row. */
8
+ export declare const CARD_BUDGET = 500;
9
+ /**
10
+ * The steps each expression may take where blocks are drawn once — a
11
+ * record's page, the home, a blocks lens: they sweep whole kinds and walk
12
+ * every record under one.
13
+ */
14
+ export declare const PAGE_BUDGET = 20000;
15
+ /** How blocks are read: for which of a record's views, under what budget, at what heading, on what day, in what money. */
16
+ export interface BlockContextOptions {
17
+ /** Which of a record's views: its "page" (the default), its "card" or its "row". About no record, the home. */
18
+ readonly slot?: ViewSlot;
19
+ /**
20
+ * The steps each expression may take. `PAGE_BUDGET` where the blocks are
21
+ * drawn once — a page, the home, blocks about no record — and
22
+ * `CARD_BUDGET` for a card or a row, which a list draws many times.
23
+ */
24
+ readonly budget?: number;
25
+ /** The level a headline is said at: 2 on a page and the home, 3 in a card or a row. */
26
+ readonly heading?: number;
27
+ /** The level of the first headline where it is the page's own heading: 1 on the home. */
28
+ readonly firstHeading?: number | undefined;
29
+ /** The day it is, for dates said relatively: the store's own day, else today. */
30
+ readonly today?: string;
31
+ /** The currency and locale money is said in: the app's brand's. */
32
+ readonly money?: Money | undefined;
33
+ }
34
+ /** What blocks are read from: a `Store`, or a graph with the schema it was made with. */
35
+ export interface BlockSource {
36
+ readonly graph: GraphReader | object;
37
+ readonly schema: AnySchema;
38
+ today?(): string | undefined;
39
+ }
40
+ /**
41
+ * The context a record's blocks — or the home's — are read in, as every
42
+ * surface reads them. `principal` narrows a store to what that seat may see
43
+ * (`store.seenBy`); null reads it as it is handed, which inside a
44
+ * `GraviewProvider` is already the seat's.
45
+ */
46
+ export declare function blockContextFor(source: BlockSource, principal: Principal | null, given: {
47
+ readonly id: string;
48
+ readonly kind: string;
49
+ } | null, options?: BlockContextOptions): BlockContext;
50
+ //# sourceMappingURL=block-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-context.d.ts","sourceRoot":"","sources":["../../src/document/block-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmB3C,mGAAmG;AACnG,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B;;;;GAIG;AACH,eAAO,MAAM,WAAW,QAAS,CAAC;AAElC,0HAA0H;AAC1H,MAAM,WAAW,mBAAmB;IAClC,+GAA+G;IAC/G,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CACpC;AAED,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,KAAK,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;CAC9B;AAaD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAwB/L"}
@@ -0,0 +1,69 @@
1
+ import { fieldSpecsOf } from "./blocks.js";
2
+ import { shapesFor } from "./computed-values.js";
3
+ /*
4
+ * A RECORD'S DECLARED BLOCKS, RESOLVED ONCE, FOR EVERYONE WHO SAYS THEM.
5
+ *
6
+ * The scene, the pages face, `describe_place` and a product's own face all
7
+ * draw a record's page — or the home — from the blocks the declaration
8
+ * writes. Each built the context those blocks are read in by hand: the seat's
9
+ * graph, the schema, every kind's shape, the kind's fields, its display, the
10
+ * day, the app's money, the heading level and the steps an expression may
11
+ * take; a product did it with ten casts, and a record page was read under a
12
+ * card's allowance, so a change with 98 tasks said "—" for every list on it.
13
+ * `blockContextFor` is that context, built in one place: the faces read
14
+ * their parsed blocks in it, and `resolveFor` (`@graview/core/describe`) —
15
+ * what the describer and a product's own face call — finds a record's
16
+ * declared blocks and reads them in it too, so a face cannot say a figure
17
+ * the rest disagrees with.
18
+ */
19
+ /** The steps each expression may take where blocks are drawn many times a frame: a card, a row. */
20
+ export const CARD_BUDGET = 500;
21
+ /**
22
+ * The steps each expression may take where blocks are drawn once — a
23
+ * record's page, the home, a blocks lens: they sweep whole kinds and walk
24
+ * every record under one.
25
+ */
26
+ export const PAGE_BUDGET = 20_000;
27
+ const FIELDS = new WeakMap();
28
+ /** A kind's fields in the document's words, read once per schema. */
29
+ function fieldsFor(schema, kind) {
30
+ let byKind = FIELDS.get(schema);
31
+ if (!byKind)
32
+ FIELDS.set(schema, (byKind = new Map()));
33
+ let fields = byKind.get(kind);
34
+ if (!fields)
35
+ byKind.set(kind, (fields = fieldSpecsOf(schema, kind)));
36
+ return fields;
37
+ }
38
+ /**
39
+ * The context a record's blocks — or the home's — are read in, as every
40
+ * surface reads them. `principal` narrows a store to what that seat may see
41
+ * (`store.seenBy`); null reads it as it is handed, which inside a
42
+ * `GraviewProvider` is already the seat's.
43
+ */
44
+ export function blockContextFor(source, principal, given, options = {}) {
45
+ if (principal && typeof source.seenBy !== "function") {
46
+ throw new TypeError("blockContextFor: a seat is read from a store (its `seenBy`); a bare { graph, schema } is read as it is handed, with no principal");
47
+ }
48
+ const seen = principal ? source.seenBy(principal) : source;
49
+ // THE RECORD AS THE SEAT SEES IT, whichever copy was handed in: one it may not see is no record at all, and a field it may not read is cleared.
50
+ const node = principal && given ? (seen.graph.getNode(given.id) ?? null) : given;
51
+ const schema = seen.schema;
52
+ const definition = node && schema.tryDefinition(node.kind);
53
+ const once = !node || (options.slot ?? "page") === "page";
54
+ const { money, firstHeading } = options;
55
+ return {
56
+ node: node,
57
+ graph: seen.graph,
58
+ schema,
59
+ kinds: shapesFor(schema),
60
+ fields: node ? fieldsFor(schema, node.kind) : {},
61
+ definition: (definition || undefined),
62
+ today: options.today ?? seen.today?.() ?? new Date().toISOString().slice(0, 10),
63
+ money,
64
+ heading: options.heading ?? (once ? 2 : 3),
65
+ firstHeading,
66
+ budget: options.budget ?? (once ? PAGE_BUDGET : CARD_BUDGET),
67
+ };
68
+ }
69
+ //# sourceMappingURL=block-context.js.map