@stackmemoryai/stackmemory 0.5.59 → 0.5.61

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 (632) hide show
  1. package/README.md +105 -1
  2. package/dist/src/cli/claude-sm.js +130 -50
  3. package/dist/src/cli/claude-sm.js.map +2 -2
  4. package/dist/src/cli/index.js +18 -3
  5. package/dist/src/cli/index.js.map +3 -3
  6. package/dist/src/core/extensions/custom-tools.js +567 -0
  7. package/dist/src/core/extensions/custom-tools.js.map +7 -0
  8. package/dist/src/core/extensions/index.js +55 -0
  9. package/dist/src/core/extensions/index.js.map +7 -0
  10. package/dist/src/core/extensions/loader.js +709 -0
  11. package/dist/src/core/extensions/loader.js.map +7 -0
  12. package/dist/src/core/extensions/plugin-system.js +506 -0
  13. package/dist/src/core/extensions/plugin-system.js.map +7 -0
  14. package/dist/src/core/extensions/provider-adapter.js +617 -0
  15. package/dist/src/core/extensions/provider-adapter.js.map +7 -0
  16. package/dist/src/core/extensions/sandbox-runtime.js +664 -0
  17. package/dist/src/core/extensions/sandbox-runtime.js.map +7 -0
  18. package/dist/src/core/storage/chromadb-adapter.js +32 -6
  19. package/dist/src/core/storage/chromadb-adapter.js.map +2 -2
  20. package/dist/src/skills/repo-ingestion-skill.js +35 -12
  21. package/dist/src/skills/repo-ingestion-skill.js.map +2 -2
  22. package/package.json +11 -7
  23. package/scripts/background-sync-manager.js +145 -83
  24. package/scripts/claude-sm-autostart.js +17 -12
  25. package/scripts/gepa/README.md +275 -0
  26. package/scripts/gepa/config.json +53 -0
  27. package/scripts/gepa/evals/coding-tasks.jsonl +5 -0
  28. package/scripts/gepa/evals/fixtures/buggy-loop.js +18 -0
  29. package/scripts/gepa/evals/fixtures/callback-hell.js +53 -0
  30. package/scripts/gepa/generations/gen-000/baseline.md +124 -0
  31. package/scripts/gepa/hooks/auto-optimize.js +494 -0
  32. package/scripts/gepa/hooks/eval-tracker.js +203 -0
  33. package/scripts/gepa/hooks/reflect.js +311 -0
  34. package/scripts/gepa/optimize.js +611 -0
  35. package/scripts/gepa/state.json +14 -0
  36. package/scripts/test-pre-publish-quick.sh +1 -1
  37. package/dist/agents/core/agent-task-manager.js +0 -527
  38. package/dist/agents/core/agent-task-manager.js.map +0 -7
  39. package/dist/agents/testing-agent.js +0 -614
  40. package/dist/agents/testing-agent.js.map +0 -7
  41. package/dist/agents/verifiers/base-verifier.js +0 -133
  42. package/dist/agents/verifiers/base-verifier.js.map +0 -7
  43. package/dist/agents/verifiers/formatter-verifier.js +0 -130
  44. package/dist/agents/verifiers/formatter-verifier.js.map +0 -7
  45. package/dist/agents/verifiers/llm-judge.js +0 -252
  46. package/dist/agents/verifiers/llm-judge.js.map +0 -7
  47. package/dist/cli/auto-detect.js +0 -321
  48. package/dist/cli/auto-detect.js.map +0 -7
  49. package/dist/cli/browser-test.js +0 -33
  50. package/dist/cli/browser-test.js.map +0 -7
  51. package/dist/cli/claude-sm-danger.js +0 -21
  52. package/dist/cli/claude-sm-danger.js.map +0 -7
  53. package/dist/cli/claude-sm.js +0 -1156
  54. package/dist/cli/claude-sm.js.map +0 -7
  55. package/dist/cli/codex-sm-danger.js +0 -21
  56. package/dist/cli/codex-sm-danger.js.map +0 -7
  57. package/dist/cli/codex-sm.js +0 -349
  58. package/dist/cli/codex-sm.js.map +0 -7
  59. package/dist/cli/commands/api.js +0 -232
  60. package/dist/cli/commands/api.js.map +0 -7
  61. package/dist/cli/commands/auto-background.js +0 -180
  62. package/dist/cli/commands/auto-background.js.map +0 -7
  63. package/dist/cli/commands/cleanup-processes.js +0 -68
  64. package/dist/cli/commands/cleanup-processes.js.map +0 -7
  65. package/dist/cli/commands/clear.js +0 -202
  66. package/dist/cli/commands/clear.js.map +0 -7
  67. package/dist/cli/commands/config.js +0 -445
  68. package/dist/cli/commands/config.js.map +0 -7
  69. package/dist/cli/commands/context-rehydrate.js +0 -751
  70. package/dist/cli/commands/context-rehydrate.js.map +0 -7
  71. package/dist/cli/commands/context.js +0 -343
  72. package/dist/cli/commands/context.js.map +0 -7
  73. package/dist/cli/commands/daemon.js +0 -392
  74. package/dist/cli/commands/daemon.js.map +0 -7
  75. package/dist/cli/commands/dashboard.js +0 -210
  76. package/dist/cli/commands/dashboard.js.map +0 -7
  77. package/dist/cli/commands/db.js +0 -147
  78. package/dist/cli/commands/db.js.map +0 -7
  79. package/dist/cli/commands/decision.js +0 -266
  80. package/dist/cli/commands/decision.js.map +0 -7
  81. package/dist/cli/commands/discovery.js +0 -279
  82. package/dist/cli/commands/discovery.js.map +0 -7
  83. package/dist/cli/commands/handoff.js +0 -624
  84. package/dist/cli/commands/handoff.js.map +0 -7
  85. package/dist/cli/commands/hooks.js +0 -298
  86. package/dist/cli/commands/hooks.js.map +0 -7
  87. package/dist/cli/commands/linear-unified.js +0 -353
  88. package/dist/cli/commands/linear-unified.js.map +0 -7
  89. package/dist/cli/commands/linear.js +0 -529
  90. package/dist/cli/commands/linear.js.map +0 -7
  91. package/dist/cli/commands/log.js +0 -169
  92. package/dist/cli/commands/log.js.map +0 -7
  93. package/dist/cli/commands/login.js +0 -172
  94. package/dist/cli/commands/login.js.map +0 -7
  95. package/dist/cli/commands/migrate.js +0 -240
  96. package/dist/cli/commands/migrate.js.map +0 -7
  97. package/dist/cli/commands/model.js +0 -533
  98. package/dist/cli/commands/model.js.map +0 -7
  99. package/dist/cli/commands/monitor.js +0 -313
  100. package/dist/cli/commands/monitor.js.map +0 -7
  101. package/dist/cli/commands/onboard.js +0 -536
  102. package/dist/cli/commands/onboard.js.map +0 -7
  103. package/dist/cli/commands/projects.js +0 -199
  104. package/dist/cli/commands/projects.js.map +0 -7
  105. package/dist/cli/commands/quality.js +0 -413
  106. package/dist/cli/commands/quality.js.map +0 -7
  107. package/dist/cli/commands/ralph.js +0 -909
  108. package/dist/cli/commands/ralph.js.map +0 -7
  109. package/dist/cli/commands/retrieval.js +0 -248
  110. package/dist/cli/commands/retrieval.js.map +0 -7
  111. package/dist/cli/commands/search.js +0 -173
  112. package/dist/cli/commands/search.js.map +0 -7
  113. package/dist/cli/commands/service.js +0 -749
  114. package/dist/cli/commands/service.js.map +0 -7
  115. package/dist/cli/commands/session.js +0 -200
  116. package/dist/cli/commands/session.js.map +0 -7
  117. package/dist/cli/commands/settings.js +0 -306
  118. package/dist/cli/commands/settings.js.map +0 -7
  119. package/dist/cli/commands/setup.js +0 -701
  120. package/dist/cli/commands/setup.js.map +0 -7
  121. package/dist/cli/commands/shell.js +0 -249
  122. package/dist/cli/commands/shell.js.map +0 -7
  123. package/dist/cli/commands/signup.js +0 -50
  124. package/dist/cli/commands/signup.js.map +0 -7
  125. package/dist/cli/commands/skills.js +0 -470
  126. package/dist/cli/commands/skills.js.map +0 -7
  127. package/dist/cli/commands/sms-notify.js +0 -795
  128. package/dist/cli/commands/sms-notify.js.map +0 -7
  129. package/dist/cli/commands/storage-tier.js +0 -183
  130. package/dist/cli/commands/storage-tier.js.map +0 -7
  131. package/dist/cli/commands/storage.js +0 -360
  132. package/dist/cli/commands/storage.js.map +0 -7
  133. package/dist/cli/commands/sweep.js +0 -249
  134. package/dist/cli/commands/sweep.js.map +0 -7
  135. package/dist/cli/commands/tasks.js +0 -213
  136. package/dist/cli/commands/tasks.js.map +0 -7
  137. package/dist/cli/commands/test.js +0 -286
  138. package/dist/cli/commands/test.js.map +0 -7
  139. package/dist/cli/commands/workflow.js +0 -142
  140. package/dist/cli/commands/workflow.js.map +0 -7
  141. package/dist/cli/commands/worktree.js +0 -319
  142. package/dist/cli/commands/worktree.js.map +0 -7
  143. package/dist/cli/index.js +0 -594
  144. package/dist/cli/index.js.map +0 -7
  145. package/dist/cli/opencode-sm.js +0 -448
  146. package/dist/cli/opencode-sm.js.map +0 -7
  147. package/dist/cli/utils/viewer.js +0 -96
  148. package/dist/cli/utils/viewer.js.map +0 -7
  149. package/dist/core/analytics/team-analytics.js +0 -378
  150. package/dist/core/analytics/team-analytics.js.map +0 -7
  151. package/dist/core/config/config-manager.js +0 -398
  152. package/dist/core/config/config-manager.js.map +0 -7
  153. package/dist/core/config/feature-flags.js +0 -76
  154. package/dist/core/config/feature-flags.js.map +0 -7
  155. package/dist/core/config/storage-config.js +0 -115
  156. package/dist/core/config/storage-config.js.map +0 -7
  157. package/dist/core/config/types.js +0 -144
  158. package/dist/core/config/types.js.map +0 -7
  159. package/dist/core/context/auto-context.js +0 -80
  160. package/dist/core/context/auto-context.js.map +0 -7
  161. package/dist/core/context/dual-stack-manager.js +0 -870
  162. package/dist/core/context/dual-stack-manager.js.map +0 -7
  163. package/dist/core/context/enhanced-rehydration.js +0 -994
  164. package/dist/core/context/enhanced-rehydration.js.map +0 -7
  165. package/dist/core/context/frame-database.js +0 -479
  166. package/dist/core/context/frame-database.js.map +0 -7
  167. package/dist/core/context/frame-digest.js +0 -250
  168. package/dist/core/context/frame-digest.js.map +0 -7
  169. package/dist/core/context/frame-handoff-manager.js +0 -778
  170. package/dist/core/context/frame-handoff-manager.js.map +0 -7
  171. package/dist/core/context/frame-lifecycle-hooks.js +0 -119
  172. package/dist/core/context/frame-lifecycle-hooks.js.map +0 -7
  173. package/dist/core/context/frame-manager.js +0 -1069
  174. package/dist/core/context/frame-manager.js.map +0 -7
  175. package/dist/core/context/frame-recovery.js +0 -302
  176. package/dist/core/context/frame-recovery.js.map +0 -7
  177. package/dist/core/context/frame-stack.js +0 -314
  178. package/dist/core/context/frame-stack.js.map +0 -7
  179. package/dist/core/context/frame-types.js +0 -5
  180. package/dist/core/context/frame-types.js.map +0 -7
  181. package/dist/core/context/incremental-gc.js +0 -290
  182. package/dist/core/context/incremental-gc.js.map +0 -7
  183. package/dist/core/context/index.js +0 -25
  184. package/dist/core/context/index.js.map +0 -7
  185. package/dist/core/context/model-aware-compaction.js +0 -623
  186. package/dist/core/context/model-aware-compaction.js.map +0 -7
  187. package/dist/core/context/permission-manager.js +0 -185
  188. package/dist/core/context/permission-manager.js.map +0 -7
  189. package/dist/core/context/recursive-context-manager.js +0 -592
  190. package/dist/core/context/recursive-context-manager.js.map +0 -7
  191. package/dist/core/context/refactored-frame-manager.js +0 -754
  192. package/dist/core/context/refactored-frame-manager.js.map +0 -7
  193. package/dist/core/context/shared-context-layer.js +0 -621
  194. package/dist/core/context/shared-context-layer.js.map +0 -7
  195. package/dist/core/context/stack-merge-resolver.js +0 -749
  196. package/dist/core/context/stack-merge-resolver.js.map +0 -7
  197. package/dist/core/context/validation.js +0 -130
  198. package/dist/core/context/validation.js.map +0 -7
  199. package/dist/core/database/batch-operations.js +0 -384
  200. package/dist/core/database/batch-operations.js.map +0 -7
  201. package/dist/core/database/connection-pool.js +0 -330
  202. package/dist/core/database/connection-pool.js.map +0 -7
  203. package/dist/core/database/database-adapter.js +0 -60
  204. package/dist/core/database/database-adapter.js.map +0 -7
  205. package/dist/core/database/migration-manager.js +0 -614
  206. package/dist/core/database/migration-manager.js.map +0 -7
  207. package/dist/core/database/paradedb-adapter.js +0 -990
  208. package/dist/core/database/paradedb-adapter.js.map +0 -7
  209. package/dist/core/database/query-cache.js +0 -298
  210. package/dist/core/database/query-cache.js.map +0 -7
  211. package/dist/core/database/query-router.js +0 -430
  212. package/dist/core/database/query-router.js.map +0 -7
  213. package/dist/core/database/sqlite-adapter.js +0 -738
  214. package/dist/core/database/sqlite-adapter.js.map +0 -7
  215. package/dist/core/digest/enhanced-hybrid-digest.js +0 -277
  216. package/dist/core/digest/enhanced-hybrid-digest.js.map +0 -7
  217. package/dist/core/digest/frame-digest-integration.js +0 -176
  218. package/dist/core/digest/frame-digest-integration.js.map +0 -7
  219. package/dist/core/digest/hybrid-digest-generator.js +0 -553
  220. package/dist/core/digest/hybrid-digest-generator.js.map +0 -7
  221. package/dist/core/digest/index.js +0 -9
  222. package/dist/core/digest/index.js.map +0 -7
  223. package/dist/core/digest/types.js +0 -25
  224. package/dist/core/digest/types.js.map +0 -7
  225. package/dist/core/errors/error-utils.js +0 -208
  226. package/dist/core/errors/error-utils.js.map +0 -7
  227. package/dist/core/errors/index.js +0 -521
  228. package/dist/core/errors/index.js.map +0 -7
  229. package/dist/core/errors/recovery.js +0 -269
  230. package/dist/core/errors/recovery.js.map +0 -7
  231. package/dist/core/execution/parallel-executor.js +0 -258
  232. package/dist/core/execution/parallel-executor.js.map +0 -7
  233. package/dist/core/frame/workflow-templates.js +0 -319
  234. package/dist/core/frame/workflow-templates.js.map +0 -7
  235. package/dist/core/merge/conflict-detector.js +0 -431
  236. package/dist/core/merge/conflict-detector.js.map +0 -7
  237. package/dist/core/merge/index.js +0 -9
  238. package/dist/core/merge/index.js.map +0 -7
  239. package/dist/core/merge/resolution-engine.js +0 -558
  240. package/dist/core/merge/resolution-engine.js.map +0 -7
  241. package/dist/core/merge/stack-diff.js +0 -532
  242. package/dist/core/merge/stack-diff.js.map +0 -7
  243. package/dist/core/merge/unified-merge-resolver.js +0 -303
  244. package/dist/core/merge/unified-merge-resolver.js.map +0 -7
  245. package/dist/core/models/fallback-monitor.js +0 -232
  246. package/dist/core/models/fallback-monitor.js.map +0 -7
  247. package/dist/core/models/model-router.js +0 -340
  248. package/dist/core/models/model-router.js.map +0 -7
  249. package/dist/core/monitoring/error-handler.js +0 -49
  250. package/dist/core/monitoring/error-handler.js.map +0 -7
  251. package/dist/core/monitoring/logger.js +0 -202
  252. package/dist/core/monitoring/logger.js.map +0 -7
  253. package/dist/core/monitoring/metrics.js +0 -172
  254. package/dist/core/monitoring/metrics.js.map +0 -7
  255. package/dist/core/monitoring/progress-tracker.js +0 -189
  256. package/dist/core/monitoring/progress-tracker.js.map +0 -7
  257. package/dist/core/monitoring/session-monitor.js +0 -300
  258. package/dist/core/monitoring/session-monitor.js.map +0 -7
  259. package/dist/core/performance/context-cache.js +0 -273
  260. package/dist/core/performance/context-cache.js.map +0 -7
  261. package/dist/core/performance/index.js +0 -11
  262. package/dist/core/performance/index.js.map +0 -7
  263. package/dist/core/performance/lazy-context-loader.js +0 -327
  264. package/dist/core/performance/lazy-context-loader.js.map +0 -7
  265. package/dist/core/performance/monitor.js +0 -221
  266. package/dist/core/performance/monitor.js.map +0 -7
  267. package/dist/core/performance/optimized-frame-context.js +0 -345
  268. package/dist/core/performance/optimized-frame-context.js.map +0 -7
  269. package/dist/core/performance/performance-benchmark.js +0 -277
  270. package/dist/core/performance/performance-benchmark.js.map +0 -7
  271. package/dist/core/performance/performance-profiler.js +0 -370
  272. package/dist/core/performance/performance-profiler.js.map +0 -7
  273. package/dist/core/performance/streaming-jsonl-parser.js +0 -195
  274. package/dist/core/performance/streaming-jsonl-parser.js.map +0 -7
  275. package/dist/core/persistence/postgres-adapter.js +0 -349
  276. package/dist/core/persistence/postgres-adapter.js.map +0 -7
  277. package/dist/core/projects/project-isolation.js +0 -201
  278. package/dist/core/projects/project-isolation.js.map +0 -7
  279. package/dist/core/projects/project-manager.js +0 -697
  280. package/dist/core/projects/project-manager.js.map +0 -7
  281. package/dist/core/query/query-parser.js +0 -370
  282. package/dist/core/query/query-parser.js.map +0 -7
  283. package/dist/core/query/query-templates.js +0 -321
  284. package/dist/core/query/query-templates.js.map +0 -7
  285. package/dist/core/retrieval/context-retriever.js +0 -479
  286. package/dist/core/retrieval/context-retriever.js.map +0 -7
  287. package/dist/core/retrieval/graph-retrieval.js +0 -662
  288. package/dist/core/retrieval/graph-retrieval.js.map +0 -7
  289. package/dist/core/retrieval/hierarchical-retrieval.js +0 -656
  290. package/dist/core/retrieval/hierarchical-retrieval.js.map +0 -7
  291. package/dist/core/retrieval/index.js +0 -8
  292. package/dist/core/retrieval/index.js.map +0 -7
  293. package/dist/core/retrieval/llm-context-retrieval.js +0 -613
  294. package/dist/core/retrieval/llm-context-retrieval.js.map +0 -7
  295. package/dist/core/retrieval/llm-provider.js +0 -151
  296. package/dist/core/retrieval/llm-provider.js.map +0 -7
  297. package/dist/core/retrieval/retrieval-audit.js +0 -236
  298. package/dist/core/retrieval/retrieval-audit.js.map +0 -7
  299. package/dist/core/retrieval/retrieval-benchmarks.js +0 -521
  300. package/dist/core/retrieval/retrieval-benchmarks.js.map +0 -7
  301. package/dist/core/retrieval/summary-generator.js +0 -589
  302. package/dist/core/retrieval/summary-generator.js.map +0 -7
  303. package/dist/core/retrieval/types.js +0 -21
  304. package/dist/core/retrieval/types.js.map +0 -7
  305. package/dist/core/security/index.js +0 -35
  306. package/dist/core/security/index.js.map +0 -7
  307. package/dist/core/security/input-sanitizer.js +0 -321
  308. package/dist/core/security/input-sanitizer.js.map +0 -7
  309. package/dist/core/session/clear-survival.js +0 -465
  310. package/dist/core/session/clear-survival.js.map +0 -7
  311. package/dist/core/session/enhanced-handoff.js +0 -792
  312. package/dist/core/session/enhanced-handoff.js.map +0 -7
  313. package/dist/core/session/handoff-generator.js +0 -343
  314. package/dist/core/session/handoff-generator.js.map +0 -7
  315. package/dist/core/session/index.js +0 -15
  316. package/dist/core/session/index.js.map +0 -7
  317. package/dist/core/session/session-manager.js +0 -347
  318. package/dist/core/session/session-manager.js.map +0 -7
  319. package/dist/core/skills/index.js +0 -7
  320. package/dist/core/skills/index.js.map +0 -7
  321. package/dist/core/skills/skill-storage.js +0 -764
  322. package/dist/core/skills/skill-storage.js.map +0 -7
  323. package/dist/core/skills/types.js +0 -193
  324. package/dist/core/skills/types.js.map +0 -7
  325. package/dist/core/storage/chromadb-adapter.js +0 -354
  326. package/dist/core/storage/chromadb-adapter.js.map +0 -7
  327. package/dist/core/storage/infinite-storage.js +0 -510
  328. package/dist/core/storage/infinite-storage.js.map +0 -7
  329. package/dist/core/storage/railway-optimized-storage.js +0 -591
  330. package/dist/core/storage/railway-optimized-storage.js.map +0 -7
  331. package/dist/core/storage/remote-storage.js +0 -489
  332. package/dist/core/storage/remote-storage.js.map +0 -7
  333. package/dist/core/storage/two-tier-storage.js +0 -766
  334. package/dist/core/storage/two-tier-storage.js.map +0 -7
  335. package/dist/core/trace/cli-trace-wrapper.js +0 -132
  336. package/dist/core/trace/cli-trace-wrapper.js.map +0 -7
  337. package/dist/core/trace/db-trace-wrapper.js +0 -247
  338. package/dist/core/trace/db-trace-wrapper.js.map +0 -7
  339. package/dist/core/trace/debug-trace.js +0 -417
  340. package/dist/core/trace/debug-trace.js.map +0 -7
  341. package/dist/core/trace/index.js +0 -109
  342. package/dist/core/trace/index.js.map +0 -7
  343. package/dist/core/trace/linear-api-wrapper.js +0 -178
  344. package/dist/core/trace/linear-api-wrapper.js.map +0 -7
  345. package/dist/core/trace/trace-demo.js +0 -154
  346. package/dist/core/trace/trace-demo.js.map +0 -7
  347. package/dist/core/trace/trace-detector.demo.js +0 -142
  348. package/dist/core/trace/trace-detector.demo.js.map +0 -7
  349. package/dist/core/trace/trace-detector.js +0 -528
  350. package/dist/core/trace/trace-detector.js.map +0 -7
  351. package/dist/core/trace/trace-store.js +0 -345
  352. package/dist/core/trace/trace-store.js.map +0 -7
  353. package/dist/core/trace/types.js +0 -77
  354. package/dist/core/trace/types.js.map +0 -7
  355. package/dist/core/types.js +0 -5
  356. package/dist/core/types.js.map +0 -7
  357. package/dist/core/utils/async-mutex.js +0 -114
  358. package/dist/core/utils/async-mutex.js.map +0 -7
  359. package/dist/core/utils/compression.js +0 -83
  360. package/dist/core/utils/compression.js.map +0 -7
  361. package/dist/core/utils/update-checker.js +0 -218
  362. package/dist/core/utils/update-checker.js.map +0 -7
  363. package/dist/core/worktree/worktree-manager.js +0 -465
  364. package/dist/core/worktree/worktree-manager.js.map +0 -7
  365. package/dist/daemon/daemon-config.js +0 -149
  366. package/dist/daemon/daemon-config.js.map +0 -7
  367. package/dist/daemon/services/context-service.js +0 -122
  368. package/dist/daemon/services/context-service.js.map +0 -7
  369. package/dist/daemon/services/linear-service.js +0 -136
  370. package/dist/daemon/services/linear-service.js.map +0 -7
  371. package/dist/daemon/session-daemon.js +0 -312
  372. package/dist/daemon/session-daemon.js.map +0 -7
  373. package/dist/daemon/unified-daemon.js +0 -276
  374. package/dist/daemon/unified-daemon.js.map +0 -7
  375. package/dist/features/analytics/api/analytics-api.js +0 -287
  376. package/dist/features/analytics/api/analytics-api.js.map +0 -7
  377. package/dist/features/analytics/core/analytics-service.js +0 -282
  378. package/dist/features/analytics/core/analytics-service.js.map +0 -7
  379. package/dist/features/analytics/index.js +0 -18
  380. package/dist/features/analytics/index.js.map +0 -7
  381. package/dist/features/analytics/queries/metrics-queries.js +0 -277
  382. package/dist/features/analytics/queries/metrics-queries.js.map +0 -7
  383. package/dist/features/analytics/types/metrics.js +0 -5
  384. package/dist/features/analytics/types/metrics.js.map +0 -7
  385. package/dist/features/browser/browser-mcp.js +0 -492
  386. package/dist/features/browser/browser-mcp.js.map +0 -7
  387. package/dist/features/sweep/index.js +0 -20
  388. package/dist/features/sweep/index.js.map +0 -7
  389. package/dist/features/sweep/prediction-client.js +0 -155
  390. package/dist/features/sweep/prediction-client.js.map +0 -7
  391. package/dist/features/sweep/prompt-builder.js +0 -85
  392. package/dist/features/sweep/prompt-builder.js.map +0 -7
  393. package/dist/features/sweep/pty-wrapper.js +0 -171
  394. package/dist/features/sweep/pty-wrapper.js.map +0 -7
  395. package/dist/features/sweep/state-watcher.js +0 -87
  396. package/dist/features/sweep/state-watcher.js.map +0 -7
  397. package/dist/features/sweep/status-bar.js +0 -88
  398. package/dist/features/sweep/status-bar.js.map +0 -7
  399. package/dist/features/sweep/sweep-server-manager.js +0 -226
  400. package/dist/features/sweep/sweep-server-manager.js.map +0 -7
  401. package/dist/features/sweep/tab-interceptor.js +0 -38
  402. package/dist/features/sweep/tab-interceptor.js.map +0 -7
  403. package/dist/features/sweep/types.js +0 -18
  404. package/dist/features/sweep/types.js.map +0 -7
  405. package/dist/features/tasks/linear-task-manager.js +0 -487
  406. package/dist/features/tasks/linear-task-manager.js.map +0 -7
  407. package/dist/features/tasks/task-aware-context.js +0 -410
  408. package/dist/features/tasks/task-aware-context.js.map +0 -7
  409. package/dist/features/tui/simple-monitor.js +0 -116
  410. package/dist/features/tui/simple-monitor.js.map +0 -7
  411. package/dist/features/tui/swarm-monitor.js +0 -648
  412. package/dist/features/tui/swarm-monitor.js.map +0 -7
  413. package/dist/features/web/client/stores/task-store.js +0 -26
  414. package/dist/features/web/client/stores/task-store.js.map +0 -7
  415. package/dist/features/web/server/index.js +0 -194
  416. package/dist/features/web/server/index.js.map +0 -7
  417. package/dist/hooks/auto-background.js +0 -151
  418. package/dist/hooks/auto-background.js.map +0 -7
  419. package/dist/hooks/claude-code-whatsapp-hook.js +0 -197
  420. package/dist/hooks/claude-code-whatsapp-hook.js.map +0 -7
  421. package/dist/hooks/config.js +0 -150
  422. package/dist/hooks/config.js.map +0 -7
  423. package/dist/hooks/daemon.js +0 -364
  424. package/dist/hooks/daemon.js.map +0 -7
  425. package/dist/hooks/events.js +0 -58
  426. package/dist/hooks/events.js.map +0 -7
  427. package/dist/hooks/index.js +0 -12
  428. package/dist/hooks/index.js.map +0 -7
  429. package/dist/hooks/linear-task-picker.js +0 -186
  430. package/dist/hooks/linear-task-picker.js.map +0 -7
  431. package/dist/hooks/schemas.js +0 -197
  432. package/dist/hooks/schemas.js.map +0 -7
  433. package/dist/hooks/secure-fs.js +0 -49
  434. package/dist/hooks/secure-fs.js.map +0 -7
  435. package/dist/hooks/security-logger.js +0 -155
  436. package/dist/hooks/security-logger.js.map +0 -7
  437. package/dist/hooks/session-summary.js +0 -222
  438. package/dist/hooks/session-summary.js.map +0 -7
  439. package/dist/hooks/sms-action-runner.js +0 -371
  440. package/dist/hooks/sms-action-runner.js.map +0 -7
  441. package/dist/hooks/sms-notify.js +0 -506
  442. package/dist/hooks/sms-notify.js.map +0 -7
  443. package/dist/hooks/sms-watcher.js +0 -93
  444. package/dist/hooks/sms-watcher.js.map +0 -7
  445. package/dist/hooks/sms-webhook.js +0 -555
  446. package/dist/hooks/sms-webhook.js.map +0 -7
  447. package/dist/hooks/whatsapp-commands.js +0 -479
  448. package/dist/hooks/whatsapp-commands.js.map +0 -7
  449. package/dist/hooks/whatsapp-scheduler.js +0 -317
  450. package/dist/hooks/whatsapp-scheduler.js.map +0 -7
  451. package/dist/hooks/whatsapp-sync.js +0 -409
  452. package/dist/hooks/whatsapp-sync.js.map +0 -7
  453. package/dist/index.js +0 -25
  454. package/dist/index.js.map +0 -7
  455. package/dist/integrations/anthropic/client.js +0 -263
  456. package/dist/integrations/anthropic/client.js.map +0 -7
  457. package/dist/integrations/claude-code/agent-bridge.js +0 -768
  458. package/dist/integrations/claude-code/agent-bridge.js.map +0 -7
  459. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -459
  460. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
  461. package/dist/integrations/claude-code/lifecycle-hooks.js +0 -254
  462. package/dist/integrations/claude-code/lifecycle-hooks.js.map +0 -7
  463. package/dist/integrations/claude-code/post-task-hooks.js +0 -545
  464. package/dist/integrations/claude-code/post-task-hooks.js.map +0 -7
  465. package/dist/integrations/claude-code/subagent-client-stub.js +0 -20
  466. package/dist/integrations/claude-code/subagent-client-stub.js.map +0 -7
  467. package/dist/integrations/claude-code/subagent-client.js +0 -511
  468. package/dist/integrations/claude-code/subagent-client.js.map +0 -7
  469. package/dist/integrations/claude-code/task-coordinator.js +0 -360
  470. package/dist/integrations/claude-code/task-coordinator.js.map +0 -7
  471. package/dist/integrations/linear/auth.js +0 -337
  472. package/dist/integrations/linear/auth.js.map +0 -7
  473. package/dist/integrations/linear/auto-sync.js +0 -258
  474. package/dist/integrations/linear/auto-sync.js.map +0 -7
  475. package/dist/integrations/linear/client.js +0 -634
  476. package/dist/integrations/linear/client.js.map +0 -7
  477. package/dist/integrations/linear/config.js +0 -130
  478. package/dist/integrations/linear/config.js.map +0 -7
  479. package/dist/integrations/linear/migration.js +0 -361
  480. package/dist/integrations/linear/migration.js.map +0 -7
  481. package/dist/integrations/linear/oauth-server.js +0 -454
  482. package/dist/integrations/linear/oauth-server.js.map +0 -7
  483. package/dist/integrations/linear/rest-client.js +0 -213
  484. package/dist/integrations/linear/rest-client.js.map +0 -7
  485. package/dist/integrations/linear/sync-manager.js +0 -236
  486. package/dist/integrations/linear/sync-manager.js.map +0 -7
  487. package/dist/integrations/linear/sync-service.js +0 -231
  488. package/dist/integrations/linear/sync-service.js.map +0 -7
  489. package/dist/integrations/linear/sync.js +0 -782
  490. package/dist/integrations/linear/sync.js.map +0 -7
  491. package/dist/integrations/linear/types.js +0 -5
  492. package/dist/integrations/linear/types.js.map +0 -7
  493. package/dist/integrations/linear/unified-sync.js +0 -589
  494. package/dist/integrations/linear/unified-sync.js.map +0 -7
  495. package/dist/integrations/linear/webhook-handler.js +0 -219
  496. package/dist/integrations/linear/webhook-handler.js.map +0 -7
  497. package/dist/integrations/linear/webhook-server.js +0 -218
  498. package/dist/integrations/linear/webhook-server.js.map +0 -7
  499. package/dist/integrations/linear/webhook.js +0 -291
  500. package/dist/integrations/linear/webhook.js.map +0 -7
  501. package/dist/integrations/mcp/handlers/code-execution-handlers.js +0 -266
  502. package/dist/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
  503. package/dist/integrations/mcp/handlers/context-handlers.js +0 -257
  504. package/dist/integrations/mcp/handlers/context-handlers.js.map +0 -7
  505. package/dist/integrations/mcp/handlers/discovery-handlers.js +0 -497
  506. package/dist/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
  507. package/dist/integrations/mcp/handlers/index.js +0 -166
  508. package/dist/integrations/mcp/handlers/index.js.map +0 -7
  509. package/dist/integrations/mcp/handlers/linear-handlers.js +0 -247
  510. package/dist/integrations/mcp/handlers/linear-handlers.js.map +0 -7
  511. package/dist/integrations/mcp/handlers/skill-handlers.js +0 -529
  512. package/dist/integrations/mcp/handlers/skill-handlers.js.map +0 -7
  513. package/dist/integrations/mcp/handlers/task-handlers.js +0 -239
  514. package/dist/integrations/mcp/handlers/task-handlers.js.map +0 -7
  515. package/dist/integrations/mcp/handlers/trace-handlers.js +0 -308
  516. package/dist/integrations/mcp/handlers/trace-handlers.js.map +0 -7
  517. package/dist/integrations/mcp/index.js +0 -23
  518. package/dist/integrations/mcp/index.js.map +0 -7
  519. package/dist/integrations/mcp/middleware/tool-scoring.js +0 -356
  520. package/dist/integrations/mcp/middleware/tool-scoring.js.map +0 -7
  521. package/dist/integrations/mcp/refactored-server.js +0 -374
  522. package/dist/integrations/mcp/refactored-server.js.map +0 -7
  523. package/dist/integrations/mcp/remote-server.js +0 -682
  524. package/dist/integrations/mcp/remote-server.js.map +0 -7
  525. package/dist/integrations/mcp/schemas.js +0 -147
  526. package/dist/integrations/mcp/schemas.js.map +0 -7
  527. package/dist/integrations/mcp/server.js +0 -1975
  528. package/dist/integrations/mcp/server.js.map +0 -7
  529. package/dist/integrations/mcp/tool-definitions-code.js +0 -125
  530. package/dist/integrations/mcp/tool-definitions-code.js.map +0 -7
  531. package/dist/integrations/mcp/tool-definitions.js +0 -702
  532. package/dist/integrations/mcp/tool-definitions.js.map +0 -7
  533. package/dist/integrations/mcp/trace-test.js +0 -48
  534. package/dist/integrations/mcp/trace-test.js.map +0 -7
  535. package/dist/integrations/pg-aiguide/embedding-provider.js +0 -189
  536. package/dist/integrations/pg-aiguide/embedding-provider.js.map +0 -7
  537. package/dist/integrations/pg-aiguide/semantic-search.js +0 -187
  538. package/dist/integrations/pg-aiguide/semantic-search.js.map +0 -7
  539. package/dist/integrations/pg-aiguide/timescale-analytics.js +0 -224
  540. package/dist/integrations/pg-aiguide/timescale-analytics.js.map +0 -7
  541. package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -860
  542. package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
  543. package/dist/integrations/ralph/context/context-budget-manager.js +0 -301
  544. package/dist/integrations/ralph/context/context-budget-manager.js.map +0 -7
  545. package/dist/integrations/ralph/context/stackmemory-context-loader.js +0 -360
  546. package/dist/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
  547. package/dist/integrations/ralph/coordination/enhanced-coordination.js +0 -410
  548. package/dist/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
  549. package/dist/integrations/ralph/index.js +0 -18
  550. package/dist/integrations/ralph/index.js.map +0 -7
  551. package/dist/integrations/ralph/learning/pattern-learner.js +0 -401
  552. package/dist/integrations/ralph/learning/pattern-learner.js.map +0 -7
  553. package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js +0 -448
  554. package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
  555. package/dist/integrations/ralph/monitoring/swarm-dashboard.js +0 -294
  556. package/dist/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
  557. package/dist/integrations/ralph/monitoring/swarm-registry.js +0 -108
  558. package/dist/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
  559. package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -463
  560. package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
  561. package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -400
  562. package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
  563. package/dist/integrations/ralph/patterns/extended-coherence-sessions.js +0 -473
  564. package/dist/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
  565. package/dist/integrations/ralph/patterns/oracle-worker-pattern.js +0 -388
  566. package/dist/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
  567. package/dist/integrations/ralph/performance/performance-optimizer.js +0 -358
  568. package/dist/integrations/ralph/performance/performance-optimizer.js.map +0 -7
  569. package/dist/integrations/ralph/ralph-integration-demo.js +0 -182
  570. package/dist/integrations/ralph/ralph-integration-demo.js.map +0 -7
  571. package/dist/integrations/ralph/recovery/crash-recovery.js +0 -462
  572. package/dist/integrations/ralph/recovery/crash-recovery.js.map +0 -7
  573. package/dist/integrations/ralph/state/state-reconciler.js +0 -404
  574. package/dist/integrations/ralph/state/state-reconciler.js.map +0 -7
  575. package/dist/integrations/ralph/swarm/git-workflow-manager.js +0 -428
  576. package/dist/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
  577. package/dist/integrations/ralph/swarm/swarm-coordinator.js +0 -996
  578. package/dist/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
  579. package/dist/integrations/ralph/types.js +0 -5
  580. package/dist/integrations/ralph/types.js.map +0 -7
  581. package/dist/integrations/ralph/visualization/ralph-debugger.js +0 -585
  582. package/dist/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
  583. package/dist/mcp/stackmemory-mcp-server.js +0 -554
  584. package/dist/mcp/stackmemory-mcp-server.js.map +0 -7
  585. package/dist/middleware/exponential-rate-limiter.js +0 -289
  586. package/dist/middleware/exponential-rate-limiter.js.map +0 -7
  587. package/dist/models/user.model.js +0 -358
  588. package/dist/models/user.model.js.map +0 -7
  589. package/dist/servers/production/auth-middleware.js +0 -528
  590. package/dist/servers/production/auth-middleware.js.map +0 -7
  591. package/dist/servers/railway/config.js +0 -55
  592. package/dist/servers/railway/config.js.map +0 -7
  593. package/dist/servers/railway/index-enhanced.js +0 -160
  594. package/dist/servers/railway/index-enhanced.js.map +0 -7
  595. package/dist/servers/railway/index.js +0 -1349
  596. package/dist/servers/railway/index.js.map +0 -7
  597. package/dist/servers/railway/simple.js +0 -64
  598. package/dist/servers/railway/simple.js.map +0 -7
  599. package/dist/servers/railway/storage-test.js +0 -459
  600. package/dist/servers/railway/storage-test.js.map +0 -7
  601. package/dist/services/config-service.js +0 -65
  602. package/dist/services/config-service.js.map +0 -7
  603. package/dist/services/context-service.js +0 -194
  604. package/dist/services/context-service.js.map +0 -7
  605. package/dist/skills/api-discovery.js +0 -354
  606. package/dist/skills/api-discovery.js.map +0 -7
  607. package/dist/skills/api-skill.js +0 -475
  608. package/dist/skills/api-skill.js.map +0 -7
  609. package/dist/skills/claude-skills.js +0 -1061
  610. package/dist/skills/claude-skills.js.map +0 -7
  611. package/dist/skills/dashboard-launcher.js +0 -216
  612. package/dist/skills/dashboard-launcher.js.map +0 -7
  613. package/dist/skills/recursive-agent-orchestrator.js +0 -575
  614. package/dist/skills/recursive-agent-orchestrator.js.map +0 -7
  615. package/dist/skills/repo-ingestion-skill.js +0 -609
  616. package/dist/skills/repo-ingestion-skill.js.map +0 -7
  617. package/dist/skills/security-secrets-scanner.js +0 -284
  618. package/dist/skills/security-secrets-scanner.js.map +0 -7
  619. package/dist/skills/unified-rlm-orchestrator.js +0 -404
  620. package/dist/skills/unified-rlm-orchestrator.js.map +0 -7
  621. package/dist/types/task.js +0 -5
  622. package/dist/types/task.js.map +0 -7
  623. package/dist/utils/env.js +0 -50
  624. package/dist/utils/env.js.map +0 -7
  625. package/dist/utils/formatting.js +0 -62
  626. package/dist/utils/formatting.js.map +0 -7
  627. package/dist/utils/process-cleanup.js +0 -136
  628. package/dist/utils/process-cleanup.js.map +0 -7
  629. package/dist/validation/schemas.js +0 -222
  630. package/dist/validation/schemas.js.map +0 -7
  631. /package/dist/{core/merge → src/core/extensions}/types.js +0 -0
  632. /package/dist/{core/merge → src/core/extensions}/types.js.map +0 -0
@@ -0,0 +1,617 @@
1
+ import { fileURLToPath as __fileURLToPath } from 'url';
2
+ import { dirname as __pathDirname } from 'path';
3
+ const __filename = __fileURLToPath(import.meta.url);
4
+ const __dirname = __pathDirname(__filename);
5
+ class ClaudeAdapter {
6
+ id = "claude";
7
+ name = "Anthropic Claude";
8
+ version = "1.0.0";
9
+ extensions = {
10
+ claude: {
11
+ extendedThinking: { enabled: true, budgetTokens: 1e4 },
12
+ xmlOutput: { enabled: true },
13
+ computerUse: { enabled: true },
14
+ documentSupport: { enabled: true, maxPages: 100 }
15
+ }
16
+ };
17
+ apiKey;
18
+ baseUrl;
19
+ constructor(config) {
20
+ this.apiKey = config.apiKey;
21
+ this.baseUrl = config.baseUrl || "https://api.anthropic.com";
22
+ }
23
+ supportsExtension(extension) {
24
+ return extension === "claude";
25
+ }
26
+ async *stream(messages, options) {
27
+ const body = this.buildRequestBody(messages, options);
28
+ const response = await fetch(`${this.baseUrl}/v1/messages`, {
29
+ method: "POST",
30
+ headers: {
31
+ "Content-Type": "application/json",
32
+ "x-api-key": this.apiKey,
33
+ "anthropic-version": "2023-06-01",
34
+ "anthropic-beta": this.getBetaFlags(options.extensions)
35
+ },
36
+ body: JSON.stringify({ ...body, stream: true })
37
+ });
38
+ if (!response.ok) {
39
+ yield {
40
+ type: "error",
41
+ error: {
42
+ type: "api_error",
43
+ message: `Claude API error: ${response.status} ${response.statusText}`
44
+ }
45
+ };
46
+ return;
47
+ }
48
+ const reader = response.body?.getReader();
49
+ if (!reader) {
50
+ yield {
51
+ type: "error",
52
+ error: { type: "stream_error", message: "No response body" }
53
+ };
54
+ return;
55
+ }
56
+ const decoder = new TextDecoder();
57
+ let buffer = "";
58
+ while (true) {
59
+ const { done, value } = await reader.read();
60
+ if (done) break;
61
+ buffer += decoder.decode(value, { stream: true });
62
+ const lines = buffer.split("\n");
63
+ buffer = lines.pop() || "";
64
+ for (const line of lines) {
65
+ if (line.startsWith("data: ")) {
66
+ const data = line.slice(6);
67
+ if (data === "[DONE]") return;
68
+ try {
69
+ const event = JSON.parse(data);
70
+ yield this.normalizeEvent(event);
71
+ } catch {
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ async complete(messages, options) {
78
+ const body = this.buildRequestBody(messages, options);
79
+ const response = await fetch(`${this.baseUrl}/v1/messages`, {
80
+ method: "POST",
81
+ headers: {
82
+ "Content-Type": "application/json",
83
+ "x-api-key": this.apiKey,
84
+ "anthropic-version": "2023-06-01",
85
+ "anthropic-beta": this.getBetaFlags(options.extensions)
86
+ },
87
+ body: JSON.stringify(body)
88
+ });
89
+ if (!response.ok) {
90
+ throw new Error(
91
+ `Claude API error: ${response.status} ${response.statusText}`
92
+ );
93
+ }
94
+ const data = await response.json();
95
+ return {
96
+ content: data.content,
97
+ usage: {
98
+ inputTokens: data.usage?.input_tokens ?? 0,
99
+ outputTokens: data.usage?.output_tokens ?? 0
100
+ },
101
+ stopReason: data.stop_reason ?? "end_turn"
102
+ };
103
+ }
104
+ async validateConnection() {
105
+ try {
106
+ const response = await fetch(`${this.baseUrl}/v1/messages`, {
107
+ method: "POST",
108
+ headers: {
109
+ "Content-Type": "application/json",
110
+ "x-api-key": this.apiKey,
111
+ "anthropic-version": "2023-06-01"
112
+ },
113
+ body: JSON.stringify({
114
+ model: "claude-3-haiku-20240307",
115
+ max_tokens: 1,
116
+ messages: [{ role: "user", content: "hi" }]
117
+ })
118
+ });
119
+ return response.ok || response.status === 400;
120
+ } catch {
121
+ return false;
122
+ }
123
+ }
124
+ async listModels() {
125
+ return [
126
+ "claude-opus-4-20250514",
127
+ "claude-sonnet-4-20250514",
128
+ "claude-3-5-sonnet-20241022",
129
+ "claude-3-5-haiku-20241022",
130
+ "claude-3-opus-20240229",
131
+ "claude-3-sonnet-20240229",
132
+ "claude-3-haiku-20240307"
133
+ ];
134
+ }
135
+ buildRequestBody(messages, options) {
136
+ const body = {
137
+ model: options.model,
138
+ max_tokens: options.maxTokens,
139
+ messages: messages.map((m) => ({
140
+ role: m.role,
141
+ content: m.content
142
+ }))
143
+ };
144
+ if (options.temperature !== void 0) {
145
+ body.temperature = options.temperature;
146
+ }
147
+ if (options.topP !== void 0) {
148
+ body.top_p = options.topP;
149
+ }
150
+ if (options.stopSequences?.length) {
151
+ body.stop_sequences = options.stopSequences;
152
+ }
153
+ if (options.system) {
154
+ body.system = options.system;
155
+ }
156
+ if (options.tools?.length) {
157
+ body.tools = options.tools.map((t) => ({
158
+ name: t.name,
159
+ description: t.description,
160
+ input_schema: t.inputSchema
161
+ }));
162
+ }
163
+ if (options.extensions?.extendedThinking?.enabled) {
164
+ body.thinking = {
165
+ type: "enabled",
166
+ budget_tokens: options.extensions.extendedThinking.budgetTokens || 1e4
167
+ };
168
+ body.temperature = 1;
169
+ }
170
+ return body;
171
+ }
172
+ getBetaFlags(extensions) {
173
+ const flags = [];
174
+ if (extensions?.extendedThinking?.enabled) {
175
+ flags.push("interleaved-thinking-2025-05-14");
176
+ }
177
+ if (extensions?.computerUse?.enabled) {
178
+ flags.push("computer-use-2024-10-22");
179
+ }
180
+ if (extensions?.documentSupport?.enabled) {
181
+ flags.push("pdfs-2024-09-25");
182
+ }
183
+ return flags.join(",");
184
+ }
185
+ normalizeEvent(event) {
186
+ return event;
187
+ }
188
+ }
189
+ class GPTAdapter {
190
+ id = "gpt";
191
+ name = "OpenAI GPT";
192
+ version = "1.0.0";
193
+ extensions = {
194
+ gpt: {
195
+ codeInterpreter: { enabled: true },
196
+ browsing: { enabled: true },
197
+ imageGeneration: {
198
+ enabled: true,
199
+ size: "1024x1024",
200
+ quality: "standard"
201
+ },
202
+ functionCalling: { mode: "auto" },
203
+ jsonMode: { enabled: true }
204
+ }
205
+ };
206
+ apiKey;
207
+ baseUrl;
208
+ constructor(config) {
209
+ this.apiKey = config.apiKey;
210
+ this.baseUrl = config.baseUrl || "https://api.openai.com";
211
+ }
212
+ supportsExtension(extension) {
213
+ return extension === "gpt";
214
+ }
215
+ async *stream(messages, options) {
216
+ const openaiMessages = messages.map((m) => ({
217
+ role: m.role,
218
+ content: typeof m.content === "string" ? m.content : m.content.filter((c) => c.type === "text").map((c) => c.text).join("")
219
+ }));
220
+ const body = {
221
+ model: options.model,
222
+ max_tokens: options.maxTokens,
223
+ messages: openaiMessages,
224
+ stream: true
225
+ };
226
+ if (options.temperature !== void 0) {
227
+ body.temperature = options.temperature;
228
+ }
229
+ if (options.topP !== void 0) {
230
+ body.top_p = options.topP;
231
+ }
232
+ if (options.extensions?.jsonMode?.enabled) {
233
+ body.response_format = { type: "json_object" };
234
+ }
235
+ if (options.tools?.length) {
236
+ body.tools = options.tools.map((t) => ({
237
+ type: "function",
238
+ function: {
239
+ name: t.name,
240
+ description: t.description,
241
+ parameters: t.inputSchema
242
+ }
243
+ }));
244
+ if (options.extensions?.functionCalling?.mode) {
245
+ body.tool_choice = options.extensions.functionCalling.mode;
246
+ }
247
+ }
248
+ const response = await fetch(`${this.baseUrl}/v1/chat/completions`, {
249
+ method: "POST",
250
+ headers: {
251
+ "Content-Type": "application/json",
252
+ Authorization: `Bearer ${this.apiKey}`
253
+ },
254
+ body: JSON.stringify(body)
255
+ });
256
+ if (!response.ok) {
257
+ yield {
258
+ type: "error",
259
+ error: {
260
+ type: "api_error",
261
+ message: `GPT API error: ${response.status} ${response.statusText}`
262
+ }
263
+ };
264
+ return;
265
+ }
266
+ yield {
267
+ type: "message_start",
268
+ message: {
269
+ id: `msg_${Date.now()}`,
270
+ model: options.model,
271
+ role: "assistant"
272
+ }
273
+ };
274
+ const reader = response.body?.getReader();
275
+ if (!reader) return;
276
+ const decoder = new TextDecoder();
277
+ let buffer = "";
278
+ const blockIndex = 0;
279
+ let blockStarted = false;
280
+ while (true) {
281
+ const { done, value } = await reader.read();
282
+ if (done) break;
283
+ buffer += decoder.decode(value, { stream: true });
284
+ const lines = buffer.split("\n");
285
+ buffer = lines.pop() || "";
286
+ for (const line of lines) {
287
+ if (line.startsWith("data: ")) {
288
+ const data = line.slice(6);
289
+ if (data === "[DONE]") {
290
+ if (blockStarted) {
291
+ yield { type: "content_block_stop", index: blockIndex };
292
+ }
293
+ yield { type: "message_stop" };
294
+ return;
295
+ }
296
+ try {
297
+ const parsed = JSON.parse(data);
298
+ const delta = parsed.choices?.[0]?.delta;
299
+ if (delta?.content && !blockStarted) {
300
+ blockStarted = true;
301
+ yield {
302
+ type: "content_block_start",
303
+ index: blockIndex,
304
+ contentBlock: { type: "text", text: "" }
305
+ };
306
+ }
307
+ if (delta?.content) {
308
+ yield {
309
+ type: "content_block_delta",
310
+ index: blockIndex,
311
+ delta: { type: "text_delta", text: delta.content }
312
+ };
313
+ }
314
+ } catch {
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+ async complete(messages, options) {
321
+ const openaiMessages = messages.map((m) => ({
322
+ role: m.role,
323
+ content: typeof m.content === "string" ? m.content : m.content.filter((c) => c.type === "text").map((c) => c.text).join("")
324
+ }));
325
+ const body = {
326
+ model: options.model,
327
+ max_tokens: options.maxTokens,
328
+ messages: openaiMessages
329
+ };
330
+ if (options.temperature !== void 0) {
331
+ body.temperature = options.temperature;
332
+ }
333
+ const response = await fetch(`${this.baseUrl}/v1/chat/completions`, {
334
+ method: "POST",
335
+ headers: {
336
+ "Content-Type": "application/json",
337
+ Authorization: `Bearer ${this.apiKey}`
338
+ },
339
+ body: JSON.stringify(body)
340
+ });
341
+ if (!response.ok) {
342
+ throw new Error(
343
+ `GPT API error: ${response.status} ${response.statusText}`
344
+ );
345
+ }
346
+ const data = await response.json();
347
+ const choice = data.choices?.[0];
348
+ return {
349
+ content: [{ type: "text", text: choice?.message?.content ?? "" }],
350
+ usage: {
351
+ inputTokens: data.usage?.prompt_tokens ?? 0,
352
+ outputTokens: data.usage?.completion_tokens ?? 0
353
+ },
354
+ stopReason: choice?.finish_reason ?? "stop"
355
+ };
356
+ }
357
+ async validateConnection() {
358
+ try {
359
+ const response = await fetch(`${this.baseUrl}/v1/models`, {
360
+ headers: { Authorization: `Bearer ${this.apiKey}` }
361
+ });
362
+ return response.ok;
363
+ } catch {
364
+ return false;
365
+ }
366
+ }
367
+ async listModels() {
368
+ return [
369
+ "gpt-4o",
370
+ "gpt-4o-mini",
371
+ "gpt-4-turbo",
372
+ "gpt-4",
373
+ "gpt-3.5-turbo",
374
+ "o1",
375
+ "o1-mini",
376
+ "o1-preview"
377
+ ];
378
+ }
379
+ }
380
+ class GeminiAdapter {
381
+ id = "gemini";
382
+ name = "Google Gemini";
383
+ version = "1.0.0";
384
+ extensions = {
385
+ gemini: {
386
+ grounding: { enabled: true, dynamicThreshold: 0.3 },
387
+ multimodal: {
388
+ videoEnabled: true,
389
+ audioEnabled: true,
390
+ maxVideoDurationSec: 60
391
+ },
392
+ codeExecution: { enabled: true }
393
+ }
394
+ };
395
+ apiKey;
396
+ baseUrl;
397
+ constructor(config) {
398
+ this.apiKey = config.apiKey;
399
+ this.baseUrl = config.baseUrl || "https://generativelanguage.googleapis.com/v1beta";
400
+ }
401
+ supportsExtension(extension) {
402
+ return extension === "gemini";
403
+ }
404
+ async *stream(messages, options) {
405
+ const contents = messages.filter((m) => m.role !== "system").map((m) => ({
406
+ role: m.role === "assistant" ? "model" : "user",
407
+ parts: [
408
+ {
409
+ text: typeof m.content === "string" ? m.content : m.content.filter((c) => c.type === "text").map((c) => c.text).join("")
410
+ }
411
+ ]
412
+ }));
413
+ const body = {
414
+ contents,
415
+ generationConfig: {
416
+ maxOutputTokens: options.maxTokens,
417
+ temperature: options.temperature,
418
+ topP: options.topP
419
+ }
420
+ };
421
+ const systemMsg = messages.find((m) => m.role === "system");
422
+ if (systemMsg || options.system) {
423
+ body.systemInstruction = {
424
+ parts: [
425
+ {
426
+ text: options.system || (typeof systemMsg?.content === "string" ? systemMsg.content : "")
427
+ }
428
+ ]
429
+ };
430
+ }
431
+ if (options.extensions?.grounding?.enabled) {
432
+ body.tools = [
433
+ {
434
+ googleSearchRetrieval: {
435
+ dynamicRetrievalConfig: {
436
+ mode: "MODE_DYNAMIC",
437
+ dynamicThreshold: options.extensions.grounding.dynamicThreshold
438
+ }
439
+ }
440
+ }
441
+ ];
442
+ }
443
+ if (options.extensions?.codeExecution?.enabled) {
444
+ body.tools = [
445
+ ...body.tools || [],
446
+ { codeExecution: {} }
447
+ ];
448
+ }
449
+ if (options.extensions?.safetySettings) {
450
+ body.safetySettings = options.extensions.safetySettings;
451
+ }
452
+ const url = `${this.baseUrl}/models/${options.model}:streamGenerateContent?key=${this.apiKey}&alt=sse`;
453
+ const response = await fetch(url, {
454
+ method: "POST",
455
+ headers: { "Content-Type": "application/json" },
456
+ body: JSON.stringify(body)
457
+ });
458
+ if (!response.ok) {
459
+ yield {
460
+ type: "error",
461
+ error: {
462
+ type: "api_error",
463
+ message: `Gemini API error: ${response.status} ${response.statusText}`
464
+ }
465
+ };
466
+ return;
467
+ }
468
+ yield {
469
+ type: "message_start",
470
+ message: {
471
+ id: `msg_${Date.now()}`,
472
+ model: options.model,
473
+ role: "assistant"
474
+ }
475
+ };
476
+ const reader = response.body?.getReader();
477
+ if (!reader) return;
478
+ const decoder = new TextDecoder();
479
+ let buffer = "";
480
+ const blockIndex = 0;
481
+ let blockStarted = false;
482
+ while (true) {
483
+ const { done, value } = await reader.read();
484
+ if (done) break;
485
+ buffer += decoder.decode(value, { stream: true });
486
+ const lines = buffer.split("\n");
487
+ buffer = lines.pop() || "";
488
+ for (const line of lines) {
489
+ if (line.startsWith("data: ")) {
490
+ try {
491
+ const parsed = JSON.parse(line.slice(6));
492
+ const text = parsed.candidates?.[0]?.content?.parts?.[0]?.text;
493
+ if (text && !blockStarted) {
494
+ blockStarted = true;
495
+ yield {
496
+ type: "content_block_start",
497
+ index: blockIndex,
498
+ contentBlock: { type: "text", text: "" }
499
+ };
500
+ }
501
+ if (text) {
502
+ yield {
503
+ type: "content_block_delta",
504
+ index: blockIndex,
505
+ delta: { type: "text_delta", text }
506
+ };
507
+ }
508
+ } catch {
509
+ }
510
+ }
511
+ }
512
+ }
513
+ if (blockStarted) {
514
+ yield { type: "content_block_stop", index: blockIndex };
515
+ }
516
+ yield { type: "message_stop" };
517
+ }
518
+ async complete(messages, options) {
519
+ const contents = messages.filter((m) => m.role !== "system").map((m) => ({
520
+ role: m.role === "assistant" ? "model" : "user",
521
+ parts: [
522
+ {
523
+ text: typeof m.content === "string" ? m.content : m.content.filter((c) => c.type === "text").map((c) => c.text).join("")
524
+ }
525
+ ]
526
+ }));
527
+ const body = {
528
+ contents,
529
+ generationConfig: {
530
+ maxOutputTokens: options.maxTokens,
531
+ temperature: options.temperature
532
+ }
533
+ };
534
+ const url = `${this.baseUrl}/models/${options.model}:generateContent?key=${this.apiKey}`;
535
+ const response = await fetch(url, {
536
+ method: "POST",
537
+ headers: { "Content-Type": "application/json" },
538
+ body: JSON.stringify(body)
539
+ });
540
+ if (!response.ok) {
541
+ throw new Error(
542
+ `Gemini API error: ${response.status} ${response.statusText}`
543
+ );
544
+ }
545
+ const data = await response.json();
546
+ const candidate = data.candidates?.[0];
547
+ const text = candidate?.content?.parts?.[0]?.text ?? "";
548
+ return {
549
+ content: [{ type: "text", text }],
550
+ usage: {
551
+ inputTokens: data.usageMetadata?.promptTokenCount ?? 0,
552
+ outputTokens: data.usageMetadata?.candidatesTokenCount ?? 0
553
+ },
554
+ stopReason: candidate?.finishReason ?? "STOP"
555
+ };
556
+ }
557
+ async validateConnection() {
558
+ try {
559
+ const response = await fetch(`${this.baseUrl}/models?key=${this.apiKey}`);
560
+ return response.ok;
561
+ } catch {
562
+ return false;
563
+ }
564
+ }
565
+ async listModels() {
566
+ return [
567
+ "gemini-2.0-flash-exp",
568
+ "gemini-1.5-pro",
569
+ "gemini-1.5-flash",
570
+ "gemini-1.5-flash-8b",
571
+ "gemini-1.0-pro"
572
+ ];
573
+ }
574
+ }
575
+ function createProvider(id, config) {
576
+ switch (id) {
577
+ case "claude":
578
+ return new ClaudeAdapter(config);
579
+ case "gpt":
580
+ return new GPTAdapter(config);
581
+ case "gemini":
582
+ return new GeminiAdapter(config);
583
+ default:
584
+ throw new Error(`Unknown provider: ${id}`);
585
+ }
586
+ }
587
+ class ProviderRegistry {
588
+ providers = /* @__PURE__ */ new Map();
589
+ register(adapter) {
590
+ this.providers.set(adapter.id, adapter);
591
+ }
592
+ get(id) {
593
+ return this.providers.get(id);
594
+ }
595
+ list() {
596
+ return Array.from(this.providers.values());
597
+ }
598
+ has(id) {
599
+ return this.providers.has(id);
600
+ }
601
+ /**
602
+ * Find providers that support a specific extension
603
+ */
604
+ findByExtension(extension) {
605
+ return this.list().filter((p) => p.supportsExtension(extension));
606
+ }
607
+ }
608
+ const providerRegistry = new ProviderRegistry();
609
+ export {
610
+ ClaudeAdapter,
611
+ GPTAdapter,
612
+ GeminiAdapter,
613
+ ProviderRegistry,
614
+ createProvider,
615
+ providerRegistry
616
+ };
617
+ //# sourceMappingURL=provider-adapter.js.map