@posthog/agent 1.24.2 → 1.25.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 (604) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +6 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/additionalItems.js +4 -0
  4. package/dist/_virtual/additionalItems.js.map +1 -0
  5. package/dist/_virtual/additionalProperties.js +4 -0
  6. package/dist/_virtual/additionalProperties.js.map +1 -0
  7. package/dist/_virtual/ajv.js +4 -0
  8. package/dist/_virtual/ajv.js.map +1 -0
  9. package/dist/_virtual/allOf.js +4 -0
  10. package/dist/_virtual/allOf.js.map +1 -0
  11. package/dist/_virtual/anyOf.js +4 -0
  12. package/dist/_virtual/anyOf.js.map +1 -0
  13. package/dist/_virtual/applicability.js +4 -0
  14. package/dist/_virtual/applicability.js.map +1 -0
  15. package/dist/_virtual/boolSchema.js +4 -0
  16. package/dist/_virtual/boolSchema.js.map +1 -0
  17. package/dist/_virtual/code.js +4 -0
  18. package/dist/_virtual/code.js.map +1 -0
  19. package/dist/_virtual/code2.js +4 -0
  20. package/dist/_virtual/code2.js.map +1 -0
  21. package/dist/_virtual/const.js +4 -0
  22. package/dist/_virtual/const.js.map +1 -0
  23. package/dist/_virtual/contains.js +4 -0
  24. package/dist/_virtual/contains.js.map +1 -0
  25. package/dist/_virtual/core.js +4 -0
  26. package/dist/_virtual/core.js.map +1 -0
  27. package/dist/_virtual/dataType.js +4 -0
  28. package/dist/_virtual/dataType.js.map +1 -0
  29. package/dist/_virtual/defaults.js +4 -0
  30. package/dist/_virtual/defaults.js.map +1 -0
  31. package/dist/_virtual/dependencies.js +4 -0
  32. package/dist/_virtual/dependencies.js.map +1 -0
  33. package/dist/_virtual/draft7.js +4 -0
  34. package/dist/_virtual/draft7.js.map +1 -0
  35. package/dist/_virtual/enum.js +4 -0
  36. package/dist/_virtual/enum.js.map +1 -0
  37. package/dist/_virtual/equal.js +4 -0
  38. package/dist/_virtual/equal.js.map +1 -0
  39. package/dist/_virtual/errors.js +4 -0
  40. package/dist/_virtual/errors.js.map +1 -0
  41. package/dist/_virtual/format.js +4 -0
  42. package/dist/_virtual/format.js.map +1 -0
  43. package/dist/_virtual/formats.js +4 -0
  44. package/dist/_virtual/formats.js.map +1 -0
  45. package/dist/_virtual/id.js +4 -0
  46. package/dist/_virtual/id.js.map +1 -0
  47. package/dist/_virtual/if.js +4 -0
  48. package/dist/_virtual/if.js.map +1 -0
  49. package/dist/_virtual/index.js +4 -0
  50. package/dist/_virtual/index.js.map +1 -0
  51. package/dist/_virtual/index10.js +4 -0
  52. package/dist/_virtual/index10.js.map +1 -0
  53. package/dist/_virtual/index11.js +4 -0
  54. package/dist/_virtual/index11.js.map +1 -0
  55. package/dist/_virtual/index2.js +4 -0
  56. package/dist/_virtual/index2.js.map +1 -0
  57. package/dist/_virtual/index3.js +4 -0
  58. package/dist/_virtual/index3.js.map +1 -0
  59. package/dist/_virtual/index4.js +4 -0
  60. package/dist/_virtual/index4.js.map +1 -0
  61. package/dist/_virtual/index5.js +4 -0
  62. package/dist/_virtual/index5.js.map +1 -0
  63. package/dist/_virtual/index6.js +4 -0
  64. package/dist/_virtual/index6.js.map +1 -0
  65. package/dist/_virtual/index7.js +4 -0
  66. package/dist/_virtual/index7.js.map +1 -0
  67. package/dist/_virtual/index8.js +4 -0
  68. package/dist/_virtual/index8.js.map +1 -0
  69. package/dist/_virtual/index9.js +4 -0
  70. package/dist/_virtual/index9.js.map +1 -0
  71. package/dist/_virtual/items.js +4 -0
  72. package/dist/_virtual/items.js.map +1 -0
  73. package/dist/_virtual/items2020.js +4 -0
  74. package/dist/_virtual/items2020.js.map +1 -0
  75. package/dist/_virtual/keyword.js +4 -0
  76. package/dist/_virtual/keyword.js.map +1 -0
  77. package/dist/_virtual/limit.js +4 -0
  78. package/dist/_virtual/limit.js.map +1 -0
  79. package/dist/_virtual/limitItems.js +4 -0
  80. package/dist/_virtual/limitItems.js.map +1 -0
  81. package/dist/_virtual/limitLength.js +4 -0
  82. package/dist/_virtual/limitLength.js.map +1 -0
  83. package/dist/_virtual/limitNumber.js +4 -0
  84. package/dist/_virtual/limitNumber.js.map +1 -0
  85. package/dist/_virtual/limitProperties.js +4 -0
  86. package/dist/_virtual/limitProperties.js.map +1 -0
  87. package/dist/_virtual/metadata.js +4 -0
  88. package/dist/_virtual/metadata.js.map +1 -0
  89. package/dist/_virtual/multipleOf.js +4 -0
  90. package/dist/_virtual/multipleOf.js.map +1 -0
  91. package/dist/_virtual/names.js +4 -0
  92. package/dist/_virtual/names.js.map +1 -0
  93. package/dist/_virtual/not.js +4 -0
  94. package/dist/_virtual/not.js.map +1 -0
  95. package/dist/_virtual/oneOf.js +4 -0
  96. package/dist/_virtual/oneOf.js.map +1 -0
  97. package/dist/_virtual/pattern.js +4 -0
  98. package/dist/_virtual/pattern.js.map +1 -0
  99. package/dist/_virtual/patternProperties.js +4 -0
  100. package/dist/_virtual/patternProperties.js.map +1 -0
  101. package/dist/_virtual/prefixItems.js +4 -0
  102. package/dist/_virtual/prefixItems.js.map +1 -0
  103. package/dist/_virtual/properties.js +4 -0
  104. package/dist/_virtual/properties.js.map +1 -0
  105. package/dist/_virtual/propertyNames.js +4 -0
  106. package/dist/_virtual/propertyNames.js.map +1 -0
  107. package/dist/_virtual/ref.js +4 -0
  108. package/dist/_virtual/ref.js.map +1 -0
  109. package/dist/_virtual/ref_error.js +4 -0
  110. package/dist/_virtual/ref_error.js.map +1 -0
  111. package/dist/_virtual/required.js +4 -0
  112. package/dist/_virtual/required.js.map +1 -0
  113. package/dist/_virtual/resolve.js +4 -0
  114. package/dist/_virtual/resolve.js.map +1 -0
  115. package/dist/_virtual/rules.js +4 -0
  116. package/dist/_virtual/rules.js.map +1 -0
  117. package/dist/_virtual/scope.js +4 -0
  118. package/dist/_virtual/scope.js.map +1 -0
  119. package/dist/_virtual/subschema.js +4 -0
  120. package/dist/_virtual/subschema.js.map +1 -0
  121. package/dist/_virtual/thenElse.js +4 -0
  122. package/dist/_virtual/thenElse.js.map +1 -0
  123. package/dist/_virtual/types.js +4 -0
  124. package/dist/_virtual/types.js.map +1 -0
  125. package/dist/_virtual/ucs2length.js +4 -0
  126. package/dist/_virtual/ucs2length.js.map +1 -0
  127. package/dist/_virtual/uniqueItems.js +4 -0
  128. package/dist/_virtual/uniqueItems.js.map +1 -0
  129. package/dist/_virtual/uri.js +4 -0
  130. package/dist/_virtual/uri.js.map +1 -0
  131. package/dist/_virtual/util.js +4 -0
  132. package/dist/_virtual/util.js.map +1 -0
  133. package/dist/_virtual/validation_error.js +4 -0
  134. package/dist/_virtual/validation_error.js.map +1 -0
  135. package/dist/claude-cli/cli.js +2294 -2146
  136. package/dist/example-client.d.ts +3 -0
  137. package/dist/example-client.d.ts.map +1 -0
  138. package/dist/index.d.ts +19 -11
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +7 -3
  141. package/dist/index.js.map +1 -1
  142. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js +610 -0
  143. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -0
  144. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js +875 -0
  145. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js.map +1 -0
  146. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js +66 -0
  147. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js.map +1 -0
  148. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +23 -0
  149. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
  150. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +331 -0
  151. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  152. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +717 -0
  153. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
  154. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +221 -0
  155. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
  156. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +56 -0
  157. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  158. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +440 -0
  159. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  160. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +94 -0
  161. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
  162. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1610 -0
  163. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  164. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +91 -0
  165. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
  166. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js +133 -0
  167. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js.map +1 -0
  168. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js +9 -0
  169. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js.map +1 -0
  170. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js +9 -0
  171. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  172. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js +112 -0
  173. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  174. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js +136 -0
  175. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js.map +1 -0
  176. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js +112 -0
  177. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js.map +1 -0
  178. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js +3297 -0
  179. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js.map +1 -0
  180. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js +44 -0
  181. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js.map +1 -0
  182. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js +36 -0
  183. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js.map +1 -0
  184. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js +10 -0
  185. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js.map +1 -0
  186. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js +657 -0
  187. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js.map +1 -0
  188. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js +449 -0
  189. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js.map +1 -0
  190. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js +413 -0
  191. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js.map +1 -0
  192. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js +57 -0
  193. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js.map +1 -0
  194. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js +38 -0
  195. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js.map +1 -0
  196. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js +86 -0
  197. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js.map +1 -0
  198. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js +61 -0
  199. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js.map +1 -0
  200. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js +80 -0
  201. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js.map +1 -0
  202. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js +52 -0
  203. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js.map +1 -0
  204. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js +1307 -0
  205. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js.map +1 -0
  206. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js +842 -0
  207. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  208. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js +335 -0
  209. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js.map +1 -0
  210. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js +8 -0
  211. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js.map +1 -0
  212. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js +51 -0
  213. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js.map +1 -0
  214. package/dist/node_modules/ajv/dist/ajv.js +69 -0
  215. package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
  216. package/dist/node_modules/ajv/dist/compile/codegen/code.js +169 -0
  217. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  218. package/dist/node_modules/ajv/dist/compile/codegen/index.js +712 -0
  219. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  220. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +157 -0
  221. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  222. package/dist/node_modules/ajv/dist/compile/errors.js +140 -0
  223. package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
  224. package/dist/node_modules/ajv/dist/compile/index.js +253 -0
  225. package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
  226. package/dist/node_modules/ajv/dist/compile/names.js +40 -0
  227. package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
  228. package/dist/node_modules/ajv/dist/compile/ref_error.js +25 -0
  229. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  230. package/dist/node_modules/ajv/dist/compile/resolve.js +162 -0
  231. package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  232. package/dist/node_modules/ajv/dist/compile/rules.js +29 -0
  233. package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
  234. package/dist/node_modules/ajv/dist/compile/util.js +183 -0
  235. package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
  236. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +30 -0
  237. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  238. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +64 -0
  239. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  240. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +213 -0
  241. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  242. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +49 -0
  243. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  244. package/dist/node_modules/ajv/dist/compile/validate/index.js +544 -0
  245. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  246. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +139 -0
  247. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  248. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +95 -0
  249. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  250. package/dist/node_modules/ajv/dist/core.js +639 -0
  251. package/dist/node_modules/ajv/dist/core.js.map +1 -0
  252. package/dist/node_modules/ajv/dist/refs/data.json.js +31 -0
  253. package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
  254. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +254 -0
  255. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
  256. package/dist/node_modules/ajv/dist/runtime/equal.js +9 -0
  257. package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  258. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +25 -0
  259. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  260. package/dist/node_modules/ajv/dist/runtime/uri.js +8 -0
  261. package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  262. package/dist/node_modules/ajv/dist/runtime/validation_error.js +22 -0
  263. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  264. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +53 -0
  265. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  266. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +112 -0
  267. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  268. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +26 -0
  269. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  270. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +14 -0
  271. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  272. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +99 -0
  273. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  274. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +93 -0
  275. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  276. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +70 -0
  277. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  278. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +77 -0
  279. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  280. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +57 -0
  281. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  282. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +37 -0
  283. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  284. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +29 -0
  285. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  286. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
  287. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  288. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +80 -0
  289. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  290. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +15 -0
  291. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  292. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +61 -0
  293. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  294. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +42 -0
  295. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  296. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +16 -0
  297. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  298. package/dist/node_modules/ajv/dist/vocabularies/code.js +146 -0
  299. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  300. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +11 -0
  301. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  302. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +21 -0
  303. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  304. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +131 -0
  305. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  306. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +113 -0
  307. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  308. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +12 -0
  309. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  310. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +28 -0
  311. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  312. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
  313. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  314. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +9 -0
  315. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  316. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +21 -0
  317. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  318. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +31 -0
  319. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  320. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +54 -0
  321. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  322. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +54 -0
  323. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  324. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +26 -0
  325. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  326. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +33 -0
  327. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  328. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +29 -0
  329. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  330. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +26 -0
  331. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  332. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +28 -0
  333. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  334. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +27 -0
  335. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  336. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +84 -0
  337. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  338. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
  339. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  340. package/dist/node_modules/ajv-formats/dist/formats.js +212 -0
  341. package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
  342. package/dist/node_modules/ajv-formats/dist/index.js +52 -0
  343. package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
  344. package/dist/node_modules/ajv-formats/dist/limit.js +75 -0
  345. package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
  346. package/dist/node_modules/diff/libesm/diff/base.js +256 -0
  347. package/dist/node_modules/diff/libesm/diff/base.js.map +1 -0
  348. package/dist/node_modules/diff/libesm/diff/line.js +64 -0
  349. package/dist/node_modules/diff/libesm/diff/line.js.map +1 -0
  350. package/dist/node_modules/diff/libesm/patch/create.js +185 -0
  351. package/dist/node_modules/diff/libesm/patch/create.js.map +1 -0
  352. package/dist/node_modules/fast-deep-equal/index.js +47 -0
  353. package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
  354. package/dist/node_modules/fast-uri/index.js +347 -0
  355. package/dist/node_modules/fast-uri/index.js.map +1 -0
  356. package/dist/node_modules/fast-uri/lib/schemes.js +255 -0
  357. package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
  358. package/dist/node_modules/fast-uri/lib/utils.js +334 -0
  359. package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
  360. package/dist/node_modules/json-schema-traverse/index.js +98 -0
  361. package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
  362. package/dist/node_modules/uuid/dist/rng.js +14 -0
  363. package/dist/node_modules/uuid/dist/rng.js.map +1 -0
  364. package/dist/node_modules/uuid/dist/stringify.js +29 -0
  365. package/dist/node_modules/uuid/dist/stringify.js.map +1 -0
  366. package/dist/node_modules/uuid/dist/v7.js +65 -0
  367. package/dist/node_modules/uuid/dist/v7.js.map +1 -0
  368. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +37 -0
  369. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
  370. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +26 -0
  371. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
  372. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +17 -0
  373. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
  374. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +11 -0
  375. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
  376. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +66 -0
  377. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
  378. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +21 -0
  379. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
  380. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +30 -0
  381. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
  382. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +53 -0
  383. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
  384. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +8 -0
  385. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
  386. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +8 -0
  387. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
  388. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +8 -0
  389. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
  390. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +50 -0
  391. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
  392. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +11 -0
  393. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
  394. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +11 -0
  395. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
  396. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +9 -0
  397. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
  398. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +56 -0
  399. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
  400. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +24 -0
  401. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
  402. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +30 -0
  403. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
  404. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +19 -0
  405. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
  406. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +15 -0
  407. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
  408. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +13 -0
  409. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
  410. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +37 -0
  411. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
  412. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +56 -0
  413. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
  414. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +76 -0
  415. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
  416. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +25 -0
  417. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
  418. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +24 -0
  419. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
  420. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +8 -0
  421. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
  422. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +8 -0
  423. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
  424. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +65 -0
  425. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
  426. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +24 -0
  427. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
  428. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +350 -0
  429. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  430. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +36 -0
  431. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
  432. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +10 -0
  433. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
  434. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +84 -0
  435. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
  436. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +8 -0
  437. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
  438. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +109 -0
  439. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
  440. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +90 -0
  441. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
  442. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js +42 -0
  443. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js.map +1 -0
  444. package/dist/package.json.js +8 -0
  445. package/dist/package.json.js.map +1 -0
  446. package/dist/src/acp-extensions.d.ts +91 -0
  447. package/dist/src/acp-extensions.d.ts.map +1 -0
  448. package/dist/src/acp-extensions.js +38 -0
  449. package/dist/src/acp-extensions.js.map +1 -0
  450. package/dist/src/adapters/claude/claude.d.ts +136 -0
  451. package/dist/src/adapters/claude/claude.d.ts.map +1 -0
  452. package/dist/src/adapters/claude/claude.js +1112 -0
  453. package/dist/src/adapters/claude/claude.js.map +1 -0
  454. package/dist/src/adapters/claude/mcp-server.d.ts +30 -0
  455. package/dist/src/adapters/claude/mcp-server.d.ts.map +1 -0
  456. package/dist/src/adapters/claude/mcp-server.js +655 -0
  457. package/dist/src/adapters/claude/mcp-server.js.map +1 -0
  458. package/dist/src/adapters/claude/tools.d.ts +35 -0
  459. package/dist/src/adapters/claude/tools.d.ts.map +1 -0
  460. package/dist/src/adapters/claude/tools.js +466 -0
  461. package/dist/src/adapters/claude/tools.js.map +1 -0
  462. package/dist/src/adapters/claude/utils.d.ts +48 -0
  463. package/dist/src/adapters/claude/utils.d.ts.map +1 -0
  464. package/dist/src/adapters/claude/utils.js +158 -0
  465. package/dist/src/adapters/claude/utils.js.map +1 -0
  466. package/dist/src/agent.d.ts +18 -28
  467. package/dist/src/agent.d.ts.map +1 -1
  468. package/dist/src/agent.js +195 -175
  469. package/dist/src/agent.js.map +1 -1
  470. package/dist/src/agents/execution.js.map +1 -1
  471. package/dist/src/agents/planning.js.map +1 -1
  472. package/dist/src/agents/research.js.map +1 -1
  473. package/dist/src/file-manager.d.ts +6 -6
  474. package/dist/src/file-manager.d.ts.map +1 -1
  475. package/dist/src/file-manager.js +72 -63
  476. package/dist/src/file-manager.js.map +1 -1
  477. package/dist/src/git-manager.d.ts +2 -1
  478. package/dist/src/git-manager.d.ts.map +1 -1
  479. package/dist/src/git-manager.js +105 -70
  480. package/dist/src/git-manager.js.map +1 -1
  481. package/dist/src/posthog-api.d.ts +8 -14
  482. package/dist/src/posthog-api.d.ts.map +1 -1
  483. package/dist/src/posthog-api.js +35 -23
  484. package/dist/src/posthog-api.js.map +1 -1
  485. package/dist/src/prompt-builder.d.ts +4 -4
  486. package/dist/src/prompt-builder.d.ts.map +1 -1
  487. package/dist/src/prompt-builder.js +129 -99
  488. package/dist/src/prompt-builder.js.map +1 -1
  489. package/dist/src/schemas.d.ts +980 -0
  490. package/dist/src/schemas.d.ts.map +1 -0
  491. package/dist/src/schemas.js +196 -0
  492. package/dist/src/schemas.js.map +1 -0
  493. package/dist/src/session-store.d.ts +53 -0
  494. package/dist/src/session-store.d.ts.map +1 -0
  495. package/dist/src/session-store.js +195 -0
  496. package/dist/src/session-store.js.map +1 -0
  497. package/dist/src/task-manager.d.ts +7 -7
  498. package/dist/src/task-manager.d.ts.map +1 -1
  499. package/dist/src/task-manager.js +19 -18
  500. package/dist/src/task-manager.js.map +1 -1
  501. package/dist/src/template-manager.d.ts +1 -1
  502. package/dist/src/template-manager.d.ts.map +1 -1
  503. package/dist/src/template-manager.js +30 -28
  504. package/dist/src/template-manager.js.map +1 -1
  505. package/dist/src/todo-manager.d.ts +5 -5
  506. package/dist/src/todo-manager.d.ts.map +1 -1
  507. package/dist/src/todo-manager.js +33 -24
  508. package/dist/src/todo-manager.js.map +1 -1
  509. package/dist/src/tools/registry.d.ts +1 -1
  510. package/dist/src/tools/registry.js +60 -60
  511. package/dist/src/tools/registry.js.map +1 -1
  512. package/dist/src/tools/types.d.ts +31 -31
  513. package/dist/src/types.d.ts +62 -167
  514. package/dist/src/types.d.ts.map +1 -1
  515. package/dist/src/types.js +1 -0
  516. package/dist/src/types.js.map +1 -1
  517. package/dist/src/utils/logger.d.ts +14 -6
  518. package/dist/src/utils/logger.d.ts.map +1 -1
  519. package/dist/src/utils/logger.js +37 -22
  520. package/dist/src/utils/logger.js.map +1 -1
  521. package/dist/src/utils/tapped-stream.d.ts +17 -0
  522. package/dist/src/utils/tapped-stream.d.ts.map +1 -0
  523. package/dist/src/utils/tapped-stream.js +45 -0
  524. package/dist/src/utils/tapped-stream.js.map +1 -0
  525. package/dist/src/workflow/config.d.ts +1 -1
  526. package/dist/src/workflow/config.d.ts.map +1 -1
  527. package/dist/src/workflow/config.js +18 -18
  528. package/dist/src/workflow/config.js.map +1 -1
  529. package/dist/src/workflow/steps/build.d.ts +1 -1
  530. package/dist/src/workflow/steps/build.d.ts.map +1 -1
  531. package/dist/src/workflow/steps/build.js +53 -39
  532. package/dist/src/workflow/steps/build.js.map +1 -1
  533. package/dist/src/workflow/steps/finalize.d.ts +1 -1
  534. package/dist/src/workflow/steps/finalize.d.ts.map +1 -1
  535. package/dist/src/workflow/steps/finalize.js +58 -52
  536. package/dist/src/workflow/steps/finalize.js.map +1 -1
  537. package/dist/src/workflow/steps/plan.d.ts +1 -1
  538. package/dist/src/workflow/steps/plan.d.ts.map +1 -1
  539. package/dist/src/workflow/steps/plan.js +69 -47
  540. package/dist/src/workflow/steps/plan.js.map +1 -1
  541. package/dist/src/workflow/steps/research.d.ts +1 -1
  542. package/dist/src/workflow/steps/research.d.ts.map +1 -1
  543. package/dist/src/workflow/steps/research.js +86 -67
  544. package/dist/src/workflow/steps/research.js.map +1 -1
  545. package/dist/src/workflow/types.d.ts +19 -14
  546. package/dist/src/workflow/types.d.ts.map +1 -1
  547. package/dist/src/workflow/utils.d.ts +1 -1
  548. package/dist/src/workflow/utils.d.ts.map +1 -1
  549. package/dist/src/workflow/utils.js +7 -4
  550. package/dist/src/workflow/utils.js.map +1 -1
  551. package/dist/src/worktree-manager.d.ts +39 -0
  552. package/dist/src/worktree-manager.d.ts.map +1 -0
  553. package/dist/src/worktree-manager.js +810 -0
  554. package/dist/src/worktree-manager.js.map +1 -0
  555. package/package.json +20 -16
  556. package/src/acp-extensions.ts +117 -0
  557. package/src/adapters/claude/claude.ts +1498 -0
  558. package/src/adapters/claude/mcp-server.ts +810 -0
  559. package/src/adapters/claude/tools.ts +609 -0
  560. package/src/adapters/claude/utils.ts +267 -0
  561. package/src/agent.ts +511 -447
  562. package/src/agents/execution.ts +1 -1
  563. package/src/agents/planning.ts +1 -1
  564. package/src/agents/research.ts +0 -1
  565. package/src/file-manager.ts +80 -70
  566. package/src/git-manager.ts +164 -88
  567. package/src/posthog-api.ts +155 -94
  568. package/src/prompt-builder.ts +196 -143
  569. package/src/schemas.ts +241 -0
  570. package/src/session-store.ts +244 -0
  571. package/src/task-manager.ts +41 -33
  572. package/src/template-manager.ts +98 -45
  573. package/src/todo-manager.ts +43 -32
  574. package/src/tools/registry.ts +62 -62
  575. package/src/tools/types.ts +36 -36
  576. package/src/types.ts +130 -239
  577. package/src/utils/logger.ts +89 -58
  578. package/src/utils/tapped-stream.ts +60 -0
  579. package/src/workflow/config.ts +48 -48
  580. package/src/workflow/steps/build.ts +127 -113
  581. package/src/workflow/steps/finalize.ts +207 -182
  582. package/src/workflow/steps/plan.ts +155 -130
  583. package/src/workflow/steps/research.ts +207 -187
  584. package/src/workflow/types.ts +47 -36
  585. package/src/workflow/utils.ts +37 -34
  586. package/src/worktree-manager.ts +884 -0
  587. package/dist/src/adapters/claude/claude-adapter.d.ts +0 -18
  588. package/dist/src/adapters/claude/claude-adapter.d.ts.map +0 -1
  589. package/dist/src/adapters/claude/claude-adapter.js +0 -311
  590. package/dist/src/adapters/claude/claude-adapter.js.map +0 -1
  591. package/dist/src/adapters/claude/tool-mapper.d.ts +0 -19
  592. package/dist/src/adapters/claude/tool-mapper.d.ts.map +0 -1
  593. package/dist/src/adapters/claude/tool-mapper.js +0 -44
  594. package/dist/src/adapters/claude/tool-mapper.js.map +0 -1
  595. package/dist/src/adapters/types.d.ts +0 -33
  596. package/dist/src/adapters/types.d.ts.map +0 -1
  597. package/dist/src/task-progress-reporter.d.ts +0 -43
  598. package/dist/src/task-progress-reporter.d.ts.map +0 -1
  599. package/dist/src/task-progress-reporter.js +0 -393
  600. package/dist/src/task-progress-reporter.js.map +0 -1
  601. package/src/adapters/claude/claude-adapter.ts +0 -338
  602. package/src/adapters/claude/tool-mapper.ts +0 -46
  603. package/src/adapters/types.ts +0 -37
  604. package/src/task-progress-reporter.ts +0 -443
@@ -1,27 +1,36 @@
1
- import type { Task, UrlMention, PostHogResource } from './types.js';
2
- import type { TemplateVariables } from './template-manager.js';
3
- import { Logger } from './utils/logger.js';
4
- import { promises as fs } from 'fs';
5
- import { join } from 'path';
1
+ import { promises as fs } from "node:fs";
2
+ import { join } from "node:path";
3
+ import type { TemplateVariables } from "./template-manager.js";
4
+ import type {
5
+ PostHogResource,
6
+ ResourceType,
7
+ SupportingFile,
8
+ Task,
9
+ UrlMention,
10
+ } from "./types.js";
11
+ import { Logger } from "./utils/logger.js";
6
12
 
7
13
  export interface PromptBuilderDeps {
8
- getTaskFiles: (taskId: string) => Promise<any[]>;
14
+ getTaskFiles: (taskId: string) => Promise<SupportingFile[]>;
9
15
  generatePlanTemplate: (vars: TemplateVariables) => Promise<string>;
10
- posthogClient?: { fetchResourceByUrl: (mention: UrlMention) => Promise<PostHogResource> };
16
+ posthogClient?: {
17
+ fetchResourceByUrl: (mention: UrlMention) => Promise<PostHogResource>;
18
+ };
11
19
  logger?: Logger;
12
20
  }
13
21
 
14
22
  export class PromptBuilder {
15
- private getTaskFiles: PromptBuilderDeps['getTaskFiles'];
16
- private generatePlanTemplate: PromptBuilderDeps['generatePlanTemplate'];
17
- private posthogClient?: PromptBuilderDeps['posthogClient'];
23
+ private getTaskFiles: PromptBuilderDeps["getTaskFiles"];
24
+ private generatePlanTemplate: PromptBuilderDeps["generatePlanTemplate"];
25
+ private posthogClient?: PromptBuilderDeps["posthogClient"];
18
26
  private logger: Logger;
19
27
 
20
28
  constructor(deps: PromptBuilderDeps) {
21
29
  this.getTaskFiles = deps.getTaskFiles;
22
30
  this.generatePlanTemplate = deps.generatePlanTemplate;
23
31
  this.posthogClient = deps.posthogClient;
24
- this.logger = deps.logger || new Logger({ debug: false, prefix: '[PromptBuilder]' });
32
+ this.logger =
33
+ deps.logger || new Logger({ debug: false, prefix: "[PromptBuilder]" });
25
34
  }
26
35
 
27
36
  /**
@@ -33,8 +42,10 @@ export class PromptBuilder {
33
42
  const paths: string[] = [];
34
43
  let match: RegExpExecArray | null;
35
44
 
36
- while ((match = fileTagRegex.exec(description)) !== null) {
45
+ match = fileTagRegex.exec(description);
46
+ while (match !== null) {
37
47
  paths.push(match[1]);
48
+ match = fileTagRegex.exec(description);
38
49
  }
39
50
 
40
51
  return paths;
@@ -43,13 +54,18 @@ export class PromptBuilder {
43
54
  /**
44
55
  * Read file contents from repository
45
56
  */
46
- private async readFileContent(repositoryPath: string, filePath: string): Promise<string | null> {
57
+ private async readFileContent(
58
+ repositoryPath: string,
59
+ filePath: string,
60
+ ): Promise<string | null> {
47
61
  try {
48
62
  const fullPath = join(repositoryPath, filePath);
49
- const content = await fs.readFile(fullPath, 'utf8');
63
+ const content = await fs.readFile(fullPath, "utf8");
50
64
  return content;
51
65
  } catch (error) {
52
- this.logger.warn(`Failed to read referenced file: ${filePath}`, { error });
66
+ this.logger.warn(`Failed to read referenced file: ${filePath}`, {
67
+ error,
68
+ });
53
69
  return null;
54
70
  }
55
71
  }
@@ -60,30 +76,35 @@ export class PromptBuilder {
60
76
  */
61
77
  private extractUrlMentions(description: string): UrlMention[] {
62
78
  const mentions: UrlMention[] = [];
63
-
79
+
64
80
  // PostHog resource mentions: <error id="..." />, <experiment id="..." />, etc.
65
- const resourceRegex = /<(error|experiment|insight|feature_flag)\s+id="([^"]+)"\s*\/>/g;
81
+ const resourceRegex =
82
+ /<(error|experiment|insight|feature_flag)\s+id="([^"]+)"\s*\/>/g;
66
83
  let match: RegExpExecArray | null;
67
84
 
68
- while ((match = resourceRegex.exec(description)) !== null) {
85
+ match = resourceRegex.exec(description);
86
+ while (match !== null) {
69
87
  const [, type, id] = match;
70
88
  mentions.push({
71
- url: '', // Will be reconstructed if needed
72
- type: type as any,
89
+ url: "", // Will be reconstructed if needed
90
+ type: type as ResourceType,
73
91
  id,
74
- label: this.generateUrlLabel('', type as any),
92
+ label: this.generateUrlLabel("", type as ResourceType),
75
93
  });
94
+ match = resourceRegex.exec(description);
76
95
  }
77
96
 
78
97
  // Generic URL mentions: <url href="..." />
79
98
  const urlRegex = /<url\s+href="([^"]+)"\s*\/>/g;
80
- while ((match = urlRegex.exec(description)) !== null) {
99
+ match = urlRegex.exec(description);
100
+ while (match !== null) {
81
101
  const [, url] = match;
82
102
  mentions.push({
83
103
  url,
84
- type: 'generic',
85
- label: this.generateUrlLabel(url, 'generic'),
104
+ type: "generic",
105
+ label: this.generateUrlLabel(url, "generic"),
86
106
  });
107
+ match = urlRegex.exec(description);
87
108
  }
88
109
 
89
110
  return mentions;
@@ -96,21 +117,23 @@ export class PromptBuilder {
96
117
  try {
97
118
  const urlObj = new URL(url);
98
119
  switch (type) {
99
- case 'error':
120
+ case "error": {
100
121
  const errorMatch = url.match(/error_tracking\/([a-f0-9-]+)/);
101
- return errorMatch ? `Error ${errorMatch[1].slice(0, 8)}...` : 'Error';
102
- case 'experiment':
122
+ return errorMatch ? `Error ${errorMatch[1].slice(0, 8)}...` : "Error";
123
+ }
124
+ case "experiment": {
103
125
  const expMatch = url.match(/experiments\/(\d+)/);
104
- return expMatch ? `Experiment #${expMatch[1]}` : 'Experiment';
105
- case 'insight':
106
- return 'Insight';
107
- case 'feature_flag':
108
- return 'Feature Flag';
126
+ return expMatch ? `Experiment #${expMatch[1]}` : "Experiment";
127
+ }
128
+ case "insight":
129
+ return "Insight";
130
+ case "feature_flag":
131
+ return "Feature Flag";
109
132
  default:
110
133
  return urlObj.hostname;
111
134
  }
112
135
  } catch {
113
- return 'URL';
136
+ return "URL";
114
137
  }
115
138
  }
116
139
 
@@ -118,7 +141,7 @@ export class PromptBuilder {
118
141
  * Process URL references and fetch their content
119
142
  */
120
143
  private async processUrlReferences(
121
- description: string
144
+ description: string,
122
145
  ): Promise<{ description: string; referencedResources: PostHogResource[] }> {
123
146
  const urlMentions = this.extractUrlMentions(description);
124
147
  const referencedResources: PostHogResource[] = [];
@@ -133,13 +156,15 @@ export class PromptBuilder {
133
156
  const resource = await this.posthogClient.fetchResourceByUrl(mention);
134
157
  referencedResources.push(resource);
135
158
  } catch (error) {
136
- this.logger.warn(`Failed to fetch resource from URL: ${mention.url}`, { error });
159
+ this.logger.warn(`Failed to fetch resource from URL: ${mention.url}`, {
160
+ error,
161
+ });
137
162
  // Add a placeholder resource for failed fetches
138
163
  referencedResources.push({
139
164
  type: mention.type,
140
- id: mention.id || '',
165
+ id: mention.id || "",
141
166
  url: mention.url,
142
- title: mention.label || 'Unknown Resource',
167
+ title: mention.label || "Unknown Resource",
143
168
  content: `Failed to fetch resource from ${mention.url}: ${error}`,
144
169
  metadata: {},
145
170
  });
@@ -149,20 +174,22 @@ export class PromptBuilder {
149
174
  // Replace URL tags with just the label for readability
150
175
  let processedDescription = description;
151
176
  for (const mention of urlMentions) {
152
- if (mention.type === 'generic') {
177
+ if (mention.type === "generic") {
153
178
  // Generic URLs: <url href="..." />
154
- const escapedUrl = mention.url.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
179
+ const escapedUrl = mention.url.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
155
180
  processedDescription = processedDescription.replace(
156
- new RegExp(`<url\\s+href="${escapedUrl}"\\s*/>`, 'g'),
157
- `@${mention.label}`
181
+ new RegExp(`<url\\s+href="${escapedUrl}"\\s*/>`, "g"),
182
+ `@${mention.label}`,
158
183
  );
159
184
  } else {
160
185
  // PostHog resources: <error id="..." />, <experiment id="..." />, etc.
161
- const escapedType = mention.type.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
162
- const escapedId = mention.id ? mention.id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') : '';
186
+ const escapedType = mention.type.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
187
+ const escapedId = mention.id
188
+ ? mention.id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
189
+ : "";
163
190
  processedDescription = processedDescription.replace(
164
- new RegExp(`<${escapedType}\\s+id="${escapedId}"\\s*/>`, 'g'),
165
- `@${mention.label}`
191
+ new RegExp(`<${escapedType}\\s+id="${escapedId}"\\s*/>`, "g"),
192
+ `@${mention.label}`,
166
193
  );
167
194
  }
168
195
  }
@@ -176,8 +203,11 @@ export class PromptBuilder {
176
203
  */
177
204
  private async processFileReferences(
178
205
  description: string,
179
- repositoryPath?: string
180
- ): Promise<{ description: string; referencedFiles: Array<{ path: string; content: string }> }> {
206
+ repositoryPath?: string,
207
+ ): Promise<{
208
+ description: string;
209
+ referencedFiles: Array<{ path: string; content: string }>;
210
+ }> {
181
211
  const filePaths = this.extractFilePaths(description);
182
212
  const referencedFiles: Array<{ path: string; content: string }> = [];
183
213
 
@@ -196,211 +226,223 @@ export class PromptBuilder {
196
226
  // Replace file tags with just the filename for readability
197
227
  let processedDescription = description;
198
228
  for (const filePath of filePaths) {
199
- const fileName = filePath.split('/').pop() || filePath;
229
+ const fileName = filePath.split("/").pop() || filePath;
200
230
  processedDescription = processedDescription.replace(
201
- new RegExp(`<file\\s+path="${filePath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}"\\s*/>`, 'g'),
202
- `@${fileName}`
231
+ new RegExp(
232
+ `<file\\s+path="${filePath.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}"\\s*/>`,
233
+ "g",
234
+ ),
235
+ `@${fileName}`,
203
236
  );
204
237
  }
205
238
 
206
239
  return { description: processedDescription, referencedFiles };
207
240
  }
208
241
 
209
- async buildResearchPrompt(task: Task, repositoryPath?: string): Promise<string> {
242
+ async buildResearchPrompt(
243
+ task: Task,
244
+ repositoryPath?: string,
245
+ ): Promise<string> {
210
246
  // Process file references in description
211
- const { description: descriptionAfterFiles, referencedFiles } = await this.processFileReferences(
212
- task.description,
213
- repositoryPath
214
- );
247
+ const { description: descriptionAfterFiles, referencedFiles } =
248
+ await this.processFileReferences(task.description, repositoryPath);
215
249
 
216
250
  // Process URL references in description
217
- const { description: processedDescription, referencedResources } = await this.processUrlReferences(
218
- descriptionAfterFiles
219
- );
251
+ const { description: processedDescription, referencedResources } =
252
+ await this.processUrlReferences(descriptionAfterFiles);
220
253
 
221
- let prompt = '<task>\n';
254
+ let prompt = "<task>\n";
222
255
  prompt += `<title>${task.title}</title>\n`;
223
256
  prompt += `<description>${processedDescription}</description>\n`;
224
257
 
225
- if ((task as any).primary_repository) {
226
- prompt += `<repository>${(task as any).primary_repository}</repository>\n`;
258
+ if (task.repository) {
259
+ prompt += `<repository>${task.repository}</repository>\n`;
227
260
  }
228
- prompt += '</task>\n';
261
+ prompt += "</task>\n";
229
262
 
230
263
  // Add referenced files from @ mentions
231
264
  if (referencedFiles.length > 0) {
232
- prompt += '\n<referenced_files>\n';
265
+ prompt += "\n<referenced_files>\n";
233
266
  for (const file of referencedFiles) {
234
267
  prompt += `<file path="${file.path}">\n\`\`\`\n${file.content}\n\`\`\`\n</file>\n`;
235
268
  }
236
- prompt += '</referenced_files>\n';
269
+ prompt += "</referenced_files>\n";
237
270
  }
238
271
 
239
272
  // Add referenced resources from URL mentions
240
273
  if (referencedResources.length > 0) {
241
- prompt += '\n<referenced_resources>\n';
274
+ prompt += "\n<referenced_resources>\n";
242
275
  for (const resource of referencedResources) {
243
276
  prompt += `<resource type="${resource.type}" url="${resource.url}">\n`;
244
277
  prompt += `<title>${resource.title}</title>\n`;
245
278
  prompt += `<content>${resource.content}</content>\n`;
246
- prompt += '</resource>\n';
279
+ prompt += "</resource>\n";
247
280
  }
248
- prompt += '</referenced_resources>\n';
281
+ prompt += "</referenced_resources>\n";
249
282
  }
250
283
 
251
284
  try {
252
285
  const taskFiles = await this.getTaskFiles(task.id);
253
- const contextFiles = taskFiles.filter((f: any) => f.type === 'context' || f.type === 'reference');
286
+ const contextFiles = taskFiles.filter(
287
+ (f: SupportingFile) => f.type === "context" || f.type === "reference",
288
+ );
254
289
  if (contextFiles.length > 0) {
255
- prompt += '\n<supporting_files>\n';
290
+ prompt += "\n<supporting_files>\n";
256
291
  for (const file of contextFiles) {
257
292
  prompt += `<file name="${file.name}" type="${file.type}">\n${file.content}\n</file>\n`;
258
293
  }
259
- prompt += '</supporting_files>\n';
294
+ prompt += "</supporting_files>\n";
260
295
  }
261
- } catch (error) {
262
- this.logger.debug('No existing task files found for research', { taskId: task.id });
296
+ } catch (_error) {
297
+ this.logger.debug("No existing task files found for research", {
298
+ taskId: task.id,
299
+ });
263
300
  }
264
301
 
265
302
  return prompt;
266
303
  }
267
304
 
268
- async buildPlanningPrompt(task: Task, repositoryPath?: string): Promise<string> {
305
+ async buildPlanningPrompt(
306
+ task: Task,
307
+ repositoryPath?: string,
308
+ ): Promise<string> {
269
309
  // Process file references in description
270
- const { description: descriptionAfterFiles, referencedFiles } = await this.processFileReferences(
271
- task.description,
272
- repositoryPath
273
- );
310
+ const { description: descriptionAfterFiles, referencedFiles } =
311
+ await this.processFileReferences(task.description, repositoryPath);
274
312
 
275
313
  // Process URL references in description
276
- const { description: processedDescription, referencedResources } = await this.processUrlReferences(
277
- descriptionAfterFiles
278
- );
314
+ const { description: processedDescription, referencedResources } =
315
+ await this.processUrlReferences(descriptionAfterFiles);
279
316
 
280
- let prompt = '<task>\n';
317
+ let prompt = "<task>\n";
281
318
  prompt += `<title>${task.title}</title>\n`;
282
319
  prompt += `<description>${processedDescription}</description>\n`;
283
320
 
284
- if ((task as any).primary_repository) {
285
- prompt += `<repository>${(task as any).primary_repository}</repository>\n`;
321
+ if (task.repository) {
322
+ prompt += `<repository>${task.repository}</repository>\n`;
286
323
  }
287
- prompt += '</task>\n';
324
+ prompt += "</task>\n";
288
325
 
289
326
  // Add referenced files from @ mentions
290
327
  if (referencedFiles.length > 0) {
291
- prompt += '\n<referenced_files>\n';
328
+ prompt += "\n<referenced_files>\n";
292
329
  for (const file of referencedFiles) {
293
330
  prompt += `<file path="${file.path}">\n\`\`\`\n${file.content}\n\`\`\`\n</file>\n`;
294
331
  }
295
- prompt += '</referenced_files>\n';
332
+ prompt += "</referenced_files>\n";
296
333
  }
297
334
 
298
335
  // Add referenced resources from URL mentions
299
336
  if (referencedResources.length > 0) {
300
- prompt += '\n<referenced_resources>\n';
337
+ prompt += "\n<referenced_resources>\n";
301
338
  for (const resource of referencedResources) {
302
339
  prompt += `<resource type="${resource.type}" url="${resource.url}">\n`;
303
340
  prompt += `<title>${resource.title}</title>\n`;
304
341
  prompt += `<content>${resource.content}</content>\n`;
305
- prompt += '</resource>\n';
342
+ prompt += "</resource>\n";
306
343
  }
307
- prompt += '</referenced_resources>\n';
344
+ prompt += "</referenced_resources>\n";
308
345
  }
309
346
 
310
347
  try {
311
348
  const taskFiles = await this.getTaskFiles(task.id);
312
- const contextFiles = taskFiles.filter((f: any) => f.type === 'context' || f.type === 'reference');
349
+ const contextFiles = taskFiles.filter(
350
+ (f: SupportingFile) => f.type === "context" || f.type === "reference",
351
+ );
313
352
  if (contextFiles.length > 0) {
314
- prompt += '\n<supporting_files>\n';
353
+ prompt += "\n<supporting_files>\n";
315
354
  for (const file of contextFiles) {
316
355
  prompt += `<file name="${file.name}" type="${file.type}">\n${file.content}\n</file>\n`;
317
356
  }
318
- prompt += '</supporting_files>\n';
357
+ prompt += "</supporting_files>\n";
319
358
  }
320
- } catch (error) {
321
- this.logger.debug('No existing task files found for planning', { taskId: task.id });
359
+ } catch (_error) {
360
+ this.logger.debug("No existing task files found for planning", {
361
+ taskId: task.id,
362
+ });
322
363
  }
323
364
 
324
365
  const templateVariables = {
325
366
  task_id: task.id,
326
367
  task_title: task.title,
327
368
  task_description: processedDescription,
328
- date: new Date().toISOString().split('T')[0],
329
- repository: ((task as any).primary_repository || '') as string,
369
+ date: new Date().toISOString().split("T")[0],
370
+ repository: task.repository || "",
330
371
  };
331
372
 
332
373
  const planTemplate = await this.generatePlanTemplate(templateVariables);
333
374
 
334
- prompt += '\n<instructions>\n';
335
- prompt += 'Analyze the codebase and create a detailed implementation plan. Use the template structure below, filling each section with specific, actionable information.\n';
336
- prompt += '</instructions>\n\n';
337
- prompt += '<plan_template>\n';
375
+ prompt += "\n<instructions>\n";
376
+ prompt +=
377
+ "Analyze the codebase and create a detailed implementation plan. Use the template structure below, filling each section with specific, actionable information.\n";
378
+ prompt += "</instructions>\n\n";
379
+ prompt += "<plan_template>\n";
338
380
  prompt += planTemplate;
339
- prompt += '\n</plan_template>';
381
+ prompt += "\n</plan_template>";
340
382
 
341
383
  return prompt;
342
384
  }
343
385
 
344
- async buildExecutionPrompt(task: Task, repositoryPath?: string): Promise<string> {
386
+ async buildExecutionPrompt(
387
+ task: Task,
388
+ repositoryPath?: string,
389
+ ): Promise<string> {
345
390
  // Process file references in description
346
- const { description: descriptionAfterFiles, referencedFiles } = await this.processFileReferences(
347
- task.description,
348
- repositoryPath
349
- );
391
+ const { description: descriptionAfterFiles, referencedFiles } =
392
+ await this.processFileReferences(task.description, repositoryPath);
350
393
 
351
394
  // Process URL references in description
352
- const { description: processedDescription, referencedResources } = await this.processUrlReferences(
353
- descriptionAfterFiles
354
- );
395
+ const { description: processedDescription, referencedResources } =
396
+ await this.processUrlReferences(descriptionAfterFiles);
355
397
 
356
- let prompt = '<task>\n';
398
+ let prompt = "<task>\n";
357
399
  prompt += `<title>${task.title}</title>\n`;
358
400
  prompt += `<description>${processedDescription}</description>\n`;
359
401
 
360
- if ((task as any).primary_repository) {
361
- prompt += `<repository>${(task as any).primary_repository}</repository>\n`;
402
+ if (task.repository) {
403
+ prompt += `<repository>${task.repository}</repository>\n`;
362
404
  }
363
- prompt += '</task>\n';
405
+ prompt += "</task>\n";
364
406
 
365
407
  // Add referenced files from @ mentions
366
408
  if (referencedFiles.length > 0) {
367
- prompt += '\n<referenced_files>\n';
409
+ prompt += "\n<referenced_files>\n";
368
410
  for (const file of referencedFiles) {
369
411
  prompt += `<file path="${file.path}">\n\`\`\`\n${file.content}\n\`\`\`\n</file>\n`;
370
412
  }
371
- prompt += '</referenced_files>\n';
413
+ prompt += "</referenced_files>\n";
372
414
  }
373
415
 
374
416
  // Add referenced resources from URL mentions
375
417
  if (referencedResources.length > 0) {
376
- prompt += '\n<referenced_resources>\n';
418
+ prompt += "\n<referenced_resources>\n";
377
419
  for (const resource of referencedResources) {
378
420
  prompt += `<resource type="${resource.type}" url="${resource.url}">\n`;
379
421
  prompt += `<title>${resource.title}</title>\n`;
380
422
  prompt += `<content>${resource.content}</content>\n`;
381
- prompt += '</resource>\n';
423
+ prompt += "</resource>\n";
382
424
  }
383
- prompt += '</referenced_resources>\n';
425
+ prompt += "</referenced_resources>\n";
384
426
  }
385
427
 
386
428
  try {
387
429
  const taskFiles = await this.getTaskFiles(task.id);
388
- const hasPlan = taskFiles.some((f: any) => f.type === 'plan');
389
- const todosFile = taskFiles.find((f: any) => f.name === 'todos.json');
430
+ const hasPlan = taskFiles.some((f: SupportingFile) => f.type === "plan");
431
+ const todosFile = taskFiles.find(
432
+ (f: SupportingFile) => f.name === "todos.json",
433
+ );
390
434
 
391
435
  if (taskFiles.length > 0) {
392
- prompt += '\n<context>\n';
436
+ prompt += "\n<context>\n";
393
437
  for (const file of taskFiles) {
394
- if (file.type === 'plan') {
438
+ if (file.type === "plan") {
395
439
  prompt += `<plan>\n${file.content}\n</plan>\n`;
396
- } else if (file.name === 'todos.json') {
397
- // skip - we do this below
398
- continue;
440
+ } else if (file.name === "todos.json") {
399
441
  } else {
400
442
  prompt += `<file name="${file.name}" type="${file.type}">\n${file.content}\n</file>\n`;
401
443
  }
402
444
  }
403
- prompt += '</context>\n';
445
+ prompt += "</context>\n";
404
446
  }
405
447
 
406
448
  // Add todos context if resuming work
@@ -408,37 +450,48 @@ export class PromptBuilder {
408
450
  try {
409
451
  const todos = JSON.parse(todosFile.content);
410
452
  if (todos.items && todos.items.length > 0) {
411
- prompt += '\n<previous_todos>\n';
412
- prompt += 'You previously created the following todo list for this task:\n\n';
453
+ prompt += "\n<previous_todos>\n";
454
+ prompt +=
455
+ "You previously created the following todo list for this task:\n\n";
413
456
  for (const item of todos.items) {
414
- const statusIcon = item.status === 'completed' ? '✓' : item.status === 'in_progress' ? '▶' : '○';
457
+ const statusIcon =
458
+ item.status === "completed"
459
+ ? "✓"
460
+ : item.status === "in_progress"
461
+ ? "▶"
462
+ : "○";
415
463
  prompt += `${statusIcon} [${item.status}] ${item.content}\n`;
416
464
  }
417
465
  prompt += `\nProgress: ${todos.metadata.completed}/${todos.metadata.total} completed\n`;
418
- prompt += '\nYou can reference this list when resuming work or create an updated list as needed.\n';
419
- prompt += '</previous_todos>\n';
466
+ prompt +=
467
+ "\nYou can reference this list when resuming work or create an updated list as needed.\n";
468
+ prompt += "</previous_todos>\n";
420
469
  }
421
470
  } catch (error) {
422
- this.logger.debug('Failed to parse todos.json for context', { error });
471
+ this.logger.debug("Failed to parse todos.json for context", {
472
+ error,
473
+ });
423
474
  }
424
475
  }
425
476
 
426
- prompt += '\n<instructions>\n';
477
+ prompt += "\n<instructions>\n";
427
478
  if (hasPlan) {
428
- prompt += 'Implement the changes described in the execution plan. Follow the plan step-by-step and make the necessary file modifications.\n';
479
+ prompt +=
480
+ "Implement the changes described in the execution plan. Follow the plan step-by-step and make the necessary file modifications.\n";
429
481
  } else {
430
- prompt += 'Implement the changes described in the task. Make the necessary file modifications to complete the task.\n';
482
+ prompt +=
483
+ "Implement the changes described in the task. Make the necessary file modifications to complete the task.\n";
431
484
  }
432
- prompt += '</instructions>';
433
- } catch (error) {
434
- this.logger.debug('No supporting files found for execution', { taskId: task.id });
435
- prompt += '\n<instructions>\n';
436
- prompt += 'Implement the changes described in the task.\n';
437
- prompt += '</instructions>';
485
+ prompt += "</instructions>";
486
+ } catch (_error) {
487
+ this.logger.debug("No supporting files found for execution", {
488
+ taskId: task.id,
489
+ });
490
+ prompt += "\n<instructions>\n";
491
+ prompt += "Implement the changes described in the task.\n";
492
+ prompt += "</instructions>";
438
493
  }
439
494
 
440
495
  return prompt;
441
496
  }
442
497
  }
443
-
444
-