@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.
Files changed (137) hide show
  1. package/README.md +18 -54
  2. package/dist/{chunk-6HETNZJY.cjs → chunk-2DBSVKAU.cjs} +1 -1
  3. package/dist/{chunk-6HETNZJY.cjs.map → chunk-2DBSVKAU.cjs.map} +1 -1
  4. package/dist/{chunk-O357OJXL.cjs → chunk-3YWVYA42.cjs} +18 -14
  5. package/dist/chunk-3YWVYA42.cjs.map +1 -0
  6. package/dist/{chunk-GAUZYBXE.cjs → chunk-5AAPD5WV.cjs} +11 -11
  7. package/dist/chunk-5AAPD5WV.cjs.map +1 -0
  8. package/dist/{chunk-SGEYDV3K.mjs → chunk-BDCX6LRQ.mjs} +3 -3
  9. package/dist/chunk-BDCX6LRQ.mjs.map +1 -0
  10. package/dist/{chunk-KZ5NGFUP.mjs → chunk-C3YNVHBP.mjs} +7 -20
  11. package/dist/chunk-C3YNVHBP.mjs.map +1 -0
  12. package/dist/{chunk-QXD7WVKK.mjs → chunk-CSTYBKZC.mjs} +1 -1
  13. package/dist/chunk-CSTYBKZC.mjs.map +1 -0
  14. package/dist/{chunk-SWG7CNTZ.mjs → chunk-CTSZ5D7S.mjs} +5 -9
  15. package/dist/chunk-CTSZ5D7S.mjs.map +1 -0
  16. package/dist/chunk-EW54H7CR.cjs +722 -0
  17. package/dist/chunk-EW54H7CR.cjs.map +1 -0
  18. package/dist/chunk-EX3NFXDK.mjs +722 -0
  19. package/dist/chunk-EX3NFXDK.mjs.map +1 -0
  20. package/dist/{chunk-A74HCO6T.cjs → chunk-G7XZSN2Q.cjs} +18 -31
  21. package/dist/chunk-G7XZSN2Q.cjs.map +1 -0
  22. package/dist/{chunk-RBIQT75L.mjs → chunk-GG3IX52W.mjs} +2 -2
  23. package/dist/{chunk-SLGOHIBL.mjs → chunk-IGK2AP6J.mjs} +17 -13
  24. package/dist/chunk-IGK2AP6J.mjs.map +1 -0
  25. package/dist/{chunk-VV7ELNRW.cjs → chunk-JMUK3K47.cjs} +3 -3
  26. package/dist/{chunk-VV7ELNRW.cjs.map → chunk-JMUK3K47.cjs.map} +1 -1
  27. package/dist/{chunk-SGCYEEXD.mjs → chunk-MNDVYPEP.mjs} +2 -9
  28. package/dist/chunk-MNDVYPEP.mjs.map +1 -0
  29. package/dist/{chunk-BPCGXXMD.cjs → chunk-NFUPPCX4.cjs} +18 -22
  30. package/dist/chunk-NFUPPCX4.cjs.map +1 -0
  31. package/dist/{chunk-PRCZMOLD.cjs → chunk-OPPYEA7F.cjs} +3 -3
  32. package/dist/{chunk-PRCZMOLD.cjs.map → chunk-OPPYEA7F.cjs.map} +1 -1
  33. package/dist/{chunk-7YKH4LZN.cjs → chunk-PYJMJF44.cjs} +2 -9
  34. package/dist/chunk-PYJMJF44.cjs.map +1 -0
  35. package/dist/{chunk-QA5AL3VZ.mjs → chunk-QHM7XNRK.mjs} +2 -2
  36. package/dist/{chunk-QA5AL3VZ.mjs.map → chunk-QHM7XNRK.mjs.map} +1 -1
  37. package/dist/codegen.cjs.map +1 -1
  38. package/dist/codegen.d.cts +7 -40
  39. package/dist/codegen.d.ts +7 -40
  40. package/dist/codegen.mjs.map +1 -1
  41. package/dist/{constants-BAimnqOK.d.cts → constants-DJ_KgZpN.d.cts} +8 -41
  42. package/dist/{constants-BAimnqOK.d.ts → constants-DJ_KgZpN.d.ts} +8 -41
  43. package/dist/{context-Cr93B05o.d.ts → context-Dt6xh_5t.d.cts} +4 -5
  44. package/dist/{context-DJ3REtdT.d.cts → context-Ml7k_V14.d.ts} +4 -5
  45. package/dist/{errors-Cqh0wrqt.d.ts → errors-COsBh7kd.d.cts} +2 -3
  46. package/dist/{errors-Cqh0wrqt.d.cts → errors-COsBh7kd.d.ts} +2 -3
  47. package/dist/handler-CZIlZ5vu.d.ts +227 -0
  48. package/dist/handler-kU9Jf36K.d.cts +227 -0
  49. package/dist/host.cjs +4 -4
  50. package/dist/host.d.cts +4 -4
  51. package/dist/host.d.ts +4 -4
  52. package/dist/host.mjs +3 -3
  53. package/dist/index.cjs +34 -5
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.d.cts +627 -69
  56. package/dist/index.d.ts +627 -69
  57. package/dist/index.mjs +33 -4
  58. package/dist/manifest.cjs +23 -132
  59. package/dist/manifest.cjs.map +1 -1
  60. package/dist/manifest.d.cts +12 -93
  61. package/dist/manifest.d.ts +12 -93
  62. package/dist/manifest.mjs +9 -118
  63. package/dist/manifest.mjs.map +1 -1
  64. package/dist/server.cjs +66 -14
  65. package/dist/server.cjs.map +1 -1
  66. package/dist/server.d.cts +6 -6
  67. package/dist/server.d.ts +6 -6
  68. package/dist/server.mjs +61 -9
  69. package/dist/server.mjs.map +1 -1
  70. package/dist/styles.css +367 -0
  71. package/dist/testing/index.cjs +13 -72
  72. package/dist/testing/index.cjs.map +1 -1
  73. package/dist/testing/index.d.cts +10 -29
  74. package/dist/testing/index.d.ts +10 -29
  75. package/dist/testing/index.mjs +13 -72
  76. package/dist/testing/index.mjs.map +1 -1
  77. package/dist/testing/jest.cjs +5 -5
  78. package/dist/testing/jest.mjs +2 -2
  79. package/dist/testing/vitest.cjs +5 -5
  80. package/dist/testing/vitest.cjs.map +1 -1
  81. package/dist/testing/vitest.d.cts +0 -10
  82. package/dist/testing/vitest.d.ts +0 -10
  83. package/dist/testing/vitest.mjs +2 -2
  84. package/dist/testing/vitest.mjs.map +1 -1
  85. package/dist/{types-BYGcp5pZ.d.ts → types-DDAGLpov.d.ts} +3 -4
  86. package/dist/{types-I1JOZyI_.d.cts → types-DrpQSv_2.d.cts} +3 -4
  87. package/dist/vite-preview.cjs +125 -294
  88. package/dist/vite-preview.cjs.map +1 -1
  89. package/dist/vite-preview.d.cts +24 -6
  90. package/dist/vite-preview.d.ts +24 -6
  91. package/dist/vite-preview.mjs +118 -287
  92. package/dist/vite-preview.mjs.map +1 -1
  93. package/dist/vite.cjs +23 -133
  94. package/dist/vite.cjs.map +1 -1
  95. package/dist/vite.d.cts +7 -40
  96. package/dist/vite.d.ts +7 -40
  97. package/dist/vite.mjs +17 -127
  98. package/dist/vite.mjs.map +1 -1
  99. package/package.json +2 -12
  100. package/schema/extension-v2.json +121 -432
  101. package/dist/chunk-2CY5HVY7.mjs +0 -59
  102. package/dist/chunk-2CY5HVY7.mjs.map +0 -1
  103. package/dist/chunk-7YKH4LZN.cjs.map +0 -1
  104. package/dist/chunk-A74HCO6T.cjs.map +0 -1
  105. package/dist/chunk-BPCGXXMD.cjs.map +0 -1
  106. package/dist/chunk-EB5XWQAU.cjs +0 -132
  107. package/dist/chunk-EB5XWQAU.cjs.map +0 -1
  108. package/dist/chunk-GAUZYBXE.cjs.map +0 -1
  109. package/dist/chunk-KZ5NGFUP.mjs.map +0 -1
  110. package/dist/chunk-O357OJXL.cjs.map +0 -1
  111. package/dist/chunk-ONJMPO3P.cjs +0 -59
  112. package/dist/chunk-ONJMPO3P.cjs.map +0 -1
  113. package/dist/chunk-QJMZRV7A.mjs +0 -132
  114. package/dist/chunk-QJMZRV7A.mjs.map +0 -1
  115. package/dist/chunk-QXD7WVKK.mjs.map +0 -1
  116. package/dist/chunk-SGCYEEXD.mjs.map +0 -1
  117. package/dist/chunk-SGEYDV3K.mjs.map +0 -1
  118. package/dist/chunk-SLGOHIBL.mjs.map +0 -1
  119. package/dist/chunk-SWG7CNTZ.mjs.map +0 -1
  120. package/dist/client-CV1qzQgx.d.cts +0 -25
  121. package/dist/client-CnlSHDWE.d.ts +0 -25
  122. package/dist/ui/styles.css +0 -740
  123. package/dist/ui.cjs +0 -1018
  124. package/dist/ui.cjs.map +0 -1
  125. package/dist/ui.d.cts +0 -231
  126. package/dist/ui.d.ts +0 -231
  127. package/dist/ui.mjs +0 -1018
  128. package/dist/ui.mjs.map +0 -1
  129. package/dist/vite-preview-bootstrap.cjs +0 -66
  130. package/dist/vite-preview-bootstrap.cjs.map +0 -1
  131. package/dist/vite-preview-bootstrap.d.cts +0 -15
  132. package/dist/vite-preview-bootstrap.d.ts +0 -15
  133. package/dist/vite-preview-bootstrap.mjs +0 -66
  134. package/dist/vite-preview-bootstrap.mjs.map +0 -1
  135. package/dist/work-events-DB3WR468.d.ts +0 -547
  136. package/dist/work-events-Dxe7Djdy.d.cts +0 -547
  137. /package/dist/{chunk-RBIQT75L.mjs.map → chunk-GG3IX52W.mjs.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { E as ExtensionManifest, c as ExposableKind, U as UiContributionRef, M as ManifestValidation, d as ManifestIssue } from './constants-BAimnqOK.js';
2
- export { A as ActionDeclaration, e as AiContribution, B as BannerContribution, C as CARD_KEYS, f as CATEGORIES, g as CHARTS, h as ConnectorAuth, i as ConnectorContribution, j as ContextDeclaration, k as ContributionKind, l as CredentialField, D as DataQueryKind, m as DimensionDeclaration, n as EVENTS, o as ExtensionCategory, p as ExtensionInstallScope, q as ExtensionListing, r as ExtensionVisibility, s as HostChart, H as HostEventName, a as HostPage, t as HostTable, J as JsonSchema, K as KINDS, u as KnowledgeDeclaration, L as LegacyWorkContribution, 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, N as SCOPES, O as SCOPE_KEYS, T as SERVED_SDK_MAJORS, V as SLOTS, W as ScopeDefinition, X as ScopeEntry, S as ScopeKey, Y as SeriesContribution, Z as SettingsContribution, _ as SkillDeclaration, b as SlotId, $ as StorageCollection, a0 as TABLES, a1 as TABLE_KEYS, a2 as TabContribution, a3 as TableDefinition, a4 as ToolDeclaration, a5 as WebhookContribution, a6 as WidgetContribution, a7 as WorkAuth, a8 as WorkContribution, a9 as WorkDirection, aa as findPage, ab as findScope, ac as findTable, ad as slotsForPage } from './constants-BAimnqOK.js';
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.ZodUnion<readonly [z.ZodObject<{
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, ManifestIssue, ManifestValidation, UiContributionRef, defineManifest, exposeName, manifestJsonSchema, manifestSchema, remoteName, sdkMajors, uiContributions, validateManifest, workManifestWarnings };
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-SGCYEEXD.mjs";
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 legacyWorkContribution = z.object({
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 `review.threads:read` and `work:create`; active comment or status sync also needs `work:sync`."
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
- const comments = typeof work.comments === "string" ? work.comments : work.comments.direction;
756
- const status = work.status ? "direction" in work.status ? work.status.direction : "from_provider" : "none";
757
- if (comments !== "none" || status !== "none") {
758
- requireScope(
759
- "work:sync",
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