agor-live 0.16.2 → 0.16.3
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/cli/commands/board/add-session.js +4 -8
- package/dist/cli/commands/board/list.js +2 -4
- package/dist/cli/commands/mcp/list.js +1 -2
- package/dist/cli/commands/mcp/remove.js +1 -2
- package/dist/cli/commands/mcp/show.js +1 -2
- package/dist/cli/commands/repo/rm.js +1 -2
- package/dist/cli/commands/session/load-claude.js +1 -2
- package/dist/cli/commands/user/delete.js +1 -2
- package/dist/cli/commands/user/update.js +1 -2
- package/dist/cli/commands/worktree/add.js +1 -2
- package/dist/cli/commands/worktree/archive.js +1 -2
- package/dist/cli/commands/worktree/list.js +3 -6
- package/dist/cli/commands/worktree/rm.js +1 -2
- package/dist/cli/commands/worktree/show.js +1 -2
- package/dist/cli/commands/worktree/unarchive.js +1 -2
- package/dist/core/api/index.cjs +87 -2
- package/dist/core/api/index.d.cts +53 -10
- package/dist/core/api/index.d.ts +53 -10
- package/dist/core/api/index.js +85 -1
- package/dist/core/{feathers-CzuSOZgY.d.ts → feathers-CKfl55ut.d.ts} +10 -2
- package/dist/core/{feathers-CYAHFZ05.d.cts → feathers-NY8lH6YZ.d.cts} +10 -2
- package/dist/core/index.cjs +85 -0
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +84 -0
- package/dist/core/types/index.d.cts +1 -1
- package/dist/core/types/index.d.ts +1 -1
- package/dist/daemon/index.js +18 -1
- package/dist/daemon/register-routes.js +15 -0
- package/dist/daemon/register-services.js +3 -1
- package/dist/daemon/services/mcp-servers.d.ts +7 -2
- package/dist/executor/db/feathers-repositories.d.ts +1 -0
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +1 -0
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +1 -1
- package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/codex.js +1 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts +4 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +97 -24
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +9 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +17 -7
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +5 -2
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +122 -24
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +7 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +111 -17
- package/dist/ui/assets/{_basePickBy-By_woBZB.js → _basePickBy-CM6p9_3C.js} +1 -1
- package/dist/ui/assets/_basePickBy-CM6p9_3C.js.gz +0 -0
- package/dist/ui/assets/{_baseUniq-C2jLj-Al.js → _baseUniq-CHMdQkaA.js} +1 -1
- package/dist/ui/assets/_baseUniq-CHMdQkaA.js.gz +0 -0
- package/dist/ui/assets/{arc-DADMFVbt.js → arc-Czp_Gn_m.js} +1 -1
- package/dist/ui/assets/arc-Czp_Gn_m.js.gz +0 -0
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-rNJ5lYJQ.js → architectureDiagram-VXUJARFQ-Cz-z2R4z.js} +1 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-Cz-z2R4z.js.gz +0 -0
- package/dist/ui/assets/{base-80a1f760-BVsv_T1S.js → base-80a1f760-DL2sFXEh.js} +1 -1
- package/dist/ui/assets/{blockDiagram-VD42YOAC-CezN66iB.js → blockDiagram-VD42YOAC-C62DfRc6.js} +1 -1
- package/dist/ui/assets/blockDiagram-VD42YOAC-C62DfRc6.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dze59YuK.js → c4Diagram-YG6GDRKO-DGSWKqxL.js} +1 -1
- package/dist/ui/assets/c4Diagram-YG6GDRKO-DGSWKqxL.js.gz +0 -0
- package/dist/ui/assets/channel-CmfC29hp.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-CXL-V_XA.js → chunk-4BX2VUAB-CuJEBfIh.js} +1 -1
- package/dist/ui/assets/{chunk-55IACEB6-CI3h0xTl.js → chunk-55IACEB6-DYgjRl-z.js} +1 -1
- package/dist/ui/assets/{chunk-B4BG7PRW-CFohiEqO.js → chunk-B4BG7PRW-rqPu7wjt.js} +1 -1
- package/dist/ui/assets/chunk-B4BG7PRW-rqPu7wjt.js.gz +0 -0
- package/dist/ui/assets/{chunk-DI55MBZ5-BbF4fGKj.js → chunk-DI55MBZ5-D7PtpA49.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-D7PtpA49.js.gz +0 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-C5x6cpDg.js → chunk-FMBD7UC4-1R4kh4IH.js} +1 -1
- package/dist/ui/assets/{chunk-QN33PNHL-CEDiC29y.js → chunk-QN33PNHL-qNBgj7JQ.js} +1 -1
- package/dist/ui/assets/{chunk-QZHKN3VN-DPo28cCF.js → chunk-QZHKN3VN-JUwZqL5s.js} +1 -1
- package/dist/ui/assets/{chunk-TZMSLE5B-C94jSlIG.js → chunk-TZMSLE5B-Bk4l2qq1.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-Bk4l2qq1.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-LD317OSr.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-LD317OSr.js +1 -0
- package/dist/ui/assets/clone-iT69LzXk.js +1 -0
- package/dist/ui/assets/{consoleHook-59e792cb-cpS6JVM4.js → consoleHook-59e792cb-BjB_4eqO.js} +1 -1
- package/dist/ui/assets/consoleHook-59e792cb-BjB_4eqO.js.gz +0 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-CcoEg_Ct.js → cose-bilkent-S5V4N54A-Db3GpSRP.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-Db3GpSRP.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DWAyqs2B.js → dagre-6UL2VRFP-D9RUH_36.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-D9RUH_36.js.gz +0 -0
- package/dist/ui/assets/{diagram-PSM6KHXK-C7J2MNfc.js → diagram-PSM6KHXK-C51S0t1m.js} +1 -1
- package/dist/ui/assets/diagram-PSM6KHXK-C51S0t1m.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-6KZjqziN.js → diagram-QEK2KX5R-Bl99kj4s.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-Bl99kj4s.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-DIL01325.js → diagram-S2PKOQOG-Dm52PeWx.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-Dm52PeWx.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-D5j4CetG.js → erDiagram-Q2GNP2WA-K5D_GKDZ.js} +1 -1
- package/dist/ui/assets/erDiagram-Q2GNP2WA-K5D_GKDZ.js.gz +0 -0
- package/dist/ui/assets/{flowDiagram-NV44I4VS-Bxx2iEi-.js → flowDiagram-NV44I4VS-D7fCREXV.js} +1 -1
- package/dist/ui/assets/flowDiagram-NV44I4VS-D7fCREXV.js.gz +0 -0
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-BtBi1ZfT.js → ganttDiagram-LVOFAZNH-CNW9D2UF.js} +1 -1
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-CNW9D2UF.js.gz +0 -0
- package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-CY1TKvzA.js → gitGraphDiagram-NY62KEGX-CzSHwK4S.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CzSHwK4S.js.gz +0 -0
- package/dist/ui/assets/{graph-DC6eH7AX.js → graph-iZG1PujV.js} +1 -1
- package/dist/ui/assets/graph-iZG1PujV.js.gz +0 -0
- package/dist/ui/assets/{index-599aeaf7-Dh_oObwY.js → index-599aeaf7-BSVvtdOR.js} +1 -1
- package/dist/ui/assets/index-599aeaf7-BSVvtdOR.js.gz +0 -0
- package/dist/ui/assets/{index-CxWOjjRu.js → index-Bv9iC_mb.js} +1 -1
- package/dist/ui/assets/index-Bv9iC_mb.js.gz +0 -0
- package/dist/ui/assets/{index-DJLnZ-9H.js → index-CmhCTwYo.js} +255 -257
- package/dist/ui/assets/index-CmhCTwYo.js.gz +0 -0
- package/dist/ui/assets/{index-DQn7RJ8z.js → index-DX9HbDkF.js} +1 -1
- package/dist/ui/assets/index-DX9HbDkF.js.gz +0 -0
- package/dist/ui/assets/{infoDiagram-ER5ION4S-COpJ37pc.js → infoDiagram-ER5ION4S-7UpJXgGv.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CpODBkng.js → journeyDiagram-XKPGCS4Q-B_u-rXxp.js} +1 -1
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B_u-rXxp.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DWShJ5Su.js → kanban-definition-3W4ZIXB7-C60Ys_tG.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-C60Ys_tG.js.gz +0 -0
- package/dist/ui/assets/{layout-ttMTfXMb.js → layout-2nOBwYEK.js} +1 -1
- package/dist/ui/assets/layout-2nOBwYEK.js.gz +0 -0
- package/dist/ui/assets/{linear-DD8VTncp.js → linear-BBfmsNEf.js} +1 -1
- package/dist/ui/assets/linear-BBfmsNEf.js.gz +0 -0
- package/dist/ui/assets/{mermaid.core-BlvxruUX.js → mermaid.core-BMmc28YS.js} +5 -5
- package/dist/ui/assets/mermaid.core-BMmc28YS.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-CR0ESdqM.js → mindmap-definition-VGOIOE7T-CUOfncA2.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-CUOfncA2.js.gz +0 -0
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-B94eVYhY.js → pieDiagram-ADFJNKIX-CYt5K7tI.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-CYt5K7tI.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-C4tNKfCm.js → quadrantDiagram-AYHSOK5B-D3z7FGdo.js} +1 -1
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-D3z7FGdo.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-CuG3A95Q.js → requirementDiagram-UZGBJVZJ-DSmK1rXj.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-DSmK1rXj.js.gz +0 -0
- package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-BCfc7mLC.js → sankeyDiagram-TZEHDZUN-BVudlnpo.js} +1 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BVudlnpo.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-D8tVuIkx.js → sequenceDiagram-WL72ISMW-DShMajjv.js} +1 -1
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-DShMajjv.js.gz +0 -0
- package/dist/ui/assets/{stateDiagram-FKZM4ZOC-DvM8so2A.js → stateDiagram-FKZM4ZOC-9zK0uo4t.js} +1 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-9zK0uo4t.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BZEgBfav.js +1 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-CP2O8vqw.js → timeline-definition-IT6M3QCI-DQ4HYAMD.js} +1 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-DQ4HYAMD.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-SGJAEegj.js → treemap-KMMF4GRG-Curv75AA.js} +1 -1
- package/dist/ui/assets/treemap-KMMF4GRG-Curv75AA.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CpwYBSmP.js → xychartDiagram-PRI3JC2R-BJdTipk8.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BJdTipk8.js.gz +0 -0
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/_basePickBy-By_woBZB.js.gz +0 -0
- package/dist/ui/assets/_baseUniq-C2jLj-Al.js.gz +0 -0
- package/dist/ui/assets/arc-DADMFVbt.js.gz +0 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-rNJ5lYJQ.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-CezN66iB.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dze59YuK.js.gz +0 -0
- package/dist/ui/assets/channel-B2nSdT47.js +0 -1
- package/dist/ui/assets/chunk-B4BG7PRW-CFohiEqO.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-BbF4fGKj.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-C94jSlIG.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-lwQJA5v0.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-lwQJA5v0.js +0 -1
- package/dist/ui/assets/clone-DmZ98vg9.js +0 -1
- package/dist/ui/assets/consoleHook-59e792cb-cpS6JVM4.js.gz +0 -0
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CcoEg_Ct.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DWAyqs2B.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-C7J2MNfc.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-6KZjqziN.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-DIL01325.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-D5j4CetG.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-Bxx2iEi-.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-BtBi1ZfT.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CY1TKvzA.js.gz +0 -0
- package/dist/ui/assets/graph-DC6eH7AX.js.gz +0 -0
- package/dist/ui/assets/index-599aeaf7-Dh_oObwY.js.gz +0 -0
- package/dist/ui/assets/index-CxWOjjRu.js.gz +0 -0
- package/dist/ui/assets/index-DJLnZ-9H.js.gz +0 -0
- package/dist/ui/assets/index-DQn7RJ8z.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CpODBkng.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DWShJ5Su.js.gz +0 -0
- package/dist/ui/assets/layout-ttMTfXMb.js.gz +0 -0
- package/dist/ui/assets/linear-DD8VTncp.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-BlvxruUX.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-CR0ESdqM.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-B94eVYhY.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-C4tNKfCm.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-CuG3A95Q.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BCfc7mLC.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-D8tVuIkx.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-DvM8so2A.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-kQ-gZX7K.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CP2O8vqw.js.gz +0 -0
- package/dist/ui/assets/treemap-KMMF4GRG-SGJAEegj.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CpwYBSmP.js.gz +0 -0
|
@@ -161,8 +161,7 @@ var BoardAddSession = class _BoardAddSession extends BaseCommand {
|
|
|
161
161
|
const { args } = await this.parse(_BoardAddSession);
|
|
162
162
|
const client = await this.connectToDaemon();
|
|
163
163
|
try {
|
|
164
|
-
const
|
|
165
|
-
const boards = Array.isArray(boardsResult) ? boardsResult : boardsResult.data;
|
|
164
|
+
const boards = await client.service("boards").findAll({ query: { $limit: PAGINATION.DEFAULT_LIMIT } });
|
|
166
165
|
const board = boards.find(
|
|
167
166
|
(b) => b.board_id === args.boardId || b.board_id.startsWith(args.boardId) || b.slug === args.boardId
|
|
168
167
|
);
|
|
@@ -170,8 +169,7 @@ var BoardAddSession = class _BoardAddSession extends BaseCommand {
|
|
|
170
169
|
await this.cleanupClient(client);
|
|
171
170
|
this.error(`Board not found: ${args.boardId}`);
|
|
172
171
|
}
|
|
173
|
-
const
|
|
174
|
-
const sessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
172
|
+
const sessions = await client.service("sessions").findAll({ query: { $limit: PAGINATION.DEFAULT_LIMIT } });
|
|
175
173
|
const session = sessions.find(
|
|
176
174
|
(s) => s.session_id === args.sessionId || s.session_id.startsWith(args.sessionId)
|
|
177
175
|
);
|
|
@@ -183,19 +181,17 @@ var BoardAddSession = class _BoardAddSession extends BaseCommand {
|
|
|
183
181
|
await this.cleanupClient(client);
|
|
184
182
|
this.error("Session has no worktree associated");
|
|
185
183
|
}
|
|
186
|
-
const
|
|
187
|
-
const worktrees = Array.isArray(worktreesResult) ? worktreesResult : worktreesResult.data;
|
|
184
|
+
const worktrees = await client.service("worktrees").findAll({ query: { $limit: PAGINATION.DEFAULT_LIMIT } });
|
|
188
185
|
const worktree = worktrees.find((w) => w.worktree_id === session.worktree_id);
|
|
189
186
|
if (!worktree) {
|
|
190
187
|
await this.cleanupClient(client);
|
|
191
188
|
this.error("Worktree not found for session");
|
|
192
189
|
}
|
|
193
|
-
const
|
|
190
|
+
const boardObjects = await client.service("board-objects").findAll({
|
|
194
191
|
query: {
|
|
195
192
|
board_id: board.board_id
|
|
196
193
|
}
|
|
197
194
|
});
|
|
198
|
-
const boardObjects = Array.isArray(boardObjectsResult) ? boardObjectsResult : boardObjectsResult.data;
|
|
199
195
|
const existingObject = boardObjects.find(
|
|
200
196
|
(bo) => bo.worktree_id === worktree.worktree_id
|
|
201
197
|
);
|
|
@@ -156,15 +156,13 @@ var BoardList = class _BoardList extends BaseCommand {
|
|
|
156
156
|
const { flags } = await this.parse(_BoardList);
|
|
157
157
|
const client = await this.connectToDaemon();
|
|
158
158
|
try {
|
|
159
|
-
const
|
|
160
|
-
const allBoards = Array.isArray(result) ? result : result.data;
|
|
159
|
+
const allBoards = await client.service("boards").findAll({ query: { $limit: PAGINATION.DEFAULT_LIMIT } });
|
|
161
160
|
if (allBoards.length === 0) {
|
|
162
161
|
this.log(chalk2.yellow("No boards found."));
|
|
163
162
|
await this.cleanupClient(client);
|
|
164
163
|
return;
|
|
165
164
|
}
|
|
166
|
-
const
|
|
167
|
-
const boardObjects = Array.isArray(boardObjectsResult) ? boardObjectsResult : boardObjectsResult.data;
|
|
165
|
+
const boardObjects = await client.service("board-objects").findAll({ query: { $limit: PAGINATION.DEFAULT_LIMIT } });
|
|
168
166
|
const displayBoards = allBoards.slice(0, flags.limit);
|
|
169
167
|
const table = new Table({
|
|
170
168
|
head: [
|
|
@@ -172,8 +172,7 @@ var McpList = class _McpList extends BaseCommand {
|
|
|
172
172
|
if (flags.scope) query.scope = flags.scope;
|
|
173
173
|
if (flags.transport) query.transport = flags.transport;
|
|
174
174
|
if (flags.enabled) query.enabled = true;
|
|
175
|
-
const
|
|
176
|
-
const servers = Array.isArray(result) ? result : result.data;
|
|
175
|
+
const servers = await client.service("mcp-servers").findAll({ query });
|
|
177
176
|
if (servers.length === 0) {
|
|
178
177
|
this.log(chalk2.yellow("No MCP servers found."));
|
|
179
178
|
await this.cleanupClient(client);
|
|
@@ -165,10 +165,9 @@ var McpRemove = class _McpRemove extends BaseCommand {
|
|
|
165
165
|
try {
|
|
166
166
|
let serverId = args.id;
|
|
167
167
|
if (!args.id.match(/^[0-9a-f]{8}/i)) {
|
|
168
|
-
const
|
|
168
|
+
const servers = await client.service("mcp-servers").findAll({
|
|
169
169
|
query: { $limit: 100 }
|
|
170
170
|
});
|
|
171
|
-
const servers = Array.isArray(result) ? result : result.data;
|
|
172
171
|
const server = servers.find((s) => s.name === args.id);
|
|
173
172
|
if (!server) {
|
|
174
173
|
await this.cleanupClient(client);
|
|
@@ -160,10 +160,9 @@ var McpShow = class _McpShow extends BaseCommand {
|
|
|
160
160
|
try {
|
|
161
161
|
server = await client.service("mcp-servers").get(args.id);
|
|
162
162
|
} catch {
|
|
163
|
-
const
|
|
163
|
+
const servers = await client.service("mcp-servers").findAll({
|
|
164
164
|
query: { $limit: 1 }
|
|
165
165
|
});
|
|
166
|
-
const servers = Array.isArray(result) ? result : result.data;
|
|
167
166
|
server = servers.find((s) => s.name === args.id) || null;
|
|
168
167
|
}
|
|
169
168
|
if (!server) {
|
|
@@ -173,8 +173,7 @@ var RepoRm = class _RepoRm extends BaseCommand {
|
|
|
173
173
|
try {
|
|
174
174
|
repo = await reposService.get(args.id);
|
|
175
175
|
} catch {
|
|
176
|
-
const
|
|
177
|
-
const repos = Array.isArray(result) ? result : result.data;
|
|
176
|
+
const repos = await reposService.findAll({ query: { slug: args.id } });
|
|
178
177
|
if (repos.length > 0) {
|
|
179
178
|
repo = repos[0];
|
|
180
179
|
}
|
|
@@ -189,8 +189,7 @@ ${chalk2.blue("\u25CF")} Loading Claude Code session: ${chalk2.cyan(sessionId)}
|
|
|
189
189
|
const projectName = path.basename(absoluteProjectDir);
|
|
190
190
|
let repo = null;
|
|
191
191
|
try {
|
|
192
|
-
const
|
|
193
|
-
const reposList = Array.isArray(allRepos) ? allRepos : allRepos.data;
|
|
192
|
+
const reposList = await reposService.findAll({ query: { $limit: 1e3 } });
|
|
194
193
|
repo = reposList.find((r) => r.local_path === absoluteProjectDir) || null;
|
|
195
194
|
} catch {
|
|
196
195
|
}
|
|
@@ -166,8 +166,7 @@ var UserDelete = class _UserDelete extends BaseCommand {
|
|
|
166
166
|
const client = await this.connectToDaemon();
|
|
167
167
|
try {
|
|
168
168
|
const usersService = client.service("users");
|
|
169
|
-
const
|
|
170
|
-
const users = Array.isArray(result) ? result : result.data;
|
|
169
|
+
const users = await usersService.findAll();
|
|
171
170
|
const user = users.find(
|
|
172
171
|
(u) => u.email === args.user || u.user_id === args.user || u.user_id.startsWith(args.user)
|
|
173
172
|
);
|
|
@@ -184,8 +184,7 @@ var UserUpdate = class _UserUpdate extends BaseCommand {
|
|
|
184
184
|
const client = await this.connectToDaemon();
|
|
185
185
|
try {
|
|
186
186
|
const usersService = client.service("users");
|
|
187
|
-
const
|
|
188
|
-
const users = Array.isArray(result) ? result : result.data;
|
|
187
|
+
const users = await usersService.findAll();
|
|
189
188
|
const user = users.find(
|
|
190
189
|
(u) => u.email === args.user || u.user_id === args.user || u.user_id.startsWith(args.user)
|
|
191
190
|
);
|
|
@@ -194,13 +194,12 @@ var WorktreeAdd = class _WorktreeAdd extends BaseCommand {
|
|
|
194
194
|
const reposService = client.service("repos");
|
|
195
195
|
const repo = await reposService.get(flags["repo-id"]);
|
|
196
196
|
const worktreesService = client.service("worktrees");
|
|
197
|
-
const
|
|
197
|
+
const worktreesList = await worktreesService.findAll({
|
|
198
198
|
query: {
|
|
199
199
|
repo_id: repo.repo_id,
|
|
200
200
|
name: args.name
|
|
201
201
|
}
|
|
202
202
|
});
|
|
203
|
-
const worktreesList = Array.isArray(existingWorktrees) ? existingWorktrees : existingWorktrees.data;
|
|
204
203
|
if (worktreesList.length > 0) {
|
|
205
204
|
this.error(`Worktree '${args.name}' already exists at ${worktreesList[0].path}`);
|
|
206
205
|
}
|
|
@@ -183,10 +183,9 @@ var WorktreeArchive = class _WorktreeArchive extends BaseCommand {
|
|
|
183
183
|
this.log(` ID: ${chalk2.dim(formatShortId(worktree.worktree_id))}`);
|
|
184
184
|
const sessionsService = client.service("sessions");
|
|
185
185
|
try {
|
|
186
|
-
const
|
|
186
|
+
const allSessions = await sessionsService.findAll({
|
|
187
187
|
query: { worktree_id: worktree.worktree_id, $limit: 1e4 }
|
|
188
188
|
});
|
|
189
|
-
const allSessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
190
189
|
if (allSessions.length > 0) {
|
|
191
190
|
this.log(
|
|
192
191
|
` Sessions: ${chalk2.dim(`${allSessions.length} session(s) will also be archived`)}`
|
|
@@ -193,15 +193,13 @@ var WorktreeList = class _WorktreeList extends BaseCommand {
|
|
|
193
193
|
const reposService = client.service("repos");
|
|
194
194
|
let allWorktrees = [];
|
|
195
195
|
if (flags["repo-id"]) {
|
|
196
|
-
|
|
196
|
+
allWorktrees = await worktreesService.findAll({
|
|
197
197
|
query: { repo_id: flags["repo-id"], $limit: PAGINATION.DEFAULT_LIMIT }
|
|
198
198
|
});
|
|
199
|
-
allWorktrees = Array.isArray(worktreesResult) ? worktreesResult : worktreesResult.data;
|
|
200
199
|
} else {
|
|
201
|
-
|
|
200
|
+
allWorktrees = await worktreesService.findAll({
|
|
202
201
|
query: { $limit: PAGINATION.DEFAULT_LIMIT }
|
|
203
202
|
});
|
|
204
|
-
allWorktrees = Array.isArray(worktreesResult) ? worktreesResult : worktreesResult.data;
|
|
205
203
|
}
|
|
206
204
|
let filteredWorktrees = allWorktrees;
|
|
207
205
|
if (flags.archived) {
|
|
@@ -239,10 +237,9 @@ var WorktreeList = class _WorktreeList extends BaseCommand {
|
|
|
239
237
|
const sessionsService = client.service("sessions");
|
|
240
238
|
const sessionCounts = /* @__PURE__ */ new Map();
|
|
241
239
|
try {
|
|
242
|
-
const
|
|
240
|
+
const allSessions = await sessionsService.findAll({
|
|
243
241
|
query: { $limit: PAGINATION.DEFAULT_LIMIT }
|
|
244
242
|
});
|
|
245
|
-
const allSessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
246
243
|
for (const session of allSessions) {
|
|
247
244
|
const count = sessionCounts.get(session.worktree_id) || 0;
|
|
248
245
|
sessionCounts.set(session.worktree_id, count + 1);
|
|
@@ -173,10 +173,9 @@ var WorktreeRemove = class _WorktreeRemove extends BaseCommand {
|
|
|
173
173
|
this.log(` ID: ${chalk2.dim(formatShortId(worktree.worktree_id))}`);
|
|
174
174
|
const sessionsService = client.service("sessions");
|
|
175
175
|
try {
|
|
176
|
-
const
|
|
176
|
+
const allSessions = await sessionsService.findAll({
|
|
177
177
|
query: { worktree_id: worktree.worktree_id, $limit: 1e4 }
|
|
178
178
|
});
|
|
179
|
-
const allSessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
180
179
|
if (allSessions.length > 0) {
|
|
181
180
|
this.log(
|
|
182
181
|
` Sessions: ${chalk2.yellow(`${allSessions.length} session(s) reference this worktree`)}`
|
|
@@ -214,10 +214,9 @@ var WorktreeShow = class _WorktreeShow extends BaseCommand {
|
|
|
214
214
|
this.log(chalk2.bold("Sessions:"));
|
|
215
215
|
const sessionsService = client.service("sessions");
|
|
216
216
|
try {
|
|
217
|
-
const
|
|
217
|
+
const allSessions = await sessionsService.findAll({
|
|
218
218
|
query: { worktree_id: worktree.worktree_id, $limit: 1e4 }
|
|
219
219
|
});
|
|
220
|
-
const allSessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
221
220
|
if (allSessions.length > 0) {
|
|
222
221
|
this.log(` ${chalk2.cyan(allSessions.length.toString())} session(s)`);
|
|
223
222
|
for (const session of allSessions.slice(0, 5)) {
|
|
@@ -179,7 +179,7 @@ var WorktreeUnarchive = class _WorktreeUnarchive extends BaseCommand {
|
|
|
179
179
|
this.log(` ID: ${chalk2.dim(formatShortId(worktree.worktree_id))}`);
|
|
180
180
|
const sessionsService = client.service("sessions");
|
|
181
181
|
try {
|
|
182
|
-
const
|
|
182
|
+
const allSessions = await sessionsService.findAll({
|
|
183
183
|
query: {
|
|
184
184
|
worktree_id: worktree.worktree_id,
|
|
185
185
|
archived: true,
|
|
@@ -187,7 +187,6 @@ var WorktreeUnarchive = class _WorktreeUnarchive extends BaseCommand {
|
|
|
187
187
|
$limit: 1e4
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
|
-
const allSessions = Array.isArray(sessionsResult) ? sessionsResult : sessionsResult.data;
|
|
191
190
|
if (allSessions.length > 0) {
|
|
192
191
|
this.log(
|
|
193
192
|
` Sessions: ${chalk2.dim(`${allSessions.length} session(s) will also be unarchived`)}`
|
package/dist/core/api/index.cjs
CHANGED
|
@@ -34,7 +34,8 @@ __export(api_exports, {
|
|
|
34
34
|
createClient: () => createClient,
|
|
35
35
|
createRestClient: () => createRestClient,
|
|
36
36
|
getApiKeyFromEnv: () => getApiKeyFromEnv,
|
|
37
|
-
isDaemonRunning: () => isDaemonRunning
|
|
37
|
+
isDaemonRunning: () => isDaemonRunning,
|
|
38
|
+
normalizeFindResult: () => normalizeFindResult
|
|
38
39
|
});
|
|
39
40
|
module.exports = __toCommonJS(api_exports);
|
|
40
41
|
var import_authentication_client = __toESM(require("@feathersjs/authentication-client"), 1);
|
|
@@ -58,6 +59,9 @@ var DAEMON = {
|
|
|
58
59
|
var import_authentication_client2 = __toESM(require("@feathersjs/authentication-client"), 1);
|
|
59
60
|
var DEFAULT_DAEMON_URL = `http://${DAEMON.DEFAULT_HOST}:${DAEMON.DEFAULT_PORT}`;
|
|
60
61
|
var BOARDS_SERVICE_EXTENDED = Symbol("agor.boardsServiceExtended");
|
|
62
|
+
var SERVICE_FIND_ALL_EXTENDED = Symbol("agor.serviceFindAllExtended");
|
|
63
|
+
var CLIENT_SERVICE_FACTORY_EXTENDED = Symbol("agor.clientServiceFactoryExtended");
|
|
64
|
+
var CLIENT_SESSIONS_HELPERS_EXTENDED = Symbol("agor.clientSessionsHelpersExtended");
|
|
61
65
|
function extendBoardsService(client) {
|
|
62
66
|
const boardsService = client.service("boards");
|
|
63
67
|
if (boardsService[BOARDS_SERVICE_EXTENDED]) {
|
|
@@ -116,6 +120,82 @@ function extendBoardsService(client) {
|
|
|
116
120
|
}
|
|
117
121
|
boardsService[BOARDS_SERVICE_EXTENDED] = true;
|
|
118
122
|
}
|
|
123
|
+
function normalizeFindResult(result) {
|
|
124
|
+
return Array.isArray(result) ? result : result.data;
|
|
125
|
+
}
|
|
126
|
+
function isPaginatedResult(result) {
|
|
127
|
+
return !Array.isArray(result) && typeof result === "object" && result !== null && Array.isArray(result.data);
|
|
128
|
+
}
|
|
129
|
+
function extendFindAllOnService(service) {
|
|
130
|
+
const findAllService = service;
|
|
131
|
+
if (findAllService[SERVICE_FIND_ALL_EXTENDED]) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
findAllService.findAll = async (params) => {
|
|
135
|
+
const firstResult = await service.find(params);
|
|
136
|
+
if (!isPaginatedResult(firstResult)) {
|
|
137
|
+
return firstResult;
|
|
138
|
+
}
|
|
139
|
+
const allData = [...firstResult.data];
|
|
140
|
+
let total = firstResult.total;
|
|
141
|
+
let nextSkip = firstResult.skip + firstResult.data.length;
|
|
142
|
+
const pageLimit = typeof firstResult.limit === "number" && firstResult.limit > 0 ? firstResult.limit : firstResult.data.length;
|
|
143
|
+
if (!Number.isFinite(total) || pageLimit <= 0) {
|
|
144
|
+
return allData;
|
|
145
|
+
}
|
|
146
|
+
const baseQuery = params?.query && typeof params.query === "object" ? { ...params.query } : void 0;
|
|
147
|
+
while (allData.length < total) {
|
|
148
|
+
const nextParams = {
|
|
149
|
+
...params ?? {},
|
|
150
|
+
query: {
|
|
151
|
+
...baseQuery ?? {},
|
|
152
|
+
$skip: nextSkip,
|
|
153
|
+
$limit: pageLimit
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
const nextResult = await service.find(nextParams);
|
|
157
|
+
if (!isPaginatedResult(nextResult)) {
|
|
158
|
+
allData.push(...nextResult);
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
if (nextResult.data.length === 0) {
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
allData.push(...nextResult.data);
|
|
165
|
+
nextSkip = nextResult.skip + nextResult.data.length;
|
|
166
|
+
total = nextResult.total;
|
|
167
|
+
}
|
|
168
|
+
return allData;
|
|
169
|
+
};
|
|
170
|
+
findAllService[SERVICE_FIND_ALL_EXTENDED] = true;
|
|
171
|
+
}
|
|
172
|
+
function extendServiceFactory(client) {
|
|
173
|
+
const augmentedClient = client;
|
|
174
|
+
if (augmentedClient[CLIENT_SERVICE_FACTORY_EXTENDED]) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const rawService = client.service.bind(client);
|
|
178
|
+
augmentedClient.service = ((path) => {
|
|
179
|
+
const service = rawService(path);
|
|
180
|
+
extendFindAllOnService(service);
|
|
181
|
+
return service;
|
|
182
|
+
});
|
|
183
|
+
augmentedClient[CLIENT_SERVICE_FACTORY_EXTENDED] = true;
|
|
184
|
+
}
|
|
185
|
+
function extendSessionsHelpers(client) {
|
|
186
|
+
const augmentedClient = client;
|
|
187
|
+
if (augmentedClient[CLIENT_SESSIONS_HELPERS_EXTENDED]) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
client.sessions = {
|
|
191
|
+
prompt: async (sessionId, prompt, options) => {
|
|
192
|
+
const { params, ...requestOptions } = options ?? {};
|
|
193
|
+
const response = await client.service(`sessions/${sessionId}/prompt`).create({ prompt, ...requestOptions }, params);
|
|
194
|
+
return response;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
augmentedClient[CLIENT_SESSIONS_HELPERS_EXTENDED] = true;
|
|
198
|
+
}
|
|
119
199
|
function getApiKeyFromEnv() {
|
|
120
200
|
const key = typeof process !== "undefined" ? process.env?.AGOR_API_KEY : null;
|
|
121
201
|
if (key?.startsWith("agor_sk_")) {
|
|
@@ -140,7 +220,9 @@ async function createRestClient(url = DEFAULT_DAEMON_URL, apiKey) {
|
|
|
140
220
|
},
|
|
141
221
|
io: { opts: {} }
|
|
142
222
|
};
|
|
223
|
+
extendServiceFactory(client);
|
|
143
224
|
extendBoardsService(client);
|
|
225
|
+
extendSessionsHelpers(client);
|
|
144
226
|
return client;
|
|
145
227
|
}
|
|
146
228
|
function createClient(url = DEFAULT_DAEMON_URL, autoConnect = true, options) {
|
|
@@ -188,7 +270,9 @@ function createClient(url = DEFAULT_DAEMON_URL, autoConnect = true, options) {
|
|
|
188
270
|
const storage = typeof globalThis !== "undefined" && "localStorage" in globalThis ? globalThis.localStorage : void 0;
|
|
189
271
|
client.configure((0, import_authentication_client.default)({ storage }));
|
|
190
272
|
client.io = socket;
|
|
273
|
+
extendServiceFactory(client);
|
|
191
274
|
extendBoardsService(client);
|
|
275
|
+
extendSessionsHelpers(client);
|
|
192
276
|
return client;
|
|
193
277
|
}
|
|
194
278
|
async function isDaemonRunning(url = DEFAULT_DAEMON_URL) {
|
|
@@ -205,5 +289,6 @@ async function isDaemonRunning(url = DEFAULT_DAEMON_URL) {
|
|
|
205
289
|
createClient,
|
|
206
290
|
createRestClient,
|
|
207
291
|
getApiKeyFromEnv,
|
|
208
|
-
isDaemonRunning
|
|
292
|
+
isDaemonRunning,
|
|
293
|
+
normalizeFindResult
|
|
209
294
|
});
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { i as Message } from '../message-CbD99EwO.cjs';
|
|
2
|
+
import { U as UUID } from '../id-Cv3ntaTJ.cjs';
|
|
2
3
|
import { a as Artifact } from '../artifact-Bi-1jifF.cjs';
|
|
3
4
|
import { h as Board, m as CardWithType, k as CardType, i as BoardExportBlob } from '../board-CPZGf5wF.cjs';
|
|
4
5
|
import { b as Repo, d as Worktree } from '../repo-CcvhnJDf.cjs';
|
|
5
|
-
import { a as Session } from '../session-DEU5FS0N.cjs';
|
|
6
|
+
import { P as PermissionMode, a as Session } from '../session-DEU5FS0N.cjs';
|
|
6
7
|
import { d as User } from '../user-BpKIlt04.cjs';
|
|
7
8
|
import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.cjs';
|
|
8
|
-
import { b as AuthenticationResult } from '../feathers-
|
|
9
|
+
import { b as AuthenticationResult } from '../feathers-NY8lH6YZ.cjs';
|
|
9
10
|
import { i as MCPServer } from '../mcp-CtC1DFEm.cjs';
|
|
10
11
|
import { c as Task } from '../task-DCPYEXlG.cjs';
|
|
11
|
-
import {
|
|
12
|
+
import { Paginated, Params, Application } from '@feathersjs/feathers';
|
|
12
13
|
import { Socket } from 'socket.io-client';
|
|
13
14
|
export { default as authenticationClient } from '@feathersjs/authentication-client';
|
|
14
|
-
import '../id-Cv3ntaTJ.cjs';
|
|
15
15
|
import '../agentic-tool-3oiAj9Lg.cjs';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -20,6 +20,46 @@ import '../agentic-tool-3oiAj9Lg.cjs';
|
|
|
20
20
|
* Shared client library for connecting to agor-daemon from CLI and UI
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Client-side input type helper:
|
|
25
|
+
* keeps strongly typed output models branded, while accepting plain strings
|
|
26
|
+
* for branded UUID fields in create/update/patch payloads.
|
|
27
|
+
*/
|
|
28
|
+
type ClientInput<T> = T extends UUID ? string : T extends string & {
|
|
29
|
+
readonly __brand: string;
|
|
30
|
+
} ? string : T extends readonly (infer U)[] ? ClientInput<U>[] : T extends (...args: unknown[]) => unknown ? T : T extends object ? {
|
|
31
|
+
[K in keyof T]: ClientInput<T[K]>;
|
|
32
|
+
} : T;
|
|
33
|
+
type CreatePayload<T> = Partial<ClientInput<T>>;
|
|
34
|
+
type UpdatePayload<T> = ClientInput<T>;
|
|
35
|
+
type PatchPayload<T> = Partial<ClientInput<T>> | null;
|
|
36
|
+
type FindResult<T> = Paginated<T> | T[];
|
|
37
|
+
interface SessionPromptRequest {
|
|
38
|
+
prompt: string;
|
|
39
|
+
permissionMode?: PermissionMode;
|
|
40
|
+
stream?: boolean;
|
|
41
|
+
messageSource?: 'gateway' | 'agor';
|
|
42
|
+
}
|
|
43
|
+
interface QueuedSessionPromptResult {
|
|
44
|
+
success: true;
|
|
45
|
+
queued: true;
|
|
46
|
+
message: Message;
|
|
47
|
+
queue_position: number;
|
|
48
|
+
}
|
|
49
|
+
interface RunningSessionPromptResult {
|
|
50
|
+
success: true;
|
|
51
|
+
taskId: string;
|
|
52
|
+
status: string;
|
|
53
|
+
streaming: boolean;
|
|
54
|
+
queued?: false;
|
|
55
|
+
}
|
|
56
|
+
type SessionPromptResult = QueuedSessionPromptResult | RunningSessionPromptResult;
|
|
57
|
+
interface SessionPromptOptions extends Omit<SessionPromptRequest, 'prompt'> {
|
|
58
|
+
params?: Params;
|
|
59
|
+
}
|
|
60
|
+
interface SessionsClientHelpers {
|
|
61
|
+
prompt(sessionId: string, prompt: string, options?: SessionPromptOptions): Promise<SessionPromptResult>;
|
|
62
|
+
}
|
|
23
63
|
/**
|
|
24
64
|
* Service interfaces for type safety
|
|
25
65
|
*/
|
|
@@ -40,12 +80,13 @@ interface ServiceTypes {
|
|
|
40
80
|
/**
|
|
41
81
|
* Feathers service with find method properly typed and event emitter methods
|
|
42
82
|
*/
|
|
43
|
-
interface AgorService<T
|
|
44
|
-
find(params?: Params): Promise<
|
|
83
|
+
interface AgorService<T, TCreate = CreatePayload<T>, TUpdate = UpdatePayload<T>, TPatch = PatchPayload<T>> {
|
|
84
|
+
find(params?: Params): Promise<FindResult<T>>;
|
|
85
|
+
findAll(params?: Params): Promise<T[]>;
|
|
45
86
|
get(id: string, params?: Params): Promise<T>;
|
|
46
|
-
create(data:
|
|
47
|
-
update(id: string, data:
|
|
48
|
-
patch(id: string | null, data:
|
|
87
|
+
create(data: TCreate, params?: Params): Promise<T>;
|
|
88
|
+
update(id: string, data: TUpdate, params?: Params): Promise<T>;
|
|
89
|
+
patch(id: string | null, data: TPatch, params?: Params): Promise<T>;
|
|
49
90
|
remove(id: string, params?: Params): Promise<T>;
|
|
50
91
|
on(event: 'created' | 'updated' | 'patched' | 'removed', handler: (data: T) => void): void;
|
|
51
92
|
on(event: string, handler: (...args: any[]) => void): void;
|
|
@@ -251,6 +292,7 @@ interface WorktreesService extends AgorService<Worktree> {
|
|
|
251
292
|
*/
|
|
252
293
|
interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
|
|
253
294
|
io: Socket;
|
|
295
|
+
sessions: SessionsClientHelpers;
|
|
254
296
|
service(path: 'sessions'): SessionsService;
|
|
255
297
|
service(path: 'tasks'): TasksService;
|
|
256
298
|
service(path: 'messages'): MessagesService;
|
|
@@ -276,6 +318,7 @@ interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
|
|
|
276
318
|
logout(): Promise<AuthenticationResult | null>;
|
|
277
319
|
reAuthenticate(force?: boolean): Promise<AuthenticationResult>;
|
|
278
320
|
}
|
|
321
|
+
declare function normalizeFindResult<T>(result: FindResult<T>): T[];
|
|
279
322
|
/**
|
|
280
323
|
* Create Feathers client connected to agor-daemon
|
|
281
324
|
*
|
|
@@ -313,4 +356,4 @@ declare function createClient(url?: string, autoConnect?: boolean, options?: {
|
|
|
313
356
|
*/
|
|
314
357
|
declare function isDaemonRunning(url?: string): Promise<boolean>;
|
|
315
358
|
|
|
316
|
-
export { type AgorClient, type AgorService, type BoardsService, type MessagesService, type ReposLocalService, type ReposService, type ServiceTypes, type SessionsService, type TasksService, type WorktreesService, createClient, createRestClient, getApiKeyFromEnv, isDaemonRunning };
|
|
359
|
+
export { type AgorClient, type AgorService, type BoardsService, type ClientInput, type CreatePayload, type FindResult, type MessagesService, type PatchPayload, type QueuedSessionPromptResult, type ReposLocalService, type ReposService, type RunningSessionPromptResult, type ServiceTypes, type SessionPromptOptions, type SessionPromptRequest, type SessionPromptResult, type SessionsClientHelpers, type SessionsService, type TasksService, type UpdatePayload, type WorktreesService, createClient, createRestClient, getApiKeyFromEnv, isDaemonRunning, normalizeFindResult };
|
package/dist/core/api/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { i as Message } from '../message-Cwhx2ItQ.js';
|
|
2
|
+
import { U as UUID } from '../id-Cv3ntaTJ.js';
|
|
2
3
|
import { a as Artifact } from '../artifact-B5MFR79G.js';
|
|
3
4
|
import { h as Board, m as CardWithType, k as CardType, i as BoardExportBlob } from '../board-B9Xnux_i.js';
|
|
4
5
|
import { b as Repo, d as Worktree } from '../repo-j12tCmyK.js';
|
|
5
|
-
import { a as Session } from '../session-Bw8_FN2l.js';
|
|
6
|
+
import { P as PermissionMode, a as Session } from '../session-Bw8_FN2l.js';
|
|
6
7
|
import { d as User } from '../user-pO3lB_da.js';
|
|
7
8
|
import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.js';
|
|
8
|
-
import { b as AuthenticationResult } from '../feathers-
|
|
9
|
+
import { b as AuthenticationResult } from '../feathers-CKfl55ut.js';
|
|
9
10
|
import { i as MCPServer } from '../mcp-VhU-PMHo.js';
|
|
10
11
|
import { c as Task } from '../task-CKHC1gPj.js';
|
|
11
|
-
import {
|
|
12
|
+
import { Paginated, Params, Application } from '@feathersjs/feathers';
|
|
12
13
|
import { Socket } from 'socket.io-client';
|
|
13
14
|
export { default as authenticationClient } from '@feathersjs/authentication-client';
|
|
14
|
-
import '../id-Cv3ntaTJ.js';
|
|
15
15
|
import '../agentic-tool-1L19ixPC.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -20,6 +20,46 @@ import '../agentic-tool-1L19ixPC.js';
|
|
|
20
20
|
* Shared client library for connecting to agor-daemon from CLI and UI
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Client-side input type helper:
|
|
25
|
+
* keeps strongly typed output models branded, while accepting plain strings
|
|
26
|
+
* for branded UUID fields in create/update/patch payloads.
|
|
27
|
+
*/
|
|
28
|
+
type ClientInput<T> = T extends UUID ? string : T extends string & {
|
|
29
|
+
readonly __brand: string;
|
|
30
|
+
} ? string : T extends readonly (infer U)[] ? ClientInput<U>[] : T extends (...args: unknown[]) => unknown ? T : T extends object ? {
|
|
31
|
+
[K in keyof T]: ClientInput<T[K]>;
|
|
32
|
+
} : T;
|
|
33
|
+
type CreatePayload<T> = Partial<ClientInput<T>>;
|
|
34
|
+
type UpdatePayload<T> = ClientInput<T>;
|
|
35
|
+
type PatchPayload<T> = Partial<ClientInput<T>> | null;
|
|
36
|
+
type FindResult<T> = Paginated<T> | T[];
|
|
37
|
+
interface SessionPromptRequest {
|
|
38
|
+
prompt: string;
|
|
39
|
+
permissionMode?: PermissionMode;
|
|
40
|
+
stream?: boolean;
|
|
41
|
+
messageSource?: 'gateway' | 'agor';
|
|
42
|
+
}
|
|
43
|
+
interface QueuedSessionPromptResult {
|
|
44
|
+
success: true;
|
|
45
|
+
queued: true;
|
|
46
|
+
message: Message;
|
|
47
|
+
queue_position: number;
|
|
48
|
+
}
|
|
49
|
+
interface RunningSessionPromptResult {
|
|
50
|
+
success: true;
|
|
51
|
+
taskId: string;
|
|
52
|
+
status: string;
|
|
53
|
+
streaming: boolean;
|
|
54
|
+
queued?: false;
|
|
55
|
+
}
|
|
56
|
+
type SessionPromptResult = QueuedSessionPromptResult | RunningSessionPromptResult;
|
|
57
|
+
interface SessionPromptOptions extends Omit<SessionPromptRequest, 'prompt'> {
|
|
58
|
+
params?: Params;
|
|
59
|
+
}
|
|
60
|
+
interface SessionsClientHelpers {
|
|
61
|
+
prompt(sessionId: string, prompt: string, options?: SessionPromptOptions): Promise<SessionPromptResult>;
|
|
62
|
+
}
|
|
23
63
|
/**
|
|
24
64
|
* Service interfaces for type safety
|
|
25
65
|
*/
|
|
@@ -40,12 +80,13 @@ interface ServiceTypes {
|
|
|
40
80
|
/**
|
|
41
81
|
* Feathers service with find method properly typed and event emitter methods
|
|
42
82
|
*/
|
|
43
|
-
interface AgorService<T
|
|
44
|
-
find(params?: Params): Promise<
|
|
83
|
+
interface AgorService<T, TCreate = CreatePayload<T>, TUpdate = UpdatePayload<T>, TPatch = PatchPayload<T>> {
|
|
84
|
+
find(params?: Params): Promise<FindResult<T>>;
|
|
85
|
+
findAll(params?: Params): Promise<T[]>;
|
|
45
86
|
get(id: string, params?: Params): Promise<T>;
|
|
46
|
-
create(data:
|
|
47
|
-
update(id: string, data:
|
|
48
|
-
patch(id: string | null, data:
|
|
87
|
+
create(data: TCreate, params?: Params): Promise<T>;
|
|
88
|
+
update(id: string, data: TUpdate, params?: Params): Promise<T>;
|
|
89
|
+
patch(id: string | null, data: TPatch, params?: Params): Promise<T>;
|
|
49
90
|
remove(id: string, params?: Params): Promise<T>;
|
|
50
91
|
on(event: 'created' | 'updated' | 'patched' | 'removed', handler: (data: T) => void): void;
|
|
51
92
|
on(event: string, handler: (...args: any[]) => void): void;
|
|
@@ -251,6 +292,7 @@ interface WorktreesService extends AgorService<Worktree> {
|
|
|
251
292
|
*/
|
|
252
293
|
interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
|
|
253
294
|
io: Socket;
|
|
295
|
+
sessions: SessionsClientHelpers;
|
|
254
296
|
service(path: 'sessions'): SessionsService;
|
|
255
297
|
service(path: 'tasks'): TasksService;
|
|
256
298
|
service(path: 'messages'): MessagesService;
|
|
@@ -276,6 +318,7 @@ interface AgorClient extends Omit<Application<ServiceTypes>, 'service'> {
|
|
|
276
318
|
logout(): Promise<AuthenticationResult | null>;
|
|
277
319
|
reAuthenticate(force?: boolean): Promise<AuthenticationResult>;
|
|
278
320
|
}
|
|
321
|
+
declare function normalizeFindResult<T>(result: FindResult<T>): T[];
|
|
279
322
|
/**
|
|
280
323
|
* Create Feathers client connected to agor-daemon
|
|
281
324
|
*
|
|
@@ -313,4 +356,4 @@ declare function createClient(url?: string, autoConnect?: boolean, options?: {
|
|
|
313
356
|
*/
|
|
314
357
|
declare function isDaemonRunning(url?: string): Promise<boolean>;
|
|
315
358
|
|
|
316
|
-
export { type AgorClient, type AgorService, type BoardsService, type MessagesService, type ReposLocalService, type ReposService, type ServiceTypes, type SessionsService, type TasksService, type WorktreesService, createClient, createRestClient, getApiKeyFromEnv, isDaemonRunning };
|
|
359
|
+
export { type AgorClient, type AgorService, type BoardsService, type ClientInput, type CreatePayload, type FindResult, type MessagesService, type PatchPayload, type QueuedSessionPromptResult, type ReposLocalService, type ReposService, type RunningSessionPromptResult, type ServiceTypes, type SessionPromptOptions, type SessionPromptRequest, type SessionPromptResult, type SessionsClientHelpers, type SessionsService, type TasksService, type UpdatePayload, type WorktreesService, createClient, createRestClient, getApiKeyFromEnv, isDaemonRunning, normalizeFindResult };
|