@cyanheads/workflows-mcp-server 0.1.1 → 0.1.3
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/CLAUDE.md +2 -3
- package/README.md +4 -4
- package/changelog/0.1.x/0.1.2.md +29 -0
- package/changelog/0.1.x/0.1.3.md +29 -0
- package/changelog/template.md +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +18 -8
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-create-temp.tool.d.ts +8 -3
- package/dist/mcp-server/tools/definitions/workflow-create-temp.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-create-temp.tool.js +15 -5
- package/dist/mcp-server/tools/definitions/workflow-create-temp.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-create.tool.d.ts +8 -3
- package/dist/mcp-server/tools/definitions/workflow-create.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-create.tool.js +20 -9
- package/dist/mcp-server/tools/definitions/workflow-create.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-get.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/workflow-get.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/workflow-list.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/workflow-list.tool.d.ts.map +1 -1
- package/dist/services/workflow-index/workflow-index-service.d.ts.map +1 -1
- package/dist/services/workflow-index/workflow-index-service.js +27 -62
- package/dist/services/workflow-index/workflow-index-service.js.map +1 -1
- package/package.json +10 -9
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** @cyanheads/workflows-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.
|
|
4
|
+
**Version:** 0.1.3
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -234,7 +234,6 @@ Available skills:
|
|
|
234
234
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
235
235
|
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
236
236
|
| `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
237
|
-
| `migrate-mcp-ts-template` | One-time migration of an existing project to the current framework template |
|
|
238
237
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
239
238
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
240
239
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/workflows-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/workflows-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -114,7 +114,7 @@ Add the following to your MCP client configuration file:
|
|
|
114
114
|
```json
|
|
115
115
|
{
|
|
116
116
|
"mcpServers": {
|
|
117
|
-
"workflows": {
|
|
117
|
+
"workflows-mcp-server": {
|
|
118
118
|
"type": "stdio",
|
|
119
119
|
"command": "bunx",
|
|
120
120
|
"args": ["@cyanheads/workflows-mcp-server@latest"],
|
|
@@ -132,7 +132,7 @@ Or with npx (no Bun required):
|
|
|
132
132
|
```json
|
|
133
133
|
{
|
|
134
134
|
"mcpServers": {
|
|
135
|
-
"workflows": {
|
|
135
|
+
"workflows-mcp-server": {
|
|
136
136
|
"type": "stdio",
|
|
137
137
|
"command": "npx",
|
|
138
138
|
"args": ["-y", "@cyanheads/workflows-mcp-server@latest"],
|
|
@@ -150,7 +150,7 @@ Or with Docker:
|
|
|
150
150
|
```json
|
|
151
151
|
{
|
|
152
152
|
"mcpServers": {
|
|
153
|
-
"workflows": {
|
|
153
|
+
"workflows-mcp-server": {
|
|
154
154
|
"type": "stdio",
|
|
155
155
|
"command": "docker",
|
|
156
156
|
"args": [
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Maintenance: @cyanheads/mcp-ts-core ^0.9.11 → ^0.10.6; bad-input write paths recode to ValidationError; server name/title identity; post-pack bundle cleaner; .mcpbignore dev-dir re-anchor."
|
|
3
|
+
breaking: false
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 0.1.2 — 2026-06-11
|
|
7
|
+
|
|
8
|
+
Framework upgrade to `@cyanheads/mcp-ts-core ^0.10.6` plus the maintenance adoptions it brings, and a DX recode of the workflow-write error contracts.
|
|
9
|
+
|
|
10
|
+
## Added
|
|
11
|
+
|
|
12
|
+
- **`scripts/clean-mcpb.ts`** — post-pack `.mcpb` cleaner wired into `bundle`: runs `mcpb clean` (dev-dependency prune + manifest validation) then strips dependency-shipped agent docs (`skills/`, `.claude/`, `.agents/`, stray `SKILL.md`) nested under `node_modules/` that root-anchored `.mcpbignore` patterns cannot reach.
|
|
13
|
+
- **`format:unsafe`** script — `biome check --write --unsafe .`; `format` now runs the safe `biome check --write .`.
|
|
14
|
+
|
|
15
|
+
## Changed
|
|
16
|
+
|
|
17
|
+
- **`workflow_create` / `workflow_create_temp`** — blank/whitespace-only category and name-slug validation failures (`name_too_long`, `invalid_name`) now throw the new `invalid_input` contract (`ValidationError`) instead of `write_failed` (`InternalError`); these are bad input, not server faults. `write_failed` is narrowed to genuine filesystem errors (permissions, disk full).
|
|
18
|
+
- **Server identity** — `createApp()` now sets `name` and `title` to `workflows-mcp-server` explicitly, so the display name no longer falls back to the npm scope.
|
|
19
|
+
- **`.mcpbignore`** — dev-directory patterns root-anchored (`/skills/`, `/.agents/`, `/.claude/`, `/Dockerfile`, `/bun.lock`, …) so they match only at the bundle root.
|
|
20
|
+
- **`bundle`** script chains `clean-mcpb.ts` after `mcpb pack`.
|
|
21
|
+
- **Client config display name** — README install snippets and the plugin manifests use the package name (`@cyanheads/workflows-mcp-server` in npm args; `workflows-mcp-server` as the MCP server key).
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
- `@cyanheads/mcp-ts-core` ^0.9.11 → ^0.10.6
|
|
26
|
+
- `semver` ^7.8.1 → ^7.8.4
|
|
27
|
+
- `@types/node` ^25.9.1 → ^25.9.3
|
|
28
|
+
- `@vitest/coverage-istanbul` ^4.1.7 → ^4.1.8
|
|
29
|
+
- `vitest` ^4.1.7 → ^4.1.8
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Security patch: clears 9 transitive bun audit advisories via the mcp-ts-core 0.10.10 bump, plus four workflow_create hardening fixes — cross-category duplicate guard, full semver validation, empty-slug category reject, and yaml.stringify serialization so created workflows round-trip through the index."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.3 — 2026-06-30
|
|
8
|
+
|
|
9
|
+
Security patch clearing every outstanding `bun audit` advisory, alongside four create-path hardening fixes so a successful `workflow_create` always round-trips through the same parser and indexer used at startup.
|
|
10
|
+
|
|
11
|
+
## Fixed
|
|
12
|
+
|
|
13
|
+
- **`workflow_create` cross-category duplicates** — a second permanent workflow with the same `name@version` under a different category is now rejected with `already_exists` before writing. `writePermanent()` checks the category-independent index key first; previously the duplicate wrote a second file that collapsed to one last-write-wins index entry. ([#7](https://github.com/cyanheads/workflows-mcp-server/issues/7))
|
|
14
|
+
- **YAML serialization** — `workflow_create` and `workflow_create_temp` serialize workflows with `yaml.stringify` (the hand-rolled `buildYaml`/`quote`/`yamlValue` helpers are removed), so coercion-prone scalars like `"true"`/`"123"` and special mapping keys such as `"bad: key"` round-trip as strings and valid mappings instead of parsing back as booleans/numbers and dropping out of the index. ([#8](https://github.com/cyanheads/workflows-mcp-server/issues/8))
|
|
15
|
+
- **Semver validation** — the version field uses full `semver.valid()` validation via `.refine()` in place of the start-anchored `^\d+\.\d+\.\d+` regex, at both the create inputs and `WorkflowSchema.version`. A suffix like `1.0.0junk` is rejected at create and skipped at index build, so latest-version lookup (`semver.rcompare`) can no longer crash on indexed data. ([#9](https://github.com/cyanheads/workflows-mcp-server/issues/9))
|
|
16
|
+
- **`workflow_create` empty-slug categories** — a category that slugifies to an empty string (e.g. `!!!`) is rejected as `invalid_input` instead of writing into the `categories/` root with no subdirectory; mirrors the existing name-slug guard. The default `uncategorized` path (category omitted) is unaffected. ([#10](https://github.com/cyanheads/workflows-mcp-server/issues/10))
|
|
17
|
+
|
|
18
|
+
## Changed
|
|
19
|
+
|
|
20
|
+
- `@cyanheads/mcp-ts-core` ^0.10.6 → ^0.10.10
|
|
21
|
+
- `semver` ^7.8.4 → ^7.8.5
|
|
22
|
+
- `@biomejs/biome` ^2.4.16 → ^2.5.1
|
|
23
|
+
- `vitest` ^4.1.8 → ^4.1.9
|
|
24
|
+
- `@vitest/coverage-istanbul` ^4.1.8 → ^4.1.9
|
|
25
|
+
- **Framework sync** — skills, devcheck scripts, and `devcheck.config.json` re-synced to `@cyanheads/mcp-ts-core` 0.10.10; adds `scripts/check-dependency-specifiers.ts` and packaging plugin-manifest linting.
|
|
26
|
+
|
|
27
|
+
## Security
|
|
28
|
+
|
|
29
|
+
- **Transitive advisories cleared (9 → 0)** — the `@cyanheads/mcp-ts-core` 0.10.10 bump and lockfile re-resolve clear every outstanding `bun audit` advisory, all in transitive dependencies: `js-yaml` (moderate, DoS), `hono` (1 high CORS, 4 moderate), `vite` (1 high, 1 moderate), and `esbuild` (low).
|
package/changelog/template.md
CHANGED
|
@@ -43,7 +43,7 @@ security: false
|
|
|
43
43
|
name the symbol, state what changed, stop. Use a second sentence only when
|
|
44
44
|
it carries weight. If a bullet feels long, it is.
|
|
45
45
|
|
|
46
|
-
Cut: mechanism walkthroughs (those belong in JSDoc, AGENTS.md, or the
|
|
46
|
+
Cut: mechanism walkthroughs (those belong in JSDoc, CLAUDE.md/AGENTS.md, or the
|
|
47
47
|
relevant skill), ceremonial framings ("This release introduces…",
|
|
48
48
|
backwards-compat paragraphs), file-by-file test enumerations, internal
|
|
49
49
|
implementation notes. Prefer code/symbol names over English re-explanations.
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,8 @@ import { getServerConfig } from './config/server-config.js';
|
|
|
9
9
|
import { allToolDefinitions } from './mcp-server/tools/definitions/index.js';
|
|
10
10
|
import { initWorkflowIndexService } from './services/workflow-index/workflow-index-service.js';
|
|
11
11
|
await createApp({
|
|
12
|
+
name: 'workflows-mcp-server',
|
|
13
|
+
title: 'workflows-mcp-server',
|
|
12
14
|
tools: allToolDefinitions,
|
|
13
15
|
resources: [],
|
|
14
16
|
prompts: [],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAE/F,MAAM,SAAS,CAAC;IACd,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EACV,qFAAqF;QACrF,gFAAgF;QAChF,yGAAyG;IAE3G,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAE9B,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnE,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE;YAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,sBAAsB,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAEtD,wBAAwB,CACtB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,sBAAsB,EACtB,GAAG,CAAC,iBAAiB,CACtB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAE/F,MAAM,SAAS,CAAC;IACd,IAAI,EAAE,sBAAsB;IAC5B,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,EAAE;IACX,YAAY,EACV,qFAAqF;QACrF,gFAAgF;QAChF,yGAAyG;IAE3G,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAE9B,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnE,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE;YAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,sBAAsB,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QAEtD,wBAAwB,CACtB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,sBAAsB,EACtB,GAAG,CAAC,iBAAiB,CACtB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -29,6 +29,11 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
29
29
|
created_date: import("zod").ZodString;
|
|
30
30
|
last_updated_date: import("zod").ZodString;
|
|
31
31
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
32
|
+
readonly reason: "invalid_input";
|
|
33
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
34
|
+
readonly when: "A field passed schema validation but is semantically invalid: a blank/whitespace-only category, a category that slugifies to empty, or a name that slugifies to empty or exceeds the filename length limit.";
|
|
35
|
+
readonly recovery: "Provide a category and workflow name that each contain alphanumeric characters, and keep the name under 200 characters after slugification.";
|
|
36
|
+
}, {
|
|
32
37
|
readonly reason: "already_exists";
|
|
33
38
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Conflict;
|
|
34
39
|
readonly when: "A permanent workflow with this name@version already exists in the index.";
|
|
@@ -36,9 +41,9 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
36
41
|
}, {
|
|
37
42
|
readonly reason: "write_failed";
|
|
38
43
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InternalError;
|
|
39
|
-
readonly when: "Filesystem write error
|
|
40
|
-
readonly recovery: "Check that the workflows directory is writable
|
|
41
|
-
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
44
|
+
readonly when: "Filesystem write error such as insufficient permissions or a full disk.";
|
|
45
|
+
readonly recovery: "Check that the workflows directory is writable and has sufficient disk space, then retry.";
|
|
46
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
42
47
|
name: import("zod").ZodString;
|
|
43
48
|
version: import("zod").ZodString;
|
|
44
49
|
description: import("zod").ZodString;
|
|
@@ -60,11 +65,16 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
60
65
|
created_date: import("zod").ZodString;
|
|
61
66
|
last_updated_date: import("zod").ZodString;
|
|
62
67
|
}, import("zod/v4/core").$strip>, readonly [{
|
|
68
|
+
readonly reason: "invalid_input";
|
|
69
|
+
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
70
|
+
readonly when: "The workflow name passed schema validation but slugifies to empty or exceeds the filename length limit.";
|
|
71
|
+
readonly recovery: "Provide a workflow name that contains alphanumeric characters and stays under 200 characters after slugification.";
|
|
72
|
+
}, {
|
|
63
73
|
readonly reason: "write_failed";
|
|
64
74
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.InternalError;
|
|
65
|
-
readonly when: "Filesystem write error
|
|
66
|
-
readonly recovery: "Check that the workflows directory is writable
|
|
67
|
-
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
75
|
+
readonly when: "Filesystem write error such as insufficient permissions or a full disk.";
|
|
76
|
+
readonly recovery: "Check that the workflows directory is writable and has sufficient disk space, then retry.";
|
|
77
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
68
78
|
name: import("zod").ZodString;
|
|
69
79
|
version: import("zod").ZodOptional<import("zod").ZodString>;
|
|
70
80
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -108,7 +118,7 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
108
118
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
109
119
|
readonly when: "The workflow index has not finished building yet.";
|
|
110
120
|
readonly recovery: "Retry after the server has finished initializing its workflow index.";
|
|
111
|
-
}]> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
121
|
+
}], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
|
|
112
122
|
category: import("zod").ZodOptional<import("zod").ZodString>;
|
|
113
123
|
tags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
114
124
|
includeTools: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
@@ -128,5 +138,5 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
|
|
|
128
138
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
129
139
|
readonly when: "The workflow index has not finished building yet.";
|
|
130
140
|
readonly recovery: "Retry after the server has finished initializing its workflow index.";
|
|
131
|
-
}]>)[];
|
|
141
|
+
}], undefined>)[];
|
|
132
142
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkE,CAAC"}
|
|
@@ -26,9 +26,14 @@ export declare const workflowCreateTemp: import("@cyanheads/mcp-ts-core").ToolDe
|
|
|
26
26
|
created_date: z.ZodString;
|
|
27
27
|
last_updated_date: z.ZodString;
|
|
28
28
|
}, z.core.$strip>, readonly [{
|
|
29
|
+
readonly reason: "invalid_input";
|
|
30
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
31
|
+
readonly when: "The workflow name passed schema validation but slugifies to empty or exceeds the filename length limit.";
|
|
32
|
+
readonly recovery: "Provide a workflow name that contains alphanumeric characters and stays under 200 characters after slugification.";
|
|
33
|
+
}, {
|
|
29
34
|
readonly reason: "write_failed";
|
|
30
35
|
readonly code: JsonRpcErrorCode.InternalError;
|
|
31
|
-
readonly when: "Filesystem write error
|
|
32
|
-
readonly recovery: "Check that the workflows directory is writable
|
|
33
|
-
}]>;
|
|
36
|
+
readonly when: "Filesystem write error such as insufficient permissions or a full disk.";
|
|
37
|
+
readonly recovery: "Check that the workflows directory is writable and has sufficient disk space, then retry.";
|
|
38
|
+
}], undefined>;
|
|
34
39
|
//# sourceMappingURL=workflow-create-temp.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-create-temp.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create-temp.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-create-temp.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create-temp.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAyBjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkI7B,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import * as semver from 'semver';
|
|
7
8
|
import { getWorkflowIndexService } from '../../../services/workflow-index/workflow-index-service.js';
|
|
8
9
|
const StepInputSchema = z
|
|
9
10
|
.object({
|
|
@@ -33,8 +34,10 @@ export const workflowCreateTemp = tool('workflow_create_temp', {
|
|
|
33
34
|
name: z.string().min(1).describe('Workflow name (human-readable).'),
|
|
34
35
|
version: z
|
|
35
36
|
.string()
|
|
36
|
-
.
|
|
37
|
-
|
|
37
|
+
.refine((v) => semver.valid(v) !== null, {
|
|
38
|
+
message: 'Version must be a valid semantic version (e.g. "1.0.0").',
|
|
39
|
+
})
|
|
40
|
+
.describe('Semver version string (e.g. "1.0.0"). Must be valid semver.'),
|
|
38
41
|
description: z.string().min(1).describe('One-line description of what the workflow does.'),
|
|
39
42
|
author: z.string().min(1).describe('Author name or team.'),
|
|
40
43
|
tags: z.array(z.string()).optional().describe('Free-form tags.'),
|
|
@@ -53,11 +56,17 @@ export const workflowCreateTemp = tool('workflow_create_temp', {
|
|
|
53
56
|
last_updated_date: z.string().describe('Date the workflow was last updated (YYYY-MM-DD).'),
|
|
54
57
|
}),
|
|
55
58
|
errors: [
|
|
59
|
+
{
|
|
60
|
+
reason: 'invalid_input',
|
|
61
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
62
|
+
when: 'The workflow name passed schema validation but slugifies to empty or exceeds the filename length limit.',
|
|
63
|
+
recovery: 'Provide a workflow name that contains alphanumeric characters and stays under 200 characters after slugification.',
|
|
64
|
+
},
|
|
56
65
|
{
|
|
57
66
|
reason: 'write_failed',
|
|
58
67
|
code: JsonRpcErrorCode.InternalError,
|
|
59
|
-
when: 'Filesystem write error
|
|
60
|
-
recovery: 'Check that the workflows directory is writable
|
|
68
|
+
when: 'Filesystem write error such as insufficient permissions or a full disk.',
|
|
69
|
+
recovery: 'Check that the workflows directory is writable and has sufficient disk space, then retry.',
|
|
61
70
|
},
|
|
62
71
|
],
|
|
63
72
|
async handler(input, ctx) {
|
|
@@ -89,7 +98,8 @@ export const workflowCreateTemp = tool('workflow_create_temp', {
|
|
|
89
98
|
catch (err) {
|
|
90
99
|
const reason = err._reason;
|
|
91
100
|
if (err instanceof Error && (reason === 'name_too_long' || reason === 'invalid_name')) {
|
|
92
|
-
|
|
101
|
+
// Name-slug validation failures are bad input, not server faults.
|
|
102
|
+
throw ctx.fail('invalid_input', err.message, { ...ctx.recoveryFor('invalid_input') });
|
|
93
103
|
}
|
|
94
104
|
ctx.log.error('Failed to write temp workflow', err instanceof Error ? err : new Error(String(err)));
|
|
95
105
|
const safeMsg = err instanceof Error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-create-temp.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create-temp.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-create-temp.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create-temp.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,11 @@ export declare const workflowCreate: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
27
27
|
created_date: z.ZodString;
|
|
28
28
|
last_updated_date: z.ZodString;
|
|
29
29
|
}, z.core.$strip>, readonly [{
|
|
30
|
+
readonly reason: "invalid_input";
|
|
31
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
32
|
+
readonly when: "A field passed schema validation but is semantically invalid: a blank/whitespace-only category, a category that slugifies to empty, or a name that slugifies to empty or exceeds the filename length limit.";
|
|
33
|
+
readonly recovery: "Provide a category and workflow name that each contain alphanumeric characters, and keep the name under 200 characters after slugification.";
|
|
34
|
+
}, {
|
|
30
35
|
readonly reason: "already_exists";
|
|
31
36
|
readonly code: JsonRpcErrorCode.Conflict;
|
|
32
37
|
readonly when: "A permanent workflow with this name@version already exists in the index.";
|
|
@@ -34,7 +39,7 @@ export declare const workflowCreate: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
34
39
|
}, {
|
|
35
40
|
readonly reason: "write_failed";
|
|
36
41
|
readonly code: JsonRpcErrorCode.InternalError;
|
|
37
|
-
readonly when: "Filesystem write error
|
|
38
|
-
readonly recovery: "Check that the workflows directory is writable
|
|
39
|
-
}]>;
|
|
42
|
+
readonly when: "Filesystem write error such as insufficient permissions or a full disk.";
|
|
43
|
+
readonly recovery: "Check that the workflows directory is writable and has sufficient disk space, then retry.";
|
|
44
|
+
}], undefined>;
|
|
40
45
|
//# sourceMappingURL=workflow-create.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-create.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-create.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAyBjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiKzB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import * as semver from 'semver';
|
|
7
8
|
import { getWorkflowIndexService } from '../../../services/workflow-index/workflow-index-service.js';
|
|
8
9
|
const StepInputSchema = z
|
|
9
10
|
.object({
|
|
@@ -36,8 +37,10 @@ export const workflowCreate = tool('workflow_create', {
|
|
|
36
37
|
.describe('Workflow name (human-readable, e.g. "Standard Git Wrap-up").'),
|
|
37
38
|
version: z
|
|
38
39
|
.string()
|
|
39
|
-
.
|
|
40
|
-
|
|
40
|
+
.refine((v) => semver.valid(v) !== null, {
|
|
41
|
+
message: 'Version must be a valid semantic version (e.g. "1.0.0").',
|
|
42
|
+
})
|
|
43
|
+
.describe('Semver version string (e.g. "1.0.0"). Must be valid semver.'),
|
|
41
44
|
description: z.string().min(1).describe('One-line description of what the workflow does.'),
|
|
42
45
|
author: z.string().min(1).describe('Author name or team.'),
|
|
43
46
|
category: z
|
|
@@ -58,6 +61,12 @@ export const workflowCreate = tool('workflow_create', {
|
|
|
58
61
|
last_updated_date: z.string().describe('Date the workflow was last updated (YYYY-MM-DD).'),
|
|
59
62
|
}),
|
|
60
63
|
errors: [
|
|
64
|
+
{
|
|
65
|
+
reason: 'invalid_input',
|
|
66
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
67
|
+
when: 'A field passed schema validation but is semantically invalid: a blank/whitespace-only category, a category that slugifies to empty, or a name that slugifies to empty or exceeds the filename length limit.',
|
|
68
|
+
recovery: 'Provide a category and workflow name that each contain alphanumeric characters, and keep the name under 200 characters after slugification.',
|
|
69
|
+
},
|
|
61
70
|
{
|
|
62
71
|
reason: 'already_exists',
|
|
63
72
|
code: JsonRpcErrorCode.Conflict,
|
|
@@ -67,16 +76,16 @@ export const workflowCreate = tool('workflow_create', {
|
|
|
67
76
|
{
|
|
68
77
|
reason: 'write_failed',
|
|
69
78
|
code: JsonRpcErrorCode.InternalError,
|
|
70
|
-
when: 'Filesystem write error
|
|
71
|
-
recovery: 'Check that the workflows directory is writable
|
|
79
|
+
when: 'Filesystem write error such as insufficient permissions or a full disk.',
|
|
80
|
+
recovery: 'Check that the workflows directory is writable and has sufficient disk space, then retry.',
|
|
72
81
|
},
|
|
73
82
|
],
|
|
74
83
|
async handler(input, ctx) {
|
|
75
84
|
const svc = getWorkflowIndexService();
|
|
76
85
|
// Reject whitespace-only category at the tool boundary (Zod min(1) passes " ").
|
|
77
86
|
if (input.category.trim().length === 0) {
|
|
78
|
-
throw ctx.fail('
|
|
79
|
-
...ctx.recoveryFor('
|
|
87
|
+
throw ctx.fail('invalid_input', 'Category must not be blank or whitespace-only.', {
|
|
88
|
+
...ctx.recoveryFor('invalid_input'),
|
|
80
89
|
});
|
|
81
90
|
}
|
|
82
91
|
const today = new Date().toISOString().slice(0, 10);
|
|
@@ -108,9 +117,11 @@ export const workflowCreate = tool('workflow_create', {
|
|
|
108
117
|
if (err instanceof Error && reason === 'already_exists') {
|
|
109
118
|
throw ctx.fail('already_exists', `Workflow "${workflow.name}@${workflow.version}" already exists`, { ...ctx.recoveryFor('already_exists') });
|
|
110
119
|
}
|
|
111
|
-
if (err instanceof Error &&
|
|
112
|
-
|
|
113
|
-
|
|
120
|
+
if (err instanceof Error &&
|
|
121
|
+
(reason === 'name_too_long' || reason === 'invalid_name' || reason === 'invalid_category')) {
|
|
122
|
+
// Slug validation failures (name or category) are bad input, not server faults —
|
|
123
|
+
// surface as ValidationError with the service's message (no path leak).
|
|
124
|
+
throw ctx.fail('invalid_input', err.message, { ...ctx.recoveryFor('invalid_input') });
|
|
114
125
|
}
|
|
115
126
|
ctx.log.error('Failed to write workflow', err instanceof Error ? err : new Error(String(err)));
|
|
116
127
|
// Strip filesystem paths from the user-visible message.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-create.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-create.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-create.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,5 +48,5 @@ export declare const workflowGet: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
48
48
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
49
49
|
readonly when: "The workflow index has not finished building yet.";
|
|
50
50
|
readonly recovery: "Retry after the server has finished initializing its workflow index.";
|
|
51
|
-
}]>;
|
|
51
|
+
}], undefined>;
|
|
52
52
|
//# sourceMappingURL=workflow-get.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-get.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-get.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAuCjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"workflow-get.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-get.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAuCjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2ItB,CAAC"}
|
|
@@ -24,5 +24,5 @@ export declare const workflowList: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
24
24
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
25
25
|
readonly when: "The workflow index has not finished building yet.";
|
|
26
26
|
readonly recovery: "Retry after the server has finished initializing its workflow index.";
|
|
27
|
-
}]>;
|
|
27
|
+
}], undefined>;
|
|
28
28
|
//# sourceMappingURL=workflow-list.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-list.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-list.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"workflow-list.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/workflow-list.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;cAyKvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-index-service.d.ts","sourceRoot":"","sources":["../../../src/services/workflow-index/workflow-index-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAiB,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-index-service.d.ts","sourceRoot":"","sources":["../../../src/services/workflow-index/workflow-index-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAiB,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+C9F,qEAAqE;AACrE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK7C;AA0CD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAE/B,YAAY,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAQ3F,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,mCAAmC;IACnC,IAAI,KAAK,IAAI,aAAa,CAEzB;IAED,oEAAoE;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,6BAA6B;IAC7B,QAAQ,IAAI,IAAI;IAOhB,8DAA8D;IAC9D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAQzC,oFAAoF;IACpF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAUvE,yEAAyE;IACnE,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUtD,6DAA6D;IACvD,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAuD/D,6DAA6D;IACvD,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YAmB5C,OAAO;YAuBP,aAAa;YAwBb,QAAQ;YAwCR,aAAa;IAsB3B,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,gBAAgB;CAKzB;AAQD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,EACpB,sBAAsB,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,GACxB,IAAI,CAKN;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D"}
|
|
@@ -9,7 +9,7 @@ import * as path from 'node:path';
|
|
|
9
9
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
10
10
|
import { logger } from '@cyanheads/mcp-ts-core/utils';
|
|
11
11
|
import * as semver from 'semver';
|
|
12
|
-
import { parse as parseYaml } from 'yaml';
|
|
12
|
+
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// Validation schemas
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
@@ -24,7 +24,11 @@ const StepSchema = z.object({
|
|
|
24
24
|
});
|
|
25
25
|
const WorkflowSchema = z.object({
|
|
26
26
|
name: z.string().min(1),
|
|
27
|
-
|
|
27
|
+
// Full semver validation, not a start-anchored regex — a suffix like "1.0.0junk" must
|
|
28
|
+
// fail here so it is skipped at index build and never reaches semver.rcompare.
|
|
29
|
+
version: z.string().refine((v) => semver.valid(v) !== null, {
|
|
30
|
+
message: 'version must be a valid semantic version',
|
|
31
|
+
}),
|
|
28
32
|
description: z.string().min(1),
|
|
29
33
|
author: z.string().min(1),
|
|
30
34
|
category: z.string().min(1).optional(),
|
|
@@ -148,17 +152,36 @@ export class WorkflowIndexService {
|
|
|
148
152
|
/** Write a permanent workflow YAML and rebuild the index. */
|
|
149
153
|
async writePermanent(workflow) {
|
|
150
154
|
const key = `${workflow.name}@${workflow.version}`;
|
|
155
|
+
// Reject cross-category duplicates. The index key is category-independent, so a second
|
|
156
|
+
// file with the same name@version under a different category would collapse to one key
|
|
157
|
+
// at rebuild (last-write-wins). The `wx` flag below only guards same-path collisions.
|
|
158
|
+
// A temp entry with this key does not block a permanent create.
|
|
159
|
+
const existing = this._index.get(key);
|
|
160
|
+
if (existing && !existing.isTemp) {
|
|
161
|
+
throw Object.assign(new Error(`Workflow "${key}" already exists`), {
|
|
162
|
+
_reason: 'already_exists',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
151
165
|
const categorySlug = slugify(workflow.category ?? 'uncategorized');
|
|
152
166
|
const nameSlug = slugify(workflow.name);
|
|
153
167
|
const versionSlug = slugify(workflow.version);
|
|
154
168
|
assertValidNameSlug(workflow.name, nameSlug);
|
|
169
|
+
// A provided category that slugifies empty (e.g. "!!!") would drop the file into the
|
|
170
|
+
// categories/ root with no subdirectory — reject it as invalid input, mirroring the
|
|
171
|
+
// name-slug guard. The default 'uncategorized' fallback (category omitted) stays safe.
|
|
172
|
+
if (workflow.category !== undefined && !categorySlug) {
|
|
173
|
+
throw Object.assign(new Error(`Workflow category "${workflow.category}" produces an empty slug`), { _reason: 'invalid_category' });
|
|
174
|
+
}
|
|
155
175
|
const categoryDir = path.join(this.workflowsDir, 'categories', categorySlug);
|
|
156
176
|
// Include version in filename so multiple versions coexist on disk.
|
|
157
177
|
const filePath = path.join(categoryDir, `${nameSlug}-${versionSlug}-workflow.yaml`);
|
|
158
178
|
await fs.mkdir(categoryDir, { recursive: true });
|
|
159
179
|
try {
|
|
160
180
|
// `wx` flag fails atomically if the file already exists, preventing TOCTOU races.
|
|
161
|
-
await fs.writeFile(filePath,
|
|
181
|
+
await fs.writeFile(filePath, stringifyYaml(workflow, { lineWidth: 0 }), {
|
|
182
|
+
encoding: 'utf-8',
|
|
183
|
+
flag: 'wx',
|
|
184
|
+
});
|
|
162
185
|
}
|
|
163
186
|
catch (err) {
|
|
164
187
|
if (err instanceof Error && err.code === 'EEXIST') {
|
|
@@ -182,7 +205,7 @@ export class WorkflowIndexService {
|
|
|
182
205
|
await fs.mkdir(tempDir, { recursive: true });
|
|
183
206
|
// Include version in filename so different versions are distinct files.
|
|
184
207
|
const filePath = path.join(tempDir, `${nameSlug}-${versionSlug}-workflow.yaml`);
|
|
185
|
-
await fs.writeFile(filePath,
|
|
208
|
+
await fs.writeFile(filePath, stringifyYaml(workflow, { lineWidth: 0 }), 'utf-8');
|
|
186
209
|
await this.rebuild();
|
|
187
210
|
return filePath;
|
|
188
211
|
}
|
|
@@ -319,64 +342,6 @@ export class WorkflowIndexService {
|
|
|
319
342
|
}
|
|
320
343
|
}
|
|
321
344
|
// ---------------------------------------------------------------------------
|
|
322
|
-
// YAML serialisation helper
|
|
323
|
-
// ---------------------------------------------------------------------------
|
|
324
|
-
function buildYaml(workflow) {
|
|
325
|
-
const lines = [];
|
|
326
|
-
lines.push(`name: ${quote(workflow.name)}`);
|
|
327
|
-
lines.push(`version: "${workflow.version}"`);
|
|
328
|
-
lines.push(`description: ${quote(workflow.description)}`);
|
|
329
|
-
lines.push(`author: ${quote(workflow.author)}`);
|
|
330
|
-
if (workflow.category)
|
|
331
|
-
lines.push(`category: ${quote(workflow.category)}`);
|
|
332
|
-
if (workflow.tags && workflow.tags.length > 0) {
|
|
333
|
-
lines.push('tags:');
|
|
334
|
-
for (const tag of workflow.tags)
|
|
335
|
-
lines.push(` - ${quote(tag)}`);
|
|
336
|
-
}
|
|
337
|
-
if (workflow.created_date)
|
|
338
|
-
lines.push(`created_date: "${workflow.created_date}"`);
|
|
339
|
-
if (workflow.last_updated_date)
|
|
340
|
-
lines.push(`last_updated_date: "${workflow.last_updated_date}"`);
|
|
341
|
-
if (workflow.temporary)
|
|
342
|
-
lines.push('temporary: true');
|
|
343
|
-
lines.push('steps:');
|
|
344
|
-
for (const step of workflow.steps) {
|
|
345
|
-
lines.push(` - server: ${quote(step.server)}`);
|
|
346
|
-
lines.push(` tool: ${quote(step.tool)}`);
|
|
347
|
-
if (step.action)
|
|
348
|
-
lines.push(` action: ${quote(step.action)}`);
|
|
349
|
-
if (step.description)
|
|
350
|
-
lines.push(` description: ${quote(step.description)}`);
|
|
351
|
-
if (step.name)
|
|
352
|
-
lines.push(` name: ${quote(step.name)}`);
|
|
353
|
-
if (step.forEach)
|
|
354
|
-
lines.push(` forEach: ${quote(step.forEach)}`);
|
|
355
|
-
if (step.params && Object.keys(step.params).length > 0) {
|
|
356
|
-
lines.push(' params:');
|
|
357
|
-
for (const [k, v] of Object.entries(step.params)) {
|
|
358
|
-
lines.push(` ${k}: ${yamlValue(v)}`);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
return `${lines.join('\n')}\n`;
|
|
363
|
-
}
|
|
364
|
-
function quote(s) {
|
|
365
|
-
if (/[:#[\]{},&*?|<>=!%@`\\]|^[-?]/.test(s) || s.includes('\n')) {
|
|
366
|
-
return `"${s.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
|
|
367
|
-
}
|
|
368
|
-
return s;
|
|
369
|
-
}
|
|
370
|
-
function yamlValue(v) {
|
|
371
|
-
if (typeof v === 'string')
|
|
372
|
-
return quote(v);
|
|
373
|
-
if (typeof v === 'boolean' || typeof v === 'number')
|
|
374
|
-
return String(v);
|
|
375
|
-
if (v === null)
|
|
376
|
-
return 'null';
|
|
377
|
-
return JSON.stringify(v);
|
|
378
|
-
}
|
|
379
|
-
// ---------------------------------------------------------------------------
|
|
380
345
|
// Init/accessor pattern
|
|
381
346
|
// ---------------------------------------------------------------------------
|
|
382
347
|
let _service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-index-service.js","sourceRoot":"","sources":["../../../src/services/workflow-index/workflow-index-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-index-service.js","sourceRoot":"","sources":["../../../src/services/workflow-index/workflow-index-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGtE,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,sFAAsF;IACtF,+EAA+E;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QAC1D,OAAO,EAAE,0CAA0C;KACpD,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;IACnC,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,EAAE;IACb,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,EAAE;IACb,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,qEAAqE;AACrE,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,4FAA4F;AAC5F,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,0FAA0F;AAC1F,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,IAAI,0BAA0B,CAAC,EAAE;YAC/E,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACvC,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CACP,6CAA6C,oBAAoB,iCAAiC,CACnG,EACD,EAAE,OAAO,EAAE,eAAe,EAAE,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAY;IACzC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,OAAO,oBAAoB;IACvB,MAAM,GAAkB,IAAI,GAAG,EAAE,CAAC;IAClC,MAAM,GAAG,KAAK,CAAC;IACf,kBAAkB,CAA8B;IAChD,cAAc,CAA4C;IACjD,YAAY,CAAS;IACrB,sBAAsB,CAAS;IAC/B,iBAAiB,CAAS;IAE3C,YAAY,YAAoB,EAAE,sBAA8B,EAAE,iBAAyB;QACzF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,qBAAqB;IAErB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,mCAAmC;IACnC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,6BAA6B;IAC7B,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,iBAAiB;IAEjB,8DAA8D;IAC9D,UAAU,CAAC,IAAY;QACrB,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oFAAoF;IACpF,YAAY,CAAC,IAAY,EAAE,OAAgB;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,2BAA2B;IAE3B,6DAA6D;IAC7D,KAAK,CAAC,cAAc,CAAC,QAAwB;QAC3C,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnD,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,EAAE;gBACjE,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,qFAAqF;QACrF,oFAAoF;QACpF,uFAAuF;QACvF,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,QAAQ,0BAA0B,CAAC,EAC5E,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAChC,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC7E,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,IAAI,WAAW,gBAAgB,CAAC,CAAC;QAEpF,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,kFAAkF;YAClF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE;gBACtE,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,GAAG,YAAY,KAAK,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7E,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,EAAE;oBACjE,OAAO,EAAE,gBAAgB;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,4DAA4D;QAC5D,yFAAyF;QACzF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,SAAS,CAAC,QAAwB;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,IAAI,WAAW,gBAAgB,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mBAAmB;IAEX,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAkB,IAAI,GAAG,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,2BAA2B,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;QAE7D,8CAA8C;QAC9C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,OAAO,CAAC,mCAAmC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,MAAe,EAAE,KAAoB;QAC5E,IAAI,OAA2C,CAAC;QAChD,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;YAC5C,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAChE,IAAI,IAAI,KAAK,aAAa;gBAAE,SAAS;YAErC,sFAAsF;YACtF,MAAM,SAAS,GACZ,KAAiC,CAAC,UAAU,IAAK,KAA2B,CAAC,IAAI,IAAI,GAAG,CAAC;YAE5F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,MAAe,EAAE,KAAoB;QAC5E,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,gCAAgC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,2BAA2B,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CACL,8BAA8B,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAChG,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAsB,CAAC;QAE/C,gDAAgD;QAChD,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,8CAA8C,QAAQ,WAAW,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,2BAA2B,GAAG,8BAA8B,QAAQ,GAAG,CAAC,CAAC;QACnF,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAoB;QAC9C,MAAM,QAAQ,GAAkB;YAC9B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBACzB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;gBAC/B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACnF,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9C,oDAAoD;QACpD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAClC,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;oBAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBACrE,SAAS;oBACX,CAAC;oBACD,WAAW;oBACX,IAAI,IAAI,CAAC,cAAc;wBAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,iDAAiD;gBACjD,IACE,GAAG,YAAY,KAAK;oBACpB,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAK,GAAyB,CAAC,IAAI,KAAK,WAAW,CAAC,EAC9E,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,2CAA2C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,CAAC,6BAA6B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,IAAI,QAA0C,CAAC;AAE/C,MAAM,UAAU,wBAAwB,CACtC,OAAkB,EAClB,QAAwB,EACxB,YAAoB,EACpB,sBAA8B,EAC9B,iBAAyB;IAEzB,QAAQ,GAAG,IAAI,oBAAoB,CAAC,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAC7F,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,QAAQ,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/workflows-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"mcpName": "io.github.cyanheads/workflows-mcp-server",
|
|
5
5
|
"description": "Store, query, and create YAML workflow playbooks for LLM agents via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
"audit:refresh": "rm -f bun.lock && bun install && bun audit",
|
|
28
28
|
"tree": "bun run scripts/tree.ts",
|
|
29
29
|
"list-skills": "bun run scripts/list-skills.ts",
|
|
30
|
-
"format": "biome check --write
|
|
30
|
+
"format": "biome check --write .",
|
|
31
|
+
"format:unsafe": "biome check --write --unsafe .",
|
|
31
32
|
"lint:mcp": "bun run scripts/lint-mcp.ts",
|
|
32
33
|
"lint:packaging": "bun run scripts/lint-packaging.ts",
|
|
33
|
-
"bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/workflows-mcp-server.mcpb",
|
|
34
|
+
"bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/workflows-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/workflows-mcp-server.mcpb",
|
|
34
35
|
"changelog:build": "bun run scripts/build-changelog.ts",
|
|
35
36
|
"changelog:check": "bun run scripts/build-changelog.ts --check",
|
|
36
37
|
"publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish",
|
|
@@ -82,22 +83,22 @@
|
|
|
82
83
|
"access": "public"
|
|
83
84
|
},
|
|
84
85
|
"dependencies": {
|
|
85
|
-
"@cyanheads/mcp-ts-core": "^0.
|
|
86
|
+
"@cyanheads/mcp-ts-core": "^0.10.10",
|
|
86
87
|
"pino-pretty": "^13.1.3",
|
|
87
|
-
"semver": "^7.8.
|
|
88
|
+
"semver": "^7.8.5",
|
|
88
89
|
"yaml": "^2.9.0",
|
|
89
90
|
"zod": "^4.4.3"
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
|
-
"@biomejs/biome": "^2.
|
|
93
|
-
"@types/node": "^25.9.
|
|
93
|
+
"@biomejs/biome": "^2.5.1",
|
|
94
|
+
"@types/node": "^25.9.3",
|
|
94
95
|
"@types/semver": "^7.7.1",
|
|
95
|
-
"@vitest/coverage-istanbul": "^4.1.
|
|
96
|
+
"@vitest/coverage-istanbul": "^4.1.9",
|
|
96
97
|
"depcheck": "^1.4.7",
|
|
97
98
|
"fast-check": "^4.8.0",
|
|
98
99
|
"ignore": "^7.0.5",
|
|
99
100
|
"tsc-alias": "^1.8.17",
|
|
100
101
|
"typescript": "^6.0.3",
|
|
101
|
-
"vitest": "^4.1.
|
|
102
|
+
"vitest": "^4.1.9"
|
|
102
103
|
}
|
|
103
104
|
}
|
package/server.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/workflows-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.3",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "@cyanheads/workflows-mcp-server",
|
|
15
15
|
"runtimeHint": "bun",
|
|
16
|
-
"version": "0.1.
|
|
16
|
+
"version": "0.1.3",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{ "type": "positional", "value": "run" },
|
|
19
19
|
{ "type": "positional", "value": "start:stdio" }
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
58
58
|
"identifier": "@cyanheads/workflows-mcp-server",
|
|
59
59
|
"runtimeHint": "bun",
|
|
60
|
-
"version": "0.1.
|
|
60
|
+
"version": "0.1.3",
|
|
61
61
|
"packageArguments": [
|
|
62
62
|
{ "type": "positional", "value": "run" },
|
|
63
63
|
{ "type": "positional", "value": "start:http" }
|