@sellable/mcp 0.1.727 → 0.1.728

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.
@@ -756,6 +756,25 @@ function withKeywordsHandoffScope(result, scopedInput) {
756
756
  : null;
757
757
  if (!report || !continuation || !template)
758
758
  return result;
759
+ // fix(112ad-b): the resume also needs the exact-target authority the
760
+ // active_exact_run continuation carries (refill-sends.ts :4756-4763): the
761
+ // targetConfig OBJECT (laneScope/revisionInputs/senderScope/targetWindow) plus
762
+ // the runHandle. The base template carries only runId/fence + campaignId/tableId
763
+ // scalars; without the targetConfig object the coordinator re-derives it and its
764
+ // revisions/shape no longer match the fenced authority -> approval_scope_changed
765
+ // with conflict field targetConfig (Clover t2). Prefer the fenced
766
+ // result.targetConfig (the config the fence was opened under — self-consistent
767
+ // with the runId/fence resume, so it cannot introduce a fresh mismatch), falling
768
+ // back to the caller's scopedInput.targetConfig.
769
+ const fencedTargetConfig = result.targetConfig
770
+ ? normalizeRefillTargetConfig(result.targetConfig)
771
+ : (scopedInput.targetConfig ?? null);
772
+ const handleRunId = stringValue(result.runId);
773
+ const handleFence = numberValue(result.fence);
774
+ const fencedRunHandle = recordValue(result.runHandle) ??
775
+ (handleRunId && typeof handleFence === "number"
776
+ ? { runId: handleRunId, fence: handleFence }
777
+ : null);
759
778
  const scopeAdditions = {
760
779
  ...(scopedInput.targetDate ? { targetDate: scopedInput.targetDate } : {}),
761
780
  ...(scopedInput.untilDate ? { untilDate: scopedInput.untilDate } : {}),
@@ -778,6 +797,8 @@ function withKeywordsHandoffScope(result, scopedInput) {
778
797
  ...(scopedInput.workspaceRunState
779
798
  ? { workspaceRunState: scopedInput.workspaceRunState }
780
799
  : {}),
800
+ ...(fencedTargetConfig ? { targetConfig: fencedTargetConfig } : {}),
801
+ ...(fencedRunHandle ? { runHandle: fencedRunHandle } : {}),
781
802
  };
782
803
  return {
783
804
  ...result,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.727",
3
+ "version": "0.1.728",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code, Codex, and Hermes campaign workflows",
6
6
  "main": "dist/index.js",