@waishnav/devspace 1.0.3 → 1.0.4

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 (111) hide show
  1. package/dist/apply-patch.js +67 -64
  2. package/dist/cli.js +243 -4
  3. package/dist/config.js +6 -9
  4. package/dist/db/migrations.js +34 -0
  5. package/dist/db/schema.js +19 -0
  6. package/dist/local-agent-adapters.js +653 -0
  7. package/dist/local-agent-availability.js +119 -0
  8. package/dist/local-agent-path.js +24 -0
  9. package/dist/local-agent-profiles.js +135 -0
  10. package/dist/local-agent-runtime.js +48 -0
  11. package/dist/local-agent-store.js +145 -0
  12. package/dist/local-agent-targets.js +80 -0
  13. package/dist/process-sessions.js +11 -3
  14. package/dist/server.js +88 -50
  15. package/dist/skills.js +27 -3
  16. package/dist/ui/.vite/manifest.json +281 -281
  17. package/dist/ui/assets/{angular-html-D6nc7PYw.js → angular-html-CKeFzaPY.js} +1 -1
  18. package/dist/ui/assets/{angular-ts-BAIStLeI.js → angular-ts-0wcM_Zxf.js} +1 -1
  19. package/dist/ui/assets/{apl-CtEv5pop.js → apl-C7UdkNb2.js} +1 -1
  20. package/dist/ui/assets/{astro-CVFIMXc6.js → astro-DMqju4MJ.js} +1 -1
  21. package/dist/ui/assets/{blade-BgSlZ6jY.js → blade-DHanNgN5.js} +1 -1
  22. package/dist/ui/assets/{c-bxLlCV26.js → c-_iPKYPcx.js} +1 -1
  23. package/dist/ui/assets/{cobol-BuZ-r51r.js → cobol-CagdLJsE.js} +1 -1
  24. package/dist/ui/assets/{coffee-_JP0Joa7.js → coffee-CkNGriPi.js} +1 -1
  25. package/dist/ui/assets/{cpp-CP_eaz-H.js → cpp-CqmKOWIQ.js} +1 -1
  26. package/dist/ui/assets/{crystal-DZ-sEZd0.js → crystal-DbAbDEO1.js} +1 -1
  27. package/dist/ui/assets/{css-CZnyti9s.js → css-xwljL6Kw.js} +1 -1
  28. package/dist/ui/assets/{edge-DjsoDMTR.js → edge-CX3sYz15.js} +1 -1
  29. package/dist/ui/assets/{elixir-C5b04AkY.js → elixir-B3qL9hqd.js} +1 -1
  30. package/dist/ui/assets/{elm-Ddx-rgVY.js → elm-CH4vrjBp.js} +1 -1
  31. package/dist/ui/assets/{erb-cjF7oPcT.js → erb-CupHqynN.js} +1 -1
  32. package/dist/ui/assets/{git-rebase-DN5exBTl.js → git-rebase-CDxsU2LC.js} +1 -1
  33. package/dist/ui/assets/{glimmer-js-CEq0hNwa.js → glimmer-js-emkga3g1.js} +1 -1
  34. package/dist/ui/assets/{glimmer-ts-4uYGFkon.js → glimmer-ts-D8kQDnUw.js} +1 -1
  35. package/dist/ui/assets/{glsl-DEJ9tTWm.js → glsl-BtfTaPhi.js} +1 -1
  36. package/dist/ui/assets/{graphql-Bim5WuQh.js → graphql-DEus8iSO.js} +1 -1
  37. package/dist/ui/assets/{hack-BcyVIXhE.js → hack-DI8qpBqE.js} +1 -1
  38. package/dist/ui/assets/{haml-D9YaukDg.js → haml-Br1i1gmi.js} +1 -1
  39. package/dist/ui/assets/{handlebars-CFaMw9zH.js → handlebars-Ce23mu9x.js} +1 -1
  40. package/dist/ui/assets/{heavy-payload-B9aTqgfs.js → heavy-payload-BcZ_nGfF.js} +1 -1
  41. package/dist/ui/assets/{html-CgO_zx4D.js → html-RXVmfixf.js} +1 -1
  42. package/dist/ui/assets/{html-derivative-BxqkysJT.js → html-derivative-D1aqeobb.js} +1 -1
  43. package/dist/ui/assets/{http-CO5dv0RA.js → http-BebG00CE.js} +1 -1
  44. package/dist/ui/assets/{hurl-DRHtrK78.js → hurl-kHMuvenL.js} +1 -1
  45. package/dist/ui/assets/{java-BvHC_DgR.js → java-DYc2V5RJ.js} +1 -1
  46. package/dist/ui/assets/{javascript-C-3payQx.js → javascript-BcfzTzr3.js} +1 -1
  47. package/dist/ui/assets/{jinja-CAOPvEOH.js → jinja-D2RhihUZ.js} +1 -1
  48. package/dist/ui/assets/{jison-totCB1L-.js → jison-BuoFEePN.js} +1 -1
  49. package/dist/ui/assets/{json-D0J9rEe1.js → json-BIDkCuJA.js} +1 -1
  50. package/dist/ui/assets/{jsx-na-XQD_B.js → jsx-DHCL2HA0.js} +1 -1
  51. package/dist/ui/assets/{julia-CqrTtZ4-.js → julia-CvUQXscF.js} +1 -1
  52. package/dist/ui/assets/{just-pmrVSkMc.js → just-etc9R2qw.js} +1 -1
  53. package/dist/ui/assets/{latex-Cd_geX3E.js → latex-BB3zRnxC.js} +1 -1
  54. package/dist/ui/assets/{liquid-C6ky5sJ-.js → liquid-CIi5Mvpv.js} +1 -1
  55. package/dist/ui/assets/{lua-dgyBbeof.js → lua-Cox7XDiW.js} +1 -1
  56. package/dist/ui/assets/{marko-Dy5mfXY9.js → marko-ruBIRV0n.js} +1 -1
  57. package/dist/ui/assets/{mdc-7NUvxgI1.js → mdc-CcbvB9U5.js} +1 -1
  58. package/dist/ui/assets/{nginx-C-KiEXbI.js → nginx-DtWz6ZYE.js} +1 -1
  59. package/dist/ui/assets/{nim-BBw8kfl9.js → nim-BV5BR4P7.js} +1 -1
  60. package/dist/ui/assets/{perl-CyxhJgbO.js → perl-BvzoSaJ4.js} +1 -1
  61. package/dist/ui/assets/{php-m4LAOpam.js → php-C-clrAOy.js} +1 -1
  62. package/dist/ui/assets/{pug-Cpl0baYI.js → pug-E07_GXAr.js} +1 -1
  63. package/dist/ui/assets/{qml-BoSGNgIb.js → qml-dqt33dti.js} +1 -1
  64. package/dist/ui/assets/{r-C0JhqQd5.js → r-BcVQxsAw.js} +1 -1
  65. package/dist/ui/assets/{razor-CntsBNoh.js → razor-BW5T_UZ-.js} +1 -1
  66. package/dist/ui/assets/{regexp-BNZmOCRl.js → regexp-Ed_DEsuU.js} +1 -1
  67. package/dist/ui/assets/{review-payload-BgdWHWiv.js → review-payload-Dsmx33pY.js} +1 -1
  68. package/dist/ui/assets/{rst-BZ2XHIxM.js → rst-BkcGqLs8.js} +1 -1
  69. package/dist/ui/assets/{ruby-BIthfCTP.js → ruby-Sf_X_YID.js} +1 -1
  70. package/dist/ui/assets/{sas-5aT3fOla.js → sas-COsombsA.js} +1 -1
  71. package/dist/ui/assets/{scss-DZPfdkDy.js → scss-K6Ylfa26.js} +1 -1
  72. package/dist/ui/assets/{shellscript-DbhKc5Xj.js → shellscript-D2EdqkgV.js} +1 -1
  73. package/dist/ui/assets/{shellsession-X9-bcyHh.js → shellsession-jRXgXrnI.js} +1 -1
  74. package/dist/ui/assets/{soy-Bd4tecrW.js → soy-BGspKQWW.js} +1 -1
  75. package/dist/ui/assets/{sql-Chf5JrDn.js → sql-C4lAmYnM.js} +1 -1
  76. package/dist/ui/assets/{stata-DvMMIc_T.js → stata-DQWvRqxp.js} +1 -1
  77. package/dist/ui/assets/{surrealql-D5FMzVF5.js → surrealql-OmKt9XJ_.js} +1 -1
  78. package/dist/ui/assets/{svelte-CTiVXZrv.js → svelte-D0rUmwDI.js} +1 -1
  79. package/dist/ui/assets/{templ-ldnfq-7w.js → templ-B-U0RMc0.js} +1 -1
  80. package/dist/ui/assets/{tex-QW0_7T2r.js → tex-BIHD-btS.js} +1 -1
  81. package/dist/ui/assets/{ts-tags-CAKiWIBx.js → ts-tags-CGuDWfPC.js} +1 -1
  82. package/dist/ui/assets/{tsx-Bu9xJJmq.js → tsx-B0-h_HlD.js} +1 -1
  83. package/dist/ui/assets/{twig-Dp1752_V.js → twig-BN2qDJWN.js} +1 -1
  84. package/dist/ui/assets/{typescript-RfO03Kmm.js → typescript-BRnwPzY3.js} +1 -1
  85. package/dist/ui/assets/{useFileDiffInstance-DjqU4y1a.js → useFileDiffInstance-5ivdkUYO.js} +3 -3
  86. package/dist/ui/assets/{vue-Dlasv57G.js → vue-DekNU1qt.js} +1 -1
  87. package/dist/ui/assets/{vue-html-BHuJ7anu.js → vue-html-Bjlv-uvH.js} +1 -1
  88. package/dist/ui/assets/{vue-vine-CavE0PSk.js → vue-vine-C2Doytjq.js} +1 -1
  89. package/dist/ui/assets/{workspace-app-DGD9R89D.css → workspace-app-DASlX26z.css} +1 -1
  90. package/dist/ui/assets/{workspace-app-DDV_qdjx.js → workspace-app-DYi7VJam.js} +5 -5
  91. package/dist/ui/assets/{xml-Bbv64l4W.js → xml-pXbxxgI3.js} +1 -1
  92. package/dist/ui/assets/{xsl-Sro4gyQY.js → xsl-BEAlgDI2.js} +1 -1
  93. package/dist/ui/assets/{yaml-Du68c8sA.js → yaml-C1O-To71.js} +1 -1
  94. package/dist/ui/workspace-app.html +2 -2
  95. package/dist/user-config.js +21 -1
  96. package/dist/workspaces.js +3 -0
  97. package/docs/agent-profile-schema.md +165 -0
  98. package/docs/chatgpt-coding-workflow.md +24 -10
  99. package/docs/configuration.md +20 -8
  100. package/docs/gotchas.md +13 -0
  101. package/examples/agents/claude-implementer.md +30 -0
  102. package/examples/agents/codex-explorer.md +27 -0
  103. package/examples/agents/codex-qa-tester.md +29 -0
  104. package/examples/agents/codex-worker.md +25 -0
  105. package/examples/agents/copilot-reviewer.md +25 -0
  106. package/examples/agents/cursor-agent-worker.md +26 -0
  107. package/examples/agents/opencode-explorer.md +27 -0
  108. package/examples/agents/pi-reviewer.md +27 -0
  109. package/package.json +11 -3
  110. package/skills/subagent-delegation/SKILL.md +132 -0
  111. package/docs/codex-tool-mode-qa.md +0 -73
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: subagent-delegation
3
+ description: Delegate coding tasks to user-configured DevSpace subagents.
4
+ ---
5
+
6
+ # Subagent Delegation
7
+
8
+ Use this skill when the user explicitly asks to delegate work to another coding
9
+ agent, use a named subagent, get a second opinion, compare approaches, or run
10
+ a subagent-like workflow.
11
+
12
+ Do not use subagents silently. Tell the user when another subagent is
13
+ being used.
14
+
15
+ ## Core commands
16
+
17
+ Use only these commands for normal delegation:
18
+
19
+ ```bash
20
+ devspace agents ls
21
+ devspace agents run <profile-or-provider-or-id> "<prompt>"
22
+ devspace agents show <id>
23
+ ```
24
+
25
+ `ls` shows existing subagent sessions for the current workspace. DevSpace scopes
26
+ it automatically from the shell environment injected by the workspace tool.
27
+
28
+ `run <profile> "<prompt>"` starts a new configured profile and prints a
29
+ DevSpace agent id.
30
+
31
+ `run <provider> "<prompt>"` starts a raw built-in provider when no configured
32
+ profile is needed. Built-in providers are listed by `open_workspace`.
33
+
34
+ `run <id> "<prompt>"` sends a follow-up to an existing agent.
35
+
36
+ `show <id>` prints status and the latest response. If the agent is still
37
+ running, `show` waits briefly. If there is still no final response, call `show`
38
+ again later.
39
+
40
+ Do not run provider CLIs such as `codex`, `claude`, `opencode`, `pi`,
41
+ `cursor-agent`, or `copilot` directly unless you are explicitly debugging
42
+ DevSpace agent integration.
43
+
44
+ ## Choosing a profile
45
+
46
+ Choose profiles from the compact subagent profile catalog returned by
47
+ `open_workspace`. Use the profile name with `devspace agents run`. If no
48
+ profile fits and delegation is still appropriate, use a built-in provider name
49
+ from `open_workspace`.
50
+
51
+ Profiles may declare a model and optional thinking level. To override the
52
+ configured/default provider model or thinking level for a run, pass `--model`
53
+ or `--thinking`:
54
+
55
+ ```bash
56
+ devspace agents run <profile-or-provider> --model <model> "<prompt>"
57
+ devspace agents run <profile-or-provider> --thinking <level> "<prompt>"
58
+ ```
59
+
60
+ Use `--thinking` only when the user asks for a specific reasoning depth or when
61
+ the task clearly needs a different effort than the configured profile default.
62
+ Thinking values are provider-specific passthrough values. Use names supported by
63
+ the selected local agent harness; DevSpace does not translate values between
64
+ providers.
65
+
66
+ Good delegation targets:
67
+
68
+ - `reviewer`: second opinion, bug risk, security risk, test gaps.
69
+ - `explorer`: read-only codebase investigation.
70
+ - `implementer`: focused implementation when the user asked for delegation.
71
+
72
+ Do not delegate ordinary coding work just because a profile exists. Use normal
73
+ DevSpace tools unless the user asked for delegation, another agent's opinion,
74
+ parallel work, or a named subagent.
75
+
76
+ ## Worker prompts
77
+
78
+ Agents start with only the prompt you send plus their configured profile
79
+ instructions. Make prompts self-contained.
80
+
81
+ Implementation prompt shape:
82
+
83
+ ```text
84
+ Goal:
85
+ <clear goal>
86
+
87
+ Context:
88
+ <repo/module/user constraints>
89
+
90
+ Relevant files:
91
+ <paths and why they matter>
92
+
93
+ Acceptance criteria:
94
+ - <criterion>
95
+
96
+ Rules:
97
+ - Keep changes focused.
98
+ - Do not perform unrelated refactors.
99
+ - Report blockers clearly.
100
+ ```
101
+
102
+ Read-only investigation prompt shape:
103
+
104
+ ```text
105
+ Question:
106
+ <specific question>
107
+
108
+ Scope:
109
+ <files/directories/modules to inspect>
110
+
111
+ Rules:
112
+ - Do not modify files.
113
+ - Cite relevant file paths and symbols.
114
+ - Separate facts from guesses.
115
+ ```
116
+
117
+ ## After the worker responds
118
+
119
+ Always review the result before presenting it as verified.
120
+
121
+ For write-capable tasks, inspect changed files and run or explain relevant
122
+ tests. For read-only tasks, verify that important claims are supported by repo
123
+ evidence.
124
+
125
+ Be transparent in the final response:
126
+
127
+ ```text
128
+ I used <profile>. It reported <summary>. I verified <checks>. Remaining risk:
129
+ <risk or none>.
130
+ ```
131
+
132
+ Never hide that a subagent was used.
@@ -1,73 +0,0 @@
1
- # Codex Tool Mode Manual QA
2
-
3
- Run these checks against a disposable Git repository inside an allowed DevSpace
4
- root. Keep the DevSpace server logs visible during the test.
5
-
6
- ## Setup
7
-
8
- 1. Build the current branch with `npm ci && npm run build`.
9
- 2. Start DevSpace with `DEVSPACE_TOOL_MODE=codex devspace serve`.
10
- 3. Connect or refresh the DevSpace connector in ChatGPT.
11
- 4. Open the disposable repository with `open_workspace`.
12
- 5. Confirm the core tools are `open_workspace`, `read`, `apply_patch`,
13
- `exec_command`, and `write_stdin`.
14
- 6. Confirm `write`, `edit`, `bash`, `grep`, `glob`, and `ls` are absent.
15
- 7. If `DEVSPACE_WIDGETS=changes`, also expect `show_changes`.
16
-
17
- ## Apply Patch
18
-
19
- 1. Add a text file containing multiple lines and a blank line.
20
- 2. Update two separate regions of that file in one patch.
21
- 3. Create a nested file, rename it, and then delete it.
22
- 4. Patch an existing CRLF file and verify it remains CRLF.
23
- 5. Verify executable permissions survive an update and a move.
24
- 6. Try to add `../outside.txt`; confirm the tool rejects the path.
25
- 7. Patch through a symlink targeting an external directory; confirm rejection.
26
- 8. Submit a hunk whose context is absent; confirm no file from that patch changes.
27
- 9. With changes widgets enabled, inspect the aggregate diff.
28
-
29
- ## Foreground Commands
30
-
31
- 1. Run `pwd` and confirm it reports the opened workspace.
32
- 2. Run a command in a relative `workingDirectory` and confirm the directory.
33
- 3. Write to stdout and stderr; confirm both appear.
34
- 4. Exit nonzero; confirm `running=false` and the exit code.
35
- 5. Use a small output budget on a noisy command; confirm truncation is reported.
36
-
37
- ## Background Sessions
38
-
39
- 1. Start a delayed command with a short yield time.
40
- 2. Confirm `exec_command` returns `running=true` and a `sessionId`.
41
- 3. Poll with empty `chars`; confirm output is not duplicated.
42
- 4. Poll until completion; confirm the final exit code and no `sessionId`.
43
- 5. Poll the completed session again; confirm it is unknown.
44
- 6. Reconnect MCP without restarting DevSpace and confirm polling still works.
45
- 7. Restart DevSpace and confirm old process session IDs are invalid.
46
-
47
- ## Input, Interrupt, And PTY
48
-
49
- 1. Start a program that reads stdin without a PTY and send it a line.
50
- 2. Start a long-running process and send `\u0003`; confirm it stops.
51
- 3. Start an interactive program with `tty=true`; confirm it detects a TTY.
52
- 4. Resize a PTY from 80x24 to 120x30 and verify the observed dimensions.
53
- 5. Omit optional dependencies; normal commands must work and `tty=true` must
54
- return the explicit `node-pty` error.
55
-
56
- ## Cleanup
57
-
58
- 1. Start a non-PTY command that creates a long-running child process.
59
- 2. Stop DevSpace with SIGINT and verify both shell and child exit.
60
- 3. Repeat with a PTY command.
61
- 4. Confirm no process remains after server exit.
62
- 5. Repeat session cycles and check that memory use does not steadily increase.
63
-
64
- ## Existing Mode Regression
65
-
66
- 1. Start without `DEVSPACE_TOOL_MODE`; confirm `minimal` remains the default.
67
- 2. Minimal must expose `read`, `write`, `edit`, and `bash`, but not Codex tools
68
- or dedicated search tools.
69
- 3. `DEVSPACE_TOOL_MODE=full` must add `grep`, `glob`, and `ls`.
70
- 4. With no explicit mode, `DEVSPACE_MINIMAL_TOOLS=1` maps to minimal and `0`
71
- maps to full.
72
- 5. Set `DEVSPACE_TOOL_MODE=codex` with `DEVSPACE_MINIMAL_TOOLS=0`; confirm the
73
- explicit Codex mode wins.