@trokky/trokky 3.5.5 → 3.6.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 (100) hide show
  1. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts +2 -0
  2. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts.map +1 -1
  3. package/dist/adapters/filesystem-data/filesystem-data-adapter.js +23 -0
  4. package/dist/adapters/filesystem-data/filesystem-data-adapter.js.map +1 -1
  5. package/dist/adapters/postgres-data/postgres-data-adapter.d.ts.map +1 -1
  6. package/dist/adapters/postgres-data/postgres-data-adapter.js +7 -5
  7. package/dist/adapters/postgres-data/postgres-data-adapter.js.map +1 -1
  8. package/dist/core/adapters/registry.d.ts +6 -0
  9. package/dist/core/adapters/registry.d.ts.map +1 -1
  10. package/dist/core/adapters/registry.js +39 -6
  11. package/dist/core/adapters/registry.js.map +1 -1
  12. package/dist/core/core/engine.d.ts +24 -1
  13. package/dist/core/core/engine.d.ts.map +1 -1
  14. package/dist/core/core/engine.js +67 -8
  15. package/dist/core/core/engine.js.map +1 -1
  16. package/dist/core/diagnostics/doctor.d.ts +50 -0
  17. package/dist/core/diagnostics/doctor.d.ts.map +1 -0
  18. package/dist/core/diagnostics/doctor.js +160 -0
  19. package/dist/core/diagnostics/doctor.js.map +1 -0
  20. package/dist/core/events/event-bus.d.ts +6 -0
  21. package/dist/core/events/event-bus.d.ts.map +1 -1
  22. package/dist/core/events/event-bus.js +28 -1
  23. package/dist/core/events/event-bus.js.map +1 -1
  24. package/dist/core/schema/registry.d.ts +12 -0
  25. package/dist/core/schema/registry.d.ts.map +1 -1
  26. package/dist/core/schema/registry.js +113 -0
  27. package/dist/core/schema/registry.js.map +1 -1
  28. package/dist/core/security/auth.d.ts +0 -4
  29. package/dist/core/security/auth.d.ts.map +1 -1
  30. package/dist/core/security/auth.js +0 -11
  31. package/dist/core/security/auth.js.map +1 -1
  32. package/dist/core/security/jwt-secret.d.ts +36 -0
  33. package/dist/core/security/jwt-secret.d.ts.map +1 -0
  34. package/dist/core/security/jwt-secret.js +93 -0
  35. package/dist/core/security/jwt-secret.js.map +1 -0
  36. package/dist/core/services/document-service.d.ts +11 -2
  37. package/dist/core/services/document-service.d.ts.map +1 -1
  38. package/dist/core/services/document-service.js +4 -2
  39. package/dist/core/services/document-service.js.map +1 -1
  40. package/dist/core/services/mfa-service.d.ts.map +1 -1
  41. package/dist/core/services/mfa-service.js +2 -7
  42. package/dist/core/services/mfa-service.js.map +1 -1
  43. package/dist/core/services/user-service.d.ts.map +1 -1
  44. package/dist/core/services/user-service.js +4 -1
  45. package/dist/core/services/user-service.js.map +1 -1
  46. package/dist/core/types/index.d.ts +11 -0
  47. package/dist/core/types/index.d.ts.map +1 -1
  48. package/dist/core/types/index.js.map +1 -1
  49. package/dist/core/types/storage-adapters.d.ts +6 -0
  50. package/dist/core/types/storage-adapters.d.ts.map +1 -1
  51. package/dist/core/validation/validator.d.ts +8 -1
  52. package/dist/core/validation/validator.d.ts.map +1 -1
  53. package/dist/core/validation/validator.js +33 -21
  54. package/dist/core/validation/validator.js.map +1 -1
  55. package/dist/i18n/config.d.ts +2 -0
  56. package/dist/i18n/config.d.ts.map +1 -1
  57. package/dist/i18n/locales/en/studio.json +1 -0
  58. package/dist/i18n/locales/fr/studio.json +1 -0
  59. package/dist/integrations/express/config.d.ts +11 -0
  60. package/dist/integrations/express/config.d.ts.map +1 -1
  61. package/dist/integrations/express/config.js +4 -2
  62. package/dist/integrations/express/config.js.map +1 -1
  63. package/dist/integrations/express/integration.d.ts.map +1 -1
  64. package/dist/integrations/express/integration.js +96 -79
  65. package/dist/integrations/express/integration.js.map +1 -1
  66. package/dist/integrations/express/persistence.d.ts +38 -0
  67. package/dist/integrations/express/persistence.d.ts.map +1 -0
  68. package/dist/integrations/express/persistence.js +97 -0
  69. package/dist/integrations/express/persistence.js.map +1 -0
  70. package/dist/integrations/express/server.d.ts.map +1 -1
  71. package/dist/integrations/express/server.js +2 -1
  72. package/dist/integrations/express/server.js.map +1 -1
  73. package/dist/routes/handlers/documents.d.ts.map +1 -1
  74. package/dist/routes/handlers/documents.js +13 -4
  75. package/dist/routes/handlers/documents.js.map +1 -1
  76. package/dist/routes/handlers/index.d.ts +1 -0
  77. package/dist/routes/handlers/index.d.ts.map +1 -1
  78. package/dist/routes/handlers/index.js +1 -0
  79. package/dist/routes/handlers/index.js.map +1 -1
  80. package/dist/routes/handlers/media.d.ts +7 -0
  81. package/dist/routes/handlers/media.d.ts.map +1 -1
  82. package/dist/routes/handlers/media.js +30 -1
  83. package/dist/routes/handlers/media.js.map +1 -1
  84. package/dist/routes/handlers/system.d.ts +14 -0
  85. package/dist/routes/handlers/system.d.ts.map +1 -0
  86. package/dist/routes/handlers/system.js +24 -0
  87. package/dist/routes/handlers/system.js.map +1 -0
  88. package/dist/routes/handlers/users.d.ts +5 -0
  89. package/dist/routes/handlers/users.d.ts.map +1 -1
  90. package/dist/routes/handlers/users.js +84 -2
  91. package/dist/routes/handlers/users.js.map +1 -1
  92. package/dist/routes/routes.d.ts.map +1 -1
  93. package/dist/routes/routes.js +7 -2
  94. package/dist/routes/routes.js.map +1 -1
  95. package/dist/structure/validation/schemas.d.ts +50 -50
  96. package/dist/types/oauth2.d.ts +1 -1
  97. package/dist/types/oauth2.d.ts.map +1 -1
  98. package/dist/types/oauth2.js +2 -0
  99. package/dist/types/oauth2.js.map +1 -1
  100. package/package.json +1 -1
@@ -76,4 +76,10 @@ export declare function createAdapter<T extends StorageAdapter | MediaAdapter>(n
76
76
  * Export the registry instance for direct access
77
77
  */
78
78
  export { globalRegistry as adapterRegistry };
79
+ /**
80
+ * Why a configured adapter is missing, and the line that fixes it. Adapters register themselves
81
+ * when their module is imported, so the usual cause is a missing (or bundler-dropped) import,
82
+ * not a missing package.
83
+ */
84
+ export declare function adapterNotFoundMessage(kind: 'data' | 'media', name: string, available: string[]): string;
79
85
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,kBAAkB,IAAI,cAAc,EACpC,mBAAmB,IAAI,YAAY,EACpC,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;AAGvF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CAAA;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;GAEG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAGhB;IAED,OAAO,CAAC,aAAa,CAAQ;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAiB7C;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE;IAItD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAIzD;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB3E;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB1E;;OAEG;IACH,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAA;QACpB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,aAAa,EAAE,MAAM,EAAE,CAAA;KACxB;IAQD;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAGD,QAAA,MAAM,cAAc,iBAAwB,CAAA;AAW5C;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,YAAY,EACzE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,CAAC,CAAC,CAQZ;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,kBAAkB,IAAI,cAAc,EACpC,mBAAmB,IAAI,YAAY,EACpC,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;AAGvF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CAAA;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;GAEG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAGhB;IAED,OAAO,CAAC,aAAa,CAAQ;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAiB7C;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE;IAItD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAIzD;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAiB3E;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAiB1E;;OAEG;IACH,SAAS,IAAI;QACX,WAAW,EAAE,OAAO,CAAA;QACpB,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,aAAa,EAAE,MAAM,EAAE,CAAA;KACxB;IAQD;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAGD,QAAA,MAAM,cAAc,iBAAwB,CAAA;AAW5C;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,YAAY,EACzE,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,CAAC,CAAC,CAQZ;AAED;;GAEG;AACH,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,CAAA;AAgB5C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAyBxG"}
@@ -53,9 +53,7 @@ class AdapterRegistry {
53
53
  async createDataAdapter(name, config) {
54
54
  const factory = this.factories.data.get(name);
55
55
  if (!factory) {
56
- const available = this.getAvailableAdapters('data');
57
- throw new Error(`Data adapter "${name}" not found. Available adapters: ${available.join(', ')}.\n` +
58
- `Make sure the adapter package is installed and imported.`);
56
+ throw new Error(adapterNotFoundMessage('data', name, this.getAvailableAdapters('data')));
59
57
  }
60
58
  try {
61
59
  const adapter = await factory(config);
@@ -71,9 +69,7 @@ class AdapterRegistry {
71
69
  async createMediaAdapter(name, config) {
72
70
  const factory = this.factories.media.get(name);
73
71
  if (!factory) {
74
- const available = this.getAvailableAdapters('media');
75
- throw new Error(`Media adapter "${name}" not found. Available adapters: ${available.join(', ')}.\n` +
76
- `Make sure the adapter package is installed and imported.`);
72
+ throw new Error(adapterNotFoundMessage('media', name, this.getAvailableAdapters('media')));
77
73
  }
78
74
  try {
79
75
  const adapter = await factory(config);
@@ -146,4 +142,41 @@ export async function createAdapter(name, type, config) {
146
142
  * Export the registry instance for direct access
147
143
  */
148
144
  export { globalRegistry as adapterRegistry };
145
+ /** The adapters this package ships, by kind, with the import that registers each one. */
146
+ const BUILT_IN_ADAPTERS = {
147
+ data: {
148
+ 'filesystem-data': '@trokky/trokky/adapters/filesystem-data',
149
+ 'postgres-data': '@trokky/trokky/adapters/postgres-data',
150
+ 'cloudflare-d1': '@trokky/trokky/adapters/cloudflare-d1',
151
+ },
152
+ media: {
153
+ 'filesystem-media': '@trokky/trokky/adapters/filesystem-media',
154
+ 's3-media': '@trokky/trokky/adapters/s3-media',
155
+ 'cloudflare-r2': '@trokky/trokky/adapters/cloudflare-r2',
156
+ },
157
+ };
158
+ /**
159
+ * Why a configured adapter is missing, and the line that fixes it. Adapters register themselves
160
+ * when their module is imported, so the usual cause is a missing (or bundler-dropped) import,
161
+ * not a missing package.
162
+ */
163
+ export function adapterNotFoundMessage(kind, name, available) {
164
+ const registered = available.length > 0 ? available.join(', ') : 'none';
165
+ const head = `${kind === 'data' ? 'Data' : 'Media'} adapter "${name}" is not registered (registered ${kind} adapters: ${registered}).`;
166
+ const importPath = Object.hasOwn(BUILT_IN_ADAPTERS[kind], name) ? BUILT_IN_ADAPTERS[kind][name] : undefined;
167
+ if (importPath) {
168
+ return (`${head} Adapters register themselves when imported: add\n\n import '${importPath}'\n\n` +
169
+ 'to the file that creates the server, before it runs. If the import is there, check that your ' +
170
+ 'bundler keeps side-effect imports.');
171
+ }
172
+ const otherKind = kind === 'data' ? 'media' : 'data';
173
+ if (Object.hasOwn(BUILT_IN_ADAPTERS[otherKind], name)) {
174
+ return `${head} "${name}" is a ${otherKind} adapter: it belongs under storage.${otherKind}, not storage.${kind}.`;
175
+ }
176
+ const known = Object.keys(BUILT_IN_ADAPTERS[kind]);
177
+ const typed = name.toLowerCase();
178
+ const hint = typed && known.find((candidate) => candidate.startsWith(typed) || typed.startsWith(candidate.split('-')[0]));
179
+ return (`${head} Built-in ${kind} adapters: ${known.join(', ')}` +
180
+ `${hint ? ` (did you mean "${hint}"?)` : ''}. A third-party adapter must be imported before the server is created.`);
181
+ }
149
182
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/adapters/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/adapters/registry.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,10 @@ import { type TOTPSecretResult } from '../security/mfa/index.js';
11
11
  import { type CaptchaProviderType, type CaptchaProtectedEndpoint, type CaptchaVerificationResult } from '../security/captcha/index.js';
12
12
  import { OAuth2AuthorizationServer } from '../security/oauth2/index.js';
13
13
  import type { OAuth2Scope, TokenResponse } from '../types/oauth2.js';
14
+ import { type JwtSecretEnvironment } from '../security/jwt-secret.js';
15
+ import { type DoctorReport, type StorageCheck } from '../diagnostics/doctor.js';
14
16
  import { type ClaimStatus, type ClaimInput } from '../services/user-service.js';
17
+ import { type SaveDocumentOptions } from '../services/document-service.js';
15
18
  import { type OAuth2Grant } from '../services/oauth2-server-service.js';
16
19
  export interface TrokkyCoreOptions {
17
20
  schemaRegistry?: SchemaRegistry;
@@ -21,6 +24,12 @@ export interface TrokkyCoreOptions {
21
24
  enableSecurity?: boolean;
22
25
  setupAdminFromEnv?: boolean;
23
26
  jwtSecret?: string;
27
+ /**
28
+ * Runtime environment. With NODE_ENV, decides the JWT secret rules: if either says production
29
+ * (or names anything but development/test), a missing or placeholder jwtSecret is fatal.
30
+ * Edge runtimes have no NODE_ENV, so a Worker in production should pass 'production' here.
31
+ */
32
+ env?: JwtSecretEnvironment;
24
33
  /**
25
34
  * Secret a first-boot claim must present. Falls back to TROKKY_CLAIM_SECRET.
26
35
  * Without one the claim is open to whoever reaches the instance first.
@@ -82,6 +91,13 @@ export declare class TrokkyCore {
82
91
  private securityEnabled;
83
92
  private options;
84
93
  private jwtSecret;
94
+ /** Where the signing key came from, for trokky doctor; never the key itself */
95
+ private jwtSecretSource;
96
+ private jwtSecretEnvironment;
97
+ /** The startup persistence check, for trokky doctor */
98
+ private storageCheck;
99
+ /** The latest doctor report, shared by concurrent callers and reused for a minute */
100
+ private doctorRun?;
85
101
  private config;
86
102
  private auditLogger?;
87
103
  private cryptoAdapter;
@@ -134,7 +150,7 @@ export declare class TrokkyCore {
134
150
  getDocument<T extends Record<string, unknown> = Record<string, unknown>>(collection: string, id: string): Promise<(Document & T) | null>;
135
151
  saveDocument<T extends Record<string, unknown> = Record<string, unknown>>(collection: string, data: DocumentData & T & {
136
152
  id?: string;
137
- }, auditContext?: AuditContext): Promise<Document & T>;
153
+ }, auditContext?: AuditContext, options?: SaveDocumentOptions): Promise<Document & T>;
138
154
  listDocuments<T extends Record<string, unknown> = Record<string, unknown>>(collection: string, options?: ListOptions): Promise<(Document & T)[]>;
139
155
  countDocuments(collection: string, filter?: Record<string, unknown>): Promise<number>;
140
156
  deleteDocument(collection: string, id: string, auditContext?: AuditContext): Promise<void>;
@@ -191,6 +207,13 @@ export declare class TrokkyCore {
191
207
  * Get both storage adapters
192
208
  */
193
209
  getStorageAdapters(): TrokkyStorageAdapters;
210
+ /** Keep the startup persistence check's result for trokky doctor */
211
+ recordStorageCheck(check: StorageCheck): void;
212
+ /**
213
+ * The checks behind trokky doctor: no secrets, only names, counts and ids. One scan runs at a
214
+ * time, and its report is reused for a minute.
215
+ */
216
+ diagnose(): Promise<DoctorReport>;
194
217
  healthCheck(): Promise<boolean>;
195
218
  private validateAndSanitizeMediaFile;
196
219
  private sanitizeFilename;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/core/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/core/core/engine.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ import { systemStartup } from '../events/index.js';
11
11
  import { OAuth2AuthorizationServer } from '../security/oauth2/index.js';
12
12
  import { AuthService } from '../services/auth-service.js';
13
13
  import { MFAService, generateSecureSecret, resolveMfaIssuer } from '../services/mfa-service.js';
14
+ import { resolveJwtSecret, resolveJwtSecretEnvironment } from '../security/jwt-secret.js';
15
+ import { runDoctor } from '../diagnostics/doctor.js';
16
+ /** How long a doctor report is reused: a full scan per request would let any caller load the database */
17
+ const DOCTOR_REPORT_TTL_MS = 60_000;
14
18
  import { TrustedDeviceService } from '../services/trusted-device-service.js';
15
19
  import { OAuthService } from '../services/oauth-service.js';
16
20
  import { PasskeyService } from '../services/passkey-service.js';
@@ -34,6 +38,13 @@ export class TrokkyCore {
34
38
  securityEnabled;
35
39
  options;
36
40
  jwtSecret;
41
+ /** Where the signing key came from, for trokky doctor; never the key itself */
42
+ jwtSecretSource = 'configured';
43
+ jwtSecretEnvironment;
44
+ /** The startup persistence check, for trokky doctor */
45
+ storageCheck = { checked: false, reason: 'the check did not run', warnings: [] };
46
+ /** The latest doctor report, shared by concurrent callers and reused for a minute */
47
+ doctorRun;
37
48
  config;
38
49
  auditLogger;
39
50
  cryptoAdapter;
@@ -90,11 +101,19 @@ export class TrokkyCore {
90
101
  this.validator = options.validator || new DocumentValidator(this.schemas);
91
102
  this.idGenerator = options.idGenerator || new IdGenerator();
92
103
  this.securityEnabled = options.enableSecurity ?? config.security?.validateInput ?? true;
93
- // Initialize JWT secret (use provided secret, environment variable if available, or generate one)
94
- const envJwt = (typeof process !== 'undefined' && process.env?.TROKKY_JWT_SECRET)
95
- ? process.env.TROKKY_JWT_SECRET
96
- : undefined;
97
- this.jwtSecret = options.jwtSecret || envJwt || this.generateSecureSecret();
104
+ // JWT secret: the option, then TROKKY_JWT_SECRET. Production refuses to start without a real one.
105
+ const processEnv = typeof process !== 'undefined' ? process.env : undefined;
106
+ this.jwtSecretEnvironment = resolveJwtSecretEnvironment(options.env, processEnv?.NODE_ENV);
107
+ this.jwtSecret = resolveJwtSecret({
108
+ configured: options.jwtSecret,
109
+ fromEnv: processEnv?.TROKKY_JWT_SECRET,
110
+ environment: this.jwtSecretEnvironment,
111
+ generate: () => {
112
+ this.jwtSecretSource = 'generated';
113
+ return this.generateSecureSecret();
114
+ },
115
+ warn: (message) => this.logger.warn(message),
116
+ });
98
117
  // Initialize audit logger
99
118
  this.auditLogger = options.auditLogger;
100
119
  // Initialize crypto adapter
@@ -254,7 +273,7 @@ export class TrokkyCore {
254
273
  securityEnabled: this.securityEnabled,
255
274
  eventBus: this.eventBus,
256
275
  eventsEnabled: this.eventsEnabled,
257
- validateDocument: (collection, data) => this.validateDocument(collection, data)
276
+ validateDocument: (collection, data, options) => this.validator.validateDocument(collection, data, options)
258
277
  });
259
278
  this.mediaService = new MediaService({
260
279
  config: this.config,
@@ -453,8 +472,8 @@ export class TrokkyCore {
453
472
  async getDocument(collection, id) {
454
473
  return this.documentService.getDocument(collection, id);
455
474
  }
456
- async saveDocument(collection, data, auditContext) {
457
- return this.documentService.saveDocument(collection, data, auditContext);
475
+ async saveDocument(collection, data, auditContext, options) {
476
+ return this.documentService.saveDocument(collection, data, auditContext, options);
458
477
  }
459
478
  async listDocuments(collection, options) {
460
479
  return this.documentService.listDocuments(collection, options);
@@ -554,6 +573,46 @@ export class TrokkyCore {
554
573
  };
555
574
  }
556
575
  // Health check
576
+ /** Keep the startup persistence check's result for trokky doctor */
577
+ recordStorageCheck(check) {
578
+ this.storageCheck = check;
579
+ }
580
+ /**
581
+ * The checks behind trokky doctor: no secrets, only names, counts and ids. One scan runs at a
582
+ * time, and its report is reused for a minute.
583
+ */
584
+ diagnose() {
585
+ const run = this.doctorRun;
586
+ // A scan still running is shared however long it takes; a finished one is reused for a minute
587
+ if (run && (run.finishedAt === undefined || Date.now() - run.finishedAt < DOCTOR_REPORT_TTL_MS)) {
588
+ return run.report;
589
+ }
590
+ const report = runDoctor({
591
+ environment: this.jwtSecretEnvironment,
592
+ signingKey: { source: this.jwtSecretSource, length: this.jwtSecret.length },
593
+ schemaProblems: this.schemas.getSchemaProblems(),
594
+ storage: this.storageCheck,
595
+ collections: this.schemas.getSchemaNames(),
596
+ // Straight from storage, so a full scan does not count against the API rate limit, and
597
+ // ordered by id: paging over a non-unique order can skip or repeat documents
598
+ listDocuments: async (collection, limit, offset) => (await this.dataStorage.listDocuments(collection, { limit, offset, sort: ['_id.asc'] })),
599
+ listUnreadable: this.dataStorage.listUnreadableDocuments
600
+ ? (collection) => this.dataStorage.listUnreadableDocuments(collection)
601
+ : undefined,
602
+ validate: (collection, document) => this.validator.validateDocument(collection, document),
603
+ });
604
+ const current = { report };
605
+ this.doctorRun = current;
606
+ report.then(() => {
607
+ current.finishedAt = Date.now();
608
+ },
609
+ // A failed run is not reused
610
+ () => {
611
+ if (this.doctorRun === current)
612
+ this.doctorRun = undefined;
613
+ });
614
+ return report;
615
+ }
557
616
  async healthCheck() {
558
617
  try {
559
618
  // Check health of both storage adapters
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/core/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * `trokky doctor`: the checks behind GET /system/doctor.
3
+ *
4
+ * Each one answers a question that otherwise only shows up in a startup log nobody reads, or
5
+ * at the worst moment: is the signing key real, do the schemas say what their authors meant,
6
+ * will the content survive a redeploy, and can every stored document still be saved under the
7
+ * current rules. The report carries no secrets and no field values, only names, counts and ids.
8
+ */
9
+ import type { ValidationResult } from '../types/index.js';
10
+ import { type JwtSecretEnvironment } from '../security/jwt-secret.js';
11
+ export type DoctorStatus = 'ok' | 'warn' | 'fail';
12
+ export interface DoctorCheck {
13
+ id: 'signing-key' | 'schemas' | 'storage' | 'content';
14
+ title: string;
15
+ status: DoctorStatus;
16
+ /** One line per finding: names, counts and ids, never values */
17
+ details: string[];
18
+ }
19
+ export interface DoctorReport {
20
+ environment: JwtSecretEnvironment;
21
+ status: DoctorStatus;
22
+ /** When the checks ran: a report is reused for up to a minute */
23
+ checkedAt: string;
24
+ checks: DoctorCheck[];
25
+ }
26
+ /** The startup persistence check: what it found, or why it did not run */
27
+ export interface StorageCheck {
28
+ checked: boolean;
29
+ reason?: string;
30
+ warnings: string[];
31
+ }
32
+ export interface DoctorInput {
33
+ environment: JwtSecretEnvironment;
34
+ signingKey: {
35
+ source: 'configured' | 'generated';
36
+ length: number;
37
+ };
38
+ schemaProblems: Record<string, string[]>;
39
+ storage: StorageCheck;
40
+ collections: string[];
41
+ /** Every stored document of a collection, page by page, in a stable order */
42
+ listDocuments: (collection: string, limit: number, offset: number) => Promise<Array<Record<string, unknown>>>;
43
+ /** Stored documents the adapter could not read at all (e.g. a corrupt file), if it can tell */
44
+ listUnreadable?: (collection: string) => Promise<string[]>;
45
+ validate: (collection: string, document: Record<string, unknown>) => ValidationResult;
46
+ }
47
+ /** The scan stops here and says so, rather than tie up the database */
48
+ export declare const MAX_SCANNED_DOCUMENTS = 50000;
49
+ export declare function runDoctor(input: DoctorInput): Promise<DoctorReport>;
50
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/core/diagnostics/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAE5F,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACrD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,YAAY,CAAA;IACpB,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,oBAAoB,CAAA;IACjC,MAAM,EAAE,YAAY,CAAA;IACpB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE;QAAE,MAAM,EAAE,YAAY,GAAG,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAClE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACxC,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,6EAA6E;IAC7E,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7G,+FAA+F;IAC/F,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1D,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,gBAAgB,CAAA;CACtF;AAGD,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAM3C,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAazE"}