kennel 0.2.24 → 0.2.26

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 (88) hide show
  1. package/dist/cli/dispatch.js +2 -2
  2. package/dist/cli/usage.js +7 -1
  3. package/dist/core/api-client.js +1 -2
  4. package/dist/core/command.js +1 -1
  5. package/dist/core/core-folders.js +6 -2
  6. package/dist/core/runtime.js +30 -4657
  7. package/dist/mcp/install-page.d.ts +1 -1
  8. package/dist/mcp/install-page.js +419 -4
  9. package/dist/package/preview.d.ts +4 -0
  10. package/dist/package/preview.js +790 -4990
  11. package/dist/site/hot-viewer.js +1 -1
  12. package/dist/site/kinds.d.ts +1 -1
  13. package/dist/site/kinds.js +2 -59
  14. package/dist/site/terminal.d.ts +9 -1
  15. package/dist/site/terminal.js +162 -20
  16. package/package.json +5 -5
  17. package/web/assets/{abnfDiagram-VRR7QNED-aRemVX7f.js → abnfDiagram-VRR7QNED-CIyEzNaJ.js} +1 -1
  18. package/web/assets/{arc-BpDsnNTf.js → arc-Dba3y3eW.js} +1 -1
  19. package/web/assets/{architectureDiagram-ZJ3FMSHR-DNXHQddP.js → architectureDiagram-ZJ3FMSHR-DjFjO3tR.js} +1 -1
  20. package/web/assets/ask-tray-PMT6VVXN-ButKBzsY.js +23 -0
  21. package/web/assets/{blockDiagram-677ZJIJ3-CF4H4upo.js → blockDiagram-677ZJIJ3-C8ZQgtnK.js} +1 -1
  22. package/web/assets/{c4Diagram-LMCZKHZV-BPWUnjtx.js → c4Diagram-LMCZKHZV-DhWn2tZm.js} +1 -1
  23. package/web/assets/channel-BuqSObVl.js +1 -0
  24. package/web/assets/{chunk-2Q5K7J3B-DGsa7uv7.js → chunk-2Q5K7J3B-BEkPxYAB.js} +1 -1
  25. package/web/assets/{chunk-32BRIVSS-BRfic3W2.js → chunk-32BRIVSS-BZ0ofM9m.js} +1 -1
  26. package/web/assets/{chunk-5VM5RSS4-L2h7hliu.js → chunk-5VM5RSS4-CTgBiom0.js} +1 -1
  27. package/web/assets/{chunk-EX3LRPZG-BPgD_fgx.js → chunk-EX3LRPZG-B7lDJEfz.js} +1 -1
  28. package/web/assets/{chunk-JWPE2WC7-CckCaqu_.js → chunk-JWPE2WC7-DotlQGla.js} +1 -1
  29. package/web/assets/{chunk-MOJQB5TN-zyGgx-VW.js → chunk-MOJQB5TN-BSlB5ICN.js} +1 -1
  30. package/web/assets/{chunk-RYQCIY6F-Drzpg5IG.js → chunk-RYQCIY6F-BbDvgRvj.js} +1 -1
  31. package/web/assets/{chunk-V7JOEXUC-Di4ESKz-.js → chunk-V7JOEXUC-CqC2yHBO.js} +1 -1
  32. package/web/assets/{chunk-VR4S4FIN-C5lQtDI1.js → chunk-VR4S4FIN-18aLOCVw.js} +1 -1
  33. package/web/assets/{chunk-XXDRQBXY-Cell0ft2.js → chunk-XXDRQBXY-uulB67ep.js} +1 -1
  34. package/web/assets/classDiagram-OUVF2IWQ-xfk1LZB_.js +1 -0
  35. package/web/assets/classDiagram-v2-EOCWNBFH-xfk1LZB_.js +1 -0
  36. package/web/assets/{cose-bilkent-JH36ORCC-CiKtOFxl.js → cose-bilkent-JH36ORCC-C8yqL7ml.js} +1 -1
  37. package/web/assets/{cynefin-VYW2F7L2-B75MWf5b.js → cynefin-VYW2F7L2-D-wd85t1.js} +1 -1
  38. package/web/assets/{cynefinDiagram-TSTJHNR4-BmNVkSWW.js → cynefinDiagram-TSTJHNR4-rrV6rLov.js} +1 -1
  39. package/web/assets/{dagre-VKFMJZFB-BcM1Wqu5.js → dagre-VKFMJZFB-BxwiLhMr.js} +1 -1
  40. package/web/assets/{diagram-FQU43EPY-BiBWrxa8.js → diagram-FQU43EPY-8sr7lcj4.js} +1 -1
  41. package/web/assets/{diagram-G47NLZAW-Cfxukr7T.js → diagram-G47NLZAW-BQIU_Mie.js} +1 -1
  42. package/web/assets/{diagram-NH7WQ7WH-C83VkBYW.js → diagram-NH7WQ7WH-Bt-xVbVq.js} +1 -1
  43. package/web/assets/{diagram-OA4YK3LP-Oj0uj6CX.js → diagram-OA4YK3LP-p-i-3cps.js} +1 -1
  44. package/web/assets/{diagram-WEI45ONY-DhbL0nvt.js → diagram-WEI45ONY-E6t6-_mU.js} +1 -1
  45. package/web/assets/{ebnfDiagram-CCIWWBDH-D4JYp1UC.js → ebnfDiagram-CCIWWBDH-DCszfyU3.js} +1 -1
  46. package/web/assets/{entity-search-page-G6QEQNXT-UKzUU5id.js → entity-search-page-G6QEQNXT-D6cvoqrF.js} +1 -1
  47. package/web/assets/{erDiagram-Q63AITRT-C-oyRt9s.js → erDiagram-Q63AITRT-C4gBewIM.js} +1 -1
  48. package/web/assets/{flowDiagram-23GEKE2U-0Tplj9FK.js → flowDiagram-23GEKE2U-BEyFAV-g.js} +1 -1
  49. package/web/assets/{ganttDiagram-NO4QXBWP-wgh2e0B_.js → ganttDiagram-NO4QXBWP-Bat5BF2x.js} +1 -1
  50. package/web/assets/{gitGraphDiagram-IHSO6WYX-D6z9qDXa.js → gitGraphDiagram-IHSO6WYX-CGZs8b5E.js} +1 -1
  51. package/web/assets/index-DmJQJIC1.js +451 -0
  52. package/web/assets/{index-BGwTWQMJ.css → index-tpV2etC4.css} +1 -1
  53. package/web/assets/{infoDiagram-FWYZ7A6U-D3o7el5X.js → infoDiagram-FWYZ7A6U-Cglwuazb.js} +1 -1
  54. package/web/assets/{ishikawaDiagram-FXEZZL3T-CM0QyWYH.js → ishikawaDiagram-FXEZZL3T-C95-Gz9z.js} +1 -1
  55. package/web/assets/{journeyDiagram-5HDEW3XC-fmIoh0h6.js → journeyDiagram-5HDEW3XC-C055Trr6.js} +1 -1
  56. package/web/assets/{kanban-definition-HUTT4EX6-aEtqsiWf.js → kanban-definition-HUTT4EX6-CznSv3_t.js} +1 -1
  57. package/web/assets/{linear-aJ-2UZO5.js → linear-CnWGyi6E.js} +1 -1
  58. package/web/assets/{linked-session-header-M7WY6IGF-CltMJZiX.js → linked-session-header-M7WY6IGF-BFioq_q7.js} +1 -1
  59. package/web/assets/{mermaid.core-CL9g6xVu.js → mermaid.core-BIJiZKob.js} +4 -4
  60. package/web/assets/{mindmap-definition-LN4V7U3C-CtQo0XrW.js → mindmap-definition-LN4V7U3C-k97sTi1e.js} +1 -1
  61. package/web/assets/{pegDiagram-2B236MQR-ecu1L_3A.js → pegDiagram-2B236MQR-C-4ETzyd.js} +1 -1
  62. package/web/assets/{pieDiagram-ENE6RG2P-CdCKg3Cn.js → pieDiagram-ENE6RG2P-CH8gYIx3.js} +1 -1
  63. package/web/assets/{plugin-host-modules-Dz_BPJRS.js → plugin-host-modules-BI0aGGBk.js} +2 -2
  64. package/web/assets/{project-search-dialog-HJFGW4DG-CKtXc-UP.js → project-search-dialog-HJFGW4DG-DC6mBFkm.js} +1 -1
  65. package/web/assets/{project-search-page-NKQEBGPF-CMzuYEeM.js → project-search-page-NKQEBGPF-B0OxN-l5.js} +1 -1
  66. package/web/assets/{quadrantDiagram-ABIIQ3AL-Bt8r5TlW.js → quadrantDiagram-ABIIQ3AL-BFV2fyQY.js} +1 -1
  67. package/web/assets/{railroadDiagram-RFXS5EU6-DrWDVEVi.js → railroadDiagram-RFXS5EU6-Dxj8XtW1.js} +1 -1
  68. package/web/assets/{requirementDiagram-TGXJPOKE-Ewjwpo6V.js → requirementDiagram-TGXJPOKE-Drb3A2JL.js} +1 -1
  69. package/web/assets/{sankeyDiagram-HTMAVEWB-CJCMHuzX.js → sankeyDiagram-HTMAVEWB-DP7Lyg91.js} +1 -1
  70. package/web/assets/{selection-popup-532EHNCZ-py5aCy1E.js → selection-popup-532EHNCZ-C8EBNgOw.js} +1 -1
  71. package/web/assets/{sequenceDiagram-DBY2YBRQ-Chj-4L6Q.js → sequenceDiagram-DBY2YBRQ-6qzKd9e_.js} +1 -1
  72. package/web/assets/{sizeCapture-X5ZJPWSS-BguWhDIF.js → sizeCapture-X5ZJPWSS-DhCU_-w6.js} +1 -1
  73. package/web/assets/{stateDiagram-2N3HPSRC-BWisWMpK.js → stateDiagram-2N3HPSRC-C_BN15Uj.js} +1 -1
  74. package/web/assets/{stateDiagram-v2-6OUMAXLB-AiBXToz-.js → stateDiagram-v2-6OUMAXLB-DtNCoZjH.js} +1 -1
  75. package/web/assets/{swimlanes-5IMT3BWC-CxVQ97_C.js → swimlanes-5IMT3BWC-CW-FMmDB.js} +2 -2
  76. package/web/assets/swimlanesDiagram-G3AALYLV-Cak69Ty7.js +8 -0
  77. package/web/assets/{timeline-definition-FHXFAJF6-CCbI0InF.js → timeline-definition-FHXFAJF6-VX8Kq-Hg.js} +1 -1
  78. package/web/assets/{vennDiagram-L72KCM5P-mA5yKpJj.js → vennDiagram-L72KCM5P-DU3qCuRJ.js} +1 -1
  79. package/web/assets/{wardleyDiagram-EHGQE667-1Epw2EsU.js → wardleyDiagram-EHGQE667-CAA7wYyD.js} +1 -1
  80. package/web/assets/{xychartDiagram-FW5EYKEG-DM1CMD-p.js → xychartDiagram-FW5EYKEG-B-GbIjdQ.js} +1 -1
  81. package/web/index.html +2 -2
  82. package/README.md +0 -317
  83. package/web/assets/ask-tray-PMT6VVXN-HMPARq3A.js +0 -23
  84. package/web/assets/channel-CEZ4sDYU.js +0 -1
  85. package/web/assets/classDiagram-OUVF2IWQ-CjxqMQn2.js +0 -1
  86. package/web/assets/classDiagram-v2-EOCWNBFH-CjxqMQn2.js +0 -1
  87. package/web/assets/index-D_Fcgs3V.js +0 -451
  88. package/web/assets/swimlanesDiagram-G3AALYLV-DliPmGmf.js +0 -8
@@ -54,8 +54,8 @@ export async function dispatch(argv) {
54
54
  await viewer(['--static', ...args]);
55
55
  return;
56
56
  }
57
- if (command === 'share') {
58
- // Deliberate remote share (LAN default; --tailscale for outside the
57
+ if (command === 'share' || command === 'display') {
58
+ // Deliberate remote display (LAN default; --tailscale for outside the
59
59
  // house). Runs a second remote-scoped static server; the plain 5180
60
60
  // viewer stays loopback-only.
61
61
  const { share } = await import('../package/preview.js');
package/dist/cli/usage.js CHANGED
@@ -13,7 +13,7 @@ export function usage() {
13
13
  kennel open|o [folder] [--open] [--host <host>] [--port <port>] [--dry-run]
14
14
  knl <plugin-id|alias> [folder] [--item <id>] [--open] [--dry-run]
15
15
  kennel serve [folder] [--host <host>] [--port <port>] [--lan|--tailscale]
16
- kennel share [folder] [--lan|--tailscale] [--port <port>] [--dry-run]
16
+ kennel share|display [folder] [--lan|--tailscale] [--port <port>] [--dry-run]
17
17
  kennel dev [path] [--config <json-file>] [--port <port>] [--script <script>] [--dry-run] [-- <args...>]
18
18
  kennel extension install
19
19
  kennel mcp generate [path] [--config <json-file>] [--data-only|--function-only]
@@ -25,6 +25,12 @@ export function usage() {
25
25
  kennel deploy [path] [--config <json-file>] [legacy alias for publish]
26
26
  kennel dp [path] [--config <json-file>] [legacy alias for publish]
27
27
 
28
+ In a terminal, the viewer shows the folder name, repository name, and an action menu.
29
+ Use Up/Down to move and Enter to choose.
30
+ Shortcuts: o open, s share to mobile, q exit.
31
+ Esc or Ctrl+C also exits.
32
+ Without an interactive terminal, the viewer prints its URL without a menu.
33
+
28
34
  Installed plugin ids are commands, for example knl tasks or knl calendar.
29
35
  Plugins can declare extra aliases, for example knl mail for plugin id email.
30
36
  Use --item <id> for a plugin detail view. Built-in commands take priority.
@@ -5003,7 +5003,7 @@ var coreCollectionUiSchema = object({
5003
5003
  primaryField: string2(),
5004
5004
  secondaryField: string2().optional(),
5005
5005
  filters: array(string2()),
5006
- numericFilters: array(string2()),
5006
+ numericFilters: array(string2()).default([]),
5007
5007
  sort: array(coreCollectionSortSchema).optional()
5008
5008
  });
5009
5009
  var collectionSummarySchema = object({
@@ -5215,7 +5215,6 @@ var routes = {
5215
5215
  method: "get",
5216
5216
  query: emptyQuery,
5217
5217
  response: object({
5218
- acp: boolean2(),
5219
5218
  download: boolean2(),
5220
5219
  hostActions: _enum(["local", "none"]),
5221
5220
  local: boolean2(),
@@ -11,7 +11,7 @@ export async function core(args) {
11
11
  for (let index = 0; index < args.length; index++) {
12
12
  const arg = args[index];
13
13
  if (arg === "--help" || arg === "-h") {
14
- console.log("Usage: knl core [folder] [--port 5181] [--host 127.0.0.1] [--api-only] [--web-root dir]\nNon-loopback hosts restrict reads to folder and disable host actions/ACP.\n--web-root serves another host page (for example a desktop shell) instead of the web app.");
14
+ console.log("Usage: knl core [folder] [--port 5181] [--host 127.0.0.1] [--api-only] [--web-root dir]\nNon-loopback hosts restrict reads to folder and disable host actions.\n--web-root serves another host page (for example a desktop shell) instead of the web app.");
15
15
  return;
16
16
  }
17
17
  if (arg === "--api-only") {
@@ -20574,7 +20574,7 @@ var coreCollectionUiSchema = object({
20574
20574
  primaryField: string2(),
20575
20575
  secondaryField: string2().optional(),
20576
20576
  filters: array(string2()),
20577
- numericFilters: array(string2()),
20577
+ numericFilters: array(string2()).default([]),
20578
20578
  sort: array(coreCollectionSortSchema).optional()
20579
20579
  });
20580
20580
  var collectionSummarySchema = object({
@@ -20683,8 +20683,11 @@ import { BlockList, isIP } from "node:net";
20683
20683
  // packages/schemas/src/data/icon-image.ts
20684
20684
  import { constants } from "node:fs";
20685
20685
  import { open } from "node:fs/promises";
20686
- import sharp from "sharp";
20687
20686
  var maxIconBytes = 512 * 1024;
20687
+ var importRuntime = new Function("specifier", "return import(specifier)");
20688
+ async function loadSharp() {
20689
+ return (await importRuntime("sharp")).default;
20690
+ }
20688
20691
  async function readIconFile(path) {
20689
20692
  const file = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW).catch(() => {
20690
20693
  return;
@@ -20712,6 +20715,7 @@ async function normalizeIcon(data) {
20712
20715
  if (!data.length || data.length > maxIconBytes)
20713
20716
  return;
20714
20717
  try {
20718
+ const sharp = await loadSharp();
20715
20719
  const image = sharp(data, {
20716
20720
  limitInputPixels: 1024 * 1024,
20717
20721
  failOn: "warning"