@plumix/core 0.1.2 → 0.1.4

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 (73) hide show
  1. package/dist/admin-bar/i18n.d.ts +6 -0
  2. package/dist/admin-bar/i18n.d.ts.map +1 -1
  3. package/dist/admin-bar/i18n.js +1 -1
  4. package/dist/admin-bar/i18n.js.map +1 -1
  5. package/dist/auth/authenticator.d.ts +20 -0
  6. package/dist/auth/authenticator.d.ts.map +1 -1
  7. package/dist/auth/authenticator.js +21 -0
  8. package/dist/auth/authenticator.js.map +1 -1
  9. package/dist/cli/worker-codegen.d.ts.map +1 -1
  10. package/dist/cli/worker-codegen.js +6 -0
  11. package/dist/cli/worker-codegen.js.map +1 -1
  12. package/dist/config.d.ts +9 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +1 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/context/app.d.ts +8 -0
  17. package/dist/context/app.d.ts.map +1 -1
  18. package/dist/context/app.js +1 -0
  19. package/dist/context/app.js.map +1 -1
  20. package/dist/debug-bar/collect.d.ts +13 -0
  21. package/dist/debug-bar/collect.d.ts.map +1 -0
  22. package/dist/debug-bar/collect.js +36 -0
  23. package/dist/debug-bar/collect.js.map +1 -0
  24. package/dist/debug-bar/component.d.ts +13 -0
  25. package/dist/debug-bar/component.d.ts.map +1 -0
  26. package/dist/debug-bar/component.js +23 -0
  27. package/dist/debug-bar/component.js.map +1 -0
  28. package/dist/debug-bar/config.d.ts +17 -0
  29. package/dist/debug-bar/config.d.ts.map +1 -0
  30. package/dist/debug-bar/config.js +13 -0
  31. package/dist/debug-bar/config.js.map +1 -0
  32. package/dist/debug-bar/core-panels.d.ts +8 -0
  33. package/dist/debug-bar/core-panels.d.ts.map +1 -0
  34. package/dist/debug-bar/core-panels.js +10 -0
  35. package/dist/debug-bar/core-panels.js.map +1 -0
  36. package/dist/debug-bar/panels/request.d.ts +7 -0
  37. package/dist/debug-bar/panels/request.d.ts.map +1 -0
  38. package/dist/debug-bar/panels/request.js +22 -0
  39. package/dist/debug-bar/panels/request.js.map +1 -0
  40. package/dist/debug-bar/primitives.d.ts +15 -0
  41. package/dist/debug-bar/primitives.d.ts.map +1 -0
  42. package/dist/debug-bar/primitives.js +5 -0
  43. package/dist/debug-bar/primitives.js.map +1 -0
  44. package/dist/debug-bar/styles.d.ts +2 -0
  45. package/dist/debug-bar/styles.d.ts.map +1 -0
  46. package/dist/debug-bar/styles.js +155 -0
  47. package/dist/debug-bar/styles.js.map +1 -0
  48. package/dist/debug-bar/types.d.ts +22 -0
  49. package/dist/debug-bar/types.d.ts.map +1 -0
  50. package/dist/debug-bar/types.js +1 -0
  51. package/dist/debug-bar/types.js.map +1 -0
  52. package/dist/route/render/render-template.d.ts.map +1 -1
  53. package/dist/route/render/render-template.js +9 -1
  54. package/dist/route/render/render-template.js.map +1 -1
  55. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  56. package/dist/rpc/procedures/auth/session.js +18 -22
  57. package/dist/rpc/procedures/auth/session.js.map +1 -1
  58. package/dist/runtime/adapter.d.ts +10 -0
  59. package/dist/runtime/adapter.d.ts.map +1 -1
  60. package/dist/runtime/app.d.ts.map +1 -1
  61. package/dist/runtime/app.js +7 -0
  62. package/dist/runtime/app.js.map +1 -1
  63. package/dist/runtime/dispatcher.d.ts.map +1 -1
  64. package/dist/runtime/dispatcher.js +19 -0
  65. package/dist/runtime/dispatcher.js.map +1 -1
  66. package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
  67. package/dist/runtime/load-user-for-public-request.js +5 -2
  68. package/dist/runtime/load-user-for-public-request.js.map +1 -1
  69. package/dist/test/playwright/playwright-config.d.ts +22 -13
  70. package/dist/test/playwright/playwright-config.d.ts.map +1 -1
  71. package/dist/test/playwright/playwright-config.js +9 -7
  72. package/dist/test/playwright/playwright-config.js.map +1 -1
  73. package/package.json +3 -3
@@ -1,4 +1,5 @@
1
1
  export type BarLocale = "en" | "de" | "uk" | "ar" | "zh-CN";
2
+ type CompiledCatalog = Record<string, string | readonly string[]>;
2
3
  export interface BarStrings {
3
4
  readonly siteFallback: string;
4
5
  readonly newGroup: string;
@@ -29,6 +30,11 @@ export interface BarStrings {
29
30
  export declare function resolveBarLocale(user: {
30
31
  readonly meta: Record<string, unknown>;
31
32
  }): BarLocale;
33
+ export declare function resolveMessage(catalog: CompiledCatalog, descriptor: {
34
+ readonly id: string;
35
+ readonly message: string;
36
+ }): string;
32
37
  export declare function barMessages(locale: BarLocale): BarStrings;
33
38
  export declare function barDirection(locale: BarLocale): "ltr" | "rtl";
39
+ export {};
34
40
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/admin-bar/i18n.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AA0B5D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,GAAG,SAAS,CAMZ;AAgBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAYzD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,CAE7D"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/admin-bar/i18n.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AAE5D,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC;AAwBlE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,GAAG,SAAS,CAMZ;AAKD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5D,MAAM,CAMR;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAYzD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,CAE7D"}
@@ -59,7 +59,7 @@ export function resolveBarLocale(user) {
59
59
  // Compiled lingui entries are token arrays (a lone string for plain
60
60
  // messages); the bar has no ICU placeholders, so anything else falls
61
61
  // back to the English source.
62
- function resolveMessage(catalog, descriptor) {
62
+ export function resolveMessage(catalog, descriptor) {
63
63
  const value = catalog[descriptor.id];
64
64
  const text = typeof value === "string" ? value : value?.[0];
65
65
  return typeof text === "string" && text.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/admin-bar/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/admin-bar/i18n.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,19 @@ export interface AuthResult {
45
45
  */
46
46
  export interface RequestAuthenticator {
47
47
  authenticate(request: Request, db: Db): Promise<AuthResult | null>;
48
+ /**
49
+ * Optional. Does this request carry a credential this authenticator would
50
+ * resolve to a browser session? Public renders consult it to skip
51
+ * authentication for anonymous traffic without coupling to the default
52
+ * session cookie — a custom guard (demo token, Cloudflare Access JWT, …)
53
+ * authenticates by its own signal and must be given the chance to load its
54
+ * user, or capability-gated render decisions (e.g. the visual-editor gate)
55
+ * silently see an anonymous request. Omit it and the default applies: the
56
+ * standard `plumix_session` cookie is present. Returning `false` opts a guard
57
+ * out of public-render authentication entirely (e.g. bearer-token API auth,
58
+ * which is not a browser session and must not bump `lastUsedAt` on every GET).
59
+ */
60
+ hasSession?(request: Request): boolean;
48
61
  /**
49
62
  * Optional. Where the user should land after signing out — surfaced
50
63
  * to the admin client by `/_plumix/auth/signout` as `redirectTo`.
@@ -74,6 +87,13 @@ export interface RequestAuthenticator {
74
87
  * caps. PAT-style scoping doesn't apply here.
75
88
  */
76
89
  export declare function sessionAuthenticator(): RequestAuthenticator;
90
+ /**
91
+ * Whether a request carries a session this authenticator would resolve on a
92
+ * public render. Defaults to "the standard `plumix_session` cookie is present"
93
+ * for a guard that doesn't declare its own signal, preserving the historical
94
+ * behaviour for authenticators written before this predicate existed.
95
+ */
96
+ export declare function requestHasSession(authenticator: RequestAuthenticator, request: Request): boolean;
77
97
  /**
78
98
  * Personal-access-token authenticator. Reads the
79
99
  * `Authorization: Bearer pl_pat_…` header, hashes it, looks up the
@@ -1 +1 @@
1
- {"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../src/auth/authenticator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAKlD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnE;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,CAU3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,CAiB5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,cAAc,EAAE,SAAS,oBAAoB,EAAE,GACjD,oBAAoB,CAiBtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,CAE3D"}
1
+ {"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../src/auth/authenticator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAKlD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnE;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,CAa3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,OAAO,GACf,OAAO,CAIT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,CAuB5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,cAAc,EAAE,SAAS,oBAAoB,EAAE,GACjD,oBAAoB,CAoBtB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,CAE3D"}
@@ -20,8 +20,20 @@ export function sessionAuthenticator() {
20
20
  return null;
21
21
  return { user: validated.user };
22
22
  },
23
+ hasSession(request) {
24
+ return readSessionCookie(request) !== null;
25
+ },
23
26
  };
24
27
  }
28
+ /**
29
+ * Whether a request carries a session this authenticator would resolve on a
30
+ * public render. Defaults to "the standard `plumix_session` cookie is present"
31
+ * for a guard that doesn't declare its own signal, preserving the historical
32
+ * behaviour for authenticators written before this predicate existed.
33
+ */
34
+ export function requestHasSession(authenticator, request) {
35
+ return (authenticator.hasSession?.(request) ?? readSessionCookie(request) !== null);
36
+ }
25
37
  /**
26
38
  * Personal-access-token authenticator. Reads the
27
39
  * `Authorization: Bearer pl_pat_…` header, hashes it, looks up the
@@ -52,6 +64,12 @@ export function apiTokenAuthenticator() {
52
64
  tokenScopes: validated.token.scopes ?? null,
53
65
  };
54
66
  },
67
+ // A bearer token is an API client, not a browser session: opt out of
68
+ // public-render authentication so a cross-site GET navigation carrying an
69
+ // Authorization header doesn't bump the token's `lastUsedAt` on every hit.
70
+ hasSession() {
71
+ return false;
72
+ },
55
73
  };
56
74
  }
57
75
  /**
@@ -75,6 +93,9 @@ export function chainAuthenticators(...authenticators) {
75
93
  }
76
94
  return null;
77
95
  },
96
+ hasSession(request) {
97
+ return authenticators.some((auth) => requestHasSession(auth, request));
98
+ },
78
99
  signOutUrl() {
79
100
  for (const auth of authenticators) {
80
101
  const url = auth.signOutUrl?.() ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticator.js","sourceRoot":"","sources":["../../src/auth/authenticator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqEhD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO;gBACL,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,0DAA0D;gBAC1D,sDAAsD;gBACtD,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI;aAC5C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAG,cAA+C;IAElD,OAAO;QACL,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC5B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpD,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU;YACR,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;gBACxC,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"authenticator.js","sourceRoot":"","sources":["../../src/auth/authenticator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-codegen.d.ts","sourceRoot":"","sources":["../../src/cli/worker-codegen.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,GACb,EAAE,mBAAmB,GAAG,MAAM,CAuC9B"}
1
+ {"version":3,"file":"worker-codegen.d.ts","sourceRoot":"","sources":["../../src/cli/worker-codegen.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,GACb,EAAE,mBAAmB,GAAG,MAAM,CA6C9B"}
@@ -11,6 +11,12 @@ export function generateWorkerSource({ configModule, }) {
11
11
  'import assetManifest from "virtual:plumix/asset-manifest";',
12
12
  `import config from ${JSON.stringify(configModule)};`,
13
13
  "",
14
+ // Re-export named worker-level exports (e.g. Durable Object classes)
15
+ // that config slots contribute. The plumix Vite plugin resolves this
16
+ // virtual module from `runtime.workerExports`; it's an empty module
17
+ // when nothing is contributed, so this line is inert for most sites.
18
+ 'export * from "virtual:plumix/worker-exports";',
19
+ "",
14
20
  // vite statically replaces `import.meta.env.DEV` (true under dev,
15
21
  // false in production builds) — see RuntimeContext.devCsrfLocalhost.
16
22
  // Fail-closed: a bundler that leaves `import.meta.env` intact yields
@@ -1 +1 @@
1
- {"version":3,"file":"worker-codegen.js","sourceRoot":"","sources":["../../src/cli/worker-codegen.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAAC,EACnC,YAAY,GACQ;IACpB,MAAM,KAAK,GAAG;QACZ,uCAAuC;QACvC,qDAAqD;QACrD,EAAE;QACF,oCAAoC;QACpC,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,sBAAsB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG;QACrD,EAAE;QACF,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,8CAA8C;QAC9C,uCAAuC;QACvC,kBAAkB;QAClB,0CAA0C;QAC1C,KAAK;QACL,mBAAmB;QACnB,uBAAuB;QACvB,EAAE;QACF,kBAAkB;QAClB,oCAAoC;QACpC,mCAAmC;QACnC,6DAA6D;QAC7D,6CAA6C;QAC7C,MAAM;QACN,sCAAsC;QACtC,mCAAmC;QACnC,uEAAuE;QACvE,oEAAoE;QACpE,MAAM;QACN,IAAI;QACJ,EAAE;KACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"worker-codegen.js","sourceRoot":"","sources":["../../src/cli/worker-codegen.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAAC,EACnC,YAAY,GACQ;IACpB,MAAM,KAAK,GAAG;QACZ,uCAAuC;QACvC,qDAAqD;QACrD,EAAE;QACF,oCAAoC;QACpC,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,sBAAsB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG;QACrD,EAAE;QACF,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,gDAAgD;QAChD,EAAE;QACF,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,8CAA8C;QAC9C,uCAAuC;QACvC,kBAAkB;QAClB,0CAA0C;QAC1C,KAAK;QACL,mBAAmB;QACnB,uBAAuB;QACvB,EAAE;QACF,kBAAkB;QAClB,oCAAoC;QACpC,mCAAmC;QACnC,6DAA6D;QAC7D,6CAA6C;QAC7C,MAAM;QACN,sCAAsC;QACtC,mCAAmC;QACnC,uEAAuE;QACvE,oEAAoE;QACpE,MAAM;QACN,IAAI;QACJ,EAAE;KACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/dist/config.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { HtmlAllowlistOverride } from "@plumix/blocks";
2
2
  import type { RemotePattern } from "@plumix/blocks/renderer";
3
3
  import type { PlumixAuthConfig } from "./auth/config.js";
4
4
  import type { MailerInput } from "./auth/mailer/resolve.js";
5
+ import type { DebugBarInput } from "./debug-bar/config.js";
5
6
  import type { I18nInput, ResolvedI18n } from "./i18n/locale-registry.js";
6
7
  import type { PluginDescriptor } from "./plugin/define.js";
7
8
  import type { RuntimeAdapter } from "./runtime/adapter.js";
@@ -90,6 +91,13 @@ export interface PlumixConfigInput {
90
91
  * `{ enabled: true }` to mount it.
91
92
  */
92
93
  readonly api?: ApiConfig;
94
+ /**
95
+ * Development-only debug bar. Carried through raw (like {@link mcp}) and
96
+ * interpreted only inside the dev-gated debug-bar module, which is
97
+ * tree-shaken from production builds. Defaults on in dev; set `false`
98
+ * to suppress it or `{ disable: [...] }` to silence individual panels.
99
+ */
100
+ readonly debugBar?: DebugBarInput;
93
101
  /**
94
102
  * Block-system configuration. Today only exposes the operator-
95
103
  * configurable `core/html` allowlist override; future block-level
@@ -128,6 +136,7 @@ export interface PlumixConfig {
128
136
  readonly basePath: string;
129
137
  readonly mcp?: InterfaceToggle;
130
138
  readonly api?: ApiConfig;
139
+ readonly debugBar?: DebugBarInput;
131
140
  readonly blocks?: {
132
141
  readonly htmlAllowlist?: HtmlAllowlistOverride;
133
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -27,6 +27,7 @@ export function plumix(config) {
27
27
  basePath: normalizeBasePath(config.basePath),
28
28
  mcp: config.mcp,
29
29
  api: config.api,
30
+ debugBar: config.debugBar,
30
31
  blocks: config.blocks,
31
32
  images: config.images,
32
33
  vite: config.vite,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0BlD,MAAM,UAAU,gBAAgB,CAAC,MAAmC;IAClE,OAAO,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAClC,CAAC;AAqHD,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC9C,iEAAiE;IACjE,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,WAAW,CAAC,uBAAuB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,IAAI,EAAE,cAAc,CAClB,MAAM,CAAC,IAAI,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CACxD;QACD,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0BlD,MAAM,UAAU,gBAAgB,CAAC,MAAmC;IAClE,OAAO,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAClC,CAAC;AA6HD,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC9C,iEAAiE;IACjE,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,WAAW,CAAC,uBAAuB,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,IAAI,EAAE,cAAc,CAClB,MAAM,CAAC,IAAI,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CACxD;QACD,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC"}
@@ -7,6 +7,7 @@ import type { Mailer } from "../auth/mailer/types.js";
7
7
  import type { KnownCapability } from "../auth/rbac.js";
8
8
  import type * as coreSchema from "../db/schema/index.js";
9
9
  import type { UserRole } from "../db/schema/users.js";
10
+ import type { DebugBarInput } from "../debug-bar/config.js";
10
11
  import type { HookExecutor } from "../hooks/registry.js";
11
12
  import type { ResolvedI18n, ResolvedLocale } from "../i18n/locale-registry.js";
12
13
  import type { PluginRegistry } from "../plugin/manifest.js";
@@ -179,6 +180,12 @@ export interface AppContextBase<TSchema extends Record<string, unknown> = CoreSc
179
180
  * via `withBasePath` so links resolve under the subdirectory.
180
181
  */
181
182
  readonly basePath: string;
183
+ /**
184
+ * Raw development-only debug-bar config, carried through from
185
+ * `config.debugBar` (like {@link mcp}) as inert data. Interpreted only by
186
+ * the dev-gated debug-bar module, which is tree-shaken from prod builds.
187
+ */
188
+ readonly debugBar?: DebugBarInput;
182
189
  /**
183
190
  * Operator-set site name from `auth.magicLink.siteName`, used as
184
191
  * the human-friendly label in mailer subjects ("Confirm your email
@@ -229,6 +236,7 @@ export interface CreateAppContextArgs<TSchema extends Record<string, unknown>> {
229
236
  readonly tokenScopes?: readonly string[] | null;
230
237
  readonly origin?: string;
231
238
  readonly basePath?: string;
239
+ readonly debugBar?: DebugBarInput;
232
240
  readonly siteName?: string;
233
241
  readonly logger?: Logger;
234
242
  readonly defer?: DeferFn;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/context/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/context/app.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,7 @@ export function createAppContext(args) {
105
105
  // outgoing email are stable across worker geos.
106
106
  origin: args.origin ?? new URL(args.request.url).origin,
107
107
  basePath: args.basePath ?? "",
108
+ debugBar: args.debugBar,
108
109
  siteName: args.siteName,
109
110
  };
110
111
  // Spread plugin-contributed entries onto the base. The cast is the
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/context/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/context/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AppContext } from "../context/app.js";
2
+ import type { HookExecutor } from "../hooks/registry.js";
3
+ import type { DebugPanel } from "./types.js";
4
+ /**
5
+ * Gathers the request's debug panels: runs the `debug_bar:panels` filter
6
+ * chain — isolating each handler so a throw or non-array return during
7
+ * *collection* can't take down the bar — then drops denylisted ids, dedupes
8
+ * by id (last contributor wins), and returns them ordered by ascending
9
+ * `order`. A panel throwing from its own `render` is a separate concern the
10
+ * collector can't see.
11
+ */
12
+ export declare function collectDebugPanels(hooks: HookExecutor, ctx: AppContext, disabled: ReadonlySet<string>): readonly DebugPanel[];
13
+ //# sourceMappingURL=collect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/debug-bar/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,SAAS,UAAU,EAAE,CA8BvB"}
@@ -0,0 +1,36 @@
1
+ // Unordered panels sort after every explicitly-ordered one. Finite (not
2
+ // Infinity) so two unordered panels compare as 0, not NaN.
3
+ const DEFAULT_PANEL_ORDER = Number.MAX_SAFE_INTEGER;
4
+ /**
5
+ * Gathers the request's debug panels: runs the `debug_bar:panels` filter
6
+ * chain — isolating each handler so a throw or non-array return during
7
+ * *collection* can't take down the bar — then drops denylisted ids, dedupes
8
+ * by id (last contributor wins), and returns them ordered by ascending
9
+ * `order`. A panel throwing from its own `render` is a separate concern the
10
+ * collector can't see.
11
+ */
12
+ export function collectDebugPanels(hooks, ctx, disabled) {
13
+ let panels = [];
14
+ for (const { fn, plugin } of hooks.getFilterHandlers("debug_bar:panels")) {
15
+ try {
16
+ const next = fn(panels, ctx);
17
+ if (Array.isArray(next)) {
18
+ panels = next;
19
+ }
20
+ else {
21
+ console.error(`[plumix] debug_bar:panels handler returned non-array plugin=${plugin ?? "core"}; contribution discarded`);
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.error(`[plumix] debug_bar:panels handler failed plugin=${plugin ?? "core"}`, error);
26
+ }
27
+ }
28
+ const byId = new Map();
29
+ for (const p of panels) {
30
+ if (disabled.has(p.id))
31
+ continue;
32
+ byId.set(p.id, p);
33
+ }
34
+ return [...byId.values()].sort((a, b) => (a.order ?? DEFAULT_PANEL_ORDER) - (b.order ?? DEFAULT_PANEL_ORDER));
35
+ }
36
+ //# sourceMappingURL=collect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/debug-bar/collect.ts"],"names":[],"mappings":"AAIA,wEAAwE;AACxE,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,GAAe,EACf,QAA6B;IAE7B,IAAI,MAAM,GAA0B,EAAE,CAAC;IACvC,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,+DAA+D,MAAM,IAAI,MAAM,0BAA0B,CAC1G,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,mDAAmD,MAAM,IAAI,MAAM,EAAE,EACrE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,KAAK,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,mBAAmB,CAAC,CACtE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from "react";
2
+ import type { AppContext } from "../context/app.js";
3
+ /**
4
+ * The development-only debug bar. Standalone and auth-independent (unlike the
5
+ * admin bar it does not gate on a user), fully server-rendered and zero-JS:
6
+ * a native <details> toggles it and radio inputs drive the tabs. Rendered
7
+ * only under the dev gate at the injection site, so it — and this whole
8
+ * module — is tree-shaken from production builds.
9
+ */
10
+ export declare function PlumixDebugBar({ ctx, }: {
11
+ readonly ctx: AppContext;
12
+ }): ReactNode;
13
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/debug-bar/component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,GACJ,EAAE;IACD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B,GAAG,SAAS,CAmDZ"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { labelSourceText } from "../i18n/label.js";
3
+ import { collectDebugPanels } from "./collect.js";
4
+ import { normalizeDebugBar } from "./config.js";
5
+ import { DEBUG_BAR_CSS } from "./styles.js";
6
+ /**
7
+ * The development-only debug bar. Standalone and auth-independent (unlike the
8
+ * admin bar it does not gate on a user), fully server-rendered and zero-JS:
9
+ * a native <details> toggles it and radio inputs drive the tabs. Rendered
10
+ * only under the dev gate at the injection site, so it — and this whole
11
+ * module — is tree-shaken from production builds.
12
+ */
13
+ export function PlumixDebugBar({ ctx, }) {
14
+ const config = normalizeDebugBar(ctx.debugBar);
15
+ if (!config.enabled)
16
+ return null;
17
+ const panels = collectDebugPanels(ctx.hooks, ctx, config.disabled);
18
+ if (panels.length === 0)
19
+ return null;
20
+ const name = "plumix-debug-tab";
21
+ return (_jsxs(_Fragment, { children: [_jsx("style", { "data-testid": "plumix-debug-bar-style", children: DEBUG_BAR_CSS }), _jsx("div", { className: "plumix-debug-bar", "data-testid": "plumix-debug-bar", "data-position": config.position, dir: "ltr", children: _jsxs("details", { open: config.defaultOpen, children: [_jsx("summary", { children: "Debug" }), panels.map((panel, index) => (_jsx("input", { className: "plumix-debug-bar__radio", type: "radio", name: name, id: `${name}-${panel.id}`, defaultChecked: index === 0 }, panel.id))), _jsx("nav", { className: "plumix-debug-bar__labels", children: panels.map((panel) => (_jsx("label", { htmlFor: `${name}-${panel.id}`, children: labelSourceText(panel.title) }, panel.id))) }), _jsx("div", { className: "plumix-debug-bar__panes", children: panels.map((panel) => (_jsx("section", { className: "plumix-debug-bar__pane", "data-testid": `plumix-debug-panel-${panel.id}`, children: panel.render(ctx) }, panel.id))) })] }) })] }));
22
+ }
23
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/debug-bar/component.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,GAGJ;IACC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,IAAI,GAAG,kBAAkB,CAAC;IAChC,OAAO,CACL,8BACE,+BAAmB,wBAAwB,YAAE,aAAa,GAAS,EACnE,cACE,SAAS,EAAC,kBAAkB,iBAChB,kBAAkB,mBACf,MAAM,CAAC,QAAQ,EAC9B,GAAG,EAAC,KAAK,YAET,mBAAS,IAAI,EAAE,MAAM,CAAC,WAAW,aAC/B,sCAAwB,EACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,gBAEE,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EACzB,cAAc,EAAE,KAAK,KAAK,CAAC,IALtB,KAAK,CAAC,EAAE,CAMb,CACH,CAAC,EACF,cAAK,SAAS,EAAC,0BAA0B,YACtC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,gBAAsB,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,YACjD,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IADnB,KAAK,CAAC,EAAE,CAEZ,CACT,CAAC,GACE,EACN,cAAK,SAAS,EAAC,yBAAyB,YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,kBAEE,SAAS,EAAC,wBAAwB,iBACrB,sBAAsB,KAAK,CAAC,EAAE,EAAE,YAE5C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAJb,KAAK,CAAC,EAAE,CAKL,CACX,CAAC,GACE,IACE,GACN,IACL,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ type DebugBarPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
2
+ export type DebugBarInput = boolean | {
3
+ readonly enabled?: boolean;
4
+ readonly disable?: readonly string[];
5
+ readonly position?: DebugBarPosition;
6
+ readonly defaultOpen?: boolean;
7
+ };
8
+ export interface NormalizedDebugBar {
9
+ readonly enabled: boolean;
10
+ /** Denylist of panel ids, as a Set for O(1) `.has(id)` at collect time. */
11
+ readonly disabled: ReadonlySet<string>;
12
+ readonly position: DebugBarPosition;
13
+ readonly defaultOpen: boolean;
14
+ }
15
+ export declare function normalizeDebugBar(input: DebugBarInput | undefined): NormalizedDebugBar;
16
+ export {};
17
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/debug-bar/config.ts"],"names":[],"mappings":"AAEA,KAAK,gBAAgB,GACnB,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,aAAa,GACrB,OAAO,GACP;IACE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,GAAG,SAAS,GAC/B,kBAAkB,CAWpB"}
@@ -0,0 +1,13 @@
1
+ export function normalizeDebugBar(input) {
2
+ const options = typeof input === "object" ? input : {};
3
+ // Default-on: only an explicit `false` (bare or via `enabled`) suppresses
4
+ // the bar. The compile-time dev gate is separate — this resolves intent.
5
+ const enabled = input === false ? false : options.enabled !== false;
6
+ return {
7
+ enabled,
8
+ disabled: new Set(options.disable ?? []),
9
+ position: options.position ?? "bottom-right",
10
+ defaultOpen: options.defaultOpen ?? false,
11
+ };
12
+ }
13
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/debug-bar/config.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,iBAAiB,CAC/B,KAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,OAAO,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IACpE,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,cAAc;QAC5C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;KAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { HookRegistry } from "../hooks/registry.js";
2
+ /**
3
+ * Registers core's built-in debug panels. Wired at `buildApp` time behind
4
+ * the dev gate, at low priority so plugin panels (default priority 100)
5
+ * sort after core's. Mirrors `registerCoreAdminBarContributors`.
6
+ */
7
+ export declare function registerCoreDebugPanels(hooks: HookRegistry): void;
8
+ //# sourceMappingURL=core-panels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-panels.d.ts","sourceRoot":"","sources":["../../src/debug-bar/core-panels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAMjE"}
@@ -0,0 +1,10 @@
1
+ import { requestPanel } from "./panels/request.js";
2
+ /**
3
+ * Registers core's built-in debug panels. Wired at `buildApp` time behind
4
+ * the dev gate, at low priority so plugin panels (default priority 100)
5
+ * sort after core's. Mirrors `registerCoreAdminBarContributors`.
6
+ */
7
+ export function registerCoreDebugPanels(hooks) {
8
+ hooks.addFilter("debug_bar:panels", (panels) => [...panels, requestPanel], { plugin: "core", priority: 10 });
9
+ }
10
+ //# sourceMappingURL=core-panels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-panels.js","sourceRoot":"","sources":["../../src/debug-bar/core-panels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IACzD,KAAK,CAAC,SAAS,CACb,kBAAkB,EAClB,CAAC,MAA6B,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,EAC5D,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DebugPanel } from "../types.js";
2
+ /**
3
+ * The Request panel: how the router saw this request. All read straight
4
+ * off the app context — no instrumentation needed.
5
+ */
6
+ export declare const requestPanel: DebugPanel;
7
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/debug-bar/panels/request.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAkB1B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DebugKV } from "../primitives.js";
3
+ /**
4
+ * The Request panel: how the router saw this request. All read straight
5
+ * off the app context — no instrumentation needed.
6
+ */
7
+ export const requestPanel = {
8
+ id: "request",
9
+ title: "Request",
10
+ order: 10,
11
+ render: (ctx) => {
12
+ const url = new URL(ctx.request.url);
13
+ return (_jsx(DebugKV, { rows: [
14
+ { label: "Method", value: ctx.request.method },
15
+ { label: "Path", value: url.pathname },
16
+ { label: "Origin", value: ctx.origin },
17
+ { label: "Base path", value: ctx.basePath || "/" },
18
+ { label: "Entity", value: ctx.resolvedEntity?.kind ?? "—" },
19
+ ] }));
20
+ },
21
+ };
22
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/debug-bar/panels/request.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,CAAC,GAAe,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,CACL,KAAC,OAAO,IACN,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;gBACtC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,EAAE;gBAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,EAAE;aAC5D,GACD,CACH,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * Presentational primitives shared by core and plugin debug panels so every
4
+ * panel reads uniformly. `DebugKV` is the two-column key/value table the
5
+ * scalar panels use; richer primitives (sections, columnar tables) arrive
6
+ * with the panels that need them.
7
+ */
8
+ export interface DebugKVRow {
9
+ readonly label: string;
10
+ readonly value: ReactNode;
11
+ }
12
+ export declare function DebugKV({ rows, }: {
13
+ readonly rows: readonly DebugKVRow[];
14
+ }): ReactNode;
15
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/debug-bar/primitives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AAEH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AAED,wBAAgB,OAAO,CAAC,EACtB,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;CACtC,GAAG,SAAS,CAaZ"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function DebugKV({ rows, }) {
3
+ return (_jsx("table", { children: _jsx("tbody", { children: rows.map((row) => (_jsxs("tr", { children: [_jsx("th", { scope: "row", children: row.label }), _jsx("td", { className: "plumix-debug-bar__val", children: row.value })] }, row.label))) }) }));
4
+ }
5
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/debug-bar/primitives.tsx"],"names":[],"mappings":";AAcA,MAAM,UAAU,OAAO,CAAC,EACtB,IAAI,GAGL;IACC,OAAO,CACL,0BACE,0BACG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,yBACE,aAAI,KAAK,EAAC,KAAK,YAAE,GAAG,CAAC,KAAK,GAAM,EAChC,aAAI,SAAS,EAAC,uBAAuB,YAAE,GAAG,CAAC,KAAK,GAAM,KAF/C,GAAG,CAAC,KAAK,CAGb,CACN,CAAC,GACI,GACF,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const DEBUG_BAR_CSS: string;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/debug-bar/styles.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,aAAa,QAkHd,CAAC"}