@runfusion/fusion 0.77.0-beta.0 → 0.77.0-beta.2

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.
Files changed (138) hide show
  1. package/dist/bin.js +387 -72
  2. package/dist/child-process-worker.js +2479 -2196
  3. package/dist/client/.vite/manifest.json +262 -262
  4. package/dist/client/assets/{AgentDetailView-0G9qFd4j.js → AgentDetailView-Dew3af1O.js} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-BM68g7wo.js → AgentPermissionPolicyEditor-CxPQffiY.js} +1 -1
  6. package/dist/client/assets/{AgentsView-DkOUZWw4.js → AgentsView-Cr4LDGdt.js} +3 -3
  7. package/dist/client/assets/ChatView-cNYtYx05.js +13 -0
  8. package/dist/client/assets/{CommandCenter-DxRSFWNc.js → CommandCenter-DCC90LOP.js} +1 -1
  9. package/dist/client/assets/{DevServerView-DO-bqJFE.js → DevServerView-B5b520w6.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-Cp2gddTE.js → DirectoryPicker-1JvRd5mC.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-D0E-3G96.js → DocumentsView-ksK9f7xt.js} +1 -1
  12. package/dist/client/assets/{EvalsView-BoFVq5hw.js → EvalsView-a3LhgRSo.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-CS1Sdogm.js → ExperimentalAgentOnboardingModal-vdVa8h7F.js} +1 -1
  14. package/dist/client/assets/{GoalsView-sybf7JY4.js → GoalsView-Dz2o91fd.js} +1 -1
  15. package/dist/client/assets/{InsightsView-nHa7aShn.js → InsightsView-De3R_46d.js} +1 -1
  16. package/dist/client/assets/{MemoryView-D0IG44za.js → MemoryView-Cagk2wZG.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-CU76weJe.js → PiExtensionsManager-C9JABO_4.js} +1 -1
  18. package/dist/client/assets/{PluginManager-DyT8XbcG.js → PluginManager-D2csmdQa.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-CnxWUSen.js → PullRequestView-DT8vTeVi.js} +1 -1
  20. package/dist/client/assets/{ReportModal-CMrmMQjD.js → ReportModal-YMP6V4vu.js} +1 -1
  21. package/dist/client/assets/{ResearchView-BTytQSgy.js → ResearchView-cNsjYu8F.js} +1 -1
  22. package/dist/client/assets/{SecretsView-BuSH5J87.js → SecretsView-BAmf7KyS.js} +1 -1
  23. package/dist/client/assets/{SessionTerminal-D04kYRrT.js → SessionTerminal-BjGcxq22.js} +1 -1
  24. package/dist/client/assets/{SettingsModal-Dm-ngbRr.js → SettingsModal-C_9RiEI7.js} +1 -1
  25. package/dist/client/assets/{SettingsModal-xSLhH7Tr.js → SettingsModal-DLfy2e_5.js} +4 -4
  26. package/dist/client/assets/{SettingsTextareaRow-CHPgocEp.js → SettingsTextareaRow-D8RHSj8b.js} +1 -1
  27. package/dist/client/assets/{SetupWizardModal-y88aXNIQ.js → SetupWizardModal-DRJ96pHQ.js} +2 -2
  28. package/dist/client/assets/{SkillsView-CYyQW1Hv.js → SkillsView-DyeCwYit.js} +1 -1
  29. package/dist/client/assets/{WorkflowNodeEditor-hYeoz1X8.js → WorkflowNodeEditor-C5Jc9w_A.js} +3 -3
  30. package/dist/client/assets/{agent-import-generation-CjiYXzCr.js → agent-import-generation-SCPNeF25.js} +1 -1
  31. package/dist/client/assets/{agentsOrgChartLayout-C0UP_X3z.js → agentsOrgChartLayout-CqKtNCjy.js} +1 -1
  32. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Dd6GPcqM.js → architectureDiagram-3BPJPVTR-Cz2HYn0b.js} +1 -1
  33. package/dist/client/assets/{blockDiagram-GPEHLZMM-CC6pLxlz.js → blockDiagram-GPEHLZMM-IimJVscG.js} +1 -1
  34. package/dist/client/assets/{c4Diagram-AAUBKEIU-DxMP_l6y.js → c4Diagram-AAUBKEIU-C-xii7zn.js} +1 -1
  35. package/dist/client/assets/channel-D-UHgx8G.js +1 -0
  36. package/dist/client/assets/{chunk-2J33WTMH-BKYToL43.js → chunk-2J33WTMH-DQ-9Xccu.js} +1 -1
  37. package/dist/client/assets/{chunk-4BX2VUAB-Bg6rjQb3.js → chunk-4BX2VUAB-DmdAX9Bx.js} +1 -1
  38. package/dist/client/assets/{chunk-55IACEB6-CPUwbbGa.js → chunk-55IACEB6-IF2bk5IL.js} +1 -1
  39. package/dist/client/assets/{chunk-727SXJPM-DScQBCvv.js → chunk-727SXJPM-AeYpIzVu.js} +1 -1
  40. package/dist/client/assets/{chunk-AQP2D5EJ-DbX7uaXK.js → chunk-AQP2D5EJ-DV942DD9.js} +1 -1
  41. package/dist/client/assets/{chunk-FMBD7UC4-DvYKea1c.js → chunk-FMBD7UC4-Bt_riVlZ.js} +1 -1
  42. package/dist/client/assets/{chunk-ND2GUHAM-CH-Tvw7w.js → chunk-ND2GUHAM-CbyjNbXR.js} +1 -1
  43. package/dist/client/assets/{chunk-QZHKN3VN-CbyEvOoM.js → chunk-QZHKN3VN-DqiRniYQ.js} +1 -1
  44. package/dist/client/assets/classDiagram-4FO5ZUOK-Do-8MdAc.js +1 -0
  45. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Do-8MdAc.js +1 -0
  46. package/dist/client/assets/{cose-bilkent-S5V4N54A-BPB5fV3A.js → cose-bilkent-S5V4N54A-UCvthviL.js} +1 -1
  47. package/dist/client/assets/{dagre-BM42HDAG-CilYJ3rR.js → dagre-BM42HDAG-DnMlT1Oi.js} +1 -1
  48. package/dist/client/assets/{dashboard-view-dChSM_So.js → dashboard-view-C9D0aoRW.js} +1 -1
  49. package/dist/client/assets/dashboard-view-Cz0sp2Wl.js +1 -0
  50. package/dist/client/assets/{dashboard-view-DoLU6FxZ.js → dashboard-view-JysoyDRX.js} +1 -1
  51. package/dist/client/assets/{dashboard-view-DnVf3tmI.js → dashboard-view-myjM9tr8.js} +1 -1
  52. package/dist/client/assets/{diagram-2AECGRRQ-m9u1Qhyx.js → diagram-2AECGRRQ-BYFiqXGw.js} +1 -1
  53. package/dist/client/assets/{diagram-5GNKFQAL-DVr7Kf0N.js → diagram-5GNKFQAL-DZU3pSYq.js} +1 -1
  54. package/dist/client/assets/{diagram-KO2AKTUF-D7sgJDFx.js → diagram-KO2AKTUF-0ybdKuMm.js} +1 -1
  55. package/dist/client/assets/{diagram-LMA3HP47-DNKNDS6r.js → diagram-LMA3HP47-Rxbgnbsp.js} +1 -1
  56. package/dist/client/assets/{diagram-OG6HWLK6-1Bff4FWn.js → diagram-OG6HWLK6-BAU_hTeV.js} +1 -1
  57. package/dist/client/assets/{erDiagram-TEJ5UH35-DGua1UHN.js → erDiagram-TEJ5UH35-zr8HrwTt.js} +1 -1
  58. package/dist/client/assets/{flowDiagram-I6XJVG4X-UDfDtwsE.js → flowDiagram-I6XJVG4X-CrTw0iFw.js} +1 -1
  59. package/dist/client/assets/{folder-open-CteOypVk.js → folder-open-DnAlsXXn.js} +1 -1
  60. package/dist/client/assets/{ganttDiagram-6RSMTGT7-COdmD328.js → ganttDiagram-6RSMTGT7-CCORsxxz.js} +1 -1
  61. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-SUSls7Kw.js → gitGraphDiagram-PVQCEYII-C07wWSjj.js} +1 -1
  62. package/dist/client/assets/index-B_z7OKl4.js +2818 -0
  63. package/dist/client/assets/index-DPo-IAb2.css +1 -0
  64. package/dist/client/assets/{infoDiagram-5YYISTIA-e_DloXj7.js → infoDiagram-5YYISTIA-hAeccD_4.js} +1 -1
  65. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DVWqihXg.js → ishikawaDiagram-YF4QCWOH-WLCzv-NH.js} +1 -1
  66. package/dist/client/assets/{journeyDiagram-JHISSGLW-BcPY-XP0.js → journeyDiagram-JHISSGLW-ClnasNhy.js} +1 -1
  67. package/dist/client/assets/{kanban-definition-UN3LZRKU-BCFG2Jle.js → kanban-definition-UN3LZRKU-CAuARhUz.js} +1 -1
  68. package/dist/client/assets/{mermaid.core-5yPje9Bi.js → mermaid.core-Bh02RvfX.js} +4 -4
  69. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DDApeT3K.js → mindmap-definition-RKZ34NQL-KNTlbW4V.js} +1 -1
  70. package/dist/client/assets/{pieDiagram-4H26LBE5-N61_jyeP.js → pieDiagram-4H26LBE5-BouAfBEw.js} +1 -1
  71. package/dist/client/assets/{puzzle-BkaCP30D.js → puzzle-CC8Ur3Cy.js} +1 -1
  72. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C5qHiApF.js → quadrantDiagram-W4KKPZXB-wTdkCUJU.js} +1 -1
  73. package/dist/client/assets/{requirementDiagram-4Y6WPE33-C71okgzt.js → requirementDiagram-4Y6WPE33-BnjY4Tc_.js} +1 -1
  74. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-B2iKyLjB.js → sankeyDiagram-5OEKKPKP-C-QsS08u.js} +1 -1
  75. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-DfdoYKKk.js → sequenceDiagram-3UESZ5HK-DD36MILE.js} +1 -1
  76. package/dist/client/assets/{shield-alert-BNSeDB8l.js → shield-alert-DcXc56Fy.js} +1 -1
  77. package/dist/client/assets/{standing-instructions-template-pZtzo1lK.js → standing-instructions-template-BF5y1BLz.js} +1 -1
  78. package/dist/client/assets/{stateDiagram-AJRCARHV-lS-sUi12.js → stateDiagram-AJRCARHV-WTq1wQr1.js} +1 -1
  79. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DXJNDrV9.js → stateDiagram-v2-BHNVJYJU-eILJdjII.js} +1 -1
  80. package/dist/client/assets/{timeline-definition-PNZ67QCA-CCwvX81K.js → timeline-definition-PNZ67QCA-PRNwI0NR.js} +1 -1
  81. package/dist/client/assets/{upload-CDovVbu2.js → upload-qH_64O-B.js} +1 -1
  82. package/dist/client/assets/{useDiscoveredSkillsCache-BYqP-afh.js → useDiscoveredSkillsCache-C-GPCNaO.js} +1 -1
  83. package/dist/client/assets/{users-CTqECGLo.js → users-D2UesRE4.js} +1 -1
  84. package/dist/client/assets/{vennDiagram-CIIHVFJN-DaiR5nv9.js → vennDiagram-CIIHVFJN-CG2Z4T4O.js} +1 -1
  85. package/dist/client/assets/{wardley-L42UT6IY-hA5IHyPW.js → wardley-L42UT6IY-gO_fGvF9.js} +1 -1
  86. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CILUNESc.js → wardleyDiagram-YWT4CUSO-BkyNpjUb.js} +1 -1
  87. package/dist/client/assets/{xychartDiagram-2RQKCTM6-72eNMmjz.js → xychartDiagram-2RQKCTM6-CMlZsiPq.js} +1 -1
  88. package/dist/client/index.html +2 -2
  89. package/dist/client/version.json +1 -1
  90. package/dist/droid-cli/package.json +1 -1
  91. package/dist/extension.js +345 -61
  92. package/dist/pi-claude-cli/package.json +1 -1
  93. package/dist/plugin-sdk/index.js +29 -2
  94. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +269 -16
  95. package/dist/plugins/fusion-plugin-acp-runtime/mcp-schema-server.cjs +171 -0
  96. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  97. package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +29 -2
  98. package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
  99. package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +29 -2
  100. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  101. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +29 -2
  102. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  103. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +29 -2
  104. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  105. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +29 -2
  106. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  107. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +29 -2
  108. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  109. package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +29 -2
  110. package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
  111. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +29 -2
  112. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  113. package/dist/plugins/fusion-plugin-linear-import/bundled.js +29 -2
  114. package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
  115. package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +29 -2
  116. package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
  117. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +29 -2
  118. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  119. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +29 -2
  120. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  121. package/dist/plugins/fusion-plugin-quality/bundled.js +29 -2
  122. package/dist/plugins/fusion-plugin-quality/package.json +1 -1
  123. package/dist/plugins/fusion-plugin-reports/bundled.js +29 -2
  124. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  125. package/dist/plugins/fusion-plugin-roadmap/bundled.js +29 -2
  126. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  127. package/dist/plugins/fusion-plugin-todos/bundled.js +29 -2
  128. package/dist/plugins/fusion-plugin-todos/package.json +1 -1
  129. package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +29 -2
  130. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  131. package/package.json +1 -1
  132. package/dist/client/assets/ChatView-BPSm2JIH.js +0 -13
  133. package/dist/client/assets/channel-DlCEMoEf.js +0 -1
  134. package/dist/client/assets/classDiagram-4FO5ZUOK-Bc92O8Ks.js +0 -1
  135. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bc92O8Ks.js +0 -1
  136. package/dist/client/assets/dashboard-view-BnGe8cWo.js +0 -1
  137. package/dist/client/assets/index-0ovTXt3t.css +0 -1
  138. package/dist/client/assets/index-DpCHwyiD.js +0 -2818
@@ -16225,6 +16225,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16225
16225
  function defaultCodingWorkflowIr() {
16226
16226
  return resolveDefaultWorkflowIr();
16227
16227
  }
16228
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16228
16229
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16229
16230
  let projectId;
16230
16231
  try {
@@ -16268,8 +16269,34 @@ function didFallBackToDefault(ir) {
16268
16269
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16269
16270
  let workflowId;
16270
16271
  try {
16271
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16272
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16272
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16273
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16274
+ if (!isSelectionCached) {
16275
+ let inflight;
16276
+ let coalesced = false;
16277
+ if (selectionCache) {
16278
+ inflight = inflightSelectionReads.get(selectionCache);
16279
+ if (!inflight) {
16280
+ inflight = /* @__PURE__ */ new Map();
16281
+ inflightSelectionReads.set(selectionCache, inflight);
16282
+ }
16283
+ const pending = inflight.get(taskId);
16284
+ if (pending) {
16285
+ selection = await pending;
16286
+ coalesced = true;
16287
+ }
16288
+ }
16289
+ if (!coalesced) {
16290
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16291
+ if (inflight) inflight.set(taskId, readPromise);
16292
+ try {
16293
+ selection = await readPromise;
16294
+ } finally {
16295
+ inflight?.delete(taskId);
16296
+ }
16297
+ }
16298
+ selectionCache?.set(taskId, selection);
16299
+ }
16273
16300
  workflowId = selection?.workflowId;
16274
16301
  } catch {
16275
16302
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/cli-printing-press",
3
- "version": "0.1.53-beta.0",
3
+ "version": "0.1.53-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/compound-engineering",
3
- "version": "0.1.36-beta.0",
3
+ "version": "0.1.36-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16108,6 +16108,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16108
16108
  function defaultCodingWorkflowIr() {
16109
16109
  return resolveDefaultWorkflowIr();
16110
16110
  }
16111
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16111
16112
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16112
16113
  let projectId;
16113
16114
  try {
@@ -16151,8 +16152,34 @@ function didFallBackToDefault(ir) {
16151
16152
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16152
16153
  let workflowId;
16153
16154
  try {
16154
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16155
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16155
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16156
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16157
+ if (!isSelectionCached) {
16158
+ let inflight;
16159
+ let coalesced = false;
16160
+ if (selectionCache) {
16161
+ inflight = inflightSelectionReads.get(selectionCache);
16162
+ if (!inflight) {
16163
+ inflight = /* @__PURE__ */ new Map();
16164
+ inflightSelectionReads.set(selectionCache, inflight);
16165
+ }
16166
+ const pending = inflight.get(taskId);
16167
+ if (pending) {
16168
+ selection = await pending;
16169
+ coalesced = true;
16170
+ }
16171
+ }
16172
+ if (!coalesced) {
16173
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16174
+ if (inflight) inflight.set(taskId, readPromise);
16175
+ try {
16176
+ selection = await readPromise;
16177
+ } finally {
16178
+ inflight?.delete(taskId);
16179
+ }
16180
+ }
16181
+ selectionCache?.set(taskId, selection);
16182
+ }
16156
16183
  workflowId = selection?.workflowId;
16157
16184
  } catch {
16158
16185
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/cursor-runtime",
3
- "version": "0.1.55-beta.0",
3
+ "version": "0.1.55-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/dependency-graph",
3
- "version": "0.1.67-beta.0",
3
+ "version": "0.1.67-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/droid-runtime",
3
- "version": "0.1.62-beta.0",
3
+ "version": "0.1.62-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16113,6 +16113,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16113
16113
  function defaultCodingWorkflowIr() {
16114
16114
  return resolveDefaultWorkflowIr();
16115
16115
  }
16116
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16116
16117
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16117
16118
  let projectId;
16118
16119
  try {
@@ -16156,8 +16157,34 @@ function didFallBackToDefault(ir) {
16156
16157
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16157
16158
  let workflowId;
16158
16159
  try {
16159
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16160
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16160
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16161
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16162
+ if (!isSelectionCached) {
16163
+ let inflight;
16164
+ let coalesced = false;
16165
+ if (selectionCache) {
16166
+ inflight = inflightSelectionReads.get(selectionCache);
16167
+ if (!inflight) {
16168
+ inflight = /* @__PURE__ */ new Map();
16169
+ inflightSelectionReads.set(selectionCache, inflight);
16170
+ }
16171
+ const pending = inflight.get(taskId);
16172
+ if (pending) {
16173
+ selection = await pending;
16174
+ coalesced = true;
16175
+ }
16176
+ }
16177
+ if (!coalesced) {
16178
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16179
+ if (inflight) inflight.set(taskId, readPromise);
16180
+ try {
16181
+ selection = await readPromise;
16182
+ } finally {
16183
+ inflight?.delete(taskId);
16184
+ }
16185
+ }
16186
+ selectionCache?.set(taskId, selection);
16187
+ }
16161
16188
  workflowId = selection?.workflowId;
16162
16189
  } catch {
16163
16190
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/grok-runtime",
3
- "version": "0.2.14-beta.0",
3
+ "version": "0.2.14-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16108,6 +16108,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16108
16108
  function defaultCodingWorkflowIr() {
16109
16109
  return resolveDefaultWorkflowIr();
16110
16110
  }
16111
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16111
16112
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16112
16113
  let projectId;
16113
16114
  try {
@@ -16151,8 +16152,34 @@ function didFallBackToDefault(ir) {
16151
16152
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16152
16153
  let workflowId;
16153
16154
  try {
16154
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16155
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16155
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16156
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16157
+ if (!isSelectionCached) {
16158
+ let inflight;
16159
+ let coalesced = false;
16160
+ if (selectionCache) {
16161
+ inflight = inflightSelectionReads.get(selectionCache);
16162
+ if (!inflight) {
16163
+ inflight = /* @__PURE__ */ new Map();
16164
+ inflightSelectionReads.set(selectionCache, inflight);
16165
+ }
16166
+ const pending = inflight.get(taskId);
16167
+ if (pending) {
16168
+ selection = await pending;
16169
+ coalesced = true;
16170
+ }
16171
+ }
16172
+ if (!coalesced) {
16173
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16174
+ if (inflight) inflight.set(taskId, readPromise);
16175
+ try {
16176
+ selection = await readPromise;
16177
+ } finally {
16178
+ inflight?.delete(taskId);
16179
+ }
16180
+ }
16181
+ selectionCache?.set(taskId, selection);
16182
+ }
16156
16183
  workflowId = selection?.workflowId;
16157
16184
  } catch {
16158
16185
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/hermes-runtime",
3
- "version": "0.2.86-beta.0",
3
+ "version": "0.2.86-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/linear-import",
3
- "version": "0.1.18-beta.0",
3
+ "version": "0.1.18-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16113,6 +16113,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16113
16113
  function defaultCodingWorkflowIr() {
16114
16114
  return resolveDefaultWorkflowIr();
16115
16115
  }
16116
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16116
16117
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16117
16118
  let projectId;
16118
16119
  try {
@@ -16156,8 +16157,34 @@ function didFallBackToDefault(ir) {
16156
16157
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16157
16158
  let workflowId;
16158
16159
  try {
16159
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16160
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16160
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16161
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16162
+ if (!isSelectionCached) {
16163
+ let inflight;
16164
+ let coalesced = false;
16165
+ if (selectionCache) {
16166
+ inflight = inflightSelectionReads.get(selectionCache);
16167
+ if (!inflight) {
16168
+ inflight = /* @__PURE__ */ new Map();
16169
+ inflightSelectionReads.set(selectionCache, inflight);
16170
+ }
16171
+ const pending = inflight.get(taskId);
16172
+ if (pending) {
16173
+ selection = await pending;
16174
+ coalesced = true;
16175
+ }
16176
+ }
16177
+ if (!coalesced) {
16178
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16179
+ if (inflight) inflight.set(taskId, readPromise);
16180
+ try {
16181
+ selection = await readPromise;
16182
+ } finally {
16183
+ inflight?.delete(taskId);
16184
+ }
16185
+ }
16186
+ selectionCache?.set(taskId, selection);
16187
+ }
16161
16188
  workflowId = selection?.workflowId;
16162
16189
  } catch {
16163
16190
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/omp-runtime",
3
- "version": "0.1.11-beta.0",
3
+ "version": "0.1.11-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/openclaw-runtime",
3
- "version": "0.2.86-beta.0",
3
+ "version": "0.2.86-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16105,6 +16105,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16105
16105
  function defaultCodingWorkflowIr() {
16106
16106
  return resolveDefaultWorkflowIr();
16107
16107
  }
16108
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16108
16109
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16109
16110
  let projectId;
16110
16111
  try {
@@ -16148,8 +16149,34 @@ function didFallBackToDefault(ir) {
16148
16149
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16149
16150
  let workflowId;
16150
16151
  try {
16151
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16152
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16152
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16153
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16154
+ if (!isSelectionCached) {
16155
+ let inflight;
16156
+ let coalesced = false;
16157
+ if (selectionCache) {
16158
+ inflight = inflightSelectionReads.get(selectionCache);
16159
+ if (!inflight) {
16160
+ inflight = /* @__PURE__ */ new Map();
16161
+ inflightSelectionReads.set(selectionCache, inflight);
16162
+ }
16163
+ const pending = inflight.get(taskId);
16164
+ if (pending) {
16165
+ selection = await pending;
16166
+ coalesced = true;
16167
+ }
16168
+ }
16169
+ if (!coalesced) {
16170
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16171
+ if (inflight) inflight.set(taskId, readPromise);
16172
+ try {
16173
+ selection = await readPromise;
16174
+ } finally {
16175
+ inflight?.delete(taskId);
16176
+ }
16177
+ }
16178
+ selectionCache?.set(taskId, selection);
16179
+ }
16153
16180
  workflowId = selection?.workflowId;
16154
16181
  } catch {
16155
16182
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/paperclip-runtime",
3
- "version": "0.2.86-beta.0",
3
+ "version": "0.2.86-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16108,6 +16108,7 @@ function applyPromptOverridesToIr(ir, overrides) {
16108
16108
  function defaultCodingWorkflowIr() {
16109
16109
  return resolveDefaultWorkflowIr();
16110
16110
  }
16111
+ var inflightSelectionReads = /* @__PURE__ */ new WeakMap();
16111
16112
  async function resolveWorkflowIrById(store, workflowId, irCache) {
16112
16113
  let projectId;
16113
16114
  try {
@@ -16151,8 +16152,34 @@ function didFallBackToDefault(ir) {
16151
16152
  async function resolveWorkflowIrForTaskWithProvenance(store, taskId, irCache, selectionCache) {
16152
16153
  let workflowId;
16153
16154
  try {
16154
- const selection = selectionCache?.has(taskId) ? selectionCache.get(taskId) : store.getTaskWorkflowSelectionAsync ? await store.getTaskWorkflowSelectionAsync(taskId) : store.getTaskWorkflowSelection(taskId);
16155
- if (!selectionCache?.has(taskId)) selectionCache?.set(taskId, selection);
16155
+ const isSelectionCached = selectionCache?.has(taskId) ?? false;
16156
+ let selection = isSelectionCached && selectionCache ? selectionCache.get(taskId) : void 0;
16157
+ if (!isSelectionCached) {
16158
+ let inflight;
16159
+ let coalesced = false;
16160
+ if (selectionCache) {
16161
+ inflight = inflightSelectionReads.get(selectionCache);
16162
+ if (!inflight) {
16163
+ inflight = /* @__PURE__ */ new Map();
16164
+ inflightSelectionReads.set(selectionCache, inflight);
16165
+ }
16166
+ const pending = inflight.get(taskId);
16167
+ if (pending) {
16168
+ selection = await pending;
16169
+ coalesced = true;
16170
+ }
16171
+ }
16172
+ if (!coalesced) {
16173
+ const readPromise = store.getTaskWorkflowSelectionAsync ? store.getTaskWorkflowSelectionAsync(taskId) : Promise.resolve(store.getTaskWorkflowSelection(taskId));
16174
+ if (inflight) inflight.set(taskId, readPromise);
16175
+ try {
16176
+ selection = await readPromise;
16177
+ } finally {
16178
+ inflight?.delete(taskId);
16179
+ }
16180
+ }
16181
+ selectionCache?.set(taskId, selection);
16182
+ }
16156
16183
  workflowId = selection?.workflowId;
16157
16184
  } catch {
16158
16185
  return { ir: defaultCodingWorkflowIr(), source: "default" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/quality",
3
- "version": "0.1.11-beta.0",
3
+ "version": "0.1.11-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {