@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
|
@@ -2,19 +2,21 @@ import { resolveExperienceEnginePaths } from "../../config/path-resolver.js";
|
|
|
2
2
|
import { repairCodexProjectHooks } from "../../install/codex-hooks.js";
|
|
3
3
|
import { resolveCodexRuntimeTarget, ensureCodexProjectHookLauncher } from "../../install/codex-runtime-target.js";
|
|
4
4
|
import { repairOpenClawAdapter } from "../../install/openclaw-installer.js";
|
|
5
|
+
import { repairAntigravityAdapter } from "../../install/antigravity.js";
|
|
5
6
|
import { resolveExperienceEnginePackageRoot } from "../../install/openclaw-cli.js";
|
|
6
7
|
import { resolveCodexInstructionPath, upsertManagedInstructionBlock } from "../../install/codex-installer.js";
|
|
7
8
|
import { buildCodexHookReviewGuidance } from "../../install/public-install.js";
|
|
8
|
-
export const runRepairCommand = (target) => {
|
|
9
|
+
export const runRepairCommand = async (target) => {
|
|
9
10
|
if (!target) {
|
|
10
11
|
console.log("Repair summary:");
|
|
11
12
|
console.log("- OpenClaw: automated repair is available with `ee repair openclaw` when doctor reports host drift.");
|
|
12
13
|
console.log("- Codex: automated repair is available with `ee repair codex` for MCP, hooks, and runtime path drift.");
|
|
14
|
+
console.log("- Antigravity: automated repair is available with `ee repair antigravity` for hooks and MCP drift.");
|
|
13
15
|
console.log("- Claude Code: re-run the marketplace install flow if hooks or MCP wiring are missing.");
|
|
14
16
|
return;
|
|
15
17
|
}
|
|
16
|
-
if (target !== "openclaw" && target !== "codex") {
|
|
17
|
-
console.log("Usage: ee repair [openclaw|codex]");
|
|
18
|
+
if (target !== "openclaw" && target !== "codex" && target !== "antigravity") {
|
|
19
|
+
console.log("Usage: ee repair [openclaw|codex|antigravity]");
|
|
18
20
|
return;
|
|
19
21
|
}
|
|
20
22
|
if (target === "codex") {
|
|
@@ -44,6 +46,22 @@ export const runRepairCommand = (target) => {
|
|
|
44
46
|
console.log(`Managed instructions updated: ${instruction.state === "present" ? "yes" : "unknown"}`);
|
|
45
47
|
return;
|
|
46
48
|
}
|
|
49
|
+
if (target === "antigravity") {
|
|
50
|
+
const report = await repairAntigravityAdapter();
|
|
51
|
+
console.log(`Repaired ${report.adapter} adapter wiring.`);
|
|
52
|
+
console.log(`Install scope: ${report.installScope}`);
|
|
53
|
+
console.log(`Installed version: ${report.installedVersion}`);
|
|
54
|
+
console.log(`Package root: ${report.packageRoot}`);
|
|
55
|
+
console.log(`Server name: ${report.serverName}`);
|
|
56
|
+
console.log(`Server command: ${report.serverCommand}`);
|
|
57
|
+
console.log(`Lifecycle mode: ${report.lifecycleMode}`);
|
|
58
|
+
console.log(`Current project: ${report.projectWiring.cwd}`);
|
|
59
|
+
console.log(`Current project MCP Registered: ${report.projectWiring.mcpRegistered ? "yes" : "no"}`);
|
|
60
|
+
console.log(`Current project Hooks Registered: ${report.projectWiring.hooksRegistered ? "yes" : "no"}`);
|
|
61
|
+
console.log(`Agent Desktop global activation: ${report.agentDesktopGlobalActivation}`);
|
|
62
|
+
console.log(`Capture path: ${report.captureDir}`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
47
65
|
const report = repairOpenClawAdapter();
|
|
48
66
|
console.log(`Repaired ${report.adapter} adapter wiring.`);
|
|
49
67
|
console.log(`Linked package root: ${report.packageRoot}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { inspectClaudeCodeInstall } from "../../install/claude-code-doctor.js";
|
|
|
2
2
|
import { installClaudeCodeAdapter } from "../../install/claude-code-installer.js";
|
|
3
3
|
import { inspectCodexInstall, installCodexAdapter } from "../../install/codex-installer.js";
|
|
4
4
|
import { inspectOpenClawInstall, installOpenClawAdapter } from "../../install/openclaw-installer.js";
|
|
5
|
+
import { inspectAntigravityInstall, installAntigravityAdapter } from "../../install/antigravity.js";
|
|
5
6
|
type UpgradeDeps = {
|
|
6
7
|
inspectOpenClawInstall?: typeof inspectOpenClawInstall;
|
|
7
8
|
installOpenClawAdapter?: typeof installOpenClawAdapter;
|
|
@@ -9,6 +10,8 @@ type UpgradeDeps = {
|
|
|
9
10
|
installClaudeCodeAdapter?: typeof installClaudeCodeAdapter;
|
|
10
11
|
inspectCodexInstall?: typeof inspectCodexInstall;
|
|
11
12
|
installCodexAdapter?: typeof installCodexAdapter;
|
|
13
|
+
inspectAntigravityInstall?: typeof inspectAntigravityInstall;
|
|
14
|
+
installAntigravityAdapter?: typeof installAntigravityAdapter;
|
|
12
15
|
};
|
|
13
|
-
export declare const runUpgradeCommand: (target?: string, argsOrDeps?: string[] | UpgradeDeps, maybeDeps?: UpgradeDeps) => void
|
|
16
|
+
export declare const runUpgradeCommand: (target?: string, argsOrDeps?: string[] | UpgradeDeps, maybeDeps?: UpgradeDeps) => Promise<void>;
|
|
14
17
|
export {};
|
|
@@ -2,6 +2,7 @@ import { inspectClaudeCodeInstall } from "../../install/claude-code-doctor.js";
|
|
|
2
2
|
import { installClaudeCodeAdapter } from "../../install/claude-code-installer.js";
|
|
3
3
|
import { inspectCodexInstall, installCodexAdapter } from "../../install/codex-installer.js";
|
|
4
4
|
import { inspectOpenClawInstall, installOpenClawAdapter } from "../../install/openclaw-installer.js";
|
|
5
|
+
import { inspectAntigravityInstall, installAntigravityAdapter } from "../../install/antigravity.js";
|
|
5
6
|
import { buildCodexHookReviewGuidance } from "../../install/public-install.js";
|
|
6
7
|
const readClaudeRuntimeTarget = (args) => {
|
|
7
8
|
const flagIndex = args.findIndex((value) => value === "--runtime-target");
|
|
@@ -17,7 +18,7 @@ const readCodexRuntimeTarget = (args) => {
|
|
|
17
18
|
}
|
|
18
19
|
return undefined;
|
|
19
20
|
};
|
|
20
|
-
export const runUpgradeCommand = (target, argsOrDeps = [], maybeDeps = {}) => {
|
|
21
|
+
export const runUpgradeCommand = async (target, argsOrDeps = [], maybeDeps = {}) => {
|
|
21
22
|
const args = Array.isArray(argsOrDeps) ? argsOrDeps : [];
|
|
22
23
|
const deps = Array.isArray(argsOrDeps) ? maybeDeps : argsOrDeps;
|
|
23
24
|
if (target === "openclaw") {
|
|
@@ -59,6 +60,28 @@ export const runUpgradeCommand = (target, argsOrDeps = [], maybeDeps = {}) => {
|
|
|
59
60
|
console.log(`[ExperienceEngine] Codex hook review: ${buildCodexHookReviewGuidance(report.hooks.installedEvents)}`);
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
62
|
-
|
|
63
|
+
if (target === "antigravity") {
|
|
64
|
+
const inspect = deps.inspectAntigravityInstall ?? inspectAntigravityInstall;
|
|
65
|
+
const install = deps.installAntigravityAdapter ?? installAntigravityAdapter;
|
|
66
|
+
const before = inspect();
|
|
67
|
+
const mcpOnly = args.includes("--mcp-only")
|
|
68
|
+
? true
|
|
69
|
+
: args.includes("--hooks")
|
|
70
|
+
? false
|
|
71
|
+
: undefined;
|
|
72
|
+
const report = await install({ mcpOnly });
|
|
73
|
+
console.log(`Upgraded ${report.adapter} adapter.`);
|
|
74
|
+
console.log(`Version: ${before.versionStatus.recordedVersion ?? "unknown"} -> ${report.installedVersion}`);
|
|
75
|
+
console.log(`Server name: ${report.serverName}`);
|
|
76
|
+
console.log(`Server command: ${report.serverCommand}`);
|
|
77
|
+
console.log(`Lifecycle mode: ${report.lifecycleMode}`);
|
|
78
|
+
console.log(`Install scope: ${report.installScope}`);
|
|
79
|
+
console.log(`Current project: ${report.projectWiring.cwd}`);
|
|
80
|
+
console.log(`Current project MCP Registered: ${report.projectWiring.mcpRegistered ? "yes" : "no"}`);
|
|
81
|
+
console.log(`Current project Hooks Registered: ${report.projectWiring.hooksRegistered ? "yes" : "no"}`);
|
|
82
|
+
console.log("New Antigravity sessions in activated projects will use the updated hook command and MCP server.");
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
console.log("Usage: ee upgrade openclaw|claude-code|codex|antigravity [--runtime-target posix|windows] [--mcp-only] [--hooks]");
|
|
63
86
|
};
|
|
64
87
|
//# sourceMappingURL=upgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/dispatch.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { buildClaudeMarketplaceAddCommand, buildClaudePluginInstallCommand, buildCodexPublicInstallCommand, buildOpenClawPublicInstallCommand } from "../install/public-install.js";
|
|
2
2
|
import { SURFACE_TIER_DEFINITIONS } from "../interaction/surface-tiers.js";
|
|
3
|
-
const usageText = "Usage: ee <install openclaw|claude-code|codex|upgrade openclaw|claude-code|codex|repair [openclaw|codex]|claude-hook|codex-hook|codex <exec ...>|codex-mcp-server|doctor [openclaw|claude-code|codex]|status|stats|inspect|feedback|disable|enable|cool|retire>"
|
|
3
|
+
const usageText = "Usage: ee <install openclaw|claude-code|codex|antigravity|upgrade openclaw|claude-code|codex|antigravity|repair [openclaw|codex|antigravity]|claude-hook|codex-hook|antigravity-hook|codex <exec ...>|agy <exec ...>|antigravity <activate-project ...>|codex-mcp-server|doctor [openclaw|claude-code|codex|antigravity]|status|stats|inspect|feedback|disable|enable|cool|retire>"
|
|
4
4
|
+ " | helped|harmed"
|
|
5
5
|
+ " | backup|export|import <snapshot-path>|rollback <backup-id>"
|
|
6
6
|
+ " | maintenance embeddings-reset|embedding-smoke|governance drain|redistill-rule-nodes|claude-validate-print|merge-scope <sourceScopeId> <targetScopeId>"
|
|
@@ -21,9 +21,10 @@ export const printCliUsage = () => {
|
|
|
21
21
|
console.log("- Initialize shared state: ee init");
|
|
22
22
|
console.log(`${SURFACE_TIER_DEFINITIONS.routine.label} workflows:`);
|
|
23
23
|
console.log("- Host-first review/feedback: ask OpenClaw, Codex, or Claude Code what ExperienceEngine injected and mark helped/harmed in-session.");
|
|
24
|
-
console.log("- CLI fallback: ee status | ee doctor <openclaw|claude-code|codex> | ee inspect --last | ee helped | ee harmed");
|
|
24
|
+
console.log("- CLI fallback: ee status | ee doctor <openclaw|claude-code|codex|antigravity> | ee inspect --last | ee helped | ee harmed");
|
|
25
25
|
console.log(`${SURFACE_TIER_DEFINITIONS.operator.label} workflows:`);
|
|
26
|
-
console.log("- Host setup and repair: ee install|upgrade|repair <openclaw|claude-code|codex>");
|
|
26
|
+
console.log("- Host setup and repair: ee install|upgrade|repair <openclaw|claude-code|codex|antigravity>");
|
|
27
|
+
console.log("- Antigravity CLI wrapper: ee agy exec -C <project> \"<prompt>\"");
|
|
27
28
|
console.log("- Read-only review: ee inspect review | ee inspect hygiene | ee inspect export-drafts | ee inspect repo");
|
|
28
29
|
console.log("- Managed state: ee backup | ee export | ee import <snapshot-path> | ee rollback <backup-id>");
|
|
29
30
|
console.log(`${SURFACE_TIER_DEFINITIONS.advanced.label} workflows:`);
|
|
@@ -35,7 +36,7 @@ export const runCliCommand = async (command, args) => {
|
|
|
35
36
|
switch (command) {
|
|
36
37
|
case "install": {
|
|
37
38
|
const { runInstallCommand } = await import("./commands/install.js");
|
|
38
|
-
runInstallCommand(args[0], args.slice(1));
|
|
39
|
+
await runInstallCommand(args[0], args.slice(1));
|
|
39
40
|
break;
|
|
40
41
|
}
|
|
41
42
|
case "backup": {
|
|
@@ -53,11 +54,26 @@ export const runCliCommand = async (command, args) => {
|
|
|
53
54
|
await runCodexHookCommand();
|
|
54
55
|
break;
|
|
55
56
|
}
|
|
57
|
+
case "antigravity-hook": {
|
|
58
|
+
const { runAntigravityHookCommand } = await import("./commands/antigravity-hook.js");
|
|
59
|
+
await runAntigravityHookCommand(args[0]);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
56
62
|
case "codex": {
|
|
57
63
|
const { runCodexCommand } = await import("./commands/codex.js");
|
|
58
64
|
await runCodexCommand(args[0], args.slice(1));
|
|
59
65
|
break;
|
|
60
66
|
}
|
|
67
|
+
case "agy": {
|
|
68
|
+
const { runAgyCommand } = await import("./commands/agy-exec.js");
|
|
69
|
+
await runAgyCommand(args[0], args.slice(1));
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case "antigravity": {
|
|
73
|
+
const { runAntigravityCommand } = await import("./commands/antigravity.js");
|
|
74
|
+
await runAntigravityCommand(args[0], args.slice(1));
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
61
77
|
case "codex-mcp-server": {
|
|
62
78
|
const { runCodexMcpServerCommand } = await import("./commands/codex-mcp-server.js");
|
|
63
79
|
await runCodexMcpServerCommand();
|
|
@@ -95,7 +111,7 @@ export const runCliCommand = async (command, args) => {
|
|
|
95
111
|
}
|
|
96
112
|
case "repair": {
|
|
97
113
|
const { runRepairCommand } = await import("./commands/repair.js");
|
|
98
|
-
runRepairCommand(args[0]);
|
|
114
|
+
await runRepairCommand(args[0]);
|
|
99
115
|
break;
|
|
100
116
|
}
|
|
101
117
|
case "status": {
|
|
@@ -120,7 +136,7 @@ export const runCliCommand = async (command, args) => {
|
|
|
120
136
|
}
|
|
121
137
|
case "upgrade": {
|
|
122
138
|
const { runUpgradeCommand } = await import("./commands/upgrade.js");
|
|
123
|
-
runUpgradeCommand(args[0], args.slice(1));
|
|
139
|
+
await runUpgradeCommand(args[0], args.slice(1));
|
|
124
140
|
break;
|
|
125
141
|
}
|
|
126
142
|
case "stats": {
|
package/dist/cli/dispatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,SAAS,GACb,
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ToolEvent, NormalizedToolEvent } from "../types/domain.js";
|
|
2
|
+
export declare class CommandNormalizer {
|
|
3
|
+
/**
|
|
4
|
+
* Redacts volatile components like UUIDs, absolute/relative paths, ports, and branch names.
|
|
5
|
+
*/
|
|
6
|
+
static redactVolatileTokens(input: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Helper to extract the basename from a file path.
|
|
9
|
+
*/
|
|
10
|
+
static getBasename(pathStr: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Helper to extract the file extension.
|
|
13
|
+
*/
|
|
14
|
+
static getExtension(pathStr: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Normalizes a raw shell command string to extract commandFamily, subcommand, and redacted inputs.
|
|
17
|
+
*/
|
|
18
|
+
static normalizeCommand(rawCommand: string): {
|
|
19
|
+
commandFamily?: string;
|
|
20
|
+
subcommand?: string;
|
|
21
|
+
normalizedInput: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Transforms a raw ToolEvent into a NormalizedToolEvent.
|
|
25
|
+
*/
|
|
26
|
+
static normalizeToolEvent(event: ToolEvent): NormalizedToolEvent;
|
|
27
|
+
}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
export class CommandNormalizer {
|
|
2
|
+
/**
|
|
3
|
+
* Redacts volatile components like UUIDs, absolute/relative paths, ports, and branch names.
|
|
4
|
+
*/
|
|
5
|
+
static redactVolatileTokens(input) {
|
|
6
|
+
if (!input)
|
|
7
|
+
return "";
|
|
8
|
+
let redacted = input;
|
|
9
|
+
// 1. Redact UUIDs
|
|
10
|
+
const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi;
|
|
11
|
+
redacted = redacted.replace(uuidRegex, "[UUID]");
|
|
12
|
+
// 2. Redact absolute Windows and Unix paths
|
|
13
|
+
// Windows paths like C:\Users\...\file.ext or d:/project/...
|
|
14
|
+
const winPathRegex = /[a-zA-Z]:\\[^\s"']+/g;
|
|
15
|
+
redacted = redacted.replace(winPathRegex, "[PATH]");
|
|
16
|
+
const winForwardPathRegex = /[a-zA-Z]:\/(?!\/)[^\s"']+/g;
|
|
17
|
+
redacted = redacted.replace(winForwardPathRegex, "[PATH]");
|
|
18
|
+
// Unix paths like /home/user/... or /tmp/...
|
|
19
|
+
// Avoid redacting commands starting with slash or generic patterns, so we only match longer path-like strings
|
|
20
|
+
const unixPathRegex = /(?:^|[\s"'\(=])(\/(?:home|Users|tmp|usr|opt|var|etc|bin|projects?|workspace|app)[a-zA-Z0-9_\-\.\/]+)/gi;
|
|
21
|
+
redacted = redacted.replace(unixPathRegex, (match, p1) => {
|
|
22
|
+
return match.replace(p1, "[PATH]");
|
|
23
|
+
});
|
|
24
|
+
// 3. Redact port numbers (e.g. :3000 or :8080)
|
|
25
|
+
const portRegex = /:([0-9]{4,5})\b/g;
|
|
26
|
+
redacted = redacted.replace(portRegex, ":[PORT]");
|
|
27
|
+
// 4. Redact branch names in git checkout command, or any feature/issue branch patterns
|
|
28
|
+
// E.g., feature/issue-102 or bugfix/abc
|
|
29
|
+
const branchRegex = /\b(feature|bugfix|release|hotfix|origin)\/[a-zA-Z0-9_\-\.]+/gi;
|
|
30
|
+
redacted = redacted.replace(branchRegex, "[BRANCH]");
|
|
31
|
+
// Also redact the specific git branch argument in checkout/switch commands
|
|
32
|
+
const gitCheckoutRegex = /(git\s+(?:checkout|switch)\s+(-b\s+)?)([a-zA-Z0-9_\-\.\/]+)/gi;
|
|
33
|
+
redacted = redacted.replace(gitCheckoutRegex, (match, p1, p2, p3) => {
|
|
34
|
+
// If p3 is not an option (starts with -), redact it
|
|
35
|
+
if (p3 && !p3.startsWith("-")) {
|
|
36
|
+
return `${p1}[BRANCH]`;
|
|
37
|
+
}
|
|
38
|
+
return match;
|
|
39
|
+
});
|
|
40
|
+
return redacted;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Helper to extract the basename from a file path.
|
|
44
|
+
*/
|
|
45
|
+
static getBasename(pathStr) {
|
|
46
|
+
const normalized = pathStr.replace(/\\/g, "/");
|
|
47
|
+
const parts = normalized.split("/");
|
|
48
|
+
return parts[parts.length - 1] || "";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Helper to extract the file extension.
|
|
52
|
+
*/
|
|
53
|
+
static getExtension(pathStr) {
|
|
54
|
+
const basename = this.getBasename(pathStr);
|
|
55
|
+
const dotIndex = basename.lastIndexOf(".");
|
|
56
|
+
if (dotIndex === -1 || dotIndex === 0)
|
|
57
|
+
return "";
|
|
58
|
+
return basename.slice(dotIndex + 1);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Normalizes a raw shell command string to extract commandFamily, subcommand, and redacted inputs.
|
|
62
|
+
*/
|
|
63
|
+
static normalizeCommand(rawCommand) {
|
|
64
|
+
const redacted = this.redactVolatileTokens(rawCommand.trim());
|
|
65
|
+
if (!redacted) {
|
|
66
|
+
return { normalizedInput: "" };
|
|
67
|
+
}
|
|
68
|
+
// Split into tokens
|
|
69
|
+
const tokens = redacted.split(/\s+/);
|
|
70
|
+
let rawExecutable = tokens[0] || "";
|
|
71
|
+
// Normalize executable path (e.g. .\node_modules\.bin\tsc -> tsc)
|
|
72
|
+
let executable = this.getBasename(rawExecutable).replace(/\.(exe|cmd|bat|sh)$/i, "").toLowerCase();
|
|
73
|
+
// Group common executables/aliases
|
|
74
|
+
if (["pnpm", "npm", "yarn", "bun", "npx"].includes(executable)) {
|
|
75
|
+
// Package managers
|
|
76
|
+
let subcommand = "";
|
|
77
|
+
// Find first non-option token after package manager
|
|
78
|
+
let subIdx = 1;
|
|
79
|
+
while (subIdx < tokens.length && tokens[subIdx]?.startsWith("-")) {
|
|
80
|
+
subIdx++;
|
|
81
|
+
}
|
|
82
|
+
const primarySub = tokens[subIdx] || "";
|
|
83
|
+
if (primarySub && !primarySub.startsWith("-")) {
|
|
84
|
+
subcommand = primarySub.toLowerCase();
|
|
85
|
+
if (subcommand === "run" || subcommand === "exec") {
|
|
86
|
+
// If "run" or "exec", try to capture the next script name (e.g. pnpm run build -> run_build, pnpm exec tsc -> exec_tsc)
|
|
87
|
+
let scriptIdx = subIdx + 1;
|
|
88
|
+
while (scriptIdx < tokens.length && tokens[scriptIdx]?.startsWith("-")) {
|
|
89
|
+
scriptIdx++;
|
|
90
|
+
}
|
|
91
|
+
const scriptName = tokens[scriptIdx] || "";
|
|
92
|
+
if (scriptName && !scriptName.startsWith("-")) {
|
|
93
|
+
subcommand = `${subcommand}_${scriptName.toLowerCase()}`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
commandFamily: executable,
|
|
99
|
+
subcommand,
|
|
100
|
+
normalizedInput: redacted
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (executable === "git") {
|
|
104
|
+
let subcommand = "";
|
|
105
|
+
let subIdx = 1;
|
|
106
|
+
while (subIdx < tokens.length && tokens[subIdx]?.startsWith("-")) {
|
|
107
|
+
subIdx++;
|
|
108
|
+
}
|
|
109
|
+
const primarySub = tokens[subIdx] || "";
|
|
110
|
+
if (primarySub && !primarySub.startsWith("-")) {
|
|
111
|
+
subcommand = primarySub.toLowerCase();
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
commandFamily: "git",
|
|
115
|
+
subcommand,
|
|
116
|
+
normalizedInput: redacted
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
// Other known build/test tools
|
|
120
|
+
if (["tsc", "vitest", "jest", "mocha", "eslint", "prettier", "vite", "next"].includes(executable)) {
|
|
121
|
+
return {
|
|
122
|
+
commandFamily: executable,
|
|
123
|
+
subcommand: "run",
|
|
124
|
+
normalizedInput: redacted
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// Fallback for general executables
|
|
128
|
+
return {
|
|
129
|
+
commandFamily: executable || undefined,
|
|
130
|
+
normalizedInput: redacted
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Transforms a raw ToolEvent into a NormalizedToolEvent.
|
|
135
|
+
*/
|
|
136
|
+
static normalizeToolEvent(event) {
|
|
137
|
+
const status = event.status;
|
|
138
|
+
const normalizedOutput = event.output_summary ? this.redactVolatileTokens(event.output_summary) : undefined;
|
|
139
|
+
// Handle command executions
|
|
140
|
+
const isCmdToolName = /^(run_command|bash|execute_command|terminal|sh)$/i.test(event.tool_name);
|
|
141
|
+
if (isCmdToolName && event.input_summary) {
|
|
142
|
+
const normalizedCmd = this.normalizeCommand(event.input_summary);
|
|
143
|
+
return {
|
|
144
|
+
toolName: event.tool_name,
|
|
145
|
+
commandFamily: normalizedCmd.commandFamily,
|
|
146
|
+
subcommand: normalizedCmd.subcommand,
|
|
147
|
+
normalizedInput: normalizedCmd.normalizedInput,
|
|
148
|
+
normalizedOutput,
|
|
149
|
+
status
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// Handle host-native file tools
|
|
153
|
+
const isFileToolName = /^(write_to_file|replace_file_content|multi_replace_file_content|write_file|read_file|view_file|apply_patch)$/i.test(event.tool_name);
|
|
154
|
+
if (isFileToolName && event.input_summary) {
|
|
155
|
+
const trimmed = event.input_summary.trim();
|
|
156
|
+
const pathsSet = new Set();
|
|
157
|
+
const addPath = (p) => {
|
|
158
|
+
if (p && typeof p === "string") {
|
|
159
|
+
let cleaned = p.trim();
|
|
160
|
+
cleaned = cleaned.replace(/^['"]|['"]$/g, "").trim();
|
|
161
|
+
if (cleaned) {
|
|
162
|
+
pathsSet.add(cleaned.replace(/\\/g, "/"));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
const extractPathsFromString = (text) => {
|
|
167
|
+
// Regex to match:
|
|
168
|
+
// *** Update File: path
|
|
169
|
+
// *** Add File: path
|
|
170
|
+
// *** Delete File: path
|
|
171
|
+
// Stop at any double quote, backslash, or comma which might demarcate JSON fields.
|
|
172
|
+
const patchPattern = /\*\*\*\s+(?:Update|Add|Delete)\s+File:\s*([^\r\n"\\,]+)/gi;
|
|
173
|
+
let match;
|
|
174
|
+
while ((match = patchPattern.exec(text)) !== null) {
|
|
175
|
+
if (match[1]) {
|
|
176
|
+
addPath(match[1]);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Regex to match git/standard diff headers:
|
|
180
|
+
// --- a/path
|
|
181
|
+
// +++ b/path
|
|
182
|
+
// Support optional quotes that may prefix/suffix headers in JSON formatting
|
|
183
|
+
const diffPattern = /^(?:"?--- a\/|"?\+\+\+ b\/)([^\r\n\t "]+)/gm;
|
|
184
|
+
let diffMatch;
|
|
185
|
+
while ((diffMatch = diffPattern.exec(text)) !== null) {
|
|
186
|
+
if (diffMatch[1]) {
|
|
187
|
+
addPath(diffMatch[1]);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
const walkJson = (val) => {
|
|
192
|
+
if (!val)
|
|
193
|
+
return;
|
|
194
|
+
if (typeof val === "string") {
|
|
195
|
+
extractPathsFromString(val);
|
|
196
|
+
}
|
|
197
|
+
else if (Array.isArray(val)) {
|
|
198
|
+
for (const item of val) {
|
|
199
|
+
walkJson(item);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
else if (typeof val === "object") {
|
|
203
|
+
for (const key of Object.keys(val)) {
|
|
204
|
+
const lowKey = key.toLowerCase();
|
|
205
|
+
const isPathProp = lowKey === "path" ||
|
|
206
|
+
lowKey === "filepath" ||
|
|
207
|
+
lowKey === "targetfile" ||
|
|
208
|
+
lowKey === "filename" ||
|
|
209
|
+
lowKey === "file";
|
|
210
|
+
if (isPathProp && typeof val[key] === "string") {
|
|
211
|
+
addPath(val[key]);
|
|
212
|
+
}
|
|
213
|
+
walkJson(val[key]);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
// Unescape escaped newline structures and replace double backslashes
|
|
218
|
+
let normalizedText = trimmed
|
|
219
|
+
.replace(/\\r\\n/g, "\n")
|
|
220
|
+
.replace(/\\n/g, "\n")
|
|
221
|
+
.replace(/\\r/g, "\n")
|
|
222
|
+
.replace(/\\\\/g, "/");
|
|
223
|
+
// 1. Try parsing normalizedText as JSON
|
|
224
|
+
if (normalizedText.startsWith("{") || normalizedText.startsWith("[")) {
|
|
225
|
+
try {
|
|
226
|
+
const parsed = JSON.parse(normalizedText);
|
|
227
|
+
walkJson(parsed);
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// ignore parsing error, fallback to raw string extraction
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// 2. Also run regex on normalized text directly
|
|
234
|
+
extractPathsFromString(normalizedText);
|
|
235
|
+
// 3. Fallback if no paths were resolved
|
|
236
|
+
if (pathsSet.size === 0) {
|
|
237
|
+
addPath(trimmed);
|
|
238
|
+
}
|
|
239
|
+
const paths = Array.from(pathsSet);
|
|
240
|
+
const primaryPath = paths[0] || "";
|
|
241
|
+
const basename = this.getBasename(primaryPath);
|
|
242
|
+
const extension = this.getExtension(primaryPath);
|
|
243
|
+
return {
|
|
244
|
+
toolName: event.tool_name,
|
|
245
|
+
artifactName: basename || undefined,
|
|
246
|
+
artifactExtension: extension || undefined,
|
|
247
|
+
artifactPath: primaryPath || undefined,
|
|
248
|
+
artifactPaths: paths,
|
|
249
|
+
normalizedInput: this.redactVolatileTokens(trimmed),
|
|
250
|
+
normalizedOutput,
|
|
251
|
+
status
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
// Default normalization
|
|
255
|
+
return {
|
|
256
|
+
toolName: event.tool_name,
|
|
257
|
+
normalizedInput: event.input_summary ? this.redactVolatileTokens(event.input_summary) : undefined,
|
|
258
|
+
normalizedOutput,
|
|
259
|
+
status
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=command-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-normalizer.js","sourceRoot":"","sources":["../../src/compiler/command-normalizer.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IAC5B;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,KAAa;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,kBAAkB;QAClB,MAAM,SAAS,GAAG,gEAAgE,CAAC;QACnF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEjD,4CAA4C;QAC5C,6DAA6D;QAC7D,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;QACzD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAE3D,6CAA6C;QAC7C,8GAA8G;QAC9G,MAAM,aAAa,GAAG,wGAAwG,CAAC;QAC/H,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACvD,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACrC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAElD,uFAAuF;QACvF,wCAAwC;QACxC,MAAM,WAAW,GAAG,+DAA+D,CAAC;QACpF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAErD,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,+DAA+D,CAAC;QACzF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YAClE,oDAAoD;YACpD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,EAAE,UAAU,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,OAAe;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gBAAgB,CAAC,UAAkB;QAK/C,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACjC,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,kEAAkE;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEnG,mCAAmC;QACnC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,mBAAmB;YACnB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,oDAAoD;YACpD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,EAAE,CAAC;YACX,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtC,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAClD,wHAAwH;oBACxH,IAAI,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;oBAC3B,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvE,SAAS,EAAE,CAAC;oBACd,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9C,UAAU,GAAG,GAAG,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,UAAU;gBACzB,UAAU;gBACV,eAAe,EAAE,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,EAAE,CAAC;YACX,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACxC,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,KAAK;gBACpB,UAAU;gBACV,eAAe,EAAE,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClG,OAAO;gBACL,aAAa,EAAE,UAAU;gBACzB,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,OAAO;YACL,aAAa,EAAE,UAAU,IAAI,SAAS;YACtC,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,KAAgB;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5G,4BAA4B;QAC5B,MAAM,aAAa,GAAG,mDAAmD,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjE,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,SAAS;gBACzB,aAAa,EAAE,aAAa,CAAC,aAAa;gBAC1C,UAAU,EAAE,aAAa,CAAC,UAAU;gBACpC,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC9C,gBAAgB;gBAChB,MAAM;aACP,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,+GAA+G,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7J,IAAI,cAAc,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE;gBAC5B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrD,IAAI,OAAO,EAAE,CAAC;wBACZ,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9C,kBAAkB;gBAClB,wBAAwB;gBACxB,qBAAqB;gBACrB,wBAAwB;gBACxB,mFAAmF;gBACnF,MAAM,YAAY,GAAG,2DAA2D,CAAC;gBACjF,IAAI,KAAK,CAAC;gBACV,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,aAAa;gBACb,aAAa;gBACb,4EAA4E;gBAC5E,MAAM,WAAW,GAAG,6CAA6C,CAAC;gBAClE,IAAI,SAAS,CAAC;gBACd,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACrD,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE;gBAC5B,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5B,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;wBACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;wBACjC,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM;4BACjB,MAAM,KAAK,UAAU;4BACrB,MAAM,KAAK,YAAY;4BACvB,MAAM,KAAK,UAAU;4BACrB,MAAM,KAAK,MAAM,CAAC;wBACrC,IAAI,UAAU,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpB,CAAC;wBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,qEAAqE;YACrE,IAAI,cAAc,GAAG,OAAO;iBACzB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;iBACxB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;iBACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;iBACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEzB,wCAAwC;YACxC,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC1C,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,0DAA0D;gBAC5D,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAEvC,wCAAwC;YACxC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAEjD,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,SAAS;gBACzB,YAAY,EAAE,QAAQ,IAAI,SAAS;gBACnC,iBAAiB,EAAE,SAAS,IAAI,SAAS;gBACzC,YAAY,EAAE,WAAW,IAAI,SAAS;gBACtC,aAAa,EAAE,KAAK;gBACpB,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACnD,gBAAgB;gBAChB,MAAM;aACP,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;YACjG,gBAAgB;YAChB,MAAM;SACP,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TrajectoryExpectation, CompiledTrajectoryExpectations, TrajectoryExpectationType } from "../types/domain.js";
|
|
2
|
+
export declare class TrajectoryCompiler {
|
|
3
|
+
static cleanStepProse(step: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Compiles a single step prose into a TrajectoryExpectation structure.
|
|
6
|
+
*/
|
|
7
|
+
static compileStep(stepProse: string, type: TrajectoryExpectationType): TrajectoryExpectation;
|
|
8
|
+
/**
|
|
9
|
+
* Compiles recommended_steps, avoid_steps, success_signal, stop_condition, and escalation_condition of an ExperienceNode into CompiledTrajectoryExpectations.
|
|
10
|
+
*/
|
|
11
|
+
static compileNodeExpectations(recommendedSteps?: string[], avoidSteps?: string[], successSignal?: string, stopCondition?: string, escalationCondition?: string): CompiledTrajectoryExpectations;
|
|
12
|
+
}
|