@pixeldojo/mcp 0.8.0 → 0.9.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/dist/index.d.cts CHANGED
@@ -8,7 +8,7 @@ import { PixelDojoClient, PixelDojoClientOptions } from '@pixeldojo/sdk';
8
8
  * Per CEO D9 + D14 + Eng E4:
9
9
  * - Up to 30 seconds: poll the job synchronously, return assets when complete.
10
10
  * - Beyond 30 seconds: hand off — return `{ jobId, statusUrl }` and let the
11
- * calling LLM follow up via the `pixeldojo:status` tool.
11
+ * calling LLM follow up via the `pixeldojo_status` tool.
12
12
  * - Backoff sequence: 1s → 2s → 4s → 8s → 8s → 8s ... capped at 8s.
13
13
  * Halves load on /api/v1/jobs/{id} vs a flat 2s interval.
14
14
  *
@@ -65,7 +65,7 @@ declare function pollJobUntilDoneOrHandoff(jobId: string, fetchJob: (id: string)
65
65
  /**
66
66
  * Shared types for MCP skill modules.
67
67
  *
68
- * Every named skill (pixeldojo:generate, :character, :storyboard, :upscale,
68
+ * Every named skill (pixeldojo_generate, :character, :storyboard, :upscale,
69
69
  * :status) exports an object that satisfies `SkillModule`. The server
70
70
  * registers them via `registerSkills` in `../server.ts`.
71
71
  */
@@ -73,6 +73,9 @@ declare function pollJobUntilDoneOrHandoff(jobId: string, fetchJob: (id: string)
73
73
  interface SkillContext {
74
74
  /** Header-injected SDK client. Each call has source + skill tag. */
75
75
  client: PixelDojoClient;
76
+ /** Raw credentials for surfaces outside /api/v1 (the film pipeline). */
77
+ apiKey: string;
78
+ baseUrl: string;
76
79
  /** Resolved version string for the source attribution header. */
77
80
  mcpVersion: string;
78
81
  /** Optional logger that already redacts pd_xxx tokens. */
@@ -108,7 +111,7 @@ type SkillResult = SkillResultText | SkillResultAssets | SkillResultHandoff;
108
111
  * `inputSchema` (JSON Schema for `tools/list`) and dispatches via `run`.
109
112
  */
110
113
  interface SkillModule<TInput = unknown> {
111
- /** MCP tool name, e.g. `pixeldojo:generate`. */
114
+ /** MCP tool name, e.g. `pixeldojo_generate`. */
112
115
  name: string;
113
116
  /** One-line description shown in `tools/list` to the LLM host. */
114
117
  description: string;
@@ -120,7 +123,7 @@ interface SkillModule<TInput = unknown> {
120
123
  * Whitelist of `apiId`s this skill is allowed to dispatch to. Treated as
121
124
  * a contract: a user-supplied `model` override must be in this list,
122
125
  * otherwise the skill returns an `UnknownModelError` with the list.
123
- * `null` means "any registered model" (used by `pixeldojo:generate`).
126
+ * `null` means "any registered model" (used by `pixeldojo_generate`).
124
127
  */
125
128
  allowedModels: string[] | null;
126
129
  /** Default `apiId` if the user doesn't pass `model`. */
@@ -222,6 +225,14 @@ declare function makeAttributedClient(options: MakeClientOptions): PixelDojoClie
222
225
 
223
226
  declare const ALL_SKILLS: ReadonlyArray<SkillModule<unknown>>;
224
227
 
228
+ /**
229
+ * Skill names were `pixeldojo:<x>` until 2026-07-29. A colon is illegal in a
230
+ * tool name per Anthropic's `^[a-zA-Z0-9_-]{1,64}$`, so claude.ai's remote-MCP
231
+ * connector rejected the whole tools array and every tool call in the
232
+ * conversation failed (Claude Code silently sanitized, which hid it). Names are
233
+ * underscored now; the old form still resolves for callers that memorized it
234
+ * and for workflow steps saved under the colon names.
235
+ */
225
236
  declare function findSkill(name: string): SkillModule<unknown> | undefined;
226
237
 
227
238
  /**
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import { PixelDojoClient, PixelDojoClientOptions } from '@pixeldojo/sdk';
8
8
  * Per CEO D9 + D14 + Eng E4:
9
9
  * - Up to 30 seconds: poll the job synchronously, return assets when complete.
10
10
  * - Beyond 30 seconds: hand off — return `{ jobId, statusUrl }` and let the
11
- * calling LLM follow up via the `pixeldojo:status` tool.
11
+ * calling LLM follow up via the `pixeldojo_status` tool.
12
12
  * - Backoff sequence: 1s → 2s → 4s → 8s → 8s → 8s ... capped at 8s.
13
13
  * Halves load on /api/v1/jobs/{id} vs a flat 2s interval.
14
14
  *
@@ -65,7 +65,7 @@ declare function pollJobUntilDoneOrHandoff(jobId: string, fetchJob: (id: string)
65
65
  /**
66
66
  * Shared types for MCP skill modules.
67
67
  *
68
- * Every named skill (pixeldojo:generate, :character, :storyboard, :upscale,
68
+ * Every named skill (pixeldojo_generate, :character, :storyboard, :upscale,
69
69
  * :status) exports an object that satisfies `SkillModule`. The server
70
70
  * registers them via `registerSkills` in `../server.ts`.
71
71
  */
@@ -73,6 +73,9 @@ declare function pollJobUntilDoneOrHandoff(jobId: string, fetchJob: (id: string)
73
73
  interface SkillContext {
74
74
  /** Header-injected SDK client. Each call has source + skill tag. */
75
75
  client: PixelDojoClient;
76
+ /** Raw credentials for surfaces outside /api/v1 (the film pipeline). */
77
+ apiKey: string;
78
+ baseUrl: string;
76
79
  /** Resolved version string for the source attribution header. */
77
80
  mcpVersion: string;
78
81
  /** Optional logger that already redacts pd_xxx tokens. */
@@ -108,7 +111,7 @@ type SkillResult = SkillResultText | SkillResultAssets | SkillResultHandoff;
108
111
  * `inputSchema` (JSON Schema for `tools/list`) and dispatches via `run`.
109
112
  */
110
113
  interface SkillModule<TInput = unknown> {
111
- /** MCP tool name, e.g. `pixeldojo:generate`. */
114
+ /** MCP tool name, e.g. `pixeldojo_generate`. */
112
115
  name: string;
113
116
  /** One-line description shown in `tools/list` to the LLM host. */
114
117
  description: string;
@@ -120,7 +123,7 @@ interface SkillModule<TInput = unknown> {
120
123
  * Whitelist of `apiId`s this skill is allowed to dispatch to. Treated as
121
124
  * a contract: a user-supplied `model` override must be in this list,
122
125
  * otherwise the skill returns an `UnknownModelError` with the list.
123
- * `null` means "any registered model" (used by `pixeldojo:generate`).
126
+ * `null` means "any registered model" (used by `pixeldojo_generate`).
124
127
  */
125
128
  allowedModels: string[] | null;
126
129
  /** Default `apiId` if the user doesn't pass `model`. */
@@ -222,6 +225,14 @@ declare function makeAttributedClient(options: MakeClientOptions): PixelDojoClie
222
225
 
223
226
  declare const ALL_SKILLS: ReadonlyArray<SkillModule<unknown>>;
224
227
 
228
+ /**
229
+ * Skill names were `pixeldojo:<x>` until 2026-07-29. A colon is illegal in a
230
+ * tool name per Anthropic's `^[a-zA-Z0-9_-]{1,64}$`, so claude.ai's remote-MCP
231
+ * connector rejected the whole tools array and every tool call in the
232
+ * conversation failed (Claude Code silently sanitized, which hid it). Names are
233
+ * underscored now; the old form still resolves for callers that memorized it
234
+ * and for workflow steps saved under the colon names.
235
+ */
225
236
  declare function findSkill(name: string): SkillModule<unknown> | undefined;
226
237
 
227
238
  /**