@vobase/core 0.8.0 → 0.10.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 (63) hide show
  1. package/dist/app.d.ts +2 -2
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/contracts/auth.d.ts +2 -0
  4. package/dist/contracts/auth.d.ts.map +1 -1
  5. package/dist/contracts/module.d.ts +2 -2
  6. package/dist/contracts/module.d.ts.map +1 -1
  7. package/dist/contracts/permissions.d.ts +10 -0
  8. package/dist/contracts/permissions.d.ts.map +1 -0
  9. package/dist/ctx.d.ts +4 -2
  10. package/dist/ctx.d.ts.map +1 -1
  11. package/dist/index.d.ts +11 -9
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +89640 -79993
  14. package/dist/infra/circuit-breaker.d.ts.map +1 -0
  15. package/dist/infra/errors.d.ts.map +1 -0
  16. package/dist/infra/http-client.d.ts.map +1 -0
  17. package/dist/infra/index.d.ts +11 -0
  18. package/dist/infra/index.d.ts.map +1 -0
  19. package/dist/infra/job.d.ts.map +1 -0
  20. package/dist/infra/logger.d.ts.map +1 -0
  21. package/dist/infra/queue.d.ts.map +1 -0
  22. package/dist/infra/throw-proxy.d.ts.map +1 -0
  23. package/dist/infra/webhooks-schema.d.ts.map +1 -0
  24. package/dist/{webhooks.d.ts → infra/webhooks.d.ts} +1 -1
  25. package/dist/infra/webhooks.d.ts.map +1 -0
  26. package/dist/mcp/crud.d.ts +12 -0
  27. package/dist/mcp/crud.d.ts.map +1 -0
  28. package/dist/mcp/index.d.ts +3 -0
  29. package/dist/mcp/index.d.ts.map +1 -0
  30. package/dist/mcp/server.d.ts +16 -0
  31. package/dist/mcp/server.d.ts.map +1 -0
  32. package/dist/module.d.ts +1 -1
  33. package/dist/module.d.ts.map +1 -1
  34. package/dist/modules/auth/index.d.ts +8 -0
  35. package/dist/modules/auth/index.d.ts.map +1 -1
  36. package/dist/modules/auth/middleware.d.ts +1 -0
  37. package/dist/modules/auth/middleware.d.ts.map +1 -1
  38. package/dist/modules/auth/permissions.d.ts +5 -0
  39. package/dist/modules/auth/permissions.d.ts.map +1 -0
  40. package/dist/modules/auth/schema.d.ts +1511 -171
  41. package/dist/modules/auth/schema.d.ts.map +1 -1
  42. package/dist/schemas.d.ts +2 -0
  43. package/dist/schemas.d.ts.map +1 -1
  44. package/package.json +3 -2
  45. package/dist/circuit-breaker.d.ts.map +0 -1
  46. package/dist/errors.d.ts.map +0 -1
  47. package/dist/http-client.d.ts.map +0 -1
  48. package/dist/job.d.ts.map +0 -1
  49. package/dist/logger.d.ts.map +0 -1
  50. package/dist/mcp.d.ts +0 -10
  51. package/dist/mcp.d.ts.map +0 -1
  52. package/dist/queue.d.ts.map +0 -1
  53. package/dist/throw-proxy.d.ts.map +0 -1
  54. package/dist/webhooks-schema.d.ts.map +0 -1
  55. package/dist/webhooks.d.ts.map +0 -1
  56. /package/dist/{circuit-breaker.d.ts → infra/circuit-breaker.d.ts} +0 -0
  57. /package/dist/{errors.d.ts → infra/errors.d.ts} +0 -0
  58. /package/dist/{http-client.d.ts → infra/http-client.d.ts} +0 -0
  59. /package/dist/{job.d.ts → infra/job.d.ts} +0 -0
  60. /package/dist/{logger.d.ts → infra/logger.d.ts} +0 -0
  61. /package/dist/{queue.d.ts → infra/queue.d.ts} +0 -0
  62. /package/dist/{throw-proxy.d.ts → infra/throw-proxy.d.ts} +0 -0
  63. /package/dist/{webhooks-schema.d.ts → infra/webhooks-schema.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/infra/circuit-breaker.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,qBAAqB;IAK1C,MAAM,IAAI,OAAO;IAYjB,UAAU,IAAI,OAAO;IAMrB,aAAa,IAAI,IAAI;IAerB,aAAa,IAAI,IAAI;CAItB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/infra/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AAEjD,qBAAa,WAAY,SAAQ,KAAK;aAGlB,IAAI,EAAE,SAAS;aACf,UAAU,EAAE,oBAAoB;aAChC,OAAO,CAAC,EAAE,MAAM;gBAHhC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,oBAAoB,EAChC,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,eAAO,MAAM,YAAY,GAAI,gBAAwB,gBACN,CAAC;AAEhD,eAAO,MAAM,SAAS,GAAI,gBAAqB,gBACH,CAAC;AAE7C,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,gBACmB,CAAC;AAE7D,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,gBAA6B,gBACnB,CAAC;AAEvD,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,gBACuB,CAAC;AAEjE,eAAO,MAAM,MAAM,mBAC0C,CAAC;AAE9D,eAAO,MAAM,YAAY,GAAI,KAAK,KAAK,EAAE,GAAG,OAAO,KAAG,QAkBrD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/infra/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,CAAC,GAAG,OAAO,EACf,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,GAChD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,GAAG,OAAO,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,GAChD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,GAChD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,GAChD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B;AA2CD,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAgIzE"}
@@ -0,0 +1,11 @@
1
+ export { conflict, dbBusy, ERROR_CODES, type ErrorCode, errorHandler, forbidden, notFound, unauthorized, VobaseError, validation, } from './errors';
2
+ export { logger } from './logger';
3
+ export { createScheduler, configureQueueDataPath, DEFAULT_QUEUE_DB_PATH, DEFAULT_QUEUE_NAME, type JobOptions, type Scheduler, type SchedulerOptions, } from './queue';
4
+ export type { JobDefinition, JobHandler, WorkerOptions } from './job';
5
+ export { createWorker, defineJob, jobRegistry } from './job';
6
+ export { CircuitBreaker, type CircuitBreakerOptions } from './circuit-breaker';
7
+ export { createHttpClient, type HttpClient, type HttpClientOptions, type HttpResponse, type RequestOptions, } from './http-client';
8
+ export { createThrowProxy } from './throw-proxy';
9
+ export { type WebhookConfig, verifyHmacSignature, createWebhookRoutes, webhookDedup } from './webhooks';
10
+ export { webhookDedup as webhookDedupSchema } from './webhooks-schema';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,KAAK,SAAS,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/infra/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACP,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,WAAW,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,yBAAgC,CAAC;AAkCzD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa,CAM1E;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,aAAa,EAAE,EACrB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAoBR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/infra/logger.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM;gBACL,MAAM,SAAS,OAAO;gBACtB,MAAM,SAAS,OAAO;iBACrB,MAAM,SAAS,OAAO;iBACtB,MAAM,SAAS,OAAO;CACpC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/infra/queue.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAsFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa7D;AAED,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAmBrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throw-proxy.d.ts","sourceRoot":"","sources":["../../src/infra/throw-proxy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,CAW1D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks-schema.d.ts","sourceRoot":"","sources":["../../src/infra/webhooks-schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Hono } from 'hono';
2
- import type { VobaseDb } from './db/client';
2
+ import type { VobaseDb } from '../db/client';
3
3
  import type { Scheduler } from './queue';
4
4
  export { webhookDedup } from './webhooks-schema';
5
5
  export interface WebhookConfig {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/infra/webhooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,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"}
@@ -0,0 +1,12 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { AuthUser } from '../contracts/auth';
3
+ import type { VobaseDb } from '../db';
4
+ import type { VobaseModule } from '../module';
5
+ interface CrudContext {
6
+ db: VobaseDb;
7
+ user: AuthUser | null;
8
+ organizationEnabled: boolean;
9
+ }
10
+ export declare function registerCrudTools(server: McpServer, modules: VobaseModule[], ctx: CrudContext, excludeMap: Map<string, Set<string>>): void;
11
+ export {};
12
+ //# sourceMappingURL=crud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/mcp/crud.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,UAAU,WAAW;IACnB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAwBD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EAAE,EACvB,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,QAiIrC"}
@@ -0,0 +1,3 @@
1
+ export { createMcpServer, createMcpHandler, type McpDeps } from './server';
2
+ export { registerCrudTools } from './crud';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { VobaseDb } from '../db';
3
+ import type { VobaseModule } from '../module';
4
+ export interface McpDeps {
5
+ db: VobaseDb;
6
+ modules: VobaseModule[];
7
+ /** Validate an API key. Returns user ID if valid, null if invalid. */
8
+ verifyApiKey?: (key: string) => Promise<{
9
+ userId: string;
10
+ } | null>;
11
+ /** Whether the organization plugin is enabled (affects CRUD authorization). */
12
+ organizationEnabled?: boolean;
13
+ }
14
+ export declare function createMcpServer(deps: McpDeps): McpServer;
15
+ export declare function createMcpHandler(deps: McpDeps): (req: Request) => Promise<Response>;
16
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM9C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnE,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;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,CAiDrC"}
package/dist/module.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Hono } from 'hono';
2
2
  import type { ModuleInitContext } from './contracts/module';
3
- import type { JobDefinition } from './job';
3
+ import type { JobDefinition } from './infra/job';
4
4
  export interface VobaseModule {
5
5
  name: string;
6
6
  schema: Record<string, unknown>;
@@ -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;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"}
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,aAAa,CAAC;AAMjD,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"}
@@ -6,9 +6,17 @@ export interface AuthModuleConfig {
6
6
  baseURL?: string;
7
7
  trustedOrigins?: string[];
8
8
  socialProviders?: SocialProviders;
9
+ /** Enable the organization plugin for multi-tenant support. Default: false */
10
+ organization?: boolean;
9
11
  }
10
12
  export type AuthModule = VobaseModule & {
11
13
  adapter: AuthAdapter;
14
+ /** Validate an API key and return the owning user. Returns null if invalid. */
15
+ verifyApiKey: (key: string) => Promise<{
16
+ userId: string;
17
+ } | null>;
18
+ /** Whether the organization plugin is enabled */
19
+ organizationEnabled: boolean;
12
20
  };
13
21
  export declare function createAuthModule(db: VobaseDb, config?: AuthModuleConfig): AuthModule;
14
22
  export { authSchema } from './schema';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAEjE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAmCpF;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,OAAO,EAAE,WAAW,CAAC;IACrB,+EAA+E;IAC/E,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAClE,iDAAiD;IACjD,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAiEpF;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
@@ -6,6 +6,7 @@ declare module 'hono' {
6
6
  email: string;
7
7
  name: string;
8
8
  role: string;
9
+ activeOrganizationId?: string;
9
10
  } | null;
10
11
  }
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KACxE;CACF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,+DAiBrD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,+DAkB7D"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KACvG;CACF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,+DAkBrD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,+DAmB7D"}
@@ -0,0 +1,5 @@
1
+ export declare function setOrganizationEnabled(enabled: boolean): void;
2
+ export declare function requireRole(...roles: string[]): import("hono").MiddlewareHandler<any, string, {}, Response>;
3
+ export declare function requirePermission(..._permissions: string[]): import("hono").MiddlewareHandler<any, string, {}, Response>;
4
+ export declare function requireOrg(): import("hono").MiddlewareHandler<any, string, {}, Response>;
5
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/permissions.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAEtD;AAED,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,+DAQ7C;AAED,wBAAgB,iBAAiB,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,+DAW1D;AAED,wBAAgB,UAAU,gEAazB"}