deepseek-coder-agent-cli 1.0.0

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 (501) hide show
  1. package/README.md +58 -0
  2. package/dist/bin/cliMode.d.ts +8 -0
  3. package/dist/bin/cliMode.d.ts.map +1 -0
  4. package/dist/bin/cliMode.js +20 -0
  5. package/dist/bin/cliMode.js.map +1 -0
  6. package/dist/bin/deepseek.d.ts +6 -0
  7. package/dist/bin/deepseek.d.ts.map +1 -0
  8. package/dist/bin/deepseek.js +136 -0
  9. package/dist/bin/deepseek.js.map +1 -0
  10. package/dist/config.d.ts +25 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +155 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/contracts/agent-profiles.schema.json +43 -0
  15. package/dist/contracts/agent-schemas.json +460 -0
  16. package/dist/contracts/models.schema.json +9 -0
  17. package/dist/contracts/module-schema.json +419 -0
  18. package/dist/contracts/schemas/agent-profile.schema.json +157 -0
  19. package/dist/contracts/schemas/agent-rules.schema.json +238 -0
  20. package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
  21. package/dist/contracts/schemas/agent.schema.json +90 -0
  22. package/dist/contracts/schemas/tool-selection.schema.json +174 -0
  23. package/dist/contracts/tools.schema.json +82 -0
  24. package/dist/contracts/unified-schema.json +750 -0
  25. package/dist/contracts/v1/agent.d.ts +179 -0
  26. package/dist/contracts/v1/agent.d.ts.map +1 -0
  27. package/dist/contracts/v1/agent.js +8 -0
  28. package/dist/contracts/v1/agent.js.map +1 -0
  29. package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
  30. package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
  31. package/dist/contracts/v1/agentProfileManifest.js +9 -0
  32. package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
  33. package/dist/contracts/v1/agentRules.d.ts +60 -0
  34. package/dist/contracts/v1/agentRules.d.ts.map +1 -0
  35. package/dist/contracts/v1/agentRules.js +10 -0
  36. package/dist/contracts/v1/agentRules.js.map +1 -0
  37. package/dist/contracts/v1/provider.d.ts +149 -0
  38. package/dist/contracts/v1/provider.d.ts.map +1 -0
  39. package/dist/contracts/v1/provider.js +7 -0
  40. package/dist/contracts/v1/provider.js.map +1 -0
  41. package/dist/contracts/v1/tool.d.ts +136 -0
  42. package/dist/contracts/v1/tool.d.ts.map +1 -0
  43. package/dist/contracts/v1/tool.js +7 -0
  44. package/dist/contracts/v1/tool.js.map +1 -0
  45. package/dist/contracts/v1/toolAccess.d.ts +43 -0
  46. package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
  47. package/dist/contracts/v1/toolAccess.js +9 -0
  48. package/dist/contracts/v1/toolAccess.js.map +1 -0
  49. package/dist/core/agent.d.ts +287 -0
  50. package/dist/core/agent.d.ts.map +1 -0
  51. package/dist/core/agent.js +1563 -0
  52. package/dist/core/agent.js.map +1 -0
  53. package/dist/core/agentProfileManifest.d.ts +3 -0
  54. package/dist/core/agentProfileManifest.d.ts.map +1 -0
  55. package/dist/core/agentProfileManifest.js +188 -0
  56. package/dist/core/agentProfileManifest.js.map +1 -0
  57. package/dist/core/agentProfiles.d.ts +22 -0
  58. package/dist/core/agentProfiles.d.ts.map +1 -0
  59. package/dist/core/agentProfiles.js +35 -0
  60. package/dist/core/agentProfiles.js.map +1 -0
  61. package/dist/core/agentRulebook.d.ts +11 -0
  62. package/dist/core/agentRulebook.d.ts.map +1 -0
  63. package/dist/core/agentRulebook.js +136 -0
  64. package/dist/core/agentRulebook.js.map +1 -0
  65. package/dist/core/agentSchemaLoader.d.ts +131 -0
  66. package/dist/core/agentSchemaLoader.d.ts.map +1 -0
  67. package/dist/core/agentSchemaLoader.js +235 -0
  68. package/dist/core/agentSchemaLoader.js.map +1 -0
  69. package/dist/core/agiCore.d.ts +290 -0
  70. package/dist/core/agiCore.d.ts.map +1 -0
  71. package/dist/core/agiCore.js +1348 -0
  72. package/dist/core/agiCore.js.map +1 -0
  73. package/dist/core/aiErrorFixer.d.ts +57 -0
  74. package/dist/core/aiErrorFixer.d.ts.map +1 -0
  75. package/dist/core/aiErrorFixer.js +214 -0
  76. package/dist/core/aiErrorFixer.js.map +1 -0
  77. package/dist/core/antiTermination.d.ts +226 -0
  78. package/dist/core/antiTermination.d.ts.map +1 -0
  79. package/dist/core/antiTermination.js +713 -0
  80. package/dist/core/antiTermination.js.map +1 -0
  81. package/dist/core/bashCommandGuidance.d.ts +16 -0
  82. package/dist/core/bashCommandGuidance.d.ts.map +1 -0
  83. package/dist/core/bashCommandGuidance.js +40 -0
  84. package/dist/core/bashCommandGuidance.js.map +1 -0
  85. package/dist/core/constants.d.ts +31 -0
  86. package/dist/core/constants.d.ts.map +1 -0
  87. package/dist/core/constants.js +62 -0
  88. package/dist/core/constants.js.map +1 -0
  89. package/dist/core/contextManager.d.ts +271 -0
  90. package/dist/core/contextManager.d.ts.map +1 -0
  91. package/dist/core/contextManager.js +1073 -0
  92. package/dist/core/contextManager.js.map +1 -0
  93. package/dist/core/contextWindow.d.ts +42 -0
  94. package/dist/core/contextWindow.d.ts.map +1 -0
  95. package/dist/core/contextWindow.js +123 -0
  96. package/dist/core/contextWindow.js.map +1 -0
  97. package/dist/core/customCommands.d.ts +19 -0
  98. package/dist/core/customCommands.d.ts.map +1 -0
  99. package/dist/core/customCommands.js +85 -0
  100. package/dist/core/customCommands.js.map +1 -0
  101. package/dist/core/deepBugAnalyzer.d.ts +25 -0
  102. package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
  103. package/dist/core/deepBugAnalyzer.js +44 -0
  104. package/dist/core/deepBugAnalyzer.js.map +1 -0
  105. package/dist/core/dualTournament.d.ts +110 -0
  106. package/dist/core/dualTournament.d.ts.map +1 -0
  107. package/dist/core/dualTournament.js +270 -0
  108. package/dist/core/dualTournament.js.map +1 -0
  109. package/dist/core/dynamicGuardrails.d.ts +207 -0
  110. package/dist/core/dynamicGuardrails.d.ts.map +1 -0
  111. package/dist/core/dynamicGuardrails.js +516 -0
  112. package/dist/core/dynamicGuardrails.js.map +1 -0
  113. package/dist/core/embeddingProviders.d.ts +80 -0
  114. package/dist/core/embeddingProviders.d.ts.map +1 -0
  115. package/dist/core/embeddingProviders.js +241 -0
  116. package/dist/core/embeddingProviders.js.map +1 -0
  117. package/dist/core/episodicMemory.d.ts +259 -0
  118. package/dist/core/episodicMemory.d.ts.map +1 -0
  119. package/dist/core/episodicMemory.js +833 -0
  120. package/dist/core/episodicMemory.js.map +1 -0
  121. package/dist/core/errors/apiKeyErrors.d.ts +11 -0
  122. package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
  123. package/dist/core/errors/apiKeyErrors.js +159 -0
  124. package/dist/core/errors/apiKeyErrors.js.map +1 -0
  125. package/dist/core/errors/errorTypes.d.ts +111 -0
  126. package/dist/core/errors/errorTypes.d.ts.map +1 -0
  127. package/dist/core/errors/errorTypes.js +345 -0
  128. package/dist/core/errors/errorTypes.js.map +1 -0
  129. package/dist/core/errors/index.d.ts +50 -0
  130. package/dist/core/errors/index.d.ts.map +1 -0
  131. package/dist/core/errors/index.js +156 -0
  132. package/dist/core/errors/index.js.map +1 -0
  133. package/dist/core/errors/networkErrors.d.ts +14 -0
  134. package/dist/core/errors/networkErrors.d.ts.map +1 -0
  135. package/dist/core/errors/networkErrors.js +53 -0
  136. package/dist/core/errors/networkErrors.js.map +1 -0
  137. package/dist/core/errors/safetyValidator.d.ts +115 -0
  138. package/dist/core/errors/safetyValidator.d.ts.map +1 -0
  139. package/dist/core/errors/safetyValidator.js +302 -0
  140. package/dist/core/errors/safetyValidator.js.map +1 -0
  141. package/dist/core/errors.d.ts +4 -0
  142. package/dist/core/errors.d.ts.map +1 -0
  143. package/dist/core/errors.js +33 -0
  144. package/dist/core/errors.js.map +1 -0
  145. package/dist/core/finalResponseFormatter.d.ts +10 -0
  146. package/dist/core/finalResponseFormatter.d.ts.map +1 -0
  147. package/dist/core/finalResponseFormatter.js +14 -0
  148. package/dist/core/finalResponseFormatter.js.map +1 -0
  149. package/dist/core/flowProtection.d.ts +154 -0
  150. package/dist/core/flowProtection.d.ts.map +1 -0
  151. package/dist/core/flowProtection.js +436 -0
  152. package/dist/core/flowProtection.js.map +1 -0
  153. package/dist/core/gitWorktreeManager.d.ts +126 -0
  154. package/dist/core/gitWorktreeManager.d.ts.map +1 -0
  155. package/dist/core/gitWorktreeManager.js +403 -0
  156. package/dist/core/gitWorktreeManager.js.map +1 -0
  157. package/dist/core/guardrails.d.ts +150 -0
  158. package/dist/core/guardrails.d.ts.map +1 -0
  159. package/dist/core/guardrails.js +360 -0
  160. package/dist/core/guardrails.js.map +1 -0
  161. package/dist/core/hallucinationGuard.d.ts +57 -0
  162. package/dist/core/hallucinationGuard.d.ts.map +1 -0
  163. package/dist/core/hallucinationGuard.js +237 -0
  164. package/dist/core/hallucinationGuard.js.map +1 -0
  165. package/dist/core/hitlEnforcement.d.ts +143 -0
  166. package/dist/core/hitlEnforcement.d.ts.map +1 -0
  167. package/dist/core/hitlEnforcement.js +583 -0
  168. package/dist/core/hitlEnforcement.js.map +1 -0
  169. package/dist/core/hooks.d.ts +113 -0
  170. package/dist/core/hooks.d.ts.map +1 -0
  171. package/dist/core/hooks.js +364 -0
  172. package/dist/core/hooks.js.map +1 -0
  173. package/dist/core/hotReload.d.ts +154 -0
  174. package/dist/core/hotReload.d.ts.map +1 -0
  175. package/dist/core/hotReload.js +451 -0
  176. package/dist/core/hotReload.js.map +1 -0
  177. package/dist/core/hypothesisEngine.d.ts +27 -0
  178. package/dist/core/hypothesisEngine.d.ts.map +1 -0
  179. package/dist/core/hypothesisEngine.js +58 -0
  180. package/dist/core/hypothesisEngine.js.map +1 -0
  181. package/dist/core/index.d.ts +26 -0
  182. package/dist/core/index.d.ts.map +1 -0
  183. package/dist/core/index.js +54 -0
  184. package/dist/core/index.js.map +1 -0
  185. package/dist/core/inputProtection.d.ts +122 -0
  186. package/dist/core/inputProtection.d.ts.map +1 -0
  187. package/dist/core/inputProtection.js +421 -0
  188. package/dist/core/inputProtection.js.map +1 -0
  189. package/dist/core/liveGCPVerification.d.ts +41 -0
  190. package/dist/core/liveGCPVerification.d.ts.map +1 -0
  191. package/dist/core/liveGCPVerification.js +745 -0
  192. package/dist/core/liveGCPVerification.js.map +1 -0
  193. package/dist/core/modelDiscovery.d.ts +105 -0
  194. package/dist/core/modelDiscovery.d.ts.map +1 -0
  195. package/dist/core/modelDiscovery.js +740 -0
  196. package/dist/core/modelDiscovery.js.map +1 -0
  197. package/dist/core/multilinePasteHandler.d.ts +35 -0
  198. package/dist/core/multilinePasteHandler.d.ts.map +1 -0
  199. package/dist/core/multilinePasteHandler.js +80 -0
  200. package/dist/core/multilinePasteHandler.js.map +1 -0
  201. package/dist/core/parallel.d.ts +85 -0
  202. package/dist/core/parallel.d.ts.map +1 -0
  203. package/dist/core/parallel.js +150 -0
  204. package/dist/core/parallel.js.map +1 -0
  205. package/dist/core/parallelCoordinator.d.ts +21 -0
  206. package/dist/core/parallelCoordinator.d.ts.map +1 -0
  207. package/dist/core/parallelCoordinator.js +42 -0
  208. package/dist/core/parallelCoordinator.js.map +1 -0
  209. package/dist/core/parallelExecutor.d.ts +215 -0
  210. package/dist/core/parallelExecutor.d.ts.map +1 -0
  211. package/dist/core/parallelExecutor.js +584 -0
  212. package/dist/core/parallelExecutor.js.map +1 -0
  213. package/dist/core/platformSecurityIntegration.d.ts +133 -0
  214. package/dist/core/platformSecurityIntegration.d.ts.map +1 -0
  215. package/dist/core/platformSecurityIntegration.js +419 -0
  216. package/dist/core/platformSecurityIntegration.js.map +1 -0
  217. package/dist/core/preferences.d.ts +71 -0
  218. package/dist/core/preferences.d.ts.map +1 -0
  219. package/dist/core/preferences.js +341 -0
  220. package/dist/core/preferences.js.map +1 -0
  221. package/dist/core/productTestHarness.d.ts +46 -0
  222. package/dist/core/productTestHarness.d.ts.map +1 -0
  223. package/dist/core/productTestHarness.js +128 -0
  224. package/dist/core/productTestHarness.js.map +1 -0
  225. package/dist/core/providerKeys.d.ts +20 -0
  226. package/dist/core/providerKeys.d.ts.map +1 -0
  227. package/dist/core/providerKeys.js +40 -0
  228. package/dist/core/providerKeys.js.map +1 -0
  229. package/dist/core/realityScore.d.ts +159 -0
  230. package/dist/core/realityScore.d.ts.map +1 -0
  231. package/dist/core/realityScore.js +734 -0
  232. package/dist/core/realityScore.js.map +1 -0
  233. package/dist/core/repoUpgradeOrchestrator.d.ts +223 -0
  234. package/dist/core/repoUpgradeOrchestrator.d.ts.map +1 -0
  235. package/dist/core/repoUpgradeOrchestrator.js +1003 -0
  236. package/dist/core/repoUpgradeOrchestrator.js.map +1 -0
  237. package/dist/core/resultVerification.d.ts +47 -0
  238. package/dist/core/resultVerification.d.ts.map +1 -0
  239. package/dist/core/resultVerification.js +126 -0
  240. package/dist/core/resultVerification.js.map +1 -0
  241. package/dist/core/revenueEnvValidator.d.ts +30 -0
  242. package/dist/core/revenueEnvValidator.d.ts.map +1 -0
  243. package/dist/core/revenueEnvValidator.js +241 -0
  244. package/dist/core/revenueEnvValidator.js.map +1 -0
  245. package/dist/core/schemaValidator.d.ts +49 -0
  246. package/dist/core/schemaValidator.d.ts.map +1 -0
  247. package/dist/core/schemaValidator.js +234 -0
  248. package/dist/core/schemaValidator.js.map +1 -0
  249. package/dist/core/secretStore.d.ts +48 -0
  250. package/dist/core/secretStore.d.ts.map +1 -0
  251. package/dist/core/secretStore.js +295 -0
  252. package/dist/core/secretStore.js.map +1 -0
  253. package/dist/core/securityTournament.d.ts +83 -0
  254. package/dist/core/securityTournament.d.ts.map +1 -0
  255. package/dist/core/securityTournament.js +357 -0
  256. package/dist/core/securityTournament.js.map +1 -0
  257. package/dist/core/selfUpgrade.d.ts +253 -0
  258. package/dist/core/selfUpgrade.d.ts.map +1 -0
  259. package/dist/core/selfUpgrade.js +669 -0
  260. package/dist/core/selfUpgrade.js.map +1 -0
  261. package/dist/core/sessionStorage.d.ts +10 -0
  262. package/dist/core/sessionStorage.d.ts.map +1 -0
  263. package/dist/core/sessionStorage.js +46 -0
  264. package/dist/core/sessionStorage.js.map +1 -0
  265. package/dist/core/sessionStore.d.ts +35 -0
  266. package/dist/core/sessionStore.d.ts.map +1 -0
  267. package/dist/core/sessionStore.js +191 -0
  268. package/dist/core/sessionStore.js.map +1 -0
  269. package/dist/core/taskCompletionDetector.d.ts +112 -0
  270. package/dist/core/taskCompletionDetector.d.ts.map +1 -0
  271. package/dist/core/taskCompletionDetector.js +469 -0
  272. package/dist/core/taskCompletionDetector.js.map +1 -0
  273. package/dist/core/toolPreconditions.d.ts +34 -0
  274. package/dist/core/toolPreconditions.d.ts.map +1 -0
  275. package/dist/core/toolPreconditions.js +242 -0
  276. package/dist/core/toolPreconditions.js.map +1 -0
  277. package/dist/core/toolRuntime.d.ts +185 -0
  278. package/dist/core/toolRuntime.d.ts.map +1 -0
  279. package/dist/core/toolRuntime.js +412 -0
  280. package/dist/core/toolRuntime.js.map +1 -0
  281. package/dist/core/tournamentStrategy.d.ts +12 -0
  282. package/dist/core/tournamentStrategy.d.ts.map +1 -0
  283. package/dist/core/tournamentStrategy.js +41 -0
  284. package/dist/core/tournamentStrategy.js.map +1 -0
  285. package/dist/core/types/utilityTypes.d.ts +192 -0
  286. package/dist/core/types/utilityTypes.d.ts.map +1 -0
  287. package/dist/core/types/utilityTypes.js +272 -0
  288. package/dist/core/types/utilityTypes.js.map +1 -0
  289. package/dist/core/types.d.ts +334 -0
  290. package/dist/core/types.d.ts.map +1 -0
  291. package/dist/core/types.js +76 -0
  292. package/dist/core/types.js.map +1 -0
  293. package/dist/core/unifiedOrchestrator.d.ts +47 -0
  294. package/dist/core/unifiedOrchestrator.d.ts.map +1 -0
  295. package/dist/core/unifiedOrchestrator.js +103 -0
  296. package/dist/core/unifiedOrchestrator.js.map +1 -0
  297. package/dist/core/universalSecurityAudit.d.ts +104 -0
  298. package/dist/core/universalSecurityAudit.d.ts.map +1 -0
  299. package/dist/core/universalSecurityAudit.js +2190 -0
  300. package/dist/core/universalSecurityAudit.js.map +1 -0
  301. package/dist/core/updateChecker.d.ts +148 -0
  302. package/dist/core/updateChecker.d.ts.map +1 -0
  303. package/dist/core/updateChecker.js +593 -0
  304. package/dist/core/updateChecker.js.map +1 -0
  305. package/dist/core/variantExecution.d.ts +23 -0
  306. package/dist/core/variantExecution.d.ts.map +1 -0
  307. package/dist/core/variantExecution.js +58 -0
  308. package/dist/core/variantExecution.js.map +1 -0
  309. package/dist/core/verificationFirst.d.ts +110 -0
  310. package/dist/core/verificationFirst.d.ts.map +1 -0
  311. package/dist/core/verificationFirst.js +312 -0
  312. package/dist/core/verificationFirst.js.map +1 -0
  313. package/dist/core/winnerStrategy.d.ts +15 -0
  314. package/dist/core/winnerStrategy.d.ts.map +1 -0
  315. package/dist/core/winnerStrategy.js +18 -0
  316. package/dist/core/winnerStrategy.js.map +1 -0
  317. package/dist/core/zeroDayDiscovery.d.ts +96 -0
  318. package/dist/core/zeroDayDiscovery.d.ts.map +1 -0
  319. package/dist/core/zeroDayDiscovery.js +358 -0
  320. package/dist/core/zeroDayDiscovery.js.map +1 -0
  321. package/dist/headless/interactiveShell.d.ts +22 -0
  322. package/dist/headless/interactiveShell.d.ts.map +1 -0
  323. package/dist/headless/interactiveShell.js +3832 -0
  324. package/dist/headless/interactiveShell.js.map +1 -0
  325. package/dist/headless/quickMode.d.ts +26 -0
  326. package/dist/headless/quickMode.d.ts.map +1 -0
  327. package/dist/headless/quickMode.js +226 -0
  328. package/dist/headless/quickMode.js.map +1 -0
  329. package/dist/providers/baseProvider.d.ts +148 -0
  330. package/dist/providers/baseProvider.d.ts.map +1 -0
  331. package/dist/providers/baseProvider.js +284 -0
  332. package/dist/providers/baseProvider.js.map +1 -0
  333. package/dist/providers/deepseekReasonerProvider.d.ts +57 -0
  334. package/dist/providers/deepseekReasonerProvider.d.ts.map +1 -0
  335. package/dist/providers/deepseekReasonerProvider.js +87 -0
  336. package/dist/providers/deepseekReasonerProvider.js.map +1 -0
  337. package/dist/providers/openaiChatCompletionsProvider.d.ts +64 -0
  338. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
  339. package/dist/providers/openaiChatCompletionsProvider.js +1000 -0
  340. package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
  341. package/dist/providers/providerFactory.d.ts +24 -0
  342. package/dist/providers/providerFactory.d.ts.map +1 -0
  343. package/dist/providers/providerFactory.js +27 -0
  344. package/dist/providers/providerFactory.js.map +1 -0
  345. package/dist/providers/resilientProvider.d.ts +103 -0
  346. package/dist/providers/resilientProvider.d.ts.map +1 -0
  347. package/dist/providers/resilientProvider.js +462 -0
  348. package/dist/providers/resilientProvider.js.map +1 -0
  349. package/dist/runtime/agentController.d.ts +114 -0
  350. package/dist/runtime/agentController.d.ts.map +1 -0
  351. package/dist/runtime/agentController.js +693 -0
  352. package/dist/runtime/agentController.js.map +1 -0
  353. package/dist/runtime/agentHost.d.ts +61 -0
  354. package/dist/runtime/agentHost.d.ts.map +1 -0
  355. package/dist/runtime/agentHost.js +157 -0
  356. package/dist/runtime/agentHost.js.map +1 -0
  357. package/dist/runtime/agentSession.d.ts +45 -0
  358. package/dist/runtime/agentSession.d.ts.map +1 -0
  359. package/dist/runtime/agentSession.js +214 -0
  360. package/dist/runtime/agentSession.js.map +1 -0
  361. package/dist/runtime/agentWorkerPool.d.ts +167 -0
  362. package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
  363. package/dist/runtime/agentWorkerPool.js +435 -0
  364. package/dist/runtime/agentWorkerPool.js.map +1 -0
  365. package/dist/runtime/node.d.ts +7 -0
  366. package/dist/runtime/node.d.ts.map +1 -0
  367. package/dist/runtime/node.js +18 -0
  368. package/dist/runtime/node.js.map +1 -0
  369. package/dist/runtime/universal.d.ts +18 -0
  370. package/dist/runtime/universal.d.ts.map +1 -0
  371. package/dist/runtime/universal.js +21 -0
  372. package/dist/runtime/universal.js.map +1 -0
  373. package/dist/ui/PromptController.d.ts +174 -0
  374. package/dist/ui/PromptController.d.ts.map +1 -0
  375. package/dist/ui/PromptController.js +351 -0
  376. package/dist/ui/PromptController.js.map +1 -0
  377. package/dist/ui/UnifiedUIRenderer.d.ts +779 -0
  378. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -0
  379. package/dist/ui/UnifiedUIRenderer.js +5458 -0
  380. package/dist/ui/UnifiedUIRenderer.js.map +1 -0
  381. package/dist/ui/animatedStatus.d.ts +140 -0
  382. package/dist/ui/animatedStatus.d.ts.map +1 -0
  383. package/dist/ui/animatedStatus.js +480 -0
  384. package/dist/ui/animatedStatus.js.map +1 -0
  385. package/dist/ui/animation/AnimationScheduler.d.ts +197 -0
  386. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
  387. package/dist/ui/animation/AnimationScheduler.js +440 -0
  388. package/dist/ui/animation/AnimationScheduler.js.map +1 -0
  389. package/dist/ui/codeHighlighter.d.ts +6 -0
  390. package/dist/ui/codeHighlighter.d.ts.map +1 -0
  391. package/dist/ui/codeHighlighter.js +855 -0
  392. package/dist/ui/codeHighlighter.js.map +1 -0
  393. package/dist/ui/designSystem.d.ts +26 -0
  394. package/dist/ui/designSystem.d.ts.map +1 -0
  395. package/dist/ui/designSystem.js +114 -0
  396. package/dist/ui/designSystem.js.map +1 -0
  397. package/dist/ui/errorFormatter.d.ts +64 -0
  398. package/dist/ui/errorFormatter.d.ts.map +1 -0
  399. package/dist/ui/errorFormatter.js +316 -0
  400. package/dist/ui/errorFormatter.js.map +1 -0
  401. package/dist/ui/globalWriteLock.d.ts +63 -0
  402. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  403. package/dist/ui/globalWriteLock.js +173 -0
  404. package/dist/ui/globalWriteLock.js.map +1 -0
  405. package/dist/ui/index.d.ts +32 -0
  406. package/dist/ui/index.d.ts.map +1 -0
  407. package/dist/ui/index.js +54 -0
  408. package/dist/ui/index.js.map +1 -0
  409. package/dist/ui/interrupts/InterruptManager.d.ts +157 -0
  410. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
  411. package/dist/ui/interrupts/InterruptManager.js +501 -0
  412. package/dist/ui/interrupts/InterruptManager.js.map +1 -0
  413. package/dist/ui/layout.d.ts +27 -0
  414. package/dist/ui/layout.d.ts.map +1 -0
  415. package/dist/ui/layout.js +184 -0
  416. package/dist/ui/layout.js.map +1 -0
  417. package/dist/ui/maxOffensiveUkraineUI.d.ts +94 -0
  418. package/dist/ui/maxOffensiveUkraineUI.d.ts.map +1 -0
  419. package/dist/ui/maxOffensiveUkraineUI.js +316 -0
  420. package/dist/ui/maxOffensiveUkraineUI.js.map +1 -0
  421. package/dist/ui/outputMode.d.ts +44 -0
  422. package/dist/ui/outputMode.d.ts.map +1 -0
  423. package/dist/ui/outputMode.js +123 -0
  424. package/dist/ui/outputMode.js.map +1 -0
  425. package/dist/ui/overlay/OverlayManager.d.ts +105 -0
  426. package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
  427. package/dist/ui/overlay/OverlayManager.js +291 -0
  428. package/dist/ui/overlay/OverlayManager.js.map +1 -0
  429. package/dist/ui/premiumComponents.d.ts +54 -0
  430. package/dist/ui/premiumComponents.d.ts.map +1 -0
  431. package/dist/ui/premiumComponents.js +241 -0
  432. package/dist/ui/premiumComponents.js.map +1 -0
  433. package/dist/ui/richText.d.ts +13 -0
  434. package/dist/ui/richText.d.ts.map +1 -0
  435. package/dist/ui/richText.js +444 -0
  436. package/dist/ui/richText.js.map +1 -0
  437. package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
  438. package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
  439. package/dist/ui/telemetry/ResponseTracker.js +60 -0
  440. package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
  441. package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
  442. package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
  443. package/dist/ui/telemetry/UITelemetry.js +446 -0
  444. package/dist/ui/telemetry/UITelemetry.js.map +1 -0
  445. package/dist/ui/textHighlighter.d.ts +83 -0
  446. package/dist/ui/textHighlighter.d.ts.map +1 -0
  447. package/dist/ui/textHighlighter.js +267 -0
  448. package/dist/ui/textHighlighter.js.map +1 -0
  449. package/dist/ui/theme.d.ts +364 -0
  450. package/dist/ui/theme.d.ts.map +1 -0
  451. package/dist/ui/theme.js +471 -0
  452. package/dist/ui/theme.js.map +1 -0
  453. package/dist/ui/toolDisplay.d.ts +221 -0
  454. package/dist/ui/toolDisplay.d.ts.map +1 -0
  455. package/dist/ui/toolDisplay.js +1654 -0
  456. package/dist/ui/toolDisplay.js.map +1 -0
  457. package/dist/ui/uiConstants.d.ts +288 -0
  458. package/dist/ui/uiConstants.d.ts.map +1 -0
  459. package/dist/ui/uiConstants.js +472 -0
  460. package/dist/ui/uiConstants.js.map +1 -0
  461. package/dist/utils/askUserPrompt.d.ts +21 -0
  462. package/dist/utils/askUserPrompt.d.ts.map +1 -0
  463. package/dist/utils/askUserPrompt.js +87 -0
  464. package/dist/utils/askUserPrompt.js.map +1 -0
  465. package/dist/utils/asyncUtils.d.ts +95 -0
  466. package/dist/utils/asyncUtils.d.ts.map +1 -0
  467. package/dist/utils/asyncUtils.js +286 -0
  468. package/dist/utils/asyncUtils.js.map +1 -0
  469. package/dist/utils/debugLogger.d.ts +6 -0
  470. package/dist/utils/debugLogger.d.ts.map +1 -0
  471. package/dist/utils/debugLogger.js +39 -0
  472. package/dist/utils/debugLogger.js.map +1 -0
  473. package/dist/utils/errorUtils.d.ts +12 -0
  474. package/dist/utils/errorUtils.d.ts.map +1 -0
  475. package/dist/utils/errorUtils.js +83 -0
  476. package/dist/utils/errorUtils.js.map +1 -0
  477. package/dist/utils/frontmatter.d.ts +10 -0
  478. package/dist/utils/frontmatter.d.ts.map +1 -0
  479. package/dist/utils/frontmatter.js +78 -0
  480. package/dist/utils/frontmatter.js.map +1 -0
  481. package/dist/utils/packageInfo.d.ts +14 -0
  482. package/dist/utils/packageInfo.d.ts.map +1 -0
  483. package/dist/utils/packageInfo.js +45 -0
  484. package/dist/utils/packageInfo.js.map +1 -0
  485. package/dist/utils/planFormatter.d.ts +34 -0
  486. package/dist/utils/planFormatter.d.ts.map +1 -0
  487. package/dist/utils/planFormatter.js +141 -0
  488. package/dist/utils/planFormatter.js.map +1 -0
  489. package/dist/utils/securityUtils.d.ts +132 -0
  490. package/dist/utils/securityUtils.d.ts.map +1 -0
  491. package/dist/utils/securityUtils.js +324 -0
  492. package/dist/utils/securityUtils.js.map +1 -0
  493. package/dist/workspace.d.ts +8 -0
  494. package/dist/workspace.d.ts.map +1 -0
  495. package/dist/workspace.js +134 -0
  496. package/dist/workspace.js.map +1 -0
  497. package/dist/workspace.validator.d.ts +49 -0
  498. package/dist/workspace.validator.d.ts.map +1 -0
  499. package/dist/workspace.validator.js +215 -0
  500. package/dist/workspace.validator.js.map +1 -0
  501. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kFAAkF;AAClF,kCAAkC;AAClC,kFAAkF;AAElF,OAAO,EACL,OAAO,EACP,MAAM,EACN,QAAQ,GAaT,MAAM,cAAc,CAAC;AAEtB,kFAAkF;AAClF,sBAAsB;AACtB,kFAAkF;AAElF,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GAUnB,MAAM,kBAAkB,CAAC;AAE1B,kFAAkF;AAClF,oBAAoB;AACpB,kFAAkF;AAElF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,GAMjB,MAAM,gBAAgB,CAAC;AAExB,kFAAkF;AAClF,wCAAwC;AACxC,kFAAkF;AAElF,OAAO,EACL,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAKlB,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,kBAAkB;AAClB,kFAAkF;AAElF,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAMrB,MAAM,qBAAqB,CAAC;AAE7B,kFAAkF;AAClF,cAAc;AACd,kFAAkF;AAElF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAE1B,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;AAElF,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAI7B,MAAM,qBAAqB,CAAC;AAE7B,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;AAElF,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAE9B,kFAAkF;AAClF,iDAAiD;AACjD,kFAAkF;AAElF,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAE7B,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GAIrB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Input Protection System - Guards against remote attacks on chat input
3
+ *
4
+ * Protects against:
5
+ * 1. Remote stdin injection attacks
6
+ * 2. Automated paste attacks (superhuman typing speed)
7
+ * 3. Escape sequence injection via clipboard
8
+ * 4. Buffer overflow attempts (massive pastes)
9
+ * 5. Control character injection
10
+ * 6. Unicode-based attacks (homoglyphs, RTL override)
11
+ * 7. Timing-based attacks (burst injection)
12
+ *
13
+ * @module inputProtection
14
+ */
15
+ import { EventEmitter } from 'events';
16
+ /** Input validation result */
17
+ export interface InputValidation {
18
+ allowed: boolean;
19
+ sanitized: string;
20
+ blocked: boolean;
21
+ reason?: string;
22
+ attackType?: InputAttackType;
23
+ riskScore: number;
24
+ }
25
+ /** Types of input attacks */
26
+ export type InputAttackType = 'automated_injection' | 'escape_injection' | 'control_injection' | 'overflow_attempt' | 'unicode_attack' | 'timing_burst' | 'remote_paste' | 'stdin_hijack';
27
+ /** Input protection configuration */
28
+ export interface InputProtectionConfig {
29
+ /** Maximum characters per second (human ~12 CPS, paste unlimited) */
30
+ maxCharactersPerSecond?: number;
31
+ /** Maximum paste size in characters */
32
+ maxPasteSize?: number;
33
+ /** Maximum total buffer size */
34
+ maxBufferSize?: number;
35
+ /** Enable timing-based attack detection */
36
+ detectTimingAttacks?: boolean;
37
+ /** Minimum interval between keystrokes in ms (human ~50ms+) */
38
+ minKeystrokeInterval?: number;
39
+ /** Maximum burst size before suspicion */
40
+ maxBurstSize?: number;
41
+ /** Enable strict mode (blocks suspicious input instead of sanitizing) */
42
+ strictMode?: boolean;
43
+ /** Verbose logging */
44
+ verbose?: boolean;
45
+ /** Callback on attack detection */
46
+ onAttackDetected?: (type: InputAttackType, details: string) => void;
47
+ }
48
+ /**
49
+ * Input Protection System
50
+ */
51
+ export declare class InputProtection extends EventEmitter {
52
+ private config;
53
+ private inputTimings;
54
+ private lastKeystroke;
55
+ private burstCounter;
56
+ private suspicionScore;
57
+ private blockedAttacks;
58
+ private sanitizedInputs;
59
+ private isInPasteMode;
60
+ private pasteStartTime;
61
+ private readonly dangerousEscapes;
62
+ private readonly dangerousControls;
63
+ private readonly unicodeAttacks;
64
+ constructor(config?: InputProtectionConfig);
65
+ /**
66
+ * Validate and sanitize input before it enters the chat buffer
67
+ */
68
+ validateInput(input: string, isPaste?: boolean): InputValidation;
69
+ /**
70
+ * Enter paste mode (more lenient validation)
71
+ */
72
+ enterPasteMode(): void;
73
+ /**
74
+ * Exit paste mode
75
+ */
76
+ exitPasteMode(): void;
77
+ /**
78
+ * Check if currently in paste mode
79
+ */
80
+ isPasting(): boolean;
81
+ /**
82
+ * Validate a complete prompt before submission
83
+ */
84
+ validatePromptSubmission(prompt: string): InputValidation;
85
+ /**
86
+ * Reset protection state (e.g., after idle period)
87
+ */
88
+ reset(): void;
89
+ /**
90
+ * Get protection statistics
91
+ */
92
+ getStats(): {
93
+ blockedAttacks: number;
94
+ sanitizedInputs: number;
95
+ currentSuspicion: number;
96
+ currentCPS: number;
97
+ };
98
+ private checkEscapeSequences;
99
+ private checkControlCharacters;
100
+ private checkUnicodeAttacks;
101
+ private cleanOldTimings;
102
+ private getRecentCharCount;
103
+ private calculateCPS;
104
+ private log;
105
+ }
106
+ /**
107
+ * Initialize global input protection (singleton)
108
+ */
109
+ export declare function initializeInputProtection(config?: InputProtectionConfig): InputProtection;
110
+ /**
111
+ * Get input protection instance
112
+ */
113
+ export declare function getInputProtection(): InputProtection | null;
114
+ /**
115
+ * Quick validate function for input
116
+ */
117
+ export declare function validateChatInput(input: string, isPaste?: boolean): InputValidation;
118
+ /**
119
+ * Validate final prompt before submission
120
+ */
121
+ export declare function validatePromptSubmit(prompt: string): InputValidation;
122
+ //# sourceMappingURL=inputProtection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputProtection.d.ts","sourceRoot":"","sources":["../../src/core/inputProtection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,421 @@
1
+ /**
2
+ * Input Protection System - Guards against remote attacks on chat input
3
+ *
4
+ * Protects against:
5
+ * 1. Remote stdin injection attacks
6
+ * 2. Automated paste attacks (superhuman typing speed)
7
+ * 3. Escape sequence injection via clipboard
8
+ * 4. Buffer overflow attempts (massive pastes)
9
+ * 5. Control character injection
10
+ * 6. Unicode-based attacks (homoglyphs, RTL override)
11
+ * 7. Timing-based attacks (burst injection)
12
+ *
13
+ * @module inputProtection
14
+ */
15
+ import { EventEmitter } from 'events';
16
+ /** Singleton instance */
17
+ let inputProtectionInstance = null;
18
+ /**
19
+ * Input Protection System
20
+ */
21
+ export class InputProtection extends EventEmitter {
22
+ config;
23
+ inputTimings = [];
24
+ lastKeystroke = 0;
25
+ burstCounter = 0;
26
+ suspicionScore = 0;
27
+ blockedAttacks = 0;
28
+ sanitizedInputs = 0;
29
+ isInPasteMode = false;
30
+ pasteStartTime = 0;
31
+ // Dangerous escape sequences to block
32
+ dangerousEscapes = [
33
+ /\x1b\][0-9]+;/, // OSC sequences (can change terminal title, etc.)
34
+ /\x1b[PX^_]/, // DCS, SOS, PM, APC sequences
35
+ /\x1b\[[\d;]*[pls]/i, // Soft reset, various terminal modes
36
+ /\x1b\[\?[\d;]*[hl]/, // Private mode sets (can enable dangerous modes)
37
+ /\x1b\[[\d;]*n/, // Device status queries (info leak)
38
+ /\x1b\[[\d;]*q/, // Keyboard LED control
39
+ /\x1bP[^\\]*\x1b\\/, // Complete DCS sequence
40
+ /\x1b\]0;[^\x07]*\x07/, // Title set sequence
41
+ /\x1b\]52;/, // Clipboard manipulation sequence
42
+ ];
43
+ // Dangerous control characters
44
+ dangerousControls = [
45
+ 0x00, // NUL - can cause issues
46
+ 0x01, // SOH
47
+ 0x02, // STX
48
+ 0x03, // ETX (Ctrl+C) - allow but track
49
+ 0x04, // EOT (Ctrl+D) - allow but track
50
+ 0x05, // ENQ
51
+ 0x06, // ACK
52
+ 0x07, // BEL - annoying beep
53
+ 0x0E, // SO - shift out
54
+ 0x0F, // SI - shift in
55
+ 0x10, // DLE
56
+ 0x11, // DC1 (XON)
57
+ 0x12, // DC2
58
+ 0x13, // DC3 (XOFF)
59
+ 0x14, // DC4
60
+ 0x15, // NAK
61
+ 0x16, // SYN
62
+ 0x17, // ETB
63
+ 0x18, // CAN
64
+ 0x19, // EM
65
+ 0x1A, // SUB (Ctrl+Z)
66
+ 0x1C, // FS
67
+ 0x1D, // GS
68
+ 0x1E, // RS
69
+ 0x1F, // US
70
+ 0x7F, // DEL
71
+ ];
72
+ // Unicode attack patterns
73
+ unicodeAttacks = [
74
+ { pattern: /\u202E/, name: 'RTL override' }, // Right-to-left override
75
+ { pattern: /\u202D/, name: 'LTR override' }, // Left-to-right override
76
+ { pattern: /\u202A/, name: 'LTR embedding' }, // Left-to-right embedding
77
+ { pattern: /\u202B/, name: 'RTL embedding' }, // Right-to-left embedding
78
+ { pattern: /\u202C/, name: 'Pop direction' }, // Pop directional formatting
79
+ { pattern: /\u2066/, name: 'LTR isolate' }, // Left-to-right isolate
80
+ { pattern: /\u2067/, name: 'RTL isolate' }, // Right-to-left isolate
81
+ { pattern: /\u2068/, name: 'First strong isolate' },
82
+ { pattern: /\u2069/, name: 'Pop isolate' }, // Pop directional isolate
83
+ { pattern: /\u200E/, name: 'LTR mark' }, // Left-to-right mark
84
+ { pattern: /\u200F/, name: 'RTL mark' }, // Right-to-left mark
85
+ { pattern: /\uFEFF/, name: 'BOM' }, // Byte order mark
86
+ { pattern: /[\u200B-\u200D]/, name: 'Zero-width chars' }, // Zero-width spaces/joiners
87
+ ];
88
+ constructor(config = {}) {
89
+ super();
90
+ this.config = {
91
+ maxCharactersPerSecond: config.maxCharactersPerSecond ?? 500, // Allow fast paste
92
+ maxPasteSize: config.maxPasteSize ?? 100000, // 100KB max paste
93
+ maxBufferSize: config.maxBufferSize ?? 500000, // 500KB max buffer
94
+ detectTimingAttacks: config.detectTimingAttacks ?? true,
95
+ minKeystrokeInterval: config.minKeystrokeInterval ?? 5, // 5ms minimum (200 CPS)
96
+ maxBurstSize: config.maxBurstSize ?? 1000, // Chars before suspicion
97
+ strictMode: config.strictMode ?? false,
98
+ verbose: config.verbose ?? false,
99
+ onAttackDetected: config.onAttackDetected ?? (() => { }),
100
+ };
101
+ }
102
+ /**
103
+ * Validate and sanitize input before it enters the chat buffer
104
+ */
105
+ validateInput(input, isPaste = false) {
106
+ const now = Date.now();
107
+ let sanitized = input;
108
+ let blocked = false;
109
+ let reason;
110
+ let attackType;
111
+ let riskScore = 0;
112
+ // Track timing
113
+ this.inputTimings.push({ timestamp: now, charCount: input.length });
114
+ this.cleanOldTimings();
115
+ // === Size validation ===
116
+ if (isPaste && input.length > this.config.maxPasteSize) {
117
+ riskScore += 30;
118
+ if (this.config.strictMode) {
119
+ blocked = true;
120
+ reason = `Paste size ${input.length} exceeds limit ${this.config.maxPasteSize}`;
121
+ attackType = 'overflow_attempt';
122
+ }
123
+ else {
124
+ sanitized = input.slice(0, this.config.maxPasteSize);
125
+ reason = `Truncated paste from ${input.length} to ${this.config.maxPasteSize}`;
126
+ }
127
+ this.sanitizedInputs++;
128
+ }
129
+ // === Timing analysis ===
130
+ if (this.config.detectTimingAttacks && !isPaste) {
131
+ const interval = now - this.lastKeystroke;
132
+ if (interval > 0 && interval < this.config.minKeystrokeInterval) {
133
+ // Suspiciously fast keystrokes
134
+ this.suspicionScore += 5;
135
+ riskScore += 10;
136
+ if (this.suspicionScore > 50) {
137
+ attackType = 'automated_injection';
138
+ reason = `Automated input detected (${Math.round(1000 / interval)} CPS)`;
139
+ this.log(`Suspicion score: ${this.suspicionScore}, interval: ${interval}ms`);
140
+ }
141
+ }
142
+ else {
143
+ // Normal typing - decrease suspicion
144
+ this.suspicionScore = Math.max(0, this.suspicionScore - 1);
145
+ }
146
+ }
147
+ this.lastKeystroke = now;
148
+ // === Burst detection ===
149
+ const recentChars = this.getRecentCharCount(100); // Last 100ms
150
+ if (recentChars > this.config.maxBurstSize) {
151
+ this.burstCounter++;
152
+ riskScore += 20;
153
+ if (this.burstCounter > 3) {
154
+ attackType = 'timing_burst';
155
+ reason = `Burst injection detected (${recentChars} chars in 100ms)`;
156
+ if (this.config.strictMode) {
157
+ blocked = true;
158
+ }
159
+ }
160
+ }
161
+ else {
162
+ this.burstCounter = Math.max(0, this.burstCounter - 1);
163
+ }
164
+ // === Escape sequence validation ===
165
+ const escapeResult = this.checkEscapeSequences(sanitized);
166
+ if (escapeResult.found) {
167
+ riskScore += 40;
168
+ attackType = 'escape_injection';
169
+ reason = `Dangerous escape sequence: ${escapeResult.type}`;
170
+ sanitized = escapeResult.sanitized;
171
+ this.sanitizedInputs++;
172
+ if (this.config.strictMode) {
173
+ blocked = true;
174
+ }
175
+ }
176
+ // === Control character validation ===
177
+ const controlResult = this.checkControlCharacters(sanitized);
178
+ if (controlResult.found) {
179
+ riskScore += 15;
180
+ if (!attackType) {
181
+ attackType = 'control_injection';
182
+ reason = `Control characters detected: ${controlResult.chars.join(', ')}`;
183
+ }
184
+ sanitized = controlResult.sanitized;
185
+ this.sanitizedInputs++;
186
+ }
187
+ // === Unicode attack detection ===
188
+ const unicodeResult = this.checkUnicodeAttacks(sanitized);
189
+ if (unicodeResult.found) {
190
+ riskScore += 30;
191
+ if (!attackType) {
192
+ attackType = 'unicode_attack';
193
+ reason = `Unicode attack: ${unicodeResult.type}`;
194
+ }
195
+ sanitized = unicodeResult.sanitized;
196
+ this.sanitizedInputs++;
197
+ }
198
+ // === Rate limiting check ===
199
+ const cps = this.calculateCPS();
200
+ if (cps > this.config.maxCharactersPerSecond && !isPaste) {
201
+ riskScore += 25;
202
+ if (!attackType) {
203
+ attackType = 'automated_injection';
204
+ reason = `Rate limit exceeded: ${Math.round(cps)} CPS`;
205
+ }
206
+ if (this.config.strictMode && cps > this.config.maxCharactersPerSecond * 2) {
207
+ blocked = true;
208
+ }
209
+ }
210
+ // Log attack detection
211
+ if (attackType && riskScore > 30) {
212
+ this.blockedAttacks++;
213
+ this.config.onAttackDetected?.(attackType, reason || 'Unknown');
214
+ this.emit('attack_detected', { type: attackType, reason, riskScore });
215
+ this.log(`Attack detected: ${attackType} - ${reason} (risk: ${riskScore})`);
216
+ }
217
+ return {
218
+ allowed: !blocked,
219
+ sanitized: blocked ? '' : sanitized,
220
+ blocked,
221
+ reason,
222
+ attackType,
223
+ riskScore,
224
+ };
225
+ }
226
+ /**
227
+ * Enter paste mode (more lenient validation)
228
+ */
229
+ enterPasteMode() {
230
+ this.isInPasteMode = true;
231
+ this.pasteStartTime = Date.now();
232
+ this.log('Entered paste mode');
233
+ }
234
+ /**
235
+ * Exit paste mode
236
+ */
237
+ exitPasteMode() {
238
+ const duration = Date.now() - this.pasteStartTime;
239
+ this.isInPasteMode = false;
240
+ this.log(`Exited paste mode (duration: ${duration}ms)`);
241
+ }
242
+ /**
243
+ * Check if currently in paste mode
244
+ */
245
+ isPasting() {
246
+ return this.isInPasteMode;
247
+ }
248
+ /**
249
+ * Validate a complete prompt before submission
250
+ */
251
+ validatePromptSubmission(prompt) {
252
+ // Final validation before sending to AI
253
+ let sanitized = prompt;
254
+ let riskScore = 0;
255
+ let attackType;
256
+ let reason;
257
+ // Check total size
258
+ if (prompt.length > this.config.maxBufferSize) {
259
+ riskScore += 50;
260
+ attackType = 'overflow_attempt';
261
+ reason = `Prompt exceeds buffer limit`;
262
+ sanitized = prompt.slice(0, this.config.maxBufferSize);
263
+ }
264
+ // Final escape sequence check
265
+ const escapeResult = this.checkEscapeSequences(sanitized);
266
+ if (escapeResult.found) {
267
+ riskScore += 30;
268
+ sanitized = escapeResult.sanitized;
269
+ }
270
+ // Final unicode check
271
+ const unicodeResult = this.checkUnicodeAttacks(sanitized);
272
+ if (unicodeResult.found) {
273
+ riskScore += 20;
274
+ sanitized = unicodeResult.sanitized;
275
+ }
276
+ return {
277
+ allowed: true,
278
+ sanitized,
279
+ blocked: false,
280
+ reason,
281
+ attackType,
282
+ riskScore,
283
+ };
284
+ }
285
+ /**
286
+ * Reset protection state (e.g., after idle period)
287
+ */
288
+ reset() {
289
+ this.inputTimings = [];
290
+ this.lastKeystroke = 0;
291
+ this.burstCounter = 0;
292
+ this.suspicionScore = 0;
293
+ this.isInPasteMode = false;
294
+ }
295
+ /**
296
+ * Get protection statistics
297
+ */
298
+ getStats() {
299
+ return {
300
+ blockedAttacks: this.blockedAttacks,
301
+ sanitizedInputs: this.sanitizedInputs,
302
+ currentSuspicion: this.suspicionScore,
303
+ currentCPS: this.calculateCPS(),
304
+ };
305
+ }
306
+ // === Private helper methods ===
307
+ checkEscapeSequences(input) {
308
+ let sanitized = input;
309
+ let found = false;
310
+ let type;
311
+ for (const pattern of this.dangerousEscapes) {
312
+ if (pattern.test(sanitized)) {
313
+ found = true;
314
+ type = pattern.source;
315
+ sanitized = sanitized.replace(new RegExp(pattern.source, 'g'), '');
316
+ }
317
+ }
318
+ return { found, type, sanitized };
319
+ }
320
+ checkControlCharacters(input) {
321
+ const foundChars = [];
322
+ let sanitized = '';
323
+ for (let i = 0; i < input.length; i++) {
324
+ const code = input.charCodeAt(i);
325
+ // Allow normal control characters: Tab (9), Newline (10), Carriage Return (13), Escape (27 - for legit sequences)
326
+ if (code === 9 || code === 10 || code === 13) {
327
+ sanitized += input[i];
328
+ continue;
329
+ }
330
+ // Block dangerous control characters
331
+ if (this.dangerousControls.includes(code)) {
332
+ foundChars.push(`0x${code.toString(16).padStart(2, '0')}`);
333
+ continue;
334
+ }
335
+ sanitized += input[i];
336
+ }
337
+ return {
338
+ found: foundChars.length > 0,
339
+ chars: foundChars,
340
+ sanitized,
341
+ };
342
+ }
343
+ checkUnicodeAttacks(input) {
344
+ let sanitized = input;
345
+ let found = false;
346
+ let type;
347
+ for (const attack of this.unicodeAttacks) {
348
+ const pattern = typeof attack.pattern === 'string'
349
+ ? new RegExp(attack.pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g')
350
+ : attack.pattern;
351
+ if (pattern.test(sanitized)) {
352
+ found = true;
353
+ type = attack.name;
354
+ sanitized = sanitized.replace(pattern, '');
355
+ }
356
+ }
357
+ return { found, type, sanitized };
358
+ }
359
+ cleanOldTimings() {
360
+ const cutoff = Date.now() - 1000; // Keep last 1 second
361
+ this.inputTimings = this.inputTimings.filter(t => t.timestamp > cutoff);
362
+ }
363
+ getRecentCharCount(windowMs) {
364
+ const cutoff = Date.now() - windowMs;
365
+ return this.inputTimings
366
+ .filter(t => t.timestamp > cutoff)
367
+ .reduce((sum, t) => sum + t.charCount, 0);
368
+ }
369
+ calculateCPS() {
370
+ if (this.inputTimings.length < 2)
371
+ return 0;
372
+ const now = Date.now();
373
+ const windowMs = 1000;
374
+ const cutoff = now - windowMs;
375
+ const recentTimings = this.inputTimings.filter(t => t.timestamp > cutoff);
376
+ if (recentTimings.length === 0)
377
+ return 0;
378
+ const totalChars = recentTimings.reduce((sum, t) => sum + t.charCount, 0);
379
+ const timeSpan = now - recentTimings[0].timestamp;
380
+ return timeSpan > 0 ? (totalChars / timeSpan) * 1000 : 0;
381
+ }
382
+ log(message) {
383
+ if (this.config.verbose || process.env['AGI_DEBUG']) {
384
+ console.error(`[InputProtection] ${message}`);
385
+ }
386
+ }
387
+ }
388
+ /**
389
+ * Initialize global input protection (singleton)
390
+ */
391
+ export function initializeInputProtection(config) {
392
+ if (!inputProtectionInstance) {
393
+ inputProtectionInstance = new InputProtection(config);
394
+ }
395
+ return inputProtectionInstance;
396
+ }
397
+ /**
398
+ * Get input protection instance
399
+ */
400
+ export function getInputProtection() {
401
+ return inputProtectionInstance;
402
+ }
403
+ /**
404
+ * Quick validate function for input
405
+ */
406
+ export function validateChatInput(input, isPaste = false) {
407
+ const protection = inputProtectionInstance ?? new InputProtection();
408
+ return protection.validateInput(input, isPaste);
409
+ }
410
+ /**
411
+ * Validate final prompt before submission
412
+ */
413
+ export function validatePromptSubmit(prompt) {
414
+ const protection = inputProtectionInstance ?? new InputProtection();
415
+ return protection.validatePromptSubmission(prompt);
416
+ }
417
+ // Auto-initialize if environment variable is set
418
+ if (process.env['AGI_INPUT_PROTECTION'] === '1' || process.env['AGI_PROTECTED_MODE'] === '1') {
419
+ initializeInputProtection({ verbose: process.env['AGI_DEBUG'] === '1' });
420
+ }
421
+ //# sourceMappingURL=inputProtection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputProtection.js","sourceRoot":"","sources":["../../src/core/inputProtection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Live GCP Verification Engine
3
+ *
4
+ * REAL verification against live Google Cloud infrastructure.
5
+ * Uses actual API calls, real timing measurements, and live configuration checks.
6
+ *
7
+ * For authorized red team operations only.
8
+ */
9
+ export interface LiveVerificationResult {
10
+ id: string;
11
+ vulnerability: string;
12
+ verified: boolean;
13
+ confidence: number;
14
+ evidence: string[];
15
+ rawResponse?: string;
16
+ timingMs?: number;
17
+ technique: string;
18
+ timestamp: string;
19
+ projectId: string;
20
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
21
+ }
22
+ export interface GCPConfig {
23
+ projectId: string;
24
+ region?: string;
25
+ accessToken?: string;
26
+ }
27
+ /**
28
+ * Run all live GCP verification tests
29
+ */
30
+ export declare function runLiveGCPVerification(projectId?: string): Promise<{
31
+ results: LiveVerificationResult[];
32
+ summary: {
33
+ total: number;
34
+ verified: number;
35
+ critical: number;
36
+ high: number;
37
+ medium: number;
38
+ };
39
+ }>;
40
+ export default runLiveGCPVerification;
41
+ //# sourceMappingURL=liveGCPVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveGCPVerification.d.ts","sourceRoot":"","sources":["../../src/core/liveGCPVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CAC3D;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqyBD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC,CA6GD;AAED,eAAe,sBAAsB,CAAC"}