@harness-kernel/core 0.1.1 → 0.2.0
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/agent/context.d.ts +1 -1
- package/dist/agent/context.js +1 -1
- package/dist/agent/event.js +2 -2
- package/dist/agent/hook.d.ts +2 -2
- package/dist/agent/hook.js +1 -1
- package/dist/agent/mode.d.ts +1 -1
- package/dist/agent/mode.js +1 -1
- package/dist/agent/role.js +1 -1
- package/dist/agent/session.d.ts +1 -1
- package/dist/agent/session.js +1 -1
- package/dist/agent/tool.d.ts +1 -1
- package/dist/agent/tool.js +1 -1
- package/dist/agent.d.ts +4 -4
- package/dist/{approval-DfvjpbFs.d.ts → approval-D_G2w-fW.d.ts} +10 -14
- package/dist/{chunk-4WWSQAWA.js → chunk-37PIMSLG.js} +192 -75
- package/dist/chunk-37PIMSLG.js.map +1 -0
- package/dist/{chunk-4A2P4QU5.js → chunk-B4Q6CPYO.js} +2 -1
- package/dist/chunk-B4Q6CPYO.js.map +1 -0
- package/dist/{chunk-4SYLFKIX.js → chunk-JIJHGB6H.js} +2 -2
- package/dist/chunk-ONYDIU4X.js +284 -0
- package/dist/chunk-ONYDIU4X.js.map +1 -0
- package/dist/{chunk-AD3BCYWU.js → chunk-ZU6ADDET.js} +1 -1
- package/dist/chunk-ZU6ADDET.js.map +1 -0
- package/dist/{context-75mlon5x.d.ts → context-BfpLqV11.d.ts} +5 -3
- package/dist/{hook-DMb9fw9Z.d.ts → hook-CfBbhUQf.d.ts} +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/index.js +9 -5
- package/dist/{model-provider-BrZ2RRmS.d.ts → model-provider-Ch7tzk1x.d.ts} +6 -8
- package/dist/runner/approval.d.ts +5 -5
- package/dist/runner/event.js +2 -2
- package/dist/runner/model-provider.d.ts +4 -4
- package/dist/runner/sandbox.d.ts +1 -1
- package/dist/runner/sandbox.js +1 -1
- package/dist/runner/storage.d.ts +2 -2
- package/dist/runner/storage.js +5 -1
- package/dist/{runner-Dxo7ALtp.d.ts → runner-BzEf0lAV.d.ts} +15 -9
- package/dist/runner.d.ts +6 -6
- package/dist/runner.js +5 -5
- package/dist/{storage-BmOEwW-p.d.ts → storage-DCZE_hES.d.ts} +84 -2
- package/package.json +2 -2
- package/dist/chunk-4A2P4QU5.js.map +0 -1
- package/dist/chunk-4WWSQAWA.js.map +0 -1
- package/dist/chunk-AD3BCYWU.js.map +0 -1
- package/dist/chunk-AZVA22HW.js +0 -135
- package/dist/chunk-AZVA22HW.js.map +0 -1
- /package/dist/{chunk-4SYLFKIX.js.map → chunk-JIJHGB6H.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/runtime/sandbox.ts"],"sourcesContent":["export interface HarnessSandboxOpenInput {\n sessionId: string;\n runId: string;\n agentKey: string;\n workDir: string;\n outputDir?: string;\n services: Record<string, unknown>;\n}\n\nexport interface SandboxExecInput {\n command: string;\n cwd?: string;\n timeoutMs?: number;\n env?: Record<string, string>;\n stdin?: string;\n}\n\nexport interface SandboxExecResult {\n stdout: string;\n stderr: string;\n exitCode: number | null;\n signal?: string;\n durationMs: number;\n timedOut?: boolean;\n}\n\nexport abstract class HarnessSandbox {\n abstract readonly id: string;\n label?: string;\n\n abstract open(input: HarnessSandboxOpenInput): Promise<HarnessSandboxSession> | HarnessSandboxSession;\n}\n\nexport abstract class HarnessSandboxSession {\n abstract readonly id: string;\n abstract readonly workDir: string;\n\n abstract exec(input: SandboxExecInput): Promise<SandboxExecResult>;\n\n close?(): Promise<void>;\n}\n\nexport class NoopSandbox extends HarnessSandbox {\n readonly id = \"noop\";\n label = \"Noop\";\n\n open(input: HarnessSandboxOpenInput): HarnessSandboxSession {\n return new NoopSandboxSession(input.workDir);\n }\n}\n\nexport class NoopSandboxSession extends HarnessSandboxSession {\n readonly id = \"noop\";\n\n constructor(readonly workDir: string) {\n super();\n }\n\n async exec(input: SandboxExecInput): Promise<SandboxExecResult> {\n return {\n stdout: \"\",\n stderr: `No sandbox is configured; cannot execute: ${input.command}`,\n exitCode: 1,\n durationMs: 0,\n };\n }\n}\n"],"mappings":";AA0BO,IAAe,iBAAf,MAA8B;AAAA,EAEnC;AAGF;AAEO,IAAe,wBAAf,MAAqC;AAO5C;AAEO,IAAM,cAAN,cAA0B,eAAe;AAAA,EACrC,KAAK;AAAA,EACd,QAAQ;AAAA,EAER,KAAK,OAAuD;AAC1D,WAAO,IAAI,mBAAmB,MAAM,OAAO;AAAA,EAC7C;AACF;AAEO,IAAM,qBAAN,cAAiC,sBAAsB;AAAA,EAG5D,YAAqB,SAAiB;AACpC,UAAM;AADa;AAAA,EAErB;AAAA,EAFqB;AAAA,EAFZ,KAAK;AAAA,EAMd,MAAM,KAAK,OAAqD;AAC9D,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ,6CAA6C,MAAM,OAAO;AAAA,MAClE,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,EACF;AACF;","names":[]}
|
package/dist/chunk-AZVA22HW.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
// src/runtime/storage.ts
|
|
2
|
-
var HarnessRunStorage = class {
|
|
3
|
-
label;
|
|
4
|
-
};
|
|
5
|
-
var HarnessRunStore = class {
|
|
6
|
-
outputDir;
|
|
7
|
-
runDir;
|
|
8
|
-
};
|
|
9
|
-
var NoopRunStorage = class extends HarnessRunStorage {
|
|
10
|
-
id = "noop";
|
|
11
|
-
label = "Noop";
|
|
12
|
-
openRun(input) {
|
|
13
|
-
return new NoopRunStore(input.runId);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
var NoopRunStore = class extends HarnessRunStore {
|
|
17
|
-
constructor(runId) {
|
|
18
|
-
super();
|
|
19
|
-
this.runId = runId;
|
|
20
|
-
}
|
|
21
|
-
runId;
|
|
22
|
-
outputDir = void 0;
|
|
23
|
-
runDir = void 0;
|
|
24
|
-
init() {
|
|
25
|
-
}
|
|
26
|
-
recordEvent(_event) {
|
|
27
|
-
}
|
|
28
|
-
loadEvents() {
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
saveTranscript(_messages) {
|
|
32
|
-
}
|
|
33
|
-
loadTranscript() {
|
|
34
|
-
return [];
|
|
35
|
-
}
|
|
36
|
-
saveMetrics(_metrics) {
|
|
37
|
-
}
|
|
38
|
-
saveSnapshot(_snapshot) {
|
|
39
|
-
}
|
|
40
|
-
loadSnapshots() {
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
|
-
deleteSnapshot(_id) {
|
|
44
|
-
}
|
|
45
|
-
saveCursors(_cursors) {
|
|
46
|
-
}
|
|
47
|
-
loadCursors() {
|
|
48
|
-
return void 0;
|
|
49
|
-
}
|
|
50
|
-
saveContextSnapshot(_snapshot) {
|
|
51
|
-
}
|
|
52
|
-
loadContextSnapshots() {
|
|
53
|
-
return [];
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
function cloneJSON(value) {
|
|
57
|
-
return JSON.parse(JSON.stringify(value));
|
|
58
|
-
}
|
|
59
|
-
var MemoryRunStorage = class extends HarnessRunStorage {
|
|
60
|
-
id = "memory";
|
|
61
|
-
label = "Memory";
|
|
62
|
-
runs = /* @__PURE__ */ new Map();
|
|
63
|
-
openRun(input) {
|
|
64
|
-
let state = this.runs.get(input.runId);
|
|
65
|
-
if (!state) {
|
|
66
|
-
state = {
|
|
67
|
-
events: [],
|
|
68
|
-
transcript: [],
|
|
69
|
-
snapshots: /* @__PURE__ */ new Map(),
|
|
70
|
-
contextSnapshots: /* @__PURE__ */ new Map()
|
|
71
|
-
};
|
|
72
|
-
this.runs.set(input.runId, state);
|
|
73
|
-
}
|
|
74
|
-
return new MemoryRunStore(input.runId, state);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
var MemoryRunStore = class extends HarnessRunStore {
|
|
78
|
-
constructor(runId, state) {
|
|
79
|
-
super();
|
|
80
|
-
this.runId = runId;
|
|
81
|
-
this.state = state;
|
|
82
|
-
}
|
|
83
|
-
runId;
|
|
84
|
-
state;
|
|
85
|
-
outputDir = void 0;
|
|
86
|
-
runDir = void 0;
|
|
87
|
-
init() {
|
|
88
|
-
}
|
|
89
|
-
recordEvent(event) {
|
|
90
|
-
this.state.events.push(cloneJSON(event));
|
|
91
|
-
}
|
|
92
|
-
loadEvents() {
|
|
93
|
-
return cloneJSON(this.state.events);
|
|
94
|
-
}
|
|
95
|
-
saveTranscript(messages) {
|
|
96
|
-
this.state.transcript = cloneJSON(messages);
|
|
97
|
-
}
|
|
98
|
-
loadTranscript() {
|
|
99
|
-
return cloneJSON(this.state.transcript);
|
|
100
|
-
}
|
|
101
|
-
saveMetrics(metrics) {
|
|
102
|
-
this.state.metrics = cloneJSON(metrics);
|
|
103
|
-
}
|
|
104
|
-
saveSnapshot(snapshot) {
|
|
105
|
-
this.state.snapshots.set(snapshot.id, cloneJSON(snapshot));
|
|
106
|
-
}
|
|
107
|
-
loadSnapshots() {
|
|
108
|
-
return [...this.state.snapshots.values()].map((snapshot) => cloneJSON(snapshot)).sort((a, b) => a.createdAt.localeCompare(b.createdAt));
|
|
109
|
-
}
|
|
110
|
-
deleteSnapshot(id) {
|
|
111
|
-
this.state.snapshots.delete(id);
|
|
112
|
-
}
|
|
113
|
-
saveCursors(cursors) {
|
|
114
|
-
this.state.cursors = cloneJSON(cursors);
|
|
115
|
-
}
|
|
116
|
-
loadCursors() {
|
|
117
|
-
return this.state.cursors ? cloneJSON(this.state.cursors) : void 0;
|
|
118
|
-
}
|
|
119
|
-
saveContextSnapshot(snapshot) {
|
|
120
|
-
this.state.contextSnapshots.set(snapshot.id, cloneJSON(snapshot));
|
|
121
|
-
}
|
|
122
|
-
loadContextSnapshots() {
|
|
123
|
-
return [...this.state.contextSnapshots.values()].map((snapshot) => cloneJSON(snapshot)).sort((a, b) => a.createdAt.localeCompare(b.createdAt));
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
export {
|
|
128
|
-
HarnessRunStorage,
|
|
129
|
-
HarnessRunStore,
|
|
130
|
-
NoopRunStorage,
|
|
131
|
-
NoopRunStore,
|
|
132
|
-
MemoryRunStorage,
|
|
133
|
-
MemoryRunStore
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=chunk-AZVA22HW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/runtime/storage.ts"],"sourcesContent":["import type {\n AgentMessage,\n ContextSnapshot,\n EventCursor,\n HarnessEventRecord,\n HarnessSnapshot,\n RunMetrics,\n TranscriptBranch,\n TranscriptCursor,\n} from \"./types.js\";\n\nexport interface RunCursorState {\n transcriptCursor: TranscriptCursor;\n eventCursor: EventCursor;\n branches?: TranscriptBranch[];\n}\n\nexport interface OpenRunStoreInput {\n runId: string;\n sessionId: string;\n agentKey: string;\n outputDir?: string;\n}\n\nexport abstract class HarnessRunStorage {\n abstract readonly id: string;\n label?: string;\n\n abstract openRun(input: OpenRunStoreInput): Promise<HarnessRunStore> | HarnessRunStore;\n}\n\nexport abstract class HarnessRunStore {\n abstract readonly runId: string;\n readonly outputDir?: string;\n readonly runDir?: string;\n\n abstract init(): Promise<void> | void;\n abstract recordEvent(event: HarnessEventRecord): Promise<void> | void;\n abstract loadEvents(): Promise<HarnessEventRecord[]> | HarnessEventRecord[];\n abstract saveTranscript(messages: AgentMessage[]): Promise<void> | void;\n abstract loadTranscript(): Promise<AgentMessage[]> | AgentMessage[];\n abstract saveMetrics(metrics: RunMetrics): Promise<void> | void;\n abstract saveSnapshot(snapshot: HarnessSnapshot): Promise<void> | void;\n abstract loadSnapshots(): Promise<HarnessSnapshot[]> | HarnessSnapshot[];\n abstract deleteSnapshot(id: string): Promise<void> | void;\n abstract saveCursors(cursors: RunCursorState): Promise<void> | void;\n abstract loadCursors(): Promise<RunCursorState | undefined> | RunCursorState | undefined;\n abstract saveContextSnapshot(snapshot: ContextSnapshot): Promise<void> | void;\n abstract loadContextSnapshots(): Promise<ContextSnapshot[]> | ContextSnapshot[];\n\n close?(): Promise<void>;\n}\n\nexport class NoopRunStorage extends HarnessRunStorage {\n readonly id = \"noop\";\n label = \"Noop\";\n\n openRun(input: OpenRunStoreInput): HarnessRunStore {\n return new NoopRunStore(input.runId);\n }\n}\n\nexport class NoopRunStore extends HarnessRunStore {\n readonly outputDir = undefined;\n readonly runDir = undefined;\n\n constructor(readonly runId: string) {\n super();\n }\n\n init(): void {}\n recordEvent(_event: HarnessEventRecord): void {}\n loadEvents(): HarnessEventRecord[] { return []; }\n saveTranscript(_messages: AgentMessage[]): void {}\n loadTranscript(): AgentMessage[] { return []; }\n saveMetrics(_metrics: RunMetrics): void {}\n saveSnapshot(_snapshot: HarnessSnapshot): void {}\n loadSnapshots(): HarnessSnapshot[] { return []; }\n deleteSnapshot(_id: string): void {}\n saveCursors(_cursors: RunCursorState): void {}\n loadCursors(): RunCursorState | undefined { return undefined; }\n saveContextSnapshot(_snapshot: ContextSnapshot): void {}\n loadContextSnapshots(): ContextSnapshot[] { return []; }\n}\n\nfunction cloneJSON<T>(value: T): T {\n return JSON.parse(JSON.stringify(value)) as T;\n}\n\ninterface MemoryRunState {\n events: HarnessEventRecord[];\n transcript: AgentMessage[];\n metrics?: RunMetrics;\n snapshots: Map<string, HarnessSnapshot>;\n cursors?: RunCursorState;\n contextSnapshots: Map<string, ContextSnapshot>;\n}\n\nexport class MemoryRunStorage extends HarnessRunStorage {\n readonly id = \"memory\";\n label = \"Memory\";\n private readonly runs = new Map<string, MemoryRunState>();\n\n openRun(input: OpenRunStoreInput): HarnessRunStore {\n let state = this.runs.get(input.runId);\n if (!state) {\n state = {\n events: [],\n transcript: [],\n snapshots: new Map(),\n contextSnapshots: new Map(),\n };\n this.runs.set(input.runId, state);\n }\n return new MemoryRunStore(input.runId, state);\n }\n}\n\nexport class MemoryRunStore extends HarnessRunStore {\n readonly outputDir = undefined;\n readonly runDir = undefined;\n\n constructor(\n readonly runId: string,\n private readonly state: MemoryRunState,\n ) {\n super();\n }\n\n init(): void {}\n recordEvent(event: HarnessEventRecord): void { this.state.events.push(cloneJSON(event)); }\n loadEvents(): HarnessEventRecord[] { return cloneJSON(this.state.events); }\n saveTranscript(messages: AgentMessage[]): void { this.state.transcript = cloneJSON(messages); }\n loadTranscript(): AgentMessage[] { return cloneJSON(this.state.transcript); }\n saveMetrics(metrics: RunMetrics): void { this.state.metrics = cloneJSON(metrics); }\n saveSnapshot(snapshot: HarnessSnapshot): void { this.state.snapshots.set(snapshot.id, cloneJSON(snapshot)); }\n loadSnapshots(): HarnessSnapshot[] {\n return [...this.state.snapshots.values()]\n .map((snapshot) => cloneJSON(snapshot))\n .sort((a, b) => a.createdAt.localeCompare(b.createdAt));\n }\n deleteSnapshot(id: string): void { this.state.snapshots.delete(id); }\n saveCursors(cursors: RunCursorState): void { this.state.cursors = cloneJSON(cursors); }\n loadCursors(): RunCursorState | undefined { return this.state.cursors ? cloneJSON(this.state.cursors) : undefined; }\n saveContextSnapshot(snapshot: ContextSnapshot): void { this.state.contextSnapshots.set(snapshot.id, cloneJSON(snapshot)); }\n loadContextSnapshots(): ContextSnapshot[] {\n return [...this.state.contextSnapshots.values()]\n .map((snapshot) => cloneJSON(snapshot))\n .sort((a, b) => a.createdAt.localeCompare(b.createdAt));\n }\n}\n"],"mappings":"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","names":[]}
|
|
File without changes
|