@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.
Files changed (136) hide show
  1. package/README.md +20 -7
  2. package/dist/src/agent/event-forwarder.js +185 -16
  3. package/dist/src/cli/commands/cron.js +39 -35
  4. package/dist/src/cli/program.js +0 -6
  5. package/dist/src/core/types.js +2 -0
  6. package/dist/src/cron/config.js +2 -2
  7. package/dist/src/cron/service.js +87 -23
  8. package/dist/src/cron/store.js +1 -1
  9. package/package.json +9 -3
  10. package/.env.example +0 -8
  11. package/AGENTS.md +0 -267
  12. package/ROADMAP.md +0 -34
  13. package/config/cron.example.json +0 -9
  14. package/config/gateway.example.json +0 -132
  15. package/dist/plugins/connector-discord/src/mapper.js +0 -75
  16. package/dist/src/cli/tests/config-command.test.js +0 -42
  17. package/dist/src/cli/tests/config-io.test.js +0 -64
  18. package/dist/src/cli/tests/config-mutators.test.js +0 -47
  19. package/dist/src/cli/tests/discord-mapper.test.js +0 -90
  20. package/dist/src/cli/tests/doctor.test.js +0 -252
  21. package/dist/src/cli/tests/init-catalog.test.js +0 -134
  22. package/dist/src/cli/tests/program-options.test.js +0 -78
  23. package/dist/src/cli/tests/routing-config.test.js +0 -254
  24. package/dist/src/core/tests/control-command.test.js +0 -17
  25. package/dist/src/core/tests/runtime-registry.test.js +0 -116
  26. package/dist/src/core/tests/typing-controller.test.js +0 -103
  27. package/docs/BOXLITE_SANDBOX_FEASIBILITY.md +0 -175
  28. package/docs/CRON_SCHEDULER_DESIGN.md +0 -374
  29. package/docs/DOCKER_SANDBOX_vs_BOXLITE.md +0 -77
  30. package/docs/EXTENSION_SYSTEM_ARCHITECTURE.md +0 -119
  31. package/docs/MVP.md +0 -135
  32. package/docs/RUNBOOK.md +0 -243
  33. package/docs/TEAMWORK_HANDOFF_DESIGN.md +0 -440
  34. package/plugins/connector-discord/dobby.manifest.json +0 -18
  35. package/plugins/connector-discord/index.js +0 -1
  36. package/plugins/connector-discord/package-lock.json +0 -360
  37. package/plugins/connector-discord/package.json +0 -38
  38. package/plugins/connector-discord/src/connector.ts +0 -345
  39. package/plugins/connector-discord/src/contribution.ts +0 -21
  40. package/plugins/connector-discord/src/mapper.ts +0 -101
  41. package/plugins/connector-discord/tsconfig.json +0 -19
  42. package/plugins/connector-feishu/dobby.manifest.json +0 -18
  43. package/plugins/connector-feishu/index.js +0 -1
  44. package/plugins/connector-feishu/package-lock.json +0 -618
  45. package/plugins/connector-feishu/package.json +0 -38
  46. package/plugins/connector-feishu/src/connector.ts +0 -343
  47. package/plugins/connector-feishu/src/contribution.ts +0 -26
  48. package/plugins/connector-feishu/src/mapper.ts +0 -401
  49. package/plugins/connector-feishu/tsconfig.json +0 -19
  50. package/plugins/plugin-sdk/index.d.ts +0 -261
  51. package/plugins/plugin-sdk/index.js +0 -1
  52. package/plugins/plugin-sdk/package-lock.json +0 -12
  53. package/plugins/plugin-sdk/package.json +0 -22
  54. package/plugins/provider-claude/dobby.manifest.json +0 -17
  55. package/plugins/provider-claude/index.js +0 -1
  56. package/plugins/provider-claude/package-lock.json +0 -3398
  57. package/plugins/provider-claude/package.json +0 -39
  58. package/plugins/provider-claude/src/contribution.ts +0 -1018
  59. package/plugins/provider-claude/tsconfig.json +0 -19
  60. package/plugins/provider-claude-cli/dobby.manifest.json +0 -17
  61. package/plugins/provider-claude-cli/index.js +0 -1
  62. package/plugins/provider-claude-cli/package-lock.json +0 -2898
  63. package/plugins/provider-claude-cli/package.json +0 -38
  64. package/plugins/provider-claude-cli/src/contribution.ts +0 -1673
  65. package/plugins/provider-claude-cli/tsconfig.json +0 -19
  66. package/plugins/provider-pi/dobby.manifest.json +0 -17
  67. package/plugins/provider-pi/index.js +0 -1
  68. package/plugins/provider-pi/package-lock.json +0 -3877
  69. package/plugins/provider-pi/package.json +0 -40
  70. package/plugins/provider-pi/src/contribution.ts +0 -606
  71. package/plugins/provider-pi/tsconfig.json +0 -19
  72. package/plugins/sandbox-core/boxlite.js +0 -1
  73. package/plugins/sandbox-core/dobby.manifest.json +0 -17
  74. package/plugins/sandbox-core/docker.js +0 -1
  75. package/plugins/sandbox-core/package-lock.json +0 -136
  76. package/plugins/sandbox-core/package.json +0 -39
  77. package/plugins/sandbox-core/src/boxlite-context.ts +0 -2
  78. package/plugins/sandbox-core/src/boxlite-contribution.ts +0 -53
  79. package/plugins/sandbox-core/src/boxlite-executor.ts +0 -911
  80. package/plugins/sandbox-core/src/docker-contribution.ts +0 -43
  81. package/plugins/sandbox-core/src/docker-executor.ts +0 -217
  82. package/plugins/sandbox-core/tsconfig.json +0 -19
  83. package/scripts/local-extensions.mjs +0 -168
  84. package/src/agent/event-forwarder.ts +0 -414
  85. package/src/cli/commands/config.ts +0 -328
  86. package/src/cli/commands/configure.ts +0 -92
  87. package/src/cli/commands/cron.ts +0 -410
  88. package/src/cli/commands/doctor.ts +0 -331
  89. package/src/cli/commands/extension.ts +0 -207
  90. package/src/cli/commands/init.ts +0 -211
  91. package/src/cli/commands/start.ts +0 -223
  92. package/src/cli/commands/topology.ts +0 -415
  93. package/src/cli/index.ts +0 -9
  94. package/src/cli/program.ts +0 -314
  95. package/src/cli/shared/config-io.ts +0 -245
  96. package/src/cli/shared/config-mutators.ts +0 -470
  97. package/src/cli/shared/config-schema.ts +0 -228
  98. package/src/cli/shared/config-types.ts +0 -129
  99. package/src/cli/shared/configure-sections.ts +0 -595
  100. package/src/cli/shared/discord-config.ts +0 -14
  101. package/src/cli/shared/init-catalog.ts +0 -249
  102. package/src/cli/shared/local-extension-specs.ts +0 -108
  103. package/src/cli/shared/runtime.ts +0 -33
  104. package/src/cli/shared/schema-prompts.ts +0 -443
  105. package/src/cli/tests/config-command.test.ts +0 -56
  106. package/src/cli/tests/config-io.test.ts +0 -92
  107. package/src/cli/tests/config-mutators.test.ts +0 -59
  108. package/src/cli/tests/discord-mapper.test.ts +0 -128
  109. package/src/cli/tests/doctor.test.ts +0 -269
  110. package/src/cli/tests/init-catalog.test.ts +0 -144
  111. package/src/cli/tests/program-options.test.ts +0 -95
  112. package/src/cli/tests/routing-config.test.ts +0 -281
  113. package/src/core/control-command.ts +0 -12
  114. package/src/core/dedup-store.ts +0 -103
  115. package/src/core/gateway.ts +0 -609
  116. package/src/core/routing.ts +0 -404
  117. package/src/core/runtime-registry.ts +0 -141
  118. package/src/core/tests/control-command.test.ts +0 -20
  119. package/src/core/tests/runtime-registry.test.ts +0 -140
  120. package/src/core/tests/typing-controller.test.ts +0 -129
  121. package/src/core/types.ts +0 -324
  122. package/src/core/typing-controller.ts +0 -119
  123. package/src/cron/config.ts +0 -154
  124. package/src/cron/schedule.ts +0 -61
  125. package/src/cron/service.ts +0 -249
  126. package/src/cron/store.ts +0 -155
  127. package/src/cron/types.ts +0 -60
  128. package/src/extension/loader.ts +0 -145
  129. package/src/extension/manager.ts +0 -355
  130. package/src/extension/manifest.ts +0 -26
  131. package/src/extension/registry.ts +0 -229
  132. package/src/main.ts +0 -8
  133. package/src/sandbox/executor.ts +0 -44
  134. package/src/sandbox/host-executor.ts +0 -118
  135. package/src/shared/dobby-repo.ts +0 -48
  136. 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,2 +0,0 @@
1
- export const BOXLITE_CONTEXT_CONVERSATION_KEY_ENV = "__IM_AGENT_BOXLITE_CONVERSATION_KEY";
2
- export const BOXLITE_CONTEXT_PROJECT_ROOT_ENV = "__IM_AGENT_BOXLITE_PROJECT_ROOT";
@@ -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;