pi-harness-runtime 1.1.398 β†’ 1.1.403

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 (613) hide show
  1. package/AGENTS.md +44 -2
  2. package/CHANGELOG.md +28 -0
  3. package/RULES.md +28 -0
  4. package/harness/agent-handoff.ts +2 -3
  5. package/harness/autonomous-review.ts +1 -1
  6. package/harness/blackboard.ts +2 -3
  7. package/harness/context-compact-orchestrator.ts +1 -1
  8. package/harness/context-window-manager.ts +2 -2
  9. package/harness/e2e/playwright-runner.ts +6 -4
  10. package/harness/herdr-agents.ts +1 -1
  11. package/harness/job-state-machine.ts +1 -1
  12. package/harness/langchain/daemon.ts +3 -3
  13. package/harness/langchain/graph.ts +2 -2
  14. package/harness/langchain/ping-pong-middleware.ts +2 -2
  15. package/harness/loop-code-agent.ts +6 -4
  16. package/harness/loop-controller.ts +1 -1
  17. package/harness/loop-review-agent.ts +1 -1
  18. package/harness/loop-types.ts +1 -1
  19. package/harness/master-planner.ts +1 -1
  20. package/harness/project-detector/detector.ts +1 -2
  21. package/harness/repair-engine.ts +2 -4
  22. package/harness/service-diagnostics.ts +1 -1
  23. package/harness/skill-sync.ts +3 -3
  24. package/index.ts +276 -55
  25. package/mirror.ts +1 -1
  26. package/package.json +5 -3
  27. package/packages/a2a-adapter/dist/discovery.d.ts.map +1 -1
  28. package/packages/a2a-adapter/dist/discovery.js +0 -1
  29. package/packages/a2a-adapter/dist/discovery.js.map +1 -1
  30. package/packages/a2a-adapter/package.json +1 -1
  31. package/packages/a2a-adapter/src/discovery.ts +0 -1
  32. package/packages/agent-policy/package.json +1 -1
  33. package/packages/architecture-generator/package.json +1 -1
  34. package/packages/auth/dist/index.d.ts +9 -0
  35. package/packages/auth/dist/index.d.ts.map +1 -0
  36. package/packages/auth/dist/index.js +9 -0
  37. package/packages/auth/dist/index.js.map +1 -0
  38. package/packages/auth/package.json +1 -1
  39. package/packages/auth/src/index.ts +9 -0
  40. package/packages/autonomous-refactor/package.json +1 -1
  41. package/packages/autonomous-runtime/package.json +1 -1
  42. package/packages/cache-strategy/package.json +1 -1
  43. package/packages/capability-registry/package.json +1 -1
  44. package/packages/checkpoint/package.json +1 -1
  45. package/packages/cli-plugin-sdk/package.json +1 -1
  46. package/packages/clipboard/package.json +1 -1
  47. package/packages/clipboard-plugin/package.json +1 -1
  48. package/packages/code-generation/package.json +1 -1
  49. package/packages/code-review/package.json +1 -1
  50. package/packages/codex-adapter/package.json +1 -1
  51. package/packages/codex-watcher/package.json +1 -1
  52. package/packages/config-capture/dist/index.d.ts +52 -0
  53. package/packages/config-capture/dist/index.d.ts.map +1 -0
  54. package/packages/config-capture/dist/index.js +261 -0
  55. package/packages/config-capture/dist/index.js.map +1 -0
  56. package/packages/config-capture/package.json +1 -1
  57. package/packages/connection-runtime/package.json +1 -1
  58. package/packages/context-compiler/package.json +1 -1
  59. package/packages/context-discovery/package.json +1 -1
  60. package/packages/context-manager/package.json +1 -1
  61. package/packages/contracts/package.json +1 -1
  62. package/packages/cookie-sanitizer/package.json +1 -1
  63. package/packages/cost-optimizer/package.json +1 -1
  64. package/packages/dependency-analyzer/package.json +1 -1
  65. package/packages/django-plugin/package.json +1 -1
  66. package/packages/doc-generator/package.json +1 -1
  67. package/packages/durable-review/package.json +1 -1
  68. package/packages/e2e-tester/package.json +1 -1
  69. package/packages/evaluation-engine/package.json +1 -1
  70. package/packages/evaluation-runner/package.json +1 -1
  71. package/packages/event-bus/package.json +1 -1
  72. package/packages/event-sink/package.json +1 -1
  73. package/packages/event-store/package.json +1 -1
  74. package/packages/experience-replay/package.json +1 -1
  75. package/packages/feedback-collector/package.json +1 -1
  76. package/packages/file-copy-helper/dist/extension.d.ts +15 -0
  77. package/packages/file-copy-helper/dist/extension.d.ts.map +1 -0
  78. package/packages/file-copy-helper/dist/extension.debug.d.ts +15 -0
  79. package/packages/file-copy-helper/dist/extension.debug.d.ts.map +1 -0
  80. package/packages/file-copy-helper/dist/extension.debug.js +215 -0
  81. package/packages/file-copy-helper/dist/extension.debug.js.map +1 -0
  82. package/packages/file-copy-helper/dist/extension.js +222 -0
  83. package/packages/file-copy-helper/dist/extension.js.map +1 -0
  84. package/packages/file-copy-helper/dist/index.d.ts +3 -0
  85. package/packages/file-copy-helper/dist/index.d.ts.map +1 -0
  86. package/packages/file-copy-helper/dist/index.js +3 -0
  87. package/packages/file-copy-helper/dist/index.js.map +1 -0
  88. package/packages/file-copy-helper/dist/intent-detector.d.ts +21 -0
  89. package/packages/file-copy-helper/dist/intent-detector.d.ts.map +1 -0
  90. package/packages/file-copy-helper/dist/intent-detector.js +348 -0
  91. package/packages/file-copy-helper/dist/intent-detector.js.map +1 -0
  92. package/packages/file-copy-helper/package.json +1 -1
  93. package/packages/framework-detector/package.json +1 -1
  94. package/packages/framework-plugin-sdk/package.json +1 -1
  95. package/packages/frappe-plugin/package.json +1 -1
  96. package/packages/generic-web-plugin/package.json +1 -1
  97. package/packages/health-monitor/package.json +1 -1
  98. package/packages/intent-analyzer/package.json +1 -1
  99. package/packages/jev-judge/dist/auto-continue.d.ts +161 -2
  100. package/packages/jev-judge/dist/auto-continue.d.ts.map +1 -1
  101. package/packages/jev-judge/dist/auto-continue.js +267 -22
  102. package/packages/jev-judge/dist/auto-continue.js.map +1 -1
  103. package/packages/jev-judge/dist/index.d.ts +2 -0
  104. package/packages/jev-judge/dist/index.d.ts.map +1 -1
  105. package/packages/jev-judge/dist/index.js +2 -0
  106. package/packages/jev-judge/dist/index.js.map +1 -1
  107. package/packages/jev-judge/dist/question-risk.d.ts +53 -0
  108. package/packages/jev-judge/dist/question-risk.d.ts.map +1 -0
  109. package/packages/jev-judge/dist/question-risk.js +105 -0
  110. package/packages/jev-judge/dist/question-risk.js.map +1 -0
  111. package/packages/jev-judge/package.json +1 -1
  112. package/packages/jev-judge/src/auto-continue.ts +426 -29
  113. package/packages/jev-judge/src/index.ts +4 -0
  114. package/packages/jev-judge/src/question-risk.ts +155 -0
  115. package/packages/jev-judge/tests/auto-continue-context.test.ts +243 -0
  116. package/packages/jev-judge/tests/outcome-application.test.ts +132 -0
  117. package/packages/jev-judge/tests/question-risk.test.ts +129 -0
  118. package/packages/knowledge-graph/package.json +1 -1
  119. package/packages/knowledge-retrieval/package.json +1 -1
  120. package/packages/laravel-plugin/package.json +1 -1
  121. package/packages/learning-engine/package.json +1 -1
  122. package/packages/logging/README.md +36 -3
  123. package/packages/logging/dist/config.d.ts +7 -0
  124. package/packages/logging/dist/config.d.ts.map +1 -1
  125. package/packages/logging/dist/config.js +14 -0
  126. package/packages/logging/dist/config.js.map +1 -1
  127. package/packages/logging/dist/incidents/schema.d.ts +111 -0
  128. package/packages/logging/dist/incidents/schema.d.ts.map +1 -0
  129. package/packages/logging/dist/incidents/schema.js +0 -0
  130. package/packages/logging/dist/incidents/schema.js.map +1 -0
  131. package/packages/logging/dist/index.d.ts +2 -0
  132. package/packages/logging/dist/index.d.ts.map +1 -1
  133. package/packages/logging/dist/index.js +2 -0
  134. package/packages/logging/dist/index.js.map +1 -1
  135. package/packages/logging/dist/server/http.d.ts +4 -3
  136. package/packages/logging/dist/server/http.d.ts.map +1 -1
  137. package/packages/logging/dist/server/http.js +35 -3
  138. package/packages/logging/dist/server/http.js.map +1 -1
  139. package/packages/logging/dist/server/incident-qdrant.d.ts +83 -0
  140. package/packages/logging/dist/server/incident-qdrant.d.ts.map +1 -0
  141. package/packages/logging/dist/server/incident-qdrant.js +129 -0
  142. package/packages/logging/dist/server/incident-qdrant.js.map +1 -0
  143. package/packages/logging/dist/server/incident-store.d.ts +76 -0
  144. package/packages/logging/dist/server/incident-store.d.ts.map +1 -0
  145. package/packages/logging/dist/server/incident-store.js +157 -0
  146. package/packages/logging/dist/server/incident-store.js.map +1 -0
  147. package/packages/logging/dist/server/index.d.ts +4 -0
  148. package/packages/logging/dist/server/index.d.ts.map +1 -1
  149. package/packages/logging/dist/server/index.js +2 -0
  150. package/packages/logging/dist/server/index.js.map +1 -1
  151. package/packages/logging/dist/server/service.d.ts +33 -0
  152. package/packages/logging/dist/server/service.d.ts.map +1 -1
  153. package/packages/logging/dist/server/service.js +63 -0
  154. package/packages/logging/dist/server/service.js.map +1 -1
  155. package/packages/logging/dist/shipper.d.ts +74 -3
  156. package/packages/logging/dist/shipper.d.ts.map +1 -1
  157. package/packages/logging/dist/shipper.js +88 -5
  158. package/packages/logging/dist/shipper.js.map +1 -1
  159. package/packages/logging/dist/singleton.d.ts.map +1 -1
  160. package/packages/logging/dist/singleton.js +1 -0
  161. package/packages/logging/dist/singleton.js.map +1 -1
  162. package/packages/logging/package.json +1 -1
  163. package/packages/logging/src/config.ts +22 -0
  164. package/packages/logging/src/incidents/schema.ts +0 -0
  165. package/packages/logging/src/index.ts +17 -0
  166. package/packages/logging/src/server/http.ts +42 -3
  167. package/packages/logging/src/server/incident-qdrant.ts +177 -0
  168. package/packages/logging/src/server/incident-store.ts +192 -0
  169. package/packages/logging/src/server/index.ts +21 -0
  170. package/packages/logging/src/server/service.ts +79 -0
  171. package/packages/logging/src/shipper.ts +120 -5
  172. package/packages/logging/src/singleton.ts +1 -0
  173. package/packages/logging/test/fanout.test.ts +186 -0
  174. package/packages/logging/test/incidents.test.ts +404 -0
  175. package/packages/mcp-adapter/package.json +1 -1
  176. package/packages/memory-engine/package.json +1 -1
  177. package/packages/milestone-manager/package.json +1 -1
  178. package/packages/model-registry/package.json +1 -1
  179. package/packages/nextjs-plugin/package.json +1 -1
  180. package/packages/notification/dist/adapters/detail-format.d.ts +10 -2
  181. package/packages/notification/dist/adapters/detail-format.d.ts.map +1 -1
  182. package/packages/notification/dist/adapters/detail-format.js +39 -0
  183. package/packages/notification/dist/adapters/detail-format.js.map +1 -1
  184. package/packages/notification/dist/adapters/line-adapter.d.ts +33 -0
  185. package/packages/notification/dist/adapters/line-adapter.d.ts.map +1 -1
  186. package/packages/notification/dist/adapters/line-adapter.js +84 -7
  187. package/packages/notification/dist/adapters/line-adapter.js.map +1 -1
  188. package/packages/notification/dist/adapters/telegram-adapter.d.ts.map +1 -1
  189. package/packages/notification/dist/adapters/telegram-adapter.js +6 -2
  190. package/packages/notification/dist/adapters/telegram-adapter.js.map +1 -1
  191. package/packages/notification/dist/notification-center.d.ts.map +1 -1
  192. package/packages/notification/dist/notification-center.js +59 -7
  193. package/packages/notification/dist/notification-center.js.map +1 -1
  194. package/packages/notification/dist/pending-question.d.ts +69 -2
  195. package/packages/notification/dist/pending-question.d.ts.map +1 -1
  196. package/packages/notification/dist/pending-question.js +88 -2
  197. package/packages/notification/dist/pending-question.js.map +1 -1
  198. package/packages/notification/dist/types.d.ts +18 -0
  199. package/packages/notification/dist/types.d.ts.map +1 -1
  200. package/packages/notification/package.json +1 -1
  201. package/packages/notification/src/adapters/detail-format.ts +42 -2
  202. package/packages/notification/src/adapters/line-adapter.ts +94 -7
  203. package/packages/notification/src/adapters/telegram-adapter.ts +6 -2
  204. package/packages/notification/src/notification-center.ts +65 -8
  205. package/packages/notification/src/pending-question.ts +160 -8
  206. package/packages/notification/src/types.ts +18 -0
  207. package/packages/notification/test/approval-payload.test.ts +269 -0
  208. package/packages/notification/test/pending-question-lifecycle.test.ts +195 -0
  209. package/packages/observability/package.json +1 -1
  210. package/packages/okf-indexer/dist/index.d.ts +9 -0
  211. package/packages/okf-indexer/dist/index.d.ts.map +1 -0
  212. package/packages/okf-indexer/dist/index.js +9 -0
  213. package/packages/okf-indexer/dist/index.js.map +1 -0
  214. package/packages/okf-indexer/package.json +1 -1
  215. package/packages/okf-indexer/src/index.ts +9 -0
  216. package/packages/paperclip-integration/package.json +1 -1
  217. package/packages/performance-optimizer/package.json +1 -1
  218. package/packages/permission-mode/package.json +1 -1
  219. package/packages/privilege-broker/package.json +1 -1
  220. package/packages/project-analyzer/package.json +1 -1
  221. package/packages/project-bootstrap/package.json +1 -1
  222. package/packages/projection-engine/package.json +1 -1
  223. package/packages/prompt-compiler/package.json +1 -1
  224. package/packages/prompt-versioning/package.json +1 -1
  225. package/packages/provider-adapter-sdk/package.json +1 -1
  226. package/packages/provider-router/dist/provider-router.d.ts.map +1 -1
  227. package/packages/provider-router/dist/types.d.ts +2 -2
  228. package/packages/provider-router/dist/types.d.ts.map +1 -1
  229. package/packages/provider-router/dist/types.js +1 -1
  230. package/packages/provider-router/package.json +1 -1
  231. package/packages/provider-router/src/types.ts +2 -2
  232. package/packages/provider-selector/package.json +1 -1
  233. package/packages/providers/package.json +1 -1
  234. package/packages/qdrant-skills/package.json +1 -1
  235. package/packages/quota-manager/package.json +1 -1
  236. package/packages/rate-limiter/package.json +1 -1
  237. package/packages/react-vite-plugin/package.json +1 -1
  238. package/packages/relay/package.json +1 -1
  239. package/packages/release-manager/package.json +1 -1
  240. package/packages/requirement-compiler/package.json +1 -1
  241. package/packages/runtime/package.json +1 -1
  242. package/packages/scheduler/dist/index.d.ts +9 -0
  243. package/packages/scheduler/dist/index.d.ts.map +1 -0
  244. package/packages/scheduler/dist/index.js +9 -0
  245. package/packages/scheduler/dist/index.js.map +1 -0
  246. package/packages/scheduler/dist/scheduler.d.ts +17 -0
  247. package/packages/scheduler/dist/scheduler.d.ts.map +1 -0
  248. package/packages/scheduler/dist/scheduler.js +41 -0
  249. package/packages/scheduler/dist/scheduler.js.map +1 -0
  250. package/packages/scheduler/package.json +1 -1
  251. package/packages/scheduler/src/index.ts +9 -0
  252. package/packages/scheduler-adapter/package.json +1 -1
  253. package/packages/session/package.json +1 -1
  254. package/packages/session-api/package.json +1 -1
  255. package/packages/session-export/package.json +1 -1
  256. package/packages/shared-context/dist/index.d.ts +7 -0
  257. package/packages/shared-context/dist/index.d.ts.map +1 -0
  258. package/packages/shared-context/dist/index.js +7 -0
  259. package/packages/shared-context/dist/index.js.map +1 -0
  260. package/packages/shared-context/dist/shared-context.d.ts +12 -0
  261. package/packages/shared-context/dist/shared-context.d.ts.map +1 -0
  262. package/packages/shared-context/dist/shared-context.js +39 -0
  263. package/packages/shared-context/dist/shared-context.js.map +1 -0
  264. package/packages/shared-context/package.json +1 -1
  265. package/packages/skill-mcp-client/dist/client.d.ts +56 -0
  266. package/packages/skill-mcp-client/dist/client.d.ts.map +1 -0
  267. package/packages/skill-mcp-client/dist/client.js +101 -0
  268. package/packages/skill-mcp-client/dist/client.js.map +1 -0
  269. package/packages/skill-mcp-client/dist/errors.d.ts +44 -0
  270. package/packages/skill-mcp-client/dist/errors.d.ts.map +1 -0
  271. package/packages/skill-mcp-client/dist/errors.js +68 -0
  272. package/packages/skill-mcp-client/dist/errors.js.map +1 -0
  273. package/packages/skill-mcp-client/dist/index.d.ts +9 -0
  274. package/packages/skill-mcp-client/dist/index.d.ts.map +1 -0
  275. package/packages/skill-mcp-client/dist/index.js +9 -0
  276. package/packages/skill-mcp-client/dist/index.js.map +1 -0
  277. package/packages/skill-mcp-client/dist/types.d.ts +106 -0
  278. package/packages/skill-mcp-client/dist/types.d.ts.map +1 -0
  279. package/packages/skill-mcp-client/dist/types.js +14 -0
  280. package/packages/skill-mcp-client/dist/types.js.map +1 -0
  281. package/packages/skill-mcp-client/package.json +1 -1
  282. package/packages/skill-registry/package.json +1 -1
  283. package/packages/skills/package.json +1 -5
  284. package/packages/sprint-planner/package.json +1 -1
  285. package/packages/subscription-engine/package.json +1 -1
  286. package/packages/task-compiler/package.json +1 -1
  287. package/packages/telegram/package.json +1 -1
  288. package/packages/telegram/src/agent-messages.d.ts +28 -0
  289. package/packages/telegram/src/agent-messages.js +90 -0
  290. package/packages/telegram/src/bindings.d.ts +296 -0
  291. package/packages/telegram/src/bindings.js +1086 -0
  292. package/packages/telegram/src/bus.d.ts +759 -0
  293. package/packages/telegram/src/bus.js +2732 -0
  294. package/packages/telegram/src/commands.d.ts +761 -0
  295. package/packages/telegram/src/commands.js +2622 -0
  296. package/packages/telegram/src/config.d.ts +222 -0
  297. package/packages/telegram/src/config.js +844 -0
  298. package/packages/telegram/src/delivery.d.ts +161 -0
  299. package/packages/telegram/src/delivery.js +550 -0
  300. package/packages/telegram/src/extension.d.ts +7 -0
  301. package/packages/telegram/src/extension.js +2444 -0
  302. package/packages/telegram/src/inbound.d.ts +94 -0
  303. package/packages/telegram/src/inbound.js +478 -0
  304. package/packages/telegram/src/index.d.ts +6 -0
  305. package/packages/telegram/src/index.js +6 -0
  306. package/packages/telegram/src/keyboard.d.ts +21 -0
  307. package/packages/telegram/src/keyboard.js +37 -0
  308. package/packages/telegram/src/lifecycle.d.ts +210 -0
  309. package/packages/telegram/src/lifecycle.js +538 -0
  310. package/packages/telegram/src/pi.d.ts +76 -0
  311. package/packages/telegram/src/pi.js +130 -0
  312. package/packages/telegram/src/polling.d.ts +332 -0
  313. package/packages/telegram/src/polling.js +1219 -0
  314. package/packages/telegram/src/replies.d.ts +210 -0
  315. package/packages/telegram/src/replies.js +752 -0
  316. package/packages/telegram/src/routing.d.ts +388 -0
  317. package/packages/telegram/src/routing.js +7886 -0
  318. package/packages/telegram/src/runtime.d.ts +159 -0
  319. package/packages/telegram/src/runtime.js +351 -0
  320. package/packages/telegram/src/telegram-api.d.ts +564 -0
  321. package/packages/telegram/src/telegram-api.js +1332 -0
  322. package/packages/telegram/src/turns.d.ts +108 -0
  323. package/packages/telegram/src/turns.js +482 -0
  324. package/packages/telegram/src/updates.d.ts +1545 -0
  325. package/packages/telegram/src/updates.js +6420 -0
  326. package/packages/tencentdb-memory/package.json +1 -1
  327. package/packages/tencentdb-sync/package.json +1 -1
  328. package/packages/test-data-generator/package.json +1 -1
  329. package/packages/test-generator/package.json +1 -1
  330. package/packages/todo-bd-sync/dist/detector.d.ts +54 -0
  331. package/packages/todo-bd-sync/dist/detector.d.ts.map +1 -0
  332. package/packages/todo-bd-sync/dist/detector.js +132 -0
  333. package/packages/todo-bd-sync/dist/detector.js.map +1 -0
  334. package/packages/todo-bd-sync/dist/extension.d.ts +30 -0
  335. package/packages/todo-bd-sync/dist/extension.d.ts.map +1 -0
  336. package/packages/todo-bd-sync/dist/extension.js +35 -0
  337. package/packages/todo-bd-sync/dist/extension.js.map +1 -0
  338. package/packages/todo-bd-sync/dist/index.d.ts +87 -0
  339. package/packages/todo-bd-sync/dist/index.d.ts.map +1 -0
  340. package/packages/todo-bd-sync/dist/index.js +296 -0
  341. package/packages/todo-bd-sync/dist/index.js.map +1 -0
  342. package/packages/todo-bd-sync/dist/sync.d.ts +72 -0
  343. package/packages/todo-bd-sync/dist/sync.d.ts.map +1 -0
  344. package/packages/todo-bd-sync/dist/sync.js +290 -0
  345. package/packages/todo-bd-sync/dist/sync.js.map +1 -0
  346. package/packages/todo-bd-sync/dist/task-analyzer.d.ts +49 -0
  347. package/packages/todo-bd-sync/dist/task-analyzer.d.ts.map +1 -0
  348. package/packages/todo-bd-sync/dist/task-analyzer.js +240 -0
  349. package/packages/todo-bd-sync/dist/task-analyzer.js.map +1 -0
  350. package/packages/todo-bd-sync/dist/todo-reminder.d.ts +126 -0
  351. package/packages/todo-bd-sync/dist/todo-reminder.d.ts.map +1 -0
  352. package/packages/todo-bd-sync/dist/todo-reminder.js +329 -0
  353. package/packages/todo-bd-sync/dist/todo-reminder.js.map +1 -0
  354. package/packages/todo-bd-sync/dist/types.d.ts +65 -0
  355. package/packages/todo-bd-sync/dist/types.d.ts.map +1 -0
  356. package/packages/todo-bd-sync/dist/types.js +67 -0
  357. package/packages/todo-bd-sync/dist/types.js.map +1 -0
  358. package/packages/todo-bd-sync/package.json +1 -1
  359. package/packages/token-estimation/dist/index.d.ts +94 -0
  360. package/packages/token-estimation/dist/index.d.ts.map +1 -0
  361. package/packages/token-estimation/dist/index.js +115 -0
  362. package/packages/token-estimation/dist/index.js.map +1 -0
  363. package/packages/token-estimation/package.json +1 -1
  364. package/packages/token-optimizer/package.json +1 -1
  365. package/packages/trajectory/package.json +1 -1
  366. package/packages/tui/package.json +1 -1
  367. package/packages/types/dist/ai-providers.d.ts +36 -0
  368. package/packages/types/dist/ai-providers.d.ts.map +1 -0
  369. package/packages/types/dist/ai-providers.js +66 -0
  370. package/packages/types/dist/ai-providers.js.map +1 -0
  371. package/packages/types/dist/index.d.ts +12 -0
  372. package/packages/types/dist/index.d.ts.map +1 -0
  373. package/packages/types/dist/index.js +12 -0
  374. package/packages/types/dist/index.js.map +1 -0
  375. package/packages/types/package.json +5 -5
  376. package/packages/types/src/index.ts +12 -0
  377. package/packages/voice-api/package.json +1 -1
  378. package/packages/webmcp-tester/package.json +1 -1
  379. package/packages/wiki/package.json +1 -1
  380. package/packages/workflow-events/package.json +1 -1
  381. package/packages/workspace-scanner/package.json +1 -1
  382. package/packages/worktree/package.json +1 -1
  383. package/packages/worktree/worktree.ts +1 -1
  384. package/packages/write-review/package.json +1 -1
  385. package/renderer.ts +1 -1
  386. package/scripts/build-packages.ts +162 -0
  387. package/scripts/relay-client.ts +2 -2
  388. package/scripts/typecheck-packages.mjs +3 -3
  389. package/scripts/unified-webhook-server.ts +22 -10
  390. package/scripts/verify-package-contents.ts +345 -0
  391. package/scripts/ws-server.ts +1 -1
  392. package/tracker.ts +1 -1
  393. package/harness/browser-scrapers/base-browser-scraper.d.ts +0 -91
  394. package/harness/browser-scrapers/chrome-profile-manager.d.ts +0 -80
  395. package/harness/browser-scrapers/codex-browser-scraper.d.ts +0 -60
  396. package/harness/browser-scrapers/index.d.ts +0 -29
  397. package/harness/browser-scrapers/zai-browser-scraper.d.ts +0 -79
  398. package/harness/e2e/browser-scrapers/base-browser-scraper.d.ts +0 -92
  399. package/harness/e2e/browser-scrapers/chrome-profile-manager.d.ts +0 -81
  400. package/harness/e2e/browser-scrapers/codex-browser-scraper.d.ts +0 -61
  401. package/harness/e2e/browser-scrapers/index.d.ts +0 -30
  402. package/harness/e2e/browser-scrapers/zai-browser-scraper.d.ts +0 -80
  403. package/harness/langchain/agents.d.ts +0 -143
  404. package/harness/langchain/agents.test.d.ts +0 -2
  405. package/harness/langchain/checkpointer.d.ts +0 -48
  406. package/harness/langchain/checkpointer.test.d.ts +0 -8
  407. package/harness/langchain/cron-cli.d.ts +0 -12
  408. package/harness/langchain/daemon.d.ts +0 -161
  409. package/harness/langchain/daemon.test.d.ts +0 -11
  410. package/harness/langchain/file-tools.d.ts +0 -97
  411. package/harness/langchain/graph.d.ts +0 -706
  412. package/harness/langchain/model-router.d.ts +0 -63
  413. package/harness/langchain/model-router.test.d.ts +0 -2
  414. package/harness/langchain/models.d.ts +0 -72
  415. package/harness/langchain/ping-pong-middleware.d.ts +0 -28
  416. package/harness/langchain/ping-pong-middleware.test.d.ts +0 -2
  417. package/harness/langchain/run.d.ts +0 -15
  418. package/harness/langchain/scoreboard.test.d.ts +0 -13
  419. package/harness/langchain/status-line.d.ts +0 -91
  420. package/harness/langchain/status-line.test.d.ts +0 -8
  421. package/harness/langchain/surge.d.ts +0 -111
  422. package/harness/langchain/surge.test.d.ts +0 -10
  423. package/harness/langchain/widget.d.ts +0 -105
  424. package/harness/langchain/widget.test.d.ts +0 -8
  425. package/packages/autonomous-runtime/dist/worker.d.ts +0 -63
  426. package/packages/autonomous-runtime/dist/worker.js +0 -133
  427. package/packages/capability-registry/src/types.d.ts +0 -47
  428. package/packages/clipboard/dist/clipboard.d.ts +0 -11
  429. package/packages/clipboard/dist/clipboard.js +0 -40
  430. package/packages/clipboard/dist/index.d.ts +0 -2
  431. package/packages/clipboard/dist/index.js +0 -2
  432. package/packages/clipboard/dist/types.d.ts +0 -13
  433. package/packages/clipboard/dist/types.js +0 -5
  434. package/packages/context-discovery/dist/discover.d.ts +0 -3
  435. package/packages/context-discovery/dist/discover.js +0 -42
  436. package/packages/context-discovery/dist/discovery.d.ts +0 -28
  437. package/packages/context-discovery/dist/discovery.js +0 -21
  438. package/packages/context-discovery/dist/index.d.ts +0 -3
  439. package/packages/context-discovery/dist/index.js +0 -2
  440. package/packages/context-discovery/dist/types.d.ts +0 -16
  441. package/packages/context-discovery/dist/types.js +0 -2
  442. package/packages/event-bus/dist/bus.d.ts +0 -15
  443. package/packages/event-bus/dist/bus.js +0 -90
  444. package/packages/event-bus/dist/index.d.ts +0 -4
  445. package/packages/event-bus/dist/index.js +0 -3
  446. package/packages/event-bus/dist/test/bus.test.js +0 -52
  447. package/packages/event-bus/dist/types.d.ts +0 -27
  448. package/packages/event-bus/dist/types.js +0 -10
  449. package/packages/event-store/dist/index.d.ts +0 -3
  450. package/packages/event-store/dist/index.js +0 -2
  451. package/packages/event-store/dist/store.d.ts +0 -15
  452. package/packages/event-store/dist/store.js +0 -131
  453. package/packages/event-store/dist/test/store.test.js +0 -57
  454. package/packages/event-store/dist/types.d.ts +0 -48
  455. package/packages/event-store/dist/types.js +0 -5
  456. package/packages/event-store/src/types.d.ts +0 -48
  457. package/packages/file-copy-helper/dist/src/extension.js +0 -186
  458. package/packages/model-registry/src/types.d.ts +0 -63
  459. package/packages/notification/dist/src/adapters/email-adapter.d.ts +0 -17
  460. package/packages/notification/dist/src/adapters/email-adapter.d.ts.map +0 -1
  461. package/packages/notification/dist/src/adapters/email-adapter.js +0 -89
  462. package/packages/notification/dist/src/adapters/email-adapter.js.map +0 -1
  463. package/packages/notification/dist/src/adapters/line-adapter.d.ts +0 -17
  464. package/packages/notification/dist/src/adapters/line-adapter.d.ts.map +0 -1
  465. package/packages/notification/dist/src/adapters/line-adapter.js +0 -99
  466. package/packages/notification/dist/src/adapters/line-adapter.js.map +0 -1
  467. package/packages/notification/dist/src/adapters/ntfy-adapter.d.ts +0 -17
  468. package/packages/notification/dist/src/adapters/ntfy-adapter.d.ts.map +0 -1
  469. package/packages/notification/dist/src/adapters/ntfy-adapter.js +0 -84
  470. package/packages/notification/dist/src/adapters/ntfy-adapter.js.map +0 -1
  471. package/packages/notification/dist/src/adapters/telegram-adapter.d.ts +0 -56
  472. package/packages/notification/dist/src/adapters/telegram-adapter.d.ts.map +0 -1
  473. package/packages/notification/dist/src/adapters/telegram-adapter.js +0 -251
  474. package/packages/notification/dist/src/adapters/telegram-adapter.js.map +0 -1
  475. package/packages/notification/dist/src/adapters/webhook-adapter.d.ts +0 -15
  476. package/packages/notification/dist/src/adapters/webhook-adapter.d.ts.map +0 -1
  477. package/packages/notification/dist/src/adapters/webhook-adapter.js +0 -64
  478. package/packages/notification/dist/src/adapters/webhook-adapter.js.map +0 -1
  479. package/packages/notification/dist/src/base-adapter.d.ts +0 -36
  480. package/packages/notification/dist/src/base-adapter.d.ts.map +0 -1
  481. package/packages/notification/dist/src/base-adapter.js +0 -39
  482. package/packages/notification/dist/src/base-adapter.js.map +0 -1
  483. package/packages/notification/dist/src/index.d.ts +0 -12
  484. package/packages/notification/dist/src/index.d.ts.map +0 -1
  485. package/packages/notification/dist/src/index.js +0 -12
  486. package/packages/notification/dist/src/index.js.map +0 -1
  487. package/packages/notification/dist/src/notification-center.d.ts +0 -89
  488. package/packages/notification/dist/src/notification-center.d.ts.map +0 -1
  489. package/packages/notification/dist/src/notification-center.js +0 -356
  490. package/packages/notification/dist/src/notification-center.js.map +0 -1
  491. package/packages/notification/dist/src/notification-policy.d.ts +0 -66
  492. package/packages/notification/dist/src/notification-policy.d.ts.map +0 -1
  493. package/packages/notification/dist/src/notification-policy.js +0 -153
  494. package/packages/notification/dist/src/notification-policy.js.map +0 -1
  495. package/packages/notification/dist/src/telegram-webhook-handler.d.ts +0 -86
  496. package/packages/notification/dist/src/telegram-webhook-handler.d.ts.map +0 -1
  497. package/packages/notification/dist/src/telegram-webhook-handler.js +0 -149
  498. package/packages/notification/dist/src/telegram-webhook-handler.js.map +0 -1
  499. package/packages/notification/dist/src/types.d.ts +0 -106
  500. package/packages/notification/dist/src/types.d.ts.map +0 -1
  501. package/packages/notification/dist/src/types.js +0 -7
  502. package/packages/notification/dist/src/types.js.map +0 -1
  503. package/packages/projection-engine/dist/engine.d.ts +0 -61
  504. package/packages/projection-engine/dist/engine.js +0 -76
  505. package/packages/projection-engine/dist/index.d.ts +0 -2
  506. package/packages/projection-engine/dist/index.js +0 -2
  507. package/packages/projection-engine/dist/project.d.ts +0 -3
  508. package/packages/projection-engine/dist/project.js +0 -24
  509. package/packages/projection-engine/dist/types.d.ts +0 -55
  510. package/packages/projection-engine/dist/types.js +0 -5
  511. package/packages/projection-engine/src/types.d.ts +0 -55
  512. package/packages/provider-adapter-sdk/dist/src/builder.d.ts +0 -140
  513. package/packages/provider-adapter-sdk/dist/src/builder.d.ts.map +0 -1
  514. package/packages/provider-adapter-sdk/dist/src/builder.js +0 -332
  515. package/packages/provider-adapter-sdk/dist/src/builder.js.map +0 -1
  516. package/packages/provider-adapter-sdk/dist/src/errors.d.ts +0 -71
  517. package/packages/provider-adapter-sdk/dist/src/errors.d.ts.map +0 -1
  518. package/packages/provider-adapter-sdk/dist/src/errors.js +0 -111
  519. package/packages/provider-adapter-sdk/dist/src/errors.js.map +0 -1
  520. package/packages/provider-adapter-sdk/dist/src/index.d.ts +0 -15
  521. package/packages/provider-adapter-sdk/dist/src/index.d.ts.map +0 -1
  522. package/packages/provider-adapter-sdk/dist/src/index.js +0 -19
  523. package/packages/provider-adapter-sdk/dist/src/index.js.map +0 -1
  524. package/packages/provider-adapter-sdk/dist/src/registry.d.ts +0 -108
  525. package/packages/provider-adapter-sdk/dist/src/registry.d.ts.map +0 -1
  526. package/packages/provider-adapter-sdk/dist/src/registry.js +0 -301
  527. package/packages/provider-adapter-sdk/dist/src/registry.js.map +0 -1
  528. package/packages/provider-adapter-sdk/dist/src/tester.d.ts +0 -71
  529. package/packages/provider-adapter-sdk/dist/src/tester.d.ts.map +0 -1
  530. package/packages/provider-adapter-sdk/dist/src/tester.js +0 -392
  531. package/packages/provider-adapter-sdk/dist/src/tester.js.map +0 -1
  532. package/packages/provider-adapter-sdk/dist/src/types.d.ts +0 -182
  533. package/packages/provider-adapter-sdk/dist/src/types.d.ts.map +0 -1
  534. package/packages/provider-adapter-sdk/dist/src/types.js +0 -11
  535. package/packages/provider-adapter-sdk/dist/src/types.js.map +0 -1
  536. package/packages/provider-router/dist/capability-registry/src/types.d.ts +0 -47
  537. package/packages/provider-router/dist/capability-registry/src/types.d.ts.map +0 -1
  538. package/packages/provider-router/dist/capability-registry/src/types.js +0 -10
  539. package/packages/provider-router/dist/capability-registry/src/types.js.map +0 -1
  540. package/packages/provider-router/dist/provider-router/src/index.d.ts +0 -23
  541. package/packages/provider-router/dist/provider-router/src/index.d.ts.map +0 -1
  542. package/packages/provider-router/dist/provider-router/src/index.js +0 -25
  543. package/packages/provider-router/dist/provider-router/src/index.js.map +0 -1
  544. package/packages/provider-router/dist/provider-router/src/policy.d.ts +0 -10
  545. package/packages/provider-router/dist/provider-router/src/policy.d.ts.map +0 -1
  546. package/packages/provider-router/dist/provider-router/src/policy.js +0 -45
  547. package/packages/provider-router/dist/provider-router/src/policy.js.map +0 -1
  548. package/packages/provider-router/dist/provider-router/src/provider-router.d.ts +0 -56
  549. package/packages/provider-router/dist/provider-router/src/provider-router.d.ts.map +0 -1
  550. package/packages/provider-router/dist/provider-router/src/provider-router.js +0 -222
  551. package/packages/provider-router/dist/provider-router/src/provider-router.js.map +0 -1
  552. package/packages/provider-router/dist/provider-router/src/strategies.d.ts +0 -19
  553. package/packages/provider-router/dist/provider-router/src/strategies.d.ts.map +0 -1
  554. package/packages/provider-router/dist/provider-router/src/strategies.js +0 -110
  555. package/packages/provider-router/dist/provider-router/src/strategies.js.map +0 -1
  556. package/packages/provider-router/dist/provider-router/src/types.d.ts +0 -91
  557. package/packages/provider-router/dist/provider-router/src/types.d.ts.map +0 -1
  558. package/packages/provider-router/dist/provider-router/src/types.js +0 -10
  559. package/packages/provider-router/dist/provider-router/src/types.js.map +0 -1
  560. package/packages/provider-router/dist/src/index.d.ts +0 -23
  561. package/packages/provider-router/dist/src/index.d.ts.map +0 -1
  562. package/packages/provider-router/dist/src/index.js +0 -25
  563. package/packages/provider-router/dist/src/index.js.map +0 -1
  564. package/packages/provider-router/dist/src/policy.d.ts +0 -10
  565. package/packages/provider-router/dist/src/policy.d.ts.map +0 -1
  566. package/packages/provider-router/dist/src/policy.js +0 -45
  567. package/packages/provider-router/dist/src/policy.js.map +0 -1
  568. package/packages/provider-router/dist/src/provider-router.d.ts +0 -56
  569. package/packages/provider-router/dist/src/provider-router.d.ts.map +0 -1
  570. package/packages/provider-router/dist/src/provider-router.js +0 -222
  571. package/packages/provider-router/dist/src/provider-router.js.map +0 -1
  572. package/packages/provider-router/dist/src/strategies.d.ts +0 -19
  573. package/packages/provider-router/dist/src/strategies.d.ts.map +0 -1
  574. package/packages/provider-router/dist/src/strategies.js +0 -110
  575. package/packages/provider-router/dist/src/strategies.js.map +0 -1
  576. package/packages/provider-router/dist/src/types.d.ts +0 -91
  577. package/packages/provider-router/dist/src/types.d.ts.map +0 -1
  578. package/packages/provider-router/dist/src/types.js +0 -10
  579. package/packages/provider-router/dist/src/types.js.map +0 -1
  580. package/packages/provider-router/dist/types/src/runtime-types.d.ts +0 -412
  581. package/packages/provider-router/dist/types/src/runtime-types.d.ts.map +0 -1
  582. package/packages/provider-router/dist/types/src/runtime-types.js +0 -2
  583. package/packages/provider-router/dist/types/src/runtime-types.js.map +0 -1
  584. package/packages/session-api/dist/api.d.ts +0 -83
  585. package/packages/session-api/dist/api.js +0 -35
  586. package/packages/session-api/dist/index.d.ts +0 -2
  587. package/packages/session-api/dist/index.js +0 -2
  588. package/packages/session-api/dist/types.d.ts +0 -22
  589. package/packages/session-api/dist/types.js +0 -5
  590. package/packages/session-export/dist/exporter.d.ts +0 -28
  591. package/packages/session-export/dist/exporter.js +0 -38
  592. package/packages/session-export/dist/index.d.ts +0 -2
  593. package/packages/session-export/dist/index.js +0 -2
  594. package/packages/session-export/dist/types.d.ts +0 -20
  595. package/packages/session-export/dist/types.js +0 -5
  596. package/packages/subscription-engine/dist/engine.d.ts +0 -13
  597. package/packages/subscription-engine/dist/engine.js +0 -40
  598. package/packages/subscription-engine/dist/index.d.ts +0 -2
  599. package/packages/subscription-engine/dist/index.js +0 -2
  600. package/packages/subscription-engine/dist/subscriptions.d.ts +0 -19
  601. package/packages/subscription-engine/dist/subscriptions.js +0 -32
  602. package/packages/subscription-engine/dist/types.d.ts +0 -24
  603. package/packages/subscription-engine/dist/types.js +0 -5
  604. package/packages/trajectory/test/store.test.d.ts +0 -2
  605. package/packages/workflow-events/dist/events.d.ts +0 -38
  606. package/packages/workflow-events/dist/events.js +0 -46
  607. package/packages/workflow-events/dist/index.d.ts +0 -2
  608. package/packages/workflow-events/dist/index.js +0 -2
  609. package/packages/workflow-events/dist/pipeline.d.ts +0 -21
  610. package/packages/workflow-events/dist/pipeline.js +0 -27
  611. package/packages/workflow-events/dist/types.d.ts +0 -110
  612. package/packages/workflow-events/dist/types.js +0 -5
  613. package/packages/workflow-events/src/types.d.ts +0 -110
@@ -1,99 +0,0 @@
1
- /**
2
- * LINE Adapter β€” RFC-0022
3
- *
4
- * Sends notifications via LINE Messaging API.
5
- */
6
- import { BaseChannelAdapter } from "../base-adapter.js";
7
- export class LineAdapter extends BaseChannelAdapter {
8
- id = "line";
9
- type = "line";
10
- constructor(config) {
11
- super({ id: "line", type: "line", enabled: true, config });
12
- }
13
- async initialize() {
14
- try {
15
- const cfg = this.config.config;
16
- // Verify access token by getting profile
17
- const response = await fetch("https://api.line.me/v2/bot/profile", {
18
- headers: {
19
- Authorization: `Bearer ${cfg.channelAccessToken}`,
20
- },
21
- });
22
- return response.ok;
23
- }
24
- catch {
25
- return false;
26
- }
27
- }
28
- async send(payload) {
29
- try {
30
- const cfg = this.config.config;
31
- const message = this.formatMessage(payload);
32
- const response = await fetch("https://api.line.me/v2/bot/message/push", {
33
- method: "POST",
34
- headers: {
35
- "Content-Type": "application/json",
36
- Authorization: `Bearer ${cfg.channelAccessToken}`,
37
- },
38
- body: JSON.stringify({
39
- to: cfg.userId,
40
- messages: [
41
- {
42
- type: "text",
43
- text: message,
44
- },
45
- ],
46
- }),
47
- });
48
- if (!response.ok) {
49
- const error = await response.text();
50
- return {
51
- success: false,
52
- channel: this.id,
53
- error: `LINE API error: ${error}`,
54
- };
55
- }
56
- return { success: true, channel: this.id };
57
- }
58
- catch (error) {
59
- return {
60
- success: false,
61
- channel: this.id,
62
- error: String(error),
63
- };
64
- }
65
- }
66
- formatMessage(payload) {
67
- const emoji = this.getEmoji(payload.event);
68
- const title = `${emoji} ${payload.title}`;
69
- const lines = [title, "", payload.message];
70
- if (payload.details?.taskTitle) {
71
- lines.push("", `Task: ${payload.details.taskTitle}`);
72
- }
73
- if (payload.details?.jobId) {
74
- lines.push(`Job: ${payload.details.jobId}`);
75
- }
76
- if (payload.details?.error) {
77
- lines.push("", `Error: ${payload.details.error}`);
78
- }
79
- return lines.filter(Boolean).join("\n");
80
- }
81
- getEmoji(event) {
82
- const map = {
83
- JobStarted: "πŸš€",
84
- TaskCompleted: "βœ…",
85
- TaskFailed: "❌",
86
- QuotaPaused: "⏸️",
87
- ResumeScheduled: "▢️",
88
- ContextCompacted: "πŸ“¦",
89
- OutputLimitContinued: "πŸ”„",
90
- E2EFailed: "πŸ§ͺ",
91
- HumanReviewNeeded: "πŸ‘€",
92
- ReadyForClient: "πŸŽ‰",
93
- JobCancelled: "🚫",
94
- Error: "⚠️",
95
- };
96
- return map[event] ?? "πŸ“’";
97
- }
98
- }
99
- //# sourceMappingURL=line-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line-adapter.js","sourceRoot":"","sources":["../../../src/adapters/line-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Ntfy Adapter β€” RFC-0022
3
- *
4
- * Sends notifications via ntfy.sh (or self-hosted ntfy server).
5
- */
6
- import type { NotificationPayload, NotificationResult, NtfyConfig } from "../types.js";
7
- import { BaseChannelAdapter } from "../base-adapter.js";
8
- export declare class NtfyAdapter extends BaseChannelAdapter {
9
- readonly id = "ntfy";
10
- readonly type = "ntfy";
11
- constructor(config: NtfyConfig);
12
- initialize(): Promise<boolean>;
13
- send(payload: NotificationPayload): Promise<NotificationResult>;
14
- private formatMessage;
15
- private getTags;
16
- }
17
- //# sourceMappingURL=ntfy-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ntfy-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/ntfy-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,qBAAa,WAAY,SAAQ,kBAAkB;IAClD,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,IAAI,UAAU;IAEvB,YAAY,MAAM,EAAE,UAAU,EAE7B;IAEK,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAGnC;IAEK,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsCpE;IAED,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,OAAO;CAiBf"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Ntfy Adapter β€” RFC-0022
3
- *
4
- * Sends notifications via ntfy.sh (or self-hosted ntfy server).
5
- */
6
- import { BaseChannelAdapter } from "../base-adapter.js";
7
- export class NtfyAdapter extends BaseChannelAdapter {
8
- id = "ntfy";
9
- type = "ntfy";
10
- constructor(config) {
11
- super({ id: "ntfy", type: "ntfy", enabled: true, config });
12
- }
13
- async initialize() {
14
- // Ntfy doesn't require initialization; it's fire-and-forget
15
- return true;
16
- }
17
- async send(payload) {
18
- try {
19
- const cfg = this.config.config;
20
- const message = this.formatMessage(payload);
21
- const headers = {
22
- "Content-Type": "text/plain",
23
- Title: payload.title,
24
- Tags: this.getTags(payload.event),
25
- };
26
- // Add auth if configured
27
- if (cfg.authToken) {
28
- headers["Authorization"] = `Bearer ${cfg.authToken}`;
29
- }
30
- const response = await fetch(`${cfg.server}/${cfg.topic}`, {
31
- method: "POST",
32
- headers,
33
- body: message,
34
- });
35
- if (!response.ok) {
36
- const error = await response.text();
37
- return {
38
- success: false,
39
- channel: this.id,
40
- error: `Ntfy error: ${error}`,
41
- };
42
- }
43
- return { success: true, channel: this.id };
44
- }
45
- catch (error) {
46
- return {
47
- success: false,
48
- channel: this.id,
49
- error: String(error),
50
- };
51
- }
52
- }
53
- formatMessage(payload) {
54
- const lines = [payload.message];
55
- if (payload.details?.taskTitle) {
56
- lines.push(`\nTask: ${payload.details.taskTitle}`);
57
- }
58
- if (payload.details?.jobId) {
59
- lines.push(`Job: ${payload.details.jobId}`);
60
- }
61
- if (payload.details?.error) {
62
- lines.push(`\nError: ${payload.details.error}`);
63
- }
64
- return lines.join("");
65
- }
66
- getTags(event) {
67
- const map = {
68
- JobStarted: "rocket",
69
- TaskCompleted: "white_check_mark",
70
- TaskFailed: "x",
71
- QuotaPaused: "pause_button",
72
- ResumeScheduled: "play_button",
73
- ContextCompacted: "package",
74
- OutputLimitContinued: "repeat",
75
- E2EFailed: "test_tube",
76
- HumanReviewNeeded: "bust_in_silhouette",
77
- ReadyForClient: "tada",
78
- JobCancelled: "no_entry",
79
- Error: "warning",
80
- };
81
- return map[event] ?? "bell";
82
- }
83
- }
84
- //# sourceMappingURL=ntfy-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ntfy-adapter.js","sourceRoot":"","sources":["../../../src/adapters/ntfy-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Telegram Adapter β€” RFC-0022
3
- *
4
- * Sends notifications via Telegram Bot API.
5
- */
6
- import type { NotificationPayload, NotificationResult, TelegramCallbackHandler, TelegramConfig } from "../types.js";
7
- import { BaseChannelAdapter } from "../base-adapter.js";
8
- export declare class TelegramAdapter extends BaseChannelAdapter {
9
- readonly id = "telegram";
10
- readonly type = "telegram";
11
- private _botUsername;
12
- private _callbackHandler;
13
- private _webhookSecret;
14
- constructor(config: TelegramConfig);
15
- /**
16
- * Register a callback handler for inline keyboard button clicks
17
- */
18
- setCallbackHandler(handler: TelegramCallbackHandler): void;
19
- /**
20
- * Set webhook secret for verification
21
- */
22
- setWebhookSecret(secret: string): void;
23
- get botUsername(): string | undefined;
24
- initialize(): Promise<boolean>;
25
- /**
26
- * Send a message with optional inline keyboard buttons
27
- */
28
- send(payload: NotificationPayload): Promise<NotificationResult>;
29
- /**
30
- * Build inline keyboard markup from button configuration
31
- */
32
- private buildInlineKeyboard;
33
- /**
34
- * Process incoming webhook update from Telegram
35
- */
36
- handleWebhookUpdate(update: Record<string, unknown>): Promise<void>;
37
- /**
38
- * Parse callback query from webhook update
39
- */
40
- private parseCallbackQuery;
41
- /**
42
- * Answer a callback query to remove loading state
43
- */
44
- private answerCallbackQuery;
45
- /**
46
- * Setup webhook for receiving updates
47
- */
48
- setupWebhook(webhookUrl: string): Promise<boolean>;
49
- /**
50
- * Get current webhook info
51
- */
52
- getWebhookInfo(): Promise<Record<string, unknown> | null>;
53
- private formatMessage;
54
- private getEmoji;
55
- }
56
- //# sourceMappingURL=telegram-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telegram-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/telegram-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAEX,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EAEvB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,qBAAa,eAAgB,SAAQ,kBAAkB;IACvD,QAAQ,CAAC,EAAE,cAAc;IACzB,QAAQ,CAAC,IAAI,cAAc;IAC3B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,cAAc,CAAqB;IAE3C,YAAY,MAAM,EAAE,cAAc,EAEjC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAEzD;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEM,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAenC;IAED;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2CpE;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;YACW,mBAAmB;IAgBjC;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BvD;IAED;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAY9D;IAED,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,QAAQ;CAiBhB"}
@@ -1,251 +0,0 @@
1
- /**
2
- * Telegram Adapter β€” RFC-0022
3
- *
4
- * Sends notifications via Telegram Bot API.
5
- */
6
- import { BaseChannelAdapter } from "../base-adapter.js";
7
- export class TelegramAdapter extends BaseChannelAdapter {
8
- id = "telegram";
9
- type = "telegram";
10
- _botUsername;
11
- _callbackHandler;
12
- _webhookSecret;
13
- constructor(config) {
14
- super({ id: "telegram", type: "telegram", enabled: true, config });
15
- }
16
- /**
17
- * Register a callback handler for inline keyboard button clicks
18
- */
19
- setCallbackHandler(handler) {
20
- this._callbackHandler = handler;
21
- }
22
- /**
23
- * Set webhook secret for verification
24
- */
25
- setWebhookSecret(secret) {
26
- this._webhookSecret = secret;
27
- }
28
- get botUsername() {
29
- return this._botUsername;
30
- }
31
- async initialize() {
32
- try {
33
- const cfg = this.config.config;
34
- const response = await fetch(`https://api.telegram.org/bot${cfg.botToken}/getMe`);
35
- if (!response.ok)
36
- return false;
37
- const data = (await response.json());
38
- if (data.ok && data.result?.username) {
39
- this._botUsername = data.result.username;
40
- }
41
- return data.ok;
42
- }
43
- catch {
44
- return false;
45
- }
46
- }
47
- /**
48
- * Send a message with optional inline keyboard buttons
49
- */
50
- async send(payload) {
51
- try {
52
- const cfg = this.config.config;
53
- const message = this.formatMessage(payload);
54
- // Build request body
55
- const body = {
56
- chat_id: cfg.chatId,
57
- text: message,
58
- parse_mode: cfg.parseMode ?? "MarkdownV2",
59
- };
60
- // Add inline keyboard if enabled and buttons are configured
61
- if (cfg.enableInlineKeyboard && (cfg.actionButtons?.length ?? 0) > 0) {
62
- body.reply_markup = this.buildInlineKeyboard(cfg.actionButtons);
63
- }
64
- const response = await fetch(`https://api.telegram.org/bot${cfg.botToken}/sendMessage`, {
65
- method: "POST",
66
- headers: { "Content-Type": "application/json" },
67
- body: JSON.stringify(body),
68
- });
69
- if (!response.ok) {
70
- const error = await response.text();
71
- return {
72
- success: false,
73
- channel: this.id,
74
- error: `Telegram API error: ${error}`,
75
- };
76
- }
77
- return { success: true, channel: this.id };
78
- }
79
- catch (error) {
80
- return {
81
- success: false,
82
- channel: this.id,
83
- error: String(error),
84
- };
85
- }
86
- }
87
- /**
88
- * Build inline keyboard markup from button configuration
89
- */
90
- buildInlineKeyboard(buttons) {
91
- // Group buttons into rows of up to 3 buttons each (Telegram limit)
92
- const ROW_SIZE = 3;
93
- const rows = [];
94
- for (let i = 0; i < buttons.length; i += ROW_SIZE) {
95
- const row = buttons.slice(i, i + ROW_SIZE).map((btn) => ({
96
- text: btn.text,
97
- ...(btn.url ? { url: btn.url } : { callback_data: btn.callbackData }),
98
- }));
99
- rows.push(row);
100
- }
101
- return { inline_keyboard: rows };
102
- }
103
- /**
104
- * Process incoming webhook update from Telegram
105
- */
106
- async handleWebhookUpdate(update) {
107
- // Verify secret token if set
108
- if (this._webhookSecret) {
109
- const secretToken = update.secret_token;
110
- if (secretToken !== this._webhookSecret) {
111
- console.error("[TelegramAdapter] Invalid webhook secret");
112
- return;
113
- }
114
- }
115
- // Handle callback query (button click)
116
- const callbackQuery = update.callback_query;
117
- if (callbackQuery && this._callbackHandler) {
118
- const query = this.parseCallbackQuery(callbackQuery);
119
- if (query) {
120
- await this._callbackHandler(query.data, query);
121
- await this.answerCallbackQuery(query.id);
122
- }
123
- }
124
- // Handle regular messages (future: user can type commands)
125
- const message = update.message;
126
- if (message) {
127
- console.log("[TelegramAdapter] Received message:", message.text);
128
- }
129
- }
130
- /**
131
- * Parse callback query from webhook update
132
- */
133
- parseCallbackQuery(raw) {
134
- try {
135
- const from = raw.from;
136
- const message = raw.message;
137
- const chat = message?.chat;
138
- return {
139
- id: String(raw.id),
140
- from: {
141
- id: Number(from?.id),
142
- is_bot: Boolean(from?.is_bot),
143
- first_name: String(from?.first_name ?? ""),
144
- username: from?.username ? String(from.username) : undefined,
145
- },
146
- chat_instance: String(raw.chat_instance ?? ""),
147
- data: String(raw.data ?? ""),
148
- message: message
149
- ? {
150
- chat: { id: Number(chat?.id) },
151
- message_id: Number(message?.message_id),
152
- }
153
- : undefined,
154
- };
155
- }
156
- catch {
157
- console.error("[TelegramAdapter] Failed to parse callback query");
158
- return null;
159
- }
160
- }
161
- /**
162
- * Answer a callback query to remove loading state
163
- */
164
- async answerCallbackQuery(callbackQueryId) {
165
- try {
166
- const cfg = this.config.config;
167
- await fetch(`https://api.telegram.org/bot${cfg.botToken}/answerCallbackQuery`, {
168
- method: "POST",
169
- headers: { "Content-Type": "application/json" },
170
- body: JSON.stringify({ callback_query_id: callbackQueryId }),
171
- });
172
- }
173
- catch (error) {
174
- console.error("[TelegramAdapter] Failed to answer callback query:", error);
175
- }
176
- }
177
- /**
178
- * Setup webhook for receiving updates
179
- */
180
- async setupWebhook(webhookUrl) {
181
- try {
182
- const cfg = this.config.config;
183
- const response = await fetch(`https://api.telegram.org/bot${cfg.botToken}/setWebhook`, {
184
- method: "POST",
185
- headers: { "Content-Type": "application/json" },
186
- body: JSON.stringify({
187
- url: webhookUrl,
188
- secret_token: this._webhookSecret,
189
- }),
190
- });
191
- if (!response.ok) {
192
- console.error("[TelegramAdapter] Webhook setup failed:", await response.text());
193
- return false;
194
- }
195
- console.log(`[TelegramAdapter] Webhook set to: ${webhookUrl}`);
196
- return true;
197
- }
198
- catch (error) {
199
- console.error("[TelegramAdapter] Webhook setup error:", error);
200
- return false;
201
- }
202
- }
203
- /**
204
- * Get current webhook info
205
- */
206
- async getWebhookInfo() {
207
- try {
208
- const cfg = this.config.config;
209
- const response = await fetch(`https://api.telegram.org/bot${cfg.botToken}/getWebhookInfo`);
210
- if (!response.ok)
211
- return null;
212
- return (await response.json());
213
- }
214
- catch {
215
- return null;
216
- }
217
- }
218
- formatMessage(payload) {
219
- const emoji = this.getEmoji(payload.event);
220
- const title = `${emoji} ${payload.title}`;
221
- const lines = [title, "", payload.message];
222
- if (payload.details?.taskTitle) {
223
- lines.push("", `Task: ${payload.details.taskTitle}`);
224
- }
225
- if (payload.details?.jobId) {
226
- lines.push(`Job: ${payload.details.jobId}`);
227
- }
228
- if (payload.details?.error) {
229
- lines.push("", `Error: ${payload.details.error}`);
230
- }
231
- return lines.filter(Boolean).join("\n");
232
- }
233
- getEmoji(event) {
234
- const map = {
235
- JobStarted: "πŸš€",
236
- TaskCompleted: "βœ…",
237
- TaskFailed: "❌",
238
- QuotaPaused: "⏸️",
239
- ResumeScheduled: "▢️",
240
- ContextCompacted: "πŸ“¦",
241
- OutputLimitContinued: "πŸ”„",
242
- E2EFailed: "πŸ§ͺ",
243
- HumanReviewNeeded: "πŸ‘€",
244
- ReadyForClient: "πŸŽ‰",
245
- JobCancelled: "🚫",
246
- Error: "⚠️",
247
- };
248
- return map[event] ?? "πŸ“’";
249
- }
250
- }
251
- //# sourceMappingURL=telegram-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telegram-adapter.js","sourceRoot":"","sources":["../../../src/adapters/telegram-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Webhook Adapter β€” RFC-0022
3
- *
4
- * Sends notifications to a generic webhook endpoint.
5
- */
6
- import type { NotificationPayload, NotificationResult, WebhookConfig } from "../types.js";
7
- import { BaseChannelAdapter } from "../base-adapter.js";
8
- export declare class WebhookAdapter extends BaseChannelAdapter {
9
- readonly id = "webhook";
10
- readonly type = "webhook";
11
- constructor(config: WebhookConfig);
12
- initialize(): Promise<boolean>;
13
- send(payload: NotificationPayload): Promise<NotificationResult>;
14
- }
15
- //# sourceMappingURL=webhook-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook-adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/webhook-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,qBAAa,cAAe,SAAQ,kBAAkB;IACrD,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,IAAI,aAAa;IAE1B,YAAY,MAAM,EAAE,aAAa,EAEhC;IAEK,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAOnC;IAEK,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2CpE;CACD"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Webhook Adapter β€” RFC-0022
3
- *
4
- * Sends notifications to a generic webhook endpoint.
5
- */
6
- import { BaseChannelAdapter } from "../base-adapter.js";
7
- export class WebhookAdapter extends BaseChannelAdapter {
8
- id = "webhook";
9
- type = "webhook";
10
- constructor(config) {
11
- super({ id: "webhook", type: "webhook", enabled: true, config });
12
- }
13
- async initialize() {
14
- try {
15
- const cfg = this.config.config;
16
- return Boolean(cfg.url && cfg.url.startsWith("http"));
17
- }
18
- catch {
19
- return false;
20
- }
21
- }
22
- async send(payload) {
23
- try {
24
- const cfg = this.config.config;
25
- const headers = {
26
- "Content-Type": "application/json",
27
- ...(cfg.headers ?? {}),
28
- };
29
- // Add auth token if configured
30
- if (cfg.authToken) {
31
- headers["Authorization"] = `Bearer ${cfg.authToken}`;
32
- }
33
- const response = await fetch(cfg.url, {
34
- method: cfg.method ?? "POST",
35
- headers,
36
- body: JSON.stringify({
37
- event: payload.event,
38
- jobId: payload.jobId,
39
- timestamp: payload.timestamp,
40
- title: payload.title,
41
- message: payload.message,
42
- details: payload.details,
43
- }),
44
- });
45
- if (!response.ok) {
46
- const error = await response.text();
47
- return {
48
- success: false,
49
- channel: this.id,
50
- error: `Webhook error ${response.status}: ${error}`,
51
- };
52
- }
53
- return { success: true, channel: this.id };
54
- }
55
- catch (error) {
56
- return {
57
- success: false,
58
- channel: this.id,
59
- error: String(error),
60
- };
61
- }
62
- }
63
- }
64
- //# sourceMappingURL=webhook-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook-adapter.js","sourceRoot":"","sources":["../../../src/adapters/webhook-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAC5C,EAAE,GAAG,SAAS,CAAC;IACf,IAAI,GAAG,SAAS,CAAC;IAE1B,YAAY,MAAqB;QAChC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAuB,CAAC;YAChD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACtC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAuB,CAAC;YAChD,MAAM,OAAO,GAA2B;gBACvC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACtB,CAAC;YAEF,+BAA+B;YAC/B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,GAAG,CAAC,SAAS,EAAE,CAAC;YACtD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBACrC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,MAAM;gBAC5B,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACxB,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,KAAK,EAAE,iBAAiB,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE;iBACnD,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACpB,CAAC;QACH,CAAC;IACF,CAAC;CACD"}