seatmesh 0.1.8 → 0.1.10
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/banner.d.ts +9 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +113 -0
- package/dist/banner.js.map +1 -0
- package/dist/checkback-cli.d.ts.map +1 -1
- package/dist/checkback-cli.js +79 -29
- package/dist/checkback-cli.js.map +1 -1
- package/dist/discovery-report.d.ts +3 -1
- package/dist/discovery-report.d.ts.map +1 -1
- package/dist/discovery-report.js +14 -57
- package/dist/discovery-report.js.map +1 -1
- package/dist/logo-art.d.ts +4 -0
- package/dist/logo-art.d.ts.map +1 -0
- package/dist/logo-art.js +134 -0
- package/dist/logo-art.js.map +1 -0
- package/dist/logo-cli.d.ts +3 -0
- package/dist/logo-cli.d.ts.map +1 -0
- package/dist/logo-cli.js +30 -0
- package/dist/logo-cli.js.map +1 -0
- package/dist/logo-color.d.ts +16 -0
- package/dist/logo-color.d.ts.map +1 -0
- package/dist/logo-color.js +65 -0
- package/dist/logo-color.js.map +1 -0
- package/dist/main.js +106 -4
- package/dist/main.js.map +1 -1
- package/dist/program-help.d.ts +3 -0
- package/dist/program-help.d.ts.map +1 -0
- package/dist/program-help.js +23 -0
- package/dist/program-help.js.map +1 -0
- package/dist/sessions-cli.d.ts +11 -0
- package/dist/sessions-cli.d.ts.map +1 -0
- package/dist/sessions-cli.js +178 -0
- package/dist/sessions-cli.js.map +1 -0
- package/dist/status-report.d.ts.map +1 -1
- package/dist/status-report.js +11 -42
- package/dist/status-report.js.map +1 -1
- package/package.json +9 -6
package/dist/banner.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const SEATMESH_TAGLINE = "tmux multi-agent workbench";
|
|
2
|
+
export type BannerOpts = {
|
|
3
|
+
subtitle?: string;
|
|
4
|
+
/** Shown centered under the title block (default text: SEATMESH_TAGLINE). */
|
|
5
|
+
tagline?: boolean | string;
|
|
6
|
+
};
|
|
7
|
+
/** Brand header: logo + title + optional centered tagline. */
|
|
8
|
+
export declare function printSeatmeshBanner(opts?: string | BannerOpts): void;
|
|
9
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAgB7D,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B,CAAC;AA0EF,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAyCpE"}
|
package/dist/banner.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import boxen from "boxen";
|
|
2
|
+
import cfonts from "cfonts";
|
|
3
|
+
import { renderLogoMark } from "./logo-art.js";
|
|
4
|
+
import { terminalStyleEnabled, tintBrandBlueGradient } from "./logo-color.js";
|
|
5
|
+
export const SEATMESH_TAGLINE = "tmux multi-agent workbench";
|
|
6
|
+
const TITLE_FONT = "block";
|
|
7
|
+
function stripAnsi(text) {
|
|
8
|
+
return text.replace(/\x1b\[[0-9;]*m/g, "");
|
|
9
|
+
}
|
|
10
|
+
function renderCfonts(text, opts) {
|
|
11
|
+
const out = cfonts.render(text, {
|
|
12
|
+
align: "left",
|
|
13
|
+
letterSpacing: 1,
|
|
14
|
+
lineHeight: 1,
|
|
15
|
+
maxLength: "0",
|
|
16
|
+
env: "node",
|
|
17
|
+
background: "transparent",
|
|
18
|
+
spaceless: true,
|
|
19
|
+
...opts,
|
|
20
|
+
});
|
|
21
|
+
if (!out)
|
|
22
|
+
return text;
|
|
23
|
+
return out.string.trimEnd();
|
|
24
|
+
}
|
|
25
|
+
function visibleWidth(line) {
|
|
26
|
+
return stripAnsi(line).length;
|
|
27
|
+
}
|
|
28
|
+
function blockWidth(block) {
|
|
29
|
+
if (!block)
|
|
30
|
+
return 0;
|
|
31
|
+
return Math.max(0, ...block.split("\n").map(visibleWidth));
|
|
32
|
+
}
|
|
33
|
+
function centerBlock(block, width) {
|
|
34
|
+
if (!block)
|
|
35
|
+
return "";
|
|
36
|
+
const lines = block.split("\n");
|
|
37
|
+
const blockW = blockWidth(block);
|
|
38
|
+
const left = Math.max(0, Math.floor((width - blockW) / 2));
|
|
39
|
+
const prefix = " ".repeat(left);
|
|
40
|
+
return lines.map((line) => prefix + line).join("\n");
|
|
41
|
+
}
|
|
42
|
+
function centerPlain(text, width) {
|
|
43
|
+
const left = Math.max(0, Math.floor((width - text.length) / 2));
|
|
44
|
+
return `${" ".repeat(left)}${text}`;
|
|
45
|
+
}
|
|
46
|
+
function dim(text) {
|
|
47
|
+
if (!terminalStyleEnabled())
|
|
48
|
+
return text;
|
|
49
|
+
return `\x1b[2m${text}\x1b[0m`;
|
|
50
|
+
}
|
|
51
|
+
function frameSubtitle(subtitle) {
|
|
52
|
+
return boxen(subtitle, {
|
|
53
|
+
padding: { top: 0, bottom: 0, left: 1, right: 1 },
|
|
54
|
+
margin: { top: 1, bottom: 0, left: 0, right: 0 },
|
|
55
|
+
borderStyle: "round",
|
|
56
|
+
dimBorder: true,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function renderTitleRaw() {
|
|
60
|
+
return renderCfonts("seatmesh", {
|
|
61
|
+
font: TITLE_FONT,
|
|
62
|
+
lineHeight: 0,
|
|
63
|
+
gradient: false,
|
|
64
|
+
colors: terminalStyleEnabled() ? ["white"] : [],
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function resolveBannerOpts(opts) {
|
|
68
|
+
if (typeof opts === "string")
|
|
69
|
+
return { subtitle: opts };
|
|
70
|
+
return opts ?? {};
|
|
71
|
+
}
|
|
72
|
+
/** Brand header: logo + title + optional centered tagline. */
|
|
73
|
+
export function printSeatmeshBanner(opts) {
|
|
74
|
+
const { subtitle, tagline: taglineOpt } = resolveBannerOpts(opts);
|
|
75
|
+
const tagline = taglineOpt === true
|
|
76
|
+
? SEATMESH_TAGLINE
|
|
77
|
+
: typeof taglineOpt === "string"
|
|
78
|
+
? taglineOpt
|
|
79
|
+
: undefined;
|
|
80
|
+
const logoRaw = renderLogoMark();
|
|
81
|
+
const titleRaw = stripAnsi(renderTitleRaw());
|
|
82
|
+
const titleWidth = blockWidth(titleRaw);
|
|
83
|
+
let logoOut = "";
|
|
84
|
+
let titleOut = titleRaw;
|
|
85
|
+
if (terminalStyleEnabled()) {
|
|
86
|
+
const stack = logoRaw ? `${logoRaw}\n\n${titleRaw}` : titleRaw;
|
|
87
|
+
const colored = tintBrandBlueGradient(stack);
|
|
88
|
+
const lines = colored.split("\n");
|
|
89
|
+
if (logoRaw) {
|
|
90
|
+
const logoLines = logoRaw.split("\n").length;
|
|
91
|
+
logoOut = centerBlock(lines.slice(0, logoLines).join("\n"), titleWidth);
|
|
92
|
+
titleOut = lines.slice(logoLines + 1).join("\n");
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
titleOut = colored;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (logoRaw) {
|
|
99
|
+
logoOut = centerBlock(logoRaw, titleWidth);
|
|
100
|
+
}
|
|
101
|
+
if (logoOut) {
|
|
102
|
+
console.log(logoOut);
|
|
103
|
+
console.log("");
|
|
104
|
+
}
|
|
105
|
+
console.log(titleOut);
|
|
106
|
+
if (tagline) {
|
|
107
|
+
console.log(dim(centerPlain(tagline, titleWidth)));
|
|
108
|
+
}
|
|
109
|
+
if (subtitle)
|
|
110
|
+
console.log(frameSubtitle(subtitle));
|
|
111
|
+
console.log("");
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAsB7D,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAgB;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,IAAI;QACf,GAAG,IAAI;KACR,CAAsB,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,KAAK,CAAC,QAAQ,EAAE;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QAChD,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,YAAY,CAAC,UAAU,EAAE;QAC9B,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA0B;IACnD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,OAAO,GACX,UAAU,KAAK,IAAI;QACjB,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ;YAC9B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,QAAQ,CAAC;IAExB,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC7C,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YACxE,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,OAAO,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkback-cli.d.ts","sourceRoot":"","sources":["../src/checkback-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"checkback-cli.d.ts","sourceRoot":"","sources":["../src/checkback-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,KAAK,aAAa,EAQnB,MAAM,iBAAiB,CAAC;AAkDzB,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,aAAa,GAAG,OAAO,CAwH9E"}
|
package/dist/checkback-cli.js
CHANGED
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import { armCheckback, cancelAllCheckbacks, cancelCheckback, chatRoomConfigForLoaded, listCheckbacks, } from "@seat-mesh/core";
|
|
3
|
-
import { ensureMeshInbox, runWhoami } from "@seat-mesh/tmux";
|
|
4
|
-
function
|
|
5
|
-
if (
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { armCheckback, cancelAllCheckbacks, cancelCheckback, chatRoomConfigForLoaded, listCheckbacks, parseDurationToSeconds, } from "@seat-mesh/core";
|
|
3
|
+
import { ensureMeshInbox, meshInboxPort, resolvePaneTarget, runWhoami, } from "@seat-mesh/tmux";
|
|
4
|
+
function requireMeshInbox(loaded) {
|
|
5
|
+
if (ensureMeshInbox(loaded, { quiet: true }))
|
|
6
|
+
return;
|
|
7
|
+
const port = meshInboxPort(loaded);
|
|
8
|
+
console.error(`FAIL: mesh inbox down on :${port} — run: ./sm.sh inbox restart`);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
function resolveTargetPane(loaded, opts) {
|
|
12
|
+
if (opts.pane) {
|
|
13
|
+
const hit = resolvePaneTarget(opts.pane, loaded);
|
|
14
|
+
if ("error" in hit)
|
|
15
|
+
throw new Error(hit.error);
|
|
16
|
+
return hit.paneId;
|
|
17
|
+
}
|
|
18
|
+
if (opts.mini) {
|
|
19
|
+
const hit = resolvePaneTarget(`mini-${opts.mini}`, loaded);
|
|
20
|
+
if ("error" in hit)
|
|
21
|
+
throw new Error(hit.error);
|
|
22
|
+
return hit.paneId;
|
|
23
|
+
}
|
|
24
|
+
if (opts.slot) {
|
|
25
|
+
const hit = resolvePaneTarget(opts.slot, loaded);
|
|
26
|
+
if ("error" in hit)
|
|
27
|
+
throw new Error(hit.error);
|
|
28
|
+
return hit.paneId;
|
|
29
|
+
}
|
|
30
|
+
if (opts.here || !opts.pane) {
|
|
31
|
+
const hit = resolvePaneTarget("here", loaded);
|
|
32
|
+
if ("error" in hit)
|
|
33
|
+
throw new Error(hit.error);
|
|
34
|
+
return hit.paneId;
|
|
35
|
+
}
|
|
36
|
+
throw new Error("checkback start: no target pane (--here|--slot N|--mini N|--pane %id)");
|
|
10
37
|
}
|
|
11
38
|
function printEntry(e) {
|
|
12
39
|
const left = e.expiresAt ? `exp=${e.expiresAt}` : "exp=n/a";
|
|
@@ -16,33 +43,56 @@ function printEntry(e) {
|
|
|
16
43
|
export function buildCheckbackCommands(getLoaded) {
|
|
17
44
|
const checkback = new Command("checkback")
|
|
18
45
|
.alias("patience")
|
|
19
|
-
.description("Mesh inbox
|
|
46
|
+
.description("Mesh inbox poll-later (daemon injects Check: on expiry)");
|
|
20
47
|
checkback
|
|
21
|
-
.command("start")
|
|
22
|
-
.description(
|
|
23
|
-
.
|
|
24
|
-
.option("--
|
|
25
|
-
.option("--
|
|
26
|
-
.option("--
|
|
27
|
-
.option("--
|
|
28
|
-
.option("--
|
|
29
|
-
.
|
|
48
|
+
.command("start <duration>")
|
|
49
|
+
.description('Arm checkback — harness shape: start 5m --expect "topic" [--renew 3m] [--here|--slot N|--mini N]')
|
|
50
|
+
.option("--expect <text>", "what to verify when timer fires")
|
|
51
|
+
.option("--renew <dur>", "re-arm interval after fire", "3m")
|
|
52
|
+
.option("--here", "target current tmux pane")
|
|
53
|
+
.option("--slot <n>", "target worker slot pane")
|
|
54
|
+
.option("--mini <n>", "target mini pane")
|
|
55
|
+
.option("--pane <id>", "target tmux pane id")
|
|
56
|
+
.option("--kind <kind>", "entry kind", "checkback")
|
|
57
|
+
.allowExcessArguments(true)
|
|
58
|
+
.action(async (duration, opts, cmd) => {
|
|
30
59
|
const loaded = getLoaded();
|
|
60
|
+
requireMeshInbox(loaded);
|
|
31
61
|
const cfg = chatRoomConfigForLoaded(loaded);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
62
|
+
if (parseDurationToSeconds(duration) == null) {
|
|
63
|
+
console.error(`checkback start: bad duration '${duration}' (use 30s, 5m, 1h)`);
|
|
64
|
+
process.exit(2);
|
|
65
|
+
}
|
|
66
|
+
const trailing = cmd.args.slice(1).filter(Boolean);
|
|
67
|
+
let expect = opts.expect?.trim() ?? "";
|
|
68
|
+
if (!expect && trailing.length) {
|
|
69
|
+
expect = trailing.join(" ").trim();
|
|
70
|
+
}
|
|
71
|
+
if (!expect) {
|
|
72
|
+
console.error('usage: checkback start <duration> --expect "topic" [--renew 3m] [--here|--slot N|--mini N]');
|
|
36
73
|
process.exit(2);
|
|
37
74
|
}
|
|
75
|
+
let ownerPane;
|
|
76
|
+
try {
|
|
77
|
+
ownerPane = resolveTargetPane(loaded, {
|
|
78
|
+
here: opts.here,
|
|
79
|
+
slot: opts.slot,
|
|
80
|
+
mini: opts.mini,
|
|
81
|
+
pane: opts.pane,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
console.error(e.message);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
38
88
|
const res = await armCheckback({
|
|
39
89
|
inboxBase: cfg.inboxBase,
|
|
40
90
|
ownerPane,
|
|
41
|
-
expect
|
|
42
|
-
duration
|
|
91
|
+
expect,
|
|
92
|
+
duration,
|
|
43
93
|
renew: opts.renew,
|
|
44
94
|
kind: opts.kind,
|
|
45
|
-
senderPane: ownerPane,
|
|
95
|
+
senderPane: runWhoami(loaded).paneId ?? ownerPane,
|
|
46
96
|
});
|
|
47
97
|
if (!res.ok) {
|
|
48
98
|
console.error(`checkback start: FAIL ${res.reason ?? "?"}`);
|
|
@@ -53,7 +103,7 @@ export function buildCheckbackCommands(getLoaded) {
|
|
|
53
103
|
console.error("checkback start: FAIL no entry returned");
|
|
54
104
|
process.exit(1);
|
|
55
105
|
}
|
|
56
|
-
console.log(`ok id=${entry.id} expiresAt=${entry.expiresAt ?? "-"} expect=${
|
|
106
|
+
console.log(`ok id=${entry.id} expiresAt=${entry.expiresAt ?? "-"} expect=${expect}`);
|
|
57
107
|
});
|
|
58
108
|
checkback
|
|
59
109
|
.command("list")
|
|
@@ -63,8 +113,8 @@ export function buildCheckbackCommands(getLoaded) {
|
|
|
63
113
|
.option("--json", "raw JSON")
|
|
64
114
|
.action(async (opts) => {
|
|
65
115
|
const loaded = getLoaded();
|
|
116
|
+
requireMeshInbox(loaded);
|
|
66
117
|
const cfg = chatRoomConfigForLoaded(loaded);
|
|
67
|
-
ensureMeshInbox(loaded, { quiet: true });
|
|
68
118
|
const out = await listCheckbacks(cfg.inboxBase, { all: opts.all });
|
|
69
119
|
if (opts.json) {
|
|
70
120
|
console.log(JSON.stringify(out, null, 2));
|
|
@@ -83,8 +133,8 @@ export function buildCheckbackCommands(getLoaded) {
|
|
|
83
133
|
.argument("<id>", "checkback id or prefix")
|
|
84
134
|
.action(async (id) => {
|
|
85
135
|
const loaded = getLoaded();
|
|
136
|
+
requireMeshInbox(loaded);
|
|
86
137
|
const cfg = chatRoomConfigForLoaded(loaded);
|
|
87
|
-
ensureMeshInbox(loaded, { quiet: true });
|
|
88
138
|
const res = await cancelCheckback(cfg.inboxBase, id);
|
|
89
139
|
console.log(`ok cancelled=${res.cancelled}`);
|
|
90
140
|
});
|
|
@@ -93,8 +143,8 @@ export function buildCheckbackCommands(getLoaded) {
|
|
|
93
143
|
.description("Cancel every active checkback (mesh inbox poll-later)")
|
|
94
144
|
.action(async () => {
|
|
95
145
|
const loaded = getLoaded();
|
|
146
|
+
requireMeshInbox(loaded);
|
|
96
147
|
const cfg = chatRoomConfigForLoaded(loaded);
|
|
97
|
-
ensureMeshInbox(loaded, { quiet: true });
|
|
98
148
|
const res = await cancelAllCheckbacks(cfg.inboxBase);
|
|
99
149
|
console.log(`ok cancelled=${res.cancelled}`);
|
|
100
150
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkback-cli.js","sourceRoot":"","sources":["../src/checkback-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"checkback-cli.js","sourceRoot":"","sources":["../src/checkback-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,SAAS,GACV,MAAM,iBAAiB,CAAC;AAEzB,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAE,OAAO;IACrD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,+BAA+B,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,IAAqE;IAErE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,OAAO,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,UAAU,CAAC,CAAiB;IACnC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAC/G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAA8B;IACnE,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;SACvC,KAAK,CAAC,UAAU,CAAC;SACjB,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAE1E,SAAS;SACN,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CACV,kGAAkG,CACnG;SACA,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;SAC/C,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC;SACxC,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC;SAClD,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,sBAAsB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,kCAAkC,QAAQ,qBAAqB,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAI,GAAG,CAAC,IAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,MAAM,GAAI,IAAI,CAAC,MAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CACX,4FAA4F,CAC7F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,IAAI,CAAC,IAA2B;gBACtC,IAAI,EAAE,IAAI,CAAC,IAA0B;gBACrC,IAAI,EAAE,IAAI,CAAC,IAA0B;gBACrC,IAAI,EAAE,IAAI,CAAC,IAA0B;aACtC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC;YAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS;YACT,MAAM;YACN,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,KAAe;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAc;YACzB,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,SAAS;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAI,GAAG,CAAC,QAAmD,EAAE,KAAK,CAAC;QAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,EAAE,cAAc,KAAK,CAAC,SAAS,IAAI,GAAG,WAAW,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;YAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,SAAS;SACN,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { SEATMESH_TAGLINE } from "./banner.js";
|
|
2
|
+
export { SEATMESH_TAGLINE };
|
|
1
3
|
export interface DiscoveryReportOptions {
|
|
2
4
|
cwd?: string;
|
|
3
5
|
json?: boolean;
|
|
@@ -8,6 +10,6 @@ export interface DiscoveryReport {
|
|
|
8
10
|
hasProject: boolean;
|
|
9
11
|
projectConfig: string | null;
|
|
10
12
|
}
|
|
11
|
-
/** Greenfield / no `.sm/` — no profile load
|
|
13
|
+
/** Greenfield / no `.sm/` — no profile load. */
|
|
12
14
|
export declare function printDiscoveryReport(opts?: DiscoveryReportOptions): Promise<DiscoveryReport>;
|
|
13
15
|
//# sourceMappingURL=discovery-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-report.d.ts","sourceRoot":"","sources":["../src/discovery-report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discovery-report.d.ts","sourceRoot":"","sources":["../src/discovery-report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAO5B,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAID,gDAAgD;AAChD,wBAAsB,oBAAoB,CACxC,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,eAAe,CAAC,CAoC1B"}
|
package/dist/discovery-report.js
CHANGED
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { findDotSmConfig
|
|
3
|
+
import { findDotSmConfig } from "@seat-mesh/core";
|
|
4
|
+
import { printSeatmeshBanner, SEATMESH_TAGLINE } from "./banner.js";
|
|
5
|
+
import { terminalBold } from "./logo-color.js";
|
|
6
|
+
export { SEATMESH_TAGLINE };
|
|
4
7
|
function which(bin) {
|
|
5
8
|
const r = spawnSync("sh", ["-c", `command -v ${bin}`], { encoding: "utf8" });
|
|
6
9
|
return r.status === 0;
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (r.status !== 0)
|
|
11
|
-
return null;
|
|
12
|
-
return (r.stdout ?? "").trim() || null;
|
|
13
|
-
}
|
|
14
|
-
const COMMANDS = [
|
|
15
|
-
{ cmd: "init", note: "create .sm/ project config in this folder" },
|
|
16
|
-
{ cmd: "session up", note: "start tmux workbench (after init)" },
|
|
17
|
-
{ cmd: "session attach", note: "attach to running session" },
|
|
18
|
-
{ cmd: "whoami", note: "pane identity (inside tmux)" },
|
|
19
|
-
{ cmd: "verify", note: "layout + labels health" },
|
|
20
|
-
{ cmd: "inbox", note: "inbox daemon status" },
|
|
21
|
-
{ cmd: "contexts", note: "seat FOCUS summary" },
|
|
22
|
-
{ cmd: "help", note: "full command list" },
|
|
23
|
-
];
|
|
24
|
-
/** Greenfield / no `.sm/` — no profile load, no bundled minimal fallback. */
|
|
11
|
+
const COMMANDS = ["init", "sessions", "session up", "session attach", "help"];
|
|
12
|
+
/** Greenfield / no `.sm/` — no profile load. */
|
|
25
13
|
export async function printDiscoveryReport(opts = {}) {
|
|
26
14
|
const cwd = path.resolve(opts.cwd ?? process.cwd());
|
|
27
15
|
const projectConfig = findDotSmConfig(cwd);
|
|
28
16
|
const hasProject = projectConfig != null;
|
|
29
17
|
const tmuxOk = which("tmux");
|
|
30
18
|
const curlOk = which("curl");
|
|
31
|
-
const npmOk = which("npm");
|
|
32
19
|
const report = {
|
|
33
20
|
ok: hasProject || (tmuxOk && curlOk),
|
|
34
21
|
cwd,
|
|
@@ -36,50 +23,20 @@ export async function printDiscoveryReport(opts = {}) {
|
|
|
36
23
|
projectConfig,
|
|
37
24
|
};
|
|
38
25
|
if (opts.json) {
|
|
39
|
-
console.log(JSON.stringify({
|
|
40
|
-
...report,
|
|
41
|
-
prereqs: { node: process.version, tmux: tmuxOk, curl: curlOk, npm: npmOk },
|
|
42
|
-
commands: COMMANDS,
|
|
43
|
-
}, null, 2));
|
|
26
|
+
console.log(JSON.stringify({ ...report, tagline: SEATMESH_TAGLINE, commands: COMMANDS }, null, 2));
|
|
44
27
|
return report;
|
|
45
28
|
}
|
|
46
|
-
|
|
47
|
-
console.log("## This folder");
|
|
48
|
-
console.log(`cwd=${cwd}`);
|
|
29
|
+
printSeatmeshBanner({ tagline: true });
|
|
49
30
|
if (hasProject) {
|
|
50
|
-
console.log(
|
|
51
|
-
console.log("next: npx seatmesh (full stack status)");
|
|
52
|
-
console.log(" npx seatmesh session attach");
|
|
31
|
+
console.log(terminalBold("npx seatmesh"));
|
|
53
32
|
}
|
|
54
33
|
else {
|
|
55
|
-
console.log(
|
|
56
|
-
console.log("
|
|
57
|
-
}
|
|
58
|
-
console.log("\n## Prerequisites");
|
|
59
|
-
console.log(`PASS node: ${process.version}`);
|
|
60
|
-
console.log(`${npmOk ? "PASS" : "WARN"} npm: ${npmOk ? "ok" : "missing (needed for init cold-start)"}`);
|
|
61
|
-
console.log(`${tmuxOk ? "PASS" : "FAIL"} tmux: ${tmuxOk ? (tmuxVersion() ?? "ok") : "not in PATH (required for sessions)"}`);
|
|
62
|
-
console.log(`${curlOk ? "PASS" : "FAIL"} curl: ${curlOk ? "ok" : "missing (inbox health checks)"}`);
|
|
63
|
-
console.log(`${which("git") ? "PASS" : "WARN"} git: ${which("git") ? "ok" : "optional"}`);
|
|
64
|
-
for (const [label, bin] of [
|
|
65
|
-
["cursor-agent", "agent"],
|
|
66
|
-
["claude", "claude"],
|
|
67
|
-
["kiro", "kiro"],
|
|
68
|
-
["opencode", "opencode"],
|
|
69
|
-
]) {
|
|
70
|
-
const ok = which(bin);
|
|
71
|
-
console.log(`${ok ? "PASS" : "WARN"} cli:${label}: ${ok ? "in PATH" : "not found"}`);
|
|
72
|
-
}
|
|
73
|
-
console.log("\n## Commands (after init)");
|
|
74
|
-
for (const { cmd, note } of COMMANDS) {
|
|
75
|
-
console.log(` ${cmd.padEnd(16)} ${note}`);
|
|
76
|
-
}
|
|
77
|
-
console.log("\n## Note");
|
|
78
|
-
console.log("seatmesh is a tmux multi-agent workbench (terminal UI), not a fullscreen TUI.");
|
|
79
|
-
console.log("Bare `npx seatmesh` = this checklist; `npx seatmesh init` starts a project.");
|
|
80
|
-
if (!hasProject) {
|
|
81
|
-
console.log("\nHint: run npx seatmesh init in this folder, then npx seatmesh session up");
|
|
34
|
+
console.log("seatmesh is not initialized on this project");
|
|
35
|
+
console.log(terminalBold("npx seatmesh init"));
|
|
82
36
|
}
|
|
37
|
+
console.log("");
|
|
38
|
+
for (const cmd of COMMANDS)
|
|
39
|
+
console.log(` ${cmd}`);
|
|
83
40
|
return report;
|
|
84
41
|
}
|
|
85
42
|
//# sourceMappingURL=discovery-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-report.js","sourceRoot":"","sources":["../src/discovery-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"discovery-report.js","sourceRoot":"","sources":["../src/discovery-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,SAAS,KAAK,CAAC,GAAW;IACxB,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxB,CAAC;AAcD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE9E,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,aAAa,IAAI,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAoB;QAC9B,EAAE,EAAE,UAAU,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACpC,GAAG;QACH,UAAU;QACV,aAAa;KACd,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-art.d.ts","sourceRoot":"","sources":["../src/logo-art.ts"],"names":[],"mappings":"AAAA,6EAA6E;AA2I7E,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,MAAM,CAIvC"}
|
package/dist/logo-art.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/** Shipped seatmesh banner mark (3-4: subtle round, 41×17, 4-layer ░▒▓█). */
|
|
2
|
+
const SHADES = [" ", "░", "▒", "▓", "█"];
|
|
3
|
+
const W = 41;
|
|
4
|
+
const H = 17;
|
|
5
|
+
const THICKNESS = 4;
|
|
6
|
+
const R_APEX = 2.5;
|
|
7
|
+
const R_BASE = 0.25;
|
|
8
|
+
const BASE_BAND_ROWS = 3;
|
|
9
|
+
function useUnicodeBlocks() {
|
|
10
|
+
return process.env.SEATMESH_ASCII_LOGO !== "1";
|
|
11
|
+
}
|
|
12
|
+
function emptyGrid(w, h) {
|
|
13
|
+
return Array.from({ length: h }, () => Array.from({ length: w }, () => " "));
|
|
14
|
+
}
|
|
15
|
+
function insideTriangle(x, y, w, h) {
|
|
16
|
+
const cx = (w - 1) / 2;
|
|
17
|
+
const hw = h <= 1 ? 0 : ((w - 1) / 2) * (y / (h - 1));
|
|
18
|
+
return y >= 0 && y < h && x >= cx - hw - 0.001 && x <= cx + hw + 0.001;
|
|
19
|
+
}
|
|
20
|
+
function edgeDistance(x, y, w, h) {
|
|
21
|
+
const cx = (w - 1) / 2;
|
|
22
|
+
const hw = h <= 1 ? 0 : ((w - 1) / 2) * (y / (h - 1));
|
|
23
|
+
const left = cx - hw;
|
|
24
|
+
const right = cx + hw;
|
|
25
|
+
return Math.min(x - left, right - x, h - 1 - y);
|
|
26
|
+
}
|
|
27
|
+
function clamp01(t) {
|
|
28
|
+
return Math.max(0, Math.min(1, t));
|
|
29
|
+
}
|
|
30
|
+
function sharpTriangleSdf(x, y, w, h) {
|
|
31
|
+
const p0x = (w - 1) / 2;
|
|
32
|
+
const p0y = 0;
|
|
33
|
+
const p1x = 0;
|
|
34
|
+
const p1y = h - 1;
|
|
35
|
+
const p2x = w - 1;
|
|
36
|
+
const p2y = h - 1;
|
|
37
|
+
const e0x = p2x - p1x;
|
|
38
|
+
const e0y = p2y - p1y;
|
|
39
|
+
const e1x = p0x - p2x;
|
|
40
|
+
const e1y = p0y - p2y;
|
|
41
|
+
const e2x = p1x - p0x;
|
|
42
|
+
const e2y = p1y - p0y;
|
|
43
|
+
const v0x = x - p0x;
|
|
44
|
+
const v0y = y - p0y;
|
|
45
|
+
const v1x = x - p1x;
|
|
46
|
+
const v1y = y - p1y;
|
|
47
|
+
const v2x = x - p2x;
|
|
48
|
+
const v2y = y - p2y;
|
|
49
|
+
const dot = (ax, ay, bx, by) => ax * bx + ay * by;
|
|
50
|
+
const dot00 = dot(e0x, e0y, e0x, e0y);
|
|
51
|
+
const dot11 = dot(e1x, e1y, e1x, e1y);
|
|
52
|
+
const dot22 = dot(e2x, e2y, e2x, e2y);
|
|
53
|
+
const pq0x = v1x - e0x * clamp01(dot(v1x, v1y, e0x, e0y) / (dot00 || 1));
|
|
54
|
+
const pq0y = v1y - e0y * clamp01(dot(v1x, v1y, e0x, e0y) / (dot00 || 1));
|
|
55
|
+
const pq1x = v2x - e1x * clamp01(dot(v2x, v2y, e1x, e1y) / (dot11 || 1));
|
|
56
|
+
const pq1y = v2y - e1y * clamp01(dot(v2x, v2y, e1x, e1y) / (dot11 || 1));
|
|
57
|
+
const pq2x = v0x - e2x * clamp01(dot(v0x, v0y, e2x, e2y) / (dot22 || 1));
|
|
58
|
+
const pq2y = v0y - e2y * clamp01(dot(v0x, v0y, e2x, e2y) / (dot22 || 1));
|
|
59
|
+
const s = Math.sign(e0x * e2y - e0y * e2x) || 1;
|
|
60
|
+
const d0 = dot(pq0x, pq0y, pq0x, pq0y);
|
|
61
|
+
const d1 = dot(pq1x, pq1y, pq1x, pq1y);
|
|
62
|
+
const d2 = dot(pq2x, pq2y, pq2x, pq2y);
|
|
63
|
+
const c0 = s * (v1x * e0y - v1y * e0x);
|
|
64
|
+
const c1 = s * (v2x * e1y - v2y * e1x);
|
|
65
|
+
const c2 = s * (v0x * e2y - v0y * e2x);
|
|
66
|
+
let distSq = d0;
|
|
67
|
+
let side = c0;
|
|
68
|
+
if (d1 < distSq) {
|
|
69
|
+
distSq = d1;
|
|
70
|
+
side = c1;
|
|
71
|
+
}
|
|
72
|
+
if (d2 < distSq) {
|
|
73
|
+
distSq = d2;
|
|
74
|
+
side = c2;
|
|
75
|
+
}
|
|
76
|
+
return Math.sqrt(distSq) * (side < 0 ? -1 : 1);
|
|
77
|
+
}
|
|
78
|
+
function filletRadiusAt(y, h, rApex, rBase) {
|
|
79
|
+
const t = h <= 1 ? 0 : y / (h - 1);
|
|
80
|
+
if (t >= 0.88)
|
|
81
|
+
return rBase;
|
|
82
|
+
const fade = Math.pow(1 - t / 0.88, 1.2);
|
|
83
|
+
return rBase + (rApex - rBase) * fade;
|
|
84
|
+
}
|
|
85
|
+
function renderAsciiFallback() {
|
|
86
|
+
const grid = emptyGrid(W, H);
|
|
87
|
+
for (let y = 0; y < H; y++) {
|
|
88
|
+
for (let x = 0; x < W; x++) {
|
|
89
|
+
if (!insideTriangle(x, y, W, H))
|
|
90
|
+
continue;
|
|
91
|
+
if (edgeDistance(x, y, W, H) < THICKNESS)
|
|
92
|
+
grid[y][x] = "#";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return grid.map((row) => row.join("")).join("\n");
|
|
96
|
+
}
|
|
97
|
+
function renderShippedMark() {
|
|
98
|
+
if (!useUnicodeBlocks())
|
|
99
|
+
return renderAsciiFallback();
|
|
100
|
+
const grid = emptyGrid(W, H);
|
|
101
|
+
for (let y = 0; y < H; y++) {
|
|
102
|
+
for (let x = 0; x < W; x++) {
|
|
103
|
+
const px = x + 0.5;
|
|
104
|
+
const py = y + 0.5;
|
|
105
|
+
let depth;
|
|
106
|
+
if (y >= H - BASE_BAND_ROWS) {
|
|
107
|
+
if (!insideTriangle(x, y, W, H))
|
|
108
|
+
continue;
|
|
109
|
+
depth = edgeDistance(x, y, W, H);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
const sdf = sharpTriangleSdf(px, py, W, H);
|
|
113
|
+
const r = filletRadiusAt(py, H, R_APEX, R_BASE);
|
|
114
|
+
if (sdf > -r)
|
|
115
|
+
continue;
|
|
116
|
+
depth = -r - sdf;
|
|
117
|
+
}
|
|
118
|
+
if (depth >= THICKNESS)
|
|
119
|
+
continue;
|
|
120
|
+
const layer = THICKNESS - 1 - Math.floor(depth);
|
|
121
|
+
const idx = Math.min(SHADES.length - 1, 1 + layer);
|
|
122
|
+
grid[y][x] = SHADES[idx];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return grid.map((row) => row.join("")).join("\n");
|
|
126
|
+
}
|
|
127
|
+
/** Banner triangle; hidden when SEATMESH_LOGO=none|off. */
|
|
128
|
+
export function renderLogoMark() {
|
|
129
|
+
const key = process.env.SEATMESH_LOGO?.trim().toLowerCase();
|
|
130
|
+
if (key === "none" || key === "off")
|
|
131
|
+
return "";
|
|
132
|
+
return renderShippedMark();
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=logo-art.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-art.js","sourceRoot":"","sources":["../src/logo-art.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-cli.d.ts","sourceRoot":"","sources":["../src/logo-cli.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,IAAI,IAAI,CAiBrC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAOvD"}
|