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.
- package/dist/cli/dispatch.js +2 -2
- package/dist/cli/usage.js +7 -1
- package/dist/core/api-client.js +1 -2
- package/dist/core/command.js +1 -1
- package/dist/core/core-folders.js +6 -2
- package/dist/core/runtime.js +30 -4657
- package/dist/mcp/install-page.d.ts +1 -1
- package/dist/mcp/install-page.js +419 -4
- package/dist/package/preview.d.ts +4 -0
- package/dist/package/preview.js +790 -4990
- package/dist/site/hot-viewer.js +1 -1
- package/dist/site/kinds.d.ts +1 -1
- package/dist/site/kinds.js +2 -59
- package/dist/site/terminal.d.ts +9 -1
- package/dist/site/terminal.js +162 -20
- package/package.json +5 -5
- package/web/assets/{abnfDiagram-VRR7QNED-aRemVX7f.js → abnfDiagram-VRR7QNED-CIyEzNaJ.js} +1 -1
- package/web/assets/{arc-BpDsnNTf.js → arc-Dba3y3eW.js} +1 -1
- package/web/assets/{architectureDiagram-ZJ3FMSHR-DNXHQddP.js → architectureDiagram-ZJ3FMSHR-DjFjO3tR.js} +1 -1
- package/web/assets/ask-tray-PMT6VVXN-ButKBzsY.js +23 -0
- package/web/assets/{blockDiagram-677ZJIJ3-CF4H4upo.js → blockDiagram-677ZJIJ3-C8ZQgtnK.js} +1 -1
- package/web/assets/{c4Diagram-LMCZKHZV-BPWUnjtx.js → c4Diagram-LMCZKHZV-DhWn2tZm.js} +1 -1
- package/web/assets/channel-BuqSObVl.js +1 -0
- package/web/assets/{chunk-2Q5K7J3B-DGsa7uv7.js → chunk-2Q5K7J3B-BEkPxYAB.js} +1 -1
- package/web/assets/{chunk-32BRIVSS-BRfic3W2.js → chunk-32BRIVSS-BZ0ofM9m.js} +1 -1
- package/web/assets/{chunk-5VM5RSS4-L2h7hliu.js → chunk-5VM5RSS4-CTgBiom0.js} +1 -1
- package/web/assets/{chunk-EX3LRPZG-BPgD_fgx.js → chunk-EX3LRPZG-B7lDJEfz.js} +1 -1
- package/web/assets/{chunk-JWPE2WC7-CckCaqu_.js → chunk-JWPE2WC7-DotlQGla.js} +1 -1
- package/web/assets/{chunk-MOJQB5TN-zyGgx-VW.js → chunk-MOJQB5TN-BSlB5ICN.js} +1 -1
- package/web/assets/{chunk-RYQCIY6F-Drzpg5IG.js → chunk-RYQCIY6F-BbDvgRvj.js} +1 -1
- package/web/assets/{chunk-V7JOEXUC-Di4ESKz-.js → chunk-V7JOEXUC-CqC2yHBO.js} +1 -1
- package/web/assets/{chunk-VR4S4FIN-C5lQtDI1.js → chunk-VR4S4FIN-18aLOCVw.js} +1 -1
- package/web/assets/{chunk-XXDRQBXY-Cell0ft2.js → chunk-XXDRQBXY-uulB67ep.js} +1 -1
- package/web/assets/classDiagram-OUVF2IWQ-xfk1LZB_.js +1 -0
- package/web/assets/classDiagram-v2-EOCWNBFH-xfk1LZB_.js +1 -0
- package/web/assets/{cose-bilkent-JH36ORCC-CiKtOFxl.js → cose-bilkent-JH36ORCC-C8yqL7ml.js} +1 -1
- package/web/assets/{cynefin-VYW2F7L2-B75MWf5b.js → cynefin-VYW2F7L2-D-wd85t1.js} +1 -1
- package/web/assets/{cynefinDiagram-TSTJHNR4-BmNVkSWW.js → cynefinDiagram-TSTJHNR4-rrV6rLov.js} +1 -1
- package/web/assets/{dagre-VKFMJZFB-BcM1Wqu5.js → dagre-VKFMJZFB-BxwiLhMr.js} +1 -1
- package/web/assets/{diagram-FQU43EPY-BiBWrxa8.js → diagram-FQU43EPY-8sr7lcj4.js} +1 -1
- package/web/assets/{diagram-G47NLZAW-Cfxukr7T.js → diagram-G47NLZAW-BQIU_Mie.js} +1 -1
- package/web/assets/{diagram-NH7WQ7WH-C83VkBYW.js → diagram-NH7WQ7WH-Bt-xVbVq.js} +1 -1
- package/web/assets/{diagram-OA4YK3LP-Oj0uj6CX.js → diagram-OA4YK3LP-p-i-3cps.js} +1 -1
- package/web/assets/{diagram-WEI45ONY-DhbL0nvt.js → diagram-WEI45ONY-E6t6-_mU.js} +1 -1
- package/web/assets/{ebnfDiagram-CCIWWBDH-D4JYp1UC.js → ebnfDiagram-CCIWWBDH-DCszfyU3.js} +1 -1
- package/web/assets/{entity-search-page-G6QEQNXT-UKzUU5id.js → entity-search-page-G6QEQNXT-D6cvoqrF.js} +1 -1
- package/web/assets/{erDiagram-Q63AITRT-C-oyRt9s.js → erDiagram-Q63AITRT-C4gBewIM.js} +1 -1
- package/web/assets/{flowDiagram-23GEKE2U-0Tplj9FK.js → flowDiagram-23GEKE2U-BEyFAV-g.js} +1 -1
- package/web/assets/{ganttDiagram-NO4QXBWP-wgh2e0B_.js → ganttDiagram-NO4QXBWP-Bat5BF2x.js} +1 -1
- package/web/assets/{gitGraphDiagram-IHSO6WYX-D6z9qDXa.js → gitGraphDiagram-IHSO6WYX-CGZs8b5E.js} +1 -1
- package/web/assets/index-DmJQJIC1.js +451 -0
- package/web/assets/{index-BGwTWQMJ.css → index-tpV2etC4.css} +1 -1
- package/web/assets/{infoDiagram-FWYZ7A6U-D3o7el5X.js → infoDiagram-FWYZ7A6U-Cglwuazb.js} +1 -1
- package/web/assets/{ishikawaDiagram-FXEZZL3T-CM0QyWYH.js → ishikawaDiagram-FXEZZL3T-C95-Gz9z.js} +1 -1
- package/web/assets/{journeyDiagram-5HDEW3XC-fmIoh0h6.js → journeyDiagram-5HDEW3XC-C055Trr6.js} +1 -1
- package/web/assets/{kanban-definition-HUTT4EX6-aEtqsiWf.js → kanban-definition-HUTT4EX6-CznSv3_t.js} +1 -1
- package/web/assets/{linear-aJ-2UZO5.js → linear-CnWGyi6E.js} +1 -1
- package/web/assets/{linked-session-header-M7WY6IGF-CltMJZiX.js → linked-session-header-M7WY6IGF-BFioq_q7.js} +1 -1
- package/web/assets/{mermaid.core-CL9g6xVu.js → mermaid.core-BIJiZKob.js} +4 -4
- package/web/assets/{mindmap-definition-LN4V7U3C-CtQo0XrW.js → mindmap-definition-LN4V7U3C-k97sTi1e.js} +1 -1
- package/web/assets/{pegDiagram-2B236MQR-ecu1L_3A.js → pegDiagram-2B236MQR-C-4ETzyd.js} +1 -1
- package/web/assets/{pieDiagram-ENE6RG2P-CdCKg3Cn.js → pieDiagram-ENE6RG2P-CH8gYIx3.js} +1 -1
- package/web/assets/{plugin-host-modules-Dz_BPJRS.js → plugin-host-modules-BI0aGGBk.js} +2 -2
- package/web/assets/{project-search-dialog-HJFGW4DG-CKtXc-UP.js → project-search-dialog-HJFGW4DG-DC6mBFkm.js} +1 -1
- package/web/assets/{project-search-page-NKQEBGPF-CMzuYEeM.js → project-search-page-NKQEBGPF-B0OxN-l5.js} +1 -1
- package/web/assets/{quadrantDiagram-ABIIQ3AL-Bt8r5TlW.js → quadrantDiagram-ABIIQ3AL-BFV2fyQY.js} +1 -1
- package/web/assets/{railroadDiagram-RFXS5EU6-DrWDVEVi.js → railroadDiagram-RFXS5EU6-Dxj8XtW1.js} +1 -1
- package/web/assets/{requirementDiagram-TGXJPOKE-Ewjwpo6V.js → requirementDiagram-TGXJPOKE-Drb3A2JL.js} +1 -1
- package/web/assets/{sankeyDiagram-HTMAVEWB-CJCMHuzX.js → sankeyDiagram-HTMAVEWB-DP7Lyg91.js} +1 -1
- package/web/assets/{selection-popup-532EHNCZ-py5aCy1E.js → selection-popup-532EHNCZ-C8EBNgOw.js} +1 -1
- package/web/assets/{sequenceDiagram-DBY2YBRQ-Chj-4L6Q.js → sequenceDiagram-DBY2YBRQ-6qzKd9e_.js} +1 -1
- package/web/assets/{sizeCapture-X5ZJPWSS-BguWhDIF.js → sizeCapture-X5ZJPWSS-DhCU_-w6.js} +1 -1
- package/web/assets/{stateDiagram-2N3HPSRC-BWisWMpK.js → stateDiagram-2N3HPSRC-C_BN15Uj.js} +1 -1
- package/web/assets/{stateDiagram-v2-6OUMAXLB-AiBXToz-.js → stateDiagram-v2-6OUMAXLB-DtNCoZjH.js} +1 -1
- package/web/assets/{swimlanes-5IMT3BWC-CxVQ97_C.js → swimlanes-5IMT3BWC-CW-FMmDB.js} +2 -2
- package/web/assets/swimlanesDiagram-G3AALYLV-Cak69Ty7.js +8 -0
- package/web/assets/{timeline-definition-FHXFAJF6-CCbI0InF.js → timeline-definition-FHXFAJF6-VX8Kq-Hg.js} +1 -1
- package/web/assets/{vennDiagram-L72KCM5P-mA5yKpJj.js → vennDiagram-L72KCM5P-DU3qCuRJ.js} +1 -1
- package/web/assets/{wardleyDiagram-EHGQE667-1Epw2EsU.js → wardleyDiagram-EHGQE667-CAA7wYyD.js} +1 -1
- package/web/assets/{xychartDiagram-FW5EYKEG-DM1CMD-p.js → xychartDiagram-FW5EYKEG-B-GbIjdQ.js} +1 -1
- package/web/index.html +2 -2
- package/README.md +0 -317
- package/web/assets/ask-tray-PMT6VVXN-HMPARq3A.js +0 -23
- package/web/assets/channel-CEZ4sDYU.js +0 -1
- package/web/assets/classDiagram-OUVF2IWQ-CjxqMQn2.js +0 -1
- package/web/assets/classDiagram-v2-EOCWNBFH-CjxqMQn2.js +0 -1
- package/web/assets/index-D_Fcgs3V.js +0 -451
- package/web/assets/swimlanesDiagram-G3AALYLV-DliPmGmf.js +0 -8
package/dist/cli/dispatch.js
CHANGED
|
@@ -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
|
|
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.
|
package/dist/core/api-client.js
CHANGED
|
@@ -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(),
|
package/dist/core/command.js
CHANGED
|
@@ -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
|
|
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"
|