@vobase/core 0.6.2 → 0.7.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 (64) hide show
  1. package/dist/app.d.ts +5 -88
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/contracts/auth.d.ts +33 -0
  4. package/dist/contracts/auth.d.ts.map +1 -0
  5. package/dist/contracts/module.d.ts +17 -0
  6. package/dist/contracts/module.d.ts.map +1 -0
  7. package/dist/contracts/notify.d.ts +46 -0
  8. package/dist/contracts/notify.d.ts.map +1 -0
  9. package/dist/contracts/storage.d.ts +54 -0
  10. package/dist/contracts/storage.d.ts.map +1 -0
  11. package/dist/db/index.d.ts +0 -3
  12. package/dist/db/index.d.ts.map +1 -1
  13. package/dist/index.d.ts +17 -9
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +508 -567
  16. package/dist/mcp.d.ts +1 -1
  17. package/dist/mcp.d.ts.map +1 -1
  18. package/dist/module.d.ts +9 -0
  19. package/dist/module.d.ts.map +1 -1
  20. package/dist/modules/audit/index.d.ts +5 -0
  21. package/dist/modules/audit/index.d.ts.map +1 -0
  22. package/dist/{middleware/audit.d.ts → modules/audit/middleware.d.ts} +2 -2
  23. package/dist/modules/audit/middleware.d.ts.map +1 -0
  24. package/dist/{db/system-schema.d.ts → modules/audit/schema.d.ts} +1 -76
  25. package/dist/modules/audit/schema.d.ts.map +1 -0
  26. package/dist/{audit.d.ts → modules/audit/track-changes.d.ts} +2 -2
  27. package/dist/modules/audit/track-changes.d.ts.map +1 -0
  28. package/dist/{credentials.d.ts → modules/credentials/encrypt.d.ts} +2 -8
  29. package/dist/modules/credentials/encrypt.d.ts.map +1 -0
  30. package/dist/modules/credentials/index.d.ts +4 -0
  31. package/dist/modules/credentials/index.d.ts.map +1 -0
  32. package/dist/{db/credentials-schema.d.ts → modules/credentials/schema.d.ts} +1 -5
  33. package/dist/modules/credentials/schema.d.ts.map +1 -0
  34. package/dist/modules/sequences/index.d.ts +4 -0
  35. package/dist/modules/sequences/index.d.ts.map +1 -0
  36. package/dist/{sequence.d.ts → modules/sequences/next-sequence.d.ts} +2 -2
  37. package/dist/modules/sequences/next-sequence.d.ts.map +1 -0
  38. package/dist/modules/sequences/schema.d.ts +72 -0
  39. package/dist/modules/sequences/schema.d.ts.map +1 -0
  40. package/dist/schemas.d.ts +17 -0
  41. package/dist/schemas.d.ts.map +1 -0
  42. package/dist/throw-proxy.d.ts +7 -0
  43. package/dist/throw-proxy.d.ts.map +1 -0
  44. package/dist/webhooks-schema.d.ts +60 -0
  45. package/dist/webhooks-schema.d.ts.map +1 -0
  46. package/dist/webhooks.d.ts +5 -12
  47. package/dist/webhooks.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/audit.d.ts.map +0 -1
  50. package/dist/credentials.d.ts.map +0 -1
  51. package/dist/db/credentials-schema.d.ts.map +0 -1
  52. package/dist/db/ensure-core-tables.d.ts +0 -12
  53. package/dist/db/ensure-core-tables.d.ts.map +0 -1
  54. package/dist/db/migrator.d.ts +0 -3
  55. package/dist/db/migrator.d.ts.map +0 -1
  56. package/dist/db/system-schema.d.ts.map +0 -1
  57. package/dist/middleware/audit.d.ts.map +0 -1
  58. package/dist/sequence.d.ts.map +0 -1
  59. package/dist/system/handlers.d.ts +0 -90
  60. package/dist/system/handlers.d.ts.map +0 -1
  61. package/dist/system/index.d.ts +0 -8
  62. package/dist/system/index.d.ts.map +0 -1
  63. package/dist/system/schema.d.ts +0 -2
  64. package/dist/system/schema.d.ts.map +0 -1
package/dist/mcp.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { type VobaseDb } from './db';
2
+ import type { VobaseDb } from './db';
3
3
  import type { VobaseModule } from './module';
4
4
  export interface McpDeps {
5
5
  db: VobaseDb;
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAmBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAmFxD;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GACZ,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAgBrC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAmBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAmFxD;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GACZ,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAgBrC"}
package/dist/module.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Hono } from 'hono';
2
+ import type { ModuleInitContext } from './contracts/module';
2
3
  import type { JobDefinition } from './job';
3
4
  export interface VobaseModule {
4
5
  name: string;
@@ -7,6 +8,7 @@ export interface VobaseModule {
7
8
  jobs?: JobDefinition[];
8
9
  pages?: Record<string, string>;
9
10
  seed?: () => Promise<void>;
11
+ init?: (ctx: ModuleInitContext) => Promise<void> | void;
10
12
  }
11
13
  export interface DefineModuleConfig {
12
14
  name: string;
@@ -15,6 +17,13 @@ export interface DefineModuleConfig {
15
17
  jobs?: JobDefinition[];
16
18
  pages?: Record<string, string>;
17
19
  seed?: () => Promise<void>;
20
+ init?: (ctx: ModuleInitContext) => Promise<void> | void;
18
21
  }
19
22
  export declare function defineModule(config: DefineModuleConfig): VobaseModule;
23
+ /**
24
+ * Internal-only factory for built-in modules. Bypasses user-facing name
25
+ * validation to allow the `_` prefix convention (e.g., `_audit`, `_sequences`).
26
+ * Not exported in the public API (index.ts).
27
+ */
28
+ export declare function defineBuiltinModule(config: DefineModuleConfig): VobaseModule;
20
29
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA8CrE"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA6CrE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA4B5E"}
@@ -0,0 +1,5 @@
1
+ export { auditLog, recordAudits } from './schema';
2
+ export { trackChanges } from './track-changes';
3
+ export { requestAuditMiddleware, createAuthAuditHooks } from './middleware';
4
+ export declare function createAuditModule(): import("../..").VobaseModule;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5E,wBAAgB,iBAAiB,iCAOhC"}
@@ -1,6 +1,6 @@
1
- import { type VobaseDb } from '../db';
1
+ import type { VobaseDb } from '../../db/client';
2
2
  export declare function requestAuditMiddleware(db: VobaseDb): import("hono").MiddlewareHandler<any, string, {}, Response>;
3
3
  export declare function createAuthAuditHooks(db: VobaseDb): {
4
4
  after: (inputContext: import("better-auth").MiddlewareInputContext<import("better-auth").MiddlewareOptions>) => Promise<void>;
5
5
  };
6
- //# sourceMappingURL=audit.d.ts.map
6
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoChD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,+DAkBlD;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ;;EAoBhD"}
@@ -121,81 +121,6 @@ export declare const auditLog: import("drizzle-orm/sqlite-core").SQLiteTableWith
121
121
  };
122
122
  dialect: "sqlite";
123
123
  }>;
124
- /**
125
- * Sequences table for managing sequential ID generation per prefix
126
- * Used for human-readable sequence-based IDs (e.g., ORD-001, INV-002)
127
- */
128
- export declare const sequences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
129
- name: "_sequences";
130
- schema: undefined;
131
- columns: {
132
- id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
133
- name: string;
134
- tableName: "_sequences";
135
- dataType: "string";
136
- data: string;
137
- driverParam: string;
138
- notNull: true;
139
- hasDefault: true;
140
- isPrimaryKey: true;
141
- isAutoincrement: false;
142
- hasRuntimeDefault: true;
143
- enumValues: [string, ...string[]];
144
- baseColumn: never;
145
- identity: undefined;
146
- generated: undefined;
147
- }, {}>;
148
- prefix: import("drizzle-orm/sqlite-core").SQLiteColumn<{
149
- name: string;
150
- tableName: "_sequences";
151
- dataType: "string";
152
- data: string;
153
- driverParam: string;
154
- notNull: true;
155
- hasDefault: false;
156
- isPrimaryKey: false;
157
- isAutoincrement: false;
158
- hasRuntimeDefault: false;
159
- enumValues: [string, ...string[]];
160
- baseColumn: never;
161
- identity: undefined;
162
- generated: undefined;
163
- }, {}>;
164
- currentValue: import("drizzle-orm/sqlite-core").SQLiteColumn<{
165
- name: string;
166
- tableName: "_sequences";
167
- dataType: "number int53";
168
- data: number;
169
- driverParam: number;
170
- notNull: true;
171
- hasDefault: true;
172
- isPrimaryKey: false;
173
- isAutoincrement: false;
174
- hasRuntimeDefault: false;
175
- enumValues: undefined;
176
- baseColumn: never;
177
- identity: undefined;
178
- generated: undefined;
179
- }, {}>;
180
- updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
181
- name: string;
182
- tableName: "_sequences";
183
- dataType: "object date";
184
- data: Date;
185
- driverParam: number;
186
- notNull: true;
187
- hasDefault: true;
188
- isPrimaryKey: false;
189
- isAutoincrement: false;
190
- hasRuntimeDefault: true;
191
- enumValues: undefined;
192
- baseColumn: never;
193
- identity: undefined;
194
- generated: undefined;
195
- }, {}>;
196
- };
197
- dialect: "sqlite";
198
- }>;
199
124
  /**
200
125
  * Record audits table for tracking changes to individual records
201
126
  * Stores before/after data for data change auditing
@@ -319,4 +244,4 @@ export declare const recordAudits: import("drizzle-orm/sqlite-core").SQLiteTable
319
244
  };
320
245
  dialect: "sqlite";
321
246
  }>;
322
- //# sourceMappingURL=system-schema.d.ts.map
247
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/schema.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC"}
@@ -1,3 +1,3 @@
1
- import { type VobaseDb } from './db';
1
+ import type { VobaseDb } from '../../db/client';
2
2
  export declare function trackChanges(db: VobaseDb, tableName: string, recordId: string, oldData: Record<string, unknown> | null, newData: Record<string, unknown> | null, userId?: string): void;
3
- //# sourceMappingURL=audit.d.ts.map
3
+ //# sourceMappingURL=track-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-changes.d.ts","sourceRoot":"","sources":["../../../src/modules/audit/track-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAqBhD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAyCN"}
@@ -1,5 +1,4 @@
1
- import type { Database } from 'bun:sqlite';
2
- import type { VobaseDb } from './db/client';
1
+ import type { VobaseDb } from '../../db/client';
3
2
  /** Encrypt a plaintext string using AES-256-GCM. Returns base64-encoded ciphertext. */
4
3
  export declare function encrypt(plaintext: string): string;
5
4
  /** Decrypt a base64-encoded ciphertext using AES-256-GCM. */
@@ -10,9 +9,4 @@ export declare function getCredential(db: VobaseDb, key: string): Promise<string
10
9
  export declare function setCredential(db: VobaseDb, key: string, value: string): Promise<void>;
11
10
  /** Delete a single credential. */
12
11
  export declare function deleteCredential(db: VobaseDb, key: string): Promise<void>;
13
- /**
14
- * Create the _credentials table if it doesn't exist.
15
- * This is opt-in — call during app startup if your project uses credential encryption.
16
- */
17
- export declare function ensureCredentialTable(db: Database): void;
18
- //# sourceMappingURL=credentials.d.ts.map
12
+ //# sourceMappingURL=encrypt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../src/modules/credentials/encrypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAkBhD,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe/C;AAED,gGAAgG;AAChG,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CASf;AAED,kCAAkC;AAClC,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -0,0 +1,4 @@
1
+ export { credentialsTable } from './schema';
2
+ export { encrypt, decrypt, getCredential, setCredential, deleteCredential } from './encrypt';
3
+ export declare function createCredentialsModule(): import("../..").VobaseModule;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/credentials/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7F,wBAAgB,uBAAuB,iCAOtC"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Credentials table for storing encrypted sensitive data (API keys, tokens, etc.)
3
- * Opt-in: projects must call ensureCredentialTable(db) to create this table.
4
- */
5
1
  export declare const credentialsTable: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
6
2
  name: "_credentials";
7
3
  schema: undefined;
@@ -57,4 +53,4 @@ export declare const credentialsTable: import("drizzle-orm/sqlite-core").SQLiteT
57
53
  };
58
54
  dialect: "sqlite";
59
55
  }>;
60
- //# sourceMappingURL=credentials-schema.d.ts.map
56
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/modules/credentials/schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { sequences } from './schema';
2
+ export { nextSequence, type SequenceOptions } from './next-sequence';
3
+ export declare function createSequencesModule(): import("../..").VobaseModule;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/sequences/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE,wBAAgB,qBAAqB,iCAOpC"}
@@ -1,8 +1,8 @@
1
- import { type VobaseDb } from './db';
1
+ import type { VobaseDb } from '../../db/client';
2
2
  export interface SequenceOptions {
3
3
  padLength?: number;
4
4
  separator?: string;
5
5
  yearPrefix?: boolean;
6
6
  }
7
7
  export declare function nextSequence(db: VobaseDb, prefix: string, options?: SequenceOptions): string;
8
- //# sourceMappingURL=sequence.d.ts.map
8
+ //# sourceMappingURL=next-sequence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-sequence.d.ts","sourceRoot":"","sources":["../../../src/modules/sequences/next-sequence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAQD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CA4BR"}
@@ -0,0 +1,72 @@
1
+ export declare const sequences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
2
+ name: "_sequences";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
6
+ name: string;
7
+ tableName: "_sequences";
8
+ dataType: "string";
9
+ data: string;
10
+ driverParam: string;
11
+ notNull: true;
12
+ hasDefault: true;
13
+ isPrimaryKey: true;
14
+ isAutoincrement: false;
15
+ hasRuntimeDefault: true;
16
+ enumValues: [string, ...string[]];
17
+ baseColumn: never;
18
+ identity: undefined;
19
+ generated: undefined;
20
+ }, {}>;
21
+ prefix: import("drizzle-orm/sqlite-core").SQLiteColumn<{
22
+ name: string;
23
+ tableName: "_sequences";
24
+ dataType: "string";
25
+ data: string;
26
+ driverParam: string;
27
+ notNull: true;
28
+ hasDefault: false;
29
+ isPrimaryKey: false;
30
+ isAutoincrement: false;
31
+ hasRuntimeDefault: false;
32
+ enumValues: [string, ...string[]];
33
+ baseColumn: never;
34
+ identity: undefined;
35
+ generated: undefined;
36
+ }, {}>;
37
+ currentValue: import("drizzle-orm/sqlite-core").SQLiteColumn<{
38
+ name: string;
39
+ tableName: "_sequences";
40
+ dataType: "number int53";
41
+ data: number;
42
+ driverParam: number;
43
+ notNull: true;
44
+ hasDefault: true;
45
+ isPrimaryKey: false;
46
+ isAutoincrement: false;
47
+ hasRuntimeDefault: false;
48
+ enumValues: undefined;
49
+ baseColumn: never;
50
+ identity: undefined;
51
+ generated: undefined;
52
+ }, {}>;
53
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
54
+ name: string;
55
+ tableName: "_sequences";
56
+ dataType: "object date";
57
+ data: Date;
58
+ driverParam: number;
59
+ notNull: true;
60
+ hasDefault: true;
61
+ isPrimaryKey: false;
62
+ isAutoincrement: false;
63
+ hasRuntimeDefault: true;
64
+ enumValues: undefined;
65
+ baseColumn: never;
66
+ identity: undefined;
67
+ generated: undefined;
68
+ }, {}>;
69
+ };
70
+ dialect: "sqlite";
71
+ }>;
72
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/modules/sequences/schema.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface SchemaConfig {
2
+ /** Include credentials table. Default: true */
3
+ credentials?: boolean;
4
+ /** Include storage tables (Phase 2). Default: false */
5
+ storage?: boolean;
6
+ /** Include notify tables (Phase 3). Default: false */
7
+ notify?: boolean;
8
+ }
9
+ /**
10
+ * Returns a merged schema object containing all active Drizzle table
11
+ * definitions based on config. Use with drizzle-kit for migration generation.
12
+ *
13
+ * Always included: auth, audit, sequences, webhook dedup.
14
+ * Conditionally included: credentials, storage (Phase 2), notify (Phase 3).
15
+ */
16
+ export declare function getActiveSchemas(config?: SchemaConfig): Record<string, unknown>;
17
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqB/E"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates a proxy that throws a descriptive error when any property is accessed.
3
+ * Used for optional services (storage, notify) that are typed as non-optional
4
+ * in VobaseCtx but may not be configured.
5
+ */
6
+ export declare function createThrowProxy<T>(serviceName: string): T;
7
+ //# sourceMappingURL=throw-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throw-proxy.d.ts","sourceRoot":"","sources":["../src/throw-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,CAW1D"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Webhook deduplication table. Tracks processed webhook IDs
3
+ * to prevent duplicate processing.
4
+ */
5
+ export declare const webhookDedup: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
6
+ name: "_webhook_dedup";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
10
+ name: string;
11
+ tableName: "_webhook_dedup";
12
+ dataType: "string";
13
+ data: string;
14
+ driverParam: string;
15
+ notNull: true;
16
+ hasDefault: false;
17
+ isPrimaryKey: false;
18
+ isAutoincrement: false;
19
+ hasRuntimeDefault: false;
20
+ enumValues: [string, ...string[]];
21
+ baseColumn: never;
22
+ identity: undefined;
23
+ generated: undefined;
24
+ }, {}>;
25
+ source: import("drizzle-orm/sqlite-core").SQLiteColumn<{
26
+ name: string;
27
+ tableName: "_webhook_dedup";
28
+ dataType: "string";
29
+ data: string;
30
+ driverParam: string;
31
+ notNull: true;
32
+ hasDefault: false;
33
+ isPrimaryKey: false;
34
+ isAutoincrement: false;
35
+ hasRuntimeDefault: false;
36
+ enumValues: [string, ...string[]];
37
+ baseColumn: never;
38
+ identity: undefined;
39
+ generated: undefined;
40
+ }, {}>;
41
+ receivedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
42
+ name: string;
43
+ tableName: "_webhook_dedup";
44
+ dataType: "object date";
45
+ data: Date;
46
+ driverParam: number;
47
+ notNull: true;
48
+ hasDefault: true;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: true;
52
+ enumValues: undefined;
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}>;
57
+ };
58
+ dialect: "sqlite";
59
+ }>;
60
+ //# sourceMappingURL=webhooks-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks-schema.d.ts","sourceRoot":"","sources":["../src/webhooks-schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAC"}
@@ -1,6 +1,7 @@
1
- import type { Database } from 'bun:sqlite';
2
1
  import { Hono } from 'hono';
2
+ import type { VobaseDb } from './db/client';
3
3
  import type { Scheduler } from './queue';
4
+ export { webhookDedup } from './webhooks-schema';
4
5
  export interface WebhookConfig {
5
6
  /** Route path, e.g. '/webhooks/stripe' */
6
7
  path: string;
@@ -22,22 +23,14 @@ export interface WebhookConfig {
22
23
  * Returns false for any malformed or invalid signature (never throws).
23
24
  */
24
25
  export declare function verifyHmacSignature(payload: string, signature: string, secret: string): boolean;
25
- /**
26
- * Creates the `_webhook_dedup` table if it doesn't exist.
27
- *
28
- * Uses raw SQL via the bun:sqlite Database handle, matching the pattern
29
- * used by `ensureCoreTables`.
30
- */
31
- export declare function ensureWebhookDedupTable(db: Database): void;
32
26
  /**
33
27
  * Check whether a webhook has already been processed and record it if not.
34
28
  *
35
- * Uses INSERT OR IGNORE and inspects changes to determine whether the
36
- * row was newly inserted (not a duplicate) or already existed (duplicate).
29
+ * Checks for existing record first, then inserts if not found.
37
30
  *
38
31
  * @returns `true` if the webhook is a duplicate, `false` if it's new.
39
32
  */
40
- export declare function checkAndRecordWebhook(db: Database, webhookId: string, source: string): boolean;
33
+ export declare function checkAndRecordWebhook(db: VobaseDb, webhookId: string, source: string): boolean;
41
34
  /**
42
35
  * Create a Hono router that handles incoming webhook POST requests.
43
36
  *
@@ -47,7 +40,7 @@ export declare function checkAndRecordWebhook(db: Database, webhookId: string, s
47
40
  * 3. Enqueues the payload to the configured job
48
41
  */
49
42
  export declare function createWebhookRoutes(configs: Record<string, WebhookConfig>, deps: {
50
- db: Database;
43
+ db: VobaseDb;
51
44
  scheduler: Scheduler;
52
45
  }): Hono;
53
46
  //# sourceMappingURL=webhooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAoBT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAS1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAOT;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,IAAI,EAAE;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC3C,IAAI,CA8CN"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAoBT;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAoBT;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,IAAI,EAAE;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC3C,IAAI,CA6CN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vobase/core",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "license": "MIT",
5
5
  "description": "The app framework built for AI coding agents - core runtime",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAmBnD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAyCN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkB5C,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe/C;AAED,gGAAgG;AAChG,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYxB;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CASf;AAED,kCAAkC;AAClC,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAIf;AAUD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAExD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials-schema.d.ts","sourceRoot":"","sources":["../../src/db/credentials-schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Database } from 'bun:sqlite';
2
- /**
3
- * Ensures all core framework tables exist in the database.
4
- *
5
- * Creates auth tables (user, session, account, verification) and system tables
6
- * (_audit_log, _sequences, _record_audits) using idempotent CREATE TABLE IF NOT EXISTS.
7
- *
8
- * This runs before Drizzle migrations so that core tables are always available
9
- * regardless of the user project's migration state.
10
- */
11
- export declare function ensureCoreTables(db: Database): void;
12
- //# sourceMappingURL=ensure-core-tables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-core-tables.d.ts","sourceRoot":"","sources":["../../src/db/ensure-core-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAEnD"}
@@ -1,3 +0,0 @@
1
- import type { VobaseDb } from './client';
2
- export declare function runMigrations(db: VobaseDb, migrationsFolder: string): void;
3
- //# sourceMappingURL=migrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/db/migrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKzC,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAG1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-schema.d.ts","sourceRoot":"","sources":["../../src/db/system-schema.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/middleware/audit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAkChD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,+DAkBlD;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ;;EAoBhD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAQD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CA4BR"}
@@ -1,90 +0,0 @@
1
- import type { Auth } from '../auth';
2
- export declare function createSystemRoutes(auth: Auth): import("hono/hono-base").HonoBase<{}, {
3
- "/": {
4
- $get: {
5
- input: {};
6
- output: {
7
- version: string;
8
- uptime: number;
9
- modules: string[];
10
- };
11
- outputFormat: "json";
12
- status: import("hono/utils/http-status").ContentfulStatusCode;
13
- };
14
- };
15
- } & {
16
- "/health": {
17
- $get: {
18
- input: {};
19
- output: {
20
- status: string;
21
- db: string;
22
- uptime: number;
23
- };
24
- outputFormat: "json";
25
- status: import("hono/utils/http-status").ContentfulStatusCode;
26
- };
27
- };
28
- } & {
29
- "/audit-log": {
30
- $get: {
31
- input: {};
32
- output: {
33
- entries: {
34
- id: string;
35
- event: string;
36
- actorId: string | null;
37
- actorEmail: string | null;
38
- ip: string | null;
39
- details: string | null;
40
- createdAt: string;
41
- }[];
42
- nextCursor: string | null;
43
- };
44
- outputFormat: "json";
45
- status: import("hono/utils/http-status").ContentfulStatusCode;
46
- };
47
- };
48
- } & {
49
- "/sequences": {
50
- $get: {
51
- input: {};
52
- output: {
53
- sequences: {
54
- id: string;
55
- prefix: string;
56
- currentValue: number;
57
- updatedAt: string;
58
- }[];
59
- };
60
- outputFormat: "json";
61
- status: import("hono/utils/http-status").ContentfulStatusCode;
62
- };
63
- };
64
- } & {
65
- "/record-audits/:table/:id": {
66
- $get: {
67
- input: {
68
- param: {
69
- table: string;
70
- } & {
71
- id: string;
72
- };
73
- };
74
- output: {
75
- entries: {
76
- id: string;
77
- tableName: string;
78
- recordId: string;
79
- oldData: string | null;
80
- newData: string | null;
81
- changedBy: string | null;
82
- createdAt: string;
83
- }[];
84
- };
85
- outputFormat: "json";
86
- status: import("hono/utils/http-status").ContentfulStatusCode;
87
- };
88
- };
89
- }, "/", "/record-audits/:table/:id">;
90
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/system/handlers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAgCpC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAuE5C"}