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.
Files changed (105) hide show
  1. package/README.md +38 -17
  2. package/assets/skill/skills/primitive-platform/SKILL.md +39 -52
  3. package/dist/bin/primitive.js +14 -25
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/admins.js +8 -18
  6. package/dist/src/commands/admins.js.map +1 -1
  7. package/dist/src/commands/analytics.js +46 -5
  8. package/dist/src/commands/analytics.js.map +1 -1
  9. package/dist/src/commands/auth.js +16 -1
  10. package/dist/src/commands/auth.js.map +1 -1
  11. package/dist/src/commands/collection-type-configs.js +1 -9
  12. package/dist/src/commands/collection-type-configs.js.map +1 -1
  13. package/dist/src/commands/config.js +11 -29
  14. package/dist/src/commands/config.js.map +1 -1
  15. package/dist/src/commands/database-type-configs.js +1 -9
  16. package/dist/src/commands/database-type-configs.js.map +1 -1
  17. package/dist/src/commands/databases.js +8 -38
  18. package/dist/src/commands/databases.js.map +1 -1
  19. package/dist/src/commands/env.js +27 -32
  20. package/dist/src/commands/env.js.map +1 -1
  21. package/dist/src/commands/functions.js +197 -23
  22. package/dist/src/commands/functions.js.map +1 -1
  23. package/dist/src/commands/groups.js +1 -9
  24. package/dist/src/commands/groups.js.map +1 -1
  25. package/dist/src/commands/init.js +6 -0
  26. package/dist/src/commands/init.js.map +1 -1
  27. package/dist/src/commands/rule-sets.js +1 -9
  28. package/dist/src/commands/rule-sets.js.map +1 -1
  29. package/dist/src/commands/scripts.js +12 -28
  30. package/dist/src/commands/scripts.js.map +1 -1
  31. package/dist/src/commands/sync.d.ts +119 -0
  32. package/dist/src/commands/sync.js +387 -196
  33. package/dist/src/commands/sync.js.map +1 -1
  34. package/dist/src/commands/workflows.js +2 -14
  35. package/dist/src/commands/workflows.js.map +1 -1
  36. package/dist/src/lib/api-client.d.ts +46 -11
  37. package/dist/src/lib/api-client.js +21 -11
  38. package/dist/src/lib/api-client.js.map +1 -1
  39. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +24 -57
  40. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +30 -204
  41. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -1
  42. package/dist/src/lib/config-json-field.d.ts +28 -0
  43. package/dist/src/lib/config-json-field.js +56 -0
  44. package/dist/src/lib/config-json-field.js.map +1 -0
  45. package/dist/src/lib/config-object-descriptor.js +4 -3
  46. package/dist/src/lib/config-object-descriptor.js.map +1 -1
  47. package/dist/src/lib/config-surface.js +1 -1
  48. package/dist/src/lib/config-surface.js.map +1 -1
  49. package/dist/src/lib/config.d.ts +21 -14
  50. package/dist/src/lib/config.js +25 -44
  51. package/dist/src/lib/config.js.map +1 -1
  52. package/dist/src/lib/credentials-store.d.ts +31 -8
  53. package/dist/src/lib/credentials-store.js +52 -13
  54. package/dist/src/lib/credentials-store.js.map +1 -1
  55. package/dist/src/lib/env-resolver-core.d.ts +18 -0
  56. package/dist/src/lib/env-resolver-core.js +26 -3
  57. package/dist/src/lib/env-resolver-core.js.map +1 -1
  58. package/dist/src/lib/env-resolver.d.ts +15 -0
  59. package/dist/src/lib/env-resolver.js +21 -1
  60. package/dist/src/lib/env-resolver.js.map +1 -1
  61. package/dist/src/lib/function-collect.d.ts +1 -1
  62. package/dist/src/lib/function-collect.js +138 -7
  63. package/dist/src/lib/function-collect.js.map +1 -1
  64. package/dist/src/lib/function-db-types.d.ts +49 -11
  65. package/dist/src/lib/function-db-types.js +234 -39
  66. package/dist/src/lib/function-db-types.js.map +1 -1
  67. package/dist/src/lib/function-document-types.d.ts +50 -0
  68. package/dist/src/lib/function-document-types.js +163 -0
  69. package/dist/src/lib/function-document-types.js.map +1 -0
  70. package/dist/src/lib/function-log-tail.d.ts +83 -0
  71. package/dist/src/lib/function-log-tail.js +115 -0
  72. package/dist/src/lib/function-log-tail.js.map +1 -0
  73. package/dist/src/lib/function-schema-codegen.d.ts +118 -0
  74. package/dist/src/lib/function-schema-codegen.js +402 -0
  75. package/dist/src/lib/function-schema-codegen.js.map +1 -0
  76. package/dist/src/lib/function-sync.d.ts +85 -2
  77. package/dist/src/lib/function-sync.js +196 -27
  78. package/dist/src/lib/function-sync.js.map +1 -1
  79. package/dist/src/lib/function-triggers.d.ts +9 -3
  80. package/dist/src/lib/function-triggers.js +12 -9
  81. package/dist/src/lib/function-triggers.js.map +1 -1
  82. package/dist/src/lib/function-typecheck.d.ts +86 -0
  83. package/dist/src/lib/function-typecheck.js +370 -0
  84. package/dist/src/lib/function-typecheck.js.map +1 -0
  85. package/dist/src/lib/generated-allowlist.js +4 -0
  86. package/dist/src/lib/generated-allowlist.js.map +1 -1
  87. package/dist/src/lib/generated-config-surfaces.d.ts +422 -0
  88. package/dist/src/lib/generated-config-surfaces.js +838 -9
  89. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  90. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  91. package/dist/src/lib/generated-sdk-types.js +1 -1
  92. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  93. package/dist/src/lib/log-inspection.d.ts +116 -4
  94. package/dist/src/lib/log-inspection.js +147 -2
  95. package/dist/src/lib/log-inspection.js.map +1 -1
  96. package/dist/src/lib/snapshots.d.ts +6 -7
  97. package/dist/src/lib/snapshots.js +18 -81
  98. package/dist/src/lib/snapshots.js.map +1 -1
  99. package/dist/src/lib/sync-paths.d.ts +29 -53
  100. package/dist/src/lib/sync-paths.js +46 -97
  101. package/dist/src/lib/sync-paths.js.map +1 -1
  102. package/dist/src/lib/workflow-toml-validator.d.ts +8 -3
  103. package/dist/src/lib/workflow-toml-validator.js +8 -3
  104. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  105. 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 three files, in `functions/` ─────────────────────────────────────
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
- * - `tsconfig.json` — the wiring, so an editor and a bare `tsc` both see all
28
- * three with nothing for an author to configure.
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 two `.d.ts` files are GENERATED and rewritten on every push. The tsconfig
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", `./${DB_TYPES_DECLARATION_FILE}`, `./${SDK_TYPES_FILE}`],
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 === `./${DB_TYPES_DECLARATION_FILE}` ||
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
- const wildcard = listed.includes(SOURCES_INCLUDE);
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
- declarations: !implicitlyAll &&
302
- !wildcard &&
303
- !(listed.includes(`./${DB_TYPES_DECLARATION_FILE}`) &&
304
- listed.includes(`./${SDK_TYPES_FILE}`)),
305
- sources: !implicitlyAll && !wildcard && !listed.some(isSourceEntry),
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.declarations) {
315
- problems.push(`\`include\` does not cover "./${DB_TYPES_DECLARATION_FILE}" and ` +
316
- `"./${SDK_TYPES_FILE}", so the database augmentation is never loaded`);
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.mapping && !gaps.declarations && !gaps.sources) {
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.declarations || gaps.sources) {
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 if (gaps.declarations) {
405
- added.push(`./${DB_TYPES_DECLARATION_FILE}`, `./${SDK_TYPES_FILE}`);
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
- for (const artifact of planFunctionTypeArtifacts(configDir)) {
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;