@palbase/backend 25.1.0 → 27.0.0

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 (104) hide show
  1. package/dist/bin/palbase-backend.cjs +2401 -1039
  2. package/dist/bin/palbase-backend.cjs.map +1 -1
  3. package/dist/bin/palbase-backend.js +87 -51
  4. package/dist/bin/palbase-backend.js.map +1 -1
  5. package/dist/chunk-CGNN2PUH.js +213 -0
  6. package/dist/chunk-CGNN2PUH.js.map +1 -0
  7. package/dist/chunk-DRZFQRJI.js +370 -0
  8. package/dist/chunk-DRZFQRJI.js.map +1 -0
  9. package/dist/chunk-GYK6QYS4.js +708 -0
  10. package/dist/chunk-GYK6QYS4.js.map +1 -0
  11. package/dist/chunk-I3C4PFIW.js +930 -0
  12. package/dist/chunk-I3C4PFIW.js.map +1 -0
  13. package/dist/{chunk-VDF2T4AS.js → chunk-OO7R25AI.js} +1213 -591
  14. package/dist/chunk-OO7R25AI.js.map +1 -0
  15. package/dist/chunk-TS4U7NBD.js +885 -0
  16. package/dist/chunk-TS4U7NBD.js.map +1 -0
  17. package/dist/{chunk-YOY5DFQS.js → chunk-TWX6JTGJ.js} +76 -34
  18. package/dist/{chunk-YOY5DFQS.js.map → chunk-TWX6JTGJ.js.map} +1 -1
  19. package/dist/{chunk-35PNTIRN.js → chunk-VVMJEVQP.js} +63 -162
  20. package/dist/chunk-VVMJEVQP.js.map +1 -0
  21. package/dist/{chunk-7D4SUZUM.js → chunk-VXPNPVAG.js} +3 -1
  22. package/dist/db/env.cjs.map +1 -1
  23. package/dist/db/env.d.cts +2 -2
  24. package/dist/db/env.d.ts +2 -2
  25. package/dist/db/index.cjs +754 -344
  26. package/dist/db/index.cjs.map +1 -1
  27. package/dist/db/index.d.cts +2 -2
  28. package/dist/db/index.d.ts +2 -2
  29. package/dist/db/index.js +7 -4
  30. package/dist/engine/index.cjs +2339 -1006
  31. package/dist/engine/index.cjs.map +1 -1
  32. package/dist/engine/index.d.cts +6 -6
  33. package/dist/engine/index.d.ts +6 -6
  34. package/dist/engine/index.js +7 -6
  35. package/dist/index-BrvvxSpn.d.ts +4844 -0
  36. package/dist/index-Bve7BBTL.d.cts +4844 -0
  37. package/dist/{index-CUomTA3e.d.ts → index-NuzRCuxe.d.ts} +171 -296
  38. package/dist/{index-ClpDeSos.d.cts → index-VtToZmUm.d.cts} +171 -296
  39. package/dist/index.cjs +2694 -1169
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +165 -19
  42. package/dist/index.d.ts +165 -19
  43. package/dist/index.js +738 -477
  44. package/dist/index.js.map +1 -1
  45. package/dist/module-Dl1KFVtc.d.cts +54 -0
  46. package/dist/module-Dl1KFVtc.d.ts +54 -0
  47. package/dist/openapi/index.cjs +1330 -484
  48. package/dist/openapi/index.cjs.map +1 -1
  49. package/dist/openapi/index.d.cts +4 -2
  50. package/dist/openapi/index.d.ts +4 -2
  51. package/dist/openapi/index.js +1264 -474
  52. package/dist/openapi/index.js.map +1 -1
  53. package/dist/{registry-dZZ5JKYg.d.ts → registry-B0eyOF9x.d.ts} +1 -1
  54. package/dist/{registry-CC0WBQq6.d.cts → registry-Bk9_rbNd.d.cts} +1 -1
  55. package/dist/stack.cjs.map +1 -1
  56. package/dist/test/index.cjs +705 -141
  57. package/dist/test/index.cjs.map +1 -1
  58. package/dist/test/index.d.cts +30 -4
  59. package/dist/test/index.d.ts +30 -4
  60. package/dist/test/index.js +472 -124
  61. package/dist/test/index.js.map +1 -1
  62. package/docs/README.md +33 -18
  63. package/docs/auth.md +1 -1
  64. package/docs/background.md +2 -2
  65. package/docs/database.md +221 -50
  66. package/docs/endpoints.md +3 -4
  67. package/docs/events.md +3 -3
  68. package/docs/getting-started.md +1 -1
  69. package/docs/llms-full.txt +401 -117
  70. package/docs/migrations.md +2 -2
  71. package/docs/schema.md +19 -10
  72. package/docs/services.md +116 -26
  73. package/package.json +8 -4
  74. package/stager/generics.js +205 -0
  75. package/stager/stage.js +39 -3
  76. package/template/AGENTS.md +110 -72
  77. package/template/db/public.ts +1 -1
  78. package/template/{controllers → modules/health}/health.controller.ts +1 -1
  79. package/template/modules/health/health.module.ts +24 -0
  80. package/template/modules/notes/note.service.test.ts +49 -0
  81. package/template/modules/notes/note.service.ts +108 -0
  82. package/template/{controllers → modules/notes}/notes.controller.ts +17 -11
  83. package/template/modules/notes/notes.module.ts +37 -0
  84. package/template/package.json +5 -3
  85. package/template/scripts/test.sh +33 -0
  86. package/template/tsconfig.json +29 -30
  87. package/dist/chunk-35PNTIRN.js.map +0 -1
  88. package/dist/chunk-CJSKYY76.js +0 -627
  89. package/dist/chunk-CJSKYY76.js.map +0 -1
  90. package/dist/chunk-CRQKCRGF.js +0 -276
  91. package/dist/chunk-CRQKCRGF.js.map +0 -1
  92. package/dist/chunk-G4R6BTLV.js +0 -662
  93. package/dist/chunk-G4R6BTLV.js.map +0 -1
  94. package/dist/chunk-VDF2T4AS.js.map +0 -1
  95. package/dist/chunk-XABBC7JP.js +0 -55
  96. package/dist/chunk-XABBC7JP.js.map +0 -1
  97. package/dist/endpoint-CTEHhb7A.d.ts +0 -2386
  98. package/dist/endpoint-DYHMo6cC.d.cts +0 -2386
  99. package/dist/index-CW21M9Z3.d.ts +0 -1222
  100. package/dist/index-CmBK76nx.d.cts +0 -1222
  101. package/template/services/note.service.test.ts +0 -45
  102. package/template/services/note.service.ts +0 -76
  103. /package/dist/{chunk-7D4SUZUM.js.map → chunk-VXPNPVAG.js.map} +0 -0
  104. /package/template/{models/notes → modules/notes/dto}/create.ts +0 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * A class the container can resolve, named by its own constructor.
3
+ *
4
+ * There is NO separate token concept — no strings, no symbols, no `@Inject`.
5
+ * An abstraction is an `abstract class`, which is still a runtime value and so
6
+ * is still a token. `never[]` on the parameters makes a token something you can
7
+ * NAME but not call: `Token` is an identity, not a factory.
8
+ */
9
+ type Token<T = unknown> = abstract new (...args: never[]) => T;
10
+ /**
11
+ * The four lists a module declares.
12
+ *
13
+ * `providers` is OWNERSHIP — a class belongs to exactly one module and this is
14
+ * where that is said. `exports` is VISIBILITY — what other modules may reach.
15
+ * `imports` is PERMISSION — whose exports this module may reach. `controllers`
16
+ * are the entry points the module owns.
17
+ *
18
+ * Position in a list means nothing; ownership is read from this declaration and
19
+ * from nowhere else — not from a directory, not from a file name, not from the
20
+ * class's own decorator (spec FR-009).
21
+ */
22
+ interface ModuleDef {
23
+ imports?: Token[];
24
+ controllers?: Token[];
25
+ providers?: Token[];
26
+ exports?: Token[];
27
+ }
28
+ /** One `@Module` declaration: the class that carried it, and what it declared. */
29
+ interface ModuleEntry {
30
+ mod: Token;
31
+ def: ModuleDef;
32
+ }
33
+ /**
34
+ * Declares a module.
35
+ *
36
+ * There is no root module and nothing to mount it into: registration IS the
37
+ * decorator running, which happens when the file is imported. A project with no
38
+ * module file at all is not an error — it simply owns nothing, and every entry
39
+ * point it declares is refused by name (FR-035) rather than quietly served.
40
+ */
41
+ declare function Module(def: ModuleDef): ClassDecorator;
42
+ /**
43
+ * TAKES the accumulated declarations — it does not read them.
44
+ *
45
+ * Same reason `__runStartHooks` splices (runtime.ts:297): a candidate bundle is
46
+ * imported into the SAME process as the live app it might replace. Reading
47
+ * would let the candidate build a container out of the live app's modules, and
48
+ * a discarded candidate would leave its own behind for the next release to
49
+ * adopt. Claiming makes each `createApp` see exactly the modules imported since
50
+ * the last one, and a rollback leave nothing behind.
51
+ */
52
+ declare function __claimModules(): ModuleEntry[];
53
+
54
+ export { Module as M, type Token as T, __claimModules as _, type ModuleDef as a };
@@ -0,0 +1,54 @@
1
+ /**
2
+ * A class the container can resolve, named by its own constructor.
3
+ *
4
+ * There is NO separate token concept — no strings, no symbols, no `@Inject`.
5
+ * An abstraction is an `abstract class`, which is still a runtime value and so
6
+ * is still a token. `never[]` on the parameters makes a token something you can
7
+ * NAME but not call: `Token` is an identity, not a factory.
8
+ */
9
+ type Token<T = unknown> = abstract new (...args: never[]) => T;
10
+ /**
11
+ * The four lists a module declares.
12
+ *
13
+ * `providers` is OWNERSHIP — a class belongs to exactly one module and this is
14
+ * where that is said. `exports` is VISIBILITY — what other modules may reach.
15
+ * `imports` is PERMISSION — whose exports this module may reach. `controllers`
16
+ * are the entry points the module owns.
17
+ *
18
+ * Position in a list means nothing; ownership is read from this declaration and
19
+ * from nowhere else — not from a directory, not from a file name, not from the
20
+ * class's own decorator (spec FR-009).
21
+ */
22
+ interface ModuleDef {
23
+ imports?: Token[];
24
+ controllers?: Token[];
25
+ providers?: Token[];
26
+ exports?: Token[];
27
+ }
28
+ /** One `@Module` declaration: the class that carried it, and what it declared. */
29
+ interface ModuleEntry {
30
+ mod: Token;
31
+ def: ModuleDef;
32
+ }
33
+ /**
34
+ * Declares a module.
35
+ *
36
+ * There is no root module and nothing to mount it into: registration IS the
37
+ * decorator running, which happens when the file is imported. A project with no
38
+ * module file at all is not an error — it simply owns nothing, and every entry
39
+ * point it declares is refused by name (FR-035) rather than quietly served.
40
+ */
41
+ declare function Module(def: ModuleDef): ClassDecorator;
42
+ /**
43
+ * TAKES the accumulated declarations — it does not read them.
44
+ *
45
+ * Same reason `__runStartHooks` splices (runtime.ts:297): a candidate bundle is
46
+ * imported into the SAME process as the live app it might replace. Reading
47
+ * would let the candidate build a container out of the live app's modules, and
48
+ * a discarded candidate would leave its own behind for the next release to
49
+ * adopt. Claiming makes each `createApp` see exactly the modules imported since
50
+ * the last one, and a rollback leave nothing behind.
51
+ */
52
+ declare function __claimModules(): ModuleEntry[];
53
+
54
+ export { Module as M, type Token as T, __claimModules as _, type ModuleDef as a };