@cluesmith/codev 2.0.0-rc.29 → 2.0.0-rc.32

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 (134) hide show
  1. package/dashboard/dist/assets/index-CXwnJkPh.css +32 -0
  2. package/dashboard/dist/assets/index-D429K6qO.js +120 -0
  3. package/dashboard/dist/assets/index-D429K6qO.js.map +1 -0
  4. package/dashboard/dist/index.html +13 -0
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +22 -0
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/architect.js +0 -2
  10. package/dist/agent-farm/commands/architect.js.map +1 -1
  11. package/dist/agent-farm/commands/attach.d.ts +13 -0
  12. package/dist/agent-farm/commands/attach.d.ts.map +1 -0
  13. package/dist/agent-farm/commands/attach.js +179 -0
  14. package/dist/agent-farm/commands/attach.js.map +1 -0
  15. package/dist/agent-farm/commands/cleanup.js +1 -1
  16. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  17. package/dist/agent-farm/commands/index.d.ts +1 -0
  18. package/dist/agent-farm/commands/index.d.ts.map +1 -1
  19. package/dist/agent-farm/commands/index.js +1 -0
  20. package/dist/agent-farm/commands/index.js.map +1 -1
  21. package/dist/agent-farm/commands/shell.d.ts +1 -1
  22. package/dist/agent-farm/commands/shell.d.ts.map +1 -1
  23. package/dist/agent-farm/commands/shell.js +19 -32
  24. package/dist/agent-farm/commands/shell.js.map +1 -1
  25. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  26. package/dist/agent-farm/commands/spawn.js +64 -97
  27. package/dist/agent-farm/commands/spawn.js.map +1 -1
  28. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  29. package/dist/agent-farm/commands/start.js +8 -20
  30. package/dist/agent-farm/commands/start.js.map +1 -1
  31. package/dist/agent-farm/commands/stop.d.ts.map +1 -1
  32. package/dist/agent-farm/commands/stop.js +79 -10
  33. package/dist/agent-farm/commands/stop.js.map +1 -1
  34. package/dist/agent-farm/db/index.d.ts.map +1 -1
  35. package/dist/agent-farm/db/index.js +15 -0
  36. package/dist/agent-farm/db/index.js.map +1 -1
  37. package/dist/agent-farm/db/schema.d.ts +1 -1
  38. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  39. package/dist/agent-farm/db/schema.js +6 -3
  40. package/dist/agent-farm/db/schema.js.map +1 -1
  41. package/dist/agent-farm/db/types.d.ts +3 -0
  42. package/dist/agent-farm/db/types.d.ts.map +1 -1
  43. package/dist/agent-farm/db/types.js +3 -0
  44. package/dist/agent-farm/db/types.js.map +1 -1
  45. package/dist/agent-farm/servers/dashboard-server.js +241 -108
  46. package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
  47. package/dist/agent-farm/servers/tower-server.js +15 -52
  48. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  49. package/dist/agent-farm/state.d.ts +4 -0
  50. package/dist/agent-farm/state.d.ts.map +1 -1
  51. package/dist/agent-farm/state.js +30 -7
  52. package/dist/agent-farm/state.js.map +1 -1
  53. package/dist/agent-farm/types.d.ts +10 -0
  54. package/dist/agent-farm/types.d.ts.map +1 -1
  55. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  56. package/dist/agent-farm/utils/config.js +1 -0
  57. package/dist/agent-farm/utils/config.js.map +1 -1
  58. package/dist/agent-farm/utils/deps.d.ts.map +1 -1
  59. package/dist/agent-farm/utils/deps.js +0 -16
  60. package/dist/agent-farm/utils/deps.js.map +1 -1
  61. package/dist/agent-farm/utils/shell.d.ts +8 -22
  62. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  63. package/dist/agent-farm/utils/shell.js +32 -34
  64. package/dist/agent-farm/utils/shell.js.map +1 -1
  65. package/dist/agent-farm/utils/terminal-ports.d.ts +1 -1
  66. package/dist/agent-farm/utils/terminal-ports.js +1 -1
  67. package/dist/commands/consult/index.d.ts.map +1 -1
  68. package/dist/commands/consult/index.js +6 -27
  69. package/dist/commands/consult/index.js.map +1 -1
  70. package/dist/commands/doctor.d.ts.map +1 -1
  71. package/dist/commands/doctor.js +0 -15
  72. package/dist/commands/doctor.js.map +1 -1
  73. package/dist/commands/porch/build-counter.d.ts +5 -0
  74. package/dist/commands/porch/build-counter.d.ts.map +1 -0
  75. package/dist/commands/porch/build-counter.js +5 -0
  76. package/dist/commands/porch/build-counter.js.map +1 -0
  77. package/dist/commands/porch/claude.d.ts +20 -22
  78. package/dist/commands/porch/claude.d.ts.map +1 -1
  79. package/dist/commands/porch/claude.js +92 -65
  80. package/dist/commands/porch/claude.js.map +1 -1
  81. package/dist/commands/porch/index.d.ts.map +1 -1
  82. package/dist/commands/porch/index.js +7 -6
  83. package/dist/commands/porch/index.js.map +1 -1
  84. package/dist/commands/porch/plan.d.ts +11 -1
  85. package/dist/commands/porch/plan.d.ts.map +1 -1
  86. package/dist/commands/porch/plan.js +33 -5
  87. package/dist/commands/porch/plan.js.map +1 -1
  88. package/dist/commands/porch/prompts.d.ts.map +1 -1
  89. package/dist/commands/porch/prompts.js +0 -20
  90. package/dist/commands/porch/prompts.js.map +1 -1
  91. package/dist/commands/porch/run.d.ts +20 -3
  92. package/dist/commands/porch/run.d.ts.map +1 -1
  93. package/dist/commands/porch/run.js +306 -161
  94. package/dist/commands/porch/run.js.map +1 -1
  95. package/dist/commands/porch/state.d.ts +5 -5
  96. package/dist/commands/porch/state.d.ts.map +1 -1
  97. package/dist/commands/porch/state.js +6 -49
  98. package/dist/commands/porch/state.js.map +1 -1
  99. package/dist/commands/porch/types.d.ts +3 -0
  100. package/dist/commands/porch/types.d.ts.map +1 -1
  101. package/dist/terminal/index.d.ts +8 -0
  102. package/dist/terminal/index.d.ts.map +1 -0
  103. package/dist/terminal/index.js +5 -0
  104. package/dist/terminal/index.js.map +1 -0
  105. package/dist/terminal/pty-manager.d.ts +60 -0
  106. package/dist/terminal/pty-manager.d.ts.map +1 -0
  107. package/dist/terminal/pty-manager.js +334 -0
  108. package/dist/terminal/pty-manager.js.map +1 -0
  109. package/dist/terminal/pty-session.d.ts +79 -0
  110. package/dist/terminal/pty-session.d.ts.map +1 -0
  111. package/dist/terminal/pty-session.js +215 -0
  112. package/dist/terminal/pty-session.js.map +1 -0
  113. package/dist/terminal/ring-buffer.d.ts +27 -0
  114. package/dist/terminal/ring-buffer.d.ts.map +1 -0
  115. package/dist/terminal/ring-buffer.js +74 -0
  116. package/dist/terminal/ring-buffer.js.map +1 -0
  117. package/dist/terminal/ws-protocol.d.ts +27 -0
  118. package/dist/terminal/ws-protocol.d.ts.map +1 -0
  119. package/dist/terminal/ws-protocol.js +44 -0
  120. package/dist/terminal/ws-protocol.js.map +1 -0
  121. package/package.json +11 -3
  122. package/skeleton/DEPENDENCIES.md +3 -29
  123. package/skeleton/builders.md +1 -1
  124. package/skeleton/protocols/spider/prompts/implement.md +10 -3
  125. package/templates/dashboard/js/tabs.js +1 -1
  126. package/templates/tower.html +3 -12
  127. package/dist/commands/porch/repl.d.ts +0 -33
  128. package/dist/commands/porch/repl.d.ts.map +0 -1
  129. package/dist/commands/porch/repl.js +0 -206
  130. package/dist/commands/porch/repl.js.map +0 -1
  131. package/dist/commands/porch/signals.d.ts +0 -38
  132. package/dist/commands/porch/signals.d.ts.map +0 -1
  133. package/dist/commands/porch/signals.js +0 -81
  134. package/dist/commands/porch/signals.js.map +0 -1
@@ -1,38 +0,0 @@
1
- /**
2
- * Signal detection for Porch
3
- *
4
- * Watches Claude's output file for signal markers:
5
- * PHASE_COMPLETE - Phase work is done
6
- * GATE_NEEDED - Human approval required
7
- * BLOCKED: <reason> - Claude is stuck
8
- */
9
- export type Signal = {
10
- type: 'PHASE_COMPLETE';
11
- } | {
12
- type: 'GATE_NEEDED';
13
- } | {
14
- type: 'BLOCKED';
15
- reason: string;
16
- } | {
17
- type: 'AWAITING_INPUT';
18
- content: string;
19
- };
20
- export interface SignalWatcher {
21
- /**
22
- * Check for new signals since last check.
23
- */
24
- check(): Promise<Signal | null>;
25
- /**
26
- * Stop watching.
27
- */
28
- stop(): void;
29
- }
30
- /**
31
- * Create a signal watcher for the given output file.
32
- */
33
- export declare function watchForSignal(outputPath: string): SignalWatcher;
34
- /**
35
- * Parse a signal from text content (one-shot check).
36
- */
37
- export declare function parseSignal(content: string): Signal | null;
38
- //# sourceMappingURL=signals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAyDhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB1D"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Signal detection for Porch
3
- *
4
- * Watches Claude's output file for signal markers:
5
- * PHASE_COMPLETE - Phase work is done
6
- * GATE_NEEDED - Human approval required
7
- * BLOCKED: <reason> - Claude is stuck
8
- */
9
- import * as fs from 'node:fs';
10
- /**
11
- * Create a signal watcher for the given output file.
12
- */
13
- export function watchForSignal(outputPath) {
14
- let lastPosition = 0;
15
- let stopped = false;
16
- return {
17
- async check() {
18
- if (stopped)
19
- return null;
20
- try {
21
- if (!fs.existsSync(outputPath)) {
22
- return null;
23
- }
24
- const content = fs.readFileSync(outputPath, 'utf-8');
25
- // Only check new content since last position
26
- const newContent = content.slice(lastPosition);
27
- lastPosition = content.length;
28
- // Check for XML-style signal with content: <signal type=AWAITING_INPUT>content</signal>
29
- const awaitingMatch = newContent.match(/<signal\s+type=AWAITING_INPUT>([\s\S]*?)<\/signal>/i);
30
- if (awaitingMatch) {
31
- return { type: 'AWAITING_INPUT', content: awaitingMatch[1].trim() };
32
- }
33
- // Look for signal markers
34
- // These should be on their own line, possibly in output blocks
35
- const lines = newContent.split('\n');
36
- for (const line of lines) {
37
- const trimmed = line.trim();
38
- if (trimmed === 'PHASE_COMPLETE' || trimmed.includes('PHASE_COMPLETE')) {
39
- return { type: 'PHASE_COMPLETE' };
40
- }
41
- if (trimmed === 'GATE_NEEDED' || trimmed.includes('GATE_NEEDED')) {
42
- return { type: 'GATE_NEEDED' };
43
- }
44
- const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
45
- if (blockedMatch) {
46
- return { type: 'BLOCKED', reason: blockedMatch[1] };
47
- }
48
- }
49
- return null;
50
- }
51
- catch (err) {
52
- // File might not exist yet or be locked
53
- return null;
54
- }
55
- },
56
- stop() {
57
- stopped = true;
58
- },
59
- };
60
- }
61
- /**
62
- * Parse a signal from text content (one-shot check).
63
- */
64
- export function parseSignal(content) {
65
- const lines = content.split('\n');
66
- for (const line of lines) {
67
- const trimmed = line.trim();
68
- if (trimmed === 'PHASE_COMPLETE') {
69
- return { type: 'PHASE_COMPLETE' };
70
- }
71
- if (trimmed === 'GATE_NEEDED') {
72
- return { type: 'GATE_NEEDED' };
73
- }
74
- const blockedMatch = trimmed.match(/BLOCKED:\s*(.+)/);
75
- if (blockedMatch) {
76
- return { type: 'BLOCKED', reason: blockedMatch[1] };
77
- }
78
- }
79
- return null;
80
- }
81
- //# sourceMappingURL=signals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../src/commands/porch/signals.ts"],"names":[],"mappings":"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"}