@su-record/vibe 2.7.2 → 2.7.5

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 (1567) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +222 -222
  3. package/LICENSE +21 -21
  4. package/README.md +580 -580
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +266 -266
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +260 -260
  54. package/commands/vibe.run.md +1 -1
  55. package/commands/vibe.spec.md +8 -8
  56. package/commands/vibe.spec.review.md +558 -558
  57. package/commands/vibe.utils.md +413 -413
  58. package/commands/vibe.voice.md +79 -79
  59. package/dist/agent/AgentLoop.d.ts +97 -0
  60. package/dist/agent/AgentLoop.d.ts.map +1 -0
  61. package/dist/agent/AgentLoop.js +546 -0
  62. package/dist/agent/AgentLoop.js.map +1 -0
  63. package/dist/agent/ConversationState.d.ts +29 -0
  64. package/dist/agent/ConversationState.d.ts.map +1 -0
  65. package/dist/agent/ConversationState.js +107 -0
  66. package/dist/agent/ConversationState.js.map +1 -0
  67. package/dist/agent/ConversationStore.d.ts +31 -0
  68. package/dist/agent/ConversationStore.d.ts.map +1 -0
  69. package/dist/agent/ConversationStore.integration.test.d.ts +2 -0
  70. package/dist/agent/ConversationStore.integration.test.d.ts.map +1 -0
  71. package/dist/agent/ConversationStore.integration.test.js +162 -0
  72. package/dist/agent/ConversationStore.integration.test.js.map +1 -0
  73. package/dist/agent/ConversationStore.js +126 -0
  74. package/dist/agent/ConversationStore.js.map +1 -0
  75. package/dist/agent/ConversationStore.test.d.ts +2 -0
  76. package/dist/agent/ConversationStore.test.d.ts.map +1 -0
  77. package/dist/agent/ConversationStore.test.js +93 -0
  78. package/dist/agent/ConversationStore.test.js.map +1 -0
  79. package/dist/agent/HeadModelSelector.d.ts +36 -0
  80. package/dist/agent/HeadModelSelector.d.ts.map +1 -0
  81. package/dist/agent/HeadModelSelector.js +124 -0
  82. package/dist/agent/HeadModelSelector.js.map +1 -0
  83. package/dist/agent/RateLimiter.d.ts +44 -0
  84. package/dist/agent/RateLimiter.d.ts.map +1 -0
  85. package/dist/agent/RateLimiter.js +71 -0
  86. package/dist/agent/RateLimiter.js.map +1 -0
  87. package/dist/agent/SystemPrompt.d.ts +35 -0
  88. package/dist/agent/SystemPrompt.d.ts.map +1 -0
  89. package/dist/agent/SystemPrompt.js +151 -0
  90. package/dist/agent/SystemPrompt.js.map +1 -0
  91. package/dist/agent/ToolExecutor.d.ts +33 -0
  92. package/dist/agent/ToolExecutor.d.ts.map +1 -0
  93. package/dist/agent/ToolExecutor.js +123 -0
  94. package/dist/agent/ToolExecutor.js.map +1 -0
  95. package/dist/agent/ToolRegistry.d.ts +37 -0
  96. package/dist/agent/ToolRegistry.d.ts.map +1 -0
  97. package/dist/agent/ToolRegistry.js +125 -0
  98. package/dist/agent/ToolRegistry.js.map +1 -0
  99. package/dist/agent/__tests__/AgentLoop.test.d.ts +6 -0
  100. package/dist/agent/__tests__/AgentLoop.test.d.ts.map +1 -0
  101. package/dist/agent/__tests__/AgentLoop.test.js +208 -0
  102. package/dist/agent/__tests__/AgentLoop.test.js.map +1 -0
  103. package/dist/agent/__tests__/ConversationState.test.d.ts +6 -0
  104. package/dist/agent/__tests__/ConversationState.test.d.ts.map +1 -0
  105. package/dist/agent/__tests__/ConversationState.test.js +102 -0
  106. package/dist/agent/__tests__/ConversationState.test.js.map +1 -0
  107. package/dist/agent/__tests__/HeadModelSelector.test.d.ts +6 -0
  108. package/dist/agent/__tests__/HeadModelSelector.test.d.ts.map +1 -0
  109. package/dist/agent/__tests__/HeadModelSelector.test.js +132 -0
  110. package/dist/agent/__tests__/HeadModelSelector.test.js.map +1 -0
  111. package/dist/agent/__tests__/JobManager.test.d.ts +6 -0
  112. package/dist/agent/__tests__/JobManager.test.d.ts.map +1 -0
  113. package/dist/agent/__tests__/JobManager.test.js +197 -0
  114. package/dist/agent/__tests__/JobManager.test.js.map +1 -0
  115. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts +6 -0
  116. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts.map +1 -0
  117. package/dist/agent/__tests__/MediaPreprocessor.test.js +163 -0
  118. package/dist/agent/__tests__/MediaPreprocessor.test.js.map +1 -0
  119. package/dist/agent/__tests__/ToolExecutor.test.d.ts +6 -0
  120. package/dist/agent/__tests__/ToolExecutor.test.d.ts.map +1 -0
  121. package/dist/agent/__tests__/ToolExecutor.test.js +140 -0
  122. package/dist/agent/__tests__/ToolExecutor.test.js.map +1 -0
  123. package/dist/agent/__tests__/ToolRegistry.test.d.ts +6 -0
  124. package/dist/agent/__tests__/ToolRegistry.test.d.ts.map +1 -0
  125. package/dist/agent/__tests__/ToolRegistry.test.js +172 -0
  126. package/dist/agent/__tests__/ToolRegistry.test.js.map +1 -0
  127. package/dist/agent/__tests__/tools.test.d.ts +6 -0
  128. package/dist/agent/__tests__/tools.test.d.ts.map +1 -0
  129. package/dist/agent/__tests__/tools.test.js +177 -0
  130. package/dist/agent/__tests__/tools.test.js.map +1 -0
  131. package/dist/agent/index.d.ts +19 -0
  132. package/dist/agent/index.d.ts.map +1 -0
  133. package/dist/agent/index.js +18 -0
  134. package/dist/agent/index.js.map +1 -0
  135. package/dist/agent/jobs/JobManager.d.ts +46 -0
  136. package/dist/agent/jobs/JobManager.d.ts.map +1 -0
  137. package/dist/agent/jobs/JobManager.js +213 -0
  138. package/dist/agent/jobs/JobManager.js.map +1 -0
  139. package/dist/agent/jobs/ProgressReporter.d.ts +32 -0
  140. package/dist/agent/jobs/ProgressReporter.d.ts.map +1 -0
  141. package/dist/agent/jobs/ProgressReporter.js +82 -0
  142. package/dist/agent/jobs/ProgressReporter.js.map +1 -0
  143. package/dist/agent/jobs/types.d.ts +32 -0
  144. package/dist/agent/jobs/types.d.ts.map +1 -0
  145. package/dist/agent/jobs/types.js +6 -0
  146. package/dist/agent/jobs/types.js.map +1 -0
  147. package/dist/agent/policy-integration.test.d.ts +6 -0
  148. package/dist/agent/policy-integration.test.d.ts.map +1 -0
  149. package/dist/agent/policy-integration.test.js +148 -0
  150. package/dist/agent/policy-integration.test.js.map +1 -0
  151. package/dist/agent/preprocessors/MediaPreprocessor.d.ts +63 -0
  152. package/dist/agent/preprocessors/MediaPreprocessor.d.ts.map +1 -0
  153. package/dist/agent/preprocessors/MediaPreprocessor.js +320 -0
  154. package/dist/agent/preprocessors/MediaPreprocessor.js.map +1 -0
  155. package/dist/agent/providers/claude-head.d.ts +17 -0
  156. package/dist/agent/providers/claude-head.d.ts.map +1 -0
  157. package/dist/agent/providers/claude-head.js +124 -0
  158. package/dist/agent/providers/claude-head.js.map +1 -0
  159. package/dist/agent/providers/gpt-head.d.ts +30 -0
  160. package/dist/agent/providers/gpt-head.d.ts.map +1 -0
  161. package/dist/agent/providers/gpt-head.js +359 -0
  162. package/dist/agent/providers/gpt-head.js.map +1 -0
  163. package/dist/agent/tools/claude-code.d.ts +11 -0
  164. package/dist/agent/tools/claude-code.d.ts.map +1 -0
  165. package/dist/agent/tools/claude-code.js +148 -0
  166. package/dist/agent/tools/claude-code.js.map +1 -0
  167. package/dist/agent/tools/dm-pair.d.ts +23 -0
  168. package/dist/agent/tools/dm-pair.d.ts.map +1 -0
  169. package/dist/agent/tools/dm-pair.js +70 -0
  170. package/dist/agent/tools/dm-pair.js.map +1 -0
  171. package/dist/agent/tools/dm-pair.test.d.ts +6 -0
  172. package/dist/agent/tools/dm-pair.test.d.ts.map +1 -0
  173. package/dist/agent/tools/dm-pair.test.js +106 -0
  174. package/dist/agent/tools/dm-pair.test.js.map +1 -0
  175. package/dist/agent/tools/gemini-stt.d.ts +9 -0
  176. package/dist/agent/tools/gemini-stt.d.ts.map +1 -0
  177. package/dist/agent/tools/gemini-stt.js +33 -0
  178. package/dist/agent/tools/gemini-stt.js.map +1 -0
  179. package/dist/agent/tools/google-search.d.ts +9 -0
  180. package/dist/agent/tools/google-search.d.ts.map +1 -0
  181. package/dist/agent/tools/google-search.js +38 -0
  182. package/dist/agent/tools/google-search.js.map +1 -0
  183. package/dist/agent/tools/index.d.ts +22 -0
  184. package/dist/agent/tools/index.d.ts.map +1 -0
  185. package/dist/agent/tools/index.js +37 -0
  186. package/dist/agent/tools/index.js.map +1 -0
  187. package/dist/agent/tools/kimi-analyze.d.ts +9 -0
  188. package/dist/agent/tools/kimi-analyze.d.ts.map +1 -0
  189. package/dist/agent/tools/kimi-analyze.js +49 -0
  190. package/dist/agent/tools/kimi-analyze.js.map +1 -0
  191. package/dist/agent/tools/manage-memory.d.ts +10 -0
  192. package/dist/agent/tools/manage-memory.d.ts.map +1 -0
  193. package/dist/agent/tools/manage-memory.js +70 -0
  194. package/dist/agent/tools/manage-memory.js.map +1 -0
  195. package/dist/agent/tools/send-imessage.d.ts +19 -0
  196. package/dist/agent/tools/send-imessage.d.ts.map +1 -0
  197. package/dist/agent/tools/send-imessage.js +67 -0
  198. package/dist/agent/tools/send-imessage.js.map +1 -0
  199. package/dist/agent/tools/send-slack.d.ts +21 -0
  200. package/dist/agent/tools/send-slack.d.ts.map +1 -0
  201. package/dist/agent/tools/send-slack.js +63 -0
  202. package/dist/agent/tools/send-slack.js.map +1 -0
  203. package/dist/agent/tools/send-telegram.d.ts +20 -0
  204. package/dist/agent/tools/send-telegram.d.ts.map +1 -0
  205. package/dist/agent/tools/send-telegram.js +58 -0
  206. package/dist/agent/tools/send-telegram.js.map +1 -0
  207. package/dist/agent/tools/vision-analyze.d.ts +11 -0
  208. package/dist/agent/tools/vision-analyze.d.ts.map +1 -0
  209. package/dist/agent/tools/vision-analyze.js +103 -0
  210. package/dist/agent/tools/vision-analyze.js.map +1 -0
  211. package/dist/agent/tools/vision-capture.d.ts +13 -0
  212. package/dist/agent/tools/vision-capture.d.ts.map +1 -0
  213. package/dist/agent/tools/vision-capture.js +87 -0
  214. package/dist/agent/tools/vision-capture.js.map +1 -0
  215. package/dist/agent/tools/web-browse.d.ts +20 -0
  216. package/dist/agent/tools/web-browse.d.ts.map +1 -0
  217. package/dist/agent/tools/web-browse.js +196 -0
  218. package/dist/agent/tools/web-browse.js.map +1 -0
  219. package/dist/agent/types.d.ts +151 -0
  220. package/dist/agent/types.d.ts.map +1 -0
  221. package/dist/agent/types.js +6 -0
  222. package/dist/agent/types.js.map +1 -0
  223. package/dist/bridge/telegram-assistant-bridge.d.ts +10 -0
  224. package/dist/bridge/telegram-assistant-bridge.d.ts.map +1 -0
  225. package/dist/bridge/telegram-assistant-bridge.js +274 -0
  226. package/dist/bridge/telegram-assistant-bridge.js.map +1 -0
  227. package/dist/bridge/telegram-bridge.d.ts +10 -0
  228. package/dist/bridge/telegram-bridge.d.ts.map +1 -0
  229. package/dist/bridge/telegram-bridge.js +154 -0
  230. package/dist/bridge/telegram-bridge.js.map +1 -0
  231. package/dist/cli/collaborator.js +52 -52
  232. package/dist/cli/commands/autostart.d.ts +19 -0
  233. package/dist/cli/commands/autostart.d.ts.map +1 -0
  234. package/dist/cli/commands/autostart.js +213 -0
  235. package/dist/cli/commands/autostart.js.map +1 -0
  236. package/dist/cli/commands/browser.d.ts +12 -0
  237. package/dist/cli/commands/browser.d.ts.map +1 -0
  238. package/dist/cli/commands/browser.js +50 -0
  239. package/dist/cli/commands/browser.js.map +1 -0
  240. package/dist/cli/commands/daemon.d.ts +16 -0
  241. package/dist/cli/commands/daemon.d.ts.map +1 -0
  242. package/dist/cli/commands/daemon.js +277 -0
  243. package/dist/cli/commands/daemon.js.map +1 -0
  244. package/dist/cli/commands/device.d.ts +9 -0
  245. package/dist/cli/commands/device.d.ts.map +1 -0
  246. package/dist/cli/commands/device.js +56 -0
  247. package/dist/cli/commands/device.js.map +1 -0
  248. package/dist/cli/commands/evolution.js +12 -12
  249. package/dist/cli/commands/google.d.ts +12 -0
  250. package/dist/cli/commands/google.d.ts.map +1 -0
  251. package/dist/cli/commands/google.js +83 -0
  252. package/dist/cli/commands/google.js.map +1 -0
  253. package/dist/cli/commands/imessage.d.ts +11 -0
  254. package/dist/cli/commands/imessage.d.ts.map +1 -0
  255. package/dist/cli/commands/imessage.js +85 -0
  256. package/dist/cli/commands/imessage.js.map +1 -0
  257. package/dist/cli/commands/info.js +54 -54
  258. package/dist/cli/commands/init.js +6 -6
  259. package/dist/cli/commands/interface.d.ts +15 -0
  260. package/dist/cli/commands/interface.d.ts.map +1 -0
  261. package/dist/cli/commands/interface.js +167 -0
  262. package/dist/cli/commands/interface.js.map +1 -0
  263. package/dist/cli/commands/job.d.ts +14 -0
  264. package/dist/cli/commands/job.d.ts.map +1 -0
  265. package/dist/cli/commands/job.js +170 -0
  266. package/dist/cli/commands/job.js.map +1 -0
  267. package/dist/cli/commands/pc.d.ts +12 -0
  268. package/dist/cli/commands/pc.d.ts.map +1 -0
  269. package/dist/cli/commands/pc.js +75 -0
  270. package/dist/cli/commands/pc.js.map +1 -0
  271. package/dist/cli/commands/policy.d.ts +10 -0
  272. package/dist/cli/commands/policy.d.ts.map +1 -0
  273. package/dist/cli/commands/policy.js +75 -0
  274. package/dist/cli/commands/policy.js.map +1 -0
  275. package/dist/cli/commands/remove.js +14 -14
  276. package/dist/cli/commands/sandbox.d.ts +10 -0
  277. package/dist/cli/commands/sandbox.d.ts.map +1 -0
  278. package/dist/cli/commands/sandbox.js +53 -0
  279. package/dist/cli/commands/sandbox.js.map +1 -0
  280. package/dist/cli/commands/sentinel.js +27 -27
  281. package/dist/cli/commands/setup.d.ts.map +1 -1
  282. package/dist/cli/commands/setup.js +1 -25
  283. package/dist/cli/commands/setup.js.map +1 -1
  284. package/dist/cli/commands/slack.js +10 -10
  285. package/dist/cli/commands/sync.d.ts +9 -0
  286. package/dist/cli/commands/sync.d.ts.map +1 -0
  287. package/dist/cli/commands/sync.js +167 -0
  288. package/dist/cli/commands/sync.js.map +1 -0
  289. package/dist/cli/commands/telegram.js +12 -12
  290. package/dist/cli/commands/vision.d.ts +12 -0
  291. package/dist/cli/commands/vision.d.ts.map +1 -0
  292. package/dist/cli/commands/vision.js +74 -0
  293. package/dist/cli/commands/vision.js.map +1 -0
  294. package/dist/cli/commands/voice.d.ts +12 -0
  295. package/dist/cli/commands/voice.d.ts.map +1 -0
  296. package/dist/cli/commands/voice.js +67 -0
  297. package/dist/cli/commands/voice.js.map +1 -0
  298. package/dist/cli/commands/webhook.d.ts +9 -0
  299. package/dist/cli/commands/webhook.d.ts.map +1 -0
  300. package/dist/cli/commands/webhook.js +85 -0
  301. package/dist/cli/commands/webhook.js.map +1 -0
  302. package/dist/cli/detect.js +32 -32
  303. package/dist/cli/hud.d.ts +46 -0
  304. package/dist/cli/hud.d.ts.map +1 -0
  305. package/dist/cli/hud.js +392 -0
  306. package/dist/cli/hud.js.map +1 -0
  307. package/dist/cli/index.d.ts.map +1 -1
  308. package/dist/cli/index.js +48 -53
  309. package/dist/cli/index.js.map +1 -1
  310. package/dist/cli/llm/az-commands.d.ts +12 -0
  311. package/dist/cli/llm/az-commands.d.ts.map +1 -0
  312. package/dist/cli/llm/az-commands.js +99 -0
  313. package/dist/cli/llm/az-commands.js.map +1 -0
  314. package/dist/cli/llm/claude-commands.js +16 -16
  315. package/dist/cli/llm/config.js +18 -18
  316. package/dist/cli/llm/gemini-commands.js +47 -47
  317. package/dist/cli/llm/gpt-commands.d.ts +6 -13
  318. package/dist/cli/llm/gpt-commands.d.ts.map +1 -1
  319. package/dist/cli/llm/gpt-commands.js +47 -117
  320. package/dist/cli/llm/gpt-commands.js.map +1 -1
  321. package/dist/cli/llm/help.js +21 -21
  322. package/dist/cli/llm/kimi-commands.d.ts +12 -0
  323. package/dist/cli/llm/kimi-commands.d.ts.map +1 -0
  324. package/dist/cli/llm/kimi-commands.js +100 -0
  325. package/dist/cli/llm/kimi-commands.js.map +1 -0
  326. package/dist/cli/llm/nvidia-commands.d.ts +16 -0
  327. package/dist/cli/llm/nvidia-commands.d.ts.map +1 -0
  328. package/dist/cli/llm/nvidia-commands.js +105 -0
  329. package/dist/cli/llm/nvidia-commands.js.map +1 -0
  330. package/dist/cli/llm/priority-commands.d.ts +18 -0
  331. package/dist/cli/llm/priority-commands.d.ts.map +1 -0
  332. package/dist/cli/llm/priority-commands.js +69 -0
  333. package/dist/cli/llm/priority-commands.js.map +1 -0
  334. package/dist/cli/postinstall/cursor-agents.js +32 -32
  335. package/dist/cli/postinstall/cursor-rules.js +83 -83
  336. package/dist/cli/postinstall/cursor-skills.js +743 -743
  337. package/dist/cli/postinstall/npmrc.d.ts +9 -0
  338. package/dist/cli/postinstall/npmrc.d.ts.map +1 -0
  339. package/dist/cli/postinstall/npmrc.js +80 -0
  340. package/dist/cli/postinstall/npmrc.js.map +1 -0
  341. package/dist/cli/types.d.ts +1 -0
  342. package/dist/cli/types.d.ts.map +1 -1
  343. package/dist/daemon/DaemonIPC.d.ts +40 -0
  344. package/dist/daemon/DaemonIPC.d.ts.map +1 -0
  345. package/dist/daemon/DaemonIPC.js +327 -0
  346. package/dist/daemon/DaemonIPC.js.map +1 -0
  347. package/dist/daemon/InterfaceManager.d.ts +62 -0
  348. package/dist/daemon/InterfaceManager.d.ts.map +1 -0
  349. package/dist/daemon/InterfaceManager.js +785 -0
  350. package/dist/daemon/InterfaceManager.js.map +1 -0
  351. package/dist/daemon/SessionPool.d.ts +80 -0
  352. package/dist/daemon/SessionPool.d.ts.map +1 -0
  353. package/dist/daemon/SessionPool.js +414 -0
  354. package/dist/daemon/SessionPool.js.map +1 -0
  355. package/dist/daemon/VibeDaemon.d.ts +69 -0
  356. package/dist/daemon/VibeDaemon.d.ts.map +1 -0
  357. package/dist/daemon/VibeDaemon.js +400 -0
  358. package/dist/daemon/VibeDaemon.js.map +1 -0
  359. package/dist/daemon/daemon.test.d.ts +6 -0
  360. package/dist/daemon/daemon.test.d.ts.map +1 -0
  361. package/dist/daemon/daemon.test.js +348 -0
  362. package/dist/daemon/daemon.test.js.map +1 -0
  363. package/dist/daemon/index.d.ts +10 -0
  364. package/dist/daemon/index.d.ts.map +1 -0
  365. package/dist/daemon/index.js +9 -0
  366. package/dist/daemon/index.js.map +1 -0
  367. package/dist/daemon/pipeline.test.d.ts +6 -0
  368. package/dist/daemon/pipeline.test.d.ts.map +1 -0
  369. package/dist/daemon/pipeline.test.js +258 -0
  370. package/dist/daemon/pipeline.test.js.map +1 -0
  371. package/dist/daemon/preflight.d.ts +23 -0
  372. package/dist/daemon/preflight.d.ts.map +1 -0
  373. package/dist/daemon/preflight.js +204 -0
  374. package/dist/daemon/preflight.js.map +1 -0
  375. package/dist/daemon/preflight.test.d.ts +6 -0
  376. package/dist/daemon/preflight.test.d.ts.map +1 -0
  377. package/dist/daemon/preflight.test.js +88 -0
  378. package/dist/daemon/preflight.test.js.map +1 -0
  379. package/dist/daemon/types.d.ts +117 -0
  380. package/dist/daemon/types.d.ts.map +1 -0
  381. package/dist/daemon/types.js +15 -0
  382. package/dist/daemon/types.js.map +1 -0
  383. package/dist/infra/lib/DeepInit.js +24 -24
  384. package/dist/infra/lib/IterationTracker.js +11 -11
  385. package/dist/infra/lib/PythonParser.js +108 -108
  386. package/dist/infra/lib/ReviewRace.js +96 -96
  387. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  388. package/dist/infra/lib/SkillQualityGate.js +9 -9
  389. package/dist/infra/lib/SkillRepository.js +159 -159
  390. package/dist/infra/lib/UltraQA.js +99 -99
  391. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  392. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  393. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  394. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  395. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  396. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  397. package/dist/infra/lib/az/auth.d.ts +15 -0
  398. package/dist/infra/lib/az/auth.d.ts.map +1 -0
  399. package/dist/infra/lib/az/auth.js +67 -0
  400. package/dist/infra/lib/az/auth.js.map +1 -0
  401. package/dist/infra/lib/az/chat.d.ts +26 -0
  402. package/dist/infra/lib/az/chat.d.ts.map +1 -0
  403. package/dist/infra/lib/az/chat.js +116 -0
  404. package/dist/infra/lib/az/chat.js.map +1 -0
  405. package/dist/infra/lib/az/embedding.d.ts +13 -0
  406. package/dist/infra/lib/az/embedding.d.ts.map +1 -0
  407. package/dist/infra/lib/az/embedding.js +60 -0
  408. package/dist/infra/lib/az/embedding.js.map +1 -0
  409. package/dist/infra/lib/az/index.d.ts +9 -0
  410. package/dist/infra/lib/az/index.d.ts.map +1 -0
  411. package/dist/infra/lib/az/index.js +9 -0
  412. package/dist/infra/lib/az/index.js.map +1 -0
  413. package/dist/infra/lib/az/orchestration.d.ts +11 -0
  414. package/dist/infra/lib/az/orchestration.d.ts.map +1 -0
  415. package/dist/infra/lib/az/orchestration.js +24 -0
  416. package/dist/infra/lib/az/orchestration.js.map +1 -0
  417. package/dist/infra/lib/az/types.d.ts +35 -0
  418. package/dist/infra/lib/az/types.d.ts.map +1 -0
  419. package/dist/infra/lib/az/types.js +5 -0
  420. package/dist/infra/lib/az/types.js.map +1 -0
  421. package/dist/infra/lib/az-api.d.ts +5 -0
  422. package/dist/infra/lib/az-api.d.ts.map +1 -0
  423. package/dist/infra/lib/az-api.js +5 -0
  424. package/dist/infra/lib/az-api.js.map +1 -0
  425. package/dist/infra/lib/az-constants.d.ts +44 -0
  426. package/dist/infra/lib/az-constants.d.ts.map +1 -0
  427. package/dist/infra/lib/az-constants.js +58 -0
  428. package/dist/infra/lib/az-constants.js.map +1 -0
  429. package/dist/infra/lib/az-storage.d.ts +12 -0
  430. package/dist/infra/lib/az-storage.d.ts.map +1 -0
  431. package/dist/infra/lib/az-storage.js +59 -0
  432. package/dist/infra/lib/az-storage.js.map +1 -0
  433. package/dist/infra/lib/claude-storage.d.ts +12 -0
  434. package/dist/infra/lib/claude-storage.d.ts.map +1 -0
  435. package/dist/infra/lib/claude-storage.js +59 -0
  436. package/dist/infra/lib/claude-storage.js.map +1 -0
  437. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  438. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  439. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  440. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  441. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  442. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  443. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  444. package/dist/infra/lib/gemini/constants.js +14 -14
  445. package/dist/infra/lib/gemini/orchestration.js +5 -5
  446. package/dist/infra/lib/gemini-api.d.ts +13 -0
  447. package/dist/infra/lib/gemini-api.d.ts.map +1 -0
  448. package/dist/infra/lib/gemini-api.js +13 -0
  449. package/dist/infra/lib/gemini-api.js.map +1 -0
  450. package/dist/infra/lib/gemini-constants.d.ts +19 -0
  451. package/dist/infra/lib/gemini-constants.d.ts.map +1 -0
  452. package/dist/infra/lib/gemini-constants.js +34 -0
  453. package/dist/infra/lib/gemini-constants.js.map +1 -0
  454. package/dist/infra/lib/gemini-oauth.d.ts +60 -0
  455. package/dist/infra/lib/gemini-oauth.d.ts.map +1 -0
  456. package/dist/infra/lib/gemini-oauth.js +386 -0
  457. package/dist/infra/lib/gemini-oauth.js.map +1 -0
  458. package/dist/infra/lib/gemini-storage.d.ts +64 -0
  459. package/dist/infra/lib/gemini-storage.d.ts.map +1 -0
  460. package/dist/infra/lib/gemini-storage.js +177 -0
  461. package/dist/infra/lib/gemini-storage.js.map +1 -0
  462. package/dist/infra/lib/gpt/auth.d.ts +18 -2
  463. package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
  464. package/dist/infra/lib/gpt/auth.js +91 -7
  465. package/dist/infra/lib/gpt/auth.js.map +1 -1
  466. package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
  467. package/dist/infra/lib/gpt/chat.js +1 -0
  468. package/dist/infra/lib/gpt/chat.js.map +1 -1
  469. package/dist/infra/lib/gpt/oauth.js +44 -44
  470. package/dist/infra/lib/gpt/orchestration.js +4 -4
  471. package/dist/infra/lib/gpt/types.d.ts +1 -1
  472. package/dist/infra/lib/gpt/types.d.ts.map +1 -1
  473. package/dist/infra/lib/gpt-api.d.ts +13 -0
  474. package/dist/infra/lib/gpt-api.d.ts.map +1 -0
  475. package/dist/infra/lib/gpt-api.js +13 -0
  476. package/dist/infra/lib/gpt-api.js.map +1 -0
  477. package/dist/infra/lib/gpt-constants.d.ts +12 -0
  478. package/dist/infra/lib/gpt-constants.d.ts.map +1 -0
  479. package/dist/infra/lib/gpt-constants.js +18 -0
  480. package/dist/infra/lib/gpt-constants.js.map +1 -0
  481. package/dist/infra/lib/gpt-oauth.d.ts +66 -0
  482. package/dist/infra/lib/gpt-oauth.d.ts.map +1 -0
  483. package/dist/infra/lib/gpt-oauth.js +389 -0
  484. package/dist/infra/lib/gpt-oauth.js.map +1 -0
  485. package/dist/infra/lib/gpt-storage.d.ts +64 -0
  486. package/dist/infra/lib/gpt-storage.d.ts.map +1 -0
  487. package/dist/infra/lib/gpt-storage.js +180 -0
  488. package/dist/infra/lib/gpt-storage.js.map +1 -0
  489. package/dist/infra/lib/kimi/auth.d.ts +10 -0
  490. package/dist/infra/lib/kimi/auth.d.ts.map +1 -0
  491. package/dist/infra/lib/kimi/auth.js +45 -0
  492. package/dist/infra/lib/kimi/auth.js.map +1 -0
  493. package/dist/infra/lib/kimi/chat.d.ts +26 -0
  494. package/dist/infra/lib/kimi/chat.d.ts.map +1 -0
  495. package/dist/infra/lib/kimi/chat.js +115 -0
  496. package/dist/infra/lib/kimi/chat.js.map +1 -0
  497. package/dist/infra/lib/kimi/index.d.ts +8 -0
  498. package/dist/infra/lib/kimi/index.d.ts.map +1 -0
  499. package/dist/infra/lib/kimi/index.js +8 -0
  500. package/dist/infra/lib/kimi/index.js.map +1 -0
  501. package/dist/infra/lib/kimi/orchestration.d.ts +10 -0
  502. package/dist/infra/lib/kimi/orchestration.d.ts.map +1 -0
  503. package/dist/infra/lib/kimi/orchestration.js +22 -0
  504. package/dist/infra/lib/kimi/orchestration.js.map +1 -0
  505. package/dist/infra/lib/kimi/types.d.ts +30 -0
  506. package/dist/infra/lib/kimi/types.d.ts.map +1 -0
  507. package/dist/infra/lib/kimi/types.js +5 -0
  508. package/dist/infra/lib/kimi/types.js.map +1 -0
  509. package/dist/infra/lib/kimi-api.d.ts +5 -0
  510. package/dist/infra/lib/kimi-api.d.ts.map +1 -0
  511. package/dist/infra/lib/kimi-api.js +5 -0
  512. package/dist/infra/lib/kimi-api.js.map +1 -0
  513. package/dist/infra/lib/kimi-constants.d.ts +27 -0
  514. package/dist/infra/lib/kimi-constants.d.ts.map +1 -0
  515. package/dist/infra/lib/kimi-constants.js +31 -0
  516. package/dist/infra/lib/kimi-constants.js.map +1 -0
  517. package/dist/infra/lib/kimi-storage.d.ts +12 -0
  518. package/dist/infra/lib/kimi-storage.d.ts.map +1 -0
  519. package/dist/infra/lib/kimi-storage.js +59 -0
  520. package/dist/infra/lib/kimi-storage.js.map +1 -0
  521. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  522. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  523. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  524. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  525. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  526. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  527. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  528. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  529. package/dist/infra/lib/priority-config.d.ts +39 -0
  530. package/dist/infra/lib/priority-config.d.ts.map +1 -0
  531. package/dist/infra/lib/priority-config.js +137 -0
  532. package/dist/infra/lib/priority-config.js.map +1 -0
  533. package/dist/infra/lib/sync/constants.d.ts +21 -0
  534. package/dist/infra/lib/sync/constants.d.ts.map +1 -0
  535. package/dist/infra/lib/sync/constants.js +78 -0
  536. package/dist/infra/lib/sync/constants.js.map +1 -0
  537. package/dist/infra/lib/sync/crypto.d.ts +23 -0
  538. package/dist/infra/lib/sync/crypto.d.ts.map +1 -0
  539. package/dist/infra/lib/sync/crypto.js +55 -0
  540. package/dist/infra/lib/sync/crypto.js.map +1 -0
  541. package/dist/infra/lib/sync/drive.d.ts +22 -0
  542. package/dist/infra/lib/sync/drive.d.ts.map +1 -0
  543. package/dist/infra/lib/sync/drive.js +99 -0
  544. package/dist/infra/lib/sync/drive.js.map +1 -0
  545. package/dist/infra/lib/sync/index.d.ts +9 -0
  546. package/dist/infra/lib/sync/index.d.ts.map +1 -0
  547. package/dist/infra/lib/sync/index.js +9 -0
  548. package/dist/infra/lib/sync/index.js.map +1 -0
  549. package/dist/infra/lib/sync/oauth.d.ts +12 -0
  550. package/dist/infra/lib/sync/oauth.d.ts.map +1 -0
  551. package/dist/infra/lib/sync/oauth.js +157 -0
  552. package/dist/infra/lib/sync/oauth.js.map +1 -0
  553. package/dist/infra/lib/sync/storage.d.ts +21 -0
  554. package/dist/infra/lib/sync/storage.d.ts.map +1 -0
  555. package/dist/infra/lib/sync/storage.js +32 -0
  556. package/dist/infra/lib/sync/storage.js.map +1 -0
  557. package/dist/infra/orchestrator/AgentManager.js +12 -12
  558. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  559. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  560. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  561. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  562. package/dist/infra/policy/Evidence.d.ts +30 -0
  563. package/dist/infra/policy/Evidence.d.ts.map +1 -0
  564. package/dist/infra/policy/Evidence.js +134 -0
  565. package/dist/infra/policy/Evidence.js.map +1 -0
  566. package/dist/infra/policy/PolicyEngine.d.ts +34 -0
  567. package/dist/infra/policy/PolicyEngine.d.ts.map +1 -0
  568. package/dist/infra/policy/PolicyEngine.js +219 -0
  569. package/dist/infra/policy/PolicyEngine.js.map +1 -0
  570. package/dist/infra/policy/PolicyStore.d.ts +36 -0
  571. package/dist/infra/policy/PolicyStore.d.ts.map +1 -0
  572. package/dist/infra/policy/PolicyStore.js +160 -0
  573. package/dist/infra/policy/PolicyStore.js.map +1 -0
  574. package/dist/infra/policy/RiskCalculator.d.ts +20 -0
  575. package/dist/infra/policy/RiskCalculator.d.ts.map +1 -0
  576. package/dist/infra/policy/RiskCalculator.js +64 -0
  577. package/dist/infra/policy/RiskCalculator.js.map +1 -0
  578. package/dist/infra/policy/default-policies.d.ts +13 -0
  579. package/dist/infra/policy/default-policies.d.ts.map +1 -0
  580. package/dist/infra/policy/default-policies.js +99 -0
  581. package/dist/infra/policy/default-policies.js.map +1 -0
  582. package/dist/infra/policy/index.d.ts +11 -0
  583. package/dist/infra/policy/index.d.ts.map +1 -0
  584. package/dist/infra/policy/index.js +10 -0
  585. package/dist/infra/policy/index.js.map +1 -0
  586. package/dist/infra/policy/policy.test.d.ts +5 -0
  587. package/dist/infra/policy/policy.test.d.ts.map +1 -0
  588. package/dist/infra/policy/policy.test.js +628 -0
  589. package/dist/infra/policy/policy.test.js.map +1 -0
  590. package/dist/infra/policy/types.d.ts +71 -0
  591. package/dist/infra/policy/types.d.ts.map +1 -0
  592. package/dist/infra/policy/types.js +18 -0
  593. package/dist/infra/policy/types.js.map +1 -0
  594. package/dist/interface/BaseInterface.d.ts +37 -0
  595. package/dist/interface/BaseInterface.d.ts.map +1 -0
  596. package/dist/interface/BaseInterface.js +105 -0
  597. package/dist/interface/BaseInterface.js.map +1 -0
  598. package/dist/interface/ClaudeCodeBridge.d.ts +38 -0
  599. package/dist/interface/ClaudeCodeBridge.d.ts.map +1 -0
  600. package/dist/interface/ClaudeCodeBridge.js +216 -0
  601. package/dist/interface/ClaudeCodeBridge.js.map +1 -0
  602. package/dist/interface/imessage/IMessageBot.d.ts +33 -0
  603. package/dist/interface/imessage/IMessageBot.d.ts.map +1 -0
  604. package/dist/interface/imessage/IMessageBot.js +222 -0
  605. package/dist/interface/imessage/IMessageBot.js.map +1 -0
  606. package/dist/interface/imessage/IMessageFormatter.d.ts +15 -0
  607. package/dist/interface/imessage/IMessageFormatter.d.ts.map +1 -0
  608. package/dist/interface/imessage/IMessageFormatter.js +81 -0
  609. package/dist/interface/imessage/IMessageFormatter.js.map +1 -0
  610. package/dist/interface/imessage/IMessageRpcClient.d.ts +39 -0
  611. package/dist/interface/imessage/IMessageRpcClient.d.ts.map +1 -0
  612. package/dist/interface/imessage/IMessageRpcClient.js +174 -0
  613. package/dist/interface/imessage/IMessageRpcClient.js.map +1 -0
  614. package/dist/interface/imessage/IMessageSender.d.ts +19 -0
  615. package/dist/interface/imessage/IMessageSender.d.ts.map +1 -0
  616. package/dist/interface/imessage/IMessageSender.js +136 -0
  617. package/dist/interface/imessage/IMessageSender.js.map +1 -0
  618. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts +5 -0
  619. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts.map +1 -0
  620. package/dist/interface/imessage/__tests__/IMessageBot.test.js +60 -0
  621. package/dist/interface/imessage/__tests__/IMessageBot.test.js.map +1 -0
  622. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts +5 -0
  623. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts.map +1 -0
  624. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js +110 -0
  625. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js.map +1 -0
  626. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts +5 -0
  627. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts.map +1 -0
  628. package/dist/interface/imessage/__tests__/IMessageSender.test.js +67 -0
  629. package/dist/interface/imessage/__tests__/IMessageSender.test.js.map +1 -0
  630. package/dist/interface/imessage/index.d.ts +8 -0
  631. package/dist/interface/imessage/index.d.ts.map +1 -0
  632. package/dist/interface/imessage/index.js +8 -0
  633. package/dist/interface/imessage/index.js.map +1 -0
  634. package/dist/interface/index.d.ts +26 -0
  635. package/dist/interface/index.d.ts.map +1 -0
  636. package/dist/interface/index.js +26 -0
  637. package/dist/interface/index.js.map +1 -0
  638. package/dist/interface/interface.test.d.ts +5 -0
  639. package/dist/interface/interface.test.d.ts.map +1 -0
  640. package/dist/interface/interface.test.js +442 -0
  641. package/dist/interface/interface.test.js.map +1 -0
  642. package/dist/interface/slack/SlackBot.d.ts +83 -0
  643. package/dist/interface/slack/SlackBot.d.ts.map +1 -0
  644. package/dist/interface/slack/SlackBot.js +563 -0
  645. package/dist/interface/slack/SlackBot.js.map +1 -0
  646. package/dist/interface/slack/SlackFormatter.d.ts +19 -0
  647. package/dist/interface/slack/SlackFormatter.d.ts.map +1 -0
  648. package/dist/interface/slack/SlackFormatter.js +76 -0
  649. package/dist/interface/slack/SlackFormatter.js.map +1 -0
  650. package/dist/interface/slack/__tests__/SlackBot.test.d.ts +5 -0
  651. package/dist/interface/slack/__tests__/SlackBot.test.d.ts.map +1 -0
  652. package/dist/interface/slack/__tests__/SlackBot.test.js +37 -0
  653. package/dist/interface/slack/__tests__/SlackBot.test.js.map +1 -0
  654. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts +5 -0
  655. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts.map +1 -0
  656. package/dist/interface/slack/__tests__/SlackFormatter.test.js +93 -0
  657. package/dist/interface/slack/__tests__/SlackFormatter.test.js.map +1 -0
  658. package/dist/interface/slack/index.d.ts +7 -0
  659. package/dist/interface/slack/index.d.ts.map +1 -0
  660. package/dist/interface/slack/index.js +7 -0
  661. package/dist/interface/slack/index.js.map +1 -0
  662. package/dist/interface/telegram/TelegramBot.d.ts +60 -0
  663. package/dist/interface/telegram/TelegramBot.d.ts.map +1 -0
  664. package/dist/interface/telegram/TelegramBot.js +400 -0
  665. package/dist/interface/telegram/TelegramBot.js.map +1 -0
  666. package/dist/interface/telegram/TelegramFormatter.d.ts +19 -0
  667. package/dist/interface/telegram/TelegramFormatter.d.ts.map +1 -0
  668. package/dist/interface/telegram/TelegramFormatter.js +66 -0
  669. package/dist/interface/telegram/TelegramFormatter.js.map +1 -0
  670. package/dist/interface/types.d.ts +167 -0
  671. package/dist/interface/types.d.ts.map +1 -0
  672. package/dist/interface/types.js +6 -0
  673. package/dist/interface/types.js.map +1 -0
  674. package/dist/interface/utils/MessageCombiner.d.ts +14 -0
  675. package/dist/interface/utils/MessageCombiner.d.ts.map +1 -0
  676. package/dist/interface/utils/MessageCombiner.js +48 -0
  677. package/dist/interface/utils/MessageCombiner.js.map +1 -0
  678. package/dist/interface/vision/AdaptiveFrameSampler.d.ts +44 -0
  679. package/dist/interface/vision/AdaptiveFrameSampler.d.ts.map +1 -0
  680. package/dist/interface/vision/AdaptiveFrameSampler.js +109 -0
  681. package/dist/interface/vision/AdaptiveFrameSampler.js.map +1 -0
  682. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts +7 -0
  683. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts.map +1 -0
  684. package/dist/interface/vision/AdaptiveFrameSampler.test.js +113 -0
  685. package/dist/interface/vision/AdaptiveFrameSampler.test.js.map +1 -0
  686. package/dist/interface/vision/GeminiLive.d.ts +37 -0
  687. package/dist/interface/vision/GeminiLive.d.ts.map +1 -0
  688. package/dist/interface/vision/GeminiLive.js +272 -0
  689. package/dist/interface/vision/GeminiLive.js.map +1 -0
  690. package/dist/interface/vision/GeminiLive.test.d.ts +6 -0
  691. package/dist/interface/vision/GeminiLive.test.d.ts.map +1 -0
  692. package/dist/interface/vision/GeminiLive.test.js +40 -0
  693. package/dist/interface/vision/GeminiLive.test.js.map +1 -0
  694. package/dist/interface/vision/GeminiLiveStream.d.ts +55 -0
  695. package/dist/interface/vision/GeminiLiveStream.d.ts.map +1 -0
  696. package/dist/interface/vision/GeminiLiveStream.js +213 -0
  697. package/dist/interface/vision/GeminiLiveStream.js.map +1 -0
  698. package/dist/interface/vision/GeminiVision.d.ts +25 -0
  699. package/dist/interface/vision/GeminiVision.d.ts.map +1 -0
  700. package/dist/interface/vision/GeminiVision.js +202 -0
  701. package/dist/interface/vision/GeminiVision.js.map +1 -0
  702. package/dist/interface/vision/ScreenCapture.d.ts +77 -0
  703. package/dist/interface/vision/ScreenCapture.d.ts.map +1 -0
  704. package/dist/interface/vision/ScreenCapture.js +314 -0
  705. package/dist/interface/vision/ScreenCapture.js.map +1 -0
  706. package/dist/interface/vision/ScreenCaptureEngine.d.ts +55 -0
  707. package/dist/interface/vision/ScreenCaptureEngine.d.ts.map +1 -0
  708. package/dist/interface/vision/ScreenCaptureEngine.js +223 -0
  709. package/dist/interface/vision/ScreenCaptureEngine.js.map +1 -0
  710. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts +8 -0
  711. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts.map +1 -0
  712. package/dist/interface/vision/ScreenCaptureEngine.test.js +175 -0
  713. package/dist/interface/vision/ScreenCaptureEngine.test.js.map +1 -0
  714. package/dist/interface/vision/VisionInterface.d.ts +26 -0
  715. package/dist/interface/vision/VisionInterface.d.ts.map +1 -0
  716. package/dist/interface/vision/VisionInterface.js +105 -0
  717. package/dist/interface/vision/VisionInterface.js.map +1 -0
  718. package/dist/interface/vision/VisionSession.d.ts +66 -0
  719. package/dist/interface/vision/VisionSession.d.ts.map +1 -0
  720. package/dist/interface/vision/VisionSession.js +274 -0
  721. package/dist/interface/vision/VisionSession.js.map +1 -0
  722. package/dist/interface/vision/VisionSession.test.d.ts +7 -0
  723. package/dist/interface/vision/VisionSession.test.d.ts.map +1 -0
  724. package/dist/interface/vision/VisionSession.test.js +218 -0
  725. package/dist/interface/vision/VisionSession.test.js.map +1 -0
  726. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts +5 -0
  727. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts.map +1 -0
  728. package/dist/interface/vision/__tests__/GeminiVision.test.js +92 -0
  729. package/dist/interface/vision/__tests__/GeminiVision.test.js.map +1 -0
  730. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts +5 -0
  731. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts.map +1 -0
  732. package/dist/interface/vision/__tests__/ScreenCapture.test.js +24 -0
  733. package/dist/interface/vision/__tests__/ScreenCapture.test.js.map +1 -0
  734. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts +5 -0
  735. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts.map +1 -0
  736. package/dist/interface/vision/__tests__/VisionInterface.test.js +59 -0
  737. package/dist/interface/vision/__tests__/VisionInterface.test.js.map +1 -0
  738. package/dist/interface/vision/index.d.ts +20 -0
  739. package/dist/interface/vision/index.d.ts.map +1 -0
  740. package/dist/interface/vision/index.js +16 -0
  741. package/dist/interface/vision/index.js.map +1 -0
  742. package/dist/interface/vision/types.d.ts +79 -0
  743. package/dist/interface/vision/types.d.ts.map +1 -0
  744. package/dist/interface/vision/types.js +22 -0
  745. package/dist/interface/vision/types.js.map +1 -0
  746. package/dist/interface/voice/STTProvider.d.ts +48 -0
  747. package/dist/interface/voice/STTProvider.d.ts.map +1 -0
  748. package/dist/interface/voice/STTProvider.js +254 -0
  749. package/dist/interface/voice/STTProvider.js.map +1 -0
  750. package/dist/interface/voice/STTProvider.test.d.ts +8 -0
  751. package/dist/interface/voice/STTProvider.test.d.ts.map +1 -0
  752. package/dist/interface/voice/STTProvider.test.js +144 -0
  753. package/dist/interface/voice/STTProvider.test.js.map +1 -0
  754. package/dist/interface/voice/TTSProvider.d.ts +44 -0
  755. package/dist/interface/voice/TTSProvider.d.ts.map +1 -0
  756. package/dist/interface/voice/TTSProvider.js +252 -0
  757. package/dist/interface/voice/TTSProvider.js.map +1 -0
  758. package/dist/interface/voice/TTSProvider.test.d.ts +8 -0
  759. package/dist/interface/voice/TTSProvider.test.d.ts.map +1 -0
  760. package/dist/interface/voice/TTSProvider.test.js +143 -0
  761. package/dist/interface/voice/TTSProvider.test.js.map +1 -0
  762. package/dist/interface/voice/VADProcessor.d.ts +34 -0
  763. package/dist/interface/voice/VADProcessor.d.ts.map +1 -0
  764. package/dist/interface/voice/VADProcessor.js +116 -0
  765. package/dist/interface/voice/VADProcessor.js.map +1 -0
  766. package/dist/interface/voice/VADProcessor.test.d.ts +8 -0
  767. package/dist/interface/voice/VADProcessor.test.d.ts.map +1 -0
  768. package/dist/interface/voice/VADProcessor.test.js +159 -0
  769. package/dist/interface/voice/VADProcessor.test.js.map +1 -0
  770. package/dist/interface/voice/VoiceSession.d.ts +77 -0
  771. package/dist/interface/voice/VoiceSession.d.ts.map +1 -0
  772. package/dist/interface/voice/VoiceSession.js +249 -0
  773. package/dist/interface/voice/VoiceSession.js.map +1 -0
  774. package/dist/interface/voice/VoiceSession.test.d.ts +8 -0
  775. package/dist/interface/voice/VoiceSession.test.d.ts.map +1 -0
  776. package/dist/interface/voice/VoiceSession.test.js +260 -0
  777. package/dist/interface/voice/VoiceSession.test.js.map +1 -0
  778. package/dist/interface/voice/VoiceWebSocket.d.ts +52 -0
  779. package/dist/interface/voice/VoiceWebSocket.d.ts.map +1 -0
  780. package/dist/interface/voice/VoiceWebSocket.js +165 -0
  781. package/dist/interface/voice/VoiceWebSocket.js.map +1 -0
  782. package/dist/interface/voice/types.d.ts +144 -0
  783. package/dist/interface/voice/types.d.ts.map +1 -0
  784. package/dist/interface/voice/types.js +23 -0
  785. package/dist/interface/voice/types.js.map +1 -0
  786. package/dist/interface/voice/types.test.d.ts +8 -0
  787. package/dist/interface/voice/types.test.d.ts.map +1 -0
  788. package/dist/interface/voice/types.test.js +90 -0
  789. package/dist/interface/voice/types.test.js.map +1 -0
  790. package/dist/interface/web/WebServer.d.ts +80 -0
  791. package/dist/interface/web/WebServer.d.ts.map +1 -0
  792. package/dist/interface/web/WebServer.js +999 -0
  793. package/dist/interface/web/WebServer.js.map +1 -0
  794. package/dist/interface/web/__tests__/WebServer.test.d.ts +5 -0
  795. package/dist/interface/web/__tests__/WebServer.test.d.ts.map +1 -0
  796. package/dist/interface/web/__tests__/WebServer.test.js +345 -0
  797. package/dist/interface/web/__tests__/WebServer.test.js.map +1 -0
  798. package/dist/interface/web/types.d.ts +109 -0
  799. package/dist/interface/web/types.d.ts.map +1 -0
  800. package/dist/interface/web/types.js +67 -0
  801. package/dist/interface/web/types.js.map +1 -0
  802. package/dist/interface/webhook/WebhookHandler.d.ts +45 -0
  803. package/dist/interface/webhook/WebhookHandler.d.ts.map +1 -0
  804. package/dist/interface/webhook/WebhookHandler.js +273 -0
  805. package/dist/interface/webhook/WebhookHandler.js.map +1 -0
  806. package/dist/job/ActionPlanGenerator.d.ts +21 -0
  807. package/dist/job/ActionPlanGenerator.d.ts.map +1 -0
  808. package/dist/job/ActionPlanGenerator.js +153 -0
  809. package/dist/job/ActionPlanGenerator.js.map +1 -0
  810. package/dist/job/AgentJobManager.d.ts +46 -0
  811. package/dist/job/AgentJobManager.d.ts.map +1 -0
  812. package/dist/job/AgentJobManager.js +213 -0
  813. package/dist/job/AgentJobManager.js.map +1 -0
  814. package/dist/job/AgentJobManager.test.d.ts +6 -0
  815. package/dist/job/AgentJobManager.test.d.ts.map +1 -0
  816. package/dist/job/AgentJobManager.test.js +197 -0
  817. package/dist/job/AgentJobManager.test.js.map +1 -0
  818. package/dist/job/IntentParser.d.ts +21 -0
  819. package/dist/job/IntentParser.d.ts.map +1 -0
  820. package/dist/job/IntentParser.js +142 -0
  821. package/dist/job/IntentParser.js.map +1 -0
  822. package/dist/job/JobManager.d.ts +54 -0
  823. package/dist/job/JobManager.d.ts.map +1 -0
  824. package/dist/job/JobManager.js +220 -0
  825. package/dist/job/JobManager.js.map +1 -0
  826. package/dist/job/JobQueue.d.ts +41 -0
  827. package/dist/job/JobQueue.d.ts.map +1 -0
  828. package/dist/job/JobQueue.js +153 -0
  829. package/dist/job/JobQueue.js.map +1 -0
  830. package/dist/job/JobStore.d.ts +36 -0
  831. package/dist/job/JobStore.d.ts.map +1 -0
  832. package/dist/job/JobStore.js +260 -0
  833. package/dist/job/JobStore.js.map +1 -0
  834. package/dist/job/ProgressReporter.d.ts +32 -0
  835. package/dist/job/ProgressReporter.d.ts.map +1 -0
  836. package/dist/job/ProgressReporter.js +82 -0
  837. package/dist/job/ProgressReporter.js.map +1 -0
  838. package/dist/job/agent-job-types.d.ts +32 -0
  839. package/dist/job/agent-job-types.d.ts.map +1 -0
  840. package/dist/job/agent-job-types.js +6 -0
  841. package/dist/job/agent-job-types.js.map +1 -0
  842. package/dist/job/index.d.ts +15 -0
  843. package/dist/job/index.d.ts.map +1 -0
  844. package/dist/job/index.js +15 -0
  845. package/dist/job/index.js.map +1 -0
  846. package/dist/job/job.test.d.ts +5 -0
  847. package/dist/job/job.test.d.ts.map +1 -0
  848. package/dist/job/job.test.js +303 -0
  849. package/dist/job/job.test.js.map +1 -0
  850. package/dist/job/types.d.ts +82 -0
  851. package/dist/job/types.d.ts.map +1 -0
  852. package/dist/job/types.js +40 -0
  853. package/dist/job/types.js.map +1 -0
  854. package/dist/orchestrator/AgentAnnouncer.d.ts +64 -0
  855. package/dist/orchestrator/AgentAnnouncer.d.ts.map +1 -0
  856. package/dist/orchestrator/AgentAnnouncer.js +127 -0
  857. package/dist/orchestrator/AgentAnnouncer.js.map +1 -0
  858. package/dist/orchestrator/AgentAnnouncer.test.d.ts +5 -0
  859. package/dist/orchestrator/AgentAnnouncer.test.d.ts.map +1 -0
  860. package/dist/orchestrator/AgentAnnouncer.test.js +119 -0
  861. package/dist/orchestrator/AgentAnnouncer.test.js.map +1 -0
  862. package/dist/orchestrator/AgentExecutor.d.ts +23 -0
  863. package/dist/orchestrator/AgentExecutor.d.ts.map +1 -0
  864. package/dist/orchestrator/AgentExecutor.js +231 -0
  865. package/dist/orchestrator/AgentExecutor.js.map +1 -0
  866. package/dist/orchestrator/AgentManager.d.ts +73 -0
  867. package/dist/orchestrator/AgentManager.d.ts.map +1 -0
  868. package/dist/orchestrator/AgentManager.js +184 -0
  869. package/dist/orchestrator/AgentManager.js.map +1 -0
  870. package/dist/orchestrator/AgentRegistry.d.ts +76 -0
  871. package/dist/orchestrator/AgentRegistry.d.ts.map +1 -0
  872. package/dist/orchestrator/AgentRegistry.js +217 -0
  873. package/dist/orchestrator/AgentRegistry.js.map +1 -0
  874. package/dist/orchestrator/AgentRegistry.test.d.ts +5 -0
  875. package/dist/orchestrator/AgentRegistry.test.d.ts.map +1 -0
  876. package/dist/orchestrator/AgentRegistry.test.js +122 -0
  877. package/dist/orchestrator/AgentRegistry.test.js.map +1 -0
  878. package/dist/orchestrator/BackgroundManager.d.ts +114 -0
  879. package/dist/orchestrator/BackgroundManager.d.ts.map +1 -0
  880. package/dist/orchestrator/BackgroundManager.js +517 -0
  881. package/dist/orchestrator/BackgroundManager.js.map +1 -0
  882. package/dist/orchestrator/BackgroundManager.test.d.ts +6 -0
  883. package/dist/orchestrator/BackgroundManager.test.d.ts.map +1 -0
  884. package/dist/orchestrator/BackgroundManager.test.js +162 -0
  885. package/dist/orchestrator/BackgroundManager.test.js.map +1 -0
  886. package/dist/orchestrator/CheckpointManager.d.ts +54 -0
  887. package/dist/orchestrator/CheckpointManager.d.ts.map +1 -0
  888. package/dist/orchestrator/CheckpointManager.js +121 -0
  889. package/dist/orchestrator/CheckpointManager.js.map +1 -0
  890. package/dist/orchestrator/LLMCluster.d.ts +91 -0
  891. package/dist/orchestrator/LLMCluster.d.ts.map +1 -0
  892. package/dist/orchestrator/LLMCluster.js +124 -0
  893. package/dist/orchestrator/LLMCluster.js.map +1 -0
  894. package/dist/orchestrator/MultiLlmResearch.d.ts +27 -0
  895. package/dist/orchestrator/MultiLlmResearch.d.ts.map +1 -0
  896. package/dist/orchestrator/MultiLlmResearch.js +145 -0
  897. package/dist/orchestrator/MultiLlmResearch.js.map +1 -0
  898. package/dist/orchestrator/PhasePipeline.d.ts +123 -0
  899. package/dist/orchestrator/PhasePipeline.d.ts.map +1 -0
  900. package/dist/orchestrator/PhasePipeline.js +382 -0
  901. package/dist/orchestrator/PhasePipeline.js.map +1 -0
  902. package/dist/orchestrator/PhaseResultStore.d.ts +39 -0
  903. package/dist/orchestrator/PhaseResultStore.d.ts.map +1 -0
  904. package/dist/orchestrator/PhaseResultStore.js +151 -0
  905. package/dist/orchestrator/PhaseResultStore.js.map +1 -0
  906. package/dist/orchestrator/SessionStore.d.ts +41 -0
  907. package/dist/orchestrator/SessionStore.d.ts.map +1 -0
  908. package/dist/orchestrator/SessionStore.js +117 -0
  909. package/dist/orchestrator/SessionStore.js.map +1 -0
  910. package/dist/orchestrator/SmartRouter.d.ts +77 -0
  911. package/dist/orchestrator/SmartRouter.d.ts.map +1 -0
  912. package/dist/orchestrator/SmartRouter.js +305 -0
  913. package/dist/orchestrator/SmartRouter.js.map +1 -0
  914. package/dist/orchestrator/SwarmOrchestrator.d.ts +144 -0
  915. package/dist/orchestrator/SwarmOrchestrator.d.ts.map +1 -0
  916. package/dist/orchestrator/SwarmOrchestrator.js +361 -0
  917. package/dist/orchestrator/SwarmOrchestrator.js.map +1 -0
  918. package/dist/orchestrator/SwarmOrchestrator.test.d.ts +5 -0
  919. package/dist/orchestrator/SwarmOrchestrator.test.d.ts.map +1 -0
  920. package/dist/orchestrator/SwarmOrchestrator.test.js +95 -0
  921. package/dist/orchestrator/SwarmOrchestrator.test.js.map +1 -0
  922. package/dist/orchestrator/agentDiscovery.d.ts +18 -0
  923. package/dist/orchestrator/agentDiscovery.d.ts.map +1 -0
  924. package/dist/orchestrator/agentDiscovery.js +175 -0
  925. package/dist/orchestrator/agentDiscovery.js.map +1 -0
  926. package/dist/orchestrator/backgroundAgent.d.ts +15 -0
  927. package/dist/orchestrator/backgroundAgent.d.ts.map +1 -0
  928. package/dist/orchestrator/backgroundAgent.js +16 -0
  929. package/dist/orchestrator/backgroundAgent.js.map +1 -0
  930. package/dist/orchestrator/index.d.ts +213 -0
  931. package/dist/orchestrator/index.d.ts.map +1 -0
  932. package/dist/orchestrator/index.js +391 -0
  933. package/dist/orchestrator/index.js.map +1 -0
  934. package/dist/orchestrator/orchestrator.d.ts +63 -0
  935. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  936. package/dist/orchestrator/orchestrator.js +217 -0
  937. package/dist/orchestrator/orchestrator.js.map +1 -0
  938. package/dist/orchestrator/parallelResearch.d.ts +30 -0
  939. package/dist/orchestrator/parallelResearch.d.ts.map +1 -0
  940. package/dist/orchestrator/parallelResearch.js +247 -0
  941. package/dist/orchestrator/parallelResearch.js.map +1 -0
  942. package/dist/orchestrator/types.d.ts +185 -0
  943. package/dist/orchestrator/types.d.ts.map +1 -0
  944. package/dist/orchestrator/types.js +21 -0
  945. package/dist/orchestrator/types.js.map +1 -0
  946. package/dist/pc/CommandDispatcher.d.ts +31 -0
  947. package/dist/pc/CommandDispatcher.d.ts.map +1 -0
  948. package/dist/pc/CommandDispatcher.js +132 -0
  949. package/dist/pc/CommandDispatcher.js.map +1 -0
  950. package/dist/pc/CommandDispatcher.test.d.ts +2 -0
  951. package/dist/pc/CommandDispatcher.test.d.ts.map +1 -0
  952. package/dist/pc/CommandDispatcher.test.js +360 -0
  953. package/dist/pc/CommandDispatcher.test.js.map +1 -0
  954. package/dist/pc/ModuleRegistry.d.ts +40 -0
  955. package/dist/pc/ModuleRegistry.d.ts.map +1 -0
  956. package/dist/pc/ModuleRegistry.js +163 -0
  957. package/dist/pc/ModuleRegistry.js.map +1 -0
  958. package/dist/pc/ResultFormatter.d.ts +27 -0
  959. package/dist/pc/ResultFormatter.d.ts.map +1 -0
  960. package/dist/pc/ResultFormatter.js +128 -0
  961. package/dist/pc/ResultFormatter.js.map +1 -0
  962. package/dist/pc/ResultFormatter.test.d.ts +2 -0
  963. package/dist/pc/ResultFormatter.test.d.ts.map +1 -0
  964. package/dist/pc/ResultFormatter.test.js +115 -0
  965. package/dist/pc/ResultFormatter.test.js.map +1 -0
  966. package/dist/pc/SecurityGate.d.ts +53 -0
  967. package/dist/pc/SecurityGate.d.ts.map +1 -0
  968. package/dist/pc/SecurityGate.js +142 -0
  969. package/dist/pc/SecurityGate.js.map +1 -0
  970. package/dist/pc/SecurityGate.test.d.ts +2 -0
  971. package/dist/pc/SecurityGate.test.d.ts.map +1 -0
  972. package/dist/pc/SecurityGate.test.js +160 -0
  973. package/dist/pc/SecurityGate.test.js.map +1 -0
  974. package/dist/pc/SessionContext.d.ts +31 -0
  975. package/dist/pc/SessionContext.d.ts.map +1 -0
  976. package/dist/pc/SessionContext.js +108 -0
  977. package/dist/pc/SessionContext.js.map +1 -0
  978. package/dist/pc/browser/BrowserActions.d.ts +22 -0
  979. package/dist/pc/browser/BrowserActions.d.ts.map +1 -0
  980. package/dist/pc/browser/BrowserActions.js +223 -0
  981. package/dist/pc/browser/BrowserActions.js.map +1 -0
  982. package/dist/pc/browser/BrowserActions.test.d.ts +7 -0
  983. package/dist/pc/browser/BrowserActions.test.d.ts.map +1 -0
  984. package/dist/pc/browser/BrowserActions.test.js +150 -0
  985. package/dist/pc/browser/BrowserActions.test.js.map +1 -0
  986. package/dist/pc/browser/BrowserService.d.ts +66 -0
  987. package/dist/pc/browser/BrowserService.d.ts.map +1 -0
  988. package/dist/pc/browser/BrowserService.js +319 -0
  989. package/dist/pc/browser/BrowserService.js.map +1 -0
  990. package/dist/pc/browser/BrowserService.test.d.ts +7 -0
  991. package/dist/pc/browser/BrowserService.test.d.ts.map +1 -0
  992. package/dist/pc/browser/BrowserService.test.js +160 -0
  993. package/dist/pc/browser/BrowserService.test.js.map +1 -0
  994. package/dist/pc/browser/RefLocator.d.ts +39 -0
  995. package/dist/pc/browser/RefLocator.d.ts.map +1 -0
  996. package/dist/pc/browser/RefLocator.js +88 -0
  997. package/dist/pc/browser/RefLocator.js.map +1 -0
  998. package/dist/pc/browser/RoleSnapshotManager.d.ts +22 -0
  999. package/dist/pc/browser/RoleSnapshotManager.d.ts.map +1 -0
  1000. package/dist/pc/browser/RoleSnapshotManager.js +143 -0
  1001. package/dist/pc/browser/RoleSnapshotManager.js.map +1 -0
  1002. package/dist/pc/browser/RoleSnapshotManager.test.d.ts +7 -0
  1003. package/dist/pc/browser/RoleSnapshotManager.test.d.ts.map +1 -0
  1004. package/dist/pc/browser/RoleSnapshotManager.test.js +152 -0
  1005. package/dist/pc/browser/RoleSnapshotManager.test.js.map +1 -0
  1006. package/dist/pc/browser/Security.test.d.ts +7 -0
  1007. package/dist/pc/browser/Security.test.d.ts.map +1 -0
  1008. package/dist/pc/browser/Security.test.js +171 -0
  1009. package/dist/pc/browser/Security.test.js.map +1 -0
  1010. package/dist/pc/browser/types.d.ts +142 -0
  1011. package/dist/pc/browser/types.d.ts.map +1 -0
  1012. package/dist/pc/browser/types.js +60 -0
  1013. package/dist/pc/browser/types.js.map +1 -0
  1014. package/dist/pc/google/OAuthFlow.d.ts +58 -0
  1015. package/dist/pc/google/OAuthFlow.d.ts.map +1 -0
  1016. package/dist/pc/google/OAuthFlow.js +322 -0
  1017. package/dist/pc/google/OAuthFlow.js.map +1 -0
  1018. package/dist/pc/google/OAuthFlow.test.d.ts +7 -0
  1019. package/dist/pc/google/OAuthFlow.test.d.ts.map +1 -0
  1020. package/dist/pc/google/OAuthFlow.test.js +178 -0
  1021. package/dist/pc/google/OAuthFlow.test.js.map +1 -0
  1022. package/dist/pc/google/ScopeManager.d.ts +28 -0
  1023. package/dist/pc/google/ScopeManager.d.ts.map +1 -0
  1024. package/dist/pc/google/ScopeManager.js +75 -0
  1025. package/dist/pc/google/ScopeManager.js.map +1 -0
  1026. package/dist/pc/google/TokenStore.d.ts +49 -0
  1027. package/dist/pc/google/TokenStore.d.ts.map +1 -0
  1028. package/dist/pc/google/TokenStore.js +324 -0
  1029. package/dist/pc/google/TokenStore.js.map +1 -0
  1030. package/dist/pc/google/TokenStore.test.d.ts +7 -0
  1031. package/dist/pc/google/TokenStore.test.d.ts.map +1 -0
  1032. package/dist/pc/google/TokenStore.test.js +134 -0
  1033. package/dist/pc/google/TokenStore.test.js.map +1 -0
  1034. package/dist/pc/google/services/CalendarService.d.ts +45 -0
  1035. package/dist/pc/google/services/CalendarService.d.ts.map +1 -0
  1036. package/dist/pc/google/services/CalendarService.js +148 -0
  1037. package/dist/pc/google/services/CalendarService.js.map +1 -0
  1038. package/dist/pc/google/services/DriveService.d.ts +33 -0
  1039. package/dist/pc/google/services/DriveService.d.ts.map +1 -0
  1040. package/dist/pc/google/services/DriveService.js +199 -0
  1041. package/dist/pc/google/services/DriveService.js.map +1 -0
  1042. package/dist/pc/google/services/GmailService.d.ts +50 -0
  1043. package/dist/pc/google/services/GmailService.d.ts.map +1 -0
  1044. package/dist/pc/google/services/GmailService.js +177 -0
  1045. package/dist/pc/google/services/GmailService.js.map +1 -0
  1046. package/dist/pc/google/services/Services.test.d.ts +8 -0
  1047. package/dist/pc/google/services/Services.test.d.ts.map +1 -0
  1048. package/dist/pc/google/services/Services.test.js +148 -0
  1049. package/dist/pc/google/services/Services.test.js.map +1 -0
  1050. package/dist/pc/google/services/SheetsService.d.ts +27 -0
  1051. package/dist/pc/google/services/SheetsService.d.ts.map +1 -0
  1052. package/dist/pc/google/services/SheetsService.js +107 -0
  1053. package/dist/pc/google/services/SheetsService.js.map +1 -0
  1054. package/dist/pc/google/types.d.ts +97 -0
  1055. package/dist/pc/google/types.d.ts.map +1 -0
  1056. package/dist/pc/google/types.js +39 -0
  1057. package/dist/pc/google/types.js.map +1 -0
  1058. package/dist/pc/google/types.test.d.ts +8 -0
  1059. package/dist/pc/google/types.test.d.ts.map +1 -0
  1060. package/dist/pc/google/types.test.js +131 -0
  1061. package/dist/pc/google/types.test.js.map +1 -0
  1062. package/dist/pc/sandbox/ContainerConfig.d.ts +24 -0
  1063. package/dist/pc/sandbox/ContainerConfig.d.ts.map +1 -0
  1064. package/dist/pc/sandbox/ContainerConfig.js +103 -0
  1065. package/dist/pc/sandbox/ContainerConfig.js.map +1 -0
  1066. package/dist/pc/sandbox/ContainerManager.d.ts +31 -0
  1067. package/dist/pc/sandbox/ContainerManager.d.ts.map +1 -0
  1068. package/dist/pc/sandbox/ContainerManager.js +245 -0
  1069. package/dist/pc/sandbox/ContainerManager.js.map +1 -0
  1070. package/dist/pc/sandbox/ContainerManager.test.d.ts +2 -0
  1071. package/dist/pc/sandbox/ContainerManager.test.d.ts.map +1 -0
  1072. package/dist/pc/sandbox/ContainerManager.test.js +249 -0
  1073. package/dist/pc/sandbox/ContainerManager.test.js.map +1 -0
  1074. package/dist/pc/sandbox/ExecAllowlist.d.ts +35 -0
  1075. package/dist/pc/sandbox/ExecAllowlist.d.ts.map +1 -0
  1076. package/dist/pc/sandbox/ExecAllowlist.js +148 -0
  1077. package/dist/pc/sandbox/ExecAllowlist.js.map +1 -0
  1078. package/dist/pc/sandbox/ExecAllowlist.test.d.ts +2 -0
  1079. package/dist/pc/sandbox/ExecAllowlist.test.d.ts.map +1 -0
  1080. package/dist/pc/sandbox/ExecAllowlist.test.js +210 -0
  1081. package/dist/pc/sandbox/ExecAllowlist.test.js.map +1 -0
  1082. package/dist/pc/sandbox/SandboxBrowser.d.ts +29 -0
  1083. package/dist/pc/sandbox/SandboxBrowser.d.ts.map +1 -0
  1084. package/dist/pc/sandbox/SandboxBrowser.js +72 -0
  1085. package/dist/pc/sandbox/SandboxBrowser.js.map +1 -0
  1086. package/dist/pc/sandbox/ToolPolicy.d.ts +24 -0
  1087. package/dist/pc/sandbox/ToolPolicy.d.ts.map +1 -0
  1088. package/dist/pc/sandbox/ToolPolicy.js +127 -0
  1089. package/dist/pc/sandbox/ToolPolicy.js.map +1 -0
  1090. package/dist/pc/sandbox/ToolPolicy.test.d.ts +2 -0
  1091. package/dist/pc/sandbox/ToolPolicy.test.d.ts.map +1 -0
  1092. package/dist/pc/sandbox/ToolPolicy.test.js +189 -0
  1093. package/dist/pc/sandbox/ToolPolicy.test.js.map +1 -0
  1094. package/dist/pc/sandbox/types.d.ts +109 -0
  1095. package/dist/pc/sandbox/types.d.ts.map +1 -0
  1096. package/dist/pc/sandbox/types.js +26 -0
  1097. package/dist/pc/sandbox/types.js.map +1 -0
  1098. package/dist/pc/types.d.ts +84 -0
  1099. package/dist/pc/types.d.ts.map +1 -0
  1100. package/dist/pc/types.js +7 -0
  1101. package/dist/pc/types.js.map +1 -0
  1102. package/dist/policy/Evidence.d.ts +30 -0
  1103. package/dist/policy/Evidence.d.ts.map +1 -0
  1104. package/dist/policy/Evidence.js +134 -0
  1105. package/dist/policy/Evidence.js.map +1 -0
  1106. package/dist/policy/PolicyEngine.d.ts +34 -0
  1107. package/dist/policy/PolicyEngine.d.ts.map +1 -0
  1108. package/dist/policy/PolicyEngine.js +219 -0
  1109. package/dist/policy/PolicyEngine.js.map +1 -0
  1110. package/dist/policy/PolicyStore.d.ts +36 -0
  1111. package/dist/policy/PolicyStore.d.ts.map +1 -0
  1112. package/dist/policy/PolicyStore.js +160 -0
  1113. package/dist/policy/PolicyStore.js.map +1 -0
  1114. package/dist/policy/RiskCalculator.d.ts +20 -0
  1115. package/dist/policy/RiskCalculator.d.ts.map +1 -0
  1116. package/dist/policy/RiskCalculator.js +64 -0
  1117. package/dist/policy/RiskCalculator.js.map +1 -0
  1118. package/dist/policy/default-policies.d.ts +13 -0
  1119. package/dist/policy/default-policies.d.ts.map +1 -0
  1120. package/dist/policy/default-policies.js +99 -0
  1121. package/dist/policy/default-policies.js.map +1 -0
  1122. package/dist/policy/index.d.ts +11 -0
  1123. package/dist/policy/index.d.ts.map +1 -0
  1124. package/dist/policy/index.js +10 -0
  1125. package/dist/policy/index.js.map +1 -0
  1126. package/dist/policy/policy.test.d.ts +5 -0
  1127. package/dist/policy/policy.test.d.ts.map +1 -0
  1128. package/dist/policy/policy.test.js +628 -0
  1129. package/dist/policy/policy.test.js.map +1 -0
  1130. package/dist/policy/types.d.ts +71 -0
  1131. package/dist/policy/types.d.ts.map +1 -0
  1132. package/dist/policy/types.js +18 -0
  1133. package/dist/policy/types.js.map +1 -0
  1134. package/dist/router/ModelARouter.d.ts +79 -0
  1135. package/dist/router/ModelARouter.d.ts.map +1 -0
  1136. package/dist/router/ModelARouter.js +325 -0
  1137. package/dist/router/ModelARouter.js.map +1 -0
  1138. package/dist/router/ModelARouter.test.d.ts +6 -0
  1139. package/dist/router/ModelARouter.test.d.ts.map +1 -0
  1140. package/dist/router/ModelARouter.test.js +100 -0
  1141. package/dist/router/ModelARouter.test.js.map +1 -0
  1142. package/dist/router/MultiChannelRouter.d.ts +54 -0
  1143. package/dist/router/MultiChannelRouter.d.ts.map +1 -0
  1144. package/dist/router/MultiChannelRouter.js +138 -0
  1145. package/dist/router/MultiChannelRouter.js.map +1 -0
  1146. package/dist/router/RouteRegistry.d.ts +23 -0
  1147. package/dist/router/RouteRegistry.d.ts.map +1 -0
  1148. package/dist/router/RouteRegistry.js +42 -0
  1149. package/dist/router/RouteRegistry.js.map +1 -0
  1150. package/dist/router/browser/BrowserAgent.d.ts +30 -0
  1151. package/dist/router/browser/BrowserAgent.d.ts.map +1 -0
  1152. package/dist/router/browser/BrowserAgent.js +232 -0
  1153. package/dist/router/browser/BrowserAgent.js.map +1 -0
  1154. package/dist/router/browser/BrowserManager.d.ts +36 -0
  1155. package/dist/router/browser/BrowserManager.d.ts.map +1 -0
  1156. package/dist/router/browser/BrowserManager.js +106 -0
  1157. package/dist/router/browser/BrowserManager.js.map +1 -0
  1158. package/dist/router/browser/BrowserPool.d.ts +37 -0
  1159. package/dist/router/browser/BrowserPool.d.ts.map +1 -0
  1160. package/dist/router/browser/BrowserPool.js +114 -0
  1161. package/dist/router/browser/BrowserPool.js.map +1 -0
  1162. package/dist/router/handlers/GitOpsHandler.d.ts +24 -0
  1163. package/dist/router/handlers/GitOpsHandler.d.ts.map +1 -0
  1164. package/dist/router/handlers/GitOpsHandler.js +66 -0
  1165. package/dist/router/handlers/GitOpsHandler.js.map +1 -0
  1166. package/dist/router/index.d.ts +22 -0
  1167. package/dist/router/index.d.ts.map +1 -0
  1168. package/dist/router/index.js +29 -0
  1169. package/dist/router/index.js.map +1 -0
  1170. package/dist/router/index.test.d.ts +2 -0
  1171. package/dist/router/index.test.d.ts.map +1 -0
  1172. package/dist/router/index.test.js +78 -0
  1173. package/dist/router/index.test.js.map +1 -0
  1174. package/dist/router/notifications/NotificationManager.d.ts +37 -0
  1175. package/dist/router/notifications/NotificationManager.d.ts.map +1 -0
  1176. package/dist/router/notifications/NotificationManager.js +118 -0
  1177. package/dist/router/notifications/NotificationManager.js.map +1 -0
  1178. package/dist/router/planner/TaskExecutor.d.ts +48 -0
  1179. package/dist/router/planner/TaskExecutor.d.ts.map +1 -0
  1180. package/dist/router/planner/TaskExecutor.js +160 -0
  1181. package/dist/router/planner/TaskExecutor.js.map +1 -0
  1182. package/dist/router/planner/TaskExecutor.test.d.ts +6 -0
  1183. package/dist/router/planner/TaskExecutor.test.d.ts.map +1 -0
  1184. package/dist/router/planner/TaskExecutor.test.js +121 -0
  1185. package/dist/router/planner/TaskExecutor.test.js.map +1 -0
  1186. package/dist/router/planner/TaskPlanner.d.ts +37 -0
  1187. package/dist/router/planner/TaskPlanner.d.ts.map +1 -0
  1188. package/dist/router/planner/TaskPlanner.js +176 -0
  1189. package/dist/router/planner/TaskPlanner.js.map +1 -0
  1190. package/dist/router/planner/TaskPlanner.test.d.ts +6 -0
  1191. package/dist/router/planner/TaskPlanner.test.d.ts.map +1 -0
  1192. package/dist/router/planner/TaskPlanner.test.js +119 -0
  1193. package/dist/router/planner/TaskPlanner.test.js.map +1 -0
  1194. package/dist/router/qa/TelegramQABridge.d.ts +37 -0
  1195. package/dist/router/qa/TelegramQABridge.d.ts.map +1 -0
  1196. package/dist/router/qa/TelegramQABridge.js +147 -0
  1197. package/dist/router/qa/TelegramQABridge.js.map +1 -0
  1198. package/dist/router/qa/TelegramQABridge.test.d.ts +6 -0
  1199. package/dist/router/qa/TelegramQABridge.test.d.ts.map +1 -0
  1200. package/dist/router/qa/TelegramQABridge.test.js +143 -0
  1201. package/dist/router/qa/TelegramQABridge.test.js.map +1 -0
  1202. package/dist/router/resolvers/RepoResolver.d.ts +29 -0
  1203. package/dist/router/resolvers/RepoResolver.d.ts.map +1 -0
  1204. package/dist/router/resolvers/RepoResolver.js +105 -0
  1205. package/dist/router/resolvers/RepoResolver.js.map +1 -0
  1206. package/dist/router/resolvers/RepoResolver.test.d.ts +6 -0
  1207. package/dist/router/resolvers/RepoResolver.test.d.ts.map +1 -0
  1208. package/dist/router/resolvers/RepoResolver.test.js +92 -0
  1209. package/dist/router/resolvers/RepoResolver.test.js.map +1 -0
  1210. package/dist/router/routes/BaseRoute.d.ts +22 -0
  1211. package/dist/router/routes/BaseRoute.d.ts.map +1 -0
  1212. package/dist/router/routes/BaseRoute.js +55 -0
  1213. package/dist/router/routes/BaseRoute.js.map +1 -0
  1214. package/dist/router/routes/BrowseRoute.d.ts +21 -0
  1215. package/dist/router/routes/BrowseRoute.d.ts.map +1 -0
  1216. package/dist/router/routes/BrowseRoute.js +121 -0
  1217. package/dist/router/routes/BrowseRoute.js.map +1 -0
  1218. package/dist/router/routes/CompositeRoute.d.ts +28 -0
  1219. package/dist/router/routes/CompositeRoute.d.ts.map +1 -0
  1220. package/dist/router/routes/CompositeRoute.js +125 -0
  1221. package/dist/router/routes/CompositeRoute.js.map +1 -0
  1222. package/dist/router/routes/CompositeRoute.test.d.ts +6 -0
  1223. package/dist/router/routes/CompositeRoute.test.d.ts.map +1 -0
  1224. package/dist/router/routes/CompositeRoute.test.js +82 -0
  1225. package/dist/router/routes/CompositeRoute.test.js.map +1 -0
  1226. package/dist/router/routes/DevRoute.d.ts +26 -0
  1227. package/dist/router/routes/DevRoute.d.ts.map +1 -0
  1228. package/dist/router/routes/DevRoute.js +118 -0
  1229. package/dist/router/routes/DevRoute.js.map +1 -0
  1230. package/dist/router/routes/GoogleRoute.d.ts +46 -0
  1231. package/dist/router/routes/GoogleRoute.d.ts.map +1 -0
  1232. package/dist/router/routes/GoogleRoute.js +293 -0
  1233. package/dist/router/routes/GoogleRoute.js.map +1 -0
  1234. package/dist/router/routes/GoogleRoute.test.d.ts +6 -0
  1235. package/dist/router/routes/GoogleRoute.test.d.ts.map +1 -0
  1236. package/dist/router/routes/GoogleRoute.test.js +171 -0
  1237. package/dist/router/routes/GoogleRoute.test.js.map +1 -0
  1238. package/dist/router/routes/MonitorRoute.d.ts +25 -0
  1239. package/dist/router/routes/MonitorRoute.d.ts.map +1 -0
  1240. package/dist/router/routes/MonitorRoute.js +112 -0
  1241. package/dist/router/routes/MonitorRoute.js.map +1 -0
  1242. package/dist/router/routes/MonitorRoute.test.d.ts +6 -0
  1243. package/dist/router/routes/MonitorRoute.test.d.ts.map +1 -0
  1244. package/dist/router/routes/MonitorRoute.test.js +97 -0
  1245. package/dist/router/routes/MonitorRoute.test.js.map +1 -0
  1246. package/dist/router/routes/ResearchRoute.d.ts +25 -0
  1247. package/dist/router/routes/ResearchRoute.d.ts.map +1 -0
  1248. package/dist/router/routes/ResearchRoute.js +113 -0
  1249. package/dist/router/routes/ResearchRoute.js.map +1 -0
  1250. package/dist/router/routes/ResearchRoute.test.d.ts +6 -0
  1251. package/dist/router/routes/ResearchRoute.test.d.ts.map +1 -0
  1252. package/dist/router/routes/ResearchRoute.test.js +104 -0
  1253. package/dist/router/routes/ResearchRoute.test.js.map +1 -0
  1254. package/dist/router/routes/UtilityRoute.d.ts +32 -0
  1255. package/dist/router/routes/UtilityRoute.d.ts.map +1 -0
  1256. package/dist/router/routes/UtilityRoute.js +144 -0
  1257. package/dist/router/routes/UtilityRoute.js.map +1 -0
  1258. package/dist/router/routes/UtilityRoute.test.d.ts +6 -0
  1259. package/dist/router/routes/UtilityRoute.test.d.ts.map +1 -0
  1260. package/dist/router/routes/UtilityRoute.test.js +134 -0
  1261. package/dist/router/routes/UtilityRoute.test.js.map +1 -0
  1262. package/dist/router/services/BookmarkService.d.ts +34 -0
  1263. package/dist/router/services/BookmarkService.d.ts.map +1 -0
  1264. package/dist/router/services/BookmarkService.js +86 -0
  1265. package/dist/router/services/BookmarkService.js.map +1 -0
  1266. package/dist/router/services/BookmarkService.test.d.ts +6 -0
  1267. package/dist/router/services/BookmarkService.test.d.ts.map +1 -0
  1268. package/dist/router/services/BookmarkService.test.js +82 -0
  1269. package/dist/router/services/BookmarkService.test.js.map +1 -0
  1270. package/dist/router/services/CalendarService.d.ts +30 -0
  1271. package/dist/router/services/CalendarService.d.ts.map +1 -0
  1272. package/dist/router/services/CalendarService.js +168 -0
  1273. package/dist/router/services/CalendarService.js.map +1 -0
  1274. package/dist/router/services/CalendarService.test.d.ts +6 -0
  1275. package/dist/router/services/CalendarService.test.d.ts.map +1 -0
  1276. package/dist/router/services/CalendarService.test.js +107 -0
  1277. package/dist/router/services/CalendarService.test.js.map +1 -0
  1278. package/dist/router/services/ContentSummarizer.d.ts +32 -0
  1279. package/dist/router/services/ContentSummarizer.d.ts.map +1 -0
  1280. package/dist/router/services/ContentSummarizer.js +108 -0
  1281. package/dist/router/services/ContentSummarizer.js.map +1 -0
  1282. package/dist/router/services/ContentSummarizer.test.d.ts +6 -0
  1283. package/dist/router/services/ContentSummarizer.test.d.ts.map +1 -0
  1284. package/dist/router/services/ContentSummarizer.test.js +82 -0
  1285. package/dist/router/services/ContentSummarizer.test.js.map +1 -0
  1286. package/dist/router/services/DailyReportGenerator.d.ts +34 -0
  1287. package/dist/router/services/DailyReportGenerator.d.ts.map +1 -0
  1288. package/dist/router/services/DailyReportGenerator.js +110 -0
  1289. package/dist/router/services/DailyReportGenerator.js.map +1 -0
  1290. package/dist/router/services/DocumentGenerator.d.ts +20 -0
  1291. package/dist/router/services/DocumentGenerator.d.ts.map +1 -0
  1292. package/dist/router/services/DocumentGenerator.js +34 -0
  1293. package/dist/router/services/DocumentGenerator.js.map +1 -0
  1294. package/dist/router/services/DriveService.d.ts +29 -0
  1295. package/dist/router/services/DriveService.d.ts.map +1 -0
  1296. package/dist/router/services/DriveService.js +176 -0
  1297. package/dist/router/services/DriveService.js.map +1 -0
  1298. package/dist/router/services/DriveService.test.d.ts +6 -0
  1299. package/dist/router/services/DriveService.test.d.ts.map +1 -0
  1300. package/dist/router/services/DriveService.test.js +83 -0
  1301. package/dist/router/services/DriveService.test.js.map +1 -0
  1302. package/dist/router/services/FileAnalyzer.d.ts +26 -0
  1303. package/dist/router/services/FileAnalyzer.d.ts.map +1 -0
  1304. package/dist/router/services/FileAnalyzer.js +82 -0
  1305. package/dist/router/services/FileAnalyzer.js.map +1 -0
  1306. package/dist/router/services/GitHubMonitor.d.ts +38 -0
  1307. package/dist/router/services/GitHubMonitor.d.ts.map +1 -0
  1308. package/dist/router/services/GitHubMonitor.js +82 -0
  1309. package/dist/router/services/GitHubMonitor.js.map +1 -0
  1310. package/dist/router/services/GitHubMonitor.test.d.ts +6 -0
  1311. package/dist/router/services/GitHubMonitor.test.d.ts.map +1 -0
  1312. package/dist/router/services/GitHubMonitor.test.js +103 -0
  1313. package/dist/router/services/GitHubMonitor.test.js.map +1 -0
  1314. package/dist/router/services/GmailService.d.ts +28 -0
  1315. package/dist/router/services/GmailService.d.ts.map +1 -0
  1316. package/dist/router/services/GmailService.js +169 -0
  1317. package/dist/router/services/GmailService.js.map +1 -0
  1318. package/dist/router/services/GmailService.test.d.ts +6 -0
  1319. package/dist/router/services/GmailService.test.d.ts.map +1 -0
  1320. package/dist/router/services/GmailService.test.js +113 -0
  1321. package/dist/router/services/GmailService.test.js.map +1 -0
  1322. package/dist/router/services/GoogleAuthManager.d.ts +31 -0
  1323. package/dist/router/services/GoogleAuthManager.d.ts.map +1 -0
  1324. package/dist/router/services/GoogleAuthManager.js +219 -0
  1325. package/dist/router/services/GoogleAuthManager.js.map +1 -0
  1326. package/dist/router/services/GoogleAuthManager.test.d.ts +6 -0
  1327. package/dist/router/services/GoogleAuthManager.test.d.ts.map +1 -0
  1328. package/dist/router/services/GoogleAuthManager.test.js +153 -0
  1329. package/dist/router/services/GoogleAuthManager.test.js.map +1 -0
  1330. package/dist/router/services/ImageGenerator.d.ts +20 -0
  1331. package/dist/router/services/ImageGenerator.d.ts.map +1 -0
  1332. package/dist/router/services/ImageGenerator.js +41 -0
  1333. package/dist/router/services/ImageGenerator.js.map +1 -0
  1334. package/dist/router/services/NoteService.d.ts +36 -0
  1335. package/dist/router/services/NoteService.d.ts.map +1 -0
  1336. package/dist/router/services/NoteService.js +125 -0
  1337. package/dist/router/services/NoteService.js.map +1 -0
  1338. package/dist/router/services/NoteService.test.d.ts +6 -0
  1339. package/dist/router/services/NoteService.test.d.ts.map +1 -0
  1340. package/dist/router/services/NoteService.test.js +90 -0
  1341. package/dist/router/services/NoteService.test.js.map +1 -0
  1342. package/dist/router/services/ProgressReporter.d.ts +32 -0
  1343. package/dist/router/services/ProgressReporter.d.ts.map +1 -0
  1344. package/dist/router/services/ProgressReporter.js +81 -0
  1345. package/dist/router/services/ProgressReporter.js.map +1 -0
  1346. package/dist/router/services/SchedulerEngine.d.ts +55 -0
  1347. package/dist/router/services/SchedulerEngine.d.ts.map +1 -0
  1348. package/dist/router/services/SchedulerEngine.js +215 -0
  1349. package/dist/router/services/SchedulerEngine.js.map +1 -0
  1350. package/dist/router/services/SchedulerEngine.test.d.ts +6 -0
  1351. package/dist/router/services/SchedulerEngine.test.d.ts.map +1 -0
  1352. package/dist/router/services/SchedulerEngine.test.js +102 -0
  1353. package/dist/router/services/SchedulerEngine.test.js.map +1 -0
  1354. package/dist/router/services/ScreenshotService.d.ts +22 -0
  1355. package/dist/router/services/ScreenshotService.d.ts.map +1 -0
  1356. package/dist/router/services/ScreenshotService.js +39 -0
  1357. package/dist/router/services/ScreenshotService.js.map +1 -0
  1358. package/dist/router/services/SheetsService.d.ts +27 -0
  1359. package/dist/router/services/SheetsService.d.ts.map +1 -0
  1360. package/dist/router/services/SheetsService.js +91 -0
  1361. package/dist/router/services/SheetsService.js.map +1 -0
  1362. package/dist/router/services/SheetsService.test.d.ts +6 -0
  1363. package/dist/router/services/SheetsService.test.d.ts.map +1 -0
  1364. package/dist/router/services/SheetsService.test.js +86 -0
  1365. package/dist/router/services/SheetsService.test.js.map +1 -0
  1366. package/dist/router/services/TranslationService.d.ts +21 -0
  1367. package/dist/router/services/TranslationService.d.ts.map +1 -0
  1368. package/dist/router/services/TranslationService.js +76 -0
  1369. package/dist/router/services/TranslationService.js.map +1 -0
  1370. package/dist/router/services/TranslationService.test.d.ts +6 -0
  1371. package/dist/router/services/TranslationService.test.d.ts.map +1 -0
  1372. package/dist/router/services/TranslationService.test.js +61 -0
  1373. package/dist/router/services/TranslationService.test.js.map +1 -0
  1374. package/dist/router/services/WebSearchService.d.ts +24 -0
  1375. package/dist/router/services/WebSearchService.d.ts.map +1 -0
  1376. package/dist/router/services/WebSearchService.js +78 -0
  1377. package/dist/router/services/WebSearchService.js.map +1 -0
  1378. package/dist/router/services/WebSearchService.test.d.ts +6 -0
  1379. package/dist/router/services/WebSearchService.test.d.ts.map +1 -0
  1380. package/dist/router/services/WebSearchService.test.js +75 -0
  1381. package/dist/router/services/WebSearchService.test.js.map +1 -0
  1382. package/dist/router/services/YouTubeService.d.ts +30 -0
  1383. package/dist/router/services/YouTubeService.d.ts.map +1 -0
  1384. package/dist/router/services/YouTubeService.js +145 -0
  1385. package/dist/router/services/YouTubeService.js.map +1 -0
  1386. package/dist/router/services/YouTubeService.test.d.ts +6 -0
  1387. package/dist/router/services/YouTubeService.test.d.ts.map +1 -0
  1388. package/dist/router/services/YouTubeService.test.js +128 -0
  1389. package/dist/router/services/YouTubeService.test.js.map +1 -0
  1390. package/dist/router/services/google-types.d.ts +222 -0
  1391. package/dist/router/services/google-types.d.ts.map +1 -0
  1392. package/dist/router/services/google-types.js +6 -0
  1393. package/dist/router/services/google-types.js.map +1 -0
  1394. package/dist/router/sessions/DevSessionManager.d.ts +39 -0
  1395. package/dist/router/sessions/DevSessionManager.d.ts.map +1 -0
  1396. package/dist/router/sessions/DevSessionManager.js +151 -0
  1397. package/dist/router/sessions/DevSessionManager.js.map +1 -0
  1398. package/dist/router/types.d.ts +117 -0
  1399. package/dist/router/types.d.ts.map +1 -0
  1400. package/dist/router/types.js +25 -0
  1401. package/dist/router/types.js.map +1 -0
  1402. package/dist/sync/ConflictResolver.d.ts +29 -0
  1403. package/dist/sync/ConflictResolver.d.ts.map +1 -0
  1404. package/dist/sync/ConflictResolver.js +106 -0
  1405. package/dist/sync/ConflictResolver.js.map +1 -0
  1406. package/dist/sync/DataSerializer.d.ts +33 -0
  1407. package/dist/sync/DataSerializer.d.ts.map +1 -0
  1408. package/dist/sync/DataSerializer.js +207 -0
  1409. package/dist/sync/DataSerializer.js.map +1 -0
  1410. package/dist/sync/DeviceManager.d.ts +31 -0
  1411. package/dist/sync/DeviceManager.d.ts.map +1 -0
  1412. package/dist/sync/DeviceManager.js +141 -0
  1413. package/dist/sync/DeviceManager.js.map +1 -0
  1414. package/dist/sync/SyncEngine.d.ts +56 -0
  1415. package/dist/sync/SyncEngine.d.ts.map +1 -0
  1416. package/dist/sync/SyncEngine.js +172 -0
  1417. package/dist/sync/SyncEngine.js.map +1 -0
  1418. package/dist/sync/SyncStore.d.ts +46 -0
  1419. package/dist/sync/SyncStore.d.ts.map +1 -0
  1420. package/dist/sync/SyncStore.js +219 -0
  1421. package/dist/sync/SyncStore.js.map +1 -0
  1422. package/dist/sync/index.d.ts +12 -0
  1423. package/dist/sync/index.d.ts.map +1 -0
  1424. package/dist/sync/index.js +11 -0
  1425. package/dist/sync/index.js.map +1 -0
  1426. package/dist/sync/sync.test.d.ts +5 -0
  1427. package/dist/sync/sync.test.d.ts.map +1 -0
  1428. package/dist/sync/sync.test.js +416 -0
  1429. package/dist/sync/sync.test.js.map +1 -0
  1430. package/dist/sync/types.d.ts +80 -0
  1431. package/dist/sync/types.d.ts.map +1 -0
  1432. package/dist/sync/types.js +12 -0
  1433. package/dist/sync/types.js.map +1 -0
  1434. package/dist/tools/browser/index.d.ts +47 -0
  1435. package/dist/tools/browser/index.d.ts.map +1 -0
  1436. package/dist/tools/browser/index.js +413 -0
  1437. package/dist/tools/browser/index.js.map +1 -0
  1438. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  1439. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  1440. package/dist/tools/google/index.d.ts +84 -0
  1441. package/dist/tools/google/index.d.ts.map +1 -0
  1442. package/dist/tools/google/index.js +508 -0
  1443. package/dist/tools/google/index.js.map +1 -0
  1444. package/dist/tools/integration/index.d.ts +24 -0
  1445. package/dist/tools/integration/index.d.ts.map +1 -0
  1446. package/dist/tools/integration/index.js +223 -0
  1447. package/dist/tools/integration/index.js.map +1 -0
  1448. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  1449. package/dist/tools/memory/getMemoryGraph.js +12 -12
  1450. package/dist/tools/memory/getSessionContext.js +9 -9
  1451. package/dist/tools/memory/linkMemories.js +14 -14
  1452. package/dist/tools/memory/listMemories.js +4 -4
  1453. package/dist/tools/memory/recallMemory.js +4 -4
  1454. package/dist/tools/memory/saveMemory.js +4 -4
  1455. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  1456. package/dist/tools/sandbox/index.d.ts +25 -0
  1457. package/dist/tools/sandbox/index.d.ts.map +1 -0
  1458. package/dist/tools/sandbox/index.js +255 -0
  1459. package/dist/tools/sandbox/index.js.map +1 -0
  1460. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  1461. package/dist/tools/semantic/astGrep.d.ts +2 -0
  1462. package/dist/tools/semantic/astGrep.d.ts.map +1 -1
  1463. package/dist/tools/semantic/astGrep.js +61 -35
  1464. package/dist/tools/semantic/astGrep.js.map +1 -1
  1465. package/dist/tools/semantic/astGrep.test.js +15 -7
  1466. package/dist/tools/semantic/astGrep.test.js.map +1 -1
  1467. package/dist/tools/spec/prdParser.test.js +171 -171
  1468. package/dist/tools/spec/specGenerator.js +169 -169
  1469. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  1470. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  1471. package/dist/tools/vision/index.d.ts +45 -0
  1472. package/dist/tools/vision/index.d.ts.map +1 -0
  1473. package/dist/tools/vision/index.js +328 -0
  1474. package/dist/tools/vision/index.js.map +1 -0
  1475. package/dist/tools/voice/index.d.ts +24 -0
  1476. package/dist/tools/voice/index.d.ts.map +1 -0
  1477. package/dist/tools/voice/index.js +204 -0
  1478. package/dist/tools/voice/index.js.map +1 -0
  1479. package/dist/types/tool.d.ts +64 -0
  1480. package/dist/types/tool.d.ts.map +1 -0
  1481. package/dist/types/tool.js +3 -0
  1482. package/dist/types/tool.js.map +1 -0
  1483. package/hooks/hooks.json +137 -137
  1484. package/hooks/scripts/code-check.js +70 -70
  1485. package/hooks/scripts/context-save.js +200 -200
  1486. package/hooks/scripts/hud-status.js +291 -291
  1487. package/hooks/scripts/keyword-detector.js +214 -214
  1488. package/hooks/scripts/llm-orchestrate.js +646 -511
  1489. package/hooks/scripts/post-edit.js +32 -32
  1490. package/hooks/scripts/pre-tool-guard.js +125 -125
  1491. package/hooks/scripts/prompt-dispatcher.js +185 -185
  1492. package/hooks/scripts/sentinel-guard.js +104 -104
  1493. package/hooks/scripts/session-start.js +106 -106
  1494. package/hooks/scripts/stop-notify.js +209 -209
  1495. package/hooks/scripts/utils.js +100 -100
  1496. package/languages/csharp-unity.md +515 -515
  1497. package/languages/gdscript-godot.md +470 -470
  1498. package/languages/ruby-rails.md +489 -489
  1499. package/languages/typescript-angular.md +433 -433
  1500. package/languages/typescript-astro.md +416 -416
  1501. package/languages/typescript-electron.md +406 -406
  1502. package/languages/typescript-nestjs.md +524 -524
  1503. package/languages/typescript-svelte.md +407 -407
  1504. package/languages/typescript-tauri.md +365 -365
  1505. package/package.json +121 -119
  1506. package/skills/brand-assets/SKILL.md +138 -138
  1507. package/skills/commerce-patterns/SKILL.md +361 -361
  1508. package/skills/commit-push-pr/SKILL.md +118 -118
  1509. package/skills/context7-usage/SKILL.md +105 -105
  1510. package/skills/e2e-commerce/SKILL.md +304 -304
  1511. package/skills/frontend-design/SKILL.md +92 -92
  1512. package/skills/git-worktree/SKILL.md +184 -184
  1513. package/skills/handoff/SKILL.md +101 -101
  1514. package/skills/priority-todos/SKILL.md +242 -242
  1515. package/skills/seo-checklist/SKILL.md +244 -244
  1516. package/skills/techdebt/SKILL.md +122 -122
  1517. package/skills/tool-fallback/SKILL.md +193 -193
  1518. package/skills/typescript-advanced-types/SKILL.md +720 -720
  1519. package/skills/ui-ux-pro-max/SKILL.md +386 -386
  1520. package/skills/vercel-react-best-practices/SKILL.md +304 -304
  1521. package/vibe/config.json +29 -29
  1522. package/vibe/constitution.md +227 -227
  1523. package/vibe/rules/principles/communication-guide.md +98 -98
  1524. package/vibe/rules/principles/development-philosophy.md +52 -52
  1525. package/vibe/rules/principles/quick-start.md +102 -102
  1526. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  1527. package/vibe/rules/quality/checklist.md +276 -276
  1528. package/vibe/rules/quality/performance.md +236 -236
  1529. package/vibe/rules/quality/testing-strategy.md +440 -440
  1530. package/vibe/rules/standards/anti-patterns.md +541 -541
  1531. package/vibe/rules/standards/code-structure.md +291 -291
  1532. package/vibe/rules/standards/complexity-metrics.md +313 -313
  1533. package/vibe/rules/standards/git-workflow.md +237 -237
  1534. package/vibe/rules/standards/naming-conventions.md +198 -198
  1535. package/vibe/rules/standards/security.md +305 -305
  1536. package/vibe/rules/writing/document-style.md +74 -74
  1537. package/vibe/setup.sh +31 -31
  1538. package/vibe/templates/constitution-template.md +252 -252
  1539. package/vibe/templates/contract-backend-template.md +526 -526
  1540. package/vibe/templates/contract-frontend-template.md +599 -599
  1541. package/vibe/templates/feature-template.md +96 -96
  1542. package/vibe/templates/spec-template.md +221 -221
  1543. package/vibe/ui-ux-data/charts.csv +26 -26
  1544. package/vibe/ui-ux-data/colors.csv +97 -97
  1545. package/vibe/ui-ux-data/icons.csv +101 -101
  1546. package/vibe/ui-ux-data/landing.csv +31 -31
  1547. package/vibe/ui-ux-data/products.csv +96 -96
  1548. package/vibe/ui-ux-data/react-performance.csv +45 -45
  1549. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  1550. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  1551. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  1552. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  1553. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  1554. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  1555. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  1556. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  1557. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  1558. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  1559. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  1560. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  1561. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  1562. package/vibe/ui-ux-data/styles.csv +68 -68
  1563. package/vibe/ui-ux-data/typography.csv +57 -57
  1564. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  1565. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  1566. package/vibe/ui-ux-data/version.json +31 -31
  1567. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -0,0 +1,66 @@
1
+ /**
2
+ * BrowserService — Playwright CDP 연결 관리 (팩토리 패턴)
3
+ *
4
+ * IBrowserProvider를 통해 Local(Phase1) / Sandbox(Phase5) 분기.
5
+ * 연결 캐싱, 자동 재연결 (exponential backoff + jitter), 테넌트별 격리.
6
+ */
7
+ import type { Page } from 'playwright';
8
+ import type { IBrowserProvider, BrowserServiceConfig, BrowserSessionInfo, BrowserError, PageState, RoleRefMap, RoleRefsCacheEntry } from './types.js';
9
+ type Logger = (level: string, message: string, data?: unknown) => void;
10
+ export declare class BrowserService {
11
+ private browser;
12
+ private contexts;
13
+ private pageStates;
14
+ private refCache;
15
+ private config;
16
+ private logger;
17
+ private connecting;
18
+ constructor(logger: Logger, config?: BrowserServiceConfig);
19
+ /** CDP provider를 통해 브라우저에 연결 */
20
+ connect(provider: IBrowserProvider): Promise<void>;
21
+ /** 연결 해제 및 정리 */
22
+ disconnect(): Promise<void>;
23
+ /** 연결 상태 확인 */
24
+ isConnected(): boolean;
25
+ /** 테넌트별 격리된 Page 객체 반환 */
26
+ getPage(tenantId: string, targetId?: string): Promise<Page>;
27
+ /** 활성 페이지 목록 조회 */
28
+ listPages(tenantId: string): Promise<BrowserSessionInfo[]>;
29
+ /** 새 탭 열기 (URL 검증 포함) */
30
+ openPage(tenantId: string, url: string): Promise<Page>;
31
+ /** 특정 탭 닫기 */
32
+ closePage(tenantId: string, targetId: string): Promise<void>;
33
+ /** 테넌트 컨텍스트 전체 삭제 (ephemeral) */
34
+ destroyContext(tenantId: string): Promise<void>;
35
+ /** 페이지 상태 저장/조회 */
36
+ getPageState(page: Page): PageState | undefined;
37
+ setPageState(page: Page, state: PageState): void;
38
+ /** ref 캐시 관리 */
39
+ cacheRefs(targetId: string, refs: RoleRefMap, version: number): void;
40
+ getCachedRefs(targetId: string): RoleRefsCacheEntry | undefined;
41
+ /** 활성 세션 수 */
42
+ get activeSessionCount(): number;
43
+ get actionTimeout(): number;
44
+ /** URL 보안 검증 (SSRF 방지) */
45
+ private validateNavigationUrl;
46
+ /** exponential backoff + jitter 재시도 */
47
+ private connectWithRetry;
48
+ private ensureConnected;
49
+ private enforceSessionLimit;
50
+ private getTargetId;
51
+ private setupDialogHandler;
52
+ private sleep;
53
+ /** 구조화된 에러 생성 */
54
+ createError(code: BrowserError['error'], message: string, extra?: Partial<BrowserError>): BrowserError & Error;
55
+ }
56
+ export declare class LocalBrowserProvider implements IBrowserProvider {
57
+ readonly name = "local";
58
+ private cdpPort;
59
+ private process;
60
+ constructor(cdpPort?: number);
61
+ getCDPUrl(): Promise<string>;
62
+ isSandboxed(): boolean;
63
+ terminate(): Promise<void>;
64
+ }
65
+ export {};
66
+ //# sourceMappingURL=BrowserService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserService.d.ts","sourceRoot":"","sources":["../../../src/pc/browser/BrowserService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAA2B,IAAI,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EACV,gBAAgB,EAEhB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAkCvE,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,QAAQ,CAAgD;IAChE,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB;IAYzD,gCAAgC;IAC1B,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD,iBAAiB;IACX,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBjC,eAAe;IACf,WAAW,IAAI,OAAO;IAItB,0BAA0B;IACpB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjE,mBAAmB;IACb,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAchE,yBAAyB;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,cAAc;IACR,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlE,iCAAiC;IAC3B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD,mBAAmB;IACnB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS;IAI/C,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAIhD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQpE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI/D,cAAc;IACd,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAMD,0BAA0B;IAC1B,OAAO,CAAC,qBAAqB;IAuB7B,uCAAuC;YACzB,gBAAgB;IAyB9B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,KAAK;IAIb,iBAAiB;IACjB,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,KAAK;CAS/G;AAMD,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA0D;gBAE7D,OAAO,SAAO;IAIpB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAgBlC,WAAW,IAAI,OAAO;IAIhB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAMjC"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * BrowserService — Playwright CDP 연결 관리 (팩토리 패턴)
3
+ *
4
+ * IBrowserProvider를 통해 Local(Phase1) / Sandbox(Phase5) 분기.
5
+ * 연결 캐싱, 자동 재연결 (exponential backoff + jitter), 테넌트별 격리.
6
+ */
7
+ import { chromium } from 'playwright';
8
+ import * as crypto from 'node:crypto';
9
+ import { DEFAULT_CONFIG, ALLOWED_SCHEMES, BLOCKED_HOSTNAMES, BLOCKED_IP_PATTERNS } from './types.js';
10
+ /** LRU 캐시 — targetId 기반 ref 캐싱 (최대 50개) */
11
+ class LRUCache {
12
+ maxSize;
13
+ cache = new Map();
14
+ constructor(maxSize) {
15
+ this.maxSize = maxSize;
16
+ }
17
+ get(key) {
18
+ const value = this.cache.get(key);
19
+ if (value !== undefined) {
20
+ this.cache.delete(key);
21
+ this.cache.set(key, value);
22
+ }
23
+ return value;
24
+ }
25
+ set(key, value) {
26
+ this.cache.delete(key);
27
+ if (this.cache.size >= this.maxSize) {
28
+ const oldest = this.cache.keys().next().value;
29
+ if (oldest !== undefined)
30
+ this.cache.delete(oldest);
31
+ }
32
+ this.cache.set(key, value);
33
+ }
34
+ clear() {
35
+ this.cache.clear();
36
+ }
37
+ get size() {
38
+ return this.cache.size;
39
+ }
40
+ }
41
+ export class BrowserService {
42
+ browser = null;
43
+ contexts = new Map();
44
+ pageStates = new WeakMap();
45
+ refCache = new LRUCache(50);
46
+ config;
47
+ logger;
48
+ connecting = null;
49
+ constructor(logger, config) {
50
+ this.logger = logger;
51
+ this.config = {
52
+ connectTimeout: config?.connectTimeout ?? DEFAULT_CONFIG.connectTimeout,
53
+ actionTimeout: config?.actionTimeout ?? DEFAULT_CONFIG.actionTimeout,
54
+ maxRetries: config?.maxRetries ?? DEFAULT_CONFIG.maxRetries,
55
+ maxLocalSessions: config?.maxLocalSessions ?? DEFAULT_CONFIG.maxLocalSessions,
56
+ maxSaasSessionsPerUser: config?.maxSaasSessionsPerUser ?? DEFAULT_CONFIG.maxSaasSessionsPerUser,
57
+ screenshotDir: config?.screenshotDir ?? '',
58
+ };
59
+ }
60
+ /** CDP provider를 통해 브라우저에 연결 */
61
+ async connect(provider) {
62
+ if (this.browser?.isConnected())
63
+ return;
64
+ if (this.connecting) {
65
+ await this.connecting;
66
+ return;
67
+ }
68
+ this.connecting = this.connectWithRetry(provider);
69
+ try {
70
+ this.browser = await this.connecting;
71
+ this.logger('info', `Browser connected via ${provider.name}`);
72
+ }
73
+ finally {
74
+ this.connecting = null;
75
+ }
76
+ }
77
+ /** 연결 해제 및 정리 */
78
+ async disconnect() {
79
+ for (const [tenantId, ctx] of this.contexts) {
80
+ try {
81
+ await ctx.close();
82
+ }
83
+ catch (err) {
84
+ this.logger('warn', `Failed to close context for tenant "${tenantId}"`, {
85
+ error: err instanceof Error ? err.message : String(err),
86
+ });
87
+ }
88
+ this.contexts.delete(tenantId);
89
+ }
90
+ if (this.browser) {
91
+ try {
92
+ await this.browser.close();
93
+ }
94
+ catch (err) {
95
+ this.logger('warn', 'Failed to close browser', {
96
+ error: err instanceof Error ? err.message : String(err),
97
+ });
98
+ }
99
+ this.browser = null;
100
+ }
101
+ this.refCache.clear();
102
+ this.logger('info', 'Browser disconnected');
103
+ }
104
+ /** 연결 상태 확인 */
105
+ isConnected() {
106
+ return this.browser?.isConnected() ?? false;
107
+ }
108
+ /** 테넌트별 격리된 Page 객체 반환 */
109
+ async getPage(tenantId, targetId) {
110
+ this.ensureConnected();
111
+ let context = this.contexts.get(tenantId);
112
+ if (!context) {
113
+ this.enforceSessionLimit(tenantId);
114
+ context = await this.browser.newContext();
115
+ this.contexts.set(tenantId, context);
116
+ }
117
+ if (targetId) {
118
+ const existing = context.pages().find(p => this.getTargetId(p) === targetId);
119
+ if (existing)
120
+ return existing;
121
+ }
122
+ const pages = context.pages();
123
+ if (pages.length > 0 && !targetId)
124
+ return pages[0];
125
+ const page = await context.newPage();
126
+ this.setupDialogHandler(page);
127
+ return page;
128
+ }
129
+ /** 활성 페이지 목록 조회 */
130
+ async listPages(tenantId) {
131
+ const context = this.contexts.get(tenantId);
132
+ if (!context)
133
+ return [];
134
+ return context.pages().map(page => ({
135
+ tenantId,
136
+ targetId: this.getTargetId(page),
137
+ url: page.url(),
138
+ title: '', // sync access only
139
+ connected: this.isConnected(),
140
+ createdAt: new Date().toISOString(),
141
+ }));
142
+ }
143
+ /** 새 탭 열기 (URL 검증 포함) */
144
+ async openPage(tenantId, url) {
145
+ this.validateNavigationUrl(url);
146
+ const page = await this.getPage(tenantId);
147
+ await page.goto(url, { timeout: this.config.connectTimeout });
148
+ return page;
149
+ }
150
+ /** 특정 탭 닫기 */
151
+ async closePage(tenantId, targetId) {
152
+ const context = this.contexts.get(tenantId);
153
+ if (!context)
154
+ return;
155
+ const page = context.pages().find(p => this.getTargetId(p) === targetId);
156
+ if (page)
157
+ await page.close();
158
+ }
159
+ /** 테넌트 컨텍스트 전체 삭제 (ephemeral) */
160
+ async destroyContext(tenantId) {
161
+ const context = this.contexts.get(tenantId);
162
+ if (context) {
163
+ await context.close();
164
+ this.contexts.delete(tenantId);
165
+ }
166
+ }
167
+ /** 페이지 상태 저장/조회 */
168
+ getPageState(page) {
169
+ return this.pageStates.get(page);
170
+ }
171
+ setPageState(page, state) {
172
+ this.pageStates.set(page, state);
173
+ }
174
+ /** ref 캐시 관리 */
175
+ cacheRefs(targetId, refs, version) {
176
+ this.refCache.set(targetId, {
177
+ refs,
178
+ snapshotVersion: version,
179
+ cachedAt: Date.now(),
180
+ });
181
+ }
182
+ getCachedRefs(targetId) {
183
+ return this.refCache.get(targetId);
184
+ }
185
+ /** 활성 세션 수 */
186
+ get activeSessionCount() {
187
+ return this.contexts.size;
188
+ }
189
+ get actionTimeout() {
190
+ return this.config.actionTimeout;
191
+ }
192
+ // ──────────────────────────────────────────────────────────
193
+ // Private
194
+ // ──────────────────────────────────────────────────────────
195
+ /** URL 보안 검증 (SSRF 방지) */
196
+ validateNavigationUrl(url) {
197
+ let parsed;
198
+ try {
199
+ parsed = new URL(url);
200
+ }
201
+ catch {
202
+ throw this.createError('NAVIGATION_BLOCKED', `Invalid URL: ${url}`);
203
+ }
204
+ if (!ALLOWED_SCHEMES.has(parsed.protocol)) {
205
+ throw this.createError('NAVIGATION_BLOCKED', `Blocked scheme "${parsed.protocol}". Only http/https allowed.`);
206
+ }
207
+ if (BLOCKED_HOSTNAMES.has(parsed.hostname.toLowerCase())) {
208
+ throw this.createError('NAVIGATION_BLOCKED', `Blocked hostname: ${parsed.hostname}`);
209
+ }
210
+ for (const pattern of BLOCKED_IP_PATTERNS) {
211
+ if (pattern.test(parsed.hostname)) {
212
+ throw this.createError('NAVIGATION_BLOCKED', `Blocked private/metadata IP: ${parsed.hostname}`);
213
+ }
214
+ }
215
+ }
216
+ /** exponential backoff + jitter 재시도 */
217
+ async connectWithRetry(provider) {
218
+ let lastError = null;
219
+ for (let attempt = 0; attempt < this.config.maxRetries; attempt++) {
220
+ try {
221
+ const cdpUrl = await provider.getCDPUrl();
222
+ const browser = await chromium.connectOverCDP(cdpUrl, {
223
+ timeout: this.config.connectTimeout,
224
+ });
225
+ return browser;
226
+ }
227
+ catch (err) {
228
+ lastError = err instanceof Error ? err : new Error(String(err));
229
+ const baseDelay = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s
230
+ const jitter = Math.random() * 1000 - 500; // ±500ms
231
+ const delay = Math.max(0, baseDelay + jitter);
232
+ this.logger('warn', `CDP connection attempt ${attempt + 1}/${this.config.maxRetries} failed, retrying in ${Math.round(delay)}ms`, {
233
+ error: lastError.message,
234
+ });
235
+ await this.sleep(delay);
236
+ }
237
+ }
238
+ throw lastError ?? new Error('CDP connection failed');
239
+ }
240
+ ensureConnected() {
241
+ if (!this.browser?.isConnected()) {
242
+ throw this.createError('BROWSER_DISCONNECTED', 'Browser is not connected');
243
+ }
244
+ }
245
+ enforceSessionLimit(tenantId) {
246
+ if (this.contexts.size >= this.config.maxLocalSessions) {
247
+ throw this.createError('MAX_SESSIONS_REACHED', `Maximum ${this.config.maxLocalSessions} concurrent sessions reached`);
248
+ }
249
+ }
250
+ getTargetId(page) {
251
+ // URL-based identifier (CDP target ID not directly available)
252
+ return crypto.createHash('md5').update(page.url()).digest('hex').slice(0, 8);
253
+ }
254
+ setupDialogHandler(page) {
255
+ page.on('dialog', async (dialog) => {
256
+ try {
257
+ this.logger('info', `Auto-dismissing ${dialog.type()} dialog: ${dialog.message()}`);
258
+ await dialog.dismiss();
259
+ }
260
+ catch (err) {
261
+ this.logger('warn', 'Failed to dismiss dialog', {
262
+ error: err instanceof Error ? err.message : String(err),
263
+ });
264
+ }
265
+ });
266
+ }
267
+ sleep(ms) {
268
+ return new Promise(resolve => setTimeout(resolve, ms));
269
+ }
270
+ /** 구조화된 에러 생성 */
271
+ createError(code, message, extra) {
272
+ const error = new Error(message);
273
+ error.error = code;
274
+ error.message = message;
275
+ if (extra?.retries !== undefined)
276
+ error.retries = extra.retries;
277
+ if (extra?.timeout !== undefined)
278
+ error.timeout = extra.timeout;
279
+ if (extra?.details !== undefined)
280
+ error.details = extra.details;
281
+ return error;
282
+ }
283
+ }
284
+ // ============================================================================
285
+ // LocalBrowserProvider — Phase 1 (로컬 Chrome CDP 연결)
286
+ // ============================================================================
287
+ export class LocalBrowserProvider {
288
+ name = 'local';
289
+ cdpPort;
290
+ process = null;
291
+ constructor(cdpPort = 9222) {
292
+ this.cdpPort = cdpPort;
293
+ }
294
+ async getCDPUrl() {
295
+ // 기존 Chrome CDP 엔드포인트 탐색
296
+ try {
297
+ const resp = await fetch(`http://127.0.0.1:${this.cdpPort}/json/version`);
298
+ const data = await resp.json();
299
+ if (data.webSocketDebuggerUrl) {
300
+ return data.webSocketDebuggerUrl;
301
+ }
302
+ }
303
+ catch {
304
+ // CDP 미실행 — Playwright 내장 브라우저로 대체
305
+ }
306
+ // Playwright chromium launch (CDP 서버 포함)
307
+ return `http://127.0.0.1:${this.cdpPort}`;
308
+ }
309
+ isSandboxed() {
310
+ return false;
311
+ }
312
+ async terminate() {
313
+ if (this.process) {
314
+ this.process.kill();
315
+ this.process = null;
316
+ }
317
+ }
318
+ }
319
+ //# sourceMappingURL=BrowserService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserService.js","sourceRoot":"","sources":["../../../src/pc/browser/BrowserService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * BrowserService Unit Tests
3
+ *
4
+ * IBrowserProvider 팩토리, 테넌트 격리, 재연결 로직.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=BrowserService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserService.test.d.ts","sourceRoot":"","sources":["../../../src/pc/browser/BrowserService.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * BrowserService Unit Tests
3
+ *
4
+ * IBrowserProvider 팩토리, 테넌트 격리, 재연결 로직.
5
+ */
6
+ import { describe, it, expect, beforeEach } from 'vitest';
7
+ import { BrowserService, LocalBrowserProvider } from './BrowserService.js';
8
+ const noopLogger = (_level, _msg, _data) => { };
9
+ // ============================================================================
10
+ // Mock Provider
11
+ // ============================================================================
12
+ class MockBrowserProvider {
13
+ name = 'mock';
14
+ shouldFail = false;
15
+ terminateCalled = false;
16
+ setFail(fail) {
17
+ this.shouldFail = fail;
18
+ }
19
+ async getCDPUrl() {
20
+ if (this.shouldFail)
21
+ throw new Error('Mock CDP failure');
22
+ return 'ws://127.0.0.1:9222/devtools/browser/mock-id';
23
+ }
24
+ isSandboxed() {
25
+ return false;
26
+ }
27
+ async terminate() {
28
+ this.terminateCalled = true;
29
+ }
30
+ }
31
+ // ============================================================================
32
+ // Scenario 6: Ephemeral 브라우저 컨텍스트 (테넌트 격리)
33
+ // ============================================================================
34
+ describe('BrowserService: Tenant Isolation', () => {
35
+ let service;
36
+ beforeEach(() => {
37
+ service = new BrowserService(noopLogger, {
38
+ maxRetries: 1,
39
+ maxLocalSessions: 3,
40
+ });
41
+ });
42
+ it('should start with no active sessions', () => {
43
+ expect(service.activeSessionCount).toBe(0);
44
+ });
45
+ it('should not be connected initially', () => {
46
+ expect(service.isConnected()).toBe(false);
47
+ });
48
+ it('should report disconnect after construction', () => {
49
+ expect(service.isConnected()).toBe(false);
50
+ expect(service.activeSessionCount).toBe(0);
51
+ });
52
+ });
53
+ // ============================================================================
54
+ // Scenario 8: CDP 연결 실패 시 JSON 에러 반환
55
+ // ============================================================================
56
+ describe('BrowserService: CDP Connection Errors', () => {
57
+ it('should create structured error with code', () => {
58
+ const service = new BrowserService(noopLogger, { maxRetries: 1 });
59
+ const error = service.createError('CDP_CONNECTION_FAILED', 'Connection failed', { retries: 3 });
60
+ expect(error.error).toBe('CDP_CONNECTION_FAILED');
61
+ expect(error.message).toBe('Connection failed');
62
+ expect(error.retries).toBe(3);
63
+ expect(error instanceof Error).toBe(true);
64
+ });
65
+ it('should create error with timeout info', () => {
66
+ const service = new BrowserService(noopLogger);
67
+ const error = service.createError('ACTION_TIMEOUT', 'Timed out', { timeout: 8000 });
68
+ expect(error.error).toBe('ACTION_TIMEOUT');
69
+ expect(error.timeout).toBe(8000);
70
+ });
71
+ });
72
+ // ============================================================================
73
+ // IBrowserProvider Interface
74
+ // ============================================================================
75
+ describe('IBrowserProvider: LocalBrowserProvider', () => {
76
+ it('should have name "local"', () => {
77
+ const provider = new LocalBrowserProvider();
78
+ expect(provider.name).toBe('local');
79
+ });
80
+ it('should not be sandboxed', () => {
81
+ const provider = new LocalBrowserProvider();
82
+ expect(provider.isSandboxed()).toBe(false);
83
+ });
84
+ it('should use custom CDP port', () => {
85
+ const provider = new LocalBrowserProvider(9333);
86
+ expect(provider.isSandboxed()).toBe(false);
87
+ });
88
+ it('should terminate without error', async () => {
89
+ const provider = new LocalBrowserProvider();
90
+ await expect(provider.terminate()).resolves.not.toThrow();
91
+ });
92
+ });
93
+ describe('IBrowserProvider: MockBrowserProvider', () => {
94
+ it('should return CDP URL', async () => {
95
+ const provider = new MockBrowserProvider();
96
+ const url = await provider.getCDPUrl();
97
+ expect(url).toContain('ws://');
98
+ expect(url).toContain('9222');
99
+ });
100
+ it('should throw when set to fail', async () => {
101
+ const provider = new MockBrowserProvider();
102
+ provider.setFail(true);
103
+ await expect(provider.getCDPUrl()).rejects.toThrow('Mock CDP failure');
104
+ });
105
+ it('should track terminate calls', async () => {
106
+ const provider = new MockBrowserProvider();
107
+ expect(provider.terminateCalled).toBe(false);
108
+ await provider.terminate();
109
+ expect(provider.terminateCalled).toBe(true);
110
+ });
111
+ });
112
+ // ============================================================================
113
+ // Session Limit Enforcement
114
+ // ============================================================================
115
+ describe('BrowserService: Session Limits', () => {
116
+ it('should enforce max local sessions via config', () => {
117
+ const service = new BrowserService(noopLogger, {
118
+ maxLocalSessions: 2,
119
+ maxSaasSessionsPerUser: 1,
120
+ });
121
+ expect(service.actionTimeout).toBe(8000);
122
+ });
123
+ it('should use default config when not provided', () => {
124
+ const service = new BrowserService(noopLogger);
125
+ expect(service.actionTimeout).toBe(8000);
126
+ });
127
+ it('should use custom action timeout', () => {
128
+ const service = new BrowserService(noopLogger, { actionTimeout: 5000 });
129
+ expect(service.actionTimeout).toBe(5000);
130
+ });
131
+ });
132
+ // ============================================================================
133
+ // PageState Management
134
+ // ============================================================================
135
+ describe('BrowserService: PageState', () => {
136
+ it('should store and retrieve ref cache entries', () => {
137
+ const service = new BrowserService(noopLogger);
138
+ service.cacheRefs('target-1', { e1: { role: 'button', name: 'Submit' } }, 1);
139
+ const cached = service.getCachedRefs('target-1');
140
+ expect(cached).toBeDefined();
141
+ expect(cached.refs.e1.role).toBe('button');
142
+ expect(cached.snapshotVersion).toBe(1);
143
+ });
144
+ it('should return undefined for uncached targets', () => {
145
+ const service = new BrowserService(noopLogger);
146
+ expect(service.getCachedRefs('nonexistent')).toBeUndefined();
147
+ });
148
+ it('should evict oldest entry when LRU limit reached', () => {
149
+ const service = new BrowserService(noopLogger);
150
+ // Fill cache with 50 entries
151
+ for (let i = 0; i < 50; i++) {
152
+ service.cacheRefs(`target-${i}`, { e1: { role: 'button' } }, i);
153
+ }
154
+ // Add one more (should evict target-0)
155
+ service.cacheRefs('target-50', { e1: { role: 'link' } }, 50);
156
+ expect(service.getCachedRefs('target-0')).toBeUndefined();
157
+ expect(service.getCachedRefs('target-50')).toBeDefined();
158
+ });
159
+ });
160
+ //# sourceMappingURL=BrowserService.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserService.test.js","sourceRoot":"","sources":["../../../src/pc/browser/BrowserService.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * RefLocator — Ref ID → Playwright Locator 변환
3
+ *
4
+ * "e1" → `page.getByRole(role, { name, exact: true })` 변환.
5
+ * nth 처리 (동일 role+name 중복 시), stale ref 감지.
6
+ */
7
+ import type { Page, Locator } from 'playwright';
8
+ import type { PageState } from './types.js';
9
+ export declare class RefLocator {
10
+ /**
11
+ * ref ID를 Playwright Locator로 변환
12
+ *
13
+ * @param page - 대상 페이지
14
+ * @param ref - ref ID (e.g., "e1", "e3")
15
+ * @param state - 현재 페이지 상태 (refs + snapshotVersion)
16
+ * @returns Playwright Locator
17
+ * @throws REF_NOT_FOUND | REF_STALE
18
+ */
19
+ resolve(page: Page, ref: string, state: PageState): Locator;
20
+ /**
21
+ * 여러 ref를 한번에 해석
22
+ */
23
+ resolveAll(page: Page, refs: string[], state: PageState): Map<string, Locator>;
24
+ /**
25
+ * ref 형식 정규화: "@e1", "ref=e1", "e1" → "e1"
26
+ */
27
+ normalizeRef(ref: string): string;
28
+ /**
29
+ * ref가 stale인지 확인 (현재 snapshotVersion과 비교)
30
+ */
31
+ isStale(refSnapshotVersion: number, currentSnapshotVersion: number): boolean;
32
+ /** RoleRef → Playwright Locator 빌드 */
33
+ private buildLocator;
34
+ /** 사용 가능한 ref ID 목록 (에러 메시지용) */
35
+ private listAvailableRefs;
36
+ /** 구조화된 ref 에러 생성 */
37
+ private createRefError;
38
+ }
39
+ //# sourceMappingURL=RefLocator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefLocator.d.ts","sourceRoot":"","sources":["../../../src/pc/browser/RefLocator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAuB,SAAS,EAAgB,MAAM,YAAY,CAAC;AAE/E,qBAAa,UAAU;IACrB;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAY3D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ9E;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;OAEG;IACH,OAAO,CACL,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,EAAE,MAAM,GAC7B,OAAO;IAQV,sCAAsC;IACtC,OAAO,CAAC,YAAY;IAoBpB,iCAAiC;IACjC,OAAO,CAAC,iBAAiB;IAOzB,qBAAqB;IACrB,OAAO,CAAC,cAAc;CAMvB"}