mister-wolf 1.0.0 → 1.0.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/dist/bootstrap/cli.js +0 -0
- package/dist/domain/npx.d.ts +3 -1
- package/dist/domain/npx.d.ts.map +1 -1
- package/dist/domain/npx.js +4 -2
- package/dist/domain/npx.js.map +1 -1
- package/package.json +1 -1
- package/dist/agent/registry.d.ts +0 -14
- package/dist/agent/registry.d.ts.map +0 -1
- package/dist/agent/registry.js +0 -42
- package/dist/agent/registry.js.map +0 -1
- package/dist/agent/router.d.ts +0 -10
- package/dist/agent/router.d.ts.map +0 -1
- package/dist/agent/router.js +0 -21
- package/dist/agent/router.js.map +0 -1
- package/dist/agent/runner.d.ts +0 -24
- package/dist/agent/runner.d.ts.map +0 -1
- package/dist/agent/runner.js +0 -388
- package/dist/agent/runner.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -3
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -65
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/cases.d.ts +0 -3
- package/dist/cli/commands/cases.d.ts.map +0 -1
- package/dist/cli/commands/cases.js +0 -143
- package/dist/cli/commands/cases.js.map +0 -1
- package/dist/cli/commands/context.d.ts +0 -3
- package/dist/cli/commands/context.d.ts.map +0 -1
- package/dist/cli/commands/context.js +0 -161
- package/dist/cli/commands/context.js.map +0 -1
- package/dist/cli/commands/events.d.ts +0 -3
- package/dist/cli/commands/events.d.ts.map +0 -1
- package/dist/cli/commands/events.js +0 -37
- package/dist/cli/commands/events.js.map +0 -1
- package/dist/cli/commands/gates.d.ts +0 -5
- package/dist/cli/commands/gates.d.ts.map +0 -1
- package/dist/cli/commands/gates.js +0 -94
- package/dist/cli/commands/gates.js.map +0 -1
- package/dist/cli/commands/policy.d.ts +0 -3
- package/dist/cli/commands/policy.d.ts.map +0 -1
- package/dist/cli/commands/policy.js +0 -35
- package/dist/cli/commands/policy.js.map +0 -1
- package/dist/cli/commands/resume.d.ts +0 -3
- package/dist/cli/commands/resume.d.ts.map +0 -1
- package/dist/cli/commands/resume.js +0 -59
- package/dist/cli/commands/resume.js.map +0 -1
- package/dist/cli/commands/run.d.ts +0 -3
- package/dist/cli/commands/run.d.ts.map +0 -1
- package/dist/cli/commands/run.js +0 -97
- package/dist/cli/commands/run.js.map +0 -1
- package/dist/cli/commands/validate.d.ts +0 -3
- package/dist/cli/commands/validate.d.ts.map +0 -1
- package/dist/cli/commands/validate.js +0 -28
- package/dist/cli/commands/validate.js.map +0 -1
- package/dist/cli/commands/wac.d.ts +0 -8
- package/dist/cli/commands/wac.d.ts.map +0 -1
- package/dist/cli/commands/wac.js +0 -161
- package/dist/cli/commands/wac.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -34
- package/dist/cli/index.js.map +0 -1
- package/dist/config/loader.d.ts +0 -3
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -12
- package/dist/config/loader.js.map +0 -1
- package/dist/config/project-config.d.ts +0 -857
- package/dist/config/project-config.d.ts.map +0 -1
- package/dist/config/project-config.js +0 -129
- package/dist/config/project-config.js.map +0 -1
- package/dist/config/schema.d.ts +0 -2
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -2
- package/dist/config/schema.js.map +0 -1
- package/dist/config/validator.d.ts +0 -6
- package/dist/config/validator.d.ts.map +0 -1
- package/dist/config/validator.js +0 -58
- package/dist/config/validator.js.map +0 -1
- package/dist/context/bundle-builder.d.ts +0 -7
- package/dist/context/bundle-builder.d.ts.map +0 -1
- package/dist/context/bundle-builder.js +0 -25
- package/dist/context/bundle-builder.js.map +0 -1
- package/dist/context/case-memory.d.ts +0 -11
- package/dist/context/case-memory.d.ts.map +0 -1
- package/dist/context/case-memory.js +0 -131
- package/dist/context/case-memory.js.map +0 -1
- package/dist/context/md-generator.d.ts +0 -6
- package/dist/context/md-generator.d.ts.map +0 -1
- package/dist/context/md-generator.js +0 -136
- package/dist/context/md-generator.js.map +0 -1
- package/dist/context/resolver.d.ts +0 -18
- package/dist/context/resolver.d.ts.map +0 -1
- package/dist/context/resolver.js +0 -86
- package/dist/context/resolver.js.map +0 -1
- package/dist/context/scanner.d.ts +0 -10
- package/dist/context/scanner.d.ts.map +0 -1
- package/dist/context/scanner.js +0 -197
- package/dist/context/scanner.js.map +0 -1
- package/dist/kernel/event-bus.d.ts +0 -13
- package/dist/kernel/event-bus.d.ts.map +0 -1
- package/dist/kernel/event-bus.js +0 -18
- package/dist/kernel/event-bus.js.map +0 -1
- package/dist/model/errors.d.ts +0 -22
- package/dist/model/errors.d.ts.map +0 -1
- package/dist/model/errors.js +0 -36
- package/dist/model/errors.js.map +0 -1
- package/dist/model/mock-provider.d.ts +0 -8
- package/dist/model/mock-provider.d.ts.map +0 -1
- package/dist/model/mock-provider.js +0 -59
- package/dist/model/mock-provider.js.map +0 -1
- package/dist/model/openai-provider.d.ts +0 -9
- package/dist/model/openai-provider.d.ts.map +0 -1
- package/dist/model/openai-provider.js +0 -201
- package/dist/model/openai-provider.js.map +0 -1
- package/dist/model/registry.d.ts +0 -9
- package/dist/model/registry.d.ts.map +0 -1
- package/dist/model/registry.js +0 -23
- package/dist/model/registry.js.map +0 -1
- package/dist/model/stream-types.d.ts +0 -16
- package/dist/model/stream-types.d.ts.map +0 -1
- package/dist/model/stream-types.js +0 -2
- package/dist/model/stream-types.js.map +0 -1
- package/dist/model/types.d.ts +0 -50
- package/dist/model/types.d.ts.map +0 -1
- package/dist/model/types.js +0 -2
- package/dist/model/types.js.map +0 -1
- package/dist/policy/engine.d.ts +0 -12
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/engine.js +0 -130
- package/dist/policy/engine.js.map +0 -1
- package/dist/policy/gate-adapter.d.ts +0 -9
- package/dist/policy/gate-adapter.d.ts.map +0 -1
- package/dist/policy/gate-adapter.js +0 -22
- package/dist/policy/gate-adapter.js.map +0 -1
- package/dist/policy/preflight.d.ts +0 -8
- package/dist/policy/preflight.d.ts.map +0 -1
- package/dist/policy/preflight.js +0 -19
- package/dist/policy/preflight.js.map +0 -1
- package/dist/policy/step-guard.d.ts +0 -8
- package/dist/policy/step-guard.d.ts.map +0 -1
- package/dist/policy/step-guard.js +0 -8
- package/dist/policy/step-guard.js.map +0 -1
- package/dist/state/case-store.d.ts +0 -19
- package/dist/state/case-store.d.ts.map +0 -1
- package/dist/state/case-store.js +0 -105
- package/dist/state/case-store.js.map +0 -1
- package/dist/state/file-store.d.ts +0 -15
- package/dist/state/file-store.d.ts.map +0 -1
- package/dist/state/file-store.js +0 -55
- package/dist/state/file-store.js.map +0 -1
- package/dist/state/gate-store.d.ts +0 -18
- package/dist/state/gate-store.d.ts.map +0 -1
- package/dist/state/gate-store.js +0 -91
- package/dist/state/gate-store.js.map +0 -1
- package/dist/state/sqlite-index.d.ts +0 -35
- package/dist/state/sqlite-index.d.ts.map +0 -1
- package/dist/state/sqlite-index.js +0 -69
- package/dist/state/sqlite-index.js.map +0 -1
- package/dist/state/store.d.ts +0 -11
- package/dist/state/store.d.ts.map +0 -1
- package/dist/state/store.js +0 -2
- package/dist/state/store.js.map +0 -1
- package/dist/tool/errors.d.ts +0 -25
- package/dist/tool/errors.d.ts.map +0 -1
- package/dist/tool/errors.js +0 -41
- package/dist/tool/errors.js.map +0 -1
- package/dist/tool/executors/context-read.d.ts +0 -6
- package/dist/tool/executors/context-read.d.ts.map +0 -1
- package/dist/tool/executors/context-read.js +0 -39
- package/dist/tool/executors/context-read.js.map +0 -1
- package/dist/tool/registry.d.ts +0 -13
- package/dist/tool/registry.d.ts.map +0 -1
- package/dist/tool/registry.js +0 -49
- package/dist/tool/registry.js.map +0 -1
- package/dist/tool/types.d.ts +0 -46
- package/dist/tool/types.d.ts.map +0 -1
- package/dist/tool/types.js +0 -10
- package/dist/tool/types.js.map +0 -1
- package/dist/types/agent.d.ts +0 -98
- package/dist/types/agent.d.ts.map +0 -1
- package/dist/types/agent.js +0 -35
- package/dist/types/agent.js.map +0 -1
- package/dist/types/case.d.ts +0 -32
- package/dist/types/case.d.ts.map +0 -1
- package/dist/types/case.js +0 -11
- package/dist/types/case.js.map +0 -1
- package/dist/types/context.d.ts +0 -613
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/context.js +0 -60
- package/dist/types/context.js.map +0 -1
- package/dist/types/events.d.ts +0 -63
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/events.js +0 -26
- package/dist/types/events.js.map +0 -1
- package/dist/types/policy.d.ts +0 -225
- package/dist/types/policy.d.ts.map +0 -1
- package/dist/types/policy.js +0 -43
- package/dist/types/policy.js.map +0 -1
- package/dist/types/runner.d.ts +0 -18
- package/dist/types/runner.d.ts.map +0 -1
- package/dist/types/runner.js +0 -2
- package/dist/types/runner.js.map +0 -1
- package/dist/types/state.d.ts +0 -316
- package/dist/types/state.d.ts.map +0 -1
- package/dist/types/state.js +0 -42
- package/dist/types/state.js.map +0 -1
- package/dist/types/workflow.d.ts +0 -379
- package/dist/types/workflow.d.ts.map +0 -1
- package/dist/types/workflow.js +0 -51
- package/dist/types/workflow.js.map +0 -1
- package/dist/wac/context.d.ts +0 -4
- package/dist/wac/context.d.ts.map +0 -1
- package/dist/wac/context.js +0 -67
- package/dist/wac/context.js.map +0 -1
- package/dist/wac/llm.d.ts +0 -2
- package/dist/wac/llm.d.ts.map +0 -1
- package/dist/wac/llm.js +0 -69
- package/dist/wac/llm.js.map +0 -1
- package/dist/wac/store.d.ts +0 -25
- package/dist/wac/store.d.ts.map +0 -1
- package/dist/wac/store.js +0 -124
- package/dist/wac/store.js.map +0 -1
- package/dist/workflow/conditions.d.ts +0 -3
- package/dist/workflow/conditions.d.ts.map +0 -1
- package/dist/workflow/conditions.js +0 -18
- package/dist/workflow/conditions.js.map +0 -1
- package/dist/workflow/engine.d.ts +0 -47
- package/dist/workflow/engine.d.ts.map +0 -1
- package/dist/workflow/engine.js +0 -611
- package/dist/workflow/engine.js.map +0 -1
- package/dist/workflow/graph.d.ts +0 -13
- package/dist/workflow/graph.d.ts.map +0 -1
- package/dist/workflow/graph.js +0 -82
- package/dist/workflow/graph.js.map +0 -1
- package/dist/workflow/runner-registry.d.ts +0 -8
- package/dist/workflow/runner-registry.d.ts.map +0 -1
- package/dist/workflow/runner-registry.js +0 -17
- package/dist/workflow/runner-registry.js.map +0 -1
- package/dist/workflow/runners/echo.d.ts +0 -8
- package/dist/workflow/runners/echo.d.ts.map +0 -1
- package/dist/workflow/runners/echo.js +0 -11
- package/dist/workflow/runners/echo.js.map +0 -1
- package/dist/workflow/runners/manual-gate.d.ts +0 -8
- package/dist/workflow/runners/manual-gate.d.ts.map +0 -1
- package/dist/workflow/runners/manual-gate.js +0 -25
- package/dist/workflow/runners/manual-gate.js.map +0 -1
- package/dist/workflow/runners/shell.d.ts +0 -8
- package/dist/workflow/runners/shell.d.ts.map +0 -1
- package/dist/workflow/runners/shell.js +0 -156
- package/dist/workflow/runners/shell.js.map +0 -1
- package/dist/workflow/template.d.ts +0 -3
- package/dist/workflow/template.d.ts.map +0 -1
- package/dist/workflow/template.js +0 -25
- package/dist/workflow/template.js.map +0 -1
package/dist/state/case-store.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { FileStateStore } from './file-store.js';
|
|
2
|
-
import { CaseStatus } from '../types/case.js';
|
|
3
|
-
import { mkdirSync, writeFileSync, readFileSync, existsSync } from 'fs';
|
|
4
|
-
import { join, dirname, resolve, sep } from 'path';
|
|
5
|
-
import yaml from 'js-yaml';
|
|
6
|
-
export class CaseStore {
|
|
7
|
-
index;
|
|
8
|
-
fileStore;
|
|
9
|
-
constructor(baseDir, index) {
|
|
10
|
-
this.index = index;
|
|
11
|
-
this.fileStore = new FileStateStore(baseDir);
|
|
12
|
-
}
|
|
13
|
-
createCase(caseId, workflow, rawRequest) {
|
|
14
|
-
const caseDir = this.fileStore.getCaseDir(caseId);
|
|
15
|
-
mkdirSync(caseDir, { recursive: true });
|
|
16
|
-
const meta = {
|
|
17
|
-
case_id: caseId,
|
|
18
|
-
workflow_id: workflow.id,
|
|
19
|
-
workflow_version: workflow.version,
|
|
20
|
-
title: workflow.name || workflow.id,
|
|
21
|
-
status: CaseStatus.CREATED,
|
|
22
|
-
created_at: new Date().toISOString(),
|
|
23
|
-
updated_at: new Date().toISOString(),
|
|
24
|
-
};
|
|
25
|
-
writeFileSync(join(caseDir, 'case.yaml'), yaml.dump(meta));
|
|
26
|
-
writeFileSync(join(caseDir, 'workflow.yaml'), yaml.dump(workflow));
|
|
27
|
-
this.index?.insertCase({
|
|
28
|
-
id: caseId,
|
|
29
|
-
workflow_id: workflow.id,
|
|
30
|
-
status: meta.status,
|
|
31
|
-
created_at: meta.created_at,
|
|
32
|
-
updated_at: meta.updated_at,
|
|
33
|
-
path: caseDir,
|
|
34
|
-
});
|
|
35
|
-
const state = {
|
|
36
|
-
case_id: caseId,
|
|
37
|
-
workflow_id: workflow.id,
|
|
38
|
-
status: 'pending',
|
|
39
|
-
execution_mode: 'sequential',
|
|
40
|
-
completed_steps: [],
|
|
41
|
-
failed_steps: [],
|
|
42
|
-
skipped_steps: [],
|
|
43
|
-
step_results: {},
|
|
44
|
-
step_statuses: {},
|
|
45
|
-
variables: {},
|
|
46
|
-
gates: {},
|
|
47
|
-
started_at: meta.created_at,
|
|
48
|
-
updated_at: meta.created_at,
|
|
49
|
-
};
|
|
50
|
-
this.fileStore.writeState(caseId, state);
|
|
51
|
-
}
|
|
52
|
-
loadWorkflowSnapshot(caseId) {
|
|
53
|
-
const path = join(this.fileStore.getCaseDir(caseId), 'workflow.yaml');
|
|
54
|
-
const content = readFileSync(path, 'utf-8');
|
|
55
|
-
return yaml.load(content);
|
|
56
|
-
}
|
|
57
|
-
updateCaseStatus(caseId, status) {
|
|
58
|
-
const caseDir = this.fileStore.getCaseDir(caseId);
|
|
59
|
-
const path = join(caseDir, 'case.yaml');
|
|
60
|
-
if (!existsSync(path))
|
|
61
|
-
return;
|
|
62
|
-
const meta = yaml.load(readFileSync(path, 'utf-8'));
|
|
63
|
-
meta.status = status;
|
|
64
|
-
meta.updated_at = new Date().toISOString();
|
|
65
|
-
writeFileSync(path, yaml.dump(meta));
|
|
66
|
-
this.index?.insertCase({
|
|
67
|
-
id: caseId,
|
|
68
|
-
workflow_id: String(meta.workflow_id || ''),
|
|
69
|
-
status: String(meta.status),
|
|
70
|
-
created_at: String(meta.created_at || ''),
|
|
71
|
-
updated_at: String(meta.updated_at),
|
|
72
|
-
path: caseDir,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
writeState(caseId, state) {
|
|
76
|
-
this.fileStore.writeState(caseId, state);
|
|
77
|
-
}
|
|
78
|
-
readState(caseId) {
|
|
79
|
-
return this.fileStore.readState(caseId);
|
|
80
|
-
}
|
|
81
|
-
appendEvent(caseId, event) {
|
|
82
|
-
this.fileStore.appendEvent(caseId, event);
|
|
83
|
-
}
|
|
84
|
-
readEvents(caseId) {
|
|
85
|
-
return this.fileStore.readEvents(caseId);
|
|
86
|
-
}
|
|
87
|
-
writeOutput(caseId, stepId, stdout, stderr) {
|
|
88
|
-
this.fileStore.writeOutput(caseId, stepId, stdout, stderr);
|
|
89
|
-
}
|
|
90
|
-
getStepResult(caseId, stepId) {
|
|
91
|
-
const state = this.readState(caseId);
|
|
92
|
-
return state?.step_results[stepId];
|
|
93
|
-
}
|
|
94
|
-
writeArtifact(caseId, stepId, artifactPath, content) {
|
|
95
|
-
const caseDir = this.fileStore.getCaseDir(caseId);
|
|
96
|
-
const artifactsRoot = resolve(caseDir, 'artifacts');
|
|
97
|
-
const fullPath = resolve(artifactsRoot, artifactPath);
|
|
98
|
-
if (!fullPath.startsWith(artifactsRoot + sep)) {
|
|
99
|
-
throw new Error(`Invalid artifact path: ${artifactPath}. Path traversal detected.`);
|
|
100
|
-
}
|
|
101
|
-
mkdirSync(dirname(fullPath), { recursive: true });
|
|
102
|
-
writeFileSync(fullPath, content);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=case-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"case-store.js","sourceRoot":"","sources":["../../src/state/case-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { StateStore } from './store.js';
|
|
2
|
-
import { ExecutionState } from '../types/state.js';
|
|
3
|
-
import { RuntimeEvent } from '../types/events.js';
|
|
4
|
-
export declare class FileStateStore implements StateStore {
|
|
5
|
-
private baseDir;
|
|
6
|
-
constructor(baseDir: string);
|
|
7
|
-
getCaseDir(caseId: string): string;
|
|
8
|
-
private ensureCaseDir;
|
|
9
|
-
writeState(caseId: string, state: ExecutionState): void;
|
|
10
|
-
readState(caseId: string): ExecutionState | null;
|
|
11
|
-
appendEvent(caseId: string, event: RuntimeEvent): void;
|
|
12
|
-
readEvents(caseId: string): RuntimeEvent[];
|
|
13
|
-
writeOutput(caseId: string, stepId: string, stdout: string, stderr?: string): void;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=file-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/state/file-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,qBAAa,cAAe,YAAW,UAAU;IACnC,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,CAAC,aAAa;IAMrB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAQvD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAOhD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAU1C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAQnF"}
|
package/dist/state/file-store.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { mkdirSync, writeFileSync, readFileSync, renameSync, existsSync, appendFileSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
export class FileStateStore {
|
|
4
|
-
baseDir;
|
|
5
|
-
constructor(baseDir) {
|
|
6
|
-
this.baseDir = baseDir;
|
|
7
|
-
}
|
|
8
|
-
getCaseDir(caseId) {
|
|
9
|
-
return join(this.baseDir, 'cases', caseId);
|
|
10
|
-
}
|
|
11
|
-
ensureCaseDir(caseId) {
|
|
12
|
-
const dir = this.getCaseDir(caseId);
|
|
13
|
-
mkdirSync(dir, { recursive: true });
|
|
14
|
-
mkdirSync(join(dir, 'outputs'), { recursive: true });
|
|
15
|
-
}
|
|
16
|
-
writeState(caseId, state) {
|
|
17
|
-
this.ensureCaseDir(caseId);
|
|
18
|
-
const statePath = join(this.getCaseDir(caseId), 'state.json');
|
|
19
|
-
const tmpPath = statePath + '.tmp';
|
|
20
|
-
writeFileSync(tmpPath, JSON.stringify(state, null, 2));
|
|
21
|
-
renameSync(tmpPath, statePath);
|
|
22
|
-
}
|
|
23
|
-
readState(caseId) {
|
|
24
|
-
const statePath = join(this.getCaseDir(caseId), 'state.json');
|
|
25
|
-
if (!existsSync(statePath))
|
|
26
|
-
return null;
|
|
27
|
-
const content = readFileSync(statePath, 'utf-8');
|
|
28
|
-
return JSON.parse(content);
|
|
29
|
-
}
|
|
30
|
-
appendEvent(caseId, event) {
|
|
31
|
-
this.ensureCaseDir(caseId);
|
|
32
|
-
const eventsPath = join(this.getCaseDir(caseId), 'events.jsonl');
|
|
33
|
-
const line = JSON.stringify(event) + '\n';
|
|
34
|
-
appendFileSync(eventsPath, line);
|
|
35
|
-
}
|
|
36
|
-
readEvents(caseId) {
|
|
37
|
-
const eventsPath = join(this.getCaseDir(caseId), 'events.jsonl');
|
|
38
|
-
if (!existsSync(eventsPath))
|
|
39
|
-
return [];
|
|
40
|
-
const content = readFileSync(eventsPath, 'utf-8');
|
|
41
|
-
return content
|
|
42
|
-
.split('\n')
|
|
43
|
-
.filter((line) => line.trim())
|
|
44
|
-
.map((line) => JSON.parse(line));
|
|
45
|
-
}
|
|
46
|
-
writeOutput(caseId, stepId, stdout, stderr) {
|
|
47
|
-
this.ensureCaseDir(caseId);
|
|
48
|
-
const outputsDir = join(this.getCaseDir(caseId), 'outputs');
|
|
49
|
-
writeFileSync(join(outputsDir, `${stepId}.stdout.txt`), stdout);
|
|
50
|
-
if (stderr !== undefined) {
|
|
51
|
-
writeFileSync(join(outputsDir, `${stepId}.stderr.txt`), stderr);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=file-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/state/file-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEvC,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,KAAqB;QAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;QACnC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAAmB;QAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1C,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAe;QACzE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5D,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CaseStore } from './case-store.js';
|
|
2
|
-
import { GateState } from '../types/state.js';
|
|
3
|
-
import { SQLiteIndex } from './sqlite-index.js';
|
|
4
|
-
export declare class GateStore {
|
|
5
|
-
private index?;
|
|
6
|
-
private caseStore;
|
|
7
|
-
constructor(caseStoreOrPath: CaseStore | string, index?: SQLiteIndex | undefined);
|
|
8
|
-
createGate(caseId: string, stepId: string, type?: string, payload?: Record<string, unknown>): string;
|
|
9
|
-
getGate(gateId: string): {
|
|
10
|
-
caseId: string;
|
|
11
|
-
stepId: string;
|
|
12
|
-
gate: GateState;
|
|
13
|
-
} | null;
|
|
14
|
-
approveGate(gateId: string, approvedBy: string): void;
|
|
15
|
-
rejectGate(gateId: string, rejectedBy: string): void;
|
|
16
|
-
private updateGate;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=gate-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gate-store.d.ts","sourceRoot":"","sources":["../../src/state/gate-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,SAAS;IAKlB,OAAO,CAAC,KAAK,CAAC;IAJhB,OAAO,CAAC,SAAS,CAAY;gBAG3B,eAAe,EAAE,SAAS,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,WAAW,YAAA;IAS7B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAkCpG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI;IA2BnF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIrD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIpD,OAAO,CAAC,UAAU;CAiBnB"}
|
package/dist/state/gate-store.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { CaseStore } from './case-store.js';
|
|
2
|
-
export class GateStore {
|
|
3
|
-
index;
|
|
4
|
-
caseStore;
|
|
5
|
-
constructor(caseStoreOrPath, index) {
|
|
6
|
-
this.index = index;
|
|
7
|
-
if (typeof caseStoreOrPath === 'string') {
|
|
8
|
-
this.caseStore = new CaseStore(caseStoreOrPath);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
this.caseStore = caseStoreOrPath;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
createGate(caseId, stepId, type, payload) {
|
|
15
|
-
const gateId = `gate_${caseId}_${stepId}`;
|
|
16
|
-
const state = this.caseStore.readState(caseId);
|
|
17
|
-
if (!state)
|
|
18
|
-
throw new Error(`Case not found: ${caseId}`);
|
|
19
|
-
// If gate already exists, don't overwrite
|
|
20
|
-
if (state.gates[gateId]) {
|
|
21
|
-
return gateId;
|
|
22
|
-
}
|
|
23
|
-
const gate = {
|
|
24
|
-
step_id: stepId,
|
|
25
|
-
status: 'pending',
|
|
26
|
-
requested_at: new Date().toISOString(),
|
|
27
|
-
type: type ?? 'manual',
|
|
28
|
-
payload,
|
|
29
|
-
};
|
|
30
|
-
state.gates[gateId] = gate;
|
|
31
|
-
this.caseStore.writeState(caseId, state);
|
|
32
|
-
this.index?.insertGate({
|
|
33
|
-
id: gateId,
|
|
34
|
-
case_id: caseId,
|
|
35
|
-
step_id: stepId,
|
|
36
|
-
status: gate.status,
|
|
37
|
-
requested_at: gate.requested_at,
|
|
38
|
-
type: gate.type,
|
|
39
|
-
payload: gate.payload ? JSON.stringify(gate.payload) : undefined,
|
|
40
|
-
});
|
|
41
|
-
return gateId;
|
|
42
|
-
}
|
|
43
|
-
getGate(gateId) {
|
|
44
|
-
// gateId format: gate_{caseId}_{stepId}
|
|
45
|
-
// caseId format: case_{uuid} (uuid has no underscores)
|
|
46
|
-
// stepId may contain underscores
|
|
47
|
-
const prefix = 'gate_';
|
|
48
|
-
if (!gateId.startsWith(prefix))
|
|
49
|
-
return null;
|
|
50
|
-
const rest = gateId.slice(prefix.length);
|
|
51
|
-
const casePrefix = 'case_';
|
|
52
|
-
if (!rest.startsWith(casePrefix))
|
|
53
|
-
return null;
|
|
54
|
-
const afterCasePrefix = rest.slice(casePrefix.length);
|
|
55
|
-
const firstUnderscore = afterCasePrefix.indexOf('_');
|
|
56
|
-
if (firstUnderscore === -1)
|
|
57
|
-
return null;
|
|
58
|
-
const caseId = 'case_' + afterCasePrefix.slice(0, firstUnderscore);
|
|
59
|
-
const stepId = afterCasePrefix.slice(firstUnderscore + 1);
|
|
60
|
-
const state = this.caseStore.readState(caseId);
|
|
61
|
-
if (!state)
|
|
62
|
-
return null;
|
|
63
|
-
const gate = state.gates[gateId];
|
|
64
|
-
if (!gate)
|
|
65
|
-
return null;
|
|
66
|
-
return { caseId, stepId, gate };
|
|
67
|
-
}
|
|
68
|
-
approveGate(gateId, approvedBy) {
|
|
69
|
-
this.updateGate(gateId, 'approved', approvedBy);
|
|
70
|
-
}
|
|
71
|
-
rejectGate(gateId, rejectedBy) {
|
|
72
|
-
this.updateGate(gateId, 'rejected', rejectedBy);
|
|
73
|
-
}
|
|
74
|
-
updateGate(gateId, status, actor) {
|
|
75
|
-
const found = this.getGate(gateId);
|
|
76
|
-
if (!found)
|
|
77
|
-
throw new Error(`Gate not found: ${gateId}`);
|
|
78
|
-
const { caseId } = found;
|
|
79
|
-
const state = this.caseStore.readState(caseId);
|
|
80
|
-
const respondedAt = new Date().toISOString();
|
|
81
|
-
state.gates[gateId].status = status;
|
|
82
|
-
state.gates[gateId].responded_at = respondedAt;
|
|
83
|
-
state.gates[gateId].responded_by = actor;
|
|
84
|
-
if (status === 'rejected') {
|
|
85
|
-
state.status = 'failed';
|
|
86
|
-
}
|
|
87
|
-
this.caseStore.writeState(caseId, state);
|
|
88
|
-
this.index?.updateGate(gateId, status, respondedAt);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=gate-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gate-store.js","sourceRoot":"","sources":["../../src/state/gate-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export declare class SQLiteIndex {
|
|
2
|
-
private db;
|
|
3
|
-
constructor(dbPath: string);
|
|
4
|
-
private init;
|
|
5
|
-
insertCase(data: {
|
|
6
|
-
id: string;
|
|
7
|
-
workflow_id: string;
|
|
8
|
-
status: string;
|
|
9
|
-
created_at: string;
|
|
10
|
-
updated_at: string;
|
|
11
|
-
path: string;
|
|
12
|
-
}): void;
|
|
13
|
-
listCases(status?: string): Array<{
|
|
14
|
-
id: string;
|
|
15
|
-
workflow_id: string;
|
|
16
|
-
status: string;
|
|
17
|
-
}>;
|
|
18
|
-
insertGate(data: {
|
|
19
|
-
id: string;
|
|
20
|
-
case_id: string;
|
|
21
|
-
step_id: string;
|
|
22
|
-
status: string;
|
|
23
|
-
requested_at: string;
|
|
24
|
-
type?: string;
|
|
25
|
-
payload?: string;
|
|
26
|
-
}): void;
|
|
27
|
-
updateGate(id: string, status: string, responded_at: string): void;
|
|
28
|
-
listGates(caseId?: string): Array<{
|
|
29
|
-
id: string;
|
|
30
|
-
case_id: string;
|
|
31
|
-
step_id: string;
|
|
32
|
-
status: string;
|
|
33
|
-
}>;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=sqlite-index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-index.d.ts","sourceRoot":"","sources":["../../src/state/sqlite-index.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,EAAE,MAAM;IAK1B,OAAO,CAAC,IAAI;IAgCZ,UAAU,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,IAAI;IAQR,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOtF,UAAU,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IAgBR,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAIlE,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAMpG"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import Database from 'better-sqlite3';
|
|
2
|
-
export class SQLiteIndex {
|
|
3
|
-
db;
|
|
4
|
-
constructor(dbPath) {
|
|
5
|
-
this.db = new Database(dbPath);
|
|
6
|
-
this.init();
|
|
7
|
-
}
|
|
8
|
-
init() {
|
|
9
|
-
this.db.exec(`
|
|
10
|
-
CREATE TABLE IF NOT EXISTS cases (
|
|
11
|
-
id TEXT PRIMARY KEY,
|
|
12
|
-
workflow_id TEXT NOT NULL,
|
|
13
|
-
status TEXT NOT NULL,
|
|
14
|
-
created_at TEXT NOT NULL,
|
|
15
|
-
updated_at TEXT NOT NULL,
|
|
16
|
-
path TEXT NOT NULL
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
CREATE TABLE IF NOT EXISTS gates (
|
|
20
|
-
id TEXT PRIMARY KEY,
|
|
21
|
-
case_id TEXT NOT NULL,
|
|
22
|
-
step_id TEXT NOT NULL,
|
|
23
|
-
status TEXT NOT NULL,
|
|
24
|
-
requested_at TEXT NOT NULL,
|
|
25
|
-
responded_at TEXT,
|
|
26
|
-
type TEXT,
|
|
27
|
-
payload TEXT
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
CREATE TABLE IF NOT EXISTS events_index (
|
|
31
|
-
id TEXT PRIMARY KEY,
|
|
32
|
-
case_id TEXT NOT NULL,
|
|
33
|
-
type TEXT NOT NULL,
|
|
34
|
-
step_id TEXT,
|
|
35
|
-
timestamp TEXT NOT NULL
|
|
36
|
-
);
|
|
37
|
-
`);
|
|
38
|
-
}
|
|
39
|
-
insertCase(data) {
|
|
40
|
-
const stmt = this.db.prepare(`
|
|
41
|
-
INSERT OR REPLACE INTO cases (id, workflow_id, status, created_at, updated_at, path)
|
|
42
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
43
|
-
`);
|
|
44
|
-
stmt.run(data.id, data.workflow_id, data.status, data.created_at, data.updated_at, data.path);
|
|
45
|
-
}
|
|
46
|
-
listCases(status) {
|
|
47
|
-
if (status) {
|
|
48
|
-
return this.db.prepare('SELECT id, workflow_id, status FROM cases WHERE status = ?').all(status);
|
|
49
|
-
}
|
|
50
|
-
return this.db.prepare('SELECT id, workflow_id, status FROM cases').all();
|
|
51
|
-
}
|
|
52
|
-
insertGate(data) {
|
|
53
|
-
const stmt = this.db.prepare(`
|
|
54
|
-
INSERT OR REPLACE INTO gates (id, case_id, step_id, status, requested_at, type, payload)
|
|
55
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
56
|
-
`);
|
|
57
|
-
stmt.run(data.id, data.case_id, data.step_id, data.status, data.requested_at, data.type ?? null, data.payload ?? null);
|
|
58
|
-
}
|
|
59
|
-
updateGate(id, status, responded_at) {
|
|
60
|
-
this.db.prepare('UPDATE gates SET status = ?, responded_at = ? WHERE id = ?').run(status, responded_at, id);
|
|
61
|
-
}
|
|
62
|
-
listGates(caseId) {
|
|
63
|
-
if (caseId) {
|
|
64
|
-
return this.db.prepare('SELECT id, case_id, step_id, status FROM gates WHERE case_id = ?').all(caseId);
|
|
65
|
-
}
|
|
66
|
-
return this.db.prepare('SELECT id, case_id, step_id, status FROM gates').all();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=sqlite-index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-index.js","sourceRoot":"","sources":["../../src/state/sqlite-index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,OAAO,WAAW;IACd,EAAE,CAAoB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BZ,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAOV;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,MAAM,CAAQ,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAAS,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,IAQV;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,IAAI,IAAI,EACjB,IAAI,CAAC,OAAO,IAAI,IAAI,CACrB,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,MAAc,EAAE,YAAoB;QACzD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,SAAS,CAAC,MAAe;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAQ,CAAC;QAChH,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,EAAS,CAAC;IACxF,CAAC;CACF"}
|
package/dist/state/store.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ExecutionState } from '../types/state.js';
|
|
2
|
-
import { RuntimeEvent } from '../types/events.js';
|
|
3
|
-
export interface StateStore {
|
|
4
|
-
getCaseDir(caseId: string): string;
|
|
5
|
-
writeState(caseId: string, state: ExecutionState): void;
|
|
6
|
-
readState(caseId: string): ExecutionState | null;
|
|
7
|
-
appendEvent(caseId: string, event: RuntimeEvent): void;
|
|
8
|
-
readEvents(caseId: string): RuntimeEvent[];
|
|
9
|
-
writeOutput(caseId: string, stepId: string, stdout: string, stderr?: string): void;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACvD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IAC3C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpF"}
|
package/dist/state/store.js
DELETED
package/dist/state/store.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":""}
|
package/dist/tool/errors.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export declare class ToolNotFound extends Error {
|
|
2
|
-
constructor(toolId: string);
|
|
3
|
-
}
|
|
4
|
-
export declare class ToolNotAllowed extends Error {
|
|
5
|
-
constructor(toolId: string, agentId: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class ToolExecutorNotFound extends Error {
|
|
8
|
-
constructor(executorId: string);
|
|
9
|
-
}
|
|
10
|
-
export declare class ToolExecutionError extends Error {
|
|
11
|
-
constructor(toolId: string, reason: string);
|
|
12
|
-
}
|
|
13
|
-
export declare class ToolApprovalRejected extends Error {
|
|
14
|
-
constructor(toolId: string, reason: string);
|
|
15
|
-
}
|
|
16
|
-
export declare class ContextToolError extends Error {
|
|
17
|
-
constructor(reason: string);
|
|
18
|
-
}
|
|
19
|
-
export declare class ToolCallLimitExceeded extends Error {
|
|
20
|
-
constructor();
|
|
21
|
-
}
|
|
22
|
-
export declare class ToolDenied extends Error {
|
|
23
|
-
constructor(toolId: string, reason: string);
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/tool/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG5C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG3C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG3C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;;CAI/C;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG3C"}
|
package/dist/tool/errors.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export class ToolNotFound extends Error {
|
|
2
|
-
constructor(toolId) {
|
|
3
|
-
super(`Tool not found: ${toolId}`);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
export class ToolNotAllowed extends Error {
|
|
7
|
-
constructor(toolId, agentId) {
|
|
8
|
-
super(`Tool '${toolId}' not allowed for agent '${agentId}'`);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class ToolExecutorNotFound extends Error {
|
|
12
|
-
constructor(executorId) {
|
|
13
|
-
super(`Tool executor not found: ${executorId}`);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export class ToolExecutionError extends Error {
|
|
17
|
-
constructor(toolId, reason) {
|
|
18
|
-
super(`Tool execution error (${toolId}): ${reason}`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export class ToolApprovalRejected extends Error {
|
|
22
|
-
constructor(toolId, reason) {
|
|
23
|
-
super(`Tool '${toolId}' approval rejected: ${reason}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export class ContextToolError extends Error {
|
|
27
|
-
constructor(reason) {
|
|
28
|
-
super(`Context tool error: ${reason}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export class ToolCallLimitExceeded extends Error {
|
|
32
|
-
constructor() {
|
|
33
|
-
super('Tool call limit exceeded: at most one tool call per agent step');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export class ToolDenied extends Error {
|
|
37
|
-
constructor(toolId, reason) {
|
|
38
|
-
super(`Tool '${toolId}' denied by policy: ${reason}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/tool/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/tool/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,MAAc;QACxB,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,MAAc,EAAE,OAAe;QACzC,KAAK,CAAC,SAAS,MAAM,4BAA4B,OAAO,GAAG,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,UAAkB;QAC5B,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,MAAc,EAAE,MAAc;QACxC,KAAK,CAAC,yBAAyB,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,MAAc,EAAE,MAAc;QACxC,KAAK,CAAC,SAAS,MAAM,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,MAAc;QACxB,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,MAAc,EAAE,MAAc;QACxC,KAAK,CAAC,SAAS,MAAM,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ToolExecutor, ToolExecutionInput, ToolExecutionResult, ToolExecutionContext } from '../types.js';
|
|
2
|
-
export declare class ContextReadToolExecutor implements ToolExecutor {
|
|
3
|
-
id: string;
|
|
4
|
-
execute(input: ToolExecutionInput, ctx: ToolExecutionContext): Promise<ToolExecutionResult>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=context-read.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-read.d.ts","sourceRoot":"","sources":["../../../src/tool/executors/context-read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAK1G,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,EAAE,SAAkB;IAEd,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAoClG"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ContextToolError } from '../errors.js';
|
|
2
|
-
import { resolve } from 'path';
|
|
3
|
-
import { existsSync, readFileSync, statSync } from 'fs';
|
|
4
|
-
export class ContextReadToolExecutor {
|
|
5
|
-
id = 'context.read';
|
|
6
|
-
async execute(input, ctx) {
|
|
7
|
-
const path = input.input?.path || '.wolf/context/context.md';
|
|
8
|
-
// Validate path
|
|
9
|
-
if (path.startsWith('/')) {
|
|
10
|
-
throw new ContextToolError('Path must be relative');
|
|
11
|
-
}
|
|
12
|
-
if (path.includes('..')) {
|
|
13
|
-
throw new ContextToolError('Path must not contain parent traversal');
|
|
14
|
-
}
|
|
15
|
-
const resolvedPath = resolve(ctx.project_root, path);
|
|
16
|
-
if (!resolvedPath.startsWith(ctx.project_root)) {
|
|
17
|
-
throw new ContextToolError('Path must be inside project root');
|
|
18
|
-
}
|
|
19
|
-
if (!existsSync(resolvedPath)) {
|
|
20
|
-
throw new ContextToolError(`Context file not found: ${path}`);
|
|
21
|
-
}
|
|
22
|
-
const stats = statSync(resolvedPath);
|
|
23
|
-
if (stats.size > 1048576) {
|
|
24
|
-
throw new ContextToolError(`File exceeds 1MB limit: ${path}`);
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const content = readFileSync(resolvedPath, 'utf-8');
|
|
28
|
-
return {
|
|
29
|
-
tool_id: this.id,
|
|
30
|
-
output: content,
|
|
31
|
-
metadata: { path, bytes_read: stats.size },
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
throw new ContextToolError(`Failed to read file: ${path}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=context-read.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-read.js","sourceRoot":"","sources":["../../../src/tool/executors/context-read.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAExD,MAAM,OAAO,uBAAuB;IAClC,EAAE,GAAG,cAAc,CAAC;IAEpB,KAAK,CAAC,OAAO,CAAC,KAAyB,EAAE,GAAyB;QAChE,MAAM,IAAI,GAAI,KAAK,CAAC,KAAuC,EAAE,IAAI,IAAI,0BAA0B,CAAC;QAEhG,gBAAgB;QAChB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
|
package/dist/tool/registry.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ToolDefinition, ToolExecutor } from './types.js';
|
|
2
|
-
export declare class ToolRegistry {
|
|
3
|
-
private definitions;
|
|
4
|
-
private executors;
|
|
5
|
-
registerDefinition(def: ToolDefinition): void;
|
|
6
|
-
registerExecutor(executor: ToolExecutor): void;
|
|
7
|
-
getDefinition(id: string): ToolDefinition | undefined;
|
|
8
|
-
requireDefinition(id: string): ToolDefinition;
|
|
9
|
-
requireExecutor(executorId: string): ToolExecutor;
|
|
10
|
-
list(): ToolDefinition[];
|
|
11
|
-
listForAgent(agentTools: string[]): ToolDefinition[];
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tool/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,SAAS,CAAmC;IAEpD,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAO7C,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAO9C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIrD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAQ7C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAQjD,IAAI,IAAI,cAAc,EAAE;IAIxB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;CAWrD"}
|