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,583 @@
1
+ /**
2
+ * HITL Enforcement Module - Mandatory Load Check
3
+ * Advanced Persistent Strikes (APS) Protection
4
+ *
5
+ * @author Bo Shang <bo@shang.software>
6
+ * @license MIT
7
+ *
8
+ * ═══════════════════════════════════════════════════════════════════════════════
9
+ * MQ-9 REAPER MODEL - CORRECT INTERPRETATION
10
+ * ═══════════════════════════════════════════════════════════════════════════════
11
+ *
12
+ * The MQ-9 Reaper operates AUTONOMOUSLY for EVERYTHING except firing:
13
+ * - Flight, navigation, surveillance
14
+ * - Target acquisition, reconnaissance
15
+ * - Data collection, pattern analysis
16
+ * - Targeting solution development
17
+ * - Weapon arming and preparation
18
+ *
19
+ * Human authorization ONLY required for:
20
+ * - FIRING A HELLFIRE MISSILE (actual kinetic action)
21
+ *
22
+ * ═══════════════════════════════════════════════════════════════════════════════
23
+ * EVERYTHING IS AUTONOMOUS - ONLY LETHAL REQUIRES HITL
24
+ * ═══════════════════════════════════════════════════════════════════════════════
25
+ *
26
+ * ROUTINE (autonomous): Recon, analysis, research on ANY target
27
+ * ELEVATED (autonomous, logged): Active fuzzing, probing, scanning
28
+ * CRITICAL (autonomous): Exploitation development, PoC creation
29
+ *
30
+ * LETHAL (2 confirms + 30s): ONLY actual kinetic EXECUTION
31
+ * - fire_hellfire, launch_missile = LETHAL
32
+ * - control_vehicle, steer_tesla = LETHAL
33
+ * - actuate_scada, open_valve = LETHAL
34
+ * - deliver_insulin, stop_ventilator = LETHAL
35
+ *
36
+ * Key insight: The TARGET doesn't determine classification.
37
+ * The ACTION (kinetic execution vs everything else) does.
38
+ */
39
+ import { existsSync, writeFileSync, readFileSync, appendFileSync } from 'fs';
40
+ import { join } from 'path';
41
+ import { createHash } from 'crypto';
42
+ import * as readline from 'readline';
43
+ // ═══════════════════════════════════════════════════════════════════════════════
44
+ // HITL Enforcement State
45
+ // ═══════════════════════════════════════════════════════════════════════════════
46
+ let hitlInitialized = false;
47
+ let hitlIntegrityHash = null;
48
+ const HITL_LOCK_FILE = join(process.cwd(), '.hitl-enforcement.lock');
49
+ const HITL_AUDIT_LOG = join(process.cwd(), '.hitl-audit.log');
50
+ // Operation classification delays (in milliseconds)
51
+ // ONLY LETHAL has delay - everything else is autonomous
52
+ const OPERATION_DELAYS = {
53
+ ROUTINE: 0,
54
+ ELEVATED: 0,
55
+ CRITICAL: 0, // No delay - exploitation dev is autonomous
56
+ LETHAL: 30000, // 30 seconds - kinetic execution only
57
+ };
58
+ // Required confirmations per classification
59
+ // ONLY LETHAL requires human confirmation - like Reaper firing Hellfire
60
+ const REQUIRED_CONFIRMATIONS = {
61
+ ROUTINE: 0,
62
+ ELEVATED: 0,
63
+ CRITICAL: 0, // Exploitation development = autonomous (no HITL)
64
+ LETHAL: 2, // ONLY kinetic execution requires human authorization
65
+ };
66
+ // ═══════════════════════════════════════════════════════════════════════════════
67
+ // Mandatory Initialization
68
+ // ═══════════════════════════════════════════════════════════════════════════════
69
+ /**
70
+ * MUST be called at application startup.
71
+ * System will refuse to run if this is not called.
72
+ *
73
+ * @author Bo Shang <bo@shang.software>
74
+ */
75
+ export function enforceHITLOnLoad() {
76
+ const operator = process.env.HITL_OPERATOR || process.env.USER || 'unknown';
77
+ const timestamp = new Date().toISOString();
78
+ console.log(`
79
+ ╔══════════════════════════════════════════════════════════════════════════════╗
80
+ ║ HITL ENFORCEMENT - MQ-9 REAPER MODEL ║
81
+ ║ Author: Bo Shang <bo@shang.software> ║
82
+ ╠══════════════════════════════════════════════════════════════════════════════╣
83
+ ║ ║
84
+ ║ ALL AUTONOMOUS (No HITL needed): ║
85
+ ║ → ROUTINE: Recon, research on ANY target (F-35, Tesla, SCADA) ║
86
+ ║ → ELEVATED: Active fuzzing/probing (logged) ║
87
+ ║ → CRITICAL: Exploitation development (autonomous) ║
88
+ ║ ║
89
+ ║ ONLY LETHAL REQUIRES HUMAN AUTHORIZATION: ║
90
+ ║ → fire_missile, launch_hellfire, engage_target ║
91
+ ║ → control_vehicle, steer, accelerate, brake_override ║
92
+ ║ → actuate_scada, open_valve, spin_centrifuge ║
93
+ ║ → deliver_insulin, deliver_shock, stop_ventilator ║
94
+ ║ ║
95
+ ╠══════════════════════════════════════════════════════════════════════════════╣
96
+ ║ Like Reaper: Fly, surveil, acquire target, develop solution = AUTONOMOUS ║
97
+ ║ FIRE HELLFIRE = ONLY action requiring human authorization (2 confirms+30s) ║
98
+ ╚══════════════════════════════════════════════════════════════════════════════╝
99
+ `);
100
+ // Create integrity hash
101
+ hitlIntegrityHash = createHash('sha256')
102
+ .update(`hitl-${operator}-${timestamp}`)
103
+ .digest('hex')
104
+ .slice(0, 16);
105
+ // Create lock file
106
+ const lockData = {
107
+ initialized: true,
108
+ timestamp,
109
+ operator,
110
+ integrityHash: hitlIntegrityHash,
111
+ pid: process.pid,
112
+ author: 'bo@shang.software'
113
+ };
114
+ try {
115
+ writeFileSync(HITL_LOCK_FILE, JSON.stringify(lockData, null, 2));
116
+ }
117
+ catch (err) {
118
+ console.error('[HITL] Failed to create lock file - ABORTING');
119
+ process.exit(1);
120
+ }
121
+ hitlInitialized = true;
122
+ console.log(`[HITL] Enforcement ACTIVE`);
123
+ console.log(`[HITL] Operator: ${operator}`);
124
+ console.log(`[HITL] Session: ${hitlIntegrityHash}`);
125
+ console.log(`[HITL] Lock: ${HITL_LOCK_FILE}`);
126
+ console.log('');
127
+ return {
128
+ initialized: true,
129
+ integrityValid: true,
130
+ timestamp,
131
+ operator,
132
+ lockFile: HITL_LOCK_FILE
133
+ };
134
+ }
135
+ /**
136
+ * Check if HITL is properly initialized.
137
+ * Call this before ANY operation.
138
+ *
139
+ * @throws Error if HITL not initialized
140
+ * @author Bo Shang <bo@shang.software>
141
+ */
142
+ export function requireHITL() {
143
+ if (!hitlInitialized) {
144
+ console.error(`
145
+ ╔══════════════════════════════════════════════════════════════════════════════╗
146
+ ║ ❌ HITL ENFORCEMENT FAILURE ║
147
+ ║ ║
148
+ ║ HITL was not initialized. System cannot proceed. ║
149
+ ║ ║
150
+ ║ Call enforceHITLOnLoad() at application startup. ║
151
+ ║ ║
152
+ ║ Author: Bo Shang <bo@shang.software> ║
153
+ ╚══════════════════════════════════════════════════════════════════════════════╝
154
+ `);
155
+ process.exit(1);
156
+ }
157
+ }
158
+ /**
159
+ * Verify HITL integrity hasn't been tampered with
160
+ *
161
+ * @author Bo Shang <bo@shang.software>
162
+ */
163
+ export function verifyHITLIntegrity() {
164
+ if (!hitlInitialized || !hitlIntegrityHash) {
165
+ return false;
166
+ }
167
+ try {
168
+ if (!existsSync(HITL_LOCK_FILE)) {
169
+ console.error('[HITL] Lock file missing - integrity compromised');
170
+ return false;
171
+ }
172
+ const lockData = JSON.parse(readFileSync(HITL_LOCK_FILE, 'utf-8'));
173
+ if (lockData.integrityHash !== hitlIntegrityHash) {
174
+ console.error('[HITL] Integrity hash mismatch - session may be compromised');
175
+ return false;
176
+ }
177
+ return true;
178
+ }
179
+ catch {
180
+ return false;
181
+ }
182
+ }
183
+ /**
184
+ * Wrapper that enforces HITL before executing any function
185
+ *
186
+ * @author Bo Shang <bo@shang.software>
187
+ */
188
+ export function withHITLEnforcement(fn) {
189
+ return ((...args) => {
190
+ requireHITL();
191
+ if (!verifyHITLIntegrity()) {
192
+ throw new Error('HITL integrity check failed - operation blocked');
193
+ }
194
+ return fn(...args);
195
+ });
196
+ }
197
+ /**
198
+ * Clean up HITL lock on exit
199
+ *
200
+ * @author Bo Shang <bo@shang.software>
201
+ */
202
+ export function cleanupHITL() {
203
+ try {
204
+ if (existsSync(HITL_LOCK_FILE)) {
205
+ const { unlinkSync } = require('fs');
206
+ unlinkSync(HITL_LOCK_FILE);
207
+ }
208
+ }
209
+ catch { /* ignore */ }
210
+ }
211
+ // Register cleanup on exit
212
+ process.on('exit', cleanupHITL);
213
+ process.on('SIGINT', () => { cleanupHITL(); process.exit(0); });
214
+ process.on('SIGTERM', () => { cleanupHITL(); process.exit(0); });
215
+ // ═══════════════════════════════════════════════════════════════════════════════
216
+ // Operation Classification Functions
217
+ // ═══════════════════════════════════════════════════════════════════════════════
218
+ /**
219
+ * Log operation to audit trail
220
+ *
221
+ * @author Bo Shang <bo@shang.software>
222
+ */
223
+ function logToAudit(entry) {
224
+ try {
225
+ const timestamp = new Date().toISOString();
226
+ const operator = process.env.HITL_OPERATOR || process.env.USER || 'unknown';
227
+ appendFileSync(HITL_AUDIT_LOG, `[${timestamp}] [${operator}] ${entry}\n`);
228
+ }
229
+ catch { /* ignore */ }
230
+ }
231
+ /**
232
+ * Apply delay for operation classification
233
+ *
234
+ * @author Bo Shang <bo@shang.software>
235
+ */
236
+ async function applyOperationDelay(classification) {
237
+ const delay = OPERATION_DELAYS[classification];
238
+ if (delay > 0) {
239
+ console.log(`[HITL] Applying ${delay / 1000}s delay for ${classification} operation...`);
240
+ await new Promise(resolve => setTimeout(resolve, delay));
241
+ }
242
+ }
243
+ /**
244
+ * Get user confirmation from stdin
245
+ *
246
+ * @author Bo Shang <bo@shang.software>
247
+ */
248
+ async function getUserConfirmation(prompt) {
249
+ // In non-interactive mode, deny by default for safety
250
+ if (!process.stdin.isTTY) {
251
+ console.log('[HITL] Non-interactive mode - denying confirmation by default');
252
+ return false;
253
+ }
254
+ const rl = readline.createInterface({
255
+ input: process.stdin,
256
+ output: process.stdout
257
+ });
258
+ return new Promise((resolve) => {
259
+ rl.question(prompt, (answer) => {
260
+ rl.close();
261
+ resolve(answer.toLowerCase() === 'yes' || answer.toLowerCase() === 'y');
262
+ });
263
+ });
264
+ }
265
+ /**
266
+ * Request approval for a classified operation
267
+ *
268
+ * @author Bo Shang <bo@shang.software>
269
+ */
270
+ export async function requestOperationApproval(classification, operation, description, target) {
271
+ requireHITL();
272
+ const operator = process.env.HITL_OPERATOR || process.env.USER || 'unknown';
273
+ const timestamp = new Date().toISOString();
274
+ const request = {
275
+ classification,
276
+ operation,
277
+ target,
278
+ description,
279
+ timestamp
280
+ };
281
+ // Log the request
282
+ logToAudit(`REQUEST: ${classification} - ${operation} - ${description}${target ? ` (target: ${target})` : ''}`);
283
+ // ROUTINE operations - auto-approved
284
+ if (classification === 'ROUTINE') {
285
+ logToAudit(`APPROVED: ${classification} - ${operation} (auto-approved)`);
286
+ return {
287
+ approved: true,
288
+ classification,
289
+ confirmations: 0,
290
+ delayApplied: 0,
291
+ operator,
292
+ timestamp
293
+ };
294
+ }
295
+ // ELEVATED operations - logged but auto-approved
296
+ if (classification === 'ELEVATED') {
297
+ logToAudit(`APPROVED: ${classification} - ${operation} (logged)`);
298
+ return {
299
+ approved: true,
300
+ classification,
301
+ confirmations: 0,
302
+ delayApplied: 0,
303
+ operator,
304
+ timestamp
305
+ };
306
+ }
307
+ // CRITICAL operations - exploitation development is autonomous (no HITL)
308
+ // Like Reaper developing targeting solutions - autonomous until the shot
309
+ if (classification === 'CRITICAL') {
310
+ logToAudit(`APPROVED: ${classification} - ${operation} (exploitation dev - autonomous)`);
311
+ return {
312
+ approved: true,
313
+ classification,
314
+ confirmations: 0,
315
+ delayApplied: 0,
316
+ operator,
317
+ timestamp
318
+ };
319
+ }
320
+ // ONLY LETHAL operations require human confirmation
321
+ const requiredConfirmations = REQUIRED_CONFIRMATIONS[classification];
322
+ const delay = OPERATION_DELAYS[classification];
323
+ let confirmations = 0;
324
+ console.log(`
325
+ ╔══════════════════════════════════════════════════════════════════════════════╗
326
+ ║ ⚠️ ${classification} OPERATION - HUMAN AUTHORIZATION REQUIRED
327
+ ║ ║
328
+ ║ Operation: ${operation.padEnd(58)}║
329
+ ║ Description: ${description.slice(0, 56).padEnd(56)}║
330
+ ${target ? `║ Target: ${target.slice(0, 60).padEnd(60)}║\n` : ''}║ ║
331
+ ║ This operation requires ${requiredConfirmations} confirmation(s) and ${delay / 1000}s delay. ║
332
+ ╚══════════════════════════════════════════════════════════════════════════════╝
333
+ `);
334
+ // Get required confirmations
335
+ for (let i = 0; i < requiredConfirmations; i++) {
336
+ const confirmed = await getUserConfirmation(`[HITL] Confirmation ${i + 1}/${requiredConfirmations} - Type 'yes' to authorize: `);
337
+ if (confirmed) {
338
+ confirmations++;
339
+ logToAudit(`CONFIRMATION ${i + 1}/${requiredConfirmations}: ${operation} - CONFIRMED`);
340
+ }
341
+ else {
342
+ logToAudit(`DENIED: ${classification} - ${operation} (confirmation ${i + 1} denied)`);
343
+ console.log('[HITL] Operation DENIED - insufficient authorization');
344
+ return {
345
+ approved: false,
346
+ classification,
347
+ confirmations,
348
+ delayApplied: 0,
349
+ operator,
350
+ timestamp
351
+ };
352
+ }
353
+ }
354
+ // Apply delay
355
+ await applyOperationDelay(classification);
356
+ logToAudit(`APPROVED: ${classification} - ${operation} (${confirmations} confirmations, ${delay}ms delay)`);
357
+ return {
358
+ approved: true,
359
+ classification,
360
+ confirmations,
361
+ delayApplied: delay,
362
+ operator,
363
+ timestamp
364
+ };
365
+ }
366
+ /**
367
+ * Classify an operation based on its type
368
+ *
369
+ * MQ-9 REAPER MODEL - Correct interpretation:
370
+ * - Reaper can FLY, SURVEIL, RECON autonomously (no HITL needed)
371
+ * - FIRING A HELLFIRE requires human authorization
372
+ *
373
+ * Therefore:
374
+ * - ROUTINE: Recon, analysis, research on ANY target (including APS like F-35, Tesla, SCADA)
375
+ * - ELEVATED: Active probing/fuzzing on any target (logged)
376
+ * - CRITICAL: Developing exploitation capabilities
377
+ * - LETHAL: ONLY actual kinetic EXECUTION - firing, activating, controlling
378
+ *
379
+ * Key insight: Researching an F-35 = fine. Firing its weapons = LETHAL.
380
+ *
381
+ * @author Bo Shang <bo@shang.software>
382
+ */
383
+ export function classifyOperation(operationType) {
384
+ const lowerType = operationType.toLowerCase();
385
+ // ═══════════════════════════════════════════════════════════════════════════
386
+ // LETHAL: ACTUAL KINETIC EXECUTION ONLY
387
+ // Like MQ-9 Reaper: only FIRING requires human authorization
388
+ // Recon/surveillance of any target is autonomous
389
+ // ═══════════════════════════════════════════════════════════════════════════
390
+ // Kinetic EXECUTION verbs - actual actions that cause physical effects
391
+ const lethalExecutionVerbs = [
392
+ 'fire', 'launch', 'detonate', 'activate', 'arm', 'deploy_weapon',
393
+ 'execute_strike', 'engage_target', 'weapons_release',
394
+ 'control_vehicle', 'steer', 'accelerate', 'brake_override',
395
+ 'override_safety', 'disable_safety', 'bypass_interlock',
396
+ 'open_valve', 'close_valve', 'start_pump', 'stop_pump',
397
+ 'spin_centrifuge', 'increase_pressure', 'decrease_pressure',
398
+ 'open_spillway', 'close_dam', 'shutdown_reactor', 'scram',
399
+ 'deliver_insulin', 'deliver_shock', 'stop_ventilator',
400
+ 'move_arm', 'grip', 'cut', 'weld', 'drill',
401
+ 'send_can_command', 'inject_can_frame',
402
+ // Cyber-Kinetic Execution verbs (cyber actions with physical consequences)
403
+ 'execute_cyber_kinetic', 'cyber_physical_attack',
404
+ 'disable_weapons_system', 'corrupt_targeting_data',
405
+ 'spoof_gps', 'jam_navigation', 'manipulate_sensor',
406
+ 'corrupt_flight_control', 'override_autopilot',
407
+ 'disable_madl', 'corrupt_data_link', 'spoof_radar',
408
+ 'inject_false_targets', 'disable_ttnt', 'corrupt_link16',
409
+ 'shutdown_network', 'disable_command_center',
410
+ 'corrupt_firewall', 'bypass_air_gap', 'disable_idps',
411
+ ];
412
+ // Kinetic target + execution verb = LETHAL
413
+ const kineticTargets = [
414
+ // Weapons
415
+ 'hellfire', 'missile', 'munition', 'warhead', 'torpedo', 'bomb',
416
+ 'tomahawk', 'bgm-109', 'cruise_missile', 'guided_missile',
417
+ 'jdam', 'sdb', 'aim-120', 'sidewinder',
418
+ // Military Aircraft & Systems
419
+ 'f-35', 'f35', 'f-22', 'f22', 'f-16', 'f16', 'f-15', 'f15',
420
+ 'b-2', 'b2', 'b-21', 'b21', 'a-10', 'a10',
421
+ 'apache', 'blackhawk', 'chinook',
422
+ 'reaper', 'predator', 'global_hawk',
423
+ 'madl', 'multifunction_data_link', 'ttnt', 'link16',
424
+ 'sadl', 'situational_awareness_data_link',
425
+ 'havequick', 'saturn', 'anti_jam',
426
+ 'cdl', 'common_data_link',
427
+ 'vdl', 'vehicle_data_link',
428
+ 'ifdl', 'intra_flight_data_link',
429
+ 'andvt', 'advanced_narrowband',
430
+ 'tadil', 'tactical_data_link',
431
+ 'jtds', 'jtids',
432
+ 'radar', 'aesa', 'paveway', 'targeting_pod',
433
+ 'ew', 'electronic_warfare', 'sigint', 'elint',
434
+ // Vehicles
435
+ 'tesla', 'vehicle', 'car', 'autopilot', 'fsd',
436
+ 'humvee', 'stryker', 'abrams', 'bradley',
437
+ // DoD Computer Systems
438
+ 'dod_network', 'siprnet', 'niprnet', 'jwics',
439
+ 'disa', 'defense_information_systems_agency',
440
+ 'pentagon_network', 'uscybercom', 'cyber_command',
441
+ 'nsa_network', 'cia_network', 'fbi_network',
442
+ // Contractor Systems
443
+ 'lockheed', 'boeing', 'northrop', 'grumman', 'raytheon',
444
+ 'general_dynamics', 'bae_systems', 'l3harris',
445
+ 'contractor_network', 'defense_contractor',
446
+ // Infrastructure
447
+ 'scada', 'plc', 'reactor', 'centrifuge', 'dam', 'grid',
448
+ // Medical
449
+ 'pacemaker', 'insulin_pump', 'ventilator',
450
+ // Industrial
451
+ 'robot_arm', 'cnc', 'assembly',
452
+ ];
453
+ // Check for LETHAL: kinetic target + execution verb
454
+ for (const verb of lethalExecutionVerbs) {
455
+ if (lowerType.includes(verb)) {
456
+ // Direct execution verb = LETHAL
457
+ console.log(`[APS] LETHAL: Kinetic execution verb '${verb}' detected in '${operationType}'`);
458
+ return 'LETHAL';
459
+ }
460
+ }
461
+ // Check for kinetic target combined with control/command keywords
462
+ const controlKeywords = ['control', 'command', 'actuate', 'trigger', 'operate', 'manipulate'];
463
+ for (const target of kineticTargets) {
464
+ if (lowerType.includes(target)) {
465
+ for (const control of controlKeywords) {
466
+ if (lowerType.includes(control)) {
467
+ console.log(`[APS] LETHAL: Kinetic target '${target}' + control '${control}' in '${operationType}'`);
468
+ return 'LETHAL';
469
+ }
470
+ }
471
+ }
472
+ }
473
+ // ═══════════════════════════════════════════════════════════════════════════
474
+ // CRITICAL: Exploitation development (could lead to kinetic control later)
475
+ // ═══════════════════════════════════════════════════════════════════════════
476
+ const criticalPatterns = [
477
+ 'exploit', 'zero-day', 'zeroday', '0day', 'poc_execution',
478
+ 'privilege_escalation', 'remote_code_execution', 'rce',
479
+ 'rootkit', 'backdoor', 'payload_deployment',
480
+ 'kernel_exploit', 'ring0', 'hypervisor_escape',
481
+ // Military/DoD specific exploitation
482
+ 'weapon_system_exploit', 'madl_exploit', 'data_link_exploit',
483
+ 'radar_exploit', 'aesa_exploit', 'targeting_system_exploit',
484
+ 'flight_control_exploit', 'autopilot_exploit',
485
+ 'dod_network_exploit', 'siprnet_exploit', 'niprnet_exploit',
486
+ 'jwics_exploit', 'pentagon_network_exploit',
487
+ 'cyber_command_exploit', 'uscybercom_exploit',
488
+ 'contractor_network_exploit', 'lockheed_exploit',
489
+ 'boeing_exploit', 'northrop_exploit', 'raytheon_exploit',
490
+ // F-35 specific
491
+ 'f35_exploit', 'f-35_exploit', 'jsf_exploit',
492
+ 'madl_vulnerability', 'ttnt_vulnerability', 'link16_vulnerability',
493
+ // Tomahawk/Weapons
494
+ 'tomahawk_exploit', 'cruise_missile_exploit',
495
+ 'guidance_system_exploit', 'gps_spoofing_exploit',
496
+ // Cyber-Physical bridge
497
+ 'cyber_physical_exploit', 'scada_exploit', 'plc_exploit',
498
+ 'industrial_control_exploit'
499
+ ];
500
+ for (const pattern of criticalPatterns) {
501
+ if (lowerType.includes(pattern))
502
+ return 'CRITICAL';
503
+ }
504
+ // ═══════════════════════════════════════════════════════════════════════════
505
+ // ELEVATED: Active probing/fuzzing (logged but autonomous)
506
+ // ═══════════════════════════════════════════════════════════════════════════
507
+ const elevatedPatterns = [
508
+ 'fuzz', 'scan', 'crash', 'brute', 'enumerate',
509
+ 'probe', 'inject', 'spray',
510
+ // Military/DoD specific active operations
511
+ 'madl_scan', 'data_link_fuzz', 'radar_probe',
512
+ 'aesa_scan', 'targeting_system_fuzz',
513
+ 'flight_control_scan', 'autopilot_fuzz',
514
+ 'dod_network_scan', 'siprnet_enumeration',
515
+ 'niprnet_probe', 'jwics_scan',
516
+ 'pentagon_network_enumeration',
517
+ 'cyber_command_scan', 'uscybercom_probe',
518
+ 'contractor_network_scan', 'lockheed_probe',
519
+ 'boeing_scan', 'northrop_fuzz', 'raytheon_probe',
520
+ // F-35 specific
521
+ 'f35_scan', 'f-35_probe', 'jsf_enumeration',
522
+ 'madl_protocol_fuzz', 'ttnt_scan', 'link16_enumeration',
523
+ // Tomahawk/Weapons
524
+ 'tomahawk_protocol_scan', 'cruise_missile_fuzz',
525
+ 'guidance_system_probe', 'gps_signal_scan',
526
+ // Cyber-Physical bridge
527
+ 'scada_scan', 'plc_fuzz', 'industrial_control_probe'
528
+ ];
529
+ for (const pattern of elevatedPatterns) {
530
+ if (lowerType.includes(pattern))
531
+ return 'ELEVATED';
532
+ }
533
+ // ═══════════════════════════════════════════════════════════════════════════
534
+ // ROUTINE: Everything else - recon, analysis, research
535
+ // This includes APS target research! (Like Reaper doing surveillance)
536
+ //
537
+ // Examples that are ROUTINE:
538
+ // - "f35_recon" - just looking at F-35 systems
539
+ // - "tesla_analysis" - researching Tesla vulnerabilities
540
+ // - "scada_enumeration" - discovering SCADA systems
541
+ // - "military_database_query" - reading about military systems
542
+ //
543
+ // The target doesn't matter - only EXECUTION matters for LETHAL
544
+ // ═══════════════════════════════════════════════════════════════════════════
545
+ return 'ROUTINE';
546
+ }
547
+ /**
548
+ * Execute operation with HITL enforcement based on classification
549
+ *
550
+ * @author Bo Shang <bo@shang.software>
551
+ */
552
+ export async function executeWithHITL(operation, description, fn, target) {
553
+ requireHITL();
554
+ const classification = classifyOperation(operation);
555
+ const approval = await requestOperationApproval(classification, operation, description, target);
556
+ if (!approval.approved) {
557
+ throw new Error(`HITL: Operation '${operation}' denied - ${classification} classification requires human authorization`);
558
+ }
559
+ return fn();
560
+ }
561
+ /**
562
+ * Check if HITL is initialized (without throwing)
563
+ *
564
+ * @author Bo Shang <bo@shang.software>
565
+ */
566
+ export function isHITLInitialized() {
567
+ return hitlInitialized;
568
+ }
569
+ // ═══════════════════════════════════════════════════════════════════════════════
570
+ // Exports
571
+ // ═══════════════════════════════════════════════════════════════════════════════
572
+ export default {
573
+ enforceHITLOnLoad,
574
+ requireHITL,
575
+ verifyHITLIntegrity,
576
+ withHITLEnforcement,
577
+ cleanupHITL,
578
+ requestOperationApproval,
579
+ classifyOperation,
580
+ executeWithHITL,
581
+ isHITLInitialized
582
+ };
583
+ //# sourceMappingURL=hitlEnforcement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitlEnforcement.js","sourceRoot":"","sources":["../../src/core/hitlEnforcement.ts"],"names":[],"mappings":"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"}