@codeworksh/harness 0.0.1-dev.20260824142157
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/LICENSE +21 -0
- package/README.md +133 -0
- package/cli/index.d.mts +23 -0
- package/cli/index.mjs +100 -0
- package/cli/index.mjs.map +1 -0
- package/control-DyVTL25_.d.mts +1947 -0
- package/effect.d.mts +157 -0
- package/effect.mjs +100 -0
- package/effect.mjs.map +1 -0
- package/index.d.mts +1 -0
- package/index.mjs +1 -0
- package/package.json +66 -0
- package/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/session-jgwp2MT6.mjs +7168 -0
- package/session-jgwp2MT6.mjs.map +1 -0
package/effect.d.mts
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { A as schema_d_exports$1, B as Registration, C as HydratedEntry, D as Payload, E as Service$1, F as CreateConfig$1, G as SandboxDriverRegistrationError, H as SandboxCreateError, I as Controller, K as SandboxMountError, L as Info$2, M as ClientOptions, N as CreateConfig, O as Delivery, P as ClientOptions$1, Q as SandboxStopError, R as Status, S as Service$3, T as SessionNotFoundError, U as SandboxDestroyError, V as Registry, X as SandboxRegisterError, Y as SandboxRefreshError, _ as ToolExecutionMode, a as schema_d_exports, b as RegisteredTool, d as RunError, et as SandboxWakeError, h as Service$5, i as ID$1, j as AbsolutePath, k as ID, l as ModelNotFoundError, m as RequestOptions, n as PromptConflictError, o as Admitted, r as Service$7, s as Service$6, t as Interface$1, u as ProviderTurnError, v as PromptSystemOverride, w as Service$2, x as tool_d_exports, y as Service$4, z as instance_d_exports } from "./control-DyVTL25_.mjs";
|
|
2
|
+
import { Config, Context, Effect, Layer, Option, Stream } from "effect";
|
|
3
|
+
import { Event, Message, Model } from "@codeworksh/aikit";
|
|
4
|
+
import { SqlClient, SqlClient as SqlClient$1 } from "effect/unstable/sql";
|
|
5
|
+
import { SqliteClient } from "@effect/sql-sqlite-node";
|
|
6
|
+
//#region src/global.d.ts
|
|
7
|
+
declare const Service_base: Context.ServiceClass<Service, "@codeworksh/harness/global/Service", Interface>;
|
|
8
|
+
declare class Service extends Service_base {}
|
|
9
|
+
interface Interface {
|
|
10
|
+
readonly home: string;
|
|
11
|
+
readonly cache: string;
|
|
12
|
+
readonly agent: string;
|
|
13
|
+
readonly data: string;
|
|
14
|
+
readonly log: string;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/runner/llm.d.ts
|
|
18
|
+
interface Input {
|
|
19
|
+
readonly sessionId: ID;
|
|
20
|
+
readonly context: Message.Context;
|
|
21
|
+
readonly provider: string;
|
|
22
|
+
readonly model: string;
|
|
23
|
+
readonly thinkingLevel?: Model.ThinkingLevel;
|
|
24
|
+
readonly options?: RequestOptions;
|
|
25
|
+
}
|
|
26
|
+
type Open = (input: Input, signal: AbortSignal) => Effect.Effect<AsyncIterable<Event.LLMMessageEvent>, ModelNotFoundError | ProviderTurnError>;
|
|
27
|
+
declare namespace sandbox_d_exports {
|
|
28
|
+
export { CreateInput$1 as CreateInput, Driver, Drivers, Info$1 as Info, RegisterInput, sandbox_d_exports as Sandbox, instance_d_exports as SandboxInstance, create$1 as create, destroy, get$1 as get, list, refresh, register, stop, wake };
|
|
29
|
+
}
|
|
30
|
+
type Info$1 = Info$2;
|
|
31
|
+
type Driver = Registration;
|
|
32
|
+
type CreateInput$1 = {
|
|
33
|
+
readonly driver: "memory";
|
|
34
|
+
readonly cwd?: string;
|
|
35
|
+
} | {
|
|
36
|
+
readonly driver: "sqldb";
|
|
37
|
+
readonly cwd?: string;
|
|
38
|
+
readonly location?: string;
|
|
39
|
+
} | ({
|
|
40
|
+
readonly driver: "vercel";
|
|
41
|
+
} & CreateConfig) | ({
|
|
42
|
+
readonly driver: "daytona";
|
|
43
|
+
} & CreateConfig$1);
|
|
44
|
+
type RegisterInput = {
|
|
45
|
+
readonly driver: "vercel" | "daytona";
|
|
46
|
+
readonly providerResourceId: string;
|
|
47
|
+
};
|
|
48
|
+
declare const create$1: (input: CreateInput$1) => Effect.Effect<Info$2, SandboxCreateError, Controller | Registry>;
|
|
49
|
+
declare const register: (input: RegisterInput) => Effect.Effect<Info$2, SandboxRegisterError, Controller | Registry>;
|
|
50
|
+
declare const get$1: (id: string & import("effect/Brand").Brand<"SandboxInstance.ID">) => Effect.Effect<import("effect/Option").Option<Info$2>, never, Controller>;
|
|
51
|
+
declare const list: (input?: {
|
|
52
|
+
readonly driver?: string;
|
|
53
|
+
readonly status?: Status;
|
|
54
|
+
} | undefined) => Effect.Effect<readonly Info$2[], never, Controller>;
|
|
55
|
+
declare const refresh: (id: string & import("effect/Brand").Brand<"SandboxInstance.ID">) => Effect.Effect<Info$2, SandboxRefreshError, Controller>;
|
|
56
|
+
declare const wake: (id: string & import("effect/Brand").Brand<"SandboxInstance.ID">) => Effect.Effect<Info$2, SandboxWakeError, Controller>;
|
|
57
|
+
declare const stop: (id: string & import("effect/Brand").Brand<"SandboxInstance.ID">) => Effect.Effect<Info$2, SandboxStopError, Controller>;
|
|
58
|
+
declare const destroy: (id: string & import("effect/Brand").Brand<"SandboxInstance.ID">) => Effect.Effect<void, SandboxDestroyError, Controller>;
|
|
59
|
+
declare const Drivers: {
|
|
60
|
+
readonly memory: Driver;
|
|
61
|
+
readonly sqldb: Driver;
|
|
62
|
+
readonly vercel: (options?: ClientOptions) => Driver;
|
|
63
|
+
readonly daytona: (options?: ClientOptions$1) => Driver;
|
|
64
|
+
};
|
|
65
|
+
declare namespace harness_d_exports {
|
|
66
|
+
export { harness_d_exports as Harness, Options, layer };
|
|
67
|
+
}
|
|
68
|
+
interface Options {
|
|
69
|
+
readonly database?: string;
|
|
70
|
+
readonly home?: string;
|
|
71
|
+
readonly sandboxes?: ReadonlyArray<Driver>;
|
|
72
|
+
readonly llm?: Open;
|
|
73
|
+
}
|
|
74
|
+
declare const layer: (options?: Options) => Layer.Layer<Controller | Registry | Service | Service$1 | Service$2 | Service$3 | Service$4 | Service$5 | Service$6 | Service$7 | SqlClient$1.SqlClient | import("@effect/sql-sqlite-node/SqliteClient").SqliteClient, import("effect/Config").ConfigError | SandboxDriverRegistrationError, never>;
|
|
75
|
+
declare namespace tools_d_exports {
|
|
76
|
+
export { tools_d_exports as Tools, bash };
|
|
77
|
+
}
|
|
78
|
+
declare const bash: "bash";
|
|
79
|
+
declare namespace session_d_exports {
|
|
80
|
+
export { AbsolutePath, AttachInput, CreateInput, Handle, Info, ModelConfig, PromptInput, RuntimeInput, session_d_exports as Session, schema_d_exports as SessionMessageSchema, schema_d_exports$1 as SessionSchema, SystemPromptConfig, ToolsConfig, attach, create, get };
|
|
81
|
+
}
|
|
82
|
+
interface ModelConfig {
|
|
83
|
+
readonly provider: string;
|
|
84
|
+
readonly id: string;
|
|
85
|
+
readonly options?: RequestOptions;
|
|
86
|
+
}
|
|
87
|
+
interface ToolsConfig {
|
|
88
|
+
readonly builtins?: ReadonlyArray<typeof bash>;
|
|
89
|
+
readonly extras?: ReadonlyArray<RegisteredTool>;
|
|
90
|
+
readonly execution?: ToolExecutionMode;
|
|
91
|
+
}
|
|
92
|
+
interface SystemPromptConfig {
|
|
93
|
+
readonly custom?: string;
|
|
94
|
+
readonly append?: string;
|
|
95
|
+
readonly override?: PromptSystemOverride;
|
|
96
|
+
}
|
|
97
|
+
interface RuntimeInput {
|
|
98
|
+
readonly model?: ModelConfig;
|
|
99
|
+
readonly thinkingLevel?: Model.ThinkingLevel;
|
|
100
|
+
readonly tools?: ToolsConfig;
|
|
101
|
+
readonly systemPrompt?: SystemPromptConfig;
|
|
102
|
+
}
|
|
103
|
+
interface CreateInput extends RuntimeInput {
|
|
104
|
+
readonly title?: string;
|
|
105
|
+
readonly sandbox?: Info$1;
|
|
106
|
+
readonly directory?: string;
|
|
107
|
+
}
|
|
108
|
+
interface AttachInput extends Pick<RuntimeInput, "tools" | "systemPrompt"> {
|
|
109
|
+
readonly sessionId: ID;
|
|
110
|
+
}
|
|
111
|
+
type PromptInput = string | {
|
|
112
|
+
readonly text: string;
|
|
113
|
+
readonly delivery?: Delivery;
|
|
114
|
+
readonly id?: ID$1;
|
|
115
|
+
};
|
|
116
|
+
interface Info {
|
|
117
|
+
readonly id: ID;
|
|
118
|
+
readonly title: string;
|
|
119
|
+
readonly directory: AbsolutePath;
|
|
120
|
+
readonly sandbox?: Info$1;
|
|
121
|
+
}
|
|
122
|
+
interface Handle {
|
|
123
|
+
readonly id: ID;
|
|
124
|
+
readonly active: Effect.Effect<boolean>;
|
|
125
|
+
readonly info: Effect.Effect<Info, SessionNotFoundError>;
|
|
126
|
+
readonly prompt: (input: PromptInput) => ReturnType<Interface$1["prompt"]>;
|
|
127
|
+
readonly run: (input: PromptInput) => ReturnType<Interface$1["run"]>;
|
|
128
|
+
readonly resume: () => ReturnType<Interface$1["resume"]>;
|
|
129
|
+
readonly interrupt: () => ReturnType<Interface$1["interrupt"]>;
|
|
130
|
+
readonly events: (options?: {
|
|
131
|
+
readonly after?: number;
|
|
132
|
+
}) => Stream.Stream<Payload>;
|
|
133
|
+
readonly path: () => Effect.Effect<ReadonlyArray<HydratedEntry>>;
|
|
134
|
+
}
|
|
135
|
+
declare const create: (input?: CreateInput | undefined) => Effect.Effect<{
|
|
136
|
+
id: string & import("effect/Brand").Brand<"Session.ID">;
|
|
137
|
+
active: Effect.Effect<boolean, never, never>;
|
|
138
|
+
info: Effect.Effect<{
|
|
139
|
+
id: string & import("effect/Brand").Brand<"Session.ID">;
|
|
140
|
+
title: string;
|
|
141
|
+
directory: string & import("effect/Brand").Brand<"AbsolutePath">;
|
|
142
|
+
sandbox?: Info$2;
|
|
143
|
+
}, SessionNotFoundError, never>;
|
|
144
|
+
prompt: (input: PromptInput) => Effect.Effect<Admitted, PromptConflictError | SessionNotFoundError, never>;
|
|
145
|
+
run: (input: PromptInput) => Effect.Effect<Admitted, PromptConflictError | RunError, never>;
|
|
146
|
+
resume: () => Effect.Effect<void, RunError, never>;
|
|
147
|
+
interrupt: () => Effect.Effect<void, never, never>;
|
|
148
|
+
events: (options?: {
|
|
149
|
+
readonly after?: number;
|
|
150
|
+
} | undefined) => Stream.Stream<Payload, never, never>;
|
|
151
|
+
path: () => Effect.Effect<HydratedEntry[], never, never>;
|
|
152
|
+
}, SandboxMountError, Controller | Service$1 | Service$2 | Service$4 | Service$7 | SqlClient.SqlClient>;
|
|
153
|
+
declare const get: (sessionId: string & import("effect/Brand").Brand<"Session.ID">) => Effect.Effect<Option.None<Handle> | Option.Some<Handle>, never, Controller | Service$1 | Service$2 | Service$7>;
|
|
154
|
+
declare const attach: (input: AttachInput) => Effect.Effect<Handle, SessionNotFoundError, Controller | Service$1 | Service$2 | Service$4 | Service$7>;
|
|
155
|
+
//#endregion
|
|
156
|
+
export { harness_d_exports as Harness, sandbox_d_exports as Sandbox, session_d_exports as Session, tool_d_exports as Tool, tools_d_exports as Tools };
|
|
157
|
+
//# sourceMappingURL=effect.d.mts.map
|
package/effect.mjs
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
|
|
2
|
+
import { c as make$3, d as Controller, f as AbsolutePath, h as instance_exports, i as harness_exports, l as make$1, m as Registry, o as tool_exports, p as Name, r as session_exports, s as make$2, u as make } from "./session-jgwp2MT6.mjs";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
//#region src/effect/sandbox.ts
|
|
5
|
+
var sandbox_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
Drivers: () => Drivers,
|
|
7
|
+
Sandbox: () => sandbox_exports,
|
|
8
|
+
SandboxInstance: () => instance_exports,
|
|
9
|
+
create: () => create,
|
|
10
|
+
destroy: () => destroy,
|
|
11
|
+
get: () => get,
|
|
12
|
+
list: () => list,
|
|
13
|
+
refresh: () => refresh,
|
|
14
|
+
register: () => register,
|
|
15
|
+
stop: () => stop,
|
|
16
|
+
wake: () => wake
|
|
17
|
+
});
|
|
18
|
+
const registered = Effect.fn("Sandbox.registered")(function* (name) {
|
|
19
|
+
return yield* (yield* Registry).get(Name.make(name));
|
|
20
|
+
});
|
|
21
|
+
const create = Effect.fn("Sandbox.create")(function* (input) {
|
|
22
|
+
const controller = yield* Controller;
|
|
23
|
+
const driver = yield* registered(input.driver);
|
|
24
|
+
if (input.driver === "memory") {
|
|
25
|
+
const cwd = AbsolutePath.make(input.cwd ?? "/");
|
|
26
|
+
return yield* controller.create({
|
|
27
|
+
driver,
|
|
28
|
+
config: {
|
|
29
|
+
defaultCwd: cwd,
|
|
30
|
+
initializeCwd: cwd
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (input.driver === "sqldb") {
|
|
35
|
+
const cwd = AbsolutePath.make(input.cwd ?? "/");
|
|
36
|
+
return yield* controller.create({
|
|
37
|
+
driver,
|
|
38
|
+
config: {
|
|
39
|
+
defaultCwd: cwd,
|
|
40
|
+
initializeCwd: cwd,
|
|
41
|
+
...input.location === void 0 ? {} : { location: input.location }
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const { driver: _, ...config } = input;
|
|
46
|
+
return yield* controller.create({
|
|
47
|
+
driver,
|
|
48
|
+
config
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
const register = Effect.fn("Sandbox.register")(function* (input) {
|
|
52
|
+
const controller = yield* Controller;
|
|
53
|
+
const driver = yield* registered(input.driver);
|
|
54
|
+
return yield* controller.register({
|
|
55
|
+
driver,
|
|
56
|
+
providerResourceId: input.providerResourceId
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
const get = Effect.fn("Sandbox.get")(function* (id) {
|
|
60
|
+
return yield* (yield* Controller).get(id);
|
|
61
|
+
});
|
|
62
|
+
const list = Effect.fn("Sandbox.list")(function* (input) {
|
|
63
|
+
return yield* (yield* Controller).list({
|
|
64
|
+
...input?.driver === void 0 ? {} : { driver: Name.make(input.driver) },
|
|
65
|
+
...input?.status === void 0 ? {} : { status: input.status }
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
const refresh = Effect.fn("Sandbox.refresh")(function* (id) {
|
|
69
|
+
return yield* (yield* Controller).refresh(id);
|
|
70
|
+
});
|
|
71
|
+
const wake = Effect.fn("Sandbox.wake")(function* (id) {
|
|
72
|
+
return yield* (yield* Controller).wake(id);
|
|
73
|
+
});
|
|
74
|
+
const stop = Effect.fn("Sandbox.stop")(function* (id) {
|
|
75
|
+
return yield* (yield* Controller).stop(id);
|
|
76
|
+
});
|
|
77
|
+
const destroy = Effect.fn("Sandbox.destroy")(function* (id) {
|
|
78
|
+
yield* (yield* Controller).destroy(id);
|
|
79
|
+
});
|
|
80
|
+
const Drivers = {
|
|
81
|
+
get memory() {
|
|
82
|
+
return make().driver;
|
|
83
|
+
},
|
|
84
|
+
get sqldb() {
|
|
85
|
+
return make$1().driver;
|
|
86
|
+
},
|
|
87
|
+
vercel: (options = {}) => make$2(options),
|
|
88
|
+
daytona: (options = {}) => make$3(options)
|
|
89
|
+
};
|
|
90
|
+
//#endregion
|
|
91
|
+
//#region src/effect/tools.ts
|
|
92
|
+
var tools_exports = /* @__PURE__ */ __exportAll({
|
|
93
|
+
Tools: () => tools_exports,
|
|
94
|
+
bash: () => bash
|
|
95
|
+
});
|
|
96
|
+
const bash = "bash";
|
|
97
|
+
//#endregion
|
|
98
|
+
export { harness_exports as Harness, sandbox_exports as Sandbox, session_exports as Session, tool_exports as Tool, tools_exports as Tools };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=effect.mjs.map
|
package/effect.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect.mjs","names":["SandboxDriver.Registry","SandboxController.Controller","MemorySandboxDriver.make","SqldbSandboxDriver.make","VercelSandboxDriver.make","DaytonaSandboxDriver.make"],"sources":["../../src/effect/sandbox.ts","../../src/effect/tools.ts"],"sourcesContent":["import { Effect } from \"effect\";\nimport { SandboxController } from \"../sandbox/control.ts\";\nimport { SandboxDriver } from \"../sandbox/driver.ts\";\nimport { DaytonaSandboxDriver } from \"../sandbox/drivers/daytona.ts\";\nimport { MemorySandboxDriver } from \"../sandbox/drivers/memory.ts\";\nimport { SqldbSandboxDriver } from \"../sandbox/drivers/sqldb.ts\";\nimport { VercelSandboxDriver } from \"../sandbox/drivers/vercel.ts\";\nimport { SandboxInstance } from \"../sandbox/instance.ts\";\n\nexport type Info = SandboxInstance.Info;\nexport type Driver = SandboxDriver.Registration;\n\nexport type CreateInput =\n\t| { readonly driver: \"memory\"; readonly cwd?: string }\n\t| { readonly driver: \"sqldb\"; readonly cwd?: string; readonly location?: string }\n\t| ({ readonly driver: \"vercel\" } & VercelSandboxDriver.CreateConfig)\n\t| ({ readonly driver: \"daytona\" } & DaytonaSandboxDriver.CreateConfig);\n\nexport type RegisterInput = {\n\treadonly driver: \"vercel\" | \"daytona\";\n\treadonly providerResourceId: string;\n};\n\nconst registered = Effect.fn(\"Sandbox.registered\")(function* (name: string) {\n\tconst registry = yield* SandboxDriver.Registry;\n\treturn yield* registry.get(SandboxDriver.Name.make(name));\n});\n\nexport const create = Effect.fn(\"Sandbox.create\")(function* (input: CreateInput) {\n\tconst controller = yield* SandboxController.Controller;\n\tconst driver = yield* registered(input.driver);\n\tif (input.driver === \"memory\") {\n\t\tconst cwd = SandboxDriver.AbsolutePath.make(input.cwd ?? \"/\");\n\t\treturn yield* controller.create({ driver, config: { defaultCwd: cwd, initializeCwd: cwd } });\n\t}\n\tif (input.driver === \"sqldb\") {\n\t\tconst cwd = SandboxDriver.AbsolutePath.make(input.cwd ?? \"/\");\n\t\treturn yield* controller.create({\n\t\t\tdriver,\n\t\t\tconfig: {\n\t\t\t\tdefaultCwd: cwd,\n\t\t\t\tinitializeCwd: cwd,\n\t\t\t\t...(input.location === undefined ? {} : { location: input.location }),\n\t\t\t},\n\t\t});\n\t}\n\tconst { driver: _, ...config } = input;\n\treturn yield* controller.create({ driver, config });\n});\n\nexport const register = Effect.fn(\"Sandbox.register\")(function* (input: RegisterInput) {\n\tconst controller = yield* SandboxController.Controller;\n\tconst driver = yield* registered(input.driver);\n\treturn yield* controller.register({ driver, providerResourceId: input.providerResourceId });\n});\n\nexport const get = Effect.fn(\"Sandbox.get\")(function* (id: SandboxInstance.ID) {\n\tconst controller = yield* SandboxController.Controller;\n\treturn yield* controller.get(id);\n});\n\nexport const list = Effect.fn(\"Sandbox.list\")(function* (input?: {\n\treadonly driver?: string;\n\treadonly status?: SandboxInstance.Status;\n}) {\n\tconst controller = yield* SandboxController.Controller;\n\treturn yield* controller.list({\n\t\t...(input?.driver === undefined ? {} : { driver: SandboxDriver.Name.make(input.driver) }),\n\t\t...(input?.status === undefined ? {} : { status: input.status }),\n\t});\n});\n\nexport const refresh = Effect.fn(\"Sandbox.refresh\")(function* (id: SandboxInstance.ID) {\n\tconst controller = yield* SandboxController.Controller;\n\treturn yield* controller.refresh(id);\n});\n\nexport const wake = Effect.fn(\"Sandbox.wake\")(function* (id: SandboxInstance.ID) {\n\tconst controller = yield* SandboxController.Controller;\n\treturn yield* controller.wake(id);\n});\n\nexport const stop = Effect.fn(\"Sandbox.stop\")(function* (id: SandboxInstance.ID) {\n\tconst controller = yield* SandboxController.Controller;\n\treturn yield* controller.stop(id);\n});\n\nexport const destroy = Effect.fn(\"Sandbox.destroy\")(function* (id: SandboxInstance.ID) {\n\tconst controller = yield* SandboxController.Controller;\n\tyield* controller.destroy(id);\n});\n\nexport const Drivers = {\n\tget memory(): Driver {\n\t\treturn MemorySandboxDriver.make().driver;\n\t},\n\tget sqldb(): Driver {\n\t\treturn SqldbSandboxDriver.make().driver;\n\t},\n\tvercel: (options: VercelSandboxDriver.ClientOptions = {}): Driver => VercelSandboxDriver.make(options),\n\tdaytona: (options: DaytonaSandboxDriver.ClientOptions = {}): Driver => DaytonaSandboxDriver.make(options),\n} as const;\n\nexport { SandboxInstance };\n\nexport * as Sandbox from \"./sandbox.ts\";\n","export const bash = \"bash\" as const;\n\nexport * as Tools from \"./tools.ts\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAM,aAAa,OAAO,GAAG,oBAAoB,CAAC,CAAC,WAAW,MAAc;CAE3E,OAAO,QAAO,OADUA,SAAAA,CACD,IAAA,KAAuB,KAAK,IAAI,CAAC;AACzD,CAAC;AAED,MAAa,SAAS,OAAO,GAAG,gBAAgB,CAAC,CAAC,WAAW,OAAoB;CAChF,MAAM,aAAa,OAAOC;CAC1B,MAAM,SAAS,OAAO,WAAW,MAAM,MAAM;CAC7C,IAAI,MAAM,WAAW,UAAU;EAC9B,MAAM,MAAA,aAAiC,KAAK,MAAM,OAAO,GAAG;EAC5D,OAAO,OAAO,WAAW,OAAO;GAAE;GAAQ,QAAQ;IAAE,YAAY;IAAK,eAAe;GAAI;EAAE,CAAC;CAC5F;CACA,IAAI,MAAM,WAAW,SAAS;EAC7B,MAAM,MAAA,aAAiC,KAAK,MAAM,OAAO,GAAG;EAC5D,OAAO,OAAO,WAAW,OAAO;GAC/B;GACA,QAAQ;IACP,YAAY;IACZ,eAAe;IACf,GAAI,MAAM,aAAa,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,MAAM,SAAS;GACpE;EACD,CAAC;CACF;CACA,MAAM,EAAE,QAAQ,GAAG,GAAG,WAAW;CACjC,OAAO,OAAO,WAAW,OAAO;EAAE;EAAQ;CAAO,CAAC;AACnD,CAAC;AAED,MAAa,WAAW,OAAO,GAAG,kBAAkB,CAAC,CAAC,WAAW,OAAsB;CACtF,MAAM,aAAa,OAAOA;CAC1B,MAAM,SAAS,OAAO,WAAW,MAAM,MAAM;CAC7C,OAAO,OAAO,WAAW,SAAS;EAAE;EAAQ,oBAAoB,MAAM;CAAmB,CAAC;AAC3F,CAAC;AAED,MAAa,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,WAAW,IAAwB;CAE9E,OAAO,QAAO,OADYA,WAAAA,CACD,IAAI,EAAE;AAChC,CAAC;AAED,MAAa,OAAO,OAAO,GAAG,cAAc,CAAC,CAAC,WAAW,OAGtD;CAEF,OAAO,QAAO,OADYA,WAAAA,CACD,KAAK;EAC7B,GAAI,OAAO,WAAW,KAAA,IAAY,CAAC,IAAI,EAAE,QAAA,KAA2B,KAAK,MAAM,MAAM,EAAE;EACvF,GAAI,OAAO,WAAW,KAAA,IAAY,CAAC,IAAI,EAAE,QAAQ,MAAM,OAAO;CAC/D,CAAC;AACF,CAAC;AAED,MAAa,UAAU,OAAO,GAAG,iBAAiB,CAAC,CAAC,WAAW,IAAwB;CAEtF,OAAO,QAAO,OADYA,WAAAA,CACD,QAAQ,EAAE;AACpC,CAAC;AAED,MAAa,OAAO,OAAO,GAAG,cAAc,CAAC,CAAC,WAAW,IAAwB;CAEhF,OAAO,QAAO,OADYA,WAAAA,CACD,KAAK,EAAE;AACjC,CAAC;AAED,MAAa,OAAO,OAAO,GAAG,cAAc,CAAC,CAAC,WAAW,IAAwB;CAEhF,OAAO,QAAO,OADYA,WAAAA,CACD,KAAK,EAAE;AACjC,CAAC;AAED,MAAa,UAAU,OAAO,GAAG,iBAAiB,CAAC,CAAC,WAAW,IAAwB;CAEtF,QAAO,OADmBA,WAAAA,CACR,QAAQ,EAAE;AAC7B,CAAC;AAED,MAAa,UAAU;CACtB,IAAI,SAAiB;EACpB,OAAOC,KAAyB,CAAC,CAAC;CACnC;CACA,IAAI,QAAgB;EACnB,OAAOC,OAAwB,CAAC,CAAC;CAClC;CACA,SAAS,UAA6C,CAAC,MAAcC,OAAyB,OAAO;CACrG,UAAU,UAA8C,CAAC,MAAcC,OAA0B,OAAO;AACzG;;;;;;;ACrGA,MAAa,OAAO"}
|
package/index.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
package/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@codeworksh/harness",
|
|
3
|
+
"version": "0.0.1-dev.20260824142157",
|
|
4
|
+
"description": "AI agent harness — agent loop, tools, and code execution sandbox.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent",
|
|
7
|
+
"ai",
|
|
8
|
+
"coding-agent",
|
|
9
|
+
"harness",
|
|
10
|
+
"tool-execution",
|
|
11
|
+
"typescript"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/codeworksh/codework/tree/main/packages/harness",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/codeworksh/codework/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "Sanchit Kudari",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/codeworksh/codework.git",
|
|
22
|
+
"directory": "packages/harness"
|
|
23
|
+
},
|
|
24
|
+
"type": "module",
|
|
25
|
+
"types": "./index.d.mts",
|
|
26
|
+
"bin": {
|
|
27
|
+
"codework": "cli/index.mjs"
|
|
28
|
+
},
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./index.d.mts",
|
|
32
|
+
"import": "./index.mjs",
|
|
33
|
+
"default": "./index.mjs"
|
|
34
|
+
},
|
|
35
|
+
"./effect": {
|
|
36
|
+
"types": "./effect.d.mts",
|
|
37
|
+
"import": "./effect.mjs",
|
|
38
|
+
"default": "./effect.mjs"
|
|
39
|
+
},
|
|
40
|
+
"./package.json": "./package.json"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"**/*",
|
|
44
|
+
"README.md",
|
|
45
|
+
"LICENSE"
|
|
46
|
+
],
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=24.14.1"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@codeworksh/aikit": "0.7.0",
|
|
55
|
+
"@daytona/sdk": "^0.187.0",
|
|
56
|
+
"@effect/platform-node": "4.0.0-beta.107",
|
|
57
|
+
"@effect/sql-sqlite-node": "4.0.0-beta.107",
|
|
58
|
+
"@platformatic/vfs": "^0.4.0",
|
|
59
|
+
"@vercel/sandbox": "^2.9.2",
|
|
60
|
+
"effect": "4.0.0-beta.107",
|
|
61
|
+
"just-bash": "^2.14.5",
|
|
62
|
+
"typebox": "^1.3.10",
|
|
63
|
+
"uuid": "^14.0.1",
|
|
64
|
+
"uuidv7": "^1.2.1"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { __exportAll as t };
|