@frontmcp/plugin-skilled-openapi 1.8.4 → 1.8.6

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/esm/index.mjs CHANGED
@@ -619,26 +619,35 @@ var BundleSyncService = class {
619
619
  } catch (e) {
620
620
  if (e instanceof SkillDependencyCycleError) {
621
621
  throw new Error(
622
- `[bundle-sync] dependency cycle in ${bundle.bundleId}@${bundle.version}: ${e.cycle.join(" -> ")}`
622
+ `[bundle-sync] dependency cycle in ${bundle.bundleId}@${bundle.version}: ${e.cycle.join(" -> ")}`,
623
+ { cause: e }
623
624
  );
624
625
  }
625
626
  if (e instanceof SkillDependencyMissingError) {
626
627
  throw new Error(
627
- `[bundle-sync] missing dependency in ${bundle.bundleId}@${bundle.version}: skill "${e.skillId}" requires "${e.missingId}"`
628
+ `[bundle-sync] missing dependency in ${bundle.bundleId}@${bundle.version}: skill "${e.skillId}" requires "${e.missingId}"`,
629
+ { cause: e }
628
630
  );
629
631
  }
630
632
  throw e;
631
633
  }
634
+ const pendingPriorIds = new Set(priorHandles.keys());
632
635
  for (const skill of orderedSkills) {
633
636
  const content = this.toSkillContent(skill, bundle);
634
637
  const handle = await this.skillRegistry.registerSkillContent(content, {
635
- source: `skilled-openapi:${bundle.bundleId}`
638
+ source: `skilled-openapi:${bundle.bundleId}`,
639
+ supersedes: [...pendingPriorIds]
636
640
  });
641
+ pendingPriorIds.delete(content.id);
642
+ for (const removedId of handle.removed ?? []) {
643
+ pendingPriorIds.delete(removedId);
644
+ successfullyRemovedIds.push(removedId);
645
+ }
637
646
  newHandles.push(handle);
638
647
  }
639
648
  for (const removedId of diff.removedSkillIds) {
640
649
  const handle = priorHandles.get(removedId);
641
- if (handle) {
650
+ if (handle && !successfullyRemovedIds.includes(removedId)) {
642
651
  await handle();
643
652
  successfullyRemovedIds.push(removedId);
644
653
  }
package/esm/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-skilled-openapi",
3
- "version": "1.8.4",
3
+ "version": "1.8.6",
4
4
  "description": "FrontMCP plugin: serve a customer's OpenAPI spec as skill bundles (signed, OpenAPI-Overlay-based) with hidden per-operation tools mediated by three meta-tools (search_skill / load_skill / run_workflow — the last runs an enclave-sandboxed AgentScript that orchestrates the loaded skills' operations).",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "license": "Apache-2.0",
@@ -48,15 +48,15 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@frontmcp/adapters": "1.8.4",
52
- "@frontmcp/auth": "1.8.4",
53
- "@frontmcp/sdk": "1.8.4",
54
- "@frontmcp/utils": "1.8.4"
51
+ "@frontmcp/adapters": "1.8.6",
52
+ "@frontmcp/auth": "1.8.6",
53
+ "@frontmcp/sdk": "1.8.6",
54
+ "@frontmcp/utils": "1.8.6"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@enclave-vm/ast": "*",
58
58
  "@enclave-vm/core": "*",
59
- "@frontmcp/lazy-zod": "1.8.4"
59
+ "@frontmcp/lazy-zod": "1.8.6"
60
60
  },
61
61
  "peerDependenciesMeta": {
62
62
  "@enclave-vm/ast": {
package/index.js CHANGED
@@ -626,26 +626,35 @@ var BundleSyncService = class {
626
626
  } catch (e) {
627
627
  if (e instanceof import_skills3.SkillDependencyCycleError) {
628
628
  throw new Error(
629
- `[bundle-sync] dependency cycle in ${bundle.bundleId}@${bundle.version}: ${e.cycle.join(" -> ")}`
629
+ `[bundle-sync] dependency cycle in ${bundle.bundleId}@${bundle.version}: ${e.cycle.join(" -> ")}`,
630
+ { cause: e }
630
631
  );
631
632
  }
632
633
  if (e instanceof import_skills3.SkillDependencyMissingError) {
633
634
  throw new Error(
634
- `[bundle-sync] missing dependency in ${bundle.bundleId}@${bundle.version}: skill "${e.skillId}" requires "${e.missingId}"`
635
+ `[bundle-sync] missing dependency in ${bundle.bundleId}@${bundle.version}: skill "${e.skillId}" requires "${e.missingId}"`,
636
+ { cause: e }
635
637
  );
636
638
  }
637
639
  throw e;
638
640
  }
641
+ const pendingPriorIds = new Set(priorHandles.keys());
639
642
  for (const skill of orderedSkills) {
640
643
  const content = this.toSkillContent(skill, bundle);
641
644
  const handle = await this.skillRegistry.registerSkillContent(content, {
642
- source: `skilled-openapi:${bundle.bundleId}`
645
+ source: `skilled-openapi:${bundle.bundleId}`,
646
+ supersedes: [...pendingPriorIds]
643
647
  });
648
+ pendingPriorIds.delete(content.id);
649
+ for (const removedId of handle.removed ?? []) {
650
+ pendingPriorIds.delete(removedId);
651
+ successfullyRemovedIds.push(removedId);
652
+ }
644
653
  newHandles.push(handle);
645
654
  }
646
655
  for (const removedId of diff.removedSkillIds) {
647
656
  const handle = priorHandles.get(removedId);
648
- if (handle) {
657
+ if (handle && !successfullyRemovedIds.includes(removedId)) {
649
658
  await handle();
650
659
  successfullyRemovedIds.push(removedId);
651
660
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-skilled-openapi",
3
- "version": "1.8.4",
3
+ "version": "1.8.6",
4
4
  "description": "FrontMCP plugin: serve a customer's OpenAPI spec as skill bundles (signed, OpenAPI-Overlay-based) with hidden per-operation tools mediated by three meta-tools (search_skill / load_skill / run_workflow — the last runs an enclave-sandboxed AgentScript that orchestrates the loaded skills' operations).",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "license": "Apache-2.0",
@@ -48,15 +48,15 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@frontmcp/adapters": "1.8.4",
52
- "@frontmcp/auth": "1.8.4",
53
- "@frontmcp/sdk": "1.8.4",
54
- "@frontmcp/utils": "1.8.4"
51
+ "@frontmcp/adapters": "1.8.6",
52
+ "@frontmcp/auth": "1.8.6",
53
+ "@frontmcp/sdk": "1.8.6",
54
+ "@frontmcp/utils": "1.8.6"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "@enclave-vm/ast": "*",
58
58
  "@enclave-vm/core": "*",
59
- "@frontmcp/lazy-zod": "1.8.4"
59
+ "@frontmcp/lazy-zod": "1.8.6"
60
60
  },
61
61
  "peerDependenciesMeta": {
62
62
  "@enclave-vm/ast": {
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-sync.service.d.ts","sourceRoot":"","sources":["../../src/sync/bundle-sync.service.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,cAAc,EAEnB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAqB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC;;;;;;;;OAQG;IACH,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,UAAU,qBAAqB;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AAED,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAnBxC,OAAO,CAAC,yBAAyB,CAA0C;IAE3E,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAGlB,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,cAAc;IACvC;;;;;;OAMG;IACc,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAG9D;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAIjD;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;;;;;;;;;;;;;;;OAgBG;YACW,SAAS;IA+CvB;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0O/D;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,gBAAgB;CAwCzB"}
1
+ {"version":3,"file":"bundle-sync.service.d.ts","sourceRoot":"","sources":["../../src/sync/bundle-sync.service.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,cAAc,EAEnB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAqB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC;;;;;;;;OAQG;IACH,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,8EAA8E;AAC9E,UAAU,qBAAqB;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AAED,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAnBxC,OAAO,CAAC,yBAAyB,CAA0C;IAE3E,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,CAAwB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAGlB,aAAa,EAAE,sBAAsB,EACrC,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,cAAc;IACvC;;;;;;OAMG;IACc,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAG9D;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAIjD;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC;;;;;;;;;;;;;;;;OAgBG;YACW,SAAS;IA+CvB;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0P/D;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,gBAAgB;CAwCzB"}