@womp/spark-agent 5.7.0 → 5.7.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
@@ -414,7 +414,10 @@ Versions follow **MAJOR.MINOR.PATCH** (for example, `4.4.0`):
414
414
  the release commit to `main`. Prereleases/build metadata are not published by this workflow.
415
415
  3. CI installs the frozen Yarn lockfile, runs typechecks, tests and the UI build, then checks
416
416
  package entry files and imports every exported module from a fresh tarball installation.
417
- It rechecks npm before publishing that same archive and verifies registry integrity and `latest`.
417
+ It rechecks npm before publishing that same archive and verifies registry integrity and `latest`,
418
+ allowing up to five minutes of polling waits for npm processing and metadata propagation.
419
+ A visible integrity mismatch fails immediately; missing metadata or a lagging `latest` fails
420
+ if it does not converge within the polling limit.
418
421
  Releases are serialized; newer pending pushes may supersede older pending runs.
419
422
  Registry failures stop publication rather than being treated as missing versions.
420
423
  4. If publication reports an uncertain result, inspect npm before rerunning the failed workflow.
@@ -79,18 +79,10 @@ export function createSparkTools(options) {
79
79
  return {
80
80
  read_skill: tool({
81
81
  ...inputLabels("name"),
82
- description: "Read required skills together with names, or one skill with name. Returns instructions, TypeScript API declarations, and JavaScript examples from the available directory.",
82
+ description: "Read the skills listed in names. Returns instructions, TypeScript API declarations, and JavaScript examples from the available directory.",
83
83
  inputSchema: z.object({
84
- name: z.string().min(1).max(160).optional(),
85
- names: z.array(z.string().min(1).max(160)).min(1).optional(),
86
- }).strict().transform((input, context) => {
87
- if (input.name !== undefined && input.names === undefined)
88
- return { name: input.name };
89
- if (input.names !== undefined && input.name === undefined)
90
- return { names: input.names };
91
- context.addIssue({ code: "custom", message: "Provide exactly one of name or names." });
92
- return z.NEVER;
93
- }),
84
+ names: z.array(z.string().min(1).max(160)).min(1),
85
+ }).strict(),
94
86
  execute: (input, { toolCallId }) => execute({ id: toolCallId, name: "read_skill", input }, async () => {
95
87
  const read = (requested) => {
96
88
  const skill = options.capabilities.skills.find(({ name }) => name === requested);
@@ -103,8 +95,6 @@ export function createSparkTools(options) {
103
95
  }
104
96
  return { ok: true, ...skill };
105
97
  };
106
- if (input.name !== undefined)
107
- return read(input.name);
108
98
  const skills = [...new Set(input.names)].map(read);
109
99
  return { ok: skills.every(skill => skill.ok), skills };
110
100
  }),
package/dist/ui.d.ts CHANGED
@@ -117,13 +117,9 @@ export type SparkUITools = {
117
117
  };
118
118
  read_skill: {
119
119
  input: {
120
- name: string;
121
- names?: never;
122
- } | {
123
120
  names: string[];
124
- name?: never;
125
121
  };
126
- output: SkillReadResult | {
122
+ output: {
127
123
  ok: boolean;
128
124
  skills: SkillReadResult[];
129
125
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@womp/spark-agent",
3
- "version": "5.7.0",
3
+ "version": "5.7.1",
4
4
  "description": "Portable skills-based AI agent with local and durable chat transports for Womp",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",