ace-swarm 2.0.6 → 2.0.7
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 +17 -0
- package/assets/.agents/skills/landing-review-watcher/SKILL.md +68 -0
- package/assets/.agents/skills/problem-triage/SKILL.md +57 -0
- package/assets/.agents/skills/problem-triage/agents/openai.yaml +3 -0
- package/assets/.agents/skills/skill-auditor/SKILL.md +52 -0
- package/assets/.github/hooks/ace-copilot.json +68 -0
- package/assets/agent-state/ACE_WORKFLOW.md +66 -0
- package/assets/agent-state/INTERFACE_REGISTRY.md +50 -0
- package/assets/agent-state/MODULES/gates/gate-typescript-public-surface.json +7 -0
- package/assets/agent-state/MODULES/registry.json +10 -2
- package/assets/agent-state/MODULES/schemas/ACE_RUNTIME_PROFILE.schema.json +210 -0
- package/assets/agent-state/MODULES/schemas/RUNTIME_EXECUTOR_SESSION_REGISTRY.schema.json +290 -0
- package/assets/agent-state/MODULES/schemas/RUNTIME_TOOL_SPEC_REGISTRY.schema.json +144 -0
- package/assets/agent-state/MODULES/schemas/TRACKER_SNAPSHOT.schema.json +134 -0
- package/assets/agent-state/MODULES/schemas/VERICIFY_BRIDGE_SNAPSHOT.schema.json +157 -0
- package/assets/agent-state/MODULES/schemas/VERICIFY_PROCESS_POST_LOG.schema.json +92 -0
- package/assets/agent-state/MODULES/schemas/WORKSPACE_SESSION_REGISTRY.schema.json +133 -0
- package/assets/agent-state/SKILL_CATALOG.md +48 -0
- package/assets/agent-state/runtime-executor-sessions.json +5 -0
- package/assets/agent-state/runtime-tool-specs.json +5 -0
- package/assets/agent-state/runtime-workspaces.json +5 -0
- package/assets/agent-state/tracker-snapshot.json +7 -0
- package/assets/agent-state/vericify/ace-bridge.json +60 -0
- package/assets/agent-state/vericify/process-posts.json +5 -0
- package/assets/scripts/copilot-hook-dispatch.mjs +267 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +284 -1
- package/dist/helpers.js.map +1 -1
- package/dist/problem-triage.d.ts +23 -0
- package/dist/problem-triage.d.ts.map +1 -0
- package/dist/problem-triage.js +429 -0
- package/dist/problem-triage.js.map +1 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +46 -0
- package/dist/prompts.js.map +1 -1
- package/dist/public-surface.d.ts +30 -0
- package/dist/public-surface.d.ts.map +1 -0
- package/dist/public-surface.js +310 -0
- package/dist/public-surface.js.map +1 -0
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +148 -0
- package/dist/resources.js.map +1 -1
- package/dist/runtime-command.d.ts +18 -0
- package/dist/runtime-command.d.ts.map +1 -0
- package/dist/runtime-command.js +76 -0
- package/dist/runtime-command.js.map +1 -0
- package/dist/runtime-executor.d.ts +104 -0
- package/dist/runtime-executor.d.ts.map +1 -0
- package/dist/runtime-executor.js +774 -0
- package/dist/runtime-executor.js.map +1 -0
- package/dist/runtime-profile.d.ts +98 -0
- package/dist/runtime-profile.d.ts.map +1 -0
- package/dist/runtime-profile.js +441 -0
- package/dist/runtime-profile.js.map +1 -0
- package/dist/runtime-tool-specs.d.ts +68 -0
- package/dist/runtime-tool-specs.d.ts.map +1 -0
- package/dist/runtime-tool-specs.js +424 -0
- package/dist/runtime-tool-specs.js.map +1 -0
- package/dist/schemas.d.ts +6 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +305 -0
- package/dist/schemas.js.map +1 -1
- package/dist/shared.d.ts +36 -3
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +36 -3
- package/dist/shared.js.map +1 -1
- package/dist/skill-auditor.d.ts +26 -0
- package/dist/skill-auditor.d.ts.map +1 -0
- package/dist/skill-auditor.js +184 -0
- package/dist/skill-auditor.js.map +1 -0
- package/dist/skill-catalog.d.ts +60 -0
- package/dist/skill-catalog.d.ts.map +1 -0
- package/dist/skill-catalog.js +263 -0
- package/dist/skill-catalog.js.map +1 -0
- package/dist/status-events.d.ts.map +1 -1
- package/dist/status-events.js +51 -8
- package/dist/status-events.js.map +1 -1
- package/dist/tools-agent.d.ts.map +1 -1
- package/dist/tools-agent.js +869 -0
- package/dist/tools-agent.js.map +1 -1
- package/dist/tools-files.d.ts.map +1 -1
- package/dist/tools-files.js +212 -1
- package/dist/tools-files.js.map +1 -1
- package/dist/tools-framework.d.ts.map +1 -1
- package/dist/tools-framework.js +86 -0
- package/dist/tools-framework.js.map +1 -1
- package/dist/tools-skills.d.ts +3 -0
- package/dist/tools-skills.d.ts.map +1 -0
- package/dist/tools-skills.js +104 -0
- package/dist/tools-skills.js.map +1 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +2 -0
- package/dist/tools.js.map +1 -1
- package/dist/tracker-adapters.d.ts +74 -0
- package/dist/tracker-adapters.d.ts.map +1 -0
- package/dist/tracker-adapters.js +777 -0
- package/dist/tracker-adapters.js.map +1 -0
- package/dist/tracker-sync.d.ts +10 -0
- package/dist/tracker-sync.d.ts.map +1 -0
- package/dist/tracker-sync.js +84 -0
- package/dist/tracker-sync.js.map +1 -0
- package/dist/vericify-bridge.d.ts +142 -0
- package/dist/vericify-bridge.d.ts.map +1 -0
- package/dist/vericify-bridge.js +481 -0
- package/dist/vericify-bridge.js.map +1 -0
- package/dist/workspace-manager.d.ts +103 -0
- package/dist/workspace-manager.d.ts.map +1 -0
- package/dist/workspace-manager.js +526 -0
- package/dist/workspace-manager.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type ArtifactSource } from "./helpers.js";
|
|
2
|
+
import { type ValidationResult } from "./schemas.js";
|
|
3
|
+
export declare const RUNTIME_TOOL_SPEC_REGISTRY_REL_PATH = "agent-state/runtime-tool-specs.json";
|
|
4
|
+
export declare const RUNTIME_TOOL_SPEC_SCHEMA_REL_PATH = "agent-state/MODULES/schemas/RUNTIME_TOOL_SPEC_REGISTRY.schema.json";
|
|
5
|
+
export declare const RUNTIME_TOOL_SPEC_SCHEMA_NAME = "runtime-tool-spec-registry@1.0.0";
|
|
6
|
+
type JsonSchemaScalar = string | number | boolean | null;
|
|
7
|
+
export type RuntimeToolSchemaType = "object" | "array" | "string" | "number" | "integer" | "boolean" | "null";
|
|
8
|
+
export interface RuntimeToolSchema {
|
|
9
|
+
type: RuntimeToolSchemaType;
|
|
10
|
+
description?: string;
|
|
11
|
+
enum?: JsonSchemaScalar[];
|
|
12
|
+
properties?: Record<string, RuntimeToolSchema>;
|
|
13
|
+
required?: string[];
|
|
14
|
+
additionalProperties?: boolean;
|
|
15
|
+
items?: RuntimeToolSchema;
|
|
16
|
+
}
|
|
17
|
+
export interface RuntimeToolExecutorConfig {
|
|
18
|
+
command: string;
|
|
19
|
+
cwd?: string;
|
|
20
|
+
timeout_ms?: number;
|
|
21
|
+
env?: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export interface RuntimeToolSpec {
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
input_schema: RuntimeToolSchema;
|
|
27
|
+
success_schema?: RuntimeToolSchema;
|
|
28
|
+
failure_schema?: RuntimeToolSchema;
|
|
29
|
+
executor: RuntimeToolExecutorConfig;
|
|
30
|
+
}
|
|
31
|
+
export interface RuntimeToolSpecRegistry {
|
|
32
|
+
version: 1;
|
|
33
|
+
updated_at: string;
|
|
34
|
+
tools: RuntimeToolSpec[];
|
|
35
|
+
}
|
|
36
|
+
export interface RuntimeToolSpecRegistryResult {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
schema: typeof RUNTIME_TOOL_SPEC_SCHEMA_NAME;
|
|
39
|
+
path: string;
|
|
40
|
+
source: ArtifactSource;
|
|
41
|
+
registry?: RuntimeToolSpecRegistry;
|
|
42
|
+
errors?: string[];
|
|
43
|
+
}
|
|
44
|
+
export interface RuntimeToolExecutionContext {
|
|
45
|
+
session_id?: string;
|
|
46
|
+
workspace_path?: string;
|
|
47
|
+
turn_number?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface RuntimeToolExecutionResult {
|
|
50
|
+
ok: boolean;
|
|
51
|
+
name: string;
|
|
52
|
+
summary: string;
|
|
53
|
+
request_path: string;
|
|
54
|
+
response_path: string;
|
|
55
|
+
exit_code?: number | null;
|
|
56
|
+
duration_ms?: number;
|
|
57
|
+
output?: unknown;
|
|
58
|
+
error?: unknown;
|
|
59
|
+
validation_errors?: string[];
|
|
60
|
+
}
|
|
61
|
+
export declare function validateRuntimeToolRegistryContent(raw: string): ValidationResult;
|
|
62
|
+
export declare function loadRuntimeToolRegistry(explicitPath?: string): RuntimeToolSpecRegistryResult;
|
|
63
|
+
export declare function readRuntimeToolRegistry(): RuntimeToolSpecRegistry;
|
|
64
|
+
export declare function listRuntimeToolSpecs(): RuntimeToolSpec[];
|
|
65
|
+
export declare function getRuntimeToolRegistryPath(): string;
|
|
66
|
+
export declare function executeRuntimeTool(name: string, input: unknown, context?: RuntimeToolExecutionContext): Promise<RuntimeToolExecutionResult>;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=runtime-tool-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-tool-specs.d.ts","sourceRoot":"","sources":["../src/runtime-tool-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { dirname, resolve } from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { DEFAULTS_ROOT, resolveWorkspaceRoot, } from "./helpers.js";
|
|
6
|
+
import { appendRunLedgerEntrySafe } from "./run-ledger.js";
|
|
7
|
+
import { runShellCommand } from "./runtime-command.js";
|
|
8
|
+
import { readRuntimeProfile } from "./runtime-profile.js";
|
|
9
|
+
import { validateRuntimeToolSpecRegistryPayload, } from "./schemas.js";
|
|
10
|
+
import { appendStatusEventSafe } from "./status-events.js";
|
|
11
|
+
export const RUNTIME_TOOL_SPEC_REGISTRY_REL_PATH = "agent-state/runtime-tool-specs.json";
|
|
12
|
+
export const RUNTIME_TOOL_SPEC_SCHEMA_REL_PATH = "agent-state/MODULES/schemas/RUNTIME_TOOL_SPEC_REGISTRY.schema.json";
|
|
13
|
+
export const RUNTIME_TOOL_SPEC_SCHEMA_NAME = "runtime-tool-spec-registry@1.0.0";
|
|
14
|
+
const DEFAULT_RUNTIME_TOOL_SPEC_REGISTRY_PATH = resolve(DEFAULTS_ROOT, RUNTIME_TOOL_SPEC_REGISTRY_REL_PATH);
|
|
15
|
+
const runtimeToolResponseSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
ok: z.boolean(),
|
|
18
|
+
summary: z.string().optional(),
|
|
19
|
+
output: z.unknown().optional(),
|
|
20
|
+
error: z.unknown().optional(),
|
|
21
|
+
})
|
|
22
|
+
.strict();
|
|
23
|
+
function defaultRegistry() {
|
|
24
|
+
return {
|
|
25
|
+
version: 1,
|
|
26
|
+
updated_at: "1970-01-01T00:00:00.000Z",
|
|
27
|
+
tools: [],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function normalizeSource(path) {
|
|
31
|
+
return path === DEFAULT_RUNTIME_TOOL_SPEC_REGISTRY_PATH || path.startsWith(DEFAULTS_ROOT)
|
|
32
|
+
? "package-defaults"
|
|
33
|
+
: "workspace";
|
|
34
|
+
}
|
|
35
|
+
function configuredRegistryRelativePath() {
|
|
36
|
+
const configured = readRuntimeProfile().tools?.registry_path;
|
|
37
|
+
return typeof configured === "string" && configured.trim().length > 0
|
|
38
|
+
? configured.trim()
|
|
39
|
+
: RUNTIME_TOOL_SPEC_REGISTRY_REL_PATH;
|
|
40
|
+
}
|
|
41
|
+
function resolveRuntimeToolRegistryTarget(explicitPath) {
|
|
42
|
+
const workspaceRoot = resolveWorkspaceRoot();
|
|
43
|
+
const relativePath = explicitPath?.trim() || configuredRegistryRelativePath();
|
|
44
|
+
const resolved = resolve(relativePath.startsWith("/") ? relativePath : resolve(workspaceRoot, relativePath));
|
|
45
|
+
const defaultWorkspacePath = resolve(workspaceRoot, RUNTIME_TOOL_SPEC_REGISTRY_REL_PATH);
|
|
46
|
+
if (existsSync(resolved)) {
|
|
47
|
+
return { path: resolved, source: normalizeSource(resolved) };
|
|
48
|
+
}
|
|
49
|
+
if (resolved === defaultWorkspacePath) {
|
|
50
|
+
return {
|
|
51
|
+
path: DEFAULT_RUNTIME_TOOL_SPEC_REGISTRY_PATH,
|
|
52
|
+
source: "package-defaults",
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return { path: resolved, source: "workspace" };
|
|
56
|
+
}
|
|
57
|
+
function resolveWorkspaceArtifactPath(filePath) {
|
|
58
|
+
return resolve(resolveWorkspaceRoot(), filePath);
|
|
59
|
+
}
|
|
60
|
+
function safeWriteWorkspaceFile(filePath, content) {
|
|
61
|
+
const abs = resolveWorkspaceArtifactPath(filePath);
|
|
62
|
+
mkdirSync(dirname(abs), { recursive: true });
|
|
63
|
+
const tmpPath = `${abs}.${process.pid}.${Date.now()}.tmp`;
|
|
64
|
+
writeFileSync(tmpPath, content, "utf-8");
|
|
65
|
+
renameSync(tmpPath, abs);
|
|
66
|
+
return abs;
|
|
67
|
+
}
|
|
68
|
+
function parseRuntimeToolRegistry(raw) {
|
|
69
|
+
let parsed;
|
|
70
|
+
try {
|
|
71
|
+
parsed = JSON.parse(raw);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new Error(`Runtime tool registry contains invalid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
75
|
+
}
|
|
76
|
+
const validation = validateRuntimeToolSpecRegistryPayload(parsed);
|
|
77
|
+
if (!validation.ok) {
|
|
78
|
+
throw new Error(`Runtime tool registry failed validation (${validation.schema}): ${validation.errors.join("; ")}`);
|
|
79
|
+
}
|
|
80
|
+
return parsed;
|
|
81
|
+
}
|
|
82
|
+
function ensureToolSpec(spec, name) {
|
|
83
|
+
if (spec)
|
|
84
|
+
return spec;
|
|
85
|
+
throw new Error(`Unknown runtime tool spec: ${name}`);
|
|
86
|
+
}
|
|
87
|
+
function isPlainObject(value) {
|
|
88
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
89
|
+
}
|
|
90
|
+
function validateEnum(schema, value, path) {
|
|
91
|
+
if (!schema.enum || schema.enum.length === 0)
|
|
92
|
+
return [];
|
|
93
|
+
return schema.enum.some((entry) => Object.is(entry, value))
|
|
94
|
+
? []
|
|
95
|
+
: [`${path}: value must be one of ${schema.enum.map((entry) => JSON.stringify(entry)).join(", ")}`];
|
|
96
|
+
}
|
|
97
|
+
function validateValueAgainstSchema(schema, value, path) {
|
|
98
|
+
const enumErrors = validateEnum(schema, value, path);
|
|
99
|
+
if (enumErrors.length > 0)
|
|
100
|
+
return enumErrors;
|
|
101
|
+
switch (schema.type) {
|
|
102
|
+
case "object": {
|
|
103
|
+
if (!isPlainObject(value))
|
|
104
|
+
return [`${path}: expected object`];
|
|
105
|
+
const errors = [];
|
|
106
|
+
const properties = schema.properties ?? {};
|
|
107
|
+
const required = new Set(schema.required ?? []);
|
|
108
|
+
for (const key of required) {
|
|
109
|
+
if (!Object.prototype.hasOwnProperty.call(value, key)) {
|
|
110
|
+
errors.push(`${path}.${key}: required`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
for (const [key, childValue] of Object.entries(value)) {
|
|
114
|
+
const childSchema = properties[key];
|
|
115
|
+
if (!childSchema) {
|
|
116
|
+
if (schema.additionalProperties === false) {
|
|
117
|
+
errors.push(`${path}.${key}: additional properties are not allowed`);
|
|
118
|
+
}
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
errors.push(...validateValueAgainstSchema(childSchema, childValue, `${path}.${key}`));
|
|
122
|
+
}
|
|
123
|
+
return errors;
|
|
124
|
+
}
|
|
125
|
+
case "array": {
|
|
126
|
+
if (!Array.isArray(value))
|
|
127
|
+
return [`${path}: expected array`];
|
|
128
|
+
if (!schema.items)
|
|
129
|
+
return [];
|
|
130
|
+
return value.flatMap((entry, index) => validateValueAgainstSchema(schema.items, entry, `${path}[${index}]`));
|
|
131
|
+
}
|
|
132
|
+
case "string":
|
|
133
|
+
return typeof value === "string" ? [] : [`${path}: expected string`];
|
|
134
|
+
case "number":
|
|
135
|
+
return typeof value === "number" && Number.isFinite(value)
|
|
136
|
+
? []
|
|
137
|
+
: [`${path}: expected number`];
|
|
138
|
+
case "integer":
|
|
139
|
+
return typeof value === "number" && Number.isInteger(value)
|
|
140
|
+
? []
|
|
141
|
+
: [`${path}: expected integer`];
|
|
142
|
+
case "boolean":
|
|
143
|
+
return typeof value === "boolean" ? [] : [`${path}: expected boolean`];
|
|
144
|
+
case "null":
|
|
145
|
+
return value === null ? [] : [`${path}: expected null`];
|
|
146
|
+
default:
|
|
147
|
+
return [`${path}: unsupported schema type ${schema.type}`];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function emitRuntimeToolEvent(eventType, summary, payload) {
|
|
151
|
+
return appendStatusEventSafe({
|
|
152
|
+
source_module: "capability-framework",
|
|
153
|
+
event_type: eventType,
|
|
154
|
+
status: eventType === "RUNTIME_TOOL_EXECUTED" ? "done" : "fail",
|
|
155
|
+
summary,
|
|
156
|
+
payload,
|
|
157
|
+
}).then(() => undefined).catch(() => undefined);
|
|
158
|
+
}
|
|
159
|
+
export function validateRuntimeToolRegistryContent(raw) {
|
|
160
|
+
try {
|
|
161
|
+
parseRuntimeToolRegistry(raw);
|
|
162
|
+
return { ok: true, schema: RUNTIME_TOOL_SPEC_SCHEMA_NAME };
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
return {
|
|
166
|
+
ok: false,
|
|
167
|
+
schema: RUNTIME_TOOL_SPEC_SCHEMA_NAME,
|
|
168
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export function loadRuntimeToolRegistry(explicitPath) {
|
|
173
|
+
const target = resolveRuntimeToolRegistryTarget(explicitPath);
|
|
174
|
+
if (!existsSync(target.path)) {
|
|
175
|
+
return {
|
|
176
|
+
ok: false,
|
|
177
|
+
schema: RUNTIME_TOOL_SPEC_SCHEMA_NAME,
|
|
178
|
+
path: target.path,
|
|
179
|
+
source: target.source,
|
|
180
|
+
errors: [`Runtime tool registry file not found: ${target.path}`],
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
const raw = readFileSync(target.path, "utf-8");
|
|
184
|
+
try {
|
|
185
|
+
const registry = parseRuntimeToolRegistry(raw);
|
|
186
|
+
return {
|
|
187
|
+
ok: true,
|
|
188
|
+
schema: RUNTIME_TOOL_SPEC_SCHEMA_NAME,
|
|
189
|
+
path: target.path,
|
|
190
|
+
source: target.source,
|
|
191
|
+
registry,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
void emitRuntimeToolEvent("RUNTIME_TOOL_REGISTRY_INVALID", `Runtime tool registry validation failed for ${target.path}`, {
|
|
196
|
+
path: target.path,
|
|
197
|
+
source: target.source,
|
|
198
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
199
|
+
});
|
|
200
|
+
return {
|
|
201
|
+
ok: false,
|
|
202
|
+
schema: RUNTIME_TOOL_SPEC_SCHEMA_NAME,
|
|
203
|
+
path: target.path,
|
|
204
|
+
source: target.source,
|
|
205
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
export function readRuntimeToolRegistry() {
|
|
210
|
+
const result = loadRuntimeToolRegistry();
|
|
211
|
+
if (result.ok && result.registry)
|
|
212
|
+
return result.registry;
|
|
213
|
+
if (result.source === "package-defaults")
|
|
214
|
+
return defaultRegistry();
|
|
215
|
+
throw new Error(result.errors?.join("; ") ?? "Runtime tool registry is unavailable.");
|
|
216
|
+
}
|
|
217
|
+
export function listRuntimeToolSpecs() {
|
|
218
|
+
return [...readRuntimeToolRegistry().tools].sort((a, b) => a.name.localeCompare(b.name));
|
|
219
|
+
}
|
|
220
|
+
export function getRuntimeToolRegistryPath() {
|
|
221
|
+
return loadRuntimeToolRegistry().path;
|
|
222
|
+
}
|
|
223
|
+
export async function executeRuntimeTool(name, input, context = {}) {
|
|
224
|
+
const registry = readRuntimeToolRegistry();
|
|
225
|
+
const spec = ensureToolSpec(registry.tools.find((tool) => tool.name === name), name);
|
|
226
|
+
const inputErrors = validateValueAgainstSchema(spec.input_schema, input, "input");
|
|
227
|
+
const workspacePath = context.workspace_path && context.workspace_path.trim().length > 0
|
|
228
|
+
? resolve(context.workspace_path)
|
|
229
|
+
: resolveWorkspaceRoot();
|
|
230
|
+
const toolDir = resolve(workspacePath, ".ace-runtime", "tools");
|
|
231
|
+
mkdirSync(toolDir, { recursive: true });
|
|
232
|
+
const callId = randomUUID();
|
|
233
|
+
const requestPath = resolve(toolDir, `${callId}.request.json`);
|
|
234
|
+
const responsePath = resolve(toolDir, `${callId}.response.json`);
|
|
235
|
+
if (inputErrors.length > 0) {
|
|
236
|
+
const result = {
|
|
237
|
+
ok: false,
|
|
238
|
+
name,
|
|
239
|
+
summary: `Input validation failed for runtime tool '${name}'`,
|
|
240
|
+
request_path: requestPath,
|
|
241
|
+
response_path: responsePath,
|
|
242
|
+
error: {
|
|
243
|
+
message: "Input validation failed",
|
|
244
|
+
},
|
|
245
|
+
validation_errors: inputErrors,
|
|
246
|
+
};
|
|
247
|
+
await appendRunLedgerEntrySafe({
|
|
248
|
+
tool: "runtime-tool-specs",
|
|
249
|
+
category: "regression",
|
|
250
|
+
message: result.summary,
|
|
251
|
+
artifacts: [],
|
|
252
|
+
metadata: {
|
|
253
|
+
tool_name: name,
|
|
254
|
+
validation_errors: inputErrors,
|
|
255
|
+
},
|
|
256
|
+
}).catch(() => undefined);
|
|
257
|
+
await emitRuntimeToolEvent("RUNTIME_TOOL_FAILED", result.summary, {
|
|
258
|
+
tool_name: name,
|
|
259
|
+
validation_errors: inputErrors,
|
|
260
|
+
session_id: context.session_id,
|
|
261
|
+
turn_number: context.turn_number,
|
|
262
|
+
});
|
|
263
|
+
return result;
|
|
264
|
+
}
|
|
265
|
+
const payload = {
|
|
266
|
+
tool: {
|
|
267
|
+
name: spec.name,
|
|
268
|
+
description: spec.description,
|
|
269
|
+
},
|
|
270
|
+
input,
|
|
271
|
+
session_id: context.session_id,
|
|
272
|
+
turn_number: context.turn_number,
|
|
273
|
+
workspace_path: workspacePath,
|
|
274
|
+
timestamp: new Date().toISOString(),
|
|
275
|
+
};
|
|
276
|
+
writeFileSync(requestPath, JSON.stringify(payload, null, 2), "utf-8");
|
|
277
|
+
const cwdBase = spec.executor.cwd?.trim()
|
|
278
|
+
? resolve(spec.executor.cwd.startsWith("/")
|
|
279
|
+
? spec.executor.cwd
|
|
280
|
+
: resolve(workspacePath, spec.executor.cwd))
|
|
281
|
+
: workspacePath;
|
|
282
|
+
const shellResult = await runShellCommand(spec.executor.command, {
|
|
283
|
+
cwd: cwdBase,
|
|
284
|
+
env: {
|
|
285
|
+
...process.env,
|
|
286
|
+
...(spec.executor.env ?? {}),
|
|
287
|
+
ACE_RUNTIME_TOOL_NAME: spec.name,
|
|
288
|
+
ACE_RUNTIME_TOOL_REQUEST_FILE: requestPath,
|
|
289
|
+
ACE_RUNTIME_TOOL_RESPONSE_FILE: responsePath,
|
|
290
|
+
ACE_RUNTIME_SESSION_ID: context.session_id ?? "",
|
|
291
|
+
ACE_RUNTIME_TURN: context.turn_number ? String(context.turn_number) : "",
|
|
292
|
+
ACE_RUNTIME_WORKSPACE_PATH: workspacePath,
|
|
293
|
+
},
|
|
294
|
+
timeout_ms: spec.executor.timeout_ms ?? 60_000,
|
|
295
|
+
});
|
|
296
|
+
let responseRaw;
|
|
297
|
+
if (existsSync(responsePath)) {
|
|
298
|
+
responseRaw = readFileSync(responsePath, "utf-8");
|
|
299
|
+
}
|
|
300
|
+
if (!responseRaw) {
|
|
301
|
+
const summary = `Runtime tool '${name}' did not produce a response payload`;
|
|
302
|
+
const result = {
|
|
303
|
+
ok: false,
|
|
304
|
+
name,
|
|
305
|
+
summary,
|
|
306
|
+
request_path: requestPath,
|
|
307
|
+
response_path: responsePath,
|
|
308
|
+
exit_code: shellResult.exit_code,
|
|
309
|
+
duration_ms: shellResult.duration_ms,
|
|
310
|
+
error: {
|
|
311
|
+
message: summary,
|
|
312
|
+
stdout: shellResult.stdout,
|
|
313
|
+
stderr: shellResult.stderr,
|
|
314
|
+
},
|
|
315
|
+
};
|
|
316
|
+
await appendRunLedgerEntrySafe({
|
|
317
|
+
tool: "runtime-tool-specs",
|
|
318
|
+
category: "regression",
|
|
319
|
+
message: summary,
|
|
320
|
+
artifacts: [requestPath],
|
|
321
|
+
metadata: {
|
|
322
|
+
tool_name: name,
|
|
323
|
+
exit_code: shellResult.exit_code,
|
|
324
|
+
timed_out: shellResult.timed_out,
|
|
325
|
+
},
|
|
326
|
+
}).catch(() => undefined);
|
|
327
|
+
await emitRuntimeToolEvent("RUNTIME_TOOL_FAILED", summary, {
|
|
328
|
+
tool_name: name,
|
|
329
|
+
exit_code: shellResult.exit_code,
|
|
330
|
+
timed_out: shellResult.timed_out,
|
|
331
|
+
session_id: context.session_id,
|
|
332
|
+
turn_number: context.turn_number,
|
|
333
|
+
});
|
|
334
|
+
return result;
|
|
335
|
+
}
|
|
336
|
+
let parsed;
|
|
337
|
+
try {
|
|
338
|
+
parsed = JSON.parse(responseRaw);
|
|
339
|
+
}
|
|
340
|
+
catch (error) {
|
|
341
|
+
const summary = `Runtime tool '${name}' returned invalid JSON`;
|
|
342
|
+
await emitRuntimeToolEvent("RUNTIME_TOOL_FAILED", summary, {
|
|
343
|
+
tool_name: name,
|
|
344
|
+
error: error instanceof Error ? error.message : String(error),
|
|
345
|
+
});
|
|
346
|
+
return {
|
|
347
|
+
ok: false,
|
|
348
|
+
name,
|
|
349
|
+
summary,
|
|
350
|
+
request_path: requestPath,
|
|
351
|
+
response_path: responsePath,
|
|
352
|
+
exit_code: shellResult.exit_code,
|
|
353
|
+
duration_ms: shellResult.duration_ms,
|
|
354
|
+
error: {
|
|
355
|
+
message: error instanceof Error ? error.message : String(error),
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
const envelope = runtimeToolResponseSchema.safeParse(parsed);
|
|
360
|
+
if (!envelope.success) {
|
|
361
|
+
const summary = `Runtime tool '${name}' returned an invalid response envelope`;
|
|
362
|
+
return {
|
|
363
|
+
ok: false,
|
|
364
|
+
name,
|
|
365
|
+
summary,
|
|
366
|
+
request_path: requestPath,
|
|
367
|
+
response_path: responsePath,
|
|
368
|
+
exit_code: shellResult.exit_code,
|
|
369
|
+
duration_ms: shellResult.duration_ms,
|
|
370
|
+
error: {
|
|
371
|
+
message: envelope.error.issues.map((issue) => issue.message).join("; "),
|
|
372
|
+
},
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
const validationErrors = envelope.data.ok
|
|
376
|
+
? spec.success_schema
|
|
377
|
+
? validateValueAgainstSchema(spec.success_schema, envelope.data.output, "output")
|
|
378
|
+
: []
|
|
379
|
+
: spec.failure_schema
|
|
380
|
+
? validateValueAgainstSchema(spec.failure_schema, envelope.data.error, "error")
|
|
381
|
+
: [];
|
|
382
|
+
const success = envelope.data.ok && validationErrors.length === 0;
|
|
383
|
+
const summary = envelope.data.summary ??
|
|
384
|
+
(success ? `Runtime tool '${name}' executed successfully` : `Runtime tool '${name}' failed`);
|
|
385
|
+
const result = {
|
|
386
|
+
ok: success,
|
|
387
|
+
name,
|
|
388
|
+
summary,
|
|
389
|
+
request_path: requestPath,
|
|
390
|
+
response_path: responsePath,
|
|
391
|
+
exit_code: shellResult.exit_code,
|
|
392
|
+
duration_ms: shellResult.duration_ms,
|
|
393
|
+
output: envelope.data.ok ? envelope.data.output : undefined,
|
|
394
|
+
error: envelope.data.ok ? undefined : envelope.data.error,
|
|
395
|
+
validation_errors: validationErrors.length > 0 ? validationErrors : undefined,
|
|
396
|
+
};
|
|
397
|
+
await appendRunLedgerEntrySafe({
|
|
398
|
+
tool: "runtime-tool-specs",
|
|
399
|
+
category: success ? "info" : "regression",
|
|
400
|
+
message: summary,
|
|
401
|
+
artifacts: [requestPath, responsePath],
|
|
402
|
+
metadata: {
|
|
403
|
+
tool_name: name,
|
|
404
|
+
exit_code: shellResult.exit_code,
|
|
405
|
+
duration_ms: shellResult.duration_ms,
|
|
406
|
+
timed_out: shellResult.timed_out,
|
|
407
|
+
session_id: context.session_id,
|
|
408
|
+
turn_number: context.turn_number,
|
|
409
|
+
validation_errors: validationErrors,
|
|
410
|
+
},
|
|
411
|
+
}).catch(() => undefined);
|
|
412
|
+
await emitRuntimeToolEvent(success ? "RUNTIME_TOOL_EXECUTED" : "RUNTIME_TOOL_FAILED", summary, {
|
|
413
|
+
tool_name: name,
|
|
414
|
+
request_path: requestPath,
|
|
415
|
+
response_path: responsePath,
|
|
416
|
+
exit_code: shellResult.exit_code,
|
|
417
|
+
timed_out: shellResult.timed_out,
|
|
418
|
+
session_id: context.session_id,
|
|
419
|
+
turn_number: context.turn_number,
|
|
420
|
+
validation_errors: validationErrors,
|
|
421
|
+
});
|
|
422
|
+
return result;
|
|
423
|
+
}
|
|
424
|
+
//# sourceMappingURL=runtime-tool-specs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-tool-specs.js","sourceRoot":"","sources":["../src/runtime-tool-specs.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -15,6 +15,12 @@ export declare const PROVENANCE_CRITICAL_EVENT_TYPES: Set<string>;
|
|
|
15
15
|
export declare function validateSwarmHandoffPayload(payload: unknown): ValidationResult;
|
|
16
16
|
export declare function validateAgentStateHandoffPayload(payload: unknown): ValidationResult;
|
|
17
17
|
export declare function validateArtifactManifestPayload(payload: unknown): ValidationResult;
|
|
18
|
+
export declare function validateWorkspaceSessionRegistryPayload(payload: unknown): ValidationResult;
|
|
19
|
+
export declare function validateTrackerSnapshotPayload(payload: unknown): ValidationResult;
|
|
20
|
+
export declare function validateRuntimeToolSpecRegistryPayload(payload: unknown): ValidationResult;
|
|
21
|
+
export declare function validateRuntimeExecutorSessionRegistryPayload(payload: unknown): ValidationResult;
|
|
22
|
+
export declare function validateVericifyProcessPostLogPayload(payload: unknown): ValidationResult;
|
|
23
|
+
export declare function validateVericifyBridgeSnapshotPayload(payload: unknown): ValidationResult;
|
|
18
24
|
export declare function validateStatusEventPayload(payload: unknown, options?: {
|
|
19
25
|
provenanceCritical?: boolean;
|
|
20
26
|
}): ValidationResult;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC;AAoerE;;;GAGG;AACH,eAAO,MAAM,+BAA+B,aAQ1C,CAAC;AAuBH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAE9E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAEnF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAuBlF;AAED,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,OAAO,GACf,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAMjF;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,OAAO,GACf,gBAAgB,CAMlB;AAED,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,OAAO,GACf,gBAAgB,CAMlB;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,OAAO,GACf,gBAAgB,CAMlB;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,OAAO,GACf,gBAAgB,CAMlB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,gBAAgB,CASlB;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAuCnF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAsC3E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CA8B9E;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,qBAA8B,GACnC,gBAAgB,CAkBlB;AAiBD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,GACpB,iBAAiB,CA6GnB"}
|