@alan512/experienceengine 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.mcp.json +5 -6
  3. package/README.md +24 -10
  4. package/README.zh-CN.md +22 -8
  5. package/dist/adapters/codex/action-registry.d.ts +23 -1
  6. package/dist/adapters/codex/action-registry.js +73 -0
  7. package/dist/adapters/codex/action-registry.js.map +1 -1
  8. package/dist/adapters/codex/behavior-loop.d.ts +80 -0
  9. package/dist/adapters/codex/behavior-loop.js +189 -0
  10. package/dist/adapters/codex/behavior-loop.js.map +1 -0
  11. package/dist/adapters/codex/mcp-server.d.ts +27 -72
  12. package/dist/adapters/codex/mcp-server.js +36 -160
  13. package/dist/adapters/codex/mcp-server.js.map +1 -1
  14. package/dist/cli/commands/claude-hook.d.ts +4 -0
  15. package/dist/cli/commands/claude-hook.js +105 -21
  16. package/dist/cli/commands/claude-hook.js.map +1 -1
  17. package/dist/cli/commands/codex-hook.d.ts +22 -0
  18. package/dist/cli/commands/codex-hook.js +298 -0
  19. package/dist/cli/commands/codex-hook.js.map +1 -0
  20. package/dist/cli/commands/config.js +9 -1
  21. package/dist/cli/commands/config.js.map +1 -1
  22. package/dist/cli/commands/doctor.js +63 -1
  23. package/dist/cli/commands/doctor.js.map +1 -1
  24. package/dist/cli/commands/inspect.d.ts +1 -1
  25. package/dist/cli/commands/inspect.js +325 -1
  26. package/dist/cli/commands/inspect.js.map +1 -1
  27. package/dist/cli/commands/install.js +4 -1
  28. package/dist/cli/commands/install.js.map +1 -1
  29. package/dist/cli/commands/maintenance.js +4 -0
  30. package/dist/cli/commands/maintenance.js.map +1 -1
  31. package/dist/cli/commands/repair.js +35 -3
  32. package/dist/cli/commands/repair.js.map +1 -1
  33. package/dist/cli/commands/status.js +27 -0
  34. package/dist/cli/commands/status.js.map +1 -1
  35. package/dist/cli/commands/upgrade.js +2 -0
  36. package/dist/cli/commands/upgrade.js.map +1 -1
  37. package/dist/cli/dispatch.js +8 -3
  38. package/dist/cli/dispatch.js.map +1 -1
  39. package/dist/config/config-schema.d.ts +8 -0
  40. package/dist/config/config-schema.js +6 -0
  41. package/dist/config/config-schema.js.map +1 -1
  42. package/dist/config/default-config.js +1 -0
  43. package/dist/config/default-config.js.map +1 -1
  44. package/dist/config/load-config.js +3 -0
  45. package/dist/config/load-config.js.map +1 -1
  46. package/dist/controller/candidate-retriever.d.ts +4 -1
  47. package/dist/controller/candidate-retriever.js +129 -13
  48. package/dist/controller/candidate-retriever.js.map +1 -1
  49. package/dist/controller/injection-renderer.d.ts +2 -2
  50. package/dist/controller/injection-renderer.js +22 -3
  51. package/dist/controller/injection-renderer.js.map +1 -1
  52. package/dist/controller/injection-scorecard.js +3 -0
  53. package/dist/controller/injection-scorecard.js.map +1 -1
  54. package/dist/controller/intervention-controller.d.ts +2 -2
  55. package/dist/controller/intervention-controller.js +183 -25
  56. package/dist/controller/intervention-controller.js.map +1 -1
  57. package/dist/controller/model-reranker-mode.d.ts +4 -0
  58. package/dist/controller/model-reranker-mode.js +14 -0
  59. package/dist/controller/model-reranker-mode.js.map +1 -0
  60. package/dist/controller/model-reranker.d.ts +0 -1
  61. package/dist/controller/model-reranker.js +1 -13
  62. package/dist/controller/model-reranker.js.map +1 -1
  63. package/dist/controller/policy-enricher.d.ts +2 -1
  64. package/dist/controller/policy-enricher.js +71 -11
  65. package/dist/controller/policy-enricher.js.map +1 -1
  66. package/dist/evaluation/openclaw-scenarios.js +12 -5
  67. package/dist/evaluation/openclaw-scenarios.js.map +1 -1
  68. package/dist/experience-management/repo-policy.d.ts +53 -0
  69. package/dist/experience-management/repo-policy.js +175 -0
  70. package/dist/experience-management/repo-policy.js.map +1 -0
  71. package/dist/hybrid/capsule-builder.js +2 -0
  72. package/dist/hybrid/capsule-builder.js.map +1 -1
  73. package/dist/input/scope-resolver.js +16 -4
  74. package/dist/input/scope-resolver.js.map +1 -1
  75. package/dist/install/claude-cli.js +38 -21
  76. package/dist/install/claude-cli.js.map +1 -1
  77. package/dist/install/claude-code-doctor.js +8 -3
  78. package/dist/install/claude-code-doctor.js.map +1 -1
  79. package/dist/install/claude-code-installer.js +5 -2
  80. package/dist/install/claude-code-installer.js.map +1 -1
  81. package/dist/install/claude-runtime-target.d.ts +5 -0
  82. package/dist/install/claude-runtime-target.js +32 -2
  83. package/dist/install/claude-runtime-target.js.map +1 -1
  84. package/dist/install/codex-cli.d.ts +7 -0
  85. package/dist/install/codex-cli.js +43 -20
  86. package/dist/install/codex-cli.js.map +1 -1
  87. package/dist/install/codex-hooks.d.ts +42 -0
  88. package/dist/install/codex-hooks.js +280 -0
  89. package/dist/install/codex-hooks.js.map +1 -0
  90. package/dist/install/codex-installer.d.ts +21 -3
  91. package/dist/install/codex-installer.js +98 -9
  92. package/dist/install/codex-installer.js.map +1 -1
  93. package/dist/install/codex-runtime-target.d.ts +20 -0
  94. package/dist/install/codex-runtime-target.js +85 -17
  95. package/dist/install/codex-runtime-target.js.map +1 -1
  96. package/dist/install/openclaw-cli.d.ts +1 -0
  97. package/dist/install/openclaw-cli.js +52 -3
  98. package/dist/install/openclaw-cli.js.map +1 -1
  99. package/dist/install/openclaw-installer.d.ts +5 -0
  100. package/dist/install/openclaw-installer.js +24 -5
  101. package/dist/install/openclaw-installer.js.map +1 -1
  102. package/dist/install/public-install.d.ts +1 -0
  103. package/dist/install/public-install.js +5 -0
  104. package/dist/install/public-install.js.map +1 -1
  105. package/dist/interaction/repo-summary.d.ts +17 -0
  106. package/dist/interaction/repo-summary.js +33 -15
  107. package/dist/interaction/repo-summary.js.map +1 -1
  108. package/dist/interaction/retrieval-policy-inspection.d.ts +19 -0
  109. package/dist/interaction/retrieval-policy-inspection.js +33 -0
  110. package/dist/interaction/retrieval-policy-inspection.js.map +1 -0
  111. package/dist/interaction/service.d.ts +24 -1
  112. package/dist/interaction/service.js +171 -12
  113. package/dist/interaction/service.js.map +1 -1
  114. package/dist/maintenance/claude-validate-print.d.ts +8 -1
  115. package/dist/maintenance/claude-validate-print.js +52 -2
  116. package/dist/maintenance/claude-validate-print.js.map +1 -1
  117. package/dist/maintenance/experience-export-drafts.d.ts +56 -0
  118. package/dist/maintenance/experience-export-drafts.js +217 -0
  119. package/dist/maintenance/experience-export-drafts.js.map +1 -0
  120. package/dist/maintenance/experience-hygiene.d.ts +38 -0
  121. package/dist/maintenance/experience-hygiene.js +266 -0
  122. package/dist/maintenance/experience-hygiene.js.map +1 -0
  123. package/dist/maintenance/operator-review-flow.d.ts +81 -0
  124. package/dist/maintenance/operator-review-flow.js +172 -0
  125. package/dist/maintenance/operator-review-flow.js.map +1 -0
  126. package/dist/plugin/openclaw-plugin.d.ts +5 -0
  127. package/dist/plugin/runtime-helpers.js +43 -1
  128. package/dist/plugin/runtime-helpers.js.map +1 -1
  129. package/dist/runtime/prompt-service.d.ts +51 -0
  130. package/dist/runtime/prompt-service.js +209 -0
  131. package/dist/runtime/prompt-service.js.map +1 -0
  132. package/dist/runtime/service.d.ts +7 -2
  133. package/dist/runtime/service.js +176 -25
  134. package/dist/runtime/service.js.map +1 -1
  135. package/dist/store/sqlite/db.js +15 -0
  136. package/dist/store/sqlite/db.js.map +1 -1
  137. package/dist/store/sqlite/repositories/attribution-record-repo.d.ts +15 -0
  138. package/dist/store/sqlite/repositories/attribution-record-repo.js +111 -0
  139. package/dist/store/sqlite/repositories/attribution-record-repo.js.map +1 -0
  140. package/dist/store/sqlite/repositories/episode-repo.d.ts +14 -0
  141. package/dist/store/sqlite/repositories/episode-repo.js +84 -0
  142. package/dist/store/sqlite/repositories/episode-repo.js.map +1 -0
  143. package/dist/store/sqlite/repositories/injection-repo.d.ts +2 -0
  144. package/dist/store/sqlite/repositories/injection-repo.js +32 -5
  145. package/dist/store/sqlite/repositories/injection-repo.js.map +1 -1
  146. package/dist/store/sqlite/repositories/input-record-repo.d.ts +1 -0
  147. package/dist/store/sqlite/repositories/input-record-repo.js +23 -10
  148. package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
  149. package/dist/store/sqlite/repositories/node-repo.d.ts +1 -0
  150. package/dist/store/sqlite/repositories/node-repo.js +10 -0
  151. package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
  152. package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +1 -0
  153. package/dist/store/sqlite/repositories/outcome-record-repo.js +11 -2
  154. package/dist/store/sqlite/repositories/outcome-record-repo.js.map +1 -1
  155. package/dist/store/sqlite/repositories/repo-policy-repo.d.ts +11 -0
  156. package/dist/store/sqlite/repositories/repo-policy-repo.js +87 -0
  157. package/dist/store/sqlite/repositories/repo-policy-repo.js.map +1 -0
  158. package/dist/store/sqlite/repositories/review-event-repo.d.ts +1 -0
  159. package/dist/store/sqlite/repositories/review-event-repo.js +11 -2
  160. package/dist/store/sqlite/repositories/review-event-repo.js.map +1 -1
  161. package/dist/store/sqlite/repositories/task-run-repo.d.ts +1 -0
  162. package/dist/store/sqlite/repositories/task-run-repo.js +11 -2
  163. package/dist/store/sqlite/repositories/task-run-repo.js.map +1 -1
  164. package/dist/store/sqlite/schema.sql +43 -0
  165. package/dist/store/vector/api-embedding-provider.js +14 -3
  166. package/dist/store/vector/api-embedding-provider.js.map +1 -1
  167. package/dist/store/vector/embeddings.js +5 -51
  168. package/dist/store/vector/embeddings.js.map +1 -1
  169. package/dist/store/vector/local-provider.js +14 -3
  170. package/dist/store/vector/local-provider.js.map +1 -1
  171. package/dist/types/domain.d.ts +89 -1
  172. package/dist/utils/text.js +5 -1
  173. package/dist/utils/text.js.map +1 -1
  174. package/docs/assets/readme/inspect-last-example.svg +37 -0
  175. package/docs/releases/v0.2.1.md +9 -0
  176. package/docs/releases/v0.3.0.md +20 -0
  177. package/docs/releases/v0.3.1.md +23 -0
  178. package/docs/user-guide.md +92 -7
  179. package/openclaw.plugin.json +1 -1
  180. package/package.json +3 -3
  181. package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
  182. package/plugins/claude-code-experienceengine/.mcp.json +3 -9
  183. package/plugins/claude-code-experienceengine/scripts/install-deps.sh +1 -1
  184. package/plugins/claude-code-experienceengine/scripts/mcp-server.sh +43 -0
  185. package/scripts/claude-plugin/claude-hook.sh +6 -1
  186. package/scripts/claude-plugin/mcp-server.sh +45 -0
@@ -0,0 +1,189 @@
1
+ import { loadConfig } from "../../config/load-config.js";
2
+ import { resolveExperienceEnginePaths } from "../../config/path-resolver.js";
3
+ import { buildRetrievalPolicyInspectionSummary } from "../../interaction/retrieval-policy-inspection.js";
4
+ import { ExperiencePromptRuntimeService } from "../../runtime/prompt-service.js";
5
+ const createCodexConfig = (options = {}) => {
6
+ const paths = resolveExperienceEnginePaths({
7
+ adapter: "codex",
8
+ env: options.env ?? process.env,
9
+ homeDir: options.homeDir
10
+ });
11
+ return loadConfig({
12
+ dataDir: paths.dataDir,
13
+ sqlitePath: paths.sqlitePath,
14
+ captureDir: paths.captureDir
15
+ }, {
16
+ env: options.env ?? process.env,
17
+ homeDir: options.homeDir
18
+ });
19
+ };
20
+ const createCodexPromptRuntime = (options = {}) => new ExperiencePromptRuntimeService(createCodexConfig(options));
21
+ const createCodexRuntime = async (options = {}) => {
22
+ const { ExperienceRuntimeService } = await import("../../runtime/service.js");
23
+ return new ExperienceRuntimeService(createCodexConfig(options), undefined, options.runtimeOptions);
24
+ };
25
+ const summarizeActionReason = (scorecard) => {
26
+ if (scorecard.mode === "inject_conservative") {
27
+ if (scorecard.decisionReason === "ambiguous_same_family_candidate") {
28
+ return "ExperienceEngine found a promising same-family match and chose conservative injection instead of skipping.";
29
+ }
30
+ if (scorecard.decisionReason === "promising_candidate_quality") {
31
+ return "ExperienceEngine found a credible candidate, but kept the injection conservative until it has stronger runtime proof.";
32
+ }
33
+ return "ExperienceEngine chose conservative injection because the best match still needs more runtime evidence.";
34
+ }
35
+ if (scorecard.decisionReason === "mature_validated_candidate") {
36
+ return "A mature validated candidate cleared the fast path, so ExperienceEngine injected it normally.";
37
+ }
38
+ if (scorecard.decisionReason === "candidate_quality_positive") {
39
+ return "Candidate quality was strong enough to justify intervention for this task.";
40
+ }
41
+ if (scorecard.mode === "inject") {
42
+ return "ExperienceEngine injected the best available reusable guidance for this task.";
43
+ }
44
+ return undefined;
45
+ };
46
+ const summarizeTrust = (scorecard) => {
47
+ const primaryNode = scorecard.nodes?.[0];
48
+ if (!scorecard.riskLevel || !primaryNode?.state) {
49
+ return undefined;
50
+ }
51
+ const confidence = scorecard.confidence ? ` ${scorecard.confidence}-confidence` : "";
52
+ return `${scorecard.riskLevel}-risk${confidence} ${primaryNode.state} guidance with ${primaryNode.helped ?? 0} helped and ${primaryNode.harmed ?? 0} harmed signal(s).`;
53
+ };
54
+ const summarizeRetrievalNotes = (scorecard) => {
55
+ const notes = [];
56
+ if (scorecard.queryRewriteApplied) {
57
+ notes.push("Query rewrite preserved retrieval intent for this task.");
58
+ }
59
+ const rerankSource = scorecard.topCandidates?.[0]?.rerankSource;
60
+ if (rerankSource === "model") {
61
+ notes.push("Model reranking participated in the final ordering.");
62
+ }
63
+ if (scorecard.fastPathApplied) {
64
+ notes.push("A strong candidate fast path was used.");
65
+ }
66
+ const topCandidate = scorecard.topCandidates?.[0];
67
+ if (topCandidate?.retrievalReasons?.length) {
68
+ notes.push(`Top retrieval signals: ${topCandidate.retrievalReasons.slice(0, 2).join(", ")}.`);
69
+ }
70
+ if (topCandidate?.policyReasons?.length) {
71
+ notes.push(`Top policy signals: ${topCandidate.policyReasons.slice(0, 2).join(", ")}.`);
72
+ }
73
+ if (scorecard.rejectedCandidates?.length) {
74
+ notes.push(`Runner-up candidates withheld: ${scorecard.rejectedCandidates.map((candidate) => candidate.id).join(", ")}.`);
75
+ }
76
+ return notes;
77
+ };
78
+ const summarizeScorecard = (scorecard) => scorecard
79
+ ? {
80
+ mode: scorecard.mode,
81
+ interventionStrength: scorecard.interventionStrength,
82
+ riskLevel: scorecard.riskLevel,
83
+ recommendation: scorecard.recommendation,
84
+ actionReason: summarizeActionReason(scorecard),
85
+ trustSummary: summarizeTrust(scorecard),
86
+ retrievalNotes: summarizeRetrievalNotes(scorecard),
87
+ retrievalPolicySummary: buildRetrievalPolicyInspectionSummary(scorecard),
88
+ confidence: scorecard.confidence,
89
+ budgetClass: scorecard.budgetClass,
90
+ selectedCandidateIds: scorecard.selectedCandidateIds,
91
+ rejectedCandidates: scorecard.rejectedCandidates?.slice(0, 3).map((candidate) => ({
92
+ id: candidate.id,
93
+ reasonCodes: candidate.reasonCodes
94
+ })) ?? [],
95
+ reasons: scorecard.reasons?.slice(0, 2),
96
+ nodes: scorecard.nodes?.slice(0, 3).map((node) => ({
97
+ id: node.id,
98
+ state: node.state,
99
+ riskLevel: node.riskLevel,
100
+ helped: node.helped,
101
+ harmed: node.harmed
102
+ })) ?? []
103
+ }
104
+ : undefined;
105
+ export const createCodexBehaviorLoop = (options = {}) => {
106
+ let promptRuntime;
107
+ let runtime;
108
+ const promptLookups = new Map();
109
+ const getPromptRuntime = () => {
110
+ promptRuntime ??= createCodexPromptRuntime(options);
111
+ return promptRuntime;
112
+ };
113
+ const getRuntime = async () => {
114
+ runtime ??= createCodexRuntime(options);
115
+ return runtime;
116
+ };
117
+ return {
118
+ async lookupHints(args) {
119
+ const context = {
120
+ host: "codex",
121
+ sessionId: args.sessionId,
122
+ cwd: args.cwd,
123
+ userMessage: args.prompt,
124
+ taskSummary: args.prompt
125
+ };
126
+ const result = await getPromptRuntime().beforePromptBuild(context);
127
+ promptLookups.set(args.sessionId ?? "global", {
128
+ context,
129
+ injectedNodeIds: result.input.injected_node_ids
130
+ });
131
+ return {
132
+ mode: result.mode,
133
+ text: result.text,
134
+ notice: result.notice,
135
+ injectedNodeIds: result.input.injected_node_ids,
136
+ summary: summarizeScorecard(result.scorecard),
137
+ deliveryMode: result.deliveryMode,
138
+ delivered: result.delivered
139
+ };
140
+ },
141
+ async recordToolResult(args) {
142
+ const fullRuntime = await getRuntime();
143
+ const event = await fullRuntime.persistToolResult({
144
+ sessionId: args.sessionId,
145
+ toolName: args.toolName,
146
+ inputSummary: args.inputSummary,
147
+ outputSummary: args.outputSummary,
148
+ errorSignature: args.errorSignature,
149
+ exitCode: args.exitCode,
150
+ status: args.status
151
+ });
152
+ return {
153
+ status: "recorded",
154
+ toolName: event.tool_name,
155
+ eventStatus: event.status,
156
+ hasErrorSignature: Boolean(event.error_signature),
157
+ exitCode: event.exit_code
158
+ };
159
+ },
160
+ async finalizeTask(args) {
161
+ const fullRuntime = await getRuntime();
162
+ const promptLookup = promptLookups.get(args.sessionId);
163
+ const input = await fullRuntime.finalizeTask({
164
+ host: "codex",
165
+ sessionId: args.sessionId,
166
+ cwd: args.cwd ?? promptLookup?.context.cwd,
167
+ userMessage: args.prompt ?? "",
168
+ taskSummary: args.prompt ?? promptLookup?.context.taskSummary,
169
+ contextSummary: args.contextSummary,
170
+ injectedNodeIds: args.injectedNodeIds ?? promptLookup?.injectedNodeIds
171
+ });
172
+ return {
173
+ status: "finalized",
174
+ taskType: input.task_type,
175
+ outcomeSignal: input.outcome_signal,
176
+ injectedNodeIds: input.injected_node_ids,
177
+ recordedToolEvents: input.tool_events.length,
178
+ feedbackHint: input.injected_node_ids.length > 0
179
+ ? "If the injected guidance helped or harmed this task, call experienceengine_quick_feedback."
180
+ : undefined
181
+ };
182
+ },
183
+ async waitForBackgroundLearning() {
184
+ const fullRuntime = await getRuntime();
185
+ await fullRuntime.waitForBackgroundLearning();
186
+ }
187
+ };
188
+ };
189
+ //# sourceMappingURL=behavior-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-loop.js","sourceRoot":"","sources":["../../../src/adapters/codex/behavior-loop.ts"],"names":[],"mappings":"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"}
@@ -2,28 +2,12 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { type FeedbackValue } from "../../interaction/service.js";
3
3
  import { ExperienceOperationalActionsService, type OperationalActionsDeps } from "../../interaction/operational-actions-service.js";
4
4
  import { ExperienceStateArtifactService } from "../../interaction/state-artifact-service.js";
5
- import { ExperienceRuntimeService } from "../../runtime/service.js";
6
- import type { ExperienceNodeType, ExperienceState, ToolEventStatus } from "../../types/domain.js";
7
- type CodexLookupArgs = {
8
- cwd?: string;
9
- prompt: string;
10
- sessionId?: string;
11
- };
12
- type CodexToolResultArgs = {
13
- sessionId: string;
14
- toolName: string;
15
- inputSummary?: string;
16
- outputSummary?: string;
17
- errorSignature?: string;
18
- exitCode?: number;
19
- status?: ToolEventStatus;
20
- };
21
- type CodexFinalizeArgs = {
22
- sessionId: string;
23
- cwd?: string;
24
- prompt?: string;
25
- contextSummary?: string;
26
- };
5
+ import type { ExperienceRuntimeService } from "../../runtime/service.js";
6
+ import type { DeliveryState, ExperienceNodeType, ExperienceState, TaskType } from "../../types/domain.js";
7
+ import type { HygieneFindingType, HygieneSeverity } from "../../maintenance/experience-hygiene.js";
8
+ import type { ExportDraftRisk } from "../../maintenance/experience-export-drafts.js";
9
+ import { type CodexLookupArgs } from "./behavior-loop.js";
10
+ export { createCodexBehaviorLoop } from "./behavior-loop.js";
27
11
  type CodexServerOptions = {
28
12
  env?: NodeJS.ProcessEnv;
29
13
  homeDir?: string;
@@ -37,55 +21,6 @@ type CodexRecentMode = "all" | "injected";
37
21
  type CodexScopeArgs = {
38
22
  cwd?: string;
39
23
  };
40
- export declare const createCodexBehaviorLoop: (options?: CodexServerOptions) => {
41
- lookupHints(args: CodexLookupArgs): Promise<{
42
- mode: import("../../types/domain.js").InjectionMode;
43
- text: string | undefined;
44
- notice: string | undefined;
45
- injectedNodeIds: string[] | never[];
46
- summary: {
47
- mode: string | undefined;
48
- riskLevel: string | undefined;
49
- recommendation: string | undefined;
50
- actionReason: string | undefined;
51
- trustSummary: string | undefined;
52
- retrievalNotes: string[];
53
- confidence: string | undefined;
54
- budgetClass: string | undefined;
55
- selectedCandidateIds: string[] | undefined;
56
- rejectedCandidates: {
57
- id: string;
58
- reasonCodes: string[] | undefined;
59
- }[];
60
- reasons: string[] | undefined;
61
- nodes: {
62
- id: string;
63
- state: string | undefined;
64
- riskLevel: string | undefined;
65
- helped: number | undefined;
66
- harmed: number | undefined;
67
- }[];
68
- } | undefined;
69
- deliveryMode: import("../../types/domain.js").EvaluationMode | undefined;
70
- delivered: boolean | undefined;
71
- }>;
72
- recordToolResult(args: CodexToolResultArgs): Promise<{
73
- status: string;
74
- toolName: string;
75
- eventStatus: ToolEventStatus;
76
- hasErrorSignature: boolean;
77
- exitCode: number | undefined;
78
- }>;
79
- finalizeTask(args: CodexFinalizeArgs): Promise<{
80
- status: string;
81
- taskType: import("../../types/domain.js").ResolvedTaskType;
82
- outcomeSignal: import("../../types/domain.js").OutcomeSignal;
83
- injectedNodeIds: string[];
84
- recordedToolEvents: number;
85
- feedbackHint: string | undefined;
86
- }>;
87
- waitForBackgroundLearning(): Promise<void>;
88
- };
89
24
  export declare const createCodexInteractionSurface: (options?: CodexServerOptions) => {
90
25
  inspectLast(): Promise<import("../../interaction/service.js").ExperienceLastInspection | undefined>;
91
26
  inspectRecent(args?: {
@@ -104,6 +39,25 @@ export declare const createCodexInteractionSurface: (options?: CodexServerOption
104
39
  }): Promise<import("../../interaction/service.js").ExperienceNodeSummary[]>;
105
40
  inspectLearningSummary(): Promise<import("../../interaction/service.js").ExperienceLearningSummary>;
106
41
  inspectRepoSummary(args?: CodexScopeArgs): Promise<import("../../interaction/repo-summary.js").ExperienceRepoSummary>;
42
+ inspectReview(args?: CodexScopeArgs & {
43
+ limit?: number;
44
+ }): Promise<import("../../maintenance/operator-review-flow.js").OperatorReviewReport>;
45
+ inspectHygiene(args?: {
46
+ cwd?: string;
47
+ type?: HygieneFindingType;
48
+ severity?: HygieneSeverity;
49
+ limit?: number;
50
+ }): Promise<import("../../maintenance/experience-hygiene.js").HygieneReviewReport>;
51
+ inspectExportDrafts(args?: {
52
+ cwd?: string;
53
+ nodeId?: string;
54
+ nodeType?: ExperienceNodeType;
55
+ taskFamily?: TaskType;
56
+ state?: ExperienceState;
57
+ deliveryState?: DeliveryState;
58
+ risk?: ExportDraftRisk;
59
+ limit?: number;
60
+ }): Promise<import("../../maintenance/experience-export-drafts.js").ExperienceExportDraftReport>;
107
61
  explainLastDecision(args: {
108
62
  cwd?: string;
109
63
  userMessage: string;
@@ -131,11 +85,13 @@ export declare const lookupCodexExperienceHints: (args: CodexLookupArgs, options
131
85
  injectedNodeIds: string[] | never[];
132
86
  summary: {
133
87
  mode: string | undefined;
88
+ interventionStrength: string | undefined;
134
89
  riskLevel: string | undefined;
135
90
  recommendation: string | undefined;
136
91
  actionReason: string | undefined;
137
92
  trustSummary: string | undefined;
138
93
  retrievalNotes: string[];
94
+ retrievalPolicySummary: import("../../interaction/retrieval-policy-inspection.js").RetrievalPolicyInspectionSummary | undefined;
139
95
  confidence: string | undefined;
140
96
  budgetClass: string | undefined;
141
97
  selectedCandidateIds: string[] | undefined;
@@ -157,4 +113,3 @@ export declare const lookupCodexExperienceHints: (args: CodexLookupArgs, options
157
113
  }>;
158
114
  export declare const createCodexMcpServer: (options?: CodexServerOptions) => McpServer;
159
115
  export declare const runCodexMcpServer: () => Promise<void>;
160
- export {};
@@ -7,10 +7,11 @@ import { ExperienceInteractionService } from "../../interaction/service.js";
7
7
  import { ExperienceOperationalService } from "../../interaction/operational-service.js";
8
8
  import { ExperienceOperationalActionsService, } from "../../interaction/operational-actions-service.js";
9
9
  import { ExperienceStateArtifactService } from "../../interaction/state-artifact-service.js";
10
- import { ExperienceRuntimeService } from "../../runtime/service.js";
11
10
  import { fetchLatestGitHubReleaseStatus } from "../../version/remote-release.js";
12
11
  import { createCodexActionRegistry } from "./action-registry.js";
13
12
  import { createCodexBrokerFacade, executeCodexActionSchema, listCodexActionsSchema, prepareCodexActionSchema } from "./broker-tools.js";
13
+ import { createCodexBehaviorLoop } from "./behavior-loop.js";
14
+ export { createCodexBehaviorLoop } from "./behavior-loop.js";
14
15
  const NODE_STATES = ["candidate", "priority_candidate", "active", "cooling", "retired"];
15
16
  const NODE_TYPES = ["strategy", "warning"];
16
17
  const EXPERIENCE_ADAPTERS = ["openclaw", "claude-code", "codex"];
@@ -29,8 +30,14 @@ const buildExperienceCapabilities = () => ({
29
30
  "experienceengine://doctor/{adapter}",
30
31
  "experienceengine://capabilities",
31
32
  "experienceengine://last",
32
- "experienceengine://repo-summary"
33
+ "experienceengine://repo-summary",
34
+ "experienceengine://review",
35
+ "experienceengine://hygiene",
36
+ "experienceengine://export-drafts"
33
37
  ],
38
+ routine_read_surface_notes: {
39
+ "experienceengine://review": "Read-only operator workflow summary. Coordinates repo policy, hygiene, and export drafts with drill-down references; it does not restore policy, mutate nodes, or write exports."
40
+ },
34
41
  advanced_actions: [
35
42
  "brokered admin actions",
36
43
  "brokered maintenance actions",
@@ -42,21 +49,6 @@ const buildExperienceCapabilities = () => ({
42
49
  ],
43
50
  surface_model: "public core loop + public routine reads + brokered long-tail actions"
44
51
  });
45
- const createCodexRuntime = (options = {}) => {
46
- const paths = resolveExperienceEnginePaths({
47
- adapter: "codex",
48
- env: options.env ?? process.env,
49
- homeDir: options.homeDir
50
- });
51
- return new ExperienceRuntimeService(loadConfig({
52
- dataDir: paths.dataDir,
53
- sqlitePath: paths.sqlitePath,
54
- captureDir: paths.captureDir
55
- }, {
56
- env: options.env ?? process.env,
57
- homeDir: options.homeDir
58
- }), undefined, options.runtimeOptions);
59
- };
60
52
  const createCodexInteractionService = (options = {}) => {
61
53
  const paths = resolveExperienceEnginePaths({
62
54
  adapter: "codex",
@@ -157,148 +149,6 @@ const createJsonResourceLink = (uri, name, description) => ({
157
149
  mimeType: "application/json",
158
150
  description
159
151
  });
160
- const summarizeActionReason = (scorecard) => {
161
- if (scorecard.mode === "inject_conservative") {
162
- if (scorecard.decisionReason === "ambiguous_same_family_candidate") {
163
- return "ExperienceEngine found a promising same-family match and chose conservative injection instead of skipping.";
164
- }
165
- if (scorecard.decisionReason === "promising_candidate_quality") {
166
- return "ExperienceEngine found a credible candidate, but kept the injection conservative until it has stronger runtime proof.";
167
- }
168
- return "ExperienceEngine chose conservative injection because the best match still needs more runtime evidence.";
169
- }
170
- if (scorecard.decisionReason === "mature_validated_candidate") {
171
- return "A mature validated candidate cleared the fast path, so ExperienceEngine injected it normally.";
172
- }
173
- if (scorecard.decisionReason === "candidate_quality_positive") {
174
- return "Candidate quality was strong enough to justify intervention for this task.";
175
- }
176
- if (scorecard.mode === "inject") {
177
- return "ExperienceEngine injected the best available reusable guidance for this task.";
178
- }
179
- return undefined;
180
- };
181
- const summarizeTrust = (scorecard) => {
182
- const primaryNode = scorecard.nodes?.[0];
183
- if (!scorecard.riskLevel || !primaryNode?.state) {
184
- return undefined;
185
- }
186
- const confidence = scorecard.confidence ? ` ${scorecard.confidence}-confidence` : "";
187
- return `${scorecard.riskLevel}-risk${confidence} ${primaryNode.state} guidance with ${primaryNode.helped ?? 0} helped and ${primaryNode.harmed ?? 0} harmed signal(s).`;
188
- };
189
- const summarizeRetrievalNotes = (scorecard) => {
190
- const notes = [];
191
- if (scorecard.queryRewriteApplied) {
192
- notes.push("Query rewrite preserved retrieval intent for this task.");
193
- }
194
- const rerankSource = scorecard.topCandidates?.[0]?.rerankSource;
195
- if (rerankSource === "model") {
196
- notes.push("Model reranking participated in the final ordering.");
197
- }
198
- if (scorecard.fastPathApplied) {
199
- notes.push("A strong candidate fast path was used.");
200
- }
201
- const topCandidate = scorecard.topCandidates?.[0];
202
- if (topCandidate?.retrievalReasons?.length) {
203
- notes.push(`Top retrieval signals: ${topCandidate.retrievalReasons.slice(0, 2).join(", ")}.`);
204
- }
205
- if (topCandidate?.policyReasons?.length) {
206
- notes.push(`Top policy signals: ${topCandidate.policyReasons.slice(0, 2).join(", ")}.`);
207
- }
208
- if (scorecard.rejectedCandidates?.length) {
209
- notes.push(`Runner-up candidates withheld: ${scorecard.rejectedCandidates.map((candidate) => candidate.id).join(", ")}.`);
210
- }
211
- return notes;
212
- };
213
- const summarizeScorecard = (scorecard) => scorecard
214
- ? {
215
- mode: scorecard.mode,
216
- riskLevel: scorecard.riskLevel,
217
- recommendation: scorecard.recommendation,
218
- actionReason: summarizeActionReason(scorecard),
219
- trustSummary: summarizeTrust(scorecard),
220
- retrievalNotes: summarizeRetrievalNotes(scorecard),
221
- confidence: scorecard.confidence,
222
- budgetClass: scorecard.budgetClass,
223
- selectedCandidateIds: scorecard.selectedCandidateIds,
224
- rejectedCandidates: scorecard.rejectedCandidates?.slice(0, 3).map((candidate) => ({
225
- id: candidate.id,
226
- reasonCodes: candidate.reasonCodes
227
- })) ?? [],
228
- reasons: scorecard.reasons?.slice(0, 2),
229
- nodes: scorecard.nodes?.slice(0, 3).map((node) => ({
230
- id: node.id,
231
- state: node.state,
232
- riskLevel: node.riskLevel,
233
- helped: node.helped,
234
- harmed: node.harmed
235
- })) ?? []
236
- }
237
- : undefined;
238
- export const createCodexBehaviorLoop = (options = {}) => {
239
- const runtime = createCodexRuntime(options);
240
- return {
241
- async lookupHints(args) {
242
- const result = await runtime.beforePromptBuild({
243
- host: "codex",
244
- sessionId: args.sessionId,
245
- cwd: args.cwd,
246
- userMessage: args.prompt,
247
- taskSummary: args.prompt
248
- });
249
- return {
250
- mode: result.mode,
251
- text: result.text,
252
- notice: result.notice,
253
- injectedNodeIds: result.input.injected_node_ids,
254
- summary: summarizeScorecard(result.scorecard),
255
- deliveryMode: result.deliveryMode,
256
- delivered: result.delivered
257
- };
258
- },
259
- async recordToolResult(args) {
260
- const event = await runtime.persistToolResult({
261
- sessionId: args.sessionId,
262
- toolName: args.toolName,
263
- inputSummary: args.inputSummary,
264
- outputSummary: args.outputSummary,
265
- errorSignature: args.errorSignature,
266
- exitCode: args.exitCode,
267
- status: args.status
268
- });
269
- return {
270
- status: "recorded",
271
- toolName: event.tool_name,
272
- eventStatus: event.status,
273
- hasErrorSignature: Boolean(event.error_signature),
274
- exitCode: event.exit_code
275
- };
276
- },
277
- async finalizeTask(args) {
278
- const input = await runtime.finalizeTask({
279
- host: "codex",
280
- sessionId: args.sessionId,
281
- cwd: args.cwd,
282
- userMessage: args.prompt ?? "",
283
- taskSummary: args.prompt,
284
- contextSummary: args.contextSummary
285
- });
286
- return {
287
- status: "finalized",
288
- taskType: input.task_type,
289
- outcomeSignal: input.outcome_signal,
290
- injectedNodeIds: input.injected_node_ids,
291
- recordedToolEvents: input.tool_events.length,
292
- feedbackHint: input.injected_node_ids.length > 0
293
- ? "If the injected guidance helped or harmed this task, call experienceengine_quick_feedback."
294
- : undefined
295
- };
296
- },
297
- async waitForBackgroundLearning() {
298
- await runtime.waitForBackgroundLearning();
299
- }
300
- };
301
- };
302
152
  export const createCodexInteractionSurface = (options = {}) => {
303
153
  const interaction = createCodexInteractionService(options);
304
154
  return {
@@ -329,6 +179,17 @@ export const createCodexInteractionSurface = (options = {}) => {
329
179
  async inspectRepoSummary(args = {}) {
330
180
  return interaction.inspectRepoSummary(args.cwd);
331
181
  },
182
+ async inspectReview(args = {}) {
183
+ return interaction.inspectReview(args.cwd, { limit: args.limit });
184
+ },
185
+ async inspectHygiene(args = {}) {
186
+ const { cwd, ...filters } = args;
187
+ return interaction.inspectHygiene(cwd ?? process.cwd(), filters);
188
+ },
189
+ async inspectExportDrafts(args = {}) {
190
+ const { cwd, ...filters } = args;
191
+ return interaction.inspectExportDrafts(cwd ?? process.cwd(), filters);
192
+ },
332
193
  async explainLastDecision(args) {
333
194
  return interaction.explainLastDecision(args.cwd, args.userMessage);
334
195
  },
@@ -371,7 +232,7 @@ export const createCodexMcpServer = (options = {}) => {
371
232
  const brokerFacade = createCodexBrokerFacade(actionRegistry);
372
233
  const server = new McpServer({
373
234
  name: "experienceengine",
374
- version: "0.2.1"
235
+ version: "0.3.1"
375
236
  });
376
237
  server.registerResource("experienceengine_doctor", new ResourceTemplate("experienceengine://doctor/{adapter}", {
377
238
  list: undefined,
@@ -398,6 +259,21 @@ export const createCodexMcpServer = (options = {}) => {
398
259
  description: "Repo-level ExperienceEngine summary for the current scope, including benchmark and next action.",
399
260
  mimeType: "application/json"
400
261
  }, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectRepoSummary()));
262
+ server.registerResource("experienceengine_review", "experienceengine://review", {
263
+ title: "ExperienceEngine Operator Review",
264
+ description: "Read-only operator review workflow across repo policy, hygiene, and export drafts. Includes advisory drill-down references only.",
265
+ mimeType: "application/json"
266
+ }, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectReview()));
267
+ server.registerResource("experienceengine_hygiene", "experienceengine://hygiene", {
268
+ title: "ExperienceEngine Hygiene",
269
+ description: "Read-only ExperienceEngine hygiene findings for the current scope.",
270
+ mimeType: "application/json"
271
+ }, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectHygiene()));
272
+ server.registerResource("experienceengine_export_drafts", "experienceengine://export-drafts", {
273
+ title: "ExperienceEngine Export Drafts",
274
+ description: "Read-only review packages for guidance export drafts in the current scope.",
275
+ mimeType: "application/json"
276
+ }, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectExportDrafts()));
401
277
  server.registerTool("experienceengine_list_actions", {
402
278
  title: "ExperienceEngine List Actions",
403
279
  description: "List brokered EE long-tail actions without exposing full schemas.",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/adapters/codex/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/adapters/codex/mcp-server.ts"],"names":[],"mappings":"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"}