@evermore.work/server 2026.515.0-canary.0 → 2026.517.0-canary.0
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/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +43 -0
- package/dist/routes/issues.js.map +1 -1
- package/dist/services/heartbeat.d.ts.map +1 -1
- package/dist/services/heartbeat.js +7 -2
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/issue-thread-interactions.test.js +1 -1
- package/dist/services/issue-thread-interactions.test.js.map +1 -1
- package/dist/services/issues.d.ts +3 -0
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.js +845 -14
- package/dist/services/issues.js.map +1 -1
- package/dist/services/plugin-loader.d.ts +8 -0
- package/dist/services/plugin-loader.d.ts.map +1 -1
- package/dist/services/plugin-loader.js +26 -4
- package/dist/services/plugin-loader.js.map +1 -1
- package/dist/services/plugin-worker-manager.js +2 -2
- package/dist/services/plugin-worker-manager.js.map +1 -1
- package/dist/services/recovery/service.d.ts +6 -6
- package/dist/services/session-workspace-cwd.d.ts +2 -0
- package/dist/services/session-workspace-cwd.d.ts.map +1 -0
- package/dist/services/session-workspace-cwd.js +24 -0
- package/dist/services/session-workspace-cwd.js.map +1 -0
- package/dist/services/session-workspace-cwd.test.d.ts +2 -0
- package/dist/services/session-workspace-cwd.test.d.ts.map +1 -0
- package/dist/services/session-workspace-cwd.test.js +25 -0
- package/dist/services/session-workspace-cwd.test.js.map +1 -0
- package/package.json +14 -14
- package/ui-dist/assets/{_basePickBy-CYQ764tf.js → _basePickBy-CLjw_wL0.js} +1 -1
- package/ui-dist/assets/{_baseUniq-D7ra-4p2.js → _baseUniq-KwVK1FpI.js} +1 -1
- package/ui-dist/assets/{arc-Cea0WpAo.js → arc-8oZE5Bh6.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-VXUJARFQ-DS539gJH.js → architectureDiagram-VXUJARFQ-cPCKF5LS.js} +1 -1
- package/ui-dist/assets/{blockDiagram-VD42YOAC-COPgRMlG.js → blockDiagram-VD42YOAC-jqSswRjV.js} +1 -1
- package/ui-dist/assets/{c4Diagram-YG6GDRKO-B8QWPYCg.js → c4Diagram-YG6GDRKO-VMH0xqNQ.js} +1 -1
- package/ui-dist/assets/channel-D2Ym0o1n.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-rA1_76wO.js → chunk-4BX2VUAB-DuF3RiME.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-CSFl7LNg.js → chunk-55IACEB6-DFQ9A7dI.js} +1 -1
- package/ui-dist/assets/{chunk-B4BG7PRW-DWZPuAg2.js → chunk-B4BG7PRW-BNslSPSi.js} +1 -1
- package/ui-dist/assets/{chunk-DI55MBZ5-W-fxWKu-.js → chunk-DI55MBZ5-DJNso3-1.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-BeLidyhJ.js → chunk-FMBD7UC4-D2qrYxn_.js} +1 -1
- package/ui-dist/assets/{chunk-QN33PNHL-DAkb1_ST.js → chunk-QN33PNHL-DTBM8V74.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-BOl35gaK.js → chunk-QZHKN3VN-BHZCXCYC.js} +1 -1
- package/ui-dist/assets/{chunk-TZMSLE5B-CqU7wC3w.js → chunk-TZMSLE5B-YWN6gGxi.js} +1 -1
- package/ui-dist/assets/classDiagram-2ON5EDUG-DTBZSTX-.js +1 -0
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-DTBZSTX-.js +1 -0
- package/ui-dist/assets/clone-BnZQ4Q3B.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-e07Qm089.js → cose-bilkent-S5V4N54A-DAXpHK3y.js} +1 -1
- package/ui-dist/assets/{dagre-6UL2VRFP-CpuAeAze.js → dagre-6UL2VRFP-BAOLq-AR.js} +1 -1
- package/ui-dist/assets/{diagram-PSM6KHXK-CeOVta_y.js → diagram-PSM6KHXK-tocAqnic.js} +1 -1
- package/ui-dist/assets/{diagram-QEK2KX5R-D_exJTjU.js → diagram-QEK2KX5R-CbkkiYdQ.js} +1 -1
- package/ui-dist/assets/{diagram-S2PKOQOG-4q-2fhqZ.js → diagram-S2PKOQOG-B9MyuGQ7.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q2GNP2WA-CH5wyu_X.js → erDiagram-Q2GNP2WA-DN6_RaIN.js} +1 -1
- package/ui-dist/assets/{flowDiagram-NV44I4VS-CFU0Tm0H.js → flowDiagram-NV44I4VS-B-sSto2y.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-JELNMOA3-DhtLZe7_.js → ganttDiagram-JELNMOA3-CuqNpg-X.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-D2TxXve7.js → gitGraphDiagram-V2S2FVAM-CF1XPHne.js} +1 -1
- package/ui-dist/assets/{graph-CXblQ4SQ.js → graph-BpwEQ43-.js} +1 -1
- package/ui-dist/assets/{index-ZLSMCk6Q.js → index-8wwbNsz8.js} +1 -1
- package/ui-dist/assets/{index-BEfAe6bz.js → index-B5sPpqPN.js} +1 -1
- package/ui-dist/assets/{index-DHi1a2tB.js → index-BBg02uqZ.js} +154 -154
- package/ui-dist/assets/{index-DSMRVLO-.js → index-BC-F8pma.js} +1 -1
- package/ui-dist/assets/{index-Br4fdn-K.js → index-BQYZFgXo.js} +1 -1
- package/ui-dist/assets/{index-BqxOoDoi.js → index-BoNTGe37.js} +1 -1
- package/ui-dist/assets/{index-CJ9FoO2T.js → index-BtjgZSM0.js} +1 -1
- package/ui-dist/assets/index-C7XSlsof.css +1 -0
- package/ui-dist/assets/{index-DmNphVDd.js → index-CAki4z5J.js} +1 -1
- package/ui-dist/assets/{index-B0uAip_K.js → index-CCuwp5Mo.js} +1 -1
- package/ui-dist/assets/{index-v3wBHi4R.js → index-CFnI0Q4S.js} +1 -1
- package/ui-dist/assets/{index-4I8pRU0Z.js → index-CLX-fUfN.js} +1 -1
- package/ui-dist/assets/{index-owENXWCA.js → index-CiNG0PG2.js} +1 -1
- package/ui-dist/assets/{index-B_PO2YkZ.js → index-CwI_sqFK.js} +1 -1
- package/ui-dist/assets/{index-DOUR3hpy.js → index-D7tsSRsP.js} +1 -1
- package/ui-dist/assets/{index-bQNV-vrl.js → index-D8zjj6aT.js} +1 -1
- package/ui-dist/assets/{index-Dt4ZvFHI.js → index-DAMiJhQr.js} +1 -1
- package/ui-dist/assets/{index-D65Bmpse.js → index-DQppPiOz.js} +1 -1
- package/ui-dist/assets/{index-C0v5tWOU.js → index-DSa7KBS7.js} +1 -1
- package/ui-dist/assets/{index-DpOZGtp5.js → index-Dc8t_jJI.js} +1 -1
- package/ui-dist/assets/{index-C2jCumFc.js → index-DfMi4Z_s.js} +1 -1
- package/ui-dist/assets/{index-DnBibVUR.js → index-JKsszIc7.js} +1 -1
- package/ui-dist/assets/{index-b56qYjhL.js → index-O1o0xeIY.js} +1 -1
- package/ui-dist/assets/{index-RQPX0urm.js → index-mx6xg01m.js} +1 -1
- package/ui-dist/assets/{infoDiagram-HS3SLOUP-DyJG0KoS.js → infoDiagram-HS3SLOUP-B8q0MKKa.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-CBml-JBz.js → journeyDiagram-XKPGCS4Q-B2cMCr3o.js} +1 -1
- package/ui-dist/assets/{kanban-definition-3W4ZIXB7-SHLU9sNO.js → kanban-definition-3W4ZIXB7-Ctqw1ZiF.js} +1 -1
- package/ui-dist/assets/{layout-BnOudPaD.js → layout-E8_0U0S2.js} +1 -1
- package/ui-dist/assets/{linear-D8eBbXvE.js → linear-2Y8V7adH.js} +1 -1
- package/ui-dist/assets/{mermaid.core-DWiZjjJY.js → mermaid.core-Buv7jM-a.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-VGOIOE7T-DHmVyuPd.js → mindmap-definition-VGOIOE7T-CTzTWajQ.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ADFJNKIX-UXEmMNcx.js → pieDiagram-ADFJNKIX-B_0i7zwt.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-BI1lOI_q.js → quadrantDiagram-AYHSOK5B-g3KXyyuY.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-DeWo8HaQ.js → requirementDiagram-UZGBJVZJ-DyypU9tf.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-CEySh8c4.js → sankeyDiagram-TZEHDZUN-B0PXWwH7.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-WL72ISMW-8FGKOqUz.js → sequenceDiagram-WL72ISMW-TUGsVinf.js} +1 -1
- package/ui-dist/assets/{stateDiagram-FKZM4ZOC-D8xbiEcM.js → stateDiagram-FKZM4ZOC-B-81hWWR.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-O1MtLQoU.js +1 -0
- package/ui-dist/assets/{timeline-definition-IT6M3QCI-BwNzsT4R.js → timeline-definition-IT6M3QCI-F8rT1qCc.js} +1 -1
- package/ui-dist/assets/{treemap-GDKQZRPO-TrW2hWp_.js → treemap-GDKQZRPO-BLjhHWip.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-PRI3JC2R-CczDCIXc.js → xychartDiagram-PRI3JC2R-BodTR4ax.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/channel-DrMZC0Ss.js +0 -1
- package/ui-dist/assets/classDiagram-2ON5EDUG-CuC6YGs-.js +0 -1
- package/ui-dist/assets/classDiagram-v2-WZHVMYZB-CuC6YGs-.js +0 -1
- package/ui-dist/assets/clone-wzmxJAGH.js +0 -1
- package/ui-dist/assets/index-BOZP7h9L.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-UKn3ADXg.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/routes/issues.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAS5C,OAAO,EA8BL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAI3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA8C1D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,0CAA0C,CAAC;AASlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAShF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACtF,CAAC;AA2qBF,wBAAgB,WAAW,CACzB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE;IACJ,qBAAqB,CAAC,EAAE;QACtB,0BAA0B,CAAC,KAAK,CAAC,EAAE;YACjC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,IAAI,CAAC;SACZ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACtC,
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/routes/issues.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAS5C,OAAO,EA8BL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAI3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA8C1D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,0CAA0C,CAAC;AASlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAShF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACtF,CAAC;AA2qBF,wBAAgB,WAAW,CACzB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE;IACJ,qBAAqB,CAAC,EAAE;QACtB,0BAA0B,CAAC,KAAK,CAAC,EAAE;YACjC,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,IAAI,CAAC;SACZ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACtC,8CAggIP"}
|
package/dist/routes/issues.js
CHANGED
|
@@ -1061,6 +1061,7 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
1061
1061
|
const parsedOffset = rawOffset !== undefined && /^\d+$/.test(rawOffset)
|
|
1062
1062
|
? Number.parseInt(rawOffset, 10)
|
|
1063
1063
|
: null;
|
|
1064
|
+
const attention = req.query.attention;
|
|
1064
1065
|
if (assigneeUserFilterRaw === "me" && (!assigneeUserId || req.actor.type !== "board")) {
|
|
1065
1066
|
res.status(403).json({ error: "assigneeUserId=me requires board authentication" });
|
|
1066
1067
|
return;
|
|
@@ -1077,6 +1078,10 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
1077
1078
|
res.status(403).json({ error: "unreadForUserId=me requires board authentication" });
|
|
1078
1079
|
return;
|
|
1079
1080
|
}
|
|
1081
|
+
if (attention !== undefined && attention !== "blocked") {
|
|
1082
|
+
res.status(400).json({ error: "attention must be 'blocked' when provided" });
|
|
1083
|
+
return;
|
|
1084
|
+
}
|
|
1080
1085
|
if (rawLimit !== undefined && (parsedLimit === null || !Number.isInteger(parsedLimit) || parsedLimit <= 0)) {
|
|
1081
1086
|
res.status(400).json({ error: `limit must be a positive integer up to ${ISSUE_LIST_MAX_LIMIT}` });
|
|
1082
1087
|
return;
|
|
@@ -1087,6 +1092,7 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
1087
1092
|
}
|
|
1088
1093
|
const offset = parsedOffset ?? 0;
|
|
1089
1094
|
const result = await svc.list(companyId, {
|
|
1095
|
+
attention: attention === "blocked" ? "blocked" : undefined,
|
|
1090
1096
|
status: req.query.status,
|
|
1091
1097
|
assigneeAgentId: req.query.assigneeAgentId,
|
|
1092
1098
|
participantAgentId: req.query.participantAgentId,
|
|
@@ -1107,6 +1113,7 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
1107
1113
|
excludeRoutineExecutions: req.query.excludeRoutineExecutions === "true" || req.query.excludeRoutineExecutions === "1",
|
|
1108
1114
|
includePluginOperations: req.query.includePluginOperations === "true" || req.query.includePluginOperations === "1",
|
|
1109
1115
|
includeBlockedBy: req.query.includeBlockedBy === "true" || req.query.includeBlockedBy === "1",
|
|
1116
|
+
includeBlockedInboxAttention: req.query.includeBlockedInboxAttention === "true" || req.query.includeBlockedInboxAttention === "1",
|
|
1110
1117
|
q: req.query.q,
|
|
1111
1118
|
limit,
|
|
1112
1119
|
offset,
|
|
@@ -1122,6 +1129,42 @@ export function issueRoutes(db, storage, opts = {}) {
|
|
|
1122
1129
|
activeRecoveryAction: recoveryActionByIssue.get(issue.id) ?? null,
|
|
1123
1130
|
})));
|
|
1124
1131
|
});
|
|
1132
|
+
router.get("/companies/:companyId/issues/count", async (req, res) => {
|
|
1133
|
+
const companyId = req.params.companyId;
|
|
1134
|
+
assertCompanyAccess(req, companyId);
|
|
1135
|
+
const attention = req.query.attention;
|
|
1136
|
+
if (attention !== "blocked") {
|
|
1137
|
+
res.status(400).json({ error: "issues/count currently requires attention=blocked" });
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
if (req.query.limit !== undefined || req.query.offset !== undefined) {
|
|
1141
|
+
res.status(400).json({ error: "issues/count does not accept limit or offset" });
|
|
1142
|
+
return;
|
|
1143
|
+
}
|
|
1144
|
+
const count = await svc.count(companyId, {
|
|
1145
|
+
attention: "blocked",
|
|
1146
|
+
status: req.query.status,
|
|
1147
|
+
assigneeAgentId: req.query.assigneeAgentId,
|
|
1148
|
+
participantAgentId: req.query.participantAgentId,
|
|
1149
|
+
assigneeUserId: req.query.assigneeUserId,
|
|
1150
|
+
projectId: req.query.projectId,
|
|
1151
|
+
workspaceId: req.query.workspaceId,
|
|
1152
|
+
executionWorkspaceId: req.query.executionWorkspaceId,
|
|
1153
|
+
parentId: req.query.parentId,
|
|
1154
|
+
descendantOf: req.query.descendantOf,
|
|
1155
|
+
labelId: req.query.labelId,
|
|
1156
|
+
originKind: req.query.originKind,
|
|
1157
|
+
originKindPrefix: req.query.originKindPrefix,
|
|
1158
|
+
originId: req.query.originId,
|
|
1159
|
+
includeRoutineExecutions: req.query.includeRoutineExecutions === "true" || req.query.includeRoutineExecutions === "1",
|
|
1160
|
+
excludeRoutineExecutions: req.query.excludeRoutineExecutions === "true" || req.query.excludeRoutineExecutions === "1",
|
|
1161
|
+
includePluginOperations: req.query.includePluginOperations === "true" || req.query.includePluginOperations === "1",
|
|
1162
|
+
includeBlockedBy: true,
|
|
1163
|
+
includeBlockedInboxAttention: true,
|
|
1164
|
+
q: req.query.q,
|
|
1165
|
+
});
|
|
1166
|
+
res.json({ count });
|
|
1167
|
+
});
|
|
1125
1168
|
router.get("/companies/:companyId/labels", async (req, res) => {
|
|
1126
1169
|
const companyId = req.params.companyId;
|
|
1127
1170
|
assertCompanyAccess(req, companyId);
|