@agent-spaces/server 0.3.61 → 0.3.63
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/agent-runtime-types.js +12 -0
- package/dist/adapters/claude-code-runtime/index.js +22 -0
- package/dist/adapters/claude-code-runtime/sdk-config.js +34 -10
- package/dist/adapters/codex-runtime.js +2 -2
- package/dist/adapters/git.js +29 -13
- package/dist/adapters/langchain-runtime.js +2 -2
- package/dist/adapters/open-agent-sdk-runtime.js +2 -2
- package/dist/agents/agent-message-parts.js +27 -3
- package/dist/agents/commit-agent.js +1 -0
- package/dist/agents/issue-agent-progress.js +4 -2
- package/dist/agents/issue-agent-runner.js +5 -5
- package/dist/agents/issue-task-controller.js +95 -14
- package/dist/app.js +74 -5
- package/dist/package.json +1 -1
- package/dist/routes/agent-sse.js +4 -2
- package/dist/routes/channel.js +21 -4
- package/dist/routes/file.js +87 -1
- package/dist/routes/hooks.js +88 -0
- package/dist/routes/issue.js +59 -1
- package/dist/routes/output-style.js +48 -0
- package/dist/routes/prompt-template.js +2 -2
- package/dist/routes/skill.js +97 -3
- package/dist/routes/task.js +13 -1
- package/dist/services/agent.js +45 -16
- package/dist/services/hook-engine.js +118 -0
- package/dist/services/issue.js +6 -0
- package/dist/services/notification-hub/bot-agent.js +1 -0
- package/dist/services/output-style.js +134 -0
- package/dist/services/persistent-agent-context.js +37 -4
- package/dist/services/prompt-template.js +2 -2
- package/dist/services/skill.js +275 -40
- package/dist/storage/hook-store.js +55 -0
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +4 -4
- package/dist/web/__next._full.txt +25 -23
- package/dist/web/__next._head.txt +4 -4
- package/dist/web/__next._index.txt +13 -13
- package/dist/web/__next._tree.txt +2 -2
- package/dist/web/_next/static/chunks/0-1bfvfwifh-m.js +1 -0
- package/dist/web/_next/static/chunks/0-f~0xmwl__u5.js +1 -0
- package/dist/web/_next/static/chunks/0.n~yfwf4~6w-.js +1 -0
- package/dist/web/_next/static/chunks/002_j970b9gdx.js +1 -0
- package/dist/web/_next/static/chunks/014x2qbuiszni.js +3 -0
- package/dist/web/_next/static/chunks/01iqv28_snwus.js +1 -0
- package/dist/web/_next/static/chunks/02c22g~xd-y30.js +19 -0
- package/dist/web/_next/static/chunks/02mf61htij8g0.js +31 -0
- package/dist/web/_next/static/chunks/03scq1-0ykve3.js +1 -0
- package/dist/web/_next/static/chunks/046me66nilkff.js +1 -0
- package/dist/web/_next/static/chunks/04v-pqqs-2lvp.css +1 -0
- package/dist/web/_next/static/chunks/05f8cnmzqd5wb.js +1 -0
- package/dist/web/_next/static/chunks/{0zd1o3u04~qvo.js → 05psi2gtx~bev.js} +7 -7
- package/dist/web/_next/static/chunks/{12odetnu-lyrr.js → 06whz1~s_7pva.js} +12 -12
- package/dist/web/_next/static/chunks/06w~.izyfylap.js +1 -0
- package/dist/web/_next/static/chunks/08kfx8on9oty~.js +1 -0
- package/dist/web/_next/static/chunks/09t62a89~jesc.js +3 -0
- package/dist/web/_next/static/chunks/09y_3krccdd~u.js +1 -0
- package/dist/web/_next/static/chunks/{0njy89g5coeyi.js → 0_8dm7bxp18xo.js} +6 -6
- package/dist/web/_next/static/chunks/0_e~hmntdfop9.js +1 -0
- package/dist/web/_next/static/chunks/0_udc.6.tueey.js +1 -0
- package/dist/web/_next/static/chunks/0_vi1a~g4wx46.js +3 -0
- package/dist/web/_next/static/chunks/{05iy4.c-1cfhd.js → 0aa6bcdmtpekn.js} +1 -1
- package/dist/web/_next/static/chunks/{0tvd~rxgf0oh_.js → 0bbmx45w_h5np.js} +1 -1
- package/dist/web/_next/static/chunks/0cke33d38fnby.js +90 -0
- package/dist/web/_next/static/chunks/{0w1iudd1d46sw.js → 0ctg5qmw7uu.1.js} +2 -2
- package/dist/web/_next/static/chunks/0cyq~8xb~r5fc.js +1 -0
- package/dist/web/_next/static/chunks/0ewceguykiut5.js +1 -0
- package/dist/web/_next/static/chunks/0fxa1edqr7dve.js +1 -0
- package/dist/web/_next/static/chunks/{0202ia13sijwb.js → 0h18ej5yf974e.js} +1 -1
- package/dist/web/_next/static/chunks/0hra80eyuu37u.js +1 -0
- package/dist/web/_next/static/chunks/0i39jifmxla7q.js +1 -0
- package/dist/web/_next/static/chunks/0ie7y4k2ncvnn.js +1 -0
- package/dist/web/_next/static/chunks/0igc~uli58ncw.js +2 -0
- package/dist/web/_next/static/chunks/0kof5qdg8c2-k.js +71 -0
- package/dist/web/_next/static/chunks/{08o-zmr-40r5g.js → 0m11vvph7q94-.js} +1 -1
- package/dist/web/_next/static/chunks/0msb2mi3hiu5_.js +67 -0
- package/dist/web/_next/static/chunks/0np.d~hc1-pmh.js +4 -0
- package/dist/web/_next/static/chunks/{0qpq0~_58fe9a.js → 0oaq67r7ix.vg.js} +1 -1
- package/dist/web/_next/static/chunks/0ogpc3f3keopc.js +3 -0
- package/dist/web/_next/static/chunks/{0d_dp_4ofz0l3.css → 0ojcao3hdm36s.css} +0 -1
- package/dist/web/_next/static/chunks/0p1n8bvfnpl41.js +1 -0
- package/dist/web/_next/static/chunks/{0gig.k.rq8d0x.js → 0ppr271hz0xoq.js} +1 -1
- package/dist/web/_next/static/chunks/0s_dva~eh2yhi.js +3 -0
- package/dist/web/_next/static/chunks/0typj55ox8d5i.js +1 -0
- package/dist/web/_next/static/chunks/0w2p4ldi2aymp.js +1 -0
- package/dist/web/_next/static/chunks/{0..g0jl-8qup7.js → 0xoo17yef_b8g.js} +1 -1
- package/dist/web/_next/static/chunks/0xt-8wk21gs7g.js +1 -0
- package/dist/web/_next/static/chunks/0y09i51u6ixq5.js +1 -0
- package/dist/web/_next/static/chunks/0za1r07-6az6w.js +1 -0
- package/dist/web/_next/static/chunks/0zc0xgp5ourcn.js +1 -0
- package/dist/web/_next/static/chunks/0zmhdridea1s5.js +90 -0
- package/dist/web/_next/static/chunks/0~u.5r3-t7179.js +1 -0
- package/dist/web/_next/static/chunks/10.alq.6stmld.js +1 -0
- package/dist/web/_next/static/chunks/11-czmcci_55y.js +1 -0
- package/dist/web/_next/static/chunks/11b3zgk1etlkw.js +7 -0
- package/dist/web/_next/static/chunks/11k-.49r~1mfm.js +1 -0
- package/dist/web/_next/static/chunks/11qp8r5dotf7d.js +1 -0
- package/dist/web/_next/static/chunks/128ugqd34tr_-.js +1 -0
- package/dist/web/_next/static/chunks/12mxlicp247c8.js +1 -0
- package/dist/web/_next/static/chunks/135w27dd8c19s.js +5 -0
- package/dist/web/_next/static/chunks/13~y-b.b9rrw4.js +1 -0
- package/dist/web/_next/static/chunks/{0jokpgh485~28.js → 14hqmid8q4apf.js} +11 -11
- package/dist/web/_next/static/chunks/16sg-lflc8csx.js +1 -0
- package/dist/web/_next/static/chunks/176dc-dtokxxi.js +16 -0
- package/dist/web/_next/static/chunks/17g-0pqre.anw.js +1 -0
- package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +1 -0
- package/dist/web/_next/static/chunks/{turbopack-0lrdxynxb9-1t.js → turbopack-0ndm2zc_pdptk.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +29 -30
- package/dist/web/_not-found/__next._head.txt +4 -4
- package/dist/web/_not-found/__next._index.txt +13 -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 +29 -30
- package/dist/web/icons/file_type_audio.svg +3 -1
- package/dist/web/icons/file_type_video.svg +10 -1
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +25 -23
- package/dist/web/login/__next._full.txt +30 -28
- package/dist/web/login/__next._head.txt +4 -4
- package/dist/web/login/__next._index.txt +13 -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 +30 -28
- package/dist/web/settings/__next._full.txt +32 -31
- package/dist/web/settings/__next._head.txt +4 -4
- package/dist/web/settings/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings/agents/__next._head.txt +4 -4
- package/dist/web/settings/agents/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings/mcps/__next._full.txt +35 -34
- package/dist/web/settings/mcps/__next._head.txt +4 -4
- package/dist/web/settings/mcps/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings/models/__next._full.txt +35 -34
- package/dist/web/settings/models/__next._head.txt +4 -4
- package/dist/web/settings/models/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings/output-styles/__next._full.txt +43 -0
- package/dist/web/settings/output-styles/__next._head.txt +6 -0
- package/dist/web/settings/output-styles/__next._index.txt +15 -0
- package/dist/web/settings/output-styles/__next._tree.txt +8 -0
- package/dist/web/settings/output-styles/__next.settings.output-styles.__PAGE__.txt +9 -0
- package/dist/web/settings/output-styles/__next.settings.output-styles.txt +5 -0
- package/dist/web/settings/output-styles/__next.settings.txt +7 -0
- package/dist/web/settings/output-styles.html +1 -0
- package/dist/web/settings/output-styles.txt +43 -0
- package/dist/web/settings/prompts/__next._full.txt +35 -34
- package/dist/web/settings/prompts/__next._head.txt +4 -4
- package/dist/web/settings/prompts/__next._index.txt +13 -13
- package/dist/web/settings/prompts/__next._tree.txt +2 -2
- package/dist/web/settings/prompts/__next.settings.prompts.__PAGE__.txt +4 -4
- package/dist/web/settings/prompts/__next.settings.prompts.txt +3 -3
- package/dist/web/settings/prompts/__next.settings.txt +5 -5
- package/dist/web/settings/prompts.html +1 -1
- package/dist/web/settings/prompts.txt +35 -34
- package/dist/web/settings/providers/__next._full.txt +35 -34
- package/dist/web/settings/providers/__next._head.txt +4 -4
- package/dist/web/settings/providers/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings/skills/__next._full.txt +35 -34
- package/dist/web/settings/skills/__next._head.txt +4 -4
- package/dist/web/settings/skills/__next._index.txt +13 -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 +35 -34
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +32 -31
- package/dist/web/workflows/__next._full.txt +32 -30
- package/dist/web/workflows/__next._head.txt +4 -4
- package/dist/web/workflows/__next._index.txt +13 -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 +32 -30
- package/dist/web/workspace/_/__next._full.txt +30 -70
- package/dist/web/workspace/_/__next._head.txt +4 -4
- package/dist/web/workspace/_/__next._index.txt +13 -13
- package/dist/web/workspace/_/__next._tree.txt +2 -17
- package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -18
- 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 +30 -70
- package/dist/web/workspaces/__next._full.txt +31 -29
- package/dist/web/workspaces/__next._head.txt +4 -4
- package/dist/web/workspaces/__next._index.txt +13 -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 +31 -29
- package/dist/ws/agent-runner.js +55 -33
- package/dist/ws/message-parts.js +61 -2
- package/package.json +1 -1
- package/public/output-styles/carmack-mode.md +381 -0
- package/public/output-styles/codex-rigor-mode.md +114 -0
- package/public/output-styles/dhh-mode.md +265 -0
- package/public/output-styles/evan-you-mode.md +539 -0
- package/public/output-styles/index.json +37 -0
- package/public/output-styles/jobs-mode.md +369 -0
- package/public/output-styles/linus-mode.md +135 -0
- package/public/output-styles/uncle-bob-mode.md +221 -0
- package/public/prompt/andrej-karpathy-skills.md +65 -0
- package/public/prompt/claude-token-efficient-coding.md +35 -0
- package/public/prompt/index.json +12 -0
- package/public/skills/index.json +92 -0
- package/public/skills/planning-with-files/planning-with-files-zh/SKILL.md +243 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.ps1 +44 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.sh +46 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.ps1 +124 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.sh +124 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/session-catchup.py +438 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/findings.md +29 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/progress.md +40 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/task_plan.md +58 -0
- package/public/skills/superpowers/brainstorming/SKILL.md +164 -0
- package/public/skills/superpowers/brainstorming/scripts/frame-template.html +214 -0
- package/public/skills/superpowers/brainstorming/scripts/helper.js +88 -0
- package/public/skills/superpowers/brainstorming/scripts/server.cjs +354 -0
- package/public/skills/superpowers/brainstorming/scripts/start-server.sh +148 -0
- package/public/skills/superpowers/brainstorming/scripts/stop-server.sh +56 -0
- package/public/skills/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/public/skills/superpowers/brainstorming/visual-companion.md +287 -0
- package/public/skills/superpowers/dispatching-parallel-agents/SKILL.md +182 -0
- package/public/skills/superpowers/executing-plans/SKILL.md +70 -0
- package/public/skills/superpowers/finishing-a-development-branch/SKILL.md +251 -0
- package/public/skills/superpowers/receiving-code-review/SKILL.md +213 -0
- package/public/skills/superpowers/requesting-code-review/SKILL.md +103 -0
- package/public/skills/superpowers/requesting-code-review/code-reviewer.md +168 -0
- package/public/skills/superpowers/subagent-driven-development/SKILL.md +279 -0
- package/public/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +25 -0
- package/public/skills/superpowers/subagent-driven-development/implementer-prompt.md +113 -0
- package/public/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/public/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/public/skills/superpowers/systematic-debugging/SKILL.md +296 -0
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/public/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/public/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/public/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/public/skills/superpowers/systematic-debugging/test-academic.md +14 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/public/skills/superpowers/test-driven-development/SKILL.md +371 -0
- package/public/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/public/skills/superpowers/using-git-worktrees/SKILL.md +215 -0
- package/public/skills/superpowers/using-superpowers/SKILL.md +117 -0
- package/public/skills/superpowers/using-superpowers/references/codex-tools.md +59 -0
- package/public/skills/superpowers/using-superpowers/references/copilot-tools.md +42 -0
- package/public/skills/superpowers/using-superpowers/references/gemini-tools.md +51 -0
- package/public/skills/superpowers/verification-before-completion/SKILL.md +139 -0
- package/public/skills/superpowers/writing-plans/SKILL.md +152 -0
- package/public/skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/public/skills/superpowers/writing-skills/SKILL.md +655 -0
- package/public/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/public/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/public/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/public/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/public/skills/superpowers/writing-skills/render-graphs.js +168 -0
- package/public/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/dist/web/_next/static/chunks/0-1pn22sg~67u.js +0 -2
- package/dist/web/_next/static/chunks/01gi~q0c6ez6..js +0 -1
- package/dist/web/_next/static/chunks/03me5_ir..2ix.js +0 -1
- package/dist/web/_next/static/chunks/05eu2fdixf7c9.js +0 -1
- package/dist/web/_next/static/chunks/0_-c.y2qq4ax4.js +0 -270
- package/dist/web/_next/static/chunks/0_g3irbniww6d.js +0 -3
- package/dist/web/_next/static/chunks/0cs830n97dgjy.js +0 -1
- package/dist/web/_next/static/chunks/0g-0n6glz_z6w.js +0 -1
- package/dist/web/_next/static/chunks/0gyede80jpy3n.js +0 -4
- package/dist/web/_next/static/chunks/0hrbuvzuxrjfl.js +0 -1
- package/dist/web/_next/static/chunks/0ju52ko_nh7gi.js +0 -1
- package/dist/web/_next/static/chunks/0mny8i81aenx3.js +0 -1
- package/dist/web/_next/static/chunks/0nsu~f3voe~0i.js +0 -5
- package/dist/web/_next/static/chunks/0sz8_nijfiz0p.js +0 -1
- package/dist/web/_next/static/chunks/0u7_qd9hzqwac.js +0 -1
- package/dist/web/_next/static/chunks/0w3o.7vi.dlm6.js +0 -1
- package/dist/web/_next/static/chunks/0wv0h27jafag4.js +0 -1
- package/dist/web/_next/static/chunks/0wwvc4zc2q6bn.js +0 -1
- package/dist/web/_next/static/chunks/0x4b-a2ixww6m.js +0 -1
- package/dist/web/_next/static/chunks/0xwqf.llmm_u2.js +0 -31
- package/dist/web/_next/static/chunks/0~w6ugk9s5p-h.css +0 -1
- package/dist/web/_next/static/chunks/125nunjfj2fj0.js +0 -1
- package/dist/web/_next/static/chunks/1285yqy_oirb-.js +0 -1
- package/dist/web/_next/static/chunks/13ess~4pdmxma.js +0 -1
- package/dist/web/_next/static/chunks/14n8i2xz4_y-e.js +0 -1
- package/public/avatars/1777813826407-bea0ja-minimax.svg +0 -1
- package/public/avatars/1777813967088-3xlvd0-minimax.svg +0 -1
- package/public/avatars/1777814041714-yp0qeq-minimax.svg +0 -1
- package/public/avatars/1777904986095-rg26je-icon.png +0 -0
- package/public/avatars/1778953228323-5je54x-user.jpg +0 -0
- package/public/avatars/1778954057880-g01q6y-user.jpg +0 -0
- /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → OoXAsPtrUWjC1l898FSvI}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → OoXAsPtrUWjC1l898FSvI}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{HUlYEknPhyW7dRmJ5mFdG → OoXAsPtrUWjC1l898FSvI}/_ssgManifest.js +0 -0
- /package/public/avatars/{1777815865622-08wp9m-user.jpg → user.jpg} +0 -0
package/dist/web/workspaces.txt
CHANGED
|
@@ -1,38 +1,40 @@
|
|
|
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[177053,["/_next/static/chunks/
|
|
7
|
-
7:I[994876,["/_next/static/chunks/
|
|
8
|
-
8:I[242864,["/_next/static/chunks/
|
|
9
|
-
9:I[46907,["/_next/static/chunks/
|
|
10
|
-
a:I[698679,["/_next/static/chunks/
|
|
11
|
-
b:I[360112,["/_next/static/chunks/
|
|
12
|
-
c:I[984642,["/_next/static/chunks/
|
|
13
|
-
d:I[487786,["/_next/static/chunks/
|
|
14
|
-
e:I[259295,["/_next/static/chunks/
|
|
15
|
-
|
|
16
|
-
12:"$Sreact.suspense"
|
|
17
|
-
15:I[990774,["/_next/static/chunks/0x4b-a2ixww6m.js","/_next/static/chunks/0-1pn22sg~67u.js","/_next/static/chunks/0gig.k.rq8d0x.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0mny8i81aenx3.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/1285yqy_oirb-.js","/_next/static/chunks/125nunjfj2fj0.js","/_next/static/chunks/0nsu~f3voe~0i.js","/_next/static/chunks/05eu2fdixf7c9.js","/_next/static/chunks/0cs830n97dgjy.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0sz8_nijfiz0p.js","/_next/static/chunks/03me5_ir..2ix.js"],"ViewportBoundary"]
|
|
18
|
-
17:I[990774,["/_next/static/chunks/0x4b-a2ixww6m.js","/_next/static/chunks/0-1pn22sg~67u.js","/_next/static/chunks/0gig.k.rq8d0x.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0mny8i81aenx3.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/1285yqy_oirb-.js","/_next/static/chunks/125nunjfj2fj0.js","/_next/static/chunks/0nsu~f3voe~0i.js","/_next/static/chunks/05eu2fdixf7c9.js","/_next/static/chunks/0cs830n97dgjy.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0sz8_nijfiz0p.js","/_next/static/chunks/03me5_ir..2ix.js"],"MetadataBoundary"]
|
|
19
|
-
1a:I[785502,["/_next/static/chunks/0x4b-a2ixww6m.js","/_next/static/chunks/0-1pn22sg~67u.js","/_next/static/chunks/0gig.k.rq8d0x.js","/_next/static/chunks/0w3o.7vi.dlm6.js","/_next/static/chunks/0mny8i81aenx3.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/1285yqy_oirb-.js","/_next/static/chunks/125nunjfj2fj0.js","/_next/static/chunks/0nsu~f3voe~0i.js","/_next/static/chunks/05eu2fdixf7c9.js","/_next/static/chunks/0cs830n97dgjy.js","/_next/static/chunks/0_g3irbniww6d.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0sz8_nijfiz0p.js","/_next/static/chunks/03me5_ir..2ix.js"],"default",1]
|
|
2
|
+
2:I[701341,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ZoomWrapper"]
|
|
3
|
+
3:I[950396,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ThemeProvider"]
|
|
4
|
+
4:I[556106,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"LocaleProvider"]
|
|
5
|
+
5:I[694819,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ViewportInsets"]
|
|
6
|
+
6:I[177053,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"AuthGuard"]
|
|
7
|
+
7:I[994876,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"AppShell"]
|
|
8
|
+
8:I[242864,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"default"]
|
|
9
|
+
9:I[46907,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"default"]
|
|
10
|
+
a:I[698679,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"CommandPalette"]
|
|
11
|
+
b:I[360112,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"Toaster"]
|
|
12
|
+
c:I[984642,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ConsolePanel"]
|
|
13
|
+
d:I[487786,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ClientPageRoot"]
|
|
14
|
+
e:I[259295,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js","/_next/static/chunks/08kfx8on9oty~.js"],"default"]
|
|
15
|
+
15:I[785502,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"default",1]
|
|
20
16
|
:HL["/_next/static/chunks/0-oog4zg4_m~m.css","style"]
|
|
21
|
-
:HL["/_next/static/chunks/
|
|
17
|
+
:HL["/_next/static/chunks/04v-pqqs-2lvp.css","style"]
|
|
22
18
|
:HL["/_next/static/media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
23
19
|
:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
24
20
|
:HL["/_next/static/media/8e6fa89aa22d24ec-s.p.0uvzar8hswo3p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
25
21
|
:HL["/_next/static/media/a218039a3287bcfd-s.p.17-1enzs_j91b.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
26
22
|
: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
|
-
|
|
23
|
+
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/04v-pqqs-2lvp.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0ppr271hz0xoq.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0ie7y4k2ncvnn.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0~u.5r3-t7179.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/002-dxhags4dj.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0fxa1edqr7dve.js","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/_next/static/chunks/0hra80eyuu37u.js","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/_next/static/chunks/0_vi1a~g4wx46.js","async":true,"nonce":"$undefined"}],["$","script","script-7",{"src":"/_next/static/chunks/0w2p4ldi2aymp.js","async":true,"nonce":"$undefined"}],["$","script","script-8",{"src":"/_next/static/chunks/0.n~yfwf4~6w-.js","async":true,"nonce":"$undefined"}],["$","script","script-9",{"src":"/_next/static/chunks/002_j970b9gdx.js","async":true,"nonce":"$undefined"}],["$","script","script-10",{"src":"/_next/static/chunks/11k-.49r~1mfm.js","async":true,"nonce":"$undefined"}],["$","script","script-11",{"src":"/_next/static/chunks/0-1bfvfwifh-m.js","async":true,"nonce":"$undefined"}],["$","script","script-12",{"src":"/_next/static/chunks/09y_3krccdd~u.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/0igc~uli58ncw.js","async":true,"nonce":"$undefined"}],["$","script","script-15",{"src":"/_next/static/chunks/135w27dd8c19s.js","async":true,"nonce":"$undefined"}],["$","script","script-16",{"src":"/_next/static/chunks/046me66nilkff.js","async":true,"nonce":"$undefined"}],["$","script","script-17",{"src":"/_next/static/chunks/06w~.izyfylap.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,{"children":[["$","$L7",null,{"children":["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",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"}]}],["$","$La",null,{}],["$","$Lb",null,{"richColors":true,"position":"bottom-right"}]]}],["$","$Lc",null,{}]]}]}]}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L8",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L9",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$Ld",null,{"Component":"$e","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@f","$@10"]}}],["$L11"],"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16","$L17"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"OoXAsPtrUWjC1l898FSvI"}
|
|
24
|
+
18:I[990774,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"OutletBoundary"]
|
|
25
|
+
19:"$Sreact.suspense"
|
|
26
|
+
1c:I[990774,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"ViewportBoundary"]
|
|
27
|
+
1e:I[990774,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"MetadataBoundary"]
|
|
28
|
+
11:["$","script","script-0",{"src":"/_next/static/chunks/08kfx8on9oty~.js","async":true,"nonce":"$undefined"}]
|
|
29
|
+
12:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}]
|
|
30
|
+
1b:[]
|
|
31
|
+
13:"$W1b"
|
|
32
|
+
14:["$","$1","h",{"children":[null,["$","$L1c",null,{"children":"$L1d"}],["$","div",null,{"hidden":true,"children":["$","$L1e",null,{"children":["$","$19",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
33
|
+
16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0-oog4zg4_m~m.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
34
|
+
17:["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/04v-pqqs-2lvp.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
33
35
|
f:{}
|
|
34
36
|
10:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
1d:[["$","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"}]]
|
|
38
|
+
20:I[946513,["/_next/static/chunks/0ppr271hz0xoq.js","/_next/static/chunks/0ie7y4k2ncvnn.js","/_next/static/chunks/0~u.5r3-t7179.js","/_next/static/chunks/002-dxhags4dj.js","/_next/static/chunks/0fxa1edqr7dve.js","/_next/static/chunks/0hra80eyuu37u.js","/_next/static/chunks/0_vi1a~g4wx46.js","/_next/static/chunks/0w2p4ldi2aymp.js","/_next/static/chunks/0.n~yfwf4~6w-.js","/_next/static/chunks/002_j970b9gdx.js","/_next/static/chunks/11k-.49r~1mfm.js","/_next/static/chunks/0-1bfvfwifh-m.js","/_next/static/chunks/09y_3krccdd~u.js","/_next/static/chunks/1250wo~-5dgyx.js","/_next/static/chunks/0igc~uli58ncw.js","/_next/static/chunks/135w27dd8c19s.js","/_next/static/chunks/046me66nilkff.js","/_next/static/chunks/06w~.izyfylap.js"],"IconMark"]
|
|
39
|
+
1a:null
|
|
40
|
+
1f:[["$","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"}],["$","$L20","5",{}]]
|
package/dist/ws/agent-runner.js
CHANGED
|
@@ -10,7 +10,9 @@ import { createAgentRuntime } from '../adapters/agent-runtime.js';
|
|
|
10
10
|
import { saveToolDetails } from '../services/tool-detail.js';
|
|
11
11
|
import { getThinkingRuntimeConfig } from '../services/llm-model-config.js';
|
|
12
12
|
import { buildAgentMessageParts, normalizeOutputLines, mergeRuntimeOutput, buildToolDetailId, summarizeToolLine, findToolDetailForResult } from './message-parts.js';
|
|
13
|
+
import { buildPersistentAgentContextDetails } from '../services/persistent-agent-context.js';
|
|
13
14
|
import { buildAgentPrompt, buildBuiltInTools } from './agent-prompt.js';
|
|
15
|
+
import { wrapOnEventWithHooks } from '../services/hook-engine.js';
|
|
14
16
|
// --- State ---
|
|
15
17
|
const activeSchedulers = new Set();
|
|
16
18
|
const activeChannelRuns = new Map();
|
|
@@ -127,21 +129,30 @@ export function handleAnswerQuestion(_ws, workspaceId, data) {
|
|
|
127
129
|
`Answer: ${trimmed}`,
|
|
128
130
|
'Continue from this answer and complete the original task.',
|
|
129
131
|
].join('\n'), {
|
|
132
|
+
agentSessionId: message.metadata?.agentSessionId,
|
|
130
133
|
messageId,
|
|
131
134
|
seedOutput: normalizeOutputLines([message.content]),
|
|
132
135
|
seedQuestions: seedQuestion ? [seedQuestion] : [],
|
|
136
|
+
resumeSessionId: message.metadata?.runtimeSessionId,
|
|
133
137
|
});
|
|
134
138
|
}
|
|
135
139
|
export async function runMentionedAgent(workspaceId, channelId, agentConfigId, prompt, options = {}) {
|
|
136
140
|
const preset = agentService.listPresets(workspaceId)?.find((agent) => agent.id === agentConfigId);
|
|
137
141
|
if (!preset || preset.enabled === false)
|
|
138
142
|
return;
|
|
139
|
-
const session =
|
|
140
|
-
|
|
141
|
-
|
|
143
|
+
const session = options.agentSessionId
|
|
144
|
+
? agentService.getById(workspaceId, options.agentSessionId)
|
|
145
|
+
: null;
|
|
146
|
+
const nextSession = session ?? agentService.create(workspaceId, preset.role, preset.id);
|
|
147
|
+
const sessionChanged = !session;
|
|
148
|
+
const previousStatus = nextSession.status;
|
|
149
|
+
if (!sessionChanged) {
|
|
150
|
+
broadcastToWorkspace(workspaceId, 'agent.started', nextSession);
|
|
151
|
+
}
|
|
152
|
+
agentService.updateStatus(workspaceId, nextSession.id, 'active');
|
|
142
153
|
broadcastToWorkspace(workspaceId, 'agent.status_changed', {
|
|
143
|
-
agentId:
|
|
144
|
-
from:
|
|
154
|
+
agentId: nextSession.id,
|
|
155
|
+
from: previousStatus,
|
|
145
156
|
to: 'active',
|
|
146
157
|
});
|
|
147
158
|
const configDir = agentService.getAgentConfigDir(workspaceId, preset);
|
|
@@ -174,7 +185,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
174
185
|
status: 'streaming',
|
|
175
186
|
metadata: {
|
|
176
187
|
...existingMessage.metadata,
|
|
177
|
-
agentSessionId:
|
|
188
|
+
agentSessionId: nextSession.id,
|
|
178
189
|
runtimeSessionId: options.resumeSessionId ?? existingMessage.metadata?.runtimeSessionId,
|
|
179
190
|
runtime: preset.runtimeKind,
|
|
180
191
|
model: preset.modelId,
|
|
@@ -188,14 +199,14 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
188
199
|
type: 'text',
|
|
189
200
|
status: 'streaming',
|
|
190
201
|
metadata: {
|
|
191
|
-
agentSessionId:
|
|
202
|
+
agentSessionId: nextSession.id,
|
|
192
203
|
runtime: preset.runtimeKind,
|
|
193
204
|
model: preset.modelId,
|
|
194
205
|
duration: 0,
|
|
195
206
|
},
|
|
196
207
|
parts: [
|
|
197
208
|
{
|
|
198
|
-
id: `reasoning-${
|
|
209
|
+
id: `reasoning-${nextSession.id}`,
|
|
199
210
|
type: 'reasoning',
|
|
200
211
|
text: 'Preparing agent runtime and loading conversation context...',
|
|
201
212
|
status: 'streaming',
|
|
@@ -207,6 +218,12 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
207
218
|
const liveReasoning = [];
|
|
208
219
|
let agentPrompt = '';
|
|
209
220
|
let runtimeSessionId = options.resumeSessionId ?? existingMessage?.metadata?.runtimeSessionId;
|
|
221
|
+
const persistentContext = buildPersistentAgentContextDetails({
|
|
222
|
+
workspaceId,
|
|
223
|
+
workingDir: workspace?.boundDirs?.[0] || workingDir,
|
|
224
|
+
boundDirs: workspace?.boundDirs,
|
|
225
|
+
excludeNativeClaudeMd: preset.runtimeKind === 'claude-code',
|
|
226
|
+
}).summary;
|
|
210
227
|
try {
|
|
211
228
|
const runtime = createAgentRuntime({
|
|
212
229
|
kind: preset.runtimeKind,
|
|
@@ -218,7 +235,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
218
235
|
...getThinkingRuntimeConfig(preset),
|
|
219
236
|
});
|
|
220
237
|
activeRun = {
|
|
221
|
-
agentId:
|
|
238
|
+
agentId: nextSession.id,
|
|
222
239
|
agentConfigId,
|
|
223
240
|
messageId: pending.id,
|
|
224
241
|
runtime,
|
|
@@ -253,7 +270,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
253
270
|
return;
|
|
254
271
|
lastLiveUpdate = now;
|
|
255
272
|
const parts = buildAgentMessageParts({
|
|
256
|
-
sessionId:
|
|
273
|
+
sessionId: nextSession.id,
|
|
257
274
|
workspaceRoot: workspace?.boundDirs?.[0],
|
|
258
275
|
presetName: preset.name || preset.role,
|
|
259
276
|
role: preset.role,
|
|
@@ -263,6 +280,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
263
280
|
systemPrompt: preset.systemPrompt,
|
|
264
281
|
userPrompt: prompt,
|
|
265
282
|
fullPrompt: agentPrompt,
|
|
283
|
+
persistentContext,
|
|
266
284
|
mcpServers: runtimePromptConfig.mcpServers,
|
|
267
285
|
skills: runtimePromptConfig.skills,
|
|
268
286
|
builtInTools: runtimePromptConfig.builtInTools,
|
|
@@ -273,7 +291,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
273
291
|
askUserQuestions,
|
|
274
292
|
success: true,
|
|
275
293
|
});
|
|
276
|
-
const displayParts = buildContinuationParts(existingMessage?.parts,
|
|
294
|
+
const displayParts = buildContinuationParts(existingMessage?.parts, nextSession.id, options.appendUserMessage, parts);
|
|
277
295
|
if (displayParts.length === 0)
|
|
278
296
|
return;
|
|
279
297
|
const status = askUserQuestions.some((question) => !question.answer) ? 'waiting_for_user' : 'streaming';
|
|
@@ -297,8 +315,9 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
297
315
|
skills,
|
|
298
316
|
configDir,
|
|
299
317
|
sandboxDirs: preset.sandboxDirs,
|
|
318
|
+
outputStyle: preset.outputStyle,
|
|
300
319
|
resumeSessionId: isRuntimeSessionResume ? options.resumeSessionId : undefined,
|
|
301
|
-
onEvent: (event) => {
|
|
320
|
+
onEvent: wrapOnEventWithHooks((event) => {
|
|
302
321
|
if (activeRun?.stopped)
|
|
303
322
|
return;
|
|
304
323
|
if (event.type === 'session') {
|
|
@@ -316,7 +335,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
316
335
|
}
|
|
317
336
|
if (event.type === 'reasoning') {
|
|
318
337
|
liveReasoning.push({ text: event.text, status: event.status });
|
|
319
|
-
broadcastToWorkspace(workspaceId, 'agent.output', { agentId:
|
|
338
|
+
broadcastToWorkspace(workspaceId, 'agent.output', { agentId: nextSession.id, data: event.text });
|
|
320
339
|
broadcastLiveParts();
|
|
321
340
|
return;
|
|
322
341
|
}
|
|
@@ -369,7 +388,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
369
388
|
toolName: event.name,
|
|
370
389
|
text: event.line,
|
|
371
390
|
}));
|
|
372
|
-
broadcastToWorkspace(workspaceId, 'agent.output', { agentId:
|
|
391
|
+
broadcastToWorkspace(workspaceId, 'agent.output', { agentId: nextSession.id, data: event.line });
|
|
373
392
|
broadcastLiveParts();
|
|
374
393
|
return;
|
|
375
394
|
}
|
|
@@ -412,9 +431,9 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
412
431
|
type: 'output',
|
|
413
432
|
text: event.line,
|
|
414
433
|
}));
|
|
415
|
-
broadcastToWorkspace(workspaceId, 'agent.output', { agentId:
|
|
434
|
+
broadcastToWorkspace(workspaceId, 'agent.output', { agentId: nextSession.id, data: event.line });
|
|
416
435
|
broadcastLiveParts();
|
|
417
|
-
},
|
|
436
|
+
}, workspaceId, workspace?.hooksEnabled),
|
|
418
437
|
});
|
|
419
438
|
if (activeRun.stopped)
|
|
420
439
|
return;
|
|
@@ -422,8 +441,8 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
422
441
|
const displayOutput = mergeRuntimeOutput(liveOutput, result.output);
|
|
423
442
|
if (shouldWaitForUserAnswer(askUserQuestions, result.summary, result.error, displayOutput)) {
|
|
424
443
|
const waitingOutput = stripAskUserQuestionErrorLines(liveOutput);
|
|
425
|
-
const waitingParts = buildContinuationParts(existingMessage?.parts,
|
|
426
|
-
sessionId:
|
|
444
|
+
const waitingParts = buildContinuationParts(existingMessage?.parts, nextSession.id, options.appendUserMessage, buildAgentMessageParts({
|
|
445
|
+
sessionId: nextSession.id,
|
|
427
446
|
workspaceRoot: workspace?.boundDirs?.[0],
|
|
428
447
|
presetName: preset.name || preset.role,
|
|
429
448
|
role: preset.role,
|
|
@@ -433,6 +452,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
433
452
|
systemPrompt: preset.systemPrompt,
|
|
434
453
|
userPrompt: prompt,
|
|
435
454
|
fullPrompt: agentPrompt,
|
|
455
|
+
persistentContext,
|
|
436
456
|
mcpServers: runtimePromptConfig.mcpServers,
|
|
437
457
|
skills: runtimePromptConfig.skills,
|
|
438
458
|
output: waitingOutput,
|
|
@@ -447,7 +467,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
447
467
|
type: 'text',
|
|
448
468
|
status: 'waiting_for_user',
|
|
449
469
|
metadata: {
|
|
450
|
-
agentSessionId:
|
|
470
|
+
agentSessionId: nextSession.id,
|
|
451
471
|
runtimeSessionId: result.sessionId ?? runtimeSessionId,
|
|
452
472
|
runtime: preset.runtimeKind,
|
|
453
473
|
model: preset.modelId,
|
|
@@ -458,9 +478,9 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
458
478
|
});
|
|
459
479
|
if (waiting)
|
|
460
480
|
broadcastToWorkspace(workspaceId, 'channel.message.updated', waiting);
|
|
461
|
-
agentService.updateStatus(workspaceId,
|
|
481
|
+
agentService.updateStatus(workspaceId, nextSession.id, 'blocked');
|
|
462
482
|
broadcastToWorkspace(workspaceId, 'agent.status_changed', {
|
|
463
|
-
agentId:
|
|
483
|
+
agentId: nextSession.id,
|
|
464
484
|
from: 'active',
|
|
465
485
|
to: 'blocked',
|
|
466
486
|
});
|
|
@@ -468,10 +488,10 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
468
488
|
}
|
|
469
489
|
if (liveOutput.length === 0) {
|
|
470
490
|
for (const line of result.output) {
|
|
471
|
-
broadcastToWorkspace(workspaceId, 'agent.output', { agentId:
|
|
491
|
+
broadcastToWorkspace(workspaceId, 'agent.output', { agentId: nextSession.id, data: line });
|
|
472
492
|
}
|
|
473
493
|
}
|
|
474
|
-
agentService.complete(workspaceId,
|
|
494
|
+
agentService.complete(workspaceId, nextSession.id, result.success ? undefined : result.error, {
|
|
475
495
|
runtime: preset.runtimeKind,
|
|
476
496
|
model: preset.modelId,
|
|
477
497
|
summary: result.summary,
|
|
@@ -481,7 +501,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
481
501
|
costUsd: result.costUsd,
|
|
482
502
|
});
|
|
483
503
|
broadcastToWorkspace(workspaceId, 'agent.completed', {
|
|
484
|
-
agentId:
|
|
504
|
+
agentId: nextSession.id,
|
|
485
505
|
channelId,
|
|
486
506
|
result: {
|
|
487
507
|
success: result.success,
|
|
@@ -491,8 +511,8 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
491
511
|
},
|
|
492
512
|
error: result.error,
|
|
493
513
|
});
|
|
494
|
-
const replyParts = buildContinuationParts(existingMessage?.parts,
|
|
495
|
-
sessionId:
|
|
514
|
+
const replyParts = buildContinuationParts(existingMessage?.parts, nextSession.id, options.appendUserMessage, buildAgentMessageParts({
|
|
515
|
+
sessionId: nextSession.id,
|
|
496
516
|
workspaceRoot: workspace?.boundDirs?.[0],
|
|
497
517
|
presetName: preset.name || preset.role,
|
|
498
518
|
role: preset.role,
|
|
@@ -503,6 +523,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
503
523
|
systemPrompt: preset.systemPrompt,
|
|
504
524
|
userPrompt: prompt,
|
|
505
525
|
fullPrompt: agentPrompt,
|
|
526
|
+
persistentContext,
|
|
506
527
|
mcpServers: runtimePromptConfig.mcpServers,
|
|
507
528
|
skills: runtimePromptConfig.skills,
|
|
508
529
|
builtInTools: runtimePromptConfig.builtInTools,
|
|
@@ -523,7 +544,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
523
544
|
type: 'text',
|
|
524
545
|
status: result.success ? 'completed' : 'error',
|
|
525
546
|
metadata: {
|
|
526
|
-
agentSessionId:
|
|
547
|
+
agentSessionId: nextSession.id,
|
|
527
548
|
runtimeSessionId: result.sessionId ?? runtimeSessionId,
|
|
528
549
|
runtime: preset.runtimeKind,
|
|
529
550
|
model: preset.modelId,
|
|
@@ -539,16 +560,16 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
539
560
|
if (activeRun?.stopped)
|
|
540
561
|
return;
|
|
541
562
|
const error = err instanceof Error ? err.message : String(err);
|
|
542
|
-
agentService.complete(workspaceId,
|
|
563
|
+
agentService.complete(workspaceId, nextSession.id, error, {
|
|
543
564
|
runtime: preset.runtimeKind,
|
|
544
565
|
model: preset.modelId,
|
|
545
566
|
summary: error,
|
|
546
567
|
output: [error],
|
|
547
568
|
durationMs: Date.now() - startTime,
|
|
548
569
|
});
|
|
549
|
-
broadcastToWorkspace(workspaceId, 'agent.error', { agentId:
|
|
550
|
-
const errorParts = buildContinuationParts(existingMessage?.parts,
|
|
551
|
-
sessionId:
|
|
570
|
+
broadcastToWorkspace(workspaceId, 'agent.error', { agentId: nextSession.id, error });
|
|
571
|
+
const errorParts = buildContinuationParts(existingMessage?.parts, nextSession.id, options.appendUserMessage, buildAgentMessageParts({
|
|
572
|
+
sessionId: nextSession.id,
|
|
552
573
|
workspaceRoot: workspace?.boundDirs?.[0],
|
|
553
574
|
presetName: preset.name || preset.role,
|
|
554
575
|
role: preset.role,
|
|
@@ -558,6 +579,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
558
579
|
systemPrompt: preset.systemPrompt,
|
|
559
580
|
userPrompt: prompt,
|
|
560
581
|
fullPrompt: agentPrompt,
|
|
582
|
+
persistentContext,
|
|
561
583
|
mcpServers: runtimePromptConfig.mcpServers,
|
|
562
584
|
skills: runtimePromptConfig.skills,
|
|
563
585
|
builtInTools: runtimePromptConfig.builtInTools,
|
|
@@ -578,7 +600,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
578
600
|
type: 'text',
|
|
579
601
|
status: 'error',
|
|
580
602
|
metadata: {
|
|
581
|
-
agentSessionId:
|
|
603
|
+
agentSessionId: nextSession.id,
|
|
582
604
|
runtimeSessionId,
|
|
583
605
|
runtime: preset.runtimeKind,
|
|
584
606
|
model: preset.modelId,
|
|
@@ -590,7 +612,7 @@ export async function runMentionedAgent(workspaceId, channelId, agentConfigId, p
|
|
|
590
612
|
broadcastToWorkspace(workspaceId, 'channel.message.updated', reply);
|
|
591
613
|
}
|
|
592
614
|
finally {
|
|
593
|
-
untrackChannelRun(workspaceId, channelId,
|
|
615
|
+
untrackChannelRun(workspaceId, channelId, nextSession.id);
|
|
594
616
|
}
|
|
595
617
|
}
|
|
596
618
|
// --- Internal helpers ---
|
package/dist/ws/message-parts.js
CHANGED
|
@@ -6,7 +6,7 @@ export function buildAgentMessageParts(input) {
|
|
|
6
6
|
: '';
|
|
7
7
|
const usage = input.usage ?? extractUsage(lines);
|
|
8
8
|
const parts = [];
|
|
9
|
-
const chainItems = buildChainItems(lines, finalTextRange, finalText, input.workspaceRoot, input.toolDetails);
|
|
9
|
+
const chainItems = buildChainItems(lines, finalTextRange, finalText, input.workspaceRoot, input.toolDetails, input.persistentContext, input.askUserQuestions);
|
|
10
10
|
const reasoningText = normalizeReasoningText(input.reasoning);
|
|
11
11
|
if (reasoningText) {
|
|
12
12
|
parts.push({
|
|
@@ -57,6 +57,7 @@ export function buildAgentMessageParts(input) {
|
|
|
57
57
|
fullPrompt: input.fullPrompt,
|
|
58
58
|
output: lines.join('\n'),
|
|
59
59
|
outputItems: input.outputItems,
|
|
60
|
+
persistentContext: input.persistentContext,
|
|
60
61
|
},
|
|
61
62
|
});
|
|
62
63
|
}
|
|
@@ -137,6 +138,10 @@ export function summarizeToolLine(line, workspaceRoot) {
|
|
|
137
138
|
command,
|
|
138
139
|
};
|
|
139
140
|
}
|
|
141
|
+
const skillSummary = extractSkillParams(trimmed, toolName);
|
|
142
|
+
if (skillSummary) {
|
|
143
|
+
return { ...skillSummary, toolName };
|
|
144
|
+
}
|
|
140
145
|
const searchSummary = extractSearchParams(trimmed, toolName, workspaceRoot);
|
|
141
146
|
if (searchSummary) {
|
|
142
147
|
return { ...searchSummary, toolName };
|
|
@@ -228,12 +233,21 @@ function findFinalTextRange(lines) {
|
|
|
228
233
|
}
|
|
229
234
|
return { start, end };
|
|
230
235
|
}
|
|
231
|
-
function buildChainItems(lines, finalTextRange, finalText, workspaceRoot, toolDetails) {
|
|
236
|
+
function buildChainItems(lines, finalTextRange, finalText, workspaceRoot, toolDetails, persistentContext, askUserQuestions) {
|
|
232
237
|
let toolIndex = 0;
|
|
233
238
|
let messageIndex = 0;
|
|
234
239
|
const items = [];
|
|
235
240
|
const toolDetailMatchCounts = new Map();
|
|
236
241
|
let messageBuffer = [];
|
|
242
|
+
const persistentContextItem = buildPersistentContextToolItem(persistentContext);
|
|
243
|
+
if (persistentContextItem) {
|
|
244
|
+
items.push(persistentContextItem);
|
|
245
|
+
toolIndex += 1;
|
|
246
|
+
}
|
|
247
|
+
for (const question of askUserQuestions ?? []) {
|
|
248
|
+
items.push(buildAskUserQuestionToolItem(question, toolIndex));
|
|
249
|
+
toolIndex += 1;
|
|
250
|
+
}
|
|
237
251
|
const flushMessageBuffer = () => {
|
|
238
252
|
if (messageBuffer.length === 0)
|
|
239
253
|
return;
|
|
@@ -276,6 +290,7 @@ function buildToolTodo(line, index, workspaceRoot, toolDetails, toolDetailMatchC
|
|
|
276
290
|
const detailId = findToolDetailId(line, toolDetails, toolDetailMatchCounts);
|
|
277
291
|
return {
|
|
278
292
|
id: `tool-${index}`,
|
|
293
|
+
kind: 'tool',
|
|
279
294
|
title: summary.title,
|
|
280
295
|
description: summary.description,
|
|
281
296
|
status: 'completed',
|
|
@@ -285,6 +300,38 @@ function buildToolTodo(line, index, workspaceRoot, toolDetails, toolDetailMatchC
|
|
|
285
300
|
detailId,
|
|
286
301
|
};
|
|
287
302
|
}
|
|
303
|
+
function buildPersistentContextToolItem(persistentContext) {
|
|
304
|
+
const counts = persistentContext?.counts;
|
|
305
|
+
if (!counts?.total)
|
|
306
|
+
return null;
|
|
307
|
+
const parts = [
|
|
308
|
+
counts.claudeMd ? `${counts.claudeMd} claude.md` : null,
|
|
309
|
+
counts.agentsMd ? `${counts.agentsMd} AGENTS.md` : null,
|
|
310
|
+
].filter(Boolean);
|
|
311
|
+
return {
|
|
312
|
+
id: 'tool-persistent-context',
|
|
313
|
+
kind: 'tool',
|
|
314
|
+
title: 'Load claude.md',
|
|
315
|
+
description: parts.length ? parts.join(', ') : `${counts.total} instruction files`,
|
|
316
|
+
status: 'completed',
|
|
317
|
+
toolName: 'LoadClaudeMd',
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
function buildAskUserQuestionToolItem(question, index) {
|
|
321
|
+
const choices = question.choices.length ? `选项:${question.choices.join(' / ')}` : undefined;
|
|
322
|
+
const description = question.answer
|
|
323
|
+
? [question.question, `回答:${question.answer}`].join('\n')
|
|
324
|
+
: [question.question, choices].filter(Boolean).join('\n');
|
|
325
|
+
return {
|
|
326
|
+
id: `tool-ask-user-question-${question.id || index}`,
|
|
327
|
+
kind: 'tool',
|
|
328
|
+
title: 'Ask user question',
|
|
329
|
+
description,
|
|
330
|
+
status: question.answer ? 'completed' : 'pending',
|
|
331
|
+
toolName: 'AskUserQuestion',
|
|
332
|
+
answer: question.answer,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
288
335
|
function extractSearchParams(line, toolName, workspaceRoot) {
|
|
289
336
|
if (!/^(Glob|Grep|Search|SemanticSearch|WebSearch|WebFetch|Fetch)$/i.test(toolName))
|
|
290
337
|
return null;
|
|
@@ -502,6 +549,18 @@ function extractQuotedField(line, key) {
|
|
|
502
549
|
const json = line.match(new RegExp(`"${key}"\\s*:\\s*"([^"]+)"`))?.[1];
|
|
503
550
|
return json;
|
|
504
551
|
}
|
|
552
|
+
function extractSkillParams(line, toolName) {
|
|
553
|
+
if (!/^Skill$/i.test(toolName))
|
|
554
|
+
return null;
|
|
555
|
+
const skill = extractQuotedField(line, 'skill');
|
|
556
|
+
if (!skill)
|
|
557
|
+
return null;
|
|
558
|
+
const args = extractQuotedField(line, 'args');
|
|
559
|
+
return {
|
|
560
|
+
title: `Skill ${skill}`,
|
|
561
|
+
description: args ? truncate(args, 120) : undefined,
|
|
562
|
+
};
|
|
563
|
+
}
|
|
505
564
|
function extractCommand(line, toolName) {
|
|
506
565
|
if (!toolName || !/^(Bash|Shell|Command)$/i.test(toolName))
|
|
507
566
|
return undefined;
|