@runfusion/fusion 0.75.1-beta.2 → 0.76.0-beta.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/bin.js +2883 -1203
- package/dist/child-process-worker.js +2345 -1000
- package/dist/client/.vite/manifest.json +260 -260
- package/dist/client/assets/AgentDetailView-Czb9wfC3.css +1 -0
- package/dist/client/assets/AgentDetailView-nsriz_Mw.js +13 -0
- package/dist/client/assets/{AgentPermissionPolicyEditor-CC_rrbbG.js → AgentPermissionPolicyEditor-TKuT5ryJ.js} +1 -1
- package/dist/client/assets/AgentsView-BBLq03lO.js +24 -0
- package/dist/client/assets/{ChatView-mFKfoegS.js → ChatView-BEc5SVfU.js} +1 -1
- package/dist/client/assets/{CommandCenter-C2wvDq_N.js → CommandCenter-DBCxo_tI.js} +1 -1
- package/dist/client/assets/{DevServerView-0MWEJM7o.js → DevServerView-BaLUl9De.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-BjMPhCdh.js → DirectoryPicker-CKj8CfUJ.js} +1 -1
- package/dist/client/assets/{DocumentsView-ckH3rjmd.js → DocumentsView-Cu8vlXJT.js} +1 -1
- package/dist/client/assets/{EvalsView-NyA644VF.js → EvalsView-CbdRWRjR.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-D0ZfbBRN.js → ExperimentalAgentOnboardingModal-BVdW0xJ3.js} +1 -1
- package/dist/client/assets/{GoalsView-Ctt5P_yo.js → GoalsView-CCbeAvBm.js} +1 -1
- package/dist/client/assets/{InsightsView-NDp0bdNB.js → InsightsView-B46ZemSm.js} +1 -1
- package/dist/client/assets/{MemoryView-BKbA4Bm4.js → MemoryView-JM1fFU2D.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-V3AFWMHm.js → PiExtensionsManager-KHsw2af9.js} +1 -1
- package/dist/client/assets/{PluginManager-D88G_TZh.js → PluginManager-BeKLun0C.js} +1 -1
- package/dist/client/assets/{PullRequestView-DQQmFFYC.js → PullRequestView-CwQW2pe4.js} +1 -1
- package/dist/client/assets/{ReportModal-Clh1S8RF.js → ReportModal-BC9DhvX4.js} +1 -1
- package/dist/client/assets/{ResearchView-kxvq4zp5.js → ResearchView-CuB7IbEB.js} +1 -1
- package/dist/client/assets/{SecretsView-Dm0Vk8SA.js → SecretsView-DD8uA6G7.js} +1 -1
- package/dist/client/assets/{SessionTerminal-DJO4JTEX.js → SessionTerminal-B0S1e8qf.js} +1 -1
- package/dist/client/assets/SettingsModal-BHNEJWD4.js +21 -0
- package/dist/client/assets/{SettingsModal-BN5mL_ym.js → SettingsModal-BxrdR4-f.js} +1 -1
- package/dist/client/assets/{SettingsTextareaRow-CvKszqO-.js → SettingsTextareaRow-CpJOy-rv.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-D5hVZh1G.js → SetupWizardModal-DviAPDlf.js} +2 -2
- package/dist/client/assets/{SkillsView-DQVz21w2.js → SkillsView-DeoEN_K0.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-CpKIi6Tb.js → WorkflowNodeEditor-CPk8plo1.js} +3 -3
- package/dist/client/assets/{agent-import-generation-DGUNF3nd.js → agent-import-generation-D74gC46R.js} +1 -1
- package/dist/client/assets/app-64JrFN7_.js +13 -0
- package/dist/client/assets/app-BxMYvSHk.js +13 -0
- package/dist/client/assets/app-CCgIvcFy.js +5 -0
- package/dist/client/assets/app-CVFYXkbM.js +13 -0
- package/dist/client/assets/app-Cl4NLAGd.js +13 -0
- package/dist/client/assets/app-_gHuSFBp.js +13 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-CV83wubP.js → architectureDiagram-3BPJPVTR-DUNXxw_k.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-CNQsA3dD.js → blockDiagram-GPEHLZMM-CTxWMFSZ.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-CXe7ii5H.js → c4Diagram-AAUBKEIU-DI15zO_G.js} +1 -1
- package/dist/client/assets/channel-DDHw4Vcu.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-BS6W9bWv.js → chunk-2J33WTMH-D1X3sNvd.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-DbehRhdW.js → chunk-4BX2VUAB-DYz990rf.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-DMI5SR42.js → chunk-55IACEB6-BQshFTjv.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-D1d-GBVj.js → chunk-727SXJPM-DiVH9Rd6.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-BzO6K3Uf.js → chunk-AQP2D5EJ-Bx8LBEvE.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BVRLV3lK.js → chunk-FMBD7UC4-7rsNdXy-.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-DdWByQfn.js → chunk-ND2GUHAM-COOZ3ff5.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-1ia12cRV.js → chunk-QZHKN3VN-oL-CU1gN.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-C5tnFtxH.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C5tnFtxH.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BPDT41HR.js → cose-bilkent-S5V4N54A-CHXhlVh-.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-Cktn26EH.js → dagre-BM42HDAG-BJVXidIK.js} +1 -1
- package/dist/client/assets/{dashboard-view-zd8GxC49.js → dashboard-view-B8OjndkD.js} +1 -1
- package/dist/client/assets/{dashboard-view-8o0EUcRX.js → dashboard-view-BOqEOmsR.js} +1 -1
- package/dist/client/assets/{dashboard-view-CkCerlVJ.js → dashboard-view-CCg2wkwd.js} +1 -1
- package/dist/client/assets/{dashboard-view-D_HC4lnr.js → dashboard-view-DOWuByTe.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-But4Lvf-.js → diagram-2AECGRRQ-CBS8IBP_.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-2bpQAGFc.js → diagram-5GNKFQAL-Dmyxol5P.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-Ckn9Qd1u.js → diagram-KO2AKTUF-DVF_5fDu.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-Bjn8h84N.js → diagram-LMA3HP47-DqbOTb-t.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-BI6541hx.js → diagram-OG6HWLK6-BIhwB3ji.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-BqMiwHiM.js → erDiagram-TEJ5UH35-BcYtj6RH.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-Q_SAB10M.js → flowDiagram-I6XJVG4X-CBYrhc7v.js} +1 -1
- package/dist/client/assets/{folder-open-CHiAJbTN.js → folder-open-DBW3UhL6.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CqWFSfPF.js → ganttDiagram-6RSMTGT7-BtFaOg92.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-B1o4uEjO.js → gitGraphDiagram-PVQCEYII-BE5E5ctQ.js} +1 -1
- package/dist/client/assets/{index-kwRywd9M.js → index-D6J9uyUx.js} +306 -306
- package/dist/client/assets/index-DDdZ20Cz.css +1 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-BzaMa0c2.js → infoDiagram-5YYISTIA-BBpwj0Ir.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-I38yge00.js → ishikawaDiagram-YF4QCWOH-CwjmjYav.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-WVQSgx4P.js → journeyDiagram-JHISSGLW-ChnMZl1o.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-BWtPQ3AH.js → kanban-definition-UN3LZRKU-BA_bNZa3.js} +1 -1
- package/dist/client/assets/{mermaid.core-D1hnBtbi.js → mermaid.core-CNMqiN_t.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-DqiSLkW7.js → mindmap-definition-RKZ34NQL-D-8_lEGp.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-CcgwbdIN.js → pieDiagram-4H26LBE5-Cz_dYW8h.js} +1 -1
- package/dist/client/assets/{puzzle-BhXUaTQl.js → puzzle-Bbsv6mZh.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-MsqQQfDN.js → quadrantDiagram-W4KKPZXB-BtXzvuUT.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-CILGjMMA.js → requirementDiagram-4Y6WPE33-CK29bQbQ.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-c14fWbtR.js → sankeyDiagram-5OEKKPKP-DGxLW8W6.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BD5bxMom.js → sequenceDiagram-3UESZ5HK-CPOz7wfR.js} +1 -1
- package/dist/client/assets/{shield-alert-C9W2WywS.js → shield-alert-BnpS5qUu.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-CJdbDSyg.js → standing-instructions-template-jeWwq3Zh.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-CZ5YqeOn.js → stateDiagram-AJRCARHV-CxpQ3AE6.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-mdMN-PNX.js → stateDiagram-v2-BHNVJYJU-BSImQHUw.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-DHKay9uj.js → timeline-definition-PNZ67QCA-jt74--XQ.js} +1 -1
- package/dist/client/assets/{upload-DxEwowRU.js → upload-D2j8N8vC.js} +1 -1
- package/dist/client/assets/{users-mNFgW_Zd.js → users-BtzATmoI.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-X29K9hWM.js → vennDiagram-CIIHVFJN-3vOGHb8-.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-yEoTrfmN.js → wardley-L42UT6IY-DNuWuyr8.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-ny4k3kG0.js → wardleyDiagram-YWT4CUSO-D-kFe8Uz.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DC8ODtRJ.js → xychartDiagram-2RQKCTM6-DvDQ30sY.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +2702 -1117
- package/dist/migrations/0045_fn_8764_multi_role_workflow_agents.sql +20 -0
- package/dist/migrations/0046_fn_8764_workflow_principal_fence.sql +49 -0
- package/dist/migrations/0047_fn_8829_task_recommendations.sql +3 -0
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugin-sdk/index.d.ts +43 -0
- package/dist/plugin-sdk/index.js +357 -25
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-roadmap/manifest.json +11 -1
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-todos/manifest.json +11 -1
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +357 -25
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/skill/fusion/SKILL.md +1 -1
- package/skill/fusion/references/extension-tools.md +16 -2
- package/skill/fusion/references/fusion-capabilities.md +1 -0
- package/dist/client/assets/AgentDetailView-C8-9_SOC.css +0 -1
- package/dist/client/assets/AgentDetailView-ltOG8f0-.js +0 -13
- package/dist/client/assets/AgentsView-DWUdi27N.js +0 -24
- package/dist/client/assets/SettingsModal-CTf5voEW.js +0 -21
- package/dist/client/assets/app-B4gkbXNS.js +0 -13
- package/dist/client/assets/app-BXLZYY_A.js +0 -13
- package/dist/client/assets/app-CNFmVt1q.js +0 -13
- package/dist/client/assets/app-DCERHstn.js +0 -13
- package/dist/client/assets/app-iKAA6v9i.js +0 -5
- package/dist/client/assets/app-p_Hq0vGS.js +0 -13
- package/dist/client/assets/channel-DoX862zl.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-mb2IeAGN.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-mb2IeAGN.js +0 -1
- package/dist/client/assets/index-Bdw5eNKV.css +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- FNXC:WorkflowAgentRouting 2026-08-07-03:12:
|
|
2
|
+
-- FN-8764 changes permanent-agent capability from one role to normalized tags.
|
|
3
|
+
-- Keep `role` during the compatibility window, but backfill canonical `roles`
|
|
4
|
+
-- idempotently so upgrades preserve every legacy agent identity.
|
|
5
|
+
DO $$
|
|
6
|
+
BEGIN
|
|
7
|
+
-- Partial historic schemas in the upgrade harness did not yet have agents;
|
|
8
|
+
-- a later normal startup applies this idempotent migration after the baseline.
|
|
9
|
+
IF to_regclass('project.agents') IS NOT NULL THEN
|
|
10
|
+
ALTER TABLE project.agents
|
|
11
|
+
ADD COLUMN IF NOT EXISTS roles jsonb NOT NULL DEFAULT '[]'::jsonb;
|
|
12
|
+
|
|
13
|
+
UPDATE project.agents
|
|
14
|
+
SET roles = jsonb_build_array(role)
|
|
15
|
+
WHERE jsonb_typeof(roles) <> 'array'
|
|
16
|
+
OR jsonb_array_length(roles) = 0;
|
|
17
|
+
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_agents_roles ON project.agents USING gin (roles);
|
|
19
|
+
END IF;
|
|
20
|
+
END $$;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
-- FNXC:WorkflowAgentRouting 2026-08-07-03:25:
|
|
2
|
+
-- FN-8764 requires routing identity to live on the project-scoped work item,
|
|
3
|
+
-- not mutable task ownership. These nullable fields preserve legacy items while
|
|
4
|
+
-- fencing new classified session attempts and their reviewer-node boundaries.
|
|
5
|
+
DO $$
|
|
6
|
+
BEGIN
|
|
7
|
+
-- Very old upgrade fixtures can predate workflow work items entirely.
|
|
8
|
+
CREATE TABLE IF NOT EXISTS project.workflow_agent_capacity_leases (
|
|
9
|
+
project_id text NOT NULL DEFAULT current_setting('fusion.project_id', true),
|
|
10
|
+
attempt_id text NOT NULL,
|
|
11
|
+
agent_id text NOT NULL,
|
|
12
|
+
created_at text NOT NULL,
|
|
13
|
+
expires_at text NOT NULL,
|
|
14
|
+
PRIMARY KEY (project_id, attempt_id)
|
|
15
|
+
);
|
|
16
|
+
-- FNXC:WorkflowAgentRouting 2026-08-07-07:16: Existing leases gain a finite expiry so a process crash cannot consume workflow capacity indefinitely.
|
|
17
|
+
ALTER TABLE project.workflow_agent_capacity_leases
|
|
18
|
+
ADD COLUMN IF NOT EXISTS expires_at text;
|
|
19
|
+
UPDATE project.workflow_agent_capacity_leases
|
|
20
|
+
SET expires_at = created_at
|
|
21
|
+
WHERE expires_at IS NULL;
|
|
22
|
+
ALTER TABLE project.workflow_agent_capacity_leases
|
|
23
|
+
ALTER COLUMN expires_at SET NOT NULL;
|
|
24
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_agent_capacity_leases_agent
|
|
25
|
+
ON project.workflow_agent_capacity_leases (project_id, agent_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_agent_capacity_leases_expiry
|
|
27
|
+
ON project.workflow_agent_capacity_leases (project_id, expires_at);
|
|
28
|
+
ALTER TABLE project.workflow_agent_capacity_leases ENABLE ROW LEVEL SECURITY;
|
|
29
|
+
ALTER TABLE project.workflow_agent_capacity_leases FORCE ROW LEVEL SECURITY;
|
|
30
|
+
DROP POLICY IF EXISTS fusion_project_isolation ON project.workflow_agent_capacity_leases;
|
|
31
|
+
CREATE POLICY fusion_project_isolation ON project.workflow_agent_capacity_leases
|
|
32
|
+
USING (current_setting('fusion.project_bypass', true) = 'on' OR project_id = current_setting('fusion.project_id', true))
|
|
33
|
+
WITH CHECK (current_setting('fusion.project_bypass', true) = 'on' OR project_id = current_setting('fusion.project_id', true));
|
|
34
|
+
DROP TRIGGER IF EXISTS fusion_assign_project_id ON project.workflow_agent_capacity_leases;
|
|
35
|
+
CREATE TRIGGER fusion_assign_project_id BEFORE INSERT OR UPDATE OF project_id ON project.workflow_agent_capacity_leases
|
|
36
|
+
FOR EACH ROW EXECUTE FUNCTION project.fusion_assign_project_id();
|
|
37
|
+
|
|
38
|
+
IF to_regclass('project.workflow_work_items') IS NOT NULL THEN
|
|
39
|
+
ALTER TABLE project.workflow_work_items
|
|
40
|
+
ADD COLUMN IF NOT EXISTS principal_agent_id text,
|
|
41
|
+
ADD COLUMN IF NOT EXISTS workflow_role text,
|
|
42
|
+
ADD COLUMN IF NOT EXISTS authority_kind text,
|
|
43
|
+
ADD COLUMN IF NOT EXISTS node_instance_id text;
|
|
44
|
+
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_work_items_active_principal
|
|
46
|
+
ON project.workflow_work_items (project_id, principal_agent_id, state)
|
|
47
|
+
WHERE principal_agent_id IS NOT NULL;
|
|
48
|
+
END IF;
|
|
49
|
+
END $$;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
-- FNXC:TaskRecommendations 2026-08-08-05:56: persist bounded completion suggestions without changing legacy task rows.
|
|
2
|
+
-- Schema-only settings stores have no task relation; remain a no-op there while materializing the column for every task-owning project.
|
|
3
|
+
ALTER TABLE IF EXISTS project.tasks ADD COLUMN IF NOT EXISTS recommendations jsonb;
|
|
@@ -324,6 +324,10 @@ interface WorkflowStepResult {
|
|
|
324
324
|
supersededAt?: string;
|
|
325
325
|
supersededReason?: "dependency-change";
|
|
326
326
|
planReviewAttemptCount?: number;
|
|
327
|
+
resumedBy?: string;
|
|
328
|
+
resumedAt?: string;
|
|
329
|
+
resumeReason?: string;
|
|
330
|
+
resumedFromStatus?: WorkflowStepResult["status"];
|
|
327
331
|
priorAttempts?: WorkflowStepResult[];
|
|
328
332
|
}
|
|
329
333
|
type WorkflowRunStepInstanceStatus = "pending" | "in-progress" | "awaiting-integration" | "completed" | "failed";
|
|
@@ -369,6 +373,7 @@ interface WorkflowIrNode {
|
|
|
369
373
|
column?: string;
|
|
370
374
|
extensions?: Record<string, Record<string, unknown>>;
|
|
371
375
|
config?: Record<string, unknown>;
|
|
376
|
+
reviewerAgentId?: string;
|
|
372
377
|
}
|
|
373
378
|
interface WorkflowIrEdge {
|
|
374
379
|
from: string;
|
|
@@ -699,6 +704,10 @@ interface WorkflowWorkItem {
|
|
|
699
704
|
sourceColumn: string | null;
|
|
700
705
|
targetColumn: string | null;
|
|
701
706
|
irHash: string | null;
|
|
707
|
+
principalAgentId: string | null;
|
|
708
|
+
workflowRole: "triage" | "executor" | "reviewer" | "merger" | null;
|
|
709
|
+
authorityKind: "task-assignee" | "review-node-override" | "column-binding" | "role-pool" | null;
|
|
710
|
+
nodeInstanceId: string | null;
|
|
702
711
|
createdAt: string;
|
|
703
712
|
updatedAt: string;
|
|
704
713
|
}
|
|
@@ -721,6 +730,10 @@ interface WorkflowWorkItemUpsertInput {
|
|
|
721
730
|
sourceColumn?: string | null;
|
|
722
731
|
targetColumn?: string | null;
|
|
723
732
|
irHash?: string | null;
|
|
733
|
+
principalAgentId?: string | null;
|
|
734
|
+
workflowRole?: "triage" | "executor" | "reviewer" | "merger" | null;
|
|
735
|
+
authorityKind?: "task-assignee" | "review-node-override" | "column-binding" | "role-pool" | null;
|
|
736
|
+
nodeInstanceId?: string | null;
|
|
724
737
|
now?: string;
|
|
725
738
|
}
|
|
726
739
|
interface WorkflowWorkItemTransitionPatch {
|
|
@@ -730,10 +743,15 @@ interface WorkflowWorkItemTransitionPatch {
|
|
|
730
743
|
leaseExpiresAt?: string | null;
|
|
731
744
|
lastError?: string | null;
|
|
732
745
|
blockedReason?: string | null;
|
|
746
|
+
principalAgentId?: string | null;
|
|
747
|
+
workflowRole?: "triage" | "executor" | "reviewer" | "merger" | null;
|
|
748
|
+
authorityKind?: "task-assignee" | "review-node-override" | "column-binding" | "role-pool" | null;
|
|
749
|
+
nodeInstanceId?: string | null;
|
|
733
750
|
now?: string;
|
|
734
751
|
expectedState?: WorkflowWorkItemState;
|
|
735
752
|
}
|
|
736
753
|
interface WorkflowWorkItemDueFilter {
|
|
754
|
+
projectId?: string;
|
|
737
755
|
now?: string;
|
|
738
756
|
limit?: number;
|
|
739
757
|
kinds?: WorkflowWorkItemKind[];
|
|
@@ -1447,6 +1465,7 @@ declare class MissionStore extends EventEmitter<MissionStoreEvents> {
|
|
|
1447
1465
|
updateSlice(id: string, updates: Partial<Slice>): Slice;
|
|
1448
1466
|
deleteSlice(id: string, force?: boolean): void;
|
|
1449
1467
|
reorderSlices(milestoneId: string, orderedIds: string[]): void;
|
|
1468
|
+
tryActivateNextPendingSlice(missionId: string): Promise<Slice | undefined>;
|
|
1450
1469
|
activateSlice(id: string): Promise<Slice>;
|
|
1451
1470
|
findNextPendingSlice(missionId: string): Slice | undefined;
|
|
1452
1471
|
addFeature(sliceId: string, input: FeatureCreateInput): MissionFeature;
|
|
@@ -1593,6 +1612,7 @@ declare class AsyncMissionStore extends EventEmitter<MissionStoreEvents> {
|
|
|
1593
1612
|
updateSlice(id: string, updates: Partial<Slice>): Promise<Slice>;
|
|
1594
1613
|
deleteSlice(id: string, force?: boolean): Promise<void>;
|
|
1595
1614
|
reorderSlices(milestoneId: string, orderedIds: string[]): Promise<void>;
|
|
1615
|
+
tryActivateNextPendingSlice(missionId: string): Promise<Slice | undefined>;
|
|
1596
1616
|
activateSlice(id: string): Promise<Slice>;
|
|
1597
1617
|
findNextPendingSlice(missionId: string): Promise<Slice | undefined>;
|
|
1598
1618
|
addFeature(sliceId: string, input: FeatureCreateInput, handle?: QueryHandle): Promise<MissionFeature>;
|
|
@@ -3605,6 +3625,7 @@ interface TaskRow {
|
|
|
3605
3625
|
nextRecoveryAt: string | null;
|
|
3606
3626
|
error: string | null;
|
|
3607
3627
|
summary: string | null;
|
|
3628
|
+
recommendations: string | null;
|
|
3608
3629
|
thinkingLevel: string | null;
|
|
3609
3630
|
validatorThinkingLevel: string | null;
|
|
3610
3631
|
planningThinkingLevel: string | null;
|
|
@@ -3955,6 +3976,10 @@ interface WorkflowWorkItemRow {
|
|
|
3955
3976
|
sourceColumn: string | null;
|
|
3956
3977
|
targetColumn: string | null;
|
|
3957
3978
|
irHash: string | null;
|
|
3979
|
+
principalAgentId: string | null;
|
|
3980
|
+
workflowRole: string | null;
|
|
3981
|
+
authorityKind: string | null;
|
|
3982
|
+
nodeInstanceId: string | null;
|
|
3958
3983
|
createdAt: string;
|
|
3959
3984
|
updatedAt: string;
|
|
3960
3985
|
}
|
|
@@ -4667,6 +4692,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
4667
4692
|
mergerThinkingLevel?: string | null;
|
|
4668
4693
|
error?: string | null;
|
|
4669
4694
|
summary?: string | null;
|
|
4695
|
+
recommendations?: TaskRecommendation[];
|
|
4670
4696
|
sessionFile?: string | null;
|
|
4671
4697
|
firstExecutionAt?: string | null;
|
|
4672
4698
|
cumulativeActiveMs?: number | null;
|
|
@@ -4698,6 +4724,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
4698
4724
|
claimNextToolFailureRetry(taskId: string, expectedCursor: number, maxRetries: number): Promise<ToolFailureRetryClaim>;
|
|
4699
4725
|
markToolFailureRetryExhaustedAudit(taskId: string): Promise<boolean>;
|
|
4700
4726
|
updateTaskAtomic(id: string, updater: (current: Task) => Parameters<TaskStore["updateTask"]>[1] | null | undefined | Promise<Parameters<TaskStore["updateTask"]>[1] | null | undefined>, runContext?: RunMutationContext): Promise<Task>;
|
|
4727
|
+
linkTaskRecommendation(id: string, recommendationId: string, createdTaskId: string, completeColumns?: ReadonlySet<string>): Promise<Task>;
|
|
4701
4728
|
resolveTaskWedgeNotificationEpisode(id: string, episodeId: string): Promise<{
|
|
4702
4729
|
task: Task;
|
|
4703
4730
|
resolved: boolean;
|
|
@@ -4733,6 +4760,11 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
|
|
|
4733
4760
|
reason: string;
|
|
4734
4761
|
actor: string;
|
|
4735
4762
|
}): Promise<Task>;
|
|
4763
|
+
resumeWorkflowStep(id: string, options: {
|
|
4764
|
+
stepId: string;
|
|
4765
|
+
reason: string;
|
|
4766
|
+
actor: string;
|
|
4767
|
+
}): Promise<Task>;
|
|
4736
4768
|
emit<E extends string | symbol>(event: E, ...args: any[]): boolean;
|
|
4737
4769
|
updateStep(id: string, stepIndex: number, status: StepStatus, options?: {
|
|
4738
4770
|
source?: "graph";
|
|
@@ -6489,6 +6521,14 @@ interface TaskWedgeNotificationState {
|
|
|
6489
6521
|
transitionedAt: string;
|
|
6490
6522
|
lastNotifiedAtByReason?: Record<string, string>;
|
|
6491
6523
|
}
|
|
6524
|
+
type TaskRecommendationCategory = "improvement" | "feature" | "bug" | "other";
|
|
6525
|
+
interface TaskRecommendation {
|
|
6526
|
+
id: string;
|
|
6527
|
+
title: string;
|
|
6528
|
+
description: string;
|
|
6529
|
+
category: TaskRecommendationCategory;
|
|
6530
|
+
createdTaskId?: string;
|
|
6531
|
+
}
|
|
6492
6532
|
interface Task {
|
|
6493
6533
|
id: string;
|
|
6494
6534
|
lineageId?: string;
|
|
@@ -6653,6 +6693,7 @@ interface Task {
|
|
|
6653
6693
|
sessionFile?: string;
|
|
6654
6694
|
error?: string;
|
|
6655
6695
|
summary?: string;
|
|
6696
|
+
recommendations?: TaskRecommendation[];
|
|
6656
6697
|
columnMovedAt?: string;
|
|
6657
6698
|
firstExecutionAt?: string;
|
|
6658
6699
|
cumulativeActiveMs?: number;
|
|
@@ -6836,6 +6877,7 @@ interface AgentPermissionPolicy {
|
|
|
6836
6877
|
interface Agent {
|
|
6837
6878
|
id: string;
|
|
6838
6879
|
name: string;
|
|
6880
|
+
roles: AgentCapability[];
|
|
6839
6881
|
role: AgentCapability;
|
|
6840
6882
|
state: AgentState;
|
|
6841
6883
|
taskId?: string;
|
|
@@ -7252,6 +7294,7 @@ type ReportMode = "draft-review" | "auto-file";
|
|
|
7252
7294
|
type ReportActionType = "bug" | "feedback" | "idea" | "help";
|
|
7253
7295
|
type ReportTarget = "issue" | "discussion";
|
|
7254
7296
|
interface ProjectSettings {
|
|
7297
|
+
maxRecommendationsPerTask?: number;
|
|
7255
7298
|
globalPause?: boolean;
|
|
7256
7299
|
globalPauseReason?: string;
|
|
7257
7300
|
defaultWorkflowId?: string;
|