terminal-pilot 0.0.19 → 0.0.21
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.js +1076 -496
- package/dist/cli.js.map +4 -4
- package/dist/commands/close-session.js.map +1 -1
- package/dist/commands/create-session.js.map +1 -1
- package/dist/commands/fill.js.map +1 -1
- package/dist/commands/get-session.js.map +1 -1
- package/dist/commands/index.js +481 -163
- package/dist/commands/index.js.map +4 -4
- package/dist/commands/install.js +448 -130
- package/dist/commands/install.js.map +4 -4
- package/dist/commands/installer.js +154 -60
- package/dist/commands/installer.js.map +4 -4
- package/dist/commands/list-sessions.js.map +1 -1
- package/dist/commands/press-key.js.map +1 -1
- package/dist/commands/read-history.js.map +1 -1
- package/dist/commands/read-screen.js.map +1 -1
- package/dist/commands/resize.js.map +1 -1
- package/dist/commands/runtime.js.map +1 -1
- package/dist/commands/screenshot.js.map +1 -1
- package/dist/commands/send-signal.js.map +1 -1
- package/dist/commands/type.js.map +1 -1
- package/dist/commands/uninstall.js +187 -93
- package/dist/commands/uninstall.js.map +4 -4
- package/dist/commands/wait-for-exit.js.map +1 -1
- package/dist/commands/wait-for.js.map +1 -1
- package/dist/testing/cli-repl.js +1072 -492
- package/dist/testing/cli-repl.js.map +4 -4
- package/dist/testing/qa-cli.js +1082 -502
- package/dist/testing/qa-cli.js.map +4 -4
- package/node_modules/@poe-code/agent-skill-config/README.md +103 -0
- package/node_modules/@poe-code/agent-skill-config/dist/apply.d.ts +25 -0
- package/node_modules/@poe-code/agent-skill-config/dist/apply.js +159 -0
- package/node_modules/@poe-code/agent-skill-config/dist/bridge-active-skills.d.ts +23 -0
- package/node_modules/@poe-code/agent-skill-config/dist/bridge-active-skills.js +341 -0
- package/node_modules/@poe-code/agent-skill-config/dist/configs.d.ts +16 -0
- package/node_modules/@poe-code/agent-skill-config/dist/configs.js +70 -0
- package/node_modules/@poe-code/agent-skill-config/dist/exports.compile-check.d.ts +1 -0
- package/node_modules/@poe-code/agent-skill-config/dist/exports.compile-check.js +1 -0
- package/node_modules/@poe-code/agent-skill-config/dist/git-exclude.d.ts +8 -0
- package/node_modules/@poe-code/agent-skill-config/dist/git-exclude.js +159 -0
- package/node_modules/@poe-code/agent-skill-config/dist/index.d.ts +11 -0
- package/node_modules/@poe-code/agent-skill-config/dist/index.js +6 -0
- package/node_modules/@poe-code/agent-skill-config/dist/resolve-skill-reference.d.ts +22 -0
- package/node_modules/@poe-code/agent-skill-config/dist/resolve-skill-reference.js +87 -0
- package/node_modules/@poe-code/agent-skill-config/dist/templates/poe-generate.md +47 -0
- package/node_modules/@poe-code/agent-skill-config/dist/templates/terminal-pilot.md +45 -0
- package/node_modules/@poe-code/agent-skill-config/dist/templates.d.ts +3 -0
- package/node_modules/@poe-code/agent-skill-config/dist/templates.js +63 -0
- package/node_modules/@poe-code/agent-skill-config/dist/types.d.ts +16 -0
- package/node_modules/@poe-code/agent-skill-config/dist/types.js +1 -0
- package/node_modules/@poe-code/agent-skill-config/package.json +24 -0
- package/package.json +4 -2
|
@@ -13,19 +13,19 @@ var UserError = class extends Error {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
// ../toolcraft/src/human-in-loop/config.ts
|
|
16
|
-
function validateHumanInLoopOnDefine(
|
|
17
|
-
const label = Array.isArray(
|
|
18
|
-
if (
|
|
19
|
-
throw new Error(`${label} '${
|
|
16
|
+
function validateHumanInLoopOnDefine(config2) {
|
|
17
|
+
const label = Array.isArray(config2.children) ? "group" : "command";
|
|
18
|
+
if (config2.confirm === true && config2.humanInLoop !== void 0 && config2.humanInLoop !== null) {
|
|
19
|
+
throw new Error(`${label} '${config2.name}': use either confirm or humanInLoop, not both`);
|
|
20
20
|
}
|
|
21
|
-
if (
|
|
21
|
+
if (config2.humanInLoop === void 0 || config2.humanInLoop === null) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
if (
|
|
25
|
-
throw new Error(`${label} '${
|
|
24
|
+
if (config2.humanInLoop.mode !== "sync" && config2.humanInLoop.mode !== "async") {
|
|
25
|
+
throw new Error(`${label} '${config2.name}': humanInLoop.mode must be "sync" or "async"`);
|
|
26
26
|
}
|
|
27
|
-
if (typeof
|
|
28
|
-
throw new Error(`${label} '${
|
|
27
|
+
if (typeof config2.humanInLoop.message !== "function") {
|
|
28
|
+
throw new Error(`${label} '${config2.name}': humanInLoop.message must be a function`);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
function mergeHumanInLoopFromGroup(groupHumanInLoop, childHumanInLoop) {
|
|
@@ -55,12 +55,12 @@ function assertValidBranches(branches, discriminator) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
function OneOf(
|
|
59
|
-
assertValidBranches(
|
|
58
|
+
function OneOf(config2) {
|
|
59
|
+
assertValidBranches(config2.branches, config2.discriminator);
|
|
60
60
|
return {
|
|
61
61
|
kind: "oneOf",
|
|
62
|
-
discriminator:
|
|
63
|
-
branches:
|
|
62
|
+
discriminator: config2.discriminator,
|
|
63
|
+
branches: config2.branches
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -340,28 +340,28 @@ function mergeSecrets(parent, child) {
|
|
|
340
340
|
function resolveCommandScope(ownScope, inheritedScope) {
|
|
341
341
|
return cloneScope(ownScope ?? inheritedScope) ?? ["cli", "sdk"];
|
|
342
342
|
}
|
|
343
|
-
function createBaseCommand(
|
|
343
|
+
function createBaseCommand(config2) {
|
|
344
344
|
const command = {
|
|
345
345
|
kind: "command",
|
|
346
|
-
name:
|
|
347
|
-
description:
|
|
348
|
-
aliases: [...
|
|
349
|
-
positional: [...
|
|
350
|
-
params:
|
|
351
|
-
secrets: cloneSecrets(
|
|
352
|
-
scope: resolveCommandScope(
|
|
353
|
-
confirm:
|
|
354
|
-
humanInLoop:
|
|
355
|
-
requires: cloneRequires(
|
|
356
|
-
handler:
|
|
357
|
-
render:
|
|
346
|
+
name: config2.name,
|
|
347
|
+
description: config2.description,
|
|
348
|
+
aliases: [...config2.aliases ?? []],
|
|
349
|
+
positional: [...config2.positional ?? []],
|
|
350
|
+
params: config2.params,
|
|
351
|
+
secrets: cloneSecrets(config2.secrets),
|
|
352
|
+
scope: resolveCommandScope(config2.scope, void 0),
|
|
353
|
+
confirm: config2.confirm ?? false,
|
|
354
|
+
humanInLoop: config2.humanInLoop,
|
|
355
|
+
requires: cloneRequires(config2.requires),
|
|
356
|
+
handler: config2.handler,
|
|
357
|
+
render: config2.render
|
|
358
358
|
};
|
|
359
359
|
Object.defineProperty(command, commandConfigSymbol, {
|
|
360
360
|
value: {
|
|
361
|
-
scope: cloneScope(
|
|
362
|
-
humanInLoop:
|
|
363
|
-
secrets: cloneSecrets(
|
|
364
|
-
requires: cloneRequires(
|
|
361
|
+
scope: cloneScope(config2.scope),
|
|
362
|
+
humanInLoop: config2.humanInLoop,
|
|
363
|
+
secrets: cloneSecrets(config2.secrets),
|
|
364
|
+
requires: cloneRequires(config2.requires),
|
|
365
365
|
sourcePath: inferCommandSourcePath()
|
|
366
366
|
}
|
|
367
367
|
});
|
|
@@ -401,10 +401,10 @@ function materializeCommand(command, inherited) {
|
|
|
401
401
|
});
|
|
402
402
|
return materialized;
|
|
403
403
|
}
|
|
404
|
-
function defineCommand(
|
|
405
|
-
validateHumanInLoopOnDefine(
|
|
404
|
+
function defineCommand(config2) {
|
|
405
|
+
validateHumanInLoopOnDefine(config2);
|
|
406
406
|
return materializeCommand(
|
|
407
|
-
createBaseCommand(
|
|
407
|
+
createBaseCommand(config2),
|
|
408
408
|
{
|
|
409
409
|
scope: void 0,
|
|
410
410
|
humanInLoop: void 0,
|
|
@@ -628,11 +628,11 @@ function resolveAgentSupport(input, registry = agentSkillConfigs) {
|
|
|
628
628
|
if (!resolvedId) {
|
|
629
629
|
return { status: "unknown", input };
|
|
630
630
|
}
|
|
631
|
-
const
|
|
632
|
-
if (!
|
|
631
|
+
const config2 = registry[resolvedId];
|
|
632
|
+
if (!config2) {
|
|
633
633
|
return { status: "unsupported", input, id: resolvedId };
|
|
634
634
|
}
|
|
635
|
-
return { status: "supported", input, id: resolvedId, config: { ...
|
|
635
|
+
return { status: "supported", input, id: resolvedId, config: { ...config2 } };
|
|
636
636
|
}
|
|
637
637
|
function getAgentConfig(agentId) {
|
|
638
638
|
const support = resolveAgentSupport(agentId);
|
|
@@ -642,7 +642,7 @@ function getAgentConfig(agentId) {
|
|
|
642
642
|
// ../config-mutations/src/execution/apply-mutation.ts
|
|
643
643
|
import path4 from "node:path";
|
|
644
644
|
|
|
645
|
-
// ../design
|
|
645
|
+
// ../toolcraft-design/src/internal/color-support.ts
|
|
646
646
|
function supportsColor(env = process.env, stream = process.stdout) {
|
|
647
647
|
if (env.FORCE_COLOR !== void 0 && env.FORCE_COLOR !== "0") {
|
|
648
648
|
return true;
|
|
@@ -656,7 +656,7 @@ function supportsColor(env = process.env, stream = process.stdout) {
|
|
|
656
656
|
return typeof env.TERM === "string" && env.TERM.length > 0 && env.TERM !== "dumb";
|
|
657
657
|
}
|
|
658
658
|
|
|
659
|
-
// ../design
|
|
659
|
+
// ../toolcraft-design/src/components/color.ts
|
|
660
660
|
var reset = "\x1B[0m";
|
|
661
661
|
var ansiStyles = {
|
|
662
662
|
reset: { open: reset },
|
|
@@ -758,41 +758,122 @@ function createColor(styles = []) {
|
|
|
758
758
|
}
|
|
759
759
|
var color = createColor();
|
|
760
760
|
|
|
761
|
-
// ../design
|
|
762
|
-
var
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
number: (text4) => color.cyanBright(text4),
|
|
767
|
-
intro: (text4) => color.bgMagenta.white(` Poe - ${text4} `),
|
|
768
|
-
resolvedSymbol: color.magenta("\u25C7"),
|
|
769
|
-
errorSymbol: color.red("\u25A0"),
|
|
770
|
-
accent: (text4) => color.cyan(text4),
|
|
771
|
-
muted: (text4) => color.dim(text4),
|
|
772
|
-
success: (text4) => color.green(text4),
|
|
773
|
-
warning: (text4) => color.yellow(text4),
|
|
774
|
-
error: (text4) => color.red(text4),
|
|
775
|
-
info: (text4) => color.magenta(text4),
|
|
776
|
-
badge: (text4) => color.bgYellow.black(` ${text4} `)
|
|
761
|
+
// ../toolcraft-design/src/tokens/brand.ts
|
|
762
|
+
var brands = {
|
|
763
|
+
purple: { name: "purple", primary: "#a200ff" },
|
|
764
|
+
blue: { name: "blue", primary: "#2f6fed" },
|
|
765
|
+
green: { name: "green", primary: "#1f9d57" }
|
|
777
766
|
};
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
intro: (text4) => color.bgHex("#a200ff").white(` Poe - ${text4} `),
|
|
784
|
-
resolvedSymbol: color.hex("#a200ff")("\u25C7"),
|
|
785
|
-
errorSymbol: color.hex("#cc0000")("\u25A0"),
|
|
786
|
-
accent: (text4) => color.hex("#006699").bold(text4),
|
|
787
|
-
muted: (text4) => color.hex("#666666")(text4),
|
|
788
|
-
success: (text4) => color.hex("#008800")(text4),
|
|
789
|
-
warning: (text4) => color.hex("#cc6600")(text4),
|
|
790
|
-
error: (text4) => color.hex("#cc0000")(text4),
|
|
791
|
-
info: (text4) => color.hex("#a200ff")(text4),
|
|
792
|
-
badge: (text4) => color.bgHex("#cc6600").white(` ${text4} `)
|
|
767
|
+
|
|
768
|
+
// ../toolcraft-design/src/internal/theme-state.ts
|
|
769
|
+
var defaults = {
|
|
770
|
+
brand: "purple",
|
|
771
|
+
label: "Poe"
|
|
793
772
|
};
|
|
773
|
+
var config = { ...defaults };
|
|
774
|
+
var revision = 0;
|
|
775
|
+
var brandConfigured = false;
|
|
776
|
+
function getThemeConfig() {
|
|
777
|
+
return { ...config };
|
|
778
|
+
}
|
|
779
|
+
function getThemeRevision() {
|
|
780
|
+
return revision;
|
|
781
|
+
}
|
|
782
|
+
function isThemeBrandConfigured() {
|
|
783
|
+
return brandConfigured;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
// ../toolcraft-design/src/tokens/colors.ts
|
|
787
|
+
var brand = brands.purple.primary;
|
|
788
|
+
function withStyles(palette, styles) {
|
|
789
|
+
return Object.defineProperty(palette, "styles", {
|
|
790
|
+
value: styles,
|
|
791
|
+
enumerable: false
|
|
792
|
+
});
|
|
793
|
+
}
|
|
794
|
+
function brandColor(activeBrand, purple) {
|
|
795
|
+
return activeBrand.name === "purple" ? purple : color.hex(activeBrand.primary);
|
|
796
|
+
}
|
|
797
|
+
function brandBackground(activeBrand, purple) {
|
|
798
|
+
return activeBrand.name === "purple" ? purple : color.bgHex(activeBrand.primary);
|
|
799
|
+
}
|
|
800
|
+
function createPalette(activeBrand, mode) {
|
|
801
|
+
const isPurple = activeBrand.name === "purple";
|
|
802
|
+
if (mode === "light") {
|
|
803
|
+
const active2 = color.hex(activeBrand.primary);
|
|
804
|
+
const prompt2 = isPurple ? color.hex("#006699") : active2;
|
|
805
|
+
const number2 = isPurple ? color.hex("#0077cc") : active2;
|
|
806
|
+
return withStyles(
|
|
807
|
+
{
|
|
808
|
+
header: (text4) => active2.bold(text4),
|
|
809
|
+
divider: (text4) => color.hex("#666666")(text4),
|
|
810
|
+
prompt: (text4) => prompt2.bold(text4),
|
|
811
|
+
number: (text4) => number2.bold(text4),
|
|
812
|
+
intro: (text4) => color.bgHex(activeBrand.primary).white(` ${getThemeConfig().label} - ${text4} `),
|
|
813
|
+
get resolvedSymbol() {
|
|
814
|
+
return active2("\u25C7");
|
|
815
|
+
},
|
|
816
|
+
get errorSymbol() {
|
|
817
|
+
return color.hex("#cc0000")("\u25A0");
|
|
818
|
+
},
|
|
819
|
+
accent: (text4) => prompt2.bold(text4),
|
|
820
|
+
muted: (text4) => color.hex("#666666")(text4),
|
|
821
|
+
success: (text4) => color.hex("#008800")(text4),
|
|
822
|
+
warning: (text4) => color.hex("#cc6600")(text4),
|
|
823
|
+
error: (text4) => color.hex("#cc0000")(text4),
|
|
824
|
+
info: (text4) => active2(text4),
|
|
825
|
+
badge: (text4) => color.bgHex("#cc6600").white(` ${text4} `)
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
accent: { fg: isPurple ? "#006699" : activeBrand.primary, bold: true },
|
|
829
|
+
muted: { fg: "#666666" },
|
|
830
|
+
success: { fg: "#008800" },
|
|
831
|
+
warning: { fg: "#cc6600" },
|
|
832
|
+
error: { fg: "#cc0000" },
|
|
833
|
+
info: { fg: activeBrand.primary }
|
|
834
|
+
}
|
|
835
|
+
);
|
|
836
|
+
}
|
|
837
|
+
const active = brandColor(activeBrand, color.magenta);
|
|
838
|
+
const activeBright = brandColor(activeBrand, color.magentaBright);
|
|
839
|
+
const activeBackground = brandBackground(activeBrand, color.bgMagenta);
|
|
840
|
+
const prompt = isPurple ? color.cyan : active;
|
|
841
|
+
const number = isPurple ? color.cyanBright : active;
|
|
842
|
+
return withStyles(
|
|
843
|
+
{
|
|
844
|
+
header: (text4) => activeBright.bold(text4),
|
|
845
|
+
divider: (text4) => color.dim(text4),
|
|
846
|
+
prompt: (text4) => prompt(text4),
|
|
847
|
+
number: (text4) => number(text4),
|
|
848
|
+
intro: (text4) => activeBackground.white(` ${getThemeConfig().label} - ${text4} `),
|
|
849
|
+
get resolvedSymbol() {
|
|
850
|
+
return active("\u25C7");
|
|
851
|
+
},
|
|
852
|
+
get errorSymbol() {
|
|
853
|
+
return color.red("\u25A0");
|
|
854
|
+
},
|
|
855
|
+
accent: (text4) => prompt(text4),
|
|
856
|
+
muted: (text4) => color.dim(text4),
|
|
857
|
+
success: (text4) => color.green(text4),
|
|
858
|
+
warning: (text4) => color.yellow(text4),
|
|
859
|
+
error: (text4) => color.red(text4),
|
|
860
|
+
info: (text4) => active(text4),
|
|
861
|
+
badge: (text4) => color.bgYellow.black(` ${text4} `)
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
accent: { fg: isPurple ? "cyan" : activeBrand.primary, bold: true },
|
|
865
|
+
muted: { dim: true },
|
|
866
|
+
success: { fg: "green" },
|
|
867
|
+
warning: { fg: "yellow" },
|
|
868
|
+
error: { fg: "red" },
|
|
869
|
+
info: { fg: isPurple ? "magenta" : activeBrand.primary }
|
|
870
|
+
}
|
|
871
|
+
);
|
|
872
|
+
}
|
|
873
|
+
var dark = createPalette(brands.purple, "dark");
|
|
874
|
+
var light = createPalette(brands.purple, "light");
|
|
794
875
|
|
|
795
|
-
// ../design
|
|
876
|
+
// ../toolcraft-design/src/internal/output-format.ts
|
|
796
877
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
797
878
|
var VALID_FORMATS = /* @__PURE__ */ new Set(["terminal", "markdown", "json"]);
|
|
798
879
|
var formatStorage = new AsyncLocalStorage();
|
|
@@ -810,7 +891,7 @@ function resolveOutputFormat(env = process.env) {
|
|
|
810
891
|
return cached;
|
|
811
892
|
}
|
|
812
893
|
|
|
813
|
-
// ../design
|
|
894
|
+
// ../toolcraft-design/src/internal/theme-detect.ts
|
|
814
895
|
function detectThemeFromEnv(env) {
|
|
815
896
|
const apple = env.APPLE_INTERFACE_STYLE;
|
|
816
897
|
if (typeof apple === "string") {
|
|
@@ -847,17 +928,30 @@ function resolveThemeName(env = process.env) {
|
|
|
847
928
|
}
|
|
848
929
|
return "dark";
|
|
849
930
|
}
|
|
850
|
-
var
|
|
931
|
+
var themeCache = /* @__PURE__ */ new Map();
|
|
932
|
+
var cachedRevision = -1;
|
|
851
933
|
function getTheme(env) {
|
|
934
|
+
const themeName = resolveThemeName(env);
|
|
935
|
+
const config2 = getThemeConfig();
|
|
936
|
+
const requestedBrand = env?.POE_BRAND?.toLowerCase();
|
|
937
|
+
const activeBrandName = !isThemeBrandConfigured() && requestedBrand && Object.hasOwn(brands, requestedBrand) ? requestedBrand : config2.brand;
|
|
938
|
+
const revision2 = getThemeRevision();
|
|
939
|
+
if (revision2 !== cachedRevision) {
|
|
940
|
+
themeCache.clear();
|
|
941
|
+
cachedRevision = revision2;
|
|
942
|
+
}
|
|
943
|
+
const cacheKey = `${activeBrandName}:${themeName}`;
|
|
944
|
+
const cachedTheme = themeCache.get(cacheKey);
|
|
852
945
|
if (cachedTheme) {
|
|
853
946
|
return cachedTheme;
|
|
854
947
|
}
|
|
855
|
-
const
|
|
856
|
-
|
|
857
|
-
|
|
948
|
+
const activeBrand = brands[activeBrandName];
|
|
949
|
+
const theme = activeBrandName === "purple" ? themeName === "light" ? light : dark : createPalette(activeBrand, themeName);
|
|
950
|
+
themeCache.set(cacheKey, theme);
|
|
951
|
+
return theme;
|
|
858
952
|
}
|
|
859
953
|
|
|
860
|
-
// ../design
|
|
954
|
+
// ../toolcraft-design/src/components/symbols.ts
|
|
861
955
|
var symbols = {
|
|
862
956
|
get info() {
|
|
863
957
|
const format = resolveOutputFormat();
|
|
@@ -911,12 +1005,12 @@ var symbols = {
|
|
|
911
1005
|
}
|
|
912
1006
|
};
|
|
913
1007
|
|
|
914
|
-
// ../design
|
|
1008
|
+
// ../toolcraft-design/src/internal/strip-ansi.ts
|
|
915
1009
|
function stripAnsi(value) {
|
|
916
1010
|
return value.replace(/\u001b\[[0-9;]*m/g, "");
|
|
917
1011
|
}
|
|
918
1012
|
|
|
919
|
-
// ../design
|
|
1013
|
+
// ../toolcraft-design/src/prompts/primitives/log.ts
|
|
920
1014
|
function renderMarkdownInline(value) {
|
|
921
1015
|
return stripAnsi(value).replaceAll("\r\n", " ").replaceAll("\n", " ").replaceAll("\r", " ");
|
|
922
1016
|
}
|
|
@@ -1043,7 +1137,7 @@ var log = {
|
|
|
1043
1137
|
error
|
|
1044
1138
|
};
|
|
1045
1139
|
|
|
1046
|
-
// ../design
|
|
1140
|
+
// ../toolcraft-design/src/components/logger.ts
|
|
1047
1141
|
function createLogger(emitter) {
|
|
1048
1142
|
const emit = (level, message2) => {
|
|
1049
1143
|
if (emitter) {
|
|
@@ -1104,28 +1198,28 @@ function createLogger(emitter) {
|
|
|
1104
1198
|
}
|
|
1105
1199
|
var logger = createLogger();
|
|
1106
1200
|
|
|
1107
|
-
// ../design
|
|
1201
|
+
// ../toolcraft-design/src/components/help-formatter.ts
|
|
1108
1202
|
var graphemeSegmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
1109
1203
|
|
|
1110
|
-
// ../design
|
|
1204
|
+
// ../toolcraft-design/src/components/table.ts
|
|
1111
1205
|
var graphemeSegmenter2 = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
1112
1206
|
|
|
1113
|
-
// ../design
|
|
1207
|
+
// ../toolcraft-design/src/components/browser.ts
|
|
1114
1208
|
import { spawn } from "node:child_process";
|
|
1115
1209
|
import process2 from "node:process";
|
|
1116
1210
|
|
|
1117
|
-
// ../design
|
|
1211
|
+
// ../toolcraft-design/src/acp/writer.ts
|
|
1118
1212
|
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
1119
1213
|
var storage = new AsyncLocalStorage2();
|
|
1120
1214
|
|
|
1121
|
-
// ../design
|
|
1215
|
+
// ../toolcraft-design/src/dashboard/terminal-width.ts
|
|
1122
1216
|
var graphemeSegmenter3 = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
1123
1217
|
|
|
1124
|
-
// ../design
|
|
1218
|
+
// ../toolcraft-design/src/dashboard/terminal.ts
|
|
1125
1219
|
import readline from "node:readline";
|
|
1126
1220
|
import { PassThrough } from "node:stream";
|
|
1127
1221
|
|
|
1128
|
-
// ../design
|
|
1222
|
+
// ../toolcraft-design/src/explorer/state.ts
|
|
1129
1223
|
var REGION_HEADER = 1 << 0;
|
|
1130
1224
|
var REGION_LIST = 1 << 1;
|
|
1131
1225
|
var REGION_DETAIL = 1 << 2;
|
|
@@ -1134,13 +1228,13 @@ var REGION_MODAL = 1 << 4;
|
|
|
1134
1228
|
var REGION_TOAST = 1 << 5;
|
|
1135
1229
|
var REGION_ALL = REGION_HEADER | REGION_LIST | REGION_DETAIL | REGION_FOOTER | REGION_MODAL | REGION_TOAST;
|
|
1136
1230
|
|
|
1137
|
-
// ../design
|
|
1231
|
+
// ../toolcraft-design/src/prompts/index.ts
|
|
1138
1232
|
import * as clack from "@clack/prompts";
|
|
1139
1233
|
|
|
1140
|
-
// ../design
|
|
1234
|
+
// ../toolcraft-design/src/prompts/primitives/cancel.ts
|
|
1141
1235
|
import { isCancel } from "@clack/prompts";
|
|
1142
1236
|
|
|
1143
|
-
// ../design
|
|
1237
|
+
// ../toolcraft-design/src/static/spinner.ts
|
|
1144
1238
|
var SPINNER_FRAMES = Object.freeze(["\u25D2", "\u25D0", "\u25D3", "\u25D1"]);
|
|
1145
1239
|
|
|
1146
1240
|
// ../config-mutations/src/formats/json.ts
|
|
@@ -1209,17 +1303,17 @@ function resolveHomeRelativePath(targetPath, homeDir) {
|
|
|
1209
1303
|
return targetPath;
|
|
1210
1304
|
}
|
|
1211
1305
|
function getSkillFolderWithHome(agent, scope, cwd, homeDir) {
|
|
1212
|
-
const
|
|
1213
|
-
if (!
|
|
1306
|
+
const config2 = getAgentConfig(agent);
|
|
1307
|
+
if (!config2) {
|
|
1214
1308
|
throwUnsupportedAgent(agent);
|
|
1215
1309
|
}
|
|
1216
1310
|
return {
|
|
1217
1311
|
displayPath: path9.join(
|
|
1218
|
-
scope === "global" ?
|
|
1312
|
+
scope === "global" ? config2.globalSkillDir : config2.localSkillDir,
|
|
1219
1313
|
TERMINAL_PILOT_SKILL_NAME
|
|
1220
1314
|
),
|
|
1221
1315
|
fullPath: path9.join(
|
|
1222
|
-
scope === "global" ? resolveHomeRelativePath(
|
|
1316
|
+
scope === "global" ? resolveHomeRelativePath(config2.globalSkillDir, homeDir) : path9.resolve(cwd, config2.localSkillDir),
|
|
1223
1317
|
TERMINAL_PILOT_SKILL_NAME
|
|
1224
1318
|
)
|
|
1225
1319
|
};
|