principles-disciple 1.8.1 → 1.8.3

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 (508) 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/en/skills/ai-sprint-orchestration/EXAMPLES.md +63 -0
  138. package/templates/langs/en/skills/ai-sprint-orchestration/REFERENCE.md +136 -0
  139. package/templates/langs/en/skills/ai-sprint-orchestration/SKILL.md +67 -0
  140. package/templates/langs/en/skills/ai-sprint-orchestration/references/agent-registry.json +214 -0
  141. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/bugfix-complex-template.json +107 -0
  142. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/feature-complex-template.json +107 -0
  143. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal-verify.json +105 -0
  144. package/templates/langs/en/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal.json +108 -0
  145. package/templates/langs/en/skills/ai-sprint-orchestration/references/workflow-v1-acceptance-checklist.md +58 -0
  146. package/templates/langs/en/skills/ai-sprint-orchestration/references/workflow-v1.4-work-unit-handoff.md +190 -0
  147. package/templates/langs/en/skills/ai-sprint-orchestration/runtime/.gitignore +2 -0
  148. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/archive.mjs +310 -0
  149. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/contract-enforcement.mjs +683 -0
  150. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/decision.mjs +604 -0
  151. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/state-store.mjs +32 -0
  152. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/lib/task-specs.mjs +707 -0
  153. package/templates/langs/en/skills/ai-sprint-orchestration/scripts/run.mjs +3419 -0
  154. package/templates/langs/zh/skills/ai-sprint-orchestration/EXAMPLES.md +63 -0
  155. package/templates/langs/zh/skills/ai-sprint-orchestration/REFERENCE.md +136 -0
  156. package/templates/langs/zh/skills/ai-sprint-orchestration/SKILL.md +67 -0
  157. package/templates/langs/zh/skills/ai-sprint-orchestration/references/agent-registry.json +214 -0
  158. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/bugfix-complex-template.json +107 -0
  159. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/feature-complex-template.json +107 -0
  160. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal-verify.json +105 -0
  161. package/templates/langs/zh/skills/ai-sprint-orchestration/references/specs/workflow-validation-minimal.json +108 -0
  162. package/templates/langs/zh/skills/ai-sprint-orchestration/references/workflow-v1-acceptance-checklist.md +58 -0
  163. package/templates/langs/zh/skills/ai-sprint-orchestration/references/workflow-v1.4-work-unit-handoff.md +190 -0
  164. package/templates/langs/zh/skills/ai-sprint-orchestration/runtime/.gitignore +2 -0
  165. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/archive.mjs +310 -0
  166. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/contract-enforcement.mjs +683 -0
  167. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/decision.mjs +604 -0
  168. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/state-store.mjs +32 -0
  169. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/lib/task-specs.mjs +707 -0
  170. package/templates/langs/zh/skills/ai-sprint-orchestration/scripts/run.mjs +3419 -0
  171. package/templates/langs/zh/skills/ai-sprint-orchestration/test/archive.test.mjs +230 -0
  172. package/templates/langs/zh/skills/ai-sprint-orchestration/test/contract-enforcement.test.mjs +672 -0
  173. package/templates/langs/zh/skills/ai-sprint-orchestration/test/decision.test.mjs +1321 -0
  174. package/templates/langs/zh/skills/ai-sprint-orchestration/test/run.test.mjs +1419 -0
  175. package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +70 -1
  176. package/templates/pain_settings.json +2 -1
  177. package/tests/README.md +120 -0
  178. package/tests/build-artifacts.test.ts +111 -0
  179. package/tests/commands/evolution-status.test.ts +222 -0
  180. package/tests/commands/evolver.test.ts +22 -0
  181. package/tests/commands/export.test.ts +78 -0
  182. package/tests/commands/nocturnal-review.test.ts +448 -0
  183. package/tests/commands/nocturnal-train.test.ts +97 -0
  184. package/tests/commands/pain.test.ts +108 -0
  185. package/tests/commands/samples.test.ts +65 -0
  186. package/tests/commands/strategy.test.ts +34 -0
  187. package/tests/commands/thinking-os.test.ts +88 -0
  188. package/tests/core/adaptive-thresholds.test.ts +261 -0
  189. package/tests/core/config-service.test.ts +89 -0
  190. package/tests/core/config.test.ts +90 -0
  191. package/tests/core/control-ui-db.test.ts +75 -0
  192. package/tests/core/core-template-guidance.test.ts +21 -0
  193. package/tests/core/detection-funnel.test.ts +63 -0
  194. package/tests/core/detection-service.test.ts +50 -0
  195. package/tests/core/dictionary-service.test.ts +116 -0
  196. package/tests/core/dictionary.test.ts +168 -0
  197. package/tests/core/empathy-keyword-matcher.test.ts +209 -0
  198. package/tests/core/event-log.test.ts +181 -0
  199. package/tests/core/evolution-e2e.test.ts +58 -0
  200. package/tests/core/evolution-engine-gate-integration.test.ts +543 -0
  201. package/tests/core/evolution-engine.test.ts +562 -0
  202. package/tests/core/evolution-logger.test.ts +148 -0
  203. package/tests/core/evolution-migration.test.ts +50 -0
  204. package/tests/core/evolution-paths.test.ts +21 -0
  205. package/tests/core/evolution-reducer.detector-metadata.test.ts +602 -0
  206. package/tests/core/evolution-reducer.test.ts +180 -0
  207. package/tests/core/evolution-types-loop.test.ts +48 -0
  208. package/tests/core/evolution-user-stories.e2e.test.ts +249 -0
  209. package/tests/core/external-training-contract.test.ts +463 -0
  210. package/tests/core/focus-history.test.ts +682 -0
  211. package/tests/core/init-flatten.test.ts +69 -0
  212. package/tests/core/init-refactor.test.ts +87 -0
  213. package/tests/core/init-v1.3.test.ts +46 -0
  214. package/tests/core/init.test.ts +190 -0
  215. package/tests/core/local-worker-routing.test.ts +757 -0
  216. package/tests/core/migration.test.ts +84 -0
  217. package/tests/core/model-deployment-registry.test.ts +845 -0
  218. package/tests/core/model-training-registry.test.ts +889 -0
  219. package/tests/core/nocturnal-arbiter.test.ts +494 -0
  220. package/tests/core/nocturnal-candidate-scoring.test.ts +400 -0
  221. package/tests/core/nocturnal-compliance.test.ts +646 -0
  222. package/tests/core/nocturnal-dataset.test.ts +892 -0
  223. package/tests/core/nocturnal-executability.test.ts +357 -0
  224. package/tests/core/nocturnal-export.test.ts +462 -0
  225. package/tests/core/nocturnal-reviewed-subset-comparison.test.ts +428 -0
  226. package/tests/core/nocturnal-trajectory-extractor.test.ts +634 -0
  227. package/tests/core/nocturnal-trinity.test.ts +953 -0
  228. package/tests/core/pain.test.ts +33 -0
  229. package/tests/core/path-resolver.test.ts +57 -0
  230. package/tests/core/paths-refactor.test.ts +42 -0
  231. package/tests/core/phase7-rollout-integration.test.ts +477 -0
  232. package/tests/core/principle-training-state.test.ts +712 -0
  233. package/tests/core/profile.test.ts +56 -0
  234. package/tests/core/promotion-gate.test.ts +556 -0
  235. package/tests/core/risk-calculator.test.ts +168 -0
  236. package/tests/core/session-tracker.test.ts +191 -0
  237. package/tests/core/training-program.test.ts +472 -0
  238. package/tests/core/trajectory.test.ts +265 -0
  239. package/tests/core/workspace-context-factory.test.ts +18 -0
  240. package/tests/core/workspace-context.test.ts +134 -0
  241. package/tests/fixtures/nocturnal-reviewed-subset.json +183 -0
  242. package/tests/fixtures/production-compatibility.test.ts +147 -0
  243. package/tests/fixtures/production-mock-generator.ts +282 -0
  244. package/tests/hooks/bash-risk-integration.test.ts +137 -0
  245. package/tests/hooks/bash-risk.test.ts +81 -0
  246. package/tests/hooks/edit-verification.test.ts +678 -0
  247. package/tests/hooks/gate-edit-verification-p1.test.ts +632 -0
  248. package/tests/hooks/gate-edit-verification.test.ts +435 -0
  249. package/tests/hooks/gate-pipeline-integration.test.ts +404 -0
  250. package/tests/hooks/gate.test.ts +271 -0
  251. package/tests/hooks/gfi-gate-unit.test.ts +422 -0
  252. package/tests/hooks/gfi-gate.test.ts +669 -0
  253. package/tests/hooks/lifecycle.test.ts +248 -0
  254. package/tests/hooks/llm.test.ts +308 -0
  255. package/tests/hooks/message-sanitize.test.ts +36 -0
  256. package/tests/hooks/pain.test.ts +141 -0
  257. package/tests/hooks/progressive-trust-gate.test.ts +277 -0
  258. package/tests/hooks/prompt.test.ts +1411 -0
  259. package/tests/hooks/subagent.test.ts +467 -0
  260. package/tests/hooks/thinking-gate.test.ts +313 -0
  261. package/tests/http/principles-console-route.test.ts +140 -0
  262. package/tests/hygiene-tracker.test.ts +77 -0
  263. package/tests/index.integration.test.ts +179 -0
  264. package/tests/index.shadow-routing.integration.test.ts +140 -0
  265. package/tests/index.test.ts +9 -0
  266. package/tests/integration/empathy-workflow-integration.test.ts +627 -0
  267. package/tests/service/control-ui-query-service.test.ts +121 -0
  268. package/tests/service/empathy-observer-workflow-manager.test.ts +176 -0
  269. package/tests/service/evolution-worker.test.ts +585 -0
  270. package/tests/service/nocturnal-runtime.test.ts +470 -0
  271. package/tests/service/nocturnal-service.test.ts +577 -0
  272. package/tests/service/nocturnal-target-selector.test.ts +615 -0
  273. package/tests/service/nocturnal-workflow-manager.test.ts +439 -0
  274. package/tests/service/phase3-input-filter.test.ts +289 -0
  275. package/tests/service/runtime-summary-service.test.ts +919 -0
  276. package/tests/task-compliance.test.ts +166 -0
  277. package/tests/test-utils.ts +48 -0
  278. package/tests/tools/critique-prompt.test.ts +260 -0
  279. package/tests/tools/deep-reflect.test.ts +232 -0
  280. package/tests/tools/model-index.test.ts +246 -0
  281. package/tests/ui/app.test.tsx +114 -0
  282. package/tests/utils/file-lock.test.ts +407 -0
  283. package/tests/utils/hashing.test.ts +32 -0
  284. package/tests/utils/io.test.ts +39 -0
  285. package/tests/utils/nlp.test.ts +53 -0
  286. package/tests/utils/plugin-logger.test.ts +156 -0
  287. package/tsconfig.json +16 -0
  288. package/tsconfig.tsbuildinfo +1 -0
  289. package/ui/src/App.tsx +45 -0
  290. package/ui/src/api.ts +216 -0
  291. package/ui/src/charts.tsx +586 -0
  292. package/ui/src/components/ErrorState.tsx +6 -0
  293. package/ui/src/components/Loading.tsx +13 -0
  294. package/ui/src/components/ProtectedRoute.tsx +12 -0
  295. package/ui/src/components/Shell.tsx +91 -0
  296. package/ui/src/components/WorkspaceConfig.tsx +146 -0
  297. package/ui/src/components/index.ts +5 -0
  298. package/ui/src/context/auth.tsx +80 -0
  299. package/ui/src/context/theme.tsx +66 -0
  300. package/ui/src/hooks/useAutoRefresh.ts +39 -0
  301. package/ui/src/i18n/ui.ts +363 -0
  302. package/ui/src/main.tsx +16 -0
  303. package/ui/src/pages/EvolutionPage.tsx +352 -0
  304. package/ui/src/pages/FeedbackPage.tsx +140 -0
  305. package/ui/src/pages/GateMonitorPage.tsx +136 -0
  306. package/ui/src/pages/LoginPage.tsx +88 -0
  307. package/ui/src/pages/OverviewPage.tsx +238 -0
  308. package/ui/src/pages/SamplesPage.tsx +174 -0
  309. package/ui/src/pages/ThinkingModelsPage.tsx +127 -0
  310. package/ui/src/styles.css +1661 -0
  311. package/ui/src/types.ts +368 -0
  312. package/ui/src/utils/format.ts +15 -0
  313. package/vitest.config.ts +23 -0
  314. package/dist/commands/capabilities.d.ts +0 -3
  315. package/dist/commands/capabilities.js +0 -73
  316. package/dist/commands/context.d.ts +0 -5
  317. package/dist/commands/evolution-status.d.ts +0 -4
  318. package/dist/commands/evolution-status.js +0 -117
  319. package/dist/commands/evolver.d.ts +0 -9
  320. package/dist/commands/evolver.js +0 -26
  321. package/dist/commands/export.d.ts +0 -2
  322. package/dist/commands/export.js +0 -98
  323. package/dist/commands/focus.d.ts +0 -14
  324. package/dist/commands/focus.js +0 -457
  325. package/dist/commands/nocturnal-review.d.ts +0 -24
  326. package/dist/commands/nocturnal-review.js +0 -265
  327. package/dist/commands/nocturnal-rollout.d.ts +0 -27
  328. package/dist/commands/nocturnal-rollout.js +0 -671
  329. package/dist/commands/nocturnal-train.d.ts +0 -25
  330. package/dist/commands/nocturnal-train.js +0 -919
  331. package/dist/commands/pain.d.ts +0 -5
  332. package/dist/commands/principle-rollback.d.ts +0 -4
  333. package/dist/commands/principle-rollback.js +0 -22
  334. package/dist/commands/rollback.d.ts +0 -19
  335. package/dist/commands/samples.d.ts +0 -2
  336. package/dist/commands/samples.js +0 -55
  337. package/dist/commands/strategy.d.ts +0 -3
  338. package/dist/commands/strategy.js +0 -29
  339. package/dist/commands/thinking-os.d.ts +0 -2
  340. package/dist/config/defaults/runtime.d.ts +0 -40
  341. package/dist/config/errors.d.ts +0 -84
  342. package/dist/config/errors.js +0 -94
  343. package/dist/config/index.js +0 -7
  344. package/dist/constants/diagnostician.d.ts +0 -12
  345. package/dist/constants/diagnostician.js +0 -56
  346. package/dist/constants/tools.d.ts +0 -17
  347. package/dist/constants/tools.js +0 -54
  348. package/dist/core/adaptive-thresholds.d.ts +0 -186
  349. package/dist/core/adaptive-thresholds.js +0 -300
  350. package/dist/core/config-service.d.ts +0 -15
  351. package/dist/core/config.d.ts +0 -129
  352. package/dist/core/control-ui-db.d.ts +0 -95
  353. package/dist/core/control-ui-db.js +0 -292
  354. package/dist/core/detection-funnel.d.ts +0 -33
  355. package/dist/core/detection-service.d.ts +0 -15
  356. package/dist/core/dictionary-service.d.ts +0 -15
  357. package/dist/core/dictionary.d.ts +0 -38
  358. package/dist/core/event-log.d.ts +0 -82
  359. package/dist/core/event-log.js +0 -463
  360. package/dist/core/evolution-engine.d.ts +0 -118
  361. package/dist/core/evolution-engine.js +0 -464
  362. package/dist/core/evolution-logger.d.ts +0 -137
  363. package/dist/core/evolution-logger.js +0 -256
  364. package/dist/core/evolution-migration.d.ts +0 -5
  365. package/dist/core/evolution-migration.js +0 -65
  366. package/dist/core/evolution-reducer.d.ts +0 -98
  367. package/dist/core/evolution-reducer.js +0 -465
  368. package/dist/core/evolution-types.d.ts +0 -287
  369. package/dist/core/evolution-types.js +0 -78
  370. package/dist/core/external-training-contract.d.ts +0 -276
  371. package/dist/core/external-training-contract.js +0 -269
  372. package/dist/core/focus-history.d.ts +0 -210
  373. package/dist/core/focus-history.js +0 -1185
  374. package/dist/core/hygiene/tracker.d.ts +0 -22
  375. package/dist/core/hygiene/tracker.js +0 -106
  376. package/dist/core/init.d.ts +0 -12
  377. package/dist/core/local-worker-routing.d.ts +0 -175
  378. package/dist/core/local-worker-routing.js +0 -525
  379. package/dist/core/migration.d.ts +0 -6
  380. package/dist/core/model-deployment-registry.d.ts +0 -218
  381. package/dist/core/model-deployment-registry.js +0 -503
  382. package/dist/core/model-training-registry.d.ts +0 -295
  383. package/dist/core/model-training-registry.js +0 -475
  384. package/dist/core/nocturnal-arbiter.d.ts +0 -159
  385. package/dist/core/nocturnal-arbiter.js +0 -534
  386. package/dist/core/nocturnal-candidate-scoring.d.ts +0 -137
  387. package/dist/core/nocturnal-candidate-scoring.js +0 -266
  388. package/dist/core/nocturnal-compliance.d.ts +0 -175
  389. package/dist/core/nocturnal-compliance.js +0 -824
  390. package/dist/core/nocturnal-dataset.d.ts +0 -224
  391. package/dist/core/nocturnal-dataset.js +0 -443
  392. package/dist/core/nocturnal-executability.d.ts +0 -85
  393. package/dist/core/nocturnal-executability.js +0 -331
  394. package/dist/core/nocturnal-export.d.ts +0 -124
  395. package/dist/core/nocturnal-export.js +0 -275
  396. package/dist/core/nocturnal-paths.d.ts +0 -124
  397. package/dist/core/nocturnal-trajectory-extractor.d.ts +0 -242
  398. package/dist/core/nocturnal-trajectory-extractor.js +0 -307
  399. package/dist/core/nocturnal-trinity.d.ts +0 -311
  400. package/dist/core/nocturnal-trinity.js +0 -880
  401. package/dist/core/pain.d.ts +0 -4
  402. package/dist/core/pain.js +0 -70
  403. package/dist/core/path-resolver.d.ts +0 -46
  404. package/dist/core/paths.d.ts +0 -65
  405. package/dist/core/principle-training-state.d.ts +0 -121
  406. package/dist/core/principle-training-state.js +0 -321
  407. package/dist/core/profile.d.ts +0 -62
  408. package/dist/core/profile.js +0 -210
  409. package/dist/core/promotion-gate.d.ts +0 -238
  410. package/dist/core/promotion-gate.js +0 -529
  411. package/dist/core/risk-calculator.d.ts +0 -22
  412. package/dist/core/session-tracker.d.ts +0 -101
  413. package/dist/core/shadow-observation-registry.d.ts +0 -217
  414. package/dist/core/shadow-observation-registry.js +0 -308
  415. package/dist/core/system-logger.d.ts +0 -8
  416. package/dist/core/thinking-models.d.ts +0 -38
  417. package/dist/core/thinking-models.js +0 -170
  418. package/dist/core/training-program.d.ts +0 -233
  419. package/dist/core/training-program.js +0 -433
  420. package/dist/core/trajectory.d.ts +0 -411
  421. package/dist/core/trajectory.js +0 -1307
  422. package/dist/core/workspace-context.d.ts +0 -71
  423. package/dist/hooks/bash-risk.d.ts +0 -57
  424. package/dist/hooks/bash-risk.js +0 -137
  425. package/dist/hooks/edit-verification.d.ts +0 -62
  426. package/dist/hooks/edit-verification.js +0 -256
  427. package/dist/hooks/gate-block-helper.d.ts +0 -44
  428. package/dist/hooks/gate-block-helper.js +0 -119
  429. package/dist/hooks/gate.d.ts +0 -24
  430. package/dist/hooks/gate.js +0 -173
  431. package/dist/hooks/gfi-gate.d.ts +0 -40
  432. package/dist/hooks/gfi-gate.js +0 -113
  433. package/dist/hooks/lifecycle.d.ts +0 -5
  434. package/dist/hooks/lifecycle.js +0 -284
  435. package/dist/hooks/llm.d.ts +0 -13
  436. package/dist/hooks/message-sanitize.d.ts +0 -3
  437. package/dist/hooks/message-sanitize.js +0 -37
  438. package/dist/hooks/pain.d.ts +0 -5
  439. package/dist/hooks/pain.js +0 -301
  440. package/dist/hooks/progressive-trust-gate.d.ts +0 -52
  441. package/dist/hooks/progressive-trust-gate.js +0 -134
  442. package/dist/hooks/prompt.d.ts +0 -49
  443. package/dist/hooks/prompt.js +0 -905
  444. package/dist/hooks/subagent.d.ts +0 -10
  445. package/dist/hooks/subagent.js +0 -387
  446. package/dist/hooks/thinking-checkpoint.d.ts +0 -37
  447. package/dist/hooks/thinking-checkpoint.js +0 -51
  448. package/dist/hooks/trajectory-collector.d.ts +0 -32
  449. package/dist/hooks/trajectory-collector.js +0 -256
  450. package/dist/http/principles-console-route.d.ts +0 -9
  451. package/dist/http/principles-console-route.js +0 -681
  452. package/dist/i18n/commands.d.ts +0 -26
  453. package/dist/i18n/commands.js +0 -116
  454. package/dist/index.d.ts +0 -7
  455. package/dist/index.js +0 -581
  456. package/dist/service/central-database.d.ts +0 -104
  457. package/dist/service/central-database.js +0 -649
  458. package/dist/service/control-ui-query-service.d.ts +0 -221
  459. package/dist/service/control-ui-query-service.js +0 -543
  460. package/dist/service/empathy-observer-manager.d.ts +0 -88
  461. package/dist/service/empathy-observer-manager.js +0 -414
  462. package/dist/service/evolution-query-service.d.ts +0 -155
  463. package/dist/service/evolution-query-service.js +0 -258
  464. package/dist/service/evolution-worker.d.ts +0 -101
  465. package/dist/service/evolution-worker.js +0 -975
  466. package/dist/service/health-query-service.d.ts +0 -170
  467. package/dist/service/health-query-service.js +0 -662
  468. package/dist/service/nocturnal-runtime.d.ts +0 -183
  469. package/dist/service/nocturnal-service.d.ts +0 -163
  470. package/dist/service/nocturnal-service.js +0 -787
  471. package/dist/service/nocturnal-target-selector.d.ts +0 -145
  472. package/dist/service/nocturnal-target-selector.js +0 -315
  473. package/dist/service/phase3-input-filter.d.ts +0 -73
  474. package/dist/service/phase3-input-filter.js +0 -172
  475. package/dist/service/runtime-summary-service.d.ts +0 -122
  476. package/dist/service/runtime-summary-service.js +0 -485
  477. package/dist/service/subagent-workflow/empathy-observer-workflow-manager.d.ts +0 -48
  478. package/dist/service/subagent-workflow/index.d.ts +0 -4
  479. package/dist/service/subagent-workflow/index.js +0 -3
  480. package/dist/service/subagent-workflow/runtime-direct-driver.d.ts +0 -77
  481. package/dist/service/subagent-workflow/runtime-direct-driver.js +0 -75
  482. package/dist/service/subagent-workflow/types.js +0 -11
  483. package/dist/service/subagent-workflow/workflow-store.d.ts +0 -26
  484. package/dist/service/subagent-workflow/workflow-store.js +0 -165
  485. package/dist/service/trajectory-service.d.ts +0 -2
  486. package/dist/service/trajectory-service.js +0 -15
  487. package/dist/tools/critique-prompt.d.ts +0 -14
  488. package/dist/tools/deep-reflect.d.ts +0 -39
  489. package/dist/tools/deep-reflect.js +0 -350
  490. package/dist/tools/model-index.d.ts +0 -9
  491. package/dist/types/event-types.d.ts +0 -306
  492. package/dist/types/event-types.js +0 -106
  493. package/dist/types/hygiene-types.d.ts +0 -20
  494. package/dist/types/hygiene-types.js +0 -12
  495. package/dist/types/runtime-summary.d.ts +0 -47
  496. package/dist/types/runtime-summary.js +0 -1
  497. package/dist/types.d.ts +0 -50
  498. package/dist/types.js +0 -22
  499. package/dist/utils/file-lock.d.ts +0 -71
  500. package/dist/utils/file-lock.js +0 -309
  501. package/dist/utils/glob-match.d.ts +0 -28
  502. package/dist/utils/hashing.d.ts +0 -9
  503. package/dist/utils/io.d.ts +0 -6
  504. package/dist/utils/io.js +0 -106
  505. package/dist/utils/nlp.d.ts +0 -9
  506. package/dist/utils/plugin-logger.d.ts +0 -39
  507. package/dist/utils/subagent-probe.d.ts +0 -34
  508. package/dist/utils/subagent-probe.js +0 -81
@@ -1,350 +0,0 @@
1
- import { Type } from '@sinclair/typebox';
2
- import { randomUUID } from 'node:crypto';
3
- import * as fs from 'fs';
4
- import * as path from 'node:path';
5
- import { EventLogService } from '../core/event-log.js';
6
- import { buildCritiquePromptV2 } from './critique-prompt.js';
7
- import { resolvePdPath } from '../core/paths.js';
8
- import { reflectionLogRetentionDays } from '../types.js';
9
- /**
10
- * Write reflection result to reflection-log.md
11
- * Uses atomic write (temp file + rename) to prevent race conditions
12
- */
13
- function writeToReflectionLog(workspaceDir, context, insights, modelId, depth) {
14
- const reflectionLogPath = resolvePdPath(workspaceDir, 'REFLECTION_LOG');
15
- // Ensure memory directory exists (backward-compatible: create if missing)
16
- // Note: resolvePdPath returns the full path; ensure parent dir exists
17
- const memoryDir = path.dirname(reflectionLogPath);
18
- if (!fs.existsSync(memoryDir)) {
19
- fs.mkdirSync(memoryDir, { recursive: true });
20
- }
21
- const timestamp = new Date().toISOString();
22
- const entry = `
23
- ---
24
- ## Reflection at ${timestamp}
25
- **Model**: ${modelId || 'auto-select'}
26
- **Depth**: ${depth || 2}
27
-
28
- ### Context
29
- ${context.substring(0, 500)}${context.length > 500 ? '...' : ''}
30
-
31
- ### Insights
32
- ${insights}
33
-
34
- `;
35
- const header = `# Reflection Log\n\n> Auto-generated by Deep Reflection Tool\n> Retention: ${reflectionLogRetentionDays} days\n`;
36
- // Read existing content
37
- let existingContent = '';
38
- if (fs.existsSync(reflectionLogPath)) {
39
- existingContent = fs.readFileSync(reflectionLogPath, 'utf8');
40
- }
41
- const newContent = header + entry + existingContent.replace(header, '');
42
- // Atomic write: write to temp file first, then rename
43
- const tempPath = `${reflectionLogPath}.tmp`;
44
- fs.writeFileSync(tempPath, newContent, 'utf8');
45
- fs.renameSync(tempPath, reflectionLogPath);
46
- }
47
- /**
48
- * Clean up reflection log entries older than retention period
49
- */
50
- function cleanupReflectionLog(workspaceDir) {
51
- const reflectionLogPath = resolvePdPath(workspaceDir, 'REFLECTION_LOG');
52
- if (!fs.existsSync(reflectionLogPath))
53
- return;
54
- const content = fs.readFileSync(reflectionLogPath, 'utf8');
55
- const cutoffDate = new Date();
56
- cutoffDate.setDate(cutoffDate.getDate() - reflectionLogRetentionDays);
57
- // Use more precise regex to match ISO timestamp
58
- // Pattern: ---\n## Reflection at 2024-01-15T10:30:00
59
- const entryPattern = /---\n## Reflection at (\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})/g;
60
- const parts = content.split(entryPattern);
61
- // parts[0] = header, then alternates: timestamp, content, timestamp, content...
62
- const header = parts[0];
63
- const validEntries = [];
64
- for (let i = 1; i < parts.length; i += 2) {
65
- const timestamp = parts[i];
66
- const entryContent = parts[i + 1] || '';
67
- const entryDate = new Date(timestamp);
68
- if (entryDate >= cutoffDate) {
69
- validEntries.push(`---\n## Reflection at ${timestamp}${entryContent}`);
70
- }
71
- }
72
- if (validEntries.length < (parts.length - 1) / 2) {
73
- const newContent = header + validEntries.join('');
74
- // Atomic write
75
- const tempPath = `${reflectionLogPath}.tmp`;
76
- fs.writeFileSync(tempPath, newContent, 'utf8');
77
- fs.renameSync(tempPath, reflectionLogPath);
78
- }
79
- }
80
- const DEFAULT_CONFIG = {
81
- enabled: true,
82
- mode: 'auto',
83
- auto_trigger_conditions: {
84
- min_tool_calls: 5,
85
- error_rate_threshold: 0.3,
86
- high_gfi_threshold: 70
87
- },
88
- timeout_ms: 60000
89
- };
90
- function safeLog(api, level, message) {
91
- try {
92
- if (api?.logger && typeof api.logger[level] === 'function') {
93
- api.logger[level](message);
94
- }
95
- }
96
- catch (e) {
97
- console.error(`[PD:DeepReflect] Logging failed: ${String(e)}`);
98
- }
99
- }
100
- function loadConfig(workspaceDir, api) {
101
- if (!workspaceDir)
102
- return DEFAULT_CONFIG;
103
- const configPath = resolvePdPath(workspaceDir, 'PAIN_SETTINGS');
104
- try {
105
- if (fs.existsSync(configPath)) {
106
- const raw = fs.readFileSync(configPath, 'utf-8');
107
- const settings = JSON.parse(raw);
108
- return { ...DEFAULT_CONFIG, ...settings.deep_reflection };
109
- }
110
- }
111
- catch (err) {
112
- safeLog(api, 'warn', `[DeepReflect] Failed to load config: ${String(err)}`);
113
- }
114
- return DEFAULT_CONFIG;
115
- }
116
- /**
117
- * Helper to read string parameter from rawParams
118
- * Supports both camelCase and snake_case parameter names
119
- */
120
- function readStringParam(rawParams, key) {
121
- const value = rawParams[key];
122
- if (typeof value === 'string')
123
- return value.trim() || undefined;
124
- // Try snake_case alias
125
- const snakeKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
126
- const snakeValue = rawParams[snakeKey];
127
- if (typeof snakeValue === 'string')
128
- return snakeValue.trim() || undefined;
129
- return undefined;
130
- }
131
- /**
132
- * Helper to read number parameter from rawParams
133
- * Supports both camelCase and snake_case parameter names
134
- */
135
- function readNumberParam(rawParams, key) {
136
- const value = rawParams[key];
137
- if (typeof value === 'number')
138
- return value;
139
- // Try snake_case alias
140
- const snakeKey = key.replace(/([A-Z])/g, '_$1').toLowerCase();
141
- const snakeValue = rawParams[snakeKey];
142
- if (typeof snakeValue === 'number')
143
- return snakeValue;
144
- return undefined;
145
- }
146
- /**
147
- * Create Deep Reflect Tool
148
- *
149
- * Uses factory pattern to capture `api` in closure, following OpenClaw plugin SDK conventions.
150
- * The execute signature must be: async (_toolCallId: string, rawParams: Record<string, unknown>)
151
- */
152
- export function createDeepReflectTool(api) {
153
- return {
154
- name: 'deep_reflect',
155
- description: '执行深层次的元认知反思,分析当前任务的潜在风险、逻辑漏洞或架构改进点。',
156
- parameters: Type.Object({
157
- context: Type.String({ description: '需要反思的任务上下文、代码片段或当前遇到的困难。' }),
158
- depth: Type.Optional(Type.Number({ description: '反思深度 (1-3)。1: 快速扫描, 2: 均衡分析, 3: 彻底解构。默认为 2。', minimum: 1, maximum: 3 })),
159
- model_id: Type.Optional(Type.String({ description: '可选:强制指定使用的思维模型 ID。' }))
160
- }),
161
- /**
162
- * Tool execution logic
163
- *
164
- * OpenClaw tool execute signature:
165
- * - First parameter: _toolCallId (string) - the tool call ID
166
- * - Second parameter: rawParams (Record<string, unknown>) - the actual parameters
167
- * - Third parameter (optional): signal (AbortSignal) - for cancellation
168
- */
169
- async execute(_toolCallId, rawParams) {
170
- const context = readStringParam(rawParams, 'context') || '';
171
- const depth = readNumberParam(rawParams, 'depth') ?? 2;
172
- const model_id = readStringParam(rawParams, 'model_id');
173
- if (!context) {
174
- return {
175
- content: [{
176
- type: 'text',
177
- text: '❌ 错误: 必须提供反思上下文 (context)。'
178
- }]
179
- };
180
- }
181
- // 路径解析优先级:api.config > api.workspaceDir > api.resolvePath
182
- const effectiveWorkspaceDir = api.config?.workspaceDir
183
- || api.workspaceDir
184
- || api.resolvePath?.('.');
185
- if (!effectiveWorkspaceDir) {
186
- return {
187
- content: [{
188
- type: 'text',
189
- text: '❌ 反思执行失败: Workspace directory is required for deep reflection.。请检查 API 配置或网络连接。'
190
- }]
191
- };
192
- }
193
- const config = loadConfig(effectiveWorkspaceDir, api);
194
- if (config.mode === 'disabled' || !config.enabled) {
195
- return {
196
- content: [{
197
- type: 'text',
198
- text: '⏭️ Deep Reflection 已禁用。'
199
- }]
200
- };
201
- }
202
- if (model_id) {
203
- safeLog(api, 'warn', `[DeepReflect] The 'model_id' parameter is deprecated. The agent will now auto-select models based on the context index.`);
204
- }
205
- const agentId = 'main';
206
- const sessionKey = `agent:${agentId}:reflection:${randomUUID()}`;
207
- const sessionId = sessionKey.split(':').pop();
208
- const stateDir = resolvePdPath(effectiveWorkspaceDir, 'STATE_DIR');
209
- const eventLog = EventLogService.get(stateDir, api.logger);
210
- try {
211
- const extraSystemPrompt = buildCritiquePromptV2({
212
- context,
213
- depth,
214
- model_id,
215
- api,
216
- workspaceDir: effectiveWorkspaceDir
217
- });
218
- const startTime = Date.now();
219
- const subagentRuntime = api.runtime.subagent;
220
- if (!subagentRuntime) {
221
- return {
222
- content: [{
223
- type: 'text',
224
- text: `❌ Subagent runtime 不可用。\n\n当前运行在 embedded 模式(openclaw agent CLI),该模式不支持深反思功能。\n\n请通过 Gateway 模式运行(openclaw gateway)。`
225
- }]
226
- };
227
- }
228
- const runResult = await subagentRuntime.run({
229
- sessionKey,
230
- message: `请对我当前的任务进行深层次反思。\n\n上下文:${context}`,
231
- extraSystemPrompt,
232
- deliver: false
233
- });
234
- const finalStatus = await subagentRuntime.waitForRun({ runId: runResult.runId });
235
- const duration = Date.now() - startTime;
236
- if (finalStatus.status === 'timeout') {
237
- return {
238
- content: [{
239
- type: 'text',
240
- text: '⚠️ 反思任务执行超时。你可以尝试减少上下文长度或增加深度。'
241
- }]
242
- };
243
- }
244
- if (finalStatus.status === 'ok') {
245
- const rawMessages = await subagentRuntime.getSessionMessages({ sessionKey });
246
- let insights = '';
247
- if (rawMessages.assistantTexts && Array.isArray(rawMessages.assistantTexts)) {
248
- insights = rawMessages.assistantTexts.join('\n');
249
- }
250
- else {
251
- const messages = rawMessages.messages || [];
252
- const lastMessage = messages[messages.length - 1];
253
- if (typeof lastMessage?.content === 'string') {
254
- insights = lastMessage.content;
255
- }
256
- else if (Array.isArray(lastMessage?.content)) {
257
- insights = lastMessage.content.filter((c) => c.type === 'text').map((c) => c.text).join('\n');
258
- }
259
- }
260
- if (insights.includes('REFLECTION_OK')) {
261
- return {
262
- content: [{
263
- type: 'text',
264
- text: '✅ 反思完成:当前任务逻辑严密,未发现显著问题。'
265
- }]
266
- };
267
- }
268
- if (eventLog && sessionId) {
269
- eventLog.recordDeepReflection(sessionId, {
270
- modelId: model_id || 'auto-select',
271
- modelSelectionMode: model_id ? 'manual' : 'auto',
272
- depth,
273
- contextPreview: context.substring(0, 200),
274
- resultPreview: insights.substring(0, 300),
275
- durationMs: duration,
276
- passed: true,
277
- timeout: false
278
- });
279
- }
280
- // Write to reflection log and cleanup old entries
281
- try {
282
- writeToReflectionLog(effectiveWorkspaceDir, context, insights, model_id, depth);
283
- cleanupReflectionLog(effectiveWorkspaceDir);
284
- }
285
- catch (logErr) {
286
- safeLog(api, 'warn', `[DeepReflect] Failed to write reflection log: ${String(logErr)}`);
287
- }
288
- return {
289
- content: [{
290
- type: 'text',
291
- text: `
292
- # 💎 Deep Reflection Insights
293
- ---
294
- **Selected Model(s)**: ${model_id || 'auto-select'}
295
- **Reflection Depth**: ${depth}
296
- **Analysis Duration**: ${(duration / 1000).toFixed(1)}s
297
-
298
- ${insights}
299
-
300
- ---
301
- *Generated by Principles Disciple Meta-Cognitive Engine*
302
- `.trim()
303
- }]
304
- };
305
- }
306
- else {
307
- throw new Error(`Subagent status: ${finalStatus.status}`);
308
- }
309
- }
310
- catch (err) {
311
- const errorMsg = err instanceof Error ? err.message : String(err);
312
- safeLog(api, 'error', `[DeepReflect] Reflection failed: ${errorMsg}`);
313
- if (eventLog && sessionId) {
314
- eventLog.recordDeepReflection(sessionId, {
315
- modelId: model_id || 'auto-select',
316
- modelSelectionMode: model_id ? 'manual' : 'auto',
317
- depth,
318
- contextPreview: context.substring(0, 200),
319
- durationMs: 0,
320
- passed: false,
321
- timeout: errorMsg.toLowerCase().includes('timeout'),
322
- error: errorMsg
323
- });
324
- }
325
- if (errorMsg === 'API throw')
326
- throw err;
327
- return {
328
- content: [{
329
- type: 'text',
330
- text: `❌ 反思执行失败: ${errorMsg}。请检查 API 配置或网络连接。`
331
- }]
332
- };
333
- }
334
- finally {
335
- if (api.runtime.subagent)
336
- await api.runtime.subagent.deleteSession({ sessionKey }).catch(() => { });
337
- }
338
- }
339
- };
340
- }
341
- // Legacy export for backward compatibility with tests that call execute directly
342
- export const deepReflectTool = {
343
- name: 'deep_reflect',
344
- description: '执行深层次的元认知反思,分析当前任务的潜在风险、逻辑漏洞或架构改进点。',
345
- parameters: Type.Object({
346
- context: Type.String({ description: '需要反思的任务上下文、代码片段或当前遇到的困难。' }),
347
- depth: Type.Optional(Type.Number({ description: '反思深度 (1-3)。1: 快速扫描, 2: 均衡分析, 3: 彻底解构。默认为 2。', minimum: 1, maximum: 3 })),
348
- model_id: Type.Optional(Type.String({ description: '可选:强制指定使用的思维模型 ID。' }))
349
- }),
350
- };
@@ -1,9 +0,0 @@
1
- import type { OpenClawPluginApi } from '../openclaw-sdk.js';
2
- /**
3
- * 加载模型索引并返回格式化后的字符串
4
- *
5
- * @param workspaceDir 工作区目录
6
- * @param api OpenClaw 插件 API
7
- * @returns 格式化后的模型索引内容或默认消息
8
- */
9
- export declare function loadModelIndex(workspaceDir: string, api?: OpenClawPluginApi): string;
@@ -1,306 +0,0 @@
1
- /**
2
- * Event types for structured logging and daily statistics.
3
- */
4
- export type EventType = 'tool_call' | 'pain_signal' | 'rule_match' | 'rule_promotion' | 'hook_execution' | 'gate_block' | 'gate_bypass' | 'plan_approval' | 'evolution_task' | 'deep_reflection' | 'empathy_rollback' | 'error' | 'warn';
5
- export type EventCategory = 'success' | 'failure' | 'detected' | 'blocked' | 'bypassed' | 'approved' | 'enqueued' | 'completed' | 'promoted' | 'passed' | 'changed' | 'rolled_back';
6
- /**
7
- * Base event structure for JSONL logging.
8
- */
9
- export interface EventLogEntry {
10
- /** ISO timestamp */
11
- ts: string;
12
- /** Date for partitioning (YYYY-MM-DD) */
13
- date: string;
14
- /** Event type */
15
- type: EventType;
16
- /** Event category */
17
- category: EventCategory;
18
- /** Session identifier */
19
- sessionId?: string;
20
- /** Workspace directory */
21
- workspaceDir?: string;
22
- /** Event-specific data */
23
- data: Record<string, unknown>;
24
- }
25
- export interface ToolCallEventData {
26
- toolName: string;
27
- filePath?: string;
28
- error?: string;
29
- errorType?: string;
30
- gfi?: number;
31
- consecutiveErrors?: number;
32
- exitCode?: number;
33
- }
34
- export interface PainSignalEventData {
35
- score: number;
36
- source: string;
37
- eventId?: string;
38
- reason?: string;
39
- isRisky?: boolean;
40
- origin?: 'assistant_self_report' | 'user_manual' | 'system_infer';
41
- severity?: 'mild' | 'moderate' | 'severe';
42
- confidence?: number;
43
- detection_mode?: 'structured' | 'legacy_tag';
44
- deduped?: boolean;
45
- trigger_text_excerpt?: string;
46
- raw_score?: number;
47
- calibrated_score?: number;
48
- }
49
- export interface RuleMatchEventData {
50
- ruleId: string;
51
- layer: 'L1' | 'L2' | 'L3';
52
- severity: number;
53
- textPreview: string;
54
- }
55
- export interface RulePromotionEventData {
56
- fingerprint: string;
57
- ruleId: string;
58
- phrase: string;
59
- sampleCount: number;
60
- avgSimilarity: number;
61
- }
62
- export interface HookExecutionEventData {
63
- hookName: string;
64
- durationMs?: number;
65
- error?: string;
66
- }
67
- export interface GateBlockEventData {
68
- toolName: string;
69
- filePath: string;
70
- reason: string;
71
- planStatus?: string;
72
- /** Source module that triggered the block (for audit trail) */
73
- blockSource?: string;
74
- }
75
- export interface GateBypassEventData {
76
- toolName: string;
77
- filePath: string;
78
- bypassType: 'stage4_architect' | 'whitelisted';
79
- }
80
- export interface PlanApprovalEventData {
81
- toolName: string;
82
- filePath: string;
83
- pattern: string;
84
- planStatus: string;
85
- }
86
- export interface EvolutionTaskEventData {
87
- taskId: string;
88
- taskType: string;
89
- reason: string;
90
- }
91
- export interface DeepReflectionEventData {
92
- /** 思维模型 ID (T-01 到 T-09),向后兼容 */
93
- modelId: string;
94
- /** 模型选择模式:'manual' = 用户指定 model_id,'auto' = 子智能体自动选择 */
95
- modelSelectionMode: 'manual' | 'auto';
96
- /** 反思深度 (1-3) */
97
- depth: number;
98
- /** 上下文摘要(前 200 字符) */
99
- contextPreview: string;
100
- /** 反思结果摘要 */
101
- resultPreview?: string;
102
- /** 执行耗时 (ms) */
103
- durationMs: number;
104
- /** 是否通过(未发现显著问题) */
105
- passed: boolean;
106
- /** 是否超时 */
107
- timeout: boolean;
108
- /** 错误信息 */
109
- error?: string;
110
- /** 输出长度 */
111
- outputLength?: number;
112
- /** 置信度(从输出中提取) */
113
- confidence?: 'LOW' | 'MEDIUM' | 'HIGH';
114
- /** 发现的盲点数量 */
115
- blindSpotsCount?: number;
116
- /** 发现的风险数量 */
117
- risksCount?: number;
118
- }
119
- export interface EmpathyRollbackEventData {
120
- /** Event ID being rolled back */
121
- eventId: string;
122
- /** Original penalty score that was applied */
123
- originalScore: number;
124
- /** Session ID where the original event occurred */
125
- originalSessionId?: string;
126
- /** Reason for rollback (manual, false_positive, etc.) */
127
- reason: string;
128
- /** Who initiated the rollback */
129
- triggeredBy: 'user_command' | 'natural_language' | 'system';
130
- }
131
- export interface ToolCallStats {
132
- total: number;
133
- success: number;
134
- failure: number;
135
- byTool: Record<string, {
136
- success: number;
137
- failure: number;
138
- }>;
139
- }
140
- export interface ErrorStats {
141
- total: number;
142
- byType: Record<string, number>;
143
- byTool: Record<string, number>;
144
- }
145
- export interface PainStats {
146
- signalsDetected: number;
147
- signalsBySource: Record<string, number>;
148
- rulesMatched: Record<string, number>;
149
- candidatesPromoted: number;
150
- avgScore: number;
151
- maxScore: number;
152
- }
153
- /**
154
- * Empathy Engine event statistics for tracking emotional signals.
155
- * Used for /pd-status empathy card and effectiveness metrics.
156
- */
157
- export interface EmpathyEventStats {
158
- /** Total empathy events detected (excluding deduped) */
159
- totalEvents: number;
160
- /** Events that were deduped (not counted in totalEvents) */
161
- dedupedCount: number;
162
- /** Dedupe hit rate (dedupedCount / (totalEvents + dedupedCount)) */
163
- dedupeHitRate: number;
164
- /** Total penalty score applied */
165
- totalPenaltyScore: number;
166
- /** Score rolled back via manual rollback */
167
- rolledBackScore: number;
168
- /** Number of rollback operations */
169
- rollbackCount: number;
170
- /** Events by severity level */
171
- bySeverity: {
172
- mild: number;
173
- moderate: number;
174
- severe: number;
175
- };
176
- /** Score by severity level */
177
- scoreBySeverity: {
178
- mild: number;
179
- moderate: number;
180
- severe: number;
181
- };
182
- /** Events by detection mode */
183
- byDetectionMode: {
184
- structured: number;
185
- legacy_tag: number;
186
- };
187
- /** Events by origin */
188
- byOrigin: {
189
- assistant_self_report: number;
190
- user_manual: number;
191
- system_infer: number;
192
- };
193
- /** Confidence distribution */
194
- confidenceDistribution: {
195
- high: number;
196
- medium: number;
197
- low: number;
198
- };
199
- /** Daily trend (last 7 days) */
200
- dailyTrend: Array<{
201
- date: string;
202
- count: number;
203
- score: number;
204
- }>;
205
- }
206
- export interface GfiStats {
207
- peak: number;
208
- samples: number;
209
- total: number;
210
- resetCount: number;
211
- hourlyDistribution: number[];
212
- }
213
- export interface EvolutionStats {
214
- tasksEnqueued: number;
215
- tasksCompleted: number;
216
- rulesPromoted: number;
217
- }
218
- export interface HookStats {
219
- byType: Record<string, number>;
220
- errors: number;
221
- totalDurationMs: number;
222
- }
223
- export interface DeepReflectionStats {
224
- /** 总调用次数 */
225
- totalCalls: number;
226
- /** 通过次数(未发现问题) */
227
- passedCount: number;
228
- /** 发现问题的次数 */
229
- issuesFoundCount: number;
230
- /** 超时次数 */
231
- timeoutCount: number;
232
- /** 错误次数 */
233
- errorCount: number;
234
- /** 按模型选择模式统计 */
235
- bySelectionMode: {
236
- manual: {
237
- count: number;
238
- avgDurationMs: number;
239
- passedCount: number;
240
- };
241
- auto: {
242
- count: number;
243
- avgDurationMs: number;
244
- passedCount: number;
245
- };
246
- };
247
- /** 按模型统计(向后兼容,仅记录手动指定的 model_id) */
248
- byModel: Record<string, {
249
- count: number;
250
- avgDurationMs: number;
251
- passedCount: number;
252
- }>;
253
- /** 按深度统计 */
254
- byDepth: Record<number, number>;
255
- /** 总耗时 */
256
- totalDurationMs: number;
257
- /** 平均耗时 */
258
- avgDurationMs: number;
259
- /** 发现的总盲点数 */
260
- totalBlindSpots: number;
261
- /** 发现的总风险数 */
262
- totalRisks: number;
263
- /** 置信度分布 */
264
- confidenceDistribution: {
265
- LOW: number;
266
- MEDIUM: number;
267
- HIGH: number;
268
- };
269
- }
270
- /**
271
- * Daily aggregated statistics.
272
- */
273
- export interface DailyStats {
274
- /** Date (YYYY-MM-DD) */
275
- date: string;
276
- /** Timestamp when stats were created */
277
- createdAt: string;
278
- /** Timestamp when stats were last updated */
279
- updatedAt: string;
280
- /** Tool call statistics */
281
- tools: {
282
- total: number;
283
- success: number;
284
- failure: number;
285
- };
286
- /** Tool call statistics */
287
- toolCalls: ToolCallStats;
288
- /** Error statistics */
289
- errors: ErrorStats;
290
- /** Pain signal statistics */
291
- pain: PainStats;
292
- /** Empathy Engine event statistics */
293
- empathy: EmpathyEventStats;
294
- /** GFI statistics */
295
- gfi: GfiStats;
296
- /** Evolution statistics */
297
- evolution: EvolutionStats;
298
- /** Hook execution statistics */
299
- hooks: HookStats;
300
- /** Deep Reflection statistics */
301
- deepReflection: DeepReflectionStats;
302
- }
303
- /**
304
- * Creates an empty daily stats object.
305
- */
306
- export declare function createEmptyDailyStats(date: string): DailyStats;