@su-record/vibe 2.7.2 → 2.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1567) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +222 -222
  3. package/LICENSE +21 -21
  4. package/README.md +580 -580
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +266 -266
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +260 -260
  54. package/commands/vibe.run.md +1 -1
  55. package/commands/vibe.spec.md +8 -8
  56. package/commands/vibe.spec.review.md +558 -558
  57. package/commands/vibe.utils.md +413 -413
  58. package/commands/vibe.voice.md +79 -79
  59. package/dist/agent/AgentLoop.d.ts +97 -0
  60. package/dist/agent/AgentLoop.d.ts.map +1 -0
  61. package/dist/agent/AgentLoop.js +546 -0
  62. package/dist/agent/AgentLoop.js.map +1 -0
  63. package/dist/agent/ConversationState.d.ts +29 -0
  64. package/dist/agent/ConversationState.d.ts.map +1 -0
  65. package/dist/agent/ConversationState.js +107 -0
  66. package/dist/agent/ConversationState.js.map +1 -0
  67. package/dist/agent/ConversationStore.d.ts +31 -0
  68. package/dist/agent/ConversationStore.d.ts.map +1 -0
  69. package/dist/agent/ConversationStore.integration.test.d.ts +2 -0
  70. package/dist/agent/ConversationStore.integration.test.d.ts.map +1 -0
  71. package/dist/agent/ConversationStore.integration.test.js +162 -0
  72. package/dist/agent/ConversationStore.integration.test.js.map +1 -0
  73. package/dist/agent/ConversationStore.js +126 -0
  74. package/dist/agent/ConversationStore.js.map +1 -0
  75. package/dist/agent/ConversationStore.test.d.ts +2 -0
  76. package/dist/agent/ConversationStore.test.d.ts.map +1 -0
  77. package/dist/agent/ConversationStore.test.js +93 -0
  78. package/dist/agent/ConversationStore.test.js.map +1 -0
  79. package/dist/agent/HeadModelSelector.d.ts +36 -0
  80. package/dist/agent/HeadModelSelector.d.ts.map +1 -0
  81. package/dist/agent/HeadModelSelector.js +124 -0
  82. package/dist/agent/HeadModelSelector.js.map +1 -0
  83. package/dist/agent/RateLimiter.d.ts +44 -0
  84. package/dist/agent/RateLimiter.d.ts.map +1 -0
  85. package/dist/agent/RateLimiter.js +71 -0
  86. package/dist/agent/RateLimiter.js.map +1 -0
  87. package/dist/agent/SystemPrompt.d.ts +35 -0
  88. package/dist/agent/SystemPrompt.d.ts.map +1 -0
  89. package/dist/agent/SystemPrompt.js +151 -0
  90. package/dist/agent/SystemPrompt.js.map +1 -0
  91. package/dist/agent/ToolExecutor.d.ts +33 -0
  92. package/dist/agent/ToolExecutor.d.ts.map +1 -0
  93. package/dist/agent/ToolExecutor.js +123 -0
  94. package/dist/agent/ToolExecutor.js.map +1 -0
  95. package/dist/agent/ToolRegistry.d.ts +37 -0
  96. package/dist/agent/ToolRegistry.d.ts.map +1 -0
  97. package/dist/agent/ToolRegistry.js +125 -0
  98. package/dist/agent/ToolRegistry.js.map +1 -0
  99. package/dist/agent/__tests__/AgentLoop.test.d.ts +6 -0
  100. package/dist/agent/__tests__/AgentLoop.test.d.ts.map +1 -0
  101. package/dist/agent/__tests__/AgentLoop.test.js +208 -0
  102. package/dist/agent/__tests__/AgentLoop.test.js.map +1 -0
  103. package/dist/agent/__tests__/ConversationState.test.d.ts +6 -0
  104. package/dist/agent/__tests__/ConversationState.test.d.ts.map +1 -0
  105. package/dist/agent/__tests__/ConversationState.test.js +102 -0
  106. package/dist/agent/__tests__/ConversationState.test.js.map +1 -0
  107. package/dist/agent/__tests__/HeadModelSelector.test.d.ts +6 -0
  108. package/dist/agent/__tests__/HeadModelSelector.test.d.ts.map +1 -0
  109. package/dist/agent/__tests__/HeadModelSelector.test.js +132 -0
  110. package/dist/agent/__tests__/HeadModelSelector.test.js.map +1 -0
  111. package/dist/agent/__tests__/JobManager.test.d.ts +6 -0
  112. package/dist/agent/__tests__/JobManager.test.d.ts.map +1 -0
  113. package/dist/agent/__tests__/JobManager.test.js +197 -0
  114. package/dist/agent/__tests__/JobManager.test.js.map +1 -0
  115. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts +6 -0
  116. package/dist/agent/__tests__/MediaPreprocessor.test.d.ts.map +1 -0
  117. package/dist/agent/__tests__/MediaPreprocessor.test.js +163 -0
  118. package/dist/agent/__tests__/MediaPreprocessor.test.js.map +1 -0
  119. package/dist/agent/__tests__/ToolExecutor.test.d.ts +6 -0
  120. package/dist/agent/__tests__/ToolExecutor.test.d.ts.map +1 -0
  121. package/dist/agent/__tests__/ToolExecutor.test.js +140 -0
  122. package/dist/agent/__tests__/ToolExecutor.test.js.map +1 -0
  123. package/dist/agent/__tests__/ToolRegistry.test.d.ts +6 -0
  124. package/dist/agent/__tests__/ToolRegistry.test.d.ts.map +1 -0
  125. package/dist/agent/__tests__/ToolRegistry.test.js +172 -0
  126. package/dist/agent/__tests__/ToolRegistry.test.js.map +1 -0
  127. package/dist/agent/__tests__/tools.test.d.ts +6 -0
  128. package/dist/agent/__tests__/tools.test.d.ts.map +1 -0
  129. package/dist/agent/__tests__/tools.test.js +177 -0
  130. package/dist/agent/__tests__/tools.test.js.map +1 -0
  131. package/dist/agent/index.d.ts +19 -0
  132. package/dist/agent/index.d.ts.map +1 -0
  133. package/dist/agent/index.js +18 -0
  134. package/dist/agent/index.js.map +1 -0
  135. package/dist/agent/jobs/JobManager.d.ts +46 -0
  136. package/dist/agent/jobs/JobManager.d.ts.map +1 -0
  137. package/dist/agent/jobs/JobManager.js +213 -0
  138. package/dist/agent/jobs/JobManager.js.map +1 -0
  139. package/dist/agent/jobs/ProgressReporter.d.ts +32 -0
  140. package/dist/agent/jobs/ProgressReporter.d.ts.map +1 -0
  141. package/dist/agent/jobs/ProgressReporter.js +82 -0
  142. package/dist/agent/jobs/ProgressReporter.js.map +1 -0
  143. package/dist/agent/jobs/types.d.ts +32 -0
  144. package/dist/agent/jobs/types.d.ts.map +1 -0
  145. package/dist/agent/jobs/types.js +6 -0
  146. package/dist/agent/jobs/types.js.map +1 -0
  147. package/dist/agent/policy-integration.test.d.ts +6 -0
  148. package/dist/agent/policy-integration.test.d.ts.map +1 -0
  149. package/dist/agent/policy-integration.test.js +148 -0
  150. package/dist/agent/policy-integration.test.js.map +1 -0
  151. package/dist/agent/preprocessors/MediaPreprocessor.d.ts +63 -0
  152. package/dist/agent/preprocessors/MediaPreprocessor.d.ts.map +1 -0
  153. package/dist/agent/preprocessors/MediaPreprocessor.js +320 -0
  154. package/dist/agent/preprocessors/MediaPreprocessor.js.map +1 -0
  155. package/dist/agent/providers/claude-head.d.ts +17 -0
  156. package/dist/agent/providers/claude-head.d.ts.map +1 -0
  157. package/dist/agent/providers/claude-head.js +124 -0
  158. package/dist/agent/providers/claude-head.js.map +1 -0
  159. package/dist/agent/providers/gpt-head.d.ts +30 -0
  160. package/dist/agent/providers/gpt-head.d.ts.map +1 -0
  161. package/dist/agent/providers/gpt-head.js +359 -0
  162. package/dist/agent/providers/gpt-head.js.map +1 -0
  163. package/dist/agent/tools/claude-code.d.ts +11 -0
  164. package/dist/agent/tools/claude-code.d.ts.map +1 -0
  165. package/dist/agent/tools/claude-code.js +148 -0
  166. package/dist/agent/tools/claude-code.js.map +1 -0
  167. package/dist/agent/tools/dm-pair.d.ts +23 -0
  168. package/dist/agent/tools/dm-pair.d.ts.map +1 -0
  169. package/dist/agent/tools/dm-pair.js +70 -0
  170. package/dist/agent/tools/dm-pair.js.map +1 -0
  171. package/dist/agent/tools/dm-pair.test.d.ts +6 -0
  172. package/dist/agent/tools/dm-pair.test.d.ts.map +1 -0
  173. package/dist/agent/tools/dm-pair.test.js +106 -0
  174. package/dist/agent/tools/dm-pair.test.js.map +1 -0
  175. package/dist/agent/tools/gemini-stt.d.ts +9 -0
  176. package/dist/agent/tools/gemini-stt.d.ts.map +1 -0
  177. package/dist/agent/tools/gemini-stt.js +33 -0
  178. package/dist/agent/tools/gemini-stt.js.map +1 -0
  179. package/dist/agent/tools/google-search.d.ts +9 -0
  180. package/dist/agent/tools/google-search.d.ts.map +1 -0
  181. package/dist/agent/tools/google-search.js +38 -0
  182. package/dist/agent/tools/google-search.js.map +1 -0
  183. package/dist/agent/tools/index.d.ts +22 -0
  184. package/dist/agent/tools/index.d.ts.map +1 -0
  185. package/dist/agent/tools/index.js +37 -0
  186. package/dist/agent/tools/index.js.map +1 -0
  187. package/dist/agent/tools/kimi-analyze.d.ts +9 -0
  188. package/dist/agent/tools/kimi-analyze.d.ts.map +1 -0
  189. package/dist/agent/tools/kimi-analyze.js +49 -0
  190. package/dist/agent/tools/kimi-analyze.js.map +1 -0
  191. package/dist/agent/tools/manage-memory.d.ts +10 -0
  192. package/dist/agent/tools/manage-memory.d.ts.map +1 -0
  193. package/dist/agent/tools/manage-memory.js +70 -0
  194. package/dist/agent/tools/manage-memory.js.map +1 -0
  195. package/dist/agent/tools/send-imessage.d.ts +19 -0
  196. package/dist/agent/tools/send-imessage.d.ts.map +1 -0
  197. package/dist/agent/tools/send-imessage.js +67 -0
  198. package/dist/agent/tools/send-imessage.js.map +1 -0
  199. package/dist/agent/tools/send-slack.d.ts +21 -0
  200. package/dist/agent/tools/send-slack.d.ts.map +1 -0
  201. package/dist/agent/tools/send-slack.js +63 -0
  202. package/dist/agent/tools/send-slack.js.map +1 -0
  203. package/dist/agent/tools/send-telegram.d.ts +20 -0
  204. package/dist/agent/tools/send-telegram.d.ts.map +1 -0
  205. package/dist/agent/tools/send-telegram.js +58 -0
  206. package/dist/agent/tools/send-telegram.js.map +1 -0
  207. package/dist/agent/tools/vision-analyze.d.ts +11 -0
  208. package/dist/agent/tools/vision-analyze.d.ts.map +1 -0
  209. package/dist/agent/tools/vision-analyze.js +103 -0
  210. package/dist/agent/tools/vision-analyze.js.map +1 -0
  211. package/dist/agent/tools/vision-capture.d.ts +13 -0
  212. package/dist/agent/tools/vision-capture.d.ts.map +1 -0
  213. package/dist/agent/tools/vision-capture.js +87 -0
  214. package/dist/agent/tools/vision-capture.js.map +1 -0
  215. package/dist/agent/tools/web-browse.d.ts +20 -0
  216. package/dist/agent/tools/web-browse.d.ts.map +1 -0
  217. package/dist/agent/tools/web-browse.js +196 -0
  218. package/dist/agent/tools/web-browse.js.map +1 -0
  219. package/dist/agent/types.d.ts +151 -0
  220. package/dist/agent/types.d.ts.map +1 -0
  221. package/dist/agent/types.js +6 -0
  222. package/dist/agent/types.js.map +1 -0
  223. package/dist/bridge/telegram-assistant-bridge.d.ts +10 -0
  224. package/dist/bridge/telegram-assistant-bridge.d.ts.map +1 -0
  225. package/dist/bridge/telegram-assistant-bridge.js +274 -0
  226. package/dist/bridge/telegram-assistant-bridge.js.map +1 -0
  227. package/dist/bridge/telegram-bridge.d.ts +10 -0
  228. package/dist/bridge/telegram-bridge.d.ts.map +1 -0
  229. package/dist/bridge/telegram-bridge.js +154 -0
  230. package/dist/bridge/telegram-bridge.js.map +1 -0
  231. package/dist/cli/collaborator.js +52 -52
  232. package/dist/cli/commands/autostart.d.ts +19 -0
  233. package/dist/cli/commands/autostart.d.ts.map +1 -0
  234. package/dist/cli/commands/autostart.js +213 -0
  235. package/dist/cli/commands/autostart.js.map +1 -0
  236. package/dist/cli/commands/browser.d.ts +12 -0
  237. package/dist/cli/commands/browser.d.ts.map +1 -0
  238. package/dist/cli/commands/browser.js +50 -0
  239. package/dist/cli/commands/browser.js.map +1 -0
  240. package/dist/cli/commands/daemon.d.ts +16 -0
  241. package/dist/cli/commands/daemon.d.ts.map +1 -0
  242. package/dist/cli/commands/daemon.js +277 -0
  243. package/dist/cli/commands/daemon.js.map +1 -0
  244. package/dist/cli/commands/device.d.ts +9 -0
  245. package/dist/cli/commands/device.d.ts.map +1 -0
  246. package/dist/cli/commands/device.js +56 -0
  247. package/dist/cli/commands/device.js.map +1 -0
  248. package/dist/cli/commands/evolution.js +12 -12
  249. package/dist/cli/commands/google.d.ts +12 -0
  250. package/dist/cli/commands/google.d.ts.map +1 -0
  251. package/dist/cli/commands/google.js +83 -0
  252. package/dist/cli/commands/google.js.map +1 -0
  253. package/dist/cli/commands/imessage.d.ts +11 -0
  254. package/dist/cli/commands/imessage.d.ts.map +1 -0
  255. package/dist/cli/commands/imessage.js +85 -0
  256. package/dist/cli/commands/imessage.js.map +1 -0
  257. package/dist/cli/commands/info.js +54 -54
  258. package/dist/cli/commands/init.js +6 -6
  259. package/dist/cli/commands/interface.d.ts +15 -0
  260. package/dist/cli/commands/interface.d.ts.map +1 -0
  261. package/dist/cli/commands/interface.js +167 -0
  262. package/dist/cli/commands/interface.js.map +1 -0
  263. package/dist/cli/commands/job.d.ts +14 -0
  264. package/dist/cli/commands/job.d.ts.map +1 -0
  265. package/dist/cli/commands/job.js +170 -0
  266. package/dist/cli/commands/job.js.map +1 -0
  267. package/dist/cli/commands/pc.d.ts +12 -0
  268. package/dist/cli/commands/pc.d.ts.map +1 -0
  269. package/dist/cli/commands/pc.js +75 -0
  270. package/dist/cli/commands/pc.js.map +1 -0
  271. package/dist/cli/commands/policy.d.ts +10 -0
  272. package/dist/cli/commands/policy.d.ts.map +1 -0
  273. package/dist/cli/commands/policy.js +75 -0
  274. package/dist/cli/commands/policy.js.map +1 -0
  275. package/dist/cli/commands/remove.js +14 -14
  276. package/dist/cli/commands/sandbox.d.ts +10 -0
  277. package/dist/cli/commands/sandbox.d.ts.map +1 -0
  278. package/dist/cli/commands/sandbox.js +53 -0
  279. package/dist/cli/commands/sandbox.js.map +1 -0
  280. package/dist/cli/commands/sentinel.js +27 -27
  281. package/dist/cli/commands/setup.d.ts.map +1 -1
  282. package/dist/cli/commands/setup.js +1 -25
  283. package/dist/cli/commands/setup.js.map +1 -1
  284. package/dist/cli/commands/slack.js +10 -10
  285. package/dist/cli/commands/sync.d.ts +9 -0
  286. package/dist/cli/commands/sync.d.ts.map +1 -0
  287. package/dist/cli/commands/sync.js +167 -0
  288. package/dist/cli/commands/sync.js.map +1 -0
  289. package/dist/cli/commands/telegram.js +12 -12
  290. package/dist/cli/commands/vision.d.ts +12 -0
  291. package/dist/cli/commands/vision.d.ts.map +1 -0
  292. package/dist/cli/commands/vision.js +74 -0
  293. package/dist/cli/commands/vision.js.map +1 -0
  294. package/dist/cli/commands/voice.d.ts +12 -0
  295. package/dist/cli/commands/voice.d.ts.map +1 -0
  296. package/dist/cli/commands/voice.js +67 -0
  297. package/dist/cli/commands/voice.js.map +1 -0
  298. package/dist/cli/commands/webhook.d.ts +9 -0
  299. package/dist/cli/commands/webhook.d.ts.map +1 -0
  300. package/dist/cli/commands/webhook.js +85 -0
  301. package/dist/cli/commands/webhook.js.map +1 -0
  302. package/dist/cli/detect.js +32 -32
  303. package/dist/cli/hud.d.ts +46 -0
  304. package/dist/cli/hud.d.ts.map +1 -0
  305. package/dist/cli/hud.js +392 -0
  306. package/dist/cli/hud.js.map +1 -0
  307. package/dist/cli/index.d.ts.map +1 -1
  308. package/dist/cli/index.js +48 -53
  309. package/dist/cli/index.js.map +1 -1
  310. package/dist/cli/llm/az-commands.d.ts +12 -0
  311. package/dist/cli/llm/az-commands.d.ts.map +1 -0
  312. package/dist/cli/llm/az-commands.js +99 -0
  313. package/dist/cli/llm/az-commands.js.map +1 -0
  314. package/dist/cli/llm/claude-commands.js +16 -16
  315. package/dist/cli/llm/config.js +18 -18
  316. package/dist/cli/llm/gemini-commands.js +47 -47
  317. package/dist/cli/llm/gpt-commands.d.ts +6 -13
  318. package/dist/cli/llm/gpt-commands.d.ts.map +1 -1
  319. package/dist/cli/llm/gpt-commands.js +47 -117
  320. package/dist/cli/llm/gpt-commands.js.map +1 -1
  321. package/dist/cli/llm/help.js +21 -21
  322. package/dist/cli/llm/kimi-commands.d.ts +12 -0
  323. package/dist/cli/llm/kimi-commands.d.ts.map +1 -0
  324. package/dist/cli/llm/kimi-commands.js +100 -0
  325. package/dist/cli/llm/kimi-commands.js.map +1 -0
  326. package/dist/cli/llm/nvidia-commands.d.ts +16 -0
  327. package/dist/cli/llm/nvidia-commands.d.ts.map +1 -0
  328. package/dist/cli/llm/nvidia-commands.js +105 -0
  329. package/dist/cli/llm/nvidia-commands.js.map +1 -0
  330. package/dist/cli/llm/priority-commands.d.ts +18 -0
  331. package/dist/cli/llm/priority-commands.d.ts.map +1 -0
  332. package/dist/cli/llm/priority-commands.js +69 -0
  333. package/dist/cli/llm/priority-commands.js.map +1 -0
  334. package/dist/cli/postinstall/cursor-agents.js +32 -32
  335. package/dist/cli/postinstall/cursor-rules.js +83 -83
  336. package/dist/cli/postinstall/cursor-skills.js +743 -743
  337. package/dist/cli/postinstall/npmrc.d.ts +9 -0
  338. package/dist/cli/postinstall/npmrc.d.ts.map +1 -0
  339. package/dist/cli/postinstall/npmrc.js +80 -0
  340. package/dist/cli/postinstall/npmrc.js.map +1 -0
  341. package/dist/cli/types.d.ts +1 -0
  342. package/dist/cli/types.d.ts.map +1 -1
  343. package/dist/daemon/DaemonIPC.d.ts +40 -0
  344. package/dist/daemon/DaemonIPC.d.ts.map +1 -0
  345. package/dist/daemon/DaemonIPC.js +327 -0
  346. package/dist/daemon/DaemonIPC.js.map +1 -0
  347. package/dist/daemon/InterfaceManager.d.ts +62 -0
  348. package/dist/daemon/InterfaceManager.d.ts.map +1 -0
  349. package/dist/daemon/InterfaceManager.js +785 -0
  350. package/dist/daemon/InterfaceManager.js.map +1 -0
  351. package/dist/daemon/SessionPool.d.ts +80 -0
  352. package/dist/daemon/SessionPool.d.ts.map +1 -0
  353. package/dist/daemon/SessionPool.js +414 -0
  354. package/dist/daemon/SessionPool.js.map +1 -0
  355. package/dist/daemon/VibeDaemon.d.ts +69 -0
  356. package/dist/daemon/VibeDaemon.d.ts.map +1 -0
  357. package/dist/daemon/VibeDaemon.js +400 -0
  358. package/dist/daemon/VibeDaemon.js.map +1 -0
  359. package/dist/daemon/daemon.test.d.ts +6 -0
  360. package/dist/daemon/daemon.test.d.ts.map +1 -0
  361. package/dist/daemon/daemon.test.js +348 -0
  362. package/dist/daemon/daemon.test.js.map +1 -0
  363. package/dist/daemon/index.d.ts +10 -0
  364. package/dist/daemon/index.d.ts.map +1 -0
  365. package/dist/daemon/index.js +9 -0
  366. package/dist/daemon/index.js.map +1 -0
  367. package/dist/daemon/pipeline.test.d.ts +6 -0
  368. package/dist/daemon/pipeline.test.d.ts.map +1 -0
  369. package/dist/daemon/pipeline.test.js +258 -0
  370. package/dist/daemon/pipeline.test.js.map +1 -0
  371. package/dist/daemon/preflight.d.ts +23 -0
  372. package/dist/daemon/preflight.d.ts.map +1 -0
  373. package/dist/daemon/preflight.js +204 -0
  374. package/dist/daemon/preflight.js.map +1 -0
  375. package/dist/daemon/preflight.test.d.ts +6 -0
  376. package/dist/daemon/preflight.test.d.ts.map +1 -0
  377. package/dist/daemon/preflight.test.js +88 -0
  378. package/dist/daemon/preflight.test.js.map +1 -0
  379. package/dist/daemon/types.d.ts +117 -0
  380. package/dist/daemon/types.d.ts.map +1 -0
  381. package/dist/daemon/types.js +15 -0
  382. package/dist/daemon/types.js.map +1 -0
  383. package/dist/infra/lib/DeepInit.js +24 -24
  384. package/dist/infra/lib/IterationTracker.js +11 -11
  385. package/dist/infra/lib/PythonParser.js +108 -108
  386. package/dist/infra/lib/ReviewRace.js +96 -96
  387. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  388. package/dist/infra/lib/SkillQualityGate.js +9 -9
  389. package/dist/infra/lib/SkillRepository.js +159 -159
  390. package/dist/infra/lib/UltraQA.js +99 -99
  391. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  392. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  393. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  394. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  395. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  396. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  397. package/dist/infra/lib/az/auth.d.ts +15 -0
  398. package/dist/infra/lib/az/auth.d.ts.map +1 -0
  399. package/dist/infra/lib/az/auth.js +67 -0
  400. package/dist/infra/lib/az/auth.js.map +1 -0
  401. package/dist/infra/lib/az/chat.d.ts +26 -0
  402. package/dist/infra/lib/az/chat.d.ts.map +1 -0
  403. package/dist/infra/lib/az/chat.js +116 -0
  404. package/dist/infra/lib/az/chat.js.map +1 -0
  405. package/dist/infra/lib/az/embedding.d.ts +13 -0
  406. package/dist/infra/lib/az/embedding.d.ts.map +1 -0
  407. package/dist/infra/lib/az/embedding.js +60 -0
  408. package/dist/infra/lib/az/embedding.js.map +1 -0
  409. package/dist/infra/lib/az/index.d.ts +9 -0
  410. package/dist/infra/lib/az/index.d.ts.map +1 -0
  411. package/dist/infra/lib/az/index.js +9 -0
  412. package/dist/infra/lib/az/index.js.map +1 -0
  413. package/dist/infra/lib/az/orchestration.d.ts +11 -0
  414. package/dist/infra/lib/az/orchestration.d.ts.map +1 -0
  415. package/dist/infra/lib/az/orchestration.js +24 -0
  416. package/dist/infra/lib/az/orchestration.js.map +1 -0
  417. package/dist/infra/lib/az/types.d.ts +35 -0
  418. package/dist/infra/lib/az/types.d.ts.map +1 -0
  419. package/dist/infra/lib/az/types.js +5 -0
  420. package/dist/infra/lib/az/types.js.map +1 -0
  421. package/dist/infra/lib/az-api.d.ts +5 -0
  422. package/dist/infra/lib/az-api.d.ts.map +1 -0
  423. package/dist/infra/lib/az-api.js +5 -0
  424. package/dist/infra/lib/az-api.js.map +1 -0
  425. package/dist/infra/lib/az-constants.d.ts +44 -0
  426. package/dist/infra/lib/az-constants.d.ts.map +1 -0
  427. package/dist/infra/lib/az-constants.js +58 -0
  428. package/dist/infra/lib/az-constants.js.map +1 -0
  429. package/dist/infra/lib/az-storage.d.ts +12 -0
  430. package/dist/infra/lib/az-storage.d.ts.map +1 -0
  431. package/dist/infra/lib/az-storage.js +59 -0
  432. package/dist/infra/lib/az-storage.js.map +1 -0
  433. package/dist/infra/lib/claude-storage.d.ts +12 -0
  434. package/dist/infra/lib/claude-storage.d.ts.map +1 -0
  435. package/dist/infra/lib/claude-storage.js +59 -0
  436. package/dist/infra/lib/claude-storage.js.map +1 -0
  437. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  438. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  439. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  440. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  441. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  442. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  443. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  444. package/dist/infra/lib/gemini/constants.js +14 -14
  445. package/dist/infra/lib/gemini/orchestration.js +5 -5
  446. package/dist/infra/lib/gemini-api.d.ts +13 -0
  447. package/dist/infra/lib/gemini-api.d.ts.map +1 -0
  448. package/dist/infra/lib/gemini-api.js +13 -0
  449. package/dist/infra/lib/gemini-api.js.map +1 -0
  450. package/dist/infra/lib/gemini-constants.d.ts +19 -0
  451. package/dist/infra/lib/gemini-constants.d.ts.map +1 -0
  452. package/dist/infra/lib/gemini-constants.js +34 -0
  453. package/dist/infra/lib/gemini-constants.js.map +1 -0
  454. package/dist/infra/lib/gemini-oauth.d.ts +60 -0
  455. package/dist/infra/lib/gemini-oauth.d.ts.map +1 -0
  456. package/dist/infra/lib/gemini-oauth.js +386 -0
  457. package/dist/infra/lib/gemini-oauth.js.map +1 -0
  458. package/dist/infra/lib/gemini-storage.d.ts +64 -0
  459. package/dist/infra/lib/gemini-storage.d.ts.map +1 -0
  460. package/dist/infra/lib/gemini-storage.js +177 -0
  461. package/dist/infra/lib/gemini-storage.js.map +1 -0
  462. package/dist/infra/lib/gpt/auth.d.ts +18 -2
  463. package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
  464. package/dist/infra/lib/gpt/auth.js +91 -7
  465. package/dist/infra/lib/gpt/auth.js.map +1 -1
  466. package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
  467. package/dist/infra/lib/gpt/chat.js +1 -0
  468. package/dist/infra/lib/gpt/chat.js.map +1 -1
  469. package/dist/infra/lib/gpt/oauth.js +44 -44
  470. package/dist/infra/lib/gpt/orchestration.js +4 -4
  471. package/dist/infra/lib/gpt/types.d.ts +1 -1
  472. package/dist/infra/lib/gpt/types.d.ts.map +1 -1
  473. package/dist/infra/lib/gpt-api.d.ts +13 -0
  474. package/dist/infra/lib/gpt-api.d.ts.map +1 -0
  475. package/dist/infra/lib/gpt-api.js +13 -0
  476. package/dist/infra/lib/gpt-api.js.map +1 -0
  477. package/dist/infra/lib/gpt-constants.d.ts +12 -0
  478. package/dist/infra/lib/gpt-constants.d.ts.map +1 -0
  479. package/dist/infra/lib/gpt-constants.js +18 -0
  480. package/dist/infra/lib/gpt-constants.js.map +1 -0
  481. package/dist/infra/lib/gpt-oauth.d.ts +66 -0
  482. package/dist/infra/lib/gpt-oauth.d.ts.map +1 -0
  483. package/dist/infra/lib/gpt-oauth.js +389 -0
  484. package/dist/infra/lib/gpt-oauth.js.map +1 -0
  485. package/dist/infra/lib/gpt-storage.d.ts +64 -0
  486. package/dist/infra/lib/gpt-storage.d.ts.map +1 -0
  487. package/dist/infra/lib/gpt-storage.js +180 -0
  488. package/dist/infra/lib/gpt-storage.js.map +1 -0
  489. package/dist/infra/lib/kimi/auth.d.ts +10 -0
  490. package/dist/infra/lib/kimi/auth.d.ts.map +1 -0
  491. package/dist/infra/lib/kimi/auth.js +45 -0
  492. package/dist/infra/lib/kimi/auth.js.map +1 -0
  493. package/dist/infra/lib/kimi/chat.d.ts +26 -0
  494. package/dist/infra/lib/kimi/chat.d.ts.map +1 -0
  495. package/dist/infra/lib/kimi/chat.js +115 -0
  496. package/dist/infra/lib/kimi/chat.js.map +1 -0
  497. package/dist/infra/lib/kimi/index.d.ts +8 -0
  498. package/dist/infra/lib/kimi/index.d.ts.map +1 -0
  499. package/dist/infra/lib/kimi/index.js +8 -0
  500. package/dist/infra/lib/kimi/index.js.map +1 -0
  501. package/dist/infra/lib/kimi/orchestration.d.ts +10 -0
  502. package/dist/infra/lib/kimi/orchestration.d.ts.map +1 -0
  503. package/dist/infra/lib/kimi/orchestration.js +22 -0
  504. package/dist/infra/lib/kimi/orchestration.js.map +1 -0
  505. package/dist/infra/lib/kimi/types.d.ts +30 -0
  506. package/dist/infra/lib/kimi/types.d.ts.map +1 -0
  507. package/dist/infra/lib/kimi/types.js +5 -0
  508. package/dist/infra/lib/kimi/types.js.map +1 -0
  509. package/dist/infra/lib/kimi-api.d.ts +5 -0
  510. package/dist/infra/lib/kimi-api.d.ts.map +1 -0
  511. package/dist/infra/lib/kimi-api.js +5 -0
  512. package/dist/infra/lib/kimi-api.js.map +1 -0
  513. package/dist/infra/lib/kimi-constants.d.ts +27 -0
  514. package/dist/infra/lib/kimi-constants.d.ts.map +1 -0
  515. package/dist/infra/lib/kimi-constants.js +31 -0
  516. package/dist/infra/lib/kimi-constants.js.map +1 -0
  517. package/dist/infra/lib/kimi-storage.d.ts +12 -0
  518. package/dist/infra/lib/kimi-storage.d.ts.map +1 -0
  519. package/dist/infra/lib/kimi-storage.js +59 -0
  520. package/dist/infra/lib/kimi-storage.js.map +1 -0
  521. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  522. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  523. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  524. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  525. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  526. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  527. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  528. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  529. package/dist/infra/lib/priority-config.d.ts +39 -0
  530. package/dist/infra/lib/priority-config.d.ts.map +1 -0
  531. package/dist/infra/lib/priority-config.js +137 -0
  532. package/dist/infra/lib/priority-config.js.map +1 -0
  533. package/dist/infra/lib/sync/constants.d.ts +21 -0
  534. package/dist/infra/lib/sync/constants.d.ts.map +1 -0
  535. package/dist/infra/lib/sync/constants.js +78 -0
  536. package/dist/infra/lib/sync/constants.js.map +1 -0
  537. package/dist/infra/lib/sync/crypto.d.ts +23 -0
  538. package/dist/infra/lib/sync/crypto.d.ts.map +1 -0
  539. package/dist/infra/lib/sync/crypto.js +55 -0
  540. package/dist/infra/lib/sync/crypto.js.map +1 -0
  541. package/dist/infra/lib/sync/drive.d.ts +22 -0
  542. package/dist/infra/lib/sync/drive.d.ts.map +1 -0
  543. package/dist/infra/lib/sync/drive.js +99 -0
  544. package/dist/infra/lib/sync/drive.js.map +1 -0
  545. package/dist/infra/lib/sync/index.d.ts +9 -0
  546. package/dist/infra/lib/sync/index.d.ts.map +1 -0
  547. package/dist/infra/lib/sync/index.js +9 -0
  548. package/dist/infra/lib/sync/index.js.map +1 -0
  549. package/dist/infra/lib/sync/oauth.d.ts +12 -0
  550. package/dist/infra/lib/sync/oauth.d.ts.map +1 -0
  551. package/dist/infra/lib/sync/oauth.js +157 -0
  552. package/dist/infra/lib/sync/oauth.js.map +1 -0
  553. package/dist/infra/lib/sync/storage.d.ts +21 -0
  554. package/dist/infra/lib/sync/storage.d.ts.map +1 -0
  555. package/dist/infra/lib/sync/storage.js +32 -0
  556. package/dist/infra/lib/sync/storage.js.map +1 -0
  557. package/dist/infra/orchestrator/AgentManager.js +12 -12
  558. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  559. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  560. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  561. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  562. package/dist/infra/policy/Evidence.d.ts +30 -0
  563. package/dist/infra/policy/Evidence.d.ts.map +1 -0
  564. package/dist/infra/policy/Evidence.js +134 -0
  565. package/dist/infra/policy/Evidence.js.map +1 -0
  566. package/dist/infra/policy/PolicyEngine.d.ts +34 -0
  567. package/dist/infra/policy/PolicyEngine.d.ts.map +1 -0
  568. package/dist/infra/policy/PolicyEngine.js +219 -0
  569. package/dist/infra/policy/PolicyEngine.js.map +1 -0
  570. package/dist/infra/policy/PolicyStore.d.ts +36 -0
  571. package/dist/infra/policy/PolicyStore.d.ts.map +1 -0
  572. package/dist/infra/policy/PolicyStore.js +160 -0
  573. package/dist/infra/policy/PolicyStore.js.map +1 -0
  574. package/dist/infra/policy/RiskCalculator.d.ts +20 -0
  575. package/dist/infra/policy/RiskCalculator.d.ts.map +1 -0
  576. package/dist/infra/policy/RiskCalculator.js +64 -0
  577. package/dist/infra/policy/RiskCalculator.js.map +1 -0
  578. package/dist/infra/policy/default-policies.d.ts +13 -0
  579. package/dist/infra/policy/default-policies.d.ts.map +1 -0
  580. package/dist/infra/policy/default-policies.js +99 -0
  581. package/dist/infra/policy/default-policies.js.map +1 -0
  582. package/dist/infra/policy/index.d.ts +11 -0
  583. package/dist/infra/policy/index.d.ts.map +1 -0
  584. package/dist/infra/policy/index.js +10 -0
  585. package/dist/infra/policy/index.js.map +1 -0
  586. package/dist/infra/policy/policy.test.d.ts +5 -0
  587. package/dist/infra/policy/policy.test.d.ts.map +1 -0
  588. package/dist/infra/policy/policy.test.js +628 -0
  589. package/dist/infra/policy/policy.test.js.map +1 -0
  590. package/dist/infra/policy/types.d.ts +71 -0
  591. package/dist/infra/policy/types.d.ts.map +1 -0
  592. package/dist/infra/policy/types.js +18 -0
  593. package/dist/infra/policy/types.js.map +1 -0
  594. package/dist/interface/BaseInterface.d.ts +37 -0
  595. package/dist/interface/BaseInterface.d.ts.map +1 -0
  596. package/dist/interface/BaseInterface.js +105 -0
  597. package/dist/interface/BaseInterface.js.map +1 -0
  598. package/dist/interface/ClaudeCodeBridge.d.ts +38 -0
  599. package/dist/interface/ClaudeCodeBridge.d.ts.map +1 -0
  600. package/dist/interface/ClaudeCodeBridge.js +216 -0
  601. package/dist/interface/ClaudeCodeBridge.js.map +1 -0
  602. package/dist/interface/imessage/IMessageBot.d.ts +33 -0
  603. package/dist/interface/imessage/IMessageBot.d.ts.map +1 -0
  604. package/dist/interface/imessage/IMessageBot.js +222 -0
  605. package/dist/interface/imessage/IMessageBot.js.map +1 -0
  606. package/dist/interface/imessage/IMessageFormatter.d.ts +15 -0
  607. package/dist/interface/imessage/IMessageFormatter.d.ts.map +1 -0
  608. package/dist/interface/imessage/IMessageFormatter.js +81 -0
  609. package/dist/interface/imessage/IMessageFormatter.js.map +1 -0
  610. package/dist/interface/imessage/IMessageRpcClient.d.ts +39 -0
  611. package/dist/interface/imessage/IMessageRpcClient.d.ts.map +1 -0
  612. package/dist/interface/imessage/IMessageRpcClient.js +174 -0
  613. package/dist/interface/imessage/IMessageRpcClient.js.map +1 -0
  614. package/dist/interface/imessage/IMessageSender.d.ts +19 -0
  615. package/dist/interface/imessage/IMessageSender.d.ts.map +1 -0
  616. package/dist/interface/imessage/IMessageSender.js +136 -0
  617. package/dist/interface/imessage/IMessageSender.js.map +1 -0
  618. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts +5 -0
  619. package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts.map +1 -0
  620. package/dist/interface/imessage/__tests__/IMessageBot.test.js +60 -0
  621. package/dist/interface/imessage/__tests__/IMessageBot.test.js.map +1 -0
  622. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts +5 -0
  623. package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts.map +1 -0
  624. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js +110 -0
  625. package/dist/interface/imessage/__tests__/IMessageFormatter.test.js.map +1 -0
  626. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts +5 -0
  627. package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts.map +1 -0
  628. package/dist/interface/imessage/__tests__/IMessageSender.test.js +67 -0
  629. package/dist/interface/imessage/__tests__/IMessageSender.test.js.map +1 -0
  630. package/dist/interface/imessage/index.d.ts +8 -0
  631. package/dist/interface/imessage/index.d.ts.map +1 -0
  632. package/dist/interface/imessage/index.js +8 -0
  633. package/dist/interface/imessage/index.js.map +1 -0
  634. package/dist/interface/index.d.ts +26 -0
  635. package/dist/interface/index.d.ts.map +1 -0
  636. package/dist/interface/index.js +26 -0
  637. package/dist/interface/index.js.map +1 -0
  638. package/dist/interface/interface.test.d.ts +5 -0
  639. package/dist/interface/interface.test.d.ts.map +1 -0
  640. package/dist/interface/interface.test.js +442 -0
  641. package/dist/interface/interface.test.js.map +1 -0
  642. package/dist/interface/slack/SlackBot.d.ts +83 -0
  643. package/dist/interface/slack/SlackBot.d.ts.map +1 -0
  644. package/dist/interface/slack/SlackBot.js +563 -0
  645. package/dist/interface/slack/SlackBot.js.map +1 -0
  646. package/dist/interface/slack/SlackFormatter.d.ts +19 -0
  647. package/dist/interface/slack/SlackFormatter.d.ts.map +1 -0
  648. package/dist/interface/slack/SlackFormatter.js +76 -0
  649. package/dist/interface/slack/SlackFormatter.js.map +1 -0
  650. package/dist/interface/slack/__tests__/SlackBot.test.d.ts +5 -0
  651. package/dist/interface/slack/__tests__/SlackBot.test.d.ts.map +1 -0
  652. package/dist/interface/slack/__tests__/SlackBot.test.js +37 -0
  653. package/dist/interface/slack/__tests__/SlackBot.test.js.map +1 -0
  654. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts +5 -0
  655. package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts.map +1 -0
  656. package/dist/interface/slack/__tests__/SlackFormatter.test.js +93 -0
  657. package/dist/interface/slack/__tests__/SlackFormatter.test.js.map +1 -0
  658. package/dist/interface/slack/index.d.ts +7 -0
  659. package/dist/interface/slack/index.d.ts.map +1 -0
  660. package/dist/interface/slack/index.js +7 -0
  661. package/dist/interface/slack/index.js.map +1 -0
  662. package/dist/interface/telegram/TelegramBot.d.ts +60 -0
  663. package/dist/interface/telegram/TelegramBot.d.ts.map +1 -0
  664. package/dist/interface/telegram/TelegramBot.js +400 -0
  665. package/dist/interface/telegram/TelegramBot.js.map +1 -0
  666. package/dist/interface/telegram/TelegramFormatter.d.ts +19 -0
  667. package/dist/interface/telegram/TelegramFormatter.d.ts.map +1 -0
  668. package/dist/interface/telegram/TelegramFormatter.js +66 -0
  669. package/dist/interface/telegram/TelegramFormatter.js.map +1 -0
  670. package/dist/interface/types.d.ts +167 -0
  671. package/dist/interface/types.d.ts.map +1 -0
  672. package/dist/interface/types.js +6 -0
  673. package/dist/interface/types.js.map +1 -0
  674. package/dist/interface/utils/MessageCombiner.d.ts +14 -0
  675. package/dist/interface/utils/MessageCombiner.d.ts.map +1 -0
  676. package/dist/interface/utils/MessageCombiner.js +48 -0
  677. package/dist/interface/utils/MessageCombiner.js.map +1 -0
  678. package/dist/interface/vision/AdaptiveFrameSampler.d.ts +44 -0
  679. package/dist/interface/vision/AdaptiveFrameSampler.d.ts.map +1 -0
  680. package/dist/interface/vision/AdaptiveFrameSampler.js +109 -0
  681. package/dist/interface/vision/AdaptiveFrameSampler.js.map +1 -0
  682. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts +7 -0
  683. package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts.map +1 -0
  684. package/dist/interface/vision/AdaptiveFrameSampler.test.js +113 -0
  685. package/dist/interface/vision/AdaptiveFrameSampler.test.js.map +1 -0
  686. package/dist/interface/vision/GeminiLive.d.ts +37 -0
  687. package/dist/interface/vision/GeminiLive.d.ts.map +1 -0
  688. package/dist/interface/vision/GeminiLive.js +272 -0
  689. package/dist/interface/vision/GeminiLive.js.map +1 -0
  690. package/dist/interface/vision/GeminiLive.test.d.ts +6 -0
  691. package/dist/interface/vision/GeminiLive.test.d.ts.map +1 -0
  692. package/dist/interface/vision/GeminiLive.test.js +40 -0
  693. package/dist/interface/vision/GeminiLive.test.js.map +1 -0
  694. package/dist/interface/vision/GeminiLiveStream.d.ts +55 -0
  695. package/dist/interface/vision/GeminiLiveStream.d.ts.map +1 -0
  696. package/dist/interface/vision/GeminiLiveStream.js +213 -0
  697. package/dist/interface/vision/GeminiLiveStream.js.map +1 -0
  698. package/dist/interface/vision/GeminiVision.d.ts +25 -0
  699. package/dist/interface/vision/GeminiVision.d.ts.map +1 -0
  700. package/dist/interface/vision/GeminiVision.js +202 -0
  701. package/dist/interface/vision/GeminiVision.js.map +1 -0
  702. package/dist/interface/vision/ScreenCapture.d.ts +77 -0
  703. package/dist/interface/vision/ScreenCapture.d.ts.map +1 -0
  704. package/dist/interface/vision/ScreenCapture.js +314 -0
  705. package/dist/interface/vision/ScreenCapture.js.map +1 -0
  706. package/dist/interface/vision/ScreenCaptureEngine.d.ts +55 -0
  707. package/dist/interface/vision/ScreenCaptureEngine.d.ts.map +1 -0
  708. package/dist/interface/vision/ScreenCaptureEngine.js +223 -0
  709. package/dist/interface/vision/ScreenCaptureEngine.js.map +1 -0
  710. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts +8 -0
  711. package/dist/interface/vision/ScreenCaptureEngine.test.d.ts.map +1 -0
  712. package/dist/interface/vision/ScreenCaptureEngine.test.js +175 -0
  713. package/dist/interface/vision/ScreenCaptureEngine.test.js.map +1 -0
  714. package/dist/interface/vision/VisionInterface.d.ts +26 -0
  715. package/dist/interface/vision/VisionInterface.d.ts.map +1 -0
  716. package/dist/interface/vision/VisionInterface.js +105 -0
  717. package/dist/interface/vision/VisionInterface.js.map +1 -0
  718. package/dist/interface/vision/VisionSession.d.ts +66 -0
  719. package/dist/interface/vision/VisionSession.d.ts.map +1 -0
  720. package/dist/interface/vision/VisionSession.js +274 -0
  721. package/dist/interface/vision/VisionSession.js.map +1 -0
  722. package/dist/interface/vision/VisionSession.test.d.ts +7 -0
  723. package/dist/interface/vision/VisionSession.test.d.ts.map +1 -0
  724. package/dist/interface/vision/VisionSession.test.js +218 -0
  725. package/dist/interface/vision/VisionSession.test.js.map +1 -0
  726. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts +5 -0
  727. package/dist/interface/vision/__tests__/GeminiVision.test.d.ts.map +1 -0
  728. package/dist/interface/vision/__tests__/GeminiVision.test.js +92 -0
  729. package/dist/interface/vision/__tests__/GeminiVision.test.js.map +1 -0
  730. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts +5 -0
  731. package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts.map +1 -0
  732. package/dist/interface/vision/__tests__/ScreenCapture.test.js +24 -0
  733. package/dist/interface/vision/__tests__/ScreenCapture.test.js.map +1 -0
  734. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts +5 -0
  735. package/dist/interface/vision/__tests__/VisionInterface.test.d.ts.map +1 -0
  736. package/dist/interface/vision/__tests__/VisionInterface.test.js +59 -0
  737. package/dist/interface/vision/__tests__/VisionInterface.test.js.map +1 -0
  738. package/dist/interface/vision/index.d.ts +20 -0
  739. package/dist/interface/vision/index.d.ts.map +1 -0
  740. package/dist/interface/vision/index.js +16 -0
  741. package/dist/interface/vision/index.js.map +1 -0
  742. package/dist/interface/vision/types.d.ts +79 -0
  743. package/dist/interface/vision/types.d.ts.map +1 -0
  744. package/dist/interface/vision/types.js +22 -0
  745. package/dist/interface/vision/types.js.map +1 -0
  746. package/dist/interface/voice/STTProvider.d.ts +48 -0
  747. package/dist/interface/voice/STTProvider.d.ts.map +1 -0
  748. package/dist/interface/voice/STTProvider.js +254 -0
  749. package/dist/interface/voice/STTProvider.js.map +1 -0
  750. package/dist/interface/voice/STTProvider.test.d.ts +8 -0
  751. package/dist/interface/voice/STTProvider.test.d.ts.map +1 -0
  752. package/dist/interface/voice/STTProvider.test.js +144 -0
  753. package/dist/interface/voice/STTProvider.test.js.map +1 -0
  754. package/dist/interface/voice/TTSProvider.d.ts +44 -0
  755. package/dist/interface/voice/TTSProvider.d.ts.map +1 -0
  756. package/dist/interface/voice/TTSProvider.js +252 -0
  757. package/dist/interface/voice/TTSProvider.js.map +1 -0
  758. package/dist/interface/voice/TTSProvider.test.d.ts +8 -0
  759. package/dist/interface/voice/TTSProvider.test.d.ts.map +1 -0
  760. package/dist/interface/voice/TTSProvider.test.js +143 -0
  761. package/dist/interface/voice/TTSProvider.test.js.map +1 -0
  762. package/dist/interface/voice/VADProcessor.d.ts +34 -0
  763. package/dist/interface/voice/VADProcessor.d.ts.map +1 -0
  764. package/dist/interface/voice/VADProcessor.js +116 -0
  765. package/dist/interface/voice/VADProcessor.js.map +1 -0
  766. package/dist/interface/voice/VADProcessor.test.d.ts +8 -0
  767. package/dist/interface/voice/VADProcessor.test.d.ts.map +1 -0
  768. package/dist/interface/voice/VADProcessor.test.js +159 -0
  769. package/dist/interface/voice/VADProcessor.test.js.map +1 -0
  770. package/dist/interface/voice/VoiceSession.d.ts +77 -0
  771. package/dist/interface/voice/VoiceSession.d.ts.map +1 -0
  772. package/dist/interface/voice/VoiceSession.js +249 -0
  773. package/dist/interface/voice/VoiceSession.js.map +1 -0
  774. package/dist/interface/voice/VoiceSession.test.d.ts +8 -0
  775. package/dist/interface/voice/VoiceSession.test.d.ts.map +1 -0
  776. package/dist/interface/voice/VoiceSession.test.js +260 -0
  777. package/dist/interface/voice/VoiceSession.test.js.map +1 -0
  778. package/dist/interface/voice/VoiceWebSocket.d.ts +52 -0
  779. package/dist/interface/voice/VoiceWebSocket.d.ts.map +1 -0
  780. package/dist/interface/voice/VoiceWebSocket.js +165 -0
  781. package/dist/interface/voice/VoiceWebSocket.js.map +1 -0
  782. package/dist/interface/voice/types.d.ts +144 -0
  783. package/dist/interface/voice/types.d.ts.map +1 -0
  784. package/dist/interface/voice/types.js +23 -0
  785. package/dist/interface/voice/types.js.map +1 -0
  786. package/dist/interface/voice/types.test.d.ts +8 -0
  787. package/dist/interface/voice/types.test.d.ts.map +1 -0
  788. package/dist/interface/voice/types.test.js +90 -0
  789. package/dist/interface/voice/types.test.js.map +1 -0
  790. package/dist/interface/web/WebServer.d.ts +80 -0
  791. package/dist/interface/web/WebServer.d.ts.map +1 -0
  792. package/dist/interface/web/WebServer.js +999 -0
  793. package/dist/interface/web/WebServer.js.map +1 -0
  794. package/dist/interface/web/__tests__/WebServer.test.d.ts +5 -0
  795. package/dist/interface/web/__tests__/WebServer.test.d.ts.map +1 -0
  796. package/dist/interface/web/__tests__/WebServer.test.js +345 -0
  797. package/dist/interface/web/__tests__/WebServer.test.js.map +1 -0
  798. package/dist/interface/web/types.d.ts +109 -0
  799. package/dist/interface/web/types.d.ts.map +1 -0
  800. package/dist/interface/web/types.js +67 -0
  801. package/dist/interface/web/types.js.map +1 -0
  802. package/dist/interface/webhook/WebhookHandler.d.ts +45 -0
  803. package/dist/interface/webhook/WebhookHandler.d.ts.map +1 -0
  804. package/dist/interface/webhook/WebhookHandler.js +273 -0
  805. package/dist/interface/webhook/WebhookHandler.js.map +1 -0
  806. package/dist/job/ActionPlanGenerator.d.ts +21 -0
  807. package/dist/job/ActionPlanGenerator.d.ts.map +1 -0
  808. package/dist/job/ActionPlanGenerator.js +153 -0
  809. package/dist/job/ActionPlanGenerator.js.map +1 -0
  810. package/dist/job/AgentJobManager.d.ts +46 -0
  811. package/dist/job/AgentJobManager.d.ts.map +1 -0
  812. package/dist/job/AgentJobManager.js +213 -0
  813. package/dist/job/AgentJobManager.js.map +1 -0
  814. package/dist/job/AgentJobManager.test.d.ts +6 -0
  815. package/dist/job/AgentJobManager.test.d.ts.map +1 -0
  816. package/dist/job/AgentJobManager.test.js +197 -0
  817. package/dist/job/AgentJobManager.test.js.map +1 -0
  818. package/dist/job/IntentParser.d.ts +21 -0
  819. package/dist/job/IntentParser.d.ts.map +1 -0
  820. package/dist/job/IntentParser.js +142 -0
  821. package/dist/job/IntentParser.js.map +1 -0
  822. package/dist/job/JobManager.d.ts +54 -0
  823. package/dist/job/JobManager.d.ts.map +1 -0
  824. package/dist/job/JobManager.js +220 -0
  825. package/dist/job/JobManager.js.map +1 -0
  826. package/dist/job/JobQueue.d.ts +41 -0
  827. package/dist/job/JobQueue.d.ts.map +1 -0
  828. package/dist/job/JobQueue.js +153 -0
  829. package/dist/job/JobQueue.js.map +1 -0
  830. package/dist/job/JobStore.d.ts +36 -0
  831. package/dist/job/JobStore.d.ts.map +1 -0
  832. package/dist/job/JobStore.js +260 -0
  833. package/dist/job/JobStore.js.map +1 -0
  834. package/dist/job/ProgressReporter.d.ts +32 -0
  835. package/dist/job/ProgressReporter.d.ts.map +1 -0
  836. package/dist/job/ProgressReporter.js +82 -0
  837. package/dist/job/ProgressReporter.js.map +1 -0
  838. package/dist/job/agent-job-types.d.ts +32 -0
  839. package/dist/job/agent-job-types.d.ts.map +1 -0
  840. package/dist/job/agent-job-types.js +6 -0
  841. package/dist/job/agent-job-types.js.map +1 -0
  842. package/dist/job/index.d.ts +15 -0
  843. package/dist/job/index.d.ts.map +1 -0
  844. package/dist/job/index.js +15 -0
  845. package/dist/job/index.js.map +1 -0
  846. package/dist/job/job.test.d.ts +5 -0
  847. package/dist/job/job.test.d.ts.map +1 -0
  848. package/dist/job/job.test.js +303 -0
  849. package/dist/job/job.test.js.map +1 -0
  850. package/dist/job/types.d.ts +82 -0
  851. package/dist/job/types.d.ts.map +1 -0
  852. package/dist/job/types.js +40 -0
  853. package/dist/job/types.js.map +1 -0
  854. package/dist/orchestrator/AgentAnnouncer.d.ts +64 -0
  855. package/dist/orchestrator/AgentAnnouncer.d.ts.map +1 -0
  856. package/dist/orchestrator/AgentAnnouncer.js +127 -0
  857. package/dist/orchestrator/AgentAnnouncer.js.map +1 -0
  858. package/dist/orchestrator/AgentAnnouncer.test.d.ts +5 -0
  859. package/dist/orchestrator/AgentAnnouncer.test.d.ts.map +1 -0
  860. package/dist/orchestrator/AgentAnnouncer.test.js +119 -0
  861. package/dist/orchestrator/AgentAnnouncer.test.js.map +1 -0
  862. package/dist/orchestrator/AgentExecutor.d.ts +23 -0
  863. package/dist/orchestrator/AgentExecutor.d.ts.map +1 -0
  864. package/dist/orchestrator/AgentExecutor.js +231 -0
  865. package/dist/orchestrator/AgentExecutor.js.map +1 -0
  866. package/dist/orchestrator/AgentManager.d.ts +73 -0
  867. package/dist/orchestrator/AgentManager.d.ts.map +1 -0
  868. package/dist/orchestrator/AgentManager.js +184 -0
  869. package/dist/orchestrator/AgentManager.js.map +1 -0
  870. package/dist/orchestrator/AgentRegistry.d.ts +76 -0
  871. package/dist/orchestrator/AgentRegistry.d.ts.map +1 -0
  872. package/dist/orchestrator/AgentRegistry.js +217 -0
  873. package/dist/orchestrator/AgentRegistry.js.map +1 -0
  874. package/dist/orchestrator/AgentRegistry.test.d.ts +5 -0
  875. package/dist/orchestrator/AgentRegistry.test.d.ts.map +1 -0
  876. package/dist/orchestrator/AgentRegistry.test.js +122 -0
  877. package/dist/orchestrator/AgentRegistry.test.js.map +1 -0
  878. package/dist/orchestrator/BackgroundManager.d.ts +114 -0
  879. package/dist/orchestrator/BackgroundManager.d.ts.map +1 -0
  880. package/dist/orchestrator/BackgroundManager.js +517 -0
  881. package/dist/orchestrator/BackgroundManager.js.map +1 -0
  882. package/dist/orchestrator/BackgroundManager.test.d.ts +6 -0
  883. package/dist/orchestrator/BackgroundManager.test.d.ts.map +1 -0
  884. package/dist/orchestrator/BackgroundManager.test.js +162 -0
  885. package/dist/orchestrator/BackgroundManager.test.js.map +1 -0
  886. package/dist/orchestrator/CheckpointManager.d.ts +54 -0
  887. package/dist/orchestrator/CheckpointManager.d.ts.map +1 -0
  888. package/dist/orchestrator/CheckpointManager.js +121 -0
  889. package/dist/orchestrator/CheckpointManager.js.map +1 -0
  890. package/dist/orchestrator/LLMCluster.d.ts +91 -0
  891. package/dist/orchestrator/LLMCluster.d.ts.map +1 -0
  892. package/dist/orchestrator/LLMCluster.js +124 -0
  893. package/dist/orchestrator/LLMCluster.js.map +1 -0
  894. package/dist/orchestrator/MultiLlmResearch.d.ts +27 -0
  895. package/dist/orchestrator/MultiLlmResearch.d.ts.map +1 -0
  896. package/dist/orchestrator/MultiLlmResearch.js +145 -0
  897. package/dist/orchestrator/MultiLlmResearch.js.map +1 -0
  898. package/dist/orchestrator/PhasePipeline.d.ts +123 -0
  899. package/dist/orchestrator/PhasePipeline.d.ts.map +1 -0
  900. package/dist/orchestrator/PhasePipeline.js +382 -0
  901. package/dist/orchestrator/PhasePipeline.js.map +1 -0
  902. package/dist/orchestrator/PhaseResultStore.d.ts +39 -0
  903. package/dist/orchestrator/PhaseResultStore.d.ts.map +1 -0
  904. package/dist/orchestrator/PhaseResultStore.js +151 -0
  905. package/dist/orchestrator/PhaseResultStore.js.map +1 -0
  906. package/dist/orchestrator/SessionStore.d.ts +41 -0
  907. package/dist/orchestrator/SessionStore.d.ts.map +1 -0
  908. package/dist/orchestrator/SessionStore.js +117 -0
  909. package/dist/orchestrator/SessionStore.js.map +1 -0
  910. package/dist/orchestrator/SmartRouter.d.ts +77 -0
  911. package/dist/orchestrator/SmartRouter.d.ts.map +1 -0
  912. package/dist/orchestrator/SmartRouter.js +305 -0
  913. package/dist/orchestrator/SmartRouter.js.map +1 -0
  914. package/dist/orchestrator/SwarmOrchestrator.d.ts +144 -0
  915. package/dist/orchestrator/SwarmOrchestrator.d.ts.map +1 -0
  916. package/dist/orchestrator/SwarmOrchestrator.js +361 -0
  917. package/dist/orchestrator/SwarmOrchestrator.js.map +1 -0
  918. package/dist/orchestrator/SwarmOrchestrator.test.d.ts +5 -0
  919. package/dist/orchestrator/SwarmOrchestrator.test.d.ts.map +1 -0
  920. package/dist/orchestrator/SwarmOrchestrator.test.js +95 -0
  921. package/dist/orchestrator/SwarmOrchestrator.test.js.map +1 -0
  922. package/dist/orchestrator/agentDiscovery.d.ts +18 -0
  923. package/dist/orchestrator/agentDiscovery.d.ts.map +1 -0
  924. package/dist/orchestrator/agentDiscovery.js +175 -0
  925. package/dist/orchestrator/agentDiscovery.js.map +1 -0
  926. package/dist/orchestrator/backgroundAgent.d.ts +15 -0
  927. package/dist/orchestrator/backgroundAgent.d.ts.map +1 -0
  928. package/dist/orchestrator/backgroundAgent.js +16 -0
  929. package/dist/orchestrator/backgroundAgent.js.map +1 -0
  930. package/dist/orchestrator/index.d.ts +213 -0
  931. package/dist/orchestrator/index.d.ts.map +1 -0
  932. package/dist/orchestrator/index.js +391 -0
  933. package/dist/orchestrator/index.js.map +1 -0
  934. package/dist/orchestrator/orchestrator.d.ts +63 -0
  935. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  936. package/dist/orchestrator/orchestrator.js +217 -0
  937. package/dist/orchestrator/orchestrator.js.map +1 -0
  938. package/dist/orchestrator/parallelResearch.d.ts +30 -0
  939. package/dist/orchestrator/parallelResearch.d.ts.map +1 -0
  940. package/dist/orchestrator/parallelResearch.js +247 -0
  941. package/dist/orchestrator/parallelResearch.js.map +1 -0
  942. package/dist/orchestrator/types.d.ts +185 -0
  943. package/dist/orchestrator/types.d.ts.map +1 -0
  944. package/dist/orchestrator/types.js +21 -0
  945. package/dist/orchestrator/types.js.map +1 -0
  946. package/dist/pc/CommandDispatcher.d.ts +31 -0
  947. package/dist/pc/CommandDispatcher.d.ts.map +1 -0
  948. package/dist/pc/CommandDispatcher.js +132 -0
  949. package/dist/pc/CommandDispatcher.js.map +1 -0
  950. package/dist/pc/CommandDispatcher.test.d.ts +2 -0
  951. package/dist/pc/CommandDispatcher.test.d.ts.map +1 -0
  952. package/dist/pc/CommandDispatcher.test.js +360 -0
  953. package/dist/pc/CommandDispatcher.test.js.map +1 -0
  954. package/dist/pc/ModuleRegistry.d.ts +40 -0
  955. package/dist/pc/ModuleRegistry.d.ts.map +1 -0
  956. package/dist/pc/ModuleRegistry.js +163 -0
  957. package/dist/pc/ModuleRegistry.js.map +1 -0
  958. package/dist/pc/ResultFormatter.d.ts +27 -0
  959. package/dist/pc/ResultFormatter.d.ts.map +1 -0
  960. package/dist/pc/ResultFormatter.js +128 -0
  961. package/dist/pc/ResultFormatter.js.map +1 -0
  962. package/dist/pc/ResultFormatter.test.d.ts +2 -0
  963. package/dist/pc/ResultFormatter.test.d.ts.map +1 -0
  964. package/dist/pc/ResultFormatter.test.js +115 -0
  965. package/dist/pc/ResultFormatter.test.js.map +1 -0
  966. package/dist/pc/SecurityGate.d.ts +53 -0
  967. package/dist/pc/SecurityGate.d.ts.map +1 -0
  968. package/dist/pc/SecurityGate.js +142 -0
  969. package/dist/pc/SecurityGate.js.map +1 -0
  970. package/dist/pc/SecurityGate.test.d.ts +2 -0
  971. package/dist/pc/SecurityGate.test.d.ts.map +1 -0
  972. package/dist/pc/SecurityGate.test.js +160 -0
  973. package/dist/pc/SecurityGate.test.js.map +1 -0
  974. package/dist/pc/SessionContext.d.ts +31 -0
  975. package/dist/pc/SessionContext.d.ts.map +1 -0
  976. package/dist/pc/SessionContext.js +108 -0
  977. package/dist/pc/SessionContext.js.map +1 -0
  978. package/dist/pc/browser/BrowserActions.d.ts +22 -0
  979. package/dist/pc/browser/BrowserActions.d.ts.map +1 -0
  980. package/dist/pc/browser/BrowserActions.js +223 -0
  981. package/dist/pc/browser/BrowserActions.js.map +1 -0
  982. package/dist/pc/browser/BrowserActions.test.d.ts +7 -0
  983. package/dist/pc/browser/BrowserActions.test.d.ts.map +1 -0
  984. package/dist/pc/browser/BrowserActions.test.js +150 -0
  985. package/dist/pc/browser/BrowserActions.test.js.map +1 -0
  986. package/dist/pc/browser/BrowserService.d.ts +66 -0
  987. package/dist/pc/browser/BrowserService.d.ts.map +1 -0
  988. package/dist/pc/browser/BrowserService.js +319 -0
  989. package/dist/pc/browser/BrowserService.js.map +1 -0
  990. package/dist/pc/browser/BrowserService.test.d.ts +7 -0
  991. package/dist/pc/browser/BrowserService.test.d.ts.map +1 -0
  992. package/dist/pc/browser/BrowserService.test.js +160 -0
  993. package/dist/pc/browser/BrowserService.test.js.map +1 -0
  994. package/dist/pc/browser/RefLocator.d.ts +39 -0
  995. package/dist/pc/browser/RefLocator.d.ts.map +1 -0
  996. package/dist/pc/browser/RefLocator.js +88 -0
  997. package/dist/pc/browser/RefLocator.js.map +1 -0
  998. package/dist/pc/browser/RoleSnapshotManager.d.ts +22 -0
  999. package/dist/pc/browser/RoleSnapshotManager.d.ts.map +1 -0
  1000. package/dist/pc/browser/RoleSnapshotManager.js +143 -0
  1001. package/dist/pc/browser/RoleSnapshotManager.js.map +1 -0
  1002. package/dist/pc/browser/RoleSnapshotManager.test.d.ts +7 -0
  1003. package/dist/pc/browser/RoleSnapshotManager.test.d.ts.map +1 -0
  1004. package/dist/pc/browser/RoleSnapshotManager.test.js +152 -0
  1005. package/dist/pc/browser/RoleSnapshotManager.test.js.map +1 -0
  1006. package/dist/pc/browser/Security.test.d.ts +7 -0
  1007. package/dist/pc/browser/Security.test.d.ts.map +1 -0
  1008. package/dist/pc/browser/Security.test.js +171 -0
  1009. package/dist/pc/browser/Security.test.js.map +1 -0
  1010. package/dist/pc/browser/types.d.ts +142 -0
  1011. package/dist/pc/browser/types.d.ts.map +1 -0
  1012. package/dist/pc/browser/types.js +60 -0
  1013. package/dist/pc/browser/types.js.map +1 -0
  1014. package/dist/pc/google/OAuthFlow.d.ts +58 -0
  1015. package/dist/pc/google/OAuthFlow.d.ts.map +1 -0
  1016. package/dist/pc/google/OAuthFlow.js +322 -0
  1017. package/dist/pc/google/OAuthFlow.js.map +1 -0
  1018. package/dist/pc/google/OAuthFlow.test.d.ts +7 -0
  1019. package/dist/pc/google/OAuthFlow.test.d.ts.map +1 -0
  1020. package/dist/pc/google/OAuthFlow.test.js +178 -0
  1021. package/dist/pc/google/OAuthFlow.test.js.map +1 -0
  1022. package/dist/pc/google/ScopeManager.d.ts +28 -0
  1023. package/dist/pc/google/ScopeManager.d.ts.map +1 -0
  1024. package/dist/pc/google/ScopeManager.js +75 -0
  1025. package/dist/pc/google/ScopeManager.js.map +1 -0
  1026. package/dist/pc/google/TokenStore.d.ts +49 -0
  1027. package/dist/pc/google/TokenStore.d.ts.map +1 -0
  1028. package/dist/pc/google/TokenStore.js +324 -0
  1029. package/dist/pc/google/TokenStore.js.map +1 -0
  1030. package/dist/pc/google/TokenStore.test.d.ts +7 -0
  1031. package/dist/pc/google/TokenStore.test.d.ts.map +1 -0
  1032. package/dist/pc/google/TokenStore.test.js +134 -0
  1033. package/dist/pc/google/TokenStore.test.js.map +1 -0
  1034. package/dist/pc/google/services/CalendarService.d.ts +45 -0
  1035. package/dist/pc/google/services/CalendarService.d.ts.map +1 -0
  1036. package/dist/pc/google/services/CalendarService.js +148 -0
  1037. package/dist/pc/google/services/CalendarService.js.map +1 -0
  1038. package/dist/pc/google/services/DriveService.d.ts +33 -0
  1039. package/dist/pc/google/services/DriveService.d.ts.map +1 -0
  1040. package/dist/pc/google/services/DriveService.js +199 -0
  1041. package/dist/pc/google/services/DriveService.js.map +1 -0
  1042. package/dist/pc/google/services/GmailService.d.ts +50 -0
  1043. package/dist/pc/google/services/GmailService.d.ts.map +1 -0
  1044. package/dist/pc/google/services/GmailService.js +177 -0
  1045. package/dist/pc/google/services/GmailService.js.map +1 -0
  1046. package/dist/pc/google/services/Services.test.d.ts +8 -0
  1047. package/dist/pc/google/services/Services.test.d.ts.map +1 -0
  1048. package/dist/pc/google/services/Services.test.js +148 -0
  1049. package/dist/pc/google/services/Services.test.js.map +1 -0
  1050. package/dist/pc/google/services/SheetsService.d.ts +27 -0
  1051. package/dist/pc/google/services/SheetsService.d.ts.map +1 -0
  1052. package/dist/pc/google/services/SheetsService.js +107 -0
  1053. package/dist/pc/google/services/SheetsService.js.map +1 -0
  1054. package/dist/pc/google/types.d.ts +97 -0
  1055. package/dist/pc/google/types.d.ts.map +1 -0
  1056. package/dist/pc/google/types.js +39 -0
  1057. package/dist/pc/google/types.js.map +1 -0
  1058. package/dist/pc/google/types.test.d.ts +8 -0
  1059. package/dist/pc/google/types.test.d.ts.map +1 -0
  1060. package/dist/pc/google/types.test.js +131 -0
  1061. package/dist/pc/google/types.test.js.map +1 -0
  1062. package/dist/pc/sandbox/ContainerConfig.d.ts +24 -0
  1063. package/dist/pc/sandbox/ContainerConfig.d.ts.map +1 -0
  1064. package/dist/pc/sandbox/ContainerConfig.js +103 -0
  1065. package/dist/pc/sandbox/ContainerConfig.js.map +1 -0
  1066. package/dist/pc/sandbox/ContainerManager.d.ts +31 -0
  1067. package/dist/pc/sandbox/ContainerManager.d.ts.map +1 -0
  1068. package/dist/pc/sandbox/ContainerManager.js +245 -0
  1069. package/dist/pc/sandbox/ContainerManager.js.map +1 -0
  1070. package/dist/pc/sandbox/ContainerManager.test.d.ts +2 -0
  1071. package/dist/pc/sandbox/ContainerManager.test.d.ts.map +1 -0
  1072. package/dist/pc/sandbox/ContainerManager.test.js +249 -0
  1073. package/dist/pc/sandbox/ContainerManager.test.js.map +1 -0
  1074. package/dist/pc/sandbox/ExecAllowlist.d.ts +35 -0
  1075. package/dist/pc/sandbox/ExecAllowlist.d.ts.map +1 -0
  1076. package/dist/pc/sandbox/ExecAllowlist.js +148 -0
  1077. package/dist/pc/sandbox/ExecAllowlist.js.map +1 -0
  1078. package/dist/pc/sandbox/ExecAllowlist.test.d.ts +2 -0
  1079. package/dist/pc/sandbox/ExecAllowlist.test.d.ts.map +1 -0
  1080. package/dist/pc/sandbox/ExecAllowlist.test.js +210 -0
  1081. package/dist/pc/sandbox/ExecAllowlist.test.js.map +1 -0
  1082. package/dist/pc/sandbox/SandboxBrowser.d.ts +29 -0
  1083. package/dist/pc/sandbox/SandboxBrowser.d.ts.map +1 -0
  1084. package/dist/pc/sandbox/SandboxBrowser.js +72 -0
  1085. package/dist/pc/sandbox/SandboxBrowser.js.map +1 -0
  1086. package/dist/pc/sandbox/ToolPolicy.d.ts +24 -0
  1087. package/dist/pc/sandbox/ToolPolicy.d.ts.map +1 -0
  1088. package/dist/pc/sandbox/ToolPolicy.js +127 -0
  1089. package/dist/pc/sandbox/ToolPolicy.js.map +1 -0
  1090. package/dist/pc/sandbox/ToolPolicy.test.d.ts +2 -0
  1091. package/dist/pc/sandbox/ToolPolicy.test.d.ts.map +1 -0
  1092. package/dist/pc/sandbox/ToolPolicy.test.js +189 -0
  1093. package/dist/pc/sandbox/ToolPolicy.test.js.map +1 -0
  1094. package/dist/pc/sandbox/types.d.ts +109 -0
  1095. package/dist/pc/sandbox/types.d.ts.map +1 -0
  1096. package/dist/pc/sandbox/types.js +26 -0
  1097. package/dist/pc/sandbox/types.js.map +1 -0
  1098. package/dist/pc/types.d.ts +84 -0
  1099. package/dist/pc/types.d.ts.map +1 -0
  1100. package/dist/pc/types.js +7 -0
  1101. package/dist/pc/types.js.map +1 -0
  1102. package/dist/policy/Evidence.d.ts +30 -0
  1103. package/dist/policy/Evidence.d.ts.map +1 -0
  1104. package/dist/policy/Evidence.js +134 -0
  1105. package/dist/policy/Evidence.js.map +1 -0
  1106. package/dist/policy/PolicyEngine.d.ts +34 -0
  1107. package/dist/policy/PolicyEngine.d.ts.map +1 -0
  1108. package/dist/policy/PolicyEngine.js +219 -0
  1109. package/dist/policy/PolicyEngine.js.map +1 -0
  1110. package/dist/policy/PolicyStore.d.ts +36 -0
  1111. package/dist/policy/PolicyStore.d.ts.map +1 -0
  1112. package/dist/policy/PolicyStore.js +160 -0
  1113. package/dist/policy/PolicyStore.js.map +1 -0
  1114. package/dist/policy/RiskCalculator.d.ts +20 -0
  1115. package/dist/policy/RiskCalculator.d.ts.map +1 -0
  1116. package/dist/policy/RiskCalculator.js +64 -0
  1117. package/dist/policy/RiskCalculator.js.map +1 -0
  1118. package/dist/policy/default-policies.d.ts +13 -0
  1119. package/dist/policy/default-policies.d.ts.map +1 -0
  1120. package/dist/policy/default-policies.js +99 -0
  1121. package/dist/policy/default-policies.js.map +1 -0
  1122. package/dist/policy/index.d.ts +11 -0
  1123. package/dist/policy/index.d.ts.map +1 -0
  1124. package/dist/policy/index.js +10 -0
  1125. package/dist/policy/index.js.map +1 -0
  1126. package/dist/policy/policy.test.d.ts +5 -0
  1127. package/dist/policy/policy.test.d.ts.map +1 -0
  1128. package/dist/policy/policy.test.js +628 -0
  1129. package/dist/policy/policy.test.js.map +1 -0
  1130. package/dist/policy/types.d.ts +71 -0
  1131. package/dist/policy/types.d.ts.map +1 -0
  1132. package/dist/policy/types.js +18 -0
  1133. package/dist/policy/types.js.map +1 -0
  1134. package/dist/router/ModelARouter.d.ts +79 -0
  1135. package/dist/router/ModelARouter.d.ts.map +1 -0
  1136. package/dist/router/ModelARouter.js +325 -0
  1137. package/dist/router/ModelARouter.js.map +1 -0
  1138. package/dist/router/ModelARouter.test.d.ts +6 -0
  1139. package/dist/router/ModelARouter.test.d.ts.map +1 -0
  1140. package/dist/router/ModelARouter.test.js +100 -0
  1141. package/dist/router/ModelARouter.test.js.map +1 -0
  1142. package/dist/router/MultiChannelRouter.d.ts +54 -0
  1143. package/dist/router/MultiChannelRouter.d.ts.map +1 -0
  1144. package/dist/router/MultiChannelRouter.js +138 -0
  1145. package/dist/router/MultiChannelRouter.js.map +1 -0
  1146. package/dist/router/RouteRegistry.d.ts +23 -0
  1147. package/dist/router/RouteRegistry.d.ts.map +1 -0
  1148. package/dist/router/RouteRegistry.js +42 -0
  1149. package/dist/router/RouteRegistry.js.map +1 -0
  1150. package/dist/router/browser/BrowserAgent.d.ts +30 -0
  1151. package/dist/router/browser/BrowserAgent.d.ts.map +1 -0
  1152. package/dist/router/browser/BrowserAgent.js +232 -0
  1153. package/dist/router/browser/BrowserAgent.js.map +1 -0
  1154. package/dist/router/browser/BrowserManager.d.ts +36 -0
  1155. package/dist/router/browser/BrowserManager.d.ts.map +1 -0
  1156. package/dist/router/browser/BrowserManager.js +106 -0
  1157. package/dist/router/browser/BrowserManager.js.map +1 -0
  1158. package/dist/router/browser/BrowserPool.d.ts +37 -0
  1159. package/dist/router/browser/BrowserPool.d.ts.map +1 -0
  1160. package/dist/router/browser/BrowserPool.js +114 -0
  1161. package/dist/router/browser/BrowserPool.js.map +1 -0
  1162. package/dist/router/handlers/GitOpsHandler.d.ts +24 -0
  1163. package/dist/router/handlers/GitOpsHandler.d.ts.map +1 -0
  1164. package/dist/router/handlers/GitOpsHandler.js +66 -0
  1165. package/dist/router/handlers/GitOpsHandler.js.map +1 -0
  1166. package/dist/router/index.d.ts +22 -0
  1167. package/dist/router/index.d.ts.map +1 -0
  1168. package/dist/router/index.js +29 -0
  1169. package/dist/router/index.js.map +1 -0
  1170. package/dist/router/index.test.d.ts +2 -0
  1171. package/dist/router/index.test.d.ts.map +1 -0
  1172. package/dist/router/index.test.js +78 -0
  1173. package/dist/router/index.test.js.map +1 -0
  1174. package/dist/router/notifications/NotificationManager.d.ts +37 -0
  1175. package/dist/router/notifications/NotificationManager.d.ts.map +1 -0
  1176. package/dist/router/notifications/NotificationManager.js +118 -0
  1177. package/dist/router/notifications/NotificationManager.js.map +1 -0
  1178. package/dist/router/planner/TaskExecutor.d.ts +48 -0
  1179. package/dist/router/planner/TaskExecutor.d.ts.map +1 -0
  1180. package/dist/router/planner/TaskExecutor.js +160 -0
  1181. package/dist/router/planner/TaskExecutor.js.map +1 -0
  1182. package/dist/router/planner/TaskExecutor.test.d.ts +6 -0
  1183. package/dist/router/planner/TaskExecutor.test.d.ts.map +1 -0
  1184. package/dist/router/planner/TaskExecutor.test.js +121 -0
  1185. package/dist/router/planner/TaskExecutor.test.js.map +1 -0
  1186. package/dist/router/planner/TaskPlanner.d.ts +37 -0
  1187. package/dist/router/planner/TaskPlanner.d.ts.map +1 -0
  1188. package/dist/router/planner/TaskPlanner.js +176 -0
  1189. package/dist/router/planner/TaskPlanner.js.map +1 -0
  1190. package/dist/router/planner/TaskPlanner.test.d.ts +6 -0
  1191. package/dist/router/planner/TaskPlanner.test.d.ts.map +1 -0
  1192. package/dist/router/planner/TaskPlanner.test.js +119 -0
  1193. package/dist/router/planner/TaskPlanner.test.js.map +1 -0
  1194. package/dist/router/qa/TelegramQABridge.d.ts +37 -0
  1195. package/dist/router/qa/TelegramQABridge.d.ts.map +1 -0
  1196. package/dist/router/qa/TelegramQABridge.js +147 -0
  1197. package/dist/router/qa/TelegramQABridge.js.map +1 -0
  1198. package/dist/router/qa/TelegramQABridge.test.d.ts +6 -0
  1199. package/dist/router/qa/TelegramQABridge.test.d.ts.map +1 -0
  1200. package/dist/router/qa/TelegramQABridge.test.js +143 -0
  1201. package/dist/router/qa/TelegramQABridge.test.js.map +1 -0
  1202. package/dist/router/resolvers/RepoResolver.d.ts +29 -0
  1203. package/dist/router/resolvers/RepoResolver.d.ts.map +1 -0
  1204. package/dist/router/resolvers/RepoResolver.js +105 -0
  1205. package/dist/router/resolvers/RepoResolver.js.map +1 -0
  1206. package/dist/router/resolvers/RepoResolver.test.d.ts +6 -0
  1207. package/dist/router/resolvers/RepoResolver.test.d.ts.map +1 -0
  1208. package/dist/router/resolvers/RepoResolver.test.js +92 -0
  1209. package/dist/router/resolvers/RepoResolver.test.js.map +1 -0
  1210. package/dist/router/routes/BaseRoute.d.ts +22 -0
  1211. package/dist/router/routes/BaseRoute.d.ts.map +1 -0
  1212. package/dist/router/routes/BaseRoute.js +55 -0
  1213. package/dist/router/routes/BaseRoute.js.map +1 -0
  1214. package/dist/router/routes/BrowseRoute.d.ts +21 -0
  1215. package/dist/router/routes/BrowseRoute.d.ts.map +1 -0
  1216. package/dist/router/routes/BrowseRoute.js +121 -0
  1217. package/dist/router/routes/BrowseRoute.js.map +1 -0
  1218. package/dist/router/routes/CompositeRoute.d.ts +28 -0
  1219. package/dist/router/routes/CompositeRoute.d.ts.map +1 -0
  1220. package/dist/router/routes/CompositeRoute.js +125 -0
  1221. package/dist/router/routes/CompositeRoute.js.map +1 -0
  1222. package/dist/router/routes/CompositeRoute.test.d.ts +6 -0
  1223. package/dist/router/routes/CompositeRoute.test.d.ts.map +1 -0
  1224. package/dist/router/routes/CompositeRoute.test.js +82 -0
  1225. package/dist/router/routes/CompositeRoute.test.js.map +1 -0
  1226. package/dist/router/routes/DevRoute.d.ts +26 -0
  1227. package/dist/router/routes/DevRoute.d.ts.map +1 -0
  1228. package/dist/router/routes/DevRoute.js +118 -0
  1229. package/dist/router/routes/DevRoute.js.map +1 -0
  1230. package/dist/router/routes/GoogleRoute.d.ts +46 -0
  1231. package/dist/router/routes/GoogleRoute.d.ts.map +1 -0
  1232. package/dist/router/routes/GoogleRoute.js +293 -0
  1233. package/dist/router/routes/GoogleRoute.js.map +1 -0
  1234. package/dist/router/routes/GoogleRoute.test.d.ts +6 -0
  1235. package/dist/router/routes/GoogleRoute.test.d.ts.map +1 -0
  1236. package/dist/router/routes/GoogleRoute.test.js +171 -0
  1237. package/dist/router/routes/GoogleRoute.test.js.map +1 -0
  1238. package/dist/router/routes/MonitorRoute.d.ts +25 -0
  1239. package/dist/router/routes/MonitorRoute.d.ts.map +1 -0
  1240. package/dist/router/routes/MonitorRoute.js +112 -0
  1241. package/dist/router/routes/MonitorRoute.js.map +1 -0
  1242. package/dist/router/routes/MonitorRoute.test.d.ts +6 -0
  1243. package/dist/router/routes/MonitorRoute.test.d.ts.map +1 -0
  1244. package/dist/router/routes/MonitorRoute.test.js +97 -0
  1245. package/dist/router/routes/MonitorRoute.test.js.map +1 -0
  1246. package/dist/router/routes/ResearchRoute.d.ts +25 -0
  1247. package/dist/router/routes/ResearchRoute.d.ts.map +1 -0
  1248. package/dist/router/routes/ResearchRoute.js +113 -0
  1249. package/dist/router/routes/ResearchRoute.js.map +1 -0
  1250. package/dist/router/routes/ResearchRoute.test.d.ts +6 -0
  1251. package/dist/router/routes/ResearchRoute.test.d.ts.map +1 -0
  1252. package/dist/router/routes/ResearchRoute.test.js +104 -0
  1253. package/dist/router/routes/ResearchRoute.test.js.map +1 -0
  1254. package/dist/router/routes/UtilityRoute.d.ts +32 -0
  1255. package/dist/router/routes/UtilityRoute.d.ts.map +1 -0
  1256. package/dist/router/routes/UtilityRoute.js +144 -0
  1257. package/dist/router/routes/UtilityRoute.js.map +1 -0
  1258. package/dist/router/routes/UtilityRoute.test.d.ts +6 -0
  1259. package/dist/router/routes/UtilityRoute.test.d.ts.map +1 -0
  1260. package/dist/router/routes/UtilityRoute.test.js +134 -0
  1261. package/dist/router/routes/UtilityRoute.test.js.map +1 -0
  1262. package/dist/router/services/BookmarkService.d.ts +34 -0
  1263. package/dist/router/services/BookmarkService.d.ts.map +1 -0
  1264. package/dist/router/services/BookmarkService.js +86 -0
  1265. package/dist/router/services/BookmarkService.js.map +1 -0
  1266. package/dist/router/services/BookmarkService.test.d.ts +6 -0
  1267. package/dist/router/services/BookmarkService.test.d.ts.map +1 -0
  1268. package/dist/router/services/BookmarkService.test.js +82 -0
  1269. package/dist/router/services/BookmarkService.test.js.map +1 -0
  1270. package/dist/router/services/CalendarService.d.ts +30 -0
  1271. package/dist/router/services/CalendarService.d.ts.map +1 -0
  1272. package/dist/router/services/CalendarService.js +168 -0
  1273. package/dist/router/services/CalendarService.js.map +1 -0
  1274. package/dist/router/services/CalendarService.test.d.ts +6 -0
  1275. package/dist/router/services/CalendarService.test.d.ts.map +1 -0
  1276. package/dist/router/services/CalendarService.test.js +107 -0
  1277. package/dist/router/services/CalendarService.test.js.map +1 -0
  1278. package/dist/router/services/ContentSummarizer.d.ts +32 -0
  1279. package/dist/router/services/ContentSummarizer.d.ts.map +1 -0
  1280. package/dist/router/services/ContentSummarizer.js +108 -0
  1281. package/dist/router/services/ContentSummarizer.js.map +1 -0
  1282. package/dist/router/services/ContentSummarizer.test.d.ts +6 -0
  1283. package/dist/router/services/ContentSummarizer.test.d.ts.map +1 -0
  1284. package/dist/router/services/ContentSummarizer.test.js +82 -0
  1285. package/dist/router/services/ContentSummarizer.test.js.map +1 -0
  1286. package/dist/router/services/DailyReportGenerator.d.ts +34 -0
  1287. package/dist/router/services/DailyReportGenerator.d.ts.map +1 -0
  1288. package/dist/router/services/DailyReportGenerator.js +110 -0
  1289. package/dist/router/services/DailyReportGenerator.js.map +1 -0
  1290. package/dist/router/services/DocumentGenerator.d.ts +20 -0
  1291. package/dist/router/services/DocumentGenerator.d.ts.map +1 -0
  1292. package/dist/router/services/DocumentGenerator.js +34 -0
  1293. package/dist/router/services/DocumentGenerator.js.map +1 -0
  1294. package/dist/router/services/DriveService.d.ts +29 -0
  1295. package/dist/router/services/DriveService.d.ts.map +1 -0
  1296. package/dist/router/services/DriveService.js +176 -0
  1297. package/dist/router/services/DriveService.js.map +1 -0
  1298. package/dist/router/services/DriveService.test.d.ts +6 -0
  1299. package/dist/router/services/DriveService.test.d.ts.map +1 -0
  1300. package/dist/router/services/DriveService.test.js +83 -0
  1301. package/dist/router/services/DriveService.test.js.map +1 -0
  1302. package/dist/router/services/FileAnalyzer.d.ts +26 -0
  1303. package/dist/router/services/FileAnalyzer.d.ts.map +1 -0
  1304. package/dist/router/services/FileAnalyzer.js +82 -0
  1305. package/dist/router/services/FileAnalyzer.js.map +1 -0
  1306. package/dist/router/services/GitHubMonitor.d.ts +38 -0
  1307. package/dist/router/services/GitHubMonitor.d.ts.map +1 -0
  1308. package/dist/router/services/GitHubMonitor.js +82 -0
  1309. package/dist/router/services/GitHubMonitor.js.map +1 -0
  1310. package/dist/router/services/GitHubMonitor.test.d.ts +6 -0
  1311. package/dist/router/services/GitHubMonitor.test.d.ts.map +1 -0
  1312. package/dist/router/services/GitHubMonitor.test.js +103 -0
  1313. package/dist/router/services/GitHubMonitor.test.js.map +1 -0
  1314. package/dist/router/services/GmailService.d.ts +28 -0
  1315. package/dist/router/services/GmailService.d.ts.map +1 -0
  1316. package/dist/router/services/GmailService.js +169 -0
  1317. package/dist/router/services/GmailService.js.map +1 -0
  1318. package/dist/router/services/GmailService.test.d.ts +6 -0
  1319. package/dist/router/services/GmailService.test.d.ts.map +1 -0
  1320. package/dist/router/services/GmailService.test.js +113 -0
  1321. package/dist/router/services/GmailService.test.js.map +1 -0
  1322. package/dist/router/services/GoogleAuthManager.d.ts +31 -0
  1323. package/dist/router/services/GoogleAuthManager.d.ts.map +1 -0
  1324. package/dist/router/services/GoogleAuthManager.js +219 -0
  1325. package/dist/router/services/GoogleAuthManager.js.map +1 -0
  1326. package/dist/router/services/GoogleAuthManager.test.d.ts +6 -0
  1327. package/dist/router/services/GoogleAuthManager.test.d.ts.map +1 -0
  1328. package/dist/router/services/GoogleAuthManager.test.js +153 -0
  1329. package/dist/router/services/GoogleAuthManager.test.js.map +1 -0
  1330. package/dist/router/services/ImageGenerator.d.ts +20 -0
  1331. package/dist/router/services/ImageGenerator.d.ts.map +1 -0
  1332. package/dist/router/services/ImageGenerator.js +41 -0
  1333. package/dist/router/services/ImageGenerator.js.map +1 -0
  1334. package/dist/router/services/NoteService.d.ts +36 -0
  1335. package/dist/router/services/NoteService.d.ts.map +1 -0
  1336. package/dist/router/services/NoteService.js +125 -0
  1337. package/dist/router/services/NoteService.js.map +1 -0
  1338. package/dist/router/services/NoteService.test.d.ts +6 -0
  1339. package/dist/router/services/NoteService.test.d.ts.map +1 -0
  1340. package/dist/router/services/NoteService.test.js +90 -0
  1341. package/dist/router/services/NoteService.test.js.map +1 -0
  1342. package/dist/router/services/ProgressReporter.d.ts +32 -0
  1343. package/dist/router/services/ProgressReporter.d.ts.map +1 -0
  1344. package/dist/router/services/ProgressReporter.js +81 -0
  1345. package/dist/router/services/ProgressReporter.js.map +1 -0
  1346. package/dist/router/services/SchedulerEngine.d.ts +55 -0
  1347. package/dist/router/services/SchedulerEngine.d.ts.map +1 -0
  1348. package/dist/router/services/SchedulerEngine.js +215 -0
  1349. package/dist/router/services/SchedulerEngine.js.map +1 -0
  1350. package/dist/router/services/SchedulerEngine.test.d.ts +6 -0
  1351. package/dist/router/services/SchedulerEngine.test.d.ts.map +1 -0
  1352. package/dist/router/services/SchedulerEngine.test.js +102 -0
  1353. package/dist/router/services/SchedulerEngine.test.js.map +1 -0
  1354. package/dist/router/services/ScreenshotService.d.ts +22 -0
  1355. package/dist/router/services/ScreenshotService.d.ts.map +1 -0
  1356. package/dist/router/services/ScreenshotService.js +39 -0
  1357. package/dist/router/services/ScreenshotService.js.map +1 -0
  1358. package/dist/router/services/SheetsService.d.ts +27 -0
  1359. package/dist/router/services/SheetsService.d.ts.map +1 -0
  1360. package/dist/router/services/SheetsService.js +91 -0
  1361. package/dist/router/services/SheetsService.js.map +1 -0
  1362. package/dist/router/services/SheetsService.test.d.ts +6 -0
  1363. package/dist/router/services/SheetsService.test.d.ts.map +1 -0
  1364. package/dist/router/services/SheetsService.test.js +86 -0
  1365. package/dist/router/services/SheetsService.test.js.map +1 -0
  1366. package/dist/router/services/TranslationService.d.ts +21 -0
  1367. package/dist/router/services/TranslationService.d.ts.map +1 -0
  1368. package/dist/router/services/TranslationService.js +76 -0
  1369. package/dist/router/services/TranslationService.js.map +1 -0
  1370. package/dist/router/services/TranslationService.test.d.ts +6 -0
  1371. package/dist/router/services/TranslationService.test.d.ts.map +1 -0
  1372. package/dist/router/services/TranslationService.test.js +61 -0
  1373. package/dist/router/services/TranslationService.test.js.map +1 -0
  1374. package/dist/router/services/WebSearchService.d.ts +24 -0
  1375. package/dist/router/services/WebSearchService.d.ts.map +1 -0
  1376. package/dist/router/services/WebSearchService.js +78 -0
  1377. package/dist/router/services/WebSearchService.js.map +1 -0
  1378. package/dist/router/services/WebSearchService.test.d.ts +6 -0
  1379. package/dist/router/services/WebSearchService.test.d.ts.map +1 -0
  1380. package/dist/router/services/WebSearchService.test.js +75 -0
  1381. package/dist/router/services/WebSearchService.test.js.map +1 -0
  1382. package/dist/router/services/YouTubeService.d.ts +30 -0
  1383. package/dist/router/services/YouTubeService.d.ts.map +1 -0
  1384. package/dist/router/services/YouTubeService.js +145 -0
  1385. package/dist/router/services/YouTubeService.js.map +1 -0
  1386. package/dist/router/services/YouTubeService.test.d.ts +6 -0
  1387. package/dist/router/services/YouTubeService.test.d.ts.map +1 -0
  1388. package/dist/router/services/YouTubeService.test.js +128 -0
  1389. package/dist/router/services/YouTubeService.test.js.map +1 -0
  1390. package/dist/router/services/google-types.d.ts +222 -0
  1391. package/dist/router/services/google-types.d.ts.map +1 -0
  1392. package/dist/router/services/google-types.js +6 -0
  1393. package/dist/router/services/google-types.js.map +1 -0
  1394. package/dist/router/sessions/DevSessionManager.d.ts +39 -0
  1395. package/dist/router/sessions/DevSessionManager.d.ts.map +1 -0
  1396. package/dist/router/sessions/DevSessionManager.js +151 -0
  1397. package/dist/router/sessions/DevSessionManager.js.map +1 -0
  1398. package/dist/router/types.d.ts +117 -0
  1399. package/dist/router/types.d.ts.map +1 -0
  1400. package/dist/router/types.js +25 -0
  1401. package/dist/router/types.js.map +1 -0
  1402. package/dist/sync/ConflictResolver.d.ts +29 -0
  1403. package/dist/sync/ConflictResolver.d.ts.map +1 -0
  1404. package/dist/sync/ConflictResolver.js +106 -0
  1405. package/dist/sync/ConflictResolver.js.map +1 -0
  1406. package/dist/sync/DataSerializer.d.ts +33 -0
  1407. package/dist/sync/DataSerializer.d.ts.map +1 -0
  1408. package/dist/sync/DataSerializer.js +207 -0
  1409. package/dist/sync/DataSerializer.js.map +1 -0
  1410. package/dist/sync/DeviceManager.d.ts +31 -0
  1411. package/dist/sync/DeviceManager.d.ts.map +1 -0
  1412. package/dist/sync/DeviceManager.js +141 -0
  1413. package/dist/sync/DeviceManager.js.map +1 -0
  1414. package/dist/sync/SyncEngine.d.ts +56 -0
  1415. package/dist/sync/SyncEngine.d.ts.map +1 -0
  1416. package/dist/sync/SyncEngine.js +172 -0
  1417. package/dist/sync/SyncEngine.js.map +1 -0
  1418. package/dist/sync/SyncStore.d.ts +46 -0
  1419. package/dist/sync/SyncStore.d.ts.map +1 -0
  1420. package/dist/sync/SyncStore.js +219 -0
  1421. package/dist/sync/SyncStore.js.map +1 -0
  1422. package/dist/sync/index.d.ts +12 -0
  1423. package/dist/sync/index.d.ts.map +1 -0
  1424. package/dist/sync/index.js +11 -0
  1425. package/dist/sync/index.js.map +1 -0
  1426. package/dist/sync/sync.test.d.ts +5 -0
  1427. package/dist/sync/sync.test.d.ts.map +1 -0
  1428. package/dist/sync/sync.test.js +416 -0
  1429. package/dist/sync/sync.test.js.map +1 -0
  1430. package/dist/sync/types.d.ts +80 -0
  1431. package/dist/sync/types.d.ts.map +1 -0
  1432. package/dist/sync/types.js +12 -0
  1433. package/dist/sync/types.js.map +1 -0
  1434. package/dist/tools/browser/index.d.ts +47 -0
  1435. package/dist/tools/browser/index.d.ts.map +1 -0
  1436. package/dist/tools/browser/index.js +413 -0
  1437. package/dist/tools/browser/index.js.map +1 -0
  1438. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  1439. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  1440. package/dist/tools/google/index.d.ts +84 -0
  1441. package/dist/tools/google/index.d.ts.map +1 -0
  1442. package/dist/tools/google/index.js +508 -0
  1443. package/dist/tools/google/index.js.map +1 -0
  1444. package/dist/tools/integration/index.d.ts +24 -0
  1445. package/dist/tools/integration/index.d.ts.map +1 -0
  1446. package/dist/tools/integration/index.js +223 -0
  1447. package/dist/tools/integration/index.js.map +1 -0
  1448. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  1449. package/dist/tools/memory/getMemoryGraph.js +12 -12
  1450. package/dist/tools/memory/getSessionContext.js +9 -9
  1451. package/dist/tools/memory/linkMemories.js +14 -14
  1452. package/dist/tools/memory/listMemories.js +4 -4
  1453. package/dist/tools/memory/recallMemory.js +4 -4
  1454. package/dist/tools/memory/saveMemory.js +4 -4
  1455. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  1456. package/dist/tools/sandbox/index.d.ts +25 -0
  1457. package/dist/tools/sandbox/index.d.ts.map +1 -0
  1458. package/dist/tools/sandbox/index.js +255 -0
  1459. package/dist/tools/sandbox/index.js.map +1 -0
  1460. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  1461. package/dist/tools/semantic/astGrep.d.ts +2 -0
  1462. package/dist/tools/semantic/astGrep.d.ts.map +1 -1
  1463. package/dist/tools/semantic/astGrep.js +61 -35
  1464. package/dist/tools/semantic/astGrep.js.map +1 -1
  1465. package/dist/tools/semantic/astGrep.test.js +15 -7
  1466. package/dist/tools/semantic/astGrep.test.js.map +1 -1
  1467. package/dist/tools/spec/prdParser.test.js +171 -171
  1468. package/dist/tools/spec/specGenerator.js +169 -169
  1469. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  1470. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  1471. package/dist/tools/vision/index.d.ts +45 -0
  1472. package/dist/tools/vision/index.d.ts.map +1 -0
  1473. package/dist/tools/vision/index.js +328 -0
  1474. package/dist/tools/vision/index.js.map +1 -0
  1475. package/dist/tools/voice/index.d.ts +24 -0
  1476. package/dist/tools/voice/index.d.ts.map +1 -0
  1477. package/dist/tools/voice/index.js +204 -0
  1478. package/dist/tools/voice/index.js.map +1 -0
  1479. package/dist/types/tool.d.ts +64 -0
  1480. package/dist/types/tool.d.ts.map +1 -0
  1481. package/dist/types/tool.js +3 -0
  1482. package/dist/types/tool.js.map +1 -0
  1483. package/hooks/hooks.json +137 -137
  1484. package/hooks/scripts/code-check.js +70 -70
  1485. package/hooks/scripts/context-save.js +200 -200
  1486. package/hooks/scripts/hud-status.js +291 -291
  1487. package/hooks/scripts/keyword-detector.js +214 -214
  1488. package/hooks/scripts/llm-orchestrate.js +646 -511
  1489. package/hooks/scripts/post-edit.js +32 -32
  1490. package/hooks/scripts/pre-tool-guard.js +125 -125
  1491. package/hooks/scripts/prompt-dispatcher.js +185 -185
  1492. package/hooks/scripts/sentinel-guard.js +104 -104
  1493. package/hooks/scripts/session-start.js +106 -106
  1494. package/hooks/scripts/stop-notify.js +209 -209
  1495. package/hooks/scripts/utils.js +100 -100
  1496. package/languages/csharp-unity.md +515 -515
  1497. package/languages/gdscript-godot.md +470 -470
  1498. package/languages/ruby-rails.md +489 -489
  1499. package/languages/typescript-angular.md +433 -433
  1500. package/languages/typescript-astro.md +416 -416
  1501. package/languages/typescript-electron.md +406 -406
  1502. package/languages/typescript-nestjs.md +524 -524
  1503. package/languages/typescript-svelte.md +407 -407
  1504. package/languages/typescript-tauri.md +365 -365
  1505. package/package.json +121 -119
  1506. package/skills/brand-assets/SKILL.md +138 -138
  1507. package/skills/commerce-patterns/SKILL.md +361 -361
  1508. package/skills/commit-push-pr/SKILL.md +118 -118
  1509. package/skills/context7-usage/SKILL.md +105 -105
  1510. package/skills/e2e-commerce/SKILL.md +304 -304
  1511. package/skills/frontend-design/SKILL.md +92 -92
  1512. package/skills/git-worktree/SKILL.md +184 -184
  1513. package/skills/handoff/SKILL.md +101 -101
  1514. package/skills/priority-todos/SKILL.md +242 -242
  1515. package/skills/seo-checklist/SKILL.md +244 -244
  1516. package/skills/techdebt/SKILL.md +122 -122
  1517. package/skills/tool-fallback/SKILL.md +193 -193
  1518. package/skills/typescript-advanced-types/SKILL.md +720 -720
  1519. package/skills/ui-ux-pro-max/SKILL.md +386 -386
  1520. package/skills/vercel-react-best-practices/SKILL.md +304 -304
  1521. package/vibe/config.json +29 -29
  1522. package/vibe/constitution.md +227 -227
  1523. package/vibe/rules/principles/communication-guide.md +98 -98
  1524. package/vibe/rules/principles/development-philosophy.md +52 -52
  1525. package/vibe/rules/principles/quick-start.md +102 -102
  1526. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  1527. package/vibe/rules/quality/checklist.md +276 -276
  1528. package/vibe/rules/quality/performance.md +236 -236
  1529. package/vibe/rules/quality/testing-strategy.md +440 -440
  1530. package/vibe/rules/standards/anti-patterns.md +541 -541
  1531. package/vibe/rules/standards/code-structure.md +291 -291
  1532. package/vibe/rules/standards/complexity-metrics.md +313 -313
  1533. package/vibe/rules/standards/git-workflow.md +237 -237
  1534. package/vibe/rules/standards/naming-conventions.md +198 -198
  1535. package/vibe/rules/standards/security.md +305 -305
  1536. package/vibe/rules/writing/document-style.md +74 -74
  1537. package/vibe/setup.sh +31 -31
  1538. package/vibe/templates/constitution-template.md +252 -252
  1539. package/vibe/templates/contract-backend-template.md +526 -526
  1540. package/vibe/templates/contract-frontend-template.md +599 -599
  1541. package/vibe/templates/feature-template.md +96 -96
  1542. package/vibe/templates/spec-template.md +221 -221
  1543. package/vibe/ui-ux-data/charts.csv +26 -26
  1544. package/vibe/ui-ux-data/colors.csv +97 -97
  1545. package/vibe/ui-ux-data/icons.csv +101 -101
  1546. package/vibe/ui-ux-data/landing.csv +31 -31
  1547. package/vibe/ui-ux-data/products.csv +96 -96
  1548. package/vibe/ui-ux-data/react-performance.csv +45 -45
  1549. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  1550. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  1551. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  1552. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  1553. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  1554. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  1555. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  1556. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  1557. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  1558. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  1559. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  1560. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  1561. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  1562. package/vibe/ui-ux-data/styles.csv +68 -68
  1563. package/vibe/ui-ux-data/typography.csv +57 -57
  1564. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  1565. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  1566. package/vibe/ui-ux-data/version.json +31 -31
  1567. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -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