katanakit-js 2.15.0 → 3.0.1

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.
package/README.md CHANGED
@@ -9,7 +9,7 @@ npm install katanakit-js
9
9
  # or
10
10
  bun add katanakit-js
11
11
  # or
12
- yarn add katanakit-js
12
+ pnpm add katanakit-js
13
13
  ```
14
14
 
15
15
  ### CDN (ESM)
@@ -366,10 +366,10 @@ DATABASE_URL=
366
366
 
367
367
  | Script | Starts |
368
368
  |--------|--------|
369
- | `yarn assistant:dev` | REST assistant. Uses Prisma when `DATABASE_URL` is set. |
370
- | `yarn telegram:dev` | Telegram long polling. Requires `TELEGRAM_BOT_TOKEN`. |
371
- | `yarn whatsapp:dev` | WhatsApp webhook. Requires `WHATSAPP_*`. |
372
- | `yarn assistant:demo` | Demo in `examples/assistant/`. Set `KITT_CHANNEL=rest\|telegram\|whatsapp`. |
369
+ | `pnpm assistant:dev` | REST assistant. Uses Prisma when `DATABASE_URL` is set. |
370
+ | `pnpm telegram:dev` | Telegram long polling. Requires `TELEGRAM_BOT_TOKEN`. |
371
+ | `pnpm whatsapp:dev` | WhatsApp webhook. Requires `WHATSAPP_*`. |
372
+ | `pnpm assistant:demo` | Demo in `examples/assistant/`. Set `KITT_CHANNEL=rest\|telegram\|whatsapp`. |
373
373
 
374
374
  ### REST
375
375
 
@@ -429,7 +429,7 @@ await useStartTelegramPolling();
429
429
  2. Send `/newbot` — choose a name and a username.
430
430
  3. Copy the token.
431
431
  4. Set `TELEGRAM_BOT_TOKEN`.
432
- 5. Run `yarn telegram:dev` (long polling, no public URL).
432
+ 5. Run `pnpm telegram:dev` (long polling, no public URL).
433
433
  6. Optional webhook: expose HTTPS and call `useHandleTelegramUpdate(update)` on inbound updates.
434
434
 
435
435
  ### WhatsApp (Meta Cloud API)
@@ -452,7 +452,7 @@ useStartWhatsApp();
452
452
  2. Add the WhatsApp product.
453
453
  3. Copy the temporary or permanent token, the Phone number ID, and the **App Secret**.
454
454
  4. Set `WHATSAPP_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID`, `WHATSAPP_VERIFY_TOKEN`, and `WHATSAPP_APP_SECRET`.
455
- 5. Run `yarn whatsapp:dev`.
455
+ 5. Run `pnpm whatsapp:dev`.
456
456
  6. Expose public HTTPS (Cloudflare Tunnel or ngrok) to `GET`/`POST` `/whatsapp/webhook`.
457
457
  7. In Meta, set the webhook URL and verify token; subscribe to `messages`.
458
458
 
@@ -487,7 +487,7 @@ owns the database, run `prisma contract emit` then `prisma db init` in that app.
487
487
  `readFile` on `knowledge-base.md` and `saveNote` to `notes.jsonl`.
488
488
 
489
489
  ```bash
490
- yarn assistant:demo
490
+ pnpm assistant:demo
491
491
  # KITT_CHANNEL=rest|telegram|whatsapp
492
492
  ```
493
493
 
@@ -0,0 +1,20 @@
1
+ import type { Request, RequestHandler } from "express";
2
+ import type { AccessCapability, AccessSubject } from "../../types/index.js";
3
+ /**
4
+ * Builds an Express guard that requires an access capability.
5
+ *
6
+ * The project ships no auth provider, so the subject is resolved by the
7
+ * caller (JWT, session, API key…). Return `null` from `resolveSubject` for
8
+ * anonymous requests — they get a 401; authenticated but not allowed gets 403.
9
+ *
10
+ * Plugs into any router that accepts a `guard`, e.g. the assistant adapter:
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * useStartAssistant(3000, "localhost", "/assistant", {
15
+ * guard: useRequireCapability("conversations:use", (request) => request.account ?? null),
16
+ * });
17
+ * ```
18
+ */
19
+ export declare function useRequireCapability(capability: AccessCapability, resolveSubject: (request: Request) => AccessSubject | null): RequestHandler;
20
+ //# sourceMappingURL=access.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.guard.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/access.guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAE,cAAc,EAAY,MAAM,SAAS,CAAC;AAG/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,aAAa,GAAG,IAAI,GACxD,cAAc,CAgChB"}
@@ -0,0 +1,48 @@
1
+ import { useCan } from "../../core/services/access.service.js";
2
+ /**
3
+ * Builds an Express guard that requires an access capability.
4
+ *
5
+ * The project ships no auth provider, so the subject is resolved by the
6
+ * caller (JWT, session, API key…). Return `null` from `resolveSubject` for
7
+ * anonymous requests — they get a 401; authenticated but not allowed gets 403.
8
+ *
9
+ * Plugs into any router that accepts a `guard`, e.g. the assistant adapter:
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * useStartAssistant(3000, "localhost", "/assistant", {
14
+ * guard: useRequireCapability("conversations:use", (request) => request.account ?? null),
15
+ * });
16
+ * ```
17
+ */
18
+ export function useRequireCapability(capability, resolveSubject) {
19
+ return (request, response, next) => {
20
+ const subject = resolveSubject(request);
21
+ if (!subject) {
22
+ response.status(401).json({
23
+ ok: false,
24
+ data: null,
25
+ error: { message: "Authentication required", status: 401 },
26
+ });
27
+ return;
28
+ }
29
+ let allowed;
30
+ try {
31
+ allowed = useCan(subject, capability);
32
+ }
33
+ catch {
34
+ // Malformed subject or unknown role: fail closed at the HTTP boundary.
35
+ allowed = false;
36
+ }
37
+ if (!allowed) {
38
+ response.status(403).json({
39
+ ok: false,
40
+ data: null,
41
+ error: { message: `Missing capability: ${capability}`, status: 403 },
42
+ });
43
+ return;
44
+ }
45
+ next();
46
+ };
47
+ }
48
+ //# sourceMappingURL=access.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.guard.js","sourceRoot":"","sources":["../../../src/adapters/express/access.guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAG/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CACnC,UAA4B,EAC5B,cAA0D;IAE1D,OAAO,CAAC,OAAgB,EAAE,QAAkB,EAAE,IAAkB,EAAQ,EAAE;QACzE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE;aAC1D,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACR,uEAAuE;YACvE,OAAO,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,OAAO,EAAE,uBAAuB,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;aACpE,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { useRequireCapability } from "./access.guard.js";
1
2
  export { app, useGetApp, useStart } from "./app.js";
2
3
  export { useExpressCreateProduct, useExpressDeleteProduct, useExpressGetAllProducts, useExpressGetProductById, useExpressUpdateProduct, } from "./products.controller.js";
3
4
  export { default as router } from "./router.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACb,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACb,MAAM,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { useRequireCapability } from "./access.guard.js";
1
2
  export { app, useGetApp, useStart } from "./app.js";
2
3
  export { useExpressCreateProduct, useExpressDeleteProduct, useExpressGetAllProducts, useExpressGetProductById, useExpressUpdateProduct, } from "./products.controller.js";
3
4
  export { default as router } from "./router.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACb,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACN,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACb,MAAM,aAAa,CAAC"}
@@ -1,3 +1,4 @@
1
- declare const router: import("express-serve-static-core").Router;
1
+ import { Router } from "express";
2
+ declare const router: Router;
2
3
  export default router;
3
4
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/router.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAexB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,SAAS,CAAC;AAE9D,QAAA,MAAM,MAAM,EAAE,MAAiB,CAAC;AAehC,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/adapters/express/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAkB,EAAE,EAAE;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAgB,EAAE,QAAkB,EAAE,EAAE;IAC3D,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAkB,EAAE,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/adapters/express/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,MAAM,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC;AAEhC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAkB,EAAE,EAAE;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAgB,EAAE,QAAkB,EAAE,EAAE;IAC3D,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAkB,EAAE,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./services/access.service.js";
1
2
  export * from "./services/agent.service.js";
2
3
  export * from "./services/assistant.service.js";
3
4
  export * from "./services/dates.service.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./services/access.service.js";
1
2
  export * from "./services/agent.service.js";
2
3
  export * from "./services/assistant.service.js";
3
4
  export * from "./services/dates.service.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { AccessCapability, AccessRole, AccessRoleDefinition, AccessSubject } from "../../types/index.js";
2
+ /**
3
+ * Effective capabilities of a role: its own plus every less-privileged role's.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * useCapabilitiesFor("author"); // content:create, content:edit:own, …, conversations:use
8
+ * useCapabilitiesFor("guest"); // []
9
+ * ```
10
+ */
11
+ export declare function useCapabilitiesFor(role: AccessRole): AccessCapability[];
12
+ /**
13
+ * Registers (or replaces) a role definition. Use it to extend a built-in
14
+ * role's capabilities, e.g. grant `content:create` to `member`. The definition
15
+ * is copied, so mutating the caller's object afterwards has no effect.
16
+ */
17
+ export declare function useRegisterRole(definition: AccessRoleDefinition): void;
18
+ /** Restores the built-in role registry (mainly for tests). */
19
+ export declare function useResetRoles(): void;
20
+ /** Lists every registered role definition. Returns copies, not live state. */
21
+ export declare function useRoles(): AccessRoleDefinition[];
22
+ /** Exact role membership — no hierarchy involved. */
23
+ export declare function useHasRole(subject: AccessSubject, role: AccessRole): boolean;
24
+ /**
25
+ * Whether the subject may perform a capability. Any of the subject's roles
26
+ * granting the capability (directly or by inheritance) is enough.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * useCan({ id: 1, roles: ["author"] }, "content:publish"); // false
31
+ * useCan({ id: 1, roles: ["author"] }, "content:create"); // true
32
+ * useCan({ id: 2, roles: ["editor"] }, "content:create"); // true (inherits author)
33
+ * useCan({ id: 3, roles: [] }, "conversations:use"); // false
34
+ * ```
35
+ */
36
+ export declare function useCan(subject: AccessSubject, capability: AccessCapability): boolean;
37
+ //# sourceMappingURL=access.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/access.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,MAAM,sBAAsB,CAAC;AA8D9B;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAYvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEtE;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,8EAA8E;AAC9E,wBAAgB,QAAQ,IAAI,oBAAoB,EAAE,CAEjD;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAE5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAEpF"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Role ranks: lower number = more privileged. Higher-privilege roles inherit
3
+ * the capabilities of every role below them (e.g. `admin` can do everything
4
+ * `editor` can).
5
+ */
6
+ const ROLE_RANK = {
7
+ owner: 0,
8
+ admin: 1,
9
+ editor: 2,
10
+ author: 3,
11
+ member: 4,
12
+ guest: 5,
13
+ };
14
+ /**
15
+ * Default role registry: each role lists only the capabilities it adds on top
16
+ * of the roles below it. `guest` adds none — read access is public by default.
17
+ */
18
+ const DEFAULT_ROLES = [
19
+ { slug: "owner", label: "Owner", capabilities: ["roles:assign", "system:admin"] },
20
+ { slug: "admin", label: "Admin", capabilities: ["members:manage"] },
21
+ {
22
+ slug: "editor",
23
+ label: "Editor",
24
+ capabilities: [
25
+ "content:publish",
26
+ "content:edit:any",
27
+ "content:delete:any",
28
+ "conversations:moderate",
29
+ ],
30
+ },
31
+ {
32
+ slug: "author",
33
+ label: "Author",
34
+ capabilities: ["content:create", "content:edit:own", "content:delete:own"],
35
+ },
36
+ { slug: "member", label: "Member", capabilities: ["conversations:use"] },
37
+ { slug: "guest", label: "Guest", capabilities: [] },
38
+ ].map((role) => Object.freeze(useCopy(role)));
39
+ /** Copies a definition so callers never hold (or mutate) live registry state. */
40
+ function useCopy(definition) {
41
+ return { ...definition, capabilities: [...definition.capabilities] };
42
+ }
43
+ /** Active registry, keyed by role slug. Starts as the default set. */
44
+ const registry = new Map(DEFAULT_ROLES.map((role) => [role.slug, role]));
45
+ function useDefinitionFor(role) {
46
+ const definition = registry.get(role);
47
+ if (!definition) {
48
+ throw new Error(`Unknown access role: ${role}`);
49
+ }
50
+ return definition;
51
+ }
52
+ /**
53
+ * Effective capabilities of a role: its own plus every less-privileged role's.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * useCapabilitiesFor("author"); // content:create, content:edit:own, …, conversations:use
58
+ * useCapabilitiesFor("guest"); // []
59
+ * ```
60
+ */
61
+ export function useCapabilitiesFor(role) {
62
+ const rank = ROLE_RANK[useDefinitionFor(role).slug];
63
+ const capabilities = new Set();
64
+ for (const definition of registry.values()) {
65
+ if (ROLE_RANK[definition.slug] >= rank) {
66
+ for (const capability of definition.capabilities) {
67
+ capabilities.add(capability);
68
+ }
69
+ }
70
+ }
71
+ return [...capabilities];
72
+ }
73
+ /**
74
+ * Registers (or replaces) a role definition. Use it to extend a built-in
75
+ * role's capabilities, e.g. grant `content:create` to `member`. The definition
76
+ * is copied, so mutating the caller's object afterwards has no effect.
77
+ */
78
+ export function useRegisterRole(definition) {
79
+ registry.set(definition.slug, Object.freeze(useCopy(definition)));
80
+ }
81
+ /** Restores the built-in role registry (mainly for tests). */
82
+ export function useResetRoles() {
83
+ registry.clear();
84
+ for (const role of DEFAULT_ROLES) {
85
+ registry.set(role.slug, role);
86
+ }
87
+ }
88
+ /** Lists every registered role definition. Returns copies, not live state. */
89
+ export function useRoles() {
90
+ return [...registry.values()].sort((a, b) => ROLE_RANK[a.slug] - ROLE_RANK[b.slug]).map(useCopy);
91
+ }
92
+ /** Exact role membership — no hierarchy involved. */
93
+ export function useHasRole(subject, role) {
94
+ return subject.roles.includes(role);
95
+ }
96
+ /**
97
+ * Whether the subject may perform a capability. Any of the subject's roles
98
+ * granting the capability (directly or by inheritance) is enough.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * useCan({ id: 1, roles: ["author"] }, "content:publish"); // false
103
+ * useCan({ id: 1, roles: ["author"] }, "content:create"); // true
104
+ * useCan({ id: 2, roles: ["editor"] }, "content:create"); // true (inherits author)
105
+ * useCan({ id: 3, roles: [] }, "conversations:use"); // false
106
+ * ```
107
+ */
108
+ export function useCan(subject, capability) {
109
+ return subject.roles.some((role) => useCapabilitiesFor(role).includes(capability));
110
+ }
111
+ //# sourceMappingURL=access.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.service.js","sourceRoot":"","sources":["../../../src/core/services/access.service.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,SAAS,GAA+B;IAC7C,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;CACR,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAClB;IACC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE;IACjF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACnE;QACC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE;YACb,iBAAiB;YACjB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;SACxB;KACD;IACD;QACC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;KAC1E;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE;IACxE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;CAEpD,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9C,iFAAiF;AACjF,SAAS,OAAO,CAAC,UAAgC;IAChD,OAAO,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,sEAAsE;AACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAC9C,CAAC;AAEF,SAAS,gBAAgB,CAAC,IAAgB;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEjD,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACxC,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAClD,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAgC;IAC/D,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,QAAQ;IACvB,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAC,OAAsB,EAAE,IAAgB;IAClE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB,EAAE,UAA4B;IAC1E,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACpF,CAAC"}
@@ -4,6 +4,10 @@
4
4
  "target": "postgres",
5
5
  "profileHash": "3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2",
6
6
  "roots": {
7
+ "accounts": {
8
+ "model": "Account",
9
+ "namespace": "public"
10
+ },
7
11
  "conversations": {
8
12
  "model": "Conversation",
9
13
  "namespace": "public"
@@ -15,16 +19,99 @@
15
19
  "posts": {
16
20
  "model": "Post",
17
21
  "namespace": "public"
18
- },
19
- "users": {
20
- "model": "User",
21
- "namespace": "public"
22
22
  }
23
23
  },
24
24
  "domain": {
25
25
  "namespaces": {
26
26
  "public": {
27
27
  "models": {
28
+ "Account": {
29
+ "fields": {
30
+ "createdAt": {
31
+ "nullable": false,
32
+ "type": {
33
+ "codecId": "pg/timestamptz-string@1",
34
+ "kind": "scalar"
35
+ }
36
+ },
37
+ "email": {
38
+ "nullable": false,
39
+ "type": {
40
+ "codecId": "pg/text@1",
41
+ "kind": "scalar"
42
+ }
43
+ },
44
+ "id": {
45
+ "nullable": false,
46
+ "type": {
47
+ "codecId": "pg/int4@1",
48
+ "kind": "scalar"
49
+ }
50
+ },
51
+ "name": {
52
+ "nullable": true,
53
+ "type": {
54
+ "codecId": "pg/text@1",
55
+ "kind": "scalar"
56
+ }
57
+ },
58
+ "updatedAt": {
59
+ "nullable": false,
60
+ "type": {
61
+ "codecId": "pg/timestamptz-string@1",
62
+ "kind": "scalar"
63
+ }
64
+ },
65
+ "username": {
66
+ "nullable": true,
67
+ "type": {
68
+ "codecId": "pg/text@1",
69
+ "kind": "scalar"
70
+ }
71
+ }
72
+ },
73
+ "relations": {
74
+ "posts": {
75
+ "cardinality": "1:N",
76
+ "on": {
77
+ "localFields": [
78
+ "id"
79
+ ],
80
+ "targetFields": [
81
+ "authorId"
82
+ ]
83
+ },
84
+ "to": {
85
+ "model": "Post",
86
+ "namespace": "public"
87
+ }
88
+ }
89
+ },
90
+ "storage": {
91
+ "fields": {
92
+ "createdAt": {
93
+ "column": "createdAt"
94
+ },
95
+ "email": {
96
+ "column": "email"
97
+ },
98
+ "id": {
99
+ "column": "id"
100
+ },
101
+ "name": {
102
+ "column": "name"
103
+ },
104
+ "updatedAt": {
105
+ "column": "updatedAt"
106
+ },
107
+ "username": {
108
+ "column": "username"
109
+ }
110
+ },
111
+ "namespaceId": "public",
112
+ "table": "accounts"
113
+ }
114
+ },
28
115
  "Conversation": {
29
116
  "fields": {
30
117
  "channel": {
@@ -226,7 +313,7 @@
226
313
  ]
227
314
  },
228
315
  "to": {
229
- "model": "User",
316
+ "model": "Account",
230
317
  "namespace": "public"
231
318
  }
232
319
  }
@@ -255,103 +342,77 @@
255
342
  "namespaceId": "public",
256
343
  "table": "posts"
257
344
  }
258
- },
259
- "User": {
260
- "fields": {
261
- "createdAt": {
262
- "nullable": false,
263
- "type": {
264
- "codecId": "pg/timestamptz-string@1",
265
- "kind": "scalar"
266
- }
267
- },
268
- "email": {
269
- "nullable": false,
270
- "type": {
271
- "codecId": "pg/text@1",
272
- "kind": "scalar"
273
- }
274
- },
275
- "id": {
276
- "nullable": false,
277
- "type": {
278
- "codecId": "pg/int4@1",
279
- "kind": "scalar"
280
- }
281
- },
282
- "name": {
283
- "nullable": true,
284
- "type": {
285
- "codecId": "pg/text@1",
286
- "kind": "scalar"
287
- }
288
- },
289
- "updatedAt": {
290
- "nullable": false,
291
- "type": {
292
- "codecId": "pg/timestamptz-string@1",
293
- "kind": "scalar"
294
- }
295
- },
296
- "username": {
297
- "nullable": true,
298
- "type": {
299
- "codecId": "pg/text@1",
300
- "kind": "scalar"
301
- }
302
- }
303
- },
304
- "relations": {
305
- "posts": {
306
- "cardinality": "1:N",
307
- "on": {
308
- "localFields": [
309
- "id"
310
- ],
311
- "targetFields": [
312
- "authorId"
313
- ]
314
- },
315
- "to": {
316
- "model": "Post",
317
- "namespace": "public"
318
- }
319
- }
320
- },
321
- "storage": {
322
- "fields": {
345
+ }
346
+ }
347
+ }
348
+ }
349
+ },
350
+ "storage": {
351
+ "namespaces": {
352
+ "public": {
353
+ "entries": {
354
+ "table": {
355
+ "accounts": {
356
+ "columns": {
323
357
  "createdAt": {
324
- "column": "createdAt"
358
+ "codecId": "pg/timestamptz-string@1",
359
+ "default": {
360
+ "expression": "now()",
361
+ "kind": "function"
362
+ },
363
+ "nativeType": "timestamptz",
364
+ "nullable": false
325
365
  },
326
366
  "email": {
327
- "column": "email"
367
+ "codecId": "pg/text@1",
368
+ "nativeType": "text",
369
+ "nullable": false
328
370
  },
329
371
  "id": {
330
- "column": "id"
372
+ "codecId": "pg/int4@1",
373
+ "default": {
374
+ "expression": "autoincrement()",
375
+ "kind": "function"
376
+ },
377
+ "nativeType": "int4",
378
+ "nullable": false
331
379
  },
332
380
  "name": {
333
- "column": "name"
381
+ "codecId": "pg/text@1",
382
+ "nativeType": "text",
383
+ "nullable": true
334
384
  },
335
385
  "updatedAt": {
336
- "column": "updatedAt"
386
+ "codecId": "pg/timestamptz-string@1",
387
+ "nativeType": "timestamptz",
388
+ "nullable": false
337
389
  },
338
390
  "username": {
339
- "column": "username"
391
+ "codecId": "pg/text@1",
392
+ "nativeType": "text",
393
+ "nullable": true
340
394
  }
341
395
  },
342
- "namespaceId": "public",
343
- "table": "users"
344
- }
345
- }
346
- }
347
- }
348
- }
349
- },
350
- "storage": {
351
- "namespaces": {
352
- "public": {
353
- "entries": {
354
- "table": {
396
+ "foreignKeys": [],
397
+ "indexes": [],
398
+ "primaryKey": {
399
+ "columns": [
400
+ "id"
401
+ ]
402
+ },
403
+ "uniques": [
404
+ {
405
+ "columns": [
406
+ "email"
407
+ ]
408
+ },
409
+ {
410
+ "columns": [
411
+ "username"
412
+ ]
413
+ }
414
+ ]
415
+ },
355
416
  "conversations": {
356
417
  "columns": {
357
418
  "channel": {
@@ -516,7 +577,7 @@
516
577
  "id"
517
578
  ],
518
579
  "namespaceId": "public",
519
- "tableName": "users"
580
+ "tableName": "accounts"
520
581
  }
521
582
  }
522
583
  ],
@@ -536,67 +597,6 @@
536
597
  ]
537
598
  },
538
599
  "uniques": []
539
- },
540
- "users": {
541
- "columns": {
542
- "createdAt": {
543
- "codecId": "pg/timestamptz-string@1",
544
- "default": {
545
- "expression": "now()",
546
- "kind": "function"
547
- },
548
- "nativeType": "timestamptz",
549
- "nullable": false
550
- },
551
- "email": {
552
- "codecId": "pg/text@1",
553
- "nativeType": "text",
554
- "nullable": false
555
- },
556
- "id": {
557
- "codecId": "pg/int4@1",
558
- "default": {
559
- "expression": "autoincrement()",
560
- "kind": "function"
561
- },
562
- "nativeType": "int4",
563
- "nullable": false
564
- },
565
- "name": {
566
- "codecId": "pg/text@1",
567
- "nativeType": "text",
568
- "nullable": true
569
- },
570
- "updatedAt": {
571
- "codecId": "pg/timestamptz-string@1",
572
- "nativeType": "timestamptz",
573
- "nullable": false
574
- },
575
- "username": {
576
- "codecId": "pg/text@1",
577
- "nativeType": "text",
578
- "nullable": true
579
- }
580
- },
581
- "foreignKeys": [],
582
- "indexes": [],
583
- "primaryKey": {
584
- "columns": [
585
- "id"
586
- ]
587
- },
588
- "uniques": [
589
- {
590
- "columns": [
591
- "email"
592
- ]
593
- },
594
- {
595
- "columns": [
596
- "username"
597
- ]
598
- }
599
- ]
600
600
  }
601
601
  }
602
602
  },
@@ -604,34 +604,34 @@
604
604
  "kind": "postgres-schema"
605
605
  }
606
606
  },
607
- "storageHash": "3fd1b84331f41dda7e07bc24117b846bdde2cd49d2a10878816ea85ecc1cf8e5"
607
+ "storageHash": "ce515282319cbb777a3517fb0040a3b0f020b3fbee1ad2b3c5f5a7673d09ce65"
608
608
  },
609
609
  "execution": {
610
- "executionHash": "4b10e9e5b7ae7dc3fa63c47e1f8ad6f22cbcb84b7c7857a3ebe6554bddbd8d73",
610
+ "executionHash": "de351793f558d79e425eb77cf4c0a7718fecca715d58f6948d422bd29d13c14e",
611
611
  "mutations": {
612
612
  "defaults": [
613
613
  {
614
614
  "onCreate": {
615
- "id": "uuidv4",
615
+ "id": "timestampNow",
616
+ "kind": "generator"
617
+ },
618
+ "onUpdate": {
619
+ "id": "timestampNow",
616
620
  "kind": "generator"
617
621
  },
618
622
  "ref": {
619
- "column": "id",
623
+ "column": "updatedAt",
620
624
  "namespace": "public",
621
- "table": "conversations"
625
+ "table": "accounts"
622
626
  }
623
627
  },
624
628
  {
625
629
  "onCreate": {
626
- "id": "timestampNow",
627
- "kind": "generator"
628
- },
629
- "onUpdate": {
630
- "id": "timestampNow",
630
+ "id": "uuidv4",
631
631
  "kind": "generator"
632
632
  },
633
633
  "ref": {
634
- "column": "updatedAt",
634
+ "column": "id",
635
635
  "namespace": "public",
636
636
  "table": "conversations"
637
637
  }
@@ -648,7 +648,7 @@
648
648
  "ref": {
649
649
  "column": "updatedAt",
650
650
  "namespace": "public",
651
- "table": "posts"
651
+ "table": "conversations"
652
652
  }
653
653
  },
654
654
  {
@@ -663,7 +663,7 @@
663
663
  "ref": {
664
664
  "column": "updatedAt",
665
665
  "namespace": "public",
666
- "table": "users"
666
+ "table": "posts"
667
667
  }
668
668
  }
669
669
  ]
@@ -38,7 +38,7 @@
38
38
  * const db = usePrismaClient();
39
39
  *
40
40
  * // Query using Prisma Next API
41
- * const users = await db.public.User.findMany();
41
+ * const accounts = await db.public.Account.findMany();
42
42
  * ```
43
43
  *
44
44
  * @module prisma/use-prisma
@@ -56,7 +56,7 @@ import type { Contract } from "./schema.d.js";
56
56
  * ```ts
57
57
  * // Basic usage (reads DATABASE_URL from env)
58
58
  * const db = usePrismaClient();
59
- * const users = await db.public.User.findMany();
59
+ * const accounts = await db.public.Account.findMany();
60
60
  *
61
61
  * // With custom URL
62
62
  * const db = usePrismaClient("postgresql://localhost:5432/test");
@@ -64,5 +64,4 @@ import type { Contract } from "./schema.d.js";
64
64
  * ```
65
65
  */
66
66
  export declare function usePrismaClient(datasourceUrl?: string): ReturnType<typeof postgres<Contract>>;
67
- export declare const prisma: import("@prisma/orm-postgres/runtime").PostgresClient<Contract>;
68
67
  //# sourceMappingURL=use-prisma.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-prisma.d.ts","sourceRoot":"","sources":["../../src/prisma/use-prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAe7F;AAED,eAAO,MAAM,MAAM,iEAAoB,CAAC"}
1
+ {"version":3,"file":"use-prisma.d.ts","sourceRoot":"","sources":["../../src/prisma/use-prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAM9C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAe7F"}
@@ -38,7 +38,7 @@
38
38
  * const db = usePrismaClient();
39
39
  *
40
40
  * // Query using Prisma Next API
41
- * const users = await db.public.User.findMany();
41
+ * const accounts = await db.public.Account.findMany();
42
42
  * ```
43
43
  *
44
44
  * @module prisma/use-prisma
@@ -58,7 +58,7 @@ let client = null;
58
58
  * ```ts
59
59
  * // Basic usage (reads DATABASE_URL from env)
60
60
  * const db = usePrismaClient();
61
- * const users = await db.public.User.findMany();
61
+ * const accounts = await db.public.Account.findMany();
62
62
  *
63
63
  * // With custom URL
64
64
  * const db = usePrismaClient("postgresql://localhost:5432/test");
@@ -78,5 +78,4 @@ export function usePrismaClient(datasourceUrl) {
78
78
  }
79
79
  return client;
80
80
  }
81
- export const prisma = usePrismaClient();
82
81
  //# sourceMappingURL=use-prisma.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-prisma.js","sourceRoot":"","sources":["../../src/prisma/use-prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,YAAY,MAAM,eAAe,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/D,uCAAuC;AACvC,IAAI,MAAM,GAAiD,IAAI,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAAC,aAAsB;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACd,wFAAwF,CACxF,CAAC;QACH,CAAC;QACD,MAAM,GAAG,QAAQ,CAAW;YAC3B,YAAY;YACZ,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"use-prisma.js","sourceRoot":"","sources":["../../src/prisma/use-prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,YAAY,MAAM,eAAe,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE/D,uCAAuC;AACvC,IAAI,MAAM,GAAiD,IAAI,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAAC,aAAsB;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACd,wFAAwF,CACxF,CAAC;QACH,CAAC;QACD,MAAM,GAAG,QAAQ,CAAW;YAC3B,YAAY;YACZ,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -563,6 +563,46 @@ export interface IAssistantService {
563
563
  useGetHistory(sessionId: string): Promise<AiMessage[]>;
564
564
  useResetSession(sessionId: string): Promise<void>;
565
565
  }
566
+ /**
567
+ * Built-in roles, ordered from most to least privileged.
568
+ *
569
+ * - `owner` — the site owner; the only role that can manage roles and perform
570
+ * system-level operations. There should be exactly one owner.
571
+ * - `admin` — day-to-day administration: manage members and moderate anything.
572
+ * - `editor` — publish and manage any content.
573
+ * - `author` — create and manage only their own content.
574
+ * - `member` — registered account; can use the assistant and read content.
575
+ * - `guest` — anonymous default; read-only, never persisted.
576
+ */
577
+ export type AccessRole = "owner" | "admin" | "editor" | "author" | "member" | "guest";
578
+ /**
579
+ * Namespaced capabilities derived from the project domain.
580
+ * Format: `<domain>:<action>[:<scope>]`.
581
+ */
582
+ export type AccessCapability = "content:create" | "content:publish" | "content:edit:own" | "content:edit:any" | "content:delete:own" | "content:delete:any" | "conversations:use" | "conversations:moderate" | "members:manage" | "roles:assign" | "system:admin";
583
+ /** A role definition: slug, human label and the capabilities it grants. */
584
+ export interface AccessRoleDefinition {
585
+ slug: AccessRole;
586
+ label: string;
587
+ capabilities: AccessCapability[];
588
+ }
589
+ /**
590
+ * Structural subject for access checks. Decoupled from the persistence layer:
591
+ * any object with an id and a role list can be checked (e.g. a Prisma
592
+ * `Account` row, a JWT payload, or a test fixture).
593
+ */
594
+ export interface AccessSubject {
595
+ id: string | number;
596
+ roles: AccessRole[];
597
+ }
598
+ /** Contract of the access-control facade. Pure, no I/O. */
599
+ export interface IAccessService {
600
+ useCan(subject: AccessSubject, capability: AccessCapability): boolean;
601
+ useHasRole(subject: AccessSubject, role: AccessRole): boolean;
602
+ useCapabilitiesFor(role: AccessRole): AccessCapability[];
603
+ useRegisterRole(definition: AccessRoleDefinition): void;
604
+ useRoles(): AccessRoleDefinition[];
605
+ }
566
606
  export type ProductType = {
567
607
  id: number;
568
608
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,8 @@
1
1
  {
2
2
  "name": "katanakit-js",
3
- "version": "2.15.0",
3
+ "version": "3.0.1",
4
4
  "description": "KatanaKit — a sharp, framework-agnostic TypeScript service toolkit organized with hexagonal architecture.",
5
5
  "type": "module",
6
- "workspaces": [
7
- "docs"
8
- ],
9
6
  "main": "./dist/index.js",
10
7
  "module": "./dist/index.js",
11
8
  "types": "./dist/index.d.ts",
@@ -77,18 +74,21 @@
77
74
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
78
75
  "check": "eslint ./src && tsc6 --noEmit && vitest run",
79
76
  "fix": "eslint --fix ./src && tsc6 --noEmit && vitest run",
80
- "build": "yarn clean && yarn run check && tsc6 -p tsconfig.json",
81
- "bump:patch": "yarn version patch --all && git commit -am \"chore: release v$(node -p \"require('./package.json').version\")\" && git tag \"v$(node -p \"require('./package.json').version\")\"",
82
- "bump:minor": "yarn version minor --all && git commit -am \"chore: release v$(node -p \"require('./package.json').version\")\" && git tag \"v$(node -p \"require('./package.json').version\")\"",
83
- "bump:major": "yarn version major --all && git commit -am \"chore: release v$(node -p \"require('./package.json').version\")\" && git tag \"v$(node -p \"require('./package.json').version\")\"",
84
- "release": "yarn build && yarn bump:patch && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
85
- "release:minor": "yarn build && yarn bump:minor && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
86
- "release:major": "yarn build && yarn bump:major && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
77
+ "build": "pnpm clean && pnpm run check && tsc6 -p tsconfig.json",
78
+ "version:bump": "node scripts/bump-version.mjs",
79
+ "bump:patch": "node scripts/bump-version.mjs patch",
80
+ "bump:minor": "node scripts/bump-version.mjs minor",
81
+ "bump:major": "node scripts/bump-version.mjs major",
82
+ "release": "pnpm build && pnpm bump:patch && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
83
+ "release:minor": "pnpm build && pnpm bump:minor && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
84
+ "release:major": "pnpm build && pnpm bump:major && npm publish --access public && git push && git push --tags && node scripts/generate-release-notes.mjs \"v$(node -p \"require('./package.json').version\")\" | gh release create \"v$(node -p \"require('./package.json').version\")\" --notes-file -",
87
85
  "notes": "node scripts/generate-release-notes.mjs",
88
- "version:sync": "node -e \"const v=require('child_process').execSync('git tag --sort=-v:refname').toString().split('\\n')[0].replace('v',''); ['package.json','docs/package.json'].forEach(f=>{const p=require('./'+f); p.version=v; require('fs').writeFileSync(f,JSON.stringify(p,null,2)+'\\n')}); console.log('Synced to v'+v)\"",
89
- "docs:dev": "yarn workspace katanakit-docs run dev",
90
- "docs:build": "yarn workspace katanakit-docs run build",
91
- "docs:serve": "yarn workspace katanakit-docs run serve",
86
+ "version:sync": "node scripts/bump-version.mjs --sync",
87
+ "docs:dev": "pnpm --filter katanakit-docs dev",
88
+ "docs:sync": "node scripts/sync-docs-releases.mjs --limit=8",
89
+ "docs:check": "node scripts/sync-docs-releases.mjs --limit=8 --check",
90
+ "docs:build": "pnpm docs:sync && pnpm --filter katanakit-docs build",
91
+ "docs:serve": "pnpm --filter katanakit-docs serve",
92
92
  "prepare": "husky"
93
93
  },
94
94
  "repository": {
@@ -119,7 +119,8 @@
119
119
  "jsdelivr": "./dist/index.js",
120
120
  "dependencies": {
121
121
  "@js-temporal/polyfill": "0.5.1",
122
- "@prisma/orm-postgres": "8.0.0-rc.8"
122
+ "@prisma/orm-postgres": "8.0.0-rc.8",
123
+ "express-rate-limit": "8.7.0"
123
124
  },
124
125
  "peerDependencies": {
125
126
  "cors": ">=2.8.0",
@@ -145,7 +146,6 @@
145
146
  "@eslint/js": "^10.0.1",
146
147
  "@types/cors": "2.8.19",
147
148
  "@types/express": "5.0.6",
148
- "@types/express-rate-limit": "6.0.2",
149
149
  "@types/node": "26.5.0",
150
150
  "cors": "2.8.6",
151
151
  "dotenv": "17.4.2",
@@ -166,14 +166,10 @@
166
166
  "vitest": "5.0.0",
167
167
  "vue": "3.5.42"
168
168
  },
169
- "resolutions": {
170
- "pathe": "2.0.3",
171
- "jsbi": "4.3.2"
172
- },
173
169
  "lint-staged": {
174
170
  "src/**/*.{ts,mts,cts}": [
175
171
  "eslint --fix"
176
172
  ]
177
173
  },
178
- "packageManager": "yarn@4.18.0"
174
+ "packageManager": "pnpm@12.4.1"
179
175
  }