@alan512/experienceengine 0.3.6 → 0.4.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.
- package/README.md +15 -4
- package/README.zh-CN.md +15 -4
- package/dist/adapters/antigravity/artifact-analyzer.d.ts +27 -0
- package/dist/adapters/antigravity/artifact-analyzer.js +151 -0
- package/dist/adapters/antigravity/artifact-analyzer.js.map +1 -0
- package/dist/adapters/codex/behavior-loop.d.ts +15 -43
- package/dist/adapters/codex/behavior-loop.js +2 -215
- package/dist/adapters/codex/behavior-loop.js.map +1 -1
- package/dist/adapters/codex/mcp-server.d.ts +37 -44
- package/dist/adapters/codex/mcp-server.js +5 -427
- package/dist/adapters/codex/mcp-server.js.map +1 -1
- package/dist/adapters/shared-mcp/action-registry.d.ts +121 -0
- package/dist/adapters/shared-mcp/action-registry.js +435 -0
- package/dist/adapters/shared-mcp/action-registry.js.map +1 -0
- package/dist/adapters/shared-mcp/behavior-loop.d.ts +91 -0
- package/dist/adapters/shared-mcp/behavior-loop.js +218 -0
- package/dist/adapters/shared-mcp/behavior-loop.js.map +1 -0
- package/dist/adapters/shared-mcp/server.d.ts +113 -0
- package/dist/adapters/shared-mcp/server.js +423 -0
- package/dist/adapters/shared-mcp/server.js.map +1 -0
- package/dist/cli/commands/agy-exec.d.ts +23 -0
- package/dist/cli/commands/agy-exec.js +92 -0
- package/dist/cli/commands/agy-exec.js.map +1 -0
- package/dist/cli/commands/antigravity-hook.d.ts +58 -0
- package/dist/cli/commands/antigravity-hook.js +192 -0
- package/dist/cli/commands/antigravity-hook.js.map +1 -0
- package/dist/cli/commands/antigravity.d.ts +8 -0
- package/dist/cli/commands/antigravity.js +37 -0
- package/dist/cli/commands/antigravity.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +160 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/inspect.js +78 -1
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/install.d.ts +3 -1
- package/dist/cli/commands/install.js +32 -2
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/maintenance.js +80 -2
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/mcp-server.js +10 -2
- package/dist/cli/commands/mcp-server.js.map +1 -1
- package/dist/cli/commands/repair.d.ts +1 -1
- package/dist/cli/commands/repair.js +21 -3
- package/dist/cli/commands/repair.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +4 -1
- package/dist/cli/commands/upgrade.js +25 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/dispatch.js +22 -6
- package/dist/cli/dispatch.js.map +1 -1
- package/dist/compiler/command-normalizer.d.ts +27 -0
- package/dist/compiler/command-normalizer.js +263 -0
- package/dist/compiler/command-normalizer.js.map +1 -0
- package/dist/compiler/trajectory-compiler.d.ts +12 -0
- package/dist/compiler/trajectory-compiler.js +179 -0
- package/dist/compiler/trajectory-compiler.js.map +1 -0
- package/dist/compiler/trajectory-matcher.d.ts +18 -0
- package/dist/compiler/trajectory-matcher.js +419 -0
- package/dist/compiler/trajectory-matcher.js.map +1 -0
- package/dist/config/config-schema.d.ts +11 -0
- package/dist/config/config-schema.js +9 -0
- package/dist/config/config-schema.js.map +1 -1
- package/dist/config/default-config.js +1 -0
- package/dist/config/default-config.js.map +1 -1
- package/dist/controller/candidate-retriever.d.ts +3 -1
- package/dist/controller/candidate-retriever.js +247 -7
- package/dist/controller/candidate-retriever.js.map +1 -1
- package/dist/controller/intervention-controller.js +48 -21
- package/dist/controller/intervention-controller.js.map +1 -1
- package/dist/controller/trigger-evaluator.d.ts +2 -1
- package/dist/controller/trigger-evaluator.js +10 -4
- package/dist/controller/trigger-evaluator.js.map +1 -1
- package/dist/experience-management/node-lifecycle-governance.js +25 -6
- package/dist/experience-management/node-lifecycle-governance.js.map +1 -1
- package/dist/input/fingerprint-extractor.d.ts +53 -0
- package/dist/input/fingerprint-extractor.js +620 -0
- package/dist/input/fingerprint-extractor.js.map +1 -0
- package/dist/install/antigravity-global-wiring.d.ts +25 -0
- package/dist/install/antigravity-global-wiring.js +165 -0
- package/dist/install/antigravity-global-wiring.js.map +1 -0
- package/dist/install/antigravity-project-wiring.d.ts +24 -0
- package/dist/install/antigravity-project-wiring.js +380 -0
- package/dist/install/antigravity-project-wiring.js.map +1 -0
- package/dist/install/antigravity.d.ts +78 -0
- package/dist/install/antigravity.js +169 -0
- package/dist/install/antigravity.js.map +1 -0
- package/dist/install/host-detection.d.ts +1 -1
- package/dist/install/host-detection.js +2 -1
- package/dist/install/host-detection.js.map +1 -1
- package/dist/install/public-install.d.ts +2 -0
- package/dist/install/public-install.js +8 -0
- package/dist/install/public-install.js.map +1 -1
- package/dist/interaction/operational-actions-service.d.ts +8 -5
- package/dist/interaction/operational-actions-service.js +36 -6
- package/dist/interaction/operational-actions-service.js.map +1 -1
- package/dist/interaction/operational-service.d.ts +3 -1
- package/dist/interaction/operational-service.js +9 -0
- package/dist/interaction/operational-service.js.map +1 -1
- package/dist/interaction/service.d.ts +11 -1
- package/dist/interaction/service.js +11 -1
- package/dist/interaction/service.js.map +1 -1
- package/dist/maintenance/vector-migrator.d.ts +37 -0
- package/dist/maintenance/vector-migrator.js +170 -0
- package/dist/maintenance/vector-migrator.js.map +1 -0
- package/dist/plugin/openclaw-plugin.d.ts +8 -0
- package/dist/runtime/prompt-service.js +10 -0
- package/dist/runtime/prompt-service.js.map +1 -1
- package/dist/runtime/service.d.ts +2 -0
- package/dist/runtime/service.js +127 -2
- package/dist/runtime/service.js.map +1 -1
- package/dist/store/sqlite/db.js +18 -1
- package/dist/store/sqlite/db.js.map +1 -1
- package/dist/store/sqlite/repositories/attribution-record-repo.js +12 -0
- package/dist/store/sqlite/repositories/attribution-record-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/node-repo.d.ts +1 -0
- package/dist/store/sqlite/repositories/node-repo.js +47 -2
- package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
- package/dist/store/sqlite/repositories/scope-fingerprint-repo.d.ts +8 -0
- package/dist/store/sqlite/repositories/scope-fingerprint-repo.js +23 -0
- package/dist/store/sqlite/repositories/scope-fingerprint-repo.js.map +1 -0
- package/dist/store/sqlite/schema.sql +26 -0
- package/dist/store/vector/embeddings.d.ts +4 -2
- package/dist/store/vector/embeddings.js +19 -6
- package/dist/store/vector/embeddings.js.map +1 -1
- package/dist/store/vector/local-provider.d.ts +1 -1
- package/dist/store/vector/local-provider.js +40 -8
- package/dist/store/vector/local-provider.js.map +1 -1
- package/dist/store/vector/offline-manifest.d.ts +7 -0
- package/dist/store/vector/offline-manifest.js +162 -0
- package/dist/store/vector/offline-manifest.js.map +1 -0
- package/dist/store/vector/provider-types.d.ts +1 -0
- package/dist/types/domain.d.ts +112 -2
- package/dist/types/plugin.d.ts +1 -0
- package/docs/releases/v0.4.0.md +39 -0
- package/docs/releases/v0.4.1.md +22 -0
- package/docs/user-guide.md +119 -3
- package/openclaw.plugin.json +1 -1
- package/package.json +68 -68
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { loadConfig } from "../../config/load-config.js";
|
|
4
|
+
import { resolveExperienceEnginePaths } from "../../config/path-resolver.js";
|
|
5
|
+
import { ExperienceInteractionService } from "../../interaction/service.js";
|
|
6
|
+
import { ExperienceOperationalService } from "../../interaction/operational-service.js";
|
|
7
|
+
import { ExperienceOperationalActionsService, } from "../../interaction/operational-actions-service.js";
|
|
8
|
+
import { ExperienceStateArtifactService } from "../../interaction/state-artifact-service.js";
|
|
9
|
+
import { HygieneGovernanceApprovalService } from "../../maintenance/hygiene-governance-approvals.js";
|
|
10
|
+
import { bootstrapDatabase, openDatabase } from "../../store/sqlite/db.js";
|
|
11
|
+
import { fetchLatestGitHubReleaseStatus } from "../../version/remote-release.js";
|
|
12
|
+
import { createCodexActionRegistry } from "./action-registry.js";
|
|
13
|
+
import { createCodexBrokerFacade, executeCodexActionSchema, listCodexActionsSchema, prepareCodexActionSchema } from "../codex/broker-tools.js";
|
|
14
|
+
import { createSharedBehaviorLoop } from "./behavior-loop.js";
|
|
15
|
+
import { SURFACE_TIER_DEFINITIONS } from "../../interaction/surface-tiers.js";
|
|
16
|
+
const NODE_STATES = ["candidate", "priority_candidate", "active", "cooling", "retired"];
|
|
17
|
+
const NODE_TYPES = ["strategy", "warning"];
|
|
18
|
+
const EXPERIENCE_ADAPTERS = ["openclaw", "claude-code", "codex", "antigravity"];
|
|
19
|
+
const createSharedConfig = (adapter, options = {}) => {
|
|
20
|
+
const paths = resolveExperienceEnginePaths({
|
|
21
|
+
adapter,
|
|
22
|
+
env: options.env ?? process.env,
|
|
23
|
+
homeDir: options.homeDir
|
|
24
|
+
});
|
|
25
|
+
return loadConfig({
|
|
26
|
+
dataDir: paths.dataDir,
|
|
27
|
+
sqlitePath: paths.sqlitePath,
|
|
28
|
+
captureDir: paths.captureDir
|
|
29
|
+
}, {
|
|
30
|
+
env: options.env ?? process.env,
|
|
31
|
+
homeDir: options.homeDir
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
const buildExperienceCapabilities = () => ({
|
|
35
|
+
surface_tiers: {
|
|
36
|
+
routine: SURFACE_TIER_DEFINITIONS.routine.summary,
|
|
37
|
+
operator: SURFACE_TIER_DEFINITIONS.operator.summary,
|
|
38
|
+
advanced: SURFACE_TIER_DEFINITIONS.advanced.summary
|
|
39
|
+
},
|
|
40
|
+
core_actions: [
|
|
41
|
+
"experienceengine_lookup_hints",
|
|
42
|
+
"experienceengine_explain_last_decision",
|
|
43
|
+
"experienceengine_record_tool_result",
|
|
44
|
+
"experienceengine_finalize_task",
|
|
45
|
+
"experienceengine_feedback_last",
|
|
46
|
+
"experienceengine_get_capabilities",
|
|
47
|
+
"experienceengine_doctor"
|
|
48
|
+
],
|
|
49
|
+
routine_read_surfaces: [
|
|
50
|
+
"experienceengine://doctor/{adapter}",
|
|
51
|
+
"experienceengine://capabilities",
|
|
52
|
+
"experienceengine://last",
|
|
53
|
+
"experienceengine://repo-summary",
|
|
54
|
+
"experienceengine://review",
|
|
55
|
+
"experienceengine://hygiene",
|
|
56
|
+
"experienceengine://export-drafts",
|
|
57
|
+
"experienceengine://governance",
|
|
58
|
+
"experienceengine://governance/approvals"
|
|
59
|
+
],
|
|
60
|
+
routine_surfaces: [
|
|
61
|
+
"experienceengine_lookup_hints",
|
|
62
|
+
"experienceengine_explain_last_decision",
|
|
63
|
+
"experienceengine_feedback_last",
|
|
64
|
+
"experienceengine_get_capabilities",
|
|
65
|
+
"experienceengine://last",
|
|
66
|
+
"host-native review and helped/harmed feedback"
|
|
67
|
+
],
|
|
68
|
+
operator_surfaces: [
|
|
69
|
+
"experienceengine://doctor/{adapter}",
|
|
70
|
+
"experienceengine://repo-summary",
|
|
71
|
+
"experienceengine://review",
|
|
72
|
+
"experienceengine://hygiene",
|
|
73
|
+
"experienceengine://export-drafts",
|
|
74
|
+
"experienceengine://governance",
|
|
75
|
+
"experienceengine://governance/approvals",
|
|
76
|
+
"brokered install / repair / upgrade plans",
|
|
77
|
+
"brokered managed-state backup / export / import / rollback plans"
|
|
78
|
+
],
|
|
79
|
+
advanced_surfaces: [
|
|
80
|
+
"brokered node lifecycle and scope state actions",
|
|
81
|
+
"CLI maintenance commands",
|
|
82
|
+
"raw evaluation commands",
|
|
83
|
+
"developer diagnostics"
|
|
84
|
+
],
|
|
85
|
+
routine_read_surface_notes: {
|
|
86
|
+
quality_band: "Quality Band is a derived inspection model only. It explains strong/building/risky trust signals and does not mutate delivery state or gate injection by itself.",
|
|
87
|
+
"experienceengine://review": "Read-only operator workflow summary. Coordinates repo policy, hygiene, export drafts, and autonomous governance with drill-down references; it does not restore policy, mutate nodes, or write exports.",
|
|
88
|
+
"experienceengine://governance": "Read-only autonomous hygiene governance status. Routine governance is automatic; CLI maintenance is a fallback drain surface."
|
|
89
|
+
},
|
|
90
|
+
advanced_actions: [
|
|
91
|
+
"brokered admin actions",
|
|
92
|
+
"brokered maintenance actions",
|
|
93
|
+
"brokered inspect actions"
|
|
94
|
+
],
|
|
95
|
+
high_risk_actions: [
|
|
96
|
+
"install / repair / upgrade",
|
|
97
|
+
"backup / export / import / rollback"
|
|
98
|
+
],
|
|
99
|
+
surface_model: "public core loop + public routine reads + brokered long-tail actions"
|
|
100
|
+
});
|
|
101
|
+
const createSharedInteractionService = (adapter, options = {}) => {
|
|
102
|
+
return new ExperienceInteractionService(createSharedConfig(adapter, options));
|
|
103
|
+
};
|
|
104
|
+
const createSharedOperationalService = (options = {}) => {
|
|
105
|
+
if (!options.fetchImpl) {
|
|
106
|
+
return new ExperienceOperationalService();
|
|
107
|
+
}
|
|
108
|
+
return new ExperienceOperationalService({
|
|
109
|
+
fetchLatestGitHubReleaseStatus: (args = {}) => fetchLatestGitHubReleaseStatus({
|
|
110
|
+
...args,
|
|
111
|
+
fetchImpl: options.fetchImpl
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const createSharedOperationalActionsService = (options = {}) => options.operationalActionsService ?? new ExperienceOperationalActionsService(options.operationalActionsDeps);
|
|
116
|
+
const createSharedStateArtifactService = (options = {}) => options.stateArtifactService ??
|
|
117
|
+
new ExperienceStateArtifactService({
|
|
118
|
+
env: options.env ?? process.env,
|
|
119
|
+
homeDir: options.homeDir
|
|
120
|
+
});
|
|
121
|
+
const toTextToolResult = (result) => ({
|
|
122
|
+
content: [
|
|
123
|
+
{
|
|
124
|
+
type: "text",
|
|
125
|
+
text: JSON.stringify(result ?? null, null, 2)
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
});
|
|
129
|
+
const toNoticeAwareToolResult = (result) => ({
|
|
130
|
+
content: [
|
|
131
|
+
...(result.notice
|
|
132
|
+
? [
|
|
133
|
+
{
|
|
134
|
+
type: "text",
|
|
135
|
+
text: result.notice
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
: []),
|
|
139
|
+
{
|
|
140
|
+
type: "text",
|
|
141
|
+
text: JSON.stringify(result ?? null, null, 2)
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
structuredContent: result
|
|
145
|
+
});
|
|
146
|
+
const toStructuredToolResult = (result) => ({
|
|
147
|
+
content: [
|
|
148
|
+
{
|
|
149
|
+
type: "text",
|
|
150
|
+
text: JSON.stringify(result ?? null, null, 2)
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
structuredContent: result
|
|
154
|
+
});
|
|
155
|
+
const toJsonResourceResult = (uri, result) => ({
|
|
156
|
+
contents: [
|
|
157
|
+
{
|
|
158
|
+
uri,
|
|
159
|
+
mimeType: "application/json",
|
|
160
|
+
text: JSON.stringify(result ?? null, null, 2)
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
});
|
|
164
|
+
const parseNodeState = (value) => {
|
|
165
|
+
if (NODE_STATES.includes(value)) {
|
|
166
|
+
return value;
|
|
167
|
+
}
|
|
168
|
+
throw new Error(`Unsupported node state: ${value}`);
|
|
169
|
+
};
|
|
170
|
+
const parseNodeType = (value) => {
|
|
171
|
+
if (NODE_TYPES.includes(value)) {
|
|
172
|
+
return value;
|
|
173
|
+
}
|
|
174
|
+
throw new Error(`Unsupported node type: ${value}`);
|
|
175
|
+
};
|
|
176
|
+
const parseAdapter = (value) => {
|
|
177
|
+
if (EXPERIENCE_ADAPTERS.includes(value)) {
|
|
178
|
+
return value;
|
|
179
|
+
}
|
|
180
|
+
throw new Error(`Unsupported adapter: ${value}`);
|
|
181
|
+
};
|
|
182
|
+
export const createSharedInteractionSurface = (adapter, options = {}) => {
|
|
183
|
+
const interaction = createSharedInteractionService(adapter, options);
|
|
184
|
+
return {
|
|
185
|
+
async inspectLast() {
|
|
186
|
+
return interaction.inspectLast();
|
|
187
|
+
},
|
|
188
|
+
async inspectRecent(args = {}) {
|
|
189
|
+
return interaction.inspectRecent({
|
|
190
|
+
injectedOnly: args.mode === "injected",
|
|
191
|
+
limit: args.limit ?? 10
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
async listActiveNodes() {
|
|
195
|
+
return interaction.listActiveNodes();
|
|
196
|
+
},
|
|
197
|
+
async inspectNode(args) {
|
|
198
|
+
return interaction.inspectNode(args.nodeId);
|
|
199
|
+
},
|
|
200
|
+
async listNodesByState(args) {
|
|
201
|
+
return interaction.listNodesByState(args.state);
|
|
202
|
+
},
|
|
203
|
+
async listNodesByType(args) {
|
|
204
|
+
return interaction.listNodesByType(args.nodeType);
|
|
205
|
+
},
|
|
206
|
+
async inspectLearningSummary() {
|
|
207
|
+
return interaction.inspectLearningSummary();
|
|
208
|
+
},
|
|
209
|
+
async inspectRepoSummary(args = {}) {
|
|
210
|
+
return interaction.inspectRepoSummary(args.cwd);
|
|
211
|
+
},
|
|
212
|
+
async inspectReview(args = {}) {
|
|
213
|
+
return interaction.inspectReview(args.cwd, { limit: args.limit });
|
|
214
|
+
},
|
|
215
|
+
async inspectGovernance(args = {}) {
|
|
216
|
+
return interaction.inspectGovernance(args.cwd);
|
|
217
|
+
},
|
|
218
|
+
async inspectGovernancePendingApprovals(args = {}) {
|
|
219
|
+
return interaction.inspectGovernancePendingApprovals(args.cwd);
|
|
220
|
+
},
|
|
221
|
+
async inspectHygiene(args = {}) {
|
|
222
|
+
const { cwd, ...filters } = args;
|
|
223
|
+
return interaction.inspectHygiene(cwd ?? process.cwd(), filters);
|
|
224
|
+
},
|
|
225
|
+
async inspectExportDrafts(args = {}) {
|
|
226
|
+
const { cwd, ...filters } = args;
|
|
227
|
+
return interaction.inspectExportDrafts(cwd ?? process.cwd(), filters);
|
|
228
|
+
},
|
|
229
|
+
async explainLastDecision(args) {
|
|
230
|
+
return interaction.explainLastDecision(args.cwd, args.userMessage);
|
|
231
|
+
},
|
|
232
|
+
async feedbackLast(args) {
|
|
233
|
+
return interaction.feedbackLast(args.feedback);
|
|
234
|
+
},
|
|
235
|
+
async feedbackNode(args) {
|
|
236
|
+
return interaction.feedbackNode(args.nodeId, args.feedback);
|
|
237
|
+
},
|
|
238
|
+
async disableScope(args = {}) {
|
|
239
|
+
return interaction.disableScope(args.cwd);
|
|
240
|
+
},
|
|
241
|
+
async enableScope(args = {}) {
|
|
242
|
+
return interaction.enableScope(args.cwd);
|
|
243
|
+
},
|
|
244
|
+
async coolNode(args) {
|
|
245
|
+
return interaction.coolNode(args.nodeId);
|
|
246
|
+
},
|
|
247
|
+
async retireNode(args) {
|
|
248
|
+
return interaction.retireNode(args.nodeId);
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
export const createSharedMcpServer = (adapter, options = {}) => {
|
|
253
|
+
const behaviorLoop = createSharedBehaviorLoop(adapter, options);
|
|
254
|
+
const interactionSurface = createSharedInteractionSurface(adapter, options);
|
|
255
|
+
const operationalSurface = createSharedOperationalService(options);
|
|
256
|
+
const operationalActions = createSharedOperationalActionsService(options);
|
|
257
|
+
const stateArtifacts = createSharedStateArtifactService(options);
|
|
258
|
+
const config = createSharedConfig(adapter, options);
|
|
259
|
+
const governanceApprovalsDb = openDatabase(config);
|
|
260
|
+
bootstrapDatabase(governanceApprovalsDb);
|
|
261
|
+
const governanceApprovals = new HygieneGovernanceApprovalService(governanceApprovalsDb);
|
|
262
|
+
const actionRegistry = createCodexActionRegistry({
|
|
263
|
+
interactionSurface,
|
|
264
|
+
operationalSurface,
|
|
265
|
+
operationalActions,
|
|
266
|
+
stateArtifacts,
|
|
267
|
+
governanceApprovals: {
|
|
268
|
+
planApproval: async (approvalId) => governanceApprovals.planApproval(approvalId),
|
|
269
|
+
executeApproval: async (args) => governanceApprovals.executeApproval(args),
|
|
270
|
+
rejectApproval: async (approvalId) => governanceApprovals.rejectApproval(approvalId)
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
const brokerFacade = createCodexBrokerFacade(actionRegistry);
|
|
274
|
+
const server = new McpServer({
|
|
275
|
+
name: "experienceengine",
|
|
276
|
+
version: "0.3.4"
|
|
277
|
+
});
|
|
278
|
+
server.registerResource("experienceengine_doctor", new ResourceTemplate("experienceengine://doctor/{adapter}", {
|
|
279
|
+
list: undefined,
|
|
280
|
+
complete: {
|
|
281
|
+
adapter: () => [...EXPERIENCE_ADAPTERS]
|
|
282
|
+
}
|
|
283
|
+
}), {
|
|
284
|
+
title: "ExperienceEngine Doctor",
|
|
285
|
+
description: "Structured ExperienceEngine adapter health and installation state.",
|
|
286
|
+
mimeType: "application/json"
|
|
287
|
+
}, async (uri, variables) => toJsonResourceResult(uri.toString(), await operationalSurface.inspectDoctor(parseAdapter(String(variables.adapter)))));
|
|
288
|
+
server.registerResource("experienceengine_last", "experienceengine://last", {
|
|
289
|
+
title: "ExperienceEngine Last Interaction",
|
|
290
|
+
description: "The most recent persisted ExperienceEngine input record and any injected nodes.",
|
|
291
|
+
mimeType: "application/json"
|
|
292
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectLast()));
|
|
293
|
+
server.registerResource("experienceengine_capabilities", "experienceengine://capabilities", {
|
|
294
|
+
title: "ExperienceEngine Capabilities",
|
|
295
|
+
description: "Agent-first overview of ExperienceEngine MCP tools, routine reads, brokered actions, and fallback boundaries.",
|
|
296
|
+
mimeType: "application/json"
|
|
297
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), buildExperienceCapabilities()));
|
|
298
|
+
server.registerResource("experienceengine_repo_summary", "experienceengine://repo-summary", {
|
|
299
|
+
title: "ExperienceEngine Repo Summary",
|
|
300
|
+
description: "Repo-level ExperienceEngine summary for the current scope, including benchmark and next action.",
|
|
301
|
+
mimeType: "application/json"
|
|
302
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectRepoSummary()));
|
|
303
|
+
server.registerResource("experienceengine_review", "experienceengine://review", {
|
|
304
|
+
title: "ExperienceEngine Operator Review",
|
|
305
|
+
description: "Read-only operator review workflow across repo policy, hygiene, and export drafts. Includes advisory drill-down references only.",
|
|
306
|
+
mimeType: "application/json"
|
|
307
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectReview()));
|
|
308
|
+
server.registerResource("experienceengine_hygiene", "experienceengine://hygiene", {
|
|
309
|
+
title: "ExperienceEngine Hygiene",
|
|
310
|
+
description: "Read-only ExperienceEngine hygiene findings for the current scope.",
|
|
311
|
+
mimeType: "application/json"
|
|
312
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectHygiene()));
|
|
313
|
+
server.registerResource("experienceengine_export_drafts", "experienceengine://export-drafts", {
|
|
314
|
+
title: "ExperienceEngine Export Drafts",
|
|
315
|
+
description: "Read-only review packages for guidance export drafts in the current scope.",
|
|
316
|
+
mimeType: "application/json"
|
|
317
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectExportDrafts()));
|
|
318
|
+
server.registerResource("experienceengine_governance", "experienceengine://governance", {
|
|
319
|
+
title: "ExperienceEngine Governance",
|
|
320
|
+
description: "Read-only autonomous hygiene governance status for the current scope.",
|
|
321
|
+
mimeType: "application/json"
|
|
322
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectGovernance()));
|
|
323
|
+
server.registerResource("experienceengine_governance_approvals", "experienceengine://governance/approvals", {
|
|
324
|
+
title: "ExperienceEngine Governance Pending Approvals",
|
|
325
|
+
description: "Read-only legacy pending autonomous governance approvals for the current scope.",
|
|
326
|
+
mimeType: "application/json"
|
|
327
|
+
}, async (uri) => toJsonResourceResult(uri.toString(), await interactionSurface.inspectGovernancePendingApprovals()));
|
|
328
|
+
server.registerTool("experienceengine_list_actions", {
|
|
329
|
+
title: "ExperienceEngine List Actions",
|
|
330
|
+
description: "List brokered EE long-tail actions without exposing full schemas.",
|
|
331
|
+
inputSchema: listCodexActionsSchema
|
|
332
|
+
}, async (args) => toStructuredToolResult(brokerFacade.listActions(args)));
|
|
333
|
+
server.registerTool("experienceengine_prepare_action", {
|
|
334
|
+
title: "ExperienceEngine Prepare Action",
|
|
335
|
+
description: "Read detailed metadata for one brokered EE action.",
|
|
336
|
+
inputSchema: prepareCodexActionSchema
|
|
337
|
+
}, async (args) => toStructuredToolResult(brokerFacade.prepareAction(args)));
|
|
338
|
+
server.registerTool("experienceengine_execute_action", {
|
|
339
|
+
title: "ExperienceEngine Execute Action",
|
|
340
|
+
description: "Execute one brokered EE action through the internal action registry.",
|
|
341
|
+
inputSchema: executeCodexActionSchema
|
|
342
|
+
}, async (args) => toStructuredToolResult(await brokerFacade.executeAction(args)));
|
|
343
|
+
server.registerTool("experienceengine_doctor", {
|
|
344
|
+
title: "ExperienceEngine Doctor",
|
|
345
|
+
description: "Inspect structured ExperienceEngine adapter health and installation state.",
|
|
346
|
+
inputSchema: z.object({
|
|
347
|
+
adapter: z.enum(EXPERIENCE_ADAPTERS)
|
|
348
|
+
}),
|
|
349
|
+
annotations: {
|
|
350
|
+
readOnlyHint: true,
|
|
351
|
+
openWorldHint: false
|
|
352
|
+
}
|
|
353
|
+
}, async ({ adapter }) => toTextToolResult(await operationalSurface.inspectDoctor(adapter)));
|
|
354
|
+
server.registerTool("experienceengine_get_capabilities", {
|
|
355
|
+
title: "ExperienceEngine Capabilities",
|
|
356
|
+
description: "Read the current ExperienceEngine MCP capabilities, including direct tools, routine reads, brokered actions, and CLI-only fallbacks.",
|
|
357
|
+
inputSchema: z.object({}),
|
|
358
|
+
annotations: {
|
|
359
|
+
readOnlyHint: true,
|
|
360
|
+
openWorldHint: false
|
|
361
|
+
}
|
|
362
|
+
}, async () => toStructuredToolResult(buildExperienceCapabilities()));
|
|
363
|
+
server.registerTool("experienceengine_explain_last_decision", {
|
|
364
|
+
title: "ExperienceEngine Explain Last Decision",
|
|
365
|
+
description: "Explain why the latest ExperienceEngine intervention matched or stayed quiet for the current workspace.",
|
|
366
|
+
inputSchema: z.object({
|
|
367
|
+
cwd: z.string().optional(),
|
|
368
|
+
userMessage: z.string().min(1)
|
|
369
|
+
}),
|
|
370
|
+
annotations: {
|
|
371
|
+
readOnlyHint: true,
|
|
372
|
+
openWorldHint: false
|
|
373
|
+
}
|
|
374
|
+
}, async ({ cwd, userMessage }) => toTextToolResult(await interactionSurface.explainLastDecision({ cwd, userMessage })));
|
|
375
|
+
server.registerTool("experienceengine_lookup_hints", {
|
|
376
|
+
title: "ExperienceEngine Lookup Hints",
|
|
377
|
+
description: "Use once at task start for a real coding or debugging task to check whether ExperienceEngine has relevant prior guidance.",
|
|
378
|
+
inputSchema: z.object({
|
|
379
|
+
cwd: z.string().optional(),
|
|
380
|
+
prompt: z.string().min(1),
|
|
381
|
+
sessionId: z.string().optional()
|
|
382
|
+
})
|
|
383
|
+
}, async ({ cwd, prompt, sessionId }) => toNoticeAwareToolResult(await behaviorLoop.lookupHints({ cwd, prompt, sessionId })));
|
|
384
|
+
server.registerTool("experienceengine_record_tool_result", {
|
|
385
|
+
title: "ExperienceEngine Record Tool Result",
|
|
386
|
+
description: "Record only important tool outcomes that changed the task direction, especially notable shell, test, build, or edit results, before finalization.",
|
|
387
|
+
inputSchema: z.object({
|
|
388
|
+
sessionId: z.string().min(1),
|
|
389
|
+
toolName: z.string().min(1),
|
|
390
|
+
inputSummary: z.string().optional(),
|
|
391
|
+
outputSummary: z.string().optional(),
|
|
392
|
+
errorSignature: z.string().optional(),
|
|
393
|
+
exitCode: z.number().int().optional(),
|
|
394
|
+
status: z.enum(["success", "failure", "unknown"]).optional()
|
|
395
|
+
})
|
|
396
|
+
}, async (args) => toTextToolResult(await behaviorLoop.recordToolResult(args)));
|
|
397
|
+
server.registerTool("experienceengine_finalize_task", {
|
|
398
|
+
title: "ExperienceEngine Finalize Task",
|
|
399
|
+
description: "Call at task end after hint lookup and any important tool-result recording to persist the learning loop outcome. Omit prompt when the task is unchanged from the earlier lookup in the same session.",
|
|
400
|
+
inputSchema: z.object({
|
|
401
|
+
sessionId: z.string().min(1),
|
|
402
|
+
cwd: z.string().optional(),
|
|
403
|
+
prompt: z.string().min(1).optional(),
|
|
404
|
+
contextSummary: z.string().optional()
|
|
405
|
+
})
|
|
406
|
+
}, async (args) => toTextToolResult(await behaviorLoop.finalizeTask(args)));
|
|
407
|
+
server.registerTool("experienceengine_feedback_last", {
|
|
408
|
+
title: "ExperienceEngine Feedback Last",
|
|
409
|
+
description: "Record helped or harmed feedback after injected guidance for the last injected ExperienceEngine node set.",
|
|
410
|
+
inputSchema: z.object({
|
|
411
|
+
feedback: z.enum(["helped", "harmed"])
|
|
412
|
+
}),
|
|
413
|
+
outputSchema: z.object({
|
|
414
|
+
status: z.enum(["updated", "not_found"]),
|
|
415
|
+
feedback: z.enum(["helped", "harmed"]).optional(),
|
|
416
|
+
nodeIds: z.array(z.string()).optional(),
|
|
417
|
+
reason: z.enum(["last_injected_missing", "node_missing"]).optional(),
|
|
418
|
+
nodeId: z.string().optional()
|
|
419
|
+
})
|
|
420
|
+
}, async ({ feedback }) => toStructuredToolResult(await interactionSurface.feedbackLast({ feedback })));
|
|
421
|
+
return server;
|
|
422
|
+
};
|
|
423
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/shared-mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type SpawnSyncReturns } from "node:child_process";
|
|
2
|
+
import { ensureAntigravityProjectWiring } from "../../install/antigravity.js";
|
|
3
|
+
import { inspectAntigravityGlobalWiring } from "../../install/antigravity-global-wiring.js";
|
|
4
|
+
type SpawnSyncResult = Pick<SpawnSyncReturns<string | Buffer>, "status" | "signal" | "error">;
|
|
5
|
+
type AgyExecDeps = {
|
|
6
|
+
ensureAntigravityProjectWiring?: typeof ensureAntigravityProjectWiring;
|
|
7
|
+
inspectAntigravityGlobalWiring?: typeof inspectAntigravityGlobalWiring;
|
|
8
|
+
spawnSync?: (command: string, args: string[], options: {
|
|
9
|
+
cwd: string;
|
|
10
|
+
env: NodeJS.ProcessEnv;
|
|
11
|
+
stdio: "inherit";
|
|
12
|
+
}) => SpawnSyncResult;
|
|
13
|
+
cwd?: () => string;
|
|
14
|
+
env?: () => NodeJS.ProcessEnv;
|
|
15
|
+
};
|
|
16
|
+
type ParsedAgyExecArgs = {
|
|
17
|
+
cwd: string;
|
|
18
|
+
prompt?: string;
|
|
19
|
+
passthroughArgs: string[];
|
|
20
|
+
};
|
|
21
|
+
export declare const parseAgyExecArgs: (args: string[], currentWorkingDirectory?: string) => ParsedAgyExecArgs;
|
|
22
|
+
export declare const runAgyCommand: (subcommand?: string, args?: string[], deps?: AgyExecDeps) => Promise<void>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { spawnSync as nodeSpawnSync } from "node:child_process";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { ensureAntigravityProjectWiring } from "../../install/antigravity.js";
|
|
4
|
+
import { inspectAntigravityGlobalWiring } from "../../install/antigravity-global-wiring.js";
|
|
5
|
+
const usageText = 'Usage: ee agy exec [-C <project>] [agy options...] "<prompt>"';
|
|
6
|
+
const FLAGS_WITH_VALUE = new Set(["-C", "--cd", "--add-dir", "--log-file", "--print-timeout", "--sandbox"]);
|
|
7
|
+
const printUsage = () => {
|
|
8
|
+
console.log(usageText);
|
|
9
|
+
};
|
|
10
|
+
export const parseAgyExecArgs = (args, currentWorkingDirectory = process.cwd()) => {
|
|
11
|
+
let cwd = currentWorkingDirectory;
|
|
12
|
+
const passthroughArgs = [];
|
|
13
|
+
let prompt;
|
|
14
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
15
|
+
const token = args[index];
|
|
16
|
+
if (!token) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (token === "-C" || token === "--cd") {
|
|
20
|
+
const next = args[index + 1];
|
|
21
|
+
if (next) {
|
|
22
|
+
cwd = resolve(currentWorkingDirectory, next);
|
|
23
|
+
index += 1;
|
|
24
|
+
}
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (token.startsWith("--cd=")) {
|
|
28
|
+
cwd = resolve(currentWorkingDirectory, token.slice("--cd=".length));
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (token === "--") {
|
|
32
|
+
passthroughArgs.push(...args.slice(index + 1, -1));
|
|
33
|
+
prompt = args.at(-1);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
if (index === args.length - 1 && !(args[index - 1] && FLAGS_WITH_VALUE.has(args[index - 1]))) {
|
|
37
|
+
prompt = token;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
passthroughArgs.push(token);
|
|
41
|
+
}
|
|
42
|
+
return { cwd, prompt, passthroughArgs };
|
|
43
|
+
};
|
|
44
|
+
export const runAgyCommand = async (subcommand, args = [], deps = {}) => {
|
|
45
|
+
if (subcommand !== "exec") {
|
|
46
|
+
printUsage();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const currentWorkingDirectory = (deps.cwd ?? (() => process.cwd()))();
|
|
50
|
+
const env = (deps.env ?? (() => process.env))();
|
|
51
|
+
const parsed = parseAgyExecArgs(args, currentWorkingDirectory);
|
|
52
|
+
if (!parsed.prompt?.trim()) {
|
|
53
|
+
printUsage();
|
|
54
|
+
process.exitCode = 1;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const globalWiring = (deps.inspectAntigravityGlobalWiring ?? inspectAntigravityGlobalWiring)({
|
|
58
|
+
cwd: parsed.cwd,
|
|
59
|
+
env
|
|
60
|
+
});
|
|
61
|
+
if (!globalWiring.hooksRegistered) {
|
|
62
|
+
await (deps.ensureAntigravityProjectWiring ?? ensureAntigravityProjectWiring)({
|
|
63
|
+
cwd: parsed.cwd,
|
|
64
|
+
env
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const childArgs = [
|
|
68
|
+
"--add-dir",
|
|
69
|
+
parsed.cwd,
|
|
70
|
+
"--print",
|
|
71
|
+
"--dangerously-skip-permissions",
|
|
72
|
+
"--print-timeout",
|
|
73
|
+
"5m",
|
|
74
|
+
...parsed.passthroughArgs,
|
|
75
|
+
parsed.prompt
|
|
76
|
+
];
|
|
77
|
+
const result = (deps.spawnSync ?? nodeSpawnSync)("agy", childArgs, {
|
|
78
|
+
cwd: parsed.cwd,
|
|
79
|
+
env: {
|
|
80
|
+
...env,
|
|
81
|
+
EXPERIENCE_ENGINE_PROJECT_CWD: parsed.cwd,
|
|
82
|
+
EXPERIENCE_ENGINE_PROMPT: parsed.prompt
|
|
83
|
+
},
|
|
84
|
+
stdio: "inherit"
|
|
85
|
+
});
|
|
86
|
+
if (typeof result.status === "number") {
|
|
87
|
+
process.exitCode = result.status;
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
process.exitCode = result.error || result.signal ? 1 : 0;
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=agy-exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agy-exec.js","sourceRoot":"","sources":["../../../src/cli/commands/agy-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAE5F,MAAM,SAAS,GAAG,+DAA+D,CAAC;AA0BlF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;AAE5G,MAAM,UAAU,GAAG,GAAS,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE,EAAqB,EAAE;IAC7G,IAAI,GAAG,GAAG,uBAAuB,CAAC;IAClC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,MAA0B,CAAC;IAE/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,GAAG,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;gBAC7C,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,GAAG,GAAG,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAW,CAAC,CAAC,EAAE,CAAC;YACvG,MAAM,GAAG,KAAK,CAAC;YACf,SAAS;QACX,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,UAAmB,EAAE,OAAiB,EAAE,EAAE,OAAoB,EAAE,EAAiB,EAAE;IACrH,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3B,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,8BAA8B,CAAC,CAAC;QAC3F,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,8BAA8B,CAAC,CAAC;YAC5E,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,WAAW;QACX,MAAM,CAAC,GAAG;QACV,SAAS;QACT,gCAAgC;QAChC,iBAAiB;QACjB,IAAI;QACJ,GAAG,MAAM,CAAC,eAAe;QACzB,MAAM,CAAC,MAAM;KACd,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE;QACjE,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE;YACH,GAAG,GAAG;YACN,6BAA6B,EAAE,MAAM,CAAC,GAAG;YACzC,wBAAwB,EAAE,MAAM,CAAC,MAAM;SACxC;QACD,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare const handleAntigravityHookPayload: (eventName: string, payload: any, behaviorLoop?: {
|
|
2
|
+
lookupHints(args: import("../../adapters/shared-mcp/behavior-loop.js").SharedLookupArgs): Promise<{
|
|
3
|
+
mode: import("../../index.js").InjectionMode;
|
|
4
|
+
text: string | undefined;
|
|
5
|
+
notice: string | undefined;
|
|
6
|
+
injectedNodeIds: string[] | never[];
|
|
7
|
+
summary: {
|
|
8
|
+
mode: string | undefined;
|
|
9
|
+
interventionStrength: string | undefined;
|
|
10
|
+
riskLevel: string | undefined;
|
|
11
|
+
recommendation: string | undefined;
|
|
12
|
+
actionReason: string | undefined;
|
|
13
|
+
trustSummary: string | undefined;
|
|
14
|
+
retrievalNotes: string[];
|
|
15
|
+
retrievalPolicySummary: import("../../interaction/retrieval-policy-inspection.js").RetrievalPolicyInspectionSummary | undefined;
|
|
16
|
+
confidence: string | undefined;
|
|
17
|
+
budgetClass: string | undefined;
|
|
18
|
+
selectedCandidateIds: string[] | undefined;
|
|
19
|
+
rejectedCandidates: {
|
|
20
|
+
id: string;
|
|
21
|
+
reasonCodes: string[] | undefined;
|
|
22
|
+
}[];
|
|
23
|
+
reasons: string[] | undefined;
|
|
24
|
+
nodes: {
|
|
25
|
+
id: string;
|
|
26
|
+
state: string | undefined;
|
|
27
|
+
riskLevel: string | undefined;
|
|
28
|
+
helped: number | undefined;
|
|
29
|
+
harmed: number | undefined;
|
|
30
|
+
}[];
|
|
31
|
+
} | undefined;
|
|
32
|
+
deliveryMode: import("../../index.js").EvaluationMode | undefined;
|
|
33
|
+
delivered: boolean | undefined;
|
|
34
|
+
}>;
|
|
35
|
+
signalHostEvent(args: import("../../adapters/shared-mcp/behavior-loop.js").SharedHostEventArgs): Promise<{
|
|
36
|
+
status: "disabled" | "queued" | "skipped";
|
|
37
|
+
reason?: "not_due" | "backoff";
|
|
38
|
+
scopeId?: string;
|
|
39
|
+
}>;
|
|
40
|
+
recordToolResult(args: import("../../adapters/shared-mcp/behavior-loop.js").SharedToolResultArgs): Promise<{
|
|
41
|
+
status: string;
|
|
42
|
+
toolName: string;
|
|
43
|
+
eventStatus: import("../../index.js").ToolEventStatus;
|
|
44
|
+
hasErrorSignature: boolean;
|
|
45
|
+
exitCode: number | undefined;
|
|
46
|
+
}>;
|
|
47
|
+
finalizeTask(args: import("../../adapters/shared-mcp/behavior-loop.js").SharedFinalizeArgs): Promise<{
|
|
48
|
+
status: string;
|
|
49
|
+
taskType: import("../../index.js").ResolvedTaskType;
|
|
50
|
+
outcomeSignal: import("../../index.js").OutcomeSignal;
|
|
51
|
+
injectedNodeIds: string[];
|
|
52
|
+
recordedToolEvents: number;
|
|
53
|
+
feedbackHint: string | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
waitForBackgroundLearning(): Promise<void>;
|
|
56
|
+
}) => Promise<any>;
|
|
57
|
+
export declare const resolveAntigravityHookEventName: (eventNameArg?: string, argv?: string[]) => string;
|
|
58
|
+
export declare const runAntigravityHookCommand: (eventNameArg?: string) => Promise<void>;
|