@straiffi/archon 1.4.2 → 1.4.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/client/assets/{TestsDialog-B1uwgeQE.js → TestsDialog-BPopdVxR.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-ae8dFJ9T.js → architectureDiagram-3BPJPVTR-DfwHuRqk.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-D7pbEjha.js → blockDiagram-GPEHLZMM-nxH-eJ6e.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-Bv5inUss.js → c4Diagram-AAUBKEIU-D0L_4sId.js} +1 -1
- package/dist/client/assets/channel-CEeppbUP.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-Dv8A9yde.js → chunk-2J33WTMH-DaP-3J9_.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-C50OENMg.js → chunk-3OPIFGDE-Da5WOv53.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-eVqo0pH1.js → chunk-5ZQYHXKU-C29fkaU6.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-CGkzoG8B.js → chunk-727SXJPM-9EPCn2QJ.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-BbYVRsCk.js → chunk-AQP2D5EJ-CKTPKZvS.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-DU7aZK8a.js → chunk-CSCIHK7Q-Cf8cOAXC.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-DA8KY2-g.js → chunk-KSCS5N6A-CVBRyuGp.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-DM9-zYjF.js → chunk-L5ZTLDWV-BrsnO2aK.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-DR69oZWS.js → chunk-LZXEDZCA-DVjpyGpu.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-PgSjipvy.js → chunk-ND2GUHAM-BQU8MYyf.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-X2ffkm-l.js → chunk-NZK2D7GU-Cdabf9Po.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-BwTuL5Ds.js → chunk-O5CBEL6O-BgIeRwwm.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-3A60YtJe.js → chunk-WU5MYG2G-Wp_Hf6AW.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BylOKB6Z.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DBnX_vLf.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-97Lmzo1v.js → dagre-BM42HDAG-CoNQi-oS.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-Bsf_NTtC.js → diagram-2AECGRRQ-CAhtukUy.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-CkDPOt_3.js → diagram-5GNKFQAL-QUTjDBJ6.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-ByLp_tLp.js → diagram-KO2AKTUF-B_b-Go1H.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-DgIOCtSf.js → diagram-LMA3HP47-L1SfLJYe.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-Dij1QR8M.js → diagram-OG6HWLK6-CuDtPgg6.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-uTgrdKRM.js → erDiagram-TEJ5UH35-DXHy8_e_.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-D3VYp11z.js → flowDiagram-I6XJVG4X-CBZISnup.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BznyqZ31.js → ganttDiagram-6RSMTGT7-RCy-zLGQ.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-GsstcxtF.js → gitGraphDiagram-PVQCEYII-DskEPDnQ.js} +1 -1
- package/dist/client/assets/{index-D6fbF563.js → index-D5iSg0Uo.js} +106 -106
- package/dist/client/assets/{infoDiagram-5YYISTIA-BS3PqCd3.js → infoDiagram-5YYISTIA-FMGHdgyz.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BeWmiFk3.js → ishikawaDiagram-YF4QCWOH-BXSfJnbv.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-CWXtsbWR.js → journeyDiagram-JHISSGLW-T4-wcHCG.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CTNXURgY.js → kanban-definition-UN3LZRKU-DHZhiDr3.js} +1 -1
- package/dist/client/assets/{line-B-Egb4Pn.js → line-Xa5t6k8v.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-B8ZZbty_.js → mermaid-parser.core-BiCD_sVB.js} +1 -1
- package/dist/client/assets/{mermaid.core-BSugEkw8.js → mermaid.core-DaxXdGt3.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-4raxG21B.js → mindmap-definition-RKZ34NQL-bd5fxd9H.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BtA7Ukd1.js → pieDiagram-4H26LBE5-c-OXSDlp.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-AHK7Q6xb.js → quadrantDiagram-W4KKPZXB-BWxKltH_.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-CLjXFJnk.js → requirementDiagram-4Y6WPE33-Csvm66Jb.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BCPQIPdV.js → sankeyDiagram-5OEKKPKP-C14C_mZ_.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BkYCIWVq.js → sequenceDiagram-3UESZ5HK-CBT2OM3Z.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-CRKkkMY5.js → stateDiagram-AJRCARHV-3l_BEQe1.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BPmJ_kyl.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-i5lwfxwF.js → timeline-definition-PNZ67QCA-C9BX3_MI.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-CAOpbfYt.js → vennDiagram-CIIHVFJN-BDGnzsV3.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-PLngUKdt.js → wardleyDiagram-YWT4CUSO-B0wQfEUK.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-BZenFdgF.js → xychartDiagram-2RQKCTM6-G39MJ6II.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/db.js +54 -2
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +54 -32
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +13 -5
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/planModeQuestions.js +1 -0
- package/dist/server/lib/planModeQuestions.js.map +1 -1
- package/dist/server/lib/specOperations.js +6 -2
- package/dist/server/lib/specOperations.js.map +1 -1
- package/dist/server/lib/ticketAutomation.js +5 -5
- package/dist/server/lib/ticketAutomation.js.map +1 -1
- package/dist/server/lib/ticketSettingsOperations.js +2 -35
- package/dist/server/lib/ticketSettingsOperations.js.map +1 -1
- package/dist/server/lib/tickets.js +21 -14
- package/dist/server/lib/tickets.js.map +1 -1
- package/dist/server/workers/build.js +1 -1
- package/dist/server/workers/build.js.map +1 -1
- package/dist/server/workers/chat.js +14 -10
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/followUp.js +6 -3
- package/dist/server/workers/followUp.js.map +1 -1
- package/dist/server/workers/plan.js +7 -4
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/review.js +1 -1
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specSession.js +27 -16
- package/dist/server/workers/specSession.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/channel-Bzb5_GUt.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DHGZaJVi.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BN7x7YaI.js +0 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-B4u1psZz.js +0 -1
package/dist/server/index.js
CHANGED
|
@@ -64,7 +64,7 @@ import { isTicketAgentSettingsPayload, updateTicketAgentSettings, } from './lib/
|
|
|
64
64
|
import { resolveBundleReviewOwner, transitionBundleToReview } from './lib/bundleReviewOperations.js';
|
|
65
65
|
import { getActiveBundleStageChangeHead, undoTicketStage } from './lib/ticketUndo.js';
|
|
66
66
|
import { closeAllTerminalSessions, createProjectTerminalSession, createTerminalSessionForWorkspace, destroyTerminalSessionById, registerTerminalSocketHandlers, } from './lib/terminal.js';
|
|
67
|
-
import { countBundleTickets, createTicketRecord, createBundle, deleteBundle, ensureProjectRootBundle, autoParkTicketIfStale, autoParkSettledBundleTicket, isBundleSettledForAutoPark, clearAutoParkDismissalIfNeeded, assignTicketDoneOrder, assignTicketLaneOrder, getBundle, getBundleByName, getBundleByBranch, getBundleRepresentativeTicketContext, isProjectRootBundle, getTicket, isBundledTicket, listTicketsInRunContext, listBundles, listBoardTicketEnrichment, listTickets, resolveTicketBranch, resolveTicketTool, } from './lib/tickets.js';
|
|
67
|
+
import { countBundleTickets, createTicketRecord, createBundle, deleteBundle, ensureProjectRootBundle, autoParkTicketIfStale, autoParkSettledBundleTicket, isBundleSettledForAutoPark, clearAutoParkDismissalIfNeeded, assignTicketDoneOrder, assignTicketLaneOrder, getBundle, getBundleByName, getBundleByBranch, getBundleRepresentativeTicketContext, isProjectRootBundle, getTicket, isBundledTicket, listTicketsInRunContext, listBundles, listBoardTicketEnrichment, listTickets, resolveTicketBranch, resolveTicketTool, updateBundleAutomationConfig, } from './lib/tickets.js';
|
|
68
68
|
import { createTicketMessage, upsertTicketDescriptionMessage } from './lib/ticketMessages.js';
|
|
69
69
|
import { HttpError } from './lib/httpError.js';
|
|
70
70
|
import { parseIncomingExternalSource } from './lib/externalSource.js';
|
|
@@ -1039,6 +1039,7 @@ const serializeBundleRow = (projectId, bundle) => {
|
|
|
1039
1039
|
pull_request: getGitHubConnectionConfig(projectId)
|
|
1040
1040
|
? serializeBundlePullRequest(getBundlePullRequestRecord(bundle.id, projectId))
|
|
1041
1041
|
: null,
|
|
1042
|
+
automation_config: resolveAutomationConfig(bundle, project),
|
|
1042
1043
|
};
|
|
1043
1044
|
};
|
|
1044
1045
|
const serializeGitHubPullRequestSummary = (pullRequest) => {
|
|
@@ -3168,6 +3169,57 @@ app.delete('/bundles/:id', (req, res) => {
|
|
|
3168
3169
|
});
|
|
3169
3170
|
res.status(204).end();
|
|
3170
3171
|
});
|
|
3172
|
+
app.patch('/bundles/:id', (req, res) => {
|
|
3173
|
+
const result = getRequiredProject(req);
|
|
3174
|
+
if ('error' in result) {
|
|
3175
|
+
return res.status(400).json({ error: result.error });
|
|
3176
|
+
}
|
|
3177
|
+
const bundle = getBundle(req.params.id, result.project.id);
|
|
3178
|
+
if (!bundle) {
|
|
3179
|
+
return res.status(404).json({ error: 'Bundle not found' });
|
|
3180
|
+
}
|
|
3181
|
+
if (isProjectRootBundle(bundle)) {
|
|
3182
|
+
return res.status(409).json({ error: 'Project root bundle automation cannot be overridden' });
|
|
3183
|
+
}
|
|
3184
|
+
let automationDepth = bundle.automation_depth ?? null;
|
|
3185
|
+
if (hasOwn(req.body, 'automation_depth')) {
|
|
3186
|
+
const value = req.body.automation_depth;
|
|
3187
|
+
if (value == null || value === '') {
|
|
3188
|
+
automationDepth = null;
|
|
3189
|
+
}
|
|
3190
|
+
else if (isAutomationDepth(value)) {
|
|
3191
|
+
automationDepth = value;
|
|
3192
|
+
}
|
|
3193
|
+
else {
|
|
3194
|
+
return res.status(400).json({
|
|
3195
|
+
error: 'automation_depth must be one of: manual, auto_review, auto_commit, auto_push, auto_pr',
|
|
3196
|
+
});
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
let automationReviewFixEnabled = bundle.automation_review_fix_enabled ?? null;
|
|
3200
|
+
if (hasOwn(req.body, 'automation_review_fix_enabled')) {
|
|
3201
|
+
const value = req.body.automation_review_fix_enabled;
|
|
3202
|
+
if (value == null) {
|
|
3203
|
+
automationReviewFixEnabled = null;
|
|
3204
|
+
}
|
|
3205
|
+
else if (typeof value === 'boolean') {
|
|
3206
|
+
automationReviewFixEnabled = value ? 1 : 0;
|
|
3207
|
+
}
|
|
3208
|
+
else {
|
|
3209
|
+
return res.status(400).json({ error: 'automation_review_fix_enabled must be a boolean' });
|
|
3210
|
+
}
|
|
3211
|
+
}
|
|
3212
|
+
const updated = updateBundleAutomationConfig({
|
|
3213
|
+
bundleId: bundle.id,
|
|
3214
|
+
projectId: result.project.id,
|
|
3215
|
+
automationDepth,
|
|
3216
|
+
automationReviewFixEnabled,
|
|
3217
|
+
});
|
|
3218
|
+
listBundleTickets(result.project.id, bundle.id).forEach(ticket => {
|
|
3219
|
+
io.emit('ticket:updated', ticket);
|
|
3220
|
+
});
|
|
3221
|
+
res.json(serializeBundleRow(result.project.id, updated));
|
|
3222
|
+
});
|
|
3171
3223
|
app.post('/bundles/:id/build', (req, res) => {
|
|
3172
3224
|
const result = getRequiredProject(req);
|
|
3173
3225
|
if ('error' in result) {
|
|
@@ -3312,7 +3364,7 @@ app.post('/bundles/:id/resume-automation', async (req, res) => {
|
|
|
3312
3364
|
if (!project) {
|
|
3313
3365
|
return res.status(400).json({ error: 'Ticket project no longer exists' });
|
|
3314
3366
|
}
|
|
3315
|
-
const automationConfig = resolveAutomationConfig(owner, project);
|
|
3367
|
+
const automationConfig = resolveAutomationConfig(owner.bundle ?? null, project);
|
|
3316
3368
|
if (owner.state === 'review' && owner.agent_status === 'running') {
|
|
3317
3369
|
return res.status(409).json({ error: 'Review already running' });
|
|
3318
3370
|
}
|
|
@@ -4945,34 +4997,6 @@ app.post('/tickets', (req, res) => {
|
|
|
4945
4997
|
const bundleId = typeof req.body.worktree_bundle_id === 'string'
|
|
4946
4998
|
? req.body.worktree_bundle_id.trim()
|
|
4947
4999
|
: '';
|
|
4948
|
-
let automationDepth = null;
|
|
4949
|
-
if (hasOwn(req.body, 'automation_depth')) {
|
|
4950
|
-
const value = req.body.automation_depth;
|
|
4951
|
-
if (value == null || value === '') {
|
|
4952
|
-
automationDepth = null;
|
|
4953
|
-
}
|
|
4954
|
-
else if (isAutomationDepth(value)) {
|
|
4955
|
-
automationDepth = value;
|
|
4956
|
-
}
|
|
4957
|
-
else {
|
|
4958
|
-
return res.status(400).json({
|
|
4959
|
-
error: 'automation_depth must be one of: manual, auto_review, auto_commit, auto_push, auto_pr',
|
|
4960
|
-
});
|
|
4961
|
-
}
|
|
4962
|
-
}
|
|
4963
|
-
let automationReviewFixEnabled = null;
|
|
4964
|
-
if (hasOwn(req.body, 'automation_review_fix_enabled')) {
|
|
4965
|
-
const value = req.body.automation_review_fix_enabled;
|
|
4966
|
-
if (value == null) {
|
|
4967
|
-
automationReviewFixEnabled = null;
|
|
4968
|
-
}
|
|
4969
|
-
else if (typeof value === 'boolean') {
|
|
4970
|
-
automationReviewFixEnabled = value ? 1 : 0;
|
|
4971
|
-
}
|
|
4972
|
-
else {
|
|
4973
|
-
return res.status(400).json({ error: 'automation_review_fix_enabled must be a boolean' });
|
|
4974
|
-
}
|
|
4975
|
-
}
|
|
4976
5000
|
try {
|
|
4977
5001
|
const externalSource = parseIncomingExternalSource(req.body.external_source);
|
|
4978
5002
|
const resolvedBundleId = (() => {
|
|
@@ -4999,8 +5023,6 @@ app.post('/tickets', (req, res) => {
|
|
|
4999
5023
|
projectId: project_id,
|
|
5000
5024
|
worktreeBundleId: resolvedBundleId,
|
|
5001
5025
|
externalSource,
|
|
5002
|
-
automationDepth,
|
|
5003
|
-
automationReviewFixEnabled,
|
|
5004
5026
|
});
|
|
5005
5027
|
io.emit('ticket:created', ticket);
|
|
5006
5028
|
res.status(201).json(ticket);
|