dev3000 0.0.185 → 0.0.187

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 (237) hide show
  1. package/README.md +102 -13
  2. package/bin/dev3000 +1 -2
  3. package/dist/cdp-monitor.d.ts +7 -12
  4. package/dist/cdp-monitor.d.ts.map +1 -1
  5. package/dist/cdp-monitor.js +86 -170
  6. package/dist/cdp-monitor.js.map +1 -1
  7. package/dist/cli.d.ts +1 -2
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +1 -1369
  10. package/dist/cli.js.map +1 -1
  11. package/dist/index.d.ts +1 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +0 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/portless.d.ts +10 -0
  16. package/dist/portless.d.ts.map +1 -1
  17. package/dist/portless.js +44 -1
  18. package/dist/portless.js.map +1 -1
  19. package/dist/runtime/bridge.d.ts +26 -0
  20. package/dist/runtime/bridge.d.ts.map +1 -0
  21. package/dist/runtime/bridge.js +340 -0
  22. package/dist/runtime/bridge.js.map +1 -0
  23. package/dist/runtime/chrome-isolation.d.ts +16 -0
  24. package/dist/runtime/chrome-isolation.d.ts.map +1 -0
  25. package/dist/runtime/chrome-isolation.js +97 -0
  26. package/dist/runtime/chrome-isolation.js.map +1 -0
  27. package/dist/runtime/cli.js +116 -26
  28. package/dist/runtime/cli.js.map +1 -1
  29. package/dist/runtime/event-views.d.ts +21 -0
  30. package/dist/runtime/event-views.d.ts.map +1 -0
  31. package/dist/runtime/event-views.js +53 -0
  32. package/dist/runtime/event-views.js.map +1 -0
  33. package/dist/runtime/harness.d.ts +16 -0
  34. package/dist/runtime/harness.d.ts.map +1 -0
  35. package/dist/runtime/harness.js +68 -0
  36. package/dist/runtime/harness.js.map +1 -0
  37. package/dist/runtime/local-proxy.d.ts +12 -0
  38. package/dist/runtime/local-proxy.d.ts.map +1 -0
  39. package/dist/runtime/local-proxy.js +114 -0
  40. package/dist/runtime/local-proxy.js.map +1 -0
  41. package/dist/runtime/runtime.d.ts +14 -0
  42. package/dist/runtime/runtime.d.ts.map +1 -1
  43. package/dist/runtime/runtime.js +82 -21
  44. package/dist/runtime/runtime.js.map +1 -1
  45. package/dist/runtime/sandbox-agent.d.ts +6 -0
  46. package/dist/runtime/sandbox-agent.d.ts.map +1 -0
  47. package/dist/runtime/sandbox-agent.js +35 -0
  48. package/dist/runtime/sandbox-agent.js.map +1 -0
  49. package/dist/runtime/sandbox-command.d.ts +9 -0
  50. package/dist/runtime/sandbox-command.d.ts.map +1 -0
  51. package/dist/runtime/sandbox-command.js +101 -0
  52. package/dist/runtime/sandbox-command.js.map +1 -0
  53. package/dist/runtime/sandbox-proxy.d.ts +11 -0
  54. package/dist/runtime/sandbox-proxy.d.ts.map +1 -0
  55. package/dist/runtime/sandbox-proxy.js +123 -0
  56. package/dist/runtime/sandbox-proxy.js.map +1 -0
  57. package/dist/runtime/sandbox-sessions.d.ts +31 -0
  58. package/dist/runtime/sandbox-sessions.d.ts.map +1 -0
  59. package/dist/runtime/sandbox-sessions.js +102 -0
  60. package/dist/runtime/sandbox-sessions.js.map +1 -0
  61. package/dist/runtime/sandbox.d.ts +21 -0
  62. package/dist/runtime/sandbox.d.ts.map +1 -0
  63. package/dist/runtime/sandbox.js +481 -0
  64. package/dist/runtime/sandbox.js.map +1 -0
  65. package/dist/utils/agent-browser.d.ts +2 -120
  66. package/dist/utils/agent-browser.d.ts.map +1 -1
  67. package/dist/utils/agent-browser.js +13 -376
  68. package/dist/utils/agent-browser.js.map +1 -1
  69. package/dist/utils/project-name.d.ts +11 -1
  70. package/dist/utils/project-name.d.ts.map +1 -1
  71. package/dist/utils/project-name.js +14 -1
  72. package/dist/utils/project-name.js.map +1 -1
  73. package/package.json +13 -22
  74. package/skills/d3k/SKILL.md +23 -1
  75. package/dist/commands/crawl.d.ts +0 -12
  76. package/dist/commands/crawl.d.ts.map +0 -1
  77. package/dist/commands/crawl.js +0 -101
  78. package/dist/commands/crawl.js.map +0 -1
  79. package/dist/commands/errors.d.ts +0 -14
  80. package/dist/commands/errors.d.ts.map +0 -1
  81. package/dist/commands/errors.js +0 -246
  82. package/dist/commands/errors.js.map +0 -1
  83. package/dist/commands/fix.d.ts +0 -13
  84. package/dist/commands/fix.d.ts.map +0 -1
  85. package/dist/commands/fix.js +0 -219
  86. package/dist/commands/fix.js.map +0 -1
  87. package/dist/commands/logs.d.ts +0 -13
  88. package/dist/commands/logs.d.ts.map +0 -1
  89. package/dist/commands/logs.js +0 -146
  90. package/dist/commands/logs.js.map +0 -1
  91. package/dist/commands/resume.d.ts +0 -11
  92. package/dist/commands/resume.d.ts.map +0 -1
  93. package/dist/commands/resume.js +0 -75
  94. package/dist/commands/resume.js.map +0 -1
  95. package/dist/commands/status.d.ts +0 -21
  96. package/dist/commands/status.d.ts.map +0 -1
  97. package/dist/commands/status.js +0 -44
  98. package/dist/commands/status.js.map +0 -1
  99. package/dist/components/AgentSelector.d.ts +0 -12
  100. package/dist/components/AgentSelector.d.ts.map +0 -1
  101. package/dist/components/AgentSelector.js +0 -99
  102. package/dist/components/AgentSelector.js.map +0 -1
  103. package/dist/components/PackageSelector.d.ts +0 -13
  104. package/dist/components/PackageSelector.d.ts.map +0 -1
  105. package/dist/components/PackageSelector.js +0 -79
  106. package/dist/components/PackageSelector.js.map +0 -1
  107. package/dist/constants/log-colors.d.ts +0 -43
  108. package/dist/constants/log-colors.d.ts.map +0 -1
  109. package/dist/constants/log-colors.js +0 -59
  110. package/dist/constants/log-colors.js.map +0 -1
  111. package/dist/dev-environment.d.ts +0 -187
  112. package/dist/dev-environment.d.ts.map +0 -1
  113. package/dist/dev-environment.js +0 -2248
  114. package/dist/dev-environment.js.map +0 -1
  115. package/dist/screencast-manager.d.ts +0 -78
  116. package/dist/screencast-manager.d.ts.map +0 -1
  117. package/dist/screencast-manager.js +0 -529
  118. package/dist/screencast-manager.js.map +0 -1
  119. package/dist/services/parsers/error-detectors/base.d.ts +0 -24
  120. package/dist/services/parsers/error-detectors/base.d.ts.map +0 -1
  121. package/dist/services/parsers/error-detectors/base.js +0 -44
  122. package/dist/services/parsers/error-detectors/base.js.map +0 -1
  123. package/dist/services/parsers/error-detectors/index.d.ts +0 -6
  124. package/dist/services/parsers/error-detectors/index.d.ts.map +0 -1
  125. package/dist/services/parsers/error-detectors/index.js +0 -6
  126. package/dist/services/parsers/error-detectors/index.js.map +0 -1
  127. package/dist/services/parsers/error-detectors/nextjs.d.ts +0 -9
  128. package/dist/services/parsers/error-detectors/nextjs.d.ts.map +0 -1
  129. package/dist/services/parsers/error-detectors/nextjs.js +0 -52
  130. package/dist/services/parsers/error-detectors/nextjs.js.map +0 -1
  131. package/dist/services/parsers/index.d.ts +0 -9
  132. package/dist/services/parsers/index.d.ts.map +0 -1
  133. package/dist/services/parsers/index.js +0 -10
  134. package/dist/services/parsers/index.js.map +0 -1
  135. package/dist/services/parsers/log-parsers/base.d.ts +0 -26
  136. package/dist/services/parsers/log-parsers/base.d.ts.map +0 -1
  137. package/dist/services/parsers/log-parsers/base.js +0 -6
  138. package/dist/services/parsers/log-parsers/base.js.map +0 -1
  139. package/dist/services/parsers/log-parsers/index.d.ts +0 -6
  140. package/dist/services/parsers/log-parsers/index.d.ts.map +0 -1
  141. package/dist/services/parsers/log-parsers/index.js +0 -5
  142. package/dist/services/parsers/log-parsers/index.js.map +0 -1
  143. package/dist/services/parsers/log-parsers/standard.d.ts +0 -9
  144. package/dist/services/parsers/log-parsers/standard.d.ts.map +0 -1
  145. package/dist/services/parsers/log-parsers/standard.js +0 -17
  146. package/dist/services/parsers/log-parsers/standard.js.map +0 -1
  147. package/dist/services/parsers/output-processor.d.ts +0 -39
  148. package/dist/services/parsers/output-processor.d.ts.map +0 -1
  149. package/dist/services/parsers/output-processor.js +0 -54
  150. package/dist/services/parsers/output-processor.js.map +0 -1
  151. package/dist/skills/d3k/internal-skill.md +0 -32
  152. package/dist/skills/index.d.ts +0 -54
  153. package/dist/skills/index.d.ts.map +0 -1
  154. package/dist/skills/index.js +0 -214
  155. package/dist/skills/index.js.map +0 -1
  156. package/dist/src/tui-interface-impl.tsx +0 -644
  157. package/dist/tui-interface-impl.d.ts +0 -30
  158. package/dist/tui-interface-impl.d.ts.map +0 -1
  159. package/dist/tui-interface-impl.js +0 -403
  160. package/dist/tui-interface-impl.js.map +0 -1
  161. package/dist/tui-interface-opentui.d.ts +0 -33
  162. package/dist/tui-interface-opentui.d.ts.map +0 -1
  163. package/dist/tui-interface-opentui.js +0 -1128
  164. package/dist/tui-interface-opentui.js.map +0 -1
  165. package/dist/tui-interface.d.ts +0 -38
  166. package/dist/tui-interface.d.ts.map +0 -1
  167. package/dist/tui-interface.js +0 -84
  168. package/dist/tui-interface.js.map +0 -1
  169. package/dist/utils/agent-detection.d.ts +0 -17
  170. package/dist/utils/agent-detection.d.ts.map +0 -1
  171. package/dist/utils/agent-detection.js +0 -81
  172. package/dist/utils/agent-detection.js.map +0 -1
  173. package/dist/utils/agent-selection.d.ts +0 -25
  174. package/dist/utils/agent-selection.d.ts.map +0 -1
  175. package/dist/utils/agent-selection.js +0 -73
  176. package/dist/utils/agent-selection.js.map +0 -1
  177. package/dist/utils/browser-command-argv.d.ts +0 -19
  178. package/dist/utils/browser-command-argv.d.ts.map +0 -1
  179. package/dist/utils/browser-command-argv.js +0 -149
  180. package/dist/utils/browser-command-argv.js.map +0 -1
  181. package/dist/utils/build-version.d.ts +0 -2
  182. package/dist/utils/build-version.d.ts.map +0 -1
  183. package/dist/utils/build-version.js +0 -8
  184. package/dist/utils/build-version.js.map +0 -1
  185. package/dist/utils/cli-options.d.ts +0 -5
  186. package/dist/utils/cli-options.d.ts.map +0 -1
  187. package/dist/utils/cli-options.js +0 -36
  188. package/dist/utils/cli-options.js.map +0 -1
  189. package/dist/utils/d3k-dir.d.ts +0 -3
  190. package/dist/utils/d3k-dir.d.ts.map +0 -1
  191. package/dist/utils/d3k-dir.js +0 -12
  192. package/dist/utils/d3k-dir.js.map +0 -1
  193. package/dist/utils/d3k-skill-installer.d.ts +0 -4
  194. package/dist/utils/d3k-skill-installer.d.ts.map +0 -1
  195. package/dist/utils/d3k-skill-installer.js +0 -30
  196. package/dist/utils/d3k-skill-installer.js.map +0 -1
  197. package/dist/utils/log-filename.d.ts +0 -30
  198. package/dist/utils/log-filename.d.ts.map +0 -1
  199. package/dist/utils/log-filename.js +0 -60
  200. package/dist/utils/log-filename.js.map +0 -1
  201. package/dist/utils/project-detector.d.ts +0 -25
  202. package/dist/utils/project-detector.d.ts.map +0 -1
  203. package/dist/utils/project-detector.js +0 -153
  204. package/dist/utils/project-detector.js.map +0 -1
  205. package/dist/utils/project-metadata.d.ts +0 -4
  206. package/dist/utils/project-metadata.d.ts.map +0 -1
  207. package/dist/utils/project-metadata.js +0 -48
  208. package/dist/utils/project-metadata.js.map +0 -1
  209. package/dist/utils/repo-validate.d.ts +0 -2
  210. package/dist/utils/repo-validate.d.ts.map +0 -1
  211. package/dist/utils/repo-validate.js +0 -10
  212. package/dist/utils/repo-validate.js.map +0 -1
  213. package/dist/utils/session.d.ts +0 -19
  214. package/dist/utils/session.d.ts.map +0 -1
  215. package/dist/utils/session.js +0 -65
  216. package/dist/utils/session.js.map +0 -1
  217. package/dist/utils/skill-installer.d.ts +0 -65
  218. package/dist/utils/skill-installer.d.ts.map +0 -1
  219. package/dist/utils/skill-installer.js +0 -265
  220. package/dist/utils/skill-installer.js.map +0 -1
  221. package/dist/utils/timestamp.d.ts +0 -20
  222. package/dist/utils/timestamp.d.ts.map +0 -1
  223. package/dist/utils/timestamp.js +0 -57
  224. package/dist/utils/timestamp.js.map +0 -1
  225. package/dist/utils/tmux-helpers.d.ts +0 -36
  226. package/dist/utils/tmux-helpers.d.ts.map +0 -1
  227. package/dist/utils/tmux-helpers.js +0 -118
  228. package/dist/utils/tmux-helpers.js.map +0 -1
  229. package/dist/utils/user-config.d.ts +0 -12
  230. package/dist/utils/user-config.d.ts.map +0 -1
  231. package/dist/utils/user-config.js +0 -46
  232. package/dist/utils/user-config.js.map +0 -1
  233. package/dist/utils/version-check.d.ts +0 -52
  234. package/dist/utils/version-check.d.ts.map +0 -1
  235. package/dist/utils/version-check.js +0 -304
  236. package/dist/utils/version-check.js.map +0 -1
  237. package/src/tui-interface-impl.tsx +0 -644
@@ -1,99 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from "ink";
3
- import SelectInput from "ink-select-input";
4
- import { useState } from "react";
5
- export function AgentSelector({ agents, defaultAgentName, onComplete }) {
6
- const [step, setStep] = useState("select-agent");
7
- const [customCommand, setCustomCommand] = useState("");
8
- // Build items for agent selection, with default at top if it exists
9
- const buildAgentItems = () => {
10
- const items = [];
11
- // Sort agents: available first (with default at very top), then unavailable
12
- const sortedAgents = [...agents].sort((a, b) => {
13
- // First, separate available from unavailable
14
- if (a.available && !b.available)
15
- return -1;
16
- if (!a.available && b.available)
17
- return 1;
18
- // Within available agents, put default first
19
- if (a.available && b.available) {
20
- if (a.name === defaultAgentName)
21
- return -1;
22
- if (b.name === defaultAgentName)
23
- return 1;
24
- }
25
- return 0;
26
- });
27
- for (const agent of sortedAgents) {
28
- items.push({
29
- label: agent.available ? agent.displayName : `${agent.displayName} (not installed)`,
30
- value: agent.available ? agent.name : `disabled:${agent.name}`
31
- });
32
- }
33
- items.push({ label: "Custom command...", value: "custom" });
34
- items.push({ label: "d3k (no agent)", value: "none" });
35
- items.push({ label: "d3k --debug", value: "debug" });
36
- return items;
37
- };
38
- const agentItems = buildAgentItems();
39
- // Handle agent selection
40
- const handleAgentSelect = (item) => {
41
- if (item.value.startsWith("disabled:")) {
42
- return; // Ignore disabled items
43
- }
44
- if (item.value === "none") {
45
- // User chose no agent
46
- onComplete({ agent: null });
47
- return;
48
- }
49
- if (item.value === "debug") {
50
- // User chose debug mode
51
- onComplete({ agent: { name: "debug", command: "debug" } });
52
- return;
53
- }
54
- if (item.value === "custom") {
55
- setStep("custom-input");
56
- return;
57
- }
58
- // Simple agent selection - complete immediately
59
- const agent = agents.find((a) => a.name === item.value);
60
- // Use custom command if specified, otherwise fall back to binary name
61
- onComplete({ agent: { name: item.value, command: agent?.command || agent?.binary || item.value } });
62
- };
63
- // Handle custom command input
64
- useInput((input, key) => {
65
- if (step !== "custom-input")
66
- return;
67
- if (key.return) {
68
- if (customCommand.trim()) {
69
- onComplete({ agent: { name: "custom", command: customCommand.trim() } });
70
- }
71
- return;
72
- }
73
- if (key.backspace || key.delete) {
74
- setCustomCommand((prev) => prev.slice(0, -1));
75
- return;
76
- }
77
- if (key.escape) {
78
- setStep("select-agent");
79
- setCustomCommand("");
80
- return;
81
- }
82
- // Regular character input
83
- if (input && !key.ctrl && !key.meta) {
84
- setCustomCommand((prev) => prev + input);
85
- }
86
- }, { isActive: step === "custom-input" });
87
- // Render based on current step
88
- if (step === "select-agent") {
89
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "#A18CE5", bold: true, children: "d3k Agent Selection" }) }), _jsx(Text, { dimColor: true, children: "Select an AI agent to run alongside d3k:" }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: agentItems, onSelect: handleAgentSelect, indicatorComponent: ({ isSelected }) => _jsx(Text, { color: "#A18CE5", children: isSelected ? "❯ " : " " }), itemComponent: ({ isSelected, label }) => {
90
- const isDisabled = label.includes("not installed");
91
- return (_jsx(Text, { color: isDisabled ? "gray" : isSelected ? "#A18CE5" : undefined, dimColor: isDisabled, children: label }));
92
- } }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Use \u2191\u2193 to navigate, Enter to select" }) })] }));
93
- }
94
- if (step === "custom-input") {
95
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "#A18CE5", bold: true, children: "Custom Command" }) }), _jsx(Text, { dimColor: true, children: "Enter the command to run your agent:" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "#A18CE5", children: "\u276F " }), _jsx(Text, { children: customCommand }), _jsx(Text, { color: "gray", children: "\u258C" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Press Enter to confirm, Esc to go back" }) })] }));
96
- }
97
- return null;
98
- }
99
- //# sourceMappingURL=AgentSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentSelector.js","sourceRoot":"","sources":["../../src/components/AgentSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { type InstallLocation, type SkillPackage, type SkillsAgentId } from "../utils/skill-installer.js";
2
- interface PackageWithStatus extends SkillPackage {
3
- installed: boolean;
4
- }
5
- interface PackageSelectorProps {
6
- packages: PackageWithStatus[];
7
- onComplete: (selectedPackages: SkillPackage[], location: InstallLocation) => void;
8
- onSkip: () => void;
9
- agentId?: SkillsAgentId | null;
10
- }
11
- export declare function PackageSelector({ packages, onComplete, onSkip, agentId }: PackageSelectorProps): import("react").JSX.Element;
12
- export {};
13
- //# sourceMappingURL=PackageSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PackageSelector.d.ts","sourceRoot":"","sources":["../../src/components/PackageSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAA;AAEpC,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAA;IACjF,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;CAC/B;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,oBAAoB,+BAgJ9F"}
@@ -1,79 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from "ink";
3
- import { useState } from "react";
4
- import { getSkillsPathForLocation } from "../utils/skill-installer.js";
5
- export function PackageSelector({ packages, onComplete, onSkip, agentId }) {
6
- // Start with uninstalled packages selected
7
- const [selectedPackages, setSelectedPackages] = useState(() => new Set(packages.filter((p) => !p.installed).map((p) => p.repo)));
8
- const [highlightedIndex, setHighlightedIndex] = useState(0);
9
- const [installLocation, setInstallLocation] = useState("project");
10
- // Items: packages + location option
11
- const locationOptionIndex = packages.length;
12
- const totalItems = packages.length + 1;
13
- useInput((input, key) => {
14
- if (key.escape) {
15
- onSkip();
16
- return;
17
- }
18
- if (key.return) {
19
- const selected = packages.filter((p) => selectedPackages.has(p.repo));
20
- onComplete(selected, installLocation);
21
- return;
22
- }
23
- if (key.upArrow) {
24
- setHighlightedIndex((prev) => (prev > 0 ? prev - 1 : totalItems - 1));
25
- return;
26
- }
27
- if (key.downArrow) {
28
- setHighlightedIndex((prev) => (prev < totalItems - 1 ? prev + 1 : 0));
29
- return;
30
- }
31
- // Left/right arrows toggle location when on the location option
32
- if (highlightedIndex === locationOptionIndex && (key.leftArrow || key.rightArrow)) {
33
- setInstallLocation((prev) => (prev === "project" ? "global" : "project"));
34
- return;
35
- }
36
- if (input === " ") {
37
- if (highlightedIndex === locationOptionIndex) {
38
- // Toggle install location
39
- setInstallLocation((prev) => (prev === "project" ? "global" : "project"));
40
- }
41
- else {
42
- // Toggle individual package (only if not already installed)
43
- const pkg = packages[highlightedIndex];
44
- if (!pkg.installed) {
45
- const newSelected = new Set(selectedPackages);
46
- if (newSelected.has(pkg.repo)) {
47
- newSelected.delete(pkg.repo);
48
- }
49
- else {
50
- newSelected.add(pkg.repo);
51
- }
52
- setSelectedPackages(newSelected);
53
- }
54
- }
55
- }
56
- });
57
- const renderCheckbox = (checked, highlighted) => {
58
- const box = checked ? "[x]" : "[ ]";
59
- return (_jsxs(Text, { color: highlighted ? "#A18CE5" : undefined, children: [highlighted ? ">" : " ", " ", box] }));
60
- };
61
- // Get install path based on location
62
- const getInstallPath = () => {
63
- if (!agentId) {
64
- return installLocation === "global" ? "~/.agents/skills" : ".agents/skills";
65
- }
66
- const targetPath = getSkillsPathForLocation(agentId, installLocation);
67
- if (!targetPath) {
68
- return installLocation === "global" ? "~/.agents/skills" : ".agents/skills";
69
- }
70
- return targetPath.path.replace(process.env.HOME || "", "~");
71
- };
72
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "#A18CE5", bold: true, children: "d3k Skill Packages" }) }), _jsx(Text, { color: "#AAAAAA", children: "Install skill packages for your project:" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [packages.map((pkg, index) => {
73
- const isHighlighted = highlightedIndex === index;
74
- const isSelected = selectedPackages.has(pkg.repo);
75
- const isInstalled = pkg.installed;
76
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [isInstalled ? _jsxs(Text, { color: "#888888", children: [" ", "[\u2713]"] }) : renderCheckbox(isSelected, isHighlighted), _jsxs(Text, { color: isInstalled ? "gray" : isHighlighted ? "#A18CE5" : undefined, children: [" ", pkg.repo, isInstalled && _jsx(Text, { color: "green", children: " (installed)" })] })] }), _jsx(Box, { flexDirection: "column", marginLeft: 6, children: pkg.skillFolders.map((skill) => (_jsx(Text, { color: "#999999", children: skill }, skill))) })] }, pkg.repo));
77
- }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: highlightedIndex === locationOptionIndex ? "#A18CE5" : undefined, children: [highlightedIndex === locationOptionIndex ? ">" : " ", " Install to:", " "] }), _jsx(Text, { color: installLocation === "project" ? "cyan" : "gray", bold: installLocation === "project", children: "[project]" }), _jsx(Text, { children: " " }), _jsx(Text, { color: installLocation === "global" ? "cyan" : "gray", bold: installLocation === "global", children: "[global]" })] }), _jsx(Box, { marginLeft: 4, children: _jsx(Text, { color: "#888888", children: getInstallPath() }) })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#888888", children: "Space/arrows to toggle, Enter to install, Esc to skip" }) })] }));
78
- }
79
- //# sourceMappingURL=PackageSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PackageSelector.js","sourceRoot":"","sources":["../../src/components/PackageSelector.tsx"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Shared color constants for log entries
3
- * Used by both TUI and web logs viewer to ensure consistency
4
- */
5
- export declare const LOG_COLORS: {
6
- readonly BROWSER: "#00CED1";
7
- readonly SERVER: "#32CD32";
8
- readonly NETWORK: "#4A7C7E";
9
- readonly ERROR: "#FF6B6B";
10
- readonly WARNING: "#FFA500";
11
- readonly INFO: "#87CEEB";
12
- readonly LOG: "#B0B0B0";
13
- readonly DEBUG: "#9370DB";
14
- readonly SCREENSHOT: "#FF69B4";
15
- readonly DOM: "#DDA0DD";
16
- readonly CDP: "#F0E68C";
17
- readonly CHROME: "#F0E68C";
18
- readonly CRASH: "#DC143C";
19
- readonly EXIT: "#A0A0A0";
20
- readonly REPLAY: "#9370DB";
21
- readonly NAVIGATION: "#DDA0DD";
22
- readonly INTERACTION: "#DDA0DD";
23
- readonly DEFAULT: "#A0A0A0";
24
- };
25
- export declare function getTextColor(bgColor: string): string;
26
- export declare const TYPE_COLOR_MAP: {
27
- readonly NETWORK: "NETWORK";
28
- readonly ERROR: "ERROR";
29
- readonly WARNING: "WARNING";
30
- readonly INFO: "INFO";
31
- readonly LOG: "LOG";
32
- readonly DEBUG: "DEBUG";
33
- readonly SCREENSHOT: "SCREENSHOT";
34
- readonly DOM: "DOM";
35
- readonly CDP: "CDP";
36
- readonly CHROME: "CHROME";
37
- readonly CRASH: "CRASH";
38
- readonly EXIT: "EXIT";
39
- readonly REPLAY: "REPLAY";
40
- readonly NAVIGATION: "NAVIGATION";
41
- readonly INTERACTION: "INTERACTION";
42
- };
43
- //# sourceMappingURL=log-colors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-colors.d.ts","sourceRoot":"","sources":["../../src/constants/log-colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU;aAErB,OAAO,EAAE,SAAS;aAClB,MAAM,EAAE,SAAS;aAGjB,OAAO,EAAE,SAAS;aAClB,KAAK,EAAE,SAAS;aAChB,OAAO,EAAE,SAAS;aAClB,IAAI,EAAE,SAAS;aACf,GAAG,EAAE,SAAS;aACd,KAAK,EAAE,SAAS;aAChB,UAAU,EAAE,SAAS;aACrB,GAAG,EAAE,SAAS;aACd,GAAG,EAAE,SAAS;aACd,MAAM,EAAE,SAAS;aACjB,KAAK,EAAE,SAAS;aAChB,IAAI,EAAE,SAAS;aACf,MAAM,EAAE,SAAS;aACjB,UAAU,EAAE,SAAS;aACrB,WAAW,EAAE,SAAS;aACtB,OAAO,EAAE,SAAS;CACV,CAAA;AAGV,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYpD;AAGD,eAAO,MAAM,cAAc;aACzB,OAAO,EAAE,SAAS;aAClB,KAAK,EAAE,OAAO;aACd,OAAO,EAAE,SAAS;aAClB,IAAI,EAAE,MAAM;aACZ,GAAG,EAAE,KAAK;aACV,KAAK,EAAE,OAAO;aACd,UAAU,EAAE,YAAY;aACxB,GAAG,EAAE,KAAK;aACV,GAAG,EAAE,KAAK;aACV,MAAM,EAAE,QAAQ;aAChB,KAAK,EAAE,OAAO;aACd,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,QAAQ;aAChB,UAAU,EAAE,YAAY;aACxB,WAAW,EAAE,aAAa;CAClB,CAAA"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Shared color constants for log entries
3
- * Used by both TUI and web logs viewer to ensure consistency
4
- */
5
- export const LOG_COLORS = {
6
- // Source colors
7
- BROWSER: "#00CED1", // Cyan
8
- SERVER: "#32CD32", // Lime green
9
- // Log type colors
10
- NETWORK: "#4A7C7E", // Soft teal
11
- ERROR: "#FF6B6B", // Red
12
- WARNING: "#FFA500", // Orange
13
- INFO: "#87CEEB", // Sky blue
14
- LOG: "#B0B0B0", // Gray
15
- DEBUG: "#9370DB", // Purple
16
- SCREENSHOT: "#FF69B4", // Hot pink
17
- DOM: "#DDA0DD", // Plum
18
- CDP: "#F0E68C", // Khaki
19
- CHROME: "#F0E68C", // Khaki (same as CDP)
20
- CRASH: "#DC143C", // Crimson
21
- EXIT: "#A0A0A0", // Gray (neutral, informational)
22
- REPLAY: "#9370DB", // Purple
23
- NAVIGATION: "#DDA0DD", // Plum (same as DOM)
24
- INTERACTION: "#DDA0DD", // Plum (same as DOM)
25
- DEFAULT: "#A0A0A0" // Dark gray
26
- };
27
- // Helper to determine text color based on background
28
- export function getTextColor(bgColor) {
29
- // Light backgrounds need dark text
30
- const lightColors = [
31
- LOG_COLORS.INFO,
32
- LOG_COLORS.SCREENSHOT,
33
- LOG_COLORS.DOM,
34
- LOG_COLORS.CDP,
35
- LOG_COLORS.CHROME,
36
- LOG_COLORS.NAVIGATION,
37
- LOG_COLORS.INTERACTION
38
- ];
39
- return lightColors.includes(bgColor) ? "#000" : "#FFF";
40
- }
41
- // Map log type names to color keys
42
- export const TYPE_COLOR_MAP = {
43
- NETWORK: "NETWORK",
44
- ERROR: "ERROR",
45
- WARNING: "WARNING",
46
- INFO: "INFO",
47
- LOG: "LOG",
48
- DEBUG: "DEBUG",
49
- SCREENSHOT: "SCREENSHOT",
50
- DOM: "DOM",
51
- CDP: "CDP",
52
- CHROME: "CHROME",
53
- CRASH: "CRASH",
54
- EXIT: "EXIT",
55
- REPLAY: "REPLAY",
56
- NAVIGATION: "NAVIGATION",
57
- INTERACTION: "INTERACTION"
58
- };
59
- //# sourceMappingURL=log-colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-colors.js","sourceRoot":"","sources":["../../src/constants/log-colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,OAAO,EAAE,SAAS,EAAE,OAAO;IAC3B,MAAM,EAAE,SAAS,EAAE,aAAa;IAEhC,kBAAkB;IAClB,OAAO,EAAE,SAAS,EAAE,YAAY;IAChC,KAAK,EAAE,SAAS,EAAE,MAAM;IACxB,OAAO,EAAE,SAAS,EAAE,SAAS;IAC7B,IAAI,EAAE,SAAS,EAAE,WAAW;IAC5B,GAAG,EAAE,SAAS,EAAE,OAAO;IACvB,KAAK,EAAE,SAAS,EAAE,SAAS;IAC3B,UAAU,EAAE,SAAS,EAAE,WAAW;IAClC,GAAG,EAAE,SAAS,EAAE,OAAO;IACvB,GAAG,EAAE,SAAS,EAAE,QAAQ;IACxB,MAAM,EAAE,SAAS,EAAE,sBAAsB;IACzC,KAAK,EAAE,SAAS,EAAE,UAAU;IAC5B,IAAI,EAAE,SAAS,EAAE,gCAAgC;IACjD,MAAM,EAAE,SAAS,EAAE,SAAS;IAC5B,UAAU,EAAE,SAAS,EAAE,qBAAqB;IAC5C,WAAW,EAAE,SAAS,EAAE,qBAAqB;IAC7C,OAAO,EAAE,SAAS,CAAC,YAAY;CACvB,CAAA;AAEV,qDAAqD;AACrD,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,mCAAmC;IACnC,MAAM,WAAW,GAAa;QAC5B,UAAU,CAAC,IAAI;QACf,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,WAAW;KACvB,CAAA;IACD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;AACxD,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;CAClB,CAAA"}
@@ -1,187 +0,0 @@
1
- /**
2
- * Options for graceful process termination.
3
- */
4
- export interface GracefulKillOptions {
5
- /** Process ID to terminate */
6
- pid: number;
7
- /** Delay in ms to wait for graceful shutdown (default: 500) */
8
- gracePeriodMs?: number;
9
- /** Function to send signals (for testing) */
10
- killFn?: (pid: number, signal: NodeJS.Signals | number) => void;
11
- /** Function to delay (for testing) */
12
- delayFn?: (ms: number) => Promise<void>;
13
- /** Optional debug logger */
14
- debugLog?: (msg: string) => void;
15
- }
16
- /**
17
- * Result of graceful kill operation.
18
- */
19
- export interface GracefulKillResult {
20
- /** Whether the process was terminated */
21
- terminated: boolean;
22
- /** Whether graceful shutdown succeeded (SIGTERM was enough) */
23
- graceful: boolean;
24
- /** Whether force kill (SIGKILL) was needed */
25
- forcedKill: boolean;
26
- }
27
- /**
28
- * Gracefully terminate a process by first trying SIGTERM, waiting for graceful
29
- * shutdown, then falling back to SIGKILL if needed.
30
- *
31
- * This is important for processes like Next.js dev server that need to clean up
32
- * resources (like .next/dev/lock) before exiting.
33
- *
34
- * @param options - Kill options including PID and optional overrides for testing
35
- * @returns Result indicating how the process was terminated
36
- */
37
- export declare function gracefulKillProcess(options: GracefulKillOptions): Promise<GracefulKillResult>;
38
- interface DevEnvironmentOptions {
39
- port: string;
40
- serverCommand: string;
41
- startupTimeoutSeconds: number;
42
- browserNavigationTimeoutSeconds: number;
43
- profileDir: string;
44
- browserTool: "agent-browser";
45
- logFile: string;
46
- debug?: boolean;
47
- serversOnly?: boolean;
48
- commandName: string;
49
- browser?: string;
50
- appUrl?: string;
51
- externalCdpBase?: string;
52
- defaultPort?: string;
53
- framework?: "nextjs" | "svelte" | "other";
54
- userSetPort?: boolean;
55
- tail?: boolean;
56
- tui?: boolean;
57
- portless?: boolean;
58
- customServerCommand?: boolean;
59
- dateTimeFormat?: "local" | "utc";
60
- pluginReactScan?: boolean;
61
- debugPort?: number;
62
- headless?: boolean;
63
- withAgent?: string;
64
- agentName?: string;
65
- skillsAgentId?: string;
66
- autoSkills?: boolean;
67
- installSkills?: boolean;
68
- screenshotsDir?: string;
69
- }
70
- export declare function detectServerPortFromOutput(text: string): string | null;
71
- /**
72
- * Count active d3k instances by checking PID files in tmpdir.
73
- * Returns the count of running d3k processes (excluding the current one if specified).
74
- *
75
- * CRITICAL FOR PROCESS CLEANUP:
76
- * This function is used to reason about multi-instance shutdown behavior.
77
- */
78
- export declare function countActiveD3kInstances(excludeCurrentPid?: boolean): number;
79
- type D3kLockInfo = {
80
- pid: number;
81
- cwd?: string | null;
82
- createdAt?: string | null;
83
- processStartTime?: string | null;
84
- };
85
- type LockValidationResult = {
86
- active: boolean;
87
- reason: string;
88
- lockInfo: D3kLockInfo | null;
89
- };
90
- type LockValidationDeps = {
91
- processExists?: (pid: number) => boolean;
92
- getProcessStartTime?: (pid: number) => string | null;
93
- getProcessCommand?: (pid: number) => string | null;
94
- };
95
- export declare function parseD3kLockContent(content: string): D3kLockInfo | null;
96
- export declare function getProcessStartTime(pid: number): string | null;
97
- export declare function getProcessCommand(pid: number): string | null;
98
- export declare function validateD3kLockContent(content: string, deps?: LockValidationDeps): LockValidationResult;
99
- /**
100
- * Check if a server is actually listening and responding on a port.
101
- * Used for waiting for a dev server to start up.
102
- * Works in all environments including sandboxes by using HTTP requests.
103
- */
104
- export interface ServerListeningResult {
105
- listening: boolean;
106
- https: boolean;
107
- }
108
- export declare function isServerListening(port: string | number): Promise<ServerListeningResult>;
109
- export declare function tryHttpConnection(port: string | number): Promise<boolean>;
110
- export declare function tryHttpsConnection(port: string | number): Promise<boolean>;
111
- export declare function findAvailablePort(startPort: number): Promise<string>;
112
- export declare function createPersistentLogFile(override?: string): string;
113
- /**
114
- * Write session info for external tooling to discover.
115
- *
116
- * CRITICAL FOR PROCESS CLEANUP:
117
- * This writes the session.json file that contains chromePids and serverPid.
118
- * These PIDs are read during shutdown to kill the correct processes.
119
- *
120
- * The chromePids array is particularly important - it tracks which Chrome
121
- * processes belong to THIS d3k instance so we don't accidentally kill
122
- * Chrome instances from other d3k sessions.
123
- */
124
- export declare function writeSessionInfo(projectName: string, logFilePath: string, appPort: string, publicUrl?: string | null, cdpUrl?: string | null, chromePids?: number[], serverCommand?: string, framework?: "nextjs" | "svelte" | "other", serverPid?: number, skillsInstalled?: string[], skillsAgentId?: string | null, preferredBrowserTool?: "agent-browser", agentName?: string | null, portless?: boolean, ready?: boolean): void;
125
- export declare function getSessionChromePids(projectName: string): number[];
126
- export declare class DevEnvironment {
127
- private serverProcess;
128
- private cdpMonitor;
129
- private screencastManager;
130
- private logger;
131
- private outputProcessor;
132
- private options;
133
- private screenshotDir;
134
- private pidFile;
135
- private lockFile;
136
- private spinner;
137
- private version;
138
- private isShuttingDown;
139
- private serverStartTime;
140
- private healthCheckTimer;
141
- private tui;
142
- private portChangeMessage;
143
- private portDetected;
144
- private serverUsesHttps;
145
- private publicAppUrl;
146
- private portlessRuntime;
147
- private runtimeReady;
148
- /** Returns "https" or "http" based on detected server protocol */
149
- private get serverProtocol();
150
- private get localhostAppUrl();
151
- private get preferredAppUrl();
152
- constructor(options: DevEnvironmentOptions);
153
- private checkPortsAvailable;
154
- private checkProcessHealth;
155
- private startHealthCheck;
156
- private stopHealthCheck;
157
- private emergencyShutdown;
158
- start(): Promise<void>;
159
- private startServer;
160
- private isSessionCwdOwned;
161
- private isPidRunning;
162
- private killServerPidIfOwned;
163
- private killTrackedChromePids;
164
- private cleanupOrphanedServer;
165
- private acquireLock;
166
- private releaseLock;
167
- private writeCurrentSessionInfo;
168
- private detectPortChange;
169
- private debugLog;
170
- private showRecentLogs;
171
- private getRecentLogLines;
172
- private simplifyLogLine;
173
- private inferStartupFailureHint;
174
- private getStartupContextLines;
175
- private writeStartupFailureContext;
176
- private checkForCommonIssues;
177
- private waitForServer;
178
- private initializeD3KLog;
179
- private startCDPMonitoringSync;
180
- private startCDPMonitoring;
181
- private gracefulShutdown;
182
- private setupCleanupHandlers;
183
- private handleShutdown;
184
- }
185
- export declare function startDevEnvironment(options: DevEnvironmentOptions): Promise<void>;
186
- export {};
187
- //# sourceMappingURL=dev-environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-environment.d.ts","sourceRoot":"","sources":["../src/dev-environment.ts"],"names":[],"mappings":"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"}