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.
- package/ADVANCED_CONFIG_ZH.md +97 -0
- package/AGENT_INSTALL.md +173 -0
- package/AGENT_INSTALL_EN.md +173 -0
- package/INSTALL.md +256 -0
- package/SKILL.md +63 -0
- package/docs/COMMAND_REFERENCE.md +76 -0
- package/docs/COMMAND_REFERENCE_EN.md +79 -0
- package/esbuild.config.js +75 -0
- package/openclaw.plugin.json +4 -4
- package/package.json +11 -13
- package/scripts/build-web.mjs +46 -0
- package/scripts/install-dependencies.cjs +47 -0
- package/scripts/sync-plugin.mjs +802 -0
- package/scripts/verify-build.mjs +109 -0
- package/src/agents/nocturnal-dreamer.md +152 -0
- package/src/agents/nocturnal-philosopher.md +138 -0
- package/src/agents/nocturnal-reflector.md +126 -0
- package/src/agents/nocturnal-scribe.md +164 -0
- package/src/commands/capabilities.ts +85 -0
- package/{dist/commands/context.js → src/commands/context.ts} +78 -38
- package/src/commands/evolution-status.ts +146 -0
- package/src/commands/export.ts +111 -0
- package/src/commands/focus.ts +533 -0
- package/src/commands/nocturnal-review.ts +311 -0
- package/src/commands/nocturnal-rollout.ts +763 -0
- package/src/commands/nocturnal-train.ts +1002 -0
- package/{dist/commands/pain.js → src/commands/pain.ts} +68 -49
- package/src/commands/principle-rollback.ts +27 -0
- package/{dist/commands/rollback.js → src/commands/rollback.ts} +44 -12
- package/src/commands/samples.ts +60 -0
- package/src/commands/strategy.ts +38 -0
- package/{dist/commands/thinking-os.js → src/commands/thinking-os.ts} +59 -36
- package/src/commands/workflow-debug.ts +128 -0
- package/{dist/config/defaults/runtime.js → src/config/defaults/runtime.ts} +12 -5
- package/src/config/errors.ts +163 -0
- package/{dist/config/index.d.ts → src/config/index.ts} +2 -1
- package/src/constants/diagnostician.ts +66 -0
- package/src/constants/tools.ts +62 -0
- package/src/core/adaptive-thresholds.ts +476 -0
- package/{dist/core/config-service.js → src/core/config-service.ts} +7 -4
- package/{dist/core/config.js → src/core/config.ts} +158 -46
- package/src/core/control-ui-db.ts +435 -0
- package/{dist/core/detection-funnel.js → src/core/detection-funnel.ts} +36 -21
- package/{dist/core/detection-service.js → src/core/detection-service.ts} +7 -4
- package/{dist/core/dictionary-service.js → src/core/dictionary-service.ts} +7 -4
- package/{dist/core/dictionary.js → src/core/dictionary.ts} +57 -34
- package/src/core/empathy-keyword-matcher.ts +327 -0
- package/src/core/empathy-types.ts +218 -0
- package/src/core/event-log.ts +544 -0
- package/src/core/evolution-engine.ts +612 -0
- package/src/core/evolution-logger.ts +353 -0
- package/src/core/evolution-migration.ts +77 -0
- package/src/core/evolution-reducer.ts +731 -0
- package/src/core/evolution-types.ts +456 -0
- package/src/core/external-training-contract.ts +527 -0
- package/src/core/focus-history.ts +1458 -0
- package/src/core/hygiene/tracker.ts +117 -0
- package/{dist/core/init.js → src/core/init.ts} +39 -26
- package/src/core/local-worker-routing.ts +617 -0
- package/{dist/core/migration.js → src/core/migration.ts} +18 -11
- package/src/core/model-deployment-registry.ts +722 -0
- package/src/core/model-training-registry.ts +813 -0
- package/src/core/nocturnal-arbiter.ts +706 -0
- package/src/core/nocturnal-candidate-scoring.ts +392 -0
- package/src/core/nocturnal-compliance.ts +1075 -0
- package/src/core/nocturnal-dataset.ts +668 -0
- package/src/core/nocturnal-executability.ts +428 -0
- package/src/core/nocturnal-export.ts +390 -0
- package/{dist/core/nocturnal-paths.js → src/core/nocturnal-paths.ts} +49 -23
- package/src/core/nocturnal-trajectory-extractor.ts +484 -0
- package/src/core/nocturnal-trinity.ts +1384 -0
- package/src/core/pain.ts +122 -0
- package/{dist/core/path-resolver.js → src/core/path-resolver.ts} +157 -36
- package/{dist/core/paths.js → src/core/paths.ts} +13 -4
- package/src/core/principle-training-state.ts +450 -0
- package/src/core/profile.ts +226 -0
- package/src/core/promotion-gate.ts +822 -0
- package/{dist/core/risk-calculator.js → src/core/risk-calculator.ts} +42 -16
- package/{dist/core/session-tracker.js → src/core/session-tracker.ts} +175 -62
- package/src/core/shadow-observation-registry.ts +534 -0
- package/{dist/core/system-logger.js → src/core/system-logger.ts} +9 -5
- package/src/core/thinking-models.ts +217 -0
- package/src/core/training-program.ts +630 -0
- package/src/core/trajectory-types.ts +243 -0
- package/src/core/trajectory.ts +1673 -0
- package/{dist/core/workspace-context.js → src/core/workspace-context.ts} +57 -32
- package/src/hooks/bash-risk.ts +171 -0
- package/src/hooks/edit-verification.ts +295 -0
- package/src/hooks/gate-block-helper.ts +160 -0
- package/src/hooks/gate.ts +210 -0
- package/src/hooks/gfi-gate.ts +177 -0
- package/src/hooks/lifecycle.ts +326 -0
- package/{dist/hooks/llm.js → src/hooks/llm.ts} +160 -80
- package/src/hooks/message-sanitize.ts +45 -0
- package/src/hooks/pain.ts +384 -0
- package/src/hooks/progressive-trust-gate.ts +174 -0
- package/src/hooks/prompt.ts +920 -0
- package/src/hooks/subagent.ts +207 -0
- package/src/hooks/thinking-checkpoint.ts +73 -0
- package/src/hooks/trajectory-collector.ts +290 -0
- package/src/http/principles-console-route.ts +716 -0
- package/src/i18n/commands.ts +117 -0
- package/src/index.ts +694 -0
- package/src/service/central-database.ts +831 -0
- package/src/service/control-ui-query-service.ts +888 -0
- package/src/service/evolution-query-service.ts +405 -0
- package/src/service/evolution-worker.ts +1646 -0
- package/src/service/health-query-service.ts +836 -0
- package/{dist/service/nocturnal-runtime.js → src/service/nocturnal-runtime.ts} +235 -79
- package/src/service/nocturnal-service.ts +1015 -0
- package/src/service/nocturnal-target-selector.ts +532 -0
- package/src/service/phase3-input-filter.ts +237 -0
- package/src/service/runtime-summary-service.ts +757 -0
- package/src/service/subagent-workflow/deep-reflect-workflow-manager.ts +513 -0
- package/{dist/service/subagent-workflow/empathy-observer-workflow-manager.js → src/service/subagent-workflow/empathy-observer-workflow-manager.ts} +240 -117
- package/src/service/subagent-workflow/index.ts +51 -0
- package/src/service/subagent-workflow/nocturnal-workflow-manager.ts +856 -0
- package/src/service/subagent-workflow/runtime-direct-driver.ts +166 -0
- package/{dist/service/subagent-workflow/types.d.ts → src/service/subagent-workflow/types.ts} +137 -18
- package/src/service/subagent-workflow/workflow-store.ts +328 -0
- package/src/service/trajectory-service.ts +15 -0
- package/{dist/tools/critique-prompt.js → src/tools/critique-prompt.ts} +25 -8
- package/src/tools/deep-reflect.ts +349 -0
- package/{dist/tools/model-index.js → src/tools/model-index.ts} +33 -17
- package/src/types/event-types.ts +453 -0
- package/src/types/hygiene-types.ts +31 -0
- package/src/types/principle-tree-schema.ts +244 -0
- package/src/types/runtime-summary.ts +49 -0
- package/src/types.ts +74 -0
- package/src/utils/file-lock.ts +391 -0
- package/{dist/utils/glob-match.js → src/utils/glob-match.ts} +21 -20
- package/{dist/utils/hashing.js → src/utils/hashing.ts} +6 -4
- package/src/utils/io.ts +110 -0
- package/{dist/utils/nlp.js → src/utils/nlp.ts} +19 -12
- package/{dist/utils/plugin-logger.js → src/utils/plugin-logger.ts} +33 -8
- package/src/utils/subagent-probe.ts +94 -0
- package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +70 -1
- package/templates/pain_settings.json +2 -1
- package/tests/README.md +120 -0
- package/tests/build-artifacts.test.ts +111 -0
- package/tests/commands/evolution-status.test.ts +222 -0
- package/tests/commands/evolver.test.ts +22 -0
- package/tests/commands/export.test.ts +78 -0
- package/tests/commands/nocturnal-review.test.ts +448 -0
- package/tests/commands/nocturnal-train.test.ts +97 -0
- package/tests/commands/pain.test.ts +108 -0
- package/tests/commands/samples.test.ts +65 -0
- package/tests/commands/strategy.test.ts +34 -0
- package/tests/commands/thinking-os.test.ts +88 -0
- package/tests/core/adaptive-thresholds.test.ts +261 -0
- package/tests/core/config-service.test.ts +89 -0
- package/tests/core/config.test.ts +90 -0
- package/tests/core/control-ui-db.test.ts +75 -0
- package/tests/core/core-template-guidance.test.ts +21 -0
- package/tests/core/detection-funnel.test.ts +63 -0
- package/tests/core/detection-service.test.ts +50 -0
- package/tests/core/dictionary-service.test.ts +116 -0
- package/tests/core/dictionary.test.ts +168 -0
- package/tests/core/empathy-keyword-matcher.test.ts +209 -0
- package/tests/core/event-log.test.ts +181 -0
- package/tests/core/evolution-e2e.test.ts +58 -0
- package/tests/core/evolution-engine-gate-integration.test.ts +543 -0
- package/tests/core/evolution-engine.test.ts +562 -0
- package/tests/core/evolution-logger.test.ts +148 -0
- package/tests/core/evolution-migration.test.ts +50 -0
- package/tests/core/evolution-paths.test.ts +21 -0
- package/tests/core/evolution-reducer.detector-metadata.test.ts +602 -0
- package/tests/core/evolution-reducer.test.ts +180 -0
- package/tests/core/evolution-types-loop.test.ts +48 -0
- package/tests/core/evolution-user-stories.e2e.test.ts +249 -0
- package/tests/core/external-training-contract.test.ts +463 -0
- package/tests/core/focus-history.test.ts +682 -0
- package/tests/core/init-flatten.test.ts +69 -0
- package/tests/core/init-refactor.test.ts +87 -0
- package/tests/core/init-v1.3.test.ts +46 -0
- package/tests/core/init.test.ts +190 -0
- package/tests/core/local-worker-routing.test.ts +757 -0
- package/tests/core/migration.test.ts +84 -0
- package/tests/core/model-deployment-registry.test.ts +845 -0
- package/tests/core/model-training-registry.test.ts +889 -0
- package/tests/core/nocturnal-arbiter.test.ts +494 -0
- package/tests/core/nocturnal-candidate-scoring.test.ts +400 -0
- package/tests/core/nocturnal-compliance.test.ts +646 -0
- package/tests/core/nocturnal-dataset.test.ts +892 -0
- package/tests/core/nocturnal-executability.test.ts +357 -0
- package/tests/core/nocturnal-export.test.ts +462 -0
- package/tests/core/nocturnal-reviewed-subset-comparison.test.ts +428 -0
- package/tests/core/nocturnal-trajectory-extractor.test.ts +634 -0
- package/tests/core/nocturnal-trinity.test.ts +953 -0
- package/tests/core/pain.test.ts +33 -0
- package/tests/core/path-resolver.test.ts +57 -0
- package/tests/core/paths-refactor.test.ts +42 -0
- package/tests/core/phase7-rollout-integration.test.ts +477 -0
- package/tests/core/principle-training-state.test.ts +712 -0
- package/tests/core/profile.test.ts +56 -0
- package/tests/core/promotion-gate.test.ts +556 -0
- package/tests/core/risk-calculator.test.ts +168 -0
- package/tests/core/session-tracker.test.ts +191 -0
- package/tests/core/training-program.test.ts +472 -0
- package/tests/core/trajectory.test.ts +265 -0
- package/tests/core/workspace-context-factory.test.ts +18 -0
- package/tests/core/workspace-context.test.ts +134 -0
- package/tests/fixtures/nocturnal-reviewed-subset.json +183 -0
- package/tests/fixtures/production-compatibility.test.ts +147 -0
- package/tests/fixtures/production-mock-generator.ts +282 -0
- package/tests/hooks/bash-risk-integration.test.ts +137 -0
- package/tests/hooks/bash-risk.test.ts +81 -0
- package/tests/hooks/edit-verification.test.ts +678 -0
- package/tests/hooks/gate-edit-verification-p1.test.ts +632 -0
- package/tests/hooks/gate-edit-verification.test.ts +435 -0
- package/tests/hooks/gate-pipeline-integration.test.ts +404 -0
- package/tests/hooks/gate.test.ts +271 -0
- package/tests/hooks/gfi-gate-unit.test.ts +422 -0
- package/tests/hooks/gfi-gate.test.ts +669 -0
- package/tests/hooks/lifecycle.test.ts +248 -0
- package/tests/hooks/llm.test.ts +308 -0
- package/tests/hooks/message-sanitize.test.ts +36 -0
- package/tests/hooks/pain.test.ts +141 -0
- package/tests/hooks/progressive-trust-gate.test.ts +277 -0
- package/tests/hooks/prompt.test.ts +1411 -0
- package/tests/hooks/subagent.test.ts +467 -0
- package/tests/hooks/thinking-gate.test.ts +313 -0
- package/tests/http/principles-console-route.test.ts +140 -0
- package/tests/hygiene-tracker.test.ts +77 -0
- package/tests/index.integration.test.ts +179 -0
- package/tests/index.shadow-routing.integration.test.ts +140 -0
- package/tests/index.test.ts +9 -0
- package/tests/integration/empathy-workflow-integration.test.ts +627 -0
- package/tests/service/control-ui-query-service.test.ts +121 -0
- package/tests/service/empathy-observer-workflow-manager.test.ts +176 -0
- package/tests/service/evolution-worker.test.ts +585 -0
- package/tests/service/nocturnal-runtime.test.ts +470 -0
- package/tests/service/nocturnal-service.test.ts +577 -0
- package/tests/service/nocturnal-target-selector.test.ts +615 -0
- package/tests/service/nocturnal-workflow-manager.test.ts +439 -0
- package/tests/service/phase3-input-filter.test.ts +289 -0
- package/tests/service/runtime-summary-service.test.ts +919 -0
- package/tests/task-compliance.test.ts +166 -0
- package/tests/test-utils.ts +48 -0
- package/tests/tools/critique-prompt.test.ts +260 -0
- package/tests/tools/deep-reflect.test.ts +232 -0
- package/tests/tools/model-index.test.ts +246 -0
- package/tests/ui/app.test.tsx +114 -0
- package/tests/utils/file-lock.test.ts +407 -0
- package/tests/utils/hashing.test.ts +32 -0
- package/tests/utils/io.test.ts +39 -0
- package/tests/utils/nlp.test.ts +53 -0
- package/tests/utils/plugin-logger.test.ts +156 -0
- package/tsconfig.json +16 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/ui/src/App.tsx +45 -0
- package/ui/src/api.ts +216 -0
- package/ui/src/charts.tsx +586 -0
- package/ui/src/components/ErrorState.tsx +6 -0
- package/ui/src/components/Loading.tsx +13 -0
- package/ui/src/components/ProtectedRoute.tsx +12 -0
- package/ui/src/components/Shell.tsx +91 -0
- package/ui/src/components/WorkspaceConfig.tsx +146 -0
- package/ui/src/components/index.ts +5 -0
- package/ui/src/context/auth.tsx +80 -0
- package/ui/src/context/theme.tsx +66 -0
- package/ui/src/hooks/useAutoRefresh.ts +39 -0
- package/ui/src/i18n/ui.ts +363 -0
- package/ui/src/main.tsx +16 -0
- package/ui/src/pages/EvolutionPage.tsx +352 -0
- package/ui/src/pages/FeedbackPage.tsx +140 -0
- package/ui/src/pages/GateMonitorPage.tsx +136 -0
- package/ui/src/pages/LoginPage.tsx +88 -0
- package/ui/src/pages/OverviewPage.tsx +238 -0
- package/ui/src/pages/SamplesPage.tsx +174 -0
- package/ui/src/pages/ThinkingModelsPage.tsx +127 -0
- package/ui/src/styles.css +1661 -0
- package/ui/src/types.ts +368 -0
- package/ui/src/utils/format.ts +15 -0
- package/vitest.config.ts +23 -0
- package/dist/commands/capabilities.d.ts +0 -3
- package/dist/commands/capabilities.js +0 -73
- package/dist/commands/context.d.ts +0 -5
- package/dist/commands/evolution-status.d.ts +0 -4
- package/dist/commands/evolution-status.js +0 -117
- package/dist/commands/evolver.d.ts +0 -9
- package/dist/commands/evolver.js +0 -26
- package/dist/commands/export.d.ts +0 -2
- package/dist/commands/export.js +0 -98
- package/dist/commands/focus.d.ts +0 -14
- package/dist/commands/focus.js +0 -457
- package/dist/commands/nocturnal-review.d.ts +0 -24
- package/dist/commands/nocturnal-review.js +0 -265
- package/dist/commands/nocturnal-rollout.d.ts +0 -27
- package/dist/commands/nocturnal-rollout.js +0 -671
- package/dist/commands/nocturnal-train.d.ts +0 -25
- package/dist/commands/nocturnal-train.js +0 -919
- package/dist/commands/pain.d.ts +0 -5
- package/dist/commands/principle-rollback.d.ts +0 -4
- package/dist/commands/principle-rollback.js +0 -22
- package/dist/commands/rollback.d.ts +0 -19
- package/dist/commands/samples.d.ts +0 -2
- package/dist/commands/samples.js +0 -55
- package/dist/commands/strategy.d.ts +0 -3
- package/dist/commands/strategy.js +0 -29
- package/dist/commands/thinking-os.d.ts +0 -2
- package/dist/config/defaults/runtime.d.ts +0 -40
- package/dist/config/errors.d.ts +0 -84
- package/dist/config/errors.js +0 -94
- package/dist/config/index.js +0 -7
- package/dist/constants/diagnostician.d.ts +0 -12
- package/dist/constants/diagnostician.js +0 -56
- package/dist/constants/tools.d.ts +0 -17
- package/dist/constants/tools.js +0 -54
- package/dist/core/adaptive-thresholds.d.ts +0 -186
- package/dist/core/adaptive-thresholds.js +0 -300
- package/dist/core/config-service.d.ts +0 -15
- package/dist/core/config.d.ts +0 -129
- package/dist/core/control-ui-db.d.ts +0 -95
- package/dist/core/control-ui-db.js +0 -292
- package/dist/core/detection-funnel.d.ts +0 -33
- package/dist/core/detection-service.d.ts +0 -15
- package/dist/core/dictionary-service.d.ts +0 -15
- package/dist/core/dictionary.d.ts +0 -38
- package/dist/core/event-log.d.ts +0 -82
- package/dist/core/event-log.js +0 -463
- package/dist/core/evolution-engine.d.ts +0 -118
- package/dist/core/evolution-engine.js +0 -464
- package/dist/core/evolution-logger.d.ts +0 -137
- package/dist/core/evolution-logger.js +0 -256
- package/dist/core/evolution-migration.d.ts +0 -5
- package/dist/core/evolution-migration.js +0 -65
- package/dist/core/evolution-reducer.d.ts +0 -98
- package/dist/core/evolution-reducer.js +0 -465
- package/dist/core/evolution-types.d.ts +0 -287
- package/dist/core/evolution-types.js +0 -78
- package/dist/core/external-training-contract.d.ts +0 -276
- package/dist/core/external-training-contract.js +0 -269
- package/dist/core/focus-history.d.ts +0 -210
- package/dist/core/focus-history.js +0 -1185
- package/dist/core/hygiene/tracker.d.ts +0 -22
- package/dist/core/hygiene/tracker.js +0 -106
- package/dist/core/init.d.ts +0 -12
- package/dist/core/local-worker-routing.d.ts +0 -175
- package/dist/core/local-worker-routing.js +0 -525
- package/dist/core/migration.d.ts +0 -6
- package/dist/core/model-deployment-registry.d.ts +0 -218
- package/dist/core/model-deployment-registry.js +0 -503
- package/dist/core/model-training-registry.d.ts +0 -295
- package/dist/core/model-training-registry.js +0 -475
- package/dist/core/nocturnal-arbiter.d.ts +0 -159
- package/dist/core/nocturnal-arbiter.js +0 -534
- package/dist/core/nocturnal-candidate-scoring.d.ts +0 -137
- package/dist/core/nocturnal-candidate-scoring.js +0 -266
- package/dist/core/nocturnal-compliance.d.ts +0 -175
- package/dist/core/nocturnal-compliance.js +0 -824
- package/dist/core/nocturnal-dataset.d.ts +0 -224
- package/dist/core/nocturnal-dataset.js +0 -443
- package/dist/core/nocturnal-executability.d.ts +0 -85
- package/dist/core/nocturnal-executability.js +0 -331
- package/dist/core/nocturnal-export.d.ts +0 -124
- package/dist/core/nocturnal-export.js +0 -275
- package/dist/core/nocturnal-paths.d.ts +0 -124
- package/dist/core/nocturnal-trajectory-extractor.d.ts +0 -242
- package/dist/core/nocturnal-trajectory-extractor.js +0 -307
- package/dist/core/nocturnal-trinity.d.ts +0 -311
- package/dist/core/nocturnal-trinity.js +0 -880
- package/dist/core/pain.d.ts +0 -4
- package/dist/core/pain.js +0 -70
- package/dist/core/path-resolver.d.ts +0 -46
- package/dist/core/paths.d.ts +0 -65
- package/dist/core/principle-training-state.d.ts +0 -121
- package/dist/core/principle-training-state.js +0 -321
- package/dist/core/profile.d.ts +0 -62
- package/dist/core/profile.js +0 -210
- package/dist/core/promotion-gate.d.ts +0 -238
- package/dist/core/promotion-gate.js +0 -529
- package/dist/core/risk-calculator.d.ts +0 -22
- package/dist/core/session-tracker.d.ts +0 -101
- package/dist/core/shadow-observation-registry.d.ts +0 -217
- package/dist/core/shadow-observation-registry.js +0 -308
- package/dist/core/system-logger.d.ts +0 -8
- package/dist/core/thinking-models.d.ts +0 -38
- package/dist/core/thinking-models.js +0 -170
- package/dist/core/training-program.d.ts +0 -233
- package/dist/core/training-program.js +0 -433
- package/dist/core/trajectory.d.ts +0 -411
- package/dist/core/trajectory.js +0 -1307
- package/dist/core/workspace-context.d.ts +0 -71
- package/dist/hooks/bash-risk.d.ts +0 -57
- package/dist/hooks/bash-risk.js +0 -137
- package/dist/hooks/edit-verification.d.ts +0 -62
- package/dist/hooks/edit-verification.js +0 -256
- package/dist/hooks/gate-block-helper.d.ts +0 -44
- package/dist/hooks/gate-block-helper.js +0 -119
- package/dist/hooks/gate.d.ts +0 -24
- package/dist/hooks/gate.js +0 -173
- package/dist/hooks/gfi-gate.d.ts +0 -40
- package/dist/hooks/gfi-gate.js +0 -113
- package/dist/hooks/lifecycle.d.ts +0 -5
- package/dist/hooks/lifecycle.js +0 -284
- package/dist/hooks/llm.d.ts +0 -13
- package/dist/hooks/message-sanitize.d.ts +0 -3
- package/dist/hooks/message-sanitize.js +0 -37
- package/dist/hooks/pain.d.ts +0 -5
- package/dist/hooks/pain.js +0 -301
- package/dist/hooks/progressive-trust-gate.d.ts +0 -52
- package/dist/hooks/progressive-trust-gate.js +0 -134
- package/dist/hooks/prompt.d.ts +0 -49
- package/dist/hooks/prompt.js +0 -905
- package/dist/hooks/subagent.d.ts +0 -10
- package/dist/hooks/subagent.js +0 -387
- package/dist/hooks/thinking-checkpoint.d.ts +0 -37
- package/dist/hooks/thinking-checkpoint.js +0 -51
- package/dist/hooks/trajectory-collector.d.ts +0 -32
- package/dist/hooks/trajectory-collector.js +0 -256
- package/dist/http/principles-console-route.d.ts +0 -9
- package/dist/http/principles-console-route.js +0 -681
- package/dist/i18n/commands.d.ts +0 -26
- package/dist/i18n/commands.js +0 -116
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -581
- package/dist/service/central-database.d.ts +0 -104
- package/dist/service/central-database.js +0 -649
- package/dist/service/control-ui-query-service.d.ts +0 -221
- package/dist/service/control-ui-query-service.js +0 -543
- package/dist/service/empathy-observer-manager.d.ts +0 -88
- package/dist/service/empathy-observer-manager.js +0 -414
- package/dist/service/evolution-query-service.d.ts +0 -155
- package/dist/service/evolution-query-service.js +0 -258
- package/dist/service/evolution-worker.d.ts +0 -101
- package/dist/service/evolution-worker.js +0 -975
- package/dist/service/health-query-service.d.ts +0 -170
- package/dist/service/health-query-service.js +0 -662
- package/dist/service/nocturnal-runtime.d.ts +0 -183
- package/dist/service/nocturnal-service.d.ts +0 -163
- package/dist/service/nocturnal-service.js +0 -787
- package/dist/service/nocturnal-target-selector.d.ts +0 -145
- package/dist/service/nocturnal-target-selector.js +0 -315
- package/dist/service/phase3-input-filter.d.ts +0 -73
- package/dist/service/phase3-input-filter.js +0 -172
- package/dist/service/runtime-summary-service.d.ts +0 -122
- package/dist/service/runtime-summary-service.js +0 -485
- package/dist/service/subagent-workflow/empathy-observer-workflow-manager.d.ts +0 -48
- package/dist/service/subagent-workflow/index.d.ts +0 -4
- package/dist/service/subagent-workflow/index.js +0 -3
- package/dist/service/subagent-workflow/runtime-direct-driver.d.ts +0 -77
- package/dist/service/subagent-workflow/runtime-direct-driver.js +0 -75
- package/dist/service/subagent-workflow/types.js +0 -11
- package/dist/service/subagent-workflow/workflow-store.d.ts +0 -26
- package/dist/service/subagent-workflow/workflow-store.js +0 -165
- package/dist/service/trajectory-service.d.ts +0 -2
- package/dist/service/trajectory-service.js +0 -15
- package/dist/tools/critique-prompt.d.ts +0 -14
- package/dist/tools/deep-reflect.d.ts +0 -39
- package/dist/tools/deep-reflect.js +0 -350
- package/dist/tools/model-index.d.ts +0 -9
- package/dist/types/event-types.d.ts +0 -306
- package/dist/types/event-types.js +0 -106
- package/dist/types/hygiene-types.d.ts +0 -20
- package/dist/types/hygiene-types.js +0 -12
- package/dist/types/runtime-summary.d.ts +0 -47
- package/dist/types/runtime-summary.js +0 -1
- package/dist/types.d.ts +0 -50
- package/dist/types.js +0 -22
- package/dist/utils/file-lock.d.ts +0 -71
- package/dist/utils/file-lock.js +0 -309
- package/dist/utils/glob-match.d.ts +0 -28
- package/dist/utils/hashing.d.ts +0 -9
- package/dist/utils/io.d.ts +0 -6
- package/dist/utils/io.js +0 -106
- package/dist/utils/nlp.d.ts +0 -9
- package/dist/utils/plugin-logger.d.ts +0 -39
- package/dist/utils/subagent-probe.d.ts +0 -34
- 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
|
+
}
|
package/{dist/service/subagent-workflow/types.d.ts → src/service/subagent-workflow/types.ts}
RENAMED
|
@@ -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 =
|
|
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>(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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: (
|
|
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: (
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
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
|
-
|
|
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
|
+
};
|