@iflow-mcp/jkheadley-instar 0.26.2

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 (1671) hide show
  1. package/.claude/hooks/free-text-guard.sh +117 -0
  2. package/.claude/settings.json +201 -0
  3. package/.claude/skills/autonomous/hooks/autonomous-stop-hook.sh +234 -0
  4. package/.claude/skills/autonomous/hooks/hooks.json +15 -0
  5. package/.claude/skills/autonomous/scripts/setup-autonomous.sh +166 -0
  6. package/.claude/skills/autonomous/skill.md +254 -0
  7. package/.claude/skills/secret-setup/skill.md +210 -0
  8. package/.claude/skills/setup-wizard/skill.md +2132 -0
  9. package/LICENSE +21 -0
  10. package/README.md +214 -0
  11. package/dashboard/favicon.png +0 -0
  12. package/dashboard/index.html +5740 -0
  13. package/dashboard/logo.png +0 -0
  14. package/dist/cli.d.ts +21 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +1782 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/commands/backup.d.ts +16 -0
  19. package/dist/commands/backup.d.ts.map +1 -0
  20. package/dist/commands/backup.js +84 -0
  21. package/dist/commands/backup.js.map +1 -0
  22. package/dist/commands/discovery.d.ts +158 -0
  23. package/dist/commands/discovery.d.ts.map +1 -0
  24. package/dist/commands/discovery.js +532 -0
  25. package/dist/commands/discovery.js.map +1 -0
  26. package/dist/commands/git.d.ts +25 -0
  27. package/dist/commands/git.d.ts.map +1 -0
  28. package/dist/commands/git.js +152 -0
  29. package/dist/commands/git.js.map +1 -0
  30. package/dist/commands/init.d.ts +52 -0
  31. package/dist/commands/init.d.ts.map +1 -0
  32. package/dist/commands/init.js +4211 -0
  33. package/dist/commands/init.js.map +1 -0
  34. package/dist/commands/intent.d.ts +30 -0
  35. package/dist/commands/intent.d.ts.map +1 -0
  36. package/dist/commands/intent.js +349 -0
  37. package/dist/commands/intent.js.map +1 -0
  38. package/dist/commands/job.d.ts +42 -0
  39. package/dist/commands/job.d.ts.map +1 -0
  40. package/dist/commands/job.js +202 -0
  41. package/dist/commands/job.js.map +1 -0
  42. package/dist/commands/knowledge.d.ts +25 -0
  43. package/dist/commands/knowledge.d.ts.map +1 -0
  44. package/dist/commands/knowledge.js +127 -0
  45. package/dist/commands/knowledge.js.map +1 -0
  46. package/dist/commands/machine.d.ts +53 -0
  47. package/dist/commands/machine.d.ts.map +1 -0
  48. package/dist/commands/machine.js +680 -0
  49. package/dist/commands/machine.js.map +1 -0
  50. package/dist/commands/memory.d.ts +24 -0
  51. package/dist/commands/memory.d.ts.map +1 -0
  52. package/dist/commands/memory.js +163 -0
  53. package/dist/commands/memory.js.map +1 -0
  54. package/dist/commands/nuke.d.ts +22 -0
  55. package/dist/commands/nuke.d.ts.map +1 -0
  56. package/dist/commands/nuke.js +216 -0
  57. package/dist/commands/nuke.js.map +1 -0
  58. package/dist/commands/org.d.ts +16 -0
  59. package/dist/commands/org.d.ts.map +1 -0
  60. package/dist/commands/org.js +69 -0
  61. package/dist/commands/org.js.map +1 -0
  62. package/dist/commands/playbook.d.ts +91 -0
  63. package/dist/commands/playbook.d.ts.map +1 -0
  64. package/dist/commands/playbook.js +1016 -0
  65. package/dist/commands/playbook.js.map +1 -0
  66. package/dist/commands/reflect.d.ts +52 -0
  67. package/dist/commands/reflect.d.ts.map +1 -0
  68. package/dist/commands/reflect.js +316 -0
  69. package/dist/commands/reflect.js.map +1 -0
  70. package/dist/commands/relationship.d.ts +17 -0
  71. package/dist/commands/relationship.d.ts.map +1 -0
  72. package/dist/commands/relationship.js +156 -0
  73. package/dist/commands/relationship.js.map +1 -0
  74. package/dist/commands/relay.d.ts +26 -0
  75. package/dist/commands/relay.d.ts.map +1 -0
  76. package/dist/commands/relay.js +121 -0
  77. package/dist/commands/relay.js.map +1 -0
  78. package/dist/commands/review.d.ts +18 -0
  79. package/dist/commands/review.d.ts.map +1 -0
  80. package/dist/commands/review.js +193 -0
  81. package/dist/commands/review.js.map +1 -0
  82. package/dist/commands/semantic.d.ts +37 -0
  83. package/dist/commands/semantic.d.ts.map +1 -0
  84. package/dist/commands/semantic.js +198 -0
  85. package/dist/commands/semantic.js.map +1 -0
  86. package/dist/commands/server.d.ts +37 -0
  87. package/dist/commands/server.d.ts.map +1 -0
  88. package/dist/commands/server.js +4875 -0
  89. package/dist/commands/server.js.map +1 -0
  90. package/dist/commands/setup.d.ts +63 -0
  91. package/dist/commands/setup.d.ts.map +1 -0
  92. package/dist/commands/setup.js +1235 -0
  93. package/dist/commands/setup.js.map +1 -0
  94. package/dist/commands/slack-cli.d.ts +16 -0
  95. package/dist/commands/slack-cli.d.ts.map +1 -0
  96. package/dist/commands/slack-cli.js +259 -0
  97. package/dist/commands/slack-cli.js.map +1 -0
  98. package/dist/commands/status.d.ts +11 -0
  99. package/dist/commands/status.d.ts.map +1 -0
  100. package/dist/commands/status.js +120 -0
  101. package/dist/commands/status.js.map +1 -0
  102. package/dist/commands/user.d.ts +17 -0
  103. package/dist/commands/user.d.ts.map +1 -0
  104. package/dist/commands/user.js +53 -0
  105. package/dist/commands/user.js.map +1 -0
  106. package/dist/commands/whatsapp.d.ts +31 -0
  107. package/dist/commands/whatsapp.d.ts.map +1 -0
  108. package/dist/commands/whatsapp.js +408 -0
  109. package/dist/commands/whatsapp.js.map +1 -0
  110. package/dist/config/ConfigDefaults.d.ts +40 -0
  111. package/dist/config/ConfigDefaults.d.ts.map +1 -0
  112. package/dist/config/ConfigDefaults.js +175 -0
  113. package/dist/config/ConfigDefaults.js.map +1 -0
  114. package/dist/config/LiveConfig.d.ts +97 -0
  115. package/dist/config/LiveConfig.d.ts.map +1 -0
  116. package/dist/config/LiveConfig.js +220 -0
  117. package/dist/config/LiveConfig.js.map +1 -0
  118. package/dist/core/AccessControl.d.ts +91 -0
  119. package/dist/core/AccessControl.d.ts.map +1 -0
  120. package/dist/core/AccessControl.js +184 -0
  121. package/dist/core/AccessControl.js.map +1 -0
  122. package/dist/core/AdaptationValidator.d.ts +44 -0
  123. package/dist/core/AdaptationValidator.d.ts.map +1 -0
  124. package/dist/core/AdaptationValidator.js +132 -0
  125. package/dist/core/AdaptationValidator.js.map +1 -0
  126. package/dist/core/AdaptiveTrust.d.ts +188 -0
  127. package/dist/core/AdaptiveTrust.d.ts.map +1 -0
  128. package/dist/core/AdaptiveTrust.js +354 -0
  129. package/dist/core/AdaptiveTrust.js.map +1 -0
  130. package/dist/core/AgentBus.d.ts +168 -0
  131. package/dist/core/AgentBus.d.ts.map +1 -0
  132. package/dist/core/AgentBus.js +369 -0
  133. package/dist/core/AgentBus.js.map +1 -0
  134. package/dist/core/AgentConnector.d.ts +76 -0
  135. package/dist/core/AgentConnector.d.ts.map +1 -0
  136. package/dist/core/AgentConnector.js +324 -0
  137. package/dist/core/AgentConnector.js.map +1 -0
  138. package/dist/core/AgentRegistry.d.ts +107 -0
  139. package/dist/core/AgentRegistry.d.ts.map +1 -0
  140. package/dist/core/AgentRegistry.js +569 -0
  141. package/dist/core/AgentRegistry.js.map +1 -0
  142. package/dist/core/AnthropicIntelligenceProvider.d.ts +24 -0
  143. package/dist/core/AnthropicIntelligenceProvider.d.ts.map +1 -0
  144. package/dist/core/AnthropicIntelligenceProvider.js +63 -0
  145. package/dist/core/AnthropicIntelligenceProvider.js.map +1 -0
  146. package/dist/core/AuditTrail.d.ts +207 -0
  147. package/dist/core/AuditTrail.d.ts.map +1 -0
  148. package/dist/core/AuditTrail.js +271 -0
  149. package/dist/core/AuditTrail.js.map +1 -0
  150. package/dist/core/AutoApprover.d.ts +63 -0
  151. package/dist/core/AutoApprover.d.ts.map +1 -0
  152. package/dist/core/AutoApprover.js +151 -0
  153. package/dist/core/AutoApprover.js.map +1 -0
  154. package/dist/core/AutoDispatcher.d.ts +170 -0
  155. package/dist/core/AutoDispatcher.d.ts.map +1 -0
  156. package/dist/core/AutoDispatcher.js +647 -0
  157. package/dist/core/AutoDispatcher.js.map +1 -0
  158. package/dist/core/AutoUpdater.d.ts +193 -0
  159. package/dist/core/AutoUpdater.d.ts.map +1 -0
  160. package/dist/core/AutoUpdater.js +648 -0
  161. package/dist/core/AutoUpdater.js.map +1 -0
  162. package/dist/core/AutonomousEvolution.d.ts +168 -0
  163. package/dist/core/AutonomousEvolution.d.ts.map +1 -0
  164. package/dist/core/AutonomousEvolution.js +384 -0
  165. package/dist/core/AutonomousEvolution.js.map +1 -0
  166. package/dist/core/AutonomyProfileManager.d.ts +108 -0
  167. package/dist/core/AutonomyProfileManager.d.ts.map +1 -0
  168. package/dist/core/AutonomyProfileManager.js +323 -0
  169. package/dist/core/AutonomyProfileManager.js.map +1 -0
  170. package/dist/core/AutonomySkill.d.ts +98 -0
  171. package/dist/core/AutonomySkill.d.ts.map +1 -0
  172. package/dist/core/AutonomySkill.js +497 -0
  173. package/dist/core/AutonomySkill.js.map +1 -0
  174. package/dist/core/BackupManager.d.ts +66 -0
  175. package/dist/core/BackupManager.d.ts.map +1 -0
  176. package/dist/core/BackupManager.js +266 -0
  177. package/dist/core/BackupManager.js.map +1 -0
  178. package/dist/core/BitwardenProvider.d.ts +85 -0
  179. package/dist/core/BitwardenProvider.d.ts.map +1 -0
  180. package/dist/core/BitwardenProvider.js +437 -0
  181. package/dist/core/BitwardenProvider.js.map +1 -0
  182. package/dist/core/BlockerLearningLoop.d.ts +99 -0
  183. package/dist/core/BlockerLearningLoop.d.ts.map +1 -0
  184. package/dist/core/BlockerLearningLoop.js +205 -0
  185. package/dist/core/BlockerLearningLoop.js.map +1 -0
  186. package/dist/core/BranchManager.d.ts +165 -0
  187. package/dist/core/BranchManager.d.ts.map +1 -0
  188. package/dist/core/BranchManager.js +413 -0
  189. package/dist/core/BranchManager.js.map +1 -0
  190. package/dist/core/CaffeinateManager.d.ts +50 -0
  191. package/dist/core/CaffeinateManager.d.ts.map +1 -0
  192. package/dist/core/CaffeinateManager.js +189 -0
  193. package/dist/core/CaffeinateManager.js.map +1 -0
  194. package/dist/core/CallbackRegistry.d.ts +67 -0
  195. package/dist/core/CallbackRegistry.d.ts.map +1 -0
  196. package/dist/core/CallbackRegistry.js +145 -0
  197. package/dist/core/CallbackRegistry.js.map +1 -0
  198. package/dist/core/CanonicalState.d.ts +132 -0
  199. package/dist/core/CanonicalState.d.ts.map +1 -0
  200. package/dist/core/CanonicalState.js +297 -0
  201. package/dist/core/CanonicalState.js.map +1 -0
  202. package/dist/core/CapabilityMapper.d.ts +192 -0
  203. package/dist/core/CapabilityMapper.d.ts.map +1 -0
  204. package/dist/core/CapabilityMapper.js +958 -0
  205. package/dist/core/CapabilityMapper.js.map +1 -0
  206. package/dist/core/CapabilityRegistryGenerator.d.ts +72 -0
  207. package/dist/core/CapabilityRegistryGenerator.d.ts.map +1 -0
  208. package/dist/core/CapabilityRegistryGenerator.js +310 -0
  209. package/dist/core/CapabilityRegistryGenerator.js.map +1 -0
  210. package/dist/core/ClaudeCliIntelligenceProvider.d.ts +21 -0
  211. package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -0
  212. package/dist/core/ClaudeCliIntelligenceProvider.js +60 -0
  213. package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -0
  214. package/dist/core/CoherenceGate.d.ts +198 -0
  215. package/dist/core/CoherenceGate.d.ts.map +1 -0
  216. package/dist/core/CoherenceGate.js +986 -0
  217. package/dist/core/CoherenceGate.js.map +1 -0
  218. package/dist/core/CoherenceReviewer.d.ts +104 -0
  219. package/dist/core/CoherenceReviewer.d.ts.map +1 -0
  220. package/dist/core/CoherenceReviewer.js +185 -0
  221. package/dist/core/CoherenceReviewer.js.map +1 -0
  222. package/dist/core/Config.d.ts +32 -0
  223. package/dist/core/Config.d.ts.map +1 -0
  224. package/dist/core/Config.js +332 -0
  225. package/dist/core/Config.js.map +1 -0
  226. package/dist/core/ConflictNegotiator.d.ts +167 -0
  227. package/dist/core/ConflictNegotiator.d.ts.map +1 -0
  228. package/dist/core/ConflictNegotiator.js +280 -0
  229. package/dist/core/ConflictNegotiator.js.map +1 -0
  230. package/dist/core/ContextHierarchy.d.ts +102 -0
  231. package/dist/core/ContextHierarchy.d.ts.map +1 -0
  232. package/dist/core/ContextHierarchy.js +594 -0
  233. package/dist/core/ContextHierarchy.js.map +1 -0
  234. package/dist/core/ContextSnapshotBuilder.d.ts +80 -0
  235. package/dist/core/ContextSnapshotBuilder.d.ts.map +1 -0
  236. package/dist/core/ContextSnapshotBuilder.js +342 -0
  237. package/dist/core/ContextSnapshotBuilder.js.map +1 -0
  238. package/dist/core/ContextualEvaluator.d.ts +103 -0
  239. package/dist/core/ContextualEvaluator.d.ts.map +1 -0
  240. package/dist/core/ContextualEvaluator.js +389 -0
  241. package/dist/core/ContextualEvaluator.js.map +1 -0
  242. package/dist/core/ConvergenceChecker.d.ts +24 -0
  243. package/dist/core/ConvergenceChecker.d.ts.map +1 -0
  244. package/dist/core/ConvergenceChecker.js +113 -0
  245. package/dist/core/ConvergenceChecker.js.map +1 -0
  246. package/dist/core/CoordinationProtocol.d.ts +198 -0
  247. package/dist/core/CoordinationProtocol.d.ts.map +1 -0
  248. package/dist/core/CoordinationProtocol.js +363 -0
  249. package/dist/core/CoordinationProtocol.js.map +1 -0
  250. package/dist/core/CustomReviewerLoader.d.ts +45 -0
  251. package/dist/core/CustomReviewerLoader.d.ts.map +1 -0
  252. package/dist/core/CustomReviewerLoader.js +153 -0
  253. package/dist/core/CustomReviewerLoader.js.map +1 -0
  254. package/dist/core/DecisionJournal.d.ts +56 -0
  255. package/dist/core/DecisionJournal.d.ts.map +1 -0
  256. package/dist/core/DecisionJournal.js +132 -0
  257. package/dist/core/DecisionJournal.js.map +1 -0
  258. package/dist/core/DeferredDispatchTracker.d.ts +91 -0
  259. package/dist/core/DeferredDispatchTracker.d.ts.map +1 -0
  260. package/dist/core/DeferredDispatchTracker.js +213 -0
  261. package/dist/core/DeferredDispatchTracker.js.map +1 -0
  262. package/dist/core/DiscoveryEvaluator.d.ts +131 -0
  263. package/dist/core/DiscoveryEvaluator.d.ts.map +1 -0
  264. package/dist/core/DiscoveryEvaluator.js +377 -0
  265. package/dist/core/DiscoveryEvaluator.js.map +1 -0
  266. package/dist/core/DispatchDecisionJournal.d.ts +83 -0
  267. package/dist/core/DispatchDecisionJournal.d.ts.map +1 -0
  268. package/dist/core/DispatchDecisionJournal.js +181 -0
  269. package/dist/core/DispatchDecisionJournal.js.map +1 -0
  270. package/dist/core/DispatchExecutor.d.ts +127 -0
  271. package/dist/core/DispatchExecutor.d.ts.map +1 -0
  272. package/dist/core/DispatchExecutor.js +355 -0
  273. package/dist/core/DispatchExecutor.js.map +1 -0
  274. package/dist/core/DispatchManager.d.ts +200 -0
  275. package/dist/core/DispatchManager.d.ts.map +1 -0
  276. package/dist/core/DispatchManager.js +524 -0
  277. package/dist/core/DispatchManager.js.map +1 -0
  278. package/dist/core/DispatchScopeEnforcer.d.ts +57 -0
  279. package/dist/core/DispatchScopeEnforcer.d.ts.map +1 -0
  280. package/dist/core/DispatchScopeEnforcer.js +173 -0
  281. package/dist/core/DispatchScopeEnforcer.js.map +1 -0
  282. package/dist/core/DispatchVerifier.d.ts +76 -0
  283. package/dist/core/DispatchVerifier.d.ts.map +1 -0
  284. package/dist/core/DispatchVerifier.js +128 -0
  285. package/dist/core/DispatchVerifier.js.map +1 -0
  286. package/dist/core/EvolutionManager.d.ts +223 -0
  287. package/dist/core/EvolutionManager.d.ts.map +1 -0
  288. package/dist/core/EvolutionManager.js +630 -0
  289. package/dist/core/EvolutionManager.js.map +1 -0
  290. package/dist/core/ExecutionJournal.d.ts +101 -0
  291. package/dist/core/ExecutionJournal.d.ts.map +1 -0
  292. package/dist/core/ExecutionJournal.js +301 -0
  293. package/dist/core/ExecutionJournal.js.map +1 -0
  294. package/dist/core/ExternalOperationGate.d.ts +204 -0
  295. package/dist/core/ExternalOperationGate.d.ts.map +1 -0
  296. package/dist/core/ExternalOperationGate.js +413 -0
  297. package/dist/core/ExternalOperationGate.js.map +1 -0
  298. package/dist/core/FeatureDefinitions.d.ts +14 -0
  299. package/dist/core/FeatureDefinitions.d.ts.map +1 -0
  300. package/dist/core/FeatureDefinitions.js +374 -0
  301. package/dist/core/FeatureDefinitions.js.map +1 -0
  302. package/dist/core/FeatureRegistry.d.ts +337 -0
  303. package/dist/core/FeatureRegistry.d.ts.map +1 -0
  304. package/dist/core/FeatureRegistry.js +863 -0
  305. package/dist/core/FeatureRegistry.js.map +1 -0
  306. package/dist/core/FeedbackManager.d.ts +69 -0
  307. package/dist/core/FeedbackManager.d.ts.map +1 -0
  308. package/dist/core/FeedbackManager.js +284 -0
  309. package/dist/core/FeedbackManager.js.map +1 -0
  310. package/dist/core/FileClassifier.d.ts +74 -0
  311. package/dist/core/FileClassifier.d.ts.map +1 -0
  312. package/dist/core/FileClassifier.js +377 -0
  313. package/dist/core/FileClassifier.js.map +1 -0
  314. package/dist/core/ForegroundRestartWatcher.d.ts +55 -0
  315. package/dist/core/ForegroundRestartWatcher.d.ts.map +1 -0
  316. package/dist/core/ForegroundRestartWatcher.js +116 -0
  317. package/dist/core/ForegroundRestartWatcher.js.map +1 -0
  318. package/dist/core/GitStateManager.d.ts +78 -0
  319. package/dist/core/GitStateManager.d.ts.map +1 -0
  320. package/dist/core/GitStateManager.js +366 -0
  321. package/dist/core/GitStateManager.js.map +1 -0
  322. package/dist/core/GitSync.d.ts +199 -0
  323. package/dist/core/GitSync.d.ts.map +1 -0
  324. package/dist/core/GitSync.js +955 -0
  325. package/dist/core/GitSync.js.map +1 -0
  326. package/dist/core/GlobalInstallCleanup.d.ts +23 -0
  327. package/dist/core/GlobalInstallCleanup.d.ts.map +1 -0
  328. package/dist/core/GlobalInstallCleanup.js +130 -0
  329. package/dist/core/GlobalInstallCleanup.js.map +1 -0
  330. package/dist/core/GlobalSecretStore.d.ts +112 -0
  331. package/dist/core/GlobalSecretStore.d.ts.map +1 -0
  332. package/dist/core/GlobalSecretStore.js +396 -0
  333. package/dist/core/GlobalSecretStore.js.map +1 -0
  334. package/dist/core/HandoffManager.d.ts +163 -0
  335. package/dist/core/HandoffManager.d.ts.map +1 -0
  336. package/dist/core/HandoffManager.js +370 -0
  337. package/dist/core/HandoffManager.js.map +1 -0
  338. package/dist/core/HeartbeatManager.d.ts +120 -0
  339. package/dist/core/HeartbeatManager.d.ts.map +1 -0
  340. package/dist/core/HeartbeatManager.js +240 -0
  341. package/dist/core/HeartbeatManager.js.map +1 -0
  342. package/dist/core/InputGuard.d.ts +98 -0
  343. package/dist/core/InputGuard.d.ts.map +1 -0
  344. package/dist/core/InputGuard.js +316 -0
  345. package/dist/core/InputGuard.js.map +1 -0
  346. package/dist/core/IntentDriftDetector.d.ts +100 -0
  347. package/dist/core/IntentDriftDetector.d.ts.map +1 -0
  348. package/dist/core/IntentDriftDetector.js +325 -0
  349. package/dist/core/IntentDriftDetector.js.map +1 -0
  350. package/dist/core/JobReflector.d.ts +81 -0
  351. package/dist/core/JobReflector.d.ts.map +1 -0
  352. package/dist/core/JobReflector.js +244 -0
  353. package/dist/core/JobReflector.js.map +1 -0
  354. package/dist/core/LLMConflictResolver.d.ts +132 -0
  355. package/dist/core/LLMConflictResolver.d.ts.map +1 -0
  356. package/dist/core/LLMConflictResolver.js +372 -0
  357. package/dist/core/LLMConflictResolver.js.map +1 -0
  358. package/dist/core/LedgerAuth.d.ts +99 -0
  359. package/dist/core/LedgerAuth.d.ts.map +1 -0
  360. package/dist/core/LedgerAuth.js +215 -0
  361. package/dist/core/LedgerAuth.js.map +1 -0
  362. package/dist/core/MachineIdentity.d.ts +196 -0
  363. package/dist/core/MachineIdentity.d.ts.map +1 -0
  364. package/dist/core/MachineIdentity.js +476 -0
  365. package/dist/core/MachineIdentity.js.map +1 -0
  366. package/dist/core/MessageSentinel.d.ts +142 -0
  367. package/dist/core/MessageSentinel.d.ts.map +1 -0
  368. package/dist/core/MessageSentinel.js +426 -0
  369. package/dist/core/MessageSentinel.js.map +1 -0
  370. package/dist/core/MigrationProvenance.d.ts +62 -0
  371. package/dist/core/MigrationProvenance.d.ts.map +1 -0
  372. package/dist/core/MigrationProvenance.js +183 -0
  373. package/dist/core/MigrationProvenance.js.map +1 -0
  374. package/dist/core/MultiMachineCoordinator.d.ts +106 -0
  375. package/dist/core/MultiMachineCoordinator.d.ts.map +1 -0
  376. package/dist/core/MultiMachineCoordinator.js +311 -0
  377. package/dist/core/MultiMachineCoordinator.js.map +1 -0
  378. package/dist/core/NonceStore.d.ts +72 -0
  379. package/dist/core/NonceStore.d.ts.map +1 -0
  380. package/dist/core/NonceStore.js +163 -0
  381. package/dist/core/NonceStore.js.map +1 -0
  382. package/dist/core/OrgIntentManager.d.ts +58 -0
  383. package/dist/core/OrgIntentManager.d.ts.map +1 -0
  384. package/dist/core/OrgIntentManager.js +250 -0
  385. package/dist/core/OrgIntentManager.js.map +1 -0
  386. package/dist/core/OverlapGuard.d.ts +112 -0
  387. package/dist/core/OverlapGuard.d.ts.map +1 -0
  388. package/dist/core/OverlapGuard.js +241 -0
  389. package/dist/core/OverlapGuard.js.map +1 -0
  390. package/dist/core/PairingProtocol.d.ts +129 -0
  391. package/dist/core/PairingProtocol.d.ts.map +1 -0
  392. package/dist/core/PairingProtocol.js +265 -0
  393. package/dist/core/PairingProtocol.js.map +1 -0
  394. package/dist/core/PatternAnalyzer.d.ts +128 -0
  395. package/dist/core/PatternAnalyzer.d.ts.map +1 -0
  396. package/dist/core/PatternAnalyzer.js +388 -0
  397. package/dist/core/PatternAnalyzer.js.map +1 -0
  398. package/dist/core/PlatformActivityRegistry.d.ts +163 -0
  399. package/dist/core/PlatformActivityRegistry.d.ts.map +1 -0
  400. package/dist/core/PlatformActivityRegistry.js +307 -0
  401. package/dist/core/PlatformActivityRegistry.js.map +1 -0
  402. package/dist/core/PolicyEnforcementLayer.d.ts +63 -0
  403. package/dist/core/PolicyEnforcementLayer.d.ts.map +1 -0
  404. package/dist/core/PolicyEnforcementLayer.js +250 -0
  405. package/dist/core/PolicyEnforcementLayer.js.map +1 -0
  406. package/dist/core/PortRegistry.d.ts +9 -0
  407. package/dist/core/PortRegistry.d.ts.map +1 -0
  408. package/dist/core/PortRegistry.js +8 -0
  409. package/dist/core/PortRegistry.js.map +1 -0
  410. package/dist/core/PostUpdateMigrator.d.ts +170 -0
  411. package/dist/core/PostUpdateMigrator.d.ts.map +1 -0
  412. package/dist/core/PostUpdateMigrator.js +3674 -0
  413. package/dist/core/PostUpdateMigrator.js.map +1 -0
  414. package/dist/core/Prerequisites.d.ts +37 -0
  415. package/dist/core/Prerequisites.d.ts.map +1 -0
  416. package/dist/core/Prerequisites.js +272 -0
  417. package/dist/core/Prerequisites.js.map +1 -0
  418. package/dist/core/ProcessIntegrity.d.ts +90 -0
  419. package/dist/core/ProcessIntegrity.d.ts.map +1 -0
  420. package/dist/core/ProcessIntegrity.js +119 -0
  421. package/dist/core/ProcessIntegrity.js.map +1 -0
  422. package/dist/core/ProjectMapper.d.ts +97 -0
  423. package/dist/core/ProjectMapper.d.ts.map +1 -0
  424. package/dist/core/ProjectMapper.js +370 -0
  425. package/dist/core/ProjectMapper.js.map +1 -0
  426. package/dist/core/PromptGuard.d.ts +121 -0
  427. package/dist/core/PromptGuard.d.ts.map +1 -0
  428. package/dist/core/PromptGuard.js +259 -0
  429. package/dist/core/PromptGuard.js.map +1 -0
  430. package/dist/core/RecipientResolver.d.ts +54 -0
  431. package/dist/core/RecipientResolver.d.ts.map +1 -0
  432. package/dist/core/RecipientResolver.js +143 -0
  433. package/dist/core/RecipientResolver.js.map +1 -0
  434. package/dist/core/ReflectionConsolidator.d.ts +73 -0
  435. package/dist/core/ReflectionConsolidator.d.ts.map +1 -0
  436. package/dist/core/ReflectionConsolidator.js +202 -0
  437. package/dist/core/ReflectionConsolidator.js.map +1 -0
  438. package/dist/core/RelationshipManager.d.ts +146 -0
  439. package/dist/core/RelationshipManager.d.ts.map +1 -0
  440. package/dist/core/RelationshipManager.js +736 -0
  441. package/dist/core/RelationshipManager.js.map +1 -0
  442. package/dist/core/RelevanceFilter.d.ts +61 -0
  443. package/dist/core/RelevanceFilter.d.ts.map +1 -0
  444. package/dist/core/RelevanceFilter.js +160 -0
  445. package/dist/core/RelevanceFilter.js.map +1 -0
  446. package/dist/core/ResearchRateLimiter.d.ts +76 -0
  447. package/dist/core/ResearchRateLimiter.d.ts.map +1 -0
  448. package/dist/core/ResearchRateLimiter.js +168 -0
  449. package/dist/core/ResearchRateLimiter.js.map +1 -0
  450. package/dist/core/ResumeValidator.d.ts +58 -0
  451. package/dist/core/ResumeValidator.d.ts.map +1 -0
  452. package/dist/core/ResumeValidator.js +195 -0
  453. package/dist/core/ResumeValidator.js.map +1 -0
  454. package/dist/core/ScopeCoherenceTracker.d.ts +87 -0
  455. package/dist/core/ScopeCoherenceTracker.d.ts.map +1 -0
  456. package/dist/core/ScopeCoherenceTracker.js +226 -0
  457. package/dist/core/ScopeCoherenceTracker.js.map +1 -0
  458. package/dist/core/ScopeVerifier.d.ts +122 -0
  459. package/dist/core/ScopeVerifier.d.ts.map +1 -0
  460. package/dist/core/ScopeVerifier.js +350 -0
  461. package/dist/core/ScopeVerifier.js.map +1 -0
  462. package/dist/core/SecretManager.d.ts +120 -0
  463. package/dist/core/SecretManager.d.ts.map +1 -0
  464. package/dist/core/SecretManager.js +324 -0
  465. package/dist/core/SecretManager.js.map +1 -0
  466. package/dist/core/SecretMigrator.d.ts +39 -0
  467. package/dist/core/SecretMigrator.d.ts.map +1 -0
  468. package/dist/core/SecretMigrator.js +182 -0
  469. package/dist/core/SecretMigrator.js.map +1 -0
  470. package/dist/core/SecretRedactor.d.ts +121 -0
  471. package/dist/core/SecretRedactor.d.ts.map +1 -0
  472. package/dist/core/SecretRedactor.js +309 -0
  473. package/dist/core/SecretRedactor.js.map +1 -0
  474. package/dist/core/SecretStore.d.ts +104 -0
  475. package/dist/core/SecretStore.d.ts.map +1 -0
  476. package/dist/core/SecretStore.js +405 -0
  477. package/dist/core/SecretStore.js.map +1 -0
  478. package/dist/core/SecurityLog.d.ts +58 -0
  479. package/dist/core/SecurityLog.d.ts.map +1 -0
  480. package/dist/core/SecurityLog.js +123 -0
  481. package/dist/core/SecurityLog.js.map +1 -0
  482. package/dist/core/SendGateway.d.ts +77 -0
  483. package/dist/core/SendGateway.d.ts.map +1 -0
  484. package/dist/core/SendGateway.js +181 -0
  485. package/dist/core/SendGateway.js.map +1 -0
  486. package/dist/core/SessionManager.d.ts +304 -0
  487. package/dist/core/SessionManager.d.ts.map +1 -0
  488. package/dist/core/SessionManager.js +1402 -0
  489. package/dist/core/SessionManager.js.map +1 -0
  490. package/dist/core/SleepWakeDetector.d.ts +37 -0
  491. package/dist/core/SleepWakeDetector.d.ts.map +1 -0
  492. package/dist/core/SleepWakeDetector.js +59 -0
  493. package/dist/core/SleepWakeDetector.js.map +1 -0
  494. package/dist/core/SoulManager.d.ts +107 -0
  495. package/dist/core/SoulManager.d.ts.map +1 -0
  496. package/dist/core/SoulManager.js +574 -0
  497. package/dist/core/SoulManager.js.map +1 -0
  498. package/dist/core/StaleProcessGuard.d.ts +113 -0
  499. package/dist/core/StaleProcessGuard.d.ts.map +1 -0
  500. package/dist/core/StaleProcessGuard.js +134 -0
  501. package/dist/core/StaleProcessGuard.js.map +1 -0
  502. package/dist/core/StateManager.d.ts +56 -0
  503. package/dist/core/StateManager.d.ts.map +1 -0
  504. package/dist/core/StateManager.js +266 -0
  505. package/dist/core/StateManager.js.map +1 -0
  506. package/dist/core/StateWriteAuthority.d.ts +101 -0
  507. package/dist/core/StateWriteAuthority.d.ts.map +1 -0
  508. package/dist/core/StateWriteAuthority.js +169 -0
  509. package/dist/core/StateWriteAuthority.js.map +1 -0
  510. package/dist/core/SurfacingTemplates.d.ts +63 -0
  511. package/dist/core/SurfacingTemplates.d.ts.map +1 -0
  512. package/dist/core/SurfacingTemplates.js +138 -0
  513. package/dist/core/SurfacingTemplates.js.map +1 -0
  514. package/dist/core/SyncOrchestrator.d.ts +308 -0
  515. package/dist/core/SyncOrchestrator.d.ts.map +1 -0
  516. package/dist/core/SyncOrchestrator.js +925 -0
  517. package/dist/core/SyncOrchestrator.js.map +1 -0
  518. package/dist/core/TemporalCoherenceChecker.d.ts +140 -0
  519. package/dist/core/TemporalCoherenceChecker.d.ts.map +1 -0
  520. package/dist/core/TemporalCoherenceChecker.js +375 -0
  521. package/dist/core/TemporalCoherenceChecker.js.map +1 -0
  522. package/dist/core/TopicClassifier.d.ts +54 -0
  523. package/dist/core/TopicClassifier.d.ts.map +1 -0
  524. package/dist/core/TopicClassifier.js +144 -0
  525. package/dist/core/TopicClassifier.js.map +1 -0
  526. package/dist/core/TopicResumeMap.d.ts +76 -0
  527. package/dist/core/TopicResumeMap.d.ts.map +1 -0
  528. package/dist/core/TopicResumeMap.js +252 -0
  529. package/dist/core/TopicResumeMap.js.map +1 -0
  530. package/dist/core/TrustElevationTracker.d.ts +178 -0
  531. package/dist/core/TrustElevationTracker.d.ts.map +1 -0
  532. package/dist/core/TrustElevationTracker.js +343 -0
  533. package/dist/core/TrustElevationTracker.js.map +1 -0
  534. package/dist/core/TrustRecovery.d.ts +109 -0
  535. package/dist/core/TrustRecovery.d.ts.map +1 -0
  536. package/dist/core/TrustRecovery.js +190 -0
  537. package/dist/core/TrustRecovery.js.map +1 -0
  538. package/dist/core/UpdateChecker.d.ts +108 -0
  539. package/dist/core/UpdateChecker.d.ts.map +1 -0
  540. package/dist/core/UpdateChecker.js +593 -0
  541. package/dist/core/UpdateChecker.js.map +1 -0
  542. package/dist/core/UpdateGate.d.ts +102 -0
  543. package/dist/core/UpdateGate.d.ts.map +1 -0
  544. package/dist/core/UpdateGate.js +149 -0
  545. package/dist/core/UpdateGate.js.map +1 -0
  546. package/dist/core/UpgradeGuideProcessor.d.ts +105 -0
  547. package/dist/core/UpgradeGuideProcessor.d.ts.map +1 -0
  548. package/dist/core/UpgradeGuideProcessor.js +278 -0
  549. package/dist/core/UpgradeGuideProcessor.js.map +1 -0
  550. package/dist/core/UpgradeNotifyManager.d.ts +98 -0
  551. package/dist/core/UpgradeNotifyManager.d.ts.map +1 -0
  552. package/dist/core/UpgradeNotifyManager.js +205 -0
  553. package/dist/core/UpgradeNotifyManager.js.map +1 -0
  554. package/dist/core/WorkLedger.d.ts +144 -0
  555. package/dist/core/WorkLedger.d.ts.map +1 -0
  556. package/dist/core/WorkLedger.js +246 -0
  557. package/dist/core/WorkLedger.js.map +1 -0
  558. package/dist/core/models.d.ts +70 -0
  559. package/dist/core/models.d.ts.map +1 -0
  560. package/dist/core/models.js +110 -0
  561. package/dist/core/models.js.map +1 -0
  562. package/dist/core/reviewers/capability-accuracy.d.ts +13 -0
  563. package/dist/core/reviewers/capability-accuracy.d.ts.map +1 -0
  564. package/dist/core/reviewers/capability-accuracy.js +38 -0
  565. package/dist/core/reviewers/capability-accuracy.js.map +1 -0
  566. package/dist/core/reviewers/claim-provenance.d.ts +14 -0
  567. package/dist/core/reviewers/claim-provenance.d.ts.map +1 -0
  568. package/dist/core/reviewers/claim-provenance.js +50 -0
  569. package/dist/core/reviewers/claim-provenance.js.map +1 -0
  570. package/dist/core/reviewers/context-completeness.d.ts +13 -0
  571. package/dist/core/reviewers/context-completeness.d.ts.map +1 -0
  572. package/dist/core/reviewers/context-completeness.js +43 -0
  573. package/dist/core/reviewers/context-completeness.js.map +1 -0
  574. package/dist/core/reviewers/conversational-tone.d.ts +13 -0
  575. package/dist/core/reviewers/conversational-tone.d.ts.map +1 -0
  576. package/dist/core/reviewers/conversational-tone.js +55 -0
  577. package/dist/core/reviewers/conversational-tone.js.map +1 -0
  578. package/dist/core/reviewers/escalation-resolution.d.ts +56 -0
  579. package/dist/core/reviewers/escalation-resolution.d.ts.map +1 -0
  580. package/dist/core/reviewers/escalation-resolution.js +239 -0
  581. package/dist/core/reviewers/escalation-resolution.js.map +1 -0
  582. package/dist/core/reviewers/gate-reviewer.d.ts +26 -0
  583. package/dist/core/reviewers/gate-reviewer.d.ts.map +1 -0
  584. package/dist/core/reviewers/gate-reviewer.js +130 -0
  585. package/dist/core/reviewers/gate-reviewer.js.map +1 -0
  586. package/dist/core/reviewers/information-leakage.d.ts +21 -0
  587. package/dist/core/reviewers/information-leakage.d.ts.map +1 -0
  588. package/dist/core/reviewers/information-leakage.js +72 -0
  589. package/dist/core/reviewers/information-leakage.js.map +1 -0
  590. package/dist/core/reviewers/settling-detection.d.ts +13 -0
  591. package/dist/core/reviewers/settling-detection.d.ts.map +1 -0
  592. package/dist/core/reviewers/settling-detection.js +48 -0
  593. package/dist/core/reviewers/settling-detection.js.map +1 -0
  594. package/dist/core/reviewers/url-validity.d.ts +18 -0
  595. package/dist/core/reviewers/url-validity.d.ts.map +1 -0
  596. package/dist/core/reviewers/url-validity.js +60 -0
  597. package/dist/core/reviewers/url-validity.js.map +1 -0
  598. package/dist/core/reviewers/value-alignment.d.ts +14 -0
  599. package/dist/core/reviewers/value-alignment.d.ts.map +1 -0
  600. package/dist/core/reviewers/value-alignment.js +71 -0
  601. package/dist/core/reviewers/value-alignment.js.map +1 -0
  602. package/dist/core/types.d.ts +2159 -0
  603. package/dist/core/types.d.ts.map +1 -0
  604. package/dist/core/types.js +20 -0
  605. package/dist/core/types.js.map +1 -0
  606. package/dist/data/http-hook-templates.d.ts +53 -0
  607. package/dist/data/http-hook-templates.d.ts.map +1 -0
  608. package/dist/data/http-hook-templates.js +64 -0
  609. package/dist/data/http-hook-templates.js.map +1 -0
  610. package/dist/index.d.ts +263 -0
  611. package/dist/index.d.ts.map +1 -0
  612. package/dist/index.js +164 -0
  613. package/dist/index.js.map +1 -0
  614. package/dist/knowledge/CoverageAuditor.d.ts +58 -0
  615. package/dist/knowledge/CoverageAuditor.d.ts.map +1 -0
  616. package/dist/knowledge/CoverageAuditor.js +153 -0
  617. package/dist/knowledge/CoverageAuditor.js.map +1 -0
  618. package/dist/knowledge/IntegrityManager.d.ts +46 -0
  619. package/dist/knowledge/IntegrityManager.d.ts.map +1 -0
  620. package/dist/knowledge/IntegrityManager.js +101 -0
  621. package/dist/knowledge/IntegrityManager.js.map +1 -0
  622. package/dist/knowledge/KnowledgeManager.d.ts +85 -0
  623. package/dist/knowledge/KnowledgeManager.d.ts.map +1 -0
  624. package/dist/knowledge/KnowledgeManager.js +194 -0
  625. package/dist/knowledge/KnowledgeManager.js.map +1 -0
  626. package/dist/knowledge/ProbeRegistry.d.ts +54 -0
  627. package/dist/knowledge/ProbeRegistry.d.ts.map +1 -0
  628. package/dist/knowledge/ProbeRegistry.js +119 -0
  629. package/dist/knowledge/ProbeRegistry.js.map +1 -0
  630. package/dist/knowledge/SelfKnowledgeTree.d.ts +108 -0
  631. package/dist/knowledge/SelfKnowledgeTree.d.ts.map +1 -0
  632. package/dist/knowledge/SelfKnowledgeTree.js +560 -0
  633. package/dist/knowledge/SelfKnowledgeTree.js.map +1 -0
  634. package/dist/knowledge/TreeGenerator.d.ts +57 -0
  635. package/dist/knowledge/TreeGenerator.d.ts.map +1 -0
  636. package/dist/knowledge/TreeGenerator.js +527 -0
  637. package/dist/knowledge/TreeGenerator.js.map +1 -0
  638. package/dist/knowledge/TreeSynthesis.d.ts +24 -0
  639. package/dist/knowledge/TreeSynthesis.d.ts.map +1 -0
  640. package/dist/knowledge/TreeSynthesis.js +61 -0
  641. package/dist/knowledge/TreeSynthesis.js.map +1 -0
  642. package/dist/knowledge/TreeTraversal.d.ts +93 -0
  643. package/dist/knowledge/TreeTraversal.d.ts.map +1 -0
  644. package/dist/knowledge/TreeTraversal.js +359 -0
  645. package/dist/knowledge/TreeTraversal.js.map +1 -0
  646. package/dist/knowledge/TreeTriage.d.ts +80 -0
  647. package/dist/knowledge/TreeTriage.d.ts.map +1 -0
  648. package/dist/knowledge/TreeTriage.js +413 -0
  649. package/dist/knowledge/TreeTriage.js.map +1 -0
  650. package/dist/knowledge/types.d.ts +183 -0
  651. package/dist/knowledge/types.d.ts.map +1 -0
  652. package/dist/knowledge/types.js +28 -0
  653. package/dist/knowledge/types.js.map +1 -0
  654. package/dist/lifeline/MessageQueue.d.ts +42 -0
  655. package/dist/lifeline/MessageQueue.d.ts.map +1 -0
  656. package/dist/lifeline/MessageQueue.js +63 -0
  657. package/dist/lifeline/MessageQueue.js.map +1 -0
  658. package/dist/lifeline/ServerSupervisor.d.ts +203 -0
  659. package/dist/lifeline/ServerSupervisor.d.ts.map +1 -0
  660. package/dist/lifeline/ServerSupervisor.js +1103 -0
  661. package/dist/lifeline/ServerSupervisor.js.map +1 -0
  662. package/dist/lifeline/SlackLifeline.d.ts +43 -0
  663. package/dist/lifeline/SlackLifeline.d.ts.map +1 -0
  664. package/dist/lifeline/SlackLifeline.js +227 -0
  665. package/dist/lifeline/SlackLifeline.js.map +1 -0
  666. package/dist/lifeline/TelegramLifeline.d.ts +180 -0
  667. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -0
  668. package/dist/lifeline/TelegramLifeline.js +1533 -0
  669. package/dist/lifeline/TelegramLifeline.js.map +1 -0
  670. package/dist/memory/ActivityPartitioner.d.ts +67 -0
  671. package/dist/memory/ActivityPartitioner.d.ts.map +1 -0
  672. package/dist/memory/ActivityPartitioner.js +193 -0
  673. package/dist/memory/ActivityPartitioner.js.map +1 -0
  674. package/dist/memory/Chunker.d.ts +39 -0
  675. package/dist/memory/Chunker.d.ts.map +1 -0
  676. package/dist/memory/Chunker.js +154 -0
  677. package/dist/memory/Chunker.js.map +1 -0
  678. package/dist/memory/EmbeddingProvider.d.ts +82 -0
  679. package/dist/memory/EmbeddingProvider.d.ts.map +1 -0
  680. package/dist/memory/EmbeddingProvider.js +168 -0
  681. package/dist/memory/EmbeddingProvider.js.map +1 -0
  682. package/dist/memory/EpisodicMemory.d.ts +141 -0
  683. package/dist/memory/EpisodicMemory.d.ts.map +1 -0
  684. package/dist/memory/EpisodicMemory.js +303 -0
  685. package/dist/memory/EpisodicMemory.js.map +1 -0
  686. package/dist/memory/MemoryExporter.d.ts +82 -0
  687. package/dist/memory/MemoryExporter.d.ts.map +1 -0
  688. package/dist/memory/MemoryExporter.js +233 -0
  689. package/dist/memory/MemoryExporter.js.map +1 -0
  690. package/dist/memory/MemoryIndex.d.ts +76 -0
  691. package/dist/memory/MemoryIndex.d.ts.map +1 -0
  692. package/dist/memory/MemoryIndex.js +413 -0
  693. package/dist/memory/MemoryIndex.js.map +1 -0
  694. package/dist/memory/MemoryMigrator.d.ts +103 -0
  695. package/dist/memory/MemoryMigrator.d.ts.map +1 -0
  696. package/dist/memory/MemoryMigrator.js +510 -0
  697. package/dist/memory/MemoryMigrator.js.map +1 -0
  698. package/dist/memory/SemanticMemory.d.ts +255 -0
  699. package/dist/memory/SemanticMemory.d.ts.map +1 -0
  700. package/dist/memory/SemanticMemory.js +1130 -0
  701. package/dist/memory/SemanticMemory.js.map +1 -0
  702. package/dist/memory/TopicMemory.d.ts +227 -0
  703. package/dist/memory/TopicMemory.d.ts.map +1 -0
  704. package/dist/memory/TopicMemory.js +731 -0
  705. package/dist/memory/TopicMemory.js.map +1 -0
  706. package/dist/memory/TopicSummarizer.d.ts +69 -0
  707. package/dist/memory/TopicSummarizer.d.ts.map +1 -0
  708. package/dist/memory/TopicSummarizer.js +163 -0
  709. package/dist/memory/TopicSummarizer.js.map +1 -0
  710. package/dist/memory/VectorSearch.d.ts +80 -0
  711. package/dist/memory/VectorSearch.d.ts.map +1 -0
  712. package/dist/memory/VectorSearch.js +148 -0
  713. package/dist/memory/VectorSearch.js.map +1 -0
  714. package/dist/memory/WorkingMemoryAssembler.d.ts +122 -0
  715. package/dist/memory/WorkingMemoryAssembler.d.ts.map +1 -0
  716. package/dist/memory/WorkingMemoryAssembler.js +406 -0
  717. package/dist/memory/WorkingMemoryAssembler.js.map +1 -0
  718. package/dist/messaging/AdapterRegistry.d.ts +27 -0
  719. package/dist/messaging/AdapterRegistry.d.ts.map +1 -0
  720. package/dist/messaging/AdapterRegistry.js +40 -0
  721. package/dist/messaging/AdapterRegistry.js.map +1 -0
  722. package/dist/messaging/AgentTokenManager.d.ts +86 -0
  723. package/dist/messaging/AgentTokenManager.d.ts.map +1 -0
  724. package/dist/messaging/AgentTokenManager.js +213 -0
  725. package/dist/messaging/AgentTokenManager.js.map +1 -0
  726. package/dist/messaging/DeliveryRetryManager.d.ts +47 -0
  727. package/dist/messaging/DeliveryRetryManager.d.ts.map +1 -0
  728. package/dist/messaging/DeliveryRetryManager.js +201 -0
  729. package/dist/messaging/DeliveryRetryManager.js.map +1 -0
  730. package/dist/messaging/DropPickup.d.ts +37 -0
  731. package/dist/messaging/DropPickup.d.ts.map +1 -0
  732. package/dist/messaging/DropPickup.js +120 -0
  733. package/dist/messaging/DropPickup.js.map +1 -0
  734. package/dist/messaging/GitSyncTransport.d.ts +120 -0
  735. package/dist/messaging/GitSyncTransport.d.ts.map +1 -0
  736. package/dist/messaging/GitSyncTransport.js +296 -0
  737. package/dist/messaging/GitSyncTransport.js.map +1 -0
  738. package/dist/messaging/MessageDelivery.d.ts +27 -0
  739. package/dist/messaging/MessageDelivery.d.ts.map +1 -0
  740. package/dist/messaging/MessageDelivery.js +90 -0
  741. package/dist/messaging/MessageDelivery.js.map +1 -0
  742. package/dist/messaging/MessageFormatter.d.ts +30 -0
  743. package/dist/messaging/MessageFormatter.d.ts.map +1 -0
  744. package/dist/messaging/MessageFormatter.js +97 -0
  745. package/dist/messaging/MessageFormatter.js.map +1 -0
  746. package/dist/messaging/MessageRouter.d.ts +157 -0
  747. package/dist/messaging/MessageRouter.d.ts.map +1 -0
  748. package/dist/messaging/MessageRouter.js +657 -0
  749. package/dist/messaging/MessageRouter.js.map +1 -0
  750. package/dist/messaging/MessageStore.d.ts +52 -0
  751. package/dist/messaging/MessageStore.d.ts.map +1 -0
  752. package/dist/messaging/MessageStore.js +363 -0
  753. package/dist/messaging/MessageStore.js.map +1 -0
  754. package/dist/messaging/NotificationBatcher.d.ts +95 -0
  755. package/dist/messaging/NotificationBatcher.d.ts.map +1 -0
  756. package/dist/messaging/NotificationBatcher.js +253 -0
  757. package/dist/messaging/NotificationBatcher.js.map +1 -0
  758. package/dist/messaging/SessionSummarySentinel.d.ts +104 -0
  759. package/dist/messaging/SessionSummarySentinel.d.ts.map +1 -0
  760. package/dist/messaging/SessionSummarySentinel.js +386 -0
  761. package/dist/messaging/SessionSummarySentinel.js.map +1 -0
  762. package/dist/messaging/SpawnRequestManager.d.ts +88 -0
  763. package/dist/messaging/SpawnRequestManager.d.ts.map +1 -0
  764. package/dist/messaging/SpawnRequestManager.js +159 -0
  765. package/dist/messaging/SpawnRequestManager.js.map +1 -0
  766. package/dist/messaging/TelegramAdapter.d.ts +636 -0
  767. package/dist/messaging/TelegramAdapter.d.ts.map +1 -0
  768. package/dist/messaging/TelegramAdapter.js +3434 -0
  769. package/dist/messaging/TelegramAdapter.js.map +1 -0
  770. package/dist/messaging/TopicContentValidator.d.ts +81 -0
  771. package/dist/messaging/TopicContentValidator.d.ts.map +1 -0
  772. package/dist/messaging/TopicContentValidator.js +113 -0
  773. package/dist/messaging/TopicContentValidator.js.map +1 -0
  774. package/dist/messaging/WhatsAppAdapter.d.ts +224 -0
  775. package/dist/messaging/WhatsAppAdapter.d.ts.map +1 -0
  776. package/dist/messaging/WhatsAppAdapter.js +736 -0
  777. package/dist/messaging/WhatsAppAdapter.js.map +1 -0
  778. package/dist/messaging/backends/BaileysBackend.d.ts +74 -0
  779. package/dist/messaging/backends/BaileysBackend.d.ts.map +1 -0
  780. package/dist/messaging/backends/BaileysBackend.js +481 -0
  781. package/dist/messaging/backends/BaileysBackend.js.map +1 -0
  782. package/dist/messaging/backends/BusinessApiBackend.d.ts +173 -0
  783. package/dist/messaging/backends/BusinessApiBackend.d.ts.map +1 -0
  784. package/dist/messaging/backends/BusinessApiBackend.js +269 -0
  785. package/dist/messaging/backends/BusinessApiBackend.js.map +1 -0
  786. package/dist/messaging/backends/WhatsAppWebhookRoutes.d.ts +26 -0
  787. package/dist/messaging/backends/WhatsAppWebhookRoutes.d.ts.map +1 -0
  788. package/dist/messaging/backends/WhatsAppWebhookRoutes.js +50 -0
  789. package/dist/messaging/backends/WhatsAppWebhookRoutes.js.map +1 -0
  790. package/dist/messaging/shared/AuthGate.d.ts +102 -0
  791. package/dist/messaging/shared/AuthGate.d.ts.map +1 -0
  792. package/dist/messaging/shared/AuthGate.js +159 -0
  793. package/dist/messaging/shared/AuthGate.js.map +1 -0
  794. package/dist/messaging/shared/CommandRouter.d.ts +84 -0
  795. package/dist/messaging/shared/CommandRouter.d.ts.map +1 -0
  796. package/dist/messaging/shared/CommandRouter.js +145 -0
  797. package/dist/messaging/shared/CommandRouter.js.map +1 -0
  798. package/dist/messaging/shared/CrossPlatformAlerts.d.ts +67 -0
  799. package/dist/messaging/shared/CrossPlatformAlerts.d.ts.map +1 -0
  800. package/dist/messaging/shared/CrossPlatformAlerts.js +134 -0
  801. package/dist/messaging/shared/CrossPlatformAlerts.js.map +1 -0
  802. package/dist/messaging/shared/EncryptedAuthStore.d.ts +51 -0
  803. package/dist/messaging/shared/EncryptedAuthStore.d.ts.map +1 -0
  804. package/dist/messaging/shared/EncryptedAuthStore.js +194 -0
  805. package/dist/messaging/shared/EncryptedAuthStore.js.map +1 -0
  806. package/dist/messaging/shared/FeatureFlags.d.ts +21 -0
  807. package/dist/messaging/shared/FeatureFlags.d.ts.map +1 -0
  808. package/dist/messaging/shared/FeatureFlags.js +21 -0
  809. package/dist/messaging/shared/FeatureFlags.js.map +1 -0
  810. package/dist/messaging/shared/MessageBridge.d.ts +70 -0
  811. package/dist/messaging/shared/MessageBridge.d.ts.map +1 -0
  812. package/dist/messaging/shared/MessageBridge.js +178 -0
  813. package/dist/messaging/shared/MessageBridge.js.map +1 -0
  814. package/dist/messaging/shared/MessageLogger.d.ts +94 -0
  815. package/dist/messaging/shared/MessageLogger.d.ts.map +1 -0
  816. package/dist/messaging/shared/MessageLogger.js +173 -0
  817. package/dist/messaging/shared/MessageLogger.js.map +1 -0
  818. package/dist/messaging/shared/MessagingEventBus.d.ts +149 -0
  819. package/dist/messaging/shared/MessagingEventBus.d.ts.map +1 -0
  820. package/dist/messaging/shared/MessagingEventBus.js +111 -0
  821. package/dist/messaging/shared/MessagingEventBus.js.map +1 -0
  822. package/dist/messaging/shared/PhoneUtils.d.ts +44 -0
  823. package/dist/messaging/shared/PhoneUtils.d.ts.map +1 -0
  824. package/dist/messaging/shared/PhoneUtils.js +110 -0
  825. package/dist/messaging/shared/PhoneUtils.js.map +1 -0
  826. package/dist/messaging/shared/PrivacyConsent.d.ts +61 -0
  827. package/dist/messaging/shared/PrivacyConsent.d.ts.map +1 -0
  828. package/dist/messaging/shared/PrivacyConsent.js +132 -0
  829. package/dist/messaging/shared/PrivacyConsent.js.map +1 -0
  830. package/dist/messaging/shared/SessionChannelRegistry.d.ts +48 -0
  831. package/dist/messaging/shared/SessionChannelRegistry.d.ts.map +1 -0
  832. package/dist/messaging/shared/SessionChannelRegistry.js +144 -0
  833. package/dist/messaging/shared/SessionChannelRegistry.js.map +1 -0
  834. package/dist/messaging/shared/SmartChunker.d.ts +16 -0
  835. package/dist/messaging/shared/SmartChunker.d.ts.map +1 -0
  836. package/dist/messaging/shared/SmartChunker.js +100 -0
  837. package/dist/messaging/shared/SmartChunker.js.map +1 -0
  838. package/dist/messaging/shared/StallDetector.d.ts +85 -0
  839. package/dist/messaging/shared/StallDetector.d.ts.map +1 -0
  840. package/dist/messaging/shared/StallDetector.js +225 -0
  841. package/dist/messaging/shared/StallDetector.js.map +1 -0
  842. package/dist/messaging/shared/index.d.ts +22 -0
  843. package/dist/messaging/shared/index.d.ts.map +1 -0
  844. package/dist/messaging/shared/index.js +13 -0
  845. package/dist/messaging/shared/index.js.map +1 -0
  846. package/dist/messaging/slack/ChannelManager.d.ts +36 -0
  847. package/dist/messaging/slack/ChannelManager.d.ts.map +1 -0
  848. package/dist/messaging/slack/ChannelManager.js +100 -0
  849. package/dist/messaging/slack/ChannelManager.js.map +1 -0
  850. package/dist/messaging/slack/FileHandler.d.ts +30 -0
  851. package/dist/messaging/slack/FileHandler.d.ts.map +1 -0
  852. package/dist/messaging/slack/FileHandler.js +87 -0
  853. package/dist/messaging/slack/FileHandler.js.map +1 -0
  854. package/dist/messaging/slack/RingBuffer.d.ts +22 -0
  855. package/dist/messaging/slack/RingBuffer.d.ts.map +1 -0
  856. package/dist/messaging/slack/RingBuffer.js +48 -0
  857. package/dist/messaging/slack/RingBuffer.js.map +1 -0
  858. package/dist/messaging/slack/SlackAdapter.d.ts +283 -0
  859. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -0
  860. package/dist/messaging/slack/SlackAdapter.js +1524 -0
  861. package/dist/messaging/slack/SlackAdapter.js.map +1 -0
  862. package/dist/messaging/slack/SlackApiClient.d.ts +51 -0
  863. package/dist/messaging/slack/SlackApiClient.d.ts.map +1 -0
  864. package/dist/messaging/slack/SlackApiClient.js +94 -0
  865. package/dist/messaging/slack/SlackApiClient.js.map +1 -0
  866. package/dist/messaging/slack/SocketModeClient.d.ts +44 -0
  867. package/dist/messaging/slack/SocketModeClient.d.ts.map +1 -0
  868. package/dist/messaging/slack/SocketModeClient.js +209 -0
  869. package/dist/messaging/slack/SocketModeClient.js.map +1 -0
  870. package/dist/messaging/slack/index.d.ts +12 -0
  871. package/dist/messaging/slack/index.d.ts.map +1 -0
  872. package/dist/messaging/slack/index.js +15 -0
  873. package/dist/messaging/slack/index.js.map +1 -0
  874. package/dist/messaging/slack/sanitize.d.ts +39 -0
  875. package/dist/messaging/slack/sanitize.d.ts.map +1 -0
  876. package/dist/messaging/slack/sanitize.js +71 -0
  877. package/dist/messaging/slack/sanitize.js.map +1 -0
  878. package/dist/messaging/slack/types.d.ts +186 -0
  879. package/dist/messaging/slack/types.d.ts.map +1 -0
  880. package/dist/messaging/slack/types.js +54 -0
  881. package/dist/messaging/slack/types.js.map +1 -0
  882. package/dist/messaging/types.d.ts +400 -0
  883. package/dist/messaging/types.d.ts.map +1 -0
  884. package/dist/messaging/types.js +89 -0
  885. package/dist/messaging/types.js.map +1 -0
  886. package/dist/monitoring/AccountSwitcher.d.ts +61 -0
  887. package/dist/monitoring/AccountSwitcher.d.ts.map +1 -0
  888. package/dist/monitoring/AccountSwitcher.js +196 -0
  889. package/dist/monitoring/AccountSwitcher.js.map +1 -0
  890. package/dist/monitoring/CoherenceMonitor.d.ts +133 -0
  891. package/dist/monitoring/CoherenceMonitor.d.ts.map +1 -0
  892. package/dist/monitoring/CoherenceMonitor.js +550 -0
  893. package/dist/monitoring/CoherenceMonitor.js.map +1 -0
  894. package/dist/monitoring/CommitmentSentinel.d.ts +57 -0
  895. package/dist/monitoring/CommitmentSentinel.d.ts.map +1 -0
  896. package/dist/monitoring/CommitmentSentinel.js +251 -0
  897. package/dist/monitoring/CommitmentSentinel.js.map +1 -0
  898. package/dist/monitoring/CommitmentTracker.d.ts +186 -0
  899. package/dist/monitoring/CommitmentTracker.d.ts.map +1 -0
  900. package/dist/monitoring/CommitmentTracker.js +522 -0
  901. package/dist/monitoring/CommitmentTracker.js.map +1 -0
  902. package/dist/monitoring/CredentialProvider.d.ts +84 -0
  903. package/dist/monitoring/CredentialProvider.d.ts.map +1 -0
  904. package/dist/monitoring/CredentialProvider.js +196 -0
  905. package/dist/monitoring/CredentialProvider.js.map +1 -0
  906. package/dist/monitoring/DegradationReporter.d.ts +123 -0
  907. package/dist/monitoring/DegradationReporter.d.ts.map +1 -0
  908. package/dist/monitoring/DegradationReporter.js +241 -0
  909. package/dist/monitoring/DegradationReporter.js.map +1 -0
  910. package/dist/monitoring/FeedbackAnomalyDetector.d.ts +51 -0
  911. package/dist/monitoring/FeedbackAnomalyDetector.d.ts.map +1 -0
  912. package/dist/monitoring/FeedbackAnomalyDetector.js +120 -0
  913. package/dist/monitoring/FeedbackAnomalyDetector.js.map +1 -0
  914. package/dist/monitoring/HealthChecker.d.ts +45 -0
  915. package/dist/monitoring/HealthChecker.d.ts.map +1 -0
  916. package/dist/monitoring/HealthChecker.js +219 -0
  917. package/dist/monitoring/HealthChecker.js.map +1 -0
  918. package/dist/monitoring/HomeostasisMonitor.d.ts +102 -0
  919. package/dist/monitoring/HomeostasisMonitor.d.ts.map +1 -0
  920. package/dist/monitoring/HomeostasisMonitor.js +185 -0
  921. package/dist/monitoring/HomeostasisMonitor.js.map +1 -0
  922. package/dist/monitoring/HookEventReceiver.d.ts +132 -0
  923. package/dist/monitoring/HookEventReceiver.d.ts.map +1 -0
  924. package/dist/monitoring/HookEventReceiver.js +209 -0
  925. package/dist/monitoring/HookEventReceiver.js.map +1 -0
  926. package/dist/monitoring/InputClassifier.d.ts +68 -0
  927. package/dist/monitoring/InputClassifier.d.ts.map +1 -0
  928. package/dist/monitoring/InputClassifier.js +243 -0
  929. package/dist/monitoring/InputClassifier.js.map +1 -0
  930. package/dist/monitoring/InstructionsVerifier.d.ts +76 -0
  931. package/dist/monitoring/InstructionsVerifier.d.ts.map +1 -0
  932. package/dist/monitoring/InstructionsVerifier.js +116 -0
  933. package/dist/monitoring/InstructionsVerifier.js.map +1 -0
  934. package/dist/monitoring/MemoryPressureMonitor.d.ts +107 -0
  935. package/dist/monitoring/MemoryPressureMonitor.d.ts.map +1 -0
  936. package/dist/monitoring/MemoryPressureMonitor.js +329 -0
  937. package/dist/monitoring/MemoryPressureMonitor.js.map +1 -0
  938. package/dist/monitoring/OrphanProcessReaper.d.ts +125 -0
  939. package/dist/monitoring/OrphanProcessReaper.d.ts.map +1 -0
  940. package/dist/monitoring/OrphanProcessReaper.js +476 -0
  941. package/dist/monitoring/OrphanProcessReaper.js.map +1 -0
  942. package/dist/monitoring/PresenceProxy.d.ts +167 -0
  943. package/dist/monitoring/PresenceProxy.d.ts.map +1 -0
  944. package/dist/monitoring/PresenceProxy.js +972 -0
  945. package/dist/monitoring/PresenceProxy.js.map +1 -0
  946. package/dist/monitoring/PromptGate.d.ts +91 -0
  947. package/dist/monitoring/PromptGate.d.ts.map +1 -0
  948. package/dist/monitoring/PromptGate.js +411 -0
  949. package/dist/monitoring/PromptGate.js.map +1 -0
  950. package/dist/monitoring/QuotaCollector.d.ts +267 -0
  951. package/dist/monitoring/QuotaCollector.d.ts.map +1 -0
  952. package/dist/monitoring/QuotaCollector.js +790 -0
  953. package/dist/monitoring/QuotaCollector.js.map +1 -0
  954. package/dist/monitoring/QuotaExhaustionDetector.d.ts +21 -0
  955. package/dist/monitoring/QuotaExhaustionDetector.d.ts.map +1 -0
  956. package/dist/monitoring/QuotaExhaustionDetector.js +136 -0
  957. package/dist/monitoring/QuotaExhaustionDetector.js.map +1 -0
  958. package/dist/monitoring/QuotaManager.d.ts +191 -0
  959. package/dist/monitoring/QuotaManager.d.ts.map +1 -0
  960. package/dist/monitoring/QuotaManager.js +575 -0
  961. package/dist/monitoring/QuotaManager.js.map +1 -0
  962. package/dist/monitoring/QuotaNotifier.d.ts +38 -0
  963. package/dist/monitoring/QuotaNotifier.d.ts.map +1 -0
  964. package/dist/monitoring/QuotaNotifier.js +144 -0
  965. package/dist/monitoring/QuotaNotifier.js.map +1 -0
  966. package/dist/monitoring/QuotaTracker.d.ts +92 -0
  967. package/dist/monitoring/QuotaTracker.d.ts.map +1 -0
  968. package/dist/monitoring/QuotaTracker.js +239 -0
  969. package/dist/monitoring/QuotaTracker.js.map +1 -0
  970. package/dist/monitoring/ReflectionMetrics.d.ts +97 -0
  971. package/dist/monitoring/ReflectionMetrics.d.ts.map +1 -0
  972. package/dist/monitoring/ReflectionMetrics.js +170 -0
  973. package/dist/monitoring/ReflectionMetrics.js.map +1 -0
  974. package/dist/monitoring/SessionActivitySentinel.d.ts +95 -0
  975. package/dist/monitoring/SessionActivitySentinel.d.ts.map +1 -0
  976. package/dist/monitoring/SessionActivitySentinel.js +391 -0
  977. package/dist/monitoring/SessionActivitySentinel.js.map +1 -0
  978. package/dist/monitoring/SessionCredentialManager.d.ts +56 -0
  979. package/dist/monitoring/SessionCredentialManager.d.ts.map +1 -0
  980. package/dist/monitoring/SessionCredentialManager.js +91 -0
  981. package/dist/monitoring/SessionCredentialManager.js.map +1 -0
  982. package/dist/monitoring/SessionMigrator.d.ts +234 -0
  983. package/dist/monitoring/SessionMigrator.d.ts.map +1 -0
  984. package/dist/monitoring/SessionMigrator.js +604 -0
  985. package/dist/monitoring/SessionMigrator.js.map +1 -0
  986. package/dist/monitoring/SessionMonitor.d.ts +102 -0
  987. package/dist/monitoring/SessionMonitor.d.ts.map +1 -0
  988. package/dist/monitoring/SessionMonitor.js +238 -0
  989. package/dist/monitoring/SessionMonitor.js.map +1 -0
  990. package/dist/monitoring/SessionRecovery.d.ts +129 -0
  991. package/dist/monitoring/SessionRecovery.d.ts.map +1 -0
  992. package/dist/monitoring/SessionRecovery.js +496 -0
  993. package/dist/monitoring/SessionRecovery.js.map +1 -0
  994. package/dist/monitoring/SessionWatchdog.d.ts +138 -0
  995. package/dist/monitoring/SessionWatchdog.d.ts.map +1 -0
  996. package/dist/monitoring/SessionWatchdog.js +549 -0
  997. package/dist/monitoring/SessionWatchdog.js.map +1 -0
  998. package/dist/monitoring/StallTriageNurse.d.ts +96 -0
  999. package/dist/monitoring/StallTriageNurse.d.ts.map +1 -0
  1000. package/dist/monitoring/StallTriageNurse.js +711 -0
  1001. package/dist/monitoring/StallTriageNurse.js.map +1 -0
  1002. package/dist/monitoring/StallTriageNurse.types.d.ts +124 -0
  1003. package/dist/monitoring/StallTriageNurse.types.d.ts.map +1 -0
  1004. package/dist/monitoring/StallTriageNurse.types.js +5 -0
  1005. package/dist/monitoring/StallTriageNurse.types.js.map +1 -0
  1006. package/dist/monitoring/SubagentTracker.d.ts +86 -0
  1007. package/dist/monitoring/SubagentTracker.d.ts.map +1 -0
  1008. package/dist/monitoring/SubagentTracker.js +199 -0
  1009. package/dist/monitoring/SubagentTracker.js.map +1 -0
  1010. package/dist/monitoring/SystemReviewer.d.ts +243 -0
  1011. package/dist/monitoring/SystemReviewer.d.ts.map +1 -0
  1012. package/dist/monitoring/SystemReviewer.js +697 -0
  1013. package/dist/monitoring/SystemReviewer.js.map +1 -0
  1014. package/dist/monitoring/TelemetryAuth.d.ts +64 -0
  1015. package/dist/monitoring/TelemetryAuth.d.ts.map +1 -0
  1016. package/dist/monitoring/TelemetryAuth.js +141 -0
  1017. package/dist/monitoring/TelemetryAuth.js.map +1 -0
  1018. package/dist/monitoring/TelemetryCollector.d.ts +95 -0
  1019. package/dist/monitoring/TelemetryCollector.d.ts.map +1 -0
  1020. package/dist/monitoring/TelemetryCollector.js +326 -0
  1021. package/dist/monitoring/TelemetryCollector.js.map +1 -0
  1022. package/dist/monitoring/TelemetryHeartbeat.d.ts +160 -0
  1023. package/dist/monitoring/TelemetryHeartbeat.d.ts.map +1 -0
  1024. package/dist/monitoring/TelemetryHeartbeat.js +450 -0
  1025. package/dist/monitoring/TelemetryHeartbeat.js.map +1 -0
  1026. package/dist/monitoring/TriageOrchestrator.d.ts +217 -0
  1027. package/dist/monitoring/TriageOrchestrator.d.ts.map +1 -0
  1028. package/dist/monitoring/TriageOrchestrator.js +801 -0
  1029. package/dist/monitoring/TriageOrchestrator.js.map +1 -0
  1030. package/dist/monitoring/WorktreeMonitor.d.ts +124 -0
  1031. package/dist/monitoring/WorktreeMonitor.d.ts.map +1 -0
  1032. package/dist/monitoring/WorktreeMonitor.js +379 -0
  1033. package/dist/monitoring/WorktreeMonitor.js.map +1 -0
  1034. package/dist/monitoring/crash-detector.d.ts +50 -0
  1035. package/dist/monitoring/crash-detector.d.ts.map +1 -0
  1036. package/dist/monitoring/crash-detector.js +224 -0
  1037. package/dist/monitoring/crash-detector.js.map +1 -0
  1038. package/dist/monitoring/jsonl-truncator.d.ts +44 -0
  1039. package/dist/monitoring/jsonl-truncator.d.ts.map +1 -0
  1040. package/dist/monitoring/jsonl-truncator.js +224 -0
  1041. package/dist/monitoring/jsonl-truncator.js.map +1 -0
  1042. package/dist/monitoring/probes/LifelineProbe.d.ts +38 -0
  1043. package/dist/monitoring/probes/LifelineProbe.d.ts.map +1 -0
  1044. package/dist/monitoring/probes/LifelineProbe.js +285 -0
  1045. package/dist/monitoring/probes/LifelineProbe.js.map +1 -0
  1046. package/dist/monitoring/probes/MessagingProbe.d.ts +23 -0
  1047. package/dist/monitoring/probes/MessagingProbe.d.ts.map +1 -0
  1048. package/dist/monitoring/probes/MessagingProbe.js +214 -0
  1049. package/dist/monitoring/probes/MessagingProbe.js.map +1 -0
  1050. package/dist/monitoring/probes/PlatformProbe.d.ts +15 -0
  1051. package/dist/monitoring/probes/PlatformProbe.d.ts.map +1 -0
  1052. package/dist/monitoring/probes/PlatformProbe.js +222 -0
  1053. package/dist/monitoring/probes/PlatformProbe.js.map +1 -0
  1054. package/dist/monitoring/probes/SchedulerProbe.d.ts +33 -0
  1055. package/dist/monitoring/probes/SchedulerProbe.d.ts.map +1 -0
  1056. package/dist/monitoring/probes/SchedulerProbe.js +196 -0
  1057. package/dist/monitoring/probes/SchedulerProbe.js.map +1 -0
  1058. package/dist/monitoring/probes/SessionProbe.d.ts +28 -0
  1059. package/dist/monitoring/probes/SessionProbe.d.ts.map +1 -0
  1060. package/dist/monitoring/probes/SessionProbe.js +234 -0
  1061. package/dist/monitoring/probes/SessionProbe.js.map +1 -0
  1062. package/dist/monitoring/stall-detector.d.ts +34 -0
  1063. package/dist/monitoring/stall-detector.d.ts.map +1 -0
  1064. package/dist/monitoring/stall-detector.js +151 -0
  1065. package/dist/monitoring/stall-detector.js.map +1 -0
  1066. package/dist/paste/PasteManager.d.ts +154 -0
  1067. package/dist/paste/PasteManager.d.ts.map +1 -0
  1068. package/dist/paste/PasteManager.js +524 -0
  1069. package/dist/paste/PasteManager.js.map +1 -0
  1070. package/dist/paste/TruncationDetector.d.ts +51 -0
  1071. package/dist/paste/TruncationDetector.d.ts.map +1 -0
  1072. package/dist/paste/TruncationDetector.js +220 -0
  1073. package/dist/paste/TruncationDetector.js.map +1 -0
  1074. package/dist/privacy/OutputPrivacyRouter.d.ts +65 -0
  1075. package/dist/privacy/OutputPrivacyRouter.d.ts.map +1 -0
  1076. package/dist/privacy/OutputPrivacyRouter.js +156 -0
  1077. package/dist/privacy/OutputPrivacyRouter.js.map +1 -0
  1078. package/dist/publishing/PrivateViewer.d.ts +63 -0
  1079. package/dist/publishing/PrivateViewer.d.ts.map +1 -0
  1080. package/dist/publishing/PrivateViewer.js +398 -0
  1081. package/dist/publishing/PrivateViewer.js.map +1 -0
  1082. package/dist/publishing/TelegraphService.d.ts +137 -0
  1083. package/dist/publishing/TelegraphService.d.ts.map +1 -0
  1084. package/dist/publishing/TelegraphService.js +410 -0
  1085. package/dist/publishing/TelegraphService.js.map +1 -0
  1086. package/dist/scaffold/bootstrap.d.ts +21 -0
  1087. package/dist/scaffold/bootstrap.d.ts.map +1 -0
  1088. package/dist/scaffold/bootstrap.js +125 -0
  1089. package/dist/scaffold/bootstrap.js.map +1 -0
  1090. package/dist/scaffold/templates.d.ts +47 -0
  1091. package/dist/scaffold/templates.d.ts.map +1 -0
  1092. package/dist/scaffold/templates.js +1506 -0
  1093. package/dist/scaffold/templates.js.map +1 -0
  1094. package/dist/scheduler/IntegrationGate.d.ts +81 -0
  1095. package/dist/scheduler/IntegrationGate.d.ts.map +1 -0
  1096. package/dist/scheduler/IntegrationGate.js +242 -0
  1097. package/dist/scheduler/IntegrationGate.js.map +1 -0
  1098. package/dist/scheduler/JobClaimManager.d.ts +137 -0
  1099. package/dist/scheduler/JobClaimManager.d.ts.map +1 -0
  1100. package/dist/scheduler/JobClaimManager.js +283 -0
  1101. package/dist/scheduler/JobClaimManager.js.map +1 -0
  1102. package/dist/scheduler/JobLoader.d.ts +28 -0
  1103. package/dist/scheduler/JobLoader.d.ts.map +1 -0
  1104. package/dist/scheduler/JobLoader.js +269 -0
  1105. package/dist/scheduler/JobLoader.js.map +1 -0
  1106. package/dist/scheduler/JobRunHistory.d.ts +180 -0
  1107. package/dist/scheduler/JobRunHistory.d.ts.map +1 -0
  1108. package/dist/scheduler/JobRunHistory.js +349 -0
  1109. package/dist/scheduler/JobRunHistory.js.map +1 -0
  1110. package/dist/scheduler/JobScheduler.d.ts +244 -0
  1111. package/dist/scheduler/JobScheduler.d.ts.map +1 -0
  1112. package/dist/scheduler/JobScheduler.js +1085 -0
  1113. package/dist/scheduler/JobScheduler.js.map +1 -0
  1114. package/dist/scheduler/SkipLedger.d.ts +65 -0
  1115. package/dist/scheduler/SkipLedger.d.ts.map +1 -0
  1116. package/dist/scheduler/SkipLedger.js +179 -0
  1117. package/dist/scheduler/SkipLedger.js.map +1 -0
  1118. package/dist/security/LLMSanitizer.d.ts +65 -0
  1119. package/dist/security/LLMSanitizer.d.ts.map +1 -0
  1120. package/dist/security/LLMSanitizer.js +153 -0
  1121. package/dist/security/LLMSanitizer.js.map +1 -0
  1122. package/dist/security/ManifestIntegrity.d.ts +72 -0
  1123. package/dist/security/ManifestIntegrity.d.ts.map +1 -0
  1124. package/dist/security/ManifestIntegrity.js +159 -0
  1125. package/dist/security/ManifestIntegrity.js.map +1 -0
  1126. package/dist/server/AgentServer.d.ts +134 -0
  1127. package/dist/server/AgentServer.d.ts.map +1 -0
  1128. package/dist/server/AgentServer.js +307 -0
  1129. package/dist/server/AgentServer.js.map +1 -0
  1130. package/dist/server/SecretDrop.d.ts +133 -0
  1131. package/dist/server/SecretDrop.d.ts.map +1 -0
  1132. package/dist/server/SecretDrop.js +473 -0
  1133. package/dist/server/SecretDrop.js.map +1 -0
  1134. package/dist/server/WebSocketManager.d.ts +80 -0
  1135. package/dist/server/WebSocketManager.d.ts.map +1 -0
  1136. package/dist/server/WebSocketManager.js +367 -0
  1137. package/dist/server/WebSocketManager.js.map +1 -0
  1138. package/dist/server/fileRoutes.d.ts +19 -0
  1139. package/dist/server/fileRoutes.d.ts.map +1 -0
  1140. package/dist/server/fileRoutes.js +578 -0
  1141. package/dist/server/fileRoutes.js.map +1 -0
  1142. package/dist/server/machineAuth.d.ts +87 -0
  1143. package/dist/server/machineAuth.d.ts.map +1 -0
  1144. package/dist/server/machineAuth.js +188 -0
  1145. package/dist/server/machineAuth.js.map +1 -0
  1146. package/dist/server/machineRoutes.d.ts +49 -0
  1147. package/dist/server/machineRoutes.d.ts.map +1 -0
  1148. package/dist/server/machineRoutes.js +305 -0
  1149. package/dist/server/machineRoutes.js.map +1 -0
  1150. package/dist/server/middleware.d.ts +32 -0
  1151. package/dist/server/middleware.d.ts.map +1 -0
  1152. package/dist/server/middleware.js +202 -0
  1153. package/dist/server/middleware.js.map +1 -0
  1154. package/dist/server/routes.d.ts +132 -0
  1155. package/dist/server/routes.d.ts.map +1 -0
  1156. package/dist/server/routes.js +8124 -0
  1157. package/dist/server/routes.js.map +1 -0
  1158. package/dist/threadline/A2AGateway.d.ts +184 -0
  1159. package/dist/threadline/A2AGateway.d.ts.map +1 -0
  1160. package/dist/threadline/A2AGateway.js +438 -0
  1161. package/dist/threadline/A2AGateway.js.map +1 -0
  1162. package/dist/threadline/AgentCard.d.ts +116 -0
  1163. package/dist/threadline/AgentCard.d.ts.map +1 -0
  1164. package/dist/threadline/AgentCard.js +212 -0
  1165. package/dist/threadline/AgentCard.js.map +1 -0
  1166. package/dist/threadline/AgentDiscovery.d.ts +156 -0
  1167. package/dist/threadline/AgentDiscovery.d.ts.map +1 -0
  1168. package/dist/threadline/AgentDiscovery.js +390 -0
  1169. package/dist/threadline/AgentDiscovery.js.map +1 -0
  1170. package/dist/threadline/AgentTrustManager.d.ts +190 -0
  1171. package/dist/threadline/AgentTrustManager.d.ts.map +1 -0
  1172. package/dist/threadline/AgentTrustManager.js +526 -0
  1173. package/dist/threadline/AgentTrustManager.js.map +1 -0
  1174. package/dist/threadline/ApprovalQueue.d.ts +71 -0
  1175. package/dist/threadline/ApprovalQueue.d.ts.map +1 -0
  1176. package/dist/threadline/ApprovalQueue.js +154 -0
  1177. package/dist/threadline/ApprovalQueue.js.map +1 -0
  1178. package/dist/threadline/AutonomyGate.d.ts +130 -0
  1179. package/dist/threadline/AutonomyGate.d.ts.map +1 -0
  1180. package/dist/threadline/AutonomyGate.js +267 -0
  1181. package/dist/threadline/AutonomyGate.js.map +1 -0
  1182. package/dist/threadline/CircuitBreaker.d.ts +89 -0
  1183. package/dist/threadline/CircuitBreaker.d.ts.map +1 -0
  1184. package/dist/threadline/CircuitBreaker.js +238 -0
  1185. package/dist/threadline/CircuitBreaker.js.map +1 -0
  1186. package/dist/threadline/ComputeMeter.d.ts +114 -0
  1187. package/dist/threadline/ComputeMeter.d.ts.map +1 -0
  1188. package/dist/threadline/ComputeMeter.js +350 -0
  1189. package/dist/threadline/ComputeMeter.js.map +1 -0
  1190. package/dist/threadline/ContentClassifier.d.ts +83 -0
  1191. package/dist/threadline/ContentClassifier.d.ts.map +1 -0
  1192. package/dist/threadline/ContentClassifier.js +201 -0
  1193. package/dist/threadline/ContentClassifier.js.map +1 -0
  1194. package/dist/threadline/ContextThreadMap.d.ts +103 -0
  1195. package/dist/threadline/ContextThreadMap.d.ts.map +1 -0
  1196. package/dist/threadline/ContextThreadMap.js +279 -0
  1197. package/dist/threadline/ContextThreadMap.js.map +1 -0
  1198. package/dist/threadline/DNSVerifier.d.ts +48 -0
  1199. package/dist/threadline/DNSVerifier.d.ts.map +1 -0
  1200. package/dist/threadline/DNSVerifier.js +138 -0
  1201. package/dist/threadline/DNSVerifier.js.map +1 -0
  1202. package/dist/threadline/DigestCollector.d.ts +70 -0
  1203. package/dist/threadline/DigestCollector.d.ts.map +1 -0
  1204. package/dist/threadline/DigestCollector.js +146 -0
  1205. package/dist/threadline/DigestCollector.js.map +1 -0
  1206. package/dist/threadline/HandshakeManager.d.ts +130 -0
  1207. package/dist/threadline/HandshakeManager.d.ts.map +1 -0
  1208. package/dist/threadline/HandshakeManager.js +402 -0
  1209. package/dist/threadline/HandshakeManager.js.map +1 -0
  1210. package/dist/threadline/InboundMessageGate.d.ts +80 -0
  1211. package/dist/threadline/InboundMessageGate.d.ts.map +1 -0
  1212. package/dist/threadline/InboundMessageGate.js +241 -0
  1213. package/dist/threadline/InboundMessageGate.js.map +1 -0
  1214. package/dist/threadline/InvitationManager.d.ts +91 -0
  1215. package/dist/threadline/InvitationManager.d.ts.map +1 -0
  1216. package/dist/threadline/InvitationManager.js +228 -0
  1217. package/dist/threadline/InvitationManager.js.map +1 -0
  1218. package/dist/threadline/ListenerSessionManager.d.ts +147 -0
  1219. package/dist/threadline/ListenerSessionManager.d.ts.map +1 -0
  1220. package/dist/threadline/ListenerSessionManager.js +326 -0
  1221. package/dist/threadline/ListenerSessionManager.js.map +1 -0
  1222. package/dist/threadline/MCPAuth.d.ts +98 -0
  1223. package/dist/threadline/MCPAuth.d.ts.map +1 -0
  1224. package/dist/threadline/MCPAuth.js +228 -0
  1225. package/dist/threadline/MCPAuth.js.map +1 -0
  1226. package/dist/threadline/OpenClawBridge.d.ts +143 -0
  1227. package/dist/threadline/OpenClawBridge.d.ts.map +1 -0
  1228. package/dist/threadline/OpenClawBridge.js +336 -0
  1229. package/dist/threadline/OpenClawBridge.js.map +1 -0
  1230. package/dist/threadline/OpenClawSkillManifest.d.ts +47 -0
  1231. package/dist/threadline/OpenClawSkillManifest.d.ts.map +1 -0
  1232. package/dist/threadline/OpenClawSkillManifest.js +148 -0
  1233. package/dist/threadline/OpenClawSkillManifest.js.map +1 -0
  1234. package/dist/threadline/RateLimiter.d.ts +105 -0
  1235. package/dist/threadline/RateLimiter.d.ts.map +1 -0
  1236. package/dist/threadline/RateLimiter.js +236 -0
  1237. package/dist/threadline/RateLimiter.js.map +1 -0
  1238. package/dist/threadline/RelayGroundingPreamble.d.ts +48 -0
  1239. package/dist/threadline/RelayGroundingPreamble.d.ts.map +1 -0
  1240. package/dist/threadline/RelayGroundingPreamble.js +68 -0
  1241. package/dist/threadline/RelayGroundingPreamble.js.map +1 -0
  1242. package/dist/threadline/SessionLifecycle.d.ts +136 -0
  1243. package/dist/threadline/SessionLifecycle.d.ts.map +1 -0
  1244. package/dist/threadline/SessionLifecycle.js +317 -0
  1245. package/dist/threadline/SessionLifecycle.js.map +1 -0
  1246. package/dist/threadline/ThreadResumeMap.d.ts +128 -0
  1247. package/dist/threadline/ThreadResumeMap.d.ts.map +1 -0
  1248. package/dist/threadline/ThreadResumeMap.js +324 -0
  1249. package/dist/threadline/ThreadResumeMap.js.map +1 -0
  1250. package/dist/threadline/ThreadlineBootstrap.d.ts +68 -0
  1251. package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -0
  1252. package/dist/threadline/ThreadlineBootstrap.js +293 -0
  1253. package/dist/threadline/ThreadlineBootstrap.js.map +1 -0
  1254. package/dist/threadline/ThreadlineCrypto.d.ts +53 -0
  1255. package/dist/threadline/ThreadlineCrypto.d.ts.map +1 -0
  1256. package/dist/threadline/ThreadlineCrypto.js +123 -0
  1257. package/dist/threadline/ThreadlineCrypto.js.map +1 -0
  1258. package/dist/threadline/ThreadlineEndpoints.d.ts +35 -0
  1259. package/dist/threadline/ThreadlineEndpoints.d.ts.map +1 -0
  1260. package/dist/threadline/ThreadlineEndpoints.js +313 -0
  1261. package/dist/threadline/ThreadlineEndpoints.js.map +1 -0
  1262. package/dist/threadline/ThreadlineMCPServer.d.ts +165 -0
  1263. package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -0
  1264. package/dist/threadline/ThreadlineMCPServer.js +885 -0
  1265. package/dist/threadline/ThreadlineMCPServer.js.map +1 -0
  1266. package/dist/threadline/ThreadlineRouter.d.ts +105 -0
  1267. package/dist/threadline/ThreadlineRouter.d.ts.map +1 -0
  1268. package/dist/threadline/ThreadlineRouter.js +323 -0
  1269. package/dist/threadline/ThreadlineRouter.js.map +1 -0
  1270. package/dist/threadline/TrustBootstrap.d.ts +92 -0
  1271. package/dist/threadline/TrustBootstrap.d.ts.map +1 -0
  1272. package/dist/threadline/TrustBootstrap.js +256 -0
  1273. package/dist/threadline/TrustBootstrap.js.map +1 -0
  1274. package/dist/threadline/adapters/AutoGenTool.d.ts +42 -0
  1275. package/dist/threadline/adapters/AutoGenTool.d.ts.map +1 -0
  1276. package/dist/threadline/adapters/AutoGenTool.js +145 -0
  1277. package/dist/threadline/adapters/AutoGenTool.js.map +1 -0
  1278. package/dist/threadline/adapters/CrewAITool.d.ts +31 -0
  1279. package/dist/threadline/adapters/CrewAITool.d.ts.map +1 -0
  1280. package/dist/threadline/adapters/CrewAITool.js +112 -0
  1281. package/dist/threadline/adapters/CrewAITool.js.map +1 -0
  1282. package/dist/threadline/adapters/LangGraphTool.d.ts +48 -0
  1283. package/dist/threadline/adapters/LangGraphTool.d.ts.map +1 -0
  1284. package/dist/threadline/adapters/LangGraphTool.js +153 -0
  1285. package/dist/threadline/adapters/LangGraphTool.js.map +1 -0
  1286. package/dist/threadline/adapters/RESTServer.d.ts +74 -0
  1287. package/dist/threadline/adapters/RESTServer.d.ts.map +1 -0
  1288. package/dist/threadline/adapters/RESTServer.js +291 -0
  1289. package/dist/threadline/adapters/RESTServer.js.map +1 -0
  1290. package/dist/threadline/adapters/index.d.ts +14 -0
  1291. package/dist/threadline/adapters/index.d.ts.map +1 -0
  1292. package/dist/threadline/adapters/index.js +10 -0
  1293. package/dist/threadline/adapters/index.js.map +1 -0
  1294. package/dist/threadline/client/IdentityManager.d.ts +40 -0
  1295. package/dist/threadline/client/IdentityManager.d.ts.map +1 -0
  1296. package/dist/threadline/client/IdentityManager.js +106 -0
  1297. package/dist/threadline/client/IdentityManager.js.map +1 -0
  1298. package/dist/threadline/client/MessageEncryptor.d.ts +63 -0
  1299. package/dist/threadline/client/MessageEncryptor.d.ts.map +1 -0
  1300. package/dist/threadline/client/MessageEncryptor.js +195 -0
  1301. package/dist/threadline/client/MessageEncryptor.js.map +1 -0
  1302. package/dist/threadline/client/RegistryRestClient.d.ts +46 -0
  1303. package/dist/threadline/client/RegistryRestClient.d.ts.map +1 -0
  1304. package/dist/threadline/client/RegistryRestClient.js +114 -0
  1305. package/dist/threadline/client/RegistryRestClient.js.map +1 -0
  1306. package/dist/threadline/client/RelayClient.d.ts +77 -0
  1307. package/dist/threadline/client/RelayClient.d.ts.map +1 -0
  1308. package/dist/threadline/client/RelayClient.js +249 -0
  1309. package/dist/threadline/client/RelayClient.js.map +1 -0
  1310. package/dist/threadline/client/ThreadlineClient.d.ts +117 -0
  1311. package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -0
  1312. package/dist/threadline/client/ThreadlineClient.js +286 -0
  1313. package/dist/threadline/client/ThreadlineClient.js.map +1 -0
  1314. package/dist/threadline/client/index.d.ts +14 -0
  1315. package/dist/threadline/client/index.d.ts.map +1 -0
  1316. package/dist/threadline/client/index.js +9 -0
  1317. package/dist/threadline/client/index.js.map +1 -0
  1318. package/dist/threadline/index.d.ts +81 -0
  1319. package/dist/threadline/index.d.ts.map +1 -0
  1320. package/dist/threadline/index.js +57 -0
  1321. package/dist/threadline/index.js.map +1 -0
  1322. package/dist/threadline/mcp-stdio-entry.d.ts +24 -0
  1323. package/dist/threadline/mcp-stdio-entry.d.ts.map +1 -0
  1324. package/dist/threadline/mcp-stdio-entry.js +230 -0
  1325. package/dist/threadline/mcp-stdio-entry.js.map +1 -0
  1326. package/dist/threadline/relay/A2ABridge.d.ts +91 -0
  1327. package/dist/threadline/relay/A2ABridge.d.ts.map +1 -0
  1328. package/dist/threadline/relay/A2ABridge.js +457 -0
  1329. package/dist/threadline/relay/A2ABridge.js.map +1 -0
  1330. package/dist/threadline/relay/AbuseDetector.d.ts +131 -0
  1331. package/dist/threadline/relay/AbuseDetector.d.ts.map +1 -0
  1332. package/dist/threadline/relay/AbuseDetector.js +358 -0
  1333. package/dist/threadline/relay/AbuseDetector.js.map +1 -0
  1334. package/dist/threadline/relay/AdminServer.d.ts +55 -0
  1335. package/dist/threadline/relay/AdminServer.d.ts.map +1 -0
  1336. package/dist/threadline/relay/AdminServer.js +215 -0
  1337. package/dist/threadline/relay/AdminServer.js.map +1 -0
  1338. package/dist/threadline/relay/ConnectionManager.d.ts +86 -0
  1339. package/dist/threadline/relay/ConnectionManager.d.ts.map +1 -0
  1340. package/dist/threadline/relay/ConnectionManager.js +356 -0
  1341. package/dist/threadline/relay/ConnectionManager.js.map +1 -0
  1342. package/dist/threadline/relay/MessageRouter.d.ts +46 -0
  1343. package/dist/threadline/relay/MessageRouter.d.ts.map +1 -0
  1344. package/dist/threadline/relay/MessageRouter.js +138 -0
  1345. package/dist/threadline/relay/MessageRouter.js.map +1 -0
  1346. package/dist/threadline/relay/OfflineQueue.d.ts +87 -0
  1347. package/dist/threadline/relay/OfflineQueue.d.ts.map +1 -0
  1348. package/dist/threadline/relay/OfflineQueue.js +137 -0
  1349. package/dist/threadline/relay/OfflineQueue.js.map +1 -0
  1350. package/dist/threadline/relay/PresenceRegistry.d.ts +62 -0
  1351. package/dist/threadline/relay/PresenceRegistry.d.ts.map +1 -0
  1352. package/dist/threadline/relay/PresenceRegistry.js +148 -0
  1353. package/dist/threadline/relay/PresenceRegistry.js.map +1 -0
  1354. package/dist/threadline/relay/RegistryAuth.d.ts +45 -0
  1355. package/dist/threadline/relay/RegistryAuth.d.ts.map +1 -0
  1356. package/dist/threadline/relay/RegistryAuth.js +118 -0
  1357. package/dist/threadline/relay/RegistryAuth.js.map +1 -0
  1358. package/dist/threadline/relay/RegistryStore.d.ts +149 -0
  1359. package/dist/threadline/relay/RegistryStore.d.ts.map +1 -0
  1360. package/dist/threadline/relay/RegistryStore.js +542 -0
  1361. package/dist/threadline/relay/RegistryStore.js.map +1 -0
  1362. package/dist/threadline/relay/RelayMetrics.d.ts +62 -0
  1363. package/dist/threadline/relay/RelayMetrics.d.ts.map +1 -0
  1364. package/dist/threadline/relay/RelayMetrics.js +149 -0
  1365. package/dist/threadline/relay/RelayMetrics.js.map +1 -0
  1366. package/dist/threadline/relay/RelayRateLimiter.d.ts +58 -0
  1367. package/dist/threadline/relay/RelayRateLimiter.d.ts.map +1 -0
  1368. package/dist/threadline/relay/RelayRateLimiter.js +116 -0
  1369. package/dist/threadline/relay/RelayRateLimiter.js.map +1 -0
  1370. package/dist/threadline/relay/RelayServer.d.ts +94 -0
  1371. package/dist/threadline/relay/RelayServer.d.ts.map +1 -0
  1372. package/dist/threadline/relay/RelayServer.js +1049 -0
  1373. package/dist/threadline/relay/RelayServer.js.map +1 -0
  1374. package/dist/threadline/relay/index.d.ts +28 -0
  1375. package/dist/threadline/relay/index.d.ts.map +1 -0
  1376. package/dist/threadline/relay/index.js +17 -0
  1377. package/dist/threadline/relay/index.js.map +1 -0
  1378. package/dist/threadline/relay/types.d.ts +215 -0
  1379. package/dist/threadline/relay/types.d.ts.map +1 -0
  1380. package/dist/threadline/relay/types.js +21 -0
  1381. package/dist/threadline/relay/types.js.map +1 -0
  1382. package/dist/threadline/types.d.ts +39 -0
  1383. package/dist/threadline/types.d.ts.map +1 -0
  1384. package/dist/threadline/types.js +10 -0
  1385. package/dist/threadline/types.js.map +1 -0
  1386. package/dist/tunnel/TunnelManager.d.ts +113 -0
  1387. package/dist/tunnel/TunnelManager.d.ts.map +1 -0
  1388. package/dist/tunnel/TunnelManager.js +474 -0
  1389. package/dist/tunnel/TunnelManager.js.map +1 -0
  1390. package/dist/types/pipeline.d.ts +203 -0
  1391. package/dist/types/pipeline.d.ts.map +1 -0
  1392. package/dist/types/pipeline.js +152 -0
  1393. package/dist/types/pipeline.js.map +1 -0
  1394. package/dist/users/GdprCommands.d.ts +44 -0
  1395. package/dist/users/GdprCommands.d.ts.map +1 -0
  1396. package/dist/users/GdprCommands.js +153 -0
  1397. package/dist/users/GdprCommands.js.map +1 -0
  1398. package/dist/users/OnboardingGate.d.ts +107 -0
  1399. package/dist/users/OnboardingGate.d.ts.map +1 -0
  1400. package/dist/users/OnboardingGate.js +240 -0
  1401. package/dist/users/OnboardingGate.js.map +1 -0
  1402. package/dist/users/UserContextBuilder.d.ts +47 -0
  1403. package/dist/users/UserContextBuilder.d.ts.map +1 -0
  1404. package/dist/users/UserContextBuilder.js +174 -0
  1405. package/dist/users/UserContextBuilder.js.map +1 -0
  1406. package/dist/users/UserManager.d.ts +76 -0
  1407. package/dist/users/UserManager.d.ts.map +1 -0
  1408. package/dist/users/UserManager.js +213 -0
  1409. package/dist/users/UserManager.js.map +1 -0
  1410. package/dist/users/UserOnboarding.d.ts +145 -0
  1411. package/dist/users/UserOnboarding.d.ts.map +1 -0
  1412. package/dist/users/UserOnboarding.js +488 -0
  1413. package/dist/users/UserOnboarding.js.map +1 -0
  1414. package/dist/users/UserPropagator.d.ts +75 -0
  1415. package/dist/users/UserPropagator.d.ts.map +1 -0
  1416. package/dist/users/UserPropagator.js +145 -0
  1417. package/dist/users/UserPropagator.js.map +1 -0
  1418. package/dist/utils/jsonl-rotation.d.ts +27 -0
  1419. package/dist/utils/jsonl-rotation.d.ts.map +1 -0
  1420. package/dist/utils/jsonl-rotation.js +63 -0
  1421. package/dist/utils/jsonl-rotation.js.map +1 -0
  1422. package/dist/utils/privacy.d.ts +88 -0
  1423. package/dist/utils/privacy.d.ts.map +1 -0
  1424. package/dist/utils/privacy.js +182 -0
  1425. package/dist/utils/privacy.js.map +1 -0
  1426. package/dist/utils/sanitize.d.ts +81 -0
  1427. package/dist/utils/sanitize.d.ts.map +1 -0
  1428. package/dist/utils/sanitize.js +122 -0
  1429. package/dist/utils/sanitize.js.map +1 -0
  1430. package/package.json +1 -0
  1431. package/playbook-scripts/atomic_write.py +133 -0
  1432. package/playbook-scripts/bootstrap-manifest.json +92 -0
  1433. package/playbook-scripts/playbook-annotate-context.py +239 -0
  1434. package/playbook-scripts/playbook-assemble.py +385 -0
  1435. package/playbook-scripts/playbook-dashboard.py +242 -0
  1436. package/playbook-scripts/playbook-decay.py +377 -0
  1437. package/playbook-scripts/playbook-dedup-job.py +252 -0
  1438. package/playbook-scripts/playbook-dedup.py +341 -0
  1439. package/playbook-scripts/playbook-delta-validator.py +576 -0
  1440. package/playbook-scripts/playbook-dsar.py +291 -0
  1441. package/playbook-scripts/playbook-eval-log.py +425 -0
  1442. package/playbook-scripts/playbook-failsafe.py +513 -0
  1443. package/playbook-scripts/playbook-feedback-quarantine.py +335 -0
  1444. package/playbook-scripts/playbook-history.py +293 -0
  1445. package/playbook-scripts/playbook-hmac.py +224 -0
  1446. package/playbook-scripts/playbook-lifecycle.py +952 -0
  1447. package/playbook-scripts/playbook-manifest.py +458 -0
  1448. package/playbook-scripts/playbook-micro-eval.py +316 -0
  1449. package/playbook-scripts/playbook-migrate-lessons.py +396 -0
  1450. package/playbook-scripts/playbook-mount.py +393 -0
  1451. package/playbook-scripts/playbook-offline-adapt.py +323 -0
  1452. package/playbook-scripts/playbook-pii-screen.py +207 -0
  1453. package/playbook-scripts/playbook-reflector.py +266 -0
  1454. package/playbook-scripts/playbook-relevance.py +269 -0
  1455. package/playbook-scripts/playbook-retirement.py +365 -0
  1456. package/playbook-scripts/playbook-schema-validate.py +267 -0
  1457. package/playbook-scripts/playbook-scratchpad.py +346 -0
  1458. package/playbook-scripts/playbook-semantic-verify.py +280 -0
  1459. package/playbook-scripts/playbook-spawn-contract.py +341 -0
  1460. package/playbook-scripts/playbook-token-reestimate.py +248 -0
  1461. package/playbook-scripts/playbook-verify.py +357 -0
  1462. package/playbook-scripts/playbook_backend.py +249 -0
  1463. package/playbook-scripts/playbook_paths.py +232 -0
  1464. package/playbook-scripts/schemas/context-delta.schema.json +137 -0
  1465. package/playbook-scripts/schemas/context-manifest.schema.json +200 -0
  1466. package/playbook-scripts/schemas/playbook-config.schema.json +184 -0
  1467. package/scripts/analyze-release.js +752 -0
  1468. package/scripts/check-upgrade-guide.js +373 -0
  1469. package/scripts/collect-metrics.py +248 -0
  1470. package/scripts/demo-two-agents.mjs +187 -0
  1471. package/scripts/fix-better-sqlite3.cjs +100 -0
  1472. package/scripts/generate-builtin-manifest.cjs +440 -0
  1473. package/scripts/pre-push-gate.js +177 -0
  1474. package/scripts/relay-entrypoint.mjs +18 -0
  1475. package/scripts/seed-registry.mjs +258 -0
  1476. package/scripts/telemetry-worker/worker.js +776 -0
  1477. package/scripts/telemetry-worker/wrangler.toml +7 -0
  1478. package/scripts/test-bootstrap-relay.mjs +90 -0
  1479. package/scripts/test-multi-agent-relay.mjs +395 -0
  1480. package/scripts/test-relay-cloud.mjs +389 -0
  1481. package/scripts/test-relay-live.mjs +550 -0
  1482. package/src/data/builtin-manifest.json +1463 -0
  1483. package/src/data/http-hook-templates.ts +81 -0
  1484. package/src/templates/hooks/compaction-recovery.sh +371 -0
  1485. package/src/templates/hooks/dangerous-command-guard.sh +100 -0
  1486. package/src/templates/hooks/free-text-guard.sh +96 -0
  1487. package/src/templates/hooks/grounding-before-messaging.sh +52 -0
  1488. package/src/templates/hooks/session-start.sh +339 -0
  1489. package/src/templates/hooks/settings-template.json +142 -0
  1490. package/src/templates/hooks/slack-channel-context.sh +98 -0
  1491. package/src/templates/hooks/telegram-topic-context.sh +117 -0
  1492. package/src/templates/scripts/convergence-check.sh +99 -0
  1493. package/src/templates/scripts/git-sync-gate.sh +89 -0
  1494. package/src/templates/scripts/health-watchdog.sh +63 -0
  1495. package/src/templates/scripts/serendipity-capture.sh +345 -0
  1496. package/src/templates/scripts/slack-reply.sh +74 -0
  1497. package/src/templates/scripts/smart-fetch.py +215 -0
  1498. package/src/templates/scripts/telegram-reply.sh +67 -0
  1499. package/src/templates/scripts/whatsapp-reply.sh +68 -0
  1500. package/upgrades/0.10.0.md +254 -0
  1501. package/upgrades/0.10.1.md +47 -0
  1502. package/upgrades/0.10.2.md +26 -0
  1503. package/upgrades/0.10.3.md +23 -0
  1504. package/upgrades/0.10.4.md +26 -0
  1505. package/upgrades/0.10.5.md +19 -0
  1506. package/upgrades/0.10.6.md +35 -0
  1507. package/upgrades/0.10.7.md +48 -0
  1508. package/upgrades/0.10.8.md +53 -0
  1509. package/upgrades/0.10.9.md +21 -0
  1510. package/upgrades/0.11.0.md +146 -0
  1511. package/upgrades/0.12.0.md +31 -0
  1512. package/upgrades/0.12.1.md +21 -0
  1513. package/upgrades/0.12.10.md +26 -0
  1514. package/upgrades/0.12.11.md +23 -0
  1515. package/upgrades/0.12.12.md +23 -0
  1516. package/upgrades/0.12.13.md +19 -0
  1517. package/upgrades/0.12.14.md +21 -0
  1518. package/upgrades/0.12.15.md +26 -0
  1519. package/upgrades/0.12.16.md +33 -0
  1520. package/upgrades/0.12.17.md +38 -0
  1521. package/upgrades/0.12.18.md +27 -0
  1522. package/upgrades/0.12.19.md +31 -0
  1523. package/upgrades/0.12.2.md +27 -0
  1524. package/upgrades/0.12.20.md +24 -0
  1525. package/upgrades/0.12.21.md +28 -0
  1526. package/upgrades/0.12.22.md +23 -0
  1527. package/upgrades/0.12.23.md +44 -0
  1528. package/upgrades/0.12.24.md +24 -0
  1529. package/upgrades/0.12.25.md +55 -0
  1530. package/upgrades/0.12.26.md +31 -0
  1531. package/upgrades/0.12.27.md +19 -0
  1532. package/upgrades/0.12.28.md +19 -0
  1533. package/upgrades/0.12.29.md +42 -0
  1534. package/upgrades/0.12.3.md +22 -0
  1535. package/upgrades/0.12.31.md +24 -0
  1536. package/upgrades/0.12.32.md +34 -0
  1537. package/upgrades/0.12.33.md +62 -0
  1538. package/upgrades/0.12.34.md +59 -0
  1539. package/upgrades/0.12.4.md +19 -0
  1540. package/upgrades/0.12.5.md +31 -0
  1541. package/upgrades/0.12.6.md +34 -0
  1542. package/upgrades/0.12.7.md +24 -0
  1543. package/upgrades/0.12.8.md +28 -0
  1544. package/upgrades/0.12.9.md +30 -0
  1545. package/upgrades/0.13.0.md +26 -0
  1546. package/upgrades/0.14.0.md +75 -0
  1547. package/upgrades/0.14.1.md +41 -0
  1548. package/upgrades/0.15.0.md +59 -0
  1549. package/upgrades/0.16.0.md +61 -0
  1550. package/upgrades/0.17.0.md +88 -0
  1551. package/upgrades/0.17.10.md +23 -0
  1552. package/upgrades/0.17.11.md +25 -0
  1553. package/upgrades/0.17.12.md +43 -0
  1554. package/upgrades/0.17.13.md +24 -0
  1555. package/upgrades/0.17.14.md +26 -0
  1556. package/upgrades/0.17.2.md +42 -0
  1557. package/upgrades/0.17.3.md +37 -0
  1558. package/upgrades/0.17.4.md +27 -0
  1559. package/upgrades/0.17.5.md +32 -0
  1560. package/upgrades/0.17.6.md +32 -0
  1561. package/upgrades/0.17.7.md +39 -0
  1562. package/upgrades/0.17.8.md +34 -0
  1563. package/upgrades/0.17.9.md +25 -0
  1564. package/upgrades/0.18.1.md +34 -0
  1565. package/upgrades/0.18.2.md +29 -0
  1566. package/upgrades/0.18.3.md +26 -0
  1567. package/upgrades/0.18.4.md +28 -0
  1568. package/upgrades/0.18.5.md +25 -0
  1569. package/upgrades/0.18.6.md +25 -0
  1570. package/upgrades/0.18.7.md +30 -0
  1571. package/upgrades/0.19.0.md +136 -0
  1572. package/upgrades/0.19.1.md +27 -0
  1573. package/upgrades/0.19.2.md +27 -0
  1574. package/upgrades/0.19.3.md +32 -0
  1575. package/upgrades/0.19.4.md +19 -0
  1576. package/upgrades/0.19.6.md +17 -0
  1577. package/upgrades/0.19.7.md +33 -0
  1578. package/upgrades/0.20.0.md +54 -0
  1579. package/upgrades/0.21.1.md +55 -0
  1580. package/upgrades/0.21.2.md +48 -0
  1581. package/upgrades/0.21.3.md +29 -0
  1582. package/upgrades/0.21.4.md +33 -0
  1583. package/upgrades/0.22.0.md +114 -0
  1584. package/upgrades/0.23.0.md +81 -0
  1585. package/upgrades/0.23.1.md +28 -0
  1586. package/upgrades/0.23.10.md +19 -0
  1587. package/upgrades/0.23.11.md +21 -0
  1588. package/upgrades/0.23.12.md +30 -0
  1589. package/upgrades/0.23.13.md +25 -0
  1590. package/upgrades/0.23.14.md +23 -0
  1591. package/upgrades/0.23.15.md +30 -0
  1592. package/upgrades/0.23.16.md +21 -0
  1593. package/upgrades/0.23.17.md +23 -0
  1594. package/upgrades/0.23.18.md +41 -0
  1595. package/upgrades/0.23.2.md +32 -0
  1596. package/upgrades/0.23.4.md +21 -0
  1597. package/upgrades/0.23.6.md +19 -0
  1598. package/upgrades/0.23.7.md +33 -0
  1599. package/upgrades/0.23.8.md +38 -0
  1600. package/upgrades/0.23.9.md +35 -0
  1601. package/upgrades/0.24.1.md +32 -0
  1602. package/upgrades/0.24.10.md +23 -0
  1603. package/upgrades/0.24.12.md +17 -0
  1604. package/upgrades/0.24.13.md +16 -0
  1605. package/upgrades/0.24.14.md +26 -0
  1606. package/upgrades/0.24.15.md +49 -0
  1607. package/upgrades/0.24.16.md +48 -0
  1608. package/upgrades/0.24.17.md +40 -0
  1609. package/upgrades/0.24.18-beta.0.md +35 -0
  1610. package/upgrades/0.24.18.md +35 -0
  1611. package/upgrades/0.24.19.md +21 -0
  1612. package/upgrades/0.24.2.md +13 -0
  1613. package/upgrades/0.24.20.md +45 -0
  1614. package/upgrades/0.24.21.md +25 -0
  1615. package/upgrades/0.24.22.md +35 -0
  1616. package/upgrades/0.24.23.md +17 -0
  1617. package/upgrades/0.24.24.md +15 -0
  1618. package/upgrades/0.24.25.md +15 -0
  1619. package/upgrades/0.24.26.md +15 -0
  1620. package/upgrades/0.24.27.md +17 -0
  1621. package/upgrades/0.24.28.md +35 -0
  1622. package/upgrades/0.24.29.md +15 -0
  1623. package/upgrades/0.24.30.md +40 -0
  1624. package/upgrades/0.24.31.md +45 -0
  1625. package/upgrades/0.24.32.md +19 -0
  1626. package/upgrades/0.24.33.md +35 -0
  1627. package/upgrades/0.24.34.md +29 -0
  1628. package/upgrades/0.24.4.md +19 -0
  1629. package/upgrades/0.24.5.md +20 -0
  1630. package/upgrades/0.25.0.md +34 -0
  1631. package/upgrades/0.25.1.md +24 -0
  1632. package/upgrades/0.25.10.md +26 -0
  1633. package/upgrades/0.25.2.md +23 -0
  1634. package/upgrades/0.25.3.md +25 -0
  1635. package/upgrades/0.25.4.md +24 -0
  1636. package/upgrades/0.25.5.md +19 -0
  1637. package/upgrades/0.25.6.md +35 -0
  1638. package/upgrades/0.25.7.md +18 -0
  1639. package/upgrades/0.25.8.md +24 -0
  1640. package/upgrades/0.25.9.md +19 -0
  1641. package/upgrades/0.26.0.md +23 -0
  1642. package/upgrades/0.26.1.md +22 -0
  1643. package/upgrades/0.26.2.md +15 -0
  1644. package/upgrades/0.8.12.md +49 -0
  1645. package/upgrades/0.8.13.md +38 -0
  1646. package/upgrades/0.8.17.md +36 -0
  1647. package/upgrades/0.8.22.md +43 -0
  1648. package/upgrades/0.8.23.md +106 -0
  1649. package/upgrades/0.9.1.md +91 -0
  1650. package/upgrades/0.9.10.md +40 -0
  1651. package/upgrades/0.9.11.md +77 -0
  1652. package/upgrades/0.9.12.md +42 -0
  1653. package/upgrades/0.9.13.md +55 -0
  1654. package/upgrades/0.9.14.md +23 -0
  1655. package/upgrades/0.9.15.md +106 -0
  1656. package/upgrades/0.9.16.md +37 -0
  1657. package/upgrades/0.9.17.md +15 -0
  1658. package/upgrades/0.9.19.md +17 -0
  1659. package/upgrades/0.9.20.md +24 -0
  1660. package/upgrades/0.9.21.md +37 -0
  1661. package/upgrades/0.9.22.md +41 -0
  1662. package/upgrades/0.9.23.md +37 -0
  1663. package/upgrades/0.9.24.md +46 -0
  1664. package/upgrades/0.9.25.md +37 -0
  1665. package/upgrades/0.9.28.md +20 -0
  1666. package/upgrades/0.9.29.md +34 -0
  1667. package/upgrades/0.9.32.md +30 -0
  1668. package/upgrades/0.9.36.md +27 -0
  1669. package/upgrades/0.9.8.md +125 -0
  1670. package/upgrades/0.9.9.md +34 -0
  1671. package/upgrades/NEXT.md +35 -0
package/dist/cli.js ADDED
@@ -0,0 +1,1782 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * instar CLI — Persistent autonomy infrastructure for AI agents.
4
+ *
5
+ * Usage:
6
+ * instar init my-project # Create a new agent project from scratch
7
+ * instar init # Add agent infrastructure to existing project
8
+ * instar setup # Interactive setup wizard
9
+ * instar server start # Start the persistent agent server
10
+ * instar server stop # Stop the server
11
+ * instar status # Show agent infrastructure status
12
+ * instar user add # Add a user profile
13
+ * instar job add # Add a job definition
14
+ * instar job list # List all jobs
15
+ * instar relationship list # List tracked relationships
16
+ * instar relationship import # Import from Portal people-registry
17
+ * instar relationship export # Export for Portal import
18
+ * instar add telegram # Add Telegram messaging adapter
19
+ */
20
+ import fs from 'node:fs';
21
+ import path from 'node:path';
22
+ import { Command } from 'commander';
23
+ import { initProject } from './commands/init.js';
24
+ // setup.ts is imported dynamically — it depends on @inquirer/prompts which requires Node 20.12+
25
+ import { startServer, stopServer, restartServer } from './commands/server.js';
26
+ import { showStatus } from './commands/status.js';
27
+ import { addUser, listUsers } from './commands/user.js';
28
+ import { addJob, listJobs } from './commands/job.js';
29
+ import { listRelationships, importRelationships, exportRelationships } from './commands/relationship.js';
30
+ import { listMachines, removeMachine, whoami, startPairing, joinMesh, leaveMesh, wakeup, doctor } from './commands/machine.js';
31
+ import pc from 'picocolors';
32
+ import { getInstarVersion } from './core/Config.js';
33
+ import { listAgents } from './core/AgentRegistry.js';
34
+ /**
35
+ * Add or update Telegram configuration in the project config.
36
+ */
37
+ async function addTelegram(opts) {
38
+ const configPath = path.join(process.cwd(), '.instar', 'config.json');
39
+ if (!fs.existsSync(configPath)) {
40
+ console.log(pc.red('No .instar/config.json found. Run `instar init` first.'));
41
+ process.exit(1);
42
+ }
43
+ let token = opts.token;
44
+ let chatId = opts.chatId;
45
+ // If not provided via flags, show usage
46
+ if (!token || !chatId) {
47
+ console.log(pc.yellow('Both --token and --chat-id are required.'));
48
+ console.log();
49
+ console.log('Usage:');
50
+ console.log(` instar add telegram --token YOUR_BOT_TOKEN --chat-id -100YOUR_GROUP_ID`);
51
+ console.log();
52
+ console.log('Get a bot token from @BotFather on Telegram.');
53
+ console.log('Get the chat ID by adding @RawDataBot to your forum group.');
54
+ process.exit(1);
55
+ }
56
+ // Read, update, write config
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ let config;
59
+ try {
60
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
61
+ }
62
+ catch {
63
+ console.log(pc.red('Failed to parse .instar/config.json. Check that it contains valid JSON.'));
64
+ process.exit(1);
65
+ }
66
+ if (!config.messaging)
67
+ config.messaging = [];
68
+ // Remove existing Telegram config if any
69
+ config.messaging = config.messaging.filter((m) => m.type !== 'telegram');
70
+ config.messaging.push({
71
+ type: 'telegram',
72
+ enabled: true,
73
+ config: {
74
+ token,
75
+ chatId,
76
+ pollIntervalMs: 2000,
77
+ },
78
+ });
79
+ const tmpPath = configPath + `.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
80
+ try {
81
+ fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2));
82
+ fs.renameSync(tmpPath, configPath);
83
+ }
84
+ catch (err) {
85
+ try {
86
+ fs.unlinkSync(tmpPath);
87
+ }
88
+ catch { /* ignore */ }
89
+ throw err;
90
+ }
91
+ console.log(pc.green('Telegram adapter configured successfully!'));
92
+ console.log(` Bot token: ${token.slice(0, 8)}...`);
93
+ console.log(` Chat ID: ${chatId}`);
94
+ console.log();
95
+ console.log(`Restart the server to apply: ${pc.cyan('instar server stop && instar server start')}`);
96
+ }
97
+ /**
98
+ * Add Sentry error monitoring configuration.
99
+ */
100
+ async function addSentry(opts) {
101
+ const configPath = path.join(process.cwd(), '.instar', 'config.json');
102
+ if (!fs.existsSync(configPath)) {
103
+ console.log(pc.red('No .instar/config.json found. Run `instar init` first.'));
104
+ process.exit(1);
105
+ }
106
+ if (!opts.dsn) {
107
+ console.log(pc.yellow('The --dsn option is required.'));
108
+ console.log();
109
+ console.log('Usage:');
110
+ console.log(` instar add sentry --dsn https://examplePublicKey@o0.ingest.sentry.io/0`);
111
+ console.log();
112
+ console.log('Get your DSN from https://sentry.io → Project Settings → Client Keys (DSN)');
113
+ process.exit(1);
114
+ }
115
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
+ let config;
117
+ try {
118
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
119
+ }
120
+ catch {
121
+ console.log(pc.red('Failed to parse .instar/config.json. Check that it contains valid JSON.'));
122
+ process.exit(1);
123
+ }
124
+ if (!config.monitoring) {
125
+ config.monitoring = {};
126
+ }
127
+ config.monitoring.sentry = {
128
+ enabled: true,
129
+ dsn: opts.dsn,
130
+ };
131
+ const tmpPath = configPath + `.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
132
+ try {
133
+ fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2));
134
+ fs.renameSync(tmpPath, configPath);
135
+ }
136
+ catch (err) {
137
+ try {
138
+ fs.unlinkSync(tmpPath);
139
+ }
140
+ catch { /* ignore */ }
141
+ throw err;
142
+ }
143
+ console.log(pc.green('Sentry error monitoring configured!'));
144
+ console.log(` DSN: ${opts.dsn.slice(0, 30)}...`);
145
+ console.log();
146
+ console.log(`Restart the server to apply: ${pc.cyan('instar server stop && instar server start')}`);
147
+ }
148
+ /**
149
+ * Add email (Gmail) integration configuration.
150
+ */
151
+ async function addEmail(opts) {
152
+ const configPath = path.join(process.cwd(), '.instar', 'config.json');
153
+ if (!fs.existsSync(configPath)) {
154
+ console.log(pc.red('No .instar/config.json found. Run `instar init` first.'));
155
+ process.exit(1);
156
+ }
157
+ if (!opts.credentialsFile) {
158
+ console.log(pc.yellow('The --credentials-file option is required.'));
159
+ console.log();
160
+ console.log('Usage:');
161
+ console.log(` instar add email --credentials-file ./credentials.json`);
162
+ console.log();
163
+ console.log('To get credentials:');
164
+ console.log(' 1. Go to https://console.cloud.google.com → APIs & Services → Credentials');
165
+ console.log(' 2. Create OAuth 2.0 Client ID (Desktop app)');
166
+ console.log(' 3. Download the credentials JSON file');
167
+ process.exit(1);
168
+ }
169
+ // Read, update, write config
170
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
171
+ let config;
172
+ try {
173
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
174
+ }
175
+ catch {
176
+ console.log(pc.red('Failed to parse .instar/config.json. Check that it contains valid JSON.'));
177
+ process.exit(1);
178
+ }
179
+ if (!config.messaging)
180
+ config.messaging = [];
181
+ // Remove existing email config if any
182
+ config.messaging = config.messaging.filter((m) => m.type !== 'email');
183
+ config.messaging.push({
184
+ type: 'email',
185
+ enabled: true,
186
+ config: {
187
+ credentialsFile: opts.credentialsFile,
188
+ tokenFile: opts.tokenFile || path.join(process.cwd(), '.instar', 'gmail-token.json'),
189
+ },
190
+ });
191
+ const tmpPath = configPath + `.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
192
+ try {
193
+ fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2));
194
+ fs.renameSync(tmpPath, configPath);
195
+ }
196
+ catch (err) {
197
+ try {
198
+ fs.unlinkSync(tmpPath);
199
+ }
200
+ catch { /* ignore */ }
201
+ throw err;
202
+ }
203
+ console.log(pc.green('Email (Gmail) integration configured!'));
204
+ console.log(` Credentials: ${opts.credentialsFile}`);
205
+ console.log(` Token file: ${opts.tokenFile || '.instar/gmail-token.json'}`);
206
+ console.log();
207
+ console.log(`Restart the server to apply: ${pc.cyan('instar server stop && instar server start')}`);
208
+ }
209
+ /**
210
+ * Enable quota tracking in the project config.
211
+ */
212
+ async function addQuota(opts) {
213
+ const configPath = path.join(process.cwd(), '.instar', 'config.json');
214
+ if (!fs.existsSync(configPath)) {
215
+ console.log(pc.red('No .instar/config.json found. Run `instar init` first.'));
216
+ process.exit(1);
217
+ }
218
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
219
+ let config;
220
+ try {
221
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
222
+ }
223
+ catch {
224
+ console.log(pc.red('Failed to parse .instar/config.json. Check that it contains valid JSON.'));
225
+ process.exit(1);
226
+ }
227
+ if (!config.monitoring) {
228
+ config.monitoring = {};
229
+ }
230
+ config.monitoring.quotaTracking = true;
231
+ if (opts.stateFile) {
232
+ config.monitoring.quotaStateFile = opts.stateFile;
233
+ }
234
+ const tmpPath = configPath + `.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
235
+ try {
236
+ fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2));
237
+ fs.renameSync(tmpPath, configPath);
238
+ }
239
+ catch (err) {
240
+ try {
241
+ fs.unlinkSync(tmpPath);
242
+ }
243
+ catch { /* ignore */ }
244
+ throw err;
245
+ }
246
+ console.log(pc.green('Quota tracking enabled!'));
247
+ console.log();
248
+ if (opts.stateFile) {
249
+ console.log(` State file: ${opts.stateFile}`);
250
+ }
251
+ console.log('The agent will now track Claude API usage and throttle jobs when usage is high.');
252
+ console.log();
253
+ console.log(`Restart the server to apply: ${pc.cyan('instar server stop && instar server start')}`);
254
+ }
255
+ const program = new Command();
256
+ program
257
+ .name('instar')
258
+ .description('Persistent autonomy infrastructure for AI agents')
259
+ .version(getInstarVersion())
260
+ .action(async () => {
261
+ const [major, minor] = process.versions.node.split('.').map(Number);
262
+ if (major < 20 || (major === 20 && minor < 12)) {
263
+ console.error(`\n Instar setup requires Node.js 20.12 or later.`);
264
+ console.error(` You're running Node.js ${process.versions.node}.`);
265
+ console.error(`\n Upgrade: https://nodejs.org/en/download\n`);
266
+ process.exit(1);
267
+ }
268
+ const { runSetup } = await import('./commands/setup.js');
269
+ return runSetup();
270
+ }); // Default: run interactive setup when no subcommand given
271
+ // ── Setup (explicit alias) ────────────────────────────────────────
272
+ program
273
+ .command('setup')
274
+ .description('Interactive setup wizard (same as running `instar` with no args)')
275
+ .option('--non-interactive', 'Run setup without LLM wizard (requires all flags)')
276
+ .option('--name <name>', 'Agent name (non-interactive)')
277
+ .option('--user <user>', 'User name (non-interactive)')
278
+ .option('--telegram-token <token>', 'Telegram bot token (non-interactive)')
279
+ .option('--telegram-group <group>', 'Telegram group/chat ID (non-interactive)')
280
+ .option('--whatsapp-backend <backend>', 'WhatsApp backend: baileys or business-api (non-interactive)')
281
+ .option('--whatsapp-phone <phone>', 'WhatsApp authorized phone number (non-interactive)')
282
+ .option('--whatsapp-phone-number-id <id>', 'Business API phone number ID (non-interactive)')
283
+ .option('--whatsapp-access-token <token>', 'Business API access token (non-interactive)')
284
+ .option('--whatsapp-verify-token <token>', 'Business API webhook verify token (non-interactive)')
285
+ .option('--scenario <number>', 'Scenario number 1-8 (non-interactive)')
286
+ .action(async (opts) => {
287
+ const [major, minor] = process.versions.node.split('.').map(Number);
288
+ if (major < 20 || (major === 20 && minor < 12)) {
289
+ console.error(`\n Instar setup requires Node.js 20.12 or later.`);
290
+ console.error(` You're running Node.js ${process.versions.node}.`);
291
+ console.error(`\n Upgrade: https://nodejs.org/en/download\n`);
292
+ process.exit(1);
293
+ }
294
+ const { runSetup, runNonInteractiveSetup } = await import('./commands/setup.js');
295
+ if (opts.nonInteractive) {
296
+ return runNonInteractiveSetup(opts);
297
+ }
298
+ return runSetup();
299
+ });
300
+ // ── Init ─────────────────────────────────────────────────────────
301
+ program
302
+ .command('init [project-name]')
303
+ .description('Initialize agent infrastructure (fresh project, existing, or standalone)')
304
+ .option('-d, --dir <path>', 'Project directory (default: current directory)')
305
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
306
+ .option('--standalone', 'Create a standalone agent at ~/.instar/agents/<name>/')
307
+ .action((projectName, opts) => {
308
+ return initProject({ ...opts, name: projectName });
309
+ });
310
+ // ── Add ───────────────────────────────────────────────────────────
311
+ const addCmd = program
312
+ .command('add')
313
+ .description('Add capabilities to the agent');
314
+ addCmd
315
+ .command('telegram')
316
+ .description('Add Telegram messaging adapter')
317
+ .option('--token <token>', 'Telegram bot token (from @BotFather)')
318
+ .option('--chat-id <id>', 'Telegram forum supergroup chat ID')
319
+ .action((opts) => addTelegram(opts));
320
+ addCmd
321
+ .command('email')
322
+ .description('Add email integration (Gmail)')
323
+ .option('--credentials-file <path>', 'Path to Google OAuth credentials JSON file')
324
+ .option('--token-file <path>', 'Path to store Gmail auth token')
325
+ .action((opts) => addEmail(opts));
326
+ addCmd
327
+ .command('whatsapp')
328
+ .description('Add WhatsApp messaging adapter')
329
+ .option('--backend <backend>', 'Backend: baileys (free, QR auth) or business-api (paid, Meta API)', 'baileys')
330
+ .option('--auth-method <method>', 'Auth method: qr (scan code) or pairing-code (8-digit code)', 'qr')
331
+ .option('--phone <number>', 'Phone number for pairing code auth (E.164 format: +1234567890)')
332
+ .option('--authorized <numbers>', 'Comma-separated authorized phone numbers (E.164). Empty = allow all.')
333
+ .option('--encrypt', 'Encrypt auth credentials at rest (recommended)')
334
+ .option('--phone-number-id <id>', 'Meta Phone Number ID (Business API)')
335
+ .option('--access-token <token>', 'Meta access token (Business API)')
336
+ .option('--webhook-verify-token <token>', 'Webhook verification token (Business API)')
337
+ .option('--webhook-port <port>', 'Webhook port if different from server port (Business API)', parseInt)
338
+ .action(async (opts) => {
339
+ const { addWhatsApp } = await import('./commands/whatsapp.js');
340
+ return addWhatsApp(opts);
341
+ });
342
+ addCmd
343
+ .command('slack')
344
+ .description('Add Slack messaging adapter (tokens entered interactively)')
345
+ .action(async () => {
346
+ const { addSlack } = await import('./commands/slack-cli.js');
347
+ return addSlack();
348
+ });
349
+ addCmd
350
+ .command('sentry')
351
+ .description('Add Sentry error monitoring')
352
+ .option('--dsn <dsn>', 'Sentry DSN')
353
+ .action((opts) => addSentry(opts));
354
+ addCmd
355
+ .command('quota')
356
+ .description('Add Claude API quota tracking')
357
+ .option('--state-file <path>', 'Path to quota state file (default: .instar/state/quota.json)')
358
+ .action((opts) => addQuota(opts));
359
+ // ── Remove ──────────────────────────────────────────────────────
360
+ const removeAdapterCmd = program
361
+ .command('remove')
362
+ .description('Remove capabilities from the agent');
363
+ removeAdapterCmd
364
+ .command('slack')
365
+ .description('Remove Slack messaging adapter and purge associated data')
366
+ .action(async () => {
367
+ const { removeSlack } = await import('./commands/slack-cli.js');
368
+ return removeSlack();
369
+ });
370
+ // ── Backup ───────────────────────────────────────────────────────
371
+ const backupCmd = program
372
+ .command('backup')
373
+ .description('Manage agent state backups');
374
+ backupCmd
375
+ .command('create')
376
+ .description('Create a manual backup')
377
+ .option('-d, --dir <path>', 'Project directory')
378
+ .action(async (opts) => {
379
+ const { createBackup } = await import('./commands/backup.js');
380
+ return createBackup(opts);
381
+ });
382
+ backupCmd
383
+ .command('list')
384
+ .description('List available backup snapshots')
385
+ .option('-d, --dir <path>', 'Project directory')
386
+ .action(async (opts) => {
387
+ const { listBackups } = await import('./commands/backup.js');
388
+ return listBackups(opts);
389
+ });
390
+ backupCmd
391
+ .command('restore [id]')
392
+ .description('Restore from a backup snapshot (latest if no ID)')
393
+ .option('-d, --dir <path>', 'Project directory')
394
+ .action(async (id, opts) => {
395
+ const { restoreBackup } = await import('./commands/backup.js');
396
+ return restoreBackup(id, opts);
397
+ });
398
+ // ── Git State ────────────────────────────────────────────────────
399
+ const gitCmd = program
400
+ .command('git')
401
+ .description('Git-backed state tracking (standalone agents only)');
402
+ gitCmd
403
+ .command('init')
404
+ .description('Initialize git tracking in the agent state directory')
405
+ .option('-d, --dir <path>', 'Project directory')
406
+ .action(async (opts) => {
407
+ const { gitInit } = await import('./commands/git.js');
408
+ return gitInit(opts);
409
+ });
410
+ gitCmd
411
+ .command('status')
412
+ .description('Show git tracking status')
413
+ .option('-d, --dir <path>', 'Project directory')
414
+ .action(async (opts) => {
415
+ const { gitStatus } = await import('./commands/git.js');
416
+ return gitStatus(opts);
417
+ });
418
+ gitCmd
419
+ .command('push')
420
+ .description('Push state to remote')
421
+ .option('-d, --dir <path>', 'Project directory')
422
+ .option('--confirm', 'Confirm first push to remote')
423
+ .action(async (opts) => {
424
+ const { gitPush } = await import('./commands/git.js');
425
+ return gitPush(opts);
426
+ });
427
+ gitCmd
428
+ .command('pull')
429
+ .description('Pull state from remote')
430
+ .option('-d, --dir <path>', 'Project directory')
431
+ .action(async (opts) => {
432
+ const { gitPull } = await import('./commands/git.js');
433
+ return gitPull(opts);
434
+ });
435
+ gitCmd
436
+ .command('log')
437
+ .description('Show recent commit history')
438
+ .option('-d, --dir <path>', 'Project directory')
439
+ .action(async (opts) => {
440
+ const { gitLog } = await import('./commands/git.js');
441
+ return gitLog(opts);
442
+ });
443
+ gitCmd
444
+ .command('remote <url>')
445
+ .description('Set remote URL for push/pull')
446
+ .option('-d, --dir <path>', 'Project directory')
447
+ .action(async (url, opts) => {
448
+ const { gitRemote } = await import('./commands/git.js');
449
+ return gitRemote(url, opts);
450
+ });
451
+ gitCmd
452
+ .command('commit [message]')
453
+ .description('Manual commit of state changes')
454
+ .option('-d, --dir <path>', 'Project directory')
455
+ .action(async (message, opts) => {
456
+ const { gitCommit } = await import('./commands/git.js');
457
+ return gitCommit(message, opts);
458
+ });
459
+ // ── Memory Search ────────────────────────────────────────────────
460
+ const memoryCmd = program
461
+ .command('memory')
462
+ .description('Search and manage agent memory index (FTS5)');
463
+ memoryCmd
464
+ .command('search <query>')
465
+ .description('Full-text search over agent memory files')
466
+ .option('-d, --dir <path>', 'Project directory')
467
+ .option('-l, --limit <count>', 'Max results (default: 10)', (v) => parseInt(v, 10))
468
+ .action(async (query, opts) => {
469
+ const { memorySearch } = await import('./commands/memory.js');
470
+ return memorySearch(query, opts);
471
+ });
472
+ memoryCmd
473
+ .command('reindex')
474
+ .description('Full rebuild of the SQLite memory index')
475
+ .option('-d, --dir <path>', 'Project directory')
476
+ .action(async (opts) => {
477
+ const { memoryReindex } = await import('./commands/memory.js');
478
+ return memoryReindex(opts);
479
+ });
480
+ memoryCmd
481
+ .command('status')
482
+ .description('Show memory index statistics')
483
+ .option('-d, --dir <path>', 'Project directory')
484
+ .action(async (opts) => {
485
+ const { memoryStatus } = await import('./commands/memory.js');
486
+ return memoryStatus(opts);
487
+ });
488
+ memoryCmd
489
+ .command('export')
490
+ .description('Generate MEMORY.md from SemanticMemory knowledge graph')
491
+ .option('-d, --dir <path>', 'Project directory')
492
+ .option('-o, --output <path>', 'Output file path (prints to stdout if omitted)')
493
+ .option('-a, --agent <name>', 'Agent name for the header (default: Agent)')
494
+ .option('--min-confidence <value>', 'Minimum confidence threshold (default: 0.2)', (v) => parseFloat(v))
495
+ .option('--max-entities <count>', 'Maximum entities to include (default: 200)', (v) => parseInt(v, 10))
496
+ .action(async (opts) => {
497
+ const { memoryExport } = await import('./commands/memory.js');
498
+ return memoryExport(opts);
499
+ });
500
+ // ── Knowledge Base ────────────────────────────────────────────────
501
+ const knowledgeCmd = program
502
+ .command('knowledge')
503
+ .description('Ingest URLs, documents, and transcripts into a searchable knowledge base');
504
+ knowledgeCmd
505
+ .command('ingest <content>')
506
+ .description('Ingest content into the knowledge base')
507
+ .requiredOption('-t, --title <title>', 'Title for the content')
508
+ .option('-u, --url <url>', 'Source URL')
509
+ .option('--type <type>', 'Content type: article, transcript, doc (default: article)')
510
+ .option('--tags <tags>', 'Comma-separated tags')
511
+ .option('-s, --summary <summary>', 'Brief summary')
512
+ .option('-d, --dir <path>', 'Project directory')
513
+ .action(async (content, opts) => {
514
+ const { knowledgeIngest } = await import('./commands/knowledge.js');
515
+ return knowledgeIngest(content, opts);
516
+ });
517
+ knowledgeCmd
518
+ .command('list')
519
+ .description('List all ingested knowledge sources')
520
+ .option('--tag <tag>', 'Filter by tag')
521
+ .option('-d, --dir <path>', 'Project directory')
522
+ .action(async (opts) => {
523
+ const { knowledgeList } = await import('./commands/knowledge.js');
524
+ return knowledgeList(opts);
525
+ });
526
+ knowledgeCmd
527
+ .command('search <query>')
528
+ .description('Search knowledge base (scoped to knowledge/ sources)')
529
+ .option('-l, --limit <count>', 'Max results (default: 10)', (v) => parseInt(v, 10))
530
+ .option('-d, --dir <path>', 'Project directory')
531
+ .action(async (query, opts) => {
532
+ const { knowledgeSearch } = await import('./commands/knowledge.js');
533
+ return knowledgeSearch(query, opts);
534
+ });
535
+ knowledgeCmd
536
+ .command('remove <sourceId>')
537
+ .description('Remove a source from the knowledge base')
538
+ .option('-d, --dir <path>', 'Project directory')
539
+ .action(async (sourceId, opts) => {
540
+ const { knowledgeRemove } = await import('./commands/knowledge.js');
541
+ return knowledgeRemove(sourceId, opts);
542
+ });
543
+ // ── Semantic Memory ──────────────────────────────────────────────
544
+ const semanticCmd = program
545
+ .command('semantic')
546
+ .description('Manage the semantic memory knowledge graph');
547
+ semanticCmd
548
+ .command('search <query>')
549
+ .description('Search the knowledge graph')
550
+ .option('-d, --dir <path>', 'Project directory')
551
+ .option('-l, --limit <count>', 'Max results (default: 10)', (v) => parseInt(v, 10))
552
+ .option('-t, --type <type>', 'Filter by entity type (fact, person, project, tool, pattern, decision, lesson)')
553
+ .option('--domain <domain>', 'Filter by domain')
554
+ .option('--min-confidence <value>', 'Minimum confidence (0.0-1.0)')
555
+ .action(async (query, opts) => {
556
+ const { semanticSearch } = await import('./commands/semantic.js');
557
+ return semanticSearch(query, opts);
558
+ });
559
+ semanticCmd
560
+ .command('remember')
561
+ .description('Add a knowledge entity to the graph')
562
+ .requiredOption('-t, --type <type>', 'Entity type (fact, person, project, tool, pattern, decision, lesson)')
563
+ .requiredOption('-n, --name <name>', 'Entity name')
564
+ .requiredOption('-c, --content <content>', 'Entity content')
565
+ .option('--confidence <value>', 'Confidence (0.0-1.0, default: 0.8)')
566
+ .option('--source <source>', 'Source (default: cli)')
567
+ .option('--tags <tags>', 'Comma-separated tags')
568
+ .option('--domain <domain>', 'Domain grouping')
569
+ .option('-d, --dir <path>', 'Project directory')
570
+ .action(async (opts) => {
571
+ const { semanticRemember } = await import('./commands/semantic.js');
572
+ return semanticRemember(opts);
573
+ });
574
+ semanticCmd
575
+ .command('forget <id>')
576
+ .description('Remove an entity and its edges')
577
+ .option('-d, --dir <path>', 'Project directory')
578
+ .action(async (id, opts) => {
579
+ const { semanticForget } = await import('./commands/semantic.js');
580
+ return semanticForget(id, opts);
581
+ });
582
+ semanticCmd
583
+ .command('stats')
584
+ .description('Show knowledge graph statistics')
585
+ .option('-d, --dir <path>', 'Project directory')
586
+ .action(async (opts) => {
587
+ const { semanticStats } = await import('./commands/semantic.js');
588
+ return semanticStats(opts);
589
+ });
590
+ semanticCmd
591
+ .command('export')
592
+ .description('Export all entities and edges as JSON')
593
+ .option('-o, --output <path>', 'Output file (defaults to stdout)')
594
+ .option('-d, --dir <path>', 'Project directory')
595
+ .action(async (opts) => {
596
+ const { semanticExport } = await import('./commands/semantic.js');
597
+ return semanticExport(opts);
598
+ });
599
+ semanticCmd
600
+ .command('decay')
601
+ .description('Run confidence decay on all entities')
602
+ .option('-d, --dir <path>', 'Project directory')
603
+ .action(async (opts) => {
604
+ const { semanticDecay } = await import('./commands/semantic.js');
605
+ return semanticDecay(opts);
606
+ });
607
+ // ── Intent ────────────────────────────────────────────────────────
608
+ const intentCmd = program
609
+ .command('intent')
610
+ .description('Intent engineering — review decisions against stated intent');
611
+ intentCmd
612
+ .command('reflect')
613
+ .description('Review recent decisions against stated intent from AGENT.md')
614
+ .option('-d, --dir <path>', 'Project directory')
615
+ .option('--days <days>', 'Number of days to review (default: 7)', (v) => parseInt(v, 10))
616
+ .option('--limit <count>', 'Max entries to show (default: 100)', (v) => parseInt(v, 10))
617
+ .action(async (opts) => {
618
+ const { intentReflect } = await import('./commands/intent.js');
619
+ return intentReflect(opts);
620
+ });
621
+ intentCmd
622
+ .command('org-init [name]')
623
+ .description('Create ORG-INTENT.md for organizational intent')
624
+ .option('-d, --dir <path>', 'Project directory')
625
+ .action(async (name, opts) => {
626
+ const { orgInit } = await import('./commands/org.js');
627
+ return orgInit({ ...opts, name });
628
+ });
629
+ intentCmd
630
+ .command('validate')
631
+ .description('Validate agent intent against org constraints')
632
+ .option('-d, --dir <path>', 'Project directory')
633
+ .action(async (opts) => {
634
+ const { intentValidate } = await import('./commands/intent.js');
635
+ return intentValidate(opts);
636
+ });
637
+ intentCmd
638
+ .command('drift')
639
+ .description('Detect intent drift from decision journal trends')
640
+ .option('-d, --dir <path>', 'Project directory')
641
+ .option('--window <days>', 'Window size in days (default: 14)', (v) => parseInt(v, 10))
642
+ .action(async (opts) => {
643
+ const { intentDrift } = await import('./commands/intent.js');
644
+ return intentDrift(opts);
645
+ });
646
+ // ── Reflect (Living Skills) ──────────────────────────────────────
647
+ const reflectCmd = program
648
+ .command('reflect')
649
+ .description('Living Skills — view execution journal and patterns for jobs');
650
+ reflectCmd
651
+ .command('job <slug>')
652
+ .description('Show execution journal for a specific job')
653
+ .option('-d, --dir <path>', 'Project directory')
654
+ .option('--days <days>', 'Number of days to show (default: 30)', (v) => parseInt(v, 10))
655
+ .option('--limit <count>', 'Max records to show (default: 10)', (v) => parseInt(v, 10))
656
+ .option('--agent <id>', 'Agent ID (default: "default")')
657
+ .action(async (slug, opts) => {
658
+ const { reflectJob } = await import('./commands/reflect.js');
659
+ return reflectJob(slug, opts);
660
+ });
661
+ reflectCmd
662
+ .command('all')
663
+ .description('Show execution journal summary for all jobs')
664
+ .option('-d, --dir <path>', 'Project directory')
665
+ .option('--days <days>', 'Number of days to show (default: 30)', (v) => parseInt(v, 10))
666
+ .option('--agent <id>', 'Agent ID (default: "default")')
667
+ .action(async (opts) => {
668
+ const { reflectAll } = await import('./commands/reflect.js');
669
+ return reflectAll(opts);
670
+ });
671
+ reflectCmd
672
+ .command('analyze [slug]')
673
+ .description('Detect patterns across execution history')
674
+ .option('-d, --dir <path>', 'Project directory')
675
+ .option('--days <days>', 'Number of days to analyze (default: 30)', (v) => parseInt(v, 10))
676
+ .option('--agent <id>', 'Agent ID (default: "default")')
677
+ .option('--all', 'Analyze all jobs')
678
+ .option('--proposals', 'Show evolution proposals for detected patterns')
679
+ .option('--min-runs <count>', 'Minimum runs for pattern detection (default: 3)', (v) => parseInt(v, 10))
680
+ .action(async (slug, opts) => {
681
+ const { analyzePatterns } = await import('./commands/reflect.js');
682
+ return analyzePatterns(slug, opts);
683
+ });
684
+ reflectCmd
685
+ .command('consolidate')
686
+ .description('Run full reflection cycle — analyze patterns, create proposals, record learnings')
687
+ .option('-d, --dir <path>', 'Project directory')
688
+ .option('--days <days>', 'Number of days to analyze (default: 7)', (v) => parseInt(v, 10))
689
+ .option('--agent <id>', 'Agent ID (default: "default")')
690
+ .option('--min-runs <count>', 'Minimum runs for pattern detection (default: 3)', (v) => parseInt(v, 10))
691
+ .option('--dry-run', 'Show what would be proposed without writing to EvolutionManager')
692
+ .action(async (opts) => {
693
+ const { consolidateReflection } = await import('./commands/reflect.js');
694
+ return consolidateReflection(opts);
695
+ });
696
+ reflectCmd
697
+ .command('run [slug]')
698
+ .description('Run LLM-powered per-job reflection (requires Claude CLI or ANTHROPIC_API_KEY)')
699
+ .option('-d, --dir <path>', 'Project directory')
700
+ .option('--days <days>', 'Number of days of history to include (default: 30)', (v) => parseInt(v, 10))
701
+ .option('--agent <id>', 'Agent ID (default: "default")')
702
+ .option('--session <id>', 'Specific session ID to reflect on')
703
+ .option('--model <tier>', 'Model tier: fast, balanced, capable (default: capable)')
704
+ .option('--all', 'Reflect on all jobs')
705
+ .action(async (slug, opts) => {
706
+ const { runReflection } = await import('./commands/reflect.js');
707
+ return runReflection(slug, opts);
708
+ });
709
+ // ── Feedback ─────────────────────────────────────────────────────
710
+ program
711
+ .command('feedback')
712
+ .description('Submit feedback about Instar (bugs, features, improvements)')
713
+ .option('--type <type>', 'Feedback type (bug|feature|improvement|question)', 'other')
714
+ .option('--title <title>', 'Short title')
715
+ .option('--description <desc>', 'Detailed description')
716
+ .option('-d, --dir <path>', 'Project directory')
717
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
718
+ .action(async (opts) => {
719
+ const port = opts.port || 4040;
720
+ const title = opts.title || 'CLI feedback submission';
721
+ const description = opts.description || opts.title || 'No description provided';
722
+ // Load config to get auth token if available
723
+ let authToken;
724
+ try {
725
+ const { loadConfig } = await import('./core/Config.js');
726
+ const config = loadConfig(opts.dir);
727
+ authToken = config.authToken;
728
+ }
729
+ catch { /* project may not be initialized yet */ }
730
+ try {
731
+ const headers = { 'Content-Type': 'application/json' };
732
+ if (authToken)
733
+ headers['Authorization'] = `Bearer ${authToken}`;
734
+ const response = await fetch(`http://localhost:${port}/feedback`, {
735
+ method: 'POST',
736
+ headers,
737
+ body: JSON.stringify({ type: opts.type, title, description }),
738
+ signal: AbortSignal.timeout(10_000),
739
+ });
740
+ if (response.ok) {
741
+ const result = await response.json();
742
+ console.log(`Feedback submitted: ${result.id}`);
743
+ console.log(`Forwarded upstream: ${result.forwarded ? 'yes' : 'no (will retry later)'}`);
744
+ }
745
+ else {
746
+ console.error(`Failed to submit feedback: ${response.statusText}`);
747
+ console.error('Is the instar server running? Try: instar server start');
748
+ process.exit(1);
749
+ }
750
+ }
751
+ catch {
752
+ console.error('Could not connect to instar server. Is it running?');
753
+ console.error('Start it with: instar server start');
754
+ process.exit(1);
755
+ }
756
+ });
757
+ // ── Telemetry (Baseline) ──────────────────────────────────────────
758
+ const telemetryCmd = program
759
+ .command('telemetry')
760
+ .description('Manage Baseline telemetry — anonymous cross-agent metrics');
761
+ telemetryCmd
762
+ .command('status')
763
+ .description('Show current Baseline telemetry status')
764
+ .option('-d, --dir <path>', 'Project directory')
765
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
766
+ .action(async (opts) => {
767
+ const port = opts.port || 4040;
768
+ let authToken;
769
+ try {
770
+ const { loadConfig } = await import('./core/Config.js');
771
+ const config = loadConfig(opts.dir);
772
+ authToken = config.authToken;
773
+ }
774
+ catch { /* project may not be initialized */ }
775
+ try {
776
+ const headers = {};
777
+ if (authToken)
778
+ headers['Authorization'] = `Bearer ${authToken}`;
779
+ const response = await fetch(`http://localhost:${port}/telemetry/status`, {
780
+ headers,
781
+ signal: AbortSignal.timeout(5000),
782
+ });
783
+ if (response.ok) {
784
+ const status = await response.json();
785
+ const baseline = status.baseline;
786
+ const pc = (await import('picocolors')).default;
787
+ console.log(pc.bold('Baseline Telemetry'));
788
+ console.log(` Enabled: ${status.enabled ? pc.green('yes') : pc.dim('no')}`);
789
+ console.log(` Provisioned: ${baseline?.provisioned ? pc.green('yes') : pc.dim('no')}`);
790
+ if (baseline?.installationIdPrefix) {
791
+ console.log(` Installation: ${baseline.installationIdPrefix}...`);
792
+ }
793
+ if (baseline?.lastSubmission) {
794
+ console.log(` Last sent: ${baseline.lastSubmission}`);
795
+ }
796
+ if (baseline?.nextWindow) {
797
+ console.log(` Next window: ${baseline.nextWindow}`);
798
+ }
799
+ if (baseline?.lastErrorCode) {
800
+ console.log(` Last error: ${pc.red(String(baseline.lastErrorCode))}`);
801
+ }
802
+ }
803
+ else {
804
+ console.error(`Failed to get status: ${response.statusText}`);
805
+ process.exit(1);
806
+ }
807
+ }
808
+ catch {
809
+ console.error('Could not connect to instar server. Is it running?');
810
+ process.exit(1);
811
+ }
812
+ });
813
+ telemetryCmd
814
+ .command('enable')
815
+ .description('Enable Baseline — see how your agent compares to the population')
816
+ .option('-d, --dir <path>', 'Project directory')
817
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
818
+ .action(async (opts) => {
819
+ const port = opts.port || 4040;
820
+ const pc = (await import('picocolors')).default;
821
+ const readline = await import('node:readline');
822
+ // Show consent disclosure
823
+ console.log(pc.bold('\n┌─ Enable Baseline ─────────────────────────────────────────┐'));
824
+ console.log('│ │');
825
+ console.log('│ Baseline helps your agent know if it\'s healthy by │');
826
+ console.log('│ comparing its behavior to the population — anonymously. │');
827
+ console.log('│ │');
828
+ console.log(pc.bold('│ What\'s collected:'));
829
+ console.log('│ • Job skip rates (with reasons), durations, results │');
830
+ console.log('│ • Model usage per job, schedule adherence │');
831
+ console.log('│ • Version, uptime, feature flags (curated list only) │');
832
+ console.log('│ • Session activity (coarse bucket, not exact count) │');
833
+ console.log('│ │');
834
+ console.log(pc.bold('│ What\'s NEVER collected:'));
835
+ console.log('│ • Names, prompts, memory, conversations, file paths │');
836
+ console.log('│ • Error messages, IP addresses, Telegram data │');
837
+ console.log('│ • Security configuration flags │');
838
+ console.log('│ │');
839
+ console.log(pc.bold('│ How it works:'));
840
+ console.log('│ • Anonymous ID: random UUID (not derived from your machine)│');
841
+ console.log('│ • Submitted to: instar-telemetry.sagemind-ai.workers.dev │');
842
+ console.log('│ • Frequency: every 6 hours │');
843
+ console.log('│ • Retention: 30 days (local and remote) │');
844
+ console.log('│ • Every submission is logged locally for your review: │');
845
+ console.log('│ run `instar telemetry submissions` to inspect │');
846
+ console.log('│ │');
847
+ console.log('│ You can disable at any time with `instar telemetry disable`│');
848
+ console.log('│ which deletes your local ID and requests remote deletion. │');
849
+ console.log(pc.bold('└──────────────────────────────────────────────────────────┘\n'));
850
+ // Ask for confirmation
851
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
852
+ const answer = await new Promise(resolve => {
853
+ rl.question(' Enable Baseline? [y/N] ', resolve);
854
+ });
855
+ rl.close();
856
+ if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') {
857
+ console.log(pc.dim(' Declined. No data will be sent.'));
858
+ return;
859
+ }
860
+ let authToken;
861
+ try {
862
+ const { loadConfig } = await import('./core/Config.js');
863
+ const config = loadConfig(opts.dir);
864
+ authToken = config.authToken;
865
+ }
866
+ catch { /* project may not be initialized */ }
867
+ try {
868
+ const headers = { 'Content-Type': 'application/json' };
869
+ if (authToken)
870
+ headers['Authorization'] = `Bearer ${authToken}`;
871
+ const response = await fetch(`http://localhost:${port}/telemetry/enable`, {
872
+ method: 'POST',
873
+ headers,
874
+ signal: AbortSignal.timeout(5000),
875
+ });
876
+ if (response.ok) {
877
+ const result = await response.json();
878
+ console.log(pc.green(`\n ✓ ${result.message}`));
879
+ console.log(pc.dim(` Installation ID: ${result.installationId}`));
880
+ console.log(pc.dim(' Restart the server for submissions to begin.'));
881
+ }
882
+ else {
883
+ const err = await response.json();
884
+ console.error(pc.red(` Failed: ${err.error}`));
885
+ process.exit(1);
886
+ }
887
+ }
888
+ catch {
889
+ console.error('Could not connect to instar server. Is it running?');
890
+ process.exit(1);
891
+ }
892
+ });
893
+ telemetryCmd
894
+ .command('disable')
895
+ .description('Disable Baseline telemetry and delete local identity')
896
+ .option('-d, --dir <path>', 'Project directory')
897
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
898
+ .action(async (opts) => {
899
+ const port = opts.port || 4040;
900
+ const pc = (await import('picocolors')).default;
901
+ console.log(pc.yellow('\n Warning: Re-enabling telemetry will create a new identity.'));
902
+ console.log(pc.yellow(' Prior submission history is not recoverable.\n'));
903
+ const readline = await import('node:readline');
904
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
905
+ const answer = await new Promise(resolve => {
906
+ rl.question(' Disable Baseline and delete identity? [y/N] ', resolve);
907
+ });
908
+ rl.close();
909
+ if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') {
910
+ console.log(pc.dim(' Cancelled.'));
911
+ return;
912
+ }
913
+ let authToken;
914
+ try {
915
+ const { loadConfig } = await import('./core/Config.js');
916
+ const config = loadConfig(opts.dir);
917
+ authToken = config.authToken;
918
+ }
919
+ catch { /* project may not be initialized */ }
920
+ try {
921
+ const headers = { 'Content-Type': 'application/json' };
922
+ if (authToken)
923
+ headers['Authorization'] = `Bearer ${authToken}`;
924
+ const response = await fetch(`http://localhost:${port}/telemetry/disable`, {
925
+ method: 'POST',
926
+ headers,
927
+ signal: AbortSignal.timeout(10000),
928
+ });
929
+ if (response.ok) {
930
+ const result = await response.json();
931
+ console.log(pc.green(` ✓ ${result.message}`));
932
+ if (result.remoteDeletion !== 'success') {
933
+ console.log(pc.dim(` Remote deletion: ${result.remoteDeletion}`));
934
+ }
935
+ }
936
+ else {
937
+ const err = await response.json();
938
+ console.error(pc.red(` Failed: ${err.error}`));
939
+ process.exit(1);
940
+ }
941
+ }
942
+ catch {
943
+ console.error('Could not connect to instar server. Is it running?');
944
+ process.exit(1);
945
+ }
946
+ });
947
+ telemetryCmd
948
+ .command('submissions')
949
+ .description('View the local transparency log of Baseline submissions')
950
+ .option('-n, --limit <limit>', 'Number of entries to show', (v) => parseInt(v, 10), 10)
951
+ .option('-d, --dir <path>', 'Project directory')
952
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
953
+ .action(async (opts) => {
954
+ const port = opts.port || 4040;
955
+ let authToken;
956
+ try {
957
+ const { loadConfig } = await import('./core/Config.js');
958
+ const config = loadConfig(opts.dir);
959
+ authToken = config.authToken;
960
+ }
961
+ catch { /* project may not be initialized */ }
962
+ try {
963
+ const headers = {};
964
+ if (authToken)
965
+ headers['Authorization'] = `Bearer ${authToken}`;
966
+ const response = await fetch(`http://localhost:${port}/telemetry/submissions?limit=${opts.limit}`, {
967
+ headers,
968
+ signal: AbortSignal.timeout(5000),
969
+ });
970
+ if (response.ok) {
971
+ const { submissions } = await response.json();
972
+ const pc = (await import('picocolors')).default;
973
+ if (submissions.length === 0) {
974
+ console.log(pc.dim('No Baseline submissions yet.'));
975
+ return;
976
+ }
977
+ for (const sub of submissions) {
978
+ const status = sub.responseStatus === 200 ? pc.green('✓') : pc.red(`✗ ${sub.responseStatus}`);
979
+ const jobCount = sub.payload?.jobs?.skips?.length ?? 0;
980
+ console.log(`${status} ${sub.timestamp} (${jobCount} skip metrics)`);
981
+ }
982
+ console.log(pc.dim(`\nShowing ${submissions.length} most recent. Use --limit for more.`));
983
+ }
984
+ else {
985
+ console.error(`Failed: ${response.statusText}`);
986
+ process.exit(1);
987
+ }
988
+ }
989
+ catch {
990
+ console.error('Could not connect to instar server. Is it running?');
991
+ process.exit(1);
992
+ }
993
+ });
994
+ telemetryCmd
995
+ .command('purge')
996
+ .description('Request remote data deletion (secret-loss fallback)')
997
+ .option('--force', 'Use unsigned deletion with 72h grace period')
998
+ .option('-d, --dir <path>', 'Project directory')
999
+ .option('--port <port>', 'Server port (default: 4040)', (v) => parseInt(v, 10))
1000
+ .action(async (opts) => {
1001
+ if (!opts.force) {
1002
+ console.error('This command requires --force. It sends an unsigned DELETE with a 72-hour grace period.');
1003
+ console.error('Use `instar telemetry disable` for normal deactivation.');
1004
+ process.exit(1);
1005
+ }
1006
+ const pc = (await import('picocolors')).default;
1007
+ console.log(pc.yellow('\n This sends an unsigned DELETE request with a 72-hour grace period.'));
1008
+ console.log(pc.yellow(' During those 72 hours, anyone with the original secret can cancel it.\n'));
1009
+ const readline = await import('node:readline');
1010
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
1011
+ const answer = await new Promise(resolve => {
1012
+ rl.question(' Proceed with unsigned purge? [y/N] ', resolve);
1013
+ });
1014
+ rl.close();
1015
+ if (answer.toLowerCase() !== 'y' && answer.toLowerCase() !== 'yes') {
1016
+ console.log(pc.dim(' Cancelled.'));
1017
+ return;
1018
+ }
1019
+ // Read install-id from state dir (even if secret is lost)
1020
+ let installationId;
1021
+ try {
1022
+ const { loadConfig } = await import('./core/Config.js');
1023
+ const config = loadConfig(opts.dir);
1024
+ const { TelemetryAuth } = await import('./monitoring/TelemetryAuth.js');
1025
+ const auth = new TelemetryAuth(config.stateDir);
1026
+ installationId = auth.getInstallationId() ?? undefined;
1027
+ }
1028
+ catch { /* best-effort */ }
1029
+ if (!installationId) {
1030
+ console.error(pc.red(' Cannot find installation ID. No telemetry identity to purge.'));
1031
+ process.exit(1);
1032
+ }
1033
+ try {
1034
+ const controller = new AbortController();
1035
+ const timeout = setTimeout(() => controller.abort(), 10000);
1036
+ const resp = await fetch(`https://instar-telemetry.sagemind-ai.workers.dev/v1/telemetry/${installationId}`, {
1037
+ method: 'DELETE',
1038
+ headers: { 'X-Instar-Purge-Reason': 'secret-lost' },
1039
+ signal: controller.signal,
1040
+ });
1041
+ clearTimeout(timeout);
1042
+ if (resp.ok) {
1043
+ console.log(pc.green(' ✓ Unsigned purge request accepted. Data will be deleted in 72 hours.'));
1044
+ console.log(pc.dim(' The original secret holder can cancel this within that window.'));
1045
+ }
1046
+ else {
1047
+ console.error(pc.red(` Purge request failed: ${resp.status} ${resp.statusText}`));
1048
+ process.exit(1);
1049
+ }
1050
+ }
1051
+ catch {
1052
+ console.error(pc.red(' Network error — could not reach telemetry endpoint.'));
1053
+ process.exit(1);
1054
+ }
1055
+ });
1056
+ // ── Server ────────────────────────────────────────────────────────
1057
+ /** Guard: prevent sessions from inadvertently starting/stopping/restarting the server. */
1058
+ function rejectIfInsideSession(action) {
1059
+ if (process.env.INSTAR_SESSION_ID) {
1060
+ console.error(pc.red(`Cannot '${action}' from inside a session (session ${process.env.INSTAR_SESSION_ID}).`));
1061
+ console.error(pc.dim('The server is managed by the supervisor. Sessions should not start, stop, or restart it.'));
1062
+ return true;
1063
+ }
1064
+ return false;
1065
+ }
1066
+ const serverCmd = program
1067
+ .command('server')
1068
+ .description('Manage the persistent agent server');
1069
+ serverCmd
1070
+ .command('start [name]')
1071
+ .description('Start the agent server (optional: standalone agent name)')
1072
+ .option('--foreground', 'Run in foreground (default: background via tmux)')
1073
+ .option('--no-telegram', 'Skip Telegram polling (use when lifeline manages Telegram)')
1074
+ .option('-d, --dir <path>', 'Project directory')
1075
+ .action(async (name, opts) => {
1076
+ if (rejectIfInsideSession('server start'))
1077
+ return;
1078
+ if (name && !opts.dir) {
1079
+ // Resolve standalone agent name to directory
1080
+ const { resolveAgentDir } = await import('./core/Config.js');
1081
+ try {
1082
+ opts.dir = resolveAgentDir(name);
1083
+ }
1084
+ catch (err) {
1085
+ console.log(pc.red(`Agent "${name}" not found: ${err instanceof Error ? err.message : err}`));
1086
+ process.exit(1);
1087
+ }
1088
+ }
1089
+ return startServer(opts);
1090
+ });
1091
+ serverCmd
1092
+ .command('stop [name]')
1093
+ .description('Stop the agent server (optional: standalone agent name)')
1094
+ .option('-d, --dir <path>', 'Project directory')
1095
+ .action(async (name, opts) => {
1096
+ if (rejectIfInsideSession('server stop'))
1097
+ return;
1098
+ if (name && !opts.dir) {
1099
+ const { resolveAgentDir } = await import('./core/Config.js');
1100
+ try {
1101
+ opts.dir = resolveAgentDir(name);
1102
+ }
1103
+ catch (err) {
1104
+ console.log(pc.red(`Agent "${name}" not found: ${err instanceof Error ? err.message : err}`));
1105
+ process.exit(1);
1106
+ }
1107
+ }
1108
+ return stopServer(opts);
1109
+ });
1110
+ serverCmd
1111
+ .command('restart [name]')
1112
+ .description('Restart the agent server (handles launchd/systemd lifecycle)')
1113
+ .option('-d, --dir <path>', 'Project directory')
1114
+ .action(async (name, opts) => {
1115
+ if (rejectIfInsideSession('server restart'))
1116
+ return;
1117
+ if (name && !opts.dir) {
1118
+ const { resolveAgentDir } = await import('./core/Config.js');
1119
+ try {
1120
+ opts.dir = resolveAgentDir(name);
1121
+ }
1122
+ catch (err) {
1123
+ console.log(pc.red(`Agent "${name}" not found: ${err instanceof Error ? err.message : err}`));
1124
+ process.exit(1);
1125
+ }
1126
+ }
1127
+ return restartServer(opts);
1128
+ });
1129
+ // ── Status ────────────────────────────────────────────────────────
1130
+ program
1131
+ .command('status [name]')
1132
+ .description('Show agent infrastructure status (optional: standalone agent name)')
1133
+ .option('-d, --dir <path>', 'Project directory')
1134
+ .action(async (name, opts) => {
1135
+ if (name && !opts.dir) {
1136
+ const { resolveAgentDir } = await import('./core/Config.js');
1137
+ try {
1138
+ opts.dir = resolveAgentDir(name);
1139
+ }
1140
+ catch (err) {
1141
+ console.log(pc.red(`Agent "${name}" not found: ${err instanceof Error ? err.message : err}`));
1142
+ process.exit(1);
1143
+ }
1144
+ }
1145
+ return showStatus(opts);
1146
+ });
1147
+ // ── User ──────────────────────────────────────────────────────────
1148
+ const userCmd = program
1149
+ .command('user')
1150
+ .description('Manage users');
1151
+ userCmd
1152
+ .command('add')
1153
+ .description('Add a user profile')
1154
+ .requiredOption('--id <id>', 'User ID')
1155
+ .requiredOption('--name <name>', 'User display name')
1156
+ .option('--telegram <topicId>', 'Telegram topic ID')
1157
+ .option('--email <email>', 'Email address')
1158
+ .option('--slack <userId>', 'Slack user ID')
1159
+ .option('--permissions <perms>', 'Comma-separated permissions', (v) => v.split(','))
1160
+ .action(addUser);
1161
+ userCmd
1162
+ .command('list')
1163
+ .description('List all users')
1164
+ .option('-d, --dir <path>', 'Project directory')
1165
+ .action(listUsers);
1166
+ // ── Relationship ─────────────────────────────────────────────────
1167
+ const relCmd = program
1168
+ .command('relationship')
1169
+ .description('Manage relationship records (PROP-166)');
1170
+ relCmd
1171
+ .command('list')
1172
+ .description('List all tracked relationships')
1173
+ .option('--sort <by>', 'Sort by: significance, recent, name', 'significance')
1174
+ .action(listRelationships);
1175
+ relCmd
1176
+ .command('import')
1177
+ .description('Import relationships from Portal people-registry export')
1178
+ .requiredOption('--file <path>', 'Path to Portal export JSON file')
1179
+ .option('--dry-run', 'Preview what would be imported without making changes')
1180
+ .action(importRelationships);
1181
+ relCmd
1182
+ .command('export')
1183
+ .description('Export relationships for Portal import')
1184
+ .option('--file <path>', 'Output file path (stdout if omitted)')
1185
+ .option('--min-significance <n>', 'Minimum significance (1-10) to include', '0')
1186
+ .action(exportRelationships);
1187
+ // ── Job ───────────────────────────────────────────────────────────
1188
+ const jobCmd = program
1189
+ .command('job')
1190
+ .description('Manage scheduled jobs');
1191
+ jobCmd
1192
+ .command('add')
1193
+ .description('Add a job definition')
1194
+ .requiredOption('--slug <slug>', 'Job identifier')
1195
+ .requiredOption('--name <name>', 'Job display name')
1196
+ .requiredOption('--schedule <cron>', 'Cron expression')
1197
+ .option('--description <desc>', 'Job description')
1198
+ .option('--priority <priority>', 'Priority (critical|high|medium|low)', 'medium')
1199
+ .option('--model <model>', 'Model tier (opus|sonnet|haiku)', 'opus')
1200
+ .option('--type <type>', 'Execution type (skill|prompt|script)', 'prompt')
1201
+ .option('--execute <value>', 'Execution value (skill name, prompt text, or script path)')
1202
+ .action(addJob);
1203
+ jobCmd
1204
+ .command('list')
1205
+ .description('List all jobs')
1206
+ .option('-d, --dir <path>', 'Project directory')
1207
+ .action(listJobs);
1208
+ jobCmd
1209
+ .command('handoff <slug>')
1210
+ .description('Write handoff notes for the next execution of a job')
1211
+ .requiredOption('--notes <notes>', 'Handoff notes (human-readable context for next execution)')
1212
+ .option('--state <json>', 'JSON state snapshot to pass to next execution')
1213
+ .option('--run-id <runId>', 'Specific run ID (defaults to most recent pending/active run)')
1214
+ .option('-d, --dir <path>', 'Project directory')
1215
+ .action(async (slug, opts) => {
1216
+ const { jobHandoff } = await import('./commands/job.js');
1217
+ await jobHandoff(slug, opts);
1218
+ });
1219
+ jobCmd
1220
+ .command('history [slug]')
1221
+ .description('Show job run history with handoff notes')
1222
+ .option('-n, --limit <n>', 'Number of runs to show (default: 10)', (v) => parseInt(v, 10))
1223
+ .option('--handoff-only', 'Only show runs with handoff notes')
1224
+ .option('-d, --dir <path>', 'Project directory')
1225
+ .action(async (slug, opts) => {
1226
+ const { jobHistory } = await import('./commands/job.js');
1227
+ await jobHistory(slug, opts);
1228
+ });
1229
+ jobCmd
1230
+ .command('continuity <slug>')
1231
+ .description('Show what the next execution of a job will inherit (handoff notes, state)')
1232
+ .option('-d, --dir <path>', 'Project directory')
1233
+ .action(async (slug, _opts) => {
1234
+ const { jobContinuity } = await import('./commands/job.js');
1235
+ await jobContinuity(slug);
1236
+ });
1237
+ // ── Lifeline ──────────────────────────────────────────────────────
1238
+ const lifelineCmd = program
1239
+ .command('lifeline')
1240
+ .description('Manage the Telegram lifeline (persistent Telegram connection)');
1241
+ lifelineCmd
1242
+ .command('start')
1243
+ .description('Start the Telegram lifeline (owns Telegram polling, supervises server)')
1244
+ .option('-d, --dir <path>', 'Project directory')
1245
+ .action(async (opts) => {
1246
+ const { TelegramLifeline } = await import('./lifeline/TelegramLifeline.js');
1247
+ try {
1248
+ const lifeline = new TelegramLifeline(opts.dir);
1249
+ await lifeline.start();
1250
+ }
1251
+ catch (err) {
1252
+ console.error(pc.red(`Failed to start lifeline: ${err instanceof Error ? err.message : err}`));
1253
+ process.exit(1);
1254
+ }
1255
+ });
1256
+ lifelineCmd
1257
+ .command('stop')
1258
+ .description('Stop the Telegram lifeline')
1259
+ .option('-d, --dir <path>', 'Project directory')
1260
+ .action(async (opts) => {
1261
+ // The lifeline runs in a tmux session — kill it
1262
+ const { loadConfig, detectTmuxPath } = await import('./core/Config.js');
1263
+ const config = loadConfig(opts.dir);
1264
+ const tmuxPath = detectTmuxPath();
1265
+ const sessionName = `${config.projectName}-lifeline`;
1266
+ if (!tmuxPath) {
1267
+ console.log(pc.red('tmux not found'));
1268
+ process.exit(1);
1269
+ }
1270
+ try {
1271
+ const { execFileSync } = await import('node:child_process');
1272
+ execFileSync(tmuxPath, ['has-session', '-t', `=${sessionName}`], { stdio: 'ignore' });
1273
+ execFileSync(tmuxPath, ['send-keys', '-t', `=${sessionName}:`, 'C-c'], { stdio: 'ignore' });
1274
+ // Wait briefly for graceful shutdown
1275
+ await new Promise(r => setTimeout(r, 3000));
1276
+ try {
1277
+ execFileSync(tmuxPath, ['kill-session', '-t', `=${sessionName}`], { stdio: 'ignore' });
1278
+ }
1279
+ catch { /* already dead */ }
1280
+ console.log(pc.green(`Lifeline stopped (session: ${sessionName})`));
1281
+ }
1282
+ catch {
1283
+ console.log(pc.yellow(`No lifeline running (no tmux session: ${sessionName})`));
1284
+ }
1285
+ });
1286
+ lifelineCmd
1287
+ .command('status')
1288
+ .description('Check lifeline status')
1289
+ .option('-d, --dir <path>', 'Project directory')
1290
+ .action(async (opts) => {
1291
+ const { loadConfig, detectTmuxPath } = await import('./core/Config.js');
1292
+ const config = loadConfig(opts.dir);
1293
+ const tmuxPath = detectTmuxPath();
1294
+ const sessionName = `${config.projectName}-lifeline`;
1295
+ if (!tmuxPath) {
1296
+ console.log(pc.red('tmux not found'));
1297
+ process.exit(1);
1298
+ }
1299
+ try {
1300
+ const { execFileSync } = await import('node:child_process');
1301
+ execFileSync(tmuxPath, ['has-session', '-t', `=${sessionName}`], { stdio: 'ignore' });
1302
+ console.log(pc.green(`Lifeline is running (tmux session: ${sessionName})`));
1303
+ console.log(` Attach: tmux attach -t '=${sessionName}'`);
1304
+ }
1305
+ catch {
1306
+ console.log(pc.yellow('Lifeline is not running'));
1307
+ console.log(` Start: instar lifeline start`);
1308
+ }
1309
+ });
1310
+ // ── List (replaces Instances) ─────────────────────────────────────
1311
+ function showAgentList() {
1312
+ const agents = listAgents();
1313
+ if (agents.length === 0) {
1314
+ console.log(pc.dim('No Instar agents registered.'));
1315
+ console.log(pc.dim('Start a server with: instar server start'));
1316
+ return;
1317
+ }
1318
+ console.log(pc.bold(`\n Instar Agents (${agents.length})\n`));
1319
+ for (const entry of agents) {
1320
+ const age = Math.round((Date.now() - new Date(entry.createdAt).getTime()) / 60000);
1321
+ const heartbeatAge = Math.round((Date.now() - new Date(entry.lastHeartbeat).getTime()) / 60000);
1322
+ const statusIcon = entry.status === 'running' && heartbeatAge < 3
1323
+ ? pc.green('●')
1324
+ : entry.status === 'running'
1325
+ ? pc.yellow('●')
1326
+ : pc.dim('○');
1327
+ const typeLabel = entry.type === 'standalone' ? pc.magenta(' [standalone]') : '';
1328
+ console.log(` ${statusIcon} ${pc.bold(entry.name)}${typeLabel}`);
1329
+ console.log(` Port: ${pc.cyan(String(entry.port))} PID: ${entry.pid} Status: ${entry.status} Heartbeat: ${heartbeatAge}m ago`);
1330
+ console.log(` Dir: ${pc.dim(entry.path)}`);
1331
+ console.log();
1332
+ }
1333
+ }
1334
+ program
1335
+ .command('list')
1336
+ .description('List all registered agents on this machine')
1337
+ .action(showAgentList);
1338
+ // Hidden alias for backward compatibility
1339
+ program
1340
+ .command('instances', { hidden: true })
1341
+ .action(() => {
1342
+ console.warn(pc.yellow('⚠ "instar instances" is deprecated. Use "instar list" instead.'));
1343
+ showAgentList();
1344
+ });
1345
+ // ── Auto-Start ───────────────────────────────────────────────────
1346
+ const autostartCmd = program
1347
+ .command('autostart')
1348
+ .description('Manage auto-start on login (agent starts when you log into your computer)');
1349
+ autostartCmd
1350
+ .command('install')
1351
+ .description('Install auto-start so your agent starts on login')
1352
+ .option('-d, --dir <path>', 'Project directory')
1353
+ .action(async (opts) => {
1354
+ const { loadConfig } = await import('./core/Config.js');
1355
+ const { installAutoStart } = await import('./commands/setup.js');
1356
+ const config = loadConfig(opts.dir);
1357
+ const hasTelegram = config.messaging?.some((m) => m.type === 'telegram') ?? false;
1358
+ const installed = installAutoStart(config.projectName, config.projectDir, hasTelegram);
1359
+ if (installed) {
1360
+ console.log(pc.green(`Auto-start installed for "${config.projectName}".`));
1361
+ console.log(pc.dim('Your agent will start automatically when you log in.'));
1362
+ }
1363
+ else {
1364
+ console.log(pc.red('Failed to install auto-start.'));
1365
+ console.log(pc.dim(`Platform: ${process.platform} — auto-start supports macOS and Linux.`));
1366
+ }
1367
+ });
1368
+ autostartCmd
1369
+ .command('uninstall')
1370
+ .description('Remove auto-start')
1371
+ .option('-d, --dir <path>', 'Project directory')
1372
+ .action(async (opts) => {
1373
+ const { loadConfig } = await import('./core/Config.js');
1374
+ const { uninstallAutoStart } = await import('./commands/setup.js');
1375
+ const config = loadConfig(opts.dir);
1376
+ const removed = uninstallAutoStart(config.projectName);
1377
+ if (removed) {
1378
+ console.log(pc.green(`Auto-start removed for "${config.projectName}".`));
1379
+ }
1380
+ else {
1381
+ console.log(pc.yellow('No auto-start found to remove.'));
1382
+ }
1383
+ });
1384
+ autostartCmd
1385
+ .command('status')
1386
+ .description('Check if auto-start is installed')
1387
+ .option('-d, --dir <path>', 'Project directory')
1388
+ .action(async (opts) => {
1389
+ const { loadConfig } = await import('./core/Config.js');
1390
+ const config = loadConfig(opts.dir);
1391
+ const os = await import('node:os');
1392
+ const fs = await import('node:fs');
1393
+ const path = await import('node:path');
1394
+ if (process.platform === 'darwin') {
1395
+ const label = `ai.instar.${config.projectName}`;
1396
+ const plistPath = path.join(os.homedir(), 'Library', 'LaunchAgents', `${label}.plist`);
1397
+ if (fs.existsSync(plistPath)) {
1398
+ console.log(pc.green(`Auto-start is installed (macOS LaunchAgent: ${label})`));
1399
+ console.log(pc.dim(` Plist: ${plistPath}`));
1400
+ }
1401
+ else {
1402
+ console.log(pc.yellow('Auto-start is not installed.'));
1403
+ console.log(pc.dim(' Install with: instar autostart install'));
1404
+ }
1405
+ }
1406
+ else if (process.platform === 'linux') {
1407
+ const serviceName = `instar-${config.projectName}.service`;
1408
+ const servicePath = path.join(os.homedir(), '.config', 'systemd', 'user', serviceName);
1409
+ if (fs.existsSync(servicePath)) {
1410
+ console.log(pc.green(`Auto-start is installed (systemd user service: ${serviceName})`));
1411
+ console.log(pc.dim(` Service: ${servicePath}`));
1412
+ }
1413
+ else {
1414
+ console.log(pc.yellow('Auto-start is not installed.'));
1415
+ console.log(pc.dim(' Install with: instar autostart install'));
1416
+ }
1417
+ }
1418
+ else {
1419
+ console.log(pc.yellow(`Auto-start is not supported on ${process.platform}.`));
1420
+ }
1421
+ });
1422
+ // Hidden command: run post-update migration from the NEW binary
1423
+ // Called by the auto-updater after `npm install -g` to ensure
1424
+ // migrations use the latest code, not the old in-memory modules.
1425
+ program
1426
+ .command('migrate')
1427
+ .description('Run post-update knowledge migration')
1428
+ .option('-d, --dir <path>', 'Project directory')
1429
+ .action(async (opts) => {
1430
+ try {
1431
+ const { loadConfig } = await import('./core/Config.js');
1432
+ const { PostUpdateMigrator } = await import('./core/PostUpdateMigrator.js');
1433
+ const { UpgradeGuideProcessor } = await import('./core/UpgradeGuideProcessor.js');
1434
+ const { getInstarVersion } = await import('./core/Config.js');
1435
+ const config = loadConfig(opts.dir);
1436
+ const hasTelegram = config.messaging?.some((m) => m.type === 'telegram') ?? false;
1437
+ // Layer 1: Mechanical migrations (hooks, scripts, CLAUDE.md patches)
1438
+ const migrator = new PostUpdateMigrator({
1439
+ projectDir: config.projectDir,
1440
+ stateDir: config.stateDir,
1441
+ port: config.port,
1442
+ hasTelegram,
1443
+ projectName: config.projectName,
1444
+ });
1445
+ const result = migrator.migrate();
1446
+ // Read previously-migrated version so we only deliver guides for NEW versions
1447
+ let previousVersion;
1448
+ try {
1449
+ const versionFile = path.join(config.stateDir, 'state', 'last-migrated-version.json');
1450
+ previousVersion = JSON.parse(fs.readFileSync(versionFile, 'utf-8')).version || undefined;
1451
+ }
1452
+ catch { /* first run — no previous version */ }
1453
+ // Layer 2: Upgrade guide delivery (intelligent knowledge upgrades)
1454
+ const guideProcessor = new UpgradeGuideProcessor({
1455
+ stateDir: config.stateDir,
1456
+ currentVersion: getInstarVersion(),
1457
+ previousVersion,
1458
+ });
1459
+ const guideResult = guideProcessor.process();
1460
+ // Combined output for the calling process
1461
+ console.log(JSON.stringify({
1462
+ ...result,
1463
+ upgradeGuide: guideResult.pendingGuides.length > 0 ? {
1464
+ versions: guideResult.pendingGuides,
1465
+ content: guideResult.guideContent,
1466
+ pendingGuidePath: guideResult.pendingGuidePath,
1467
+ } : null,
1468
+ }));
1469
+ }
1470
+ catch (err) {
1471
+ console.error(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
1472
+ process.exit(1);
1473
+ }
1474
+ });
1475
+ // Mark pending upgrade guide as processed (called by agent after reading)
1476
+ program
1477
+ .command('upgrade-ack')
1478
+ .description('Acknowledge that upgrade guides have been processed')
1479
+ .option('-d, --dir <path>', 'Project directory')
1480
+ .action(async (opts) => {
1481
+ try {
1482
+ const { loadConfig } = await import('./core/Config.js');
1483
+ const { UpgradeGuideProcessor } = await import('./core/UpgradeGuideProcessor.js');
1484
+ const { getInstarVersion } = await import('./core/Config.js');
1485
+ const config = loadConfig(opts.dir);
1486
+ const processor = new UpgradeGuideProcessor({
1487
+ stateDir: config.stateDir,
1488
+ currentVersion: getInstarVersion(),
1489
+ });
1490
+ processor.clearPendingGuide();
1491
+ console.log('Upgrade guide acknowledged and cleared.');
1492
+ }
1493
+ catch (err) {
1494
+ console.error(`Failed: ${err instanceof Error ? err.message : String(err)}`);
1495
+ process.exit(1);
1496
+ }
1497
+ });
1498
+ // ── Multi-Machine ─────────────────────────────────────────────────
1499
+ const machineCmd = program
1500
+ .command('machines')
1501
+ .description('List all paired machines and their roles')
1502
+ .option('-d, --dir <path>', 'Project directory')
1503
+ .action(listMachines);
1504
+ machineCmd
1505
+ .command('remove <name-or-id>')
1506
+ .description('Revoke a machine from the mesh')
1507
+ .option('-d, --dir <path>', 'Project directory')
1508
+ .action(removeMachine);
1509
+ program
1510
+ .command('whoami')
1511
+ .description("Show this machine's identity and role")
1512
+ .option('-d, --dir <path>', 'Project directory')
1513
+ .action(whoami);
1514
+ program
1515
+ .command('pair')
1516
+ .description('Generate a pairing code for a new machine')
1517
+ .option('-d, --dir <path>', 'Project directory')
1518
+ .option('--qr', 'Display pairing info as QR code')
1519
+ .action(startPairing);
1520
+ program
1521
+ .command('join <url>')
1522
+ .description('Join an existing agent mesh (run on the new machine)')
1523
+ .option('--code <code>', 'Pairing code from `instar pair`')
1524
+ .option('--name <name>', 'Display name for this machine')
1525
+ .action(joinMesh);
1526
+ program
1527
+ .command('wakeup')
1528
+ .description('Move the agent to this machine (transfer awake role)')
1529
+ .option('-d, --dir <path>', 'Project directory')
1530
+ .option('--force', 'Force wakeup without contacting the current awake machine')
1531
+ .action(wakeup);
1532
+ program
1533
+ .command('leave')
1534
+ .description('Remove this machine from the mesh')
1535
+ .option('-d, --dir <path>', 'Project directory')
1536
+ .action(leaveMesh);
1537
+ program
1538
+ .command('doctor')
1539
+ .description('Diagnose multi-machine health and connectivity')
1540
+ .option('-d, --dir <path>', 'Project directory')
1541
+ .action(doctor);
1542
+ // ── Channels ─────────────────────────────────────────────────────
1543
+ const channelsCmd = program
1544
+ .command('channels')
1545
+ .description('Manage messaging channel adapters');
1546
+ channelsCmd
1547
+ .command('login <adapter>')
1548
+ .description('Authenticate a messaging adapter (e.g., whatsapp)')
1549
+ .option('-d, --dir <path>', 'Project directory')
1550
+ .option('--method <method>', 'Auth method: qr or pairing-code', 'qr')
1551
+ .option('--phone <number>', 'Phone number for pairing code auth')
1552
+ .action(async (adapter, opts) => {
1553
+ const { channelLogin } = await import('./commands/whatsapp.js');
1554
+ return channelLogin(adapter, opts);
1555
+ });
1556
+ channelsCmd
1557
+ .command('doctor [adapter]')
1558
+ .description('Diagnose messaging adapter health')
1559
+ .option('-d, --dir <path>', 'Project directory')
1560
+ .action(async (adapter, opts) => {
1561
+ const { channelDoctor } = await import('./commands/whatsapp.js');
1562
+ return channelDoctor(adapter, opts);
1563
+ });
1564
+ channelsCmd
1565
+ .command('status')
1566
+ .description('Show status of all configured messaging adapters')
1567
+ .option('-d, --dir <path>', 'Project directory')
1568
+ .action(async (opts) => {
1569
+ const { channelStatus } = await import('./commands/whatsapp.js');
1570
+ return channelStatus(opts);
1571
+ });
1572
+ // ── System Review ────────────────────────────────────────────────
1573
+ program
1574
+ .command('review')
1575
+ .description('Run system review — verify features work end-to-end')
1576
+ .option('-d, --dir <path>', 'Project directory')
1577
+ .option('-t, --tier <n>', 'Run only probes in this tier (1-5)')
1578
+ .option('-p, --probe <id>', 'Run a specific probe by ID')
1579
+ .option('--dry-run', 'Show what would run without executing')
1580
+ .option('--history', 'Show past review results')
1581
+ .option('--trend', 'Show trend analysis across recent reviews')
1582
+ .option('--json', 'Output machine-readable JSON')
1583
+ .action(async (opts) => {
1584
+ const { review } = await import('./commands/review.js');
1585
+ await review(opts);
1586
+ });
1587
+ program
1588
+ .command('nuke <name>')
1589
+ .description('Completely remove a standalone agent and all its data')
1590
+ .option('--yes', 'Skip confirmation prompts')
1591
+ .action(async (name, opts) => {
1592
+ const { nukeAgent } = await import('./commands/nuke.js');
1593
+ await nukeAgent(name, { skipConfirm: opts.yes });
1594
+ });
1595
+ // ── Playbook (Context Engineering) ───────────────────────────────
1596
+ const playbookCmd = program
1597
+ .command('playbook')
1598
+ .description('Context engineering for autonomous AI agents');
1599
+ playbookCmd
1600
+ .command('init')
1601
+ .description('Initialize playbook for this project (detect Python, create venv, config)')
1602
+ .option('-d, --dir <path>', 'Project directory')
1603
+ .action(async (opts) => {
1604
+ const { playbookInit } = await import('./commands/playbook.js');
1605
+ return playbookInit(opts);
1606
+ });
1607
+ playbookCmd
1608
+ .command('doctor')
1609
+ .description('Validate Python, venv, config, manifest, and script accessibility')
1610
+ .option('-d, --dir <path>', 'Project directory')
1611
+ .option('-v, --verbose', 'Show detailed paths')
1612
+ .action(async (opts) => {
1613
+ const { playbookDoctor } = await import('./commands/playbook.js');
1614
+ return playbookDoctor(opts);
1615
+ });
1616
+ playbookCmd
1617
+ .command('status')
1618
+ .description('Show manifest health, item counts, and chain integrity')
1619
+ .option('-d, --dir <path>', 'Project directory')
1620
+ .option('--json', 'Machine-readable JSON output')
1621
+ .action(async (opts) => {
1622
+ const { playbookStatus } = await import('./commands/playbook.js');
1623
+ return playbookStatus(opts);
1624
+ });
1625
+ playbookCmd
1626
+ .command('list')
1627
+ .description('List manifest items with filtering')
1628
+ .option('--tag <tag>', 'Filter by tag')
1629
+ .option('--type <type>', 'Filter by type')
1630
+ .option('-d, --dir <path>', 'Project directory')
1631
+ .option('--json', 'Machine-readable JSON output')
1632
+ .action(async (opts) => {
1633
+ const { playbookList } = await import('./commands/playbook.js');
1634
+ return playbookList(opts);
1635
+ });
1636
+ playbookCmd
1637
+ .command('read <itemId>')
1638
+ .description('Display a single manifest item')
1639
+ .option('-d, --dir <path>', 'Project directory')
1640
+ .option('--json', 'Machine-readable JSON output')
1641
+ .action(async (itemId, opts) => {
1642
+ const { playbookRead } = await import('./commands/playbook.js');
1643
+ return playbookRead(itemId, opts);
1644
+ });
1645
+ playbookCmd
1646
+ .command('add')
1647
+ .description('Add a new context item (routed through delta validator)')
1648
+ .option('-c, --content <content>', 'Item content')
1649
+ .option('-f, --content-file <path>', 'Read content from file')
1650
+ .option('--tags <tags>', 'Comma-separated tags')
1651
+ .option('--type <type>', 'Item type (strategy, lesson, practice, pattern, ...)')
1652
+ .option('--category <category>', 'Item category')
1653
+ .option('-d, --dir <path>', 'Project directory')
1654
+ .option('--json', 'Machine-readable JSON output')
1655
+ .action(async (opts) => {
1656
+ const { playbookAdd } = await import('./commands/playbook.js');
1657
+ return playbookAdd(opts);
1658
+ });
1659
+ playbookCmd
1660
+ .command('search <query>')
1661
+ .description('Search items by content, tags, or ID')
1662
+ .option('-l, --limit <count>', 'Max results', (v) => parseInt(v, 10))
1663
+ .option('-d, --dir <path>', 'Project directory')
1664
+ .option('--json', 'Machine-readable JSON output')
1665
+ .action(async (query, opts) => {
1666
+ const { playbookSearch } = await import('./commands/playbook.js');
1667
+ return playbookSearch(query, opts);
1668
+ });
1669
+ playbookCmd
1670
+ .command('assemble')
1671
+ .description('Assemble context for a session (the integration point)')
1672
+ .option('--tags <tags>', 'Comma-separated tags to match')
1673
+ .option('--budget <tokens>', 'Token budget', (v) => parseInt(v, 10))
1674
+ .option('--triggers <triggers>', 'Comma-separated trigger types')
1675
+ .option('-d, --dir <path>', 'Project directory')
1676
+ .option('--json', 'Machine-readable JSON output (includes assembled_text)')
1677
+ .action(async (opts) => {
1678
+ const { playbookAssemble } = await import('./commands/playbook.js');
1679
+ return playbookAssemble(opts);
1680
+ });
1681
+ playbookCmd
1682
+ .command('evaluate [sessionLog]')
1683
+ .description('Evaluate session context usage from a log file')
1684
+ .option('--demo', 'Use built-in demo fixture')
1685
+ .option('-d, --dir <path>', 'Project directory')
1686
+ .option('--json', 'Machine-readable JSON output')
1687
+ .action(async (sessionLog, opts) => {
1688
+ const { playbookEvaluate } = await import('./commands/playbook.js');
1689
+ return playbookEvaluate(sessionLog, opts);
1690
+ });
1691
+ playbookCmd
1692
+ .command('lifecycle')
1693
+ .description('Run full lifecycle pass (decay, dedup, retirement)')
1694
+ .option('--dry-run', 'Show what would change without modifying')
1695
+ .option('-d, --dir <path>', 'Project directory')
1696
+ .option('--json', 'Machine-readable JSON output')
1697
+ .action(async (opts) => {
1698
+ const { playbookLifecycle } = await import('./commands/playbook.js');
1699
+ return playbookLifecycle(opts);
1700
+ });
1701
+ playbookCmd
1702
+ .command('validate')
1703
+ .description('Validate manifest schema + chain integrity')
1704
+ .option('-d, --dir <path>', 'Project directory')
1705
+ .option('--debug', 'Show full error details')
1706
+ .action(async (opts) => {
1707
+ const { playbookValidate } = await import('./commands/playbook.js');
1708
+ return playbookValidate(opts);
1709
+ });
1710
+ playbookCmd
1711
+ .command('mount <path>')
1712
+ .description('Mount external manifest as read-only overlay')
1713
+ .requiredOption('-n, --name <name>', 'Mount name')
1714
+ .option('-d, --dir <path>', 'Project directory')
1715
+ .action(async (mountPath, opts) => {
1716
+ const { playbookMount } = await import('./commands/playbook.js');
1717
+ return playbookMount(mountPath, opts);
1718
+ });
1719
+ playbookCmd
1720
+ .command('unmount <name>')
1721
+ .description('Remove a mounted manifest')
1722
+ .option('-d, --dir <path>', 'Project directory')
1723
+ .action(async (name, opts) => {
1724
+ const { playbookUnmount } = await import('./commands/playbook.js');
1725
+ return playbookUnmount(name, opts);
1726
+ });
1727
+ playbookCmd
1728
+ .command('export')
1729
+ .description('Export manifest for sharing or backup')
1730
+ .option('--format <format>', 'Output format: json or md (default: json)')
1731
+ .option('-d, --dir <path>', 'Project directory')
1732
+ .action(async (opts) => {
1733
+ const { playbookExport } = await import('./commands/playbook.js');
1734
+ return playbookExport(opts);
1735
+ });
1736
+ playbookCmd
1737
+ .command('import <file>')
1738
+ .description('Import items (routed through delta validator)')
1739
+ .option('-d, --dir <path>', 'Project directory')
1740
+ .option('--json', 'Machine-readable JSON output')
1741
+ .action(async (filePath, opts) => {
1742
+ const { playbookImport } = await import('./commands/playbook.js');
1743
+ return playbookImport(filePath, opts);
1744
+ });
1745
+ playbookCmd
1746
+ .command('eject [scriptName]')
1747
+ .description('Copy bundled scripts to local for customization')
1748
+ .option('-a, --all', 'Eject all scripts')
1749
+ .option('-d, --dir <path>', 'Project directory')
1750
+ .action(async (scriptName, opts) => {
1751
+ const { playbookEject } = await import('./commands/playbook.js');
1752
+ return playbookEject(scriptName, opts);
1753
+ });
1754
+ playbookCmd
1755
+ .command('user-export <userId>')
1756
+ .description('Export all data for a user (DSAR compliance)')
1757
+ .option('-d, --dir <path>', 'Project directory')
1758
+ .option('--json', 'Machine-readable JSON output')
1759
+ .action(async (userId, opts) => {
1760
+ const { playbookUserExport } = await import('./commands/playbook.js');
1761
+ return playbookUserExport(userId, opts);
1762
+ });
1763
+ playbookCmd
1764
+ .command('user-delete <userId>')
1765
+ .description('Delete all user data (DSAR compliance)')
1766
+ .option('--confirm', 'Confirm permanent deletion')
1767
+ .option('-d, --dir <path>', 'Project directory')
1768
+ .action(async (userId, opts) => {
1769
+ const { playbookUserDelete } = await import('./commands/playbook.js');
1770
+ return playbookUserDelete(userId, opts);
1771
+ });
1772
+ playbookCmd
1773
+ .command('user-audit <userId>')
1774
+ .description('Audit trail of all operations on user data')
1775
+ .option('-d, --dir <path>', 'Project directory')
1776
+ .option('--json', 'Machine-readable JSON output')
1777
+ .action(async (userId, opts) => {
1778
+ const { playbookUserAudit } = await import('./commands/playbook.js');
1779
+ return playbookUserAudit(userId, opts);
1780
+ });
1781
+ program.parse();
1782
+ //# sourceMappingURL=cli.js.map