@frontmcp/plugin-skilled-openapi 1.5.7 → 1.6.1

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/README.md CHANGED
@@ -24,8 +24,9 @@ Register the plugin with `SkilledOpenApiPlugin.init(...)` and point it at a bund
24
24
 
25
25
  ```typescript
26
26
  import * as path from 'node:path';
27
- import { FrontMcp, LogLevel } from '@frontmcp/sdk';
27
+
28
28
  import SkilledOpenApiPlugin from '@frontmcp/plugin-skilled-openapi';
29
+ import { FrontMcp, LogLevel } from '@frontmcp/sdk';
29
30
 
30
31
  @FrontMcp({
31
32
  info: { name: 'Skilled-OpenAPI Demo', version: '0.1.0' },
@@ -74,10 +75,10 @@ OpenAPI spec --(analyzer + optional signing)--> bundle (spec + overlay)
74
75
 
75
76
  ## Meta-Tools
76
77
 
77
- | Tool | Purpose |
78
- | --- | --- |
79
- | `search_skill` | Semantic search over the loaded skills; returns matching `skillId`s with scores. The live skill catalog is injected into the tool description so the model can discover what's available. |
80
- | `load_skill` | Returns a skill's markdown instructions plus its `actions[]` and their JSON Schemas (the `actionId`s a workflow calls). |
78
+ | Tool | Purpose |
79
+ | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
80
+ | `search_skill` | Semantic search over the loaded skills; returns matching `skillId`s with scores. The live skill catalog is injected into the tool description so the model can discover what's available. |
81
+ | `load_skill` | Returns a skill's markdown instructions plus its `actions[]` and their JSON Schemas (the `actionId`s a workflow calls). |
81
82
  | `run_workflow` | Runs an AgentScript `script` in the enclave sandbox. Each `await callTool(actionId, input)` invokes a loaded operation through the full authorize → validate → HTTPS → validate path; the script's `return` value is surfaced as the result. |
82
83
 
83
84
  ## Features
@@ -93,28 +94,28 @@ OpenAPI spec --(analyzer + optional signing)--> bundle (spec + overlay)
93
94
 
94
95
  All options are validated by a strict Zod schema (`skilledOpenApiPluginOptionsSchema`).
95
96
 
96
- | Option | Type | Default | Description |
97
- | --- | --- | --- | --- |
98
- | `source` | `static \| npm \| saas \| inline` | — (required) | Where bundles come from. `{ type: 'static', path, watch? }`, `{ type: 'npm', package }`, `{ type: 'saas', endpoint, ... }`, or `{ type: 'inline', ... }`. |
99
- | `requireSignature` | `boolean` | `true` | Require a valid bundle signature (RS256/Ed25519 JWT-of-hashes). Opt out only with `dev: true`. |
100
- | `trustedKeys` | `SignatureKey[]` | `[]` | Public keys trusted to sign bundles. |
101
- | `dev` | `boolean` | `false` | Local-dev escape hatch: bypasses signing and widens `outbound` to allow `http://`. **Never enable in production.** |
102
- | `outbound` | `OutboundOptions` | see below | SSRF / egress controls. |
103
- | `unprotectedOps` | `'allow' \| 'deny'` | `'allow'` | Default-deny policy for operations that declare no required authorities. |
104
- | `sourceConflictPolicy` | `'static-wins' \| 'last-wins' \| 'reject'` | `'static-wins'` | How to resolve two sources registering the same skill id. |
105
- | `bundleCacheDir` | `string` | — | Last-good cache directory (only for `source.type === 'saas'`). |
106
- | `credentials` | `Record<vaultRef, secret>` | — | In-memory credential map for dev / single-tenant. In production resolve via `@frontmcp/auth`'s vault. |
107
- | `exposeOperationsAsInternalTools` | `boolean` | `true` | Keep operations reachable via `callTool` inside workflows. |
97
+ | Option | Type | Default | Description |
98
+ | --------------------------------- | ------------------------------------------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
99
+ | `source` | `static \| npm \| saas \| inline` | — (required) | Where bundles come from. `{ type: 'static', path, watch? }`, `{ type: 'npm', package }`, `{ type: 'saas', endpoint, ... }`, or `{ type: 'inline', ... }`. |
100
+ | `requireSignature` | `boolean` | `true` | Require a valid bundle signature (RS256/Ed25519 JWT-of-hashes). Opt out only with `dev: true`. |
101
+ | `trustedKeys` | `SignatureKey[]` | `[]` | Public keys trusted to sign bundles. |
102
+ | `dev` | `boolean` | `false` | Local-dev escape hatch: bypasses signing and widens `outbound` to allow `http://`. **Never enable in production.** |
103
+ | `outbound` | `OutboundOptions` | see below | SSRF / egress controls. |
104
+ | `unprotectedOps` | `'allow' \| 'deny'` | `'allow'` | Default-deny policy for operations that declare no required authorities. |
105
+ | `sourceConflictPolicy` | `'static-wins' \| 'last-wins' \| 'reject'` | `'static-wins'` | How to resolve two sources registering the same skill id. |
106
+ | `bundleCacheDir` | `string` | — | Last-good cache directory (only for `source.type === 'saas'`). |
107
+ | `credentials` | `Record<vaultRef, secret>` | — | In-memory credential map for dev / single-tenant. In production resolve via `@frontmcp/auth`'s vault. |
108
+ | `exposeOperationsAsInternalTools` | `boolean` | `true` | Keep operations reachable via `callTool` inside workflows. |
108
109
 
109
110
  `outbound` (SSRF + egress):
110
111
 
111
- | Field | Default | Description |
112
- | --- | --- | --- |
113
- | `allowPrivateNetworks` | `false` | Allow connections to private/loopback/link-local IPs. |
114
- | `allowHttp` | `false` | Allow `http://` upstreams (auto-enabled by `dev: true`). |
115
- | `maxConcurrencyPerHost` | `10` | Per-host concurrency cap. |
116
- | `defaultTimeoutMs` | `30000` | Per-request timeout. |
117
- | `defaultMaxResponseBytes` | `262144` | Per-response size cap. |
112
+ | Field | Default | Description |
113
+ | ------------------------- | -------- | -------------------------------------------------------- |
114
+ | `allowPrivateNetworks` | `false` | Allow connections to private/loopback/link-local IPs. |
115
+ | `allowHttp` | `false` | Allow `http://` upstreams (auto-enabled by `dev: true`). |
116
+ | `maxConcurrencyPerHost` | `10` | Per-host concurrency cap. |
117
+ | `defaultTimeoutMs` | `30000` | Per-request timeout. |
118
+ | `defaultMaxResponseBytes` | `262144` | Per-response size cap. |
118
119
 
119
120
  Full reference: [Configuration](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/configuration).
120
121
 
@@ -136,7 +137,7 @@ Details: [Security](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi
136
137
 
137
138
  ## Documentation
138
139
 
139
- Full docs: **https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi**
140
+ Full docs: **https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/overview**
140
141
 
141
142
  - [Overview](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/overview) · [Quickstart](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/quickstart) · [Sources](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/sources) · [Bundle format](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/bundle-format)
142
143
  - [Configuration](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/configuration) · [Meta-tools](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/meta-tools) · [Security](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/security) · [API reference](https://docs.agentfront.dev/frontmcp/plugins/skilled-openapi/api-reference)
package/esm/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-skilled-openapi",
3
- "version": "1.5.7",
3
+ "version": "1.6.1",
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,14 +48,14 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@frontmcp/adapters": "1.5.7",
52
- "@frontmcp/auth": "1.5.7",
53
- "@frontmcp/sdk": "1.5.7"
51
+ "@frontmcp/adapters": "1.6.1",
52
+ "@frontmcp/auth": "1.6.1",
53
+ "@frontmcp/sdk": "1.6.1"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@enclave-vm/ast": "*",
57
57
  "@enclave-vm/core": "*",
58
- "@frontmcp/lazy-zod": "1.5.7"
58
+ "@frontmcp/lazy-zod": "1.6.1"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "@enclave-vm/ast": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-skilled-openapi",
3
- "version": "1.5.7",
3
+ "version": "1.6.1",
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,14 +48,14 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@frontmcp/adapters": "1.5.7",
52
- "@frontmcp/auth": "1.5.7",
53
- "@frontmcp/sdk": "1.5.7"
51
+ "@frontmcp/adapters": "1.6.1",
52
+ "@frontmcp/auth": "1.6.1",
53
+ "@frontmcp/sdk": "1.6.1"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@enclave-vm/ast": "*",
57
57
  "@enclave-vm/core": "*",
58
- "@frontmcp/lazy-zod": "1.5.7"
58
+ "@frontmcp/lazy-zod": "1.6.1"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "@enclave-vm/ast": {