@posthog/agent 1.24.0 → 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 (577) hide show
  1. package/LICENSE +33 -0
  2. package/dist/_virtual/_commonjsHelpers.js +6 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/additionalItems.js +4 -0
  5. package/dist/_virtual/additionalItems.js.map +1 -0
  6. package/dist/_virtual/additionalProperties.js +4 -0
  7. package/dist/_virtual/additionalProperties.js.map +1 -0
  8. package/dist/_virtual/ajv.js +4 -0
  9. package/dist/_virtual/ajv.js.map +1 -0
  10. package/dist/_virtual/allOf.js +4 -0
  11. package/dist/_virtual/allOf.js.map +1 -0
  12. package/dist/_virtual/anyOf.js +4 -0
  13. package/dist/_virtual/anyOf.js.map +1 -0
  14. package/dist/_virtual/applicability.js +4 -0
  15. package/dist/_virtual/applicability.js.map +1 -0
  16. package/dist/_virtual/boolSchema.js +4 -0
  17. package/dist/_virtual/boolSchema.js.map +1 -0
  18. package/dist/_virtual/code.js +4 -0
  19. package/dist/_virtual/code.js.map +1 -0
  20. package/dist/_virtual/code2.js +4 -0
  21. package/dist/_virtual/code2.js.map +1 -0
  22. package/dist/_virtual/const.js +4 -0
  23. package/dist/_virtual/const.js.map +1 -0
  24. package/dist/_virtual/contains.js +4 -0
  25. package/dist/_virtual/contains.js.map +1 -0
  26. package/dist/_virtual/core.js +4 -0
  27. package/dist/_virtual/core.js.map +1 -0
  28. package/dist/_virtual/dataType.js +4 -0
  29. package/dist/_virtual/dataType.js.map +1 -0
  30. package/dist/_virtual/defaults.js +4 -0
  31. package/dist/_virtual/defaults.js.map +1 -0
  32. package/dist/_virtual/dependencies.js +4 -0
  33. package/dist/_virtual/dependencies.js.map +1 -0
  34. package/dist/_virtual/draft7.js +4 -0
  35. package/dist/_virtual/draft7.js.map +1 -0
  36. package/dist/_virtual/enum.js +4 -0
  37. package/dist/_virtual/enum.js.map +1 -0
  38. package/dist/_virtual/equal.js +4 -0
  39. package/dist/_virtual/equal.js.map +1 -0
  40. package/dist/_virtual/errors.js +4 -0
  41. package/dist/_virtual/errors.js.map +1 -0
  42. package/dist/_virtual/format.js +4 -0
  43. package/dist/_virtual/format.js.map +1 -0
  44. package/dist/_virtual/formats.js +4 -0
  45. package/dist/_virtual/formats.js.map +1 -0
  46. package/dist/_virtual/id.js +4 -0
  47. package/dist/_virtual/id.js.map +1 -0
  48. package/dist/_virtual/if.js +4 -0
  49. package/dist/_virtual/if.js.map +1 -0
  50. package/dist/_virtual/index.js +4 -0
  51. package/dist/_virtual/index.js.map +1 -0
  52. package/dist/_virtual/index10.js +4 -0
  53. package/dist/_virtual/index10.js.map +1 -0
  54. package/dist/_virtual/index11.js +4 -0
  55. package/dist/_virtual/index11.js.map +1 -0
  56. package/dist/_virtual/index2.js +4 -0
  57. package/dist/_virtual/index2.js.map +1 -0
  58. package/dist/_virtual/index3.js +4 -0
  59. package/dist/_virtual/index3.js.map +1 -0
  60. package/dist/_virtual/index4.js +4 -0
  61. package/dist/_virtual/index4.js.map +1 -0
  62. package/dist/_virtual/index5.js +4 -0
  63. package/dist/_virtual/index5.js.map +1 -0
  64. package/dist/_virtual/index6.js +4 -0
  65. package/dist/_virtual/index6.js.map +1 -0
  66. package/dist/_virtual/index7.js +4 -0
  67. package/dist/_virtual/index7.js.map +1 -0
  68. package/dist/_virtual/index8.js +4 -0
  69. package/dist/_virtual/index8.js.map +1 -0
  70. package/dist/_virtual/index9.js +4 -0
  71. package/dist/_virtual/index9.js.map +1 -0
  72. package/dist/_virtual/items.js +4 -0
  73. package/dist/_virtual/items.js.map +1 -0
  74. package/dist/_virtual/items2020.js +4 -0
  75. package/dist/_virtual/items2020.js.map +1 -0
  76. package/dist/_virtual/keyword.js +4 -0
  77. package/dist/_virtual/keyword.js.map +1 -0
  78. package/dist/_virtual/limit.js +4 -0
  79. package/dist/_virtual/limit.js.map +1 -0
  80. package/dist/_virtual/limitItems.js +4 -0
  81. package/dist/_virtual/limitItems.js.map +1 -0
  82. package/dist/_virtual/limitLength.js +4 -0
  83. package/dist/_virtual/limitLength.js.map +1 -0
  84. package/dist/_virtual/limitNumber.js +4 -0
  85. package/dist/_virtual/limitNumber.js.map +1 -0
  86. package/dist/_virtual/limitProperties.js +4 -0
  87. package/dist/_virtual/limitProperties.js.map +1 -0
  88. package/dist/_virtual/metadata.js +4 -0
  89. package/dist/_virtual/metadata.js.map +1 -0
  90. package/dist/_virtual/multipleOf.js +4 -0
  91. package/dist/_virtual/multipleOf.js.map +1 -0
  92. package/dist/_virtual/names.js +4 -0
  93. package/dist/_virtual/names.js.map +1 -0
  94. package/dist/_virtual/not.js +4 -0
  95. package/dist/_virtual/not.js.map +1 -0
  96. package/dist/_virtual/oneOf.js +4 -0
  97. package/dist/_virtual/oneOf.js.map +1 -0
  98. package/dist/_virtual/pattern.js +4 -0
  99. package/dist/_virtual/pattern.js.map +1 -0
  100. package/dist/_virtual/patternProperties.js +4 -0
  101. package/dist/_virtual/patternProperties.js.map +1 -0
  102. package/dist/_virtual/prefixItems.js +4 -0
  103. package/dist/_virtual/prefixItems.js.map +1 -0
  104. package/dist/_virtual/properties.js +4 -0
  105. package/dist/_virtual/properties.js.map +1 -0
  106. package/dist/_virtual/propertyNames.js +4 -0
  107. package/dist/_virtual/propertyNames.js.map +1 -0
  108. package/dist/_virtual/ref.js +4 -0
  109. package/dist/_virtual/ref.js.map +1 -0
  110. package/dist/_virtual/ref_error.js +4 -0
  111. package/dist/_virtual/ref_error.js.map +1 -0
  112. package/dist/_virtual/required.js +4 -0
  113. package/dist/_virtual/required.js.map +1 -0
  114. package/dist/_virtual/resolve.js +4 -0
  115. package/dist/_virtual/resolve.js.map +1 -0
  116. package/dist/_virtual/rules.js +4 -0
  117. package/dist/_virtual/rules.js.map +1 -0
  118. package/dist/_virtual/scope.js +4 -0
  119. package/dist/_virtual/scope.js.map +1 -0
  120. package/dist/_virtual/subschema.js +4 -0
  121. package/dist/_virtual/subschema.js.map +1 -0
  122. package/dist/_virtual/thenElse.js +4 -0
  123. package/dist/_virtual/thenElse.js.map +1 -0
  124. package/dist/_virtual/types.js +4 -0
  125. package/dist/_virtual/types.js.map +1 -0
  126. package/dist/_virtual/ucs2length.js +4 -0
  127. package/dist/_virtual/ucs2length.js.map +1 -0
  128. package/dist/_virtual/uniqueItems.js +4 -0
  129. package/dist/_virtual/uniqueItems.js.map +1 -0
  130. package/dist/_virtual/uri.js +4 -0
  131. package/dist/_virtual/uri.js.map +1 -0
  132. package/dist/_virtual/util.js +4 -0
  133. package/dist/_virtual/util.js.map +1 -0
  134. package/dist/_virtual/validation_error.js +4 -0
  135. package/dist/_virtual/validation_error.js.map +1 -0
  136. package/dist/claude-cli/cli.js +2294 -2146
  137. package/dist/example-client.d.ts +3 -0
  138. package/dist/example-client.d.ts.map +1 -0
  139. package/dist/index.d.ts +12 -4
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +5 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js +610 -0
  144. package/dist/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -0
  145. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js +875 -0
  146. package/dist/node_modules/@agentclientprotocol/sdk/dist/schema.js.map +1 -0
  147. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js +66 -0
  148. package/dist/node_modules/@agentclientprotocol/sdk/dist/stream.js.map +1 -0
  149. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +23 -0
  150. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
  151. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +331 -0
  152. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  153. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +717 -0
  154. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
  155. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +221 -0
  156. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
  157. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +56 -0
  158. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  159. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +440 -0
  160. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  161. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +94 -0
  162. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js.map +1 -0
  163. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1610 -0
  164. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  165. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +91 -0
  166. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
  167. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js +133 -0
  168. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/ZodError.js.map +1 -0
  169. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js +9 -0
  170. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/errors.js.map +1 -0
  171. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js +9 -0
  172. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/errorUtil.js.map +1 -0
  173. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js +112 -0
  174. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/parseUtil.js.map +1 -0
  175. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js +136 -0
  176. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/helpers/util.js.map +1 -0
  177. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js +112 -0
  178. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/locales/en.js.map +1 -0
  179. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js +3297 -0
  180. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v3/types.js.map +1 -0
  181. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js +44 -0
  182. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/errors.js.map +1 -0
  183. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js +36 -0
  184. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/iso.js.map +1 -0
  185. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js +10 -0
  186. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/parse.js.map +1 -0
  187. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js +657 -0
  188. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/classic/schemas.js.map +1 -0
  189. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js +449 -0
  190. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/api.js.map +1 -0
  191. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js +413 -0
  192. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/checks.js.map +1 -0
  193. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js +57 -0
  194. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/core.js.map +1 -0
  195. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js +38 -0
  196. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/doc.js.map +1 -0
  197. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js +86 -0
  198. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/errors.js.map +1 -0
  199. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js +61 -0
  200. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/parse.js.map +1 -0
  201. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js +80 -0
  202. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/regexes.js.map +1 -0
  203. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js +52 -0
  204. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/registries.js.map +1 -0
  205. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js +1307 -0
  206. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/schemas.js.map +1 -0
  207. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js +842 -0
  208. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  209. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js +335 -0
  210. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/util.js.map +1 -0
  211. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js +8 -0
  212. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/core/versions.js.map +1 -0
  213. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js +51 -0
  214. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod/v4/mini/schemas.js.map +1 -0
  215. package/dist/node_modules/ajv/dist/ajv.js +69 -0
  216. package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
  217. package/dist/node_modules/ajv/dist/compile/codegen/code.js +169 -0
  218. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  219. package/dist/node_modules/ajv/dist/compile/codegen/index.js +712 -0
  220. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  221. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +157 -0
  222. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  223. package/dist/node_modules/ajv/dist/compile/errors.js +140 -0
  224. package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
  225. package/dist/node_modules/ajv/dist/compile/index.js +253 -0
  226. package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
  227. package/dist/node_modules/ajv/dist/compile/names.js +40 -0
  228. package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
  229. package/dist/node_modules/ajv/dist/compile/ref_error.js +25 -0
  230. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  231. package/dist/node_modules/ajv/dist/compile/resolve.js +162 -0
  232. package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  233. package/dist/node_modules/ajv/dist/compile/rules.js +29 -0
  234. package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
  235. package/dist/node_modules/ajv/dist/compile/util.js +183 -0
  236. package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
  237. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +30 -0
  238. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  239. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +64 -0
  240. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  241. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +213 -0
  242. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  243. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +49 -0
  244. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  245. package/dist/node_modules/ajv/dist/compile/validate/index.js +544 -0
  246. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  247. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +139 -0
  248. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  249. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +95 -0
  250. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  251. package/dist/node_modules/ajv/dist/core.js +639 -0
  252. package/dist/node_modules/ajv/dist/core.js.map +1 -0
  253. package/dist/node_modules/ajv/dist/refs/data.json.js +31 -0
  254. package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
  255. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +254 -0
  256. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
  257. package/dist/node_modules/ajv/dist/runtime/equal.js +9 -0
  258. package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  259. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +25 -0
  260. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  261. package/dist/node_modules/ajv/dist/runtime/uri.js +8 -0
  262. package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  263. package/dist/node_modules/ajv/dist/runtime/validation_error.js +22 -0
  264. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  265. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +53 -0
  266. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  267. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +112 -0
  268. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  269. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +26 -0
  270. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  271. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +14 -0
  272. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  273. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +99 -0
  274. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  275. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +93 -0
  276. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  277. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +70 -0
  278. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  279. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +77 -0
  280. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  281. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +57 -0
  282. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  283. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +37 -0
  284. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  285. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +29 -0
  286. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  287. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
  288. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  289. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +80 -0
  290. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  291. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +15 -0
  292. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  293. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +61 -0
  294. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  295. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +42 -0
  296. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  297. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +16 -0
  298. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  299. package/dist/node_modules/ajv/dist/vocabularies/code.js +146 -0
  300. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  301. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +11 -0
  302. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  303. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +21 -0
  304. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  305. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +131 -0
  306. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  307. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +113 -0
  308. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  309. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +12 -0
  310. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  311. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +28 -0
  312. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  313. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +94 -0
  314. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  315. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +9 -0
  316. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  317. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +21 -0
  318. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  319. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +31 -0
  320. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  321. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +54 -0
  322. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  323. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +54 -0
  324. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  325. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +26 -0
  326. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  327. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +33 -0
  328. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  329. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +29 -0
  330. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  331. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +26 -0
  332. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  333. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +28 -0
  334. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  335. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +27 -0
  336. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  337. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +84 -0
  338. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  339. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +72 -0
  340. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  341. package/dist/node_modules/ajv-formats/dist/formats.js +212 -0
  342. package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
  343. package/dist/node_modules/ajv-formats/dist/index.js +52 -0
  344. package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
  345. package/dist/node_modules/ajv-formats/dist/limit.js +75 -0
  346. package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
  347. package/dist/node_modules/diff/libesm/diff/base.js +256 -0
  348. package/dist/node_modules/diff/libesm/diff/base.js.map +1 -0
  349. package/dist/node_modules/diff/libesm/diff/line.js +64 -0
  350. package/dist/node_modules/diff/libesm/diff/line.js.map +1 -0
  351. package/dist/node_modules/diff/libesm/patch/create.js +185 -0
  352. package/dist/node_modules/diff/libesm/patch/create.js.map +1 -0
  353. package/dist/node_modules/fast-deep-equal/index.js +47 -0
  354. package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
  355. package/dist/node_modules/fast-uri/index.js +347 -0
  356. package/dist/node_modules/fast-uri/index.js.map +1 -0
  357. package/dist/node_modules/fast-uri/lib/schemes.js +255 -0
  358. package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
  359. package/dist/node_modules/fast-uri/lib/utils.js +334 -0
  360. package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
  361. package/dist/node_modules/json-schema-traverse/index.js +98 -0
  362. package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
  363. package/dist/node_modules/uuid/dist/rng.js +14 -0
  364. package/dist/node_modules/uuid/dist/rng.js.map +1 -0
  365. package/dist/node_modules/uuid/dist/stringify.js +29 -0
  366. package/dist/node_modules/uuid/dist/stringify.js.map +1 -0
  367. package/dist/node_modules/uuid/dist/v7.js +65 -0
  368. package/dist/node_modules/uuid/dist/v7.js.map +1 -0
  369. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +37 -0
  370. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
  371. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +26 -0
  372. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
  373. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +17 -0
  374. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
  375. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +11 -0
  376. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
  377. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +66 -0
  378. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
  379. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +21 -0
  380. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
  381. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +30 -0
  382. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
  383. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +53 -0
  384. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
  385. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +8 -0
  386. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
  387. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +8 -0
  388. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
  389. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +8 -0
  390. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
  391. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +50 -0
  392. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
  393. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +11 -0
  394. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
  395. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +11 -0
  396. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
  397. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +9 -0
  398. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
  399. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +56 -0
  400. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
  401. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +24 -0
  402. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
  403. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +30 -0
  404. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
  405. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +19 -0
  406. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
  407. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +15 -0
  408. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
  409. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +13 -0
  410. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
  411. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +37 -0
  412. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
  413. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +56 -0
  414. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
  415. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +76 -0
  416. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
  417. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +25 -0
  418. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
  419. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +24 -0
  420. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
  421. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +8 -0
  422. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
  423. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +8 -0
  424. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
  425. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +65 -0
  426. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
  427. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +24 -0
  428. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
  429. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +350 -0
  430. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  431. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +36 -0
  432. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
  433. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +10 -0
  434. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
  435. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +84 -0
  436. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
  437. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +8 -0
  438. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
  439. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +109 -0
  440. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
  441. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +90 -0
  442. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
  443. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js +42 -0
  444. package/dist/node_modules/zod-to-json-schema/node_modules/zod/v3/types.js.map +1 -0
  445. package/dist/package.json.js +8 -0
  446. package/dist/package.json.js.map +1 -0
  447. package/dist/src/acp-extensions.d.ts +91 -0
  448. package/dist/src/acp-extensions.d.ts.map +1 -0
  449. package/dist/src/acp-extensions.js +38 -0
  450. package/dist/src/acp-extensions.js.map +1 -0
  451. package/dist/src/adapters/claude/claude.d.ts +136 -0
  452. package/dist/src/adapters/claude/claude.d.ts.map +1 -0
  453. package/dist/src/adapters/claude/claude.js +1112 -0
  454. package/dist/src/adapters/claude/claude.js.map +1 -0
  455. package/dist/src/adapters/claude/mcp-server.d.ts +30 -0
  456. package/dist/src/adapters/claude/mcp-server.d.ts.map +1 -0
  457. package/dist/src/adapters/claude/mcp-server.js +655 -0
  458. package/dist/src/adapters/claude/mcp-server.js.map +1 -0
  459. package/dist/src/adapters/claude/tools.d.ts +35 -0
  460. package/dist/src/adapters/claude/tools.d.ts.map +1 -0
  461. package/dist/src/adapters/claude/tools.js +466 -0
  462. package/dist/src/adapters/claude/tools.js.map +1 -0
  463. package/dist/src/adapters/claude/utils.d.ts +48 -0
  464. package/dist/src/adapters/claude/utils.d.ts.map +1 -0
  465. package/dist/src/adapters/claude/utils.js +158 -0
  466. package/dist/src/adapters/claude/utils.js.map +1 -0
  467. package/dist/src/agent.d.ts +15 -25
  468. package/dist/src/agent.d.ts.map +1 -1
  469. package/dist/src/agent.js +118 -156
  470. package/dist/src/agent.js.map +1 -1
  471. package/dist/src/file-manager.d.ts +2 -2
  472. package/dist/src/file-manager.d.ts.map +1 -1
  473. package/dist/src/file-manager.js +13 -5
  474. package/dist/src/file-manager.js.map +1 -1
  475. package/dist/src/git-manager.d.ts +1 -0
  476. package/dist/src/git-manager.d.ts.map +1 -1
  477. package/dist/src/git-manager.js +18 -0
  478. package/dist/src/git-manager.js.map +1 -1
  479. package/dist/src/posthog-api.d.ts +8 -13
  480. package/dist/src/posthog-api.d.ts.map +1 -1
  481. package/dist/src/posthog-api.js +14 -2
  482. package/dist/src/posthog-api.js.map +1 -1
  483. package/dist/src/prompt-builder.d.ts +2 -2
  484. package/dist/src/prompt-builder.d.ts.map +1 -1
  485. package/dist/src/prompt-builder.js +7 -7
  486. package/dist/src/prompt-builder.js.map +1 -1
  487. package/dist/src/schemas.d.ts +980 -0
  488. package/dist/src/schemas.d.ts.map +1 -0
  489. package/dist/src/schemas.js +196 -0
  490. package/dist/src/schemas.js.map +1 -0
  491. package/dist/src/session-store.d.ts +53 -0
  492. package/dist/src/session-store.d.ts.map +1 -0
  493. package/dist/src/session-store.js +195 -0
  494. package/dist/src/session-store.js.map +1 -0
  495. package/dist/src/task-manager.d.ts +3 -3
  496. package/dist/src/task-manager.d.ts.map +1 -1
  497. package/dist/src/task-manager.js.map +1 -1
  498. package/dist/src/template-manager.d.ts.map +1 -1
  499. package/dist/src/template-manager.js +6 -6
  500. package/dist/src/template-manager.js.map +1 -1
  501. package/dist/src/todo-manager.d.ts +2 -2
  502. package/dist/src/todo-manager.d.ts.map +1 -1
  503. package/dist/src/todo-manager.js +5 -1
  504. package/dist/src/todo-manager.js.map +1 -1
  505. package/dist/src/types.d.ts +54 -159
  506. package/dist/src/types.d.ts.map +1 -1
  507. package/dist/src/types.js +1 -0
  508. package/dist/src/types.js.map +1 -1
  509. package/dist/src/utils/logger.d.ts +10 -2
  510. package/dist/src/utils/logger.d.ts.map +1 -1
  511. package/dist/src/utils/logger.js +35 -20
  512. package/dist/src/utils/logger.js.map +1 -1
  513. package/dist/src/utils/tapped-stream.d.ts +17 -0
  514. package/dist/src/utils/tapped-stream.d.ts.map +1 -0
  515. package/dist/src/utils/tapped-stream.js +45 -0
  516. package/dist/src/utils/tapped-stream.js.map +1 -0
  517. package/dist/src/workflow/steps/build.d.ts.map +1 -1
  518. package/dist/src/workflow/steps/build.js +15 -9
  519. package/dist/src/workflow/steps/build.js.map +1 -1
  520. package/dist/src/workflow/steps/finalize.d.ts.map +1 -1
  521. package/dist/src/workflow/steps/finalize.js +4 -4
  522. package/dist/src/workflow/steps/finalize.js.map +1 -1
  523. package/dist/src/workflow/steps/plan.d.ts.map +1 -1
  524. package/dist/src/workflow/steps/plan.js +22 -12
  525. package/dist/src/workflow/steps/plan.js.map +1 -1
  526. package/dist/src/workflow/steps/research.d.ts.map +1 -1
  527. package/dist/src/workflow/steps/research.js +33 -26
  528. package/dist/src/workflow/steps/research.js.map +1 -1
  529. package/dist/src/workflow/types.d.ts +10 -5
  530. package/dist/src/workflow/types.d.ts.map +1 -1
  531. package/dist/src/worktree-manager.d.ts +39 -0
  532. package/dist/src/worktree-manager.d.ts.map +1 -0
  533. package/dist/src/worktree-manager.js +810 -0
  534. package/dist/src/worktree-manager.js.map +1 -0
  535. package/package.json +19 -15
  536. package/src/acp-extensions.ts +117 -0
  537. package/src/adapters/claude/claude.ts +1498 -0
  538. package/src/adapters/claude/mcp-server.ts +810 -0
  539. package/src/adapters/claude/tools.ts +609 -0
  540. package/src/adapters/claude/utils.ts +267 -0
  541. package/src/agent.ts +151 -222
  542. package/src/file-manager.ts +16 -7
  543. package/src/git-manager.ts +20 -0
  544. package/src/posthog-api.ts +38 -17
  545. package/src/prompt-builder.ts +23 -15
  546. package/src/schemas.ts +241 -0
  547. package/src/session-store.ts +244 -0
  548. package/src/task-manager.ts +3 -3
  549. package/src/template-manager.ts +8 -8
  550. package/src/todo-manager.ts +9 -3
  551. package/src/types.ts +79 -210
  552. package/src/utils/logger.ts +47 -22
  553. package/src/utils/tapped-stream.ts +60 -0
  554. package/src/workflow/steps/build.ts +16 -11
  555. package/src/workflow/steps/finalize.ts +4 -11
  556. package/src/workflow/steps/plan.ts +24 -19
  557. package/src/workflow/steps/research.ts +34 -33
  558. package/src/workflow/types.ts +14 -5
  559. package/src/worktree-manager.ts +884 -0
  560. package/dist/src/adapters/claude/claude-adapter.d.ts +0 -18
  561. package/dist/src/adapters/claude/claude-adapter.d.ts.map +0 -1
  562. package/dist/src/adapters/claude/claude-adapter.js +0 -356
  563. package/dist/src/adapters/claude/claude-adapter.js.map +0 -1
  564. package/dist/src/adapters/claude/tool-mapper.d.ts +0 -19
  565. package/dist/src/adapters/claude/tool-mapper.d.ts.map +0 -1
  566. package/dist/src/adapters/claude/tool-mapper.js +0 -44
  567. package/dist/src/adapters/claude/tool-mapper.js.map +0 -1
  568. package/dist/src/adapters/types.d.ts +0 -33
  569. package/dist/src/adapters/types.d.ts.map +0 -1
  570. package/dist/src/task-progress-reporter.d.ts +0 -42
  571. package/dist/src/task-progress-reporter.d.ts.map +0 -1
  572. package/dist/src/task-progress-reporter.js +0 -398
  573. package/dist/src/task-progress-reporter.js.map +0 -1
  574. package/src/adapters/claude/claude-adapter.ts +0 -390
  575. package/src/adapters/claude/tool-mapper.ts +0 -46
  576. package/src/adapters/types.ts +0 -37
  577. package/src/task-progress-reporter.ts +0 -454
@@ -1 +1 @@
1
- {"version":3,"file":"template-manager.js","sources":["../../src/template-manager.ts"],"sourcesContent":["import { existsSync, promises as fs } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nexport interface TemplateVariables {\n task_id: string;\n task_title: string;\n task_description?: string;\n date: string;\n repository?: string;\n [key: string]: string | undefined;\n}\n\nexport class TemplateManager {\n private templatesDir: string;\n\n constructor() {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = dirname(__filename);\n\n // Exhaustive list of possible template locations\n const candidateDirs = [\n // Standard build output (dist/src/template-manager.js -> dist/templates)\n join(__dirname, \"..\", \"templates\"),\n\n // If preserveModules creates nested structure (dist/src/template-manager.js -> dist/src/templates)\n join(__dirname, \"templates\"),\n\n // Development scenarios (src/template-manager.ts -> src/templates)\n join(__dirname, \"..\", \"..\", \"src\", \"templates\"),\n\n // Package root templates directory\n join(__dirname, \"..\", \"..\", \"templates\"),\n\n // When node_modules symlink or installed (node_modules/@posthog/agent/dist/src/... -> node_modules/@posthog/agent/dist/templates)\n join(__dirname, \"..\", \"..\", \"dist\", \"templates\"),\n\n // When consumed from node_modules deep in tree\n join(__dirname, \"..\", \"..\", \"..\", \"templates\"),\n join(__dirname, \"..\", \"..\", \"..\", \"dist\", \"templates\"),\n join(__dirname, \"..\", \"..\", \"..\", \"src\", \"templates\"),\n\n // When bundled by Vite/Webpack (e.g., .vite/build/index.js -> node_modules/@posthog/agent/dist/templates)\n // Try to find node_modules from current location\n join(\n __dirname,\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n join(\n __dirname,\n \"..\",\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n join(\n __dirname,\n \"..\",\n \"..\",\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n ];\n\n const resolvedDir = candidateDirs.find((dir) => existsSync(dir));\n\n if (!resolvedDir) {\n console.error(\"[TemplateManager] Could not find templates directory.\");\n console.error(\"[TemplateManager] Current file:\", __filename);\n console.error(\"[TemplateManager] Current dir:\", __dirname);\n console.error(\n \"[TemplateManager] Tried:\",\n candidateDirs\n .map((d) => `\\n - ${d} (exists: ${existsSync(d)})`)\n .join(\"\"),\n );\n }\n\n this.templatesDir = resolvedDir ?? candidateDirs[0];\n }\n\n private async loadTemplate(templateName: string): Promise<string> {\n try {\n const templatePath = join(this.templatesDir, templateName);\n return await fs.readFile(templatePath, \"utf8\");\n } catch (error) {\n throw new Error(\n `Failed to load template ${templateName} from ${this.templatesDir}: ${error}`,\n );\n }\n }\n\n private substituteVariables(\n template: string,\n variables: TemplateVariables,\n ): string {\n let result = template;\n\n for (const [key, value] of Object.entries(variables)) {\n if (value !== undefined) {\n const placeholder = new RegExp(`{{${key}}}`, \"g\");\n result = result.replace(placeholder, value);\n }\n }\n\n result = result.replace(/{{[^}]+}}/g, \"[PLACEHOLDER]\");\n\n return result;\n }\n\n async generatePlan(variables: TemplateVariables): Promise<string> {\n const template = await this.loadTemplate(\"plan-template.md\");\n return this.substituteVariables(template, {\n ...variables,\n date: variables.date || new Date().toISOString().split(\"T\")[0],\n });\n }\n\n async generateCustomFile(\n templateName: string,\n variables: TemplateVariables,\n ): Promise<string> {\n const template = await this.loadTemplate(templateName);\n return this.substituteVariables(template, {\n ...variables,\n date: variables.date || new Date().toISOString().split(\"T\")[0],\n });\n }\n\n async createTaskStructure(\n taskId: string,\n taskTitle: string,\n options?: {\n includePlan?: boolean;\n additionalFiles?: Array<{\n name: string;\n template?: string;\n content?: string;\n }>;\n },\n ): Promise<\n Array<{\n name: string;\n content: string;\n type: \"plan\" | \"context\" | \"reference\" | \"output\";\n }>\n > {\n const files: Array<{\n name: string;\n content: string;\n type: \"plan\" | \"context\" | \"reference\" | \"output\";\n }> = [];\n\n const variables: TemplateVariables = {\n task_id: taskId,\n task_title: taskTitle,\n date: new Date().toISOString().split(\"T\")[0],\n };\n\n // Generate plan file if requested\n if (options?.includePlan !== false) {\n const planContent = await this.generatePlan(variables);\n files.push({\n name: \"plan.md\",\n content: planContent,\n type: \"plan\",\n });\n }\n\n if (options?.additionalFiles) {\n for (const file of options.additionalFiles) {\n let content: string;\n\n if (file.template) {\n content = await this.generateCustomFile(file.template, variables);\n } else if (file.content) {\n content = this.substituteVariables(file.content, variables);\n } else {\n content = `# ${file.name}\\n\\nPlaceholder content for ${file.name}`;\n }\n\n files.push({\n name: file.name,\n content,\n type: file.name.includes(\"context\") ? \"context\" : \"reference\",\n });\n }\n }\n\n return files;\n }\n\n generatePostHogReadme(): string {\n return `# PostHog Task Files\n\nThis directory contains task-related files generated by the PostHog Agent.\n\n## Structure\n\nEach task has its own subdirectory: \\`.posthog/{task-id}/\\`\n\n### Common Files\n\n- **plan.md** - Implementation plan generated during planning phase\n- **Supporting files** - Any additional files added for task context\n- **artifacts/** - Generated files, outputs, and temporary artifacts\n\n### Usage\n\nThese files are:\n- Version controlled alongside your code\n- Used by the PostHog Agent for context\n- Available for review in pull requests\n- Organized by task ID for easy reference\n\n### Gitignore\n\nCustomize \\`.posthog/.gitignore\\` to control which files are committed:\n- Include plans and documentation by default\n- Exclude temporary files and sensitive data\n- Customize based on your team's needs\n\n---\n\n*Generated by PostHog Agent*\n`;\n }\n}\n"],"names":["fs"],"mappings":"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"}
1
+ {"version":3,"file":"template-manager.js","sources":["../../src/template-manager.ts"],"sourcesContent":["import { existsSync, promises as fs } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { Logger } from \"./utils/logger\";\n\nconst logger = new Logger({ prefix: \"[TemplateManager]\" });\n\nexport interface TemplateVariables {\n task_id: string;\n task_title: string;\n task_description?: string;\n date: string;\n repository?: string;\n [key: string]: string | undefined;\n}\n\nexport class TemplateManager {\n private templatesDir: string;\n\n constructor() {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = dirname(__filename);\n\n // Exhaustive list of possible template locations\n const candidateDirs = [\n // Standard build output (dist/src/template-manager.js -> dist/templates)\n join(__dirname, \"..\", \"templates\"),\n\n // If preserveModules creates nested structure (dist/src/template-manager.js -> dist/src/templates)\n join(__dirname, \"templates\"),\n\n // Development scenarios (src/template-manager.ts -> src/templates)\n join(__dirname, \"..\", \"..\", \"src\", \"templates\"),\n\n // Package root templates directory\n join(__dirname, \"..\", \"..\", \"templates\"),\n\n // When node_modules symlink or installed (node_modules/@posthog/agent/dist/src/... -> node_modules/@posthog/agent/dist/templates)\n join(__dirname, \"..\", \"..\", \"dist\", \"templates\"),\n\n // When consumed from node_modules deep in tree\n join(__dirname, \"..\", \"..\", \"..\", \"templates\"),\n join(__dirname, \"..\", \"..\", \"..\", \"dist\", \"templates\"),\n join(__dirname, \"..\", \"..\", \"..\", \"src\", \"templates\"),\n\n // When bundled by Vite/Webpack (e.g., .vite/build/index.js -> node_modules/@posthog/agent/dist/templates)\n // Try to find node_modules from current location\n join(\n __dirname,\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n join(\n __dirname,\n \"..\",\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n join(\n __dirname,\n \"..\",\n \"..\",\n \"..\",\n \"node_modules\",\n \"@posthog\",\n \"agent\",\n \"dist\",\n \"templates\",\n ),\n ];\n\n const resolvedDir = candidateDirs.find((dir) => existsSync(dir));\n\n if (!resolvedDir) {\n logger.error(\"Could not find templates directory.\");\n logger.error(`Current file: ${__filename}`);\n logger.error(`Current dir: ${__dirname}`);\n logger.error(\n `Tried: ${candidateDirs.map((d) => `\\n - ${d} (exists: ${existsSync(d)})`).join(\"\")}`,\n );\n }\n\n this.templatesDir = resolvedDir ?? candidateDirs[0];\n }\n\n private async loadTemplate(templateName: string): Promise<string> {\n try {\n const templatePath = join(this.templatesDir, templateName);\n return await fs.readFile(templatePath, \"utf8\");\n } catch (error) {\n throw new Error(\n `Failed to load template ${templateName} from ${this.templatesDir}: ${error}`,\n );\n }\n }\n\n private substituteVariables(\n template: string,\n variables: TemplateVariables,\n ): string {\n let result = template;\n\n for (const [key, value] of Object.entries(variables)) {\n if (value !== undefined) {\n const placeholder = new RegExp(`{{${key}}}`, \"g\");\n result = result.replace(placeholder, value);\n }\n }\n\n result = result.replace(/{{[^}]+}}/g, \"[PLACEHOLDER]\");\n\n return result;\n }\n\n async generatePlan(variables: TemplateVariables): Promise<string> {\n const template = await this.loadTemplate(\"plan-template.md\");\n return this.substituteVariables(template, {\n ...variables,\n date: variables.date || new Date().toISOString().split(\"T\")[0],\n });\n }\n\n async generateCustomFile(\n templateName: string,\n variables: TemplateVariables,\n ): Promise<string> {\n const template = await this.loadTemplate(templateName);\n return this.substituteVariables(template, {\n ...variables,\n date: variables.date || new Date().toISOString().split(\"T\")[0],\n });\n }\n\n async createTaskStructure(\n taskId: string,\n taskTitle: string,\n options?: {\n includePlan?: boolean;\n additionalFiles?: Array<{\n name: string;\n template?: string;\n content?: string;\n }>;\n },\n ): Promise<\n Array<{\n name: string;\n content: string;\n type: \"plan\" | \"context\" | \"reference\" | \"output\";\n }>\n > {\n const files: Array<{\n name: string;\n content: string;\n type: \"plan\" | \"context\" | \"reference\" | \"output\";\n }> = [];\n\n const variables: TemplateVariables = {\n task_id: taskId,\n task_title: taskTitle,\n date: new Date().toISOString().split(\"T\")[0],\n };\n\n // Generate plan file if requested\n if (options?.includePlan !== false) {\n const planContent = await this.generatePlan(variables);\n files.push({\n name: \"plan.md\",\n content: planContent,\n type: \"plan\",\n });\n }\n\n if (options?.additionalFiles) {\n for (const file of options.additionalFiles) {\n let content: string;\n\n if (file.template) {\n content = await this.generateCustomFile(file.template, variables);\n } else if (file.content) {\n content = this.substituteVariables(file.content, variables);\n } else {\n content = `# ${file.name}\\n\\nPlaceholder content for ${file.name}`;\n }\n\n files.push({\n name: file.name,\n content,\n type: file.name.includes(\"context\") ? \"context\" : \"reference\",\n });\n }\n }\n\n return files;\n }\n\n generatePostHogReadme(): string {\n return `# PostHog Task Files\n\nThis directory contains task-related files generated by the PostHog Agent.\n\n## Structure\n\nEach task has its own subdirectory: \\`.posthog/{task-id}/\\`\n\n### Common Files\n\n- **plan.md** - Implementation plan generated during planning phase\n- **Supporting files** - Any additional files added for task context\n- **artifacts/** - Generated files, outputs, and temporary artifacts\n\n### Usage\n\nThese files are:\n- Version controlled alongside your code\n- Used by the PostHog Agent for context\n- Available for review in pull requests\n- Organized by task ID for easy reference\n\n### Gitignore\n\nCustomize \\`.posthog/.gitignore\\` to control which files are committed:\n- Include plans and documentation by default\n- Exclude temporary files and sensitive data\n- Customize based on your team's needs\n\n---\n\n*Generated by PostHog Agent*\n`;\n }\n}\n"],"names":["fs"],"mappings":"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"}
@@ -21,9 +21,9 @@ export declare class TodoManager {
21
21
  constructor(fileManager: PostHogFileManager, logger?: Logger);
22
22
  readTodos(taskId: string): Promise<TodoList | null>;
23
23
  writeTodos(taskId: string, todos: TodoList): Promise<void>;
24
- parseTodoWriteInput(toolInput: any): TodoList;
24
+ parseTodoWriteInput(toolInput: Record<string, unknown>): TodoList;
25
25
  private calculateMetadata;
26
26
  getTodoContext(taskId: string): Promise<string>;
27
- checkAndPersistFromMessage(message: any, taskId: string): Promise<TodoList | null>;
27
+ checkAndPersistFromMessage(message: Record<string, unknown>, taskId: string): Promise<TodoList | null>;
28
28
  }
29
29
  //# sourceMappingURL=todo-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"todo-manager.d.ts","sourceRoot":"","sources":["../../src/todo-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,MAAM,CAAS;gBAEX,WAAW,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM;IAMtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA0BnD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,mBAAmB,CAAC,SAAS,EAAE,GAAG,GAAG,QAAQ;IAkB7C,OAAO,CAAC,iBAAiB;IAenB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B/C,0BAA0B,CAC9B,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAgC5B"}
1
+ {"version":3,"file":"todo-manager.d.ts","sourceRoot":"","sources":["../../src/todo-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,MAAM,CAAS;gBAEX,WAAW,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,MAAM;IAMtD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA0BnD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAkBjE,OAAO,CAAC,iBAAiB;IAenB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B/C,0BAA0B,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAsC5B"}
@@ -98,7 +98,11 @@ class TodoManager {
98
98
  }
99
99
  // check for TodoWrite tool call and persist if found
100
100
  async checkAndPersistFromMessage(message, taskId) {
101
- if (message.type !== "assistant" || !message.message?.content) {
101
+ if (message.type !== "assistant" ||
102
+ typeof message.message !== "object" ||
103
+ !message.message ||
104
+ !("content" in message.message) ||
105
+ !Array.isArray(message.message.content)) {
102
106
  return null;
103
107
  }
104
108
  for (const block of message.message.content) {
@@ -1 +1 @@
1
- {"version":3,"file":"todo-manager.js","sources":["../../src/todo-manager.ts"],"sourcesContent":["import type { PostHogFileManager } from \"./file-manager.js\";\nimport { Logger } from \"./utils/logger.js\";\n\nexport interface TodoItem {\n content: string;\n status: \"pending\" | \"in_progress\" | \"completed\";\n activeForm: string;\n}\n\nexport interface TodoList {\n items: TodoItem[];\n metadata: {\n total: number;\n pending: number;\n in_progress: number;\n completed: number;\n last_updated: string;\n };\n}\n\nexport class TodoManager {\n private fileManager: PostHogFileManager;\n private logger: Logger;\n\n constructor(fileManager: PostHogFileManager, logger?: Logger) {\n this.fileManager = fileManager;\n this.logger =\n logger || new Logger({ debug: false, prefix: \"[TodoManager]\" });\n }\n\n async readTodos(taskId: string): Promise<TodoList | null> {\n try {\n const content = await this.fileManager.readTaskFile(taskId, \"todos.json\");\n if (!content) {\n return null;\n }\n\n const parsed = JSON.parse(content) as TodoList;\n this.logger.debug(\"Loaded todos\", {\n taskId,\n total: parsed.metadata.total,\n pending: parsed.metadata.pending,\n in_progress: parsed.metadata.in_progress,\n completed: parsed.metadata.completed,\n });\n\n return parsed;\n } catch (error) {\n this.logger.debug(\"Failed to read todos.json\", {\n taskId,\n error: error instanceof Error ? error.message : String(error),\n });\n return null;\n }\n }\n\n async writeTodos(taskId: string, todos: TodoList): Promise<void> {\n this.logger.debug(\"Writing todos\", {\n taskId,\n total: todos.metadata.total,\n pending: todos.metadata.pending,\n in_progress: todos.metadata.in_progress,\n completed: todos.metadata.completed,\n });\n\n await this.fileManager.writeTaskFile(taskId, {\n name: \"todos.json\",\n content: JSON.stringify(todos, null, 2),\n type: \"artifact\",\n });\n\n this.logger.info(\"Todos saved\", {\n taskId,\n total: todos.metadata.total,\n completed: todos.metadata.completed,\n });\n }\n\n parseTodoWriteInput(toolInput: any): TodoList {\n const items: TodoItem[] = [];\n\n if (toolInput.todos && Array.isArray(toolInput.todos)) {\n for (const todo of toolInput.todos) {\n items.push({\n content: todo.content || \"\",\n status: todo.status || \"pending\",\n activeForm: todo.activeForm || todo.content || \"\",\n });\n }\n }\n\n const metadata = this.calculateMetadata(items);\n\n return { items, metadata };\n }\n\n private calculateMetadata(items: TodoItem[]): TodoList[\"metadata\"] {\n const total = items.length;\n const pending = items.filter((t) => t.status === \"pending\").length;\n const in_progress = items.filter((t) => t.status === \"in_progress\").length;\n const completed = items.filter((t) => t.status === \"completed\").length;\n\n return {\n total,\n pending,\n in_progress,\n completed,\n last_updated: new Date().toISOString(),\n };\n }\n\n async getTodoContext(taskId: string): Promise<string> {\n const todos = await this.readTodos(taskId);\n if (!todos || todos.items.length === 0) {\n return \"\";\n }\n\n const lines: string[] = [\"## Previous Todo List\\n\"];\n lines.push(\"You previously created the following todo list:\\n\");\n\n for (const item of todos.items) {\n const statusIcon =\n item.status === \"completed\"\n ? \"✓\"\n : item.status === \"in_progress\"\n ? \"▶\"\n : \"○\";\n lines.push(`${statusIcon} [${item.status}] ${item.content}`);\n }\n\n lines.push(\n `\\nProgress: ${todos.metadata.completed}/${todos.metadata.total} completed\\n`,\n );\n\n return lines.join(\"\\n\");\n }\n\n // check for TodoWrite tool call and persist if found\n async checkAndPersistFromMessage(\n message: any,\n taskId: string,\n ): Promise<TodoList | null> {\n if (message.type !== \"assistant\" || !message.message?.content) {\n return null;\n }\n\n for (const block of message.message.content) {\n if (block.type === \"tool_use\" && block.name === \"TodoWrite\") {\n try {\n this.logger.info(\"TodoWrite detected, persisting todos\", { taskId });\n\n const todoList = this.parseTodoWriteInput(block.input);\n await this.writeTodos(taskId, todoList);\n\n this.logger.info(\"Persisted todos successfully\", {\n taskId,\n total: todoList.metadata.total,\n completed: todoList.metadata.completed,\n });\n\n return todoList;\n } catch (error) {\n this.logger.error(\"Failed to persist todos\", {\n taskId,\n error: error instanceof Error ? error.message : String(error),\n });\n return null;\n }\n }\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo-manager.js","sources":["../../src/todo-manager.ts"],"sourcesContent":["import type { PostHogFileManager } from \"./file-manager.js\";\nimport { Logger } from \"./utils/logger.js\";\n\nexport interface TodoItem {\n content: string;\n status: \"pending\" | \"in_progress\" | \"completed\";\n activeForm: string;\n}\n\nexport interface TodoList {\n items: TodoItem[];\n metadata: {\n total: number;\n pending: number;\n in_progress: number;\n completed: number;\n last_updated: string;\n };\n}\n\nexport class TodoManager {\n private fileManager: PostHogFileManager;\n private logger: Logger;\n\n constructor(fileManager: PostHogFileManager, logger?: Logger) {\n this.fileManager = fileManager;\n this.logger =\n logger || new Logger({ debug: false, prefix: \"[TodoManager]\" });\n }\n\n async readTodos(taskId: string): Promise<TodoList | null> {\n try {\n const content = await this.fileManager.readTaskFile(taskId, \"todos.json\");\n if (!content) {\n return null;\n }\n\n const parsed = JSON.parse(content) as TodoList;\n this.logger.debug(\"Loaded todos\", {\n taskId,\n total: parsed.metadata.total,\n pending: parsed.metadata.pending,\n in_progress: parsed.metadata.in_progress,\n completed: parsed.metadata.completed,\n });\n\n return parsed;\n } catch (error) {\n this.logger.debug(\"Failed to read todos.json\", {\n taskId,\n error: error instanceof Error ? error.message : String(error),\n });\n return null;\n }\n }\n\n async writeTodos(taskId: string, todos: TodoList): Promise<void> {\n this.logger.debug(\"Writing todos\", {\n taskId,\n total: todos.metadata.total,\n pending: todos.metadata.pending,\n in_progress: todos.metadata.in_progress,\n completed: todos.metadata.completed,\n });\n\n await this.fileManager.writeTaskFile(taskId, {\n name: \"todos.json\",\n content: JSON.stringify(todos, null, 2),\n type: \"artifact\",\n });\n\n this.logger.info(\"Todos saved\", {\n taskId,\n total: todos.metadata.total,\n completed: todos.metadata.completed,\n });\n }\n\n parseTodoWriteInput(toolInput: Record<string, unknown>): TodoList {\n const items: TodoItem[] = [];\n\n if (toolInput.todos && Array.isArray(toolInput.todos)) {\n for (const todo of toolInput.todos) {\n items.push({\n content: todo.content || \"\",\n status: todo.status || \"pending\",\n activeForm: todo.activeForm || todo.content || \"\",\n });\n }\n }\n\n const metadata = this.calculateMetadata(items);\n\n return { items, metadata };\n }\n\n private calculateMetadata(items: TodoItem[]): TodoList[\"metadata\"] {\n const total = items.length;\n const pending = items.filter((t) => t.status === \"pending\").length;\n const in_progress = items.filter((t) => t.status === \"in_progress\").length;\n const completed = items.filter((t) => t.status === \"completed\").length;\n\n return {\n total,\n pending,\n in_progress,\n completed,\n last_updated: new Date().toISOString(),\n };\n }\n\n async getTodoContext(taskId: string): Promise<string> {\n const todos = await this.readTodos(taskId);\n if (!todos || todos.items.length === 0) {\n return \"\";\n }\n\n const lines: string[] = [\"## Previous Todo List\\n\"];\n lines.push(\"You previously created the following todo list:\\n\");\n\n for (const item of todos.items) {\n const statusIcon =\n item.status === \"completed\"\n ? \"✓\"\n : item.status === \"in_progress\"\n ? \"▶\"\n : \"○\";\n lines.push(`${statusIcon} [${item.status}] ${item.content}`);\n }\n\n lines.push(\n `\\nProgress: ${todos.metadata.completed}/${todos.metadata.total} completed\\n`,\n );\n\n return lines.join(\"\\n\");\n }\n\n // check for TodoWrite tool call and persist if found\n async checkAndPersistFromMessage(\n message: Record<string, unknown>,\n taskId: string,\n ): Promise<TodoList | null> {\n if (\n message.type !== \"assistant\" ||\n typeof message.message !== \"object\" ||\n !message.message ||\n !(\"content\" in message.message) ||\n !Array.isArray(message.message.content)\n ) {\n return null;\n }\n\n for (const block of message.message.content) {\n if (block.type === \"tool_use\" && block.name === \"TodoWrite\") {\n try {\n this.logger.info(\"TodoWrite detected, persisting todos\", { taskId });\n\n const todoList = this.parseTodoWriteInput(block.input);\n await this.writeTodos(taskId, todoList);\n\n this.logger.info(\"Persisted todos successfully\", {\n taskId,\n total: todoList.metadata.total,\n completed: todoList.metadata.completed,\n });\n\n return todoList;\n } catch (error) {\n this.logger.error(\"Failed to persist todos\", {\n taskId,\n error: error instanceof Error ? error.message : String(error),\n });\n return null;\n }\n }\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,27 +1,47 @@
1
+ import type { SessionNotification } from "@agentclientprotocol/sdk";
1
2
  import type { CanUseTool, PermissionResult } from "@anthropic-ai/claude-agent-sdk";
2
- export type { CanUseTool, PermissionResult };
3
+ export type { CanUseTool, PermissionResult, SessionNotification };
4
+ /**
5
+ * Stored custom notification following ACP extensibility model.
6
+ * Custom notifications use underscore-prefixed methods (e.g., `_posthog/phase_start`).
7
+ * See: https://agentclientprotocol.com/docs/extensibility
8
+ */
9
+ export interface StoredNotification {
10
+ type: "notification";
11
+ /** When this notification was stored */
12
+ timestamp: string;
13
+ /** JSON-RPC 2.0 notification (no id field = notification, not request) */
14
+ notification: {
15
+ jsonrpc: "2.0";
16
+ method: string;
17
+ params?: Record<string, unknown>;
18
+ };
19
+ }
20
+ /**
21
+ * Type alias for stored log entries.
22
+ */
23
+ export type StoredEntry = StoredNotification;
3
24
  export interface Task {
4
25
  id: string;
26
+ task_number?: number;
27
+ slug?: string;
5
28
  title: string;
6
29
  description: string;
7
30
  origin_product: "error_tracking" | "eval_clusters" | "user_created" | "support_queue" | "session_summaries";
8
- position?: number;
9
31
  github_integration?: number | null;
10
- repository_config?: unknown;
11
- repository_list: string;
12
- primary_repository: string;
32
+ repository: string;
33
+ json_schema?: Record<string, unknown> | null;
13
34
  created_at: string;
14
35
  updated_at: string;
15
- current_stage?: string | null;
16
- github_branch?: string | null;
17
- github_pr_url?: string | null;
36
+ created_by?: {
37
+ id: number;
38
+ uuid: string;
39
+ distinct_id: string;
40
+ first_name: string;
41
+ email: string;
42
+ };
18
43
  latest_run?: TaskRun;
19
44
  }
20
- export interface LogEntry {
21
- type: string;
22
- message: string;
23
- [key: string]: unknown;
24
- }
25
45
  export type ArtifactType = "plan" | "context" | "reference" | "output" | "artifact";
26
46
  export interface TaskRunArtifact {
27
47
  name: string;
@@ -31,13 +51,17 @@ export interface TaskRunArtifact {
31
51
  storage_path?: string;
32
52
  uploaded_at?: string;
33
53
  }
54
+ export type TaskRunStatus = "not_started" | "queued" | "in_progress" | "completed" | "failed" | "cancelled";
55
+ export type TaskRunEnvironment = "local" | "cloud";
34
56
  export interface TaskRun {
35
57
  id: string;
36
58
  task: string;
37
59
  team: number;
38
60
  branch: string | null;
39
- status: "started" | "in_progress" | "completed" | "failed";
40
- log_url?: string;
61
+ stage: string | null;
62
+ environment: TaskRunEnvironment;
63
+ status: TaskRunStatus;
64
+ log_url: string;
41
65
  error_message: string | null;
42
66
  output: Record<string, unknown> | null;
43
67
  state: Record<string, unknown>;
@@ -74,148 +98,10 @@ export interface TaskExecutionOptions {
74
98
  isCloudMode?: boolean;
75
99
  createPR?: boolean;
76
100
  autoProgress?: boolean;
77
- queryOverrides?: Record<string, any>;
101
+ queryOverrides?: Record<string, unknown>;
78
102
  canUseTool?: CanUseTool;
103
+ skipGitBranch?: boolean;
79
104
  }
80
- interface BaseEvent {
81
- ts: number;
82
- }
83
- export interface TokenEvent extends BaseEvent {
84
- type: "token";
85
- content: string;
86
- contentType?: "text" | "thinking" | "tool_input";
87
- }
88
- export interface ContentBlockStartEvent extends BaseEvent {
89
- type: "content_block_start";
90
- index: number;
91
- contentType: "text" | "tool_use" | "thinking";
92
- toolName?: string;
93
- toolId?: string;
94
- }
95
- export interface ContentBlockStopEvent extends BaseEvent {
96
- type: "content_block_stop";
97
- index: number;
98
- }
99
- export interface ToolCallEvent extends BaseEvent {
100
- type: "tool_call";
101
- toolName: string;
102
- callId: string;
103
- args: Record<string, any>;
104
- parentToolUseId?: string | null;
105
- tool?: import("./tools/types.js").Tool;
106
- category?: import("./tools/types.js").ToolCategory;
107
- }
108
- export interface ToolResultEvent extends BaseEvent {
109
- type: "tool_result";
110
- toolName: string;
111
- callId: string;
112
- result: any;
113
- isError?: boolean;
114
- parentToolUseId?: string | null;
115
- tool?: import("./tools/types.js").Tool;
116
- category?: import("./tools/types.js").ToolCategory;
117
- }
118
- export interface MessageStartEvent extends BaseEvent {
119
- type: "message_start";
120
- messageId?: string;
121
- model?: string;
122
- }
123
- export interface MessageDeltaEvent extends BaseEvent {
124
- type: "message_delta";
125
- stopReason?: string;
126
- stopSequence?: string;
127
- usage?: {
128
- outputTokens: number;
129
- };
130
- }
131
- export interface MessageStopEvent extends BaseEvent {
132
- type: "message_stop";
133
- }
134
- export interface UserMessageEvent extends BaseEvent {
135
- type: "user_message";
136
- content: string;
137
- isSynthetic?: boolean;
138
- }
139
- export interface StatusEvent extends BaseEvent {
140
- type: "status";
141
- phase: string;
142
- kind?: string;
143
- branch?: string;
144
- prUrl?: string;
145
- taskId?: string;
146
- messageId?: string;
147
- model?: string;
148
- [key: string]: any;
149
- }
150
- export interface InitEvent extends BaseEvent {
151
- type: "init";
152
- model: string;
153
- tools: string[];
154
- permissionMode: string;
155
- cwd: string;
156
- apiKeySource: string;
157
- agents?: string[];
158
- slashCommands?: string[];
159
- outputStyle?: string;
160
- mcpServers?: Array<{
161
- name: string;
162
- status: string;
163
- }>;
164
- }
165
- export interface CompactBoundaryEvent extends BaseEvent {
166
- type: "compact_boundary";
167
- trigger: "manual" | "auto";
168
- preTokens: number;
169
- }
170
- export interface DoneEvent extends BaseEvent {
171
- type: "done";
172
- result?: string;
173
- durationMs?: number;
174
- durationApiMs?: number;
175
- numTurns?: number;
176
- totalCostUsd?: number;
177
- usage?: any;
178
- modelUsage?: {
179
- [modelName: string]: {
180
- inputTokens: number;
181
- outputTokens: number;
182
- cacheReadInputTokens: number;
183
- cacheCreationInputTokens: number;
184
- webSearchRequests: number;
185
- costUSD: number;
186
- contextWindow: number;
187
- };
188
- };
189
- permissionDenials?: Array<{
190
- tool_name: string;
191
- tool_use_id: string;
192
- tool_input: Record<string, unknown>;
193
- }>;
194
- }
195
- export interface ErrorEvent extends BaseEvent {
196
- type: "error";
197
- message: string;
198
- error?: any;
199
- errorType?: string;
200
- context?: Record<string, any>;
201
- sdkError?: any;
202
- }
203
- export interface MetricEvent extends BaseEvent {
204
- type: "metric";
205
- key: string;
206
- value: number;
207
- unit?: string;
208
- }
209
- export interface ArtifactEvent extends BaseEvent {
210
- type: "artifact";
211
- kind: string;
212
- content: any;
213
- }
214
- export interface RawSDKEvent extends BaseEvent {
215
- type: "raw_sdk_event";
216
- sdkMessage: any;
217
- }
218
- export type AgentEvent = TokenEvent | ContentBlockStartEvent | ContentBlockStopEvent | ToolCallEvent | ToolResultEvent | MessageStartEvent | MessageDeltaEvent | MessageStopEvent | UserMessageEvent | StatusEvent | InitEvent | CompactBoundaryEvent | DoneEvent | ErrorEvent | MetricEvent | ArtifactEvent | RawSDKEvent;
219
105
  export interface ExecutionResult {
220
106
  results: any[];
221
107
  }
@@ -245,15 +131,17 @@ export type McpServerConfig = {
245
131
  name: string;
246
132
  instance?: any;
247
133
  };
134
+ export type LogLevel = "debug" | "info" | "warn" | "error";
135
+ export type OnLogCallback = (level: LogLevel, scope: string, message: string, data?: unknown) => void;
248
136
  export interface AgentConfig {
249
137
  workingDirectory?: string;
250
- onEvent?: (event: AgentEvent) => void;
251
- posthogApiUrl: string;
252
- posthogApiKey: string;
253
- posthogProjectId: number;
138
+ posthogApiUrl?: string;
139
+ posthogApiKey?: string;
140
+ posthogProjectId?: number;
254
141
  posthogMcpUrl?: string;
255
142
  mcpServers?: Record<string, McpServerConfig>;
256
143
  debug?: boolean;
144
+ onLog?: OnLogCallback;
257
145
  canUseTool?: CanUseTool;
258
146
  }
259
147
  export interface PostHogAPIConfig {
@@ -295,4 +183,11 @@ export interface ResearchEvaluation {
295
183
  answered?: boolean;
296
184
  answers?: ResearchAnswer[];
297
185
  }
186
+ export interface WorktreeInfo {
187
+ worktreePath: string;
188
+ worktreeName: string;
189
+ branchName: string;
190
+ baseBranch: string;
191
+ createdAt: string;
192
+ }
298
193
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -1,3 +1,4 @@
1
+ // import and export to keep a single type file
1
2
  var PermissionMode;
2
3
  (function (PermissionMode) {
3
4
  PermissionMode["PLAN"] = "plan";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":["// import and export to keep a single type file\nimport type {\n CanUseTool,\n PermissionResult,\n} from \"@anthropic-ai/claude-agent-sdk\";\nexport type { CanUseTool, PermissionResult };\n\n// PostHog Task model (matches Array's OpenAPI schema)\nexport interface Task {\n id: string;\n title: string;\n description: string;\n origin_product:\n | \"error_tracking\"\n | \"eval_clusters\"\n | \"user_created\"\n | \"support_queue\"\n | \"session_summaries\";\n position?: number;\n github_integration?: number | null;\n repository_config?: unknown; // JSONField\n repository_list: string;\n primary_repository: string;\n created_at: string;\n updated_at: string;\n\n // DEPRECATED: These fields have been moved to TaskRun\n // Use task.latest_run instead\n current_stage?: string | null;\n github_branch?: string | null;\n github_pr_url?: string | null;\n latest_run?: TaskRun;\n}\n\n// Log entry structure for TaskRun.log\nexport interface LogEntry {\n type: string; // e.g., \"info\", \"warning\", \"error\", \"success\", \"debug\"\n message: string;\n [key: string]: unknown; // Allow additional fields\n}\n\nexport type ArtifactType =\n | \"plan\"\n | \"context\"\n | \"reference\"\n | \"output\"\n | \"artifact\";\n\nexport interface TaskRunArtifact {\n name: string;\n type: ArtifactType;\n size?: number;\n content_type?: string;\n storage_path?: string;\n uploaded_at?: string;\n}\n\n// TaskRun model - represents individual execution runs of tasks\nexport interface TaskRun {\n id: string;\n task: string; // Task ID\n team: number;\n branch: string | null;\n status: \"started\" | \"in_progress\" | \"completed\" | \"failed\";\n log_url?: string; // Presigned S3 URL for log access (valid for 1 hour)\n error_message: string | null;\n output: Record<string, unknown> | null; // Structured output (PR URL, commit SHA, etc.)\n state: Record<string, unknown>; // Intermediate run state (defaults to {}, never null)\n artifacts?: TaskRunArtifact[];\n created_at: string;\n updated_at: string;\n completed_at: string | null;\n}\n\nexport interface SupportingFile {\n name: string;\n content: string;\n type: ArtifactType;\n created_at: string;\n}\n\nexport interface TaskArtifactUploadPayload {\n name: string;\n type: ArtifactType;\n content: string;\n content_type?: string;\n}\n\nexport enum PermissionMode {\n PLAN = \"plan\",\n DEFAULT = \"default\",\n ACCEPT_EDITS = \"acceptEdits\",\n BYPASS = \"bypassPermissions\",\n}\n\nexport interface ExecutionOptions {\n repositoryPath?: string;\n permissionMode?: PermissionMode;\n}\n\nexport interface TaskExecutionOptions {\n repositoryPath?: string;\n permissionMode?: PermissionMode;\n isCloudMode?: boolean; // Determines local vs cloud behavior (local pauses after each phase)\n createPR?: boolean; // Whether to create PR after build (defaults to false if local. This setting has no effect if isCloudMode is true.)\n autoProgress?: boolean;\n queryOverrides?: Record<string, any>;\n // Fine-grained permission control (only applied to build phase)\n // See: https://docs.claude.com/en/api/agent-sdk/permissions\n canUseTool?: CanUseTool;\n}\n\n// Base event with timestamp\ninterface BaseEvent {\n ts: number;\n}\n\n// Streaming content events\nexport interface TokenEvent extends BaseEvent {\n type: \"token\";\n content: string;\n contentType?: \"text\" | \"thinking\" | \"tool_input\";\n}\n\nexport interface ContentBlockStartEvent extends BaseEvent {\n type: \"content_block_start\";\n index: number;\n contentType: \"text\" | \"tool_use\" | \"thinking\";\n toolName?: string;\n toolId?: string;\n}\n\nexport interface ContentBlockStopEvent extends BaseEvent {\n type: \"content_block_stop\";\n index: number;\n}\n\n// Tool events\nexport interface ToolCallEvent extends BaseEvent {\n type: \"tool_call\";\n toolName: string;\n callId: string;\n args: Record<string, any>;\n parentToolUseId?: string | null; // For nested tool calls (subagents)\n // Tool metadata (enriched by adapter for UI consumption)\n tool?: import(\"./tools/types.js\").Tool;\n category?: import(\"./tools/types.js\").ToolCategory;\n}\n\nexport interface ToolResultEvent extends BaseEvent {\n type: \"tool_result\";\n toolName: string;\n callId: string;\n result: any;\n isError?: boolean; // Whether the tool execution failed\n parentToolUseId?: string | null; // For nested tool calls (subagents)\n // Tool metadata (enriched by adapter for UI consumption)\n tool?: import(\"./tools/types.js\").Tool;\n category?: import(\"./tools/types.js\").ToolCategory;\n}\n\n// Message lifecycle events\nexport interface MessageStartEvent extends BaseEvent {\n type: \"message_start\";\n messageId?: string;\n model?: string;\n}\n\nexport interface MessageDeltaEvent extends BaseEvent {\n type: \"message_delta\";\n stopReason?: string;\n stopSequence?: string;\n usage?: {\n outputTokens: number;\n };\n}\n\nexport interface MessageStopEvent extends BaseEvent {\n type: \"message_stop\";\n}\n\n// User message events\nexport interface UserMessageEvent extends BaseEvent {\n type: \"user_message\";\n content: string;\n isSynthetic?: boolean;\n}\n\n// System events\nexport interface StatusEvent extends BaseEvent {\n type: \"status\";\n phase: string;\n // Common optional fields (varies by phase):\n kind?: string; // Kind of status (plan, implementation)\n branch?: string; // Git branch name\n prUrl?: string; // Pull request URL\n taskId?: string; // Task identifier\n messageId?: string; // Claude message ID\n model?: string; // Model name\n [key: string]: any; // Allow additional fields\n}\n\nexport interface InitEvent extends BaseEvent {\n type: \"init\";\n model: string;\n tools: string[];\n permissionMode: string;\n cwd: string;\n apiKeySource: string;\n agents?: string[];\n slashCommands?: string[];\n outputStyle?: string;\n mcpServers?: Array<{ name: string; status: string }>;\n}\n\nexport interface CompactBoundaryEvent extends BaseEvent {\n type: \"compact_boundary\";\n trigger: \"manual\" | \"auto\";\n preTokens: number;\n}\n\n// Result events\nexport interface DoneEvent extends BaseEvent {\n type: \"done\";\n result?: string; // Final summary text from Claude\n durationMs?: number;\n durationApiMs?: number; // API-only duration (excluding local processing)\n numTurns?: number;\n totalCostUsd?: number;\n usage?: any;\n modelUsage?: {\n // Per-model usage breakdown\n [modelName: string]: {\n inputTokens: number;\n outputTokens: number;\n cacheReadInputTokens: number;\n cacheCreationInputTokens: number;\n webSearchRequests: number;\n costUSD: number;\n contextWindow: number;\n };\n };\n permissionDenials?: Array<{\n // Tools that were denied by permissions\n tool_name: string;\n tool_use_id: string;\n tool_input: Record<string, unknown>;\n }>;\n}\n\nexport interface ErrorEvent extends BaseEvent {\n type: \"error\";\n message: string;\n error?: any;\n errorType?: string;\n context?: Record<string, any>; // Partial error context for debugging\n sdkError?: any; // Original SDK error object\n}\n\n// Metric and artifact events (general purpose, not tool-specific)\nexport interface MetricEvent extends BaseEvent {\n type: \"metric\";\n key: string;\n value: number;\n unit?: string;\n}\n\nexport interface ArtifactEvent extends BaseEvent {\n type: \"artifact\";\n kind: string;\n content: any;\n}\n\nexport interface RawSDKEvent extends BaseEvent {\n type: \"raw_sdk_event\";\n sdkMessage: any; // Full SDK message for debugging\n}\n\nexport type AgentEvent =\n | TokenEvent\n | ContentBlockStartEvent\n | ContentBlockStopEvent\n | ToolCallEvent\n | ToolResultEvent\n | MessageStartEvent\n | MessageDeltaEvent\n | MessageStopEvent\n | UserMessageEvent\n | StatusEvent\n | InitEvent\n | CompactBoundaryEvent\n | DoneEvent\n | ErrorEvent\n | MetricEvent\n | ArtifactEvent\n | RawSDKEvent;\n\nexport interface ExecutionResult {\n results: any[];\n}\n\nexport interface PlanResult {\n plan: string;\n}\n\nexport interface TaskExecutionResult {\n task: Task;\n plan?: string;\n executionResult?: ExecutionResult;\n}\n\n// MCP Server configuration types (re-exported from Claude SDK for convenience)\nexport type McpServerConfig =\n | {\n type?: \"stdio\";\n command: string;\n args?: string[];\n env?: Record<string, string>;\n }\n | {\n type: \"sse\";\n url: string;\n headers?: Record<string, string>;\n }\n | {\n type: \"http\";\n url: string;\n headers?: Record<string, string>;\n }\n | {\n type: \"sdk\";\n name: string;\n instance?: any; // McpServer instance\n };\n\nexport interface AgentConfig {\n workingDirectory?: string;\n onEvent?: (event: AgentEvent) => void;\n\n // PostHog API configuration\n posthogApiUrl: string;\n posthogApiKey: string;\n posthogProjectId: number;\n\n // PostHog MCP configuration\n posthogMcpUrl?: string;\n\n // MCP Server configuration\n // Additional MCP servers (PostHog MCP is always included by default)\n // You can override the PostHog MCP config by providing mcpServers.posthog\n mcpServers?: Record<string, McpServerConfig>;\n\n // Logging configuration\n debug?: boolean;\n\n // Fine-grained permission control for direct run() calls\n // See: https://docs.claude.com/en/api/agent-sdk/permissions\n canUseTool?: CanUseTool;\n}\n\nexport interface PostHogAPIConfig {\n apiUrl: string;\n apiKey: string;\n projectId: number;\n}\n\n// URL mention types\nexport type ResourceType =\n | \"error\"\n | \"experiment\"\n | \"insight\"\n | \"feature_flag\"\n | \"generic\";\n\nexport interface PostHogResource {\n type: ResourceType;\n id: string;\n url: string;\n title?: string;\n content: string;\n metadata?: Record<string, any>;\n}\n\nexport interface UrlMention {\n url: string;\n type: ResourceType;\n id?: string;\n label?: string;\n}\n\n// Research evaluation types\nexport interface ResearchQuestion {\n id: string;\n question: string;\n options: string[];\n}\n\nexport interface ResearchAnswer {\n questionId: string;\n selectedOption: string;\n customInput?: string;\n}\n\nexport interface ResearchEvaluation {\n actionabilityScore: number; // 0-1 confidence score\n context: string; // brief summary for planning\n keyFiles: string[]; // files needing modification\n blockers?: string[]; // what's preventing full confidence\n questions?: ResearchQuestion[]; // only if score < 0.7\n answered?: boolean; // whether questions have been answered\n answers?: ResearchAnswer[]; // user's answers to questions\n}\n"],"names":[],"mappings":"IAwFY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,aAA4B;AAC5B,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B;AAC9B,CAAC,EALW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":["// import and export to keep a single type file\n\nimport type { SessionNotification } from \"@agentclientprotocol/sdk\";\nimport type {\n CanUseTool,\n PermissionResult,\n} from \"@anthropic-ai/claude-agent-sdk\";\nexport type { CanUseTool, PermissionResult, SessionNotification };\n\n/**\n * Stored custom notification following ACP extensibility model.\n * Custom notifications use underscore-prefixed methods (e.g., `_posthog/phase_start`).\n * See: https://agentclientprotocol.com/docs/extensibility\n */\nexport interface StoredNotification {\n type: \"notification\";\n /** When this notification was stored */\n timestamp: string;\n /** JSON-RPC 2.0 notification (no id field = notification, not request) */\n notification: {\n jsonrpc: \"2.0\";\n method: string;\n params?: Record<string, unknown>;\n };\n}\n\n/**\n * Type alias for stored log entries.\n */\nexport type StoredEntry = StoredNotification;\n\n// PostHog Task model (matches Array's OpenAPI schema)\nexport interface Task {\n id: string;\n task_number?: number;\n slug?: string;\n title: string;\n description: string;\n origin_product:\n | \"error_tracking\"\n | \"eval_clusters\"\n | \"user_created\"\n | \"support_queue\"\n | \"session_summaries\";\n github_integration?: number | null;\n repository: string; // Format: \"organization/repository\" (e.g., \"posthog/posthog-js\")\n json_schema?: Record<string, unknown> | null; // JSON schema for task output validation\n created_at: string;\n updated_at: string;\n created_by?: {\n id: number;\n uuid: string;\n distinct_id: string;\n first_name: string;\n email: string;\n };\n latest_run?: TaskRun;\n}\n\n// Log entry structure for TaskRun.log\n\nexport type ArtifactType =\n | \"plan\"\n | \"context\"\n | \"reference\"\n | \"output\"\n | \"artifact\";\n\nexport interface TaskRunArtifact {\n name: string;\n type: ArtifactType;\n size?: number;\n content_type?: string;\n storage_path?: string;\n uploaded_at?: string;\n}\n\nexport type TaskRunStatus =\n | \"not_started\"\n | \"queued\"\n | \"in_progress\"\n | \"completed\"\n | \"failed\"\n | \"cancelled\";\n\nexport type TaskRunEnvironment = \"local\" | \"cloud\";\n\n// TaskRun model - represents individual execution runs of tasks\nexport interface TaskRun {\n id: string;\n task: string; // Task ID\n team: number;\n branch: string | null;\n stage: string | null; // Current stage (e.g., 'research', 'plan', 'build')\n environment: TaskRunEnvironment;\n status: TaskRunStatus;\n log_url: string;\n error_message: string | null;\n output: Record<string, unknown> | null; // Structured output (PR URL, commit SHA, etc.)\n state: Record<string, unknown>; // Intermediate run state (defaults to {}, never null)\n artifacts?: TaskRunArtifact[];\n created_at: string;\n updated_at: string;\n completed_at: string | null;\n}\n\nexport interface SupportingFile {\n name: string;\n content: string;\n type: ArtifactType;\n created_at: string;\n}\n\nexport interface TaskArtifactUploadPayload {\n name: string;\n type: ArtifactType;\n content: string;\n content_type?: string;\n}\n\nexport enum PermissionMode {\n PLAN = \"plan\",\n DEFAULT = \"default\",\n ACCEPT_EDITS = \"acceptEdits\",\n BYPASS = \"bypassPermissions\",\n}\n\nexport interface ExecutionOptions {\n repositoryPath?: string;\n permissionMode?: PermissionMode;\n}\n\nexport interface TaskExecutionOptions {\n repositoryPath?: string;\n permissionMode?: PermissionMode;\n isCloudMode?: boolean; // Determines local vs cloud behavior (local pauses after each phase)\n createPR?: boolean; // Whether to create PR after build (defaults to false if local. This setting has no effect if isCloudMode is true.)\n autoProgress?: boolean;\n queryOverrides?: Record<string, unknown>;\n // Fine-grained permission control (only applied to build phase)\n // See: https://docs.claude.com/en/api/agent-sdk/permissions\n canUseTool?: CanUseTool;\n skipGitBranch?: boolean; // Skip creating a task-specific git branch\n}\n\nexport interface ExecutionResult {\n // biome-ignore lint/suspicious/noExplicitAny: Results array contains varying SDK response types\n results: any[];\n}\n\nexport interface PlanResult {\n plan: string;\n}\n\nexport interface TaskExecutionResult {\n task: Task;\n plan?: string;\n executionResult?: ExecutionResult;\n}\n\n// MCP Server configuration types (re-exported from Claude SDK for convenience)\nexport type McpServerConfig =\n | {\n type?: \"stdio\";\n command: string;\n args?: string[];\n env?: Record<string, string>;\n }\n | {\n type: \"sse\";\n url: string;\n headers?: Record<string, string>;\n }\n | {\n type: \"http\";\n url: string;\n headers?: Record<string, string>;\n }\n | {\n type: \"sdk\";\n name: string;\n // biome-ignore lint/suspicious/noExplicitAny: McpServer instance type from external SDK\n instance?: any;\n };\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport type OnLogCallback = (\n level: LogLevel,\n scope: string,\n message: string,\n data?: unknown,\n) => void;\n\nexport interface AgentConfig {\n workingDirectory?: string;\n\n // PostHog API configuration (optional - enables PostHog integration when provided)\n posthogApiUrl?: string;\n posthogApiKey?: string;\n posthogProjectId?: number;\n\n // PostHog MCP configuration\n posthogMcpUrl?: string;\n\n // MCP Server configuration\n // Additional MCP servers (PostHog MCP is always included by default)\n // You can override the PostHog MCP config by providing mcpServers.posthog\n mcpServers?: Record<string, McpServerConfig>;\n\n // Logging configuration\n debug?: boolean;\n onLog?: OnLogCallback;\n\n // Fine-grained permission control for direct run() calls\n // See: https://docs.claude.com/en/api/agent-sdk/permissions\n canUseTool?: CanUseTool;\n}\n\nexport interface PostHogAPIConfig {\n apiUrl: string;\n apiKey: string;\n projectId: number;\n}\n\n// URL mention types\nexport type ResourceType =\n | \"error\"\n | \"experiment\"\n | \"insight\"\n | \"feature_flag\"\n | \"generic\";\n\nexport interface PostHogResource {\n type: ResourceType;\n id: string;\n url: string;\n title?: string;\n content: string;\n // biome-ignore lint/suspicious/noExplicitAny: Metadata contains varying resource-specific fields\n metadata?: Record<string, any>;\n}\n\nexport interface UrlMention {\n url: string;\n type: ResourceType;\n id?: string;\n label?: string;\n}\n\n// Research evaluation types\nexport interface ResearchQuestion {\n id: string;\n question: string;\n options: string[];\n}\n\nexport interface ResearchAnswer {\n questionId: string;\n selectedOption: string;\n customInput?: string;\n}\n\nexport interface ResearchEvaluation {\n actionabilityScore: number; // 0-1 confidence score\n context: string; // brief summary for planning\n keyFiles: string[]; // files needing modification\n blockers?: string[]; // what's preventing full confidence\n questions?: ResearchQuestion[]; // only if score < 0.7\n answered?: boolean; // whether questions have been answered\n answers?: ResearchAnswer[]; // user's answers to questions\n}\n\n// Worktree types for parallel task development\nexport interface WorktreeInfo {\n worktreePath: string;\n worktreeName: string;\n branchName: string;\n baseBranch: string;\n createdAt: string;\n}\n"],"names":[],"mappings":"AAAA;IAwHY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,aAA4B;AAC5B,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B;AAC9B,CAAC,EALW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,5 +1,6 @@
1
+ import type { LogLevel as LogLevelType, OnLogCallback } from "../types.js";
1
2
  /**
2
- * Simple logger utility with configurable debug mode
3
+ * Simple logger utility with configurable debug mode and external log forwarding
3
4
  */
4
5
  export declare enum LogLevel {
5
6
  ERROR = 0,
@@ -10,19 +11,26 @@ export declare enum LogLevel {
10
11
  export interface LoggerConfig {
11
12
  debug?: boolean;
12
13
  prefix?: string;
14
+ scope?: string;
15
+ onLog?: OnLogCallback;
13
16
  }
14
17
  export declare class Logger {
15
18
  private debugEnabled;
16
19
  private prefix;
20
+ private scope;
21
+ private onLog?;
17
22
  constructor(config?: LoggerConfig);
18
23
  setDebug(enabled: boolean): void;
24
+ setOnLog(onLog: OnLogCallback | undefined): void;
19
25
  private formatMessage;
26
+ private emitLog;
20
27
  error(message: string, error?: Error | unknown): void;
21
28
  warn(message: string, data?: unknown): void;
22
29
  info(message: string, data?: unknown): void;
23
30
  debug(message: string, data?: unknown): void;
31
+ log(level: LogLevelType, message: string, data?: unknown, scope?: string): void;
24
32
  /**
25
- * Create a child logger with additional prefix
33
+ * Create a child logger with additional prefix and scope
26
34
  */
27
35
  child(childPrefix: string): Logger;
28
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,YAAiB;IAKrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,OAAO,CAAC,aAAa;IAerB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAc9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMrC;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAMnC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAC,CAAgB;gBAElB,MAAM,GAAE,YAAiB;IAOrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAIzB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS;IAIzC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,OAAO;IAaf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAS9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM;IASxE;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAQnC"}