@intentic/extension-manifest 1.176.3 → 1.209.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/manifest.d.ts +5 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/mark.d.ts +1 -0
- package/dist/mark.d.ts.map +1 -1
- package/dist/mark.js +6 -0
- package/dist/mark.js.map +1 -1
- package/dist/points/capabilities.d.ts +8 -0
- package/dist/points/capabilities.d.ts.map +1 -1
- package/dist/points/index.d.ts +8 -0
- package/dist/points/index.d.ts.map +1 -1
- package/intentic-extension.schema.json +25 -0
- package/package.json +2 -2
- package/src/mark.ts +46 -10
package/dist/manifest.d.ts
CHANGED
|
@@ -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;
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -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
|
|
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
package/dist/mark.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,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;
|
|
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
|
|
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"}
|
package/dist/points/index.d.ts
CHANGED
|
@@ -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
|
|
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.
|
|
3
|
+
"version": "1.209.1",
|
|
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.
|
|
37
|
+
"@intentic/base": "1.209.1"
|
|
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
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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
|