@lesliechan721/aw 0.1.0-beta.58 → 0.1.0-beta.60
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/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
- package/dist/authoring/scripts/validate-plugin.mjs +22 -4
- package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
- package/dist/native-runtime/reader-runtime.mjs +34 -0
- package/dist/native-runtime/reader.d.mts +6 -0
- package/dist/native-runtime/reader.mjs +11 -0
- package/dist/scripts/bundle-plugins.js +4 -13
- package/dist/scripts/bundle-plugins.js.map +1 -1
- package/dist/scripts/test-plugin-scripts.d.ts +3 -0
- package/dist/scripts/test-plugin-scripts.js +89 -10
- package/dist/scripts/test-plugin-scripts.js.map +1 -1
- package/dist/src/authoring/workspace-commands.d.ts +2 -0
- package/dist/src/authoring/workspace-commands.js +3 -1
- package/dist/src/authoring/workspace-commands.js.map +1 -1
- package/dist/src/commands/aw-capabilities.d.ts +1 -1
- package/dist/src/commands/aw-capabilities.js +1 -0
- package/dist/src/commands/aw-capabilities.js.map +1 -1
- package/dist/src/commands/managed-commands.d.ts +2 -0
- package/dist/src/commands/managed-commands.js +41 -3
- package/dist/src/commands/managed-commands.js.map +1 -1
- package/dist/src/commands/operation-plan.d.ts +8 -1
- package/dist/src/commands/operation-plan.js.map +1 -1
- package/dist/src/commands/plugin-capabilities.js +13 -0
- package/dist/src/commands/plugin-capabilities.js.map +1 -1
- package/dist/src/commands/rebuild-command.js +67 -21
- package/dist/src/commands/rebuild-command.js.map +1 -1
- package/dist/src/commands/rebuild-integration.js +33 -6
- package/dist/src/commands/rebuild-integration.js.map +1 -1
- package/dist/src/commands/runtime.js +3 -3
- package/dist/src/commands/runtime.js.map +1 -1
- package/dist/src/commands/sync-command.js +4 -0
- package/dist/src/commands/sync-command.js.map +1 -1
- package/dist/src/commands/write-commands.js +17 -8
- package/dist/src/commands/write-commands.js.map +1 -1
- package/dist/src/generators/local-plugin.js +10 -1
- package/dist/src/generators/local-plugin.js.map +1 -1
- package/dist/src/index.js +14 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/output/command-receipt.d.ts +2 -0
- package/dist/src/output/command-receipt.js +5 -0
- package/dist/src/output/command-receipt.js.map +1 -1
- package/dist/src/portable/materializer.js +4 -0
- package/dist/src/portable/materializer.js.map +1 -1
- package/dist/src/review/skill-materialization.js +4 -0
- package/dist/src/review/skill-materialization.js.map +1 -1
- package/dist/src/tui/controller-runtime.js +7 -0
- package/dist/src/tui/controller-runtime.js.map +1 -1
- package/dist/src/tui/operation-review-planner.js +12 -1
- package/dist/src/tui/operation-review-planner.js.map +1 -1
- package/dist/src/utils/managed-command-materialization.d.ts +10 -1
- package/dist/src/utils/managed-command-materialization.js +56 -4
- package/dist/src/utils/managed-command-materialization.js.map +1 -1
- package/dist/src/utils/managed-command-runtime.d.ts +10 -9
- package/dist/src/utils/managed-command-runtime.js +19 -8
- package/dist/src/utils/managed-command-runtime.js.map +1 -1
- package/dist/src/utils/managed-command-store.d.ts +6 -2
- package/dist/src/utils/managed-command-store.js +20 -7
- package/dist/src/utils/managed-command-store.js.map +1 -1
- package/dist/src/utils/native-cli.d.ts +6 -0
- package/dist/src/utils/native-cli.js +32 -6
- package/dist/src/utils/native-cli.js.map +1 -1
- package/dist/src/utils/native-tool-context.d.ts +14 -0
- package/dist/src/utils/native-tool-context.js +38 -0
- package/dist/src/utils/native-tool-context.js.map +1 -0
- package/dist/src/utils/native-tool-review.d.ts +21 -0
- package/dist/src/utils/native-tool-review.js +102 -0
- package/dist/src/utils/native-tool-review.js.map +1 -0
- package/dist/src/utils/plugin-config-write.js +30 -2
- package/dist/src/utils/plugin-config-write.js.map +1 -1
- package/dist/src/utils/plugin-scripts.js +14 -7
- package/dist/src/utils/plugin-scripts.js.map +1 -1
- package/dist/src/utils/process-lock.js +3 -1
- package/dist/src/utils/process-lock.js.map +1 -1
- package/dist/src/utils/process-tree.d.ts +2 -2
- package/dist/src/utils/process-tree.js +1 -1
- package/dist/src/utils/process-tree.js.map +1 -1
- package/dist/vitest.config.js +10 -1
- package/dist/vitest.config.js.map +1 -1
- package/package.json +8 -7
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type CommandLaunch } from '@lesliechan721/aw-plugin-core/manifest';
|
|
2
|
+
import { type NativeToolContext } from './native-tool-context.js';
|
|
3
|
+
import type { prepareWindowsJobHelper } from '@lesliechan721/agent-skill-eval';
|
|
2
4
|
export interface CommandHost {
|
|
3
5
|
schemaVersion: 1;
|
|
4
6
|
nodeExecutable: string;
|
|
@@ -10,23 +12,22 @@ export declare function buildManagedCommandEnvironment(options: {
|
|
|
10
12
|
hostEnvironment: NodeJS.ProcessEnv;
|
|
11
13
|
host: CommandHost;
|
|
12
14
|
platform?: NodeJS.Platform;
|
|
15
|
+
nativeContext?: NativeToolContext;
|
|
13
16
|
}): NodeJS.ProcessEnv;
|
|
14
|
-
export
|
|
17
|
+
export interface ManagedCommandRunOptions {
|
|
15
18
|
id: string;
|
|
16
19
|
args: string[];
|
|
17
20
|
cwd: string;
|
|
18
21
|
cliEntry: string;
|
|
19
22
|
env?: NodeJS.ProcessEnv;
|
|
20
|
-
|
|
23
|
+
platform?: NodeJS.Platform;
|
|
24
|
+
arch?: string;
|
|
25
|
+
prepareNativeTool?: typeof prepareWindowsJobHelper;
|
|
26
|
+
}
|
|
27
|
+
export declare function prepareManagedCommandRun(options: ManagedCommandRunOptions): Promise<{
|
|
21
28
|
executable: string;
|
|
22
29
|
args: string[];
|
|
23
30
|
cwd: string;
|
|
24
31
|
env: NodeJS.ProcessEnv;
|
|
25
32
|
}>;
|
|
26
|
-
export declare function runManagedCommand(options:
|
|
27
|
-
id: string;
|
|
28
|
-
args: string[];
|
|
29
|
-
cwd: string;
|
|
30
|
-
cliEntry: string;
|
|
31
|
-
env?: NodeJS.ProcessEnv;
|
|
32
|
-
}): Promise<number>;
|
|
33
|
+
export declare function runManagedCommand(options: ManagedCommandRunOptions): Promise<number>;
|
|
@@ -3,6 +3,7 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { validateCommandEnvironment } from '@lesliechan721/aw-plugin-core/manifest';
|
|
5
5
|
import { resolveAwHomeCanonical } from './state-paths.js';
|
|
6
|
+
import { prepareNativeToolContext } from './native-tool-context.js';
|
|
6
7
|
import { ManagedCommandError, resolveManagedCommand } from './managed-command-store.js';
|
|
7
8
|
export function buildManagedCommandEnvironment(options) {
|
|
8
9
|
const platform = options.platform ?? process.platform;
|
|
@@ -23,7 +24,7 @@ export function buildManagedCommandEnvironment(options) {
|
|
|
23
24
|
result[name] = value;
|
|
24
25
|
};
|
|
25
26
|
for (const [name, value] of Object.entries(original)) {
|
|
26
|
-
if (/^AW_(?:PLUGIN|COMMAND)_/iu.test(name))
|
|
27
|
+
if (/^AW_(?:PLUGIN|COMMAND|NATIVE)_/iu.test(name))
|
|
27
28
|
continue;
|
|
28
29
|
put(name, value);
|
|
29
30
|
}
|
|
@@ -38,6 +39,8 @@ export function buildManagedCommandEnvironment(options) {
|
|
|
38
39
|
throw new ManagedCommandError('commandEnvironmentSourceMissing', `The command environment source ${source} is missing.`);
|
|
39
40
|
put(name, value);
|
|
40
41
|
}
|
|
42
|
+
if (options.nativeContext && Object.keys(options.nativeContext.tools).length > 0)
|
|
43
|
+
put('AW_NATIVE_TOOL_CONTEXT', JSON.stringify(options.nativeContext));
|
|
41
44
|
put('AW_HOME', options.host.awHome);
|
|
42
45
|
put('AW_COMMAND_HOST', JSON.stringify(options.host));
|
|
43
46
|
return result;
|
|
@@ -45,18 +48,26 @@ export function buildManagedCommandEnvironment(options) {
|
|
|
45
48
|
export async function prepareManagedCommandRun(options) {
|
|
46
49
|
const hostEnvironment = { ...(options.env ?? process.env) };
|
|
47
50
|
const awHome = await resolveAwHomeCanonical(hostEnvironment);
|
|
48
|
-
const { launch, resourceRoot } = await resolveManagedCommand(options.id, hostEnvironment);
|
|
51
|
+
const { launch, resourceRoot, producer, set } = await resolveManagedCommand(options.id, hostEnvironment);
|
|
52
|
+
// Reject invalid bindings before native preparation or consumer startup.
|
|
53
|
+
const host = { schemaVersion: 1, nodeExecutable: process.execPath, cliEntry: path.resolve(options.cliEntry), awHome };
|
|
54
|
+
const environment = buildManagedCommandEnvironment({ launch, hostEnvironment, host, platform: options.platform });
|
|
55
|
+
let nativeContext;
|
|
56
|
+
try {
|
|
57
|
+
nativeContext = await prepareNativeToolContext({ closure: producer?.nativeTools, kind: 'managed-command-set', key: set ?? '',
|
|
58
|
+
platform: options.platform, arch: options.arch, prepare: options.prepareNativeTool });
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new ManagedCommandError(error && typeof error === 'object' && 'code' in error ? String(error.code) : 'nativeToolUnavailable', 'The required native tool could not be prepared. Reinstall the current CLI/Eval package and include optional dependencies.');
|
|
62
|
+
}
|
|
63
|
+
if (Object.keys(nativeContext.tools).length > 0)
|
|
64
|
+
environment.AW_NATIVE_TOOL_CONTEXT = JSON.stringify(nativeContext);
|
|
49
65
|
const absoluteEntry = path.resolve(resourceRoot, launch.entry);
|
|
50
66
|
return {
|
|
51
67
|
executable: launch.runner === 'node' ? process.execPath : absoluteEntry,
|
|
52
68
|
args: [...(launch.runner === 'node' ? [absoluteEntry] : []), ...launch.args, ...options.args],
|
|
53
69
|
cwd: launch.cwd === 'resource' ? resourceRoot : options.cwd,
|
|
54
|
-
env:
|
|
55
|
-
schemaVersion: 1,
|
|
56
|
-
nodeExecutable: process.execPath,
|
|
57
|
-
cliEntry: path.resolve(options.cliEntry),
|
|
58
|
-
awHome,
|
|
59
|
-
} }),
|
|
70
|
+
env: environment,
|
|
60
71
|
};
|
|
61
72
|
}
|
|
62
73
|
export async function runManagedCommand(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-command-runtime.js","sourceRoot":"","sources":["../../../src/utils/managed-command-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAsB,MAAM,wCAAwC,CAAC;AAExG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AASxF,MAAM,UAAU,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"managed-command-runtime.js","sourceRoot":"","sources":["../../../src/utils/managed-command-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAsB,MAAM,wCAAwC,CAAC;AAExG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAA0B,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AASxF,MAAM,UAAU,8BAA8B,CAAC,OAM9C;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC;QAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAAC,CAAC;IACzF,MAAM,CAAC;QAAC,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,EAAE,gDAAgD,CAAC,CAAC;IAAC,CAAC;IACvH,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAChD,MAAM,MAAM,GAAsB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAsB,CAAC;IAC3E,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAyB,EAAQ,EAAE;QAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5D,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO;YACpC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;YACjF,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,EAAE,kCAAkC,MAAM,cAAc,CAAC,CAAC;QAClJ,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACvJ,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAiC;IAC9E,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACzG,yEAAyE;IACzE,MAAM,IAAI,GAAgB,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACnI,MAAM,WAAW,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClH,IAAI,aAAgC,CAAC;IACrC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE;YAC1H,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,mBAAmB,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,2HAA2H,CAAC,CAAC;IACnQ,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACpH,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa;QACvE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7F,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;QAC3D,GAAG,EAAE,WAAW;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IACvE,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE;YAC1D,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,OAAO,GAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QACvD,IAAI,QAAoC,CAAC;QACzC,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,QAAQ,GAAG,MAAM,CAAC;gBAClB,IAAI,CAAC;oBAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;YACxE,CAAC,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,mBAAmB,CAAC,oBAAoB,EAAE,2DAA2D,CAAC,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,KAAK,EAAE,CAAC;YACR,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7C,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YACD,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,2EAA2E,CAAC,CAAC;gBAChI,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type CommandIdentity, type CommandLaunch, type ProducerIdentity, type InstalledCommandProducer, type UserCommandDefinition } from '@lesliechan721/aw-plugin-core/manifest';
|
|
1
|
+
import { type NativeToolClosure, type CommandIdentity, type CommandLaunch, type ProducerIdentity, type InstalledCommandProducer, type UserCommandDefinition } from '@lesliechan721/aw-plugin-core/manifest';
|
|
2
2
|
export declare const COMMAND_PRODUCER_RECORD = ".aw-command-producer.json";
|
|
3
3
|
export type { InstalledCommandProducer, UserCommandDefinition };
|
|
4
4
|
export interface ManagedCommandDiagnostic {
|
|
@@ -78,13 +78,14 @@ export declare function readInstalledCommandProducer(resourceRoot: string): Prom
|
|
|
78
78
|
export declare function writeInstalledCommandProducer(resourceRoot: string, record: InstalledCommandProducer): Promise<void>;
|
|
79
79
|
export declare function revokeManagedCommandBindings(producer: ProducerIdentity, env?: NodeJS.ProcessEnv): Promise<string[]>;
|
|
80
80
|
export declare function assertManagedCommandBindingIdentities(options: {
|
|
81
|
-
producers: Array<Pick<InstalledCommandProducer, 'producer' | 'sets'>>;
|
|
81
|
+
producers: Array<Pick<InstalledCommandProducer, 'producer' | 'sets' | 'nativeTools'>>;
|
|
82
82
|
env?: NodeJS.ProcessEnv;
|
|
83
83
|
}): Promise<void>;
|
|
84
84
|
export declare function publishManagedCommandBindings(options: {
|
|
85
85
|
producer: ProducerIdentity;
|
|
86
86
|
resourceRoot: string;
|
|
87
87
|
sets: InstalledCommandSet[];
|
|
88
|
+
nativeTools?: NativeToolClosure;
|
|
88
89
|
env?: NodeJS.ProcessEnv;
|
|
89
90
|
}): Promise<string[]>;
|
|
90
91
|
export declare function readManagedCommandPackageOwner(id: string, env?: NodeJS.ProcessEnv): Promise<{
|
|
@@ -99,6 +100,7 @@ export declare function syncManagedCommandPackage(options: {
|
|
|
99
100
|
producer: ProducerIdentity;
|
|
100
101
|
sourceDirectory: string;
|
|
101
102
|
sets: InstalledCommandSet[];
|
|
103
|
+
nativeTools?: NativeToolClosure;
|
|
102
104
|
env?: NodeJS.ProcessEnv;
|
|
103
105
|
}): Promise<{
|
|
104
106
|
id: string;
|
|
@@ -111,6 +113,8 @@ export declare function resolveManagedCommand(id: string, env?: NodeJS.ProcessEn
|
|
|
111
113
|
view: ManagedCommandView;
|
|
112
114
|
launch: CommandLaunch;
|
|
113
115
|
resourceRoot: string;
|
|
116
|
+
producer?: InstalledCommandProducer;
|
|
117
|
+
set?: string;
|
|
114
118
|
}>;
|
|
115
119
|
export declare function inspectManagedCommand(id: string, env?: NodeJS.ProcessEnv): Promise<ManagedCommandView>;
|
|
116
120
|
export declare function listManagedCommandPackages(env?: NodeJS.ProcessEnv): Promise<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import crypto from 'node:crypto';
|
|
2
2
|
import * as fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { getCommandPackageId, getPluginCommandId, isManagedCommandId, normalizeCommandIdentity, normalizeCommandLaunch, normalizeInstalledCommandProducer as normalizeCoreProducer, normalizeUserCommandDefinition, normalizeProducerIdentity, COMMAND_PRODUCER_RECORD_FILE, } from '@lesliechan721/aw-plugin-core/manifest';
|
|
4
|
+
import { getCommandPackageId, getPluginCommandId, isManagedCommandId, normalizeCommandIdentity, normalizeCommandLaunch, normalizeInstalledCommandProducer as normalizeCoreProducer, normalizeUserCommandDefinition, normalizeProducerIdentity, COMMAND_PRODUCER_RECORD_FILE, validateNativeToolClosureFiles, } from '@lesliechan721/aw-plugin-core/manifest';
|
|
5
5
|
import { verifyManagedCommandArtifactEvidence } from './managed-command-evidence.js';
|
|
6
6
|
import { atomicReplaceSafeFile } from './safe-fs.js';
|
|
7
7
|
import { canonicalizePathThroughExistingAncestor, ensureRegularDirectoryPath, resolveAwHome, } from './state-paths.js';
|
|
@@ -290,7 +290,16 @@ export function normalizeInstalledCommandProducer(value) {
|
|
|
290
290
|
}
|
|
291
291
|
}
|
|
292
292
|
export async function readInstalledCommandProducer(resourceRoot) {
|
|
293
|
-
|
|
293
|
+
const record = normalizeInstalledCommandProducer(await readJson(resourceRoot, path.join(resourceRoot, COMMAND_PRODUCER_RECORD), 'commandBindingInvalid'));
|
|
294
|
+
if (record.nativeTools) {
|
|
295
|
+
try {
|
|
296
|
+
await validateNativeToolClosureFiles(resourceRoot, record.nativeTools);
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
fail('commandBindingInvalid', 'The installed native tool closure does not match its files. Run producer sync or reinstall.');
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return record;
|
|
294
303
|
}
|
|
295
304
|
export async function writeInstalledCommandProducer(resourceRoot, record) {
|
|
296
305
|
await writeJson(resourceRoot, path.join(resourceRoot, COMMAND_PRODUCER_RECORD), normalizeInstalledCommandProducer(record));
|
|
@@ -360,17 +369,19 @@ async function prepareManagedCommandIdentities(root, records) {
|
|
|
360
369
|
export async function assertManagedCommandBindingIdentities(options) {
|
|
361
370
|
if (options.producers.length === 0)
|
|
362
371
|
return;
|
|
363
|
-
const records = options.producers.map((
|
|
372
|
+
const records = options.producers.map((record) => normalizeInstalledCommandProducer({ schemaVersion: 1, producer: record.producer, sets: record.sets, ...(record.nativeTools ? { nativeTools: record.nativeTools } : {}) }));
|
|
364
373
|
await prepareManagedCommandIdentities(await managedCommandRoot(options.env), records);
|
|
365
374
|
}
|
|
366
375
|
export async function publishManagedCommandBindings(options) {
|
|
367
|
-
const record = normalizeInstalledCommandProducer({ schemaVersion: 1, producer: options.producer, sets: options.sets });
|
|
376
|
+
const record = normalizeInstalledCommandProducer({ schemaVersion: 1, producer: options.producer, sets: options.sets, ...(options.nativeTools ? { nativeTools: options.nativeTools } : {}) });
|
|
368
377
|
const root = await managedCommandRoot(options.env);
|
|
369
378
|
const resourceRoot = path.resolve(options.resourceRoot);
|
|
370
379
|
for (const set of record.sets)
|
|
371
380
|
for (const entry of set.entries)
|
|
372
381
|
await validateManagedCommandResource(resourceRoot, entry);
|
|
373
382
|
const candidates = await prepareManagedCommandIdentities(root, [record]);
|
|
383
|
+
if (record.nativeTools)
|
|
384
|
+
await validateNativeToolClosureFiles(resourceRoot, record.nativeTools);
|
|
374
385
|
await writeInstalledCommandProducer(resourceRoot, record);
|
|
375
386
|
await revokeManagedCommandBindings(record.producer, options.env);
|
|
376
387
|
for (const [id, identity] of candidates)
|
|
@@ -417,11 +428,13 @@ export async function syncManagedCommandPackage(options) {
|
|
|
417
428
|
try {
|
|
418
429
|
const resourceRoot = path.join(staging, 'resource');
|
|
419
430
|
await copyManagedCommandDirectory(options.sourceDirectory, resourceRoot, options.env);
|
|
420
|
-
const record = normalizeInstalledCommandProducer({ schemaVersion: 1, producer, sets: options.sets });
|
|
431
|
+
const record = normalizeInstalledCommandProducer({ schemaVersion: 1, producer, sets: options.sets, ...(options.nativeTools ? { nativeTools: options.nativeTools } : {}) });
|
|
421
432
|
for (const set of record.sets)
|
|
422
433
|
for (const entry of set.entries)
|
|
423
434
|
await validateManagedCommandResource(resourceRoot, entry);
|
|
424
435
|
await prepareManagedCommandIdentities(root, [record]);
|
|
436
|
+
if (record.nativeTools)
|
|
437
|
+
await validateNativeToolClosureFiles(resourceRoot, record.nativeTools);
|
|
425
438
|
await writeInstalledCommandProducer(resourceRoot, record);
|
|
426
439
|
await writeJson(root, path.join(staging, 'owner.json'), { schemaVersion: 1, owner: 'agent-workflows', kind: 'plugin-command-package', producer });
|
|
427
440
|
const removed = await revokeManagedCommandBindings(producer, options.env);
|
|
@@ -431,7 +444,7 @@ export async function syncManagedCommandPackage(options) {
|
|
|
431
444
|
}
|
|
432
445
|
await fs.rename(staging, packageRoot);
|
|
433
446
|
const installedRoot = path.join(packageRoot, 'resource');
|
|
434
|
-
const commandIds = await publishManagedCommandBindings({ producer, resourceRoot: installedRoot, sets: record.sets, env: options.env });
|
|
447
|
+
const commandIds = await publishManagedCommandBindings({ producer, resourceRoot: installedRoot, sets: record.sets, nativeTools: record.nativeTools, env: options.env });
|
|
435
448
|
return { id, resourceRoot: installedRoot, commandIds, removedCommandIds: removed.filter((commandId) => !commandIds.includes(commandId)) };
|
|
436
449
|
}
|
|
437
450
|
finally {
|
|
@@ -479,7 +492,7 @@ export async function resolveManagedCommand(id, env = process.env) {
|
|
|
479
492
|
fail('commandBindingInvalid', 'The command is absent or disabled in the installed producer.');
|
|
480
493
|
const { key: _key, variant: _variant, ...launch } = entry;
|
|
481
494
|
await validateManagedCommandResource(binding.resourceRoot, launch);
|
|
482
|
-
return { resourceRoot: binding.resourceRoot, launch, view: { id, name: `${binding.identity.set}/${entry.key}/${entry.variant}`, owner: { kind: 'plugin', producer: record.producer }, availability: 'ready', resourceRoot: binding.resourceRoot, launch, errors: [], recoveryActions: [] } };
|
|
495
|
+
return { resourceRoot: binding.resourceRoot, launch, producer: record, set: binding.identity.set, view: { id, name: `${binding.identity.set}/${entry.key}/${entry.variant}`, owner: { kind: 'plugin', producer: record.producer }, availability: 'ready', resourceRoot: binding.resourceRoot, launch, errors: [], recoveryActions: [] } };
|
|
483
496
|
}
|
|
484
497
|
export async function inspectManagedCommand(id, env = process.env) {
|
|
485
498
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-command-store.js","sourceRoot":"","sources":["../../../src/utils/managed-command-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"managed-command-store.js","sourceRoot":"","sources":["../../../src/utils/managed-command-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,8 +63,14 @@ export declare class NativeCliError extends Error {
|
|
|
63
63
|
constructor(options: NativeCliErrorOptions);
|
|
64
64
|
}
|
|
65
65
|
export type NativeCliRunner = (invocation: NativeCliInvocation) => Promise<NativeCliResult>;
|
|
66
|
+
export declare function retainNativeCliRunnerBackend(wrapper: NativeCliRunner, base: NativeCliRunner): NativeCliRunner;
|
|
66
67
|
export declare function setNativeCliRunnerOverrideForTests(runner: NativeCliRunner | null): void;
|
|
67
68
|
export declare function getDefaultNativeCliRunner(): NativeCliRunner;
|
|
69
|
+
/** Prepare outside the AW_HOME write lock. Injected runners own their admission. */
|
|
70
|
+
export declare function prepareNativeCliExecution(options?: {
|
|
71
|
+
env?: NodeJS.ProcessEnv;
|
|
72
|
+
runner?: NativeCliRunner;
|
|
73
|
+
}): Promise<void>;
|
|
68
74
|
export declare function isNativeCliExecutableMissingError(error: unknown): boolean;
|
|
69
75
|
export declare function isNativeCliTimeoutError(error: unknown): error is NativeCliError;
|
|
70
76
|
export declare function summarizeNativeCliFailure(error: unknown): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { createWindowsJobInvocation, observeProcessTree, terminateProcessTree, } from './process-tree.js';
|
|
4
|
+
import { createWindowsJobInvocation, observeProcessTree, prepareWindowsJobHelper, terminateProcessTree, } from './process-tree.js';
|
|
5
5
|
import { getCodexHome } from './state-paths.js';
|
|
6
6
|
import { resolveWindowsClaudeCommand } from './windows-claude-shim.js';
|
|
7
7
|
import { resolveWindowsNpmCommand } from './windows-npm-shim.js';
|
|
@@ -74,12 +74,32 @@ export class NativeCliError extends Error {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
let nativeCliRunnerOverrideForTests = null;
|
|
77
|
+
const nativeCliRunnerBases = new WeakMap();
|
|
78
|
+
export function retainNativeCliRunnerBackend(wrapper, base) {
|
|
79
|
+
nativeCliRunnerBases.set(wrapper, base);
|
|
80
|
+
return wrapper;
|
|
81
|
+
}
|
|
82
|
+
function usesDefaultNativeCliBackend(runner) {
|
|
83
|
+
const seen = new Set();
|
|
84
|
+
while (nativeCliRunnerBases.has(runner) && !seen.has(runner)) {
|
|
85
|
+
seen.add(runner);
|
|
86
|
+
runner = nativeCliRunnerBases.get(runner);
|
|
87
|
+
}
|
|
88
|
+
return runner === execFileNativeCliRunner;
|
|
89
|
+
}
|
|
77
90
|
export function setNativeCliRunnerOverrideForTests(runner) {
|
|
78
91
|
nativeCliRunnerOverrideForTests = runner;
|
|
79
92
|
}
|
|
80
93
|
export function getDefaultNativeCliRunner() {
|
|
81
94
|
return nativeCliRunnerOverrideForTests ?? execFileNativeCliRunner;
|
|
82
95
|
}
|
|
96
|
+
/** Prepare outside the AW_HOME write lock. Injected runners own their admission. */
|
|
97
|
+
export async function prepareNativeCliExecution(options = {}) {
|
|
98
|
+
if (process.platform !== 'win32'
|
|
99
|
+
|| !usesDefaultNativeCliBackend(options.runner ?? getDefaultNativeCliRunner()))
|
|
100
|
+
return;
|
|
101
|
+
await prepareWindowsJobHelper();
|
|
102
|
+
}
|
|
83
103
|
function readNativeCliErrorCode(error) {
|
|
84
104
|
if (!error || typeof error !== 'object') {
|
|
85
105
|
return undefined;
|
|
@@ -302,8 +322,8 @@ export function createExecFileNativeCliRunner(dependencies = {}) {
|
|
|
302
322
|
const terminateProcessTreeImpl = dependencies.terminateProcessTree ?? terminateProcessTree;
|
|
303
323
|
const platform = dependencies.platform ?? process.platform;
|
|
304
324
|
const killProcess = dependencies.killProcess ?? process.kill;
|
|
305
|
-
const createWindowsJobInvocationImpl = dependencies.createWindowsJobInvocation
|
|
306
|
-
|
|
325
|
+
const createWindowsJobInvocationImpl = dependencies.createWindowsJobInvocation;
|
|
326
|
+
const usesDefaultWindowsJob = !dependencies.execFile && !createWindowsJobInvocationImpl;
|
|
307
327
|
return async (invocation) => {
|
|
308
328
|
if (invocation.signal?.aborted) {
|
|
309
329
|
throw createAbortedNativeCliError(invocation);
|
|
@@ -312,7 +332,7 @@ export function createExecFileNativeCliRunner(dependencies = {}) {
|
|
|
312
332
|
let executableArgs = invocation.args;
|
|
313
333
|
const commandName = normalizeNativeCliCommandName(invocation.command);
|
|
314
334
|
if (platform === 'win32'
|
|
315
|
-
&& createWindowsJobInvocationImpl
|
|
335
|
+
&& (createWindowsJobInvocationImpl || usesDefaultWindowsJob)
|
|
316
336
|
&& (commandName === 'claude' || commandName === 'codex')) {
|
|
317
337
|
const commandOptions = {
|
|
318
338
|
command: invocation.command,
|
|
@@ -330,8 +350,14 @@ export function createExecFileNativeCliRunner(dependencies = {}) {
|
|
|
330
350
|
executableCommand = resolved.command;
|
|
331
351
|
executableArgs = [...resolved.argsPrefix, ...invocation.args];
|
|
332
352
|
}
|
|
333
|
-
const windowsJobInvocation = platform === 'win32'
|
|
334
|
-
? createWindowsJobInvocationImpl
|
|
353
|
+
const windowsJobInvocation = platform === 'win32'
|
|
354
|
+
? createWindowsJobInvocationImpl
|
|
355
|
+
? createWindowsJobInvocationImpl(executableCommand, executableArgs)
|
|
356
|
+
: usesDefaultWindowsJob
|
|
357
|
+
? createWindowsJobInvocation(executableCommand, executableArgs, {
|
|
358
|
+
helperPath: await prepareWindowsJobHelper(),
|
|
359
|
+
})
|
|
360
|
+
: undefined
|
|
335
361
|
: undefined;
|
|
336
362
|
const cleanupStrategy = windowsJobInvocation
|
|
337
363
|
? 'windows-job'
|