principles-disciple 1.8.1 → 1.8.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 (470) hide show
  1. package/ADVANCED_CONFIG_ZH.md +97 -0
  2. package/AGENT_INSTALL.md +173 -0
  3. package/AGENT_INSTALL_EN.md +173 -0
  4. package/INSTALL.md +256 -0
  5. package/SKILL.md +63 -0
  6. package/docs/COMMAND_REFERENCE.md +76 -0
  7. package/docs/COMMAND_REFERENCE_EN.md +79 -0
  8. package/esbuild.config.js +75 -0
  9. package/openclaw.plugin.json +4 -4
  10. package/package.json +11 -13
  11. package/scripts/build-web.mjs +46 -0
  12. package/scripts/install-dependencies.cjs +47 -0
  13. package/scripts/sync-plugin.mjs +802 -0
  14. package/scripts/verify-build.mjs +109 -0
  15. package/src/agents/nocturnal-dreamer.md +152 -0
  16. package/src/agents/nocturnal-philosopher.md +138 -0
  17. package/src/agents/nocturnal-reflector.md +126 -0
  18. package/src/agents/nocturnal-scribe.md +164 -0
  19. package/src/commands/capabilities.ts +85 -0
  20. package/{dist/commands/context.js → src/commands/context.ts} +78 -38
  21. package/src/commands/evolution-status.ts +146 -0
  22. package/src/commands/export.ts +111 -0
  23. package/src/commands/focus.ts +533 -0
  24. package/src/commands/nocturnal-review.ts +311 -0
  25. package/src/commands/nocturnal-rollout.ts +763 -0
  26. package/src/commands/nocturnal-train.ts +1002 -0
  27. package/{dist/commands/pain.js → src/commands/pain.ts} +68 -49
  28. package/src/commands/principle-rollback.ts +27 -0
  29. package/{dist/commands/rollback.js → src/commands/rollback.ts} +44 -12
  30. package/src/commands/samples.ts +60 -0
  31. package/src/commands/strategy.ts +38 -0
  32. package/{dist/commands/thinking-os.js → src/commands/thinking-os.ts} +59 -36
  33. package/src/commands/workflow-debug.ts +128 -0
  34. package/{dist/config/defaults/runtime.js → src/config/defaults/runtime.ts} +12 -5
  35. package/src/config/errors.ts +163 -0
  36. package/{dist/config/index.d.ts → src/config/index.ts} +2 -1
  37. package/src/constants/diagnostician.ts +66 -0
  38. package/src/constants/tools.ts +62 -0
  39. package/src/core/adaptive-thresholds.ts +476 -0
  40. package/{dist/core/config-service.js → src/core/config-service.ts} +7 -4
  41. package/{dist/core/config.js → src/core/config.ts} +158 -46
  42. package/src/core/control-ui-db.ts +435 -0
  43. package/{dist/core/detection-funnel.js → src/core/detection-funnel.ts} +36 -21
  44. package/{dist/core/detection-service.js → src/core/detection-service.ts} +7 -4
  45. package/{dist/core/dictionary-service.js → src/core/dictionary-service.ts} +7 -4
  46. package/{dist/core/dictionary.js → src/core/dictionary.ts} +57 -34
  47. package/src/core/empathy-keyword-matcher.ts +327 -0
  48. package/src/core/empathy-types.ts +218 -0
  49. package/src/core/event-log.ts +544 -0
  50. package/src/core/evolution-engine.ts +612 -0
  51. package/src/core/evolution-logger.ts +353 -0
  52. package/src/core/evolution-migration.ts +77 -0
  53. package/src/core/evolution-reducer.ts +731 -0
  54. package/src/core/evolution-types.ts +456 -0
  55. package/src/core/external-training-contract.ts +527 -0
  56. package/src/core/focus-history.ts +1458 -0
  57. package/src/core/hygiene/tracker.ts +117 -0
  58. package/{dist/core/init.js → src/core/init.ts} +39 -26
  59. package/src/core/local-worker-routing.ts +617 -0
  60. package/{dist/core/migration.js → src/core/migration.ts} +18 -11
  61. package/src/core/model-deployment-registry.ts +722 -0
  62. package/src/core/model-training-registry.ts +813 -0
  63. package/src/core/nocturnal-arbiter.ts +706 -0
  64. package/src/core/nocturnal-candidate-scoring.ts +392 -0
  65. package/src/core/nocturnal-compliance.ts +1075 -0
  66. package/src/core/nocturnal-dataset.ts +668 -0
  67. package/src/core/nocturnal-executability.ts +428 -0
  68. package/src/core/nocturnal-export.ts +390 -0
  69. package/{dist/core/nocturnal-paths.js → src/core/nocturnal-paths.ts} +49 -23
  70. package/src/core/nocturnal-trajectory-extractor.ts +484 -0
  71. package/src/core/nocturnal-trinity.ts +1384 -0
  72. package/src/core/pain.ts +122 -0
  73. package/{dist/core/path-resolver.js → src/core/path-resolver.ts} +157 -36
  74. package/{dist/core/paths.js → src/core/paths.ts} +13 -4
  75. package/src/core/principle-training-state.ts +450 -0
  76. package/src/core/profile.ts +226 -0
  77. package/src/core/promotion-gate.ts +822 -0
  78. package/{dist/core/risk-calculator.js → src/core/risk-calculator.ts} +42 -16
  79. package/{dist/core/session-tracker.js → src/core/session-tracker.ts} +175 -62
  80. package/src/core/shadow-observation-registry.ts +534 -0
  81. package/{dist/core/system-logger.js → src/core/system-logger.ts} +9 -5
  82. package/src/core/thinking-models.ts +217 -0
  83. package/src/core/training-program.ts +630 -0
  84. package/src/core/trajectory-types.ts +243 -0
  85. package/src/core/trajectory.ts +1673 -0
  86. package/{dist/core/workspace-context.js → src/core/workspace-context.ts} +57 -32
  87. package/src/hooks/bash-risk.ts +171 -0
  88. package/src/hooks/edit-verification.ts +295 -0
  89. package/src/hooks/gate-block-helper.ts +160 -0
  90. package/src/hooks/gate.ts +210 -0
  91. package/src/hooks/gfi-gate.ts +177 -0
  92. package/src/hooks/lifecycle.ts +326 -0
  93. package/{dist/hooks/llm.js → src/hooks/llm.ts} +160 -80
  94. package/src/hooks/message-sanitize.ts +45 -0
  95. package/src/hooks/pain.ts +384 -0
  96. package/src/hooks/progressive-trust-gate.ts +174 -0
  97. package/src/hooks/prompt.ts +920 -0
  98. package/src/hooks/subagent.ts +207 -0
  99. package/src/hooks/thinking-checkpoint.ts +73 -0
  100. package/src/hooks/trajectory-collector.ts +290 -0
  101. package/src/http/principles-console-route.ts +716 -0
  102. package/src/i18n/commands.ts +117 -0
  103. package/src/index.ts +694 -0
  104. package/src/service/central-database.ts +831 -0
  105. package/src/service/control-ui-query-service.ts +888 -0
  106. package/src/service/evolution-query-service.ts +405 -0
  107. package/src/service/evolution-worker.ts +1646 -0
  108. package/src/service/health-query-service.ts +836 -0
  109. package/{dist/service/nocturnal-runtime.js → src/service/nocturnal-runtime.ts} +235 -79
  110. package/src/service/nocturnal-service.ts +1015 -0
  111. package/src/service/nocturnal-target-selector.ts +532 -0
  112. package/src/service/phase3-input-filter.ts +237 -0
  113. package/src/service/runtime-summary-service.ts +757 -0
  114. package/src/service/subagent-workflow/deep-reflect-workflow-manager.ts +513 -0
  115. package/{dist/service/subagent-workflow/empathy-observer-workflow-manager.js → src/service/subagent-workflow/empathy-observer-workflow-manager.ts} +240 -117
  116. package/src/service/subagent-workflow/index.ts +51 -0
  117. package/src/service/subagent-workflow/nocturnal-workflow-manager.ts +856 -0
  118. package/src/service/subagent-workflow/runtime-direct-driver.ts +166 -0
  119. package/{dist/service/subagent-workflow/types.d.ts → src/service/subagent-workflow/types.ts} +137 -18
  120. package/src/service/subagent-workflow/workflow-store.ts +328 -0
  121. package/src/service/trajectory-service.ts +15 -0
  122. package/{dist/tools/critique-prompt.js → src/tools/critique-prompt.ts} +25 -8
  123. package/src/tools/deep-reflect.ts +349 -0
  124. package/{dist/tools/model-index.js → src/tools/model-index.ts} +33 -17
  125. package/src/types/event-types.ts +453 -0
  126. package/src/types/hygiene-types.ts +31 -0
  127. package/src/types/principle-tree-schema.ts +244 -0
  128. package/src/types/runtime-summary.ts +49 -0
  129. package/src/types.ts +74 -0
  130. package/src/utils/file-lock.ts +391 -0
  131. package/{dist/utils/glob-match.js → src/utils/glob-match.ts} +21 -20
  132. package/{dist/utils/hashing.js → src/utils/hashing.ts} +6 -4
  133. package/src/utils/io.ts +110 -0
  134. package/{dist/utils/nlp.js → src/utils/nlp.ts} +19 -12
  135. package/{dist/utils/plugin-logger.js → src/utils/plugin-logger.ts} +33 -8
  136. package/src/utils/subagent-probe.ts +94 -0
  137. package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +70 -1
  138. package/templates/pain_settings.json +2 -1
  139. package/tests/README.md +120 -0
  140. package/tests/build-artifacts.test.ts +111 -0
  141. package/tests/commands/evolution-status.test.ts +222 -0
  142. package/tests/commands/evolver.test.ts +22 -0
  143. package/tests/commands/export.test.ts +78 -0
  144. package/tests/commands/nocturnal-review.test.ts +448 -0
  145. package/tests/commands/nocturnal-train.test.ts +97 -0
  146. package/tests/commands/pain.test.ts +108 -0
  147. package/tests/commands/samples.test.ts +65 -0
  148. package/tests/commands/strategy.test.ts +34 -0
  149. package/tests/commands/thinking-os.test.ts +88 -0
  150. package/tests/core/adaptive-thresholds.test.ts +261 -0
  151. package/tests/core/config-service.test.ts +89 -0
  152. package/tests/core/config.test.ts +90 -0
  153. package/tests/core/control-ui-db.test.ts +75 -0
  154. package/tests/core/core-template-guidance.test.ts +21 -0
  155. package/tests/core/detection-funnel.test.ts +63 -0
  156. package/tests/core/detection-service.test.ts +50 -0
  157. package/tests/core/dictionary-service.test.ts +116 -0
  158. package/tests/core/dictionary.test.ts +168 -0
  159. package/tests/core/empathy-keyword-matcher.test.ts +209 -0
  160. package/tests/core/event-log.test.ts +181 -0
  161. package/tests/core/evolution-e2e.test.ts +58 -0
  162. package/tests/core/evolution-engine-gate-integration.test.ts +543 -0
  163. package/tests/core/evolution-engine.test.ts +562 -0
  164. package/tests/core/evolution-logger.test.ts +148 -0
  165. package/tests/core/evolution-migration.test.ts +50 -0
  166. package/tests/core/evolution-paths.test.ts +21 -0
  167. package/tests/core/evolution-reducer.detector-metadata.test.ts +602 -0
  168. package/tests/core/evolution-reducer.test.ts +180 -0
  169. package/tests/core/evolution-types-loop.test.ts +48 -0
  170. package/tests/core/evolution-user-stories.e2e.test.ts +249 -0
  171. package/tests/core/external-training-contract.test.ts +463 -0
  172. package/tests/core/focus-history.test.ts +682 -0
  173. package/tests/core/init-flatten.test.ts +69 -0
  174. package/tests/core/init-refactor.test.ts +87 -0
  175. package/tests/core/init-v1.3.test.ts +46 -0
  176. package/tests/core/init.test.ts +190 -0
  177. package/tests/core/local-worker-routing.test.ts +757 -0
  178. package/tests/core/migration.test.ts +84 -0
  179. package/tests/core/model-deployment-registry.test.ts +845 -0
  180. package/tests/core/model-training-registry.test.ts +889 -0
  181. package/tests/core/nocturnal-arbiter.test.ts +494 -0
  182. package/tests/core/nocturnal-candidate-scoring.test.ts +400 -0
  183. package/tests/core/nocturnal-compliance.test.ts +646 -0
  184. package/tests/core/nocturnal-dataset.test.ts +892 -0
  185. package/tests/core/nocturnal-executability.test.ts +357 -0
  186. package/tests/core/nocturnal-export.test.ts +462 -0
  187. package/tests/core/nocturnal-reviewed-subset-comparison.test.ts +428 -0
  188. package/tests/core/nocturnal-trajectory-extractor.test.ts +634 -0
  189. package/tests/core/nocturnal-trinity.test.ts +953 -0
  190. package/tests/core/pain.test.ts +33 -0
  191. package/tests/core/path-resolver.test.ts +57 -0
  192. package/tests/core/paths-refactor.test.ts +42 -0
  193. package/tests/core/phase7-rollout-integration.test.ts +477 -0
  194. package/tests/core/principle-training-state.test.ts +712 -0
  195. package/tests/core/profile.test.ts +56 -0
  196. package/tests/core/promotion-gate.test.ts +556 -0
  197. package/tests/core/risk-calculator.test.ts +168 -0
  198. package/tests/core/session-tracker.test.ts +191 -0
  199. package/tests/core/training-program.test.ts +472 -0
  200. package/tests/core/trajectory.test.ts +265 -0
  201. package/tests/core/workspace-context-factory.test.ts +18 -0
  202. package/tests/core/workspace-context.test.ts +134 -0
  203. package/tests/fixtures/nocturnal-reviewed-subset.json +183 -0
  204. package/tests/fixtures/production-compatibility.test.ts +147 -0
  205. package/tests/fixtures/production-mock-generator.ts +282 -0
  206. package/tests/hooks/bash-risk-integration.test.ts +137 -0
  207. package/tests/hooks/bash-risk.test.ts +81 -0
  208. package/tests/hooks/edit-verification.test.ts +678 -0
  209. package/tests/hooks/gate-edit-verification-p1.test.ts +632 -0
  210. package/tests/hooks/gate-edit-verification.test.ts +435 -0
  211. package/tests/hooks/gate-pipeline-integration.test.ts +404 -0
  212. package/tests/hooks/gate.test.ts +271 -0
  213. package/tests/hooks/gfi-gate-unit.test.ts +422 -0
  214. package/tests/hooks/gfi-gate.test.ts +669 -0
  215. package/tests/hooks/lifecycle.test.ts +248 -0
  216. package/tests/hooks/llm.test.ts +308 -0
  217. package/tests/hooks/message-sanitize.test.ts +36 -0
  218. package/tests/hooks/pain.test.ts +141 -0
  219. package/tests/hooks/progressive-trust-gate.test.ts +277 -0
  220. package/tests/hooks/prompt.test.ts +1411 -0
  221. package/tests/hooks/subagent.test.ts +467 -0
  222. package/tests/hooks/thinking-gate.test.ts +313 -0
  223. package/tests/http/principles-console-route.test.ts +140 -0
  224. package/tests/hygiene-tracker.test.ts +77 -0
  225. package/tests/index.integration.test.ts +179 -0
  226. package/tests/index.shadow-routing.integration.test.ts +140 -0
  227. package/tests/index.test.ts +9 -0
  228. package/tests/integration/empathy-workflow-integration.test.ts +627 -0
  229. package/tests/service/control-ui-query-service.test.ts +121 -0
  230. package/tests/service/empathy-observer-workflow-manager.test.ts +176 -0
  231. package/tests/service/evolution-worker.test.ts +585 -0
  232. package/tests/service/nocturnal-runtime.test.ts +470 -0
  233. package/tests/service/nocturnal-service.test.ts +577 -0
  234. package/tests/service/nocturnal-target-selector.test.ts +615 -0
  235. package/tests/service/nocturnal-workflow-manager.test.ts +439 -0
  236. package/tests/service/phase3-input-filter.test.ts +289 -0
  237. package/tests/service/runtime-summary-service.test.ts +919 -0
  238. package/tests/task-compliance.test.ts +166 -0
  239. package/tests/test-utils.ts +48 -0
  240. package/tests/tools/critique-prompt.test.ts +260 -0
  241. package/tests/tools/deep-reflect.test.ts +232 -0
  242. package/tests/tools/model-index.test.ts +246 -0
  243. package/tests/ui/app.test.tsx +114 -0
  244. package/tests/utils/file-lock.test.ts +407 -0
  245. package/tests/utils/hashing.test.ts +32 -0
  246. package/tests/utils/io.test.ts +39 -0
  247. package/tests/utils/nlp.test.ts +53 -0
  248. package/tests/utils/plugin-logger.test.ts +156 -0
  249. package/tsconfig.json +16 -0
  250. package/tsconfig.tsbuildinfo +1 -0
  251. package/ui/src/App.tsx +45 -0
  252. package/ui/src/api.ts +216 -0
  253. package/ui/src/charts.tsx +586 -0
  254. package/ui/src/components/ErrorState.tsx +6 -0
  255. package/ui/src/components/Loading.tsx +13 -0
  256. package/ui/src/components/ProtectedRoute.tsx +12 -0
  257. package/ui/src/components/Shell.tsx +91 -0
  258. package/ui/src/components/WorkspaceConfig.tsx +146 -0
  259. package/ui/src/components/index.ts +5 -0
  260. package/ui/src/context/auth.tsx +80 -0
  261. package/ui/src/context/theme.tsx +66 -0
  262. package/ui/src/hooks/useAutoRefresh.ts +39 -0
  263. package/ui/src/i18n/ui.ts +363 -0
  264. package/ui/src/main.tsx +16 -0
  265. package/ui/src/pages/EvolutionPage.tsx +352 -0
  266. package/ui/src/pages/FeedbackPage.tsx +140 -0
  267. package/ui/src/pages/GateMonitorPage.tsx +136 -0
  268. package/ui/src/pages/LoginPage.tsx +88 -0
  269. package/ui/src/pages/OverviewPage.tsx +238 -0
  270. package/ui/src/pages/SamplesPage.tsx +174 -0
  271. package/ui/src/pages/ThinkingModelsPage.tsx +127 -0
  272. package/ui/src/styles.css +1661 -0
  273. package/ui/src/types.ts +368 -0
  274. package/ui/src/utils/format.ts +15 -0
  275. package/vitest.config.ts +23 -0
  276. package/dist/commands/capabilities.d.ts +0 -3
  277. package/dist/commands/capabilities.js +0 -73
  278. package/dist/commands/context.d.ts +0 -5
  279. package/dist/commands/evolution-status.d.ts +0 -4
  280. package/dist/commands/evolution-status.js +0 -117
  281. package/dist/commands/evolver.d.ts +0 -9
  282. package/dist/commands/evolver.js +0 -26
  283. package/dist/commands/export.d.ts +0 -2
  284. package/dist/commands/export.js +0 -98
  285. package/dist/commands/focus.d.ts +0 -14
  286. package/dist/commands/focus.js +0 -457
  287. package/dist/commands/nocturnal-review.d.ts +0 -24
  288. package/dist/commands/nocturnal-review.js +0 -265
  289. package/dist/commands/nocturnal-rollout.d.ts +0 -27
  290. package/dist/commands/nocturnal-rollout.js +0 -671
  291. package/dist/commands/nocturnal-train.d.ts +0 -25
  292. package/dist/commands/nocturnal-train.js +0 -919
  293. package/dist/commands/pain.d.ts +0 -5
  294. package/dist/commands/principle-rollback.d.ts +0 -4
  295. package/dist/commands/principle-rollback.js +0 -22
  296. package/dist/commands/rollback.d.ts +0 -19
  297. package/dist/commands/samples.d.ts +0 -2
  298. package/dist/commands/samples.js +0 -55
  299. package/dist/commands/strategy.d.ts +0 -3
  300. package/dist/commands/strategy.js +0 -29
  301. package/dist/commands/thinking-os.d.ts +0 -2
  302. package/dist/config/defaults/runtime.d.ts +0 -40
  303. package/dist/config/errors.d.ts +0 -84
  304. package/dist/config/errors.js +0 -94
  305. package/dist/config/index.js +0 -7
  306. package/dist/constants/diagnostician.d.ts +0 -12
  307. package/dist/constants/diagnostician.js +0 -56
  308. package/dist/constants/tools.d.ts +0 -17
  309. package/dist/constants/tools.js +0 -54
  310. package/dist/core/adaptive-thresholds.d.ts +0 -186
  311. package/dist/core/adaptive-thresholds.js +0 -300
  312. package/dist/core/config-service.d.ts +0 -15
  313. package/dist/core/config.d.ts +0 -129
  314. package/dist/core/control-ui-db.d.ts +0 -95
  315. package/dist/core/control-ui-db.js +0 -292
  316. package/dist/core/detection-funnel.d.ts +0 -33
  317. package/dist/core/detection-service.d.ts +0 -15
  318. package/dist/core/dictionary-service.d.ts +0 -15
  319. package/dist/core/dictionary.d.ts +0 -38
  320. package/dist/core/event-log.d.ts +0 -82
  321. package/dist/core/event-log.js +0 -463
  322. package/dist/core/evolution-engine.d.ts +0 -118
  323. package/dist/core/evolution-engine.js +0 -464
  324. package/dist/core/evolution-logger.d.ts +0 -137
  325. package/dist/core/evolution-logger.js +0 -256
  326. package/dist/core/evolution-migration.d.ts +0 -5
  327. package/dist/core/evolution-migration.js +0 -65
  328. package/dist/core/evolution-reducer.d.ts +0 -98
  329. package/dist/core/evolution-reducer.js +0 -465
  330. package/dist/core/evolution-types.d.ts +0 -287
  331. package/dist/core/evolution-types.js +0 -78
  332. package/dist/core/external-training-contract.d.ts +0 -276
  333. package/dist/core/external-training-contract.js +0 -269
  334. package/dist/core/focus-history.d.ts +0 -210
  335. package/dist/core/focus-history.js +0 -1185
  336. package/dist/core/hygiene/tracker.d.ts +0 -22
  337. package/dist/core/hygiene/tracker.js +0 -106
  338. package/dist/core/init.d.ts +0 -12
  339. package/dist/core/local-worker-routing.d.ts +0 -175
  340. package/dist/core/local-worker-routing.js +0 -525
  341. package/dist/core/migration.d.ts +0 -6
  342. package/dist/core/model-deployment-registry.d.ts +0 -218
  343. package/dist/core/model-deployment-registry.js +0 -503
  344. package/dist/core/model-training-registry.d.ts +0 -295
  345. package/dist/core/model-training-registry.js +0 -475
  346. package/dist/core/nocturnal-arbiter.d.ts +0 -159
  347. package/dist/core/nocturnal-arbiter.js +0 -534
  348. package/dist/core/nocturnal-candidate-scoring.d.ts +0 -137
  349. package/dist/core/nocturnal-candidate-scoring.js +0 -266
  350. package/dist/core/nocturnal-compliance.d.ts +0 -175
  351. package/dist/core/nocturnal-compliance.js +0 -824
  352. package/dist/core/nocturnal-dataset.d.ts +0 -224
  353. package/dist/core/nocturnal-dataset.js +0 -443
  354. package/dist/core/nocturnal-executability.d.ts +0 -85
  355. package/dist/core/nocturnal-executability.js +0 -331
  356. package/dist/core/nocturnal-export.d.ts +0 -124
  357. package/dist/core/nocturnal-export.js +0 -275
  358. package/dist/core/nocturnal-paths.d.ts +0 -124
  359. package/dist/core/nocturnal-trajectory-extractor.d.ts +0 -242
  360. package/dist/core/nocturnal-trajectory-extractor.js +0 -307
  361. package/dist/core/nocturnal-trinity.d.ts +0 -311
  362. package/dist/core/nocturnal-trinity.js +0 -880
  363. package/dist/core/pain.d.ts +0 -4
  364. package/dist/core/pain.js +0 -70
  365. package/dist/core/path-resolver.d.ts +0 -46
  366. package/dist/core/paths.d.ts +0 -65
  367. package/dist/core/principle-training-state.d.ts +0 -121
  368. package/dist/core/principle-training-state.js +0 -321
  369. package/dist/core/profile.d.ts +0 -62
  370. package/dist/core/profile.js +0 -210
  371. package/dist/core/promotion-gate.d.ts +0 -238
  372. package/dist/core/promotion-gate.js +0 -529
  373. package/dist/core/risk-calculator.d.ts +0 -22
  374. package/dist/core/session-tracker.d.ts +0 -101
  375. package/dist/core/shadow-observation-registry.d.ts +0 -217
  376. package/dist/core/shadow-observation-registry.js +0 -308
  377. package/dist/core/system-logger.d.ts +0 -8
  378. package/dist/core/thinking-models.d.ts +0 -38
  379. package/dist/core/thinking-models.js +0 -170
  380. package/dist/core/training-program.d.ts +0 -233
  381. package/dist/core/training-program.js +0 -433
  382. package/dist/core/trajectory.d.ts +0 -411
  383. package/dist/core/trajectory.js +0 -1307
  384. package/dist/core/workspace-context.d.ts +0 -71
  385. package/dist/hooks/bash-risk.d.ts +0 -57
  386. package/dist/hooks/bash-risk.js +0 -137
  387. package/dist/hooks/edit-verification.d.ts +0 -62
  388. package/dist/hooks/edit-verification.js +0 -256
  389. package/dist/hooks/gate-block-helper.d.ts +0 -44
  390. package/dist/hooks/gate-block-helper.js +0 -119
  391. package/dist/hooks/gate.d.ts +0 -24
  392. package/dist/hooks/gate.js +0 -173
  393. package/dist/hooks/gfi-gate.d.ts +0 -40
  394. package/dist/hooks/gfi-gate.js +0 -113
  395. package/dist/hooks/lifecycle.d.ts +0 -5
  396. package/dist/hooks/lifecycle.js +0 -284
  397. package/dist/hooks/llm.d.ts +0 -13
  398. package/dist/hooks/message-sanitize.d.ts +0 -3
  399. package/dist/hooks/message-sanitize.js +0 -37
  400. package/dist/hooks/pain.d.ts +0 -5
  401. package/dist/hooks/pain.js +0 -301
  402. package/dist/hooks/progressive-trust-gate.d.ts +0 -52
  403. package/dist/hooks/progressive-trust-gate.js +0 -134
  404. package/dist/hooks/prompt.d.ts +0 -49
  405. package/dist/hooks/prompt.js +0 -905
  406. package/dist/hooks/subagent.d.ts +0 -10
  407. package/dist/hooks/subagent.js +0 -387
  408. package/dist/hooks/thinking-checkpoint.d.ts +0 -37
  409. package/dist/hooks/thinking-checkpoint.js +0 -51
  410. package/dist/hooks/trajectory-collector.d.ts +0 -32
  411. package/dist/hooks/trajectory-collector.js +0 -256
  412. package/dist/http/principles-console-route.d.ts +0 -9
  413. package/dist/http/principles-console-route.js +0 -681
  414. package/dist/i18n/commands.d.ts +0 -26
  415. package/dist/i18n/commands.js +0 -116
  416. package/dist/index.d.ts +0 -7
  417. package/dist/index.js +0 -581
  418. package/dist/service/central-database.d.ts +0 -104
  419. package/dist/service/central-database.js +0 -649
  420. package/dist/service/control-ui-query-service.d.ts +0 -221
  421. package/dist/service/control-ui-query-service.js +0 -543
  422. package/dist/service/empathy-observer-manager.d.ts +0 -88
  423. package/dist/service/empathy-observer-manager.js +0 -414
  424. package/dist/service/evolution-query-service.d.ts +0 -155
  425. package/dist/service/evolution-query-service.js +0 -258
  426. package/dist/service/evolution-worker.d.ts +0 -101
  427. package/dist/service/evolution-worker.js +0 -975
  428. package/dist/service/health-query-service.d.ts +0 -170
  429. package/dist/service/health-query-service.js +0 -662
  430. package/dist/service/nocturnal-runtime.d.ts +0 -183
  431. package/dist/service/nocturnal-service.d.ts +0 -163
  432. package/dist/service/nocturnal-service.js +0 -787
  433. package/dist/service/nocturnal-target-selector.d.ts +0 -145
  434. package/dist/service/nocturnal-target-selector.js +0 -315
  435. package/dist/service/phase3-input-filter.d.ts +0 -73
  436. package/dist/service/phase3-input-filter.js +0 -172
  437. package/dist/service/runtime-summary-service.d.ts +0 -122
  438. package/dist/service/runtime-summary-service.js +0 -485
  439. package/dist/service/subagent-workflow/empathy-observer-workflow-manager.d.ts +0 -48
  440. package/dist/service/subagent-workflow/index.d.ts +0 -4
  441. package/dist/service/subagent-workflow/index.js +0 -3
  442. package/dist/service/subagent-workflow/runtime-direct-driver.d.ts +0 -77
  443. package/dist/service/subagent-workflow/runtime-direct-driver.js +0 -75
  444. package/dist/service/subagent-workflow/types.js +0 -11
  445. package/dist/service/subagent-workflow/workflow-store.d.ts +0 -26
  446. package/dist/service/subagent-workflow/workflow-store.js +0 -165
  447. package/dist/service/trajectory-service.d.ts +0 -2
  448. package/dist/service/trajectory-service.js +0 -15
  449. package/dist/tools/critique-prompt.d.ts +0 -14
  450. package/dist/tools/deep-reflect.d.ts +0 -39
  451. package/dist/tools/deep-reflect.js +0 -350
  452. package/dist/tools/model-index.d.ts +0 -9
  453. package/dist/types/event-types.d.ts +0 -306
  454. package/dist/types/event-types.js +0 -106
  455. package/dist/types/hygiene-types.d.ts +0 -20
  456. package/dist/types/hygiene-types.js +0 -12
  457. package/dist/types/runtime-summary.d.ts +0 -47
  458. package/dist/types/runtime-summary.js +0 -1
  459. package/dist/types.d.ts +0 -50
  460. package/dist/types.js +0 -22
  461. package/dist/utils/file-lock.d.ts +0 -71
  462. package/dist/utils/file-lock.js +0 -309
  463. package/dist/utils/glob-match.d.ts +0 -28
  464. package/dist/utils/hashing.d.ts +0 -9
  465. package/dist/utils/io.d.ts +0 -6
  466. package/dist/utils/io.js +0 -106
  467. package/dist/utils/nlp.d.ts +0 -9
  468. package/dist/utils/plugin-logger.d.ts +0 -39
  469. package/dist/utils/subagent-probe.d.ts +0 -34
  470. package/dist/utils/subagent-probe.js +0 -81
@@ -0,0 +1,166 @@
1
+ import type {
2
+ SubagentRunResult,
3
+ SubagentWaitResult,
4
+ SubagentGetSessionMessagesResult,
5
+ PluginLogger,
6
+ } from '../../openclaw-sdk.js';
7
+
8
+ export interface TransportDriver {
9
+ run(params: RunParams): Promise<RunResult>;
10
+ wait(params: WaitParams): Promise<WaitResult>;
11
+ getResult(params: GetResultParams): Promise<GetResultResult>;
12
+ cleanup(params: CleanupParams): Promise<void>;
13
+ }
14
+
15
+ export interface RunParams {
16
+ sessionKey: string;
17
+ message: string;
18
+ lane?: string;
19
+ deliver?: boolean;
20
+ idempotencyKey?: string;
21
+ expectsCompletionMessage?: boolean;
22
+ extraSystemPrompt?: string;
23
+ }
24
+
25
+ export interface RunResult {
26
+ runId: string;
27
+ }
28
+
29
+ export interface WaitParams {
30
+ runId: string;
31
+ timeoutMs?: number;
32
+ }
33
+
34
+ export interface WaitResult {
35
+ status: 'ok' | 'error' | 'timeout';
36
+ error?: string;
37
+ }
38
+
39
+ export interface GetResultParams {
40
+ sessionKey: string;
41
+ limit?: number;
42
+ }
43
+
44
+ export interface GetResultResult {
45
+ messages: unknown[];
46
+ assistantTexts?: string[];
47
+ }
48
+
49
+ export interface CleanupParams {
50
+ sessionKey: string;
51
+ deleteTranscript?: boolean;
52
+ }
53
+
54
+ type PluginRuntimeSubagent = {
55
+ run: (params: {
56
+ sessionKey: string;
57
+ message: string;
58
+ lane?: string;
59
+ deliver?: boolean;
60
+ idempotencyKey?: string;
61
+ expectsCompletionMessage?: boolean;
62
+ extraSystemPrompt?: string;
63
+ }) => Promise<SubagentRunResult>;
64
+ waitForRun: (params: {
65
+ runId: string;
66
+ timeoutMs?: number;
67
+ }) => Promise<SubagentWaitResult>;
68
+ getSessionMessages: (params: {
69
+ sessionKey: string;
70
+ limit?: number;
71
+ }) => Promise<SubagentGetSessionMessagesResult>;
72
+ deleteSession: (params: {
73
+ sessionKey: string;
74
+ deleteTranscript?: boolean;
75
+ }) => Promise<void>;
76
+ };
77
+
78
+ export class RuntimeDirectDriver implements TransportDriver {
79
+ private readonly subagent: PluginRuntimeSubagent;
80
+ private readonly logger: PluginLogger;
81
+
82
+ constructor(options: { subagent: PluginRuntimeSubagent; logger: PluginLogger }) {
83
+ this.subagent = options.subagent;
84
+ this.logger = options.logger;
85
+ }
86
+
87
+ /** Expose subagent for availability checking (used by workflow manager for surface degrade) */
88
+ getSubagent(): PluginRuntimeSubagent {
89
+ return this.subagent;
90
+ }
91
+
92
+ async run(params: RunParams): Promise<RunResult> {
93
+ // DEFENSIVE: Gateway AgentParamsSchema requires idempotencyKey as NonEmptyString (required).
94
+ // server-plugins.ts uses conditional spread: ...(v && { v }), so falsy = omitted = validation failure.
95
+ // Always guarantee a non-empty value even if caller forgets.
96
+ const idempotencyKey = params.idempotencyKey || `pd:${params.sessionKey}:${Date.now()}`;
97
+
98
+ this.logger.info(`[PD:RuntimeDirectDriver] Spawning subagent: sessionKey=${params.sessionKey}, idemKey=${idempotencyKey.substring(0, 40)}`);
99
+
100
+ try {
101
+ const result = await this.subagent.run({
102
+ sessionKey: params.sessionKey,
103
+ message: params.message,
104
+ lane: params.lane ?? 'subagent',
105
+ deliver: params.deliver ?? false,
106
+ idempotencyKey,
107
+ expectsCompletionMessage: params.expectsCompletionMessage ?? true,
108
+ extraSystemPrompt: params.extraSystemPrompt,
109
+ });
110
+
111
+ this.logger.info(`[PD:RuntimeDirectDriver] Spawn succeeded: runId=${result.runId}`);
112
+ return { runId: result.runId };
113
+ } catch (error) {
114
+ this.logger.error(`[PD:RuntimeDirectDriver] Spawn failed: ${String(error)}`);
115
+ throw error;
116
+ }
117
+ }
118
+
119
+ async wait(params: WaitParams): Promise<WaitResult> {
120
+ this.logger.info(`[PD:RuntimeDirectDriver] Waiting for run: runId=${params.runId}, timeout=${params.timeoutMs}ms`);
121
+
122
+ try {
123
+ const result = await this.subagent.waitForRun({
124
+ runId: params.runId,
125
+ timeoutMs: params.timeoutMs,
126
+ });
127
+
128
+ this.logger.info(`[PD:RuntimeDirectDriver] Wait completed: status=${result.status}`);
129
+ return result;
130
+ } catch (error) {
131
+ this.logger.error(`[PD:RuntimeDirectDriver] Wait failed: ${String(error)}`);
132
+ throw error;
133
+ }
134
+ }
135
+
136
+ async getResult(params: GetResultParams): Promise<GetResultResult> {
137
+ this.logger.info(`[PD:RuntimeDirectDriver] Getting messages: sessionKey=${params.sessionKey}`);
138
+
139
+ try {
140
+ const result = await this.subagent.getSessionMessages({
141
+ sessionKey: params.sessionKey,
142
+ limit: params.limit ?? 20,
143
+ });
144
+
145
+ return result;
146
+ } catch (error) {
147
+ this.logger.error(`[PD:RuntimeDirectDriver] GetResult failed: ${String(error)}`);
148
+ throw error;
149
+ }
150
+ }
151
+
152
+ async cleanup(params: CleanupParams): Promise<void> {
153
+ this.logger.info(`[PD:RuntimeDirectDriver] Cleaning up session: sessionKey=${params.sessionKey}`);
154
+
155
+ try {
156
+ await this.subagent.deleteSession({
157
+ sessionKey: params.sessionKey,
158
+ deleteTranscript: params.deleteTranscript,
159
+ });
160
+ this.logger.info(`[PD:RuntimeDirectDriver] Cleanup succeeded`);
161
+ } catch (error) {
162
+ this.logger.error(`[PD:RuntimeDirectDriver] Cleanup failed: ${String(error)}`);
163
+ throw error;
164
+ }
165
+ }
166
+ }
@@ -8,16 +8,38 @@
8
8
  *
9
9
  * @module subagent-workflow/types
10
10
  */
11
+
12
+ import type {
13
+ NocturnalArtifact,
14
+ } from '../../core/nocturnal-arbiter.js';
15
+ import type {
16
+ BoundedAction,
17
+ } from '../../core/nocturnal-executability.js';
18
+ import type {
19
+ NocturnalSessionSnapshot,
20
+ } from '../../core/nocturnal-trajectory-extractor.js';
21
+ import type {
22
+ NocturnalRunDiagnostics,
23
+ } from '../nocturnal-service.js';
24
+ import type {
25
+ TrinityResult,
26
+ } from '../../core/nocturnal-trinity.js';
27
+
28
+ // ── Workflow Transport ────────────────────────────────────────────────────────
29
+
11
30
  /**
12
31
  * First-phase helper transport.
13
32
  * This helper currently models only plugin-owned runtime_direct workflows.
14
33
  */
15
34
  export type WorkflowTransport = 'runtime_direct';
35
+
36
+ // ── Workflow State Machine ───────────────────────────────────────────────────
37
+
16
38
  /**
17
39
  * States in the workflow state machine.
18
- *
40
+ *
19
41
  * State transitions:
20
- *
42
+ *
21
43
  * PENDING ──→ ACTIVE ──→ WAIT_RESULT ──→ FINALIZING ──→ COMPLETED
22
44
  * │ │ │
23
45
  * │ ├──────────────────────────────┤
@@ -28,10 +50,21 @@ export type WorkflowTransport = 'runtime_direct';
28
50
  * │ │ (cleanup_pending if deleteSession fails)
29
51
  * │ ▼
30
52
  * └──────── CLEANUP_PENDING
31
- *
53
+ *
32
54
  * States marked with (*) are terminal states.
33
55
  */
34
- export type WorkflowState = 'pending' | 'active' | 'wait_result' | 'finalizing' | 'completed' | 'terminal_error' | 'cleanup_pending' | 'expired';
56
+ export type WorkflowState =
57
+ | 'pending' // Workflow created, not yet started
58
+ | 'active' // Subagent spawned, running
59
+ | 'wait_result' // Waiting for result (runtime_direct path)
60
+ | 'finalizing' // Reading and parsing result
61
+ | 'completed' // Successfully finalized and cleaned up (*)
62
+ | 'terminal_error' // Finalized with error (*)
63
+ | 'cleanup_pending' // Cleanup failed, pending retry (*)
64
+ | 'expired'; // TTL expired, cleaned up (*)
65
+
66
+ // ── Workflow Metadata ────────────────────────────────────────────────────────
67
+
35
68
  /**
36
69
  * Metadata stored with each workflow for auditing and debugging.
37
70
  */
@@ -45,6 +78,9 @@ export interface WorkflowMetadata {
45
78
  /** Extra custom metadata specific to workflow type */
46
79
  [key: string]: unknown;
47
80
  }
81
+
82
+ // ── Workflow Context Types ────────────────────────────────────────────────────
83
+
48
84
  /**
49
85
  * Context passed to parseResult() when reading subagent output.
50
86
  */
@@ -60,6 +96,7 @@ export interface WorkflowResultContext {
60
96
  /** Error message if waitStatus is 'error' */
61
97
  waitError?: string;
62
98
  }
99
+
63
100
  /**
64
101
  * Context passed to persistResult() after successful parsing.
65
102
  */
@@ -71,6 +108,9 @@ export interface WorkflowPersistContext<TResult> {
71
108
  /** Workspace context directory */
72
109
  workspaceDir: string;
73
110
  }
111
+
112
+ // ── Workflow Spec ─────────────────────────────────────────────────────────────
113
+
74
114
  /**
75
115
  * Result of calling startWorkflow().
76
116
  * Returned to caller so they can track the workflow.
@@ -85,10 +125,11 @@ export interface WorkflowHandle {
85
125
  /** The workflow state at creation */
86
126
  state: WorkflowState;
87
127
  }
128
+
88
129
  /**
89
130
  * Specification for a subagent workflow.
90
131
  * Each workflow type (empathy observer, deep-reflect) implements this spec.
91
- *
132
+ *
92
133
  * @example
93
134
  * ```ts
94
135
  * const empathySpec: SubagentWorkflowSpec<EmpathyResult> = {
@@ -131,6 +172,9 @@ export interface SubagentWorkflowSpec<TResult> {
131
172
  */
132
173
  shouldFinalizeOnWaitStatus: (status: 'ok' | 'error' | 'timeout') => boolean;
133
174
  }
175
+
176
+ // ── Empathy Observer Specific Types ──────────────────────────────────────────
177
+
134
178
  /**
135
179
  * Payload returned by empathy observer subagent.
136
180
  */
@@ -140,6 +184,7 @@ export type EmpathyObserverPayload = {
140
184
  confidence?: number;
141
185
  reason?: string;
142
186
  };
187
+
143
188
  /**
144
189
  * Empathy observer workflow result.
145
190
  */
@@ -151,6 +196,18 @@ export interface EmpathyResult {
151
196
  /** Derived pain score based on severity */
152
197
  painScore: number;
153
198
  }
199
+
200
+ /**
201
+ * Deep-reflect workflow result.
202
+ */
203
+ export interface DeepReflectResult {
204
+ insights: string;
205
+ context: string;
206
+ depth: number;
207
+ modelId: string;
208
+ passed: boolean;
209
+ }
210
+
154
211
  /**
155
212
  * Empathy observer workflow specification.
156
213
  * This is the concrete spec for PR2 migration.
@@ -159,9 +216,12 @@ export interface EmpathyObserverWorkflowSpec extends SubagentWorkflowSpec<Empath
159
216
  workflowType: 'empathy-observer';
160
217
  transport: 'runtime_direct';
161
218
  timeoutMs: 30_000;
162
- ttlMs: 300_000;
219
+ ttlMs: 300_000; // 5 minutes
163
220
  shouldDeleteSessionAfterFinalize: true;
164
221
  }
222
+
223
+ // ── Workflow Manager Interface ─────────────────────────────────────────────────
224
+
165
225
  /**
166
226
  * The main workflow manager interface.
167
227
  * This is what the helper exposes to business modules.
@@ -171,41 +231,65 @@ export interface WorkflowManager {
171
231
  * Start a new workflow.
172
232
  * Creates workflow state, spawns subagent, and returns handle.
173
233
  */
174
- startWorkflow: <TResult>(spec: SubagentWorkflowSpec<TResult>, options: {
175
- parentSessionId: string;
176
- workspaceDir?: string;
177
- taskInput: unknown;
178
- metadata?: Record<string, unknown>;
179
- }) => Promise<WorkflowHandle>;
234
+ startWorkflow: <TResult>(
235
+ spec: SubagentWorkflowSpec<TResult>,
236
+ options: {
237
+ parentSessionId: string;
238
+ workspaceDir?: string;
239
+ taskInput: unknown;
240
+ metadata?: Record<string, unknown>;
241
+ }
242
+ ) => Promise<WorkflowHandle>;
243
+
180
244
  /**
181
245
  * Notify workflow of wait result (runtime_direct path).
182
246
  * Called by the wait polling logic after waitForRun completes.
183
247
  */
184
- notifyWaitResult: (workflowId: string, status: 'ok' | 'error' | 'timeout', error?: string) => Promise<void>;
248
+ notifyWaitResult: (
249
+ workflowId: string,
250
+ status: 'ok' | 'error' | 'timeout',
251
+ error?: string
252
+ ) => Promise<void>;
253
+
185
254
  /**
186
255
  * Optional fallback observation path.
187
256
  * This is not the primary completion contract for runtime_direct workflows.
188
257
  * Use it only for recovery / compatibility if a lifecycle event is observed later.
189
258
  */
190
- notifyLifecycleEvent: (workflowId: string, event: 'subagent_spawned' | 'subagent_ended', data?: {
191
- outcome?: 'ok' | 'error' | 'timeout' | 'killed' | 'reset' | 'deleted';
192
- error?: string;
193
- }) => Promise<void>;
259
+ notifyLifecycleEvent: (
260
+ workflowId: string,
261
+ event: 'subagent_spawned' | 'subagent_ended',
262
+ data?: {
263
+ outcome?: 'ok' | 'error' | 'timeout' | 'killed' | 'reset' | 'deleted';
264
+ error?: string;
265
+ }
266
+ ) => Promise<void>;
267
+
194
268
  /**
195
269
  * Finalize a workflow exactly once (idempotent).
196
270
  * Reads result, parses, persists, and cleans up.
197
271
  */
198
272
  finalizeOnce: (workflowId: string) => Promise<void>;
273
+
199
274
  /**
200
275
  * Sweep expired workflows (orphan cleanup).
201
276
  * Should be called periodically by the evolution worker.
202
277
  */
203
278
  sweepExpiredWorkflows: (maxAgeMs?: number) => Promise<number>;
279
+
204
280
  /**
205
281
  * Return a compact workflow-centric debug view for operators.
206
282
  */
207
283
  getWorkflowDebugSummary: (workflowId: string, eventLimit?: number) => Promise<WorkflowDebugSummary | null>;
284
+
285
+ /**
286
+ * Release resources (DB connections, timers).
287
+ */
288
+ dispose: () => void;
208
289
  }
290
+
291
+ // ── Workflow Store (for SQLite persistence) ──────────────────────────────────
292
+
209
293
  /**
210
294
  * Database row for subagent_workflows table.
211
295
  */
@@ -223,6 +307,7 @@ export interface WorkflowRow {
223
307
  last_observed_at?: number | null;
224
308
  metadata_json: string;
225
309
  }
310
+
226
311
  /**
227
312
  * Database row for subagent_workflow_events table.
228
313
  */
@@ -235,6 +320,7 @@ export interface WorkflowEventRow {
235
320
  payload_json: string;
236
321
  created_at: number;
237
322
  }
323
+
238
324
  export interface WorkflowDebugSummary {
239
325
  workflowId: string;
240
326
  workflowType: string;
@@ -254,6 +340,39 @@ export interface WorkflowDebugSummary {
254
340
  createdAt: number;
255
341
  payload: Record<string, unknown>;
256
342
  }>;
343
+ // NOC-16: Trinity stage states
344
+ trinityStageStates?: Array<{
345
+ stage: 'dreamer' | 'philosopher' | 'scribe';
346
+ status: 'pending' | 'running' | 'completed' | 'failed';
347
+ reason?: string;
348
+ completedAt?: number;
349
+ }>;
257
350
  }
258
- export type { SubagentRunResult, SubagentWaitResult, SubagentGetSessionMessagesResult, } from '../../openclaw-sdk.js';
351
+
352
+ // ── Convenience Re-exports ────────────────────────────────────────────────────
353
+
354
+ export type {
355
+ SubagentRunResult,
356
+ SubagentWaitResult,
357
+ SubagentGetSessionMessagesResult,
358
+ } from '../../openclaw-sdk.js';
359
+
259
360
  export type { PluginLogger } from '../../openclaw-sdk.js';
361
+
362
+ // ── Nocturnal Workflow Types ───────────────────────────────────────────────────
363
+
364
+ /**
365
+ * Nocturnal workflow result type.
366
+ * Mirrors NocturnalRunResult from nocturnal-service.ts (per D-02).
367
+ */
368
+ export type NocturnalResult = {
369
+ success: boolean;
370
+ artifact?: NocturnalArtifact & { boundedAction?: BoundedAction };
371
+ skipReason?: string;
372
+ noTargetSelected: boolean;
373
+ validationFailed: boolean;
374
+ validationFailures: string[];
375
+ snapshot?: NocturnalSessionSnapshot;
376
+ diagnostics: NocturnalRunDiagnostics;
377
+ trinityTelemetry?: TrinityResult['telemetry'];
378
+ };