@alan512/experienceengine 0.4.0 → 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 +8 -2
- package/README.zh-CN.md +8 -2
- 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 +104 -3
- package/dist/cli/commands/doctor.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/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/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/types/domain.d.ts +1 -1
- package/docs/releases/v0.4.1.md +22 -0
- package/docs/user-guide.md +78 -3
- package/package.json +68 -68
|
@@ -2,7 +2,8 @@ import { spawnSync } from "node:child_process";
|
|
|
2
2
|
const HOSTS = [
|
|
3
3
|
{ id: "codex", label: "Codex", command: "codex" },
|
|
4
4
|
{ id: "claude-code", label: "Claude Code", command: "claude" },
|
|
5
|
-
{ id: "openclaw", label: "OpenClaw", command: "openclaw" }
|
|
5
|
+
{ id: "openclaw", label: "OpenClaw", command: "openclaw" },
|
|
6
|
+
{ id: "antigravity", label: "Google Antigravity", command: "agy" }
|
|
6
7
|
];
|
|
7
8
|
const commandExists = (command) => {
|
|
8
9
|
const lookupCommand = process.platform === "win32" ? "where" : "which";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-detection.js","sourceRoot":"","sources":["../../src/install/host-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,MAAM,KAAK,GAAmB;IAC5B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACjD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC9D,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"host-detection.js","sourceRoot":"","sources":["../../src/install/host-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,MAAM,KAAK,GAAmB;IAC5B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACjD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC9D,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE;IAC1D,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE;CACnE,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAe,EAAW,EAAE;IACjD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;QACjD,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAmB,EAAE,CACvD,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAA4B,EAAE,CACzE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC"}
|
|
@@ -23,10 +23,12 @@ export declare const buildHostInstallGuidance: (packageSpec?: string) => {
|
|
|
23
23
|
openclaw: PendingInstallGuidance | ReadyInstallGuidance;
|
|
24
24
|
codex: PendingInstallGuidance | ReadyInstallGuidance;
|
|
25
25
|
"claude-code": PendingInstallGuidance | ReadyInstallGuidance;
|
|
26
|
+
antigravity: PendingInstallGuidance | ReadyInstallGuidance;
|
|
26
27
|
};
|
|
27
28
|
export declare const buildHostPostInstallOrientation: () => {
|
|
28
29
|
openclaw: PostInstallOrientation;
|
|
29
30
|
codex: PostInstallOrientation;
|
|
30
31
|
"claude-code": PostInstallOrientation;
|
|
32
|
+
antigravity: PostInstallOrientation;
|
|
31
33
|
};
|
|
32
34
|
export {};
|
|
@@ -20,6 +20,10 @@ export const buildHostInstallGuidance = (packageSpec = "@alan512/experienceengin
|
|
|
20
20
|
"claude-code": {
|
|
21
21
|
ready: true,
|
|
22
22
|
commands: [buildClaudeMarketplaceAddCommand(), buildClaudePluginInstallCommand()]
|
|
23
|
+
},
|
|
24
|
+
antigravity: {
|
|
25
|
+
ready: true,
|
|
26
|
+
commands: ["ee install antigravity", "ee agy exec -C <project-path> \"<prompt>\""]
|
|
23
27
|
}
|
|
24
28
|
});
|
|
25
29
|
export const buildHostPostInstallOrientation = () => ({
|
|
@@ -34,6 +38,10 @@ export const buildHostPostInstallOrientation = () => ({
|
|
|
34
38
|
"claude-code": {
|
|
35
39
|
setupState: "Installed",
|
|
36
40
|
nextStep: "Start a new Claude Code session. If shared ExperienceEngine state is not initialized yet, run `ee init` before your first real task."
|
|
41
|
+
},
|
|
42
|
+
antigravity: {
|
|
43
|
+
setupState: "Installed",
|
|
44
|
+
nextStep: "Start Agent Desktop in any project, or use `ee agy exec -C <project-path>` for headless CLI runs. If shared ExperienceEngine state is not initialized yet, run `ee init` before your first real task."
|
|
37
45
|
}
|
|
38
46
|
});
|
|
39
47
|
//# sourceMappingURL=public-install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-install.js","sourceRoot":"","sources":["../../src/install/public-install.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,WAAW,GAAG,2BAA2B,EAAU,EAAE,CACrG,4BAA4B,WAAW,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAAY,GAAG,2BAA2B,EAC1C,YAAY,GAAG,yBAAyB,EAChC,EAAE,CAAC,kBAAkB,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAW,GAAG,2BAA2B,EACzC,WAAW,GAAG,yBAAyB,EAC/B,EAAE,CACV,+DAA+D,WAAW,cAAc,WAAW,mBAAmB,CAAC;AAEzH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAA4B;IACvE,kBAAkB;IAClB,aAAa;IACb,MAAM;CACP,EAAU,EAAE,CACX,gEAAgE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAExF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,IAAI,GAAG,kDAAkD,EACjD,EAAE,CACV,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,UAAU,GAAG,kBAAkB,EAC/B,eAAe,GAAG,kBAAkB,EAC5B,EAAE,CAAC,mBAAmB,UAAU,IAAI,eAAe,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,WAAW,GAAG,2BAA2B,
|
|
1
|
+
{"version":3,"file":"public-install.js","sourceRoot":"","sources":["../../src/install/public-install.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,WAAW,GAAG,2BAA2B,EAAU,EAAE,CACrG,4BAA4B,WAAW,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAAY,GAAG,2BAA2B,EAC1C,YAAY,GAAG,yBAAyB,EAChC,EAAE,CAAC,kBAAkB,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAW,GAAG,2BAA2B,EACzC,WAAW,GAAG,yBAAyB,EAC/B,EAAE,CACV,+DAA+D,WAAW,cAAc,WAAW,mBAAmB,CAAC;AAEzH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,SAA4B;IACvE,kBAAkB;IAClB,aAAa;IACb,MAAM;CACP,EAAU,EAAE,CACX,gEAAgE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAExF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,IAAI,GAAG,kDAAkD,EACjD,EAAE,CACV,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,UAAU,GAAG,kBAAkB,EAC/B,eAAe,GAAG,kBAAkB,EAC5B,EAAE,CAAC,mBAAmB,UAAU,IAAI,eAAe,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,WAAW,GAAG,2BAA2B,EAMzC,EAAE,CAAC,CAAC;IACJ,QAAQ,EAAE;QACR,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,iCAAiC,CAAC,WAAW,CAAC;KACxD;IACD,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,8BAA8B,CAAC,WAAW,CAAC,EAAE,+BAA+B,CAAC,WAAW,CAAC,CAAC;KACtG;IACD,aAAa,EAAE;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,gCAAgC,EAAE,EAAE,+BAA+B,EAAE,CAAC;KAClF;IACD,WAAW,EAAE;QACX,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC,wBAAwB,EAAE,4CAA4C,CAAC;KACnF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAK7C,EAAE,CAAC,CAAC;IACJ,QAAQ,EAAE;QACR,UAAU,EAAE,WAAW;QACvB,QAAQ,EACN,mIAAmI;KACtI;IACD,KAAK,EAAE;QACL,UAAU,EAAE,WAAW;QACvB,QAAQ,EACN,6IAA6I;KAChJ;IACD,aAAa,EAAE;QACb,UAAU,EAAE,WAAW;QACvB,QAAQ,EACN,sIAAsI;KACzI;IACD,WAAW,EAAE;QACX,UAAU,EAAE,WAAW;QACvB,QAAQ,EACN,uMAAuM;KAC1M;CACF,CAAC,CAAC"}
|
|
@@ -28,12 +28,15 @@ type PlannedOperation = {
|
|
|
28
28
|
};
|
|
29
29
|
export type OperationalActionsDeps = {
|
|
30
30
|
inspectOpenClawInstall?: () => VersionInspection;
|
|
31
|
-
installOpenClawAdapter?: () => OpenClawInstallResult
|
|
32
|
-
repairOpenClawAdapter?: () => OpenClawInstallResult
|
|
31
|
+
installOpenClawAdapter?: () => OpenClawInstallResult | Promise<OpenClawInstallResult>;
|
|
32
|
+
repairOpenClawAdapter?: () => OpenClawInstallResult | Promise<OpenClawInstallResult>;
|
|
33
33
|
inspectClaudeCodeInstall?: () => VersionInspection;
|
|
34
|
-
installClaudeCodeAdapter?: () => InstallResult
|
|
34
|
+
installClaudeCodeAdapter?: () => InstallResult | Promise<InstallResult>;
|
|
35
35
|
inspectCodexInstall?: () => VersionInspection;
|
|
36
|
-
installCodexAdapter?: () => InstallResult
|
|
36
|
+
installCodexAdapter?: () => InstallResult | Promise<InstallResult>;
|
|
37
|
+
inspectAntigravityInstall?: () => VersionInspection;
|
|
38
|
+
installAntigravityAdapter?: () => InstallResult | Promise<InstallResult>;
|
|
39
|
+
repairAntigravityAdapter?: () => InstallResult | Promise<InstallResult>;
|
|
37
40
|
tokenFactory?: PlanTokenFactory;
|
|
38
41
|
now?: () => string;
|
|
39
42
|
};
|
|
@@ -65,6 +68,6 @@ export declare class ExperienceOperationalActionsService {
|
|
|
65
68
|
executePlannedOperation(args: {
|
|
66
69
|
planId: string;
|
|
67
70
|
confirmationToken: string;
|
|
68
|
-
}): OperationalExecutionResult
|
|
71
|
+
}): Promise<OperationalExecutionResult>;
|
|
69
72
|
}
|
|
70
73
|
export {};
|
|
@@ -3,9 +3,10 @@ import { inspectClaudeCodeInstall } from "../install/claude-code-doctor.js";
|
|
|
3
3
|
import { installClaudeCodeAdapter } from "../install/claude-code-installer.js";
|
|
4
4
|
import { inspectCodexInstall, installCodexAdapter } from "../install/codex-installer.js";
|
|
5
5
|
import { inspectOpenClawInstall, installOpenClawAdapter, repairOpenClawAdapter } from "../install/openclaw-installer.js";
|
|
6
|
+
import { inspectAntigravityInstall, installAntigravityAdapter, repairAntigravityAdapter } from "../install/antigravity.js";
|
|
6
7
|
const supportedOperation = (adapter, operation) => {
|
|
7
8
|
if (operation === "repair") {
|
|
8
|
-
return adapter === "openclaw";
|
|
9
|
+
return adapter === "openclaw" || adapter === "antigravity";
|
|
9
10
|
}
|
|
10
11
|
return true;
|
|
11
12
|
};
|
|
@@ -57,6 +58,9 @@ export class ExperienceOperationalActionsService {
|
|
|
57
58
|
if (adapter === "claude-code") {
|
|
58
59
|
return (this.deps.inspectClaudeCodeInstall ?? inspectClaudeCodeInstall)();
|
|
59
60
|
}
|
|
61
|
+
if (adapter === "antigravity") {
|
|
62
|
+
return (this.deps.inspectAntigravityInstall ?? inspectAntigravityInstall)();
|
|
63
|
+
}
|
|
60
64
|
return (this.deps.inspectCodexInstall ?? inspectCodexInstall)();
|
|
61
65
|
}
|
|
62
66
|
planOperation(args) {
|
|
@@ -80,7 +84,7 @@ export class ExperienceOperationalActionsService {
|
|
|
80
84
|
commandHint: buildCommandHint(args.adapter, args.operation)
|
|
81
85
|
};
|
|
82
86
|
}
|
|
83
|
-
executePlannedOperation(args) {
|
|
87
|
+
async executePlannedOperation(args) {
|
|
84
88
|
const plan = this.plans.get(args.planId);
|
|
85
89
|
if (!plan || plan.confirmationToken !== args.confirmationToken) {
|
|
86
90
|
throw new Error("Invalid or expired confirmation token. Request a fresh operation plan first.");
|
|
@@ -88,7 +92,20 @@ export class ExperienceOperationalActionsService {
|
|
|
88
92
|
this.plans.delete(args.planId);
|
|
89
93
|
const previousVersion = readRecordedVersion(this.inspect(plan.adapter));
|
|
90
94
|
if (plan.operation === "repair") {
|
|
91
|
-
|
|
95
|
+
if (plan.adapter === "antigravity") {
|
|
96
|
+
const report = await (this.deps.repairAntigravityAdapter ?? repairAntigravityAdapter)();
|
|
97
|
+
return {
|
|
98
|
+
status: "executed",
|
|
99
|
+
adapter: plan.adapter,
|
|
100
|
+
operation: plan.operation,
|
|
101
|
+
summary: plan.summary,
|
|
102
|
+
result: {
|
|
103
|
+
installedVersion: report.installedVersion,
|
|
104
|
+
previousVersion
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const report = await (this.deps.repairOpenClawAdapter ?? repairOpenClawAdapter)();
|
|
92
109
|
return {
|
|
93
110
|
status: "executed",
|
|
94
111
|
adapter: plan.adapter,
|
|
@@ -102,7 +119,7 @@ export class ExperienceOperationalActionsService {
|
|
|
102
119
|
};
|
|
103
120
|
}
|
|
104
121
|
if (plan.adapter === "openclaw") {
|
|
105
|
-
const report = (this.deps.installOpenClawAdapter ?? installOpenClawAdapter)();
|
|
122
|
+
const report = await (this.deps.installOpenClawAdapter ?? installOpenClawAdapter)();
|
|
106
123
|
return {
|
|
107
124
|
status: "executed",
|
|
108
125
|
adapter: plan.adapter,
|
|
@@ -116,7 +133,20 @@ export class ExperienceOperationalActionsService {
|
|
|
116
133
|
};
|
|
117
134
|
}
|
|
118
135
|
if (plan.adapter === "claude-code") {
|
|
119
|
-
const report = (this.deps.installClaudeCodeAdapter ?? installClaudeCodeAdapter)();
|
|
136
|
+
const report = await (this.deps.installClaudeCodeAdapter ?? installClaudeCodeAdapter)();
|
|
137
|
+
return {
|
|
138
|
+
status: "executed",
|
|
139
|
+
adapter: plan.adapter,
|
|
140
|
+
operation: plan.operation,
|
|
141
|
+
summary: plan.summary,
|
|
142
|
+
result: {
|
|
143
|
+
installedVersion: report.installedVersion,
|
|
144
|
+
previousVersion
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (plan.adapter === "antigravity") {
|
|
149
|
+
const report = await (this.deps.installAntigravityAdapter ?? installAntigravityAdapter)();
|
|
120
150
|
return {
|
|
121
151
|
status: "executed",
|
|
122
152
|
adapter: plan.adapter,
|
|
@@ -128,7 +158,7 @@ export class ExperienceOperationalActionsService {
|
|
|
128
158
|
}
|
|
129
159
|
};
|
|
130
160
|
}
|
|
131
|
-
const report = (this.deps.installCodexAdapter ?? installCodexAdapter)();
|
|
161
|
+
const report = await (this.deps.installCodexAdapter ?? installCodexAdapter)();
|
|
132
162
|
return {
|
|
133
163
|
status: "executed",
|
|
134
164
|
adapter: plan.adapter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-actions-service.js","sourceRoot":"","sources":["../../src/interaction/operational-actions-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"operational-actions-service.js","sourceRoot":"","sources":["../../src/interaction/operational-actions-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { inspectClaudeCodeInstall } from "../install/claude-code-doctor.js";
|
|
2
2
|
import { inspectCodexInstall } from "../install/codex-installer.js";
|
|
3
3
|
import { inspectOpenClawInstall } from "../install/openclaw-installer.js";
|
|
4
|
+
import { inspectAntigravityInstall } from "../install/antigravity.js";
|
|
4
5
|
import { fetchLatestGitHubReleaseStatus, type RemoteReleaseStatus } from "../version/remote-release.js";
|
|
5
|
-
export type ExperienceAdapter = "openclaw" | "claude-code" | "codex";
|
|
6
|
+
export type ExperienceAdapter = "openclaw" | "claude-code" | "codex" | "antigravity";
|
|
6
7
|
type OperationalDeps = {
|
|
7
8
|
inspectOpenClawInstall?: typeof inspectOpenClawInstall;
|
|
8
9
|
inspectClaudeCodeInstall?: typeof inspectClaudeCodeInstall;
|
|
9
10
|
inspectCodexInstall?: typeof inspectCodexInstall;
|
|
11
|
+
inspectAntigravityInstall?: typeof inspectAntigravityInstall;
|
|
10
12
|
fetchLatestGitHubReleaseStatus?: typeof fetchLatestGitHubReleaseStatus;
|
|
11
13
|
};
|
|
12
14
|
export type DoctorReadResult = {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { inspectClaudeCodeInstall } from "../install/claude-code-doctor.js";
|
|
2
2
|
import { inspectCodexInstall } from "../install/codex-installer.js";
|
|
3
3
|
import { classifyOpenClawHostWarnings, getOpenClawRepairHint, inspectOpenClawInstall } from "../install/openclaw-installer.js";
|
|
4
|
+
import { inspectAntigravityInstall } from "../install/antigravity.js";
|
|
4
5
|
import { fetchLatestGitHubReleaseStatus } from "../version/remote-release.js";
|
|
5
6
|
export class ExperienceOperationalService {
|
|
6
7
|
deps;
|
|
@@ -24,6 +25,14 @@ export class ExperienceOperationalService {
|
|
|
24
25
|
recommendedNextStep: local.versionStatus.updateAvailable ? "ee upgrade codex" : undefined
|
|
25
26
|
};
|
|
26
27
|
}
|
|
28
|
+
if (adapter === "antigravity") {
|
|
29
|
+
const local = (this.deps.inspectAntigravityInstall ?? inspectAntigravityInstall)();
|
|
30
|
+
return {
|
|
31
|
+
adapter,
|
|
32
|
+
local,
|
|
33
|
+
recommendedNextStep: local.versionStatus.updateAvailable ? "ee upgrade antigravity" : undefined
|
|
34
|
+
};
|
|
35
|
+
}
|
|
27
36
|
const local = (this.deps.inspectOpenClawInstall ?? inspectOpenClawInstall)();
|
|
28
37
|
const warnings = classifyOpenClawHostWarnings(local);
|
|
29
38
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-service.js","sourceRoot":"","sources":["../../src/interaction/operational-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAA4B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"operational-service.js","sourceRoot":"","sources":["../../src/interaction/operational-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAA4B,MAAM,8BAA8B,CAAC;AAyBxG,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,OAAwB,EAAE;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,KAAK,CAAC,aAAa,CAAC,OAA0B;QAC5C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,OAAO;gBACP,KAAK;gBACL,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;aAChG,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,EAAE,CAAC;YACvE,OAAO;gBACL,OAAO;gBACP,KAAK;gBACL,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;aAC1F,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,OAAO;gBACP,KAAK;gBACL,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;aAChG,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACL,OAAO;YACP,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,kBAAkB,EAAE,QAAQ;aAC7B;YACD,mBAAmB,EACjB,qBAAqB,CAAC,KAAK,CAAC;gBAC5B,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA0B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAIpB,CAAC;QACF,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,EAAE,cAAc,IAAI,OAAO,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,IAAI,8BAA8B,CAAC,CAAC;YAChG,cAAc;SACf,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,cAAc;YACd,MAAM;YACN,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SACjH,CAAC;IACJ,CAAC;CACF"}
|
package/dist/types/domain.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ export type ExperienceInputRecord = {
|
|
|
124
124
|
export type TaskRun = {
|
|
125
125
|
id: string;
|
|
126
126
|
episode_id?: string;
|
|
127
|
-
host: "openclaw" | "claude-code" | "codex";
|
|
127
|
+
host: "openclaw" | "claude-code" | "codex" | "antigravity";
|
|
128
128
|
scope_id: string;
|
|
129
129
|
session_id?: string;
|
|
130
130
|
task_type: ResolvedTaskType;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# ExperienceEngine v0.4.1
|
|
2
|
+
|
|
3
|
+
`v0.4.1` is a focused Antigravity integration follow-up release.
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
- Validated Antigravity Agent Desktop, `agy` CLI, and Antigravity IDE as user-level ExperienceEngine surfaces.
|
|
8
|
+
- Updated Antigravity diagnostics so `ee doctor antigravity` reports IDE hooks through the shared global Antigravity plugin surface when observed.
|
|
9
|
+
- Filtered Antigravity CLI hook events that only report CLI flags such as `--dangerously-skip-permissions` as the prompt, preventing noisy prompt-time and finalization task runs when no real user prompt can be resolved.
|
|
10
|
+
|
|
11
|
+
## Validation
|
|
12
|
+
|
|
13
|
+
- `pnpm exec vitest run tests/unit/antigravity-hook.test.ts tests/unit/agy-exec-command.test.ts tests/unit/antigravity-global-wiring.test.ts tests/unit/doctor-command.test.ts`
|
|
14
|
+
- `pnpm exec tsc --noEmit --pretty false`
|
|
15
|
+
- `pnpm build`
|
|
16
|
+
- `pnpm exec openspec validate add-antigravity-adapter-integration --strict`
|
|
17
|
+
- `npm pack --dry-run`
|
|
18
|
+
- Real-host Antigravity validation for Agent Desktop, `agy` CLI, and IDE hook observation.
|
|
19
|
+
|
|
20
|
+
## Known Boundary
|
|
21
|
+
|
|
22
|
+
- Full parallel Vitest runs can still show unrelated OpenClaw pack-test timing variance on Windows; the affected OpenClaw test file passes when rerun directly.
|
package/docs/user-guide.md
CHANGED
|
@@ -117,8 +117,16 @@ Install ExperienceEngine through the host setup flow for:
|
|
|
117
117
|
- `/plugin install experienceengine@experienceengine`
|
|
118
118
|
- `ee install claude-code` remains the explicit operator fallback when you need direct hooks + MCP wiring outside the marketplace flow
|
|
119
119
|
- after installation, start a new Claude Code session so the plugin hooks and bundled MCP config are loaded
|
|
120
|
+
- `Google Antigravity`
|
|
121
|
+
- EE-managed setup:
|
|
122
|
+
- `ee install antigravity`
|
|
123
|
+
- validated headless CLI run:
|
|
124
|
+
- `ee agy exec -C <project-path> "<prompt>"`
|
|
125
|
+
- explicit Agent Desktop project activation:
|
|
126
|
+
- `ee antigravity activate-project -C <project-path>`
|
|
127
|
+
- after the managed path, start Antigravity Agent Desktop in an activated project or use `ee agy exec -C <project-path>` so the `.mcp.json` MCP configuration and `.agents/hooks.json` lifecycle hooks are loaded
|
|
120
128
|
|
|
121
|
-
Across all
|
|
129
|
+
Across all hosts, the intended product journey is the same:
|
|
122
130
|
|
|
123
131
|
1. install ExperienceEngine through the host-specific setup path
|
|
124
132
|
2. initialize shared ExperienceEngine state with `ee init`
|
|
@@ -146,13 +154,13 @@ OpenClaw also supports these additional phase-2 routine questions in-session:
|
|
|
146
154
|
- "Is ExperienceEngine still warming up in this repo?"
|
|
147
155
|
- "Why didn't ExperienceEngine inject anything just now?"
|
|
148
156
|
|
|
149
|
-
For `OpenClaw`, `Codex`,
|
|
157
|
+
For `OpenClaw`, `Codex`, `Claude Code`, and `Google Antigravity`, these routine follow-ups should stay in the host session first.
|
|
150
158
|
|
|
151
159
|
Use the `ee` CLI only when you need explicit validation, repair, or operator-style troubleshooting:
|
|
152
160
|
|
|
153
161
|
```bash
|
|
154
162
|
ee init
|
|
155
|
-
ee doctor <openclaw|claude-code|codex>
|
|
163
|
+
ee doctor <openclaw|claude-code|codex|antigravity>
|
|
156
164
|
ee status
|
|
157
165
|
```
|
|
158
166
|
|
|
@@ -735,6 +743,70 @@ Diagnostics note:
|
|
|
735
743
|
- WSL Codex CLI must have its own MCP registration in the WSL Codex home; it can still reuse the same repo `.codex/hooks.json`
|
|
736
744
|
- on WSL, `ee doctor codex` also warns when `codex` resolves to a WindowsApps shim instead of the Linux Codex CLI
|
|
737
745
|
|
|
746
|
+
### Google Antigravity Advanced Commands
|
|
747
|
+
|
|
748
|
+
Antigravity has multiple product entries. ExperienceEngine's current `antigravity` adapter targets **Antigravity Agent Desktop** and the standalone **Antigravity CLI (`agy`)**. It does not adapt the separate Antigravity IDE shell. EE data remains user-level under the configured ExperienceEngine home, while project experience is isolated by project scope. Antigravity uses user-level plugin and MCP configuration by default; project `.mcp.json` and `.agents/hooks.json` activation remains available as a fallback.
|
|
749
|
+
|
|
750
|
+
Explicit host install:
|
|
751
|
+
|
|
752
|
+
```bash
|
|
753
|
+
ee install antigravity
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
What happens:
|
|
757
|
+
- ExperienceEngine records user-level Antigravity adapter state under the configured ExperienceEngine home.
|
|
758
|
+
- By default, it installs user-level Antigravity plugin wiring for Agent Desktop and `agy` CLI, plus global Agent Desktop MCP configuration.
|
|
759
|
+
- It does not need to activate each new Agent Desktop project after user-level install. If global plugin loading is unavailable or needs recovery, use the project activation fallback.
|
|
760
|
+
- The hook contract spike still runs before hook installation; if it fails, installation falls back to `mcp_only`. Use `--mcp-only` when you intentionally want only the MCP inspection/control surface.
|
|
761
|
+
- All command paths in user-level `hooks.json` and `mcp_config.json` are registered using absolute paths resolved via `packageRoot` for portability.
|
|
762
|
+
- Antigravity supports both stdio MCP calls and an advanced artifact-assisted analyzer that automatically parses planning and verification markdown files (`task.md`, `walkthrough.md`, `implementation_plan.md`) to reconstruct outcomes and check off completed tasks.
|
|
763
|
+
- The installation ends with a short cold-start note so users know capture is active before the first formal hint appears.
|
|
764
|
+
|
|
765
|
+
Local state changes:
|
|
766
|
+
- user-level ExperienceEngine adapter state under `~/.experienceengine`
|
|
767
|
+
- Agent Desktop plugin under `~/.gemini/config/plugins/experienceengine`
|
|
768
|
+
- Antigravity CLI plugin under `~/.gemini/antigravity-cli/plugins/experienceengine`
|
|
769
|
+
- Agent Desktop MCP config under `~/.gemini/antigravity/mcp_config.json`
|
|
770
|
+
- fallback project MCP config in `.mcp.json` only when `ee antigravity activate-project -C <project-path>` or a compatibility path writes it
|
|
771
|
+
- fallback project hooks config in `.agents/hooks.json` only when project activation is used
|
|
772
|
+
|
|
773
|
+
Useful commands:
|
|
774
|
+
|
|
775
|
+
```bash
|
|
776
|
+
ee doctor antigravity
|
|
777
|
+
ee repair antigravity
|
|
778
|
+
ee upgrade antigravity
|
|
779
|
+
ee antigravity activate-project -C <project-path>
|
|
780
|
+
ee agy exec -C <project-path> "<prompt>"
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
First validation:
|
|
784
|
+
|
|
785
|
+
```bash
|
|
786
|
+
ee doctor antigravity
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
Success looks like:
|
|
790
|
+
- doctor reports the adapter as installed and healthy.
|
|
791
|
+
- global plugin/MCP files are created with the correct configurations and paths.
|
|
792
|
+
- Antigravity Agent Desktop loads the MCP server successfully and can call an ExperienceEngine MCP tool such as `experienceengine_get_capabilities`.
|
|
793
|
+
- `ee agy exec -C <project-path>` loads the user-level plugin hooks in headless CLI mode while still supplying `--add-dir` for reliable workspace discovery.
|
|
794
|
+
|
|
795
|
+
Validated CLI invocation:
|
|
796
|
+
|
|
797
|
+
```bash
|
|
798
|
+
ee agy exec -C <project-path> "<prompt>"
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
Host note:
|
|
802
|
+
- The Antigravity IDE application is tracked as a separate surface. `ee doctor antigravity` reports the IDE command, whether an IDE MCP tool cache has been observed under `~/.gemini/antigravity-ide/mcp/experienceengine`, and whether IDE hooks are observed through the shared global plugin surface. Real-host validation showed the IDE loads `~/.gemini/config/plugins/experienceengine/hooks.json` for lifecycle hooks while storing its MCP tool cache under the IDE-specific state directory.
|
|
803
|
+
- The PATH-visible `antigravity` command may point to the separate IDE shell. `ee doctor antigravity` reports that command separately and uses `agy` for CLI availability.
|
|
804
|
+
- `ee agy exec -C <project>` invokes `agy --add-dir <project>` internally because direct `agy` workspace discovery can fail on Windows when symlink creation is unavailable.
|
|
805
|
+
- CLI/operator commands such as `ee install antigravity`, `ee doctor antigravity`, and `ee repair antigravity` configure and inspect user-level adapter state plus global plugin/MCP wiring. `ee antigravity activate-project -C <project>` remains the fallback for project-local MCP and hook wiring.
|
|
806
|
+
- ExperienceEngine installs relative-path hooks for prompt-time guidance (`PreInvocation`), tool-use allow/capture (`PreToolUse`, `PostToolUse`), and session-end finalization (`Stop`).
|
|
807
|
+
- To prevent infinite loops during preinvocation, the hook mutations are structured to gate execution per session ID, ensuring safe one-time injection per prompt context.
|
|
808
|
+
- If Antigravity says hooks are misconfigured or MCP registration is missing, run `ee repair antigravity`.
|
|
809
|
+
|
|
738
810
|
Developer source-repo host validation lives at:
|
|
739
811
|
|
|
740
812
|
- [docs/development/source-repo-host-validation.md](development/source-repo-host-validation.md)
|
|
@@ -747,6 +819,9 @@ Source-repo host validation matrix:
|
|
|
747
819
|
| WSL Codex CLI | Validated | WSL `codex exec` with shared `.codex/hooks.json` writes to the same ExperienceEngine home and `scope_id` as Windows Codex App. |
|
|
748
820
|
| Claude Code on Windows | Validated | Real hooks fired `UserPromptSubmit`, `PreToolUse`, `PostToolUse`, and `SessionEnd`; `SessionEnd` drained through the background queue and wrote to the shared project scope. |
|
|
749
821
|
| OpenClaw on WSL | Validated | WSL OpenClaw gateway loaded the current ExperienceEngine plugin and wrote task runs to the shared ExperienceEngine home. ExperienceEngine now resolves the real project root from OpenClaw hook payloads or nearby repo markers before scope resolution. If OpenClaw only reports its global workspace, ExperienceEngine isolates that session instead of reusing unrelated global-workspace experience. OpenClaw validated with `openrouter/tencent/hy3-preview:free`; the bare `tencent/hy3-preview:free` id is marked missing by OpenClaw's model registry. |
|
|
822
|
+
| Google Antigravity Agent Desktop on Windows | Validated global plugin wiring | Real Agent Desktop loaded user-level plugin hooks; MCP `experienceengine_get_capabilities` was callable; real hooks fired `PreInvocation`, `PreToolUse`, `PostToolUse`, and `Stop`; `PreToolUse` accepted `{ "decision": "allow" }`; task runs wrote to the shared project scope without project-local `.mcp.json` or `.agents/hooks.json`. |
|
|
823
|
+
| Antigravity CLI (`agy`) on Windows | Validated with `--add-dir`; wrapper added | `agy --add-dir <project-path> --print --dangerously-skip-permissions --print-timeout 5m "<prompt>"` loaded hooks and wrote task runs to the shared project scope. Direct project auto-discovery without `--add-dir` can fail when Windows symlink creation is not permitted, so users should prefer `ee agy exec -C <project>`. |
|
|
824
|
+
| Antigravity IDE on Windows | Validated global plugin hooks | Real IDE Agent loaded `~/.gemini/config/plugins/experienceengine/hooks.json`, fired `PreInvocation`, `PreToolUse`, `PostToolUse`, and `Stop`, and wrote task runs to the shared project scope. IDE MCP tool cache files are stored under `~/.gemini/antigravity-ide/mcp/experienceengine`; no IDE-specific EE plugin directory is required for validated hooks. |
|
|
750
825
|
|
|
751
826
|
This matrix is source-repo validation only. Published npm package validation and host-native marketplace validation must be called out separately during release preparation.
|
|
752
827
|
|
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@alan512/experienceengine",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "Experience governance for coding agents: learn from real task outcomes, inject reusable hints, and retire low-value guidance.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/Alan-512/ExperienceEngine.git"
|
|
10
|
-
},
|
|
11
|
-
"openclaw": {
|
|
12
|
-
"extensions": [
|
|
13
|
-
"./dist/plugin/openclaw-plugin.js"
|
|
14
|
-
],
|
|
15
|
-
"compat": {
|
|
16
|
-
"pluginApi": ">=2026.4.1",
|
|
17
|
-
"minGatewayVersion": "2026.4.1"
|
|
18
|
-
},
|
|
19
|
-
"build": {
|
|
20
|
-
"openclawVersion": "2026.4.1",
|
|
21
|
-
"pluginSdkVersion": "2026.4.1"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"engines": {
|
|
25
|
-
"node": ">=20.0.0"
|
|
26
|
-
},
|
|
27
|
-
"bin": {
|
|
28
|
-
"ee": "dist/cli/index.js"
|
|
29
|
-
},
|
|
30
|
-
"files": [
|
|
31
|
-
"dist",
|
|
32
|
-
".claude-plugin",
|
|
33
|
-
".mcp.json",
|
|
34
|
-
"hooks",
|
|
35
|
-
"plugins/claude-code-experienceengine",
|
|
36
|
-
"README.md",
|
|
37
|
-
"docs/assets/readme",
|
|
38
|
-
"docs/user-guide.md",
|
|
39
|
-
"docs/releases",
|
|
40
|
-
"openclaw.plugin.json",
|
|
41
|
-
"scripts/claude-plugin",
|
|
42
|
-
".env.example"
|
|
43
|
-
],
|
|
44
|
-
"scripts": {
|
|
45
|
-
"build": "node scripts/build/clean-dist.mjs && tsc -p tsconfig.build.json && node scripts/build/copy-sqlite-schema.mjs",
|
|
46
|
-
"dev": "tsx watch src/cli/index.ts",
|
|
47
|
-
"evaluate:openclaw-baseline": "tsx src/cli/index.ts evaluate openclaw-baseline",
|
|
48
|
-
"evaluate:openclaw-scenarios": "tsx src/cli/index.ts evaluate openclaw-scenarios --pack high-confidence",
|
|
49
|
-
"evaluate:codex-lifecycle": "tsx src/cli/index.ts evaluate codex-lifecycle",
|
|
50
|
-
"maintenance:merge-warning-variants": "tsx scripts/maintenance/merge-warning-variants.ts",
|
|
51
|
-
"runtime:promote-payload": "tsx scripts/openclaw/promote-runtime-payload.ts",
|
|
52
|
-
"runtime:replay-fixture": "tsx scripts/openclaw/replay-runtime-fixture.ts",
|
|
53
|
-
"prepack": "pnpm build",
|
|
54
|
-
"typecheck": "tsc --noEmit",
|
|
55
|
-
"test": "vitest run",
|
|
56
|
-
"check": "pnpm typecheck && pnpm test && pnpm build"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
60
|
-
"zod": "^3.25.76"
|
|
61
|
-
},
|
|
62
|
-
"devDependencies": {
|
|
63
|
-
"@types/node": "^22.13.14",
|
|
64
|
-
"tsx": "^4.19.3",
|
|
65
|
-
"typescript": "^5.8.2",
|
|
66
|
-
"vitest": "^3.0.9"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@alan512/experienceengine",
|
|
3
|
+
"version": "0.4.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Experience governance for coding agents: learn from real task outcomes, inject reusable hints, and retire low-value guidance.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/Alan-512/ExperienceEngine.git"
|
|
10
|
+
},
|
|
11
|
+
"openclaw": {
|
|
12
|
+
"extensions": [
|
|
13
|
+
"./dist/plugin/openclaw-plugin.js"
|
|
14
|
+
],
|
|
15
|
+
"compat": {
|
|
16
|
+
"pluginApi": ">=2026.4.1",
|
|
17
|
+
"minGatewayVersion": "2026.4.1"
|
|
18
|
+
},
|
|
19
|
+
"build": {
|
|
20
|
+
"openclawVersion": "2026.4.1",
|
|
21
|
+
"pluginSdkVersion": "2026.4.1"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20.0.0"
|
|
26
|
+
},
|
|
27
|
+
"bin": {
|
|
28
|
+
"ee": "dist/cli/index.js"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
".claude-plugin",
|
|
33
|
+
".mcp.json",
|
|
34
|
+
"hooks",
|
|
35
|
+
"plugins/claude-code-experienceengine",
|
|
36
|
+
"README.md",
|
|
37
|
+
"docs/assets/readme",
|
|
38
|
+
"docs/user-guide.md",
|
|
39
|
+
"docs/releases",
|
|
40
|
+
"openclaw.plugin.json",
|
|
41
|
+
"scripts/claude-plugin",
|
|
42
|
+
".env.example"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "node scripts/build/clean-dist.mjs && tsc -p tsconfig.build.json && node scripts/build/copy-sqlite-schema.mjs",
|
|
46
|
+
"dev": "tsx watch src/cli/index.ts",
|
|
47
|
+
"evaluate:openclaw-baseline": "tsx src/cli/index.ts evaluate openclaw-baseline",
|
|
48
|
+
"evaluate:openclaw-scenarios": "tsx src/cli/index.ts evaluate openclaw-scenarios --pack high-confidence",
|
|
49
|
+
"evaluate:codex-lifecycle": "tsx src/cli/index.ts evaluate codex-lifecycle",
|
|
50
|
+
"maintenance:merge-warning-variants": "tsx scripts/maintenance/merge-warning-variants.ts",
|
|
51
|
+
"runtime:promote-payload": "tsx scripts/openclaw/promote-runtime-payload.ts",
|
|
52
|
+
"runtime:replay-fixture": "tsx scripts/openclaw/replay-runtime-fixture.ts",
|
|
53
|
+
"prepack": "pnpm build",
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"test": "vitest run",
|
|
56
|
+
"check": "pnpm typecheck && pnpm test && pnpm build"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
60
|
+
"zod": "^3.25.76"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/node": "^22.13.14",
|
|
64
|
+
"tsx": "^4.19.3",
|
|
65
|
+
"typescript": "^5.8.2",
|
|
66
|
+
"vitest": "^3.0.9"
|
|
67
|
+
}
|
|
68
|
+
}
|