primitive-admin 1.1.0-alpha.78 → 1.1.0-alpha.79
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 +38 -17
- package/assets/skill/skills/primitive-platform/SKILL.md +39 -52
- package/dist/bin/primitive.js +14 -25
- package/dist/bin/primitive.js.map +1 -1
- package/dist/src/commands/admins.js +8 -18
- package/dist/src/commands/admins.js.map +1 -1
- package/dist/src/commands/analytics.js +46 -5
- package/dist/src/commands/analytics.js.map +1 -1
- package/dist/src/commands/auth.js +16 -1
- package/dist/src/commands/auth.js.map +1 -1
- package/dist/src/commands/collection-type-configs.js +1 -9
- package/dist/src/commands/collection-type-configs.js.map +1 -1
- package/dist/src/commands/config.js +11 -29
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/database-type-configs.js +1 -9
- package/dist/src/commands/database-type-configs.js.map +1 -1
- package/dist/src/commands/databases.js +8 -38
- package/dist/src/commands/databases.js.map +1 -1
- package/dist/src/commands/env.js +27 -32
- package/dist/src/commands/env.js.map +1 -1
- package/dist/src/commands/functions.js +197 -23
- package/dist/src/commands/functions.js.map +1 -1
- package/dist/src/commands/groups.js +1 -9
- package/dist/src/commands/groups.js.map +1 -1
- package/dist/src/commands/init.js +6 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/rule-sets.js +1 -9
- package/dist/src/commands/rule-sets.js.map +1 -1
- package/dist/src/commands/scripts.js +12 -28
- package/dist/src/commands/scripts.js.map +1 -1
- package/dist/src/commands/sync.d.ts +119 -0
- package/dist/src/commands/sync.js +387 -196
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/commands/workflows.js +2 -14
- package/dist/src/commands/workflows.js.map +1 -1
- package/dist/src/lib/api-client.d.ts +46 -11
- package/dist/src/lib/api-client.js +21 -11
- package/dist/src/lib/api-client.js.map +1 -1
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +24 -57
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +30 -204
- package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -1
- package/dist/src/lib/config-json-field.d.ts +28 -0
- package/dist/src/lib/config-json-field.js +56 -0
- package/dist/src/lib/config-json-field.js.map +1 -0
- package/dist/src/lib/config-object-descriptor.js +4 -3
- package/dist/src/lib/config-object-descriptor.js.map +1 -1
- package/dist/src/lib/config-surface.js +1 -1
- package/dist/src/lib/config-surface.js.map +1 -1
- package/dist/src/lib/config.d.ts +21 -14
- package/dist/src/lib/config.js +25 -44
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/credentials-store.d.ts +31 -8
- package/dist/src/lib/credentials-store.js +52 -13
- package/dist/src/lib/credentials-store.js.map +1 -1
- package/dist/src/lib/env-resolver-core.d.ts +18 -0
- package/dist/src/lib/env-resolver-core.js +26 -3
- package/dist/src/lib/env-resolver-core.js.map +1 -1
- package/dist/src/lib/env-resolver.d.ts +15 -0
- package/dist/src/lib/env-resolver.js +21 -1
- package/dist/src/lib/env-resolver.js.map +1 -1
- package/dist/src/lib/function-collect.d.ts +1 -1
- package/dist/src/lib/function-collect.js +138 -7
- package/dist/src/lib/function-collect.js.map +1 -1
- package/dist/src/lib/function-db-types.d.ts +49 -11
- package/dist/src/lib/function-db-types.js +234 -39
- package/dist/src/lib/function-db-types.js.map +1 -1
- package/dist/src/lib/function-document-types.d.ts +50 -0
- package/dist/src/lib/function-document-types.js +163 -0
- package/dist/src/lib/function-document-types.js.map +1 -0
- package/dist/src/lib/function-log-tail.d.ts +83 -0
- package/dist/src/lib/function-log-tail.js +115 -0
- package/dist/src/lib/function-log-tail.js.map +1 -0
- package/dist/src/lib/function-schema-codegen.d.ts +118 -0
- package/dist/src/lib/function-schema-codegen.js +402 -0
- package/dist/src/lib/function-schema-codegen.js.map +1 -0
- package/dist/src/lib/function-sync.d.ts +85 -2
- package/dist/src/lib/function-sync.js +196 -27
- package/dist/src/lib/function-sync.js.map +1 -1
- package/dist/src/lib/function-triggers.d.ts +9 -3
- package/dist/src/lib/function-triggers.js +12 -9
- package/dist/src/lib/function-triggers.js.map +1 -1
- package/dist/src/lib/function-typecheck.d.ts +86 -0
- package/dist/src/lib/function-typecheck.js +370 -0
- package/dist/src/lib/function-typecheck.js.map +1 -0
- package/dist/src/lib/generated-allowlist.js +4 -0
- package/dist/src/lib/generated-allowlist.js.map +1 -1
- package/dist/src/lib/generated-config-surfaces.d.ts +422 -0
- package/dist/src/lib/generated-config-surfaces.js +838 -9
- package/dist/src/lib/generated-config-surfaces.js.map +1 -1
- package/dist/src/lib/generated-sdk-types.d.ts +1 -1
- package/dist/src/lib/generated-sdk-types.js +1 -1
- package/dist/src/lib/generated-sdk-types.js.map +1 -1
- package/dist/src/lib/log-inspection.d.ts +116 -4
- package/dist/src/lib/log-inspection.js +147 -2
- package/dist/src/lib/log-inspection.js.map +1 -1
- package/dist/src/lib/snapshots.d.ts +6 -7
- package/dist/src/lib/snapshots.js +18 -81
- package/dist/src/lib/snapshots.js.map +1 -1
- package/dist/src/lib/sync-paths.d.ts +29 -53
- package/dist/src/lib/sync-paths.js +46 -97
- package/dist/src/lib/sync-paths.js.map +1 -1
- package/dist/src/lib/workflow-toml-validator.d.ts +8 -3
- package/dist/src/lib/workflow-toml-validator.js +8 -3
- package/dist/src/lib/workflow-toml-validator.js.map +1 -1
- package/package.json +3 -3
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* — not a second parser and not a second idea of what a model is. Inline
|
|
10
10
|
* filter typing waits for unified-schemas, as the intent says.
|
|
11
11
|
*
|
|
12
|
-
* ── Why
|
|
12
|
+
* ── Why these files, in `functions/` ─────────────────────────────────────
|
|
13
13
|
*
|
|
14
14
|
* A generated declaration nothing loads is decoration (D3182-006). Function
|
|
15
15
|
* sources live under an environment- and app-specific config-tree path, the
|
|
@@ -24,10 +24,23 @@
|
|
|
24
24
|
* without this the bare `primitive-functions` specifier every function
|
|
25
25
|
* imports would not resolve at all, and the augmentation would have
|
|
26
26
|
* nothing to augment;
|
|
27
|
-
* - `
|
|
28
|
-
*
|
|
27
|
+
* - `primitive-function-types.d.ts` (#3281, rendered by
|
|
28
|
+
* `function-schema-codegen.ts`) — every function's `<Key>Input` and
|
|
29
|
+
* `<Key>Output` from its declared schemas, and the `FunctionSchemas`
|
|
30
|
+
* augmentation that types `defineFunction("<key>", handler)`;
|
|
31
|
+
* - `primitive-document-types.d.ts` (#3281, rendered by
|
|
32
|
+
* `function-document-types.ts`) — the project's document models from
|
|
33
|
+
* `models/models.toml`, and the `DocumentSchemas` augmentation that types
|
|
34
|
+
* `ctx.doc(documentId).model("<Model>")`; open when the project has none;
|
|
35
|
+
* - `generated/<key>.generated.ts` (#3281, same renderer) — the per-key
|
|
36
|
+
* CLIENT invoker, with the mode fixed at generation time. Excluded from
|
|
37
|
+
* the scaffolded program (it imports `js-bao-wss-client`), and written to
|
|
38
|
+
* `-o <dir>` instead when `functions codegen` is told so;
|
|
39
|
+
* - `tsconfig.json` — the wiring, so an editor and a bare `tsc` both see the
|
|
40
|
+
* declarations with nothing for an author to configure.
|
|
29
41
|
*
|
|
30
|
-
* The
|
|
42
|
+
* The `.d.ts` files and the invokers are GENERATED and rewritten on every
|
|
43
|
+
* push; an invoker whose TOML is gone is removed with it. The tsconfig
|
|
31
44
|
* is SCAFFOLDED once and then left to its author, because it is the file an
|
|
32
45
|
* author has a legitimate reason to adjust — with one exception: the two facts
|
|
33
46
|
* that make the wiring work at all (the `primitive-functions` path mapping and
|
|
@@ -40,9 +53,11 @@
|
|
|
40
53
|
* round-tripped, and the bundler never sees them (types are erased, and the
|
|
41
54
|
* tsconfig is not a module).
|
|
42
55
|
*/
|
|
43
|
-
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "fs";
|
|
44
|
-
import { basename, join } from "path";
|
|
56
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync, } from "fs";
|
|
57
|
+
import { basename, dirname, join, relative, resolve, sep } from "path";
|
|
45
58
|
import { parseConfigToml } from "./config-toml.js";
|
|
59
|
+
import { FUNCTION_INVOKERS_DIR, FUNCTION_TYPES_DECLARATION_FILE, GENERATED_FILE_SUFFIX, functionSchemaSources, renderFunctionInvokers, renderFunctionSchemasDeclaration, } from "./function-schema-codegen.js";
|
|
60
|
+
import { DOCUMENT_TYPES_DECLARATION_FILE, documentSchemaSource, renderDocumentTypesDeclaration, } from "./function-document-types.js";
|
|
46
61
|
import { describeDbType } from "./db-codegen/dbTypeIR.js";
|
|
47
62
|
import { tsTypeForDbFieldType } from "./db-codegen/dbTsTypes.js";
|
|
48
63
|
import { objectPropertyKey } from "./db-codegen/dbNaming.js";
|
|
@@ -50,6 +65,21 @@ import { SDK_TYPES_SOURCE } from "./generated-sdk-types.js";
|
|
|
50
65
|
export const DB_TYPES_DECLARATION_FILE = "primitive-db-types.d.ts";
|
|
51
66
|
export const SDK_TYPES_FILE = "primitive-functions.d.ts";
|
|
52
67
|
export const FUNCTIONS_TSCONFIG_FILE = "tsconfig.json";
|
|
68
|
+
/**
|
|
69
|
+
* Every regenerated declaration a `functions/tsconfig.json` has to load, in
|
|
70
|
+
* the order the scaffold lists them (#3281, D3281-SO-004). The inspection
|
|
71
|
+
* requires each of these in an explicit `include`/`files` list — a tree that
|
|
72
|
+
* customized its list to name only the two #3182 wrote would otherwise
|
|
73
|
+
* generate the newer ones and never load them.
|
|
74
|
+
*/
|
|
75
|
+
export const REGENERATED_DECLARATIONS = [
|
|
76
|
+
DB_TYPES_DECLARATION_FILE,
|
|
77
|
+
SDK_TYPES_FILE,
|
|
78
|
+
FUNCTION_TYPES_DECLARATION_FILE,
|
|
79
|
+
DOCUMENT_TYPES_DECLARATION_FILE,
|
|
80
|
+
];
|
|
81
|
+
/** The scaffold's exclusion for the client invokers (#3281). */
|
|
82
|
+
export const GENERATED_EXCLUDE = `${FUNCTION_INVOKERS_DIR}/**`;
|
|
53
83
|
const HEADER = `// GENERATED by \`primitive config push\` from database-type-configs/*.toml.
|
|
54
84
|
// DO NOT EDIT — your changes are overwritten on the next push.
|
|
55
85
|
//
|
|
@@ -184,7 +214,12 @@ export function renderFunctionsTsconfig() {
|
|
|
184
214
|
"primitive-functions": [`./${SDK_TYPES_FILE}`],
|
|
185
215
|
},
|
|
186
216
|
},
|
|
187
|
-
include: ["**/*.ts",
|
|
217
|
+
include: ["**/*.ts", ...REGENERATED_DECLARATIONS.map((file) => `./${file}`)],
|
|
218
|
+
// The client invokers (#3281) import `js-bao-wss-client`, which a
|
|
219
|
+
// config tree does not install: they are for the app's client code,
|
|
220
|
+
// and an editor program that swept them in would report every one of
|
|
221
|
+
// them as a broken import.
|
|
222
|
+
exclude: [GENERATED_EXCLUDE],
|
|
188
223
|
}, null, 2) + "\n");
|
|
189
224
|
}
|
|
190
225
|
/** The bare specifier every function imports, and the tsconfig must resolve. */
|
|
@@ -260,17 +295,73 @@ function stripJsonComments(text) {
|
|
|
260
295
|
function isGlobEntry(entry) {
|
|
261
296
|
return typeof entry === "string" && entry.includes("*");
|
|
262
297
|
}
|
|
298
|
+
function isDeclarationEntry(entry, file) {
|
|
299
|
+
return entry === `./${file}` || entry === file;
|
|
300
|
+
}
|
|
301
|
+
/** `"./**\/*.ts"` and `"**\/*.ts"` name the same set; read them the same way. */
|
|
302
|
+
function normalizeEntry(entry) {
|
|
303
|
+
return entry.startsWith("./") ? entry.slice(2) : entry;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Does this `include` entry cover a `.ts` file sitting BESIDE the tsconfig —
|
|
307
|
+
* which is where every regenerated declaration goes?
|
|
308
|
+
*
|
|
309
|
+
* TypeScript matches a `.d.ts` file with a `*.ts` pattern, and both the
|
|
310
|
+
* top-level `"*.ts"` and the recursive `"**\/*.ts"` reach the directory's own
|
|
311
|
+
* files. Recognizing only the scaffold's literal `"**\/*.ts"` reported an
|
|
312
|
+
* author's equivalent glob as missing every declaration (CR3281-003).
|
|
313
|
+
*/
|
|
314
|
+
function coversDeclarations(entry) {
|
|
315
|
+
if (typeof entry !== "string")
|
|
316
|
+
return false;
|
|
317
|
+
const normalized = normalizeEntry(entry);
|
|
318
|
+
if (normalized === "**")
|
|
319
|
+
return true;
|
|
320
|
+
const slash = normalized.lastIndexOf("/");
|
|
321
|
+
const dir = slash < 0 ? "" : normalized.slice(0, slash + 1);
|
|
322
|
+
if (dir !== "" && dir !== "**/")
|
|
323
|
+
return false;
|
|
324
|
+
const leaf = normalized.slice(slash + 1);
|
|
325
|
+
return leaf === "*" || leaf === "*.ts" || leaf === "*.d.ts";
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Does this `include` entry reach BELOW the tsconfig's own directory — and so
|
|
329
|
+
* sweep the generated client invokers into the program?
|
|
330
|
+
*
|
|
331
|
+
* Any `**` segment does, as does an entry that names the generated directory
|
|
332
|
+
* itself. A top-level `"*.ts"` does not, which is why this is a separate
|
|
333
|
+
* question from {@link coversDeclarations} (CR3281-003).
|
|
334
|
+
*/
|
|
335
|
+
function coversSubdirectories(entry) {
|
|
336
|
+
if (typeof entry !== "string")
|
|
337
|
+
return false;
|
|
338
|
+
const normalized = normalizeEntry(entry);
|
|
339
|
+
return (normalized === "**" ||
|
|
340
|
+
normalized.startsWith("**/") ||
|
|
341
|
+
normalized.includes("/**") ||
|
|
342
|
+
normalized.startsWith(`${FUNCTION_INVOKERS_DIR}/`));
|
|
343
|
+
}
|
|
263
344
|
function isSourceEntry(entry) {
|
|
264
345
|
if (typeof entry !== "string")
|
|
265
346
|
return false;
|
|
266
|
-
if (entry
|
|
267
|
-
entry === DB_TYPES_DECLARATION_FILE ||
|
|
268
|
-
entry === `./${SDK_TYPES_FILE}` ||
|
|
269
|
-
entry === SDK_TYPES_FILE) {
|
|
347
|
+
if (REGENERATED_DECLARATIONS.some((file) => isDeclarationEntry(entry, file))) {
|
|
270
348
|
return false;
|
|
271
349
|
}
|
|
272
350
|
return isGlobEntry(entry) || entry.endsWith(".ts");
|
|
273
351
|
}
|
|
352
|
+
/** Does an `exclude` list keep `generated/` out of the program? */
|
|
353
|
+
function excludesGenerated(exclude) {
|
|
354
|
+
// Any entry rooted at the directory keeps it out — `generated`,
|
|
355
|
+
// `generated/`, `generated/**` and `generated/**/*` all do — so an author's
|
|
356
|
+
// own spelling is honoured rather than repaired into a duplicate.
|
|
357
|
+
return exclude.some((entry) => {
|
|
358
|
+
if (typeof entry !== "string")
|
|
359
|
+
return false;
|
|
360
|
+
const normalized = normalizeEntry(entry);
|
|
361
|
+
return (normalized === FUNCTION_INVOKERS_DIR ||
|
|
362
|
+
normalized.startsWith(`${FUNCTION_INVOKERS_DIR}/`));
|
|
363
|
+
});
|
|
364
|
+
}
|
|
274
365
|
/**
|
|
275
366
|
* The gaps in an already-parsed tsconfig object.
|
|
276
367
|
*
|
|
@@ -279,7 +370,7 @@ function isSourceEntry(entry) {
|
|
|
279
370
|
* function source was in the program at all, so `tsc` typechecked the
|
|
280
371
|
* declarations against themselves and push reported success (CR3182-003).
|
|
281
372
|
*/
|
|
282
|
-
function tsconfigWiringGaps(parsed) {
|
|
373
|
+
function tsconfigWiringGaps(parsed, context) {
|
|
283
374
|
const compilerOptions = parsed.compilerOptions && typeof parsed.compilerOptions === "object"
|
|
284
375
|
? parsed.compilerOptions
|
|
285
376
|
: {};
|
|
@@ -295,29 +386,46 @@ function tsconfigWiringGaps(parsed) {
|
|
|
295
386
|
// directory — sources and declarations alike — so there is nothing to add.
|
|
296
387
|
const implicitlyAll = parsed.include === undefined && parsed.files === undefined;
|
|
297
388
|
const listed = [...include, ...files];
|
|
298
|
-
|
|
389
|
+
// Two separate questions, because an author's glob can answer them
|
|
390
|
+
// differently: `"*.ts"` covers the declarations without reaching
|
|
391
|
+
// `generated/`, and `"generated/**"` the reverse (CR3281-003).
|
|
392
|
+
const declarationsCovered = listed.some(coversDeclarations);
|
|
393
|
+
const reachesSubdirectories = listed.some(coversSubdirectories);
|
|
394
|
+
const exclude = Array.isArray(parsed.exclude) ? parsed.exclude : [];
|
|
299
395
|
return {
|
|
300
396
|
mapping: !mapped.includes(`./${SDK_TYPES_FILE}`),
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
!
|
|
304
|
-
|
|
305
|
-
|
|
397
|
+
missingDeclarations: implicitlyAll || declarationsCovered
|
|
398
|
+
? []
|
|
399
|
+
: REGENERATED_DECLARATIONS.filter((file) => !listed.some((entry) => isDeclarationEntry(entry, file))),
|
|
400
|
+
sources: !implicitlyAll && !declarationsCovered && !listed.some(isSourceEntry),
|
|
401
|
+
// Only a program that would SEE the directory needs the exclusion: an
|
|
402
|
+
// explicit list that reaches no subdirectory never sweeps it in.
|
|
403
|
+
generatedExclusion: context.generatedDirExists &&
|
|
404
|
+
(implicitlyAll || reachesSubdirectories) &&
|
|
405
|
+
!excludesGenerated(exclude),
|
|
306
406
|
};
|
|
307
407
|
}
|
|
408
|
+
function hasGaps(gaps) {
|
|
409
|
+
return (gaps.mapping || gaps.missingDeclarations.length > 0 || gaps.sources || gaps.generatedExclusion);
|
|
410
|
+
}
|
|
308
411
|
function describeGaps(gaps) {
|
|
309
412
|
const problems = [];
|
|
310
413
|
if (gaps.mapping) {
|
|
311
414
|
problems.push(`\`compilerOptions.paths\` does not map "${SDK_MODULE_SPECIFIER}" to ` +
|
|
312
415
|
`"./${SDK_TYPES_FILE}", so a function's import of the SDK does not resolve`);
|
|
313
416
|
}
|
|
314
|
-
if (gaps.
|
|
315
|
-
problems.push(`\`include\` does not cover
|
|
316
|
-
`"./${
|
|
417
|
+
if (gaps.missingDeclarations.length > 0) {
|
|
418
|
+
problems.push(`\`include\` does not cover ${gaps.missingDeclarations
|
|
419
|
+
.map((file) => `"./${file}"`)
|
|
420
|
+
.join(", ")}, so the generated augmentation(s) there are never loaded`);
|
|
317
421
|
}
|
|
318
422
|
if (gaps.sources) {
|
|
319
423
|
problems.push("`include` covers no function source, so `tsc` typechecks none of them");
|
|
320
424
|
}
|
|
425
|
+
if (gaps.generatedExclusion) {
|
|
426
|
+
problems.push(`\`exclude\` does not cover "${GENERATED_EXCLUDE}", so the generated client ` +
|
|
427
|
+
"invokers (which import `js-bao-wss-client`) are swept into the program");
|
|
428
|
+
}
|
|
321
429
|
return problems;
|
|
322
430
|
}
|
|
323
431
|
/**
|
|
@@ -341,7 +449,7 @@ function describeGaps(gaps) {
|
|
|
341
449
|
* reformatting an author's file is worse than leaving it — but it IS read, and
|
|
342
450
|
* anything missing is reported instead of passing in silence (CR3182-003).
|
|
343
451
|
*/
|
|
344
|
-
export function inspectFunctionsTsconfig(existing) {
|
|
452
|
+
export function inspectFunctionsTsconfig(existing, context = { generatedDirExists: false }) {
|
|
345
453
|
if (existing === null) {
|
|
346
454
|
return { repaired: renderFunctionsTsconfig(), problems: [] };
|
|
347
455
|
}
|
|
@@ -371,8 +479,8 @@ export function inspectFunctionsTsconfig(existing) {
|
|
|
371
479
|
problems: ["it is not a JSON object, so it configures no compiler"],
|
|
372
480
|
};
|
|
373
481
|
}
|
|
374
|
-
const gaps = tsconfigWiringGaps(parsed);
|
|
375
|
-
if (!gaps
|
|
482
|
+
const gaps = tsconfigWiringGaps(parsed, context);
|
|
483
|
+
if (!hasGaps(gaps)) {
|
|
376
484
|
return { repaired: null, problems: [] };
|
|
377
485
|
}
|
|
378
486
|
if (!plainJson) {
|
|
@@ -393,19 +501,25 @@ export function inspectFunctionsTsconfig(existing) {
|
|
|
393
501
|
: [];
|
|
394
502
|
paths[SDK_MODULE_SPECIFIER] = [...mapped, `./${SDK_TYPES_FILE}`];
|
|
395
503
|
}
|
|
396
|
-
if (gaps.
|
|
504
|
+
if (gaps.missingDeclarations.length > 0 || gaps.sources) {
|
|
397
505
|
const include = Array.isArray(parsed.include) ? parsed.include : [];
|
|
398
506
|
const added = [];
|
|
399
507
|
// The sources come back through the same wildcard the scaffold uses, which
|
|
400
508
|
// covers the declarations too — so it is added first and the explicit
|
|
401
|
-
// declaration entries only when it is not.
|
|
509
|
+
// declaration entries only when it is not. Only the MISSING declarations
|
|
510
|
+
// are added, beside the ones the author already named (#3281).
|
|
402
511
|
if (gaps.sources)
|
|
403
512
|
added.push(SOURCES_INCLUDE);
|
|
404
|
-
else
|
|
405
|
-
added.push(
|
|
406
|
-
}
|
|
513
|
+
else
|
|
514
|
+
added.push(...gaps.missingDeclarations.map((file) => `./${file}`));
|
|
407
515
|
parsed.include = [...include, ...added];
|
|
408
516
|
}
|
|
517
|
+
if (gaps.generatedExclusion ||
|
|
518
|
+
// The wildcard just added sweeps `generated/` in too.
|
|
519
|
+
(gaps.sources && context.generatedDirExists && !excludesGenerated(parsed.exclude ?? []))) {
|
|
520
|
+
const exclude = Array.isArray(parsed.exclude) ? parsed.exclude : [];
|
|
521
|
+
parsed.exclude = [...exclude, GENERATED_EXCLUDE];
|
|
522
|
+
}
|
|
409
523
|
return { repaired: JSON.stringify(parsed, null, 2) + "\n", problems: [] };
|
|
410
524
|
}
|
|
411
525
|
/**
|
|
@@ -414,8 +528,21 @@ export function inspectFunctionsTsconfig(existing) {
|
|
|
414
528
|
* Kept as the narrow answer `planFunctionTypeArtifacts` needs; the problems a
|
|
415
529
|
* repair cannot cover travel through `inspectFunctionsTsconfig`.
|
|
416
530
|
*/
|
|
417
|
-
export function reconcileFunctionsTsconfig(existing) {
|
|
418
|
-
return inspectFunctionsTsconfig(existing).repaired;
|
|
531
|
+
export function reconcileFunctionsTsconfig(existing, context = { generatedDirExists: false }) {
|
|
532
|
+
return inspectFunctionsTsconfig(existing, context).repaired;
|
|
533
|
+
}
|
|
534
|
+
/** The invoker directory a plan writes to, absolute. */
|
|
535
|
+
export function functionInvokerDir(configDir, options = {}) {
|
|
536
|
+
return options.invokerDir
|
|
537
|
+
? resolve(options.invokerDir)
|
|
538
|
+
: join(configDir, "functions", FUNCTION_INVOKERS_DIR);
|
|
539
|
+
}
|
|
540
|
+
/** A path as the plan reports it: tree-relative POSIX when inside the tree. */
|
|
541
|
+
function reportedPath(configDir, absolute) {
|
|
542
|
+
const rel = relative(resolve(configDir), absolute);
|
|
543
|
+
if (rel && !rel.startsWith(".."))
|
|
544
|
+
return rel.split(sep).join("/");
|
|
545
|
+
return absolute;
|
|
419
546
|
}
|
|
420
547
|
/**
|
|
421
548
|
* Every database-type TOML in the tree, read once.
|
|
@@ -465,11 +592,19 @@ export function databaseTypeSources(configDir) {
|
|
|
465
592
|
* exist to type function sources, and a tree with none needs no compiler
|
|
466
593
|
* wiring.
|
|
467
594
|
*/
|
|
468
|
-
export function planFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
595
|
+
export function planFunctionTypeArtifacts(configDir, sdkTypes, options = {}) {
|
|
469
596
|
const functionsDir = join(configDir, "functions");
|
|
470
597
|
if (!existsSync(functionsDir))
|
|
471
598
|
return [];
|
|
472
599
|
const declaration = renderDbTypesDeclaration(databaseTypeSources(configDir));
|
|
600
|
+
// #3281 — the functions declaration and the per-key invokers, from the same
|
|
601
|
+
// `functions/*.toml`. A malformed schema throws naming the file: the honest
|
|
602
|
+
// `unknown` is for an absent schema, and typing a broken one as anything
|
|
603
|
+
// would be a declaration that lies.
|
|
604
|
+
const functionSources = functionSchemaSources(configDir);
|
|
605
|
+
const functionsDeclaration = renderFunctionSchemasDeclaration(functionSources);
|
|
606
|
+
const invokerDir = functionInvokerDir(configDir, options);
|
|
607
|
+
const invokers = renderFunctionInvokers(functionSources);
|
|
473
608
|
const artifacts = [
|
|
474
609
|
{
|
|
475
610
|
relative: `functions/${DB_TYPES_DECLARATION_FILE}`,
|
|
@@ -483,6 +618,29 @@ export function planFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
|
483
618
|
contents: sdkTypes ?? loadSdkTypes(),
|
|
484
619
|
regenerated: true,
|
|
485
620
|
},
|
|
621
|
+
{
|
|
622
|
+
relative: `functions/${FUNCTION_TYPES_DECLARATION_FILE}`,
|
|
623
|
+
absolute: join(functionsDir, FUNCTION_TYPES_DECLARATION_FILE),
|
|
624
|
+
contents: functionsDeclaration,
|
|
625
|
+
regenerated: true,
|
|
626
|
+
},
|
|
627
|
+
// #3281 — the document handle's declaration, from the project's
|
|
628
|
+
// `models/models.toml` (open when the project has none).
|
|
629
|
+
{
|
|
630
|
+
relative: `functions/${DOCUMENT_TYPES_DECLARATION_FILE}`,
|
|
631
|
+
absolute: join(functionsDir, DOCUMENT_TYPES_DECLARATION_FILE),
|
|
632
|
+
contents: renderDocumentTypesDeclaration(documentSchemaSource(configDir)),
|
|
633
|
+
regenerated: true,
|
|
634
|
+
},
|
|
635
|
+
...invokers.map((invoker) => {
|
|
636
|
+
const absolute = join(invokerDir, invoker.fileName);
|
|
637
|
+
return {
|
|
638
|
+
relative: reportedPath(configDir, absolute),
|
|
639
|
+
absolute,
|
|
640
|
+
contents: invoker.content,
|
|
641
|
+
regenerated: true,
|
|
642
|
+
};
|
|
643
|
+
}),
|
|
486
644
|
];
|
|
487
645
|
// The tsconfig is planned against what is on disk: scaffolded when absent,
|
|
488
646
|
// repaired when its wiring is missing, and left alone otherwise — so an
|
|
@@ -497,7 +655,7 @@ export function planFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
|
497
655
|
onDisk = null;
|
|
498
656
|
}
|
|
499
657
|
}
|
|
500
|
-
const tsconfig = reconcileFunctionsTsconfig(onDisk);
|
|
658
|
+
const tsconfig = reconcileFunctionsTsconfig(onDisk, tsconfigContext(configDir, options));
|
|
501
659
|
if (tsconfig !== null) {
|
|
502
660
|
artifacts.push({
|
|
503
661
|
relative: `functions/${FUNCTIONS_TSCONFIG_FILE}`,
|
|
@@ -517,7 +675,7 @@ export function planFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
|
517
675
|
* failure mode this whole artifact exists to prevent, and staying silent about
|
|
518
676
|
* it is how it reaches an author as "my types just don't work" (CR3182-003).
|
|
519
677
|
*/
|
|
520
|
-
export function functionTypeWiringProblems(configDir) {
|
|
678
|
+
export function functionTypeWiringProblems(configDir, options = {}) {
|
|
521
679
|
const functionsDir = join(configDir, "functions");
|
|
522
680
|
if (!existsSync(functionsDir))
|
|
523
681
|
return [];
|
|
@@ -531,11 +689,37 @@ export function functionTypeWiringProblems(configDir) {
|
|
|
531
689
|
catch {
|
|
532
690
|
return [];
|
|
533
691
|
}
|
|
534
|
-
return inspectFunctionsTsconfig(onDisk).problems;
|
|
692
|
+
return inspectFunctionsTsconfig(onDisk, tsconfigContext(configDir, options)).problems;
|
|
693
|
+
}
|
|
694
|
+
/**
|
|
695
|
+
* What the inspection knows about the directory: whether `generated/` will
|
|
696
|
+
* exist beside the tsconfig once this plan is written (it exists now, or this
|
|
697
|
+
* plan writes an invoker into the default location).
|
|
698
|
+
*/
|
|
699
|
+
function tsconfigContext(configDir, options) {
|
|
700
|
+
const defaultDir = join(configDir, "functions", FUNCTION_INVOKERS_DIR);
|
|
701
|
+
const writesThere = functionInvokerDir(configDir, options) === defaultDir &&
|
|
702
|
+
functionSchemaSources(configDir).length > 0;
|
|
703
|
+
return { generatedDirExists: existsSync(defaultDir) || writesThere };
|
|
704
|
+
}
|
|
705
|
+
/**
|
|
706
|
+
* Invokers in the plan's directory that the plan no longer writes — a
|
|
707
|
+
* function whose TOML was removed. Owned by the `.generated.ts` suffix, the
|
|
708
|
+
* rule the other two generators apply to their own `generated/` directories.
|
|
709
|
+
*/
|
|
710
|
+
function orphanedInvokers(configDir, planned, options) {
|
|
711
|
+
const dir = functionInvokerDir(configDir, options);
|
|
712
|
+
if (!existsSync(dir))
|
|
713
|
+
return [];
|
|
714
|
+
const keep = new Set(planned.map((a) => a.absolute));
|
|
715
|
+
return readdirSync(dir)
|
|
716
|
+
.filter((f) => f.endsWith(GENERATED_FILE_SUFFIX))
|
|
717
|
+
.map((f) => join(dir, f))
|
|
718
|
+
.filter((absolute) => !keep.has(absolute));
|
|
535
719
|
}
|
|
536
720
|
/** Write them, and report the tree-relative paths that changed on disk. */
|
|
537
|
-
export function writeFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
538
|
-
const artifacts = planFunctionTypeArtifacts(configDir, sdkTypes);
|
|
721
|
+
export function writeFunctionTypeArtifacts(configDir, sdkTypes, options = {}) {
|
|
722
|
+
const artifacts = planFunctionTypeArtifacts(configDir, sdkTypes, options);
|
|
539
723
|
if (artifacts.length === 0)
|
|
540
724
|
return [];
|
|
541
725
|
mkdirSync(join(configDir, "functions"), { recursive: true });
|
|
@@ -546,9 +730,16 @@ export function writeFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
|
546
730
|
written.push(artifact.relative);
|
|
547
731
|
continue;
|
|
548
732
|
}
|
|
733
|
+
mkdirSync(dirname(artifact.absolute), { recursive: true });
|
|
549
734
|
writeFileSync(artifact.absolute, artifact.contents);
|
|
550
735
|
written.push(artifact.relative);
|
|
551
736
|
}
|
|
737
|
+
// A removed function's invoker goes with it (#3281): a stale generated file
|
|
738
|
+
// an app still imports is a compile error naming a function that no longer
|
|
739
|
+
// exists, which is the right failure, but one left behind forever is not.
|
|
740
|
+
for (const orphan of orphanedInvokers(configDir, artifacts, options)) {
|
|
741
|
+
rmSync(orphan, { force: true });
|
|
742
|
+
}
|
|
552
743
|
return written;
|
|
553
744
|
}
|
|
554
745
|
/**
|
|
@@ -560,9 +751,10 @@ export function writeFunctionTypeArtifacts(configDir, sdkTypes) {
|
|
|
560
751
|
* never reported — and one that would leave the declarations unloadable always
|
|
561
752
|
* is.
|
|
562
753
|
*/
|
|
563
|
-
export function staleFunctionTypeArtifacts(configDir) {
|
|
754
|
+
export function staleFunctionTypeArtifacts(configDir, options = {}) {
|
|
564
755
|
const stale = [];
|
|
565
|
-
|
|
756
|
+
const planned = planFunctionTypeArtifacts(configDir, undefined, options);
|
|
757
|
+
for (const artifact of planned) {
|
|
566
758
|
if (!existsSync(artifact.absolute)) {
|
|
567
759
|
stale.push(artifact.relative);
|
|
568
760
|
continue;
|
|
@@ -571,6 +763,9 @@ export function staleFunctionTypeArtifacts(configDir) {
|
|
|
571
763
|
stale.push(artifact.relative);
|
|
572
764
|
}
|
|
573
765
|
}
|
|
766
|
+
for (const orphan of orphanedInvokers(configDir, planned, options)) {
|
|
767
|
+
stale.push(reportedPath(configDir, orphan));
|
|
768
|
+
}
|
|
574
769
|
return stale;
|
|
575
770
|
}
|
|
576
771
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-db-types.js","sourceRoot":"","sources":["../../../src/lib/function-db-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"function-db-types.js","sourceRoot":"","sources":["../../../src/lib/function-db-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The typed document handle's generated declaration — #3281, project
|
|
3
|
+
* `server-functions` phase 4 (the sponsor's 2026-09-10 note).
|
|
4
|
+
*
|
|
5
|
+
* `ctx.db` is typed from the database schemas through `primitive-db-types.d.ts`
|
|
6
|
+
* (#3182). `ctx.doc(documentId).model("<Model>")` gets the same treatment
|
|
7
|
+
* from the project's DOCUMENT schema: the one `models/models.toml` at the
|
|
8
|
+
* project root (the canonical file `primitive init` wires; the web client's
|
|
9
|
+
* `src/models/models.toml` is the fallback), in the `[models.<name>.fields.<f>]`
|
|
10
|
+
* vocabulary the same js-bao loader reads for database types. So this is the
|
|
11
|
+
* same walk `renderDbTypesDeclaration` makes, over the same IR, into a
|
|
12
|
+
* `DocumentSchemas` augmentation — no second parser and no second idea of
|
|
13
|
+
* what a model is.
|
|
14
|
+
*
|
|
15
|
+
* No schema file → a declaration with no augmentation, and the handle stays
|
|
16
|
+
* open (`DocumentModelNames` widens to `string`, the `DatabaseTypeKeys`
|
|
17
|
+
* rule). A file that does not parse contributes no augmentation either, and
|
|
18
|
+
* the declaration says which file, so the failure is not "my types just
|
|
19
|
+
* don't work".
|
|
20
|
+
*/
|
|
21
|
+
/** The regenerated declaration beside `primitive-db-types.d.ts`. */
|
|
22
|
+
export declare const DOCUMENT_TYPES_DECLARATION_FILE = "primitive-document-types.d.ts";
|
|
23
|
+
/** The canonical document schema, relative to the project root. */
|
|
24
|
+
export declare const DOCUMENT_SCHEMA_RELATIVE: string;
|
|
25
|
+
/** The web client's starter schema, the fallback. */
|
|
26
|
+
export declare const WEB_DOCUMENT_SCHEMA_RELATIVE: string;
|
|
27
|
+
export interface DocumentSchemaSource {
|
|
28
|
+
/** Absolute path of the file that was read. */
|
|
29
|
+
path: string;
|
|
30
|
+
content: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The project root a config tree belongs to: the directory holding
|
|
34
|
+
* `primitive/config.json`, walking up from the tree. Null when the tree is a
|
|
35
|
+
* bare directory with no project around it (`--dir` at a scratch path).
|
|
36
|
+
*/
|
|
37
|
+
export declare function projectRootFor(configDir: string): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* The document schema a tree's functions are typed against, or null when the
|
|
40
|
+
* project has none: the canonical `models/models.toml` first, the web
|
|
41
|
+
* client's copy as the fallback.
|
|
42
|
+
*/
|
|
43
|
+
export declare function documentSchemaSource(configDir: string): DocumentSchemaSource | null;
|
|
44
|
+
/**
|
|
45
|
+
* The declaration for a project's document schema.
|
|
46
|
+
*
|
|
47
|
+
* Sorted by model so the bytes depend on the schema and not on the order the
|
|
48
|
+
* loader answered in — push rewrites this on every run.
|
|
49
|
+
*/
|
|
50
|
+
export declare function renderDocumentTypesDeclaration(source: DocumentSchemaSource | null): string;
|