@graview/core 0.1.59 → 0.1.61
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.
- package/README.md +10 -0
- package/dist/arrangement.d.ts +2 -0
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +14 -0
- package/dist/arrangement.js.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +2 -1
- package/dist/catalog.js.map +1 -1
- package/dist/cli/check/context.d.ts +5 -0
- package/dist/cli/check/context.d.ts.map +1 -1
- package/dist/cli/check/context.js.map +1 -1
- package/dist/cli/check/face.d.ts +14 -0
- package/dist/cli/check/face.d.ts.map +1 -0
- package/dist/cli/check/face.js +161 -0
- package/dist/cli/check/face.js.map +1 -0
- package/dist/cli/check/index.d.ts +1 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +1 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/typing.d.ts +4 -0
- package/dist/cli/check/typing.d.ts.map +1 -0
- package/dist/cli/check/typing.js +56 -0
- package/dist/cli/check/typing.js.map +1 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +4 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/docs.d.ts.map +1 -1
- package/dist/cli/docs.js +5 -3
- package/dist/cli/docs.js.map +1 -1
- package/dist/cli/document-schema.d.ts.map +1 -1
- package/dist/cli/document-schema.js +2 -0
- package/dist/cli/document-schema.js.map +1 -1
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +14 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +2 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/compose.d.ts +6 -0
- package/dist/compose.d.ts.map +1 -1
- package/dist/compose.js +6 -1
- package/dist/compose.js.map +1 -1
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +2 -1
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/compile-checked.js +1 -1
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +6 -2
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +12 -5
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/connection-findings.d.ts.map +1 -1
- package/dist/document/connection-findings.js +134 -12
- package/dist/document/connection-findings.js.map +1 -1
- package/dist/document/connection-spec.d.ts +1 -0
- package/dist/document/connection-spec.d.ts.map +1 -1
- package/dist/document/connection-spec.js +8 -2
- package/dist/document/connection-spec.js.map +1 -1
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +83 -11
- package/dist/document/edit.js.map +1 -1
- package/dist/document/field-spec.d.ts.map +1 -1
- package/dist/document/field-spec.js +5 -0
- package/dist/document/field-spec.js.map +1 -1
- package/dist/document/findings.d.ts +33 -2
- package/dist/document/findings.d.ts.map +1 -1
- package/dist/document/findings.js +14 -17
- package/dist/document/findings.js.map +1 -1
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +10 -4
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/schema.d.ts +5 -0
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +10 -1
- package/dist/document/schema.js.map +1 -1
- package/dist/document.schema.json +84 -4
- package/dist/format-error.d.ts +1 -1
- package/dist/format-error.js +1 -1
- package/dist/formats.d.ts +30 -4
- package/dist/formats.d.ts.map +1 -1
- package/dist/formats.js +36 -9
- package/dist/formats.js.map +1 -1
- package/dist/import/coerce.d.ts.map +1 -1
- package/dist/import/coerce.js +16 -4
- package/dist/import/coerce.js.map +1 -1
- package/dist/import/rows.js +2 -2
- package/dist/import/rows.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kind-list.d.ts +1 -0
- package/dist/kind-list.d.ts.map +1 -1
- package/dist/kind-list.js +2 -1
- package/dist/kind-list.js.map +1 -1
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +4 -3
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-repeats.d.ts.map +1 -1
- package/dist/mutations/derive-repeats.js +2 -1
- package/dist/mutations/derive-repeats.js.map +1 -1
- package/dist/mutations/form.d.ts +2 -0
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +6 -3
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/type-text.d.ts +1 -1
- package/dist/mutations/type-text.js +1 -1
- package/dist/mutations/types.d.ts +13 -4
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/would-run.d.ts +26 -0
- package/dist/mutations/would-run.d.ts.map +1 -0
- package/dist/mutations/would-run.js +58 -0
- package/dist/mutations/would-run.js.map +1 -0
- package/dist/ops/log.d.ts +15 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js.map +1 -1
- package/dist/past.d.ts +3 -1
- package/dist/past.d.ts.map +1 -1
- package/dist/past.js +9 -1
- package/dist/past.js.map +1 -1
- package/dist/permissions/sight.d.ts +8 -0
- package/dist/permissions/sight.d.ts.map +1 -1
- package/dist/permissions/sight.js +8 -0
- package/dist/permissions/sight.js.map +1 -1
- package/dist/publish.d.ts +2 -2
- package/dist/publish.d.ts.map +1 -1
- package/dist/publishing.js +20 -5
- package/dist/publishing.js.map +1 -1
- package/dist/scaffold/agents.d.ts +9 -1
- package/dist/scaffold/agents.d.ts.map +1 -1
- package/dist/scaffold/agents.js +34 -3
- package/dist/scaffold/agents.js.map +1 -1
- package/dist/scaffold/project.js +1 -1
- package/dist/schema/choice-words.d.ts.map +1 -1
- package/dist/schema/choice-words.js +3 -0
- package/dist/schema/choice-words.js.map +1 -1
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +4 -1
- package/dist/seen.js.map +1 -1
- package/dist/starting-document.d.ts +41 -0
- package/dist/starting-document.d.ts.map +1 -0
- package/dist/starting-document.js +614 -0
- package/dist/starting-document.js.map +1 -0
- package/dist/store.d.ts +23 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +49 -11
- package/dist/store.js.map +1 -1
- package/dist/sync/connection.d.ts +10 -1
- package/dist/sync/connection.d.ts.map +1 -1
- package/dist/sync/connection.js +109 -17
- package/dist/sync/connection.js.map +1 -1
- package/dist/sync/engine.d.ts +13 -4
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +5 -3
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/google-calendar.d.ts.map +1 -1
- package/dist/sync/google-calendar.js +4 -2
- package/dist/sync/google-calendar.js.map +1 -1
- package/dist/sync/notion-types.d.ts +7 -0
- package/dist/sync/notion-types.d.ts.map +1 -1
- package/dist/sync/notion-types.js +6 -1
- package/dist/sync/notion-types.js.map +1 -1
- package/dist/sync/recurrence.d.ts +41 -0
- package/dist/sync/recurrence.d.ts.map +1 -0
- package/dist/sync/recurrence.js +192 -0
- package/dist/sync/recurrence.js.map +1 -0
- package/dist/traits.d.ts +72 -0
- package/dist/traits.d.ts.map +1 -0
- package/dist/traits.js +447 -0
- package/dist/traits.js.map +1 -0
- package/dist/typed.d.ts +4 -0
- package/dist/typed.d.ts.map +1 -1
- package/dist/typed.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
2
|
+
import { basename, dirname, extname, join, relative, resolve } from "node:path";
|
|
3
|
+
import { FORMAT } from "../../document/schema.js";
|
|
4
|
+
import { TEMPLATE_FORMAT } from "../../document/graview-template.js";
|
|
5
|
+
/*
|
|
6
|
+
* WHAT THE FACE SHOWS IS IN THE GRAPH (FR-232, Roadmap
|
|
7
|
+
* f-agents-model-the-conversation).
|
|
8
|
+
*
|
|
9
|
+
* An agent asked for a pitch section added it as a JSON file a page
|
|
10
|
+
* imported; asked to tag a chart, it wrote the tags beside the graph too.
|
|
11
|
+
* Each looked right on the page it was written for, and the scene, Find,
|
|
12
|
+
* the record pages and Ask — every surface derived from the declaration —
|
|
13
|
+
* never saw any of it, because nothing was a record. The rule is in the
|
|
14
|
+
* agent docs now (`agentRules`); this is the check that holds it.
|
|
15
|
+
*
|
|
16
|
+
* `checkApp` is handed a declaration and has no files, so this is asked by
|
|
17
|
+
* the command line alone, of the project the entry is in: the nearest
|
|
18
|
+
* `package.json` up from it, its `src/`, or the directory `--face` names.
|
|
19
|
+
* It reads each module of the face — not the declaration (`domain/`, which
|
|
20
|
+
* reads its own document), not the seed (`data/`), not a test — for a JSON
|
|
21
|
+
* file of the project's it imports, loads, requires or fetches by path, and
|
|
22
|
+
* judges the file by what it is: the declaration, a template, a seed in
|
|
23
|
+
* either format, a schema and the manifest are read where they are; the
|
|
24
|
+
* rest is content, said as a warning with the fix. A package's JSON and an
|
|
25
|
+
* alias the check cannot resolve are not the project's to judge. A
|
|
26
|
+
* warning, never an error: a design's own copy may be meant.
|
|
27
|
+
*/
|
|
28
|
+
export const FACE_READS_CONTENT = "face-reads-content-beside-the-graph";
|
|
29
|
+
const FACE_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts"]);
|
|
30
|
+
/** Folders no face module is in: what a build wrote, the declaration, the seed, the tests. */
|
|
31
|
+
const NOT_THE_FACE = new Set(["node_modules", "dist", "build", ".git", "domain", "data", "tests", "test", "__tests__"]);
|
|
32
|
+
/** A read of a JSON file by path — `./`, `../` or `/` — as a static import, a dynamic one, a require or a fetch. */
|
|
33
|
+
const READS = /\b(import\s*\(|require\s*\(|fetch\s*\(|import\s+(?:type\s+)?(?:[\w$*{}\s,]+?\s+from\s+)?)\s*(["'])((?:\.\.?\/|\/)[^"'\n]*?\.json)\2/g;
|
|
34
|
+
/** The project an entry belongs to: the nearest directory up from it with a `package.json`. */
|
|
35
|
+
export function projectRootOf(entry) {
|
|
36
|
+
let here = dirname(resolve(entry));
|
|
37
|
+
for (;;) {
|
|
38
|
+
if (existsSync(join(here, "package.json")))
|
|
39
|
+
return here;
|
|
40
|
+
const up = dirname(here);
|
|
41
|
+
if (up === here)
|
|
42
|
+
return undefined;
|
|
43
|
+
here = up;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function modulesUnder(dir) {
|
|
47
|
+
const out = [];
|
|
48
|
+
const walk = (at) => {
|
|
49
|
+
for (const name of readdirSync(at).sort()) {
|
|
50
|
+
const path = join(at, name);
|
|
51
|
+
const stat = statSync(path);
|
|
52
|
+
if (stat.isDirectory()) {
|
|
53
|
+
if (!NOT_THE_FACE.has(name))
|
|
54
|
+
walk(path);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (!FACE_EXTENSIONS.has(extname(name)) || /\.d\.[cm]?ts$/.test(name) || /\.(test|spec|stories)\./.test(name))
|
|
58
|
+
continue;
|
|
59
|
+
out.push(path);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
walk(dir);
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
65
|
+
/** What a JSON file is, read from it rather than from its name wherever it can be. */
|
|
66
|
+
function whatIs(path) {
|
|
67
|
+
if (!existsSync(path))
|
|
68
|
+
return "missing";
|
|
69
|
+
const name = basename(path);
|
|
70
|
+
if (name === "package.json")
|
|
71
|
+
return "manifest";
|
|
72
|
+
if (name.endsWith(".schema.json") || /^tsconfig(\..+)?\.json$/.test(name))
|
|
73
|
+
return "schema";
|
|
74
|
+
let text;
|
|
75
|
+
try {
|
|
76
|
+
text = readFileSync(path, "utf8");
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return "missing";
|
|
80
|
+
}
|
|
81
|
+
const parse = (source) => {
|
|
82
|
+
try {
|
|
83
|
+
return JSON.parse(source);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
// A snapshot in the line format says so on its first line, and the rest is one record a line.
|
|
90
|
+
const firstLine = parse(text.slice(0, text.indexOf("\n") === -1 ? text.length : text.indexOf("\n")));
|
|
91
|
+
if (firstLine && typeof firstLine === "object" && firstLine.graview === "snapshot")
|
|
92
|
+
return "seed";
|
|
93
|
+
const whole = parse(text);
|
|
94
|
+
if (whole === undefined)
|
|
95
|
+
return "not-json";
|
|
96
|
+
if (!whole || typeof whole !== "object" || Array.isArray(whole))
|
|
97
|
+
return "content";
|
|
98
|
+
const object = whole;
|
|
99
|
+
if (object["format"] === FORMAT)
|
|
100
|
+
return "document";
|
|
101
|
+
if (object["format"] === TEMPLATE_FORMAT)
|
|
102
|
+
return "template";
|
|
103
|
+
if (Array.isArray(object["nodes"]) && Array.isArray(object["edges"]))
|
|
104
|
+
return "seed";
|
|
105
|
+
if (typeof object["$schema"] === "string" && /json-schema/.test(object["$schema"]))
|
|
106
|
+
return "schema";
|
|
107
|
+
return "content";
|
|
108
|
+
}
|
|
109
|
+
function howOf(opening) {
|
|
110
|
+
if (opening.startsWith("import") && opening.trimEnd().endsWith("("))
|
|
111
|
+
return "loads";
|
|
112
|
+
if (opening.startsWith("require"))
|
|
113
|
+
return "requires";
|
|
114
|
+
if (opening.startsWith("fetch"))
|
|
115
|
+
return "fetches";
|
|
116
|
+
return "imports";
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The face modules under `face` (the project's `src/` unless said) that
|
|
120
|
+
* read a JSON file of the project's for content, each a warning: where, in
|
|
121
|
+
* `file:line`; what reads what; and the fix.
|
|
122
|
+
*/
|
|
123
|
+
export function auditFace(root, face = join(root, "src")) {
|
|
124
|
+
if (!existsSync(face) || !statSync(face).isDirectory())
|
|
125
|
+
return [];
|
|
126
|
+
const findings = [];
|
|
127
|
+
const say = (path) => relative(root, path).split("\\").join("/");
|
|
128
|
+
for (const module of modulesUnder(face)) {
|
|
129
|
+
const text = readFileSync(module, "utf8");
|
|
130
|
+
for (const match of text.matchAll(READS)) {
|
|
131
|
+
const specifier = match[3];
|
|
132
|
+
const how = howOf(match[1]);
|
|
133
|
+
// A path from the site's root is served from `public/`, or from the project's root.
|
|
134
|
+
const candidates = specifier.startsWith("/") ? [join(root, "public", specifier), join(root, specifier)] : [resolve(dirname(module), specifier)];
|
|
135
|
+
const target = candidates.find((candidate) => existsSync(candidate)) ?? candidates[0];
|
|
136
|
+
if (whatIs(target) !== "content")
|
|
137
|
+
continue;
|
|
138
|
+
const line = text.slice(0, match.index).split("\n").length;
|
|
139
|
+
const file = say(module);
|
|
140
|
+
const read = say(target);
|
|
141
|
+
findings.push({
|
|
142
|
+
severity: "warning",
|
|
143
|
+
code: "face-reads-content-beside-the-graph",
|
|
144
|
+
where: `${file}:${line}`,
|
|
145
|
+
message: `${file} ${how} ${read}, a file beside the graph: what it shows from there is on no record, so the scene, Find, the record pages and Ask cannot see it.`,
|
|
146
|
+
fix: `Declare a kind (or a field on one) for what ${read} holds, seed it as records — a snapshot under src/data/, or graview sync-seed on a served store — and read them from the store; the declaration, a seed and a template are read where they are.`,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return findings;
|
|
151
|
+
}
|
|
152
|
+
/** The check's verdict with the face's findings counted in: warnings, never a failure. */
|
|
153
|
+
export function withFaceFindings(result, face) {
|
|
154
|
+
if (face.length === 0)
|
|
155
|
+
return result;
|
|
156
|
+
const findings = [...result.findings, ...face];
|
|
157
|
+
const errors = findings.filter((f) => f.severity === "error").length;
|
|
158
|
+
const notes = findings.filter((f) => f.severity === "note").length;
|
|
159
|
+
return { ...result, findings, errors, notes, warnings: findings.length - errors - notes, ok: errors === 0 };
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=face.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"face.js","sourceRoot":"","sources":["../../../src/cli/check/face.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export * from "./arrangement.js";
|
|
|
14
14
|
export * from "./views.js";
|
|
15
15
|
export * from "./computed.js";
|
|
16
16
|
export * from "./hidden-reads.js";
|
|
17
|
+
export * from "./typing.js";
|
|
17
18
|
export * from "./fact-rules.js";
|
|
18
19
|
export * from "./people.js";
|
|
19
20
|
export * from "./clock-rules.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
package/dist/cli/check/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export * from "./arrangement.js";
|
|
|
14
14
|
export * from "./views.js";
|
|
15
15
|
export * from "./computed.js";
|
|
16
16
|
export * from "./hidden-reads.js";
|
|
17
|
+
export * from "./typing.js";
|
|
17
18
|
export * from "./fact-rules.js";
|
|
18
19
|
export * from "./people.js";
|
|
19
20
|
export * from "./clock-rules.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/check/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../../../src/cli/check/typing.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiBjD,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CA0B/E"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { documentOf } from "../../document/to-document.js";
|
|
2
|
+
import { fieldsWrittenBy, subjectKindsOf } from "../../mutations/derive-edits.js";
|
|
3
|
+
import { collaborativeFieldOf } from "../../schema/collaborative-of.js";
|
|
4
|
+
import { defOf } from "../../schema/zod.js";
|
|
5
|
+
/*
|
|
6
|
+
* AN ACT TYPING RIDES THAT CANNOT BE ASKED FAITHFULLY.
|
|
7
|
+
*
|
|
8
|
+
* A keystroke into a field typed together rides an act that writes the
|
|
9
|
+
* field, and only where that act would run on the record now
|
|
10
|
+
* (`wouldRun`): its `allowedOn` where it says one, else its `apply`, run
|
|
11
|
+
* on the record with its subject and the field's own value and nothing
|
|
12
|
+
* else. A TypeScript act that needs another argument is run without it, so
|
|
13
|
+
* a rule in its `apply` that reads that argument, or that refuses its
|
|
14
|
+
* absence first as `invalid`, is never reached — and the act lends typing
|
|
15
|
+
* on a record it would refuse. Seen without running anything: whether the
|
|
16
|
+
* act is a TypeScript one (not a document's act, not derived), whether it
|
|
17
|
+
* declares `allowedOn`, and which arguments its input requires. A warning:
|
|
18
|
+
* an act whose rule is only about the record is asked rightly as it is.
|
|
19
|
+
*/
|
|
20
|
+
export function checkTypingAsks(ctx) {
|
|
21
|
+
const { app, declaredMutations, add } = ctx;
|
|
22
|
+
const schema = app.schema;
|
|
23
|
+
const documentActs = (documentOf(app)?.acts ?? {});
|
|
24
|
+
for (const mutation of declaredMutations) {
|
|
25
|
+
const subject = mutation.subject;
|
|
26
|
+
if (!subject || mutation.allowedOn || mutation.derived || Object.prototype.hasOwnProperty.call(documentActs, mutation.name))
|
|
27
|
+
continue;
|
|
28
|
+
const shape = mutation.input.shape ?? {};
|
|
29
|
+
for (const kind of subjectKindsOf(schema, mutation)) {
|
|
30
|
+
const definition = schema.tryDefinition(kind);
|
|
31
|
+
if (!definition)
|
|
32
|
+
continue;
|
|
33
|
+
for (const field of fieldsWrittenBy(mutation, definition)) {
|
|
34
|
+
if (!collaborativeFieldOf(schema, kind, field))
|
|
35
|
+
continue;
|
|
36
|
+
const needs = Object.keys(shape).filter((arg) => arg !== subject.arg && arg !== field && !optional(shape[arg]));
|
|
37
|
+
if (needs.length === 0)
|
|
38
|
+
continue;
|
|
39
|
+
const said = needs.map((arg) => `"${arg}"`).join(", ");
|
|
40
|
+
add({
|
|
41
|
+
severity: "warning",
|
|
42
|
+
code: "typing-act-without-allowed-on",
|
|
43
|
+
where: mutation.name,
|
|
44
|
+
message: `"${mutation.name}" writes ${kind}'s ${field}, which is typed together, and needs ${said}, which a keystroke never gives it: typing is judged by running it on the record without ${needs.length === 1 ? "it" : "them"}, so a rule in its apply that reads ${needs.length === 1 ? "it" : "them"} is not asked, and the act lends typing on a record it would refuse.`,
|
|
45
|
+
fix: `Declare allowedOn on "${mutation.name}": its rule about the record, judged without its other arguments.`,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Whether an argument may be left out. */
|
|
52
|
+
function optional(schema) {
|
|
53
|
+
const type = defOf(schema)?.type;
|
|
54
|
+
return type === "optional" || type === "default" || type === "nullable";
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=typing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typing.js","sourceRoot":"","sources":["../../../src/cli/check/typing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAK5C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAsB,GAAoB;IACvE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAmB,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;IAC9E,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QACtI,MAAM,KAAK,GAAI,QAAQ,CAAC,KAA6C,CAAC,KAAK,IAAI,EAAE,CAAC;QAClF,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,QAAiB,CAAC,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAkC,CAAC;YAC/E,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,QAAiB,EAAE,UAAU,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;oBAAE,SAAS;gBACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,GAAG,CAAC;oBACF,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,+BAA+B;oBACrC,KAAK,EAAE,QAAQ,CAAC,IAAI;oBACpB,OAAO,EAAE,IAAI,QAAQ,CAAC,IAAI,YAAY,IAAI,MAAM,KAAK,wCAAwC,IAAI,4FAA4F,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,uCAAuC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,sEAAsE;oBAC9W,GAAG,EAAE,yBAAyB,QAAQ,CAAC,IAAI,mEAAmE;iBAC/G,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,SAAS,QAAQ,CAAC,MAAe;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACjC,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAC;AAC1E,CAAC"}
|
package/dist/cli/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAoDrD,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEhE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AAEH,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,qJAAqJ;IACrJ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAwDzG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAIvM;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAa1D"}
|
package/dist/cli/check.js
CHANGED
|
@@ -2,6 +2,7 @@ import { deriveArchiveMutations, deriveEditMutations, deriveRemoveMutations } fr
|
|
|
2
2
|
import { deriveRepeatMutations } from "../mutations/derive-repeats.js";
|
|
3
3
|
import { deriveRelationMutations } from "../mutations/derive-relations.js";
|
|
4
4
|
import { designFindings } from "../document/design-findings.js";
|
|
5
|
+
import { moreLines } from "../document/findings.js";
|
|
5
6
|
import { toDocument } from "../document/to-document.js";
|
|
6
7
|
/**
|
|
7
8
|
* `note` is a QUESTION ASKED OUT LOUD, not a problem.
|
|
@@ -15,7 +16,7 @@ import { toDocument } from "../document/to-document.js";
|
|
|
15
16
|
* the warnings that matter. So they have their own voice: counted, printed,
|
|
16
17
|
* and never a failure.
|
|
17
18
|
*/
|
|
18
|
-
import { checkAccents, checkJobs, checkAliases, checkActsFromEnds, checkBlankInstallation, checkEditableFields, checkFigures, checkLensBindings, checkDeclaredLenses, checkPagesArrangement, checkMigrations, checkModelWritten, checkModules, checkPalette, checkPlots, checkPeople, checkPolicy, checkProviders, checkReadings, checkRoutes, checkSettings, checkShippedLenses, checkArrangement, checkViewSpecs, checkComputed, checkHiddenReads, checkFactRules, checkClockRules, checkFieldSight, checkCodeDescribes, checkForms, checkPublishing, } from "./check/index.js";
|
|
19
|
+
import { checkAccents, checkJobs, checkAliases, checkActsFromEnds, checkBlankInstallation, checkEditableFields, checkFigures, checkLensBindings, checkDeclaredLenses, checkPagesArrangement, checkMigrations, checkModelWritten, checkModules, checkPalette, checkPlots, checkPeople, checkPolicy, checkProviders, checkReadings, checkRoutes, checkSettings, checkShippedLenses, checkArrangement, checkViewSpecs, checkComputed, checkHiddenReads, checkTypingAsks, checkFactRules, checkClockRules, checkFieldSight, checkCodeDescribes, checkForms, checkPublishing, } from "./check/index.js";
|
|
19
20
|
/**
|
|
20
21
|
* EVERY QUESTION A DECLARATION IS ASKED, in the order it is asked. Each
|
|
21
22
|
* family of checks lives in `check/` and is handed the same context; the
|
|
@@ -60,6 +61,7 @@ export function checkApp(app, options = {}) {
|
|
|
60
61
|
checkCodeDescribes(ctx);
|
|
61
62
|
checkComputed(ctx);
|
|
62
63
|
checkHiddenReads(ctx);
|
|
64
|
+
checkTypingAsks(ctx);
|
|
63
65
|
checkFactRules(ctx);
|
|
64
66
|
checkClockRules(ctx);
|
|
65
67
|
checkJobs(ctx);
|
|
@@ -92,9 +94,7 @@ export function formatFindings(result) {
|
|
|
92
94
|
return `graview check: ${result.app} — no problems found.`;
|
|
93
95
|
}
|
|
94
96
|
const said = { error: "ERROR", warning: "warn ", note: "note " };
|
|
95
|
-
const lines = result.findings.map((f) => `${said[f.severity]} [${f.code}] ${f.where}\n` +
|
|
96
|
-
` ${f.message}\n fix: ${f.fix}` +
|
|
97
|
-
(f.edits ?? []).map((edit) => `\n edit: ${JSON.stringify(edit)}`).join(""));
|
|
97
|
+
const lines = result.findings.map((f) => `${said[f.severity]} [${f.code}] ${f.where}\n` + ` ${f.message}\n fix: ${f.fix}` + moreLines(f, " "));
|
|
98
98
|
return [
|
|
99
99
|
`graview check: ${result.app}`,
|
|
100
100
|
...lines,
|
package/dist/cli/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/docs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CA0K/E;AAOD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAyChF"}
|
package/dist/cli/docs.js
CHANGED
|
@@ -3,7 +3,7 @@ import { searchableFields } from "../search.js";
|
|
|
3
3
|
import { deriveMutations } from "../mutations/derive-edits.js";
|
|
4
4
|
import { mutationToolSchema } from "../schema/json-schema.js";
|
|
5
5
|
import { askedArguments } from "../mutations/asked-order.js";
|
|
6
|
-
import { agentRules } from "../scaffold/agents.js";
|
|
6
|
+
import { agentDefaults, agentRules } from "../scaffold/agents.js";
|
|
7
7
|
/**
|
|
8
8
|
* Generates the file an agent reads before touching this app: what kinds
|
|
9
9
|
* exist, what edges are legal, which mutations are the only way to change
|
|
@@ -12,7 +12,7 @@ import { agentRules } from "../scaffold/agents.js";
|
|
|
12
12
|
export function generateLlmsTxt(app) {
|
|
13
13
|
const lines = [];
|
|
14
14
|
lines.push(`# ${app.name}`, "");
|
|
15
|
-
lines.push("A Graview context graph. The graph is the interface: every change is a", "typed mutation, every mutation previews as a diff, and the invariants", "below are checked before anything applies.", "");
|
|
15
|
+
lines.push("A Graview context graph. The graph is the interface: every change is a", "typed mutation, every mutation previews as a diff, and the invariants", "below are checked before anything applies. Everything the face shows is a", "record of a kind below: content lives in the graph, never in a file beside it.", "");
|
|
16
16
|
lines.push("## Node kinds", "");
|
|
17
17
|
for (const definition of app.schema.definitions) {
|
|
18
18
|
const fields = Object.keys(definition.fields.shape);
|
|
@@ -109,7 +109,7 @@ export function generateAgentsMd(app) {
|
|
|
109
109
|
return [
|
|
110
110
|
`# ${app.name} — working notes for agents`,
|
|
111
111
|
"",
|
|
112
|
-
"This app is built on Graview.
|
|
112
|
+
"This app is built on Graview. Four rules follow from that, and they are",
|
|
113
113
|
"the whole contract:",
|
|
114
114
|
"",
|
|
115
115
|
...agentRules(mutationNames.join(", ") || "(none registered)"),
|
|
@@ -117,6 +117,8 @@ export function generateAgentsMd(app) {
|
|
|
117
117
|
"Run `graview check` after editing any declaration. It reports schema",
|
|
118
118
|
"problems in terms of the declaration to change.",
|
|
119
119
|
"",
|
|
120
|
+
...agentDefaults(),
|
|
121
|
+
"",
|
|
120
122
|
"## Evolving a live store",
|
|
121
123
|
"",
|
|
122
124
|
"- **The seed is a bootstrap snapshot,** read once into an empty store. To",
|
package/dist/cli/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-schema.d.ts","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"AAiCA,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,WAA2E,CAAC;AAE7H,oHAAoH;AACpH,eAAO,MAAM,MAAM,gOACwM,CAAC;AAK5N,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"document-schema.d.ts","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"AAiCA,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,WAA2E,CAAC;AAE7H,oHAAoH;AACpH,eAAO,MAAM,MAAM,gOACwM,CAAC;AAK5N,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAkExD"}
|
|
@@ -61,6 +61,8 @@ export function documentJsonSchema(version) {
|
|
|
61
61
|
json["allOf"] = [
|
|
62
62
|
// An enum lists its options, and only an enum has them.
|
|
63
63
|
{ if: { properties: { type: { const: "enum" } } }, then: { required: ["options"] }, else: { not: { required: ["options"] } } },
|
|
64
|
+
// Only an enum takes several of its options (FR-233).
|
|
65
|
+
{ if: { properties: { type: { const: "enum" } } }, else: { not: { required: ["multiple"] } } },
|
|
64
66
|
// Only a list says what it is a list `of`.
|
|
65
67
|
{ if: { properties: { type: { const: "list" } } }, else: { not: { required: ["of"] } } },
|
|
66
68
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-schema.js","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-schema.js","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import "../publishing.js";
|
|
|
3
3
|
import type { GraviewApp } from "../app.js";
|
|
4
4
|
import type { AnySchema } from "../schema/schema.js";
|
|
5
5
|
import { compileDocument } from "../document/compile-checked.js";
|
|
6
|
+
export { auditFace, FACE_READS_CONTENT, projectRootOf, withFaceFindings } from "./check/face.js";
|
|
6
7
|
export { diagnose, doctor, DOCTOR_USAGE } from "./doctor.js";
|
|
7
8
|
export type { DoctorFinding, DoctorLevel } from "./doctor.js";
|
|
8
|
-
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). Run from a framework checkout with\n no graview on PATH, it says how to put it there. 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";
|
|
9
|
+
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>] [--face <dir>] [--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. Reads\n the face too \u2014 the project's src/ (the nearest package.json up from\n <entry>), or the directory --face names \u2014 and warns of a module that\n imports, loads or fetches a JSON file of the project's for content\n (face-reads-content-beside-the-graph): what it shows from there is on\n no record. The declaration, a seed and a template are read where they are.\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). Run from a framework checkout with\n no graview on PATH, it says how to put it there. 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";
|
|
9
10
|
/**
|
|
10
11
|
* THE ENTRY A COMMAND IS ABOUT: `--document <file>` when given, otherwise
|
|
11
12
|
* the module named where the command expects it. A document is JSON a host
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,kBAAkB,CAAC;AAE1B,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,kBAAkB,CAAC;AAE1B,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;AAMjE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjG,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,ynLAuDjB,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,CAgO1D"}
|
package/dist/cli/index.js
CHANGED
|
@@ -12,6 +12,8 @@ import { sayFindings } from "../document/findings.js";
|
|
|
12
12
|
import { isGraviewTemplate } from "../document/graview-template.js";
|
|
13
13
|
import { create, CREATE_USAGE } from "./create.js";
|
|
14
14
|
import { doctor, DOCTOR_USAGE } from "./doctor.js";
|
|
15
|
+
import { auditFace, projectRootOf, withFaceFindings } from "./check/face.js";
|
|
16
|
+
export { auditFace, FACE_READS_CONTENT, projectRootOf, withFaceFindings } from "./check/face.js";
|
|
15
17
|
export { diagnose, doctor, DOCTOR_USAGE } from "./doctor.js";
|
|
16
18
|
import { describeApp } from "./describe.js";
|
|
17
19
|
import { describePlace } from "../document/describe-place.js";
|
|
@@ -25,9 +27,14 @@ export const USAGE = `graview — start a product, check its declaration, write
|
|
|
25
27
|
|
|
26
28
|
${CREATE_USAGE}
|
|
27
29
|
|
|
28
|
-
graview check <entry> [--views <module>] [--json]
|
|
30
|
+
graview check <entry> [--views <module>] [--face <dir>] [--json]
|
|
29
31
|
Loads <entry> (a module whose default export, or \`app\` export, is a
|
|
30
|
-
GraviewApp) and reports schema problems. Exits 1 on any error.
|
|
32
|
+
GraviewApp) and reports schema problems. Exits 1 on any error. Reads
|
|
33
|
+
the face too — the project's src/ (the nearest package.json up from
|
|
34
|
+
<entry>), or the directory --face names — and warns of a module that
|
|
35
|
+
imports, loads or fetches a JSON file of the project's for content
|
|
36
|
+
(face-reads-content-beside-the-graph): what it shows from there is on
|
|
37
|
+
no record. The declaration, a seed and a template are read where they are.
|
|
31
38
|
|
|
32
39
|
--document <file>
|
|
33
40
|
Any command that takes an <entry> takes a declaration document instead
|
|
@@ -269,7 +276,11 @@ export async function main(argv) {
|
|
|
269
276
|
return compiled.ok ? 0 : 1;
|
|
270
277
|
}
|
|
271
278
|
const app = await loadViews(await loadApp(entry), flag(argv, "--views"));
|
|
272
|
-
|
|
279
|
+
// The face, beside the declaration (FR-232): the project the entry is in, or the directory named.
|
|
280
|
+
const root = projectRootOf(resolve(process.cwd(), entry));
|
|
281
|
+
const face = flag(argv, "--face");
|
|
282
|
+
const faceFindings = face ? auditFace(root ?? process.cwd(), resolve(process.cwd(), face)) : root ? auditFace(root) : [];
|
|
283
|
+
const result = withFaceFindings(checkApp(app), faceFindings);
|
|
273
284
|
if (argv.includes("--json")) {
|
|
274
285
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
275
286
|
}
|