@amsterdamdatalabs/enact-factory 0.1.1

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 (644) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +566 -0
  3. package/dist/adapters/agenticLoop.d.ts +90 -0
  4. package/dist/adapters/agenticLoop.d.ts.map +1 -0
  5. package/dist/adapters/agenticLoop.js +219 -0
  6. package/dist/adapters/agenticLoop.js.map +1 -0
  7. package/dist/adapters/base.d.ts +16 -0
  8. package/dist/adapters/base.d.ts.map +1 -0
  9. package/dist/adapters/base.js +135 -0
  10. package/dist/adapters/base.js.map +1 -0
  11. package/dist/adapters/claude.d.ts +13 -0
  12. package/dist/adapters/claude.d.ts.map +1 -0
  13. package/dist/adapters/claude.js +318 -0
  14. package/dist/adapters/claude.js.map +1 -0
  15. package/dist/adapters/codex.d.ts +14 -0
  16. package/dist/adapters/codex.d.ts.map +1 -0
  17. package/dist/adapters/codex.js +366 -0
  18. package/dist/adapters/codex.js.map +1 -0
  19. package/dist/adapters/cryptoQuantAdapter.d.ts +85 -0
  20. package/dist/adapters/cryptoQuantAdapter.d.ts.map +1 -0
  21. package/dist/adapters/cryptoQuantAdapter.js +238 -0
  22. package/dist/adapters/cryptoQuantAdapter.js.map +1 -0
  23. package/dist/adapters/cursor.d.ts +13 -0
  24. package/dist/adapters/cursor.d.ts.map +1 -0
  25. package/dist/adapters/cursor.js +300 -0
  26. package/dist/adapters/cursor.js.map +1 -0
  27. package/dist/adapters/envPath.d.ts +20 -0
  28. package/dist/adapters/envPath.d.ts.map +1 -0
  29. package/dist/adapters/envPath.js +49 -0
  30. package/dist/adapters/envPath.js.map +1 -0
  31. package/dist/adapters/hermes.d.ts +13 -0
  32. package/dist/adapters/hermes.d.ts.map +1 -0
  33. package/dist/adapters/hermes.js +283 -0
  34. package/dist/adapters/hermes.js.map +1 -0
  35. package/dist/adapters/index.d.ts +18 -0
  36. package/dist/adapters/index.d.ts.map +1 -0
  37. package/dist/adapters/index.js +56 -0
  38. package/dist/adapters/index.js.map +1 -0
  39. package/dist/adapters/opencode.d.ts +13 -0
  40. package/dist/adapters/opencode.d.ts.map +1 -0
  41. package/dist/adapters/opencode.js +282 -0
  42. package/dist/adapters/opencode.js.map +1 -0
  43. package/dist/adapters/processRegistry.d.ts +38 -0
  44. package/dist/adapters/processRegistry.d.ts.map +1 -0
  45. package/dist/adapters/processRegistry.js +147 -0
  46. package/dist/adapters/processRegistry.js.map +1 -0
  47. package/dist/adapters/responses.d.ts +16 -0
  48. package/dist/adapters/responses.d.ts.map +1 -0
  49. package/dist/adapters/responses.js +244 -0
  50. package/dist/adapters/responses.js.map +1 -0
  51. package/dist/adapters/streamBuffer.d.ts +59 -0
  52. package/dist/adapters/streamBuffer.d.ts.map +1 -0
  53. package/dist/adapters/streamBuffer.js +123 -0
  54. package/dist/adapters/streamBuffer.js.map +1 -0
  55. package/dist/adapters/tools.d.ts +30 -0
  56. package/dist/adapters/tools.d.ts.map +1 -0
  57. package/dist/adapters/tools.js +219 -0
  58. package/dist/adapters/tools.js.map +1 -0
  59. package/dist/adapters/types.d.ts +82 -0
  60. package/dist/adapters/types.d.ts.map +1 -0
  61. package/dist/adapters/types.js +6 -0
  62. package/dist/adapters/types.js.map +1 -0
  63. package/dist/agents/agentBus.d.ts +160 -0
  64. package/dist/agents/agentBus.d.ts.map +1 -0
  65. package/dist/agents/agentBus.js +350 -0
  66. package/dist/agents/agentBus.js.map +1 -0
  67. package/dist/agents/agentPair.d.ts +215 -0
  68. package/dist/agents/agentPair.d.ts.map +1 -0
  69. package/dist/agents/agentPair.js +456 -0
  70. package/dist/agents/agentPair.js.map +1 -0
  71. package/dist/agents/auditor.d.ts +27 -0
  72. package/dist/agents/auditor.d.ts.map +1 -0
  73. package/dist/agents/auditor.js +238 -0
  74. package/dist/agents/auditor.js.map +1 -0
  75. package/dist/agents/cliStreamParser.d.ts +18 -0
  76. package/dist/agents/cliStreamParser.d.ts.map +1 -0
  77. package/dist/agents/cliStreamParser.js +156 -0
  78. package/dist/agents/cliStreamParser.js.map +1 -0
  79. package/dist/agents/documenter.d.ts +31 -0
  80. package/dist/agents/documenter.d.ts.map +1 -0
  81. package/dist/agents/documenter.js +286 -0
  82. package/dist/agents/documenter.js.map +1 -0
  83. package/dist/agents/draftAnalyzer.d.ts +50 -0
  84. package/dist/agents/draftAnalyzer.d.ts.map +1 -0
  85. package/dist/agents/draftAnalyzer.js +289 -0
  86. package/dist/agents/draftAnalyzer.js.map +1 -0
  87. package/dist/agents/evaluator.d.ts +61 -0
  88. package/dist/agents/evaluator.d.ts.map +1 -0
  89. package/dist/agents/evaluator.js +338 -0
  90. package/dist/agents/evaluator.js.map +1 -0
  91. package/dist/agents/executor.d.ts +33 -0
  92. package/dist/agents/executor.d.ts.map +1 -0
  93. package/dist/agents/executor.js +130 -0
  94. package/dist/agents/executor.js.map +1 -0
  95. package/dist/agents/index.d.ts +10 -0
  96. package/dist/agents/index.d.ts.map +1 -0
  97. package/dist/agents/index.js +10 -0
  98. package/dist/agents/index.js.map +1 -0
  99. package/dist/agents/pairMetrics.d.ts +63 -0
  100. package/dist/agents/pairMetrics.d.ts.map +1 -0
  101. package/dist/agents/pairMetrics.js +232 -0
  102. package/dist/agents/pairMetrics.js.map +1 -0
  103. package/dist/agents/pairPipeline.d.ts +184 -0
  104. package/dist/agents/pairPipeline.d.ts.map +1 -0
  105. package/dist/agents/pairPipeline.js +934 -0
  106. package/dist/agents/pairPipeline.js.map +1 -0
  107. package/dist/agents/pairWebhook.d.ts +59 -0
  108. package/dist/agents/pairWebhook.d.ts.map +1 -0
  109. package/dist/agents/pairWebhook.js +242 -0
  110. package/dist/agents/pairWebhook.js.map +1 -0
  111. package/dist/agents/pipelineFormat.d.ts +8 -0
  112. package/dist/agents/pipelineFormat.d.ts.map +1 -0
  113. package/dist/agents/pipelineFormat.js +65 -0
  114. package/dist/agents/pipelineFormat.js.map +1 -0
  115. package/dist/agents/pipelineGuards.d.ts +23 -0
  116. package/dist/agents/pipelineGuards.d.ts.map +1 -0
  117. package/dist/agents/pipelineGuards.js +257 -0
  118. package/dist/agents/pipelineGuards.js.map +1 -0
  119. package/dist/agents/reviewer.d.ts +37 -0
  120. package/dist/agents/reviewer.d.ts.map +1 -0
  121. package/dist/agents/reviewer.js +214 -0
  122. package/dist/agents/reviewer.js.map +1 -0
  123. package/dist/agents/skillDocumenter.d.ts +23 -0
  124. package/dist/agents/skillDocumenter.d.ts.map +1 -0
  125. package/dist/agents/skillDocumenter.js +219 -0
  126. package/dist/agents/skillDocumenter.js.map +1 -0
  127. package/dist/agents/tester.d.ts +37 -0
  128. package/dist/agents/tester.d.ts.map +1 -0
  129. package/dist/agents/tester.js +309 -0
  130. package/dist/agents/tester.js.map +1 -0
  131. package/dist/automation/autonomousRunner.d.ts +145 -0
  132. package/dist/automation/autonomousRunner.d.ts.map +1 -0
  133. package/dist/automation/autonomousRunner.js +1272 -0
  134. package/dist/automation/autonomousRunner.js.map +1 -0
  135. package/dist/automation/dailyReporter.d.ts +26 -0
  136. package/dist/automation/dailyReporter.d.ts.map +1 -0
  137. package/dist/automation/dailyReporter.js +130 -0
  138. package/dist/automation/dailyReporter.js.map +1 -0
  139. package/dist/automation/index.d.ts +5 -0
  140. package/dist/automation/index.d.ts.map +1 -0
  141. package/dist/automation/index.js +5 -0
  142. package/dist/automation/index.js.map +1 -0
  143. package/dist/automation/longRunningMonitor.d.ts +26 -0
  144. package/dist/automation/longRunningMonitor.d.ts.map +1 -0
  145. package/dist/automation/longRunningMonitor.js +356 -0
  146. package/dist/automation/longRunningMonitor.js.map +1 -0
  147. package/dist/automation/prOwnership.d.ts +18 -0
  148. package/dist/automation/prOwnership.d.ts.map +1 -0
  149. package/dist/automation/prOwnership.js +61 -0
  150. package/dist/automation/prOwnership.js.map +1 -0
  151. package/dist/automation/runnerExecution.d.ts +57 -0
  152. package/dist/automation/runnerExecution.d.ts.map +1 -0
  153. package/dist/automation/runnerExecution.js +701 -0
  154. package/dist/automation/runnerExecution.js.map +1 -0
  155. package/dist/automation/runnerState.d.ts +170 -0
  156. package/dist/automation/runnerState.d.ts.map +1 -0
  157. package/dist/automation/runnerState.js +496 -0
  158. package/dist/automation/runnerState.js.map +1 -0
  159. package/dist/automation/runnerTypes.d.ts +57 -0
  160. package/dist/automation/runnerTypes.d.ts.map +1 -0
  161. package/dist/automation/runnerTypes.js +5 -0
  162. package/dist/automation/runnerTypes.js.map +1 -0
  163. package/dist/automation/scheduler.d.ts +75 -0
  164. package/dist/automation/scheduler.d.ts.map +1 -0
  165. package/dist/automation/scheduler.js +402 -0
  166. package/dist/automation/scheduler.js.map +1 -0
  167. package/dist/azdo/azdo.d.ts +70 -0
  168. package/dist/azdo/azdo.d.ts.map +1 -0
  169. package/dist/azdo/azdo.js +328 -0
  170. package/dist/azdo/azdo.js.map +1 -0
  171. package/dist/azdo/index.d.ts +3 -0
  172. package/dist/azdo/index.d.ts.map +1 -0
  173. package/dist/azdo/index.js +3 -0
  174. package/dist/azdo/index.js.map +1 -0
  175. package/dist/azdo/projectUpdater.d.ts +13 -0
  176. package/dist/azdo/projectUpdater.d.ts.map +1 -0
  177. package/dist/azdo/projectUpdater.js +155 -0
  178. package/dist/azdo/projectUpdater.js.map +1 -0
  179. package/dist/azureDevOps/client.d.ts +75 -0
  180. package/dist/azureDevOps/client.d.ts.map +1 -0
  181. package/dist/azureDevOps/client.js +150 -0
  182. package/dist/azureDevOps/client.js.map +1 -0
  183. package/dist/azureDevOps/hierarchy.d.ts +119 -0
  184. package/dist/azureDevOps/hierarchy.d.ts.map +1 -0
  185. package/dist/azureDevOps/hierarchy.js +470 -0
  186. package/dist/azureDevOps/hierarchy.js.map +1 -0
  187. package/dist/azureDevOps/mapper.d.ts +101 -0
  188. package/dist/azureDevOps/mapper.d.ts.map +1 -0
  189. package/dist/azureDevOps/mapper.js +438 -0
  190. package/dist/azureDevOps/mapper.js.map +1 -0
  191. package/dist/azureDevOps/stateMapping.d.ts +15 -0
  192. package/dist/azureDevOps/stateMapping.d.ts.map +1 -0
  193. package/dist/azureDevOps/stateMapping.js +141 -0
  194. package/dist/azureDevOps/stateMapping.js.map +1 -0
  195. package/dist/cli/authHandler.d.ts +13 -0
  196. package/dist/cli/authHandler.d.ts.map +1 -0
  197. package/dist/cli/authHandler.js +70 -0
  198. package/dist/cli/authHandler.js.map +1 -0
  199. package/dist/cli/checkHandler.d.ts +27 -0
  200. package/dist/cli/checkHandler.d.ts.map +1 -0
  201. package/dist/cli/checkHandler.js +560 -0
  202. package/dist/cli/checkHandler.js.map +1 -0
  203. package/dist/cli/daemon.d.ts +30 -0
  204. package/dist/cli/daemon.d.ts.map +1 -0
  205. package/dist/cli/daemon.js +141 -0
  206. package/dist/cli/daemon.js.map +1 -0
  207. package/dist/cli/factoryCommands.d.ts +3 -0
  208. package/dist/cli/factoryCommands.d.ts.map +1 -0
  209. package/dist/cli/factoryCommands.js +165 -0
  210. package/dist/cli/factoryCommands.js.map +1 -0
  211. package/dist/cli/promptHandler.d.ts +13 -0
  212. package/dist/cli/promptHandler.d.ts.map +1 -0
  213. package/dist/cli/promptHandler.js +193 -0
  214. package/dist/cli/promptHandler.js.map +1 -0
  215. package/dist/cli.d.ts +3 -0
  216. package/dist/cli.d.ts.map +1 -0
  217. package/dist/cli.js +320 -0
  218. package/dist/cli.js.map +1 -0
  219. package/dist/core/agentLifecycle.d.ts +322 -0
  220. package/dist/core/agentLifecycle.d.ts.map +1 -0
  221. package/dist/core/agentLifecycle.js +230 -0
  222. package/dist/core/agentLifecycle.js.map +1 -0
  223. package/dist/core/areaMapping.d.ts +9 -0
  224. package/dist/core/areaMapping.d.ts.map +1 -0
  225. package/dist/core/areaMapping.js +37 -0
  226. package/dist/core/areaMapping.js.map +1 -0
  227. package/dist/core/config.d.ts +469 -0
  228. package/dist/core/config.d.ts.map +1 -0
  229. package/dist/core/config.js +780 -0
  230. package/dist/core/config.js.map +1 -0
  231. package/dist/core/dashboardContract.d.ts +204 -0
  232. package/dist/core/dashboardContract.d.ts.map +1 -0
  233. package/dist/core/dashboardContract.js +205 -0
  234. package/dist/core/dashboardContract.js.map +1 -0
  235. package/dist/core/devopsModel.d.ts +138 -0
  236. package/dist/core/devopsModel.d.ts.map +1 -0
  237. package/dist/core/devopsModel.js +137 -0
  238. package/dist/core/devopsModel.js.map +1 -0
  239. package/dist/core/envFile.d.ts +11 -0
  240. package/dist/core/envFile.d.ts.map +1 -0
  241. package/dist/core/envFile.js +104 -0
  242. package/dist/core/envFile.js.map +1 -0
  243. package/dist/core/eventHub.d.ts +220 -0
  244. package/dist/core/eventHub.d.ts.map +1 -0
  245. package/dist/core/eventHub.js +136 -0
  246. package/dist/core/eventHub.js.map +1 -0
  247. package/dist/core/index.d.ts +8 -0
  248. package/dist/core/index.d.ts.map +1 -0
  249. package/dist/core/index.js +7 -0
  250. package/dist/core/index.js.map +1 -0
  251. package/dist/core/laneExecutionState.d.ts +29 -0
  252. package/dist/core/laneExecutionState.d.ts.map +1 -0
  253. package/dist/core/laneExecutionState.js +18 -0
  254. package/dist/core/laneExecutionState.js.map +1 -0
  255. package/dist/core/laneStatus.d.ts +49 -0
  256. package/dist/core/laneStatus.d.ts.map +1 -0
  257. package/dist/core/laneStatus.js +153 -0
  258. package/dist/core/laneStatus.js.map +1 -0
  259. package/dist/core/prSidecar.d.ts +96 -0
  260. package/dist/core/prSidecar.d.ts.map +1 -0
  261. package/dist/core/prSidecar.js +33 -0
  262. package/dist/core/prSidecar.js.map +1 -0
  263. package/dist/core/runtimeConfig.d.ts +6 -0
  264. package/dist/core/runtimeConfig.d.ts.map +1 -0
  265. package/dist/core/runtimeConfig.js +24 -0
  266. package/dist/core/runtimeConfig.js.map +1 -0
  267. package/dist/core/scmProvider.d.ts +19 -0
  268. package/dist/core/scmProvider.d.ts.map +1 -0
  269. package/dist/core/scmProvider.js +38 -0
  270. package/dist/core/scmProvider.js.map +1 -0
  271. package/dist/core/service.d.ts +10 -0
  272. package/dist/core/service.d.ts.map +1 -0
  273. package/dist/core/service.js +297 -0
  274. package/dist/core/service.js.map +1 -0
  275. package/dist/core/traceCollector.d.ts +105 -0
  276. package/dist/core/traceCollector.d.ts.map +1 -0
  277. package/dist/core/traceCollector.js +141 -0
  278. package/dist/core/traceCollector.js.map +1 -0
  279. package/dist/core/types.d.ts +432 -0
  280. package/dist/core/types.d.ts.map +1 -0
  281. package/dist/core/types.js +2 -0
  282. package/dist/core/types.js.map +1 -0
  283. package/dist/core/workItemMapper.d.ts +39 -0
  284. package/dist/core/workItemMapper.d.ts.map +1 -0
  285. package/dist/core/workItemMapper.js +427 -0
  286. package/dist/core/workItemMapper.js.map +1 -0
  287. package/dist/core/workItemModel.d.ts +120 -0
  288. package/dist/core/workItemModel.d.ts.map +1 -0
  289. package/dist/core/workItemModel.js +104 -0
  290. package/dist/core/workItemModel.js.map +1 -0
  291. package/dist/core/workItemPayload.d.ts +195 -0
  292. package/dist/core/workItemPayload.d.ts.map +1 -0
  293. package/dist/core/workItemPayload.js +24 -0
  294. package/dist/core/workItemPayload.js.map +1 -0
  295. package/dist/core/workspaceConfig.d.ts +57 -0
  296. package/dist/core/workspaceConfig.d.ts.map +1 -0
  297. package/dist/core/workspaceConfig.js +184 -0
  298. package/dist/core/workspaceConfig.js.map +1 -0
  299. package/dist/doctor.d.ts +18 -0
  300. package/dist/doctor.d.ts.map +1 -0
  301. package/dist/doctor.js +34 -0
  302. package/dist/doctor.js.map +1 -0
  303. package/dist/factory/activeSkill.d.ts +11 -0
  304. package/dist/factory/activeSkill.d.ts.map +1 -0
  305. package/dist/factory/activeSkill.js +44 -0
  306. package/dist/factory/activeSkill.js.map +1 -0
  307. package/dist/factory/assignment.d.ts +54 -0
  308. package/dist/factory/assignment.d.ts.map +1 -0
  309. package/dist/factory/assignment.js +94 -0
  310. package/dist/factory/assignment.js.map +1 -0
  311. package/dist/factory/auditLog.d.ts +10 -0
  312. package/dist/factory/auditLog.d.ts.map +1 -0
  313. package/dist/factory/auditLog.js +38 -0
  314. package/dist/factory/auditLog.js.map +1 -0
  315. package/dist/factory/closureRequirements.d.ts +12 -0
  316. package/dist/factory/closureRequirements.d.ts.map +1 -0
  317. package/dist/factory/closureRequirements.js +30 -0
  318. package/dist/factory/closureRequirements.js.map +1 -0
  319. package/dist/factory/delegationPrompt.d.ts +3 -0
  320. package/dist/factory/delegationPrompt.d.ts.map +1 -0
  321. package/dist/factory/delegationPrompt.js +16 -0
  322. package/dist/factory/delegationPrompt.js.map +1 -0
  323. package/dist/factory/http.d.ts +3 -0
  324. package/dist/factory/http.d.ts.map +1 -0
  325. package/dist/factory/http.js +555 -0
  326. package/dist/factory/http.js.map +1 -0
  327. package/dist/factory/lifecyclePushMap.d.ts +4 -0
  328. package/dist/factory/lifecyclePushMap.d.ts.map +1 -0
  329. package/dist/factory/lifecyclePushMap.js +7 -0
  330. package/dist/factory/lifecyclePushMap.js.map +1 -0
  331. package/dist/factory/missions.d.ts +125 -0
  332. package/dist/factory/missions.d.ts.map +1 -0
  333. package/dist/factory/missions.js +304 -0
  334. package/dist/factory/missions.js.map +1 -0
  335. package/dist/factory/mode.d.ts +9 -0
  336. package/dist/factory/mode.d.ts.map +1 -0
  337. package/dist/factory/mode.js +30 -0
  338. package/dist/factory/mode.js.map +1 -0
  339. package/dist/factory/operatorActiveSkill.d.ts +15 -0
  340. package/dist/factory/operatorActiveSkill.d.ts.map +1 -0
  341. package/dist/factory/operatorActiveSkill.js +95 -0
  342. package/dist/factory/operatorActiveSkill.js.map +1 -0
  343. package/dist/factory/paseoDispatcher.d.ts +52 -0
  344. package/dist/factory/paseoDispatcher.d.ts.map +1 -0
  345. package/dist/factory/paseoDispatcher.js +122 -0
  346. package/dist/factory/paseoDispatcher.js.map +1 -0
  347. package/dist/factory/paseoLifecycle.d.ts +32 -0
  348. package/dist/factory/paseoLifecycle.d.ts.map +1 -0
  349. package/dist/factory/paseoLifecycle.js +260 -0
  350. package/dist/factory/paseoLifecycle.js.map +1 -0
  351. package/dist/factory/paths.d.ts +31 -0
  352. package/dist/factory/paths.d.ts.map +1 -0
  353. package/dist/factory/paths.js +139 -0
  354. package/dist/factory/paths.js.map +1 -0
  355. package/dist/factory/progressWatchdog.d.ts +58 -0
  356. package/dist/factory/progressWatchdog.d.ts.map +1 -0
  357. package/dist/factory/progressWatchdog.js +160 -0
  358. package/dist/factory/progressWatchdog.js.map +1 -0
  359. package/dist/factory/roster.d.ts +59 -0
  360. package/dist/factory/roster.d.ts.map +1 -0
  361. package/dist/factory/roster.js +116 -0
  362. package/dist/factory/roster.js.map +1 -0
  363. package/dist/factory/runtime.d.ts +44 -0
  364. package/dist/factory/runtime.d.ts.map +1 -0
  365. package/dist/factory/runtime.js +238 -0
  366. package/dist/factory/runtime.js.map +1 -0
  367. package/dist/factory/sync.d.ts +29 -0
  368. package/dist/factory/sync.d.ts.map +1 -0
  369. package/dist/factory/sync.js +77 -0
  370. package/dist/factory/sync.js.map +1 -0
  371. package/dist/factory/workitemQueues.d.ts +37 -0
  372. package/dist/factory/workitemQueues.d.ts.map +1 -0
  373. package/dist/factory/workitemQueues.js +99 -0
  374. package/dist/factory/workitemQueues.js.map +1 -0
  375. package/dist/factory/workitemTriage.d.ts +9 -0
  376. package/dist/factory/workitemTriage.d.ts.map +1 -0
  377. package/dist/factory/workitemTriage.js +81 -0
  378. package/dist/factory/workitemTriage.js.map +1 -0
  379. package/dist/hooks.d.ts +18 -0
  380. package/dist/hooks.d.ts.map +1 -0
  381. package/dist/hooks.js +96 -0
  382. package/dist/hooks.js.map +1 -0
  383. package/dist/index.d.ts +3 -0
  384. package/dist/index.d.ts.map +1 -0
  385. package/dist/index.js +90 -0
  386. package/dist/index.js.map +1 -0
  387. package/dist/install/agentCatalog.d.ts +7 -0
  388. package/dist/install/agentCatalog.d.ts.map +1 -0
  389. package/dist/install/agentCatalog.js +28 -0
  390. package/dist/install/agentCatalog.js.map +1 -0
  391. package/dist/install/bundlePaths.d.ts +10 -0
  392. package/dist/install/bundlePaths.d.ts.map +1 -0
  393. package/dist/install/bundlePaths.js +30 -0
  394. package/dist/install/bundlePaths.js.map +1 -0
  395. package/dist/install/codex.d.ts +43 -0
  396. package/dist/install/codex.d.ts.map +1 -0
  397. package/dist/install/codex.js +207 -0
  398. package/dist/install/codex.js.map +1 -0
  399. package/dist/install/enactHome.d.ts +37 -0
  400. package/dist/install/enactHome.d.ts.map +1 -0
  401. package/dist/install/enactHome.js +152 -0
  402. package/dist/install/enactHome.js.map +1 -0
  403. package/dist/install/plugins.d.ts +115 -0
  404. package/dist/install/plugins.d.ts.map +1 -0
  405. package/dist/install/plugins.js +259 -0
  406. package/dist/install/plugins.js.map +1 -0
  407. package/dist/install/setup.d.ts +33 -0
  408. package/dist/install/setup.d.ts.map +1 -0
  409. package/dist/install/setup.js +167 -0
  410. package/dist/install/setup.js.map +1 -0
  411. package/dist/locale/en.d.ts +3 -0
  412. package/dist/locale/en.d.ts.map +1 -0
  413. package/dist/locale/en.js +435 -0
  414. package/dist/locale/en.js.map +1 -0
  415. package/dist/locale/index.d.ts +28 -0
  416. package/dist/locale/index.d.ts.map +1 -0
  417. package/dist/locale/index.js +84 -0
  418. package/dist/locale/index.js.map +1 -0
  419. package/dist/locale/prompts/en.d.ts +3 -0
  420. package/dist/locale/prompts/en.d.ts.map +1 -0
  421. package/dist/locale/prompts/en.js +254 -0
  422. package/dist/locale/prompts/en.js.map +1 -0
  423. package/dist/locale/types.d.ts +433 -0
  424. package/dist/locale/types.d.ts.map +1 -0
  425. package/dist/locale/types.js +5 -0
  426. package/dist/locale/types.js.map +1 -0
  427. package/dist/mcp/server.d.ts +489 -0
  428. package/dist/mcp/server.d.ts.map +1 -0
  429. package/dist/mcp/server.js +597 -0
  430. package/dist/mcp/server.js.map +1 -0
  431. package/dist/orchestration/decisionEngine.d.ts +175 -0
  432. package/dist/orchestration/decisionEngine.d.ts.map +1 -0
  433. package/dist/orchestration/decisionEngine.js +471 -0
  434. package/dist/orchestration/decisionEngine.js.map +1 -0
  435. package/dist/orchestration/index.d.ts +5 -0
  436. package/dist/orchestration/index.d.ts.map +1 -0
  437. package/dist/orchestration/index.js +5 -0
  438. package/dist/orchestration/index.js.map +1 -0
  439. package/dist/orchestration/workItemParser.d.ts +67 -0
  440. package/dist/orchestration/workItemParser.d.ts.map +1 -0
  441. package/dist/orchestration/workItemParser.js +560 -0
  442. package/dist/orchestration/workItemParser.js.map +1 -0
  443. package/dist/orchestration/workItemScheduler.d.ts +141 -0
  444. package/dist/orchestration/workItemScheduler.d.ts.map +1 -0
  445. package/dist/orchestration/workItemScheduler.js +317 -0
  446. package/dist/orchestration/workItemScheduler.js.map +1 -0
  447. package/dist/orchestration/workflow.d.ts +145 -0
  448. package/dist/orchestration/workflow.d.ts.map +1 -0
  449. package/dist/orchestration/workflow.js +301 -0
  450. package/dist/orchestration/workflow.js.map +1 -0
  451. package/dist/providers/codexSessions.d.ts +93 -0
  452. package/dist/providers/codexSessions.d.ts.map +1 -0
  453. package/dist/providers/codexSessions.js +366 -0
  454. package/dist/providers/codexSessions.js.map +1 -0
  455. package/dist/registry/bsDetector.d.ts +24 -0
  456. package/dist/registry/bsDetector.d.ts.map +1 -0
  457. package/dist/registry/bsDetector.js +276 -0
  458. package/dist/registry/bsDetector.js.map +1 -0
  459. package/dist/registry/entityScanner.d.ts +36 -0
  460. package/dist/registry/entityScanner.d.ts.map +1 -0
  461. package/dist/registry/entityScanner.js +693 -0
  462. package/dist/registry/entityScanner.js.map +1 -0
  463. package/dist/registry/index.d.ts +9 -0
  464. package/dist/registry/index.d.ts.map +1 -0
  465. package/dist/registry/index.js +13 -0
  466. package/dist/registry/index.js.map +1 -0
  467. package/dist/registry/schema.d.ts +307 -0
  468. package/dist/registry/schema.d.ts.map +1 -0
  469. package/dist/registry/schema.js +139 -0
  470. package/dist/registry/schema.js.map +1 -0
  471. package/dist/registry/sqliteStore.d.ts +101 -0
  472. package/dist/registry/sqliteStore.d.ts.map +1 -0
  473. package/dist/registry/sqliteStore.js +688 -0
  474. package/dist/registry/sqliteStore.js.map +1 -0
  475. package/dist/registry/workItemBridge.d.ts +8 -0
  476. package/dist/registry/workItemBridge.d.ts.map +1 -0
  477. package/dist/registry/workItemBridge.js +30 -0
  478. package/dist/registry/workItemBridge.js.map +1 -0
  479. package/dist/runners/cliRunner.d.ts +11 -0
  480. package/dist/runners/cliRunner.d.ts.map +1 -0
  481. package/dist/runners/cliRunner.js +193 -0
  482. package/dist/runners/cliRunner.js.map +1 -0
  483. package/dist/support/apiCache.d.ts +85 -0
  484. package/dist/support/apiCache.d.ts.map +1 -0
  485. package/dist/support/apiCache.js +163 -0
  486. package/dist/support/apiCache.js.map +1 -0
  487. package/dist/support/chat.d.ts +3 -0
  488. package/dist/support/chat.d.ts.map +1 -0
  489. package/dist/support/chat.js +305 -0
  490. package/dist/support/chat.js.map +1 -0
  491. package/dist/support/chatBackend.d.ts +25 -0
  492. package/dist/support/chatBackend.d.ts.map +1 -0
  493. package/dist/support/chatBackend.js +289 -0
  494. package/dist/support/chatBackend.js.map +1 -0
  495. package/dist/support/chatTui.d.ts +3 -0
  496. package/dist/support/chatTui.d.ts.map +1 -0
  497. package/dist/support/chatTui.js +1082 -0
  498. package/dist/support/chatTui.js.map +1 -0
  499. package/dist/support/costTracker.d.ts +29 -0
  500. package/dist/support/costTracker.d.ts.map +1 -0
  501. package/dist/support/costTracker.js +113 -0
  502. package/dist/support/costTracker.js.map +1 -0
  503. package/dist/support/dashboardHtml.d.ts +5 -0
  504. package/dist/support/dashboardHtml.d.ts.map +1 -0
  505. package/dist/support/dashboardHtml.js +2629 -0
  506. package/dist/support/dashboardHtml.js.map +1 -0
  507. package/dist/support/dev.d.ts +55 -0
  508. package/dist/support/dev.d.ts.map +1 -0
  509. package/dist/support/dev.js +298 -0
  510. package/dist/support/dev.js.map +1 -0
  511. package/dist/support/editParser.d.ts +37 -0
  512. package/dist/support/editParser.d.ts.map +1 -0
  513. package/dist/support/editParser.js +365 -0
  514. package/dist/support/editParser.js.map +1 -0
  515. package/dist/support/ghosttyThemeCatalog.generated.d.ts +2 -0
  516. package/dist/support/ghosttyThemeCatalog.generated.d.ts.map +1 -0
  517. package/dist/support/ghosttyThemeCatalog.generated.js +11116 -0
  518. package/dist/support/ghosttyThemeCatalog.generated.js.map +1 -0
  519. package/dist/support/gitStatus.d.ts +21 -0
  520. package/dist/support/gitStatus.d.ts.map +1 -0
  521. package/dist/support/gitStatus.js +108 -0
  522. package/dist/support/gitStatus.js.map +1 -0
  523. package/dist/support/gitTracker.d.ts +30 -0
  524. package/dist/support/gitTracker.d.ts.map +1 -0
  525. package/dist/support/gitTracker.js +143 -0
  526. package/dist/support/gitTracker.js.map +1 -0
  527. package/dist/support/index.d.ts +12 -0
  528. package/dist/support/index.d.ts.map +1 -0
  529. package/dist/support/index.js +12 -0
  530. package/dist/support/index.js.map +1 -0
  531. package/dist/support/planner.d.ts +64 -0
  532. package/dist/support/planner.d.ts.map +1 -0
  533. package/dist/support/planner.js +396 -0
  534. package/dist/support/planner.js.map +1 -0
  535. package/dist/support/projectMapper.d.ts +46 -0
  536. package/dist/support/projectMapper.d.ts.map +1 -0
  537. package/dist/support/projectMapper.js +273 -0
  538. package/dist/support/projectMapper.js.map +1 -0
  539. package/dist/support/pty-helper.py +117 -0
  540. package/dist/support/quotaTracker.d.ts +29 -0
  541. package/dist/support/quotaTracker.d.ts.map +1 -0
  542. package/dist/support/quotaTracker.js +89 -0
  543. package/dist/support/quotaTracker.js.map +1 -0
  544. package/dist/support/rateLimiter.d.ts +101 -0
  545. package/dist/support/rateLimiter.d.ts.map +1 -0
  546. package/dist/support/rateLimiter.js +219 -0
  547. package/dist/support/rateLimiter.js.map +1 -0
  548. package/dist/support/rollback.d.ts +61 -0
  549. package/dist/support/rollback.d.ts.map +1 -0
  550. package/dist/support/rollback.js +329 -0
  551. package/dist/support/rollback.js.map +1 -0
  552. package/dist/support/sharedShell.d.ts +17 -0
  553. package/dist/support/sharedShell.d.ts.map +1 -0
  554. package/dist/support/sharedShell.js +439 -0
  555. package/dist/support/sharedShell.js.map +1 -0
  556. package/dist/support/stuckDetector.d.ts +68 -0
  557. package/dist/support/stuckDetector.d.ts.map +1 -0
  558. package/dist/support/stuckDetector.js +174 -0
  559. package/dist/support/stuckDetector.js.map +1 -0
  560. package/dist/support/terminalBridge.d.ts +18 -0
  561. package/dist/support/terminalBridge.d.ts.map +1 -0
  562. package/dist/support/terminalBridge.js +553 -0
  563. package/dist/support/terminalBridge.js.map +1 -0
  564. package/dist/support/timeWindow.d.ts +60 -0
  565. package/dist/support/timeWindow.d.ts.map +1 -0
  566. package/dist/support/timeWindow.js +236 -0
  567. package/dist/support/timeWindow.js.map +1 -0
  568. package/dist/support/uiThemes.d.ts +44 -0
  569. package/dist/support/uiThemes.d.ts.map +1 -0
  570. package/dist/support/uiThemes.js +290 -0
  571. package/dist/support/uiThemes.js.map +1 -0
  572. package/dist/support/web.d.ts +29 -0
  573. package/dist/support/web.d.ts.map +1 -0
  574. package/dist/support/web.js +1097 -0
  575. package/dist/support/web.js.map +1 -0
  576. package/dist/support/worktreeManager.d.ts +20 -0
  577. package/dist/support/worktreeManager.d.ts.map +1 -0
  578. package/dist/support/worktreeManager.js +140 -0
  579. package/dist/support/worktreeManager.js.map +1 -0
  580. package/dist/task_state_model.py +55 -0
  581. package/dist/workItemState/store.d.ts +122 -0
  582. package/dist/workItemState/store.d.ts.map +1 -0
  583. package/dist/workItemState/store.js +438 -0
  584. package/dist/workItemState/store.js.map +1 -0
  585. package/dist/workItems/azdoBridge.d.ts +42 -0
  586. package/dist/workItems/azdoBridge.d.ts.map +1 -0
  587. package/dist/workItems/azdoBridge.js +143 -0
  588. package/dist/workItems/azdoBridge.js.map +1 -0
  589. package/dist/workItems/azdoSyncRuntime.d.ts +28 -0
  590. package/dist/workItems/azdoSyncRuntime.d.ts.map +1 -0
  591. package/dist/workItems/azdoSyncRuntime.js +158 -0
  592. package/dist/workItems/azdoSyncRuntime.js.map +1 -0
  593. package/dist/workItems/azureDevOpsSync.d.ts +128 -0
  594. package/dist/workItems/azureDevOpsSync.d.ts.map +1 -0
  595. package/dist/workItems/azureDevOpsSync.js +748 -0
  596. package/dist/workItems/azureDevOpsSync.js.map +1 -0
  597. package/dist/workItems/helpers.d.ts +11 -0
  598. package/dist/workItems/helpers.d.ts.map +1 -0
  599. package/dist/workItems/helpers.js +17 -0
  600. package/dist/workItems/helpers.js.map +1 -0
  601. package/dist/workItems/index.d.ts +21 -0
  602. package/dist/workItems/index.d.ts.map +1 -0
  603. package/dist/workItems/index.js +89 -0
  604. package/dist/workItems/index.js.map +1 -0
  605. package/dist/workItems/localWorkItemFetcher.d.ts +55 -0
  606. package/dist/workItems/localWorkItemFetcher.d.ts.map +1 -0
  607. package/dist/workItems/localWorkItemFetcher.js +209 -0
  608. package/dist/workItems/localWorkItemFetcher.js.map +1 -0
  609. package/dist/workItems/migrations/001_rename_workItem_to_work_item.sql +10 -0
  610. package/dist/workItems/postgresStore.d.ts +78 -0
  611. package/dist/workItems/postgresStore.d.ts.map +1 -0
  612. package/dist/workItems/postgresStore.js +937 -0
  613. package/dist/workItems/postgresStore.js.map +1 -0
  614. package/dist/workItems/schema.d.ts +257 -0
  615. package/dist/workItems/schema.d.ts.map +1 -0
  616. package/dist/workItems/schema.js +176 -0
  617. package/dist/workItems/schema.js.map +1 -0
  618. package/dist/workItems/sqliteStore.d.ts +124 -0
  619. package/dist/workItems/sqliteStore.d.ts.map +1 -0
  620. package/dist/workItems/sqliteStore.js +713 -0
  621. package/dist/workItems/sqliteStore.js.map +1 -0
  622. package/dist/workItems/workItemBoardHtml.d.ts +5 -0
  623. package/dist/workItems/workItemBoardHtml.d.ts.map +1 -0
  624. package/dist/workItems/workItemBoardHtml.js +2192 -0
  625. package/dist/workItems/workItemBoardHtml.js.map +1 -0
  626. package/package.json +99 -0
  627. package/templates/AGENTS.md +432 -0
  628. package/templates/BOOT.md +25 -0
  629. package/templates/BOOTSTRAP.md +50 -0
  630. package/templates/CHANGELOG_AUDIT.md +74 -0
  631. package/templates/HEARTBEAT.md +86 -0
  632. package/templates/IDENTITY.md +27 -0
  633. package/templates/PR_LAND.md +75 -0
  634. package/templates/PR_REVIEW.md +97 -0
  635. package/templates/SOUL.dev.md +52 -0
  636. package/templates/SOUL.md +81 -0
  637. package/templates/TOOLS.md +52 -0
  638. package/templates/USER.md +22 -0
  639. package/templates/WORKITEM_ANALYSIS.md +31 -0
  640. package/templates/agents/executor.md +26 -0
  641. package/templates/agents/plan.md +22 -0
  642. package/templates/agents/ralph.md +37 -0
  643. package/templates/agents/review.md +22 -0
  644. package/templates/agents/team.md +39 -0
@@ -0,0 +1,152 @@
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { stdin as input, stdout as output } from 'node:process';
5
+ import * as readline from 'node:readline/promises';
6
+ import { getWorkspaceRootDir, readWorkspaceRootConfig } from '../core/workspaceConfig.js';
7
+ const DEFAULT_SETTINGS = {
8
+ version: 1,
9
+ delivery: { installScope: 'project' },
10
+ };
11
+ function expandHomePath(path) {
12
+ if (path === '~')
13
+ return homedir();
14
+ if (path.startsWith('~/'))
15
+ return join(homedir(), path.slice(2));
16
+ return path;
17
+ }
18
+ export function getEnactHome() {
19
+ const paths = readWorkspaceRootConfig()?.paths;
20
+ const selected = paths?.use_global ? (paths.global ?? '~/.enact') : (paths?.project ?? '.enact');
21
+ const expanded = expandHomePath(selected);
22
+ return expanded.startsWith('/') ? expanded : join(getWorkspaceRootDir(), expanded);
23
+ }
24
+ export function enactSettingsPath(home = getEnactHome()) {
25
+ return join(home, 'settings.json');
26
+ }
27
+ export function enactGlobalPluginsDir(home = getEnactHome()) {
28
+ return join(home, 'plugins');
29
+ }
30
+ export function enactGlobalMarketplacePath(home = getEnactHome()) {
31
+ return join(home, 'marketplaces', 'enact-os-plugins', '.agents', 'plugins', 'marketplace.json');
32
+ }
33
+ export function enactProjectRoot(projectRoot) {
34
+ return join(projectRoot, '.enact');
35
+ }
36
+ export function enactProjectPluginsDir(projectRoot) {
37
+ return join(projectRoot, '.enact', 'plugins');
38
+ }
39
+ export function enactProjectMarketplacePath(projectRoot) {
40
+ return join(projectRoot, '.enact', 'marketplaces', 'enact-os-plugins', '.agents', 'plugins', 'marketplace.json');
41
+ }
42
+ export function enactPluginPath(scope, pluginName, projectRoot, home = getEnactHome()) {
43
+ return scope === 'global'
44
+ ? join(enactGlobalPluginsDir(home), pluginName)
45
+ : join(enactProjectPluginsDir(projectRoot), pluginName);
46
+ }
47
+ /** Search order: project overrides global (Codex-style layering). */
48
+ export function pluginSearchRoots(projectRoot, home = getEnactHome()) {
49
+ return [
50
+ { scope: 'project', path: enactProjectPluginsDir(projectRoot) },
51
+ { scope: 'global', path: enactGlobalPluginsDir(home) },
52
+ ];
53
+ }
54
+ export function loadDeliverySettings(home = getEnactHome()) {
55
+ const path = enactSettingsPath(home);
56
+ if (!existsSync(path)) {
57
+ return structuredClone(DEFAULT_SETTINGS);
58
+ }
59
+ try {
60
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
61
+ const installScope = parsed.delivery?.installScope;
62
+ if (installScope !== 'project' && installScope !== 'global') {
63
+ return structuredClone(DEFAULT_SETTINGS);
64
+ }
65
+ return {
66
+ version: 1,
67
+ delivery: {
68
+ installScope,
69
+ promptedAt: parsed.delivery?.promptedAt,
70
+ },
71
+ };
72
+ }
73
+ catch {
74
+ return structuredClone(DEFAULT_SETTINGS);
75
+ }
76
+ }
77
+ export function saveDeliverySettings(settings, home = getEnactHome()) {
78
+ const path = enactSettingsPath(home);
79
+ mkdirSync(home, { recursive: true });
80
+ writeFileSync(path, `${JSON.stringify(settings, null, 2)}\n`, 'utf8');
81
+ return path;
82
+ }
83
+ export async function resolveInstallScope(options) {
84
+ if (options.scope === 'project' || options.scope === 'global') {
85
+ return options.scope;
86
+ }
87
+ const home = options.home ?? getEnactHome();
88
+ const current = loadDeliverySettings(home);
89
+ if (options.promptFirst && process.stdin.isTTY) {
90
+ return promptDeliveryScope({ intro: options.promptFirst ? 'setup' : 'default' });
91
+ }
92
+ if (!process.stdin.isTTY && !current.delivery.promptedAt) {
93
+ // CI / scripted runs: default project-local without blocking.
94
+ return 'project';
95
+ }
96
+ return current.delivery.installScope;
97
+ }
98
+ export function persistInstallScope(scope, home = getEnactHome()) {
99
+ const next = {
100
+ version: 1,
101
+ delivery: {
102
+ installScope: scope,
103
+ promptedAt: new Date().toISOString(),
104
+ },
105
+ };
106
+ saveDeliverySettings(next, home);
107
+ return next;
108
+ }
109
+ export async function promptDeliveryScope(options = {}) {
110
+ const rl = readline.createInterface({ input, output });
111
+ try {
112
+ if (options.intro === 'setup') {
113
+ output.write('\nEnact Factory setup — choose where to install operator plugins:\n');
114
+ }
115
+ else {
116
+ output.write('\nEnact plugin delivery scope:\n');
117
+ }
118
+ output.write(' 1) project — install under <repo>/.enact/ (this repository)\n');
119
+ output.write(' 2) global — install under ~/.enact/ (all workspaces on this machine)\n');
120
+ output.write('\nPlugins are always read from BOTH locations; project overrides global on conflicts.\n');
121
+ const answer = (await rl.question('\nChoice [1/2] (default 1): ')).trim().toLowerCase();
122
+ if (answer === '2' || answer === 'global' || answer === 'g') {
123
+ return 'global';
124
+ }
125
+ return 'project';
126
+ }
127
+ finally {
128
+ rl.close();
129
+ }
130
+ }
131
+ export function findInstalledPlugin(pluginName, projectRoot, home = getEnactHome()) {
132
+ for (const root of pluginSearchRoots(projectRoot, home)) {
133
+ const path = join(root.path, pluginName);
134
+ if (existsSync(path)) {
135
+ return { scope: root.scope, path };
136
+ }
137
+ }
138
+ return null;
139
+ }
140
+ export function listInstalledPluginNames(projectRoot, home = getEnactHome()) {
141
+ const names = new Set();
142
+ for (const root of pluginSearchRoots(projectRoot, home)) {
143
+ if (!existsSync(root.path))
144
+ continue;
145
+ for (const entry of readdirSync(root.path, { withFileTypes: true })) {
146
+ if (entry.isDirectory())
147
+ names.add(entry.name);
148
+ }
149
+ }
150
+ return [...names].sort();
151
+ }
152
+ //# sourceMappingURL=enactHome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enactHome.js","sourceRoot":"","sources":["../../src/install/enactHome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { type DeliveryScope } from '../install/enactHome.js';
2
+ export interface FactoryPluginManifest {
3
+ name: string;
4
+ version: string;
5
+ description: string;
6
+ license?: string;
7
+ keywords?: string[];
8
+ skills?: string;
9
+ mcpServers?: string;
10
+ apps?: string;
11
+ interface?: {
12
+ displayName?: string;
13
+ shortDescription?: string;
14
+ longDescription?: string;
15
+ developerName?: string;
16
+ category?: string;
17
+ capabilities?: string[];
18
+ };
19
+ }
20
+ export interface FactoryPluginMarketplaceEntry {
21
+ name: string;
22
+ source: {
23
+ source: 'local';
24
+ path: string;
25
+ };
26
+ policy: {
27
+ installation: 'NOT_AVAILABLE' | 'AVAILABLE' | 'INSTALLED_BY_DEFAULT';
28
+ authentication: 'ON_INSTALL' | 'ON_USE';
29
+ };
30
+ category: string;
31
+ }
32
+ export interface FactoryPluginMarketplace {
33
+ name: string;
34
+ interface?: {
35
+ displayName?: string;
36
+ };
37
+ plugins: FactoryPluginMarketplaceEntry[];
38
+ }
39
+ export declare const ENACT_OS_MARKETPLACE_NAME = "enact-os-plugins";
40
+ export declare const ENACT_OS_MARKETPLACE_DISPLAY_NAME = "Enact OS Plugins";
41
+ export interface PluginValidationReport {
42
+ ok: boolean;
43
+ manifest: FactoryPluginManifest | null;
44
+ errors: string[];
45
+ warnings: string[];
46
+ }
47
+ export interface PluginDoctorReport {
48
+ enactHome: string;
49
+ installScope: DeliveryScope;
50
+ enactInstalled: Array<{
51
+ name: string;
52
+ scope: DeliveryScope;
53
+ path: string;
54
+ }>;
55
+ configPlugins: string[];
56
+ marketplaceConfigured: boolean;
57
+ marketplaceRoot: string;
58
+ marketplacePath: string;
59
+ marketplacePlugins: string[];
60
+ installedPlugins: string[];
61
+ warnings: string[];
62
+ }
63
+ export interface PluginInitResult {
64
+ root: string;
65
+ manifestPath: string;
66
+ pluginRoot: string;
67
+ marketplacePath: string | null;
68
+ }
69
+ export declare function normalizePluginName(input: string): string;
70
+ export declare function pluginRoot(repoRoot: string): string;
71
+ export declare function pluginManifestPath(pathToPlugin: string): string;
72
+ export declare function repoMarketplacePath(repoRoot: string): string;
73
+ export declare function codexMarketplaceRoot(codexHome?: string): string;
74
+ export declare function codexMarketplacePath(codexHome?: string): string;
75
+ export declare function codexMarketplacePluginPath(codexHome: string, pluginName: string): string;
76
+ export declare function codexInstalledPluginPath(codexHome: string, pluginName: string): string;
77
+ export declare function codexPluginCacheRoot(codexHome: string, pluginName: string): string;
78
+ export declare function codexPluginCachePath(codexHome: string, pluginName: string, version: string): string;
79
+ export declare function loadPluginManifest(pathToPlugin: string): FactoryPluginManifest | null;
80
+ export declare function validatePlugin(pathToPlugin: string): PluginValidationReport;
81
+ export declare function resolvePluginBundlePath(pluginName: string, projectRoot: string, home?: string): string | null;
82
+ export declare function runPluginsDoctor(projectRoot: string, codexHome?: string): PluginDoctorReport;
83
+ export declare function listLocalPlugins(repoRoot: string): Array<{
84
+ name: string;
85
+ root: string;
86
+ manifest: FactoryPluginManifest | null;
87
+ validation: PluginValidationReport;
88
+ }>;
89
+ export declare function pluginStatus(codexHome: string, pluginName: string, projectRoot: string): {
90
+ name: string;
91
+ enabled: boolean;
92
+ installed: boolean;
93
+ enactScope: DeliveryScope | null;
94
+ enactPath: string | null;
95
+ codexPath: string | null;
96
+ manifest: FactoryPluginManifest | null;
97
+ };
98
+ export declare function setInstalledPluginEnabled(codexHome: string, pluginName: string, enabled: boolean, projectRoot: string): {
99
+ name: string;
100
+ enabled: boolean;
101
+ installed: boolean;
102
+ enactScope: DeliveryScope | null;
103
+ enactPath: string | null;
104
+ codexPath: string | null;
105
+ manifest: FactoryPluginManifest | null;
106
+ };
107
+ export declare function initLocalPlugin(repoRoot: string, pluginName: string, options?: {
108
+ withMcp?: boolean;
109
+ withApps?: boolean;
110
+ withAssets?: boolean;
111
+ withMarketplace?: boolean;
112
+ category?: string;
113
+ }): PluginInitResult;
114
+ export declare function packPlugin(pathToPlugin: string, outputDir: string): string;
115
+ //# sourceMappingURL=plugins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/install/plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { basename, dirname, join, resolve } from 'node:path';
3
+ import { execFileSync } from 'node:child_process';
4
+ import { findInstalledPlugin, getEnactHome, listInstalledPluginNames, loadDeliverySettings, } from '../install/enactHome.js';
5
+ import { defaultCodexHome, isPluginEnabled, readCodexConfig, setPluginEnabled, writeCodexConfig, } from '../install/codex.js';
6
+ export const ENACT_OS_MARKETPLACE_NAME = 'enact-os-plugins';
7
+ export const ENACT_OS_MARKETPLACE_DISPLAY_NAME = 'Enact OS Plugins';
8
+ function readJson(path, fallback) {
9
+ if (!existsSync(path))
10
+ return fallback;
11
+ try {
12
+ return JSON.parse(readFileSync(path, 'utf8'));
13
+ }
14
+ catch {
15
+ return fallback;
16
+ }
17
+ }
18
+ function writeJson(path, value) {
19
+ mkdirSync(dirname(path), { recursive: true });
20
+ writeFileSync(path, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
21
+ }
22
+ export function normalizePluginName(input) {
23
+ return input
24
+ .trim()
25
+ .toLowerCase()
26
+ .replace(/[^a-z0-9]+/g, '-')
27
+ .replace(/-+/g, '-')
28
+ .replace(/^-|-$/g, '')
29
+ .slice(0, 64);
30
+ }
31
+ export function pluginRoot(repoRoot) {
32
+ return join(repoRoot, 'extensions');
33
+ }
34
+ export function pluginManifestPath(pathToPlugin) {
35
+ return join(pathToPlugin, '.codex-plugin', 'plugin.json');
36
+ }
37
+ export function repoMarketplacePath(repoRoot) {
38
+ return join(repoRoot, '.agents', 'plugins', 'marketplace.json');
39
+ }
40
+ export function codexMarketplaceRoot(codexHome = defaultCodexHome()) {
41
+ return join(codexHome, 'marketplaces', ENACT_OS_MARKETPLACE_NAME);
42
+ }
43
+ export function codexMarketplacePath(codexHome = defaultCodexHome()) {
44
+ return join(codexMarketplaceRoot(codexHome), '.agents', 'plugins', 'marketplace.json');
45
+ }
46
+ export function codexMarketplacePluginPath(codexHome, pluginName) {
47
+ return join(codexMarketplaceRoot(codexHome), 'plugins', pluginName);
48
+ }
49
+ export function codexInstalledPluginPath(codexHome, pluginName) {
50
+ return join(codexHome, 'plugins', pluginName);
51
+ }
52
+ export function codexPluginCacheRoot(codexHome, pluginName) {
53
+ return join(codexHome, 'plugins', 'cache', ENACT_OS_MARKETPLACE_NAME, pluginName);
54
+ }
55
+ export function codexPluginCachePath(codexHome, pluginName, version) {
56
+ return join(codexPluginCacheRoot(codexHome, pluginName), version);
57
+ }
58
+ export function loadPluginManifest(pathToPlugin) {
59
+ return readJson(pluginManifestPath(pathToPlugin), null);
60
+ }
61
+ export function validatePlugin(pathToPlugin) {
62
+ const manifest = loadPluginManifest(pathToPlugin);
63
+ const errors = [];
64
+ const warnings = [];
65
+ if (!manifest) {
66
+ errors.push('missing .codex-plugin/plugin.json');
67
+ return { ok: false, manifest: null, errors, warnings };
68
+ }
69
+ const normalized = normalizePluginName(manifest.name);
70
+ if (manifest.name !== normalized) {
71
+ errors.push(`plugin name must be normalized kebab-case, expected ${normalized}`);
72
+ }
73
+ if (!manifest.version)
74
+ errors.push('missing version');
75
+ if (!manifest.description)
76
+ errors.push('missing description');
77
+ if (!manifest.interface?.displayName)
78
+ warnings.push('missing interface.displayName');
79
+ if (manifest.skills && !existsSync(resolve(pathToPlugin, manifest.skills))) {
80
+ errors.push(`skills path does not exist: ${manifest.skills}`);
81
+ }
82
+ if (manifest.mcpServers && !existsSync(resolve(pathToPlugin, manifest.mcpServers))) {
83
+ errors.push(`mcpServers path does not exist: ${manifest.mcpServers}`);
84
+ }
85
+ if (manifest.apps && !existsSync(resolve(pathToPlugin, manifest.apps))) {
86
+ errors.push(`apps path does not exist: ${manifest.apps}`);
87
+ }
88
+ return { ok: errors.length === 0, manifest, errors, warnings };
89
+ }
90
+ function marketplaceEntryForPlugin(manifest) {
91
+ return {
92
+ name: manifest.name,
93
+ source: { source: 'local', path: `./plugins/${manifest.name}` },
94
+ policy: { installation: 'AVAILABLE', authentication: 'ON_INSTALL' },
95
+ category: manifest.interface?.category || 'Productivity',
96
+ };
97
+ }
98
+ function upsertEnactMarketplace(marketplacePath, entry, displayName) {
99
+ const current = readJson(marketplacePath, {
100
+ name: ENACT_OS_MARKETPLACE_NAME,
101
+ interface: { displayName },
102
+ plugins: [],
103
+ });
104
+ const plugins = (current.plugins ?? []).filter((plugin) => plugin.name !== entry.name);
105
+ plugins.push(entry);
106
+ writeJson(marketplacePath, {
107
+ name: ENACT_OS_MARKETPLACE_NAME,
108
+ interface: { displayName: current.interface?.displayName || displayName },
109
+ plugins,
110
+ });
111
+ }
112
+ export function resolvePluginBundlePath(pluginName, projectRoot, home = getEnactHome()) {
113
+ const hit = findInstalledPlugin(normalizePluginName(pluginName), projectRoot, home);
114
+ return hit?.path ?? null;
115
+ }
116
+ export function runPluginsDoctor(projectRoot, codexHome = defaultCodexHome()) {
117
+ const home = getEnactHome();
118
+ const settings = loadDeliverySettings(home);
119
+ const enactInstalled = listInstalledPluginNames(projectRoot, home).map((name) => {
120
+ const hit = findInstalledPlugin(name, projectRoot, home);
121
+ return { name, scope: hit.scope, path: hit.path };
122
+ });
123
+ const config = readCodexConfig(codexHome);
124
+ const marketplace = readJson(codexMarketplacePath(codexHome), {
125
+ name: ENACT_OS_MARKETPLACE_NAME,
126
+ plugins: [],
127
+ });
128
+ const installedPluginsDir = join(codexMarketplaceRoot(codexHome), 'plugins');
129
+ const installedPlugins = existsSync(installedPluginsDir)
130
+ ? readdirSync(installedPluginsDir, { withFileTypes: true })
131
+ .filter((entry) => entry.isDirectory())
132
+ .map((entry) => entry.name)
133
+ : [];
134
+ const warnings = [];
135
+ for (const entry of marketplace.plugins ?? []) {
136
+ if (!installedPlugins.includes(entry.name) &&
137
+ isPluginEnabled(config, `${entry.name}@${ENACT_OS_MARKETPLACE_NAME}`)) {
138
+ warnings.push(`plugin ${entry.name} enabled in Codex config but not installed under the configured Codex home`);
139
+ }
140
+ }
141
+ for (const name of listInstalledPluginNames(projectRoot, home)) {
142
+ if (!installedPlugins.includes(name)) {
143
+ warnings.push(`plugin ${name} installed under the configured install paths but not bridged to Codex yet`);
144
+ }
145
+ }
146
+ return {
147
+ enactHome: home,
148
+ installScope: settings.delivery.installScope,
149
+ enactInstalled,
150
+ configPlugins: Object.keys(config.plugins ?? {}).sort(),
151
+ marketplaceConfigured: Boolean(config.marketplaces?.[ENACT_OS_MARKETPLACE_NAME]),
152
+ marketplaceRoot: codexMarketplaceRoot(codexHome),
153
+ marketplacePath: codexMarketplacePath(codexHome),
154
+ marketplacePlugins: (marketplace.plugins ?? []).map((plugin) => plugin.name).sort(),
155
+ installedPlugins: installedPlugins.sort(),
156
+ warnings,
157
+ };
158
+ }
159
+ export function listLocalPlugins(repoRoot) {
160
+ const bundleDir = join(repoRoot, 'extensions');
161
+ if (!existsSync(bundleDir)) {
162
+ return [];
163
+ }
164
+ const manifest = loadPluginManifest(bundleDir);
165
+ return [
166
+ {
167
+ name: manifest?.name ?? basename(repoRoot),
168
+ root: bundleDir,
169
+ manifest,
170
+ validation: validatePlugin(bundleDir),
171
+ },
172
+ ];
173
+ }
174
+ export function pluginStatus(codexHome, pluginName, projectRoot) {
175
+ const normalized = normalizePluginName(pluginName);
176
+ const enactHit = findInstalledPlugin(normalized, projectRoot);
177
+ const installedPath = codexInstalledPluginPath(codexHome, normalized);
178
+ const config = readCodexConfig(codexHome);
179
+ const manifest = enactHit ? loadPluginManifest(enactHit.path) : existsSync(installedPath) ? loadPluginManifest(installedPath) : null;
180
+ return {
181
+ name: normalized,
182
+ enabled: isPluginEnabled(config, `${normalized}@${ENACT_OS_MARKETPLACE_NAME}`),
183
+ installed: Boolean(enactHit) || existsSync(installedPath),
184
+ enactScope: enactHit?.scope ?? null,
185
+ enactPath: enactHit?.path ?? null,
186
+ codexPath: existsSync(installedPath) ? installedPath : null,
187
+ manifest,
188
+ };
189
+ }
190
+ export function setInstalledPluginEnabled(codexHome, pluginName, enabled, projectRoot) {
191
+ const normalized = normalizePluginName(pluginName);
192
+ const config = readCodexConfig(codexHome);
193
+ setPluginEnabled(config, `${normalized}@${ENACT_OS_MARKETPLACE_NAME}`, enabled);
194
+ writeCodexConfig(codexHome, config);
195
+ return pluginStatus(codexHome, normalized, projectRoot);
196
+ }
197
+ export function initLocalPlugin(repoRoot, pluginName, options = {}) {
198
+ const normalized = normalizePluginName(pluginName);
199
+ const displayName = normalized
200
+ .split('-')
201
+ .map((part) => `${part[0]?.toUpperCase() ?? ''}${part.slice(1)}`)
202
+ .join(' ');
203
+ const root = pluginRoot(repoRoot);
204
+ const manifestDir = join(root, '.codex-plugin');
205
+ const skillsDir = join(root, 'skills');
206
+ mkdirSync(manifestDir, { recursive: true });
207
+ mkdirSync(skillsDir, { recursive: true });
208
+ mkdirSync(join(skillsDir, normalized), { recursive: true });
209
+ const manifest = {
210
+ name: normalized,
211
+ version: '0.1.0',
212
+ description: `${displayName} Codex plugin bundle.`,
213
+ license: 'MIT',
214
+ skills: './skills/',
215
+ ...(options.withMcp ? { mcpServers: './.mcp.json' } : {}),
216
+ ...(options.withApps ? { apps: './.app.json' } : {}),
217
+ interface: {
218
+ displayName,
219
+ shortDescription: `${displayName} plugin bundle`,
220
+ category: options.category ?? 'Productivity',
221
+ },
222
+ };
223
+ const manifestPath = pluginManifestPath(root);
224
+ writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), 'utf8');
225
+ writeFileSync(join(skillsDir, normalized, 'SKILL.md'), `---\nname: ${normalized}\ndescription: 'Use when this plugin workflow applies.'\n---\n\n# ${displayName}\n`, 'utf8');
226
+ if (options.withMcp) {
227
+ writeFileSync(join(root, '.mcp.json'), JSON.stringify({ mcpServers: {} }, null, 2), 'utf8');
228
+ }
229
+ if (options.withApps) {
230
+ writeFileSync(join(root, '.app.json'), JSON.stringify({ apps: [] }, null, 2), 'utf8');
231
+ }
232
+ if (options.withAssets) {
233
+ mkdirSync(join(root, 'assets'), { recursive: true });
234
+ }
235
+ let marketplacePath = null;
236
+ if (options.withMarketplace ?? true) {
237
+ const path = repoMarketplacePath(repoRoot);
238
+ upsertEnactMarketplace(path, {
239
+ name: normalized,
240
+ source: { source: 'local', path: './extensions' },
241
+ policy: { installation: 'AVAILABLE', authentication: 'ON_INSTALL' },
242
+ category: options.category ?? 'Productivity',
243
+ }, 'Local Enact Factory Plugins');
244
+ marketplacePath = path;
245
+ }
246
+ return { root, manifestPath, pluginRoot: root, marketplacePath };
247
+ }
248
+ export function packPlugin(pathToPlugin, outputDir) {
249
+ const manifest = loadPluginManifest(pathToPlugin);
250
+ if (!manifest)
251
+ throw new Error('plugin manifest missing');
252
+ mkdirSync(outputDir, { recursive: true });
253
+ const archivePath = join(outputDir, `${manifest.name}-${manifest.version}.tgz`);
254
+ execFileSync('tar', ['-czf', archivePath, '-C', dirname(pathToPlugin), basename(pathToPlugin)], {
255
+ stdio: ['ignore', 'ignore', 'pipe'],
256
+ });
257
+ return archivePath;
258
+ }
259
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/install/plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type DeliveryScope } from '../install/enactHome.js';
2
+ /** Write ~/.enact/factory/config.toml with global defaults if it does not exist. Idempotent. */
3
+ export declare function ensureGlobalFactoryConfig(): {
4
+ path: string;
5
+ created: boolean;
6
+ };
7
+ export interface SetupOptions {
8
+ root?: string;
9
+ codexHome?: string;
10
+ force?: boolean;
11
+ scope?: DeliveryScope;
12
+ /** Skip the delivery-scope prompt and use saved settings (or project default). */
13
+ noAsk?: boolean;
14
+ }
15
+ export interface SetupResult {
16
+ root: string;
17
+ codexHome: string;
18
+ enactHome: string;
19
+ installScope: DeliveryScope;
20
+ layoutPath: string;
21
+ configPath: string | null;
22
+ globalConfigPath: string;
23
+ globalConfigCreated: boolean;
24
+ enactPluginPath: string | null;
25
+ projectAgentsInstalled: boolean;
26
+ hookConfigPath: string;
27
+ hookRegistryPath: string;
28
+ /** Reminder when operator runtime is not configured by this setup. */
29
+ operatorSetupNote: string;
30
+ }
31
+ export declare function applySetup(options?: SetupOptions): Promise<SetupResult>;
32
+ export declare function uninstallSetup(root?: string, codexHome?: string): void;
33
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/install/setup.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AA6ChC,gGAAgG;AAChG,wBAAgB,yBAAyB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAS9E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAwED,wBAAsB,UAAU,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwDjF;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAuB,EAAE,SAAS,SAAqB,GAAG,IAAI,CAKhG"}