mcp-subagents-opencode 1.0.0

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 (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +602 -0
  3. package/build/config/timeouts.d.ts +9 -0
  4. package/build/config/timeouts.d.ts.map +1 -0
  5. package/build/config/timeouts.js +18 -0
  6. package/build/config/timeouts.js.map +1 -0
  7. package/build/helpers.d.ts +6 -0
  8. package/build/helpers.d.ts.map +1 -0
  9. package/build/helpers.js +47 -0
  10. package/build/helpers.js.map +1 -0
  11. package/build/index.d.ts +3 -0
  12. package/build/index.d.ts.map +1 -0
  13. package/build/index.js +245 -0
  14. package/build/index.js.map +1 -0
  15. package/build/models.d.ts +32 -0
  16. package/build/models.d.ts.map +1 -0
  17. package/build/models.js +58 -0
  18. package/build/models.js.map +1 -0
  19. package/build/server/register-notifications.d.ts +3 -0
  20. package/build/server/register-notifications.d.ts.map +1 -0
  21. package/build/server/register-notifications.js +77 -0
  22. package/build/server/register-notifications.js.map +1 -0
  23. package/build/server/register-resources.d.ts +3 -0
  24. package/build/server/register-resources.d.ts.map +1 -0
  25. package/build/server/register-resources.js +210 -0
  26. package/build/server/register-resources.js.map +1 -0
  27. package/build/server/register-retry-execution.d.ts +2 -0
  28. package/build/server/register-retry-execution.d.ts.map +1 -0
  29. package/build/server/register-retry-execution.js +28 -0
  30. package/build/server/register-retry-execution.js.map +1 -0
  31. package/build/server/register-tasks.d.ts +3 -0
  32. package/build/server/register-tasks.d.ts.map +1 -0
  33. package/build/server/register-tasks.js +52 -0
  34. package/build/server/register-tasks.js.map +1 -0
  35. package/build/server/register-tools.d.ts +3 -0
  36. package/build/server/register-tools.d.ts.map +1 -0
  37. package/build/server/register-tools.js +32 -0
  38. package/build/server/register-tools.js.map +1 -0
  39. package/build/server/resource-helpers.d.ts +21 -0
  40. package/build/server/resource-helpers.d.ts.map +1 -0
  41. package/build/server/resource-helpers.js +84 -0
  42. package/build/server/resource-helpers.js.map +1 -0
  43. package/build/services/account-manager.d.ts +88 -0
  44. package/build/services/account-manager.d.ts.map +1 -0
  45. package/build/services/account-manager.js +239 -0
  46. package/build/services/account-manager.js.map +1 -0
  47. package/build/services/claude-code-runner.d.ts +15 -0
  48. package/build/services/claude-code-runner.d.ts.map +1 -0
  49. package/build/services/claude-code-runner.js +475 -0
  50. package/build/services/claude-code-runner.js.map +1 -0
  51. package/build/services/client-context.d.ts +31 -0
  52. package/build/services/client-context.d.ts.map +1 -0
  53. package/build/services/client-context.js +44 -0
  54. package/build/services/client-context.js.map +1 -0
  55. package/build/services/exhaustion-fallback.d.ts +27 -0
  56. package/build/services/exhaustion-fallback.d.ts.map +1 -0
  57. package/build/services/exhaustion-fallback.js +30 -0
  58. package/build/services/exhaustion-fallback.js.map +1 -0
  59. package/build/services/fallback-orchestrator.d.ts +16 -0
  60. package/build/services/fallback-orchestrator.d.ts.map +1 -0
  61. package/build/services/fallback-orchestrator.js +48 -0
  62. package/build/services/fallback-orchestrator.js.map +1 -0
  63. package/build/services/opencode-client.d.ts +40 -0
  64. package/build/services/opencode-client.d.ts.map +1 -0
  65. package/build/services/opencode-client.js +147 -0
  66. package/build/services/opencode-client.js.map +1 -0
  67. package/build/services/opencode-spawner.d.ts +56 -0
  68. package/build/services/opencode-spawner.d.ts.map +1 -0
  69. package/build/services/opencode-spawner.js +426 -0
  70. package/build/services/opencode-spawner.js.map +1 -0
  71. package/build/services/output-file.d.ts +24 -0
  72. package/build/services/output-file.d.ts.map +1 -0
  73. package/build/services/output-file.js +90 -0
  74. package/build/services/output-file.js.map +1 -0
  75. package/build/services/progress-registry.d.ts +12 -0
  76. package/build/services/progress-registry.d.ts.map +1 -0
  77. package/build/services/progress-registry.js +97 -0
  78. package/build/services/progress-registry.js.map +1 -0
  79. package/build/services/question-registry.d.ts +79 -0
  80. package/build/services/question-registry.d.ts.map +1 -0
  81. package/build/services/question-registry.js +249 -0
  82. package/build/services/question-registry.js.map +1 -0
  83. package/build/services/retry-queue.d.ts +41 -0
  84. package/build/services/retry-queue.d.ts.map +1 -0
  85. package/build/services/retry-queue.js +195 -0
  86. package/build/services/retry-queue.js.map +1 -0
  87. package/build/services/sdk-client-manager.d.ts +149 -0
  88. package/build/services/sdk-client-manager.d.ts.map +1 -0
  89. package/build/services/sdk-client-manager.js +632 -0
  90. package/build/services/sdk-client-manager.js.map +1 -0
  91. package/build/services/sdk-session-adapter.d.ts +203 -0
  92. package/build/services/sdk-session-adapter.d.ts.map +1 -0
  93. package/build/services/sdk-session-adapter.js +1088 -0
  94. package/build/services/sdk-session-adapter.js.map +1 -0
  95. package/build/services/sdk-spawner.d.ts +42 -0
  96. package/build/services/sdk-spawner.d.ts.map +1 -0
  97. package/build/services/sdk-spawner.js +488 -0
  98. package/build/services/sdk-spawner.js.map +1 -0
  99. package/build/services/session-hooks.d.ts +24 -0
  100. package/build/services/session-hooks.d.ts.map +1 -0
  101. package/build/services/session-hooks.js +130 -0
  102. package/build/services/session-hooks.js.map +1 -0
  103. package/build/services/session-snapshot.d.ts +19 -0
  104. package/build/services/session-snapshot.d.ts.map +1 -0
  105. package/build/services/session-snapshot.js +203 -0
  106. package/build/services/session-snapshot.js.map +1 -0
  107. package/build/services/subscription-registry.d.ts +12 -0
  108. package/build/services/subscription-registry.d.ts.map +1 -0
  109. package/build/services/subscription-registry.js +27 -0
  110. package/build/services/subscription-registry.js.map +1 -0
  111. package/build/services/task-manager.d.ts +150 -0
  112. package/build/services/task-manager.d.ts.map +1 -0
  113. package/build/services/task-manager.js +765 -0
  114. package/build/services/task-manager.js.map +1 -0
  115. package/build/services/task-persistence.d.ts +29 -0
  116. package/build/services/task-persistence.d.ts.map +1 -0
  117. package/build/services/task-persistence.js +159 -0
  118. package/build/services/task-persistence.js.map +1 -0
  119. package/build/services/task-status-mapper.d.ts +21 -0
  120. package/build/services/task-status-mapper.d.ts.map +1 -0
  121. package/build/services/task-status-mapper.js +171 -0
  122. package/build/services/task-status-mapper.js.map +1 -0
  123. package/build/templates/index.d.ts +22 -0
  124. package/build/templates/index.d.ts.map +1 -0
  125. package/build/templates/index.js +147 -0
  126. package/build/templates/index.js.map +1 -0
  127. package/build/templates/overlays/coder-csharp.mdx +58 -0
  128. package/build/templates/overlays/coder-go.mdx +53 -0
  129. package/build/templates/overlays/coder-java.mdx +54 -0
  130. package/build/templates/overlays/coder-kotlin.mdx +56 -0
  131. package/build/templates/overlays/coder-nextjs.mdx +65 -0
  132. package/build/templates/overlays/coder-python.mdx +53 -0
  133. package/build/templates/overlays/coder-react.mdx +55 -0
  134. package/build/templates/overlays/coder-ruby.mdx +59 -0
  135. package/build/templates/overlays/coder-rust.mdx +48 -0
  136. package/build/templates/overlays/coder-supabase.mdx +268 -0
  137. package/build/templates/overlays/coder-supastarter.mdx +313 -0
  138. package/build/templates/overlays/coder-swift.mdx +56 -0
  139. package/build/templates/overlays/coder-tauri.mdx +566 -0
  140. package/build/templates/overlays/coder-triggerdev.mdx +296 -0
  141. package/build/templates/overlays/coder-typescript.mdx +45 -0
  142. package/build/templates/overlays/coder-vue.mdx +62 -0
  143. package/build/templates/overlays/planner-architecture.mdx +78 -0
  144. package/build/templates/overlays/planner-bugfix.mdx +36 -0
  145. package/build/templates/overlays/planner-feature.mdx +38 -0
  146. package/build/templates/overlays/planner-migration.mdx +50 -0
  147. package/build/templates/overlays/planner-refactor.mdx +57 -0
  148. package/build/templates/overlays/researcher-library.mdx +59 -0
  149. package/build/templates/overlays/researcher-performance.mdx +68 -0
  150. package/build/templates/overlays/researcher-security.mdx +86 -0
  151. package/build/templates/overlays/tester-graphql.mdx +191 -0
  152. package/build/templates/overlays/tester-playwright.mdx +621 -0
  153. package/build/templates/overlays/tester-rest.mdx +101 -0
  154. package/build/templates/overlays/tester-suite.mdx +177 -0
  155. package/build/templates/super-coder.mdx +529 -0
  156. package/build/templates/super-planner.mdx +568 -0
  157. package/build/templates/super-researcher.mdx +406 -0
  158. package/build/templates/super-tester.mdx +243 -0
  159. package/build/tools/answer-question.d.ts +30 -0
  160. package/build/tools/answer-question.d.ts.map +1 -0
  161. package/build/tools/answer-question.js +108 -0
  162. package/build/tools/answer-question.js.map +1 -0
  163. package/build/tools/cancel-task.d.ts +44 -0
  164. package/build/tools/cancel-task.d.ts.map +1 -0
  165. package/build/tools/cancel-task.js +144 -0
  166. package/build/tools/cancel-task.js.map +1 -0
  167. package/build/tools/send-message.d.ts +39 -0
  168. package/build/tools/send-message.d.ts.map +1 -0
  169. package/build/tools/send-message.js +124 -0
  170. package/build/tools/send-message.js.map +1 -0
  171. package/build/tools/shared-spawn.d.ts +56 -0
  172. package/build/tools/shared-spawn.d.ts.map +1 -0
  173. package/build/tools/shared-spawn.js +114 -0
  174. package/build/tools/shared-spawn.js.map +1 -0
  175. package/build/tools/spawn-agent.d.ts +85 -0
  176. package/build/tools/spawn-agent.d.ts.map +1 -0
  177. package/build/tools/spawn-agent.js +133 -0
  178. package/build/tools/spawn-agent.js.map +1 -0
  179. package/build/tools/spawn-coder.d.ts +70 -0
  180. package/build/tools/spawn-coder.d.ts.map +1 -0
  181. package/build/tools/spawn-coder.js +71 -0
  182. package/build/tools/spawn-coder.js.map +1 -0
  183. package/build/tools/spawn-planner.d.ts +70 -0
  184. package/build/tools/spawn-planner.d.ts.map +1 -0
  185. package/build/tools/spawn-planner.js +71 -0
  186. package/build/tools/spawn-planner.js.map +1 -0
  187. package/build/tools/spawn-researcher.d.ts +70 -0
  188. package/build/tools/spawn-researcher.d.ts.map +1 -0
  189. package/build/tools/spawn-researcher.js +70 -0
  190. package/build/tools/spawn-researcher.js.map +1 -0
  191. package/build/tools/spawn-task.d.ts +74 -0
  192. package/build/tools/spawn-task.d.ts.map +1 -0
  193. package/build/tools/spawn-task.js +107 -0
  194. package/build/tools/spawn-task.js.map +1 -0
  195. package/build/tools/spawn-tester.d.ts +70 -0
  196. package/build/tools/spawn-tester.d.ts.map +1 -0
  197. package/build/tools/spawn-tester.js +69 -0
  198. package/build/tools/spawn-tester.js.map +1 -0
  199. package/build/types.d.ts +101 -0
  200. package/build/types.d.ts.map +1 -0
  201. package/build/types.js +28 -0
  202. package/build/types.js.map +1 -0
  203. package/build/utils/brief-validator.d.ts +30 -0
  204. package/build/utils/brief-validator.d.ts.map +1 -0
  205. package/build/utils/brief-validator.js +254 -0
  206. package/build/utils/brief-validator.js.map +1 -0
  207. package/build/utils/format.d.ts +34 -0
  208. package/build/utils/format.d.ts.map +1 -0
  209. package/build/utils/format.js +55 -0
  210. package/build/utils/format.js.map +1 -0
  211. package/build/utils/sanitize.d.ts +240 -0
  212. package/build/utils/sanitize.d.ts.map +1 -0
  213. package/build/utils/sanitize.js +89 -0
  214. package/build/utils/sanitize.js.map +1 -0
  215. package/build/utils/task-id-generator.d.ts +10 -0
  216. package/build/utils/task-id-generator.d.ts.map +1 -0
  217. package/build/utils/task-id-generator.js +22 -0
  218. package/build/utils/task-id-generator.js.map +1 -0
  219. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-manager.js","sourceRoot":"","sources":["../../src/services/task-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { TaskState } from '../types.js';
2
+ /**
3
+ * Get the storage directory path (~/.super-agents/)
4
+ */
5
+ export declare function getStorageDir(): string;
6
+ /**
7
+ * Get MD5 hash of a string
8
+ */
9
+ export declare function hashCwd(cwd: string): string;
10
+ /**
11
+ * Get the storage file path for a given cwd
12
+ * Returns: ~/.super-agents/{md5(cwd)}.json
13
+ */
14
+ export declare function getStoragePath(cwd: string): string;
15
+ /**
16
+ * Save tasks to disk with atomic write
17
+ */
18
+ export declare function saveTasks(cwd: string, tasks: TaskState[]): boolean;
19
+ /**
20
+ * Load tasks from disk
21
+ * Returns empty array if file doesn't exist or is corrupted
22
+ * Marks orphaned running tasks as failed
23
+ */
24
+ export declare function loadTasks(cwd: string): TaskState[];
25
+ /**
26
+ * Delete storage file for a cwd (for testing/cleanup)
27
+ */
28
+ export declare function deleteStorage(cwd: string): boolean;
29
+ //# sourceMappingURL=task-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-persistence.d.ts","sourceRoot":"","sources":["../../src/services/task-persistence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAIpD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAoED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CA8BlE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAsBlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYlD"}
@@ -0,0 +1,159 @@
1
+ import { createHash } from 'crypto';
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, renameSync, unlinkSync } from 'fs';
3
+ import { homedir } from 'os';
4
+ import { join } from 'path';
5
+ import { TaskStatus } from '../types.js';
6
+ const STORAGE_DIR_NAME = '.super-agents';
7
+ /**
8
+ * Get the storage directory path (~/.super-agents/)
9
+ */
10
+ export function getStorageDir() {
11
+ return join(homedir(), STORAGE_DIR_NAME);
12
+ }
13
+ /**
14
+ * Get MD5 hash of a string
15
+ */
16
+ export function hashCwd(cwd) {
17
+ return createHash('md5').update(cwd).digest('hex');
18
+ }
19
+ /**
20
+ * Get the storage file path for a given cwd
21
+ * Returns: ~/.super-agents/{md5(cwd)}.json
22
+ */
23
+ export function getStoragePath(cwd) {
24
+ return join(getStorageDir(), `${hashCwd(cwd)}.json`);
25
+ }
26
+ /**
27
+ * Ensure storage directory exists
28
+ */
29
+ function ensureStorageDir() {
30
+ try {
31
+ const dir = getStorageDir();
32
+ if (!existsSync(dir)) {
33
+ mkdirSync(dir, { recursive: true });
34
+ }
35
+ return true;
36
+ }
37
+ catch (error) {
38
+ console.error(`[task-persistence] Failed to create storage directory: ${error}`);
39
+ return false;
40
+ }
41
+ }
42
+ /**
43
+ * Serialize tasks for persistence (excludes non-serializable fields)
44
+ */
45
+ function serializeTasks(tasks) {
46
+ const serializable = tasks.map(task => {
47
+ // Exclude session reference as it's non-serializable
48
+ const { session, ...rest } = task;
49
+ return rest;
50
+ });
51
+ return JSON.stringify(serializable, null, 2);
52
+ }
53
+ /**
54
+ * Mark orphaned running/pending tasks as failed (server crashed)
55
+ * Note: RATE_LIMITED tasks are preserved for auto-retry
56
+ */
57
+ function applyTaskDefaults(task) {
58
+ const startTime = task.startTime || new Date().toISOString();
59
+ return {
60
+ ...task,
61
+ startTime,
62
+ lastHeartbeatAt: task.lastHeartbeatAt ?? startTime,
63
+ };
64
+ }
65
+ function recoverOrphanedTasks(tasks) {
66
+ return tasks.map(task => {
67
+ // Keep rate-limited tasks as-is for auto-retry
68
+ if (task.status === TaskStatus.RATE_LIMITED) {
69
+ return applyTaskDefaults(task);
70
+ }
71
+ // Mark running/pending as failed (server crashed)
72
+ if (task.status === TaskStatus.RUNNING || task.status === TaskStatus.PENDING) {
73
+ const updated = {
74
+ ...task,
75
+ status: TaskStatus.FAILED,
76
+ endTime: new Date().toISOString(),
77
+ error: 'Server restarted - task was interrupted',
78
+ timeoutReason: 'server_restart',
79
+ timeoutContext: {
80
+ detectedBy: 'startup_recovery',
81
+ },
82
+ };
83
+ return applyTaskDefaults(updated);
84
+ }
85
+ return applyTaskDefaults(task);
86
+ });
87
+ }
88
+ /**
89
+ * Save tasks to disk with atomic write
90
+ */
91
+ export function saveTasks(cwd, tasks) {
92
+ if (!ensureStorageDir()) {
93
+ return false;
94
+ }
95
+ const filePath = getStoragePath(cwd);
96
+ const tempPath = `${filePath}.tmp`;
97
+ try {
98
+ const data = serializeTasks(tasks);
99
+ // Atomic write: write to temp file, then rename
100
+ writeFileSync(tempPath, data, 'utf-8');
101
+ renameSync(tempPath, filePath);
102
+ return true;
103
+ }
104
+ catch (error) {
105
+ console.error(`[task-persistence] Failed to save tasks: ${error}`);
106
+ // Clean up temp file if it exists
107
+ try {
108
+ if (existsSync(tempPath)) {
109
+ unlinkSync(tempPath);
110
+ }
111
+ }
112
+ catch {
113
+ // Ignore cleanup errors
114
+ }
115
+ return false;
116
+ }
117
+ }
118
+ /**
119
+ * Load tasks from disk
120
+ * Returns empty array if file doesn't exist or is corrupted
121
+ * Marks orphaned running tasks as failed
122
+ */
123
+ export function loadTasks(cwd) {
124
+ const filePath = getStoragePath(cwd);
125
+ if (!existsSync(filePath)) {
126
+ return [];
127
+ }
128
+ try {
129
+ const data = readFileSync(filePath, 'utf-8');
130
+ const tasks = JSON.parse(data);
131
+ if (!Array.isArray(tasks)) {
132
+ console.error('[task-persistence] Invalid tasks file format, starting fresh');
133
+ return [];
134
+ }
135
+ // Recover orphaned tasks (server crashed while they were running)
136
+ return recoverOrphanedTasks(tasks);
137
+ }
138
+ catch (error) {
139
+ console.error(`[task-persistence] Failed to load tasks (corrupted?), starting fresh: ${error}`);
140
+ return [];
141
+ }
142
+ }
143
+ /**
144
+ * Delete storage file for a cwd (for testing/cleanup)
145
+ */
146
+ export function deleteStorage(cwd) {
147
+ const filePath = getStoragePath(cwd);
148
+ try {
149
+ if (existsSync(filePath)) {
150
+ unlinkSync(filePath);
151
+ }
152
+ return true;
153
+ }
154
+ catch (error) {
155
+ console.error(`[task-persistence] Failed to delete storage: ${error}`);
156
+ return false;
157
+ }
158
+ }
159
+ //# sourceMappingURL=task-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-persistence.js","sourceRoot":"","sources":["../../src/services/task-persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Task as MCPTask } from '@modelcontextprotocol/sdk/types.js';
2
+ import { TaskState, TaskStatus } from '../types.js';
3
+ type MCPStatus = 'working' | 'completed' | 'failed' | 'cancelled';
4
+ /**
5
+ * Map internal 8-state model to MCP 5-state model.
6
+ */
7
+ export declare function mapInternalStatusToMCP(status: TaskStatus): MCPStatus;
8
+ /**
9
+ * Build a human-readable status message from internal task state.
10
+ */
11
+ export declare function buildStatusMessage(task: TaskState): string;
12
+ /**
13
+ * Compute recommended poll interval based on task state.
14
+ */
15
+ export declare function computePollInterval(task: TaskState): number | undefined;
16
+ /**
17
+ * Build an MCP Task object from internal TaskState.
18
+ */
19
+ export declare function buildMCPTask(task: TaskState): MCPTask;
20
+ export {};
21
+ //# sourceMappingURL=task-status-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-status-mapper.d.ts","sourceRoot":"","sources":["../../src/services/task-status-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpD,KAAK,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAiBpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CA6F1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CA0BvE;AAwBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAUrD"}
@@ -0,0 +1,171 @@
1
+ import { TaskStatus } from '../types.js';
2
+ import { TASK_TTL_MS } from '../config/timeouts.js';
3
+ /**
4
+ * Map internal 8-state model to MCP 5-state model.
5
+ */
6
+ export function mapInternalStatusToMCP(status) {
7
+ switch (status) {
8
+ case TaskStatus.PENDING:
9
+ case TaskStatus.WAITING:
10
+ case TaskStatus.RUNNING:
11
+ case TaskStatus.RATE_LIMITED:
12
+ return 'working';
13
+ case TaskStatus.COMPLETED:
14
+ return 'completed';
15
+ case TaskStatus.FAILED:
16
+ case TaskStatus.TIMED_OUT:
17
+ return 'failed';
18
+ case TaskStatus.CANCELLED:
19
+ return 'cancelled';
20
+ default:
21
+ return 'working';
22
+ }
23
+ }
24
+ /**
25
+ * Build a human-readable status message from internal task state.
26
+ */
27
+ export function buildStatusMessage(task) {
28
+ switch (task.status) {
29
+ case TaskStatus.PENDING:
30
+ return 'Pending: awaiting execution slot';
31
+ case TaskStatus.WAITING: {
32
+ const deps = task.dependsOn?.join(', ') || 'unknown';
33
+ return `Waiting for dependencies: ${deps}`;
34
+ }
35
+ case TaskStatus.RUNNING: {
36
+ const parts = ['Running'];
37
+ if (task.sessionId) {
38
+ parts.push(`session: ${task.sessionId.slice(0, 8)}...`);
39
+ }
40
+ if (task.timeoutAt) {
41
+ const remaining = new Date(task.timeoutAt).getTime() - Date.now();
42
+ if (remaining > 0) {
43
+ parts.push(`timeout in ${Math.ceil(remaining / 1000)}s`);
44
+ }
45
+ }
46
+ if (task.quotaInfo && task.quotaInfo.remainingPercentage !== undefined && task.quotaInfo.remainingPercentage <= 10) {
47
+ parts.push(`quota: ${task.quotaInfo.remainingPercentage}%`);
48
+ }
49
+ return parts.join(' | ');
50
+ }
51
+ case TaskStatus.COMPLETED: {
52
+ const parts = ['Completed'];
53
+ if (task.exitCode !== undefined) {
54
+ parts.push(`exit: ${task.exitCode}`);
55
+ }
56
+ return parts.join(' | ');
57
+ }
58
+ case TaskStatus.FAILED: {
59
+ const parts = ['Failed'];
60
+ if (task.failureContext) {
61
+ const { errorType, statusCode, errorContext } = task.failureContext;
62
+ if (statusCode)
63
+ parts.push(`status: ${statusCode}`);
64
+ if (errorType)
65
+ parts.push(`type: ${errorType}`);
66
+ if (errorContext)
67
+ parts.push(`context: ${errorContext}`);
68
+ if (task.failureContext.recoverable)
69
+ parts.push('recoverable');
70
+ }
71
+ if (task.error) {
72
+ const truncated = task.error.length > 100 ? task.error.slice(0, 100) + '...' : task.error;
73
+ parts.push(truncated);
74
+ }
75
+ return parts.join(' | ');
76
+ }
77
+ case TaskStatus.CANCELLED:
78
+ return 'Cancelled';
79
+ case TaskStatus.RATE_LIMITED: {
80
+ const parts = ['Rate limited'];
81
+ const attempt = (task.retryInfo?.retryCount ?? 0) + 1;
82
+ const max = task.retryInfo?.maxRetries ?? 6;
83
+ parts.push(`attempt ${attempt}/${max}`);
84
+ if (task.failureContext?.statusCode) {
85
+ parts.push(`status: ${task.failureContext.statusCode}`);
86
+ }
87
+ if (task.quotaInfo?.resetDate) {
88
+ const resetAt = new Date(task.quotaInfo.resetDate);
89
+ parts.push(`resets: ${resetAt.toISOString()}`);
90
+ }
91
+ else if (task.retryInfo?.nextRetryTime) {
92
+ const retryAt = new Date(task.retryInfo.nextRetryTime);
93
+ parts.push(`retry at: ${retryAt.toISOString()}`);
94
+ }
95
+ return parts.join(' | ');
96
+ }
97
+ case TaskStatus.TIMED_OUT: {
98
+ const parts = ['Timed out'];
99
+ if (task.timeout)
100
+ parts.push(`after ${task.timeout}ms`);
101
+ if (task.timeoutReason)
102
+ parts.push(`reason: ${task.timeoutReason}`);
103
+ return parts.join(' | ');
104
+ }
105
+ default:
106
+ return task.status;
107
+ }
108
+ }
109
+ /**
110
+ * Compute recommended poll interval based on task state.
111
+ */
112
+ export function computePollInterval(task) {
113
+ switch (task.status) {
114
+ case TaskStatus.PENDING:
115
+ case TaskStatus.RUNNING:
116
+ return 30_000;
117
+ case TaskStatus.WAITING:
118
+ return 60_000;
119
+ case TaskStatus.RATE_LIMITED: {
120
+ if (task.quotaInfo?.resetDate) {
121
+ const waitMs = new Date(task.quotaInfo.resetDate).getTime() - Date.now();
122
+ return Math.max(30_000, Math.min(waitMs, 300_000));
123
+ }
124
+ if (task.retryInfo?.nextRetryTime) {
125
+ const waitMs = new Date(task.retryInfo.nextRetryTime).getTime() - Date.now();
126
+ return Math.max(30_000, waitMs);
127
+ }
128
+ return 30_000;
129
+ }
130
+ case TaskStatus.COMPLETED:
131
+ case TaskStatus.FAILED:
132
+ case TaskStatus.CANCELLED:
133
+ case TaskStatus.TIMED_OUT:
134
+ return undefined;
135
+ default:
136
+ return 30_000;
137
+ }
138
+ }
139
+ function getLastUpdatedAt(task) {
140
+ const candidates = [
141
+ task.endTime,
142
+ task.lastOutputAt,
143
+ task.lastHeartbeatAt,
144
+ task.startTime,
145
+ ].filter((value) => Boolean(value));
146
+ let latest = task.startTime;
147
+ let latestMs = new Date(latest).getTime();
148
+ for (const ts of candidates) {
149
+ const ms = new Date(ts).getTime();
150
+ if (Number.isFinite(ms) && ms > latestMs) {
151
+ latestMs = ms;
152
+ latest = ts;
153
+ }
154
+ }
155
+ return latest;
156
+ }
157
+ /**
158
+ * Build an MCP Task object from internal TaskState.
159
+ */
160
+ export function buildMCPTask(task) {
161
+ return {
162
+ taskId: task.id,
163
+ status: mapInternalStatusToMCP(task.status),
164
+ ttl: TASK_TTL_MS,
165
+ createdAt: task.startTime,
166
+ lastUpdatedAt: getLastUpdatedAt(task),
167
+ pollInterval: computePollInterval(task),
168
+ statusMessage: buildStatusMessage(task),
169
+ };
170
+ }
171
+ //# sourceMappingURL=task-status-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-status-mapper.js","sourceRoot":"","sources":["../../src/services/task-status-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare const TASK_TYPES: {
2
+ readonly 'super-coder': "super coder for all coding tasks";
3
+ readonly 'super-planner': "super planner for all planning tasks";
4
+ readonly 'super-researcher': "super researcher for answering any question";
5
+ readonly 'super-tester': "super tester to test stuff properly";
6
+ };
7
+ export type TaskType = keyof typeof TASK_TYPES;
8
+ export declare const TASK_TYPE_IDS: TaskType[];
9
+ export declare function isValidTaskType(type: string): type is TaskType;
10
+ /**
11
+ * Matryoshka template resolution:
12
+ * base template (super-coder.mdx)
13
+ * + specialization overlay (overlays/coder-typescript.mdx)
14
+ * + user prompt (injected at {{user_prompt}})
15
+ *
16
+ * The overlay is inserted before the "## BEGIN" section of the base template.
17
+ * If no overlay or no BEGIN section, overlay is appended before user prompt injection.
18
+ *
19
+ * When MCP_ENABLED_TOOLS is set, TOOLKIT table rows are filtered to only show enabled tools.
20
+ */
21
+ export declare function applyTemplate(taskType: TaskType, userPrompt: string, specialization?: string): string;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,UAAU,CAAC;AAC/C,eAAO,MAAM,aAAa,EAA8B,QAAQ,EAAE,CAAC;AAmFnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,QAAQ,CAE9D;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCrG"}
@@ -0,0 +1,147 @@
1
+ import { readFileSync } from 'fs';
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, join } from 'path';
4
+ const __dirname = dirname(fileURLToPath(import.meta.url));
5
+ export const TASK_TYPES = {
6
+ 'super-coder': 'super coder for all coding tasks',
7
+ 'super-planner': 'super planner for all planning tasks',
8
+ 'super-researcher': 'super researcher for answering any question',
9
+ 'super-tester': 'super tester to test stuff properly',
10
+ };
11
+ export const TASK_TYPE_IDS = Object.keys(TASK_TYPES);
12
+ const templateCache = new Map();
13
+ /**
14
+ * Parse MCP_ENABLED_TOOLS env var.
15
+ * When set (comma-separated), only matching tool rows in TOOLKIT tables are kept.
16
+ * Example: MCP_ENABLED_TOOLS=playwright-cli,warpgrep_codebase_search,bash
17
+ * Returns null when unset (meaning all tools enabled).
18
+ */
19
+ function getEnabledTools() {
20
+ const raw = process.env.MCP_ENABLED_TOOLS;
21
+ if (!raw)
22
+ return null;
23
+ return new Set(raw.split(',').map(t => t.trim().toLowerCase()).filter(Boolean));
24
+ }
25
+ /**
26
+ * Filter TOOLKIT table rows based on MCP_ENABLED_TOOLS.
27
+ * Matches tool names in backticks at the start of table cells: | `tool_name` |
28
+ * Always keeps the header row and separator row.
29
+ * Also keeps non-table content untouched.
30
+ */
31
+ function filterToolkitSection(content, enabledTools) {
32
+ const lines = content.split('\n');
33
+ const result = [];
34
+ let inToolkitTable = false;
35
+ let headerRowsPassed = 0;
36
+ for (const line of lines) {
37
+ // Detect toolkit table by looking for rows starting with | and containing backtick-wrapped tool names
38
+ const isTableRow = line.trimStart().startsWith('|') && line.trimEnd().endsWith('|');
39
+ if (isTableRow) {
40
+ // Check if this is a header or separator row
41
+ const isSeparator = /^\s*\|[\s-:|]+\|\s*$/.test(line);
42
+ const isHeader = headerRowsPassed === 0 && !isSeparator;
43
+ if (isHeader) {
44
+ // Check if this looks like a TOOLKIT table (has Tool/Purpose-like headers)
45
+ if (/\bTool\b/i.test(line) || /\bPurpose\b/i.test(line) || /\bWhen\b/i.test(line)) {
46
+ inToolkitTable = true;
47
+ headerRowsPassed = 1;
48
+ result.push(line);
49
+ continue;
50
+ }
51
+ }
52
+ if (inToolkitTable) {
53
+ if (isSeparator) {
54
+ headerRowsPassed++;
55
+ result.push(line);
56
+ continue;
57
+ }
58
+ // Extract tool name from backticks in the first cell
59
+ const toolMatch = line.match(/\|\s*`([^`]+)`/);
60
+ if (toolMatch) {
61
+ const toolName = toolMatch[1].toLowerCase().split(/\s/)[0]; // first word only
62
+ if (enabledTools.has(toolName) || enabledTools.has(toolName.replace(/_/g, '-'))) {
63
+ result.push(line);
64
+ }
65
+ // Skip if not in enabled list
66
+ continue;
67
+ }
68
+ // Non-backtick table row in toolkit section — keep it
69
+ result.push(line);
70
+ continue;
71
+ }
72
+ }
73
+ else {
74
+ // Non-table row: reset toolkit table tracking
75
+ if (inToolkitTable && !isTableRow) {
76
+ inToolkitTable = false;
77
+ headerRowsPassed = 0;
78
+ }
79
+ }
80
+ result.push(line);
81
+ }
82
+ return result.join('\n');
83
+ }
84
+ export function isValidTaskType(type) {
85
+ return type in TASK_TYPES;
86
+ }
87
+ function loadFile(filePath) {
88
+ if (templateCache.has(filePath))
89
+ return templateCache.get(filePath);
90
+ try {
91
+ const content = readFileSync(filePath, 'utf8');
92
+ templateCache.set(filePath, content);
93
+ return content;
94
+ }
95
+ catch {
96
+ return null;
97
+ }
98
+ }
99
+ /**
100
+ * Matryoshka template resolution:
101
+ * base template (super-coder.mdx)
102
+ * + specialization overlay (overlays/coder-typescript.mdx)
103
+ * + user prompt (injected at {{user_prompt}})
104
+ *
105
+ * The overlay is inserted before the "## BEGIN" section of the base template.
106
+ * If no overlay or no BEGIN section, overlay is appended before user prompt injection.
107
+ *
108
+ * When MCP_ENABLED_TOOLS is set, TOOLKIT table rows are filtered to only show enabled tools.
109
+ */
110
+ export function applyTemplate(taskType, userPrompt, specialization) {
111
+ const basePath = join(__dirname, `${taskType}.mdx`);
112
+ const base = loadFile(basePath);
113
+ if (!base)
114
+ return userPrompt;
115
+ // Load specialization overlay if requested
116
+ let overlay = '';
117
+ if (specialization) {
118
+ // Map task type to overlay prefix: super-coder -> coder, super-planner -> planner
119
+ const overlayPrefix = taskType.replace('super-', '');
120
+ const overlayPath = join(__dirname, 'overlays', `${overlayPrefix}-${specialization}.mdx`);
121
+ overlay = loadFile(overlayPath) || '';
122
+ }
123
+ // Combine base + overlay
124
+ let combined = base;
125
+ if (overlay) {
126
+ // Insert overlay before the ## BEGIN section for natural reading order
127
+ if (combined.includes('## BEGIN')) {
128
+ combined = combined.replace('## BEGIN', `${overlay}\n\n---\n\n## BEGIN`);
129
+ }
130
+ else {
131
+ // Fallback: append overlay before user prompt position
132
+ combined = combined.includes('{{user_prompt}}')
133
+ ? combined.replace('{{user_prompt}}', `\n\n${overlay}\n\n---\n\n{{user_prompt}}`)
134
+ : `${combined}\n\n---\n\n${overlay}`;
135
+ }
136
+ }
137
+ // Apply tool filtering if MCP_ENABLED_TOOLS is set
138
+ const enabledTools = getEnabledTools();
139
+ if (enabledTools) {
140
+ combined = filterToolkitSection(combined, enabledTools);
141
+ }
142
+ // Inject user prompt
143
+ return combined.includes('{{user_prompt}}')
144
+ ? combined.replace('{{user_prompt}}', userPrompt)
145
+ : `${combined}\n\n---\n\n${userPrompt}`;
146
+ }
147
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}