@dobby.ai/dobby 0.1.1 → 0.1.2
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 +20 -7
- package/dist/src/agent/event-forwarder.js +185 -16
- package/dist/src/cli/commands/cron.js +39 -35
- package/dist/src/cli/program.js +0 -6
- package/dist/src/core/types.js +2 -0
- package/dist/src/cron/config.js +2 -2
- package/dist/src/cron/service.js +87 -23
- package/dist/src/cron/store.js +1 -1
- package/package.json +9 -3
- package/.env.example +0 -8
- package/AGENTS.md +0 -267
- package/ROADMAP.md +0 -34
- package/config/cron.example.json +0 -9
- package/config/gateway.example.json +0 -132
- package/dist/plugins/connector-discord/src/mapper.js +0 -75
- package/dist/src/cli/tests/config-command.test.js +0 -42
- package/dist/src/cli/tests/config-io.test.js +0 -64
- package/dist/src/cli/tests/config-mutators.test.js +0 -47
- package/dist/src/cli/tests/discord-mapper.test.js +0 -90
- package/dist/src/cli/tests/doctor.test.js +0 -252
- package/dist/src/cli/tests/init-catalog.test.js +0 -134
- package/dist/src/cli/tests/program-options.test.js +0 -78
- package/dist/src/cli/tests/routing-config.test.js +0 -254
- package/dist/src/core/tests/control-command.test.js +0 -17
- package/dist/src/core/tests/runtime-registry.test.js +0 -116
- package/dist/src/core/tests/typing-controller.test.js +0 -103
- package/docs/BOXLITE_SANDBOX_FEASIBILITY.md +0 -175
- package/docs/CRON_SCHEDULER_DESIGN.md +0 -374
- package/docs/DOCKER_SANDBOX_vs_BOXLITE.md +0 -77
- package/docs/EXTENSION_SYSTEM_ARCHITECTURE.md +0 -119
- package/docs/MVP.md +0 -135
- package/docs/RUNBOOK.md +0 -243
- package/docs/TEAMWORK_HANDOFF_DESIGN.md +0 -440
- package/plugins/connector-discord/dobby.manifest.json +0 -18
- package/plugins/connector-discord/index.js +0 -1
- package/plugins/connector-discord/package-lock.json +0 -360
- package/plugins/connector-discord/package.json +0 -38
- package/plugins/connector-discord/src/connector.ts +0 -345
- package/plugins/connector-discord/src/contribution.ts +0 -21
- package/plugins/connector-discord/src/mapper.ts +0 -101
- package/plugins/connector-discord/tsconfig.json +0 -19
- package/plugins/connector-feishu/dobby.manifest.json +0 -18
- package/plugins/connector-feishu/index.js +0 -1
- package/plugins/connector-feishu/package-lock.json +0 -618
- package/plugins/connector-feishu/package.json +0 -38
- package/plugins/connector-feishu/src/connector.ts +0 -343
- package/plugins/connector-feishu/src/contribution.ts +0 -26
- package/plugins/connector-feishu/src/mapper.ts +0 -401
- package/plugins/connector-feishu/tsconfig.json +0 -19
- package/plugins/plugin-sdk/index.d.ts +0 -261
- package/plugins/plugin-sdk/index.js +0 -1
- package/plugins/plugin-sdk/package-lock.json +0 -12
- package/plugins/plugin-sdk/package.json +0 -22
- package/plugins/provider-claude/dobby.manifest.json +0 -17
- package/plugins/provider-claude/index.js +0 -1
- package/plugins/provider-claude/package-lock.json +0 -3398
- package/plugins/provider-claude/package.json +0 -39
- package/plugins/provider-claude/src/contribution.ts +0 -1018
- package/plugins/provider-claude/tsconfig.json +0 -19
- package/plugins/provider-claude-cli/dobby.manifest.json +0 -17
- package/plugins/provider-claude-cli/index.js +0 -1
- package/plugins/provider-claude-cli/package-lock.json +0 -2898
- package/plugins/provider-claude-cli/package.json +0 -38
- package/plugins/provider-claude-cli/src/contribution.ts +0 -1673
- package/plugins/provider-claude-cli/tsconfig.json +0 -19
- package/plugins/provider-pi/dobby.manifest.json +0 -17
- package/plugins/provider-pi/index.js +0 -1
- package/plugins/provider-pi/package-lock.json +0 -3877
- package/plugins/provider-pi/package.json +0 -40
- package/plugins/provider-pi/src/contribution.ts +0 -606
- package/plugins/provider-pi/tsconfig.json +0 -19
- package/plugins/sandbox-core/boxlite.js +0 -1
- package/plugins/sandbox-core/dobby.manifest.json +0 -17
- package/plugins/sandbox-core/docker.js +0 -1
- package/plugins/sandbox-core/package-lock.json +0 -136
- package/plugins/sandbox-core/package.json +0 -39
- package/plugins/sandbox-core/src/boxlite-context.ts +0 -2
- package/plugins/sandbox-core/src/boxlite-contribution.ts +0 -53
- package/plugins/sandbox-core/src/boxlite-executor.ts +0 -911
- package/plugins/sandbox-core/src/docker-contribution.ts +0 -43
- package/plugins/sandbox-core/src/docker-executor.ts +0 -217
- package/plugins/sandbox-core/tsconfig.json +0 -19
- package/scripts/local-extensions.mjs +0 -168
- package/src/agent/event-forwarder.ts +0 -414
- package/src/cli/commands/config.ts +0 -328
- package/src/cli/commands/configure.ts +0 -92
- package/src/cli/commands/cron.ts +0 -410
- package/src/cli/commands/doctor.ts +0 -331
- package/src/cli/commands/extension.ts +0 -207
- package/src/cli/commands/init.ts +0 -211
- package/src/cli/commands/start.ts +0 -223
- package/src/cli/commands/topology.ts +0 -415
- package/src/cli/index.ts +0 -9
- package/src/cli/program.ts +0 -314
- package/src/cli/shared/config-io.ts +0 -245
- package/src/cli/shared/config-mutators.ts +0 -470
- package/src/cli/shared/config-schema.ts +0 -228
- package/src/cli/shared/config-types.ts +0 -129
- package/src/cli/shared/configure-sections.ts +0 -595
- package/src/cli/shared/discord-config.ts +0 -14
- package/src/cli/shared/init-catalog.ts +0 -249
- package/src/cli/shared/local-extension-specs.ts +0 -108
- package/src/cli/shared/runtime.ts +0 -33
- package/src/cli/shared/schema-prompts.ts +0 -443
- package/src/cli/tests/config-command.test.ts +0 -56
- package/src/cli/tests/config-io.test.ts +0 -92
- package/src/cli/tests/config-mutators.test.ts +0 -59
- package/src/cli/tests/discord-mapper.test.ts +0 -128
- package/src/cli/tests/doctor.test.ts +0 -269
- package/src/cli/tests/init-catalog.test.ts +0 -144
- package/src/cli/tests/program-options.test.ts +0 -95
- package/src/cli/tests/routing-config.test.ts +0 -281
- package/src/core/control-command.ts +0 -12
- package/src/core/dedup-store.ts +0 -103
- package/src/core/gateway.ts +0 -609
- package/src/core/routing.ts +0 -404
- package/src/core/runtime-registry.ts +0 -141
- package/src/core/tests/control-command.test.ts +0 -20
- package/src/core/tests/runtime-registry.test.ts +0 -140
- package/src/core/tests/typing-controller.test.ts +0 -129
- package/src/core/types.ts +0 -324
- package/src/core/typing-controller.ts +0 -119
- package/src/cron/config.ts +0 -154
- package/src/cron/schedule.ts +0 -61
- package/src/cron/service.ts +0 -249
- package/src/cron/store.ts +0 -155
- package/src/cron/types.ts +0 -60
- package/src/extension/loader.ts +0 -145
- package/src/extension/manager.ts +0 -355
- package/src/extension/manifest.ts +0 -26
- package/src/extension/registry.ts +0 -229
- package/src/main.ts +0 -8
- package/src/sandbox/executor.ts +0 -44
- package/src/sandbox/host-executor.ts +0 -118
- package/src/shared/dobby-repo.ts +0 -48
- package/tsconfig.json +0 -18
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dobby.ai/sandbox-core",
|
|
3
|
-
"version": "0.1.1",
|
|
4
|
-
"lockfileVersion": 3,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"": {
|
|
8
|
-
"name": "@dobby.ai/sandbox-core",
|
|
9
|
-
"version": "0.1.1",
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"@boxlite-ai/boxlite": "^0.2.11",
|
|
12
|
-
"zod": "^4.3.6"
|
|
13
|
-
},
|
|
14
|
-
"devDependencies": {
|
|
15
|
-
"@dobby.ai/plugin-sdk": "file:../plugin-sdk",
|
|
16
|
-
"@types/node": "^22.10.5",
|
|
17
|
-
"typescript": "^5.9.2"
|
|
18
|
-
},
|
|
19
|
-
"peerDependencies": {
|
|
20
|
-
"@dobby.ai/plugin-sdk": "^0.1.0"
|
|
21
|
-
},
|
|
22
|
-
"peerDependenciesMeta": {
|
|
23
|
-
"@dobby.ai/plugin-sdk": {
|
|
24
|
-
"optional": true
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
"../plugin-sdk": {
|
|
29
|
-
"name": "@dobby.ai/plugin-sdk",
|
|
30
|
-
"version": "0.1.2",
|
|
31
|
-
"dev": true
|
|
32
|
-
},
|
|
33
|
-
"node_modules/@boxlite-ai/boxlite": {
|
|
34
|
-
"version": "0.2.11",
|
|
35
|
-
"resolved": "https://registry.npmmirror.com/@boxlite-ai/boxlite/-/boxlite-0.2.11.tgz",
|
|
36
|
-
"integrity": "sha512-IJ+jyYdsc1hmZknDtqGpRyMAMxoQfF1VFDVuPhiO59fBmoDEI5u69DzoMtyax4gzL3Q46tjYkVBvJhNtSDaxBw==",
|
|
37
|
-
"license": "Apache-2.0",
|
|
38
|
-
"workspaces": [
|
|
39
|
-
"npm/*"
|
|
40
|
-
],
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=18.0.0"
|
|
43
|
-
},
|
|
44
|
-
"optionalDependencies": {
|
|
45
|
-
"@boxlite-ai/boxlite-darwin-arm64": "0.2.11",
|
|
46
|
-
"@boxlite-ai/boxlite-darwin-x64": "0.2.11",
|
|
47
|
-
"@boxlite-ai/boxlite-linux-arm64-gnu": "0.2.11",
|
|
48
|
-
"@boxlite-ai/boxlite-linux-x64-gnu": "0.2.11"
|
|
49
|
-
},
|
|
50
|
-
"peerDependencies": {
|
|
51
|
-
"playwright-core": ">=1.58.0"
|
|
52
|
-
},
|
|
53
|
-
"peerDependenciesMeta": {
|
|
54
|
-
"playwright-core": {
|
|
55
|
-
"optional": true
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
"node_modules/@boxlite-ai/boxlite-darwin-arm64": {
|
|
60
|
-
"version": "0.2.11",
|
|
61
|
-
"resolved": "https://registry.npmmirror.com/@boxlite-ai/boxlite-darwin-arm64/-/boxlite-darwin-arm64-0.2.11.tgz",
|
|
62
|
-
"integrity": "sha512-JjNf6S/+XqooWvFX2Zn9XjmeML/e6Errk0jzG77v8YV0k2nNmt8P1nMANb2kMPbsQn93ap9v74VnYesYdKRoNg==",
|
|
63
|
-
"cpu": [
|
|
64
|
-
"arm64"
|
|
65
|
-
],
|
|
66
|
-
"license": "Apache-2.0",
|
|
67
|
-
"optional": true,
|
|
68
|
-
"os": [
|
|
69
|
-
"darwin"
|
|
70
|
-
],
|
|
71
|
-
"engines": {
|
|
72
|
-
"node": ">=18.0.0"
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
"node_modules/@boxlite-ai/boxlite-linux-x64-gnu": {
|
|
76
|
-
"version": "0.2.11",
|
|
77
|
-
"resolved": "https://registry.npmmirror.com/@boxlite-ai/boxlite-linux-x64-gnu/-/boxlite-linux-x64-gnu-0.2.11.tgz",
|
|
78
|
-
"integrity": "sha512-H3a8FMc6X4KVsmlQKs2xTIlSh4KhiI52MnXV16OwcC6OWQBBadR1N6GCCKojfwpqn6yIsZc2dxoyy25YTYYf9g==",
|
|
79
|
-
"cpu": [
|
|
80
|
-
"x64"
|
|
81
|
-
],
|
|
82
|
-
"license": "Apache-2.0",
|
|
83
|
-
"optional": true,
|
|
84
|
-
"os": [
|
|
85
|
-
"linux"
|
|
86
|
-
],
|
|
87
|
-
"engines": {
|
|
88
|
-
"node": ">=18.0.0"
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
"node_modules/@dobby.ai/plugin-sdk": {
|
|
92
|
-
"resolved": "../plugin-sdk",
|
|
93
|
-
"link": true
|
|
94
|
-
},
|
|
95
|
-
"node_modules/@types/node": {
|
|
96
|
-
"version": "22.19.11",
|
|
97
|
-
"resolved": "https://registry.npmmirror.com/@types/node/-/node-22.19.11.tgz",
|
|
98
|
-
"integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==",
|
|
99
|
-
"dev": true,
|
|
100
|
-
"license": "MIT",
|
|
101
|
-
"dependencies": {
|
|
102
|
-
"undici-types": "~6.21.0"
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"node_modules/typescript": {
|
|
106
|
-
"version": "5.9.3",
|
|
107
|
-
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz",
|
|
108
|
-
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
109
|
-
"dev": true,
|
|
110
|
-
"license": "Apache-2.0",
|
|
111
|
-
"bin": {
|
|
112
|
-
"tsc": "bin/tsc",
|
|
113
|
-
"tsserver": "bin/tsserver"
|
|
114
|
-
},
|
|
115
|
-
"engines": {
|
|
116
|
-
"node": ">=14.17"
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
"node_modules/undici-types": {
|
|
120
|
-
"version": "6.21.0",
|
|
121
|
-
"resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz",
|
|
122
|
-
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
123
|
-
"dev": true,
|
|
124
|
-
"license": "MIT"
|
|
125
|
-
},
|
|
126
|
-
"node_modules/zod": {
|
|
127
|
-
"version": "4.3.6",
|
|
128
|
-
"resolved": "https://registry.npmmirror.com/zod/-/zod-4.3.6.tgz",
|
|
129
|
-
"integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
|
|
130
|
-
"license": "MIT",
|
|
131
|
-
"funding": {
|
|
132
|
-
"url": "https://github.com/sponsors/colinhacks"
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@dobby.ai/sandbox-core",
|
|
3
|
-
"version": "0.1.1",
|
|
4
|
-
"private": false,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"description": "Built-in sandbox extensions package",
|
|
7
|
-
"main": "./docker.js",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"build": "tsc -p tsconfig.json",
|
|
10
|
-
"check": "tsc -p tsconfig.json --noEmit",
|
|
11
|
-
"prepack": "npm run build"
|
|
12
|
-
},
|
|
13
|
-
"dependencies": {
|
|
14
|
-
"@boxlite-ai/boxlite": "^0.2.11",
|
|
15
|
-
"zod": "^4.3.6"
|
|
16
|
-
},
|
|
17
|
-
"peerDependencies": {
|
|
18
|
-
"@dobby.ai/plugin-sdk": "^0.1.0"
|
|
19
|
-
},
|
|
20
|
-
"peerDependenciesMeta": {
|
|
21
|
-
"@dobby.ai/plugin-sdk": {
|
|
22
|
-
"optional": true
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
"devDependencies": {
|
|
26
|
-
"@dobby.ai/plugin-sdk": "file:../plugin-sdk",
|
|
27
|
-
"@types/node": "^22.10.5",
|
|
28
|
-
"typescript": "^5.9.2"
|
|
29
|
-
},
|
|
30
|
-
"files": [
|
|
31
|
-
"docker.js",
|
|
32
|
-
"boxlite.js",
|
|
33
|
-
"dist/",
|
|
34
|
-
"dobby.manifest.json"
|
|
35
|
-
],
|
|
36
|
-
"publishConfig": {
|
|
37
|
-
"access": "public"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { resolve } from "node:path";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
import type { SandboxContributionModule } from "@dobby.ai/plugin-sdk";
|
|
4
|
-
import { BoxliteExecutor } from "./boxlite-executor.js";
|
|
5
|
-
|
|
6
|
-
const boxliteSandboxConfigSchema = z.object({
|
|
7
|
-
workspaceRoot: z.string().min(1),
|
|
8
|
-
image: z.string().min(1).default("alpine:latest"),
|
|
9
|
-
cpus: z.number().int().positive().optional(),
|
|
10
|
-
memoryMib: z.number().int().positive().optional(),
|
|
11
|
-
containerWorkspaceRoot: z.string().min(1).default("/workspace"),
|
|
12
|
-
reuseMode: z.enum(["conversation", "workspace"]).default("conversation"),
|
|
13
|
-
autoRemove: z.boolean().default(true),
|
|
14
|
-
securityProfile: z.enum(["development", "standard", "maximum"]).default("maximum"),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
function resolveMaybeAbsolute(baseDir: string, value: string): string {
|
|
18
|
-
if (value === "~") {
|
|
19
|
-
return resolve(process.env.HOME ?? "", ".");
|
|
20
|
-
}
|
|
21
|
-
if (value.startsWith("~/") || value.startsWith("~\\")) {
|
|
22
|
-
return resolve(process.env.HOME ?? "", value.slice(2));
|
|
23
|
-
}
|
|
24
|
-
return resolve(baseDir, value);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export const sandboxBoxliteContribution: SandboxContributionModule = {
|
|
28
|
-
kind: "sandbox",
|
|
29
|
-
configSchema: z.toJSONSchema(boxliteSandboxConfigSchema),
|
|
30
|
-
async createInstance(options) {
|
|
31
|
-
const parsed = boxliteSandboxConfigSchema.parse(options.config);
|
|
32
|
-
const executor = await BoxliteExecutor.create(
|
|
33
|
-
{
|
|
34
|
-
workspaceRoot: resolveMaybeAbsolute(options.host.configBaseDir, parsed.workspaceRoot),
|
|
35
|
-
image: parsed.image,
|
|
36
|
-
...(parsed.cpus !== undefined ? { cpus: parsed.cpus } : {}),
|
|
37
|
-
...(parsed.memoryMib !== undefined ? { memoryMib: parsed.memoryMib } : {}),
|
|
38
|
-
containerWorkspaceRoot: parsed.containerWorkspaceRoot,
|
|
39
|
-
reuseMode: parsed.reuseMode,
|
|
40
|
-
autoRemove: parsed.autoRemove,
|
|
41
|
-
securityProfile: parsed.securityProfile,
|
|
42
|
-
},
|
|
43
|
-
options.host.logger,
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
id: options.instanceId,
|
|
48
|
-
executor,
|
|
49
|
-
};
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export default sandboxBoxliteContribution;
|