pi-harness-runtime 0.9.19 → 0.9.21

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 (445) hide show
  1. package/index.ts +60 -10
  2. package/package.json +2 -3
  3. package/packages/clipboard/dist/clipboard.d.ts +11 -0
  4. package/packages/clipboard/dist/clipboard.d.ts.map +1 -0
  5. package/packages/clipboard/dist/clipboard.js +40 -0
  6. package/packages/clipboard/dist/clipboard.js.map +1 -0
  7. package/packages/clipboard/dist/index.d.ts +2 -0
  8. package/packages/clipboard/dist/index.d.ts.map +1 -0
  9. package/packages/clipboard/dist/index.js +2 -0
  10. package/packages/clipboard/dist/index.js.map +1 -0
  11. package/packages/clipboard/dist/src/clipboard.d.ts +11 -0
  12. package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -0
  13. package/packages/clipboard/dist/src/clipboard.js +43 -0
  14. package/packages/clipboard/dist/src/clipboard.js.map +1 -0
  15. package/packages/clipboard/dist/src/index.d.ts +2 -0
  16. package/packages/clipboard/dist/src/index.d.ts.map +1 -0
  17. package/packages/clipboard/dist/src/index.js +2 -0
  18. package/packages/clipboard/dist/src/index.js.map +1 -0
  19. package/packages/clipboard/dist/src/types.d.ts +13 -0
  20. package/packages/clipboard/dist/src/types.d.ts.map +1 -0
  21. package/packages/clipboard/dist/src/types.js +5 -0
  22. package/packages/clipboard/dist/src/types.js.map +1 -0
  23. package/packages/clipboard/dist/types.d.ts +13 -0
  24. package/packages/clipboard/dist/types.d.ts.map +1 -0
  25. package/packages/clipboard/dist/types.js +5 -0
  26. package/packages/clipboard/dist/types.js.map +1 -0
  27. package/packages/clipboard/package.json +12 -0
  28. package/packages/clipboard/src/clipboard.ts +52 -0
  29. package/packages/clipboard/src/index.ts +1 -0
  30. package/packages/clipboard/src/types.ts +14 -0
  31. package/packages/clipboard/tsconfig.json +10 -0
  32. package/packages/context-discovery/dist/discover.d.ts +3 -0
  33. package/packages/context-discovery/dist/discover.d.ts.map +1 -0
  34. package/packages/context-discovery/dist/discover.js +42 -0
  35. package/packages/context-discovery/dist/discover.js.map +1 -0
  36. package/packages/context-discovery/dist/discovery.d.ts +28 -0
  37. package/packages/context-discovery/dist/discovery.d.ts.map +1 -0
  38. package/packages/context-discovery/dist/discovery.js +21 -0
  39. package/packages/context-discovery/dist/discovery.js.map +1 -0
  40. package/packages/context-discovery/dist/index.d.ts +3 -0
  41. package/packages/context-discovery/dist/index.d.ts.map +1 -0
  42. package/packages/context-discovery/dist/index.js +2 -0
  43. package/packages/context-discovery/dist/index.js.map +1 -0
  44. package/packages/context-discovery/dist/src/discover.d.ts +3 -0
  45. package/packages/context-discovery/dist/src/discover.d.ts.map +1 -0
  46. package/packages/context-discovery/dist/src/discover.js +42 -0
  47. package/packages/context-discovery/dist/src/discover.js.map +1 -0
  48. package/packages/context-discovery/dist/src/discovery.d.ts +28 -0
  49. package/packages/context-discovery/dist/src/discovery.d.ts.map +1 -0
  50. package/packages/context-discovery/dist/src/discovery.js +21 -0
  51. package/packages/context-discovery/dist/src/discovery.js.map +1 -0
  52. package/packages/context-discovery/dist/src/index.d.ts +3 -0
  53. package/packages/context-discovery/dist/src/index.d.ts.map +1 -0
  54. package/packages/context-discovery/dist/src/index.js +2 -0
  55. package/packages/context-discovery/dist/src/index.js.map +1 -0
  56. package/packages/context-discovery/dist/src/types.d.ts +16 -0
  57. package/packages/context-discovery/dist/src/types.d.ts.map +1 -0
  58. package/packages/context-discovery/dist/src/types.js +2 -0
  59. package/packages/context-discovery/dist/src/types.js.map +1 -0
  60. package/packages/context-discovery/dist/types.d.ts +16 -0
  61. package/packages/context-discovery/dist/types.d.ts.map +1 -0
  62. package/packages/context-discovery/dist/types.js +2 -0
  63. package/packages/context-discovery/dist/types.js.map +1 -0
  64. package/packages/context-discovery/package.json +12 -0
  65. package/packages/context-discovery/src/discover.ts +42 -0
  66. package/packages/context-discovery/src/discovery.ts +44 -0
  67. package/packages/context-discovery/src/index.ts +2 -0
  68. package/packages/context-discovery/src/types.ts +15 -0
  69. package/packages/context-discovery/tsconfig.json +10 -0
  70. package/packages/dependency-analyzer/dist/analyzer.d.ts +17 -0
  71. package/packages/dependency-analyzer/dist/analyzer.d.ts.map +1 -0
  72. package/packages/dependency-analyzer/dist/analyzer.js +106 -0
  73. package/packages/dependency-analyzer/dist/analyzer.js.map +1 -0
  74. package/packages/dependency-analyzer/dist/imports.d.ts +12 -0
  75. package/packages/dependency-analyzer/dist/imports.d.ts.map +1 -0
  76. package/packages/dependency-analyzer/dist/imports.js +73 -0
  77. package/packages/dependency-analyzer/dist/imports.js.map +1 -0
  78. package/packages/dependency-analyzer/dist/index.d.ts +4 -0
  79. package/packages/dependency-analyzer/dist/index.d.ts.map +1 -0
  80. package/packages/dependency-analyzer/dist/index.js +3 -0
  81. package/packages/dependency-analyzer/dist/index.js.map +1 -0
  82. package/packages/dependency-analyzer/dist/src/analyzer.d.ts +17 -0
  83. package/packages/dependency-analyzer/dist/src/analyzer.d.ts.map +1 -0
  84. package/packages/dependency-analyzer/dist/src/analyzer.js +119 -0
  85. package/packages/dependency-analyzer/dist/src/analyzer.js.map +1 -0
  86. package/packages/dependency-analyzer/dist/src/imports.d.ts +12 -0
  87. package/packages/dependency-analyzer/dist/src/imports.d.ts.map +1 -0
  88. package/packages/dependency-analyzer/dist/src/imports.js +73 -0
  89. package/packages/dependency-analyzer/dist/src/imports.js.map +1 -0
  90. package/packages/dependency-analyzer/dist/src/index.d.ts +4 -0
  91. package/packages/dependency-analyzer/dist/src/index.d.ts.map +1 -0
  92. package/packages/dependency-analyzer/dist/src/index.js +3 -0
  93. package/packages/dependency-analyzer/dist/src/index.js.map +1 -0
  94. package/packages/dependency-analyzer/dist/src/types.d.ts +28 -0
  95. package/packages/dependency-analyzer/dist/src/types.d.ts.map +1 -0
  96. package/packages/dependency-analyzer/dist/src/types.js +5 -0
  97. package/packages/dependency-analyzer/dist/src/types.js.map +1 -0
  98. package/packages/dependency-analyzer/dist/test/analyzer.test.js +37 -0
  99. package/packages/dependency-analyzer/dist/types.d.ts +28 -0
  100. package/packages/dependency-analyzer/dist/types.d.ts.map +1 -0
  101. package/packages/dependency-analyzer/dist/types.js +5 -0
  102. package/packages/dependency-analyzer/dist/types.js.map +1 -0
  103. package/packages/dependency-analyzer/package.json +12 -0
  104. package/packages/dependency-analyzer/src/analyzer.ts +140 -0
  105. package/packages/dependency-analyzer/src/imports.ts +93 -0
  106. package/packages/dependency-analyzer/src/index.ts +9 -0
  107. package/packages/dependency-analyzer/src/types.ts +38 -0
  108. package/packages/dependency-analyzer/test/analyzer.test.js +37 -0
  109. package/packages/dependency-analyzer/test/analyzer.test.ts +48 -0
  110. package/packages/dependency-analyzer/tsconfig.json +10 -0
  111. package/packages/event-bus/dist/bus.d.ts +15 -0
  112. package/packages/event-bus/dist/bus.d.ts.map +1 -0
  113. package/packages/event-bus/dist/bus.js +90 -0
  114. package/packages/event-bus/dist/bus.js.map +1 -0
  115. package/packages/event-bus/dist/index.d.ts +4 -0
  116. package/packages/event-bus/dist/index.d.ts.map +1 -0
  117. package/packages/event-bus/dist/index.js +3 -0
  118. package/packages/event-bus/dist/index.js.map +1 -0
  119. package/packages/event-bus/dist/src/bus.d.ts +15 -0
  120. package/packages/event-bus/dist/src/bus.d.ts.map +1 -0
  121. package/packages/event-bus/dist/src/bus.js +98 -0
  122. package/packages/event-bus/dist/src/bus.js.map +1 -0
  123. package/packages/event-bus/dist/src/index.d.ts +4 -0
  124. package/packages/event-bus/dist/src/index.d.ts.map +1 -0
  125. package/packages/event-bus/dist/src/index.js +3 -0
  126. package/packages/event-bus/dist/src/index.js.map +1 -0
  127. package/packages/event-bus/dist/src/types.d.ts +27 -0
  128. package/packages/event-bus/dist/src/types.d.ts.map +1 -0
  129. package/packages/event-bus/dist/src/types.js +10 -0
  130. package/packages/event-bus/dist/src/types.js.map +1 -0
  131. package/packages/event-bus/dist/test/bus.test.js +52 -0
  132. package/packages/event-bus/dist/types.d.ts +27 -0
  133. package/packages/event-bus/dist/types.d.ts.map +1 -0
  134. package/packages/event-bus/dist/types.js +10 -0
  135. package/packages/event-bus/dist/types.js.map +1 -0
  136. package/packages/event-bus/package.json +12 -0
  137. package/packages/event-bus/src/bus.ts +111 -0
  138. package/packages/event-bus/src/index.ts +9 -0
  139. package/packages/event-bus/src/types.ts +59 -0
  140. package/packages/event-bus/test/bus.test.ts +88 -0
  141. package/packages/event-bus/tsconfig.json +10 -0
  142. package/packages/event-store/dist/index.d.ts +3 -0
  143. package/packages/event-store/dist/index.d.ts.map +1 -0
  144. package/packages/event-store/dist/index.js +2 -0
  145. package/packages/event-store/dist/index.js.map +1 -0
  146. package/packages/event-store/dist/src/index.d.ts +3 -0
  147. package/packages/event-store/dist/src/index.d.ts.map +1 -0
  148. package/packages/event-store/dist/src/index.js +2 -0
  149. package/packages/event-store/dist/src/index.js.map +1 -0
  150. package/packages/event-store/dist/src/store.d.ts +15 -0
  151. package/packages/event-store/dist/src/store.d.ts.map +1 -0
  152. package/packages/event-store/dist/src/store.js +139 -0
  153. package/packages/event-store/dist/src/store.js.map +1 -0
  154. package/packages/event-store/dist/src/types.d.ts +48 -0
  155. package/packages/event-store/dist/src/types.d.ts.map +1 -0
  156. package/packages/event-store/dist/src/types.js +5 -0
  157. package/packages/event-store/dist/src/types.js.map +1 -0
  158. package/packages/event-store/dist/store.d.ts +15 -0
  159. package/packages/event-store/dist/store.d.ts.map +1 -0
  160. package/packages/event-store/dist/store.js +131 -0
  161. package/packages/event-store/dist/store.js.map +1 -0
  162. package/packages/event-store/dist/test/store.test.js +57 -0
  163. package/packages/event-store/dist/types.d.ts +48 -0
  164. package/packages/event-store/dist/types.d.ts.map +1 -0
  165. package/packages/event-store/dist/types.js +5 -0
  166. package/packages/event-store/dist/types.js.map +1 -0
  167. package/packages/event-store/package.json +12 -0
  168. package/packages/event-store/src/index.ts +11 -0
  169. package/packages/event-store/src/store.ts +168 -0
  170. package/packages/event-store/src/types.d.ts +48 -0
  171. package/packages/event-store/src/types.d.ts.map +1 -0
  172. package/packages/event-store/src/types.js +5 -0
  173. package/packages/event-store/src/types.js.map +1 -0
  174. package/packages/event-store/src/types.ts +65 -0
  175. package/packages/event-store/test/store.test.ts +115 -0
  176. package/packages/event-store/tsconfig.json +10 -0
  177. package/packages/intent-analyzer/dist/analyzer.d.ts +13 -0
  178. package/packages/intent-analyzer/dist/analyzer.d.ts.map +1 -0
  179. package/packages/intent-analyzer/dist/analyzer.js +72 -0
  180. package/packages/intent-analyzer/dist/analyzer.js.map +1 -0
  181. package/packages/intent-analyzer/dist/index.d.ts +3 -0
  182. package/packages/intent-analyzer/dist/index.d.ts.map +1 -0
  183. package/packages/intent-analyzer/dist/index.js +2 -0
  184. package/packages/intent-analyzer/dist/index.js.map +1 -0
  185. package/packages/intent-analyzer/dist/src/analyzer.d.ts +13 -0
  186. package/packages/intent-analyzer/dist/src/analyzer.d.ts.map +1 -0
  187. package/packages/intent-analyzer/dist/src/analyzer.js +239 -0
  188. package/packages/intent-analyzer/dist/src/analyzer.js.map +1 -0
  189. package/packages/intent-analyzer/dist/src/index.d.ts +3 -0
  190. package/packages/intent-analyzer/dist/src/index.d.ts.map +1 -0
  191. package/packages/intent-analyzer/dist/src/index.js +2 -0
  192. package/packages/intent-analyzer/dist/src/index.js.map +1 -0
  193. package/packages/intent-analyzer/dist/src/types.d.ts +26 -0
  194. package/packages/intent-analyzer/dist/src/types.d.ts.map +1 -0
  195. package/packages/intent-analyzer/dist/src/types.js +7 -0
  196. package/packages/intent-analyzer/dist/src/types.js.map +1 -0
  197. package/packages/intent-analyzer/dist/test/analyzer.test.js +56 -0
  198. package/packages/intent-analyzer/dist/types.d.ts +26 -0
  199. package/packages/intent-analyzer/dist/types.d.ts.map +1 -0
  200. package/packages/intent-analyzer/dist/types.js +7 -0
  201. package/packages/intent-analyzer/dist/types.js.map +1 -0
  202. package/packages/intent-analyzer/package.json +12 -0
  203. package/packages/intent-analyzer/src/analyzer.ts +259 -0
  204. package/packages/intent-analyzer/src/index.ts +8 -0
  205. package/packages/intent-analyzer/src/types.ts +44 -0
  206. package/packages/intent-analyzer/test/analyzer.test.ts +72 -0
  207. package/packages/intent-analyzer/tsconfig.json +10 -0
  208. package/packages/projection-engine/dist/engine.d.ts +61 -0
  209. package/packages/projection-engine/dist/engine.d.ts.map +1 -0
  210. package/packages/projection-engine/dist/engine.js +76 -0
  211. package/packages/projection-engine/dist/engine.js.map +1 -0
  212. package/packages/projection-engine/dist/index.d.ts +2 -0
  213. package/packages/projection-engine/dist/index.d.ts.map +1 -0
  214. package/packages/projection-engine/dist/index.js +2 -0
  215. package/packages/projection-engine/dist/index.js.map +1 -0
  216. package/packages/projection-engine/dist/project.d.ts +3 -0
  217. package/packages/projection-engine/dist/project.d.ts.map +1 -0
  218. package/packages/projection-engine/dist/project.js +24 -0
  219. package/packages/projection-engine/dist/project.js.map +1 -0
  220. package/packages/projection-engine/dist/src/engine.d.ts +61 -0
  221. package/packages/projection-engine/dist/src/engine.d.ts.map +1 -0
  222. package/packages/projection-engine/dist/src/engine.js +87 -0
  223. package/packages/projection-engine/dist/src/engine.js.map +1 -0
  224. package/packages/projection-engine/dist/src/index.d.ts +2 -0
  225. package/packages/projection-engine/dist/src/index.d.ts.map +1 -0
  226. package/packages/projection-engine/dist/src/index.js +2 -0
  227. package/packages/projection-engine/dist/src/index.js.map +1 -0
  228. package/packages/projection-engine/dist/src/project.d.ts +3 -0
  229. package/packages/projection-engine/dist/src/project.d.ts.map +1 -0
  230. package/packages/projection-engine/dist/src/project.js +24 -0
  231. package/packages/projection-engine/dist/src/project.js.map +1 -0
  232. package/packages/projection-engine/dist/src/types.d.ts +55 -0
  233. package/packages/projection-engine/dist/src/types.d.ts.map +1 -0
  234. package/packages/projection-engine/dist/src/types.js +5 -0
  235. package/packages/projection-engine/dist/src/types.js.map +1 -0
  236. package/packages/projection-engine/dist/types.d.ts +55 -0
  237. package/packages/projection-engine/dist/types.d.ts.map +1 -0
  238. package/packages/projection-engine/dist/types.js +5 -0
  239. package/packages/projection-engine/dist/types.js.map +1 -0
  240. package/packages/projection-engine/package.json +12 -0
  241. package/packages/projection-engine/src/engine.ts +134 -0
  242. package/packages/projection-engine/src/index.ts +8 -0
  243. package/packages/projection-engine/src/project.ts +24 -0
  244. package/packages/projection-engine/src/types.d.ts +55 -0
  245. package/packages/projection-engine/src/types.d.ts.map +1 -0
  246. package/packages/projection-engine/src/types.js +5 -0
  247. package/packages/projection-engine/src/types.js.map +1 -0
  248. package/packages/projection-engine/src/types.ts +60 -0
  249. package/packages/projection-engine/tsconfig.json +10 -0
  250. package/packages/providers/dist/provider-id.d.ts.map +1 -1
  251. package/packages/providers/dist/provider-id.js +3 -0
  252. package/packages/providers/dist/provider-id.js.map +1 -1
  253. package/packages/providers/src/provider-id.ts +2 -0
  254. package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
  255. package/packages/quota-manager/dist/tui-usage-monitor.js +5 -0
  256. package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
  257. package/packages/quota-manager/src/tui-usage-monitor.ts +21 -0
  258. package/packages/session-api/dist/api.d.ts +83 -0
  259. package/packages/session-api/dist/api.d.ts.map +1 -0
  260. package/packages/session-api/dist/api.js +35 -0
  261. package/packages/session-api/dist/api.js.map +1 -0
  262. package/packages/session-api/dist/index.d.ts +2 -0
  263. package/packages/session-api/dist/index.d.ts.map +1 -0
  264. package/packages/session-api/dist/index.js +2 -0
  265. package/packages/session-api/dist/index.js.map +1 -0
  266. package/packages/session-api/dist/src/api.d.ts +83 -0
  267. package/packages/session-api/dist/src/api.d.ts.map +1 -0
  268. package/packages/session-api/dist/src/api.js +49 -0
  269. package/packages/session-api/dist/src/api.js.map +1 -0
  270. package/packages/session-api/dist/src/index.d.ts +2 -0
  271. package/packages/session-api/dist/src/index.d.ts.map +1 -0
  272. package/packages/session-api/dist/src/index.js +2 -0
  273. package/packages/session-api/dist/src/index.js.map +1 -0
  274. package/packages/session-api/dist/src/types.d.ts +22 -0
  275. package/packages/session-api/dist/src/types.d.ts.map +1 -0
  276. package/packages/session-api/dist/src/types.js +5 -0
  277. package/packages/session-api/dist/src/types.js.map +1 -0
  278. package/packages/session-api/dist/types.d.ts +22 -0
  279. package/packages/session-api/dist/types.d.ts.map +1 -0
  280. package/packages/session-api/dist/types.js +5 -0
  281. package/packages/session-api/dist/types.js.map +1 -0
  282. package/packages/session-api/package.json +12 -0
  283. package/packages/session-api/src/api.ts +117 -0
  284. package/packages/session-api/src/index.ts +1 -0
  285. package/packages/session-api/src/types.ts +23 -0
  286. package/packages/session-api/tsconfig.json +10 -0
  287. package/packages/session-export/dist/exporter.d.ts +28 -0
  288. package/packages/session-export/dist/exporter.d.ts.map +1 -0
  289. package/packages/session-export/dist/exporter.js +38 -0
  290. package/packages/session-export/dist/exporter.js.map +1 -0
  291. package/packages/session-export/dist/index.d.ts +2 -0
  292. package/packages/session-export/dist/index.d.ts.map +1 -0
  293. package/packages/session-export/dist/index.js +2 -0
  294. package/packages/session-export/dist/index.js.map +1 -0
  295. package/packages/session-export/dist/src/exporter.d.ts +28 -0
  296. package/packages/session-export/dist/src/exporter.d.ts.map +1 -0
  297. package/packages/session-export/dist/src/exporter.js +42 -0
  298. package/packages/session-export/dist/src/exporter.js.map +1 -0
  299. package/packages/session-export/dist/src/index.d.ts +2 -0
  300. package/packages/session-export/dist/src/index.d.ts.map +1 -0
  301. package/packages/session-export/dist/src/index.js +2 -0
  302. package/packages/session-export/dist/src/index.js.map +1 -0
  303. package/packages/session-export/dist/src/types.d.ts +20 -0
  304. package/packages/session-export/dist/src/types.d.ts.map +1 -0
  305. package/packages/session-export/dist/src/types.js +5 -0
  306. package/packages/session-export/dist/src/types.js.map +1 -0
  307. package/packages/session-export/dist/types.d.ts +20 -0
  308. package/packages/session-export/dist/types.d.ts.map +1 -0
  309. package/packages/session-export/dist/types.js +5 -0
  310. package/packages/session-export/dist/types.js.map +1 -0
  311. package/packages/session-export/package.json +12 -0
  312. package/packages/session-export/src/exporter.ts +81 -0
  313. package/packages/session-export/src/index.ts +1 -0
  314. package/packages/session-export/src/types.ts +22 -0
  315. package/packages/session-export/tsconfig.json +10 -0
  316. package/packages/subscription-engine/dist/engine.d.ts +13 -0
  317. package/packages/subscription-engine/dist/engine.d.ts.map +1 -0
  318. package/packages/subscription-engine/dist/engine.js +40 -0
  319. package/packages/subscription-engine/dist/engine.js.map +1 -0
  320. package/packages/subscription-engine/dist/index.d.ts +2 -0
  321. package/packages/subscription-engine/dist/index.d.ts.map +1 -0
  322. package/packages/subscription-engine/dist/index.js +2 -0
  323. package/packages/subscription-engine/dist/index.js.map +1 -0
  324. package/packages/subscription-engine/dist/src/engine.d.ts +13 -0
  325. package/packages/subscription-engine/dist/src/engine.d.ts.map +1 -0
  326. package/packages/subscription-engine/dist/src/engine.js +40 -0
  327. package/packages/subscription-engine/dist/src/engine.js.map +1 -0
  328. package/packages/subscription-engine/dist/src/index.d.ts +2 -0
  329. package/packages/subscription-engine/dist/src/index.d.ts.map +1 -0
  330. package/packages/subscription-engine/dist/src/index.js +2 -0
  331. package/packages/subscription-engine/dist/src/index.js.map +1 -0
  332. package/packages/subscription-engine/dist/src/subscriptions.d.ts +19 -0
  333. package/packages/subscription-engine/dist/src/subscriptions.d.ts.map +1 -0
  334. package/packages/subscription-engine/dist/src/subscriptions.js +39 -0
  335. package/packages/subscription-engine/dist/src/subscriptions.js.map +1 -0
  336. package/packages/subscription-engine/dist/src/types.d.ts +24 -0
  337. package/packages/subscription-engine/dist/src/types.d.ts.map +1 -0
  338. package/packages/subscription-engine/dist/src/types.js +5 -0
  339. package/packages/subscription-engine/dist/src/types.js.map +1 -0
  340. package/packages/subscription-engine/dist/subscriptions.d.ts +19 -0
  341. package/packages/subscription-engine/dist/subscriptions.d.ts.map +1 -0
  342. package/packages/subscription-engine/dist/subscriptions.js +32 -0
  343. package/packages/subscription-engine/dist/subscriptions.js.map +1 -0
  344. package/packages/subscription-engine/dist/types.d.ts +24 -0
  345. package/packages/subscription-engine/dist/types.d.ts.map +1 -0
  346. package/packages/subscription-engine/dist/types.js +5 -0
  347. package/packages/subscription-engine/dist/types.js.map +1 -0
  348. package/packages/subscription-engine/package.json +12 -0
  349. package/packages/subscription-engine/src/engine.ts +55 -0
  350. package/packages/subscription-engine/src/index.ts +6 -0
  351. package/packages/subscription-engine/src/subscriptions.ts +55 -0
  352. package/packages/subscription-engine/src/types.ts +27 -0
  353. package/packages/subscription-engine/tsconfig.json +10 -0
  354. package/packages/workflow-events/dist/events.d.ts +38 -0
  355. package/packages/workflow-events/dist/events.d.ts.map +1 -0
  356. package/packages/workflow-events/dist/events.js +46 -0
  357. package/packages/workflow-events/dist/events.js.map +1 -0
  358. package/packages/workflow-events/dist/index.d.ts +2 -0
  359. package/packages/workflow-events/dist/index.d.ts.map +1 -0
  360. package/packages/workflow-events/dist/index.js +2 -0
  361. package/packages/workflow-events/dist/index.js.map +1 -0
  362. package/packages/workflow-events/dist/pipeline.d.ts +21 -0
  363. package/packages/workflow-events/dist/pipeline.d.ts.map +1 -0
  364. package/packages/workflow-events/dist/pipeline.js +27 -0
  365. package/packages/workflow-events/dist/pipeline.js.map +1 -0
  366. package/packages/workflow-events/dist/src/events.d.ts +38 -0
  367. package/packages/workflow-events/dist/src/events.d.ts.map +1 -0
  368. package/packages/workflow-events/dist/src/events.js +55 -0
  369. package/packages/workflow-events/dist/src/events.js.map +1 -0
  370. package/packages/workflow-events/dist/src/index.d.ts +2 -0
  371. package/packages/workflow-events/dist/src/index.d.ts.map +1 -0
  372. package/packages/workflow-events/dist/src/index.js +2 -0
  373. package/packages/workflow-events/dist/src/index.js.map +1 -0
  374. package/packages/workflow-events/dist/src/pipeline.d.ts +21 -0
  375. package/packages/workflow-events/dist/src/pipeline.d.ts.map +1 -0
  376. package/packages/workflow-events/dist/src/pipeline.js +36 -0
  377. package/packages/workflow-events/dist/src/pipeline.js.map +1 -0
  378. package/packages/workflow-events/dist/src/types.d.ts +110 -0
  379. package/packages/workflow-events/dist/src/types.d.ts.map +1 -0
  380. package/packages/workflow-events/dist/src/types.js +5 -0
  381. package/packages/workflow-events/dist/src/types.js.map +1 -0
  382. package/packages/workflow-events/dist/types.d.ts +110 -0
  383. package/packages/workflow-events/dist/types.d.ts.map +1 -0
  384. package/packages/workflow-events/dist/types.js +5 -0
  385. package/packages/workflow-events/dist/types.js.map +1 -0
  386. package/packages/workflow-events/package.json +12 -0
  387. package/packages/workflow-events/src/events.ts +86 -0
  388. package/packages/workflow-events/src/index.ts +19 -0
  389. package/packages/workflow-events/src/pipeline.ts +41 -0
  390. package/packages/workflow-events/src/types.d.ts +110 -0
  391. package/packages/workflow-events/src/types.d.ts.map +1 -0
  392. package/packages/workflow-events/src/types.js +5 -0
  393. package/packages/workflow-events/src/types.js.map +1 -0
  394. package/packages/workflow-events/src/types.ts +139 -0
  395. package/packages/workflow-events/tsconfig.json +10 -0
  396. package/packages/workspace-scanner/dist/detect.d.ts +3 -0
  397. package/packages/workspace-scanner/dist/detect.d.ts.map +1 -0
  398. package/packages/workspace-scanner/dist/detect.js +58 -0
  399. package/packages/workspace-scanner/dist/detect.js.map +1 -0
  400. package/packages/workspace-scanner/dist/git.d.ts +7 -0
  401. package/packages/workspace-scanner/dist/git.d.ts.map +1 -0
  402. package/packages/workspace-scanner/dist/git.js +75 -0
  403. package/packages/workspace-scanner/dist/git.js.map +1 -0
  404. package/packages/workspace-scanner/dist/index.d.ts +5 -0
  405. package/packages/workspace-scanner/dist/index.d.ts.map +1 -0
  406. package/packages/workspace-scanner/dist/index.js +4 -0
  407. package/packages/workspace-scanner/dist/index.js.map +1 -0
  408. package/packages/workspace-scanner/dist/scanner.d.ts +11 -0
  409. package/packages/workspace-scanner/dist/scanner.d.ts.map +1 -0
  410. package/packages/workspace-scanner/dist/scanner.js +46 -0
  411. package/packages/workspace-scanner/dist/scanner.js.map +1 -0
  412. package/packages/workspace-scanner/dist/src/detect.d.ts +3 -0
  413. package/packages/workspace-scanner/dist/src/detect.d.ts.map +1 -0
  414. package/packages/workspace-scanner/dist/src/detect.js +60 -0
  415. package/packages/workspace-scanner/dist/src/detect.js.map +1 -0
  416. package/packages/workspace-scanner/dist/src/git.d.ts +7 -0
  417. package/packages/workspace-scanner/dist/src/git.d.ts.map +1 -0
  418. package/packages/workspace-scanner/dist/src/git.js +75 -0
  419. package/packages/workspace-scanner/dist/src/git.js.map +1 -0
  420. package/packages/workspace-scanner/dist/src/index.d.ts +5 -0
  421. package/packages/workspace-scanner/dist/src/index.d.ts.map +1 -0
  422. package/packages/workspace-scanner/dist/src/index.js +4 -0
  423. package/packages/workspace-scanner/dist/src/index.js.map +1 -0
  424. package/packages/workspace-scanner/dist/src/scanner.d.ts +11 -0
  425. package/packages/workspace-scanner/dist/src/scanner.d.ts.map +1 -0
  426. package/packages/workspace-scanner/dist/src/scanner.js +59 -0
  427. package/packages/workspace-scanner/dist/src/scanner.js.map +1 -0
  428. package/packages/workspace-scanner/dist/src/types.d.ts +35 -0
  429. package/packages/workspace-scanner/dist/src/types.d.ts.map +1 -0
  430. package/packages/workspace-scanner/dist/src/types.js +5 -0
  431. package/packages/workspace-scanner/dist/src/types.js.map +1 -0
  432. package/packages/workspace-scanner/dist/test/scanner.test.js +34 -0
  433. package/packages/workspace-scanner/dist/types.d.ts +35 -0
  434. package/packages/workspace-scanner/dist/types.d.ts.map +1 -0
  435. package/packages/workspace-scanner/dist/types.js +5 -0
  436. package/packages/workspace-scanner/dist/types.js.map +1 -0
  437. package/packages/workspace-scanner/package.json +12 -0
  438. package/packages/workspace-scanner/src/detect.ts +77 -0
  439. package/packages/workspace-scanner/src/git.ts +83 -0
  440. package/packages/workspace-scanner/src/index.ts +9 -0
  441. package/packages/workspace-scanner/src/scanner.ts +73 -0
  442. package/packages/workspace-scanner/src/types.ts +48 -0
  443. package/packages/workspace-scanner/test/scanner.test.js +31 -0
  444. package/packages/workspace-scanner/test/scanner.test.ts +42 -0
  445. package/packages/workspace-scanner/tsconfig.json +10 -0
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Intent Analyzer — Analyzer
3
+ *
4
+ * Keyword-based intent detection.
5
+ */
6
+ const INTENT_RULES = [
7
+ {
8
+ kind: "bug_fix",
9
+ keywords: [
10
+ "fix",
11
+ "bug",
12
+ "error",
13
+ "crash",
14
+ "fail",
15
+ "broken",
16
+ "issue",
17
+ "defect",
18
+ "patch",
19
+ "hotfix",
20
+ ],
21
+ weight: 2,
22
+ confidence: "high",
23
+ },
24
+ {
25
+ kind: "feature",
26
+ keywords: ["add", "implement", "new", "create", "build", "introduce"],
27
+ weight: 2,
28
+ confidence: "high",
29
+ },
30
+ {
31
+ kind: "refactor",
32
+ keywords: [
33
+ "refactor",
34
+ "rename",
35
+ "move",
36
+ "extract",
37
+ "restructure",
38
+ "cleanup",
39
+ "simplify",
40
+ "rewrite",
41
+ ],
42
+ weight: 2,
43
+ confidence: "high",
44
+ },
45
+ {
46
+ kind: "code_review",
47
+ keywords: [
48
+ "review",
49
+ "check code",
50
+ "audit",
51
+ "critique",
52
+ "evaluate",
53
+ "assess",
54
+ ],
55
+ weight: 2,
56
+ confidence: "high",
57
+ },
58
+ {
59
+ kind: "deployment",
60
+ keywords: [
61
+ "deploy",
62
+ "release",
63
+ "publish",
64
+ "ship",
65
+ "launch",
66
+ "rollout",
67
+ "promote",
68
+ ],
69
+ weight: 2,
70
+ confidence: "high",
71
+ },
72
+ {
73
+ kind: "testing",
74
+ keywords: [
75
+ "test",
76
+ "spec",
77
+ "coverage",
78
+ "unit test",
79
+ "integration test",
80
+ "e2e",
81
+ "specify",
82
+ ],
83
+ weight: 2,
84
+ confidence: "high",
85
+ },
86
+ {
87
+ kind: "documentation",
88
+ keywords: [
89
+ "doc",
90
+ "readme",
91
+ "comment",
92
+ "document",
93
+ "guide",
94
+ "changelog",
95
+ "spec",
96
+ ],
97
+ weight: 1,
98
+ confidence: "medium",
99
+ },
100
+ {
101
+ kind: "migration",
102
+ keywords: [
103
+ "migrate",
104
+ "convert",
105
+ "port",
106
+ "upgrade",
107
+ "move to",
108
+ "transition",
109
+ ],
110
+ weight: 2,
111
+ confidence: "high",
112
+ },
113
+ {
114
+ kind: "security",
115
+ keywords: [
116
+ "security",
117
+ "vulnerability",
118
+ "exploit",
119
+ "auth",
120
+ "permission",
121
+ "cve",
122
+ "secret",
123
+ "token",
124
+ ],
125
+ weight: 2,
126
+ confidence: "high",
127
+ },
128
+ {
129
+ kind: "performance",
130
+ keywords: [
131
+ "performance",
132
+ "speed",
133
+ "optimize",
134
+ "fast",
135
+ "slow",
136
+ "latency",
137
+ "benchmark",
138
+ ],
139
+ weight: 2,
140
+ confidence: "high",
141
+ },
142
+ {
143
+ kind: "architecture",
144
+ keywords: [
145
+ "architecture",
146
+ "design",
147
+ "structure",
148
+ "system design",
149
+ "pattern",
150
+ "abstraction",
151
+ "component",
152
+ ],
153
+ weight: 2,
154
+ confidence: "medium",
155
+ },
156
+ {
157
+ kind: "research",
158
+ keywords: [
159
+ "research",
160
+ "investigate",
161
+ "explore",
162
+ "analyze",
163
+ "study",
164
+ "understand",
165
+ ],
166
+ weight: 1,
167
+ confidence: "medium",
168
+ },
169
+ {
170
+ kind: "learning",
171
+ keywords: [
172
+ "learn",
173
+ "teach",
174
+ "explain",
175
+ "how does",
176
+ "understand",
177
+ "what is",
178
+ ],
179
+ weight: 1,
180
+ confidence: "low",
181
+ },
182
+ ];
183
+ function tokenize(text) {
184
+ return text
185
+ .toLowerCase()
186
+ .replace(/[^a-z0-9\s]/g, " ")
187
+ .split(/\s+/)
188
+ .filter(Boolean);
189
+ }
190
+ export class IntentAnalyzer {
191
+ rules;
192
+ constructor(rules = INTENT_RULES) {
193
+ this.rules = rules;
194
+ }
195
+ analyze(text) {
196
+ const lower = text.toLowerCase();
197
+ const tokens = tokenize(text);
198
+ const matchedSignals = [];
199
+ let topKind = "general";
200
+ let topScore = 0;
201
+ let topConfidence = "low";
202
+ for (const rule of this.rules) {
203
+ let ruleScore = 0;
204
+ const matchedKeywords = [];
205
+ for (const keyword of rule.keywords) {
206
+ if (lower.includes(keyword)) {
207
+ ruleScore += rule.weight;
208
+ matchedKeywords.push(keyword);
209
+ }
210
+ }
211
+ if (ruleScore > topScore) {
212
+ topScore = ruleScore;
213
+ topKind = rule.kind;
214
+ topConfidence = rule.confidence;
215
+ }
216
+ for (const kw of matchedKeywords) {
217
+ matchedSignals.push({
218
+ keyword: kw,
219
+ weight: rule.weight,
220
+ matched: true,
221
+ });
222
+ }
223
+ }
224
+ if (topScore === 0) {
225
+ topKind = "general";
226
+ topConfidence = "low";
227
+ }
228
+ return {
229
+ kind: topKind,
230
+ confidence: topConfidence,
231
+ signals: matchedSignals,
232
+ originalText: text,
233
+ };
234
+ }
235
+ analyzeBatch(texts) {
236
+ return texts.map((t) => this.analyze(t));
237
+ }
238
+ }
239
+ //# sourceMappingURL=analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../src/analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { IntentAnalyzer } from "./analyzer.js";
2
+ export type { Intent, IntentKind, IntentConfidence, IntentSignal, IntentRule, } from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACV,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { IntentAnalyzer } from "./analyzer.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Intent Analyzer — Types
3
+ *
4
+ * Determines what the user is actually trying to accomplish.
5
+ */
6
+ export type IntentKind = "bug_fix" | "feature" | "architecture" | "refactor" | "code_review" | "documentation" | "testing" | "deployment" | "research" | "learning" | "migration" | "security" | "performance" | "general";
7
+ export type IntentConfidence = "high" | "medium" | "low";
8
+ export interface IntentSignal {
9
+ keyword: string;
10
+ weight: number;
11
+ matched: boolean;
12
+ }
13
+ export interface Intent {
14
+ kind: IntentKind;
15
+ confidence: IntentConfidence;
16
+ signals: IntentSignal[];
17
+ originalText: string;
18
+ derivedTask?: string;
19
+ }
20
+ export interface IntentRule {
21
+ kind: IntentKind;
22
+ keywords: string[];
23
+ weight: number;
24
+ confidence: IntentConfidence;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GACnB,SAAS,GACT,SAAS,GACT,cAAc,GACd,UAAU,GACV,aAAa,GACb,eAAe,GACf,SAAS,GACT,YAAY,GACZ,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,aAAa,GACb,SAAS,CAAC;AAEb,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,gBAAgB,CAAC;CAC7B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Intent Analyzer — Types
3
+ *
4
+ * Determines what the user is actually trying to accomplish.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,56 @@
1
+ import { describe, it } from "node:test";
2
+ import { IntentAnalyzer } from "../src/analyzer.js";
3
+ import { equal } from "node:assert";
4
+ describe("IntentAnalyzer", () => {
5
+ const analyzer = new IntentAnalyzer();
6
+ it("detects bug_fix from fix keyword", () => {
7
+ const result = analyzer.analyze("fix the login bug on line 42");
8
+ equal(result.kind, "bug_fix");
9
+ });
10
+ it("detects feature from add keyword", () => {
11
+ const result = analyzer.analyze("add dark mode support");
12
+ equal(result.kind, "feature");
13
+ });
14
+ it("detects refactor from refactor keyword", () => {
15
+ const result = analyzer.analyze("refactor the auth module");
16
+ equal(result.kind, "refactor");
17
+ });
18
+ it("detects testing from test keyword", () => {
19
+ const result = analyzer.analyze("write tests for the payment module");
20
+ equal(result.kind, "testing");
21
+ });
22
+ it("detects deployment from deploy keyword", () => {
23
+ const result = analyzer.analyze("deploy to production");
24
+ equal(result.kind, "deployment");
25
+ });
26
+ it("detects security from security keyword", () => {
27
+ const result = analyzer.analyze("fix the auth vulnerability");
28
+ equal(result.kind, "security");
29
+ });
30
+ it("detects performance from optimize keyword", () => {
31
+ const result = analyzer.analyze("optimize the database query");
32
+ equal(result.kind, "performance");
33
+ });
34
+ it("detects architecture from architecture keyword", () => {
35
+ const result = analyzer.analyze("review the architecture design");
36
+ equal(result.kind, "architecture");
37
+ });
38
+ it("detects migration from migrate keyword", () => {
39
+ const result = analyzer.analyze("migrate to TypeScript");
40
+ equal(result.kind, "migration");
41
+ });
42
+ it("falls back to general for unknown text", () => {
43
+ const result = analyzer.analyze("hello world");
44
+ equal(result.kind, "general");
45
+ });
46
+ it("returns matched signals", () => {
47
+ const result = analyzer.analyze("fix the authentication bug");
48
+ equal(result.signals.some(s => s.keyword === "fix"), true);
49
+ });
50
+ it("analyzeBatch returns multiple intents", () => {
51
+ const results = analyzer.analyzeBatch(["fix bug", "add feature"]);
52
+ equal(results.length, 2);
53
+ equal(results[0].kind, "bug_fix");
54
+ equal(results[1].kind, "feature");
55
+ });
56
+ });
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Intent Analyzer — Types
3
+ *
4
+ * Determines what the user is actually trying to accomplish.
5
+ */
6
+ export type IntentKind = "bug_fix" | "feature" | "architecture" | "refactor" | "code_review" | "documentation" | "testing" | "deployment" | "research" | "learning" | "migration" | "security" | "performance" | "general";
7
+ export type IntentConfidence = "high" | "medium" | "low";
8
+ export interface IntentSignal {
9
+ keyword: string;
10
+ weight: number;
11
+ matched: boolean;
12
+ }
13
+ export interface Intent {
14
+ kind: IntentKind;
15
+ confidence: IntentConfidence;
16
+ signals: IntentSignal[];
17
+ originalText: string;
18
+ derivedTask?: string;
19
+ }
20
+ export interface IntentRule {
21
+ kind: IntentKind;
22
+ keywords: string[];
23
+ weight: number;
24
+ confidence: IntentConfidence;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GACnB,SAAS,GACT,SAAS,GACT,cAAc,GACd,UAAU,GACV,aAAa,GACb,eAAe,GACf,SAAS,GACT,YAAY,GACZ,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,aAAa,GACb,SAAS,CAAC;AAEb,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,gBAAgB,CAAC;CAC7B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Intent Analyzer — Types
3
+ *
4
+ * Determines what the user is actually trying to accomplish.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "@pi/intent-analyzer",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "src/index.ts",
6
+ "exports": {
7
+ ".": "./src/index.ts"
8
+ },
9
+ "scripts": {
10
+ "test": "node --test"
11
+ }
12
+ }
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Intent Analyzer — Analyzer
3
+ *
4
+ * Keyword-based intent detection.
5
+ */
6
+
7
+ import type {
8
+ Intent,
9
+ IntentConfidence,
10
+ IntentKind,
11
+ IntentRule,
12
+ IntentSignal,
13
+ } from "./types.js";
14
+
15
+ const INTENT_RULES: IntentRule[] = [
16
+ {
17
+ kind: "bug_fix",
18
+ keywords: [
19
+ "fix",
20
+ "bug",
21
+ "error",
22
+ "crash",
23
+ "fail",
24
+ "broken",
25
+ "issue",
26
+ "defect",
27
+ "patch",
28
+ "hotfix",
29
+ ],
30
+ weight: 2,
31
+ confidence: "high",
32
+ },
33
+ {
34
+ kind: "feature",
35
+ keywords: ["add", "implement", "new", "create", "build", "introduce"],
36
+ weight: 2,
37
+ confidence: "high",
38
+ },
39
+ {
40
+ kind: "refactor",
41
+ keywords: [
42
+ "refactor",
43
+ "rename",
44
+ "move",
45
+ "extract",
46
+ "restructure",
47
+ "cleanup",
48
+ "simplify",
49
+ "rewrite",
50
+ ],
51
+ weight: 2,
52
+ confidence: "high",
53
+ },
54
+ {
55
+ kind: "code_review",
56
+ keywords: [
57
+ "review",
58
+ "check code",
59
+ "audit",
60
+ "critique",
61
+ "evaluate",
62
+ "assess",
63
+ ],
64
+ weight: 2,
65
+ confidence: "high",
66
+ },
67
+ {
68
+ kind: "deployment",
69
+ keywords: [
70
+ "deploy",
71
+ "release",
72
+ "publish",
73
+ "ship",
74
+ "launch",
75
+ "rollout",
76
+ "promote",
77
+ ],
78
+ weight: 2,
79
+ confidence: "high",
80
+ },
81
+ {
82
+ kind: "testing",
83
+ keywords: [
84
+ "test",
85
+ "spec",
86
+ "coverage",
87
+ "unit test",
88
+ "integration test",
89
+ "e2e",
90
+ "specify",
91
+ ],
92
+ weight: 2,
93
+ confidence: "high",
94
+ },
95
+ {
96
+ kind: "documentation",
97
+ keywords: [
98
+ "doc",
99
+ "readme",
100
+ "comment",
101
+ "document",
102
+ "guide",
103
+ "changelog",
104
+ "spec",
105
+ ],
106
+ weight: 1,
107
+ confidence: "medium",
108
+ },
109
+ {
110
+ kind: "migration",
111
+ keywords: [
112
+ "migrate",
113
+ "convert",
114
+ "port",
115
+ "upgrade",
116
+ "move to",
117
+ "transition",
118
+ ],
119
+ weight: 2,
120
+ confidence: "high",
121
+ },
122
+ {
123
+ kind: "security",
124
+ keywords: [
125
+ "security",
126
+ "vulnerability",
127
+ "exploit",
128
+ "auth",
129
+ "permission",
130
+ "cve",
131
+ "secret",
132
+ "token",
133
+ ],
134
+ weight: 2,
135
+ confidence: "high",
136
+ },
137
+ {
138
+ kind: "performance",
139
+ keywords: [
140
+ "performance",
141
+ "speed",
142
+ "optimize",
143
+ "fast",
144
+ "slow",
145
+ "latency",
146
+ "benchmark",
147
+ ],
148
+ weight: 2,
149
+ confidence: "high",
150
+ },
151
+ {
152
+ kind: "architecture",
153
+ keywords: [
154
+ "architecture",
155
+ "design",
156
+ "structure",
157
+ "system design",
158
+ "pattern",
159
+ "abstraction",
160
+ "component",
161
+ ],
162
+ weight: 2,
163
+ confidence: "medium",
164
+ },
165
+ {
166
+ kind: "research",
167
+ keywords: [
168
+ "research",
169
+ "investigate",
170
+ "explore",
171
+ "analyze",
172
+ "study",
173
+ "understand",
174
+ ],
175
+ weight: 1,
176
+ confidence: "medium",
177
+ },
178
+ {
179
+ kind: "learning",
180
+ keywords: [
181
+ "learn",
182
+ "teach",
183
+ "explain",
184
+ "how does",
185
+ "understand",
186
+ "what is",
187
+ ],
188
+ weight: 1,
189
+ confidence: "low",
190
+ },
191
+ ];
192
+
193
+ function tokenize(text: string): string[] {
194
+ return text
195
+ .toLowerCase()
196
+ .replace(/[^a-z0-9\s]/g, " ")
197
+ .split(/\s+/)
198
+ .filter(Boolean);
199
+ }
200
+
201
+ export class IntentAnalyzer {
202
+ private rules: IntentRule[];
203
+
204
+ constructor(rules: IntentRule[] = INTENT_RULES) {
205
+ this.rules = rules;
206
+ }
207
+
208
+ analyze(text: string): Intent {
209
+ const lower = text.toLowerCase();
210
+ const tokens = tokenize(text);
211
+
212
+ const matchedSignals: IntentSignal[] = [];
213
+ let topKind: IntentKind = "general";
214
+ let topScore = 0;
215
+ let topConfidence: IntentConfidence = "low";
216
+
217
+ for (const rule of this.rules) {
218
+ let ruleScore = 0;
219
+ const matchedKeywords: string[] = [];
220
+
221
+ for (const keyword of rule.keywords) {
222
+ if (lower.includes(keyword)) {
223
+ ruleScore += rule.weight;
224
+ matchedKeywords.push(keyword);
225
+ }
226
+ }
227
+
228
+ if (ruleScore > topScore) {
229
+ topScore = ruleScore;
230
+ topKind = rule.kind;
231
+ topConfidence = rule.confidence;
232
+ }
233
+
234
+ for (const kw of matchedKeywords) {
235
+ matchedSignals.push({
236
+ keyword: kw,
237
+ weight: rule.weight,
238
+ matched: true,
239
+ });
240
+ }
241
+ }
242
+
243
+ if (topScore === 0) {
244
+ topKind = "general";
245
+ topConfidence = "low";
246
+ }
247
+
248
+ return {
249
+ kind: topKind,
250
+ confidence: topConfidence,
251
+ signals: matchedSignals,
252
+ originalText: text,
253
+ };
254
+ }
255
+
256
+ analyzeBatch(texts: string[]): Intent[] {
257
+ return texts.map((t) => this.analyze(t));
258
+ }
259
+ }
@@ -0,0 +1,8 @@
1
+ export { IntentAnalyzer } from "./analyzer.js";
2
+ export type {
3
+ Intent,
4
+ IntentKind,
5
+ IntentConfidence,
6
+ IntentSignal,
7
+ IntentRule,
8
+ } from "./types.js";