@plumix/core 0.1.3 → 0.2.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 (156) hide show
  1. package/dist/admin-bar/collect.d.ts.map +1 -1
  2. package/dist/admin-bar/collect.js +1 -15
  3. package/dist/admin-bar/collect.js.map +1 -1
  4. package/dist/admin-bar/i18n.d.ts +6 -0
  5. package/dist/admin-bar/i18n.d.ts.map +1 -1
  6. package/dist/admin-bar/i18n.js +1 -1
  7. package/dist/admin-bar/i18n.js.map +1 -1
  8. package/dist/admin-bar/styles.d.ts.map +1 -1
  9. package/dist/admin-bar/styles.js +1 -11
  10. package/dist/admin-bar/styles.js.map +1 -1
  11. package/dist/auth/authenticator.d.ts +20 -0
  12. package/dist/auth/authenticator.d.ts.map +1 -1
  13. package/dist/auth/authenticator.js +21 -0
  14. package/dist/auth/authenticator.js.map +1 -1
  15. package/dist/cli/worker-codegen.d.ts.map +1 -1
  16. package/dist/cli/worker-codegen.js +3 -5
  17. package/dist/cli/worker-codegen.js.map +1 -1
  18. package/dist/config.d.ts +9 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +1 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/context/app.d.ts +16 -0
  23. package/dist/context/app.d.ts.map +1 -1
  24. package/dist/context/app.js +8 -0
  25. package/dist/context/app.js.map +1 -1
  26. package/dist/context/debug.d.ts +25 -0
  27. package/dist/context/debug.d.ts.map +1 -0
  28. package/dist/context/debug.js +13 -0
  29. package/dist/context/debug.js.map +1 -0
  30. package/dist/context/stores.d.ts +2 -0
  31. package/dist/context/stores.d.ts.map +1 -1
  32. package/dist/context/stores.js.map +1 -1
  33. package/dist/css-tag.d.ts +2 -0
  34. package/dist/css-tag.d.ts.map +1 -0
  35. package/dist/css-tag.js +13 -0
  36. package/dist/css-tag.js.map +1 -0
  37. package/dist/db/libsql.d.ts.map +1 -1
  38. package/dist/db/libsql.js +13 -2
  39. package/dist/db/libsql.js.map +1 -1
  40. package/dist/debug-bar/collect.d.ts +13 -0
  41. package/dist/debug-bar/collect.d.ts.map +1 -0
  42. package/dist/debug-bar/collect.js +22 -0
  43. package/dist/debug-bar/collect.js.map +1 -0
  44. package/dist/debug-bar/collector.d.ts +9 -0
  45. package/dist/debug-bar/collector.d.ts.map +1 -0
  46. package/dist/debug-bar/collector.js +80 -0
  47. package/dist/debug-bar/collector.js.map +1 -0
  48. package/dist/debug-bar/component.d.ts +13 -0
  49. package/dist/debug-bar/component.d.ts.map +1 -0
  50. package/dist/debug-bar/component.js +36 -0
  51. package/dist/debug-bar/component.js.map +1 -0
  52. package/dist/debug-bar/config.d.ts +17 -0
  53. package/dist/debug-bar/config.d.ts.map +1 -0
  54. package/dist/debug-bar/config.js +13 -0
  55. package/dist/debug-bar/config.js.map +1 -0
  56. package/dist/debug-bar/core-panels.d.ts +8 -0
  57. package/dist/debug-bar/core-panels.d.ts.map +1 -0
  58. package/dist/debug-bar/core-panels.js +21 -0
  59. package/dist/debug-bar/core-panels.js.map +1 -0
  60. package/dist/debug-bar/db-query.d.ts +21 -0
  61. package/dist/debug-bar/db-query.d.ts.map +1 -0
  62. package/dist/debug-bar/db-query.js +23 -0
  63. package/dist/debug-bar/db-query.js.map +1 -0
  64. package/dist/debug-bar/format-param.d.ts +14 -0
  65. package/dist/debug-bar/format-param.d.ts.map +1 -0
  66. package/dist/debug-bar/format-param.js +27 -0
  67. package/dist/debug-bar/format-param.js.map +1 -0
  68. package/dist/debug-bar/highlight-sql.d.ts +11 -0
  69. package/dist/debug-bar/highlight-sql.d.ts.map +1 -0
  70. package/dist/debug-bar/highlight-sql.js +82 -0
  71. package/dist/debug-bar/highlight-sql.js.map +1 -0
  72. package/dist/debug-bar/panels/app.d.ts +8 -0
  73. package/dist/debug-bar/panels/app.d.ts.map +1 -0
  74. package/dist/debug-bar/panels/app.js +32 -0
  75. package/dist/debug-bar/panels/app.js.map +1 -0
  76. package/dist/debug-bar/panels/database.d.ts +9 -0
  77. package/dist/debug-bar/panels/database.d.ts.map +1 -0
  78. package/dist/debug-bar/panels/database.js +33 -0
  79. package/dist/debug-bar/panels/database.js.map +1 -0
  80. package/dist/debug-bar/panels/request.d.ts +7 -0
  81. package/dist/debug-bar/panels/request.d.ts.map +1 -0
  82. package/dist/debug-bar/panels/request.js +35 -0
  83. package/dist/debug-bar/panels/request.js.map +1 -0
  84. package/dist/debug-bar/panels/template.d.ts +17 -0
  85. package/dist/debug-bar/panels/template.d.ts.map +1 -0
  86. package/dist/debug-bar/panels/template.js +26 -0
  87. package/dist/debug-bar/panels/template.js.map +1 -0
  88. package/dist/debug-bar/panels/timeline.d.ts +11 -0
  89. package/dist/debug-bar/panels/timeline.d.ts.map +1 -0
  90. package/dist/debug-bar/panels/timeline.js +46 -0
  91. package/dist/debug-bar/panels/timeline.js.map +1 -0
  92. package/dist/debug-bar/primitives.d.ts +24 -0
  93. package/dist/debug-bar/primitives.d.ts.map +1 -0
  94. package/dist/debug-bar/primitives.js +21 -0
  95. package/dist/debug-bar/primitives.js.map +1 -0
  96. package/dist/debug-bar/styles.d.ts +2 -0
  97. package/dist/debug-bar/styles.d.ts.map +1 -0
  98. package/dist/debug-bar/styles.js +372 -0
  99. package/dist/debug-bar/styles.js.map +1 -0
  100. package/dist/debug-bar/template-node-label.d.ts +6 -0
  101. package/dist/debug-bar/template-node-label.d.ts.map +1 -0
  102. package/dist/debug-bar/template-node-label.js +20 -0
  103. package/dist/debug-bar/template-node-label.js.map +1 -0
  104. package/dist/debug-bar/timeline-geometry.d.ts +30 -0
  105. package/dist/debug-bar/timeline-geometry.d.ts.map +1 -0
  106. package/dist/debug-bar/timeline-geometry.js +26 -0
  107. package/dist/debug-bar/timeline-geometry.js.map +1 -0
  108. package/dist/debug-bar/timeline-model.d.ts +23 -0
  109. package/dist/debug-bar/timeline-model.d.ts.map +1 -0
  110. package/dist/debug-bar/timeline-model.js +34 -0
  111. package/dist/debug-bar/timeline-model.js.map +1 -0
  112. package/dist/debug-bar/trace-libsql.d.ts +18 -0
  113. package/dist/debug-bar/trace-libsql.d.ts.map +1 -0
  114. package/dist/debug-bar/trace-libsql.js +42 -0
  115. package/dist/debug-bar/trace-libsql.js.map +1 -0
  116. package/dist/debug-bar/types.d.ts +28 -0
  117. package/dist/debug-bar/types.d.ts.map +1 -0
  118. package/dist/debug-bar/types.js +1 -0
  119. package/dist/debug-bar/types.js.map +1 -0
  120. package/dist/hooks/registry.d.ts +14 -3
  121. package/dist/hooks/registry.d.ts.map +1 -1
  122. package/dist/hooks/registry.js +22 -0
  123. package/dist/hooks/registry.js.map +1 -1
  124. package/dist/index.d.ts +1 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +3 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/plugin/manifest.d.ts +3 -0
  129. package/dist/plugin/manifest.d.ts.map +1 -1
  130. package/dist/plugin/manifest.js +1 -0
  131. package/dist/plugin/manifest.js.map +1 -1
  132. package/dist/plugin/register.d.ts.map +1 -1
  133. package/dist/plugin/register.js +1 -0
  134. package/dist/plugin/register.js.map +1 -1
  135. package/dist/route/render/render-template.d.ts +1 -1
  136. package/dist/route/render/render-template.d.ts.map +1 -1
  137. package/dist/route/render/render-template.js +26 -2
  138. package/dist/route/render/render-template.js.map +1 -1
  139. package/dist/runtime/app.d.ts +8 -5
  140. package/dist/runtime/app.d.ts.map +1 -1
  141. package/dist/runtime/app.js +8 -1
  142. package/dist/runtime/app.js.map +1 -1
  143. package/dist/runtime/dispatcher.d.ts.map +1 -1
  144. package/dist/runtime/dispatcher.js +4 -2
  145. package/dist/runtime/dispatcher.js.map +1 -1
  146. package/dist/runtime/load-user-for-public-request.d.ts.map +1 -1
  147. package/dist/runtime/load-user-for-public-request.js +5 -2
  148. package/dist/runtime/load-user-for-public-request.js.map +1 -1
  149. package/dist/test/dispatcher.d.ts +3 -0
  150. package/dist/test/dispatcher.d.ts.map +1 -1
  151. package/dist/test/dispatcher.js +8 -2
  152. package/dist/test/dispatcher.js.map +1 -1
  153. package/dist/test/harness.d.ts.map +1 -1
  154. package/dist/test/harness.js +12 -2
  155. package/dist/test/harness.js.map +1 -1
  156. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/admin-bar/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,GACpB,SAAS,YAAY,EAAE,CAoBzB"}
1
+ {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/admin-bar/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,gBAAgB,GACpB,SAAS,YAAY,EAAE,CAGzB"}
@@ -1,19 +1,5 @@
1
1
  export function collectAdminBarNodes(hooks, ctx) {
2
- let nodes = [];
3
- for (const { fn, plugin } of hooks.getFilterHandlers("admin_bar:nodes")) {
4
- try {
5
- const next = fn(nodes, ctx);
6
- if (Array.isArray(next)) {
7
- nodes = next;
8
- }
9
- else {
10
- console.error(`[plumix] admin_bar:nodes handler returned non-array plugin=${plugin ?? "core"}; contribution discarded`);
11
- }
12
- }
13
- catch (error) {
14
- console.error(`[plumix] admin_bar:nodes handler failed plugin=${plugin ?? "core"}`, error);
15
- }
16
- }
2
+ const nodes = hooks.applyFilterIsolated("admin_bar:nodes", [], ctx);
17
3
  return dedupeById(nodes);
18
4
  }
19
5
  function dedupeById(nodes) {
@@ -1 +1 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/admin-bar/collect.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAClC,KAAmB,EACnB,GAAqB;IAErB,IAAI,KAAK,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,8DAA8D,MAAM,IAAI,MAAM,0BAA0B,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,kDAAkD,MAAM,IAAI,MAAM,EAAE,EACpE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CACV,0CAA0C,IAAI,CAAC,EAAE,2BAA2B,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/admin-bar/collect.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAClC,KAAmB,EACnB,GAAqB;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CACV,0CAA0C,IAAI,CAAC,EAAE,2BAA2B,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC"}
@@ -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":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,iEAAiE;AACjE,mEAAmE;AACnE,yDAAyD;AAEzD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAMhF,MAAM,QAAQ,GAAiD;IAC7D,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,sEAAsE;AACtE,+DAA+D;AAC/D,yCAAyC;AACzC,MAAM,CAAC,GAAG;IACR,YAAY,EAAE,EAAE,EAAE,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE;IACnE,QAAQ,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE;IAC5D,YAAY,EAAE,EAAE,EAAE,EAAE,4BAA4B,EAAE,OAAO,EAAE,YAAY,EAAE;IACzE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE;IACnD,OAAO,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE;IAC5D,OAAO,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE;IAC5D,OAAO,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,UAAU,EAAE;IAC7D,OAAO,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE;CAClD,CAAC;AAaX,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAEhC;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,OAAO,MAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,qEAAqE;AACrE,8BAA8B;AAC9B,MAAM,UAAU,cAAc,CAC5B,OAAwB,EACxB,UAA6D;IAE7D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAiB;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO;QACL,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACrD,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC;QAC7C,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACrD,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;QACrC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/admin-bar/styles.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,aAAa,QA+LzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QASrC,CAAC;AAOF,eAAO,MAAM,wBAAwB,8uBAsBpC,CAAC;AAIF,eAAO,MAAM,sBAAsB,wCAAwC,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/admin-bar/styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,QA+LzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QASrC,CAAC;AAOF,eAAO,MAAM,wBAAwB,8uBAsBpC,CAAC;AAIF,eAAO,MAAM,sBAAsB,wCAAwC,CAAC"}
@@ -5,17 +5,7 @@
5
5
  // (see [[plumix-admin-bar/issue-668]] for rationale). Multi-script glyph
6
6
  // rendering falls through `system-ui` to the OS UI font; missing-glyph
7
7
  // fallback is the browser's responsibility.
8
- // No-op tag the tooling marker that lets vscode-styled-components +
9
- // stylelint syntax-highlight + lint the CSS source. CSS Modules don't fit
10
- // because the bar is built with tsc-only and emits its CSS inline in the
11
- // SSR response, not as a separate stylesheet request.
12
- function css(strings, ...values) {
13
- let out = strings[0] ?? "";
14
- for (let i = 0; i < values.length; i++) {
15
- out += values[i] + (strings[i + 1] ?? "");
16
- }
17
- return out;
18
- }
8
+ import { css } from "../css-tag.js";
19
9
  export const ADMIN_BAR_CSS = css `
20
10
  .plumix-admin-bar {
21
11
  position: fixed;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/admin-bar/styles.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,4CAA4C;AAE5C,sEAAsE;AACtE,0EAA0E;AAC1E,yEAAyE;AACzE,sDAAsD;AACtD,SAAS,GAAG,CACV,OAA6B,EAC7B,GAAG,MAAyB;IAE5B,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+L/B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;;;;;;;;;CAS3C,CAAC;AAEF,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBvC,CAAC;AAEF,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/admin-bar/styles.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,2EAA2E;AAC3E,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+L/B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;;;;;;;;;CAS3C,CAAC;AAEF,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBvC,CAAC;AAEF,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,qCAAqC,CAAC"}
@@ -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,CA6C9B"}
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,CA2C9B"}
@@ -17,13 +17,11 @@ export function generateWorkerSource({ configModule, }) {
17
17
  // when nothing is contributed, so this line is inert for most sites.
18
18
  'export * from "virtual:plumix/worker-exports";',
19
19
  "",
20
- // vite statically replaces `import.meta.env.DEV` (true under dev,
21
- // false in production builds) see RuntimeContext.devCsrfLocalhost.
22
- // Fail-closed: a bundler that leaves `import.meta.env` intact yields
23
- // undefined, which buildApp coerces to false.
20
+ // buildApp derives the dev-CSRF opt-in from `process.env.PLUMIX_DEV` (the
21
+ // single dev signal the plumix Vite plugin statically replaces), so the
22
+ // worker no longer passes it — see RuntimeContext.devCsrfLocalhost.
24
23
  "const appPromise = buildApp(config, {",
25
24
  " assetManifest,",
26
- " devCsrfLocalhost: import.meta.env.DEV,",
27
25
  "});",
28
26
  "let fetchHandler;",
29
27
  "let scheduledHandler;",
@@ -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,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"}
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,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,uCAAuC;QACvC,kBAAkB;QAClB,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";
@@ -14,6 +15,7 @@ import type { ResolvedEntity } from "../route/current.js";
14
15
  import type { OAuthProviderSummary } from "../runtime/app.js";
15
16
  import type { PlumixEnv } from "../runtime/bindings.js";
16
17
  import type { AssetsBinding, ConnectedCache, ConnectedObjectStorage, ImageDelivery } from "../runtime/slots.js";
18
+ import type { DebugCollector } from "./debug.js";
17
19
  export type CoreSchema = typeof coreSchema;
18
20
  export type Db<TSchema extends Record<string, unknown> = CoreSchema> = BaseSQLiteDatabase<"async" | "sync", unknown, TSchema>;
19
21
  export interface AuthenticatedUser {
@@ -95,6 +97,13 @@ export interface AppContextBase<TSchema extends Record<string, unknown> = CoreSc
95
97
  */
96
98
  readonly shortcodes: ShortcodeRegistry;
97
99
  readonly logger: Logger;
100
+ /**
101
+ * Request-scoped debug collector. Core and plugins record per-request data
102
+ * for the dev debug bar via `ctx.debug.record`/`span`. Always present: the
103
+ * real collector in dev, {@link NOOP_DEBUG} in prod (so call sites are safe
104
+ * and the debug-bar module tree-shakes out of prod builds).
105
+ */
106
+ readonly debug: DebugCollector;
98
107
  readonly auth: AuthNamespace;
99
108
  /**
100
109
  * Resolved request authenticator — same instance the dispatcher
@@ -179,6 +188,12 @@ export interface AppContextBase<TSchema extends Record<string, unknown> = CoreSc
179
188
  * via `withBasePath` so links resolve under the subdirectory.
180
189
  */
181
190
  readonly basePath: string;
191
+ /**
192
+ * Raw development-only debug-bar config, carried through from
193
+ * `config.debugBar` (like {@link mcp}) as inert data. Interpreted only by
194
+ * the dev-gated debug-bar module, which is tree-shaken from prod builds.
195
+ */
196
+ readonly debugBar?: DebugBarInput;
182
197
  /**
183
198
  * Operator-set site name from `auth.magicLink.siteName`, used as
184
199
  * the human-friendly label in mailer subjects ("Confirm your email
@@ -229,6 +244,7 @@ export interface CreateAppContextArgs<TSchema extends Record<string, unknown>> {
229
244
  readonly tokenScopes?: readonly string[] | null;
230
245
  readonly origin?: string;
231
246
  readonly basePath?: string;
247
+ readonly debugBar?: DebugBarInput;
232
248
  readonly siteName?: string;
233
249
  readonly logger?: Logger;
234
250
  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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"}
@@ -2,8 +2,10 @@ import { createBlockRegistry } from "@plumix/blocks";
2
2
  import { defaultAuthenticator } from "../auth/authenticator.js";
3
3
  import { resolveMailer } from "../auth/mailer/resolve.js";
4
4
  import { createCapabilityResolver } from "../auth/rbac.js";
5
+ import { createDebugCollector } from "../debug-bar/collector.js";
5
6
  import { resolveLocales } from "../i18n/locale-registry.js";
6
7
  import { resolveLocale } from "../i18n/resolve-locale.js";
8
+ import { NOOP_DEBUG } from "./debug.js";
7
9
  import { ContextError } from "./errors.js";
8
10
  const EMPTY_BLOCK_REGISTRY = createBlockRegistry([]);
9
11
  const EMPTY_MARK_LIST = Object.freeze([]);
@@ -105,6 +107,12 @@ export function createAppContext(args) {
105
107
  // outgoing email are stable across worker geos.
106
108
  origin: args.origin ?? new URL(args.request.url).origin,
107
109
  basePath: args.basePath ?? "",
110
+ debugBar: args.debugBar,
111
+ // Real collector only in dev; `process.env.PLUMIX_DEV` is Vite-empty in a
112
+ // build, so the prod branch keeps NOOP_DEBUG and tree-shakes the rest.
113
+ debug: process.env.PLUMIX_DEV
114
+ ? createDebugCollector(args.debugBar)
115
+ : NOOP_DEBUG,
108
116
  siteName: args.siteName,
109
117
  };
110
118
  // 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,25 @@
1
+ import type { TraceSpan } from "./stores.js";
2
+ /**
3
+ * Request-scoped debug collector. Core and plugins record per-request data
4
+ * under a namespace (a panel id) and read it back when their panel renders.
5
+ * Two implementations: {@link NOOP_DEBUG} (always present in core, prod-safe)
6
+ * and the real accumulating collector in the dev-gated debug-bar module.
7
+ */
8
+ export interface DebugCollector {
9
+ /** Append an entry under `namespace` (the recording panel's id). */
10
+ record(namespace: string, entry: unknown): void;
11
+ /** Time `fn`, record a span, and return `fn`'s result unchanged. */
12
+ span<T>(name: string, fn: () => T): T;
13
+ /** Entries recorded under `namespace`, in record order. */
14
+ get(namespace: string): readonly unknown[];
15
+ /** The collected span tree (the Timeline panel consumes this). */
16
+ getSpans(): readonly TraceSpan[];
17
+ }
18
+ /**
19
+ * The permanent no-op collector. Lives in core proper so plugin `ctx.debug`
20
+ * call sites stay safe in production: `record` drops the entry, `span` calls
21
+ * through and returns the result, reads are empty. The real collector is
22
+ * swapped in only under the dev gate.
23
+ */
24
+ export declare const NOOP_DEBUG: DebugCollector;
25
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/context/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,oEAAoE;IACpE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,2DAA2D;IAC3D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE,CAAC;IAC3C,kEAAkE;IAClE,QAAQ,IAAI,SAAS,SAAS,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,cAKxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The permanent no-op collector. Lives in core proper so plugin `ctx.debug`
3
+ * call sites stay safe in production: `record` drops the entry, `span` calls
4
+ * through and returns the result, reads are empty. The real collector is
5
+ * swapped in only under the dev gate.
6
+ */
7
+ export const NOOP_DEBUG = {
8
+ record: () => undefined,
9
+ span: (_name, fn) => fn(),
10
+ get: () => [],
11
+ getSpans: () => [],
12
+ };
13
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/context/debug.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACzB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;IACb,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;CACnB,CAAC"}
@@ -9,6 +9,8 @@ export declare const hookStore: AsyncLocalStorage<HookFrame>;
9
9
  export interface TraceSpan {
10
10
  readonly name: string;
11
11
  readonly startedAt: number;
12
+ /** Wall-clock duration; set when the span's work completes. */
13
+ durationMs: number;
12
14
  readonly children: TraceSpan[];
13
15
  readonly annotations: Record<string, unknown>;
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../src/context/stores.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,eAAO,MAAM,YAAY,+BAAsC,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,SAAS,8BAAqC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,UAAU,8BAAqC,CAAC;AAE7D,eAAO,MAAM,OAAO,4BAAmC,CAAC;AAExD,wBAAgB,UAAU,IAAI,UAAU,CAIvC;AAED,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD"}
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../src/context/stores.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,eAAO,MAAM,YAAY,+BAAsC,CAAC;AAEhE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,SAAS,8BAAqC,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,UAAU,8BAAqC,CAAC;AAE7D,eAAO,MAAM,OAAO,4BAAmC,CAAC;AAExD,wBAAgB,UAAU,IAAI,UAAU,CAIvC;AAED,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/context/stores.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0EAA0E;AAC1E,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAOhE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAS5D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAW,CAAC;AAExD,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/context/stores.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0EAA0E;AAC1E,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAOhE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAW5D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAW,CAAC;AAExD,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;IAChD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;AACzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function css(strings: TemplateStringsArray, ...values: readonly string[]): string;
2
+ //# sourceMappingURL=css-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-tag.d.ts","sourceRoot":"","sources":["../src/css-tag.ts"],"names":[],"mappings":"AAKA,wBAAgB,GAAG,CACjB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,CAMR"}
@@ -0,0 +1,13 @@
1
+ // No-op tagged-template marker: returns the interpolated string verbatim. Its
2
+ // only job is to let vscode-styled-components + stylelint syntax-highlight and
3
+ // lint the inline CSS the tsc-only bars (admin bar, debug bar) emit — those
4
+ // surfaces have no bundler CSS pipeline, so their styles live as template
5
+ // strings rather than a separate stylesheet request.
6
+ export function css(strings, ...values) {
7
+ let out = strings[0] ?? "";
8
+ for (let i = 0; i < values.length; i++) {
9
+ out += values[i] + (strings[i + 1] ?? "");
10
+ }
11
+ return out;
12
+ }
13
+ //# sourceMappingURL=css-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-tag.js","sourceRoot":"","sources":["../src/css-tag.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,0EAA0E;AAC1E,qDAAqD;AACrD,MAAM,UAAU,GAAG,CACjB,OAA6B,EAC7B,GAAG,MAAyB;IAE5B,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"libsql.d.ts","sourceRoot":"","sources":["../../src/db/libsql.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEvD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,CAmBvE"}
1
+ {"version":3,"file":"libsql.d.ts","sourceRoot":"","sources":["../../src/db/libsql.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEvD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,CA4BvE"}
package/dist/db/libsql.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { createClient } from "@libsql/client";
2
2
  import { drizzle } from "drizzle-orm/libsql";
3
+ import { createDebugSqlLogger } from "../debug-bar/db-query.js";
4
+ import { traceSqlClient } from "../debug-bar/trace-libsql.js";
3
5
  import { resolveEnvInput } from "../runtime/env-input.js";
4
6
  /**
5
7
  * Database adapter for any libSQL-compatible SQLite endpoint. Lives behind
@@ -21,12 +23,21 @@ export function libsql(config) {
21
23
  connect: (env, _request, schema) => {
22
24
  if (!client) {
23
25
  const resolved = resolveEnvInput(config, env);
24
- client = createClient({
26
+ const raw = createClient({
25
27
  url: resolved.url,
26
28
  authToken: resolved.authToken,
27
29
  });
30
+ // Dev-only: time each query as a span for the Timeline panel.
31
+ client = process.env.PLUMIX_DEV ? traceSqlClient(raw) : raw;
28
32
  }
29
- return { db: drizzle(client, { schema, casing: "snake_case" }) };
33
+ return {
34
+ db: drizzle(client, {
35
+ schema,
36
+ casing: "snake_case",
37
+ // Dev-only: feed the debug bar's Database panel. Tree-shaken in prod.
38
+ logger: process.env.PLUMIX_DEV ? createDebugSqlLogger() : undefined,
39
+ }),
40
+ };
30
41
  },
31
42
  };
32
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../src/db/libsql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAsB1D;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC9C,2EAA2E;IAC3E,qEAAqE;IACrE,0EAA0E;IAC1E,IAAI,MAAmD,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,GAAgB,CAAC,CAAC;gBAC3D,MAAM,GAAG,YAAY,CAAC;oBACpB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../src/db/libsql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAsB1D;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC9C,2EAA2E;IAC3E,qEAAqE;IACrE,0EAA0E;IAC1E,IAAI,MAAmD,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,GAAgB,CAAC,CAAC;gBAC3D,MAAM,GAAG,GAAG,YAAY,CAAC;oBACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9D,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE;oBAClB,MAAM;oBACN,MAAM,EAAE,YAAY;oBACpB,sEAAsE;oBACtE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,SAAS;iBACpE,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}