@adaptic/maestro 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/.claude/commands/init-maestro.md +292 -29
  2. package/.gitignore +29 -0
  3. package/README.md +220 -344
  4. package/bin/maestro.mjs +462 -7
  5. package/lib/action-executor.js +225 -0
  6. package/lib/index.js +16 -0
  7. package/lib/singleton.js +116 -0
  8. package/lib/tool-definitions.js +510 -0
  9. package/package.json +12 -2
  10. package/scaffold/CLAUDE.md +207 -0
  11. package/scripts/daemon/maestro-daemon.mjs +37 -0
  12. package/scripts/local-triggers/generate-plists.sh +235 -0
  13. package/scripts/local-triggers/install-all.sh +18 -12
  14. package/scripts/setup/init-agent.sh +58 -27
  15. package/scripts/slack-events-server.mjs +10 -0
  16. package/scripts/huddle/node_modules/.package-lock.json +0 -50
  17. package/scripts/huddle/node_modules/@anthropic-ai/sdk/CHANGELOG.md +0 -1677
  18. package/scripts/huddle/node_modules/@anthropic-ai/sdk/LICENSE +0 -8
  19. package/scripts/huddle/node_modules/@anthropic-ai/sdk/README.md +0 -674
  20. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts +0 -3
  21. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts.map +0 -1
  22. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts +0 -3
  23. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts.map +0 -1
  24. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js +0 -226
  25. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js.map +0 -1
  26. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs +0 -223
  27. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs.map +0 -1
  28. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts +0 -2
  29. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts.map +0 -1
  30. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts +0 -2
  31. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts.map +0 -1
  32. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js +0 -6
  33. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js.map +0 -1
  34. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs +0 -2
  35. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs.map +0 -1
  36. package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/cli +0 -53
  37. package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/migration-config.json +0 -7
  38. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts +0 -225
  39. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts.map +0 -1
  40. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts +0 -225
  41. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts.map +0 -1
  42. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js +0 -536
  43. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js.map +0 -1
  44. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs +0 -531
  45. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs.map +0 -1
  46. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts +0 -49
  47. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts.map +0 -1
  48. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts +0 -49
  49. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts.map +0 -1
  50. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js +0 -76
  51. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js.map +0 -1
  52. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs +0 -72
  53. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs.map +0 -1
  54. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts +0 -47
  55. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts.map +0 -1
  56. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts +0 -47
  57. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts.map +0 -1
  58. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js +0 -114
  59. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js.map +0 -1
  60. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs +0 -98
  61. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs.map +0 -1
  62. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts +0 -63
  63. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts.map +0 -1
  64. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts +0 -63
  65. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts.map +0 -1
  66. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js +0 -123
  67. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js.map +0 -1
  68. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs +0 -117
  69. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs.map +0 -1
  70. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts +0 -6
  71. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts.map +0 -1
  72. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts +0 -6
  73. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts.map +0 -1
  74. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js +0 -11
  75. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js.map +0 -1
  76. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs +0 -7
  77. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs.map +0 -1
  78. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts +0 -31
  79. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts.map +0 -1
  80. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts +0 -31
  81. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts.map +0 -1
  82. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js +0 -282
  83. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js.map +0 -1
  84. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs +0 -277
  85. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs.map +0 -1
  86. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts +0 -3
  87. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts.map +0 -1
  88. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts +0 -3
  89. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts.map +0 -1
  90. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js +0 -6
  91. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js.map +0 -1
  92. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs +0 -2
  93. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs.map +0 -1
  94. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts +0 -2
  95. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts.map +0 -1
  96. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts +0 -2
  97. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts.map +0 -1
  98. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js +0 -6
  99. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js.map +0 -1
  100. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs +0 -2
  101. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs.map +0 -1
  102. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts +0 -7
  103. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts.map +0 -1
  104. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts +0 -7
  105. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts.map +0 -1
  106. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js +0 -35
  107. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js.map +0 -1
  108. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs +0 -8
  109. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs.map +0 -1
  110. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts +0 -73
  111. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts.map +0 -1
  112. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts +0 -73
  113. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts.map +0 -1
  114. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js +0 -4
  115. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js.map +0 -1
  116. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs +0 -3
  117. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs.map +0 -1
  118. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts +0 -5
  119. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts.map +0 -1
  120. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts +0 -5
  121. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts.map +0 -1
  122. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js +0 -15
  123. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js.map +0 -1
  124. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs +0 -12
  125. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs.map +0 -1
  126. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts +0 -10
  127. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts.map +0 -1
  128. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts +0 -10
  129. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts.map +0 -1
  130. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js +0 -39
  131. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js.map +0 -1
  132. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs +0 -35
  133. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs.map +0 -1
  134. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts +0 -17
  135. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts.map +0 -1
  136. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts +0 -17
  137. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts.map +0 -1
  138. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js +0 -113
  139. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js.map +0 -1
  140. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs +0 -108
  141. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs.map +0 -1
  142. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts +0 -15
  143. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts.map +0 -1
  144. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts +0 -15
  145. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts.map +0 -1
  146. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +0 -162
  147. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +0 -1
  148. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +0 -157
  149. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +0 -1
  150. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts +0 -3
  151. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +0 -1
  152. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts +0 -3
  153. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +0 -1
  154. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js +0 -41
  155. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js.map +0 -1
  156. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs +0 -36
  157. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +0 -1
  158. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts +0 -22
  159. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts.map +0 -1
  160. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts +0 -22
  161. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts.map +0 -1
  162. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js +0 -79
  163. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js.map +0 -1
  164. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs +0 -74
  165. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs.map +0 -1
  166. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts +0 -17
  167. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts.map +0 -1
  168. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts +0 -17
  169. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts.map +0 -1
  170. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js +0 -55
  171. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js.map +0 -1
  172. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs +0 -51
  173. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +0 -1
  174. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts +0 -34
  175. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts.map +0 -1
  176. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts +0 -34
  177. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts.map +0 -1
  178. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js +0 -14
  179. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js.map +0 -1
  180. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs +0 -10
  181. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs.map +0 -1
  182. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts +0 -28
  183. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.ts +0 -28
  184. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts +0 -20
  185. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts.map +0 -1
  186. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts +0 -20
  187. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts.map +0 -1
  188. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js +0 -92
  189. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js.map +0 -1
  190. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs +0 -85
  191. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs.map +0 -1
  192. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts +0 -8
  193. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts.map +0 -1
  194. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts +0 -8
  195. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts.map +0 -1
  196. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js +0 -38
  197. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js.map +0 -1
  198. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs +0 -35
  199. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs.map +0 -1
  200. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts +0 -45
  201. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts.map +0 -1
  202. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts +0 -45
  203. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts.map +0 -1
  204. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js +0 -96
  205. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js.map +0 -1
  206. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs +0 -93
  207. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs.map +0 -1
  208. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.js +0 -81
  209. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.mjs +0 -17
  210. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts +0 -67
  211. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts.map +0 -1
  212. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts +0 -67
  213. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts.map +0 -1
  214. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js +0 -4
  215. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js.map +0 -1
  216. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs +0 -3
  217. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs.map +0 -1
  218. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts +0 -42
  219. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts.map +0 -1
  220. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts +0 -42
  221. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts.map +0 -1
  222. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js +0 -146
  223. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +0 -1
  224. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +0 -136
  225. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +0 -1
  226. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts +0 -3
  227. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts.map +0 -1
  228. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts +0 -3
  229. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts.map +0 -1
  230. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js +0 -38
  231. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js.map +0 -1
  232. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs +0 -33
  233. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs.map +0 -1
  234. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts +0 -4
  235. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts.map +0 -1
  236. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts +0 -4
  237. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts.map +0 -1
  238. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js +0 -31
  239. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js.map +0 -1
  240. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs +0 -26
  241. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs.map +0 -1
  242. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts +0 -9
  243. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts.map +0 -1
  244. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts +0 -9
  245. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts.map +0 -1
  246. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js +0 -22
  247. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js.map +0 -1
  248. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs +0 -18
  249. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs.map +0 -1
  250. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts +0 -37
  251. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts.map +0 -1
  252. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts +0 -37
  253. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts.map +0 -1
  254. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js +0 -86
  255. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js.map +0 -1
  256. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs +0 -80
  257. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs.map +0 -1
  258. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts +0 -15
  259. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts.map +0 -1
  260. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts +0 -15
  261. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts.map +0 -1
  262. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js +0 -58
  263. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js.map +0 -1
  264. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs +0 -53
  265. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs.map +0 -1
  266. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts +0 -2
  267. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts.map +0 -1
  268. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts +0 -2
  269. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts.map +0 -1
  270. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js +0 -7
  271. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js.map +0 -1
  272. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs +0 -3
  273. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs.map +0 -1
  274. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts +0 -5
  275. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts.map +0 -1
  276. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts +0 -5
  277. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts.map +0 -1
  278. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js +0 -19
  279. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js.map +0 -1
  280. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs +0 -15
  281. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs.map +0 -1
  282. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +0 -16
  283. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +0 -1
  284. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +0 -16
  285. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +0 -1
  286. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js +0 -109
  287. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +0 -1
  288. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +0 -92
  289. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +0 -1
  290. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts +0 -7
  291. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts.map +0 -1
  292. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts +0 -7
  293. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts.map +0 -1
  294. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js +0 -11
  295. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js.map +0 -1
  296. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs +0 -8
  297. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs.map +0 -1
  298. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts +0 -114
  299. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +0 -1
  300. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts +0 -114
  301. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +0 -1
  302. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +0 -553
  303. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +0 -1
  304. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +0 -549
  305. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +0 -1
  306. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts +0 -114
  307. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +0 -1
  308. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts +0 -114
  309. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +0 -1
  310. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +0 -553
  311. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +0 -1
  312. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +0 -549
  313. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +0 -1
  314. package/scripts/huddle/node_modules/@anthropic-ai/sdk/package.json +0 -185
  315. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts +0 -2
  316. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts.map +0 -1
  317. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts +0 -2
  318. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts.map +0 -1
  319. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js +0 -6
  320. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js.map +0 -1
  321. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs +0 -2
  322. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs.map +0 -1
  323. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts +0 -2
  324. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts.map +0 -1
  325. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts +0 -2
  326. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts.map +0 -1
  327. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js +0 -6
  328. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js.map +0 -1
  329. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs +0 -2
  330. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs.map +0 -1
  331. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +0 -61
  332. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +0 -1
  333. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +0 -61
  334. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +0 -1
  335. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +0 -25
  336. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +0 -1
  337. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +0 -20
  338. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +0 -1
  339. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +0 -151
  340. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +0 -1
  341. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +0 -151
  342. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +0 -1
  343. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js +0 -122
  344. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +0 -1
  345. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +0 -118
  346. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +0 -1
  347. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +0 -5
  348. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +0 -1
  349. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +0 -5
  350. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +0 -1
  351. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js +0 -13
  352. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +0 -1
  353. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +0 -6
  354. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +0 -1
  355. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts +0 -343
  356. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts.map +0 -1
  357. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts +0 -343
  358. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts.map +0 -1
  359. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js +0 -204
  360. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js.map +0 -1
  361. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs +0 -200
  362. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs.map +0 -1
  363. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +0 -3
  364. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +0 -1
  365. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +0 -3
  366. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +0 -1
  367. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js +0 -9
  368. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +0 -1
  369. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs +0 -4
  370. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +0 -1
  371. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +0 -1561
  372. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +0 -1
  373. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +0 -1561
  374. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +0 -1
  375. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js +0 -86
  376. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +0 -1
  377. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs +0 -81
  378. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +0 -1
  379. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts +0 -2
  380. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts.map +0 -1
  381. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts +0 -2
  382. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts.map +0 -1
  383. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js +0 -6
  384. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js.map +0 -1
  385. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs +0 -3
  386. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs.map +0 -1
  387. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts +0 -74
  388. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts.map +0 -1
  389. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts +0 -74
  390. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts.map +0 -1
  391. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js +0 -60
  392. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js.map +0 -1
  393. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs +0 -56
  394. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs.map +0 -1
  395. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts +0 -2
  396. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts.map +0 -1
  397. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts +0 -2
  398. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts.map +0 -1
  399. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js +0 -6
  400. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js.map +0 -1
  401. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs +0 -3
  402. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs.map +0 -1
  403. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts +0 -183
  404. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts.map +0 -1
  405. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts +0 -183
  406. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts.map +0 -1
  407. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js +0 -23
  408. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js.map +0 -1
  409. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs +0 -19
  410. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs.map +0 -1
  411. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts +0 -6
  412. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts.map +0 -1
  413. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts +0 -6
  414. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts.map +0 -1
  415. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js +0 -15
  416. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js.map +0 -1
  417. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs +0 -7
  418. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs.map +0 -1
  419. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts +0 -304
  420. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts.map +0 -1
  421. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts +0 -304
  422. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts.map +0 -1
  423. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js +0 -153
  424. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js.map +0 -1
  425. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs +0 -149
  426. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs.map +0 -1
  427. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts +0 -3
  428. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts.map +0 -1
  429. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts +0 -3
  430. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts.map +0 -1
  431. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js +0 -9
  432. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js.map +0 -1
  433. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs +0 -4
  434. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs.map +0 -1
  435. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +0 -1264
  436. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +0 -1
  437. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +0 -1264
  438. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +0 -1
  439. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js +0 -72
  440. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +0 -1
  441. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs +0 -67
  442. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +0 -1
  443. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts +0 -2
  444. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts.map +0 -1
  445. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts +0 -2
  446. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts.map +0 -1
  447. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js +0 -6
  448. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js.map +0 -1
  449. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs +0 -3
  450. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs.map +0 -1
  451. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts +0 -59
  452. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts.map +0 -1
  453. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts +0 -59
  454. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts.map +0 -1
  455. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js +0 -45
  456. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js.map +0 -1
  457. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs +0 -41
  458. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs.map +0 -1
  459. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts +0 -42
  460. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts.map +0 -1
  461. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts +0 -42
  462. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts.map +0 -1
  463. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js +0 -4
  464. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js.map +0 -1
  465. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs +0 -3
  466. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs.map +0 -1
  467. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts +0 -2
  468. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts.map +0 -1
  469. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts +0 -2
  470. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts.map +0 -1
  471. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js +0 -4
  472. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js.map +0 -1
  473. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs +0 -3
  474. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs.map +0 -1
  475. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts +0 -2
  476. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts.map +0 -1
  477. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts +0 -2
  478. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts.map +0 -1
  479. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js +0 -5
  480. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js.map +0 -1
  481. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs +0 -2
  482. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs.map +0 -1
  483. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
  484. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/parser.ts +0 -264
  485. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/api-promise.ts +0 -2
  486. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/client.ts +0 -1070
  487. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
  488. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/api-promise.ts +0 -101
  489. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/error.ts +0 -133
  490. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/pagination.ts +0 -201
  491. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/resource.ts +0 -11
  492. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/streaming.ts +0 -331
  493. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/uploads.ts +0 -2
  494. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/error.ts +0 -2
  495. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/index.ts +0 -23
  496. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
  497. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/builtin-types.ts +0 -93
  498. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/constants.ts +0 -12
  499. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/jsonl.ts +0 -48
  500. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/line.ts +0 -135
  501. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +0 -196
  502. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +0 -33
  503. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/headers.ts +0 -99
  504. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +0 -84
  505. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/request-options.ts +0 -39
  506. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shim-types.d.ts +0 -28
  507. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shims.ts +0 -107
  508. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/stream-utils.ts +0 -32
  509. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/to-file.ts +0 -159
  510. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/types.ts +0 -92
  511. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +0 -193
  512. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/base64.ts +0 -40
  513. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/bytes.ts +0 -32
  514. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/env.ts +0 -18
  515. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/log.ts +0 -127
  516. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/path.ts +0 -65
  517. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/sleep.ts +0 -3
  518. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/uuid.ts +0 -17
  519. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +0 -102
  520. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils.ts +0 -8
  521. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/.keep +0 -4
  522. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +0 -683
  523. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +0 -684
  524. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/pagination.ts +0 -2
  525. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resource.ts +0 -2
  526. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +0 -380
  527. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +0 -258
  528. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +0 -148
  529. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/batches.ts +0 -502
  530. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +0 -135
  531. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +0 -2249
  532. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages.ts +0 -3
  533. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/models.ts +0 -118
  534. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta.ts +0 -3
  535. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/completions.ts +0 -231
  536. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/index.ts +0 -121
  537. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/batches.ts +0 -396
  538. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/index.ts +0 -110
  539. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +0 -1783
  540. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages.ts +0 -3
  541. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/models.ts +0 -103
  542. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/shared.ts +0 -72
  543. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/top-level.ts +0 -3
  544. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources.ts +0 -1
  545. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/streaming.ts +0 -2
  546. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/tsconfig.json +0 -11
  547. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/uploads.ts +0 -2
  548. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/version.ts +0 -1
  549. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts +0 -2
  550. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts.map +0 -1
  551. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts +0 -2
  552. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts.map +0 -1
  553. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js +0 -6
  554. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js.map +0 -1
  555. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs +0 -2
  556. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs.map +0 -1
  557. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts +0 -2
  558. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts.map +0 -1
  559. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts +0 -2
  560. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts.map +0 -1
  561. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js +0 -6
  562. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js.map +0 -1
  563. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs +0 -2
  564. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs.map +0 -1
  565. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts +0 -2
  566. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts.map +0 -1
  567. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts +0 -2
  568. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts.map +0 -1
  569. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js +0 -5
  570. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js.map +0 -1
  571. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs +0 -2
  572. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs.map +0 -1
  573. package/scripts/huddle/node_modules/dotenv/CHANGELOG.md +0 -520
  574. package/scripts/huddle/node_modules/dotenv/LICENSE +0 -23
  575. package/scripts/huddle/node_modules/dotenv/README-es.md +0 -411
  576. package/scripts/huddle/node_modules/dotenv/README.md +0 -645
  577. package/scripts/huddle/node_modules/dotenv/SECURITY.md +0 -1
  578. package/scripts/huddle/node_modules/dotenv/config.d.ts +0 -1
  579. package/scripts/huddle/node_modules/dotenv/config.js +0 -9
  580. package/scripts/huddle/node_modules/dotenv/lib/cli-options.js +0 -17
  581. package/scripts/huddle/node_modules/dotenv/lib/env-options.js +0 -28
  582. package/scripts/huddle/node_modules/dotenv/lib/main.d.ts +0 -162
  583. package/scripts/huddle/node_modules/dotenv/lib/main.js +0 -386
  584. package/scripts/huddle/node_modules/dotenv/package.json +0 -62
  585. package/scripts/huddle/node_modules/ws/LICENSE +0 -20
  586. package/scripts/huddle/node_modules/ws/README.md +0 -548
  587. package/scripts/huddle/node_modules/ws/browser.js +0 -8
  588. package/scripts/huddle/node_modules/ws/index.js +0 -22
  589. package/scripts/huddle/node_modules/ws/lib/buffer-util.js +0 -131
  590. package/scripts/huddle/node_modules/ws/lib/constants.js +0 -19
  591. package/scripts/huddle/node_modules/ws/lib/event-target.js +0 -292
  592. package/scripts/huddle/node_modules/ws/lib/extension.js +0 -203
  593. package/scripts/huddle/node_modules/ws/lib/limiter.js +0 -55
  594. package/scripts/huddle/node_modules/ws/lib/permessage-deflate.js +0 -528
  595. package/scripts/huddle/node_modules/ws/lib/receiver.js +0 -706
  596. package/scripts/huddle/node_modules/ws/lib/sender.js +0 -602
  597. package/scripts/huddle/node_modules/ws/lib/stream.js +0 -161
  598. package/scripts/huddle/node_modules/ws/lib/subprotocol.js +0 -62
  599. package/scripts/huddle/node_modules/ws/lib/validation.js +0 -152
  600. package/scripts/huddle/node_modules/ws/lib/websocket-server.js +0 -554
  601. package/scripts/huddle/node_modules/ws/lib/websocket.js +0 -1393
  602. package/scripts/huddle/node_modules/ws/package.json +0 -70
  603. package/scripts/huddle/node_modules/ws/wrapper.mjs +0 -21
  604. package/scripts/local-triggers/plists/ai.adaptic.slack-events-server.plist +0 -45
@@ -12,6 +12,213 @@ claude "/init-maestro"
12
12
 
13
13
  This will configure your name, role, responsibilities, communication style, and all operational parameters.
14
14
 
15
+ ## Company Context
16
+
17
+ *Configure via /init-maestro*
18
+
19
+ ## Operating Principles
20
+
21
+ *Configure via /init-maestro — principles will be set based on your role archetype.*
22
+
23
+ ## Communication Rules
24
+
25
+ ### Voice Modes
26
+
27
+ - **Agent's voice**: Default for all operational communications (internal + external)
28
+ - **Principal's voice**: For communications attributed to the principal
29
+ - **Internal notes**: Analysis, risk flags — not sent externally
30
+ - **Institutional**: Regulatory and legal correspondence
31
+
32
+ ### Autonomy Model
33
+
34
+ *Configure via /init-maestro — autonomy boundaries depend on role archetype.*
35
+
36
+ ### Immediate Acknowledgement Rule (Slack, SMS, WhatsApp)
37
+
38
+ When this agent receives an incoming request via Slack, SMS, or WhatsApp that is complex or will take more than a few minutes to action, it MUST send an immediate holding note before beginning work.
39
+
40
+ ### Document Sharing (CRITICAL)
41
+
42
+ **NEVER reference local file paths in Slack, email, or any outbound communication.** No one outside this Mac mini can access files at `outputs/`, `docs/`, or any other local path.
43
+
44
+ When sharing documents or supporting materials:
45
+
46
+ 1. **Prefer Google Drive** — Upload as a Google Doc/Sheet/Slides and share the Drive link
47
+ 2. **Use PDF when appropriate** — For final/read-only documents, generate a branded PDF via `npm run pdf:memo`
48
+ 3. **Inline short content** — For brief updates (< 1 page), include directly in the message body
49
+ 4. **Never reference local file paths** in any external communication
50
+
51
+ ### Logging
52
+
53
+ All sent communications are logged to `logs/` with full audit trail.
54
+
55
+ ## Repository Layout
56
+
57
+ - `agents/` — Agent definitions with mandates and prompts
58
+ - `teams/` — Agent team compositions
59
+ - `workflows/` — Daily/weekly/monthly/quarterly workflow configs
60
+ - `knowledge/` — Sources, memory, entities, decisions
61
+ - `config/` — Environment, priorities, contacts, repo registry, brand assets
62
+ - `policies/` — Action classification and approval rules
63
+ - `desktop-control/` — macOS app control profiles
64
+ - `outputs/` — Briefs, memos, board materials, follow-ups
65
+ - `scripts/` — Emergency stop, healthcheck, bootstrap, PDF generation, media generation
66
+ - `public/assets/` — Brand SVG assets (icon + logo, dark + light variants)
67
+ - `public/generated/` — Generated illustrations, diagrams, and videos
68
+
69
+ ## Key Config Files
70
+
71
+ - `config/agent.ts` — Central identity configuration (single source of truth)
72
+ - `config/priorities.yaml` — Active strategic priorities and milestones
73
+ - `config/contacts.yaml` — Key contacts with communication classifications
74
+ - `config/environment.yaml` — Environment-specific configuration
75
+ - `config/sla-defaults.yaml` — SLA response time expectations
76
+ - `config/brand-assets.yaml` — Brand asset inventory, usage rules, and placement guidelines
77
+ - `policies/action-classification.yaml` — Action risk levels and approval rules
78
+
79
+ ## Brand Assets
80
+
81
+ Official Adaptic brand assets live in `public/assets/`. See `config/brand-assets.yaml` for full rules.
82
+
83
+ ## PDF Generation
84
+
85
+ Generate branded PDFs from Markdown using Pandoc + XeLaTeX.
86
+
87
+ ```bash
88
+ npm run pdf:memo -- --input <file.md> # Internal memos and briefs
89
+ npm run pdf:board-pack -- --input <file.md> # Board materials with cover + TOC
90
+ npm run pdf:letter -- --input <file.md> # Corporate correspondence
91
+ npm run pdf:investor -- --input <file.md> # Investor communications
92
+ ```
93
+
94
+ ## Visual Media Generation
95
+
96
+ Generate branded illustrations, diagrams, and videos using Gemini and Veo APIs.
97
+
98
+ ```bash
99
+ npm run gen:illustration -- <slug> # Single illustration via Gemini
100
+ npm run gen:video -- <slug> # Single video via Veo 3.1
101
+ npm run gen:all-missing # Batch generate missing illustrations
102
+ npm run gen:list # List available prompt specs
103
+ ```
104
+
105
+ ## People (Key Leadership)
106
+
107
+ *Configure via /init-maestro*
108
+
109
+ ## Operational Infrastructure
110
+
111
+ ### State Management
112
+
113
+ - **Live queues**: 16 operational queues in `state/queues/` track action items, decisions, follow-ups, blockers
114
+ - **Dashboards**: `state/dashboards/executive-summary.yaml` is read at every session start
115
+ - **Standard schema**: All queue items follow open → in_progress → blocked → resolved → closed
116
+
117
+ ### Event Polling
118
+
119
+ - **Daemon**: `scripts/daemon/maestro-daemon.mjs` polls Slack/Gmail/Calendar every 60 seconds
120
+ - **Inbox**: New items land in `state/inbox/{service}/` as YAML files
121
+ - **Inbox processor**: Classifies and routes items every 5 minutes
122
+ - **Priority triggers**: Principal DMs, urgent tags, and agent mentions trigger immediate processing
123
+
124
+ ### Self-Evolution
125
+
126
+ - Agent learns from interactions and evolves its own operating setup
127
+ - Changes classified by risk: low (auto-apply), medium (apply + notify), high (escalate)
128
+ - All self-modifications logged to `logs/evolution/`
129
+
130
+ ### Prompt Injection Defence
131
+
132
+ - 5-layer defence defined in `policies/prompt-injection-defence.yaml`
133
+
134
+ ### Audit & Hooks
135
+
136
+ - Pre-send audit hook gates all outbound Slack/Gmail communications
137
+ - Post-action hook logs all tool completions
138
+ - Session-end hook logs session completion
139
+ - All logs in `logs/audit/`, `logs/workflows/`, `logs/security/`, `logs/sessions/`
140
+
141
+ ### Session Protocol
142
+
143
+ **Every session starts by:**
144
+ 1. Reading `state/dashboards/executive-summary.yaml`
145
+ 2. Checking `state/inbox/` for unprocessed items
146
+ 3. Checking `state/queues/decision-queue.yaml` for pending decisions
147
+
148
+ **Every session ends by:**
149
+ 1. Updating modified queue items
150
+ 2. Regenerating the executive summary dashboard
151
+ 3. Running self-evolution reflection
152
+ 4. Logging session summary
153
+
154
+ ## Control Towers
155
+
156
+ 12 operational control towers provide comprehensive organisational coverage:
157
+
158
+ 1. **Strategy & Decisions** — Priority drift detection, decision library, strategic coherence
159
+ 2. **Executive Office & Follow-Through** — Action capture, loop closure, SLA tracking
160
+ 3. **Operating Cadence & PMO** — Meeting prep, action routing, initiative scorecard
161
+ 4. **People, Hiring & Organisation** — Org health, founder dependency, onboarding
162
+ 5. **Culture, Standards & Leadership** — Leadership accountability, communication quality
163
+ 6. **Product, Platform & Engineering** — Engineering health, tech debt, delivery confidence
164
+ 7. **Commercial, Customers & Market** — Relationship pipeline, competitive intelligence
165
+ 8. **Board, Advisors & Stakeholders** — Board calendar, advisor utilisation
166
+ 9. **Capital, Finance & Corporate Dev** — Capital readiness, runway tracking
167
+ 10. **Legal, Risk, Compliance & Regulatory** — Enterprise risk register, compliance calendar
168
+ 11. **Systems, Automation & Memory** — Knowledge health, automation opportunities
169
+ 12. **Self-Governance** — System health, quarterly self-assessment
170
+
171
+ ## Build & Test
172
+
173
+ Install dependencies with `npm install`.
174
+
175
+ - Health check: `npm run healthcheck`
176
+ - Emergency stop: `npm run emergency-stop`
177
+ - Resume: `npm run resume`
178
+ - PDF generation: `npm run pdf:memo -- --input <file>` (requires Pandoc + MacTeX)
179
+ - Media generation: `npm run gen:illustration -- <slug>` (requires GEMINI_API_KEY)
180
+
181
+ ## Maestro Framework
182
+
183
+ This agent is powered by the `@adaptic/maestro` framework. Update framework: `npm run upgrade`
184
+
185
+ ## Code Standards
186
+
187
+ - YAML for all configuration and workflow definitions
188
+ - Markdown for all documentation and agent prompts
189
+ - Shell scripts must be POSIX-compatible where possible
190
+ - All scripts must have error handling (`set -e`)
191
+ - All configs must use environment variables for secrets
192
+ - All actions must be auditable via logs/
193
+
194
+ ## Three Operating Modes
195
+
196
+ ### Mode 1: Reactive — Respond to Events
197
+ - Daemon detects inbound Slack/Gmail/Calendar events every 60 seconds
198
+ - Priority events trigger immediate processing
199
+
200
+ ### Mode 2: Scheduled — Run Cadence Workflows
201
+ - Morning brief, midday sweep, evening wrap (daily)
202
+ - Domain-specific reviews (weekly)
203
+ - Self-assessment (quarterly)
204
+
205
+ ### Mode 3: Proactive — Execute the Backlog
206
+ - Backlog executor runs every 10 minutes
207
+ - Reads all queues, selects top actionable items
208
+ - Spawns parallel background agents to execute each item
209
+
210
+ ## Parallel Execution & Agent Teams
211
+
212
+ Agent MUST use parallel execution for complex tasks. Agent Teams are enabled via `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`.
213
+
214
+ ### When to spawn parallel agents
215
+
216
+ - **Always** for tasks with 2+ independent subtasks
217
+ - **Always** for cross-functional work
218
+ - **Always** for time-sensitive workflows
219
+
220
+ Sequential processing should be the exception, not the default.
221
+
15
222
  ## Quick Reference
16
223
 
17
224
  - Agent config: `config/agent.ts`
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ // =============================================================================
3
+ // Maestro Daemon — Reactive event-driven message processor
4
+ // =============================================================================
5
+ //
6
+ // Generic entry point that loads agent identity from config/agent.ts and
7
+ // delegates to the core daemon logic. This file is agent-name-agnostic.
8
+ //
9
+ // Run: node scripts/daemon/maestro-daemon.mjs
10
+ // Install: launchd plist with KeepAlive: true
11
+ // =============================================================================
12
+
13
+ // The core daemon is in sophie-daemon.mjs for backward compatibility.
14
+ // It uses AGENT_DIR (resolved from this file's location) as the base path.
15
+ // The init-maestro wizard renames sophie references in that file.
16
+
17
+ import { resolve, dirname } from "node:path";
18
+ import { fileURLToPath } from "node:url";
19
+
20
+ const __dirname = dirname(fileURLToPath(import.meta.url));
21
+ const AGENT_DIR = resolve(__dirname, "../..");
22
+
23
+ // Set AGENT_DIR as env var so all modules can use it
24
+ process.env.AGENT_DIR = AGENT_DIR;
25
+ process.env.AGENT_ROOT = AGENT_DIR;
26
+
27
+ // Singleton guard — prevent duplicate daemon instances
28
+ try {
29
+ const { acquireLock } = await import(resolve(process.env.HOME, "maestro/lib/singleton.js"));
30
+ if (!acquireLock("daemon")) {
31
+ console.log("[DAEMON] Already running — exiting");
32
+ process.exit(0);
33
+ }
34
+ } catch { /* maestro singleton not available */ }
35
+
36
+ // Import and run the daemon (handles its own .env loading)
37
+ await import("./sophie-daemon.mjs");
@@ -0,0 +1,235 @@
1
+ #!/bin/bash
2
+ # =============================================================================
3
+ # generate-plists.sh — Generate launchd plist files from templates
4
+ # =============================================================================
5
+ #
6
+ # Reads config/agent.ts to extract the agent's first name and generates
7
+ # properly configured plist files for all scheduled triggers and the daemon.
8
+ #
9
+ # Usage:
10
+ # ./scripts/local-triggers/generate-plists.sh
11
+ #
12
+ # Called by: init-agent.sh (Step 5)
13
+ # =============================================================================
14
+
15
+ set -e
16
+
17
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
18
+ AGENT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
19
+ PLIST_DIR="$SCRIPT_DIR/plists"
20
+ AGENT_CONFIG="$AGENT_DIR/config/agent.ts"
21
+
22
+ # Extract agent first name from config/agent.ts
23
+ if [ -f "$AGENT_CONFIG" ]; then
24
+ AGENT_FIRST=$(grep "firstName:" "$AGENT_CONFIG" | head -1 | sed "s/.*firstName:[[:space:]]*['\"]//; s/['\"].*//" | tr '[:upper:]' '[:lower:]')
25
+ fi
26
+
27
+ # Fall back to directory name if config not set or UNCONFIGURED
28
+ if [ -z "$AGENT_FIRST" ] || [ "$AGENT_FIRST" = "unconfigured" ]; then
29
+ AGENT_FIRST=$(basename "$AGENT_DIR" | sed 's/-ai$//')
30
+ fi
31
+
32
+ AGENT_UPPER=$(echo "$AGENT_FIRST" | tr '[:lower:]' '[:upper:]')
33
+ AGENT_USER=$(whoami)
34
+ NODE_PATH=$(which node 2>/dev/null || echo "/opt/homebrew/bin/node")
35
+
36
+ echo "[generate-plists] Agent: $AGENT_FIRST"
37
+ echo "[generate-plists] Directory: $AGENT_DIR"
38
+ echo "[generate-plists] User: $AGENT_USER"
39
+
40
+ mkdir -p "$PLIST_DIR"
41
+
42
+ # Clear old plists before generating — prevents stale plists from a previous
43
+ # agent identity (e.g. sophie-*) from being installed alongside new ones
44
+ rm -f "$PLIST_DIR"/*.plist 2>/dev/null
45
+
46
+ # ── Helper: generate a single plist ──────────────────────────────────────────
47
+
48
+ generate_plist() {
49
+ local LABEL="$1"
50
+ local PROGRAM_ARGS="$2" # The command to run (array elements separated by |)
51
+ local SCHEDULE="$3" # Optional: StartCalendarInterval dict content
52
+ local INTERVAL="$4" # Optional: StartInterval in seconds
53
+ local KEEP_ALIVE="$5" # Optional: true for daemon-style
54
+
55
+ local FILE="$PLIST_DIR/$LABEL.plist"
56
+
57
+ cat > "$FILE" << PLIST_HEADER
58
+ <?xml version="1.0" encoding="UTF-8"?>
59
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
60
+ <plist version="1.0">
61
+ <dict>
62
+ <key>Label</key>
63
+ <string>$LABEL</string>
64
+
65
+ <key>ProgramArguments</key>
66
+ <array>
67
+ PLIST_HEADER
68
+
69
+ # Split program args by |
70
+ IFS='|' read -ra ARGS <<< "$PROGRAM_ARGS"
71
+ for arg in "${ARGS[@]}"; do
72
+ echo " <string>$arg</string>" >> "$FILE"
73
+ done
74
+
75
+ cat >> "$FILE" << PLIST_MID
76
+ </array>
77
+
78
+ <key>WorkingDirectory</key>
79
+ <string>$AGENT_DIR</string>
80
+ PLIST_MID
81
+
82
+ if [ "$KEEP_ALIVE" = "true" ]; then
83
+ cat >> "$FILE" << 'PLIST_KEEPALIVE'
84
+
85
+ <key>KeepAlive</key>
86
+ <true/>
87
+
88
+ <key>RunAtLoad</key>
89
+ <true/>
90
+
91
+ <key>ThrottleInterval</key>
92
+ <integer>5</integer>
93
+ PLIST_KEEPALIVE
94
+ fi
95
+
96
+ if [ -n "$SCHEDULE" ]; then
97
+ cat >> "$FILE" << PLIST_SCHED
98
+
99
+ <key>StartCalendarInterval</key>
100
+ <dict>
101
+ $SCHEDULE
102
+ </dict>
103
+ PLIST_SCHED
104
+ fi
105
+
106
+ if [ -n "$INTERVAL" ]; then
107
+ cat >> "$FILE" << PLIST_INTERVAL
108
+
109
+ <key>StartInterval</key>
110
+ <integer>$INTERVAL</integer>
111
+ PLIST_INTERVAL
112
+ fi
113
+
114
+ cat >> "$FILE" << PLIST_FOOTER
115
+
116
+ <key>StandardOutPath</key>
117
+ <string>$AGENT_DIR/logs/daemon/launchd-stdout.log</string>
118
+
119
+ <key>StandardErrorPath</key>
120
+ <string>$AGENT_DIR/logs/daemon/launchd-stderr.log</string>
121
+ </dict>
122
+ </plist>
123
+ PLIST_FOOTER
124
+
125
+ echo " Generated: $LABEL"
126
+ }
127
+
128
+ # ── Helper: trigger plist (runs claude with a trigger prompt) ────────────────
129
+
130
+ generate_trigger_plist() {
131
+ local TRIGGER_NAME="$1"
132
+ local SCHEDULE="$2"
133
+ local INTERVAL="$3"
134
+
135
+ local LABEL="ai.adaptic.${AGENT_FIRST}-${TRIGGER_NAME}"
136
+ local TRIGGER_FILE="$AGENT_DIR/schedules/triggers/${TRIGGER_NAME}.md"
137
+ local RUN_TRIGGER="$AGENT_DIR/scripts/local-triggers/run-trigger.sh"
138
+
139
+ generate_plist "$LABEL" \
140
+ "$RUN_TRIGGER|$TRIGGER_FILE" \
141
+ "$SCHEDULE" \
142
+ "$INTERVAL" \
143
+ ""
144
+ }
145
+
146
+ # ── Generate all plists ─────────────────────────────────────────────────────
147
+
148
+ echo ""
149
+ echo "Generating launchd plist files..."
150
+
151
+ # 1. Main daemon (KeepAlive)
152
+ generate_plist "ai.adaptic.${AGENT_FIRST}-daemon" \
153
+ "${NODE_PATH}|${AGENT_DIR}/scripts/daemon/maestro-daemon.mjs" \
154
+ "" "" "true"
155
+
156
+ # 2. Slack events server (KeepAlive) — real-time Slack message handling
157
+ generate_plist "ai.adaptic.${AGENT_FIRST}-slack-events" \
158
+ "${NODE_PATH}|${AGENT_DIR}/scripts/slack-events-server.mjs" \
159
+ "" "" "true"
160
+
161
+ # 3. Inbox processor (every 5 minutes)
162
+ generate_trigger_plist "inbox-processor" "" "300"
163
+
164
+ # 4. Backlog executor (every 10 minutes)
165
+ generate_trigger_plist "backlog-executor" "" "600"
166
+
167
+ # 5. Meeting prep (every 15 minutes)
168
+ generate_trigger_plist "meeting-prep" "" "900"
169
+
170
+ # 6. Meeting action capture (every 30 minutes)
171
+ generate_trigger_plist "meeting-action-capture" "" "1800"
172
+
173
+ # 7. Midday sweep (daily at 12:00 local)
174
+ generate_trigger_plist "daily-midday-sweep" \
175
+ " <key>Hour</key>
176
+ <integer>12</integer>
177
+ <key>Minute</key>
178
+ <integer>0</integer>"
179
+
180
+ # 8. Weekly hiring (Monday 09:00)
181
+ generate_trigger_plist "weekly-hiring" \
182
+ " <key>Weekday</key>
183
+ <integer>1</integer>
184
+ <key>Hour</key>
185
+ <integer>9</integer>
186
+ <key>Minute</key>
187
+ <integer>0</integer>"
188
+
189
+ # 9. Weekly priorities (Monday 11:00)
190
+ generate_trigger_plist "weekly-priorities" \
191
+ " <key>Weekday</key>
192
+ <integer>1</integer>
193
+ <key>Hour</key>
194
+ <integer>11</integer>
195
+ <key>Minute</key>
196
+ <integer>0</integer>"
197
+
198
+ # 10. Weekly execution (Wednesday 14:00)
199
+ generate_trigger_plist "weekly-execution" \
200
+ " <key>Weekday</key>
201
+ <integer>3</integer>
202
+ <key>Hour</key>
203
+ <integer>14</integer>
204
+ <key>Minute</key>
205
+ <integer>0</integer>"
206
+
207
+ # 11. Weekly engineering health (Wednesday 10:00)
208
+ generate_trigger_plist "weekly-engineering-health" \
209
+ " <key>Weekday</key>
210
+ <integer>3</integer>
211
+ <key>Hour</key>
212
+ <integer>10</integer>
213
+ <key>Minute</key>
214
+ <integer>0</integer>"
215
+
216
+ # 12. Weekly strategic memo (Friday 14:00)
217
+ generate_trigger_plist "weekly-strategic-memo" \
218
+ " <key>Weekday</key>
219
+ <integer>5</integer>
220
+ <key>Hour</key>
221
+ <integer>14</integer>
222
+ <key>Minute</key>
223
+ <integer>0</integer>"
224
+
225
+ # 13. Quarterly self-assessment (1st of month, 09:00)
226
+ generate_trigger_plist "quarterly-self-assessment" \
227
+ " <key>Day</key>
228
+ <integer>1</integer>
229
+ <key>Hour</key>
230
+ <integer>9</integer>
231
+ <key>Minute</key>
232
+ <integer>0</integer>"
233
+
234
+ echo ""
235
+ echo "Generated $(ls "$PLIST_DIR"/*.plist 2>/dev/null | wc -l | tr -d ' ') plist files in $PLIST_DIR"
@@ -1,28 +1,34 @@
1
1
  #!/bin/bash
2
- # Install all local Sophie triggers as macOS launchd daemons
2
+ # Install all local agent triggers as macOS launchd daemons
3
3
  # Usage: ./scripts/local-triggers/install-all.sh
4
4
  #
5
- # This installs the triggers that run locally on the Mac mini:
6
- # - Midday sweep (daily 12:00 GST)
7
- # - Inbox processor (every 5 minutes)
8
- # - Weekly hiring review (Monday 09:00 GST)
9
- # - Weekly priorities reset (Monday 11:00 GST)
10
- # - Weekly execution review (Wednesday 14:00 GST)
11
- # - Weekly strategic memo (Friday 14:00 GST)
12
- #
13
- # The morning brief and evening wrap run as remote cloud triggers.
5
+ # This generates plist files from agent config and installs them.
6
+ # The generate-plists.sh script reads config/agent.ts to determine
7
+ # the agent name and generates properly configured plist files.
14
8
 
15
9
  set -e
16
10
 
17
11
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
+ AGENT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
18
13
  PLIST_DIR="$SCRIPT_DIR/plists"
14
+ GENERATOR="$SCRIPT_DIR/generate-plists.sh"
19
15
  LAUNCH_AGENTS_DIR="$HOME/Library/LaunchAgents"
20
16
 
21
17
  mkdir -p "$LAUNCH_AGENTS_DIR"
22
18
 
23
- echo "Installing Sophie local triggers..."
19
+ # Generate plists from agent config
20
+ if [ -x "$GENERATOR" ]; then
21
+ echo "Generating plist files from agent config..."
22
+ bash "$GENERATOR"
23
+ else
24
+ echo "Warning: generate-plists.sh not found — using existing plists"
25
+ fi
26
+
27
+ echo ""
28
+ echo "Installing local triggers..."
24
29
 
25
30
  for plist in "$PLIST_DIR"/*.plist; do
31
+ [ -f "$plist" ] || continue
26
32
  PLIST_NAME=$(basename "$plist")
27
33
  LABEL=$(basename "$plist" .plist)
28
34
  DST="$LAUNCH_AGENTS_DIR/$PLIST_NAME"
@@ -40,4 +46,4 @@ done
40
46
  echo ""
41
47
  echo "All local triggers installed."
42
48
  echo "Check status: launchctl list | grep adaptic"
43
- echo "Uninstall all: for f in ~/Library/LaunchAgents/ai.adaptic.sophie-*.plist; do launchctl unload \"\$f\" && rm \"\$f\"; done"
49
+ echo "Uninstall all: for f in ~/Library/LaunchAgents/ai.adaptic.*.plist; do launchctl unload \"\$f\" && rm \"\$f\"; done"
@@ -126,35 +126,63 @@ echo ""
126
126
  log "Creating state and log directories..."
127
127
 
128
128
  DIRS=(
129
+ "config"
130
+ "knowledge/decisions"
131
+ "knowledge/decisions/archive"
132
+ "knowledge/entities"
133
+ "knowledge/memory"
134
+ "knowledge/sources"
135
+ "knowledge/syntheses"
136
+ "memory/interactions"
137
+ "memory/profiles/users"
138
+ "memory/profiles/channels"
139
+ "memory/precedents"
140
+ "memory/precedents/market-signals"
141
+ "memory/indexes"
142
+ "memory/templates"
129
143
  "state/inbox/slack"
130
144
  "state/inbox/gmail"
131
145
  "state/inbox/calendar"
132
146
  "state/inbox/sms"
147
+ "state/inbox/whatsapp"
133
148
  "state/inbox/internal"
134
- "state/triggers/priority"
135
- "state/locks/outbound"
149
+ "state/inbox/attachments"
150
+ "state/inbox/processed"
136
151
  "state/queues"
137
152
  "state/dashboards"
138
153
  "state/polling"
139
- "logs/polling"
140
- "logs/workflows"
141
- "logs/sessions"
142
- "logs/audit"
143
- "logs/sms"
144
- "logs/monitor"
145
- "logs/security"
146
- "logs/evolution"
147
- "memory/interactions"
148
- "memory/profiles/users"
149
- "memory/profiles/channels"
150
- "memory/precedents"
151
- "memory/templates"
154
+ "state/locks/outbound"
155
+ "state/triggers/priority"
156
+ "state/handoffs"
157
+ "state/huddle"
158
+ "state/indexes"
159
+ "state/rag"
160
+ "state/sessions"
161
+ "state/slack-responded"
162
+ "state/slack-thread-tracker"
163
+ "state/tmp"
152
164
  "outputs/briefs"
153
165
  "outputs/drafts"
154
166
  "outputs/memos"
155
167
  "outputs/research"
156
168
  "outputs/tasks"
157
169
  "outputs/sessions"
170
+ "logs/polling"
171
+ "logs/workflows"
172
+ "logs/sessions"
173
+ "logs/audit"
174
+ "logs/security"
175
+ "logs/evolution"
176
+ "logs/huddle"
177
+ "logs/daemon"
178
+ "logs/infra"
179
+ "logs/monitor"
180
+ "logs/phone"
181
+ "logs/sms"
182
+ "logs/whatsapp"
183
+ "logs/email"
184
+ "self-optimization/scenarios"
185
+ "tests"
158
186
  )
159
187
 
160
188
  for dir in "${DIRS[@]}"; do
@@ -337,16 +365,23 @@ echo ""
337
365
  # Step 5: Generate and install launchd plists
338
366
  # ---------------------------------------------------------------------------
339
367
 
340
- log "Installing macOS launchd agents..."
368
+ log "Generating and installing macOS launchd agents..."
341
369
 
342
370
  LAUNCH_AGENTS_DIR="$HOME/Library/LaunchAgents"
343
- PLIST_TEMPLATE_DIR="$AGENT_DIR/scripts/local-triggers/plists"
371
+ PLIST_GENERATOR="$AGENT_DIR/scripts/local-triggers/generate-plists.sh"
372
+ PLIST_DIR="$AGENT_DIR/scripts/local-triggers/plists"
344
373
  mkdir -p "$LAUNCH_AGENTS_DIR"
345
374
 
346
- if [ ! -d "$PLIST_TEMPLATE_DIR" ]; then
347
- warn "No plist templates found at $PLIST_TEMPLATE_DIR skipping launchd setup"
375
+ # Generate plists from agent config (handles agent name substitution)
376
+ if [ -x "$PLIST_GENERATOR" ]; then
377
+ bash "$PLIST_GENERATOR"
378
+ ok "Generated plist files from agent config"
348
379
  else
349
- for plist in "$PLIST_TEMPLATE_DIR"/*.plist; do
380
+ warn "Plist generator not found at $PLIST_GENERATOR — using existing plists"
381
+ fi
382
+
383
+ if [ -d "$PLIST_DIR" ] && ls "$PLIST_DIR"/*.plist &>/dev/null; then
384
+ for plist in "$PLIST_DIR"/*.plist; do
350
385
  PLIST_NAME=$(basename "$plist")
351
386
  LABEL=$(basename "$plist" .plist)
352
387
  DST="$LAUNCH_AGENTS_DIR/$PLIST_NAME"
@@ -354,17 +389,13 @@ else
354
389
  # Unload if already loaded
355
390
  launchctl unload "$DST" 2>/dev/null || true
356
391
 
357
- # Copy the template
392
+ # Copy and load
358
393
  cp "$plist" "$DST"
359
-
360
- # Substitute the agent directory path in case the template has a different one
361
- # Handles both legacy (sophie-ai) and current (maestro) path patterns
362
- sed -i '' "s|/Users/[^<]*/sophie-ai|$AGENT_DIR|g; s|/Users/[^<]*/maestro|$AGENT_DIR|g" "$DST" 2>/dev/null || true
363
-
364
- # Load
365
394
  launchctl load "$DST"
366
395
  ok "Loaded: $LABEL"
367
396
  done
397
+ else
398
+ warn "No plist files found in $PLIST_DIR — skipping launchd setup"
368
399
  fi
369
400
 
370
401
  echo ""
@@ -31,6 +31,16 @@ import { fileURLToPath } from "node:url";
31
31
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
32
32
  const ROOT = path.resolve(__dirname, "..");
33
33
 
34
+ // ── Singleton guard — prevent duplicate instances ────────────────────────────
35
+ try {
36
+ process.env.AGENT_ROOT = process.env.AGENT_ROOT || ROOT;
37
+ const { acquireLock } = await import(path.join(process.env.HOME, "maestro/lib/singleton.js"));
38
+ if (!acquireLock("slack-events")) {
39
+ console.log("[INIT] Slack events server already running — exiting");
40
+ process.exit(0);
41
+ }
42
+ } catch { /* maestro not available — skip guard */ }
43
+
34
44
  // ── Load environment ──────────────────────────────────────────────────────────
35
45
 
36
46
  const envPath = path.join(ROOT, ".env");