@ggui-ai/artifact-manifest 0.8.0 → 0.9.0

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.ts CHANGED
@@ -24,7 +24,7 @@ export type { BlueprintManifest } from './blueprint-manifest.js';
24
24
  export { artifactManifestSchema, parseArtifactManifest, safeParseArtifactManifest, } from './artifact-manifest.js';
25
25
  export type { ArtifactManifest } from './artifact-manifest.js';
26
26
  export { GADGET_NAME_RE, BLUEPRINT_NAME_RE, ArtifactScopeSchema, ArtifactVersionSchema, } from './base.js';
27
- export { MCP_TOOL_BINDING_NAME_RE, mcpToolBindingSchema, mcpToolsSchema, resolveMcpToolBindings, } from './mcp-tool-bindings.js';
27
+ export { MCP_TOOL_BINDING_MAX_ENTRIES, MCP_TOOL_BINDING_NAME_RE, mcpToolBindingSchema, mcpToolsSchema, resolveMcpToolBindings, } from './mcp-tool-bindings.js';
28
28
  export type { McpToolBinding, McpToolBindingSource } from './mcp-tool-bindings.js';
29
29
  export { manifestToRegistryEntry, type ManifestToRegistryEntryFields, } from './manifest-to-registry-entry.js';
30
30
  export { POOL_ARTIFACT_CODES_DIR, POOL_ARTIFACT_CODE_REF_PATTERN, POOL_ARTIFACT_MANIFEST_FILENAME, POOL_ARTIFACT_SCHEMA_VERSION, POOL_ARTIFACT_V1_REJECTION, buildPoolArtifactManifest, parsePoolArtifactManifest, poolArtifactCodeRef, serializePoolArtifactManifest, type ParsePoolArtifactManifestResult, type PoolArtifactManifest, type PoolArtifactManifestEntry, } from './pool-artifact.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAQnB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAMnF,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAMnF,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -36,8 +36,10 @@ export { GADGET_NAME_RE, BLUEPRINT_NAME_RE, ArtifactScopeSchema, ArtifactVersion
36
36
  // publish flows use to compute the effective binding set. Registry
37
37
  // search input validation (`tool=` / `server=` filters) imports
38
38
  // `MCP_TOOL_BINDING_NAME_RE` from here so the wire filters and the
39
- // manifest field stay on a single charset rule.
40
- export { MCP_TOOL_BINDING_NAME_RE, mcpToolBindingSchema, mcpToolsSchema, resolveMcpToolBindings, } from './mcp-tool-bindings.js';
39
+ // manifest field stay on a single charset rule. `MCP_TOOL_BINDING_MAX_ENTRIES`
40
+ // is exported so downstream callers that derive a bound from this cap
41
+ // stay coupled by import instead of a second hand-copied constant.
42
+ export { MCP_TOOL_BINDING_MAX_ENTRIES, MCP_TOOL_BINDING_NAME_RE, mcpToolBindingSchema, mcpToolsSchema, resolveMcpToolBindings, } from './mcp-tool-bindings.js';
41
43
  // Manifest → registry-entry translator. The install CLI, programmatic
42
44
  // publish flows, and any future register-by-manifest tool all go
43
45
  // through this one function. Round-trip validated in the companion
@@ -32,6 +32,16 @@ import type { GadgetManifest } from "./gadget-manifest.js";
32
32
  * stay on a single charset rule.
33
33
  */
34
34
  export declare const MCP_TOOL_BINDING_NAME_RE: RegExp;
35
+ /**
36
+ * Shared entry-count bound for a binding list, declared OR derived —
37
+ * one envelope, referenced everywhere a cap applies rather than a
38
+ * second magic `16` drifting from this one. Exported so downstream
39
+ * callers that derive a bound from this cap stay coupled by import
40
+ * instead of a second hand-copied constant — if this cap ever
41
+ * changes, every derived bound recomputes automatically instead of
42
+ * silently drifting.
43
+ */
44
+ export declare const MCP_TOOL_BINDING_MAX_ENTRIES = 16;
35
45
  /**
36
46
  * One MCP tool binding. `server` optional — omit for a
37
47
  * server-agnostic tool-name binding.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-bindings.d.ts","sourceRoot":"","sources":["../src/mcp-tool-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAA4B,CAAC;AASlE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;kBAkB/B,CAAC;AAEH,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;oBAkBxB,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,GAAG,iBAAiB,GAC3C;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAAE,GAAG,SAAS,CAuBvF"}
1
+ {"version":3,"file":"mcp-tool-bindings.d.ts","sourceRoot":"","sources":["../src/mcp-tool-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;kBAkB/B,CAAC;AAEH,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;oBAkBxB,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,GAAG,iBAAiB,GAC3C;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAAE,GAAG,SAAS,CAuBvF"}
@@ -33,9 +33,13 @@ export const MCP_TOOL_BINDING_NAME_RE = /^[A-Za-z0-9_.-]{1,128}$/;
33
33
  /**
34
34
  * Shared entry-count bound for a binding list, declared OR derived —
35
35
  * one envelope, referenced everywhere a cap applies rather than a
36
- * second magic `16` drifting from this one.
36
+ * second magic `16` drifting from this one. Exported so downstream
37
+ * callers that derive a bound from this cap stay coupled by import
38
+ * instead of a second hand-copied constant — if this cap ever
39
+ * changes, every derived bound recomputes automatically instead of
40
+ * silently drifting.
37
41
  */
38
- const MCP_TOOL_BINDING_MAX_ENTRIES = 16;
42
+ export const MCP_TOOL_BINDING_MAX_ENTRIES = 16;
39
43
  /**
40
44
  * One MCP tool binding. `server` optional — omit for a
41
45
  * server-agnostic tool-name binding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ggui-ai/artifact-manifest",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Strict zod schemas + parsers for ggui marketplace artifact manifests — ggui.gadget.json (gadget bundles) and ggui.blueprint.json (cached UI blueprints).",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -27,12 +27,12 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "zod": "^4.3.6",
30
- "@ggui-ai/protocol": "0.8.0"
30
+ "@ggui-ai/protocol": "0.9.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "typescript": "^5.0.0",
34
34
  "vitest": "^3.2.6",
35
- "@ggui-ai/protocol-conformance": "0.8.0"
35
+ "@ggui-ai/protocol-conformance": "0.9.0"
36
36
  },
37
37
  "repository": {
38
38
  "type": "git",