@agent-spaces/server 0.2.9 → 0.3.1
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/dist/adapters/claude-code-runtime/index.js +48 -6
- package/dist/adapters/claude-code-runtime/message-format.js +3 -3
- package/dist/adapters/git.js +140 -2
- package/dist/agents/agent-designer.js +334 -0
- package/dist/agents/agent-message-parts.js +8 -0
- package/dist/agents/commit-agent.js +9 -2
- package/dist/agents/issue-task-controller.js +14 -4
- package/dist/app.js +53 -1
- package/dist/package.json +1 -1
- package/dist/routes/agent-sse.js +4 -1
- package/dist/routes/agent.js +15 -0
- package/dist/routes/channel.js +1 -1
- package/dist/routes/file.js +97 -1
- package/dist/routes/git.js +122 -1
- package/dist/routes/iframe-bookmarks.js +33 -0
- package/dist/routes/speech-recognition.js +80 -0
- package/dist/services/agent.js +48 -5
- package/dist/services/builtin-tools.js +67 -1
- package/dist/services/channel.js +2 -0
- package/dist/services/command-process-manager.js +14 -1
- package/dist/services/file.js +86 -6
- package/dist/services/gitignore.js +65 -0
- package/dist/services/issue-retry.js +2 -1
- package/dist/services/issue.js +2 -2
- package/dist/services/notification-hub/bot-agent.js +9 -1
- package/dist/services/persistent-agent-context.js +155 -0
- package/dist/services/pty.js +47 -2
- package/dist/services/search.js +11 -3
- package/dist/services/speech-recognition/base.js +3 -0
- package/dist/services/speech-recognition/index.js +16 -0
- package/dist/services/speech-recognition/tencent.js +112 -0
- package/dist/storage/iframe-bookmarks-store.js +46 -0
- package/dist/storage/speech-recognition-store.js +58 -0
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +4 -4
- package/dist/web/__next._full.txt +31 -26
- package/dist/web/__next._head.txt +4 -4
- package/dist/web/__next._index.txt +17 -13
- package/dist/web/__next._tree.txt +2 -2
- package/dist/web/_next/static/chunks/0-mtp2au0a0nh.js +189 -0
- package/dist/web/_next/static/chunks/00amm3dvu3po9.js +31 -0
- package/dist/web/_next/static/chunks/02unyp1obddyn.js +3 -0
- package/dist/web/_next/static/chunks/{0-vgd3j-zh3m8.js → 05iy4.c-1cfhd.js} +1 -1
- package/dist/web/_next/static/chunks/0d.v1csiyl.1~.js +2 -0
- package/dist/web/_next/static/chunks/0egot8y~i-ge3.js +1 -0
- package/dist/web/_next/static/chunks/0e~0o6v_awcod.js +1 -0
- package/dist/web/_next/static/chunks/0fpf.rso9mhc0.js +1 -0
- package/dist/web/_next/static/chunks/0glol5jdarfma.js +2 -0
- package/dist/web/_next/static/chunks/0m1ud--um8kjh.js +1 -0
- package/dist/web/_next/static/chunks/0o6w-uw2p.phy.js +5 -0
- package/dist/web/_next/static/chunks/0os7q6w~-tmg7.css +1 -0
- package/dist/web/_next/static/chunks/0plreh4_gkxf9.js +1 -0
- package/dist/web/_next/static/chunks/0u7_qd9hzqwac.js +1 -0
- package/dist/web/_next/static/chunks/0vesz93a98px4.js +1 -0
- package/dist/web/_next/static/chunks/0w3o.7vi.dlm6.js +1 -0
- package/dist/web/_next/static/chunks/0xtmr0y4vo-~p.js +1 -0
- package/dist/web/_next/static/chunks/0~3uikgc074il.js +1 -0
- package/dist/web/_next/static/chunks/{0y5ipuqgqfrob.js → 0~xn0gfqxa20r.js} +3 -3
- package/dist/web/_next/static/chunks/11ozf700niy2z.js +1 -0
- package/dist/web/_next/static/chunks/{0jmsjlawtg6oa.js → 145gbwitjxamg.js} +1 -1
- package/dist/web/_next/static/chunks/{turbopack-0lxiiw.jhevml.js → turbopack-0kcwat8.leugk.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +34 -30
- package/dist/web/_not-found/__next._head.txt +4 -4
- package/dist/web/_not-found/__next._index.txt +17 -13
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/dist/web/_not-found/__next._not-found.txt +3 -3
- package/dist/web/_not-found/__next._tree.txt +2 -2
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +34 -30
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +31 -26
- package/dist/web/login/__next._full.txt +35 -29
- package/dist/web/login/__next._head.txt +4 -4
- package/dist/web/login/__next._index.txt +17 -13
- package/dist/web/login/__next._tree.txt +2 -2
- package/dist/web/login/__next.login.__PAGE__.txt +4 -4
- package/dist/web/login/__next.login.txt +3 -3
- package/dist/web/login.html +1 -1
- package/dist/web/login.txt +35 -29
- package/dist/web/settings/__next._full.txt +36 -34
- package/dist/web/settings/__next._head.txt +4 -4
- package/dist/web/settings/__next._index.txt +17 -13
- package/dist/web/settings/__next._tree.txt +2 -2
- package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
- package/dist/web/settings/__next.settings.txt +5 -5
- package/dist/web/settings/agents/__next._full.txt +38 -35
- package/dist/web/settings/agents/__next._head.txt +4 -4
- package/dist/web/settings/agents/__next._index.txt +17 -13
- package/dist/web/settings/agents/__next._tree.txt +2 -2
- package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
- package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
- package/dist/web/settings/agents/__next.settings.txt +5 -5
- package/dist/web/settings/agents.html +1 -1
- package/dist/web/settings/agents.txt +38 -35
- package/dist/web/settings/mcps/__next._full.txt +38 -35
- package/dist/web/settings/mcps/__next._head.txt +4 -4
- package/dist/web/settings/mcps/__next._index.txt +17 -13
- package/dist/web/settings/mcps/__next._tree.txt +2 -2
- package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
- package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
- package/dist/web/settings/mcps/__next.settings.txt +5 -5
- package/dist/web/settings/mcps.html +1 -1
- package/dist/web/settings/mcps.txt +38 -35
- package/dist/web/settings/models/__next._full.txt +38 -35
- package/dist/web/settings/models/__next._head.txt +4 -4
- package/dist/web/settings/models/__next._index.txt +17 -13
- package/dist/web/settings/models/__next._tree.txt +2 -2
- package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
- package/dist/web/settings/models/__next.settings.models.txt +3 -3
- package/dist/web/settings/models/__next.settings.txt +5 -5
- package/dist/web/settings/models.html +1 -1
- package/dist/web/settings/models.txt +38 -35
- package/dist/web/settings/providers/__next._full.txt +38 -35
- package/dist/web/settings/providers/__next._head.txt +4 -4
- package/dist/web/settings/providers/__next._index.txt +17 -13
- package/dist/web/settings/providers/__next._tree.txt +2 -2
- package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
- package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
- package/dist/web/settings/providers/__next.settings.txt +5 -5
- package/dist/web/settings/providers.html +1 -1
- package/dist/web/settings/providers.txt +38 -35
- package/dist/web/settings/skills/__next._full.txt +38 -35
- package/dist/web/settings/skills/__next._head.txt +4 -4
- package/dist/web/settings/skills/__next._index.txt +17 -13
- package/dist/web/settings/skills/__next._tree.txt +2 -2
- package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
- package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
- package/dist/web/settings/skills/__next.settings.txt +5 -5
- package/dist/web/settings/skills.html +1 -1
- package/dist/web/settings/skills.txt +38 -35
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +36 -34
- package/dist/web/workflows/__next._full.txt +36 -31
- package/dist/web/workflows/__next._head.txt +4 -4
- package/dist/web/workflows/__next._index.txt +17 -13
- package/dist/web/workflows/__next._tree.txt +2 -2
- package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
- package/dist/web/workflows/__next.workflows.txt +3 -3
- package/dist/web/workflows.html +1 -1
- package/dist/web/workflows.txt +36 -31
- package/dist/web/workspace/_/__next._full.txt +39 -34
- package/dist/web/workspace/_/__next._head.txt +4 -4
- package/dist/web/workspace/_/__next._index.txt +17 -13
- package/dist/web/workspace/_/__next._tree.txt +2 -2
- package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
- package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
- package/dist/web/workspace/_/__next.workspace.txt +3 -3
- package/dist/web/workspace/_.html +1 -1
- package/dist/web/workspace/_.txt +39 -34
- package/dist/web/workspaces/__next._full.txt +35 -30
- package/dist/web/workspaces/__next._head.txt +4 -4
- package/dist/web/workspaces/__next._index.txt +17 -13
- package/dist/web/workspaces/__next._tree.txt +2 -2
- package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
- package/dist/web/workspaces/__next.workspaces.txt +3 -3
- package/dist/web/workspaces.html +1 -1
- package/dist/web/workspaces.txt +35 -30
- package/dist/ws/agent-prompt.js +48 -18
- package/dist/ws/agent-runner.js +4 -1
- package/dist/ws/message-parts.js +8 -0
- package/dist/ws/terminal-handler.js +1 -1
- package/package.json +1 -1
- package/public/avatars/1778953228323-5je54x-user.jpg +0 -0
- package/public/avatars/1778954057880-g01q6y-user.jpg +0 -0
- package/dist/web/_next/static/chunks/0.~n0s82y4zh_.css +0 -1
- package/dist/web/_next/static/chunks/002-dxhags4dj.js +0 -2
- package/dist/web/_next/static/chunks/02duknlg3rgjp.js +0 -1
- package/dist/web/_next/static/chunks/02wkg1tjv~_t2.js +0 -1
- package/dist/web/_next/static/chunks/03jy~o.gx._e-.js +0 -3
- package/dist/web/_next/static/chunks/04zxh2e-4~-xs.js +0 -1
- package/dist/web/_next/static/chunks/07bs5ds68tg38.js +0 -2
- package/dist/web/_next/static/chunks/082lp-xqv7r.-.js +0 -183
- package/dist/web/_next/static/chunks/0b2tump5duj9j.js +0 -1
- package/dist/web/_next/static/chunks/0csqa76ud3h4d.js +0 -1
- package/dist/web/_next/static/chunks/0n0j7tw_y1qk2.js +0 -1
- package/dist/web/_next/static/chunks/0pep4mkvt3.rh.js +0 -31
- package/dist/web/_next/static/chunks/0tkii3.lkbu3u.js +0 -1
- package/dist/web/_next/static/chunks/0wz8~mvztv-vq.js +0 -1
- package/dist/web/_next/static/chunks/0zl19l5tuoppw.js +0 -1
- package/dist/web/_next/static/chunks/0zxtxecpqyoeh.js +0 -1
- package/dist/web/_next/static/chunks/12sucjx_z8ftc.js +0 -1
- package/dist/web/_next/static/chunks/15_n_khh8cuax.js +0 -5
- /package/dist/web/_next/static/{hGfVPALj5nbwettayL9DY → 4dBAEZ275uRqcyeaRmXSx}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{hGfVPALj5nbwettayL9DY → 4dBAEZ275uRqcyeaRmXSx}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{hGfVPALj5nbwettayL9DY → 4dBAEZ275uRqcyeaRmXSx}/_ssgManifest.js +0 -0
package/dist/web/workspaces.txt
CHANGED
|
@@ -1,37 +1,42 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[701341,["/_next/static/chunks/
|
|
3
|
-
3:I[950396,["/_next/static/chunks/
|
|
4
|
-
4:I[556106,["/_next/static/chunks/
|
|
5
|
-
5:I[694819,["/_next/static/chunks/
|
|
6
|
-
6:I[
|
|
7
|
-
7:I[
|
|
8
|
-
8:I[
|
|
9
|
-
9:I[
|
|
10
|
-
a:I[
|
|
11
|
-
b:I[
|
|
12
|
-
c:I[
|
|
13
|
-
d:I[
|
|
14
|
-
e:I[
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
2:I[701341,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ZoomWrapper"]
|
|
3
|
+
3:I[950396,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ThemeProvider"]
|
|
4
|
+
4:I[556106,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"LocaleProvider"]
|
|
5
|
+
5:I[694819,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ViewportInsets"]
|
|
6
|
+
6:I[925020,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"TauriFullscreen"]
|
|
7
|
+
7:I[177053,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"AuthGuard"]
|
|
8
|
+
8:I[994876,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"AppShell"]
|
|
9
|
+
9:I[242864,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"default"]
|
|
10
|
+
a:I[46907,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"default"]
|
|
11
|
+
b:I[698679,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"CommandPalette"]
|
|
12
|
+
c:I[360112,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"Toaster"]
|
|
13
|
+
d:I[984642,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ConsolePanel"]
|
|
14
|
+
e:I[856471,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"IframeLinkInterceptor"]
|
|
15
|
+
f:I[856471,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"IframeFloatingBall"]
|
|
16
|
+
10:I[856471,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"IframeOverlay"]
|
|
17
|
+
11:I[487786,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ClientPageRoot"]
|
|
18
|
+
12:I[259295,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js","/_next/static/chunks/14n8i2xz4_y-e.js"],"default"]
|
|
19
|
+
15:I[990774,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"OutletBoundary"]
|
|
20
|
+
16:"$Sreact.suspense"
|
|
21
|
+
19:I[990774,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"ViewportBoundary"]
|
|
22
|
+
1b:I[990774,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"MetadataBoundary"]
|
|
23
|
+
1e:I[785502,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"default",1]
|
|
20
24
|
:HL["/_next/static/chunks/0-oog4zg4_m~m.css","style"]
|
|
21
|
-
:HL["/_next/static/chunks/
|
|
25
|
+
:HL["/_next/static/chunks/0os7q6w~-tmg7.css","style"]
|
|
22
26
|
:HL["/_next/static/media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
23
27
|
:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
24
28
|
:HL["/_next/static/media/8e6fa89aa22d24ec-s.p.0uvzar8hswo3p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
25
29
|
:HL["/_next/static/media/a218039a3287bcfd-s.p.17-1enzs_j91b.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
26
30
|
:HL["/_next/static/media/e2334d715941921e-s.p.12skym0rqknxy.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
27
|
-
0:{"P":null,"c":["","workspaces"],"q":"","i":false,"f":[[["",{"children":["workspaces",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0-oog4zg4_m~m.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
0:{"P":null,"c":["","workspaces"],"q":"","i":false,"f":[[["",{"children":["workspaces",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0-oog4zg4_m~m.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0os7q6w~-tmg7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0fpf.rso9mhc0.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0kyv5yika-41a.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0e~0o6v_awcod.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/0egot8y~i-ge3.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d.v1csiyl.1~.js","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/_next/static/chunks/0~3uikgc074il.js","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/_next/static/chunks/0xtmr0y4vo-~p.js","async":true,"nonce":"$undefined"}],["$","script","script-7",{"src":"/_next/static/chunks/145gbwitjxamg.js","async":true,"nonce":"$undefined"}],["$","script","script-8",{"src":"/_next/static/chunks/0o6w-uw2p.phy.js","async":true,"nonce":"$undefined"}],["$","script","script-9",{"src":"/_next/static/chunks/11ozf700niy2z.js","async":true,"nonce":"$undefined"}],["$","script","script-10",{"src":"/_next/static/chunks/0w3o.7vi.dlm6.js","async":true,"nonce":"$undefined"}],["$","script","script-11",{"src":"/_next/static/chunks/02unyp1obddyn.js","async":true,"nonce":"$undefined"}],["$","script","script-12",{"src":"/_next/static/chunks/0m1ud--um8kjh.js","async":true,"nonce":"$undefined"}],["$","script","script-13",{"src":"/_next/static/chunks/1250wo~-5dgyx.js","async":true,"nonce":"$undefined"}],["$","script","script-14",{"src":"/_next/static/chunks/0glol5jdarfma.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"","className":"dm_sans_81a33cc5-module___RQdfW__variable outfit_8334a424-module__TwcMYa__variable poppins_37c4598a-module__JRG3Wq__variable h-[var(--app-content-height)] overflow-hidden antialiased","suppressHydrationWarning":true,"children":["$","body",null,{"className":"h-[var(--app-content-height)] overflow-hidden font-sans","children":["$","$L2",null,{"children":["$","$L3",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{}],["$","$L7",null,{"children":[["$","$L8",null,{"children":["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$Lb",null,{}],["$","$Lc",null,{"richColors":true,"position":"bottom-right"}]]}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","$Lf",null,{}],["$","$L10",null,{}]]}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L11",null,{"Component":"$12","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@13","$@14"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/14n8i2xz4_y-e.js","async":true,"nonce":"$undefined"}]],["$","$L15",null,{"children":["$","$16",null,{"name":"Next.MetadataOutlet","children":"$@17"}]}]]}],{},null,false,null]},null,false,"$@18"]},null,false,null],["$","$1","h",{"children":[null,["$","$L19",null,{"children":"$L1a"}],["$","div",null,{"hidden":true,"children":["$","$L1b",null,{"children":["$","$16",null,{"name":"Next.Metadata","children":"$L1c"}]}]}],"$L1d"]}],false]],"m":"$undefined","G":["$1e",["$L1f","$L20"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"4dBAEZ275uRqcyeaRmXSx"}
|
|
32
|
+
21:[]
|
|
33
|
+
18:"$W21"
|
|
34
|
+
1d:["$","meta",null,{"name":"next-size-adjust","content":""}]
|
|
35
|
+
1f:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0-oog4zg4_m~m.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
36
|
+
20:["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0os7q6w~-tmg7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
37
|
+
13:{}
|
|
38
|
+
14:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
39
|
+
1a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"}]]
|
|
40
|
+
22:I[946513,["/_next/static/chunks/0fpf.rso9mhc0.js","/_next/static/chunks/0kyv5yika-41a.js","/_next/static/chunks/0e~0o6v_awcod.js","/_next/static/chunks/0egot8y~i-ge3.js","/_next/static/chunks/0d.v1csiyl.1~.js","/_next/static/chunks/0~3uikgc074il.js","/_next/static/chunks/0xtmr0y4vo-~p.js","/_next/static/chunks/145gbwitjxamg.js","/_next/static/chunks/0o6w-uw2p.phy.js","/_next/static/chunks/11ozf700niy2z.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/02unyp1obddyn.js","/_next/static/chunks/0m1ud--um8kjh.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0glol5jdarfma.js"],"IconMark"]
|
|
41
|
+
17:null
|
|
42
|
+
1c:[["$","title","0",{"children":"Agent Spaces"}],["$","meta","1",{"name":"description","content":"Multi-agent collaborative coding workspace"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0~ekuj.zhggpa.ico","sizes":"32x32","type":"image/x-icon"}],["$","link","3",{"rel":"icon","href":"/favicon.ico"}],["$","link","4",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png"}],["$","$L22","5",{}]]
|
package/dist/ws/agent-prompt.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { readWorkspacePrompt } from '../services/workspace-prompt.js';
|
|
2
1
|
import { stripHtml } from './html-utils.js';
|
|
2
|
+
import { prependPersistentAgentContext } from '../services/persistent-agent-context.js';
|
|
3
3
|
export function buildAgentPrompt(workspaceId, systemPrompt, userPrompt, history = [], runtimeConfig) {
|
|
4
4
|
const parts = [];
|
|
5
5
|
const trimmedSystemPrompt = systemPrompt?.trim();
|
|
@@ -8,6 +8,7 @@ export function buildAgentPrompt(workspaceId, systemPrompt, userPrompt, history
|
|
|
8
8
|
if (runtimeConfig) {
|
|
9
9
|
const configLines = [
|
|
10
10
|
'Agent runtime configuration:',
|
|
11
|
+
`- Current workspace id: ${workspaceId}`,
|
|
11
12
|
`- MCP servers configured for this agent: ${runtimeConfig.mcpServers.length ? runtimeConfig.mcpServers.join(', ') : 'none'}`,
|
|
12
13
|
`- Skills configured for this agent: ${runtimeConfig.skills.length ? runtimeConfig.skills.join(', ') : 'none'}`,
|
|
13
14
|
'- Runtime tools available through Claude Code: Read, Write, Edit, MultiEdit, Bash, Grep, Glob, Task, TodoWrite, WebFetch, WebSearch',
|
|
@@ -18,7 +19,7 @@ export function buildAgentPrompt(workspaceId, systemPrompt, userPrompt, history
|
|
|
18
19
|
}
|
|
19
20
|
configLines.push('- For Bash commands that create or modify files under the current working directory, use relative paths such as `mkdir -p css js` instead of absolute paths.');
|
|
20
21
|
if (runtimeConfig.builtInTools?.length) {
|
|
21
|
-
configLines.push(...formatBuiltInToolContext(runtimeConfig.builtInTools));
|
|
22
|
+
configLines.push(...formatBuiltInToolContext(workspaceId, runtimeConfig.builtInTools));
|
|
22
23
|
}
|
|
23
24
|
if (isIssueContextLookup(userPrompt)) {
|
|
24
25
|
configLines.push('Current issue lookup rule:', '- The user is asking for the current channel issue.', '- If Agent Spaces channel tools include ViewCurrentChannelIssue, call that function tool first and answer from the tool result.', '- Do not use Bash, Glob, Grep, or project files to infer the current channel issue.', '- If ViewCurrentChannelIssue is not configured but CreateCurrentChannelIssue is configured, say this channel is not bound to an issue yet.', '- If no Agent Spaces channel issue tool is configured, say the issue tool is unavailable.');
|
|
@@ -32,24 +33,33 @@ export function buildAgentPrompt(workspaceId, systemPrompt, userPrompt, history
|
|
|
32
33
|
parts.push(['Conversation history:', ...historyLines].join('\n'));
|
|
33
34
|
}
|
|
34
35
|
parts.push(`User message:\n${userPrompt}`);
|
|
35
|
-
return
|
|
36
|
+
return prependPersistentAgentContext(parts.join('\n\n'), {
|
|
37
|
+
workspaceId,
|
|
38
|
+
workingDir: runtimeConfig?.workingDir ?? runtimeConfig?.boundDirs?.[0] ?? process.cwd(),
|
|
39
|
+
boundDirs: runtimeConfig?.boundDirs,
|
|
40
|
+
excludeNativeClaudeMd: runtimeConfig?.excludeNativeClaudeMd,
|
|
41
|
+
});
|
|
36
42
|
}
|
|
37
43
|
function formatConversationHistory(history) {
|
|
38
|
-
const
|
|
44
|
+
const historyLines = [];
|
|
45
|
+
let remainingBudget = 24_000;
|
|
39
46
|
for (const msg of history) {
|
|
40
47
|
const role = msg.senderId === 'user' ? 'User' : (msg.senderRole || 'Agent');
|
|
41
48
|
const text = msg.senderId === 'user' ? stripHtml(msg.content) : getAgentFinalMessage(msg);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
appendHistoryLine(historyLines, `[${role}]`, text, remainingBudget);
|
|
50
|
+
remainingBudget -= text.length;
|
|
51
|
+
if (remainingBudget <= 0)
|
|
52
|
+
break;
|
|
45
53
|
for (const reply of msg.replies ?? []) {
|
|
46
54
|
const replyRole = reply.senderId === 'user' ? 'User' : (reply.senderRole || 'Agent');
|
|
47
55
|
const replyText = reply.senderId === 'user' ? stripHtml(reply.content) : getReplyFinalMessage(reply);
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
appendHistoryLine(historyLines, `[${replyRole} reply]`, replyText, remainingBudget);
|
|
57
|
+
remainingBudget -= replyText.length;
|
|
58
|
+
if (remainingBudget <= 0)
|
|
59
|
+
break;
|
|
50
60
|
}
|
|
51
61
|
}
|
|
52
|
-
return
|
|
62
|
+
return historyLines;
|
|
53
63
|
}
|
|
54
64
|
function getAgentFinalMessage(message) {
|
|
55
65
|
const finalTextParts = message.parts
|
|
@@ -89,6 +99,30 @@ function stripToolLikeHistoryLines(content) {
|
|
|
89
99
|
});
|
|
90
100
|
return kept.join('\n').trim();
|
|
91
101
|
}
|
|
102
|
+
function appendHistoryLine(lines, label, rawText, remainingBudget) {
|
|
103
|
+
const text = compactHistoryText(rawText);
|
|
104
|
+
if (!text || remainingBudget <= 0)
|
|
105
|
+
return;
|
|
106
|
+
const clipped = clipText(text, Math.min(remainingBudget, 4_000));
|
|
107
|
+
if (clipped)
|
|
108
|
+
lines.push(`${label}: ${clipped}`);
|
|
109
|
+
}
|
|
110
|
+
function compactHistoryText(text) {
|
|
111
|
+
return stripPromptContextLeak(stripToolLikeHistoryLines(text))
|
|
112
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
113
|
+
.trim();
|
|
114
|
+
}
|
|
115
|
+
function stripPromptContextLeak(text) {
|
|
116
|
+
return text
|
|
117
|
+
.replace(/Persistent agent instructions:\n[\s\S]*?(?=\n\n(?:Agent runtime configuration:|Conversation history:|User message:)|$)/g, '')
|
|
118
|
+
.replace(/Workspace prompt:\n[\s\S]*?(?=\n\n(?:Agent runtime configuration:|Conversation history:|User message:)|$)/g, '')
|
|
119
|
+
.trim();
|
|
120
|
+
}
|
|
121
|
+
function clipText(text, maxChars) {
|
|
122
|
+
if (text.length <= maxChars)
|
|
123
|
+
return text;
|
|
124
|
+
return `${text.slice(0, Math.max(0, maxChars - 32)).trimEnd()}\n[history truncated]`;
|
|
125
|
+
}
|
|
92
126
|
export function buildBuiltInTools(functionTools, channel, issue) {
|
|
93
127
|
if (!functionTools.length || !channel)
|
|
94
128
|
return [];
|
|
@@ -101,25 +135,21 @@ export function buildBuiltInTools(functionTools, channel, issue) {
|
|
|
101
135
|
issueTitle,
|
|
102
136
|
}));
|
|
103
137
|
}
|
|
104
|
-
function prependWorkspacePrompt(workspaceId, prompt) {
|
|
105
|
-
const workspacePrompt = readWorkspacePrompt(workspaceId).trim();
|
|
106
|
-
if (!workspacePrompt)
|
|
107
|
-
return prompt;
|
|
108
|
-
return `${workspacePrompt}\n\n${prompt}`;
|
|
109
|
-
}
|
|
110
138
|
function isIssueContextLookup(userPrompt) {
|
|
111
139
|
const text = stripHtml(userPrompt).toLowerCase();
|
|
112
140
|
return /当前频道.*议题|议题内容|current channel.*issue|issue.*current channel/.test(text);
|
|
113
141
|
}
|
|
114
|
-
function formatBuiltInToolContext(tools) {
|
|
142
|
+
function formatBuiltInToolContext(workspaceId, tools) {
|
|
115
143
|
const firstTool = tools[0];
|
|
116
144
|
const firstIssueTool = tools.find((tool) => tool.issueId);
|
|
117
145
|
const lines = [
|
|
118
146
|
'Built-in issue tool rules:',
|
|
119
147
|
'- These are real function-call tools exposed by the Agent Spaces runtime.',
|
|
120
148
|
'- They are not agent-configured MCP servers and must be reported only as Agent Spaces channel tools.',
|
|
121
|
-
'- Tool calls must use the current
|
|
149
|
+
'- Tool calls that require workspaceId must use the current workspace id.',
|
|
150
|
+
'- Issue tool calls must use the current channel id.',
|
|
122
151
|
];
|
|
152
|
+
lines.push(`- Current workspace id: ${workspaceId}`);
|
|
123
153
|
if (firstTool?.channelId)
|
|
124
154
|
lines.push(`- Current channel id: ${firstTool.channelId}`);
|
|
125
155
|
if (firstIssueTool?.issueId) {
|
package/dist/ws/agent-runner.js
CHANGED
|
@@ -156,6 +156,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
156
156
|
}, preset.tools),
|
|
157
157
|
...createCommandFunctionTools(workspaceId),
|
|
158
158
|
];
|
|
159
|
+
const workingDir = agentService.resolveWorkingDir(workspaceId, preset);
|
|
159
160
|
const startTime = Date.now();
|
|
160
161
|
const existingMessage = options.messageId
|
|
161
162
|
? listMessages(workspaceId, channelId).find((message) => message.id === options.messageId)
|
|
@@ -259,8 +260,10 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
259
260
|
mcpServers: Object.keys(mcpServers ?? {}),
|
|
260
261
|
skills,
|
|
261
262
|
boundDirs: workspace?.boundDirs,
|
|
263
|
+
workingDir,
|
|
264
|
+
excludeNativeClaudeMd: preset.runtimeKind === 'claude-code',
|
|
262
265
|
builtInTools: buildBuiltInTools(functionTools, channel, issue),
|
|
263
|
-
}),
|
|
266
|
+
}), workingDir, {
|
|
264
267
|
maxTurns: 100,
|
|
265
268
|
functionTools,
|
|
266
269
|
mcpServers,
|
package/dist/ws/message-parts.js
CHANGED
|
@@ -71,6 +71,8 @@ export function normalizeOutputLines(output) {
|
|
|
71
71
|
.filter((line) => line.trim());
|
|
72
72
|
const seenInitLines = new Set();
|
|
73
73
|
return lines.filter((line) => {
|
|
74
|
+
if (isIgnorableToolProgressLine(line))
|
|
75
|
+
return false;
|
|
74
76
|
if (!/^Claude Code initialized\b/i.test(line))
|
|
75
77
|
return true;
|
|
76
78
|
if (seenInitLines.has(line))
|
|
@@ -438,6 +440,12 @@ function summarizeMessageTitle(text) {
|
|
|
438
440
|
function isToolLikeLine(line) {
|
|
439
441
|
return /^(Using|Tool:|Read|Write|Edit|MultiEdit|Bash|Search|Grep|Glob|Todo|Task|Web|Fetch|Claude Code initialized|Codex initialized|.+ running \(\d+s\))/i.test(line.trim());
|
|
440
442
|
}
|
|
443
|
+
function isIgnorableToolProgressLine(line) {
|
|
444
|
+
const trimmed = line.trim();
|
|
445
|
+
return /^Claude$/i.test(trimmed)
|
|
446
|
+
|| /^reading$/i.test(trimmed)
|
|
447
|
+
|| /^Read\s+running\s+\(\d+s\)$/i.test(trimmed);
|
|
448
|
+
}
|
|
441
449
|
function isFinalAnswerLine(line) {
|
|
442
450
|
return !isToolLikeLine(line) && !/^(\[.*\]|Agent runtime configuration:|Conversation history:)/.test(line.trim());
|
|
443
451
|
}
|
|
@@ -4,7 +4,7 @@ export function handleTerminalEvent(_ws, workspaceId, event, data) {
|
|
|
4
4
|
switch (event) {
|
|
5
5
|
case 'terminal.create': {
|
|
6
6
|
const payload = data;
|
|
7
|
-
const cwd = payload.cwd || process.env.HOME || '/tmp';
|
|
7
|
+
const cwd = payload.cwd || process.env.HOME || process.env.USERPROFILE || (process.platform === 'win32' ? process.env.SYSTEMROOT || 'C:\\' : '/tmp');
|
|
8
8
|
const sessionId = ptyService.createSession(workspaceId, cwd, (id, output) => {
|
|
9
9
|
broadcastToWorkspace(workspaceId, 'terminal.output', { sessionId: id, data: output });
|
|
10
10
|
}, (id, exitCode) => {
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|