@tappify/extension-sdk 2.1.0-beta.1 → 2.1.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/README.md +18 -54
- package/dist/{chunk-6HETNZJY.cjs → chunk-2DBSVKAU.cjs} +1 -1
- package/dist/{chunk-6HETNZJY.cjs.map → chunk-2DBSVKAU.cjs.map} +1 -1
- package/dist/{chunk-O357OJXL.cjs → chunk-3YWVYA42.cjs} +18 -14
- package/dist/chunk-3YWVYA42.cjs.map +1 -0
- package/dist/{chunk-GAUZYBXE.cjs → chunk-5AAPD5WV.cjs} +11 -11
- package/dist/chunk-5AAPD5WV.cjs.map +1 -0
- package/dist/{chunk-SGEYDV3K.mjs → chunk-BDCX6LRQ.mjs} +3 -3
- package/dist/chunk-BDCX6LRQ.mjs.map +1 -0
- package/dist/{chunk-KZ5NGFUP.mjs → chunk-C3YNVHBP.mjs} +7 -20
- package/dist/chunk-C3YNVHBP.mjs.map +1 -0
- package/dist/{chunk-QXD7WVKK.mjs → chunk-CSTYBKZC.mjs} +1 -1
- package/dist/chunk-CSTYBKZC.mjs.map +1 -0
- package/dist/{chunk-SWG7CNTZ.mjs → chunk-CTSZ5D7S.mjs} +5 -9
- package/dist/chunk-CTSZ5D7S.mjs.map +1 -0
- package/dist/chunk-EW54H7CR.cjs +722 -0
- package/dist/chunk-EW54H7CR.cjs.map +1 -0
- package/dist/chunk-EX3NFXDK.mjs +722 -0
- package/dist/chunk-EX3NFXDK.mjs.map +1 -0
- package/dist/{chunk-A74HCO6T.cjs → chunk-G7XZSN2Q.cjs} +18 -31
- package/dist/chunk-G7XZSN2Q.cjs.map +1 -0
- package/dist/{chunk-RBIQT75L.mjs → chunk-GG3IX52W.mjs} +2 -2
- package/dist/{chunk-SLGOHIBL.mjs → chunk-IGK2AP6J.mjs} +17 -13
- package/dist/chunk-IGK2AP6J.mjs.map +1 -0
- package/dist/{chunk-VV7ELNRW.cjs → chunk-JMUK3K47.cjs} +3 -3
- package/dist/{chunk-VV7ELNRW.cjs.map → chunk-JMUK3K47.cjs.map} +1 -1
- package/dist/{chunk-SGCYEEXD.mjs → chunk-MNDVYPEP.mjs} +2 -9
- package/dist/chunk-MNDVYPEP.mjs.map +1 -0
- package/dist/{chunk-BPCGXXMD.cjs → chunk-NFUPPCX4.cjs} +18 -22
- package/dist/chunk-NFUPPCX4.cjs.map +1 -0
- package/dist/{chunk-PRCZMOLD.cjs → chunk-OPPYEA7F.cjs} +3 -3
- package/dist/{chunk-PRCZMOLD.cjs.map → chunk-OPPYEA7F.cjs.map} +1 -1
- package/dist/{chunk-7YKH4LZN.cjs → chunk-PYJMJF44.cjs} +2 -9
- package/dist/chunk-PYJMJF44.cjs.map +1 -0
- package/dist/{chunk-QA5AL3VZ.mjs → chunk-QHM7XNRK.mjs} +2 -2
- package/dist/{chunk-QA5AL3VZ.mjs.map → chunk-QHM7XNRK.mjs.map} +1 -1
- package/dist/codegen.cjs.map +1 -1
- package/dist/codegen.d.cts +7 -40
- package/dist/codegen.d.ts +7 -40
- package/dist/codegen.mjs.map +1 -1
- package/dist/{constants-BAimnqOK.d.cts → constants-DJ_KgZpN.d.cts} +8 -41
- package/dist/{constants-BAimnqOK.d.ts → constants-DJ_KgZpN.d.ts} +8 -41
- package/dist/{context-Cr93B05o.d.ts → context-Dt6xh_5t.d.cts} +4 -5
- package/dist/{context-DJ3REtdT.d.cts → context-Ml7k_V14.d.ts} +4 -5
- package/dist/{errors-Cqh0wrqt.d.ts → errors-COsBh7kd.d.cts} +2 -3
- package/dist/{errors-Cqh0wrqt.d.cts → errors-COsBh7kd.d.ts} +2 -3
- package/dist/handler-CZIlZ5vu.d.ts +227 -0
- package/dist/handler-kU9Jf36K.d.cts +227 -0
- package/dist/host.cjs +4 -4
- package/dist/host.d.cts +4 -4
- package/dist/host.d.ts +4 -4
- package/dist/host.mjs +3 -3
- package/dist/index.cjs +34 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +627 -69
- package/dist/index.d.ts +627 -69
- package/dist/index.mjs +33 -4
- package/dist/manifest.cjs +23 -132
- package/dist/manifest.cjs.map +1 -1
- package/dist/manifest.d.cts +12 -93
- package/dist/manifest.d.ts +12 -93
- package/dist/manifest.mjs +9 -118
- package/dist/manifest.mjs.map +1 -1
- package/dist/server.cjs +66 -14
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/server.mjs +61 -9
- package/dist/server.mjs.map +1 -1
- package/dist/styles.css +367 -0
- package/dist/testing/index.cjs +13 -72
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +10 -29
- package/dist/testing/index.d.ts +10 -29
- package/dist/testing/index.mjs +13 -72
- package/dist/testing/index.mjs.map +1 -1
- package/dist/testing/jest.cjs +5 -5
- package/dist/testing/jest.mjs +2 -2
- package/dist/testing/vitest.cjs +5 -5
- package/dist/testing/vitest.cjs.map +1 -1
- package/dist/testing/vitest.d.cts +0 -10
- package/dist/testing/vitest.d.ts +0 -10
- package/dist/testing/vitest.mjs +2 -2
- package/dist/testing/vitest.mjs.map +1 -1
- package/dist/{types-BYGcp5pZ.d.ts → types-DDAGLpov.d.ts} +3 -4
- package/dist/{types-I1JOZyI_.d.cts → types-DrpQSv_2.d.cts} +3 -4
- package/dist/vite-preview.cjs +125 -294
- package/dist/vite-preview.cjs.map +1 -1
- package/dist/vite-preview.d.cts +24 -6
- package/dist/vite-preview.d.ts +24 -6
- package/dist/vite-preview.mjs +118 -287
- package/dist/vite-preview.mjs.map +1 -1
- package/dist/vite.cjs +23 -133
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.d.cts +7 -40
- package/dist/vite.d.ts +7 -40
- package/dist/vite.mjs +17 -127
- package/dist/vite.mjs.map +1 -1
- package/package.json +2 -12
- package/schema/extension-v2.json +121 -432
- package/dist/chunk-2CY5HVY7.mjs +0 -59
- package/dist/chunk-2CY5HVY7.mjs.map +0 -1
- package/dist/chunk-7YKH4LZN.cjs.map +0 -1
- package/dist/chunk-A74HCO6T.cjs.map +0 -1
- package/dist/chunk-BPCGXXMD.cjs.map +0 -1
- package/dist/chunk-EB5XWQAU.cjs +0 -132
- package/dist/chunk-EB5XWQAU.cjs.map +0 -1
- package/dist/chunk-GAUZYBXE.cjs.map +0 -1
- package/dist/chunk-KZ5NGFUP.mjs.map +0 -1
- package/dist/chunk-O357OJXL.cjs.map +0 -1
- package/dist/chunk-ONJMPO3P.cjs +0 -59
- package/dist/chunk-ONJMPO3P.cjs.map +0 -1
- package/dist/chunk-QJMZRV7A.mjs +0 -132
- package/dist/chunk-QJMZRV7A.mjs.map +0 -1
- package/dist/chunk-QXD7WVKK.mjs.map +0 -1
- package/dist/chunk-SGCYEEXD.mjs.map +0 -1
- package/dist/chunk-SGEYDV3K.mjs.map +0 -1
- package/dist/chunk-SLGOHIBL.mjs.map +0 -1
- package/dist/chunk-SWG7CNTZ.mjs.map +0 -1
- package/dist/client-CV1qzQgx.d.cts +0 -25
- package/dist/client-CnlSHDWE.d.ts +0 -25
- package/dist/ui/styles.css +0 -740
- package/dist/ui.cjs +0 -1018
- package/dist/ui.cjs.map +0 -1
- package/dist/ui.d.cts +0 -231
- package/dist/ui.d.ts +0 -231
- package/dist/ui.mjs +0 -1018
- package/dist/ui.mjs.map +0 -1
- package/dist/vite-preview-bootstrap.cjs +0 -66
- package/dist/vite-preview-bootstrap.cjs.map +0 -1
- package/dist/vite-preview-bootstrap.d.cts +0 -15
- package/dist/vite-preview-bootstrap.d.ts +0 -15
- package/dist/vite-preview-bootstrap.mjs +0 -66
- package/dist/vite-preview-bootstrap.mjs.map +0 -1
- package/dist/work-events-DB3WR468.d.ts +0 -547
- package/dist/work-events-Dxe7Djdy.d.cts +0 -547
- /package/dist/{chunk-RBIQT75L.mjs.map → chunk-GG3IX52W.mjs.map} +0 -0
package/dist/manifest.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as ExtensionManifest, c as ExposableKind, U as UiContributionRef, M as ManifestValidation
|
|
2
|
-
export { A as ActionDeclaration,
|
|
1
|
+
import { E as ExtensionManifest, c as ExposableKind, U as UiContributionRef, M as ManifestValidation } from './constants-DJ_KgZpN.js';
|
|
2
|
+
export { A as ActionDeclaration, d as AiContribution, B as BannerContribution, C as CARD_KEYS, e as CATEGORIES, f as CHARTS, g as ConnectorAuth, h as ConnectorContribution, i as ContextDeclaration, j as ContributionKind, k as CredentialField, D as DataQueryKind, l as DimensionDeclaration, m as EVENTS, n as ExtensionCategory, o as ExtensionInstallScope, p as ExtensionListing, q as ExtensionVisibility, r as HostChart, H as HostEventName, a as HostPage, s as HostTable, J as JsonSchema, K as KINDS, t as KnowledgeDeclaration, u as ManifestIssue, v as MarkerContribution, w as MentionDeclaration, x as MetricDeclaration, P as PAGES, y as PAGE_KEYS, z as PageContribution, F as PageDefinition, G as ProcedureDeclaration, I as PromptDeclaration, Q as QUERY_SCOPES, R as RowActionContribution, L as SCOPES, N as SCOPE_KEYS, O as SERVED_SDK_MAJORS, T as SLOTS, V as ScopeDefinition, W as ScopeEntry, S as ScopeKey, X as SeriesContribution, Y as SettingsContribution, Z as SkillDeclaration, b as SlotId, _ as StorageCollection, $ as TABLES, a0 as TABLE_KEYS, a1 as TabContribution, a2 as TableDefinition, a3 as ToolDeclaration, a4 as WebhookContribution, a5 as WidgetContribution, a6 as WorkContribution, a7 as findPage, a8 as findScope, a9 as findTable, aa as slotsForPage } from './constants-DJ_KgZpN.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
declare function defineManifest(manifest: ExtensionManifest): ExtensionManifest;
|
|
@@ -52,7 +52,6 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
52
52
|
"analytics:read": "analytics:read";
|
|
53
53
|
"store.metadata:read": "store.metadata:read";
|
|
54
54
|
"reviews:read": "reviews:read";
|
|
55
|
-
"review.threads:read": "review.threads:read";
|
|
56
55
|
"crashes:read": "crashes:read";
|
|
57
56
|
"revenue:read": "revenue:read";
|
|
58
57
|
"metrics:write": "metrics:write";
|
|
@@ -181,10 +180,10 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
181
180
|
label: z.ZodString;
|
|
182
181
|
type: z.ZodEnum<{
|
|
183
182
|
text: "text";
|
|
184
|
-
select: "select";
|
|
185
|
-
textarea: "textarea";
|
|
186
183
|
password: "password";
|
|
184
|
+
textarea: "textarea";
|
|
187
185
|
file: "file";
|
|
186
|
+
select: "select";
|
|
188
187
|
}>;
|
|
189
188
|
required: z.ZodBoolean;
|
|
190
189
|
options: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -239,11 +238,11 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
239
238
|
description: z.ZodString;
|
|
240
239
|
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
241
240
|
returns: z.ZodEnum<{
|
|
242
|
-
value: "value";
|
|
243
|
-
list: "list";
|
|
244
|
-
table: "table";
|
|
245
241
|
comparison: "comparison";
|
|
242
|
+
table: "table";
|
|
246
243
|
series: "series";
|
|
244
|
+
list: "list";
|
|
245
|
+
value: "value";
|
|
247
246
|
}>;
|
|
248
247
|
cost: z.ZodEnum<{
|
|
249
248
|
low: "low";
|
|
@@ -273,7 +272,6 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
273
272
|
"analytics:read": "analytics:read";
|
|
274
273
|
"store.metadata:read": "store.metadata:read";
|
|
275
274
|
"reviews:read": "reviews:read";
|
|
276
|
-
"review.threads:read": "review.threads:read";
|
|
277
275
|
"crashes:read": "crashes:read";
|
|
278
276
|
"revenue:read": "revenue:read";
|
|
279
277
|
"metrics:write": "metrics:write";
|
|
@@ -312,9 +310,9 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
312
310
|
title: z.ZodString;
|
|
313
311
|
template: z.ZodString;
|
|
314
312
|
surfaces: z.ZodArray<z.ZodEnum<{
|
|
315
|
-
page: "page";
|
|
316
313
|
chat_suggestion: "chat_suggestion";
|
|
317
314
|
widget: "widget";
|
|
315
|
+
page: "page";
|
|
318
316
|
result_card: "result_card";
|
|
319
317
|
}>>;
|
|
320
318
|
after: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -334,84 +332,7 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
334
332
|
}>>;
|
|
335
333
|
}, z.core.$strict>>>;
|
|
336
334
|
}, z.core.$strict>>;
|
|
337
|
-
work: z.ZodOptional<z.
|
|
338
|
-
kind: z.ZodEnum<{
|
|
339
|
-
chat: "chat";
|
|
340
|
-
tracker: "tracker";
|
|
341
|
-
docs: "docs";
|
|
342
|
-
}>;
|
|
343
|
-
creates: z.ZodArray<z.ZodEnum<{
|
|
344
|
-
page: "page";
|
|
345
|
-
issue: "issue";
|
|
346
|
-
message: "message";
|
|
347
|
-
}>>;
|
|
348
|
-
attachments: z.ZodArray<z.ZodEnum<{
|
|
349
|
-
link: "link";
|
|
350
|
-
image: "image";
|
|
351
|
-
}>>;
|
|
352
|
-
identity: z.ZodEnum<{
|
|
353
|
-
user: "user";
|
|
354
|
-
install: "install";
|
|
355
|
-
}>;
|
|
356
|
-
container: z.ZodOptional<z.ZodObject<{
|
|
357
|
-
label: z.ZodString;
|
|
358
|
-
list: z.ZodString;
|
|
359
|
-
}, z.core.$strict>>;
|
|
360
|
-
fields: z.ZodOptional<z.ZodObject<{
|
|
361
|
-
priority: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
362
|
-
labels: z.ZodOptional<z.ZodBoolean>;
|
|
363
|
-
assignee: z.ZodOptional<z.ZodBoolean>;
|
|
364
|
-
required: z.ZodArray<z.ZodString>;
|
|
365
|
-
}, z.core.$strict>>;
|
|
366
|
-
comments: z.ZodUnion<readonly [z.ZodEnum<{
|
|
367
|
-
none: "none";
|
|
368
|
-
"two-way": "two-way";
|
|
369
|
-
}>, z.ZodObject<{
|
|
370
|
-
direction: z.ZodEnum<{
|
|
371
|
-
none: "none";
|
|
372
|
-
to_provider: "to_provider";
|
|
373
|
-
from_provider: "from_provider";
|
|
374
|
-
"two-way": "two-way";
|
|
375
|
-
}>;
|
|
376
|
-
supportsEdits: z.ZodLiteral<false>;
|
|
377
|
-
supportsDeletes: z.ZodLiteral<false>;
|
|
378
|
-
}, z.core.$strict>]>;
|
|
379
|
-
status: z.ZodOptional<z.ZodObject<{
|
|
380
|
-
direction: z.ZodEnum<{
|
|
381
|
-
none: "none";
|
|
382
|
-
to_provider: "to_provider";
|
|
383
|
-
from_provider: "from_provider";
|
|
384
|
-
"two-way": "two-way";
|
|
385
|
-
}>;
|
|
386
|
-
webhook: z.ZodOptional<z.ZodString>;
|
|
387
|
-
map: z.ZodOptional<z.ZodObject<{
|
|
388
|
-
open: z.ZodArray<z.ZodString>;
|
|
389
|
-
in_progress: z.ZodArray<z.ZodString>;
|
|
390
|
-
done: z.ZodArray<z.ZodString>;
|
|
391
|
-
}, z.core.$strict>>;
|
|
392
|
-
}, z.core.$strict>>;
|
|
393
|
-
auth: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
394
|
-
method: z.ZodLiteral<"oauth">;
|
|
395
|
-
provider: z.ZodString;
|
|
396
|
-
scopes: z.ZodArray<z.ZodString>;
|
|
397
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
398
|
-
method: z.ZodLiteral<"api_key">;
|
|
399
|
-
fields: z.ZodArray<z.ZodObject<{
|
|
400
|
-
name: z.ZodString;
|
|
401
|
-
label: z.ZodString;
|
|
402
|
-
type: z.ZodEnum<{
|
|
403
|
-
text: "text";
|
|
404
|
-
select: "select";
|
|
405
|
-
textarea: "textarea";
|
|
406
|
-
password: "password";
|
|
407
|
-
file: "file";
|
|
408
|
-
}>;
|
|
409
|
-
required: z.ZodBoolean;
|
|
410
|
-
options: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
411
|
-
help: z.ZodOptional<z.ZodString>;
|
|
412
|
-
}, z.core.$strict>>;
|
|
413
|
-
}, z.core.$strict>], "method">;
|
|
414
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
335
|
+
work: z.ZodOptional<z.ZodObject<{
|
|
415
336
|
kind: z.ZodEnum<{
|
|
416
337
|
chat: "chat";
|
|
417
338
|
tracker: "tracker";
|
|
@@ -433,8 +354,8 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
433
354
|
required: z.ZodArray<z.ZodString>;
|
|
434
355
|
}, z.core.$strict>;
|
|
435
356
|
attachments: z.ZodArray<z.ZodEnum<{
|
|
436
|
-
link: "link";
|
|
437
357
|
image: "image";
|
|
358
|
+
link: "link";
|
|
438
359
|
}>>;
|
|
439
360
|
comments: z.ZodEnum<{
|
|
440
361
|
none: "none";
|
|
@@ -452,7 +373,7 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
452
373
|
user: "user";
|
|
453
374
|
install: "install";
|
|
454
375
|
}>;
|
|
455
|
-
}, z.core.$strict
|
|
376
|
+
}, z.core.$strict>>;
|
|
456
377
|
}, z.core.$strict>;
|
|
457
378
|
server: z.ZodOptional<z.ZodObject<{
|
|
458
379
|
baseUrl: z.ZodURL;
|
|
@@ -507,7 +428,5 @@ declare const manifestSchema: z.ZodObject<{
|
|
|
507
428
|
}, z.core.$strict>;
|
|
508
429
|
declare function manifestJsonSchema(): Record<string, unknown>;
|
|
509
430
|
declare function validateManifest(value: unknown): ManifestValidation;
|
|
510
|
-
/** Migration warnings are separate from validation during SDK v2 compatibility. */
|
|
511
|
-
declare function workManifestWarnings(manifest: ExtensionManifest): ManifestIssue[];
|
|
512
431
|
|
|
513
|
-
export { ExposableKind, ExtensionManifest,
|
|
432
|
+
export { ExposableKind, ExtensionManifest, ManifestValidation, UiContributionRef, defineManifest, exposeName, manifestJsonSchema, manifestSchema, remoteName, sdkMajors, uiContributions, validateManifest };
|
package/dist/manifest.mjs
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
findScope,
|
|
24
24
|
findTable,
|
|
25
25
|
slotsForPage
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-MNDVYPEP.mjs";
|
|
27
27
|
import "./chunk-J5LGTIGS.mjs";
|
|
28
28
|
|
|
29
29
|
// src/manifest/schema.ts
|
|
@@ -342,7 +342,7 @@ var aiContribution = z.object({
|
|
|
342
342
|
).optional()
|
|
343
343
|
}).strict();
|
|
344
344
|
var statusNames = (stage) => z.array(z.string()).describe(`Your own status names that mean ${stage}.`);
|
|
345
|
-
var
|
|
345
|
+
var workContribution = z.object({
|
|
346
346
|
kind: z.enum(["tracker", "docs", "chat"]).describe("What kind of destination this is."),
|
|
347
347
|
container: z.object({
|
|
348
348
|
label: z.string().min(1).max(60).describe(
|
|
@@ -377,55 +377,6 @@ var legacyWorkContribution = z.object({
|
|
|
377
377
|
"Whether items are created as the owner who asked (`user`) or as the install itself."
|
|
378
378
|
)
|
|
379
379
|
}).strict();
|
|
380
|
-
var workDirection = z.enum([
|
|
381
|
-
"none",
|
|
382
|
-
"to_provider",
|
|
383
|
-
"from_provider",
|
|
384
|
-
"two-way"
|
|
385
|
-
]);
|
|
386
|
-
var workAuth = z.discriminatedUnion("method", [
|
|
387
|
-
z.object({
|
|
388
|
-
method: z.literal("oauth"),
|
|
389
|
-
provider: z.string().min(1).describe("The OAuth provider identifier."),
|
|
390
|
-
scopes: z.array(z.string()).describe("The scopes requested from the provider.")
|
|
391
|
-
}).strict(),
|
|
392
|
-
z.object({
|
|
393
|
-
method: z.literal("api_key"),
|
|
394
|
-
fields: z.array(credentialField).max(20)
|
|
395
|
-
}).strict()
|
|
396
|
-
]);
|
|
397
|
-
var currentWorkContribution = legacyWorkContribution.extend({
|
|
398
|
-
container: legacyWorkContribution.shape.container.describe(
|
|
399
|
-
"Deprecated. Resolve containers dynamically with describe_container."
|
|
400
|
-
).optional(),
|
|
401
|
-
fields: legacyWorkContribution.shape.fields.describe("Deprecated. Resolve fields dynamically with describe_container.").optional(),
|
|
402
|
-
comments: z.union([
|
|
403
|
-
z.enum(["two-way", "none"]).describe("Deprecated. Declare a comments capability object."),
|
|
404
|
-
z.object({
|
|
405
|
-
direction: workDirection,
|
|
406
|
-
supportsEdits: z.literal(false),
|
|
407
|
-
supportsDeletes: z.literal(false)
|
|
408
|
-
}).strict()
|
|
409
|
-
]),
|
|
410
|
-
status: z.object({
|
|
411
|
-
direction: workDirection,
|
|
412
|
-
webhook: z.string().regex(DOMAIN_EVENT).optional(),
|
|
413
|
-
map: z.object({
|
|
414
|
-
open: statusNames("not started"),
|
|
415
|
-
in_progress: statusNames("under way"),
|
|
416
|
-
done: statusNames("finished")
|
|
417
|
-
}).strict().describe(
|
|
418
|
-
"Deprecated. Resolve statuses dynamically with describe_container."
|
|
419
|
-
).optional()
|
|
420
|
-
}).strict().optional(),
|
|
421
|
-
auth: workAuth.describe("How owners authenticate the work destination.")
|
|
422
|
-
});
|
|
423
|
-
var workContribution = z.union([
|
|
424
|
-
currentWorkContribution,
|
|
425
|
-
legacyWorkContribution.describe(
|
|
426
|
-
"Deprecated SDK v2 work declaration. Migrate to work capabilities and auth."
|
|
427
|
-
)
|
|
428
|
-
]);
|
|
429
380
|
var listing = z.object({
|
|
430
381
|
longDescription: z.string().min(1).max(5e3).describe("The body of your listing page, in markdown.").optional(),
|
|
431
382
|
screenshots: z.array(z.string().min(1)).min(1, "A listing shows 1 to 6 screenshots.").max(6, "A listing shows 1 to 6 screenshots.").describe(
|
|
@@ -517,7 +468,7 @@ var manifestObject = z.object({
|
|
|
517
468
|
"What this extension offers the assistant: tools, mentions, actions, knowledge, skills, prompts and context providers."
|
|
518
469
|
).optional(),
|
|
519
470
|
work: workContribution.describe(
|
|
520
|
-
"The work destination this extension creates issues, pages or messages in. Needs `
|
|
471
|
+
"The work destination this extension creates issues, pages or messages in. Needs the `work:create` and `work:sync` scopes."
|
|
521
472
|
).optional()
|
|
522
473
|
}).strict().describe(
|
|
523
474
|
"What this extension adds to the host. At most 20 UI contributions in total, and a page, tab, widget, row action, marker or settings panel needs the `ui:render` scope."
|
|
@@ -738,36 +689,16 @@ var manifestSchema = manifestObject.superRefine((manifest, ctx) => {
|
|
|
738
689
|
}
|
|
739
690
|
}
|
|
740
691
|
if (contributes.work) {
|
|
741
|
-
const work = contributes.work;
|
|
742
|
-
const legacy = isLegacyWork(work);
|
|
743
|
-
if (!legacy || !granted.has("reviews:read")) {
|
|
744
|
-
requireScope(
|
|
745
|
-
"review.threads:read",
|
|
746
|
-
["scopes"],
|
|
747
|
-
"the work destination reads Review threads."
|
|
748
|
-
);
|
|
749
|
-
}
|
|
750
692
|
requireScope(
|
|
751
693
|
"work:create",
|
|
752
694
|
["scopes"],
|
|
753
695
|
"the work destination creates items."
|
|
754
696
|
);
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
["scopes"],
|
|
761
|
-
"the work destination syncs comments or status."
|
|
762
|
-
);
|
|
763
|
-
}
|
|
764
|
-
if (work.identity === "user") {
|
|
765
|
-
ctx.addIssue({
|
|
766
|
-
code: "custom",
|
|
767
|
-
path: ["contributes", "work", "identity"],
|
|
768
|
-
message: 'Per-user work identity is not supported. Set identity to "install".'
|
|
769
|
-
});
|
|
770
|
-
}
|
|
697
|
+
requireScope(
|
|
698
|
+
"work:sync",
|
|
699
|
+
["scopes"],
|
|
700
|
+
"the work destination syncs comments and status."
|
|
701
|
+
);
|
|
771
702
|
}
|
|
772
703
|
const needsServer = contributes.connector !== void 0 || (contributes.webhooks?.length ?? 0) > 0 || ai !== void 0 || contributes.work !== void 0 || manifest.server?.procedures !== void 0;
|
|
773
704
|
if (needsServer && !manifest.server?.baseUrl) {
|
|
@@ -854,45 +785,6 @@ function validateManifest(value) {
|
|
|
854
785
|
}));
|
|
855
786
|
return { ok: false, issues };
|
|
856
787
|
}
|
|
857
|
-
function isLegacyWork(work) {
|
|
858
|
-
return !("auth" in work);
|
|
859
|
-
}
|
|
860
|
-
function workManifestWarnings(manifest) {
|
|
861
|
-
const work = manifest.contributes.work;
|
|
862
|
-
if (!work) return [];
|
|
863
|
-
const warnings = [];
|
|
864
|
-
if (work.container) {
|
|
865
|
-
warnings.push({
|
|
866
|
-
path: "contributes.work.container",
|
|
867
|
-
message: "Static work containers are deprecated. Resolve containers dynamically with describe_container."
|
|
868
|
-
});
|
|
869
|
-
}
|
|
870
|
-
if (work.fields) {
|
|
871
|
-
warnings.push({
|
|
872
|
-
path: "contributes.work.fields",
|
|
873
|
-
message: "Static work fields are deprecated. Resolve fields dynamically with describe_container."
|
|
874
|
-
});
|
|
875
|
-
}
|
|
876
|
-
if (typeof work.comments === "string") {
|
|
877
|
-
warnings.push({
|
|
878
|
-
path: "contributes.work.comments",
|
|
879
|
-
message: "String work comments are deprecated. Declare direction, supportsEdits: false and supportsDeletes: false."
|
|
880
|
-
});
|
|
881
|
-
}
|
|
882
|
-
if (work.status?.map) {
|
|
883
|
-
warnings.push({
|
|
884
|
-
path: "contributes.work.status.map",
|
|
885
|
-
message: "Static work status maps are deprecated. Resolve statuses dynamically with describe_container."
|
|
886
|
-
});
|
|
887
|
-
}
|
|
888
|
-
if (isLegacyWork(work) && manifest.scopes.some((scope) => scope.key === "reviews:read") && !manifest.scopes.some((scope) => scope.key === "review.threads:read")) {
|
|
889
|
-
warnings.push({
|
|
890
|
-
path: "scopes",
|
|
891
|
-
message: "Using reviews:read for work is deprecated. Add review.threads:read for Review threads; reviews:read grants store-review access."
|
|
892
|
-
});
|
|
893
|
-
}
|
|
894
|
-
return warnings;
|
|
895
|
-
}
|
|
896
788
|
export {
|
|
897
789
|
CARD_KEYS,
|
|
898
790
|
CATEGORIES,
|
|
@@ -919,7 +811,6 @@ export {
|
|
|
919
811
|
sdkMajors,
|
|
920
812
|
slotsForPage,
|
|
921
813
|
uiContributions,
|
|
922
|
-
validateManifest
|
|
923
|
-
workManifestWarnings
|
|
814
|
+
validateManifest
|
|
924
815
|
};
|
|
925
816
|
//# sourceMappingURL=manifest.mjs.map
|