tuplet 2.7.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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/dist/agent.d.ts +46 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +393 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/built-in-agents/explore.d.ts +9 -0
  8. package/dist/built-in-agents/explore.d.ts.map +1 -0
  9. package/dist/built-in-agents/explore.js +40 -0
  10. package/dist/built-in-agents/explore.js.map +1 -0
  11. package/dist/built-in-agents/index.d.ts +15 -0
  12. package/dist/built-in-agents/index.d.ts.map +1 -0
  13. package/dist/built-in-agents/index.js +19 -0
  14. package/dist/built-in-agents/index.js.map +1 -0
  15. package/dist/built-in-agents/plan.d.ts +10 -0
  16. package/dist/built-in-agents/plan.d.ts.map +1 -0
  17. package/dist/built-in-agents/plan.js +62 -0
  18. package/dist/built-in-agents/plan.js.map +1 -0
  19. package/dist/built-in-agents/worker.d.ts +9 -0
  20. package/dist/built-in-agents/worker.d.ts.map +1 -0
  21. package/dist/built-in-agents/worker.js +53 -0
  22. package/dist/built-in-agents/worker.js.map +1 -0
  23. package/dist/constants.d.ts +7 -0
  24. package/dist/constants.d.ts.map +1 -0
  25. package/dist/constants.js +18 -0
  26. package/dist/constants.js.map +1 -0
  27. package/dist/context-manager.d.ts +65 -0
  28. package/dist/context-manager.d.ts.map +1 -0
  29. package/dist/context-manager.js +272 -0
  30. package/dist/context-manager.js.map +1 -0
  31. package/dist/context-manager.test.d.ts +2 -0
  32. package/dist/context-manager.test.d.ts.map +1 -0
  33. package/dist/context-manager.test.js +394 -0
  34. package/dist/context-manager.test.js.map +1 -0
  35. package/dist/executor.d.ts +29 -0
  36. package/dist/executor.d.ts.map +1 -0
  37. package/dist/executor.js +399 -0
  38. package/dist/executor.js.map +1 -0
  39. package/dist/index.d.ts +24 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +40 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/prompt/index.d.ts +9 -0
  44. package/dist/prompt/index.d.ts.map +1 -0
  45. package/dist/prompt/index.js +10 -0
  46. package/dist/prompt/index.js.map +1 -0
  47. package/dist/prompt/main-agent-builder.d.ts +81 -0
  48. package/dist/prompt/main-agent-builder.d.ts.map +1 -0
  49. package/dist/prompt/main-agent-builder.js +287 -0
  50. package/dist/prompt/main-agent-builder.js.map +1 -0
  51. package/dist/prompt/sub-agent-builder.d.ts +133 -0
  52. package/dist/prompt/sub-agent-builder.d.ts.map +1 -0
  53. package/dist/prompt/sub-agent-builder.js +337 -0
  54. package/dist/prompt/sub-agent-builder.js.map +1 -0
  55. package/dist/prompt/templates.d.ts +87 -0
  56. package/dist/prompt/templates.d.ts.map +1 -0
  57. package/dist/prompt/templates.js +343 -0
  58. package/dist/prompt/templates.js.map +1 -0
  59. package/dist/prompt/types.d.ts +159 -0
  60. package/dist/prompt/types.d.ts.map +1 -0
  61. package/dist/prompt/types.js +5 -0
  62. package/dist/prompt/types.js.map +1 -0
  63. package/dist/prompt.d.ts +32 -0
  64. package/dist/prompt.d.ts.map +1 -0
  65. package/dist/prompt.js +86 -0
  66. package/dist/prompt.js.map +1 -0
  67. package/dist/providers/dataset/base.d.ts +74 -0
  68. package/dist/providers/dataset/base.d.ts.map +1 -0
  69. package/dist/providers/dataset/base.js +7 -0
  70. package/dist/providers/dataset/base.js.map +1 -0
  71. package/dist/providers/dataset/index.d.ts +8 -0
  72. package/dist/providers/dataset/index.d.ts.map +1 -0
  73. package/dist/providers/dataset/index.js +8 -0
  74. package/dist/providers/dataset/index.js.map +1 -0
  75. package/dist/providers/dataset/recorder.d.ts +46 -0
  76. package/dist/providers/dataset/recorder.d.ts.map +1 -0
  77. package/dist/providers/dataset/recorder.js +105 -0
  78. package/dist/providers/dataset/recorder.js.map +1 -0
  79. package/dist/providers/dataset/replayer.d.ts +46 -0
  80. package/dist/providers/dataset/replayer.d.ts.map +1 -0
  81. package/dist/providers/dataset/replayer.js +163 -0
  82. package/dist/providers/dataset/replayer.js.map +1 -0
  83. package/dist/providers/dataset/tester.d.ts +89 -0
  84. package/dist/providers/dataset/tester.d.ts.map +1 -0
  85. package/dist/providers/dataset/tester.js +143 -0
  86. package/dist/providers/dataset/tester.js.map +1 -0
  87. package/dist/providers/env/memory.d.ts +14 -0
  88. package/dist/providers/env/memory.d.ts.map +1 -0
  89. package/dist/providers/env/memory.js +19 -0
  90. package/dist/providers/env/memory.js.map +1 -0
  91. package/dist/providers/index.d.ts +12 -0
  92. package/dist/providers/index.d.ts.map +1 -0
  93. package/dist/providers/index.js +10 -0
  94. package/dist/providers/index.js.map +1 -0
  95. package/dist/providers/llm/base.d.ts +7 -0
  96. package/dist/providers/llm/base.d.ts.map +1 -0
  97. package/dist/providers/llm/base.js +7 -0
  98. package/dist/providers/llm/base.js.map +1 -0
  99. package/dist/providers/llm/claude.d.ts +32 -0
  100. package/dist/providers/llm/claude.d.ts.map +1 -0
  101. package/dist/providers/llm/claude.js +171 -0
  102. package/dist/providers/llm/claude.js.map +1 -0
  103. package/dist/providers/llm/openai.d.ts +26 -0
  104. package/dist/providers/llm/openai.d.ts.map +1 -0
  105. package/dist/providers/llm/openai.js +174 -0
  106. package/dist/providers/llm/openai.js.map +1 -0
  107. package/dist/providers/llm/openrouter.d.ts +43 -0
  108. package/dist/providers/llm/openrouter.d.ts.map +1 -0
  109. package/dist/providers/llm/openrouter.js +288 -0
  110. package/dist/providers/llm/openrouter.js.map +1 -0
  111. package/dist/providers/logger/base.d.ts +7 -0
  112. package/dist/providers/logger/base.d.ts.map +1 -0
  113. package/dist/providers/logger/base.js +7 -0
  114. package/dist/providers/logger/base.js.map +1 -0
  115. package/dist/providers/logger/console.d.ts +29 -0
  116. package/dist/providers/logger/console.d.ts.map +1 -0
  117. package/dist/providers/logger/console.js +70 -0
  118. package/dist/providers/logger/console.js.map +1 -0
  119. package/dist/providers/repository/base.d.ts +7 -0
  120. package/dist/providers/repository/base.d.ts.map +1 -0
  121. package/dist/providers/repository/base.js +7 -0
  122. package/dist/providers/repository/base.js.map +1 -0
  123. package/dist/providers/repository/memory.d.ts +21 -0
  124. package/dist/providers/repository/memory.d.ts.map +1 -0
  125. package/dist/providers/repository/memory.js +50 -0
  126. package/dist/providers/repository/memory.js.map +1 -0
  127. package/dist/providers/workspace/file.d.ts +26 -0
  128. package/dist/providers/workspace/file.d.ts.map +1 -0
  129. package/dist/providers/workspace/file.js +151 -0
  130. package/dist/providers/workspace/file.js.map +1 -0
  131. package/dist/providers/workspace/index.d.ts +7 -0
  132. package/dist/providers/workspace/index.d.ts.map +1 -0
  133. package/dist/providers/workspace/index.js +6 -0
  134. package/dist/providers/workspace/index.js.map +1 -0
  135. package/dist/providers/workspace/memory.d.ts +26 -0
  136. package/dist/providers/workspace/memory.d.ts.map +1 -0
  137. package/dist/providers/workspace/memory.js +136 -0
  138. package/dist/providers/workspace/memory.js.map +1 -0
  139. package/dist/providers/workspace/types.d.ts +27 -0
  140. package/dist/providers/workspace/types.d.ts.map +1 -0
  141. package/dist/providers/workspace/types.js +8 -0
  142. package/dist/providers/workspace/types.js.map +1 -0
  143. package/dist/providers/workspace/workspace-provider.test.d.ts +2 -0
  144. package/dist/providers/workspace/workspace-provider.test.d.ts.map +1 -0
  145. package/dist/providers/workspace/workspace-provider.test.js +250 -0
  146. package/dist/providers/workspace/workspace-provider.test.js.map +1 -0
  147. package/dist/shell/commands/browse.d.ts +6 -0
  148. package/dist/shell/commands/browse.d.ts.map +1 -0
  149. package/dist/shell/commands/browse.js +158 -0
  150. package/dist/shell/commands/browse.js.map +1 -0
  151. package/dist/shell/commands/cat.d.ts +6 -0
  152. package/dist/shell/commands/cat.d.ts.map +1 -0
  153. package/dist/shell/commands/cat.js +104 -0
  154. package/dist/shell/commands/cat.js.map +1 -0
  155. package/dist/shell/commands/curl.d.ts +6 -0
  156. package/dist/shell/commands/curl.d.ts.map +1 -0
  157. package/dist/shell/commands/curl.js +190 -0
  158. package/dist/shell/commands/curl.js.map +1 -0
  159. package/dist/shell/commands/date.d.ts +6 -0
  160. package/dist/shell/commands/date.d.ts.map +1 -0
  161. package/dist/shell/commands/date.js +151 -0
  162. package/dist/shell/commands/date.js.map +1 -0
  163. package/dist/shell/commands/echo.d.ts +6 -0
  164. package/dist/shell/commands/echo.d.ts.map +1 -0
  165. package/dist/shell/commands/echo.js +48 -0
  166. package/dist/shell/commands/echo.js.map +1 -0
  167. package/dist/shell/commands/env.d.ts +8 -0
  168. package/dist/shell/commands/env.d.ts.map +1 -0
  169. package/dist/shell/commands/env.js +41 -0
  170. package/dist/shell/commands/env.js.map +1 -0
  171. package/dist/shell/commands/file.d.ts +6 -0
  172. package/dist/shell/commands/file.d.ts.map +1 -0
  173. package/dist/shell/commands/file.js +213 -0
  174. package/dist/shell/commands/file.js.map +1 -0
  175. package/dist/shell/commands/find.d.ts +6 -0
  176. package/dist/shell/commands/find.d.ts.map +1 -0
  177. package/dist/shell/commands/find.js +100 -0
  178. package/dist/shell/commands/find.js.map +1 -0
  179. package/dist/shell/commands/grep.d.ts +6 -0
  180. package/dist/shell/commands/grep.d.ts.map +1 -0
  181. package/dist/shell/commands/grep.js +229 -0
  182. package/dist/shell/commands/grep.js.map +1 -0
  183. package/dist/shell/commands/head.d.ts +6 -0
  184. package/dist/shell/commands/head.d.ts.map +1 -0
  185. package/dist/shell/commands/head.js +88 -0
  186. package/dist/shell/commands/head.js.map +1 -0
  187. package/dist/shell/commands/index.d.ts +25 -0
  188. package/dist/shell/commands/index.d.ts.map +1 -0
  189. package/dist/shell/commands/index.js +43 -0
  190. package/dist/shell/commands/index.js.map +1 -0
  191. package/dist/shell/commands/jq.d.ts +8 -0
  192. package/dist/shell/commands/jq.d.ts.map +1 -0
  193. package/dist/shell/commands/jq.js +233 -0
  194. package/dist/shell/commands/jq.js.map +1 -0
  195. package/dist/shell/commands/ls.d.ts +6 -0
  196. package/dist/shell/commands/ls.d.ts.map +1 -0
  197. package/dist/shell/commands/ls.js +88 -0
  198. package/dist/shell/commands/ls.js.map +1 -0
  199. package/dist/shell/commands/mkdir.d.ts +6 -0
  200. package/dist/shell/commands/mkdir.d.ts.map +1 -0
  201. package/dist/shell/commands/mkdir.js +43 -0
  202. package/dist/shell/commands/mkdir.js.map +1 -0
  203. package/dist/shell/commands/rm.d.ts +6 -0
  204. package/dist/shell/commands/rm.d.ts.map +1 -0
  205. package/dist/shell/commands/rm.js +64 -0
  206. package/dist/shell/commands/rm.js.map +1 -0
  207. package/dist/shell/commands/sed.d.ts +6 -0
  208. package/dist/shell/commands/sed.d.ts.map +1 -0
  209. package/dist/shell/commands/sed.js +414 -0
  210. package/dist/shell/commands/sed.js.map +1 -0
  211. package/dist/shell/commands/sort.d.ts +6 -0
  212. package/dist/shell/commands/sort.d.ts.map +1 -0
  213. package/dist/shell/commands/sort.js +109 -0
  214. package/dist/shell/commands/sort.js.map +1 -0
  215. package/dist/shell/commands/tail.d.ts +6 -0
  216. package/dist/shell/commands/tail.d.ts.map +1 -0
  217. package/dist/shell/commands/tail.js +68 -0
  218. package/dist/shell/commands/tail.js.map +1 -0
  219. package/dist/shell/commands/wc.d.ts +6 -0
  220. package/dist/shell/commands/wc.d.ts.map +1 -0
  221. package/dist/shell/commands/wc.js +86 -0
  222. package/dist/shell/commands/wc.js.map +1 -0
  223. package/dist/shell/index.d.ts +10 -0
  224. package/dist/shell/index.d.ts.map +1 -0
  225. package/dist/shell/index.js +10 -0
  226. package/dist/shell/index.js.map +1 -0
  227. package/dist/shell/limits.d.ts +5 -0
  228. package/dist/shell/limits.d.ts.map +1 -0
  229. package/dist/shell/limits.js +5 -0
  230. package/dist/shell/limits.js.map +1 -0
  231. package/dist/shell/parser.d.ts +8 -0
  232. package/dist/shell/parser.d.ts.map +1 -0
  233. package/dist/shell/parser.js +307 -0
  234. package/dist/shell/parser.js.map +1 -0
  235. package/dist/shell/path-validation.d.ts +35 -0
  236. package/dist/shell/path-validation.d.ts.map +1 -0
  237. package/dist/shell/path-validation.js +81 -0
  238. package/dist/shell/path-validation.js.map +1 -0
  239. package/dist/shell/shell.d.ts +66 -0
  240. package/dist/shell/shell.d.ts.map +1 -0
  241. package/dist/shell/shell.js +301 -0
  242. package/dist/shell/shell.js.map +1 -0
  243. package/dist/shell/shell.test.d.ts +2 -0
  244. package/dist/shell/shell.test.d.ts.map +1 -0
  245. package/dist/shell/shell.test.js +1088 -0
  246. package/dist/shell/shell.test.js.map +1 -0
  247. package/dist/shell/types.d.ts +82 -0
  248. package/dist/shell/types.d.ts.map +1 -0
  249. package/dist/shell/types.js +5 -0
  250. package/dist/shell/types.js.map +1 -0
  251. package/dist/summarizer.d.ts +28 -0
  252. package/dist/summarizer.d.ts.map +1 -0
  253. package/dist/summarizer.js +136 -0
  254. package/dist/summarizer.js.map +1 -0
  255. package/dist/summarizer.test.d.ts +2 -0
  256. package/dist/summarizer.test.d.ts.map +1 -0
  257. package/dist/summarizer.test.js +192 -0
  258. package/dist/summarizer.test.js.map +1 -0
  259. package/dist/tools/ask-user.d.ts +11 -0
  260. package/dist/tools/ask-user.d.ts.map +1 -0
  261. package/dist/tools/ask-user.js +35 -0
  262. package/dist/tools/ask-user.js.map +1 -0
  263. package/dist/tools/index.d.ts +11 -0
  264. package/dist/tools/index.d.ts.map +1 -0
  265. package/dist/tools/index.js +18 -0
  266. package/dist/tools/index.js.map +1 -0
  267. package/dist/tools/output.d.ts +15 -0
  268. package/dist/tools/output.d.ts.map +1 -0
  269. package/dist/tools/output.js +40 -0
  270. package/dist/tools/output.js.map +1 -0
  271. package/dist/tools/shell.d.ts +13 -0
  272. package/dist/tools/shell.d.ts.map +1 -0
  273. package/dist/tools/shell.js +166 -0
  274. package/dist/tools/shell.js.map +1 -0
  275. package/dist/tools/sub-agent.d.ts +25 -0
  276. package/dist/tools/sub-agent.d.ts.map +1 -0
  277. package/dist/tools/sub-agent.js +312 -0
  278. package/dist/tools/sub-agent.js.map +1 -0
  279. package/dist/tools/tasks.d.ts +170 -0
  280. package/dist/tools/tasks.d.ts.map +1 -0
  281. package/dist/tools/tasks.js +947 -0
  282. package/dist/tools/tasks.js.map +1 -0
  283. package/dist/trace/builder.d.ts +54 -0
  284. package/dist/trace/builder.d.ts.map +1 -0
  285. package/dist/trace/builder.js +229 -0
  286. package/dist/trace/builder.js.map +1 -0
  287. package/dist/trace/console.d.ts +45 -0
  288. package/dist/trace/console.d.ts.map +1 -0
  289. package/dist/trace/console.js +143 -0
  290. package/dist/trace/console.js.map +1 -0
  291. package/dist/trace/index.d.ts +11 -0
  292. package/dist/trace/index.d.ts.map +1 -0
  293. package/dist/trace/index.js +11 -0
  294. package/dist/trace/index.js.map +1 -0
  295. package/dist/trace/openrouter-pricing.d.ts +9 -0
  296. package/dist/trace/openrouter-pricing.d.ts.map +1 -0
  297. package/dist/trace/openrouter-pricing.js +321 -0
  298. package/dist/trace/openrouter-pricing.js.map +1 -0
  299. package/dist/trace/pricing.d.ts +13 -0
  300. package/dist/trace/pricing.d.ts.map +1 -0
  301. package/dist/trace/pricing.js +41 -0
  302. package/dist/trace/pricing.js.map +1 -0
  303. package/dist/trace/types.d.ts +142 -0
  304. package/dist/trace/types.d.ts.map +1 -0
  305. package/dist/trace/types.js +16 -0
  306. package/dist/trace/types.js.map +1 -0
  307. package/dist/trace.d.ts +5 -0
  308. package/dist/trace.d.ts.map +1 -0
  309. package/dist/trace.js +5 -0
  310. package/dist/trace.js.map +1 -0
  311. package/dist/types.d.ts +382 -0
  312. package/dist/types.d.ts.map +1 -0
  313. package/dist/types.js +5 -0
  314. package/dist/types.js.map +1 -0
  315. package/dist/workspace.d.ts +287 -0
  316. package/dist/workspace.d.ts.map +1 -0
  317. package/dist/workspace.js +560 -0
  318. package/dist/workspace.js.map +1 -0
  319. package/package.json +47 -0
@@ -0,0 +1,337 @@
1
+ /**
2
+ * Sub-Agent Prompt Builder
3
+ *
4
+ * Fluent API for building sub-agent system prompts.
5
+ */
6
+ import { subAgentRoleSection, taskSection, workflowSection, guidelinesSection, outputSection, outputSchemaSection, availableToolsSection, instructionsSection, checklistSection, subAgentExamplesSection, constraintsSection, inputParametersSection } from './templates.js';
7
+ export class SubAgentBuilder {
8
+ config = {
9
+ workflow: [],
10
+ guidelines: [],
11
+ instructions: [],
12
+ constraints: [],
13
+ examples: [],
14
+ workspacePaths: [],
15
+ useWorkspace: false,
16
+ customSections: [],
17
+ availableTools: []
18
+ };
19
+ /**
20
+ * Set the sub-agent's role (e.g., "a Nutrition Counter assistant")
21
+ */
22
+ role(role) {
23
+ this.config.role = role;
24
+ return this;
25
+ }
26
+ /**
27
+ * Set the task description
28
+ */
29
+ task(task) {
30
+ this.config.task = task;
31
+ return this;
32
+ }
33
+ /**
34
+ * Add step-by-step instructions
35
+ */
36
+ instructions(instructions) {
37
+ this.config.instructions = instructions;
38
+ return this;
39
+ }
40
+ /**
41
+ * Add a single instruction
42
+ */
43
+ addInstruction(instruction) {
44
+ this.config.instructions.push(instruction);
45
+ return this;
46
+ }
47
+ /**
48
+ * Enable todo tracking - AI will plan and track its own work
49
+ * @param options.exampleSteps - Example todos to guide the AI (optional)
50
+ */
51
+ useTodoTracking(options) {
52
+ this.config.checklist = {
53
+ items: (options?.exampleSteps || []).map(step => ({ task: step })),
54
+ trackProgress: true
55
+ };
56
+ return this;
57
+ }
58
+ /**
59
+ * Add guidance items (without todo tracking)
60
+ * @deprecated Use useTodoTracking() for progress tracking, or addGuidelines() for static guidance
61
+ */
62
+ checklist(items, options) {
63
+ this.config.checklist = {
64
+ items: items.map(item => typeof item === 'string' ? { task: item } : item),
65
+ sequential: options?.sequential,
66
+ trackProgress: options?.trackProgress
67
+ };
68
+ return this;
69
+ }
70
+ /**
71
+ * Add an input/output example
72
+ */
73
+ addExample(input, output, explanation) {
74
+ this.config.examples.push({ input, output, explanation });
75
+ return this;
76
+ }
77
+ /**
78
+ * Add multiple examples at once
79
+ */
80
+ examples(examples) {
81
+ this.config.examples.push(...examples);
82
+ return this;
83
+ }
84
+ /**
85
+ * Add a constraint (thing to avoid)
86
+ */
87
+ addConstraint(constraint) {
88
+ this.config.constraints.push(constraint);
89
+ return this;
90
+ }
91
+ /**
92
+ * Add multiple constraints at once
93
+ */
94
+ constraints(constraints) {
95
+ this.config.constraints.push(...constraints);
96
+ return this;
97
+ }
98
+ /**
99
+ * Add a workflow step
100
+ */
101
+ addStep(step) {
102
+ this.config.workflow.push(step);
103
+ return this;
104
+ }
105
+ /**
106
+ * Add a step that may ask a question
107
+ */
108
+ addQuestionStep(description, askQuestion) {
109
+ this.config.workflow.push({
110
+ description,
111
+ askQuestion
112
+ });
113
+ return this;
114
+ }
115
+ /**
116
+ * Add a guideline
117
+ */
118
+ addGuideline(guideline) {
119
+ this.config.guidelines.push(guideline);
120
+ return this;
121
+ }
122
+ /**
123
+ * Add multiple guidelines at once
124
+ */
125
+ addGuidelines(guidelines) {
126
+ this.config.guidelines.push(...guidelines);
127
+ return this;
128
+ }
129
+ /**
130
+ * Enable workspace discovery - agent will check workspace before starting work
131
+ */
132
+ useWorkspace() {
133
+ this.config.useWorkspace = true;
134
+ return this;
135
+ }
136
+ /**
137
+ * Add a workspace path the agent should check
138
+ */
139
+ addWorkspacePath(path, description) {
140
+ this.config.workspacePaths.push({ path, description });
141
+ this.config.useWorkspace = true;
142
+ return this;
143
+ }
144
+ /**
145
+ * Add multiple workspace paths at once
146
+ */
147
+ addWorkspacePaths(paths) {
148
+ this.config.workspacePaths.push(...paths);
149
+ this.config.useWorkspace = true;
150
+ return this;
151
+ }
152
+ /**
153
+ * Set the output format
154
+ */
155
+ output(format) {
156
+ this.config.output = format;
157
+ return this;
158
+ }
159
+ /**
160
+ * Shorthand for common output format
161
+ * @deprecated Use outputSchema() instead for type-safe output definition
162
+ */
163
+ outputWithSummary(summaryTemplate, dataFields, errorCase) {
164
+ this.config.output = {
165
+ summaryTemplate,
166
+ dataFields,
167
+ errorCase
168
+ };
169
+ return this;
170
+ }
171
+ /**
172
+ * Set output schema - generates output instructions from the schema
173
+ * This is the preferred way to define output format (type-safe)
174
+ */
175
+ outputSchema(schema) {
176
+ // Convert JSONSchema to OutputSchema format
177
+ this.config.outputSchema = schema;
178
+ return this;
179
+ }
180
+ /**
181
+ * Set available tools from actual Tool objects
182
+ * Extracts name and description automatically for documentation
183
+ */
184
+ tools(toolObjects) {
185
+ for (const tool of toolObjects) {
186
+ // Extract first line of description for brevity
187
+ const desc = tool.description.split('\n')[0].trim();
188
+ this.config.availableTools.push({
189
+ name: tool.name,
190
+ description: desc
191
+ });
192
+ }
193
+ return this;
194
+ }
195
+ /**
196
+ * Add a workflow step that uses specific tools
197
+ * Type-safe alternative to addToolStep with string arrays
198
+ */
199
+ addToolsStep(description, toolRefs) {
200
+ const toolCalls = toolRefs.map(ref => {
201
+ const purpose = ref.purpose ? ` - ${ref.purpose}` : '';
202
+ return `${ref.tool.name}${purpose}`;
203
+ });
204
+ this.config.workflow.push({
205
+ description,
206
+ toolCalls
207
+ });
208
+ return this;
209
+ }
210
+ /**
211
+ * Add a custom section
212
+ */
213
+ addSection(title, content) {
214
+ this.config.customSections.push({ title, content });
215
+ return this;
216
+ }
217
+ /**
218
+ * Get the current configuration
219
+ */
220
+ getConfig() {
221
+ return { ...this.config };
222
+ }
223
+ /**
224
+ * Build the final system prompt string
225
+ */
226
+ build() {
227
+ const sections = [];
228
+ // Role section (required, with default)
229
+ const role = this.config.role || 'a specialized assistant';
230
+ sections.push(subAgentRoleSection(role));
231
+ // Task section
232
+ if (this.config.task) {
233
+ sections.push('');
234
+ sections.push(taskSection(this.config.task));
235
+ }
236
+ // Instructions section
237
+ if (this.config.instructions && this.config.instructions.length > 0) {
238
+ sections.push('');
239
+ sections.push(instructionsSection(this.config.instructions));
240
+ }
241
+ // Checklist section
242
+ if (this.config.checklist && this.config.checklist.items.length > 0) {
243
+ sections.push('');
244
+ sections.push(checklistSection(this.config.checklist));
245
+ }
246
+ // Available tools section (before workspace discovery)
247
+ if (this.config.availableTools && this.config.availableTools.length > 0) {
248
+ sections.push('');
249
+ sections.push(availableToolsSection(this.config.availableTools));
250
+ }
251
+ // Workspace discovery section (before workflow)
252
+ if (this.config.useWorkspace) {
253
+ sections.push('');
254
+ sections.push('## Workspace Discovery (Do This First!)');
255
+ sections.push('');
256
+ sections.push('⚠️ ALWAYS check workspace BEFORE asking questions or starting work:');
257
+ sections.push('');
258
+ sections.push('1. Use `ls` to see what data exists');
259
+ sections.push('2. Use `cat path/file.json` to read relevant paths');
260
+ sections.push('3. Use `grep "keyword" **/*.json` to search workspace');
261
+ sections.push('4. Use information from workspace instead of asking the user');
262
+ if (this.config.workspacePaths && this.config.workspacePaths.length > 0) {
263
+ sections.push('');
264
+ sections.push('Check these paths:');
265
+ for (const path of this.config.workspacePaths) {
266
+ sections.push(`- ${path.path} - ${path.description}`);
267
+ }
268
+ }
269
+ }
270
+ // Check if we have question steps with conditions - add input parameters section
271
+ const hasQuestionSteps = this.config.workflow?.some(step => step.askQuestion?.condition);
272
+ if (hasQuestionSteps) {
273
+ sections.push('');
274
+ sections.push(inputParametersSection());
275
+ }
276
+ // Workflow steps
277
+ if (this.config.workflow && this.config.workflow.length > 0) {
278
+ sections.push('');
279
+ sections.push(workflowSection(this.config.workflow));
280
+ }
281
+ // Guidelines
282
+ if (this.config.guidelines && this.config.guidelines.length > 0) {
283
+ sections.push('');
284
+ sections.push(guidelinesSection(this.config.guidelines));
285
+ }
286
+ // Constraints section: combine default constraints with user constraints
287
+ const defaultConstraints = [
288
+ 'Never use placeholders (e.g. <API_KEY>, YOUR_TOKEN, etc.) in commands or URLs. If a value is unknown, ask the user via __ask_user__',
289
+ 'Prefer free public APIs and resources that require no authentication. If auth is needed and credentials are not in workspace, ask the user',
290
+ 'If a tool call fails, analyze the error and try a different approach instead of giving up',
291
+ ];
292
+ const allConstraints = [...defaultConstraints, ...(this.config.constraints || [])];
293
+ sections.push('');
294
+ sections.push(constraintsSection(allConstraints));
295
+ // Examples section
296
+ if (this.config.examples && this.config.examples.length > 0) {
297
+ sections.push('');
298
+ sections.push(subAgentExamplesSection(this.config.examples));
299
+ }
300
+ // Custom sections
301
+ for (const section of this.config.customSections || []) {
302
+ sections.push('');
303
+ sections.push(`## ${section.title}`);
304
+ sections.push('');
305
+ sections.push(section.content);
306
+ }
307
+ // Output format (always at the end)
308
+ // Prefer outputSchema over deprecated output format
309
+ if (this.config.outputSchema) {
310
+ sections.push('');
311
+ sections.push(outputSchemaSection(this.config.outputSchema));
312
+ }
313
+ else if (this.config.output) {
314
+ sections.push('');
315
+ sections.push(outputSection(this.config.output));
316
+ }
317
+ return sections.join('\n');
318
+ }
319
+ /**
320
+ * Reset the builder to initial state
321
+ */
322
+ reset() {
323
+ this.config = {
324
+ workflow: [],
325
+ guidelines: [],
326
+ instructions: [],
327
+ constraints: [],
328
+ examples: [],
329
+ workspacePaths: [],
330
+ useWorkspace: false,
331
+ customSections: [],
332
+ availableTools: []
333
+ };
334
+ return this;
335
+ }
336
+ }
337
+ //# sourceMappingURL=sub-agent-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-agent-builder.js","sourceRoot":"","sources":["../../src/prompt/sub-agent-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Prompt Templates
3
+ *
4
+ * Template functions for generating prompt sections.
5
+ */
6
+ import type { SubAgentDef, ToolDef, WorkspacePathDef, TaskExample, WorkflowStep, OutputFormat, OutputSchema, ChecklistConfig, SubAgentExample } from './types.js';
7
+ /**
8
+ * Generate role section
9
+ */
10
+ export declare function roleSection(role: string, description?: string): string;
11
+ /**
12
+ * Generate sub-agents table
13
+ */
14
+ export declare function subAgentsTable(agents: SubAgentDef[]): string;
15
+ /**
16
+ * Generate sub-agent parameters documentation
17
+ */
18
+ export declare function subAgentParametersSection(agents: SubAgentDef[]): string;
19
+ /**
20
+ * Generate question handling section
21
+ */
22
+ export declare function questionHandlingSection(description?: string, exampleFlow?: string[]): string;
23
+ /**
24
+ * Generate direct tools section
25
+ */
26
+ export declare function directToolsSection(tools: ToolDef[]): string;
27
+ /**
28
+ * Generate workspace storage section
29
+ */
30
+ export declare function workspaceStorageSection(paths: WorkspacePathDef[]): string;
31
+ /**
32
+ * Generate rules section
33
+ */
34
+ export declare function rulesSection(rules: string[]): string;
35
+ /**
36
+ * Generate task examples section
37
+ */
38
+ export declare function taskExamplesSection(examples: TaskExample[]): string;
39
+ /**
40
+ * Generate sub-agent role section
41
+ */
42
+ export declare function subAgentRoleSection(role: string): string;
43
+ /**
44
+ * Generate input parameters section - explains how to check provided parameters
45
+ */
46
+ export declare function inputParametersSection(): string;
47
+ /**
48
+ * Generate task section
49
+ */
50
+ export declare function taskSection(task: string): string;
51
+ /**
52
+ * Generate workflow steps section
53
+ */
54
+ export declare function workflowSection(steps: WorkflowStep[]): string;
55
+ /**
56
+ * Generate guidelines section
57
+ */
58
+ export declare function guidelinesSection(guidelines: string[]): string;
59
+ /**
60
+ * Generate output section
61
+ */
62
+ export declare function outputSection(output: OutputFormat): string;
63
+ /**
64
+ * Generate output section from JSON schema
65
+ */
66
+ export declare function outputSchemaSection(schema: OutputSchema): string;
67
+ /**
68
+ * Generate available tools section for sub-agents
69
+ */
70
+ export declare function availableToolsSection(tools: ToolDef[]): string;
71
+ /**
72
+ * Generate instructions section
73
+ */
74
+ export declare function instructionsSection(instructions: string[]): string;
75
+ /**
76
+ * Generate checklist section
77
+ */
78
+ export declare function checklistSection(config: ChecklistConfig): string;
79
+ /**
80
+ * Generate examples section for sub-agents
81
+ */
82
+ export declare function subAgentExamplesSection(examples: SubAgentExample[]): string;
83
+ /**
84
+ * Generate constraints section
85
+ */
86
+ export declare function constraintsSection(constraints: string[]): string;
87
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompt/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAA;AAMnB;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAe5D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAwBvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,MAAM,CAiCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAQzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAQpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAWnE;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAa/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAiC7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkB1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA8BhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAQlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA8BhE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAmB3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAQhE"}