@instruktlabs/kiln 1.2.0 → 1.2.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kiln",
3
3
  "description": "Build and revise 3D assets with your coding agent. Write JavaScript, inspect selected views, edit saved source revisions, and export GLB files locally.",
4
- "version": "1.2.0",
4
+ "version": "1.2.1",
5
5
  "author": {
6
6
  "name": "Matthew Kissinger"
7
7
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiln",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Create, review, save, and refine procedural 3D assets with portable source and GLB collections.",
5
5
  "author": {
6
6
  "name": "Matthew Kissinger"
package/CHANGELOG.md CHANGED
@@ -5,6 +5,22 @@ Source releases and installable package publication are separate milestones.
5
5
  Published versions and tags are recorded by the npm registry; changing this file
6
6
  does not publish a package.
7
7
 
8
+ ## 1.2.1 (unpublished)
9
+
10
+ - Load embedded viewer textures through the browser image path, retaining
11
+ pixels, sampler settings and UV transforms under restrictive MCP Apps CSP.
12
+ This uses the shared viewer and existing presentation tool; local and hosted
13
+ tool counts remain unchanged.
14
+ - Reject failed texture decoding instead of silently showing white geometry.
15
+ The chat component labels its saved-preview fallback and can recover when
16
+ another asset is presented. Advance the widget resource URI to invalidate
17
+ cached component bytes.
18
+ - Generate the MCP manifest before building sibling runtimes so one complete
19
+ build keeps their identities consistent after a package or widget update.
20
+
21
+ Actual ChatGPT-host acceptance and hosted production deployment remain separate
22
+ from local browser regression evidence and package publication.
23
+
8
24
  ## 1.2.0
9
25
 
10
26
  - Add an opt-in named MCP operation presentation generated from the shared
@@ -32939,7 +32939,7 @@ function createKilnSourceDef(store) {
32939
32939
  }
32940
32940
 
32941
32941
  // src/engine-identity.ts
32942
- var ENGINE_VERSION = "1.2.0";
32942
+ var ENGINE_VERSION = "1.2.1";
32943
32943
  var ENGINE_INSTALL_URL = new URL("../", import.meta.url).href;
32944
32944
  function engineIdentity() {
32945
32945
  return { version: ENGINE_VERSION, installUrl: ENGINE_INSTALL_URL };
@@ -37996,7 +37996,10 @@ function resolveViewRenderTimeoutMs(input) {
37996
37996
  // src/tools/registry.ts
37997
37997
  init_evidence_history();
37998
37998
  init_background();
37999
- var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v5.html";
37999
+
38000
+ // src/asset-widget-uri.ts
38001
+ var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v6.html";
38002
+ // src/tools/registry.ts
38000
38003
  function proceduralTextureMaterialContract(rendered, context) {
38001
38004
  const required = [...new Set(context.requiredProceduralTextureUsages ?? [])];
38002
38005
  if (required.length === 0)
package/dist/build.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "schemaVersion": 1,
3
3
  "entries": {
4
4
  "worker": {
5
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
6
- "engineVersion": "1.2.0",
5
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
6
+ "engineVersion": "1.2.1",
7
7
  "toolchain": "bun@1.4.2",
8
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
8
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
9
9
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
10
10
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
11
11
  "dependencies": {
@@ -39,10 +39,10 @@
39
39
  "bundleHash": "sha256:37098a17b5304a5f5746131c9652498d937a5181c0fb0975861dec999721d5be"
40
40
  },
41
41
  "agent-run": {
42
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
43
- "engineVersion": "1.2.0",
42
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
43
+ "engineVersion": "1.2.1",
44
44
  "toolchain": "bun@1.4.2",
45
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
45
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
46
46
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
47
47
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
48
48
  "dependencies": {
@@ -73,13 +73,13 @@
73
73
  },
74
74
  "target": "node",
75
75
  "file": "agent-run.mjs",
76
- "bundleHash": "sha256:ba89d90f15b95d682dc64320e797ebe21c9cc281613eb0f68eab1855d56e4aca"
76
+ "bundleHash": "sha256:1b94eaa8afad97fdb32f8b30b7a56adfe10203f11fe2073807a4b483b9e6894c"
77
77
  },
78
78
  "agent-providers": {
79
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
80
- "engineVersion": "1.2.0",
79
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
80
+ "engineVersion": "1.2.1",
81
81
  "toolchain": "bun@1.4.2",
82
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
82
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
83
83
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
84
84
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
85
85
  "dependencies": {
@@ -113,10 +113,10 @@
113
113
  "bundleHash": "sha256:9d6faf03d307321bc2e3bd5ce5bdee0bbbf61e0ebed8bfebfa1fb072287b83fa"
114
114
  },
115
115
  "mcp": {
116
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
117
- "engineVersion": "1.2.0",
116
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
117
+ "engineVersion": "1.2.1",
118
118
  "toolchain": "bun@1.4.2",
119
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
119
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
120
120
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
121
121
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
122
122
  "dependencies": {
@@ -147,13 +147,13 @@
147
147
  },
148
148
  "target": "node",
149
149
  "file": "mcp-server.mjs",
150
- "bundleHash": "sha256:c9966be32621d48519ab7c0088ed808f155bc4450eaf09ed4ce2a6c843b64cc7"
150
+ "bundleHash": "sha256:2a726598b66fce577a1f452134d15d47d7578165bc63e401371b2eef5c59333a"
151
151
  },
152
152
  "cli": {
153
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
154
- "engineVersion": "1.2.0",
153
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
154
+ "engineVersion": "1.2.1",
155
155
  "toolchain": "bun@1.4.2",
156
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
156
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
157
157
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
158
158
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
159
159
  "dependencies": {
@@ -184,13 +184,13 @@
184
184
  },
185
185
  "target": "node",
186
186
  "file": "cli.mjs",
187
- "bundleHash": "sha256:c1030e6929a5449b04f79d3f2bc7d331ccabc523e664cf537dbe42ab83a2d86b"
187
+ "bundleHash": "sha256:344e8790df8644bc5bfd05e76672dccd1a21b9cad01b7e5ed0c83a15500e3141"
188
188
  },
189
189
  "engine": {
190
- "identity": "sha256:346e43cad83c3aa102b27bffa4c4a3e2a276058b5889ed44125596b9634eab5e",
191
- "engineVersion": "1.2.0",
190
+ "identity": "sha256:8e66149e74496eabefc532a0a1f8428f54170e4cfb339fea33cbf7136d0cac03",
191
+ "engineVersion": "1.2.1",
192
192
  "toolchain": "bun@1.4.2",
193
- "sourceHash": "86a6a158a1c48dc9b8d1bf7b6b2a551edf7b1daa080c9c7402eec4ba246e3e7a",
193
+ "sourceHash": "989fe1a693eb374934c40e475fd4362846f6e9b251cba6f49e273347cfdd802f",
194
194
  "rendererSourceHash": "27927c48b377f7694251a76c0cecd05216fcbbb8a7d03e8bf2bd681dabb5573a",
195
195
  "dependencyHash": "bb179f2715f8fd9059898ef3a2028947e8f5f7e7979ad7eafe59d7a464c18f9f",
196
196
  "dependencies": {
@@ -221,7 +221,7 @@
221
221
  },
222
222
  "target": "node",
223
223
  "file": "mcp-engine.mjs",
224
- "bundleHash": "sha256:d286370c41304a3bcb313fb9427def5d5aad213d7b75d3ca10cabdc4f7db42df"
224
+ "bundleHash": "sha256:9f4c524c769aaf75c3dbb871352549ade6ad1bef1b3184b4dacbd510ce79daa3"
225
225
  }
226
226
  }
227
227
  }
package/dist/cli.mjs CHANGED
@@ -36171,7 +36171,7 @@ var init_program_artifacts = __esm(() => {
36171
36171
  function engineIdentity() {
36172
36172
  return { version: ENGINE_VERSION, installUrl: ENGINE_INSTALL_URL };
36173
36173
  }
36174
- var ENGINE_VERSION = "1.2.0", ENGINE_INSTALL_URL;
36174
+ var ENGINE_VERSION = "1.2.1", ENGINE_INSTALL_URL;
36175
36175
  var init_engine_identity = __esm(() => {
36176
36176
  ENGINE_INSTALL_URL = new URL("../", import.meta.url).href;
36177
36177
  });
@@ -41029,6 +41029,9 @@ var init_view_render_timeout = __esm(() => {
41029
41029
  WARM_UP_STATES = new Set(["unknown", "pending", "ready", "degraded"]);
41030
41030
  });
41031
41031
 
41032
+ // src/asset-widget-uri.ts
41033
+ var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v6.html";
41034
+
41032
41035
  // src/views/port.ts
41033
41036
  async function sha256Bytes(bytes) {
41034
41037
  const input = new Uint8Array(bytes.byteLength);
@@ -43862,7 +43865,7 @@ function createKilnAssetDefs(context, presentation = "grouped") {
43862
43865
  }
43863
43866
  ];
43864
43867
  }
43865
- var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v5.html", DEFAULT_INLOOP_VIEW_RENDER_TIMEOUT_MS = 6000, viewEvidenceHistoryByContext, VIEW_EVIDENCE_GUIDANCE = " viewEvidence.current describes ONLY this request. lastFaithful is older hash-only evidence for reference, not reused pixels and not current verification.", validateInput, renderInput, renderViewsInput, reviewDetailOptions = (context) => ({
43868
+ var DEFAULT_INLOOP_VIEW_RENDER_TIMEOUT_MS = 6000, viewEvidenceHistoryByContext, VIEW_EVIDENCE_GUIDANCE = " viewEvidence.current describes ONLY this request. lastFaithful is older hash-only evidence for reference, not reused pixels and not current verification.", validateInput, renderInput, renderViewsInput, reviewDetailOptions = (context) => ({
43866
43869
  retainedReport: () => {
43867
43870
  const operation = context.liveReview?.currentOperation?.();
43868
43871
  return operation ? {
@@ -36103,10 +36103,10 @@ import {
36103
36103
  import { readFile as readFile8 } from "node:fs/promises";
36104
36104
 
36105
36105
  // src/asset-widget-uri.ts
36106
- var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v5.html";
36106
+ var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v6.html";
36107
36107
 
36108
36108
  // src/engine-identity.ts
36109
- var ENGINE_VERSION = "1.2.0";
36109
+ var ENGINE_VERSION = "1.2.1";
36110
36110
  var ENGINE_INSTALL_URL = new URL("../", import.meta.url).href;
36111
36111
  function engineIdentity() {
36112
36112
  return { version: ENGINE_VERSION, installUrl: ENGINE_INSTALL_URL };
@@ -41937,7 +41937,6 @@ function resolveViewRenderTimeoutMs(input) {
41937
41937
  // src/tools/registry.ts
41938
41938
  init_evidence_history();
41939
41939
  init_background();
41940
- var KILN_ASSET_WIDGET_URI2 = "ui://kiln/asset-v5.html";
41941
41940
  function proceduralTextureMaterialContract(rendered, context) {
41942
41941
  const required = [...new Set(context.requiredProceduralTextureUsages ?? [])];
41943
41942
  if (required.length === 0)
@@ -43490,7 +43489,7 @@ function createKilnAssetDefs(context, presentation = "grouped") {
43490
43489
  downloadUrls: z23.record(z23.string(), z23.string()).optional()
43491
43490
  }),
43492
43491
  ui: {
43493
- resourceUri: KILN_ASSET_WIDGET_URI2,
43492
+ resourceUri: KILN_ASSET_WIDGET_URI,
43494
43493
  data: async (output) => (await Promise.resolve().then(() => (init_asset_widget(), exports_asset_widget))).assetWidgetData(library(), output)
43495
43494
  },
43496
43495
  run: async (raw) => {
@@ -1749,13 +1749,13 @@ var mcp_manifest_default = {
1749
1749
  },
1750
1750
  _meta: {
1751
1751
  ui: {
1752
- resourceUri: "ui://kiln/asset-v5.html",
1752
+ resourceUri: "ui://kiln/asset-v6.html",
1753
1753
  visibility: [
1754
1754
  "model"
1755
1755
  ]
1756
1756
  },
1757
- "openai/outputTemplate": "ui://kiln/asset-v5.html",
1758
- "ui/resourceUri": "ui://kiln/asset-v5.html"
1757
+ "openai/outputTemplate": "ui://kiln/asset-v6.html",
1758
+ "ui/resourceUri": "ui://kiln/asset-v6.html"
1759
1759
  },
1760
1760
  outputSchema: {
1761
1761
  type: "object",
@@ -2034,7 +2034,7 @@ var mcp_manifest_default = {
2034
2034
  ],
2035
2035
  resources: [
2036
2036
  {
2037
- uri: "ui://kiln/asset-v5.html",
2037
+ uri: "ui://kiln/asset-v6.html",
2038
2038
  name: "kiln-asset-viewer",
2039
2039
  mimeType: "text/html;profile=mcp-app",
2040
2040
  description: "Interactive Kiln asset viewer and downloads",
@@ -2082,10 +2082,10 @@ import {
2082
2082
  import { readFile } from "node:fs/promises";
2083
2083
 
2084
2084
  // src/asset-widget-uri.ts
2085
- var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v5.html";
2085
+ var KILN_ASSET_WIDGET_URI = "ui://kiln/asset-v6.html";
2086
2086
 
2087
2087
  // src/engine-identity.ts
2088
- var ENGINE_VERSION = "1.2.0";
2088
+ var ENGINE_VERSION = "1.2.1";
2089
2089
  var ENGINE_INSTALL_URL = new URL("../", import.meta.url).href;
2090
2090
 
2091
2091
  // src/requirements-json.ts