kennel 0.2.44 → 0.2.45

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 (85) hide show
  1. package/dist/core/api-client.d.ts +1 -1
  2. package/dist/core/api-client.js +35 -2
  3. package/dist/core/runtime.js +548 -99
  4. package/dist/llm/worker.js +11 -2
  5. package/dist/notes/command.js +20 -4
  6. package/dist/package/preview.d.ts +1 -1
  7. package/dist/package/preview.js +760 -495
  8. package/dist/site/hot-viewer.js +4 -4
  9. package/dist/site/server-plugins.js +468 -30
  10. package/dist/site/viewer.d.ts +0 -3
  11. package/dist/site/viewer.js +11 -41
  12. package/dist/tui/launcher.d.ts +11 -0
  13. package/dist/{site/terminal.js → tui/launcher.js} +60 -15
  14. package/package.json +2 -2
  15. package/web/assets/{abnfDiagram-VRR7QNED-ooA_TyhC.js → abnfDiagram-VRR7QNED-D8mHNUwf.js} +1 -1
  16. package/web/assets/{arc-DqQkY48J.js → arc-DORR-Lbn.js} +1 -1
  17. package/web/assets/{architectureDiagram-ZJ3FMSHR-DaXzRGP0.js → architectureDiagram-ZJ3FMSHR-CnmL2DAX.js} +1 -1
  18. package/web/assets/ask-tray-KUTWZ4MV-VQJJAsDn.js +1 -0
  19. package/web/assets/{blockDiagram-677ZJIJ3-Br5Y_dbP.js → blockDiagram-677ZJIJ3-_SWUT5nP.js} +1 -1
  20. package/web/assets/{c4Diagram-LMCZKHZV-CWIy0S0N.js → c4Diagram-LMCZKHZV-r7ghc180.js} +1 -1
  21. package/web/assets/channel-r9-1szjb.js +1 -0
  22. package/web/assets/{chunk-2Q5K7J3B-8dxcuNwr.js → chunk-2Q5K7J3B-D_LeMwFJ.js} +1 -1
  23. package/web/assets/{chunk-32BRIVSS-DB27hz0Y.js → chunk-32BRIVSS-AeVZw1It.js} +1 -1
  24. package/web/assets/{chunk-5VM5RSS4-CTNxGtbA.js → chunk-5VM5RSS4-Bp_epQ8r.js} +1 -1
  25. package/web/assets/{chunk-EX3LRPZG-oKNLktOC.js → chunk-EX3LRPZG-Dz4n-DeM.js} +1 -1
  26. package/web/assets/{chunk-JWPE2WC7-DeQNmWoS.js → chunk-JWPE2WC7-B0MQp8TQ.js} +1 -1
  27. package/web/assets/{chunk-MOJQB5TN-BrW33Mrb.js → chunk-MOJQB5TN-Bkomqk1x.js} +1 -1
  28. package/web/assets/{chunk-RYQCIY6F-DEkTU6j-.js → chunk-RYQCIY6F-B0F7WMyE.js} +1 -1
  29. package/web/assets/{chunk-V7JOEXUC-BuDLgwdB.js → chunk-V7JOEXUC-BDifU9oY.js} +1 -1
  30. package/web/assets/{chunk-VR4S4FIN-BsNgrrKe.js → chunk-VR4S4FIN-Bgd4HCG_.js} +1 -1
  31. package/web/assets/{chunk-XXDRQBXY-DjT1Bydl.js → chunk-XXDRQBXY-BK8FhRs4.js} +1 -1
  32. package/web/assets/classDiagram-OUVF2IWQ-L_jmDmNd.js +1 -0
  33. package/web/assets/classDiagram-v2-EOCWNBFH-L_jmDmNd.js +1 -0
  34. package/web/assets/client-5Q4VI7ZT-BkTtFalV.js +52 -0
  35. package/web/assets/{cose-bilkent-JH36ORCC-BtAklxrd.js → cose-bilkent-JH36ORCC-Dm3k2U47.js} +1 -1
  36. package/web/assets/{cynefin-VYW2F7L2-DabtZWZy.js → cynefin-VYW2F7L2-DCnilF1f.js} +1 -1
  37. package/web/assets/{cynefinDiagram-TSTJHNR4-DVk8uQ8L.js → cynefinDiagram-TSTJHNR4-BrulEEQ9.js} +1 -1
  38. package/web/assets/{dagre-VKFMJZFB-CiAbBCor.js → dagre-VKFMJZFB-Dda61i4h.js} +1 -1
  39. package/web/assets/{diagram-FQU43EPY-DWp-OzJz.js → diagram-FQU43EPY-sTmDEDMM.js} +1 -1
  40. package/web/assets/{diagram-G47NLZAW-YDllS_1P.js → diagram-G47NLZAW-d-KQnPrm.js} +1 -1
  41. package/web/assets/{diagram-NH7WQ7WH-BH3l4yRj.js → diagram-NH7WQ7WH-DcRxa_ps.js} +1 -1
  42. package/web/assets/{diagram-OA4YK3LP-CszBvxdr.js → diagram-OA4YK3LP-CYzWtWvV.js} +1 -1
  43. package/web/assets/{diagram-WEI45ONY-bEhZeER6.js → diagram-WEI45ONY-FI3V_N07.js} +1 -1
  44. package/web/assets/document-view-TGFRNHKS-VSJS3BGw.js +24 -0
  45. package/web/assets/{ebnfDiagram-CCIWWBDH-DlpoUUO5.js → ebnfDiagram-CCIWWBDH-DcvVmQhu.js} +1 -1
  46. package/web/assets/{entity-search-page-YP4SPMBC-WryWZNPk.js → entity-search-page-RIYQYIJJ-Bed3y-5Q.js} +5 -5
  47. package/web/assets/{erDiagram-Q63AITRT-DROgehIM.js → erDiagram-Q63AITRT-DI5DBlBp.js} +1 -1
  48. package/web/assets/{flowDiagram-23GEKE2U-63pYiBzl.js → flowDiagram-23GEKE2U-Bz1AbRxB.js} +1 -1
  49. package/web/assets/{ganttDiagram-NO4QXBWP-tc34wKHJ.js → ganttDiagram-NO4QXBWP-ChKlhxeo.js} +1 -1
  50. package/web/assets/{gitGraphDiagram-IHSO6WYX-GOjqt583.js → gitGraphDiagram-IHSO6WYX-BtTqLSyY.js} +1 -1
  51. package/web/assets/{index-qmu99cjp.js → index-CDAH4UPU.js} +157 -157
  52. package/web/assets/{infoDiagram-FWYZ7A6U-CD5BwkLQ.js → infoDiagram-FWYZ7A6U-COpIz9uZ.js} +1 -1
  53. package/web/assets/{ishikawaDiagram-FXEZZL3T-yIweY6wR.js → ishikawaDiagram-FXEZZL3T-CB7Bdsfr.js} +1 -1
  54. package/web/assets/{journeyDiagram-5HDEW3XC-D3MeUGvn.js → journeyDiagram-5HDEW3XC-BMytnJBE.js} +1 -1
  55. package/web/assets/{kanban-definition-HUTT4EX6-CnZ5N79y.js → kanban-definition-HUTT4EX6-BFS4G0g-.js} +1 -1
  56. package/web/assets/{linear-s5G6iOMz.js → linear-DMUO2qBp.js} +1 -1
  57. package/web/assets/{linked-session-header-DOEX4FYM-CtTOXcZn.js → linked-session-header-7BUTWROP-DzEcA4Fq.js} +1 -1
  58. package/web/assets/{mermaid.core-BpUKp9r_.js → mermaid.core-BAj-Ltr-.js} +4 -4
  59. package/web/assets/{mindmap-definition-LN4V7U3C-Bp2QH5sN.js → mindmap-definition-LN4V7U3C-CjymOEvH.js} +1 -1
  60. package/web/assets/{pegDiagram-2B236MQR-lx1jDUmt.js → pegDiagram-2B236MQR-D64jiUPu.js} +1 -1
  61. package/web/assets/{pieDiagram-ENE6RG2P--kf2YNbw.js → pieDiagram-ENE6RG2P-CCbI5U6o.js} +1 -1
  62. package/web/assets/{plugin-host-modules-BKbxlu7U.js → plugin-host-modules-D7pHtNJn.js} +2 -2
  63. package/web/assets/{project-search-page-TZG7AZBQ-3W40ayYn.js → project-search-page-O6YRLDGU-1bPrifgb.js} +2 -2
  64. package/web/assets/{quadrantDiagram-ABIIQ3AL-Vr7zWQYV.js → quadrantDiagram-ABIIQ3AL-B7dN_Kn5.js} +1 -1
  65. package/web/assets/{railroadDiagram-RFXS5EU6-CqWD8KUC.js → railroadDiagram-RFXS5EU6-BPjAzqcL.js} +1 -1
  66. package/web/assets/{requirementDiagram-TGXJPOKE-BHUBdOVh.js → requirementDiagram-TGXJPOKE-BFhnnUWa.js} +1 -1
  67. package/web/assets/{sankeyDiagram-HTMAVEWB-Cw_ZddWI.js → sankeyDiagram-HTMAVEWB-W2UguUjW.js} +1 -1
  68. package/web/assets/{selection-popup-ABYH3A27-Gc-RFSWj.js → selection-popup-ABYH3A27-DsiLbG7S.js} +4 -4
  69. package/web/assets/{sequenceDiagram-DBY2YBRQ-CyCbkAfM.js → sequenceDiagram-DBY2YBRQ-DcOakOD4.js} +1 -1
  70. package/web/assets/{sizeCapture-X5ZJPWSS-BG6RM8rb.js → sizeCapture-X5ZJPWSS-D3N248Z6.js} +1 -1
  71. package/web/assets/{stateDiagram-2N3HPSRC-DKpZl5UU.js → stateDiagram-2N3HPSRC-Cir3yiDe.js} +1 -1
  72. package/web/assets/{stateDiagram-v2-6OUMAXLB-DHUy-0iS.js → stateDiagram-v2-6OUMAXLB-BwL0KYLn.js} +1 -1
  73. package/web/assets/{swimlanes-5IMT3BWC-D14uyHMH.js → swimlanes-5IMT3BWC-Dhq7FmZr.js} +2 -2
  74. package/web/assets/swimlanesDiagram-G3AALYLV-D4q-nPpB.js +8 -0
  75. package/web/assets/{timeline-definition-FHXFAJF6-f4WPhEXS.js → timeline-definition-FHXFAJF6-CMa1wjsI.js} +1 -1
  76. package/web/assets/{vennDiagram-L72KCM5P-lr4A8guw.js → vennDiagram-L72KCM5P-DvglazwQ.js} +1 -1
  77. package/web/assets/{wardleyDiagram-EHGQE667-CR-Im585.js → wardleyDiagram-EHGQE667-DcogrL32.js} +1 -1
  78. package/web/assets/{xychartDiagram-FW5EYKEG-DeNQfP7k.js → xychartDiagram-FW5EYKEG-BlsDcr_U.js} +1 -1
  79. package/web/index.html +1 -1
  80. package/dist/site/terminal.d.ts +0 -14
  81. package/web/assets/ask-tray-KUTWZ4MV-Ckn1y1Zw.js +0 -24
  82. package/web/assets/channel-BQxXBpeY.js +0 -1
  83. package/web/assets/classDiagram-OUVF2IWQ-BT1TSwZs.js +0 -1
  84. package/web/assets/classDiagram-v2-EOCWNBFH-BT1TSwZs.js +0 -1
  85. package/web/assets/swimlanesDiagram-G3AALYLV-C5riej52.js +0 -8
@@ -1,5 +1,6 @@
1
1
  /** Replaced at build time by the Node bundle of packages/api-client/src/index.ts. */
2
2
  import type { operations } from '../../../api-client/src/generated.js';
3
+ export { folderUrl } from "kennel-api/shared/viewer-route";
3
4
  type JsonResponse<K extends 'health' | 'documents'> = operations[K]['responses'][200]['content']['application/json'];
4
5
  type RequestOptions = {
5
6
  signal?: AbortSignal;
@@ -10,4 +11,3 @@ export declare function createKennelClient(options: {
10
11
  health(options?: RequestOptions): Promise<JsonResponse<'health'>>;
11
12
  documents(href: string, options?: RequestOptions): Promise<JsonResponse<'documents'>>;
12
13
  };
13
- export {};
@@ -5094,6 +5094,7 @@ var plugin = object({
5094
5094
  icon: object({ paths: array(string2().min(1)).min(1) }).optional(),
5095
5095
  id: string2(),
5096
5096
  label: string2(),
5097
+ pages: array(object({ id: string2(), label: string2() })).optional(),
5097
5098
  subpath: string2().optional()
5098
5099
  });
5099
5100
  var plugins = object({
@@ -5300,6 +5301,15 @@ var routes = {
5300
5301
  }
5301
5302
  };
5302
5303
 
5304
+ // packages/plugins/src/client.ts
5305
+ function folderPathId(path) {
5306
+ const bytes = new TextEncoder().encode(path);
5307
+ let binary = "";
5308
+ for (const byte of bytes)
5309
+ binary += String.fromCharCode(byte);
5310
+ return btoa(binary).replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "");
5311
+ }
5312
+
5303
5313
  // packages/api/src/shared/viewer-route.ts
5304
5314
  function decodeBase64Url(value) {
5305
5315
  const padded = `${value}${"=".repeat((4 - value.length % 4) % 4)}`;
@@ -5320,9 +5330,31 @@ function tabSection(tab) {
5320
5330
  return tab;
5321
5331
  return;
5322
5332
  }
5333
+ function folderPathId2(path) {
5334
+ return folderPathId(path);
5335
+ }
5323
5336
  function decodeFolderPathId(id) {
5324
5337
  return decodeBase64Url(id);
5325
5338
  }
5339
+ function folderHomeHref(folder) {
5340
+ return `/folder/${folderPathId2(folder)}`;
5341
+ }
5342
+ function folderPluginHref(folder, pluginId, subpath = "") {
5343
+ const base = `/folder/${folderPathId2(folder)}/views/${encodeURIComponent(pluginId)}`;
5344
+ return subpath ? `${base}/${encodeURIComponent(subpath)}` : base;
5345
+ }
5346
+ function folderUrl(base, folder, options = {}) {
5347
+ const current = new URL(base);
5348
+ current.pathname = options.view ? folderPluginHref(folder, options.view.pluginId, options.view.subpath) : options.document ? folderDocumentHref(folder, options.document) : folderHomeHref(folder);
5349
+ current.searchParams.delete("folder");
5350
+ if (options.document && options.watch && !options.view) {
5351
+ current.searchParams.set("watch", "1");
5352
+ }
5353
+ return current;
5354
+ }
5355
+ function folderDocumentHref(folder, document) {
5356
+ return `/folder/${folderPathId2(folder)}/document/${folderPathId2(document)}`;
5357
+ }
5326
5358
  function parseViewerRoute(value) {
5327
5359
  const current = url(value);
5328
5360
  const session = current.searchParams.get("session") ?? undefined;
@@ -5362,7 +5394,7 @@ function parseViewerRoute(value) {
5362
5394
  return {
5363
5395
  ...route,
5364
5396
  view: {
5365
- pluginId: parts[3],
5397
+ pluginId: decodeURIComponent(parts[3]),
5366
5398
  ...parts[4] ? { subpath: parts[4] } : {}
5367
5399
  }
5368
5400
  };
@@ -5373,7 +5405,7 @@ function parseViewerRoute(value) {
5373
5405
  if (section === "document" && parts[3]) {
5374
5406
  return { ...route, document: decodeFolderPathId(parts[3]) };
5375
5407
  }
5376
- return { ...route, section: "notes" };
5408
+ return route;
5377
5409
  }
5378
5410
 
5379
5411
  // packages/api-client/src/errors.ts
@@ -5537,6 +5569,7 @@ export {
5537
5569
  createKennelClient,
5538
5570
  documentResponse,
5539
5571
  expectedError,
5572
+ folderUrl,
5540
5573
  openPath,
5541
5574
  projectSearchResponse
5542
5575
  };