@agimon-ai/doompi-sandbox 0.0.1-alpha.101

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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -0
  3. package/dist/apiContracts.cjs +17 -0
  4. package/dist/apiContracts.cjs.map +1 -0
  5. package/dist/apiContracts.d.mts +53 -0
  6. package/dist/apiContracts.d.mts.map +1 -0
  7. package/dist/apiContracts.mjs +13 -0
  8. package/dist/apiContracts.mjs.map +1 -0
  9. package/dist/brokerHost-BeGtmnK8.mjs +302 -0
  10. package/dist/brokerHost-BeGtmnK8.mjs.map +1 -0
  11. package/dist/brokerHost-BzffXeb2.cjs +340 -0
  12. package/dist/brokerHost-BzffXeb2.cjs.map +1 -0
  13. package/dist/cockpitHarness.cjs +298 -0
  14. package/dist/cockpitHarness.cjs.map +1 -0
  15. package/dist/cockpitHarness.d.mts +26 -0
  16. package/dist/cockpitHarness.d.mts.map +1 -0
  17. package/dist/cockpitHarness.mjs +295 -0
  18. package/dist/cockpitHarness.mjs.map +1 -0
  19. package/dist/extensionService-BnIZjdJN.cjs +25 -0
  20. package/dist/extensionService-BnIZjdJN.cjs.map +1 -0
  21. package/dist/extensionService-DiVpVLn9.mjs +20 -0
  22. package/dist/extensionService-DiVpVLn9.mjs.map +1 -0
  23. package/dist/extensions/mcp.cjs +26 -0
  24. package/dist/extensions/mcp.cjs.map +1 -0
  25. package/dist/extensions/mcp.d.mts +5 -0
  26. package/dist/extensions/mcp.d.mts.map +1 -0
  27. package/dist/extensions/mcp.mjs +21 -0
  28. package/dist/extensions/mcp.mjs.map +1 -0
  29. package/dist/extensions/pi.cjs +85 -0
  30. package/dist/extensions/pi.cjs.map +1 -0
  31. package/dist/extensions/pi.d.mts +6 -0
  32. package/dist/extensions/pi.d.mts.map +1 -0
  33. package/dist/extensions/pi.mjs +80 -0
  34. package/dist/extensions/pi.mjs.map +1 -0
  35. package/dist/extensions/server.cjs +92 -0
  36. package/dist/extensions/server.cjs.map +1 -0
  37. package/dist/extensions/server.d.mts +5 -0
  38. package/dist/extensions/server.d.mts.map +1 -0
  39. package/dist/extensions/server.mjs +87 -0
  40. package/dist/extensions/server.mjs.map +1 -0
  41. package/dist/harness-CEuhOTr2.mjs +716 -0
  42. package/dist/harness-CEuhOTr2.mjs.map +1 -0
  43. package/dist/harness-fK8CSaU1.cjs +785 -0
  44. package/dist/harness-fK8CSaU1.cjs.map +1 -0
  45. package/dist/index-CBt-PlVG.d.mts +22 -0
  46. package/dist/index-CBt-PlVG.d.mts.map +1 -0
  47. package/dist/index.cjs +3 -0
  48. package/dist/index.d.mts +2 -0
  49. package/dist/index.mjs +2 -0
  50. package/dist/sandboxBridge-B3FRZkC2.cjs +131 -0
  51. package/dist/sandboxBridge-B3FRZkC2.cjs.map +1 -0
  52. package/dist/sandboxBridge-D6RAncmy.mjs +72 -0
  53. package/dist/sandboxBridge-D6RAncmy.mjs.map +1 -0
  54. package/dist/sandboxHarness-BIvuRMio.d.mts +38 -0
  55. package/dist/sandboxHarness-BIvuRMio.d.mts.map +1 -0
  56. package/dist/sandboxHarness.cjs +4 -0
  57. package/dist/sandboxHarness.d.mts +38 -0
  58. package/dist/sandboxHarness.d.mts.map +1 -0
  59. package/dist/sandboxHarness.mjs +2 -0
  60. package/dist/sandboxResources-5pvXyBW9.mjs +79 -0
  61. package/dist/sandboxResources-5pvXyBW9.mjs.map +1 -0
  62. package/dist/sandboxResources-Djxj5l1V.cjs +120 -0
  63. package/dist/sandboxResources-Djxj5l1V.cjs.map +1 -0
  64. package/llms.txt +11 -0
  65. package/package.json +132 -0
  66. package/src/prompts/doompi-use-sandbox/SKILL.md +14 -0
@@ -0,0 +1,120 @@
1
+ let _agimon_ai_doompi_core_piExtension = require("@agimon-ai/doompi-core/piExtension");
2
+ let _agimon_ai_doompi_core_serverFacet = require("@agimon-ai/doompi-core/serverFacet");
3
+ //#region src/constants/sandbox.ts
4
+ const COMMAND_NAME = "doom-sandbox";
5
+ const COMMAND_DESCRIPTION = "Show sandbox container status for this session";
6
+ const BROKER_DISABLED_ENV = "DOOMPI_SANDBOX_BROKER";
7
+ const BROKER_STATUS_SOURCE = "doompi-sandbox-broker";
8
+ //#endregion
9
+ //#region src/extensions/workspaces/sessions/(backend)/_lib/sandboxCommands.ts
10
+ function createSandboxCliCommand(service) {
11
+ return [COMMAND_NAME, {
12
+ description: COMMAND_DESCRIPTION,
13
+ async handler(_args, context) {
14
+ const result = await service.execute();
15
+ if (context.hasUI) context.ui.notify(result.message, result.level);
16
+ }
17
+ }];
18
+ }
19
+ function createSandboxServerCommands(context) {
20
+ const service = context.root.service;
21
+ if (!service) return [];
22
+ return [(0, _agimon_ai_doompi_core_piExtension.defineCommand)({
23
+ name: COMMAND_NAME,
24
+ description: COMMAND_DESCRIPTION,
25
+ async execute() {
26
+ const result = await service.execute();
27
+ await context.agent?.context.client.notify({
28
+ body: result.message,
29
+ level: result.level
30
+ });
31
+ }
32
+ })];
33
+ }
34
+ //#endregion
35
+ //#region src/extensions/workspaces/sessions/(backend)/_lib/sandboxResources.ts
36
+ function createSandboxContextResource(root) {
37
+ if (!root.service) return void 0;
38
+ return {
39
+ when: {
40
+ state: { "minor-mode": "help" },
41
+ attribution: {
42
+ kind: "minor",
43
+ mode: "help"
44
+ }
45
+ },
46
+ name: "doompi-sandbox",
47
+ kind: "context",
48
+ read: () => (0, _agimon_ai_doompi_core_serverFacet.readPackageResource)(require("url").pathToFileURL(__filename).href, "llms.txt")
49
+ };
50
+ }
51
+ function createSandboxSkillResource(root) {
52
+ if (!root.service) return void 0;
53
+ return {
54
+ name: "doompi-use-sandbox",
55
+ when: {
56
+ state: { "minor-mode": "help" },
57
+ attribution: {
58
+ kind: "minor",
59
+ mode: "help"
60
+ }
61
+ },
62
+ kind: "skill",
63
+ read: () => (0, _agimon_ai_doompi_core_serverFacet.readPackageResource)(require("url").pathToFileURL(__filename).href, "src/prompts/doompi-use-sandbox/SKILL.md")
64
+ };
65
+ }
66
+ function createSandboxHelpResource(moduleUrl) {
67
+ return {
68
+ source: "@agimon-ai/doompi-sandbox",
69
+ moduleUrl,
70
+ skills: [{
71
+ name: "doompi-use-sandbox",
72
+ description: "Use @agimon-ai/doompi-sandbox: Container sandbox for DoomPi launches: the agent, extensions, and tools run inside Docker or Podman while the terminal stays on the host"
73
+ }]
74
+ };
75
+ }
76
+ //#endregion
77
+ Object.defineProperty(exports, "BROKER_DISABLED_ENV", {
78
+ enumerable: true,
79
+ get: function() {
80
+ return BROKER_DISABLED_ENV;
81
+ }
82
+ });
83
+ Object.defineProperty(exports, "BROKER_STATUS_SOURCE", {
84
+ enumerable: true,
85
+ get: function() {
86
+ return BROKER_STATUS_SOURCE;
87
+ }
88
+ });
89
+ Object.defineProperty(exports, "createSandboxCliCommand", {
90
+ enumerable: true,
91
+ get: function() {
92
+ return createSandboxCliCommand;
93
+ }
94
+ });
95
+ Object.defineProperty(exports, "createSandboxContextResource", {
96
+ enumerable: true,
97
+ get: function() {
98
+ return createSandboxContextResource;
99
+ }
100
+ });
101
+ Object.defineProperty(exports, "createSandboxHelpResource", {
102
+ enumerable: true,
103
+ get: function() {
104
+ return createSandboxHelpResource;
105
+ }
106
+ });
107
+ Object.defineProperty(exports, "createSandboxServerCommands", {
108
+ enumerable: true,
109
+ get: function() {
110
+ return createSandboxServerCommands;
111
+ }
112
+ });
113
+ Object.defineProperty(exports, "createSandboxSkillResource", {
114
+ enumerable: true,
115
+ get: function() {
116
+ return createSandboxSkillResource;
117
+ }
118
+ });
119
+
120
+ //# sourceMappingURL=sandboxResources-Djxj5l1V.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxResources-Djxj5l1V.cjs","names":["defineCommand","readPackageResource"],"sources":["../src/constants/sandbox.ts","../src/extensions/workspaces/sessions/(backend)/_lib/sandboxCommands.ts","../src/extensions/workspaces/sessions/(backend)/_lib/sandboxResources.ts"],"sourcesContent":["export const COMMAND_NAME = 'doom-sandbox';\nexport const COMMAND_DESCRIPTION = 'Show sandbox container status for this session';\n\nexport const BROKER_DISABLED_ENV = 'DOOMPI_SANDBOX_BROKER';\nexport const DISABLED_VALUE = '0';\nexport const BROKER_STATUS_SOURCE = 'doompi-sandbox-broker';\n","import type { WithRoot } from '@agimon-ai/doompi-core/extensionFile';\nimport { defineCommand } from '@agimon-ai/doompi-core/piExtension';\nimport type { DoomServerPluginContext } from '@agimon-ai/doompi-core/serverFacet';\nimport type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\n\nimport { COMMAND_DESCRIPTION, COMMAND_NAME } from '../../../../../constants/sandbox';\nimport type { SandboxExtensionService } from '../../../../../types/extension';\nimport type { SandboxServerScope } from './sandboxScope';\n\nexport function createSandboxCliCommand(\n service: SandboxExtensionService,\n): readonly [string, Parameters<ExtensionAPI['registerCommand']>[1]] {\n return [\n COMMAND_NAME,\n {\n description: COMMAND_DESCRIPTION,\n async handler(_args, context) {\n const result = await service.execute();\n if (context.hasUI) context.ui.notify(result.message, result.level);\n },\n },\n ];\n}\n\nexport function createSandboxServerCommands(context: WithRoot<DoomServerPluginContext, SandboxServerScope>) {\n const service = context.root.service;\n if (!service) return [];\n return [\n defineCommand({\n name: COMMAND_NAME,\n description: COMMAND_DESCRIPTION,\n async execute() {\n const result = await service.execute();\n await context.agent?.context.client.notify({ body: result.message, level: result.level });\n },\n }),\n ];\n}\n","import type { DoomHeadlessResource } from '@agimon-ai/doompi-core/headless';\nimport { readPackageResource } from '@agimon-ai/doompi-core/serverFacet';\n\nimport type { SandboxServerScope } from './sandboxScope';\n\nexport function createSandboxContextResource(root: SandboxServerScope): DoomHeadlessResource | undefined {\n if (!root.service) return undefined;\n return {\n // The package index is Help-catalog material, not standing instruction. The Pi\n // facet has always routed it through the Help service; this is the server's gate.\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor', mode: 'help' } },\n name: 'doompi-sandbox',\n kind: 'context',\n read: () => readPackageResource(import.meta.url, 'llms.txt'),\n };\n}\n\nexport function createSandboxSkillResource(root: SandboxServerScope): DoomHeadlessResource | undefined {\n if (!root.service) return undefined;\n return {\n name: 'doompi-use-sandbox',\n when: { state: { 'minor-mode': 'help' }, attribution: { kind: 'minor', mode: 'help' } },\n kind: 'skill',\n read: () => readPackageResource(import.meta.url, 'src/prompts/doompi-use-sandbox/SKILL.md'),\n };\n}\n\nexport function createSandboxHelpResource(moduleUrl: string) {\n return {\n source: '@agimon-ai/doompi-sandbox',\n moduleUrl,\n skills: [\n {\n name: 'doompi-use-sandbox',\n description:\n 'Use @agimon-ai/doompi-sandbox: Container sandbox for DoomPi launches: the agent, extensions, and tools run inside Docker or Podman while the terminal stays on the host',\n },\n ],\n };\n}\n"],"mappings":";;;AAAA,MAAa,eAAe;AAC5B,MAAa,sBAAsB;AAEnC,MAAa,sBAAsB;AAEnC,MAAa,uBAAuB;;;ACIpC,SAAgB,wBACd,SACmE;CACnE,OAAO,CACL,cACA;EACE,aAAa;EACb,MAAM,QAAQ,OAAO,SAAS;GAC5B,MAAM,SAAS,MAAM,QAAQ,QAAQ;GACrC,IAAI,QAAQ,OAAO,QAAQ,GAAG,OAAO,OAAO,SAAS,OAAO,KAAK;EACnE;CACF,CACF;AACF;AAEA,SAAgB,4BAA4B,SAAgE;CAC1G,MAAM,UAAU,QAAQ,KAAK;CAC7B,IAAI,CAAC,SAAS,OAAO,CAAC;CACtB,OAAO,EAAA,GACLA,mCAAAA,cAAAA,CAAc;EACZ,MAAM;EACN,aAAa;EACb,MAAM,UAAU;GACd,MAAM,SAAS,MAAM,QAAQ,QAAQ;GACrC,MAAM,QAAQ,OAAO,QAAQ,OAAO,OAAO;IAAE,MAAM,OAAO;IAAS,OAAO,OAAO;GAAM,CAAC;EAC1F;CACF,CAAC,CACH;AACF;;;AChCA,SAAgB,6BAA6B,MAA4D;CACvG,IAAI,CAAC,KAAK,SAAS,OAAO,KAAA;CAC1B,OAAO;EAGL,MAAM;GAAE,OAAO,EAAE,cAAc,OAAO;GAAG,aAAa;IAAE,MAAM;IAAS,MAAM;GAAO;EAAE;EACtF,MAAM;EACN,MAAM;EACN,aAAA,GAAYC,mCAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,UAAU;CAC7D;AACF;AAEA,SAAgB,2BAA2B,MAA4D;CACrG,IAAI,CAAC,KAAK,SAAS,OAAO,KAAA;CAC1B,OAAO;EACL,MAAM;EACN,MAAM;GAAE,OAAO,EAAE,cAAc,OAAO;GAAG,aAAa;IAAE,MAAM;IAAS,MAAM;GAAO;EAAE;EACtF,MAAM;EACN,aAAA,GAAYA,mCAAAA,oBAAAA,CAAAA,QAAAA,KAAAA,CAAAA,CAAAA,cAAAA,UAAAA,CAAAA,CAAAA,MAAqC,yCAAyC;CAC5F;AACF;AAEA,SAAgB,0BAA0B,WAAmB;CAC3D,OAAO;EACL,QAAQ;EACR;EACA,QAAQ,CACN;GACE,MAAM;GACN,aACE;EACJ,CACF;CACF;AACF"}
package/llms.txt ADDED
@@ -0,0 +1,11 @@
1
+ # @agimon-ai/doompi-sandbox
2
+
3
+ Package-owned guidance for Container sandbox for DoomPi launches: the agent, extensions, and tools run inside Docker or Podman while the terminal stays on the host
4
+
5
+ ## How to use
6
+
7
+ - [Use Sandbox](./src/prompts/doompi-use-sandbox/SKILL.md): Run the package command and follow its package-specific usage guidance.
8
+
9
+ ## Resources
10
+
11
+ - [Package README](./README.md): Installation, development commands, Pi entrypoint, and extension-specific usage.
package/package.json ADDED
@@ -0,0 +1,132 @@
1
+ {
2
+ "name": "@agimon-ai/doompi-sandbox",
3
+ "version": "0.0.1-alpha.101",
4
+ "description": "Container sandbox for DoomPi launches: the agent, extensions, and tools run inside Docker or Podman while the terminal stays on the host",
5
+ "keywords": [
6
+ "ai",
7
+ "coding-agent",
8
+ "container-sandbox",
9
+ "developer-tools",
10
+ "doompi",
11
+ "pi-coding-agent",
12
+ "pi-extension",
13
+ "pi-package",
14
+ "typescript"
15
+ ],
16
+ "homepage": "https://agimon.ai",
17
+ "bugs": {
18
+ "url": "https://github.com/AgiFlow/doompi/issues"
19
+ },
20
+ "license": "MIT",
21
+ "author": "Vuong Ngo",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/AgiFlow/doompi.git",
25
+ "directory": "layers/sandbox/doompi-sandbox"
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "src/prompts",
30
+ "llms.txt",
31
+ "README.md",
32
+ "LICENSE",
33
+ "package.json"
34
+ ],
35
+ "type": "module",
36
+ "main": "./dist/index.cjs",
37
+ "module": "./dist/index.mjs",
38
+ "types": "./dist/index.d.mts",
39
+ "jsnext:main": "./dist/index.mjs",
40
+ "exports": {
41
+ ".": {
42
+ "types": "./dist/index.d.mts",
43
+ "import": "./dist/index.mjs",
44
+ "require": "./dist/index.cjs"
45
+ },
46
+ "./apiContracts": {
47
+ "types": "./dist/apiContracts.d.mts",
48
+ "import": "./dist/apiContracts.mjs",
49
+ "require": "./dist/apiContracts.cjs"
50
+ },
51
+ "./cockpitHarness": {
52
+ "types": "./dist/cockpitHarness.d.mts",
53
+ "import": "./dist/cockpitHarness.mjs",
54
+ "require": "./dist/cockpitHarness.cjs"
55
+ },
56
+ "./extensions/pi": {
57
+ "types": "./dist/extensions/pi.d.mts",
58
+ "import": "./dist/extensions/pi.mjs",
59
+ "require": "./dist/extensions/pi.cjs"
60
+ },
61
+ "./extensions/server": {
62
+ "types": "./dist/extensions/server.d.mts",
63
+ "import": "./dist/extensions/server.mjs",
64
+ "require": "./dist/extensions/server.cjs"
65
+ },
66
+ "./sandboxHarness": {
67
+ "types": "./dist/sandboxHarness.d.mts",
68
+ "import": "./dist/sandboxHarness.mjs",
69
+ "require": "./dist/sandboxHarness.cjs"
70
+ },
71
+ "./package.json": "./package.json"
72
+ },
73
+ "publishConfig": {
74
+ "access": "public"
75
+ },
76
+ "dependencies": {
77
+ "@agimon-ai/doompi-core": "0.0.1-alpha.102",
78
+ "@deepseek-ai/cordis": "4.0.2"
79
+ },
80
+ "devDependencies": {
81
+ "@agimon-ai/doompi-build": "0.0.1-alpha.24",
82
+ "@agimon-ai/vibe-lint-plugin-doom-extension": "0.0.1-alpha.90",
83
+ "@earendil-works/pi-coding-agent": "0.99.1",
84
+ "@types/node": "26.6.2",
85
+ "@vitest/coverage-v8": "5.0.1",
86
+ "tsdown": "0.23.0",
87
+ "typescript": "7.0.2",
88
+ "vitest": "5.0.1"
89
+ },
90
+ "peerDependencies": {
91
+ "@earendil-works/pi-coding-agent": "0.99.1"
92
+ },
93
+ "peerDependenciesMeta": {
94
+ "@earendil-works/pi-coding-agent": {
95
+ "optional": true
96
+ }
97
+ },
98
+ "engines": {
99
+ "node": ">=22.19.0"
100
+ },
101
+ "doompiMcp": {
102
+ "entry": "./generated/mcp.ts",
103
+ "dist": "./dist/extensions/mcp.mjs",
104
+ "scopes": [
105
+ "session"
106
+ ]
107
+ },
108
+ "doompiServer": {
109
+ "entry": "./generated/server.ts",
110
+ "dist": "./dist/extensions/server.mjs",
111
+ "scopes": [
112
+ "session"
113
+ ],
114
+ "contracts": {
115
+ "entry": "./src/exports/apiContracts.ts",
116
+ "dist": "./dist/apiContracts.mjs"
117
+ }
118
+ },
119
+ "pi": {
120
+ "extensions": [
121
+ "./dist/extensions/pi.mjs"
122
+ ]
123
+ },
124
+ "scripts": {
125
+ "build": "tsdown && pnpm build:mcp",
126
+ "build:mcp": "tsdown --config tsdown.mcp.config.ts",
127
+ "test": "vitest --run",
128
+ "typecheck": "tsc --noEmit",
129
+ "lint": "oxlint . && oxfmt . --check",
130
+ "fixcode": "oxlint . --fix && oxfmt ."
131
+ }
132
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: doompi-use-sandbox
3
+ description: 'Use @agimon-ai/doompi-sandbox: Container sandbox for DoomPi launches: the agent, extensions, and tools run inside Docker or Podman while the terminal stays on the host'
4
+ ---
5
+
6
+ # Use Sandbox
7
+
8
+ Read the package [README](../../../README.md) for its exact installation, command, configuration, and behavior.
9
+
10
+ ## Guidance
11
+
12
+ - Use `/doom-sandbox` as the package's primary Pi entrypoint.
13
+ - Treat the package README and its linked resources as the source of truth for package-specific behavior.
14
+ - Do not require DoomPi Help for runtime activation. Help only makes this package guidance discoverable while the minor mode is active.