@intentic/extension-manifest 1.176.3 → 1.209.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.
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const ExtensionManifestSchema: z.ZodObject<{
3
+ art: z.ZodOptional<z.ZodString>;
3
4
  logo: z.ZodOptional<z.ZodString>;
4
5
  icon: z.ZodOptional<z.ZodString>;
5
6
  $schema: z.ZodOptional<z.ZodString>;
@@ -54,6 +55,7 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
54
55
  capabilities: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
55
56
  id: z.ZodString;
56
57
  catalog: z.ZodObject<{
58
+ art: z.ZodOptional<z.ZodString>;
57
59
  logo: z.ZodOptional<z.ZodString>;
58
60
  icon: z.ZodOptional<z.ZodString>;
59
61
  name: z.ZodString;
@@ -95,6 +97,7 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
95
97
  }, z.core.$strip>, z.ZodObject<{
96
98
  id: z.ZodString;
97
99
  catalog: z.ZodObject<{
100
+ art: z.ZodOptional<z.ZodString>;
98
101
  logo: z.ZodOptional<z.ZodString>;
99
102
  icon: z.ZodOptional<z.ZodString>;
100
103
  name: z.ZodString;
@@ -136,6 +139,7 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
136
139
  }, z.core.$strip>, z.ZodObject<{
137
140
  id: z.ZodString;
138
141
  catalog: z.ZodObject<{
142
+ art: z.ZodOptional<z.ZodString>;
139
143
  logo: z.ZodOptional<z.ZodString>;
140
144
  icon: z.ZodOptional<z.ZodString>;
141
145
  name: z.ZodString;
@@ -175,6 +179,7 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
175
179
  }, z.core.$strip>, z.ZodObject<{
176
180
  id: z.ZodString;
177
181
  catalog: z.ZodObject<{
182
+ art: z.ZodOptional<z.ZodString>;
178
183
  logo: z.ZodOptional<z.ZodString>;
179
184
  icon: z.ZodOptional<z.ZodString>;
180
185
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqFlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,aAAa,aAAc,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,KAAG,MAAkD,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqFlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,aAAa,aAAc,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,KAAG,MAAkD,CAAC"}
package/dist/mark.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const MARK_FIELDS: {
3
+ art: z.ZodOptional<z.ZodString>;
3
4
  logo: z.ZodOptional<z.ZodString>;
4
5
  icon: z.ZodOptional<z.ZodString>;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,WAAW;IAGpB,IAAI;IAOJ,IAAI;CAMP,CAAC"}
1
+ {"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgCxB,eAAO,MAAM,WAAW;IAepB,GAAG;IASH,IAAI;IAOJ,IAAI;CAMP,CAAC"}
package/dist/mark.js CHANGED
@@ -1,5 +1,11 @@
1
1
  import { z } from "zod";
2
+ const ART_MAX_BYTES = 4096;
2
3
  export const MARK_FIELDS = {
4
+ art: z
5
+ .string()
6
+ .max(ART_MAX_BYTES)
7
+ .optional()
8
+ .describe("This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials."),
3
9
  logo: z
4
10
  .string()
5
11
  .optional()
package/dist/mark.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mark.js","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,MAAM,CAAC,MAAM,WAAW,GAAG;IAGvB,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,kRAAkR,CACrR;IAEL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,yPAAyP,CAC5P;CACR,CAAC"}
1
+ {"version":3,"file":"mark.js","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAG;IAevB,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,aAAa,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACL,0cAA0c,CAC7c;IAGL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,kRAAkR,CACrR;IAEL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,yPAAyP,CAC5P;CACR,CAAC"}
@@ -23,6 +23,7 @@ export declare const fieldApplies: (field: CapabilityField, values: Readonly<Rec
23
23
  export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
24
  id: z.ZodString;
25
25
  catalog: z.ZodObject<{
26
+ art: z.ZodOptional<z.ZodString>;
26
27
  logo: z.ZodOptional<z.ZodString>;
27
28
  icon: z.ZodOptional<z.ZodString>;
28
29
  name: z.ZodString;
@@ -64,6 +65,7 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
64
65
  }, z.core.$strip>, z.ZodObject<{
65
66
  id: z.ZodString;
66
67
  catalog: z.ZodObject<{
68
+ art: z.ZodOptional<z.ZodString>;
67
69
  logo: z.ZodOptional<z.ZodString>;
68
70
  icon: z.ZodOptional<z.ZodString>;
69
71
  name: z.ZodString;
@@ -105,6 +107,7 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
105
107
  }, z.core.$strip>, z.ZodObject<{
106
108
  id: z.ZodString;
107
109
  catalog: z.ZodObject<{
110
+ art: z.ZodOptional<z.ZodString>;
108
111
  logo: z.ZodOptional<z.ZodString>;
109
112
  icon: z.ZodOptional<z.ZodString>;
110
113
  name: z.ZodString;
@@ -144,6 +147,7 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
144
147
  }, z.core.$strip>, z.ZodObject<{
145
148
  id: z.ZodString;
146
149
  catalog: z.ZodObject<{
150
+ art: z.ZodOptional<z.ZodString>;
147
151
  logo: z.ZodOptional<z.ZodString>;
148
152
  icon: z.ZodOptional<z.ZodString>;
149
153
  name: z.ZodString;
@@ -191,6 +195,7 @@ export declare const capabilitiesPoint: {
191
195
  readonly schema: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
192
196
  id: z.ZodString;
193
197
  catalog: z.ZodObject<{
198
+ art: z.ZodOptional<z.ZodString>;
194
199
  logo: z.ZodOptional<z.ZodString>;
195
200
  icon: z.ZodOptional<z.ZodString>;
196
201
  name: z.ZodString;
@@ -232,6 +237,7 @@ export declare const capabilitiesPoint: {
232
237
  }, z.core.$strip>, z.ZodObject<{
233
238
  id: z.ZodString;
234
239
  catalog: z.ZodObject<{
240
+ art: z.ZodOptional<z.ZodString>;
235
241
  logo: z.ZodOptional<z.ZodString>;
236
242
  icon: z.ZodOptional<z.ZodString>;
237
243
  name: z.ZodString;
@@ -273,6 +279,7 @@ export declare const capabilitiesPoint: {
273
279
  }, z.core.$strip>, z.ZodObject<{
274
280
  id: z.ZodString;
275
281
  catalog: z.ZodObject<{
282
+ art: z.ZodOptional<z.ZodString>;
276
283
  logo: z.ZodOptional<z.ZodString>;
277
284
  icon: z.ZodOptional<z.ZodString>;
278
285
  name: z.ZodString;
@@ -312,6 +319,7 @@ export declare const capabilitiesPoint: {
312
319
  }, z.core.$strip>, z.ZodObject<{
313
320
  id: z.ZodString;
314
321
  catalog: z.ZodObject<{
322
+ art: z.ZodOptional<z.ZodString>;
315
323
  logo: z.ZodOptional<z.ZodString>;
316
324
  icon: z.ZodOptional<z.ZodString>;
317
325
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBA+EhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAepE,eAAO,MAAM,YAAY,UAAW,eAAe,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,OACtB,CAAC;AA2D5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmFnC,CAAC;AACP,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAcnF,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAAM,GAAG,SAA8D,CAAC;AAEjI,eAAO,MAAM,iBAAiB;mBACpB,cAAc;0BAEhB,4UAA4U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE9S,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBA+EhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAepE,eAAO,MAAM,YAAY,UAAW,eAAe,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,OACtB,CAAC;AA2D5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmFnC,CAAC;AACP,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAcnF,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAAM,GAAG,SAA8D,CAAC;AAEjI,eAAO,MAAM,iBAAiB;mBACpB,cAAc;0BAEhB,4UAA4U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE9S,CAAC"}
@@ -108,6 +108,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
108
108
  readonly schema: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
109
109
  id: z.ZodString;
110
110
  catalog: z.ZodObject<{
111
+ art: z.ZodOptional<z.ZodString>;
111
112
  logo: z.ZodOptional<z.ZodString>;
112
113
  icon: z.ZodOptional<z.ZodString>;
113
114
  name: z.ZodString;
@@ -149,6 +150,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
149
150
  }, z.core.$strip>, z.ZodObject<{
150
151
  id: z.ZodString;
151
152
  catalog: z.ZodObject<{
153
+ art: z.ZodOptional<z.ZodString>;
152
154
  logo: z.ZodOptional<z.ZodString>;
153
155
  icon: z.ZodOptional<z.ZodString>;
154
156
  name: z.ZodString;
@@ -190,6 +192,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
190
192
  }, z.core.$strip>, z.ZodObject<{
191
193
  id: z.ZodString;
192
194
  catalog: z.ZodObject<{
195
+ art: z.ZodOptional<z.ZodString>;
193
196
  logo: z.ZodOptional<z.ZodString>;
194
197
  icon: z.ZodOptional<z.ZodString>;
195
198
  name: z.ZodString;
@@ -229,6 +232,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
229
232
  }, z.core.$strip>, z.ZodObject<{
230
233
  id: z.ZodString;
231
234
  catalog: z.ZodObject<{
235
+ art: z.ZodOptional<z.ZodString>;
232
236
  logo: z.ZodOptional<z.ZodString>;
233
237
  icon: z.ZodOptional<z.ZodString>;
234
238
  name: z.ZodString;
@@ -366,6 +370,7 @@ export declare const contributesSchema: z.ZodObject<{
366
370
  capabilities: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
367
371
  id: z.ZodString;
368
372
  catalog: z.ZodObject<{
373
+ art: z.ZodOptional<z.ZodString>;
369
374
  logo: z.ZodOptional<z.ZodString>;
370
375
  icon: z.ZodOptional<z.ZodString>;
371
376
  name: z.ZodString;
@@ -407,6 +412,7 @@ export declare const contributesSchema: z.ZodObject<{
407
412
  }, z.core.$strip>, z.ZodObject<{
408
413
  id: z.ZodString;
409
414
  catalog: z.ZodObject<{
415
+ art: z.ZodOptional<z.ZodString>;
410
416
  logo: z.ZodOptional<z.ZodString>;
411
417
  icon: z.ZodOptional<z.ZodString>;
412
418
  name: z.ZodString;
@@ -448,6 +454,7 @@ export declare const contributesSchema: z.ZodObject<{
448
454
  }, z.core.$strip>, z.ZodObject<{
449
455
  id: z.ZodString;
450
456
  catalog: z.ZodObject<{
457
+ art: z.ZodOptional<z.ZodString>;
451
458
  logo: z.ZodOptional<z.ZodString>;
452
459
  icon: z.ZodOptional<z.ZodString>;
453
460
  name: z.ZodString;
@@ -487,6 +494,7 @@ export declare const contributesSchema: z.ZodObject<{
487
494
  }, z.core.$strip>, z.ZodObject<{
488
495
  id: z.ZodString;
489
496
  catalog: z.ZodObject<{
497
+ art: z.ZodOptional<z.ZodString>;
490
498
  logo: z.ZodOptional<z.ZodString>;
491
499
  icon: z.ZodOptional<z.ZodString>;
492
500
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAa3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAciB,CAAC;AAelD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAa3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAciB,CAAC;AAelD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC"}
@@ -24,6 +24,11 @@
24
24
  "type": "string",
25
25
  "minLength": 1
26
26
  },
27
+ "art": {
28
+ "description": "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
29
+ "type": "string",
30
+ "maxLength": 4096
31
+ },
27
32
  "logo": {
28
33
  "description": "A simple-icons slug, fetched from a CDN — right for standing in for somebody else's product. Add a \"/<hex>\" suffix to force a colour for a mark that vanishes against the surface it lands on. Unreachable in an offline sandbox, so it falls back to `icon`, then to initials.",
29
34
  "type": "string"
@@ -390,6 +395,11 @@
390
395
  "type": "string",
391
396
  "minLength": 1
392
397
  },
398
+ "art": {
399
+ "description": "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
400
+ "type": "string",
401
+ "maxLength": 4096
402
+ },
393
403
  "logo": {
394
404
  "description": "A simple-icons slug, fetched from a CDN — right for standing in for somebody else's product. Add a \"/<hex>\" suffix to force a colour for a mark that vanishes against the surface it lands on. Unreachable in an offline sandbox, so it falls back to `icon`, then to initials.",
395
405
  "type": "string"
@@ -579,6 +589,11 @@
579
589
  "type": "string",
580
590
  "minLength": 1
581
591
  },
592
+ "art": {
593
+ "description": "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
594
+ "type": "string",
595
+ "maxLength": 4096
596
+ },
582
597
  "logo": {
583
598
  "description": "A simple-icons slug, fetched from a CDN — right for standing in for somebody else's product. Add a \"/<hex>\" suffix to force a colour for a mark that vanishes against the surface it lands on. Unreachable in an offline sandbox, so it falls back to `icon`, then to initials.",
584
599
  "type": "string"
@@ -760,6 +775,11 @@
760
775
  "type": "string",
761
776
  "minLength": 1
762
777
  },
778
+ "art": {
779
+ "description": "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
780
+ "type": "string",
781
+ "maxLength": 4096
782
+ },
763
783
  "logo": {
764
784
  "description": "A simple-icons slug, fetched from a CDN — right for standing in for somebody else's product. Add a \"/<hex>\" suffix to force a colour for a mark that vanishes against the surface it lands on. Unreachable in an offline sandbox, so it falls back to `icon`, then to initials.",
765
785
  "type": "string"
@@ -931,6 +951,11 @@
931
951
  "type": "string",
932
952
  "minLength": 1
933
953
  },
954
+ "art": {
955
+ "description": "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
956
+ "type": "string",
957
+ "maxLength": 4096
958
+ },
934
959
  "logo": {
935
960
  "description": "A simple-icons slug, fetched from a CDN — right for standing in for somebody else's product. Add a \"/<hex>\" suffix to force a colour for a mark that vanishes against the surface it lands on. Unreachable in an offline sandbox, so it falls back to `icon`, then to initials.",
936
961
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/extension-manifest",
3
- "version": "1.176.3",
3
+ "version": "1.209.0",
4
4
  "description": "What an intentic extension DECLARES — the intentic-extension.json schema and the sandbox-route allowlist rule",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "tslib": "2.8.1",
36
36
  "zod": "4.4.3",
37
- "@intentic/base": "1.176.3"
37
+ "@intentic/base": "1.209.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "24.13.2",
package/src/mark.ts CHANGED
@@ -4,18 +4,54 @@ import { z } from "zod";
4
4
  * with, in ONE shape because one component draws both (<BrandMark>) and a second copy of these two fields is a
5
5
  * second answer to what happens when a slug 404s.
6
6
  *
7
- * Two tiers, and neither is required. `logo` is a simple-icons slug fetched from a CDN: exactly right for a
8
- * card standing in for somebody else's product (GitHub, Postgres, Slack), useless for the many things that
9
- * have no brand in that set, and unreachable in an offline sandbox — so it can never be the only tier. `icon`
10
- * is a name from the host's own bundled vocabulary, which ships in the image, follows the theme and costs no
11
- * request; it is what actually carries a first-party extension. What declares neither is drawn as its
12
- * initials, so no row is ever blank and no author is obliged to have a brand.
7
+ * Three tiers, and none is required. `art` is the extension's OWN drawing, carried inline: the only tier an
8
+ * author controls completely, and the only one that can make a grid of unfamiliar names look like a shelf of
9
+ * distinct products rather than a column of identical glyphs. `logo` is a simple-icons slug fetched from a
10
+ * CDN: exactly right for a card standing in for somebody else's product (GitHub, Postgres, Slack), useless
11
+ * for the many things that have no brand in that set, and unreachable in an offline sandbox — so it can never
12
+ * be the only tier. `icon` is a name from the host's own bundled vocabulary, which ships in the image, follows
13
+ * the theme and costs no request; it is what carries a first-party extension that has not been drawn yet. What
14
+ * declares none of them is drawn as its initials, so no row is ever blank and no author is obliged to have a
15
+ * brand or an illustrator.
13
16
  *
14
- * A slug that fails to load and an icon name this build has never heard of both fall to the tier BELOW rather
15
- * than to a hole — the rule the rail already applies to Activation.icon, here for the surfaces that must draw
16
- * an extension whose code is not running: one that is switched off, one that is daemon-only, one being read
17
- * about in a registry before it is installed at all. */
17
+ * ART BEATS A BRAND SLUG because they answer different questions. A slug says "this is Slack"; art says "this
18
+ * is mine". An extension that stands in for somebody else's product should declare the slug and no art, and
19
+ * one that is its own thing should declare art — but where both arrive, the author's own drawing is the more
20
+ * specific claim and wins.
21
+ *
22
+ * Artwork that will not parse, a slug that fails to load and an icon name this build has never heard of all
23
+ * fall to the tier BELOW rather than to a hole — the rule the rail already applies to Activation.icon, here for
24
+ * the surfaces that must draw an extension whose code is not running: one that is switched off, one that is
25
+ * daemon-only, one being read about in a registry before it is installed at all. */
26
+
27
+ /* Big enough for a drawn mark, far too small for a traced photograph — which is the line being drawn. This
28
+ * string rides every registry row and every manifest read, so it is a budget as much as a limit: at 4 KB the
29
+ * whole official registry's artwork costs less than one screenshot, and an author who needs more than that is
30
+ * shipping a raster they should be shipping as a brand slug or not at all. */
31
+ const ART_MAX_BYTES = 4096;
32
+
18
33
  export const MARK_FIELDS = {
34
+ /* THE SVG DOCUMENT ITSELF, not a URL and not base64.
35
+ *
36
+ * A URL would put a stranger's server in the render path of a page listing extensions — a fetch that
37
+ * tracks who is browsing what, breaks in an offline sandbox, and 404s long after the row was approved:
38
+ * the three failures the `logo` tier already documents, with none of its excuse. Inline costs one string
39
+ * and always draws.
40
+ *
41
+ * Kept as READABLE TEXT rather than a data URI because of who reads it. The registry's curated file is
42
+ * reviewed by a human before anything is published, and `<rect fill="#5B4FE9"/><circle .../>` can be read
43
+ * in a diff, while base64 is a wall nobody checks — an opaque blob in the one file whose entire purpose is
44
+ * to be checked. The renderer does its own encoding at the point of use.
45
+ *
46
+ * It is drawn INERT (an <img>, never inline in the document), so a hostile registry row cannot script the
47
+ * page it is listed on — see <BrandMark>, which owns that guarantee and the sniff test that enforces it. */
48
+ art: z
49
+ .string()
50
+ .max(ART_MAX_BYTES)
51
+ .optional()
52
+ .describe(
53
+ "This extension's own mark, as a complete SVG document inline — the tier an author controls fully. Give it a viewBox and let it fill its own square edge to edge; it is drawn as the tile, not as a glyph on a plate. Kept as readable SVG text (not base64) so a registry reviewer can see what they are publishing, drawn inert so it cannot script the page, and capped at 4 KB. Anything that does not parse as SVG falls back to `logo`, then `icon`, then initials.",
54
+ ),
19
55
  // A simple-icons slug (https://cdn.simpleicons.org/<slug>). A "/<hex>" suffix forces a colour for marks
20
56
  // that vanish against the surface they land on (github's near-black).
21
57
  logo: z