@su-record/vibe 2.7.6 → 2.7.8

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 (1550) 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.spec.review.md +558 -558
  55. package/commands/vibe.utils.md +413 -413
  56. package/commands/vibe.voice.md +79 -79
  57. package/dist/agent/AgentLoop.d.ts +97 -0
  58. package/dist/agent/AgentLoop.d.ts.map +1 -0
  59. package/dist/agent/AgentLoop.js +546 -0
  60. package/dist/agent/AgentLoop.js.map +1 -0
  61. package/dist/agent/ConversationState.d.ts +29 -0
  62. package/dist/agent/ConversationState.d.ts.map +1 -0
  63. package/dist/agent/ConversationState.js +107 -0
  64. package/dist/agent/ConversationState.js.map +1 -0
  65. package/dist/agent/ConversationStore.d.ts +31 -0
  66. package/dist/agent/ConversationStore.d.ts.map +1 -0
  67. package/dist/agent/ConversationStore.integration.test.d.ts +2 -0
  68. package/dist/agent/ConversationStore.integration.test.d.ts.map +1 -0
  69. package/dist/agent/ConversationStore.integration.test.js +162 -0
  70. package/dist/agent/ConversationStore.integration.test.js.map +1 -0
  71. package/dist/agent/ConversationStore.js +126 -0
  72. package/dist/agent/ConversationStore.js.map +1 -0
  73. package/dist/agent/ConversationStore.test.d.ts +2 -0
  74. package/dist/agent/ConversationStore.test.d.ts.map +1 -0
  75. package/dist/agent/ConversationStore.test.js +93 -0
  76. package/dist/agent/ConversationStore.test.js.map +1 -0
  77. package/dist/agent/HeadModelSelector.d.ts +36 -0
  78. package/dist/agent/HeadModelSelector.d.ts.map +1 -0
  79. package/dist/agent/HeadModelSelector.js +124 -0
  80. package/dist/agent/HeadModelSelector.js.map +1 -0
  81. package/dist/agent/RateLimiter.d.ts +44 -0
  82. package/dist/agent/RateLimiter.d.ts.map +1 -0
  83. package/dist/agent/RateLimiter.js +71 -0
  84. package/dist/agent/RateLimiter.js.map +1 -0
  85. package/dist/agent/SystemPrompt.d.ts +35 -0
  86. package/dist/agent/SystemPrompt.d.ts.map +1 -0
  87. package/dist/agent/SystemPrompt.js +151 -0
  88. package/dist/agent/SystemPrompt.js.map +1 -0
  89. package/dist/agent/ToolExecutor.d.ts +33 -0
  90. package/dist/agent/ToolExecutor.d.ts.map +1 -0
  91. package/dist/agent/ToolExecutor.js +123 -0
  92. package/dist/agent/ToolExecutor.js.map +1 -0
  93. package/dist/agent/ToolRegistry.d.ts +37 -0
  94. package/dist/agent/ToolRegistry.d.ts.map +1 -0
  95. package/dist/agent/ToolRegistry.js +125 -0
  96. package/dist/agent/ToolRegistry.js.map +1 -0
  97. package/dist/agent/__tests__/AgentLoop.test.d.ts +6 -0
  98. package/dist/agent/__tests__/AgentLoop.test.d.ts.map +1 -0
  99. package/dist/agent/__tests__/AgentLoop.test.js +208 -0
  100. package/dist/agent/__tests__/AgentLoop.test.js.map +1 -0
  101. package/dist/agent/__tests__/ConversationState.test.d.ts +6 -0
  102. package/dist/agent/__tests__/ConversationState.test.d.ts.map +1 -0
  103. package/dist/agent/__tests__/ConversationState.test.js +102 -0
  104. package/dist/agent/__tests__/ConversationState.test.js.map +1 -0
  105. package/dist/agent/__tests__/HeadModelSelector.test.d.ts +6 -0
  106. package/dist/agent/__tests__/HeadModelSelector.test.d.ts.map +1 -0
  107. package/dist/agent/__tests__/HeadModelSelector.test.js +132 -0
  108. package/dist/agent/__tests__/HeadModelSelector.test.js.map +1 -0
  109. package/dist/agent/__tests__/JobManager.test.d.ts +6 -0
  110. package/dist/agent/__tests__/JobManager.test.d.ts.map +1 -0
  111. package/dist/agent/__tests__/JobManager.test.js +197 -0
  112. package/dist/agent/__tests__/JobManager.test.js.map +1 -0
  113. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts +6 -0
  114. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts.map +1 -0
  115. package/dist/agent/__tests__/MediaPreprocessor.test.js +163 -0
  116. package/dist/agent/__tests__/MediaPreprocessor.test.js.map +1 -0
  117. package/dist/agent/__tests__/ToolExecutor.test.d.ts +6 -0
  118. package/dist/agent/__tests__/ToolExecutor.test.d.ts.map +1 -0
  119. package/dist/agent/__tests__/ToolExecutor.test.js +140 -0
  120. package/dist/agent/__tests__/ToolExecutor.test.js.map +1 -0
  121. package/dist/agent/__tests__/ToolRegistry.test.d.ts +6 -0
  122. package/dist/agent/__tests__/ToolRegistry.test.d.ts.map +1 -0
  123. package/dist/agent/__tests__/ToolRegistry.test.js +172 -0
  124. package/dist/agent/__tests__/ToolRegistry.test.js.map +1 -0
  125. package/dist/agent/__tests__/tools.test.d.ts +6 -0
  126. package/dist/agent/__tests__/tools.test.d.ts.map +1 -0
  127. package/dist/agent/__tests__/tools.test.js +177 -0
  128. package/dist/agent/__tests__/tools.test.js.map +1 -0
  129. package/dist/agent/index.d.ts +19 -0
  130. package/dist/agent/index.d.ts.map +1 -0
  131. package/dist/agent/index.js +18 -0
  132. package/dist/agent/index.js.map +1 -0
  133. package/dist/agent/jobs/JobManager.d.ts +46 -0
  134. package/dist/agent/jobs/JobManager.d.ts.map +1 -0
  135. package/dist/agent/jobs/JobManager.js +213 -0
  136. package/dist/agent/jobs/JobManager.js.map +1 -0
  137. package/dist/agent/jobs/ProgressReporter.d.ts +32 -0
  138. package/dist/agent/jobs/ProgressReporter.d.ts.map +1 -0
  139. package/dist/agent/jobs/ProgressReporter.js +82 -0
  140. package/dist/agent/jobs/ProgressReporter.js.map +1 -0
  141. package/dist/agent/jobs/types.d.ts +32 -0
  142. package/dist/agent/jobs/types.d.ts.map +1 -0
  143. package/dist/agent/jobs/types.js +6 -0
  144. package/dist/agent/jobs/types.js.map +1 -0
  145. package/dist/agent/policy-integration.test.d.ts +6 -0
  146. package/dist/agent/policy-integration.test.d.ts.map +1 -0
  147. package/dist/agent/policy-integration.test.js +148 -0
  148. package/dist/agent/policy-integration.test.js.map +1 -0
  149. package/dist/agent/preprocessors/MediaPreprocessor.d.ts +63 -0
  150. package/dist/agent/preprocessors/MediaPreprocessor.d.ts.map +1 -0
  151. package/dist/agent/preprocessors/MediaPreprocessor.js +320 -0
  152. package/dist/agent/preprocessors/MediaPreprocessor.js.map +1 -0
  153. package/dist/agent/providers/claude-head.d.ts +17 -0
  154. package/dist/agent/providers/claude-head.d.ts.map +1 -0
  155. package/dist/agent/providers/claude-head.js +124 -0
  156. package/dist/agent/providers/claude-head.js.map +1 -0
  157. package/dist/agent/providers/gpt-head.d.ts +30 -0
  158. package/dist/agent/providers/gpt-head.d.ts.map +1 -0
  159. package/dist/agent/providers/gpt-head.js +359 -0
  160. package/dist/agent/providers/gpt-head.js.map +1 -0
  161. package/dist/agent/tools/claude-code.d.ts +11 -0
  162. package/dist/agent/tools/claude-code.d.ts.map +1 -0
  163. package/dist/agent/tools/claude-code.js +148 -0
  164. package/dist/agent/tools/claude-code.js.map +1 -0
  165. package/dist/agent/tools/dm-pair.d.ts +23 -0
  166. package/dist/agent/tools/dm-pair.d.ts.map +1 -0
  167. package/dist/agent/tools/dm-pair.js +70 -0
  168. package/dist/agent/tools/dm-pair.js.map +1 -0
  169. package/dist/agent/tools/dm-pair.test.d.ts +6 -0
  170. package/dist/agent/tools/dm-pair.test.d.ts.map +1 -0
  171. package/dist/agent/tools/dm-pair.test.js +106 -0
  172. package/dist/agent/tools/dm-pair.test.js.map +1 -0
  173. package/dist/agent/tools/gemini-stt.d.ts +9 -0
  174. package/dist/agent/tools/gemini-stt.d.ts.map +1 -0
  175. package/dist/agent/tools/gemini-stt.js +33 -0
  176. package/dist/agent/tools/gemini-stt.js.map +1 -0
  177. package/dist/agent/tools/google-search.d.ts +9 -0
  178. package/dist/agent/tools/google-search.d.ts.map +1 -0
  179. package/dist/agent/tools/google-search.js +38 -0
  180. package/dist/agent/tools/google-search.js.map +1 -0
  181. package/dist/agent/tools/index.d.ts +22 -0
  182. package/dist/agent/tools/index.d.ts.map +1 -0
  183. package/dist/agent/tools/index.js +37 -0
  184. package/dist/agent/tools/index.js.map +1 -0
  185. package/dist/agent/tools/kimi-analyze.d.ts +9 -0
  186. package/dist/agent/tools/kimi-analyze.d.ts.map +1 -0
  187. package/dist/agent/tools/kimi-analyze.js +49 -0
  188. package/dist/agent/tools/kimi-analyze.js.map +1 -0
  189. package/dist/agent/tools/manage-memory.d.ts +10 -0
  190. package/dist/agent/tools/manage-memory.d.ts.map +1 -0
  191. package/dist/agent/tools/manage-memory.js +70 -0
  192. package/dist/agent/tools/manage-memory.js.map +1 -0
  193. package/dist/agent/tools/send-imessage.d.ts +19 -0
  194. package/dist/agent/tools/send-imessage.d.ts.map +1 -0
  195. package/dist/agent/tools/send-imessage.js +67 -0
  196. package/dist/agent/tools/send-imessage.js.map +1 -0
  197. package/dist/agent/tools/send-slack.d.ts +21 -0
  198. package/dist/agent/tools/send-slack.d.ts.map +1 -0
  199. package/dist/agent/tools/send-slack.js +63 -0
  200. package/dist/agent/tools/send-slack.js.map +1 -0
  201. package/dist/agent/tools/send-telegram.d.ts +20 -0
  202. package/dist/agent/tools/send-telegram.d.ts.map +1 -0
  203. package/dist/agent/tools/send-telegram.js +58 -0
  204. package/dist/agent/tools/send-telegram.js.map +1 -0
  205. package/dist/agent/tools/vision-analyze.d.ts +11 -0
  206. package/dist/agent/tools/vision-analyze.d.ts.map +1 -0
  207. package/dist/agent/tools/vision-analyze.js +103 -0
  208. package/dist/agent/tools/vision-analyze.js.map +1 -0
  209. package/dist/agent/tools/vision-capture.d.ts +13 -0
  210. package/dist/agent/tools/vision-capture.d.ts.map +1 -0
  211. package/dist/agent/tools/vision-capture.js +87 -0
  212. package/dist/agent/tools/vision-capture.js.map +1 -0
  213. package/dist/agent/tools/web-browse.d.ts +20 -0
  214. package/dist/agent/tools/web-browse.d.ts.map +1 -0
  215. package/dist/agent/tools/web-browse.js +196 -0
  216. package/dist/agent/tools/web-browse.js.map +1 -0
  217. package/dist/agent/types.d.ts +151 -0
  218. package/dist/agent/types.d.ts.map +1 -0
  219. package/dist/agent/types.js +6 -0
  220. package/dist/agent/types.js.map +1 -0
  221. package/dist/bridge/telegram-assistant-bridge.d.ts +10 -0
  222. package/dist/bridge/telegram-assistant-bridge.d.ts.map +1 -0
  223. package/dist/bridge/telegram-assistant-bridge.js +274 -0
  224. package/dist/bridge/telegram-assistant-bridge.js.map +1 -0
  225. package/dist/bridge/telegram-bridge.d.ts +10 -0
  226. package/dist/bridge/telegram-bridge.d.ts.map +1 -0
  227. package/dist/bridge/telegram-bridge.js +154 -0
  228. package/dist/bridge/telegram-bridge.js.map +1 -0
  229. package/dist/cli/collaborator.js +52 -52
  230. package/dist/cli/commands/autostart.d.ts +19 -0
  231. package/dist/cli/commands/autostart.d.ts.map +1 -0
  232. package/dist/cli/commands/autostart.js +213 -0
  233. package/dist/cli/commands/autostart.js.map +1 -0
  234. package/dist/cli/commands/browser.d.ts +12 -0
  235. package/dist/cli/commands/browser.d.ts.map +1 -0
  236. package/dist/cli/commands/browser.js +50 -0
  237. package/dist/cli/commands/browser.js.map +1 -0
  238. package/dist/cli/commands/daemon.d.ts +16 -0
  239. package/dist/cli/commands/daemon.d.ts.map +1 -0
  240. package/dist/cli/commands/daemon.js +277 -0
  241. package/dist/cli/commands/daemon.js.map +1 -0
  242. package/dist/cli/commands/device.d.ts +9 -0
  243. package/dist/cli/commands/device.d.ts.map +1 -0
  244. package/dist/cli/commands/device.js +56 -0
  245. package/dist/cli/commands/device.js.map +1 -0
  246. package/dist/cli/commands/evolution.js +12 -12
  247. package/dist/cli/commands/google.d.ts +12 -0
  248. package/dist/cli/commands/google.d.ts.map +1 -0
  249. package/dist/cli/commands/google.js +83 -0
  250. package/dist/cli/commands/google.js.map +1 -0
  251. package/dist/cli/commands/imessage.d.ts +11 -0
  252. package/dist/cli/commands/imessage.d.ts.map +1 -0
  253. package/dist/cli/commands/imessage.js +85 -0
  254. package/dist/cli/commands/imessage.js.map +1 -0
  255. package/dist/cli/commands/info.js +54 -54
  256. package/dist/cli/commands/init.d.ts +5 -0
  257. package/dist/cli/commands/init.d.ts.map +1 -1
  258. package/dist/cli/commands/init.js +42 -8
  259. package/dist/cli/commands/init.js.map +1 -1
  260. package/dist/cli/commands/interface.d.ts +15 -0
  261. package/dist/cli/commands/interface.d.ts.map +1 -0
  262. package/dist/cli/commands/interface.js +167 -0
  263. package/dist/cli/commands/interface.js.map +1 -0
  264. package/dist/cli/commands/job.d.ts +14 -0
  265. package/dist/cli/commands/job.d.ts.map +1 -0
  266. package/dist/cli/commands/job.js +170 -0
  267. package/dist/cli/commands/job.js.map +1 -0
  268. package/dist/cli/commands/pc.d.ts +12 -0
  269. package/dist/cli/commands/pc.d.ts.map +1 -0
  270. package/dist/cli/commands/pc.js +75 -0
  271. package/dist/cli/commands/pc.js.map +1 -0
  272. package/dist/cli/commands/policy.d.ts +10 -0
  273. package/dist/cli/commands/policy.d.ts.map +1 -0
  274. package/dist/cli/commands/policy.js +75 -0
  275. package/dist/cli/commands/policy.js.map +1 -0
  276. package/dist/cli/commands/remove.js +14 -14
  277. package/dist/cli/commands/sandbox.d.ts +10 -0
  278. package/dist/cli/commands/sandbox.d.ts.map +1 -0
  279. package/dist/cli/commands/sandbox.js +53 -0
  280. package/dist/cli/commands/sandbox.js.map +1 -0
  281. package/dist/cli/commands/sentinel.js +27 -27
  282. package/dist/cli/commands/slack.js +10 -10
  283. package/dist/cli/commands/sync.d.ts +9 -0
  284. package/dist/cli/commands/sync.d.ts.map +1 -0
  285. package/dist/cli/commands/sync.js +167 -0
  286. package/dist/cli/commands/sync.js.map +1 -0
  287. package/dist/cli/commands/telegram.js +12 -12
  288. package/dist/cli/commands/update.d.ts.map +1 -1
  289. package/dist/cli/commands/update.js +3 -1
  290. package/dist/cli/commands/update.js.map +1 -1
  291. package/dist/cli/commands/vision.d.ts +12 -0
  292. package/dist/cli/commands/vision.d.ts.map +1 -0
  293. package/dist/cli/commands/vision.js +74 -0
  294. package/dist/cli/commands/vision.js.map +1 -0
  295. package/dist/cli/commands/voice.d.ts +12 -0
  296. package/dist/cli/commands/voice.d.ts.map +1 -0
  297. package/dist/cli/commands/voice.js +67 -0
  298. package/dist/cli/commands/voice.js.map +1 -0
  299. package/dist/cli/commands/webhook.d.ts +9 -0
  300. package/dist/cli/commands/webhook.d.ts.map +1 -0
  301. package/dist/cli/commands/webhook.js +85 -0
  302. package/dist/cli/commands/webhook.js.map +1 -0
  303. package/dist/cli/detect.js +32 -32
  304. package/dist/cli/hud.d.ts +46 -0
  305. package/dist/cli/hud.d.ts.map +1 -0
  306. package/dist/cli/hud.js +392 -0
  307. package/dist/cli/hud.js.map +1 -0
  308. package/dist/cli/index.js +46 -46
  309. package/dist/cli/llm/az-commands.d.ts +12 -0
  310. package/dist/cli/llm/az-commands.d.ts.map +1 -0
  311. package/dist/cli/llm/az-commands.js +99 -0
  312. package/dist/cli/llm/az-commands.js.map +1 -0
  313. package/dist/cli/llm/claude-commands.js +16 -16
  314. package/dist/cli/llm/config.js +18 -18
  315. package/dist/cli/llm/gemini-commands.js +47 -47
  316. package/dist/cli/llm/gpt-commands.js +19 -19
  317. package/dist/cli/llm/help.js +21 -21
  318. package/dist/cli/llm/kimi-commands.d.ts +12 -0
  319. package/dist/cli/llm/kimi-commands.d.ts.map +1 -0
  320. package/dist/cli/llm/kimi-commands.js +100 -0
  321. package/dist/cli/llm/kimi-commands.js.map +1 -0
  322. package/dist/cli/llm/nvidia-commands.d.ts +16 -0
  323. package/dist/cli/llm/nvidia-commands.d.ts.map +1 -0
  324. package/dist/cli/llm/nvidia-commands.js +105 -0
  325. package/dist/cli/llm/nvidia-commands.js.map +1 -0
  326. package/dist/cli/llm/priority-commands.d.ts +18 -0
  327. package/dist/cli/llm/priority-commands.d.ts.map +1 -0
  328. package/dist/cli/llm/priority-commands.js +69 -0
  329. package/dist/cli/llm/priority-commands.js.map +1 -0
  330. package/dist/cli/postinstall/cursor-agents.js +32 -32
  331. package/dist/cli/postinstall/cursor-rules.js +83 -83
  332. package/dist/cli/postinstall/cursor-skills.js +743 -743
  333. package/dist/cli/postinstall/npmrc.d.ts +9 -0
  334. package/dist/cli/postinstall/npmrc.d.ts.map +1 -0
  335. package/dist/cli/postinstall/npmrc.js +80 -0
  336. package/dist/cli/postinstall/npmrc.js.map +1 -0
  337. package/dist/cli/setup/Provisioner.js +42 -42
  338. package/dist/daemon/DaemonIPC.d.ts +40 -0
  339. package/dist/daemon/DaemonIPC.d.ts.map +1 -0
  340. package/dist/daemon/DaemonIPC.js +327 -0
  341. package/dist/daemon/DaemonIPC.js.map +1 -0
  342. package/dist/daemon/InterfaceManager.d.ts +62 -0
  343. package/dist/daemon/InterfaceManager.d.ts.map +1 -0
  344. package/dist/daemon/InterfaceManager.js +785 -0
  345. package/dist/daemon/InterfaceManager.js.map +1 -0
  346. package/dist/daemon/SessionPool.d.ts +80 -0
  347. package/dist/daemon/SessionPool.d.ts.map +1 -0
  348. package/dist/daemon/SessionPool.js +414 -0
  349. package/dist/daemon/SessionPool.js.map +1 -0
  350. package/dist/daemon/VibeDaemon.d.ts +69 -0
  351. package/dist/daemon/VibeDaemon.d.ts.map +1 -0
  352. package/dist/daemon/VibeDaemon.js +400 -0
  353. package/dist/daemon/VibeDaemon.js.map +1 -0
  354. package/dist/daemon/daemon.test.d.ts +6 -0
  355. package/dist/daemon/daemon.test.d.ts.map +1 -0
  356. package/dist/daemon/daemon.test.js +348 -0
  357. package/dist/daemon/daemon.test.js.map +1 -0
  358. package/dist/daemon/index.d.ts +10 -0
  359. package/dist/daemon/index.d.ts.map +1 -0
  360. package/dist/daemon/index.js +9 -0
  361. package/dist/daemon/index.js.map +1 -0
  362. package/dist/daemon/pipeline.test.d.ts +6 -0
  363. package/dist/daemon/pipeline.test.d.ts.map +1 -0
  364. package/dist/daemon/pipeline.test.js +258 -0
  365. package/dist/daemon/pipeline.test.js.map +1 -0
  366. package/dist/daemon/preflight.d.ts +23 -0
  367. package/dist/daemon/preflight.d.ts.map +1 -0
  368. package/dist/daemon/preflight.js +204 -0
  369. package/dist/daemon/preflight.js.map +1 -0
  370. package/dist/daemon/preflight.test.d.ts +6 -0
  371. package/dist/daemon/preflight.test.d.ts.map +1 -0
  372. package/dist/daemon/preflight.test.js +88 -0
  373. package/dist/daemon/preflight.test.js.map +1 -0
  374. package/dist/daemon/types.d.ts +117 -0
  375. package/dist/daemon/types.d.ts.map +1 -0
  376. package/dist/daemon/types.js +15 -0
  377. package/dist/daemon/types.js.map +1 -0
  378. package/dist/infra/lib/DeepInit.js +24 -24
  379. package/dist/infra/lib/IterationTracker.js +11 -11
  380. package/dist/infra/lib/PythonParser.js +108 -108
  381. package/dist/infra/lib/ReviewRace.js +96 -96
  382. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  383. package/dist/infra/lib/SkillQualityGate.js +9 -9
  384. package/dist/infra/lib/SkillRepository.js +159 -159
  385. package/dist/infra/lib/UltraQA.js +99 -99
  386. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  387. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  388. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  389. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  390. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  391. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  392. package/dist/infra/lib/az/auth.d.ts +15 -0
  393. package/dist/infra/lib/az/auth.d.ts.map +1 -0
  394. package/dist/infra/lib/az/auth.js +67 -0
  395. package/dist/infra/lib/az/auth.js.map +1 -0
  396. package/dist/infra/lib/az/chat.d.ts +26 -0
  397. package/dist/infra/lib/az/chat.d.ts.map +1 -0
  398. package/dist/infra/lib/az/chat.js +116 -0
  399. package/dist/infra/lib/az/chat.js.map +1 -0
  400. package/dist/infra/lib/az/embedding.d.ts +13 -0
  401. package/dist/infra/lib/az/embedding.d.ts.map +1 -0
  402. package/dist/infra/lib/az/embedding.js +60 -0
  403. package/dist/infra/lib/az/embedding.js.map +1 -0
  404. package/dist/infra/lib/az/index.d.ts +9 -0
  405. package/dist/infra/lib/az/index.d.ts.map +1 -0
  406. package/dist/infra/lib/az/index.js +9 -0
  407. package/dist/infra/lib/az/index.js.map +1 -0
  408. package/dist/infra/lib/az/orchestration.d.ts +11 -0
  409. package/dist/infra/lib/az/orchestration.d.ts.map +1 -0
  410. package/dist/infra/lib/az/orchestration.js +24 -0
  411. package/dist/infra/lib/az/orchestration.js.map +1 -0
  412. package/dist/infra/lib/az/types.d.ts +35 -0
  413. package/dist/infra/lib/az/types.d.ts.map +1 -0
  414. package/dist/infra/lib/az/types.js +5 -0
  415. package/dist/infra/lib/az/types.js.map +1 -0
  416. package/dist/infra/lib/az-api.d.ts +5 -0
  417. package/dist/infra/lib/az-api.d.ts.map +1 -0
  418. package/dist/infra/lib/az-api.js +5 -0
  419. package/dist/infra/lib/az-api.js.map +1 -0
  420. package/dist/infra/lib/az-constants.d.ts +44 -0
  421. package/dist/infra/lib/az-constants.d.ts.map +1 -0
  422. package/dist/infra/lib/az-constants.js +58 -0
  423. package/dist/infra/lib/az-constants.js.map +1 -0
  424. package/dist/infra/lib/az-storage.d.ts +12 -0
  425. package/dist/infra/lib/az-storage.d.ts.map +1 -0
  426. package/dist/infra/lib/az-storage.js +59 -0
  427. package/dist/infra/lib/az-storage.js.map +1 -0
  428. package/dist/infra/lib/claude-storage.d.ts +12 -0
  429. package/dist/infra/lib/claude-storage.d.ts.map +1 -0
  430. package/dist/infra/lib/claude-storage.js +59 -0
  431. package/dist/infra/lib/claude-storage.js.map +1 -0
  432. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  433. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  434. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  435. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  436. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  437. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  438. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  439. package/dist/infra/lib/gemini/constants.js +14 -14
  440. package/dist/infra/lib/gemini/orchestration.js +5 -5
  441. package/dist/infra/lib/gemini-api.d.ts +13 -0
  442. package/dist/infra/lib/gemini-api.d.ts.map +1 -0
  443. package/dist/infra/lib/gemini-api.js +13 -0
  444. package/dist/infra/lib/gemini-api.js.map +1 -0
  445. package/dist/infra/lib/gemini-constants.d.ts +19 -0
  446. package/dist/infra/lib/gemini-constants.d.ts.map +1 -0
  447. package/dist/infra/lib/gemini-constants.js +34 -0
  448. package/dist/infra/lib/gemini-constants.js.map +1 -0
  449. package/dist/infra/lib/gemini-oauth.d.ts +60 -0
  450. package/dist/infra/lib/gemini-oauth.d.ts.map +1 -0
  451. package/dist/infra/lib/gemini-oauth.js +386 -0
  452. package/dist/infra/lib/gemini-oauth.js.map +1 -0
  453. package/dist/infra/lib/gemini-storage.d.ts +64 -0
  454. package/dist/infra/lib/gemini-storage.d.ts.map +1 -0
  455. package/dist/infra/lib/gemini-storage.js +177 -0
  456. package/dist/infra/lib/gemini-storage.js.map +1 -0
  457. package/dist/infra/lib/gpt/oauth.js +44 -44
  458. package/dist/infra/lib/gpt/orchestration.js +4 -4
  459. package/dist/infra/lib/gpt-api.d.ts +13 -0
  460. package/dist/infra/lib/gpt-api.d.ts.map +1 -0
  461. package/dist/infra/lib/gpt-api.js +13 -0
  462. package/dist/infra/lib/gpt-api.js.map +1 -0
  463. package/dist/infra/lib/gpt-constants.d.ts +12 -0
  464. package/dist/infra/lib/gpt-constants.d.ts.map +1 -0
  465. package/dist/infra/lib/gpt-constants.js +18 -0
  466. package/dist/infra/lib/gpt-constants.js.map +1 -0
  467. package/dist/infra/lib/gpt-oauth.d.ts +66 -0
  468. package/dist/infra/lib/gpt-oauth.d.ts.map +1 -0
  469. package/dist/infra/lib/gpt-oauth.js +389 -0
  470. package/dist/infra/lib/gpt-oauth.js.map +1 -0
  471. package/dist/infra/lib/gpt-storage.d.ts +64 -0
  472. package/dist/infra/lib/gpt-storage.d.ts.map +1 -0
  473. package/dist/infra/lib/gpt-storage.js +180 -0
  474. package/dist/infra/lib/gpt-storage.js.map +1 -0
  475. package/dist/infra/lib/kimi/auth.d.ts +10 -0
  476. package/dist/infra/lib/kimi/auth.d.ts.map +1 -0
  477. package/dist/infra/lib/kimi/auth.js +45 -0
  478. package/dist/infra/lib/kimi/auth.js.map +1 -0
  479. package/dist/infra/lib/kimi/chat.d.ts +26 -0
  480. package/dist/infra/lib/kimi/chat.d.ts.map +1 -0
  481. package/dist/infra/lib/kimi/chat.js +115 -0
  482. package/dist/infra/lib/kimi/chat.js.map +1 -0
  483. package/dist/infra/lib/kimi/index.d.ts +8 -0
  484. package/dist/infra/lib/kimi/index.d.ts.map +1 -0
  485. package/dist/infra/lib/kimi/index.js +8 -0
  486. package/dist/infra/lib/kimi/index.js.map +1 -0
  487. package/dist/infra/lib/kimi/orchestration.d.ts +10 -0
  488. package/dist/infra/lib/kimi/orchestration.d.ts.map +1 -0
  489. package/dist/infra/lib/kimi/orchestration.js +22 -0
  490. package/dist/infra/lib/kimi/orchestration.js.map +1 -0
  491. package/dist/infra/lib/kimi/types.d.ts +30 -0
  492. package/dist/infra/lib/kimi/types.d.ts.map +1 -0
  493. package/dist/infra/lib/kimi/types.js +5 -0
  494. package/dist/infra/lib/kimi/types.js.map +1 -0
  495. package/dist/infra/lib/kimi-api.d.ts +5 -0
  496. package/dist/infra/lib/kimi-api.d.ts.map +1 -0
  497. package/dist/infra/lib/kimi-api.js +5 -0
  498. package/dist/infra/lib/kimi-api.js.map +1 -0
  499. package/dist/infra/lib/kimi-constants.d.ts +27 -0
  500. package/dist/infra/lib/kimi-constants.d.ts.map +1 -0
  501. package/dist/infra/lib/kimi-constants.js +31 -0
  502. package/dist/infra/lib/kimi-constants.js.map +1 -0
  503. package/dist/infra/lib/kimi-storage.d.ts +12 -0
  504. package/dist/infra/lib/kimi-storage.d.ts.map +1 -0
  505. package/dist/infra/lib/kimi-storage.js +59 -0
  506. package/dist/infra/lib/kimi-storage.js.map +1 -0
  507. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  508. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  509. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  510. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  511. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  512. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  513. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  514. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  515. package/dist/infra/lib/priority-config.d.ts +39 -0
  516. package/dist/infra/lib/priority-config.d.ts.map +1 -0
  517. package/dist/infra/lib/priority-config.js +137 -0
  518. package/dist/infra/lib/priority-config.js.map +1 -0
  519. package/dist/infra/lib/sync/constants.d.ts +21 -0
  520. package/dist/infra/lib/sync/constants.d.ts.map +1 -0
  521. package/dist/infra/lib/sync/constants.js +78 -0
  522. package/dist/infra/lib/sync/constants.js.map +1 -0
  523. package/dist/infra/lib/sync/crypto.d.ts +23 -0
  524. package/dist/infra/lib/sync/crypto.d.ts.map +1 -0
  525. package/dist/infra/lib/sync/crypto.js +55 -0
  526. package/dist/infra/lib/sync/crypto.js.map +1 -0
  527. package/dist/infra/lib/sync/drive.d.ts +22 -0
  528. package/dist/infra/lib/sync/drive.d.ts.map +1 -0
  529. package/dist/infra/lib/sync/drive.js +99 -0
  530. package/dist/infra/lib/sync/drive.js.map +1 -0
  531. package/dist/infra/lib/sync/index.d.ts +9 -0
  532. package/dist/infra/lib/sync/index.d.ts.map +1 -0
  533. package/dist/infra/lib/sync/index.js +9 -0
  534. package/dist/infra/lib/sync/index.js.map +1 -0
  535. package/dist/infra/lib/sync/oauth.d.ts +12 -0
  536. package/dist/infra/lib/sync/oauth.d.ts.map +1 -0
  537. package/dist/infra/lib/sync/oauth.js +157 -0
  538. package/dist/infra/lib/sync/oauth.js.map +1 -0
  539. package/dist/infra/lib/sync/storage.d.ts +21 -0
  540. package/dist/infra/lib/sync/storage.d.ts.map +1 -0
  541. package/dist/infra/lib/sync/storage.js +32 -0
  542. package/dist/infra/lib/sync/storage.js.map +1 -0
  543. package/dist/infra/orchestrator/AgentManager.js +12 -12
  544. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  545. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  546. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  547. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  548. package/dist/infra/policy/Evidence.d.ts +30 -0
  549. package/dist/infra/policy/Evidence.d.ts.map +1 -0
  550. package/dist/infra/policy/Evidence.js +134 -0
  551. package/dist/infra/policy/Evidence.js.map +1 -0
  552. package/dist/infra/policy/PolicyEngine.d.ts +34 -0
  553. package/dist/infra/policy/PolicyEngine.d.ts.map +1 -0
  554. package/dist/infra/policy/PolicyEngine.js +219 -0
  555. package/dist/infra/policy/PolicyEngine.js.map +1 -0
  556. package/dist/infra/policy/PolicyStore.d.ts +36 -0
  557. package/dist/infra/policy/PolicyStore.d.ts.map +1 -0
  558. package/dist/infra/policy/PolicyStore.js +160 -0
  559. package/dist/infra/policy/PolicyStore.js.map +1 -0
  560. package/dist/infra/policy/RiskCalculator.d.ts +20 -0
  561. package/dist/infra/policy/RiskCalculator.d.ts.map +1 -0
  562. package/dist/infra/policy/RiskCalculator.js +64 -0
  563. package/dist/infra/policy/RiskCalculator.js.map +1 -0
  564. package/dist/infra/policy/default-policies.d.ts +13 -0
  565. package/dist/infra/policy/default-policies.d.ts.map +1 -0
  566. package/dist/infra/policy/default-policies.js +99 -0
  567. package/dist/infra/policy/default-policies.js.map +1 -0
  568. package/dist/infra/policy/index.d.ts +11 -0
  569. package/dist/infra/policy/index.d.ts.map +1 -0
  570. package/dist/infra/policy/index.js +10 -0
  571. package/dist/infra/policy/index.js.map +1 -0
  572. package/dist/infra/policy/policy.test.d.ts +5 -0
  573. package/dist/infra/policy/policy.test.d.ts.map +1 -0
  574. package/dist/infra/policy/policy.test.js +628 -0
  575. package/dist/infra/policy/policy.test.js.map +1 -0
  576. package/dist/infra/policy/types.d.ts +71 -0
  577. package/dist/infra/policy/types.d.ts.map +1 -0
  578. package/dist/infra/policy/types.js +18 -0
  579. package/dist/infra/policy/types.js.map +1 -0
  580. package/dist/interface/BaseInterface.d.ts +37 -0
  581. package/dist/interface/BaseInterface.d.ts.map +1 -0
  582. package/dist/interface/BaseInterface.js +105 -0
  583. package/dist/interface/BaseInterface.js.map +1 -0
  584. package/dist/interface/ClaudeCodeBridge.d.ts +38 -0
  585. package/dist/interface/ClaudeCodeBridge.d.ts.map +1 -0
  586. package/dist/interface/ClaudeCodeBridge.js +216 -0
  587. package/dist/interface/ClaudeCodeBridge.js.map +1 -0
  588. package/dist/interface/imessage/IMessageBot.d.ts +33 -0
  589. package/dist/interface/imessage/IMessageBot.d.ts.map +1 -0
  590. package/dist/interface/imessage/IMessageBot.js +222 -0
  591. package/dist/interface/imessage/IMessageBot.js.map +1 -0
  592. package/dist/interface/imessage/IMessageFormatter.d.ts +15 -0
  593. package/dist/interface/imessage/IMessageFormatter.d.ts.map +1 -0
  594. package/dist/interface/imessage/IMessageFormatter.js +81 -0
  595. package/dist/interface/imessage/IMessageFormatter.js.map +1 -0
  596. package/dist/interface/imessage/IMessageRpcClient.d.ts +39 -0
  597. package/dist/interface/imessage/IMessageRpcClient.d.ts.map +1 -0
  598. package/dist/interface/imessage/IMessageRpcClient.js +174 -0
  599. package/dist/interface/imessage/IMessageRpcClient.js.map +1 -0
  600. package/dist/interface/imessage/IMessageSender.d.ts +19 -0
  601. package/dist/interface/imessage/IMessageSender.d.ts.map +1 -0
  602. package/dist/interface/imessage/IMessageSender.js +136 -0
  603. package/dist/interface/imessage/IMessageSender.js.map +1 -0
  604. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts +5 -0
  605. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts.map +1 -0
  606. package/dist/interface/imessage/__tests__/IMessageBot.test.js +60 -0
  607. package/dist/interface/imessage/__tests__/IMessageBot.test.js.map +1 -0
  608. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts +5 -0
  609. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts.map +1 -0
  610. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js +110 -0
  611. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js.map +1 -0
  612. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts +5 -0
  613. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts.map +1 -0
  614. package/dist/interface/imessage/__tests__/IMessageSender.test.js +67 -0
  615. package/dist/interface/imessage/__tests__/IMessageSender.test.js.map +1 -0
  616. package/dist/interface/imessage/index.d.ts +8 -0
  617. package/dist/interface/imessage/index.d.ts.map +1 -0
  618. package/dist/interface/imessage/index.js +8 -0
  619. package/dist/interface/imessage/index.js.map +1 -0
  620. package/dist/interface/index.d.ts +26 -0
  621. package/dist/interface/index.d.ts.map +1 -0
  622. package/dist/interface/index.js +26 -0
  623. package/dist/interface/index.js.map +1 -0
  624. package/dist/interface/interface.test.d.ts +5 -0
  625. package/dist/interface/interface.test.d.ts.map +1 -0
  626. package/dist/interface/interface.test.js +442 -0
  627. package/dist/interface/interface.test.js.map +1 -0
  628. package/dist/interface/slack/SlackBot.d.ts +83 -0
  629. package/dist/interface/slack/SlackBot.d.ts.map +1 -0
  630. package/dist/interface/slack/SlackBot.js +563 -0
  631. package/dist/interface/slack/SlackBot.js.map +1 -0
  632. package/dist/interface/slack/SlackFormatter.d.ts +19 -0
  633. package/dist/interface/slack/SlackFormatter.d.ts.map +1 -0
  634. package/dist/interface/slack/SlackFormatter.js +76 -0
  635. package/dist/interface/slack/SlackFormatter.js.map +1 -0
  636. package/dist/interface/slack/__tests__/SlackBot.test.d.ts +5 -0
  637. package/dist/interface/slack/__tests__/SlackBot.test.d.ts.map +1 -0
  638. package/dist/interface/slack/__tests__/SlackBot.test.js +37 -0
  639. package/dist/interface/slack/__tests__/SlackBot.test.js.map +1 -0
  640. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts +5 -0
  641. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts.map +1 -0
  642. package/dist/interface/slack/__tests__/SlackFormatter.test.js +93 -0
  643. package/dist/interface/slack/__tests__/SlackFormatter.test.js.map +1 -0
  644. package/dist/interface/slack/index.d.ts +7 -0
  645. package/dist/interface/slack/index.d.ts.map +1 -0
  646. package/dist/interface/slack/index.js +7 -0
  647. package/dist/interface/slack/index.js.map +1 -0
  648. package/dist/interface/telegram/TelegramBot.d.ts +60 -0
  649. package/dist/interface/telegram/TelegramBot.d.ts.map +1 -0
  650. package/dist/interface/telegram/TelegramBot.js +400 -0
  651. package/dist/interface/telegram/TelegramBot.js.map +1 -0
  652. package/dist/interface/telegram/TelegramFormatter.d.ts +19 -0
  653. package/dist/interface/telegram/TelegramFormatter.d.ts.map +1 -0
  654. package/dist/interface/telegram/TelegramFormatter.js +66 -0
  655. package/dist/interface/telegram/TelegramFormatter.js.map +1 -0
  656. package/dist/interface/types.d.ts +167 -0
  657. package/dist/interface/types.d.ts.map +1 -0
  658. package/dist/interface/types.js +6 -0
  659. package/dist/interface/types.js.map +1 -0
  660. package/dist/interface/utils/MessageCombiner.d.ts +14 -0
  661. package/dist/interface/utils/MessageCombiner.d.ts.map +1 -0
  662. package/dist/interface/utils/MessageCombiner.js +48 -0
  663. package/dist/interface/utils/MessageCombiner.js.map +1 -0
  664. package/dist/interface/vision/AdaptiveFrameSampler.d.ts +44 -0
  665. package/dist/interface/vision/AdaptiveFrameSampler.d.ts.map +1 -0
  666. package/dist/interface/vision/AdaptiveFrameSampler.js +109 -0
  667. package/dist/interface/vision/AdaptiveFrameSampler.js.map +1 -0
  668. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts +7 -0
  669. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts.map +1 -0
  670. package/dist/interface/vision/AdaptiveFrameSampler.test.js +113 -0
  671. package/dist/interface/vision/AdaptiveFrameSampler.test.js.map +1 -0
  672. package/dist/interface/vision/GeminiLive.d.ts +37 -0
  673. package/dist/interface/vision/GeminiLive.d.ts.map +1 -0
  674. package/dist/interface/vision/GeminiLive.js +272 -0
  675. package/dist/interface/vision/GeminiLive.js.map +1 -0
  676. package/dist/interface/vision/GeminiLive.test.d.ts +6 -0
  677. package/dist/interface/vision/GeminiLive.test.d.ts.map +1 -0
  678. package/dist/interface/vision/GeminiLive.test.js +40 -0
  679. package/dist/interface/vision/GeminiLive.test.js.map +1 -0
  680. package/dist/interface/vision/GeminiLiveStream.d.ts +55 -0
  681. package/dist/interface/vision/GeminiLiveStream.d.ts.map +1 -0
  682. package/dist/interface/vision/GeminiLiveStream.js +213 -0
  683. package/dist/interface/vision/GeminiLiveStream.js.map +1 -0
  684. package/dist/interface/vision/GeminiVision.d.ts +25 -0
  685. package/dist/interface/vision/GeminiVision.d.ts.map +1 -0
  686. package/dist/interface/vision/GeminiVision.js +202 -0
  687. package/dist/interface/vision/GeminiVision.js.map +1 -0
  688. package/dist/interface/vision/ScreenCapture.d.ts +77 -0
  689. package/dist/interface/vision/ScreenCapture.d.ts.map +1 -0
  690. package/dist/interface/vision/ScreenCapture.js +314 -0
  691. package/dist/interface/vision/ScreenCapture.js.map +1 -0
  692. package/dist/interface/vision/ScreenCaptureEngine.d.ts +55 -0
  693. package/dist/interface/vision/ScreenCaptureEngine.d.ts.map +1 -0
  694. package/dist/interface/vision/ScreenCaptureEngine.js +223 -0
  695. package/dist/interface/vision/ScreenCaptureEngine.js.map +1 -0
  696. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts +8 -0
  697. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts.map +1 -0
  698. package/dist/interface/vision/ScreenCaptureEngine.test.js +175 -0
  699. package/dist/interface/vision/ScreenCaptureEngine.test.js.map +1 -0
  700. package/dist/interface/vision/VisionInterface.d.ts +26 -0
  701. package/dist/interface/vision/VisionInterface.d.ts.map +1 -0
  702. package/dist/interface/vision/VisionInterface.js +105 -0
  703. package/dist/interface/vision/VisionInterface.js.map +1 -0
  704. package/dist/interface/vision/VisionSession.d.ts +66 -0
  705. package/dist/interface/vision/VisionSession.d.ts.map +1 -0
  706. package/dist/interface/vision/VisionSession.js +274 -0
  707. package/dist/interface/vision/VisionSession.js.map +1 -0
  708. package/dist/interface/vision/VisionSession.test.d.ts +7 -0
  709. package/dist/interface/vision/VisionSession.test.d.ts.map +1 -0
  710. package/dist/interface/vision/VisionSession.test.js +218 -0
  711. package/dist/interface/vision/VisionSession.test.js.map +1 -0
  712. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts +5 -0
  713. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts.map +1 -0
  714. package/dist/interface/vision/__tests__/GeminiVision.test.js +92 -0
  715. package/dist/interface/vision/__tests__/GeminiVision.test.js.map +1 -0
  716. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts +5 -0
  717. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts.map +1 -0
  718. package/dist/interface/vision/__tests__/ScreenCapture.test.js +24 -0
  719. package/dist/interface/vision/__tests__/ScreenCapture.test.js.map +1 -0
  720. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts +5 -0
  721. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts.map +1 -0
  722. package/dist/interface/vision/__tests__/VisionInterface.test.js +59 -0
  723. package/dist/interface/vision/__tests__/VisionInterface.test.js.map +1 -0
  724. package/dist/interface/vision/index.d.ts +20 -0
  725. package/dist/interface/vision/index.d.ts.map +1 -0
  726. package/dist/interface/vision/index.js +16 -0
  727. package/dist/interface/vision/index.js.map +1 -0
  728. package/dist/interface/vision/types.d.ts +79 -0
  729. package/dist/interface/vision/types.d.ts.map +1 -0
  730. package/dist/interface/vision/types.js +22 -0
  731. package/dist/interface/vision/types.js.map +1 -0
  732. package/dist/interface/voice/STTProvider.d.ts +48 -0
  733. package/dist/interface/voice/STTProvider.d.ts.map +1 -0
  734. package/dist/interface/voice/STTProvider.js +254 -0
  735. package/dist/interface/voice/STTProvider.js.map +1 -0
  736. package/dist/interface/voice/STTProvider.test.d.ts +8 -0
  737. package/dist/interface/voice/STTProvider.test.d.ts.map +1 -0
  738. package/dist/interface/voice/STTProvider.test.js +144 -0
  739. package/dist/interface/voice/STTProvider.test.js.map +1 -0
  740. package/dist/interface/voice/TTSProvider.d.ts +44 -0
  741. package/dist/interface/voice/TTSProvider.d.ts.map +1 -0
  742. package/dist/interface/voice/TTSProvider.js +252 -0
  743. package/dist/interface/voice/TTSProvider.js.map +1 -0
  744. package/dist/interface/voice/TTSProvider.test.d.ts +8 -0
  745. package/dist/interface/voice/TTSProvider.test.d.ts.map +1 -0
  746. package/dist/interface/voice/TTSProvider.test.js +143 -0
  747. package/dist/interface/voice/TTSProvider.test.js.map +1 -0
  748. package/dist/interface/voice/VADProcessor.d.ts +34 -0
  749. package/dist/interface/voice/VADProcessor.d.ts.map +1 -0
  750. package/dist/interface/voice/VADProcessor.js +116 -0
  751. package/dist/interface/voice/VADProcessor.js.map +1 -0
  752. package/dist/interface/voice/VADProcessor.test.d.ts +8 -0
  753. package/dist/interface/voice/VADProcessor.test.d.ts.map +1 -0
  754. package/dist/interface/voice/VADProcessor.test.js +159 -0
  755. package/dist/interface/voice/VADProcessor.test.js.map +1 -0
  756. package/dist/interface/voice/VoiceSession.d.ts +77 -0
  757. package/dist/interface/voice/VoiceSession.d.ts.map +1 -0
  758. package/dist/interface/voice/VoiceSession.js +249 -0
  759. package/dist/interface/voice/VoiceSession.js.map +1 -0
  760. package/dist/interface/voice/VoiceSession.test.d.ts +8 -0
  761. package/dist/interface/voice/VoiceSession.test.d.ts.map +1 -0
  762. package/dist/interface/voice/VoiceSession.test.js +260 -0
  763. package/dist/interface/voice/VoiceSession.test.js.map +1 -0
  764. package/dist/interface/voice/VoiceWebSocket.d.ts +52 -0
  765. package/dist/interface/voice/VoiceWebSocket.d.ts.map +1 -0
  766. package/dist/interface/voice/VoiceWebSocket.js +165 -0
  767. package/dist/interface/voice/VoiceWebSocket.js.map +1 -0
  768. package/dist/interface/voice/types.d.ts +144 -0
  769. package/dist/interface/voice/types.d.ts.map +1 -0
  770. package/dist/interface/voice/types.js +23 -0
  771. package/dist/interface/voice/types.js.map +1 -0
  772. package/dist/interface/voice/types.test.d.ts +8 -0
  773. package/dist/interface/voice/types.test.d.ts.map +1 -0
  774. package/dist/interface/voice/types.test.js +90 -0
  775. package/dist/interface/voice/types.test.js.map +1 -0
  776. package/dist/interface/web/WebServer.d.ts +80 -0
  777. package/dist/interface/web/WebServer.d.ts.map +1 -0
  778. package/dist/interface/web/WebServer.js +999 -0
  779. package/dist/interface/web/WebServer.js.map +1 -0
  780. package/dist/interface/web/__tests__/WebServer.test.d.ts +5 -0
  781. package/dist/interface/web/__tests__/WebServer.test.d.ts.map +1 -0
  782. package/dist/interface/web/__tests__/WebServer.test.js +345 -0
  783. package/dist/interface/web/__tests__/WebServer.test.js.map +1 -0
  784. package/dist/interface/web/types.d.ts +109 -0
  785. package/dist/interface/web/types.d.ts.map +1 -0
  786. package/dist/interface/web/types.js +67 -0
  787. package/dist/interface/web/types.js.map +1 -0
  788. package/dist/interface/webhook/WebhookHandler.d.ts +45 -0
  789. package/dist/interface/webhook/WebhookHandler.d.ts.map +1 -0
  790. package/dist/interface/webhook/WebhookHandler.js +273 -0
  791. package/dist/interface/webhook/WebhookHandler.js.map +1 -0
  792. package/dist/job/ActionPlanGenerator.d.ts +21 -0
  793. package/dist/job/ActionPlanGenerator.d.ts.map +1 -0
  794. package/dist/job/ActionPlanGenerator.js +153 -0
  795. package/dist/job/ActionPlanGenerator.js.map +1 -0
  796. package/dist/job/AgentJobManager.d.ts +46 -0
  797. package/dist/job/AgentJobManager.d.ts.map +1 -0
  798. package/dist/job/AgentJobManager.js +213 -0
  799. package/dist/job/AgentJobManager.js.map +1 -0
  800. package/dist/job/AgentJobManager.test.d.ts +6 -0
  801. package/dist/job/AgentJobManager.test.d.ts.map +1 -0
  802. package/dist/job/AgentJobManager.test.js +197 -0
  803. package/dist/job/AgentJobManager.test.js.map +1 -0
  804. package/dist/job/IntentParser.d.ts +21 -0
  805. package/dist/job/IntentParser.d.ts.map +1 -0
  806. package/dist/job/IntentParser.js +142 -0
  807. package/dist/job/IntentParser.js.map +1 -0
  808. package/dist/job/JobManager.d.ts +54 -0
  809. package/dist/job/JobManager.d.ts.map +1 -0
  810. package/dist/job/JobManager.js +220 -0
  811. package/dist/job/JobManager.js.map +1 -0
  812. package/dist/job/JobQueue.d.ts +41 -0
  813. package/dist/job/JobQueue.d.ts.map +1 -0
  814. package/dist/job/JobQueue.js +153 -0
  815. package/dist/job/JobQueue.js.map +1 -0
  816. package/dist/job/JobStore.d.ts +36 -0
  817. package/dist/job/JobStore.d.ts.map +1 -0
  818. package/dist/job/JobStore.js +260 -0
  819. package/dist/job/JobStore.js.map +1 -0
  820. package/dist/job/ProgressReporter.d.ts +32 -0
  821. package/dist/job/ProgressReporter.d.ts.map +1 -0
  822. package/dist/job/ProgressReporter.js +82 -0
  823. package/dist/job/ProgressReporter.js.map +1 -0
  824. package/dist/job/agent-job-types.d.ts +32 -0
  825. package/dist/job/agent-job-types.d.ts.map +1 -0
  826. package/dist/job/agent-job-types.js +6 -0
  827. package/dist/job/agent-job-types.js.map +1 -0
  828. package/dist/job/index.d.ts +15 -0
  829. package/dist/job/index.d.ts.map +1 -0
  830. package/dist/job/index.js +15 -0
  831. package/dist/job/index.js.map +1 -0
  832. package/dist/job/job.test.d.ts +5 -0
  833. package/dist/job/job.test.d.ts.map +1 -0
  834. package/dist/job/job.test.js +303 -0
  835. package/dist/job/job.test.js.map +1 -0
  836. package/dist/job/types.d.ts +82 -0
  837. package/dist/job/types.d.ts.map +1 -0
  838. package/dist/job/types.js +40 -0
  839. package/dist/job/types.js.map +1 -0
  840. package/dist/orchestrator/AgentAnnouncer.d.ts +64 -0
  841. package/dist/orchestrator/AgentAnnouncer.d.ts.map +1 -0
  842. package/dist/orchestrator/AgentAnnouncer.js +127 -0
  843. package/dist/orchestrator/AgentAnnouncer.js.map +1 -0
  844. package/dist/orchestrator/AgentAnnouncer.test.d.ts +5 -0
  845. package/dist/orchestrator/AgentAnnouncer.test.d.ts.map +1 -0
  846. package/dist/orchestrator/AgentAnnouncer.test.js +119 -0
  847. package/dist/orchestrator/AgentAnnouncer.test.js.map +1 -0
  848. package/dist/orchestrator/AgentExecutor.d.ts +23 -0
  849. package/dist/orchestrator/AgentExecutor.d.ts.map +1 -0
  850. package/dist/orchestrator/AgentExecutor.js +231 -0
  851. package/dist/orchestrator/AgentExecutor.js.map +1 -0
  852. package/dist/orchestrator/AgentManager.d.ts +73 -0
  853. package/dist/orchestrator/AgentManager.d.ts.map +1 -0
  854. package/dist/orchestrator/AgentManager.js +184 -0
  855. package/dist/orchestrator/AgentManager.js.map +1 -0
  856. package/dist/orchestrator/AgentRegistry.d.ts +76 -0
  857. package/dist/orchestrator/AgentRegistry.d.ts.map +1 -0
  858. package/dist/orchestrator/AgentRegistry.js +217 -0
  859. package/dist/orchestrator/AgentRegistry.js.map +1 -0
  860. package/dist/orchestrator/AgentRegistry.test.d.ts +5 -0
  861. package/dist/orchestrator/AgentRegistry.test.d.ts.map +1 -0
  862. package/dist/orchestrator/AgentRegistry.test.js +122 -0
  863. package/dist/orchestrator/AgentRegistry.test.js.map +1 -0
  864. package/dist/orchestrator/BackgroundManager.d.ts +114 -0
  865. package/dist/orchestrator/BackgroundManager.d.ts.map +1 -0
  866. package/dist/orchestrator/BackgroundManager.js +517 -0
  867. package/dist/orchestrator/BackgroundManager.js.map +1 -0
  868. package/dist/orchestrator/BackgroundManager.test.d.ts +6 -0
  869. package/dist/orchestrator/BackgroundManager.test.d.ts.map +1 -0
  870. package/dist/orchestrator/BackgroundManager.test.js +162 -0
  871. package/dist/orchestrator/BackgroundManager.test.js.map +1 -0
  872. package/dist/orchestrator/CheckpointManager.d.ts +54 -0
  873. package/dist/orchestrator/CheckpointManager.d.ts.map +1 -0
  874. package/dist/orchestrator/CheckpointManager.js +121 -0
  875. package/dist/orchestrator/CheckpointManager.js.map +1 -0
  876. package/dist/orchestrator/LLMCluster.d.ts +91 -0
  877. package/dist/orchestrator/LLMCluster.d.ts.map +1 -0
  878. package/dist/orchestrator/LLMCluster.js +124 -0
  879. package/dist/orchestrator/LLMCluster.js.map +1 -0
  880. package/dist/orchestrator/MultiLlmResearch.d.ts +27 -0
  881. package/dist/orchestrator/MultiLlmResearch.d.ts.map +1 -0
  882. package/dist/orchestrator/MultiLlmResearch.js +145 -0
  883. package/dist/orchestrator/MultiLlmResearch.js.map +1 -0
  884. package/dist/orchestrator/PhasePipeline.d.ts +123 -0
  885. package/dist/orchestrator/PhasePipeline.d.ts.map +1 -0
  886. package/dist/orchestrator/PhasePipeline.js +382 -0
  887. package/dist/orchestrator/PhasePipeline.js.map +1 -0
  888. package/dist/orchestrator/PhaseResultStore.d.ts +39 -0
  889. package/dist/orchestrator/PhaseResultStore.d.ts.map +1 -0
  890. package/dist/orchestrator/PhaseResultStore.js +151 -0
  891. package/dist/orchestrator/PhaseResultStore.js.map +1 -0
  892. package/dist/orchestrator/SessionStore.d.ts +41 -0
  893. package/dist/orchestrator/SessionStore.d.ts.map +1 -0
  894. package/dist/orchestrator/SessionStore.js +117 -0
  895. package/dist/orchestrator/SessionStore.js.map +1 -0
  896. package/dist/orchestrator/SmartRouter.d.ts +77 -0
  897. package/dist/orchestrator/SmartRouter.d.ts.map +1 -0
  898. package/dist/orchestrator/SmartRouter.js +305 -0
  899. package/dist/orchestrator/SmartRouter.js.map +1 -0
  900. package/dist/orchestrator/SwarmOrchestrator.d.ts +144 -0
  901. package/dist/orchestrator/SwarmOrchestrator.d.ts.map +1 -0
  902. package/dist/orchestrator/SwarmOrchestrator.js +361 -0
  903. package/dist/orchestrator/SwarmOrchestrator.js.map +1 -0
  904. package/dist/orchestrator/SwarmOrchestrator.test.d.ts +5 -0
  905. package/dist/orchestrator/SwarmOrchestrator.test.d.ts.map +1 -0
  906. package/dist/orchestrator/SwarmOrchestrator.test.js +95 -0
  907. package/dist/orchestrator/SwarmOrchestrator.test.js.map +1 -0
  908. package/dist/orchestrator/agentDiscovery.d.ts +18 -0
  909. package/dist/orchestrator/agentDiscovery.d.ts.map +1 -0
  910. package/dist/orchestrator/agentDiscovery.js +175 -0
  911. package/dist/orchestrator/agentDiscovery.js.map +1 -0
  912. package/dist/orchestrator/backgroundAgent.d.ts +15 -0
  913. package/dist/orchestrator/backgroundAgent.d.ts.map +1 -0
  914. package/dist/orchestrator/backgroundAgent.js +16 -0
  915. package/dist/orchestrator/backgroundAgent.js.map +1 -0
  916. package/dist/orchestrator/index.d.ts +213 -0
  917. package/dist/orchestrator/index.d.ts.map +1 -0
  918. package/dist/orchestrator/index.js +391 -0
  919. package/dist/orchestrator/index.js.map +1 -0
  920. package/dist/orchestrator/orchestrator.d.ts +63 -0
  921. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  922. package/dist/orchestrator/orchestrator.js +217 -0
  923. package/dist/orchestrator/orchestrator.js.map +1 -0
  924. package/dist/orchestrator/parallelResearch.d.ts +30 -0
  925. package/dist/orchestrator/parallelResearch.d.ts.map +1 -0
  926. package/dist/orchestrator/parallelResearch.js +247 -0
  927. package/dist/orchestrator/parallelResearch.js.map +1 -0
  928. package/dist/orchestrator/types.d.ts +185 -0
  929. package/dist/orchestrator/types.d.ts.map +1 -0
  930. package/dist/orchestrator/types.js +21 -0
  931. package/dist/orchestrator/types.js.map +1 -0
  932. package/dist/pc/CommandDispatcher.d.ts +31 -0
  933. package/dist/pc/CommandDispatcher.d.ts.map +1 -0
  934. package/dist/pc/CommandDispatcher.js +132 -0
  935. package/dist/pc/CommandDispatcher.js.map +1 -0
  936. package/dist/pc/CommandDispatcher.test.d.ts +2 -0
  937. package/dist/pc/CommandDispatcher.test.d.ts.map +1 -0
  938. package/dist/pc/CommandDispatcher.test.js +360 -0
  939. package/dist/pc/CommandDispatcher.test.js.map +1 -0
  940. package/dist/pc/ModuleRegistry.d.ts +40 -0
  941. package/dist/pc/ModuleRegistry.d.ts.map +1 -0
  942. package/dist/pc/ModuleRegistry.js +163 -0
  943. package/dist/pc/ModuleRegistry.js.map +1 -0
  944. package/dist/pc/ResultFormatter.d.ts +27 -0
  945. package/dist/pc/ResultFormatter.d.ts.map +1 -0
  946. package/dist/pc/ResultFormatter.js +128 -0
  947. package/dist/pc/ResultFormatter.js.map +1 -0
  948. package/dist/pc/ResultFormatter.test.d.ts +2 -0
  949. package/dist/pc/ResultFormatter.test.d.ts.map +1 -0
  950. package/dist/pc/ResultFormatter.test.js +115 -0
  951. package/dist/pc/ResultFormatter.test.js.map +1 -0
  952. package/dist/pc/SecurityGate.d.ts +53 -0
  953. package/dist/pc/SecurityGate.d.ts.map +1 -0
  954. package/dist/pc/SecurityGate.js +142 -0
  955. package/dist/pc/SecurityGate.js.map +1 -0
  956. package/dist/pc/SecurityGate.test.d.ts +2 -0
  957. package/dist/pc/SecurityGate.test.d.ts.map +1 -0
  958. package/dist/pc/SecurityGate.test.js +160 -0
  959. package/dist/pc/SecurityGate.test.js.map +1 -0
  960. package/dist/pc/SessionContext.d.ts +31 -0
  961. package/dist/pc/SessionContext.d.ts.map +1 -0
  962. package/dist/pc/SessionContext.js +108 -0
  963. package/dist/pc/SessionContext.js.map +1 -0
  964. package/dist/pc/browser/BrowserActions.d.ts +22 -0
  965. package/dist/pc/browser/BrowserActions.d.ts.map +1 -0
  966. package/dist/pc/browser/BrowserActions.js +223 -0
  967. package/dist/pc/browser/BrowserActions.js.map +1 -0
  968. package/dist/pc/browser/BrowserActions.test.d.ts +7 -0
  969. package/dist/pc/browser/BrowserActions.test.d.ts.map +1 -0
  970. package/dist/pc/browser/BrowserActions.test.js +150 -0
  971. package/dist/pc/browser/BrowserActions.test.js.map +1 -0
  972. package/dist/pc/browser/BrowserService.d.ts +66 -0
  973. package/dist/pc/browser/BrowserService.d.ts.map +1 -0
  974. package/dist/pc/browser/BrowserService.js +319 -0
  975. package/dist/pc/browser/BrowserService.js.map +1 -0
  976. package/dist/pc/browser/BrowserService.test.d.ts +7 -0
  977. package/dist/pc/browser/BrowserService.test.d.ts.map +1 -0
  978. package/dist/pc/browser/BrowserService.test.js +160 -0
  979. package/dist/pc/browser/BrowserService.test.js.map +1 -0
  980. package/dist/pc/browser/RefLocator.d.ts +39 -0
  981. package/dist/pc/browser/RefLocator.d.ts.map +1 -0
  982. package/dist/pc/browser/RefLocator.js +88 -0
  983. package/dist/pc/browser/RefLocator.js.map +1 -0
  984. package/dist/pc/browser/RoleSnapshotManager.d.ts +22 -0
  985. package/dist/pc/browser/RoleSnapshotManager.d.ts.map +1 -0
  986. package/dist/pc/browser/RoleSnapshotManager.js +143 -0
  987. package/dist/pc/browser/RoleSnapshotManager.js.map +1 -0
  988. package/dist/pc/browser/RoleSnapshotManager.test.d.ts +7 -0
  989. package/dist/pc/browser/RoleSnapshotManager.test.d.ts.map +1 -0
  990. package/dist/pc/browser/RoleSnapshotManager.test.js +152 -0
  991. package/dist/pc/browser/RoleSnapshotManager.test.js.map +1 -0
  992. package/dist/pc/browser/Security.test.d.ts +7 -0
  993. package/dist/pc/browser/Security.test.d.ts.map +1 -0
  994. package/dist/pc/browser/Security.test.js +171 -0
  995. package/dist/pc/browser/Security.test.js.map +1 -0
  996. package/dist/pc/browser/types.d.ts +142 -0
  997. package/dist/pc/browser/types.d.ts.map +1 -0
  998. package/dist/pc/browser/types.js +60 -0
  999. package/dist/pc/browser/types.js.map +1 -0
  1000. package/dist/pc/google/OAuthFlow.d.ts +58 -0
  1001. package/dist/pc/google/OAuthFlow.d.ts.map +1 -0
  1002. package/dist/pc/google/OAuthFlow.js +322 -0
  1003. package/dist/pc/google/OAuthFlow.js.map +1 -0
  1004. package/dist/pc/google/OAuthFlow.test.d.ts +7 -0
  1005. package/dist/pc/google/OAuthFlow.test.d.ts.map +1 -0
  1006. package/dist/pc/google/OAuthFlow.test.js +178 -0
  1007. package/dist/pc/google/OAuthFlow.test.js.map +1 -0
  1008. package/dist/pc/google/ScopeManager.d.ts +28 -0
  1009. package/dist/pc/google/ScopeManager.d.ts.map +1 -0
  1010. package/dist/pc/google/ScopeManager.js +75 -0
  1011. package/dist/pc/google/ScopeManager.js.map +1 -0
  1012. package/dist/pc/google/TokenStore.d.ts +49 -0
  1013. package/dist/pc/google/TokenStore.d.ts.map +1 -0
  1014. package/dist/pc/google/TokenStore.js +324 -0
  1015. package/dist/pc/google/TokenStore.js.map +1 -0
  1016. package/dist/pc/google/TokenStore.test.d.ts +7 -0
  1017. package/dist/pc/google/TokenStore.test.d.ts.map +1 -0
  1018. package/dist/pc/google/TokenStore.test.js +134 -0
  1019. package/dist/pc/google/TokenStore.test.js.map +1 -0
  1020. package/dist/pc/google/services/CalendarService.d.ts +45 -0
  1021. package/dist/pc/google/services/CalendarService.d.ts.map +1 -0
  1022. package/dist/pc/google/services/CalendarService.js +148 -0
  1023. package/dist/pc/google/services/CalendarService.js.map +1 -0
  1024. package/dist/pc/google/services/DriveService.d.ts +33 -0
  1025. package/dist/pc/google/services/DriveService.d.ts.map +1 -0
  1026. package/dist/pc/google/services/DriveService.js +199 -0
  1027. package/dist/pc/google/services/DriveService.js.map +1 -0
  1028. package/dist/pc/google/services/GmailService.d.ts +50 -0
  1029. package/dist/pc/google/services/GmailService.d.ts.map +1 -0
  1030. package/dist/pc/google/services/GmailService.js +177 -0
  1031. package/dist/pc/google/services/GmailService.js.map +1 -0
  1032. package/dist/pc/google/services/Services.test.d.ts +8 -0
  1033. package/dist/pc/google/services/Services.test.d.ts.map +1 -0
  1034. package/dist/pc/google/services/Services.test.js +148 -0
  1035. package/dist/pc/google/services/Services.test.js.map +1 -0
  1036. package/dist/pc/google/services/SheetsService.d.ts +27 -0
  1037. package/dist/pc/google/services/SheetsService.d.ts.map +1 -0
  1038. package/dist/pc/google/services/SheetsService.js +107 -0
  1039. package/dist/pc/google/services/SheetsService.js.map +1 -0
  1040. package/dist/pc/google/types.d.ts +97 -0
  1041. package/dist/pc/google/types.d.ts.map +1 -0
  1042. package/dist/pc/google/types.js +39 -0
  1043. package/dist/pc/google/types.js.map +1 -0
  1044. package/dist/pc/google/types.test.d.ts +8 -0
  1045. package/dist/pc/google/types.test.d.ts.map +1 -0
  1046. package/dist/pc/google/types.test.js +131 -0
  1047. package/dist/pc/google/types.test.js.map +1 -0
  1048. package/dist/pc/sandbox/ContainerConfig.d.ts +24 -0
  1049. package/dist/pc/sandbox/ContainerConfig.d.ts.map +1 -0
  1050. package/dist/pc/sandbox/ContainerConfig.js +103 -0
  1051. package/dist/pc/sandbox/ContainerConfig.js.map +1 -0
  1052. package/dist/pc/sandbox/ContainerManager.d.ts +31 -0
  1053. package/dist/pc/sandbox/ContainerManager.d.ts.map +1 -0
  1054. package/dist/pc/sandbox/ContainerManager.js +245 -0
  1055. package/dist/pc/sandbox/ContainerManager.js.map +1 -0
  1056. package/dist/pc/sandbox/ContainerManager.test.d.ts +2 -0
  1057. package/dist/pc/sandbox/ContainerManager.test.d.ts.map +1 -0
  1058. package/dist/pc/sandbox/ContainerManager.test.js +249 -0
  1059. package/dist/pc/sandbox/ContainerManager.test.js.map +1 -0
  1060. package/dist/pc/sandbox/ExecAllowlist.d.ts +35 -0
  1061. package/dist/pc/sandbox/ExecAllowlist.d.ts.map +1 -0
  1062. package/dist/pc/sandbox/ExecAllowlist.js +148 -0
  1063. package/dist/pc/sandbox/ExecAllowlist.js.map +1 -0
  1064. package/dist/pc/sandbox/ExecAllowlist.test.d.ts +2 -0
  1065. package/dist/pc/sandbox/ExecAllowlist.test.d.ts.map +1 -0
  1066. package/dist/pc/sandbox/ExecAllowlist.test.js +210 -0
  1067. package/dist/pc/sandbox/ExecAllowlist.test.js.map +1 -0
  1068. package/dist/pc/sandbox/SandboxBrowser.d.ts +29 -0
  1069. package/dist/pc/sandbox/SandboxBrowser.d.ts.map +1 -0
  1070. package/dist/pc/sandbox/SandboxBrowser.js +72 -0
  1071. package/dist/pc/sandbox/SandboxBrowser.js.map +1 -0
  1072. package/dist/pc/sandbox/ToolPolicy.d.ts +24 -0
  1073. package/dist/pc/sandbox/ToolPolicy.d.ts.map +1 -0
  1074. package/dist/pc/sandbox/ToolPolicy.js +127 -0
  1075. package/dist/pc/sandbox/ToolPolicy.js.map +1 -0
  1076. package/dist/pc/sandbox/ToolPolicy.test.d.ts +2 -0
  1077. package/dist/pc/sandbox/ToolPolicy.test.d.ts.map +1 -0
  1078. package/dist/pc/sandbox/ToolPolicy.test.js +189 -0
  1079. package/dist/pc/sandbox/ToolPolicy.test.js.map +1 -0
  1080. package/dist/pc/sandbox/types.d.ts +109 -0
  1081. package/dist/pc/sandbox/types.d.ts.map +1 -0
  1082. package/dist/pc/sandbox/types.js +26 -0
  1083. package/dist/pc/sandbox/types.js.map +1 -0
  1084. package/dist/pc/types.d.ts +84 -0
  1085. package/dist/pc/types.d.ts.map +1 -0
  1086. package/dist/pc/types.js +7 -0
  1087. package/dist/pc/types.js.map +1 -0
  1088. package/dist/policy/Evidence.d.ts +30 -0
  1089. package/dist/policy/Evidence.d.ts.map +1 -0
  1090. package/dist/policy/Evidence.js +134 -0
  1091. package/dist/policy/Evidence.js.map +1 -0
  1092. package/dist/policy/PolicyEngine.d.ts +34 -0
  1093. package/dist/policy/PolicyEngine.d.ts.map +1 -0
  1094. package/dist/policy/PolicyEngine.js +219 -0
  1095. package/dist/policy/PolicyEngine.js.map +1 -0
  1096. package/dist/policy/PolicyStore.d.ts +36 -0
  1097. package/dist/policy/PolicyStore.d.ts.map +1 -0
  1098. package/dist/policy/PolicyStore.js +160 -0
  1099. package/dist/policy/PolicyStore.js.map +1 -0
  1100. package/dist/policy/RiskCalculator.d.ts +20 -0
  1101. package/dist/policy/RiskCalculator.d.ts.map +1 -0
  1102. package/dist/policy/RiskCalculator.js +64 -0
  1103. package/dist/policy/RiskCalculator.js.map +1 -0
  1104. package/dist/policy/default-policies.d.ts +13 -0
  1105. package/dist/policy/default-policies.d.ts.map +1 -0
  1106. package/dist/policy/default-policies.js +99 -0
  1107. package/dist/policy/default-policies.js.map +1 -0
  1108. package/dist/policy/index.d.ts +11 -0
  1109. package/dist/policy/index.d.ts.map +1 -0
  1110. package/dist/policy/index.js +10 -0
  1111. package/dist/policy/index.js.map +1 -0
  1112. package/dist/policy/policy.test.d.ts +5 -0
  1113. package/dist/policy/policy.test.d.ts.map +1 -0
  1114. package/dist/policy/policy.test.js +628 -0
  1115. package/dist/policy/policy.test.js.map +1 -0
  1116. package/dist/policy/types.d.ts +71 -0
  1117. package/dist/policy/types.d.ts.map +1 -0
  1118. package/dist/policy/types.js +18 -0
  1119. package/dist/policy/types.js.map +1 -0
  1120. package/dist/router/ModelARouter.d.ts +79 -0
  1121. package/dist/router/ModelARouter.d.ts.map +1 -0
  1122. package/dist/router/ModelARouter.js +325 -0
  1123. package/dist/router/ModelARouter.js.map +1 -0
  1124. package/dist/router/ModelARouter.test.d.ts +6 -0
  1125. package/dist/router/ModelARouter.test.d.ts.map +1 -0
  1126. package/dist/router/ModelARouter.test.js +100 -0
  1127. package/dist/router/ModelARouter.test.js.map +1 -0
  1128. package/dist/router/MultiChannelRouter.d.ts +54 -0
  1129. package/dist/router/MultiChannelRouter.d.ts.map +1 -0
  1130. package/dist/router/MultiChannelRouter.js +138 -0
  1131. package/dist/router/MultiChannelRouter.js.map +1 -0
  1132. package/dist/router/RouteRegistry.d.ts +23 -0
  1133. package/dist/router/RouteRegistry.d.ts.map +1 -0
  1134. package/dist/router/RouteRegistry.js +42 -0
  1135. package/dist/router/RouteRegistry.js.map +1 -0
  1136. package/dist/router/browser/BrowserAgent.d.ts +30 -0
  1137. package/dist/router/browser/BrowserAgent.d.ts.map +1 -0
  1138. package/dist/router/browser/BrowserAgent.js +232 -0
  1139. package/dist/router/browser/BrowserAgent.js.map +1 -0
  1140. package/dist/router/browser/BrowserManager.d.ts +36 -0
  1141. package/dist/router/browser/BrowserManager.d.ts.map +1 -0
  1142. package/dist/router/browser/BrowserManager.js +106 -0
  1143. package/dist/router/browser/BrowserManager.js.map +1 -0
  1144. package/dist/router/browser/BrowserPool.d.ts +37 -0
  1145. package/dist/router/browser/BrowserPool.d.ts.map +1 -0
  1146. package/dist/router/browser/BrowserPool.js +114 -0
  1147. package/dist/router/browser/BrowserPool.js.map +1 -0
  1148. package/dist/router/handlers/GitOpsHandler.d.ts +24 -0
  1149. package/dist/router/handlers/GitOpsHandler.d.ts.map +1 -0
  1150. package/dist/router/handlers/GitOpsHandler.js +66 -0
  1151. package/dist/router/handlers/GitOpsHandler.js.map +1 -0
  1152. package/dist/router/index.d.ts +22 -0
  1153. package/dist/router/index.d.ts.map +1 -0
  1154. package/dist/router/index.js +29 -0
  1155. package/dist/router/index.js.map +1 -0
  1156. package/dist/router/index.test.d.ts +2 -0
  1157. package/dist/router/index.test.d.ts.map +1 -0
  1158. package/dist/router/index.test.js +78 -0
  1159. package/dist/router/index.test.js.map +1 -0
  1160. package/dist/router/notifications/NotificationManager.d.ts +37 -0
  1161. package/dist/router/notifications/NotificationManager.d.ts.map +1 -0
  1162. package/dist/router/notifications/NotificationManager.js +118 -0
  1163. package/dist/router/notifications/NotificationManager.js.map +1 -0
  1164. package/dist/router/planner/TaskExecutor.d.ts +48 -0
  1165. package/dist/router/planner/TaskExecutor.d.ts.map +1 -0
  1166. package/dist/router/planner/TaskExecutor.js +160 -0
  1167. package/dist/router/planner/TaskExecutor.js.map +1 -0
  1168. package/dist/router/planner/TaskExecutor.test.d.ts +6 -0
  1169. package/dist/router/planner/TaskExecutor.test.d.ts.map +1 -0
  1170. package/dist/router/planner/TaskExecutor.test.js +121 -0
  1171. package/dist/router/planner/TaskExecutor.test.js.map +1 -0
  1172. package/dist/router/planner/TaskPlanner.d.ts +37 -0
  1173. package/dist/router/planner/TaskPlanner.d.ts.map +1 -0
  1174. package/dist/router/planner/TaskPlanner.js +176 -0
  1175. package/dist/router/planner/TaskPlanner.js.map +1 -0
  1176. package/dist/router/planner/TaskPlanner.test.d.ts +6 -0
  1177. package/dist/router/planner/TaskPlanner.test.d.ts.map +1 -0
  1178. package/dist/router/planner/TaskPlanner.test.js +119 -0
  1179. package/dist/router/planner/TaskPlanner.test.js.map +1 -0
  1180. package/dist/router/qa/TelegramQABridge.d.ts +37 -0
  1181. package/dist/router/qa/TelegramQABridge.d.ts.map +1 -0
  1182. package/dist/router/qa/TelegramQABridge.js +147 -0
  1183. package/dist/router/qa/TelegramQABridge.js.map +1 -0
  1184. package/dist/router/qa/TelegramQABridge.test.d.ts +6 -0
  1185. package/dist/router/qa/TelegramQABridge.test.d.ts.map +1 -0
  1186. package/dist/router/qa/TelegramQABridge.test.js +143 -0
  1187. package/dist/router/qa/TelegramQABridge.test.js.map +1 -0
  1188. package/dist/router/resolvers/RepoResolver.d.ts +29 -0
  1189. package/dist/router/resolvers/RepoResolver.d.ts.map +1 -0
  1190. package/dist/router/resolvers/RepoResolver.js +105 -0
  1191. package/dist/router/resolvers/RepoResolver.js.map +1 -0
  1192. package/dist/router/resolvers/RepoResolver.test.d.ts +6 -0
  1193. package/dist/router/resolvers/RepoResolver.test.d.ts.map +1 -0
  1194. package/dist/router/resolvers/RepoResolver.test.js +92 -0
  1195. package/dist/router/resolvers/RepoResolver.test.js.map +1 -0
  1196. package/dist/router/routes/BaseRoute.d.ts +22 -0
  1197. package/dist/router/routes/BaseRoute.d.ts.map +1 -0
  1198. package/dist/router/routes/BaseRoute.js +55 -0
  1199. package/dist/router/routes/BaseRoute.js.map +1 -0
  1200. package/dist/router/routes/BrowseRoute.d.ts +21 -0
  1201. package/dist/router/routes/BrowseRoute.d.ts.map +1 -0
  1202. package/dist/router/routes/BrowseRoute.js +121 -0
  1203. package/dist/router/routes/BrowseRoute.js.map +1 -0
  1204. package/dist/router/routes/CompositeRoute.d.ts +28 -0
  1205. package/dist/router/routes/CompositeRoute.d.ts.map +1 -0
  1206. package/dist/router/routes/CompositeRoute.js +125 -0
  1207. package/dist/router/routes/CompositeRoute.js.map +1 -0
  1208. package/dist/router/routes/CompositeRoute.test.d.ts +6 -0
  1209. package/dist/router/routes/CompositeRoute.test.d.ts.map +1 -0
  1210. package/dist/router/routes/CompositeRoute.test.js +82 -0
  1211. package/dist/router/routes/CompositeRoute.test.js.map +1 -0
  1212. package/dist/router/routes/DevRoute.d.ts +26 -0
  1213. package/dist/router/routes/DevRoute.d.ts.map +1 -0
  1214. package/dist/router/routes/DevRoute.js +118 -0
  1215. package/dist/router/routes/DevRoute.js.map +1 -0
  1216. package/dist/router/routes/GoogleRoute.d.ts +46 -0
  1217. package/dist/router/routes/GoogleRoute.d.ts.map +1 -0
  1218. package/dist/router/routes/GoogleRoute.js +293 -0
  1219. package/dist/router/routes/GoogleRoute.js.map +1 -0
  1220. package/dist/router/routes/GoogleRoute.test.d.ts +6 -0
  1221. package/dist/router/routes/GoogleRoute.test.d.ts.map +1 -0
  1222. package/dist/router/routes/GoogleRoute.test.js +171 -0
  1223. package/dist/router/routes/GoogleRoute.test.js.map +1 -0
  1224. package/dist/router/routes/MonitorRoute.d.ts +25 -0
  1225. package/dist/router/routes/MonitorRoute.d.ts.map +1 -0
  1226. package/dist/router/routes/MonitorRoute.js +112 -0
  1227. package/dist/router/routes/MonitorRoute.js.map +1 -0
  1228. package/dist/router/routes/MonitorRoute.test.d.ts +6 -0
  1229. package/dist/router/routes/MonitorRoute.test.d.ts.map +1 -0
  1230. package/dist/router/routes/MonitorRoute.test.js +97 -0
  1231. package/dist/router/routes/MonitorRoute.test.js.map +1 -0
  1232. package/dist/router/routes/ResearchRoute.d.ts +25 -0
  1233. package/dist/router/routes/ResearchRoute.d.ts.map +1 -0
  1234. package/dist/router/routes/ResearchRoute.js +113 -0
  1235. package/dist/router/routes/ResearchRoute.js.map +1 -0
  1236. package/dist/router/routes/ResearchRoute.test.d.ts +6 -0
  1237. package/dist/router/routes/ResearchRoute.test.d.ts.map +1 -0
  1238. package/dist/router/routes/ResearchRoute.test.js +104 -0
  1239. package/dist/router/routes/ResearchRoute.test.js.map +1 -0
  1240. package/dist/router/routes/UtilityRoute.d.ts +32 -0
  1241. package/dist/router/routes/UtilityRoute.d.ts.map +1 -0
  1242. package/dist/router/routes/UtilityRoute.js +144 -0
  1243. package/dist/router/routes/UtilityRoute.js.map +1 -0
  1244. package/dist/router/routes/UtilityRoute.test.d.ts +6 -0
  1245. package/dist/router/routes/UtilityRoute.test.d.ts.map +1 -0
  1246. package/dist/router/routes/UtilityRoute.test.js +134 -0
  1247. package/dist/router/routes/UtilityRoute.test.js.map +1 -0
  1248. package/dist/router/services/BookmarkService.d.ts +34 -0
  1249. package/dist/router/services/BookmarkService.d.ts.map +1 -0
  1250. package/dist/router/services/BookmarkService.js +86 -0
  1251. package/dist/router/services/BookmarkService.js.map +1 -0
  1252. package/dist/router/services/BookmarkService.test.d.ts +6 -0
  1253. package/dist/router/services/BookmarkService.test.d.ts.map +1 -0
  1254. package/dist/router/services/BookmarkService.test.js +82 -0
  1255. package/dist/router/services/BookmarkService.test.js.map +1 -0
  1256. package/dist/router/services/CalendarService.d.ts +30 -0
  1257. package/dist/router/services/CalendarService.d.ts.map +1 -0
  1258. package/dist/router/services/CalendarService.js +168 -0
  1259. package/dist/router/services/CalendarService.js.map +1 -0
  1260. package/dist/router/services/CalendarService.test.d.ts +6 -0
  1261. package/dist/router/services/CalendarService.test.d.ts.map +1 -0
  1262. package/dist/router/services/CalendarService.test.js +107 -0
  1263. package/dist/router/services/CalendarService.test.js.map +1 -0
  1264. package/dist/router/services/ContentSummarizer.d.ts +32 -0
  1265. package/dist/router/services/ContentSummarizer.d.ts.map +1 -0
  1266. package/dist/router/services/ContentSummarizer.js +108 -0
  1267. package/dist/router/services/ContentSummarizer.js.map +1 -0
  1268. package/dist/router/services/ContentSummarizer.test.d.ts +6 -0
  1269. package/dist/router/services/ContentSummarizer.test.d.ts.map +1 -0
  1270. package/dist/router/services/ContentSummarizer.test.js +82 -0
  1271. package/dist/router/services/ContentSummarizer.test.js.map +1 -0
  1272. package/dist/router/services/DailyReportGenerator.d.ts +34 -0
  1273. package/dist/router/services/DailyReportGenerator.d.ts.map +1 -0
  1274. package/dist/router/services/DailyReportGenerator.js +110 -0
  1275. package/dist/router/services/DailyReportGenerator.js.map +1 -0
  1276. package/dist/router/services/DocumentGenerator.d.ts +20 -0
  1277. package/dist/router/services/DocumentGenerator.d.ts.map +1 -0
  1278. package/dist/router/services/DocumentGenerator.js +34 -0
  1279. package/dist/router/services/DocumentGenerator.js.map +1 -0
  1280. package/dist/router/services/DriveService.d.ts +29 -0
  1281. package/dist/router/services/DriveService.d.ts.map +1 -0
  1282. package/dist/router/services/DriveService.js +176 -0
  1283. package/dist/router/services/DriveService.js.map +1 -0
  1284. package/dist/router/services/DriveService.test.d.ts +6 -0
  1285. package/dist/router/services/DriveService.test.d.ts.map +1 -0
  1286. package/dist/router/services/DriveService.test.js +83 -0
  1287. package/dist/router/services/DriveService.test.js.map +1 -0
  1288. package/dist/router/services/FileAnalyzer.d.ts +26 -0
  1289. package/dist/router/services/FileAnalyzer.d.ts.map +1 -0
  1290. package/dist/router/services/FileAnalyzer.js +82 -0
  1291. package/dist/router/services/FileAnalyzer.js.map +1 -0
  1292. package/dist/router/services/GitHubMonitor.d.ts +38 -0
  1293. package/dist/router/services/GitHubMonitor.d.ts.map +1 -0
  1294. package/dist/router/services/GitHubMonitor.js +82 -0
  1295. package/dist/router/services/GitHubMonitor.js.map +1 -0
  1296. package/dist/router/services/GitHubMonitor.test.d.ts +6 -0
  1297. package/dist/router/services/GitHubMonitor.test.d.ts.map +1 -0
  1298. package/dist/router/services/GitHubMonitor.test.js +103 -0
  1299. package/dist/router/services/GitHubMonitor.test.js.map +1 -0
  1300. package/dist/router/services/GmailService.d.ts +28 -0
  1301. package/dist/router/services/GmailService.d.ts.map +1 -0
  1302. package/dist/router/services/GmailService.js +169 -0
  1303. package/dist/router/services/GmailService.js.map +1 -0
  1304. package/dist/router/services/GmailService.test.d.ts +6 -0
  1305. package/dist/router/services/GmailService.test.d.ts.map +1 -0
  1306. package/dist/router/services/GmailService.test.js +113 -0
  1307. package/dist/router/services/GmailService.test.js.map +1 -0
  1308. package/dist/router/services/GoogleAuthManager.d.ts +31 -0
  1309. package/dist/router/services/GoogleAuthManager.d.ts.map +1 -0
  1310. package/dist/router/services/GoogleAuthManager.js +219 -0
  1311. package/dist/router/services/GoogleAuthManager.js.map +1 -0
  1312. package/dist/router/services/GoogleAuthManager.test.d.ts +6 -0
  1313. package/dist/router/services/GoogleAuthManager.test.d.ts.map +1 -0
  1314. package/dist/router/services/GoogleAuthManager.test.js +153 -0
  1315. package/dist/router/services/GoogleAuthManager.test.js.map +1 -0
  1316. package/dist/router/services/ImageGenerator.d.ts +20 -0
  1317. package/dist/router/services/ImageGenerator.d.ts.map +1 -0
  1318. package/dist/router/services/ImageGenerator.js +41 -0
  1319. package/dist/router/services/ImageGenerator.js.map +1 -0
  1320. package/dist/router/services/NoteService.d.ts +36 -0
  1321. package/dist/router/services/NoteService.d.ts.map +1 -0
  1322. package/dist/router/services/NoteService.js +125 -0
  1323. package/dist/router/services/NoteService.js.map +1 -0
  1324. package/dist/router/services/NoteService.test.d.ts +6 -0
  1325. package/dist/router/services/NoteService.test.d.ts.map +1 -0
  1326. package/dist/router/services/NoteService.test.js +90 -0
  1327. package/dist/router/services/NoteService.test.js.map +1 -0
  1328. package/dist/router/services/ProgressReporter.d.ts +32 -0
  1329. package/dist/router/services/ProgressReporter.d.ts.map +1 -0
  1330. package/dist/router/services/ProgressReporter.js +81 -0
  1331. package/dist/router/services/ProgressReporter.js.map +1 -0
  1332. package/dist/router/services/SchedulerEngine.d.ts +55 -0
  1333. package/dist/router/services/SchedulerEngine.d.ts.map +1 -0
  1334. package/dist/router/services/SchedulerEngine.js +215 -0
  1335. package/dist/router/services/SchedulerEngine.js.map +1 -0
  1336. package/dist/router/services/SchedulerEngine.test.d.ts +6 -0
  1337. package/dist/router/services/SchedulerEngine.test.d.ts.map +1 -0
  1338. package/dist/router/services/SchedulerEngine.test.js +102 -0
  1339. package/dist/router/services/SchedulerEngine.test.js.map +1 -0
  1340. package/dist/router/services/ScreenshotService.d.ts +22 -0
  1341. package/dist/router/services/ScreenshotService.d.ts.map +1 -0
  1342. package/dist/router/services/ScreenshotService.js +39 -0
  1343. package/dist/router/services/ScreenshotService.js.map +1 -0
  1344. package/dist/router/services/SheetsService.d.ts +27 -0
  1345. package/dist/router/services/SheetsService.d.ts.map +1 -0
  1346. package/dist/router/services/SheetsService.js +91 -0
  1347. package/dist/router/services/SheetsService.js.map +1 -0
  1348. package/dist/router/services/SheetsService.test.d.ts +6 -0
  1349. package/dist/router/services/SheetsService.test.d.ts.map +1 -0
  1350. package/dist/router/services/SheetsService.test.js +86 -0
  1351. package/dist/router/services/SheetsService.test.js.map +1 -0
  1352. package/dist/router/services/TranslationService.d.ts +21 -0
  1353. package/dist/router/services/TranslationService.d.ts.map +1 -0
  1354. package/dist/router/services/TranslationService.js +76 -0
  1355. package/dist/router/services/TranslationService.js.map +1 -0
  1356. package/dist/router/services/TranslationService.test.d.ts +6 -0
  1357. package/dist/router/services/TranslationService.test.d.ts.map +1 -0
  1358. package/dist/router/services/TranslationService.test.js +61 -0
  1359. package/dist/router/services/TranslationService.test.js.map +1 -0
  1360. package/dist/router/services/WebSearchService.d.ts +24 -0
  1361. package/dist/router/services/WebSearchService.d.ts.map +1 -0
  1362. package/dist/router/services/WebSearchService.js +78 -0
  1363. package/dist/router/services/WebSearchService.js.map +1 -0
  1364. package/dist/router/services/WebSearchService.test.d.ts +6 -0
  1365. package/dist/router/services/WebSearchService.test.d.ts.map +1 -0
  1366. package/dist/router/services/WebSearchService.test.js +75 -0
  1367. package/dist/router/services/WebSearchService.test.js.map +1 -0
  1368. package/dist/router/services/YouTubeService.d.ts +30 -0
  1369. package/dist/router/services/YouTubeService.d.ts.map +1 -0
  1370. package/dist/router/services/YouTubeService.js +145 -0
  1371. package/dist/router/services/YouTubeService.js.map +1 -0
  1372. package/dist/router/services/YouTubeService.test.d.ts +6 -0
  1373. package/dist/router/services/YouTubeService.test.d.ts.map +1 -0
  1374. package/dist/router/services/YouTubeService.test.js +128 -0
  1375. package/dist/router/services/YouTubeService.test.js.map +1 -0
  1376. package/dist/router/services/google-types.d.ts +222 -0
  1377. package/dist/router/services/google-types.d.ts.map +1 -0
  1378. package/dist/router/services/google-types.js +6 -0
  1379. package/dist/router/services/google-types.js.map +1 -0
  1380. package/dist/router/sessions/DevSessionManager.d.ts +39 -0
  1381. package/dist/router/sessions/DevSessionManager.d.ts.map +1 -0
  1382. package/dist/router/sessions/DevSessionManager.js +151 -0
  1383. package/dist/router/sessions/DevSessionManager.js.map +1 -0
  1384. package/dist/router/types.d.ts +117 -0
  1385. package/dist/router/types.d.ts.map +1 -0
  1386. package/dist/router/types.js +25 -0
  1387. package/dist/router/types.js.map +1 -0
  1388. package/dist/sync/ConflictResolver.d.ts +29 -0
  1389. package/dist/sync/ConflictResolver.d.ts.map +1 -0
  1390. package/dist/sync/ConflictResolver.js +106 -0
  1391. package/dist/sync/ConflictResolver.js.map +1 -0
  1392. package/dist/sync/DataSerializer.d.ts +33 -0
  1393. package/dist/sync/DataSerializer.d.ts.map +1 -0
  1394. package/dist/sync/DataSerializer.js +207 -0
  1395. package/dist/sync/DataSerializer.js.map +1 -0
  1396. package/dist/sync/DeviceManager.d.ts +31 -0
  1397. package/dist/sync/DeviceManager.d.ts.map +1 -0
  1398. package/dist/sync/DeviceManager.js +141 -0
  1399. package/dist/sync/DeviceManager.js.map +1 -0
  1400. package/dist/sync/SyncEngine.d.ts +56 -0
  1401. package/dist/sync/SyncEngine.d.ts.map +1 -0
  1402. package/dist/sync/SyncEngine.js +172 -0
  1403. package/dist/sync/SyncEngine.js.map +1 -0
  1404. package/dist/sync/SyncStore.d.ts +46 -0
  1405. package/dist/sync/SyncStore.d.ts.map +1 -0
  1406. package/dist/sync/SyncStore.js +219 -0
  1407. package/dist/sync/SyncStore.js.map +1 -0
  1408. package/dist/sync/index.d.ts +12 -0
  1409. package/dist/sync/index.d.ts.map +1 -0
  1410. package/dist/sync/index.js +11 -0
  1411. package/dist/sync/index.js.map +1 -0
  1412. package/dist/sync/sync.test.d.ts +5 -0
  1413. package/dist/sync/sync.test.d.ts.map +1 -0
  1414. package/dist/sync/sync.test.js +416 -0
  1415. package/dist/sync/sync.test.js.map +1 -0
  1416. package/dist/sync/types.d.ts +80 -0
  1417. package/dist/sync/types.d.ts.map +1 -0
  1418. package/dist/sync/types.js +12 -0
  1419. package/dist/sync/types.js.map +1 -0
  1420. package/dist/tools/browser/index.d.ts +47 -0
  1421. package/dist/tools/browser/index.d.ts.map +1 -0
  1422. package/dist/tools/browser/index.js +413 -0
  1423. package/dist/tools/browser/index.js.map +1 -0
  1424. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  1425. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  1426. package/dist/tools/google/index.d.ts +84 -0
  1427. package/dist/tools/google/index.d.ts.map +1 -0
  1428. package/dist/tools/google/index.js +508 -0
  1429. package/dist/tools/google/index.js.map +1 -0
  1430. package/dist/tools/integration/index.d.ts +24 -0
  1431. package/dist/tools/integration/index.d.ts.map +1 -0
  1432. package/dist/tools/integration/index.js +223 -0
  1433. package/dist/tools/integration/index.js.map +1 -0
  1434. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  1435. package/dist/tools/memory/getMemoryGraph.js +12 -12
  1436. package/dist/tools/memory/getSessionContext.js +9 -9
  1437. package/dist/tools/memory/linkMemories.js +14 -14
  1438. package/dist/tools/memory/listMemories.js +4 -4
  1439. package/dist/tools/memory/recallMemory.js +4 -4
  1440. package/dist/tools/memory/saveMemory.js +4 -4
  1441. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  1442. package/dist/tools/sandbox/index.d.ts +25 -0
  1443. package/dist/tools/sandbox/index.d.ts.map +1 -0
  1444. package/dist/tools/sandbox/index.js +255 -0
  1445. package/dist/tools/sandbox/index.js.map +1 -0
  1446. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  1447. package/dist/tools/semantic/astGrep.test.js +6 -6
  1448. package/dist/tools/spec/prdParser.test.js +171 -171
  1449. package/dist/tools/spec/specGenerator.js +169 -169
  1450. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  1451. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  1452. package/dist/tools/vision/index.d.ts +45 -0
  1453. package/dist/tools/vision/index.d.ts.map +1 -0
  1454. package/dist/tools/vision/index.js +328 -0
  1455. package/dist/tools/vision/index.js.map +1 -0
  1456. package/dist/tools/voice/index.d.ts +24 -0
  1457. package/dist/tools/voice/index.d.ts.map +1 -0
  1458. package/dist/tools/voice/index.js +204 -0
  1459. package/dist/tools/voice/index.js.map +1 -0
  1460. package/dist/types/tool.d.ts +64 -0
  1461. package/dist/types/tool.d.ts.map +1 -0
  1462. package/dist/types/tool.js +3 -0
  1463. package/dist/types/tool.js.map +1 -0
  1464. package/hooks/hooks.json +137 -137
  1465. package/hooks/scripts/code-check.js +70 -70
  1466. package/hooks/scripts/context-save.js +212 -212
  1467. package/hooks/scripts/hud-status.js +291 -291
  1468. package/hooks/scripts/keyword-detector.js +214 -214
  1469. package/hooks/scripts/llm-orchestrate.js +646 -646
  1470. package/hooks/scripts/post-edit.js +32 -32
  1471. package/hooks/scripts/pre-tool-guard.js +125 -125
  1472. package/hooks/scripts/prompt-dispatcher.js +185 -185
  1473. package/hooks/scripts/sentinel-guard.js +104 -104
  1474. package/hooks/scripts/session-start.js +106 -106
  1475. package/hooks/scripts/stop-notify.js +209 -209
  1476. package/hooks/scripts/utils.js +100 -100
  1477. package/languages/csharp-unity.md +515 -515
  1478. package/languages/gdscript-godot.md +470 -470
  1479. package/languages/ruby-rails.md +489 -489
  1480. package/languages/typescript-angular.md +433 -433
  1481. package/languages/typescript-astro.md +416 -416
  1482. package/languages/typescript-electron.md +406 -406
  1483. package/languages/typescript-nestjs.md +524 -524
  1484. package/languages/typescript-svelte.md +407 -407
  1485. package/languages/typescript-tauri.md +365 -365
  1486. package/package.json +121 -121
  1487. package/skills/brand-assets/SKILL.md +138 -138
  1488. package/skills/characterization-test/SKILL.md +202 -202
  1489. package/skills/commerce-patterns/SKILL.md +361 -361
  1490. package/skills/commit-push-pr/SKILL.md +118 -118
  1491. package/skills/context7-usage/SKILL.md +105 -105
  1492. package/skills/e2e-commerce/SKILL.md +304 -304
  1493. package/skills/frontend-design/SKILL.md +92 -92
  1494. package/skills/git-worktree/SKILL.md +184 -184
  1495. package/skills/handoff/SKILL.md +101 -101
  1496. package/skills/priority-todos/SKILL.md +242 -242
  1497. package/skills/seo-checklist/SKILL.md +244 -244
  1498. package/skills/techdebt/SKILL.md +122 -122
  1499. package/skills/tool-fallback/SKILL.md +193 -193
  1500. package/skills/typescript-advanced-types/SKILL.md +720 -720
  1501. package/skills/ui-ux-pro-max/SKILL.md +386 -386
  1502. package/skills/vercel-react-best-practices/SKILL.md +304 -304
  1503. package/skills/video-production/SKILL.md +222 -222
  1504. package/vibe/config.json +29 -29
  1505. package/vibe/constitution.md +227 -227
  1506. package/vibe/rules/principles/communication-guide.md +98 -98
  1507. package/vibe/rules/principles/development-philosophy.md +52 -52
  1508. package/vibe/rules/principles/quick-start.md +102 -102
  1509. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  1510. package/vibe/rules/quality/checklist.md +276 -276
  1511. package/vibe/rules/quality/performance.md +236 -236
  1512. package/vibe/rules/quality/testing-strategy.md +440 -440
  1513. package/vibe/rules/standards/anti-patterns.md +541 -541
  1514. package/vibe/rules/standards/code-structure.md +291 -291
  1515. package/vibe/rules/standards/complexity-metrics.md +313 -313
  1516. package/vibe/rules/standards/git-workflow.md +237 -237
  1517. package/vibe/rules/standards/naming-conventions.md +198 -198
  1518. package/vibe/rules/standards/security.md +305 -305
  1519. package/vibe/rules/writing/document-style.md +74 -74
  1520. package/vibe/setup.sh +31 -31
  1521. package/vibe/templates/constitution-template.md +252 -252
  1522. package/vibe/templates/contract-backend-template.md +526 -526
  1523. package/vibe/templates/contract-frontend-template.md +599 -599
  1524. package/vibe/templates/feature-template.md +96 -96
  1525. package/vibe/templates/spec-template.md +221 -221
  1526. package/vibe/ui-ux-data/charts.csv +26 -26
  1527. package/vibe/ui-ux-data/colors.csv +97 -97
  1528. package/vibe/ui-ux-data/icons.csv +101 -101
  1529. package/vibe/ui-ux-data/landing.csv +31 -31
  1530. package/vibe/ui-ux-data/products.csv +96 -96
  1531. package/vibe/ui-ux-data/react-performance.csv +45 -45
  1532. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  1533. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  1534. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  1535. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  1536. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  1537. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  1538. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  1539. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  1540. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  1541. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  1542. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  1543. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  1544. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  1545. package/vibe/ui-ux-data/styles.csv +68 -68
  1546. package/vibe/ui-ux-data/typography.csv +57 -57
  1547. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  1548. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  1549. package/vibe/ui-ux-data/version.json +31 -31
  1550. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -1,720 +1,720 @@
1
- ---
2
- description: "TypeScript advanced type system master guide. Covers Generics, Conditional Types, Mapped Types, Template Literals, Utility Types. Activates for complex type logic, reusable type utilities, and compile-time type safety."
3
- sections:
4
- - name: "Core Concepts"
5
- triggers: [generic, generics, constraint, conditional, infer, mapped, utility, Pick, Omit, Partial, Required, Record, Exclude, Extract, readonly]
6
- - name: "Advanced Patterns"
7
- triggers: [template literal, branded, opaque, phantom, discriminated union, exhaustive, builder pattern, recursive type, variadic tuple]
8
- - name: "Type Inference"
9
- triggers: [inference, infer, type narrowing, type guard, satisfies, const assertion]
10
- - name: "Best Practices"
11
- triggers: [best practice, type safety, convention]
12
- - name: "Type Testing"
13
- triggers: [type test, type assertion, expectType, tsd]
14
- - name: "Common Mistakes"
15
- triggers: [mistake, pitfall, error, wrong]
16
- - name: "Performance"
17
- triggers: [performance, compile time, type complexity, depth limit]
18
- ---
19
-
20
- # TypeScript Advanced Types
21
-
22
- Comprehensive guide for building type-safe applications using TypeScript's advanced type system. Covers Generics, Conditional Types, Mapped Types, Template Literal Types, and Utility Types.
23
-
24
- ## When to Apply
25
-
26
- - Building type-safe libraries/frameworks
27
- - Creating reusable generic components
28
- - Implementing complex type inference logic
29
- - Designing type-safe API clients
30
- - Building form validation systems
31
- - Creating strongly-typed configuration objects
32
- - Implementing type-safe state management
33
- - Migrating JavaScript to TypeScript
34
-
35
- ## VIBE TypeScript Rule Integration
36
-
37
- > VIBE blocks `any` type usage. The patterns in this skill provide alternatives for type safety without `any`.
38
-
39
- | Forbidden Pattern | Alternative (from this skill) |
40
- |-------------------|-------------------------------|
41
- | `any` | `unknown` + type guards |
42
- | `as any` | Define proper interfaces |
43
- | `@ts-ignore` | Fix type issues directly |
44
- | Raw generic types | Specify type parameters |
45
-
46
- ## Core Concepts
47
-
48
- ### 1. Generics
49
-
50
- The key tool for creating reusable yet type-safe components.
51
-
52
- **Basic Generic Function:**
53
-
54
- ```typescript
55
- function identity<T>(value: T): T {
56
- return value;
57
- }
58
-
59
- const num = identity<number>(42); // Type: number
60
- const str = identity<string>("hello"); // Type: string
61
- const auto = identity(true); // Type: boolean (inferred)
62
- ```
63
-
64
- **Generic Constraints:**
65
-
66
- ```typescript
67
- interface HasLength {
68
- length: number;
69
- }
70
-
71
- function logLength<T extends HasLength>(item: T): T {
72
- console.log(item.length);
73
- return item;
74
- }
75
-
76
- logLength("hello"); // OK: string has length
77
- logLength([1, 2, 3]); // OK: array has length
78
- // logLength(42); // Error: number has no length
79
- ```
80
-
81
- **Multiple Type Parameters:**
82
-
83
- ```typescript
84
- function merge<T, U>(obj1: T, obj2: U): T & U {
85
- return { ...obj1, ...obj2 };
86
- }
87
-
88
- const merged = merge({ name: "John" }, { age: 30 });
89
- // Type: { name: string } & { age: number }
90
- ```
91
-
92
- ### 2. Conditional Types
93
-
94
- Sophisticated type logic where types are determined by conditions.
95
-
96
- **Basic Conditional Type:**
97
-
98
- ```typescript
99
- type IsString<T> = T extends string ? true : false;
100
-
101
- type A = IsString<string>; // true
102
- type B = IsString<number>; // false
103
- ```
104
-
105
- **Return Type Extraction:**
106
-
107
- ```typescript
108
- type ReturnType<T> = T extends (...args: unknown[]) => infer R ? R : never;
109
-
110
- function getUser() {
111
- return { id: 1, name: "John" };
112
- }
113
-
114
- type User = ReturnType<typeof getUser>;
115
- // Type: { id: number; name: string; }
116
- ```
117
-
118
- **Distributive Conditional Types:**
119
-
120
- ```typescript
121
- type ToArray<T> = T extends unknown ? T[] : never;
122
-
123
- type StrOrNumArray = ToArray<string | number>;
124
- // Type: string[] | number[]
125
- ```
126
-
127
- **Nested Conditions:**
128
-
129
- ```typescript
130
- type TypeName<T> = T extends string
131
- ? "string"
132
- : T extends number
133
- ? "number"
134
- : T extends boolean
135
- ? "boolean"
136
- : T extends undefined
137
- ? "undefined"
138
- : T extends Function
139
- ? "function"
140
- : "object";
141
-
142
- type T1 = TypeName<string>; // "string"
143
- type T2 = TypeName<() => void>; // "function"
144
- ```
145
-
146
- ### 3. Mapped Types
147
-
148
- Types that iterate over and transform properties of existing types.
149
-
150
- **Basic Mapped Type:**
151
-
152
- ```typescript
153
- type Readonly<T> = {
154
- readonly [P in keyof T]: T[P];
155
- };
156
-
157
- interface User {
158
- id: number;
159
- name: string;
160
- }
161
-
162
- type ReadonlyUser = Readonly<User>;
163
- // Type: { readonly id: number; readonly name: string; }
164
- ```
165
-
166
- **Key Remapping:**
167
-
168
- ```typescript
169
- type Getters<T> = {
170
- [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
171
- };
172
-
173
- interface Person {
174
- name: string;
175
- age: number;
176
- }
177
-
178
- type PersonGetters = Getters<Person>;
179
- // Type: { getName: () => string; getAge: () => number; }
180
- ```
181
-
182
- **Property Filtering by Type:**
183
-
184
- ```typescript
185
- type PickByType<T, U> = {
186
- [K in keyof T as T[K] extends U ? K : never]: T[K];
187
- };
188
-
189
- interface Mixed {
190
- id: number;
191
- name: string;
192
- age: number;
193
- active: boolean;
194
- }
195
-
196
- type OnlyNumbers = PickByType<Mixed, number>;
197
- // Type: { id: number; age: number; }
198
- ```
199
-
200
- ### 4. Template Literal Types
201
-
202
- String-based pattern matching and transformation types.
203
-
204
- **Basic Template Literal:**
205
-
206
- ```typescript
207
- type EventName = "click" | "focus" | "blur";
208
- type EventHandler = `on${Capitalize<EventName>}`;
209
- // Type: "onClick" | "onFocus" | "onBlur"
210
- ```
211
-
212
- **String Manipulation:**
213
-
214
- ```typescript
215
- type Upper = Uppercase<"hello">; // "HELLO"
216
- type Lower = Lowercase<"HELLO">; // "hello"
217
- type Cap = Capitalize<"john">; // "John"
218
- type Uncap = Uncapitalize<"John">; // "john"
219
- ```
220
-
221
- **Path Builder:**
222
-
223
- ```typescript
224
- type Path<T> = T extends object
225
- ? {
226
- [K in keyof T]: K extends string
227
- ? `${K}` | `${K}.${Path<T[K]>}`
228
- : never;
229
- }[keyof T]
230
- : never;
231
-
232
- interface Config {
233
- server: { host: string; port: number };
234
- database: { url: string };
235
- }
236
-
237
- type ConfigPath = Path<Config>;
238
- // Type: "server" | "database" | "server.host" | "server.port" | "database.url"
239
- ```
240
-
241
- ### 5. Utility Types
242
-
243
- Built-in TypeScript utility types.
244
-
245
- ```typescript
246
- // Partial<T> — make all properties optional
247
- type PartialUser = Partial<User>;
248
-
249
- // Required<T> — make all properties required
250
- type RequiredUser = Required<PartialUser>;
251
-
252
- // Readonly<T> — make all properties readonly
253
- type ReadonlyUser = Readonly<User>;
254
-
255
- // Pick<T, K> — pick specific properties
256
- type UserName = Pick<User, "name" | "email">;
257
-
258
- // Omit<T, K> — omit specific properties
259
- type UserWithoutPassword = Omit<User, "password">;
260
-
261
- // Exclude<T, U> — exclude types from union
262
- type T1 = Exclude<"a" | "b" | "c", "a">; // "b" | "c"
263
-
264
- // Extract<T, U> — extract types from union
265
- type T2 = Extract<"a" | "b" | "c", "a" | "b">; // "a" | "b"
266
-
267
- // NonNullable<T> — exclude null/undefined
268
- type T3 = NonNullable<string | null | undefined>; // string
269
-
270
- // Record<K, T> — object type with keys K and values T
271
- type PageInfo = Record<"home" | "about", { title: string }>;
272
- ```
273
-
274
- ## Advanced Patterns
275
-
276
- ### Pattern 1: Type-safe Event Emitter
277
-
278
- ```typescript
279
- type EventMap = {
280
- "user:created": { id: string; name: string };
281
- "user:updated": { id: string };
282
- "user:deleted": { id: string };
283
- };
284
-
285
- class TypedEventEmitter<T extends Record<string, unknown>> {
286
- private listeners: {
287
- [K in keyof T]?: Array<(data: T[K]) => void>;
288
- } = {};
289
-
290
- on<K extends keyof T>(event: K, callback: (data: T[K]) => void): void {
291
- if (!this.listeners[event]) {
292
- this.listeners[event] = [];
293
- }
294
- this.listeners[event]!.push(callback);
295
- }
296
-
297
- emit<K extends keyof T>(event: K, data: T[K]): void {
298
- const callbacks = this.listeners[event];
299
- if (callbacks) {
300
- callbacks.forEach((cb) => cb(data));
301
- }
302
- }
303
- }
304
-
305
- const emitter = new TypedEventEmitter<EventMap>();
306
- emitter.on("user:created", (data) => {
307
- console.log(data.id, data.name); // type-safe!
308
- });
309
- ```
310
-
311
- ### Pattern 2: Type-safe API Client
312
-
313
- ```typescript
314
- type HTTPMethod = "GET" | "POST" | "PUT" | "DELETE";
315
-
316
- type EndpointConfig = {
317
- "/users": {
318
- GET: { response: User[] };
319
- POST: { body: { name: string; email: string }; response: User };
320
- };
321
- "/users/:id": {
322
- GET: { params: { id: string }; response: User };
323
- PUT: { params: { id: string }; body: Partial<User>; response: User };
324
- DELETE: { params: { id: string }; response: void };
325
- };
326
- };
327
-
328
- type ExtractParams<T> = T extends { params: infer P } ? P : never;
329
- type ExtractBody<T> = T extends { body: infer B } ? B : never;
330
- type ExtractResponse<T> = T extends { response: infer R } ? R : never;
331
-
332
- class APIClient<Config extends Record<string, Record<string, unknown>>> {
333
- async request<
334
- Path extends keyof Config,
335
- Method extends keyof Config[Path]
336
- >(
337
- path: Path,
338
- method: Method,
339
- ...[options]: ExtractParams<Config[Path][Method]> extends never
340
- ? ExtractBody<Config[Path][Method]> extends never
341
- ? []
342
- : [{ body: ExtractBody<Config[Path][Method]> }]
343
- : [
344
- {
345
- params: ExtractParams<Config[Path][Method]>;
346
- body?: ExtractBody<Config[Path][Method]>;
347
- },
348
- ]
349
- ): Promise<ExtractResponse<Config[Path][Method]>> {
350
- // implementation
351
- return {} as ExtractResponse<Config[Path][Method]>;
352
- }
353
- }
354
-
355
- const api = new APIClient<EndpointConfig>();
356
-
357
- // Type-safe API calls
358
- const users = await api.request("/users", "GET");
359
- // Type: User[]
360
-
361
- const newUser = await api.request("/users", "POST", {
362
- body: { name: "John", email: "john@example.com" },
363
- });
364
- // Type: User
365
-
366
- const user = await api.request("/users/:id", "GET", {
367
- params: { id: "123" },
368
- });
369
- // Type: User
370
- ```
371
-
372
- ### Pattern 3: Deep Readonly/Partial
373
-
374
- ```typescript
375
- type DeepReadonly<T> = {
376
- readonly [P in keyof T]: T[P] extends object
377
- ? T[P] extends Function
378
- ? T[P]
379
- : DeepReadonly<T[P]>
380
- : T[P];
381
- };
382
-
383
- type DeepPartial<T> = {
384
- [P in keyof T]?: T[P] extends object
385
- ? T[P] extends Array<infer U>
386
- ? Array<DeepPartial<U>>
387
- : DeepPartial<T[P]>
388
- : T[P];
389
- };
390
- ```
391
-
392
- ### Pattern 4: Type-safe Form Validation
393
-
394
- ```typescript
395
- type ValidationRule<T> = {
396
- validate: (value: T) => boolean;
397
- message: string;
398
- };
399
-
400
- type FieldValidation<T> = {
401
- [K in keyof T]?: ValidationRule<T[K]>[];
402
- };
403
-
404
- type ValidationErrors<T> = {
405
- [K in keyof T]?: string[];
406
- };
407
-
408
- class FormValidator<T extends Record<string, unknown>> {
409
- constructor(private rules: FieldValidation<T>) {}
410
-
411
- validate(data: T): ValidationErrors<T> | null {
412
- const errors: ValidationErrors<T> = {};
413
- let hasErrors = false;
414
-
415
- for (const key in this.rules) {
416
- const fieldRules = this.rules[key];
417
- const value = data[key];
418
-
419
- if (fieldRules) {
420
- const fieldErrors: string[] = [];
421
- for (const rule of fieldRules) {
422
- if (!rule.validate(value)) {
423
- fieldErrors.push(rule.message);
424
- }
425
- }
426
- if (fieldErrors.length > 0) {
427
- errors[key] = fieldErrors;
428
- hasErrors = true;
429
- }
430
- }
431
- }
432
-
433
- return hasErrors ? errors : null;
434
- }
435
- }
436
- ```
437
-
438
- ### Pattern 5: Discriminated Unions
439
-
440
- ```typescript
441
- type Success<T> = { status: "success"; data: T };
442
- type Failure = { status: "error"; error: string };
443
- type Pending = { status: "loading" };
444
-
445
- type AsyncState<T> = Success<T> | Failure | Pending;
446
-
447
- function handleState<T>(state: AsyncState<T>): void {
448
- switch (state.status) {
449
- case "success":
450
- console.log(state.data); // Type: T
451
- break;
452
- case "error":
453
- console.log(state.error); // Type: string
454
- break;
455
- case "loading":
456
- console.log("Loading...");
457
- break;
458
- }
459
- }
460
- ```
461
-
462
- **Type-safe State Machine:**
463
-
464
- ```typescript
465
- type State =
466
- | { type: "idle" }
467
- | { type: "fetching"; requestId: string }
468
- | { type: "success"; data: unknown }
469
- | { type: "error"; error: Error };
470
-
471
- type Event =
472
- | { type: "FETCH"; requestId: string }
473
- | { type: "SUCCESS"; data: unknown }
474
- | { type: "ERROR"; error: Error }
475
- | { type: "RESET" };
476
-
477
- function reducer(state: State, event: Event): State {
478
- switch (state.type) {
479
- case "idle":
480
- return event.type === "FETCH"
481
- ? { type: "fetching", requestId: event.requestId }
482
- : state;
483
- case "fetching":
484
- if (event.type === "SUCCESS") {
485
- return { type: "success", data: event.data };
486
- }
487
- if (event.type === "ERROR") {
488
- return { type: "error", error: event.error };
489
- }
490
- return state;
491
- case "success":
492
- case "error":
493
- return event.type === "RESET" ? { type: "idle" } : state;
494
- }
495
- }
496
- ```
497
-
498
- ### Pattern 6: Builder Pattern (Type-safe)
499
-
500
- ```typescript
501
- type BuilderState<T> = {
502
- [K in keyof T]: T[K] | undefined;
503
- };
504
-
505
- type RequiredKeys<T> = {
506
- [K in keyof T]-?: Record<string, never> extends Pick<T, K> ? never : K;
507
- }[keyof T];
508
-
509
- type IsComplete<T, S> =
510
- RequiredKeys<T> extends keyof S
511
- ? S[RequiredKeys<T>] extends undefined
512
- ? false
513
- : true
514
- : false;
515
-
516
- class Builder<T, S extends BuilderState<T> = Record<string, never> & BuilderState<T>> {
517
- private state: S = {} as S;
518
-
519
- set<K extends keyof T>(key: K, value: T[K]): Builder<T, S & Record<K, T[K]>> {
520
- (this.state as Record<string, unknown>)[key as string] = value;
521
- return this as unknown as Builder<T, S & Record<K, T[K]>>;
522
- }
523
-
524
- build(this: IsComplete<T, S> extends true ? Builder<T, S> : never): T {
525
- return this.state as unknown as T;
526
- }
527
- }
528
-
529
- interface UserConfig {
530
- id: string;
531
- name: string;
532
- email: string;
533
- age?: number;
534
- }
535
-
536
- const userBuilder = new Builder<UserConfig>();
537
-
538
- const config = userBuilder
539
- .set("id", "1")
540
- .set("name", "John")
541
- .set("email", "john@example.com")
542
- .build(); // OK: all required fields set
543
-
544
- // const incomplete = userBuilder
545
- // .set("id", "1")
546
- // .build(); // Error: required fields missing
547
- ```
548
-
549
- ### Pattern 7: Deep Readonly/Partial Usage
550
-
551
- ```typescript
552
- interface AppConfig {
553
- server: {
554
- host: string;
555
- port: number;
556
- ssl: {
557
- enabled: boolean;
558
- cert: string;
559
- };
560
- };
561
- database: {
562
- url: string;
563
- pool: {
564
- min: number;
565
- max: number;
566
- };
567
- };
568
- }
569
-
570
- type ReadonlyConfig = DeepReadonly<AppConfig>;
571
- // All nested properties are readonly
572
-
573
- type PartialConfig = DeepPartial<AppConfig>;
574
- // All nested properties are optional
575
-
576
- // Used in config update function
577
- function updateConfig(current: AppConfig, patch: DeepPartial<AppConfig>): AppConfig {
578
- return deepMerge(current, patch);
579
- }
580
- ```
581
-
582
- ### Pattern 8: Form Validation Usage
583
-
584
- ```typescript
585
- interface LoginForm {
586
- email: string;
587
- password: string;
588
- }
589
-
590
- const loginValidator = new FormValidator<LoginForm>({
591
- email: [
592
- {
593
- validate: (v) => v.includes("@"),
594
- message: "Invalid email format",
595
- },
596
- {
597
- validate: (v) => v.length > 0,
598
- message: "Email is required",
599
- },
600
- ],
601
- password: [
602
- {
603
- validate: (v) => v.length >= 8,
604
- message: "Password must be at least 8 characters",
605
- },
606
- ],
607
- });
608
-
609
- const errors = loginValidator.validate({
610
- email: "invalid",
611
- password: "short",
612
- });
613
- // Type: { email?: string[]; password?: string[]; } | null
614
- ```
615
-
616
- ## Type Inference Techniques
617
-
618
- ### 1. The Infer Keyword
619
-
620
- ```typescript
621
- // Extract array element type
622
- type ElementType<T> = T extends (infer U)[] ? U : never;
623
- type Num = ElementType<number[]>; // number
624
-
625
- // Extract Promise type
626
- type PromiseType<T> = T extends Promise<infer U> ? U : never;
627
- type AsyncNum = PromiseType<Promise<number>>; // number
628
-
629
- // Extract function parameters
630
- type Parameters<T> = T extends (...args: infer P) => unknown ? P : never;
631
- ```
632
-
633
- ### 2. Type Guards
634
-
635
- ```typescript
636
- function isString(value: unknown): value is string {
637
- return typeof value === "string";
638
- }
639
-
640
- function isArrayOf<T>(
641
- value: unknown,
642
- guard: (item: unknown) => item is T,
643
- ): value is T[] {
644
- return Array.isArray(value) && value.every(guard);
645
- }
646
-
647
- const data: unknown = ["a", "b", "c"];
648
- if (isArrayOf(data, isString)) {
649
- data.forEach((s) => s.toUpperCase()); // Type: string[]
650
- }
651
- ```
652
-
653
- ### 3. Assertion Functions
654
-
655
- ```typescript
656
- function assertIsString(value: unknown): asserts value is string {
657
- if (typeof value !== "string") {
658
- throw new Error("Not a string");
659
- }
660
- }
661
-
662
- function processValue(value: unknown): void {
663
- assertIsString(value);
664
- // value is now typed as string
665
- console.log(value.toUpperCase());
666
- }
667
- ```
668
-
669
- ## Best Practices
670
-
671
- 1. **Use `unknown` instead of `any`**: Forces type validation
672
- 2. **Use `interface` for object shapes**: Better error messages
673
- 3. **Use `type` for unions/complex types**: More flexible
674
- 4. **Leverage type inference**: Omit explicit types when TypeScript can infer
675
- 5. **Create helper types**: Build reusable type utilities
676
- 6. **Use const assertions**: Preserve literal types
677
- 7. **Avoid type assertions**: Use type guards instead
678
- 8. **Document complex types**: Add JSDoc comments
679
- 9. **Use strict mode**: Enable all strict compiler options
680
- 10. **Test your types**: Verify type behavior
681
-
682
- ## Type Testing
683
-
684
- ```typescript
685
- // Type equality assertion test
686
- type AssertEqual<T, U> = [T] extends [U]
687
- ? [U] extends [T]
688
- ? true
689
- : false
690
- : false;
691
-
692
- type Test1 = AssertEqual<string, string>; // true
693
- type Test2 = AssertEqual<string, number>; // false
694
- ```
695
-
696
- ## Common Mistakes
697
-
698
- 1. **Overusing `any`**: Defeats the purpose of TypeScript
699
- 2. **Ignoring strict null checks**: Causes runtime errors
700
- 3. **Overly complex types**: Slows down compilation
701
- 4. **Not using discriminated unions**: Misses type narrowing opportunities
702
- 5. **Missing readonly modifiers**: Allows unintended mutations
703
- 6. **Circular type references**: Causes compiler errors
704
- 7. **Unhandled edge cases**: Empty arrays, null values, etc.
705
-
706
- ## Performance Considerations
707
-
708
- - Avoid deeply nested conditional types
709
- - Use simpler types when possible
710
- - Cache complex type computations
711
- - Limit depth of recursive types
712
- - Use tools that skip type checking in production builds
713
-
714
- ## References
715
-
716
- - TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/
717
- - Type Challenges: https://github.com/type-challenges/type-challenges
718
- - Effective TypeScript (by Dan Vanderkam)
719
-
720
- > **VIBE tool integration**: `core_validate_code_quality` detects `any` type usage, `core_apply_quality_rules` auto-applies TypeScript rules
1
+ ---
2
+ description: "TypeScript advanced type system master guide. Covers Generics, Conditional Types, Mapped Types, Template Literals, Utility Types. Activates for complex type logic, reusable type utilities, and compile-time type safety."
3
+ sections:
4
+ - name: "Core Concepts"
5
+ triggers: [generic, generics, constraint, conditional, infer, mapped, utility, Pick, Omit, Partial, Required, Record, Exclude, Extract, readonly]
6
+ - name: "Advanced Patterns"
7
+ triggers: [template literal, branded, opaque, phantom, discriminated union, exhaustive, builder pattern, recursive type, variadic tuple]
8
+ - name: "Type Inference"
9
+ triggers: [inference, infer, type narrowing, type guard, satisfies, const assertion]
10
+ - name: "Best Practices"
11
+ triggers: [best practice, type safety, convention]
12
+ - name: "Type Testing"
13
+ triggers: [type test, type assertion, expectType, tsd]
14
+ - name: "Common Mistakes"
15
+ triggers: [mistake, pitfall, error, wrong]
16
+ - name: "Performance"
17
+ triggers: [performance, compile time, type complexity, depth limit]
18
+ ---
19
+
20
+ # TypeScript Advanced Types
21
+
22
+ Comprehensive guide for building type-safe applications using TypeScript's advanced type system. Covers Generics, Conditional Types, Mapped Types, Template Literal Types, and Utility Types.
23
+
24
+ ## When to Apply
25
+
26
+ - Building type-safe libraries/frameworks
27
+ - Creating reusable generic components
28
+ - Implementing complex type inference logic
29
+ - Designing type-safe API clients
30
+ - Building form validation systems
31
+ - Creating strongly-typed configuration objects
32
+ - Implementing type-safe state management
33
+ - Migrating JavaScript to TypeScript
34
+
35
+ ## VIBE TypeScript Rule Integration
36
+
37
+ > VIBE blocks `any` type usage. The patterns in this skill provide alternatives for type safety without `any`.
38
+
39
+ | Forbidden Pattern | Alternative (from this skill) |
40
+ |-------------------|-------------------------------|
41
+ | `any` | `unknown` + type guards |
42
+ | `as any` | Define proper interfaces |
43
+ | `@ts-ignore` | Fix type issues directly |
44
+ | Raw generic types | Specify type parameters |
45
+
46
+ ## Core Concepts
47
+
48
+ ### 1. Generics
49
+
50
+ The key tool for creating reusable yet type-safe components.
51
+
52
+ **Basic Generic Function:**
53
+
54
+ ```typescript
55
+ function identity<T>(value: T): T {
56
+ return value;
57
+ }
58
+
59
+ const num = identity<number>(42); // Type: number
60
+ const str = identity<string>("hello"); // Type: string
61
+ const auto = identity(true); // Type: boolean (inferred)
62
+ ```
63
+
64
+ **Generic Constraints:**
65
+
66
+ ```typescript
67
+ interface HasLength {
68
+ length: number;
69
+ }
70
+
71
+ function logLength<T extends HasLength>(item: T): T {
72
+ console.log(item.length);
73
+ return item;
74
+ }
75
+
76
+ logLength("hello"); // OK: string has length
77
+ logLength([1, 2, 3]); // OK: array has length
78
+ // logLength(42); // Error: number has no length
79
+ ```
80
+
81
+ **Multiple Type Parameters:**
82
+
83
+ ```typescript
84
+ function merge<T, U>(obj1: T, obj2: U): T & U {
85
+ return { ...obj1, ...obj2 };
86
+ }
87
+
88
+ const merged = merge({ name: "John" }, { age: 30 });
89
+ // Type: { name: string } & { age: number }
90
+ ```
91
+
92
+ ### 2. Conditional Types
93
+
94
+ Sophisticated type logic where types are determined by conditions.
95
+
96
+ **Basic Conditional Type:**
97
+
98
+ ```typescript
99
+ type IsString<T> = T extends string ? true : false;
100
+
101
+ type A = IsString<string>; // true
102
+ type B = IsString<number>; // false
103
+ ```
104
+
105
+ **Return Type Extraction:**
106
+
107
+ ```typescript
108
+ type ReturnType<T> = T extends (...args: unknown[]) => infer R ? R : never;
109
+
110
+ function getUser() {
111
+ return { id: 1, name: "John" };
112
+ }
113
+
114
+ type User = ReturnType<typeof getUser>;
115
+ // Type: { id: number; name: string; }
116
+ ```
117
+
118
+ **Distributive Conditional Types:**
119
+
120
+ ```typescript
121
+ type ToArray<T> = T extends unknown ? T[] : never;
122
+
123
+ type StrOrNumArray = ToArray<string | number>;
124
+ // Type: string[] | number[]
125
+ ```
126
+
127
+ **Nested Conditions:**
128
+
129
+ ```typescript
130
+ type TypeName<T> = T extends string
131
+ ? "string"
132
+ : T extends number
133
+ ? "number"
134
+ : T extends boolean
135
+ ? "boolean"
136
+ : T extends undefined
137
+ ? "undefined"
138
+ : T extends Function
139
+ ? "function"
140
+ : "object";
141
+
142
+ type T1 = TypeName<string>; // "string"
143
+ type T2 = TypeName<() => void>; // "function"
144
+ ```
145
+
146
+ ### 3. Mapped Types
147
+
148
+ Types that iterate over and transform properties of existing types.
149
+
150
+ **Basic Mapped Type:**
151
+
152
+ ```typescript
153
+ type Readonly<T> = {
154
+ readonly [P in keyof T]: T[P];
155
+ };
156
+
157
+ interface User {
158
+ id: number;
159
+ name: string;
160
+ }
161
+
162
+ type ReadonlyUser = Readonly<User>;
163
+ // Type: { readonly id: number; readonly name: string; }
164
+ ```
165
+
166
+ **Key Remapping:**
167
+
168
+ ```typescript
169
+ type Getters<T> = {
170
+ [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
171
+ };
172
+
173
+ interface Person {
174
+ name: string;
175
+ age: number;
176
+ }
177
+
178
+ type PersonGetters = Getters<Person>;
179
+ // Type: { getName: () => string; getAge: () => number; }
180
+ ```
181
+
182
+ **Property Filtering by Type:**
183
+
184
+ ```typescript
185
+ type PickByType<T, U> = {
186
+ [K in keyof T as T[K] extends U ? K : never]: T[K];
187
+ };
188
+
189
+ interface Mixed {
190
+ id: number;
191
+ name: string;
192
+ age: number;
193
+ active: boolean;
194
+ }
195
+
196
+ type OnlyNumbers = PickByType<Mixed, number>;
197
+ // Type: { id: number; age: number; }
198
+ ```
199
+
200
+ ### 4. Template Literal Types
201
+
202
+ String-based pattern matching and transformation types.
203
+
204
+ **Basic Template Literal:**
205
+
206
+ ```typescript
207
+ type EventName = "click" | "focus" | "blur";
208
+ type EventHandler = `on${Capitalize<EventName>}`;
209
+ // Type: "onClick" | "onFocus" | "onBlur"
210
+ ```
211
+
212
+ **String Manipulation:**
213
+
214
+ ```typescript
215
+ type Upper = Uppercase<"hello">; // "HELLO"
216
+ type Lower = Lowercase<"HELLO">; // "hello"
217
+ type Cap = Capitalize<"john">; // "John"
218
+ type Uncap = Uncapitalize<"John">; // "john"
219
+ ```
220
+
221
+ **Path Builder:**
222
+
223
+ ```typescript
224
+ type Path<T> = T extends object
225
+ ? {
226
+ [K in keyof T]: K extends string
227
+ ? `${K}` | `${K}.${Path<T[K]>}`
228
+ : never;
229
+ }[keyof T]
230
+ : never;
231
+
232
+ interface Config {
233
+ server: { host: string; port: number };
234
+ database: { url: string };
235
+ }
236
+
237
+ type ConfigPath = Path<Config>;
238
+ // Type: "server" | "database" | "server.host" | "server.port" | "database.url"
239
+ ```
240
+
241
+ ### 5. Utility Types
242
+
243
+ Built-in TypeScript utility types.
244
+
245
+ ```typescript
246
+ // Partial<T> — make all properties optional
247
+ type PartialUser = Partial<User>;
248
+
249
+ // Required<T> — make all properties required
250
+ type RequiredUser = Required<PartialUser>;
251
+
252
+ // Readonly<T> — make all properties readonly
253
+ type ReadonlyUser = Readonly<User>;
254
+
255
+ // Pick<T, K> — pick specific properties
256
+ type UserName = Pick<User, "name" | "email">;
257
+
258
+ // Omit<T, K> — omit specific properties
259
+ type UserWithoutPassword = Omit<User, "password">;
260
+
261
+ // Exclude<T, U> — exclude types from union
262
+ type T1 = Exclude<"a" | "b" | "c", "a">; // "b" | "c"
263
+
264
+ // Extract<T, U> — extract types from union
265
+ type T2 = Extract<"a" | "b" | "c", "a" | "b">; // "a" | "b"
266
+
267
+ // NonNullable<T> — exclude null/undefined
268
+ type T3 = NonNullable<string | null | undefined>; // string
269
+
270
+ // Record<K, T> — object type with keys K and values T
271
+ type PageInfo = Record<"home" | "about", { title: string }>;
272
+ ```
273
+
274
+ ## Advanced Patterns
275
+
276
+ ### Pattern 1: Type-safe Event Emitter
277
+
278
+ ```typescript
279
+ type EventMap = {
280
+ "user:created": { id: string; name: string };
281
+ "user:updated": { id: string };
282
+ "user:deleted": { id: string };
283
+ };
284
+
285
+ class TypedEventEmitter<T extends Record<string, unknown>> {
286
+ private listeners: {
287
+ [K in keyof T]?: Array<(data: T[K]) => void>;
288
+ } = {};
289
+
290
+ on<K extends keyof T>(event: K, callback: (data: T[K]) => void): void {
291
+ if (!this.listeners[event]) {
292
+ this.listeners[event] = [];
293
+ }
294
+ this.listeners[event]!.push(callback);
295
+ }
296
+
297
+ emit<K extends keyof T>(event: K, data: T[K]): void {
298
+ const callbacks = this.listeners[event];
299
+ if (callbacks) {
300
+ callbacks.forEach((cb) => cb(data));
301
+ }
302
+ }
303
+ }
304
+
305
+ const emitter = new TypedEventEmitter<EventMap>();
306
+ emitter.on("user:created", (data) => {
307
+ console.log(data.id, data.name); // type-safe!
308
+ });
309
+ ```
310
+
311
+ ### Pattern 2: Type-safe API Client
312
+
313
+ ```typescript
314
+ type HTTPMethod = "GET" | "POST" | "PUT" | "DELETE";
315
+
316
+ type EndpointConfig = {
317
+ "/users": {
318
+ GET: { response: User[] };
319
+ POST: { body: { name: string; email: string }; response: User };
320
+ };
321
+ "/users/:id": {
322
+ GET: { params: { id: string }; response: User };
323
+ PUT: { params: { id: string }; body: Partial<User>; response: User };
324
+ DELETE: { params: { id: string }; response: void };
325
+ };
326
+ };
327
+
328
+ type ExtractParams<T> = T extends { params: infer P } ? P : never;
329
+ type ExtractBody<T> = T extends { body: infer B } ? B : never;
330
+ type ExtractResponse<T> = T extends { response: infer R } ? R : never;
331
+
332
+ class APIClient<Config extends Record<string, Record<string, unknown>>> {
333
+ async request<
334
+ Path extends keyof Config,
335
+ Method extends keyof Config[Path]
336
+ >(
337
+ path: Path,
338
+ method: Method,
339
+ ...[options]: ExtractParams<Config[Path][Method]> extends never
340
+ ? ExtractBody<Config[Path][Method]> extends never
341
+ ? []
342
+ : [{ body: ExtractBody<Config[Path][Method]> }]
343
+ : [
344
+ {
345
+ params: ExtractParams<Config[Path][Method]>;
346
+ body?: ExtractBody<Config[Path][Method]>;
347
+ },
348
+ ]
349
+ ): Promise<ExtractResponse<Config[Path][Method]>> {
350
+ // implementation
351
+ return {} as ExtractResponse<Config[Path][Method]>;
352
+ }
353
+ }
354
+
355
+ const api = new APIClient<EndpointConfig>();
356
+
357
+ // Type-safe API calls
358
+ const users = await api.request("/users", "GET");
359
+ // Type: User[]
360
+
361
+ const newUser = await api.request("/users", "POST", {
362
+ body: { name: "John", email: "john@example.com" },
363
+ });
364
+ // Type: User
365
+
366
+ const user = await api.request("/users/:id", "GET", {
367
+ params: { id: "123" },
368
+ });
369
+ // Type: User
370
+ ```
371
+
372
+ ### Pattern 3: Deep Readonly/Partial
373
+
374
+ ```typescript
375
+ type DeepReadonly<T> = {
376
+ readonly [P in keyof T]: T[P] extends object
377
+ ? T[P] extends Function
378
+ ? T[P]
379
+ : DeepReadonly<T[P]>
380
+ : T[P];
381
+ };
382
+
383
+ type DeepPartial<T> = {
384
+ [P in keyof T]?: T[P] extends object
385
+ ? T[P] extends Array<infer U>
386
+ ? Array<DeepPartial<U>>
387
+ : DeepPartial<T[P]>
388
+ : T[P];
389
+ };
390
+ ```
391
+
392
+ ### Pattern 4: Type-safe Form Validation
393
+
394
+ ```typescript
395
+ type ValidationRule<T> = {
396
+ validate: (value: T) => boolean;
397
+ message: string;
398
+ };
399
+
400
+ type FieldValidation<T> = {
401
+ [K in keyof T]?: ValidationRule<T[K]>[];
402
+ };
403
+
404
+ type ValidationErrors<T> = {
405
+ [K in keyof T]?: string[];
406
+ };
407
+
408
+ class FormValidator<T extends Record<string, unknown>> {
409
+ constructor(private rules: FieldValidation<T>) {}
410
+
411
+ validate(data: T): ValidationErrors<T> | null {
412
+ const errors: ValidationErrors<T> = {};
413
+ let hasErrors = false;
414
+
415
+ for (const key in this.rules) {
416
+ const fieldRules = this.rules[key];
417
+ const value = data[key];
418
+
419
+ if (fieldRules) {
420
+ const fieldErrors: string[] = [];
421
+ for (const rule of fieldRules) {
422
+ if (!rule.validate(value)) {
423
+ fieldErrors.push(rule.message);
424
+ }
425
+ }
426
+ if (fieldErrors.length > 0) {
427
+ errors[key] = fieldErrors;
428
+ hasErrors = true;
429
+ }
430
+ }
431
+ }
432
+
433
+ return hasErrors ? errors : null;
434
+ }
435
+ }
436
+ ```
437
+
438
+ ### Pattern 5: Discriminated Unions
439
+
440
+ ```typescript
441
+ type Success<T> = { status: "success"; data: T };
442
+ type Failure = { status: "error"; error: string };
443
+ type Pending = { status: "loading" };
444
+
445
+ type AsyncState<T> = Success<T> | Failure | Pending;
446
+
447
+ function handleState<T>(state: AsyncState<T>): void {
448
+ switch (state.status) {
449
+ case "success":
450
+ console.log(state.data); // Type: T
451
+ break;
452
+ case "error":
453
+ console.log(state.error); // Type: string
454
+ break;
455
+ case "loading":
456
+ console.log("Loading...");
457
+ break;
458
+ }
459
+ }
460
+ ```
461
+
462
+ **Type-safe State Machine:**
463
+
464
+ ```typescript
465
+ type State =
466
+ | { type: "idle" }
467
+ | { type: "fetching"; requestId: string }
468
+ | { type: "success"; data: unknown }
469
+ | { type: "error"; error: Error };
470
+
471
+ type Event =
472
+ | { type: "FETCH"; requestId: string }
473
+ | { type: "SUCCESS"; data: unknown }
474
+ | { type: "ERROR"; error: Error }
475
+ | { type: "RESET" };
476
+
477
+ function reducer(state: State, event: Event): State {
478
+ switch (state.type) {
479
+ case "idle":
480
+ return event.type === "FETCH"
481
+ ? { type: "fetching", requestId: event.requestId }
482
+ : state;
483
+ case "fetching":
484
+ if (event.type === "SUCCESS") {
485
+ return { type: "success", data: event.data };
486
+ }
487
+ if (event.type === "ERROR") {
488
+ return { type: "error", error: event.error };
489
+ }
490
+ return state;
491
+ case "success":
492
+ case "error":
493
+ return event.type === "RESET" ? { type: "idle" } : state;
494
+ }
495
+ }
496
+ ```
497
+
498
+ ### Pattern 6: Builder Pattern (Type-safe)
499
+
500
+ ```typescript
501
+ type BuilderState<T> = {
502
+ [K in keyof T]: T[K] | undefined;
503
+ };
504
+
505
+ type RequiredKeys<T> = {
506
+ [K in keyof T]-?: Record<string, never> extends Pick<T, K> ? never : K;
507
+ }[keyof T];
508
+
509
+ type IsComplete<T, S> =
510
+ RequiredKeys<T> extends keyof S
511
+ ? S[RequiredKeys<T>] extends undefined
512
+ ? false
513
+ : true
514
+ : false;
515
+
516
+ class Builder<T, S extends BuilderState<T> = Record<string, never> & BuilderState<T>> {
517
+ private state: S = {} as S;
518
+
519
+ set<K extends keyof T>(key: K, value: T[K]): Builder<T, S & Record<K, T[K]>> {
520
+ (this.state as Record<string, unknown>)[key as string] = value;
521
+ return this as unknown as Builder<T, S & Record<K, T[K]>>;
522
+ }
523
+
524
+ build(this: IsComplete<T, S> extends true ? Builder<T, S> : never): T {
525
+ return this.state as unknown as T;
526
+ }
527
+ }
528
+
529
+ interface UserConfig {
530
+ id: string;
531
+ name: string;
532
+ email: string;
533
+ age?: number;
534
+ }
535
+
536
+ const userBuilder = new Builder<UserConfig>();
537
+
538
+ const config = userBuilder
539
+ .set("id", "1")
540
+ .set("name", "John")
541
+ .set("email", "john@example.com")
542
+ .build(); // OK: all required fields set
543
+
544
+ // const incomplete = userBuilder
545
+ // .set("id", "1")
546
+ // .build(); // Error: required fields missing
547
+ ```
548
+
549
+ ### Pattern 7: Deep Readonly/Partial Usage
550
+
551
+ ```typescript
552
+ interface AppConfig {
553
+ server: {
554
+ host: string;
555
+ port: number;
556
+ ssl: {
557
+ enabled: boolean;
558
+ cert: string;
559
+ };
560
+ };
561
+ database: {
562
+ url: string;
563
+ pool: {
564
+ min: number;
565
+ max: number;
566
+ };
567
+ };
568
+ }
569
+
570
+ type ReadonlyConfig = DeepReadonly<AppConfig>;
571
+ // All nested properties are readonly
572
+
573
+ type PartialConfig = DeepPartial<AppConfig>;
574
+ // All nested properties are optional
575
+
576
+ // Used in config update function
577
+ function updateConfig(current: AppConfig, patch: DeepPartial<AppConfig>): AppConfig {
578
+ return deepMerge(current, patch);
579
+ }
580
+ ```
581
+
582
+ ### Pattern 8: Form Validation Usage
583
+
584
+ ```typescript
585
+ interface LoginForm {
586
+ email: string;
587
+ password: string;
588
+ }
589
+
590
+ const loginValidator = new FormValidator<LoginForm>({
591
+ email: [
592
+ {
593
+ validate: (v) => v.includes("@"),
594
+ message: "Invalid email format",
595
+ },
596
+ {
597
+ validate: (v) => v.length > 0,
598
+ message: "Email is required",
599
+ },
600
+ ],
601
+ password: [
602
+ {
603
+ validate: (v) => v.length >= 8,
604
+ message: "Password must be at least 8 characters",
605
+ },
606
+ ],
607
+ });
608
+
609
+ const errors = loginValidator.validate({
610
+ email: "invalid",
611
+ password: "short",
612
+ });
613
+ // Type: { email?: string[]; password?: string[]; } | null
614
+ ```
615
+
616
+ ## Type Inference Techniques
617
+
618
+ ### 1. The Infer Keyword
619
+
620
+ ```typescript
621
+ // Extract array element type
622
+ type ElementType<T> = T extends (infer U)[] ? U : never;
623
+ type Num = ElementType<number[]>; // number
624
+
625
+ // Extract Promise type
626
+ type PromiseType<T> = T extends Promise<infer U> ? U : never;
627
+ type AsyncNum = PromiseType<Promise<number>>; // number
628
+
629
+ // Extract function parameters
630
+ type Parameters<T> = T extends (...args: infer P) => unknown ? P : never;
631
+ ```
632
+
633
+ ### 2. Type Guards
634
+
635
+ ```typescript
636
+ function isString(value: unknown): value is string {
637
+ return typeof value === "string";
638
+ }
639
+
640
+ function isArrayOf<T>(
641
+ value: unknown,
642
+ guard: (item: unknown) => item is T,
643
+ ): value is T[] {
644
+ return Array.isArray(value) && value.every(guard);
645
+ }
646
+
647
+ const data: unknown = ["a", "b", "c"];
648
+ if (isArrayOf(data, isString)) {
649
+ data.forEach((s) => s.toUpperCase()); // Type: string[]
650
+ }
651
+ ```
652
+
653
+ ### 3. Assertion Functions
654
+
655
+ ```typescript
656
+ function assertIsString(value: unknown): asserts value is string {
657
+ if (typeof value !== "string") {
658
+ throw new Error("Not a string");
659
+ }
660
+ }
661
+
662
+ function processValue(value: unknown): void {
663
+ assertIsString(value);
664
+ // value is now typed as string
665
+ console.log(value.toUpperCase());
666
+ }
667
+ ```
668
+
669
+ ## Best Practices
670
+
671
+ 1. **Use `unknown` instead of `any`**: Forces type validation
672
+ 2. **Use `interface` for object shapes**: Better error messages
673
+ 3. **Use `type` for unions/complex types**: More flexible
674
+ 4. **Leverage type inference**: Omit explicit types when TypeScript can infer
675
+ 5. **Create helper types**: Build reusable type utilities
676
+ 6. **Use const assertions**: Preserve literal types
677
+ 7. **Avoid type assertions**: Use type guards instead
678
+ 8. **Document complex types**: Add JSDoc comments
679
+ 9. **Use strict mode**: Enable all strict compiler options
680
+ 10. **Test your types**: Verify type behavior
681
+
682
+ ## Type Testing
683
+
684
+ ```typescript
685
+ // Type equality assertion test
686
+ type AssertEqual<T, U> = [T] extends [U]
687
+ ? [U] extends [T]
688
+ ? true
689
+ : false
690
+ : false;
691
+
692
+ type Test1 = AssertEqual<string, string>; // true
693
+ type Test2 = AssertEqual<string, number>; // false
694
+ ```
695
+
696
+ ## Common Mistakes
697
+
698
+ 1. **Overusing `any`**: Defeats the purpose of TypeScript
699
+ 2. **Ignoring strict null checks**: Causes runtime errors
700
+ 3. **Overly complex types**: Slows down compilation
701
+ 4. **Not using discriminated unions**: Misses type narrowing opportunities
702
+ 5. **Missing readonly modifiers**: Allows unintended mutations
703
+ 6. **Circular type references**: Causes compiler errors
704
+ 7. **Unhandled edge cases**: Empty arrays, null values, etc.
705
+
706
+ ## Performance Considerations
707
+
708
+ - Avoid deeply nested conditional types
709
+ - Use simpler types when possible
710
+ - Cache complex type computations
711
+ - Limit depth of recursive types
712
+ - Use tools that skip type checking in production builds
713
+
714
+ ## References
715
+
716
+ - TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/
717
+ - Type Challenges: https://github.com/type-challenges/type-challenges
718
+ - Effective TypeScript (by Dan Vanderkam)
719
+
720
+ > **VIBE tool integration**: `core_validate_code_quality` detects `any` type usage, `core_apply_quality_rules` auto-applies TypeScript rules