@tappify/extension-sdk 2.1.0-beta.2 → 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 -43
  39. package/dist/codegen.d.ts +7 -43
  40. package/dist/codegen.mjs.map +1 -1
  41. package/dist/{constants-Bh759FUI.d.cts → constants-DJ_KgZpN.d.cts} +8 -44
  42. package/dist/{constants-Bh759FUI.d.ts → constants-DJ_KgZpN.d.ts} +8 -44
  43. package/dist/{context-mr8R5CNt.d.ts → context-Dt6xh_5t.d.cts} +4 -5
  44. package/dist/{context-DI0EJCRD.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 +24 -136
  59. package/dist/manifest.cjs.map +1 -1
  60. package/dist/manifest.d.cts +12 -97
  61. package/dist/manifest.d.ts +12 -97
  62. package/dist/manifest.mjs +10 -122
  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-uGHrRaOj.d.ts → types-DDAGLpov.d.ts} +3 -4
  86. package/dist/{types-BdDaLnqs.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 +24 -137
  94. package/dist/vite.cjs.map +1 -1
  95. package/dist/vite.d.cts +7 -43
  96. package/dist/vite.d.ts +7 -43
  97. package/dist/vite.mjs +18 -131
  98. package/dist/vite.mjs.map +1 -1
  99. package/package.json +2 -12
  100. package/schema/extension-v2.json +121 -440
  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-BO3kavn0.d.ts +0 -25
  121. package/dist/client-DE-vMgdO.d.cts +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-BlOVpK0k.d.ts +0 -547
  136. package/dist/work-events-D97EoqvS.d.cts +0 -547
  137. /package/dist/{chunk-RBIQT75L.mjs.map → chunk-GG3IX52W.mjs.map} +0 -0
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "scopes": {
83
83
  "minItems": 1,
84
- "maxItems": 20,
84
+ "maxItems": 19,
85
85
  "type": "array",
86
86
  "items": {
87
87
  "type": "object",
@@ -94,7 +94,6 @@
94
94
  "analytics:read",
95
95
  "store.metadata:read",
96
96
  "reviews:read",
97
- "review.threads:read",
98
97
  "crashes:read",
99
98
  "revenue:read",
100
99
  "metrics:write",
@@ -623,14 +622,6 @@
623
622
  "type": "string"
624
623
  },
625
624
  "description": "The scopes asked of the outside service. These are that service's scopes, not Tappify's."
626
- },
627
- "tokenRequestEncoding": {
628
- "type": "string",
629
- "enum": [
630
- "form",
631
- "json"
632
- ],
633
- "description": "The request body encoding for authorization-code and refresh token exchanges. When omitted, uses form encoding (application/x-www-form-urlencoded); json uses application/json."
634
625
  }
635
626
  },
636
627
  "required": [
@@ -924,7 +915,6 @@
924
915
  "analytics:read",
925
916
  "store.metadata:read",
926
917
  "reviews:read",
927
- "review.threads:read",
928
918
  "crashes:read",
929
919
  "revenue:read",
930
920
  "metrics:write",
@@ -1160,481 +1150,172 @@
1160
1150
  "description": "What this extension offers the assistant: tools, mentions, actions, knowledge, skills, prompts and context providers."
1161
1151
  },
1162
1152
  "work": {
1163
- "anyOf": [
1164
- {
1153
+ "type": "object",
1154
+ "properties": {
1155
+ "kind": {
1156
+ "type": "string",
1157
+ "enum": [
1158
+ "tracker",
1159
+ "docs",
1160
+ "chat"
1161
+ ],
1162
+ "description": "What kind of destination this is."
1163
+ },
1164
+ "container": {
1165
1165
  "type": "object",
1166
1166
  "properties": {
1167
- "kind": {
1167
+ "label": {
1168
1168
  "type": "string",
1169
- "enum": [
1170
- "tracker",
1171
- "docs",
1172
- "chat"
1173
- ],
1174
- "description": "What kind of destination this is."
1169
+ "minLength": 1,
1170
+ "maxLength": 60,
1171
+ "description": "What you call a container, such as \"Project\", \"Space\" or \"Channel\". Owners read it when they pick one."
1175
1172
  },
1176
- "container": {
1177
- "type": "object",
1178
- "properties": {
1179
- "label": {
1180
- "type": "string",
1181
- "minLength": 1,
1182
- "maxLength": 60,
1183
- "description": "What you call a container, such as \"Project\", \"Space\" or \"Channel\". Owners read it when they pick one."
1184
- },
1185
- "list": {
1186
- "type": "string",
1187
- "minLength": 1,
1188
- "description": "The path under `server.baseUrl` that lists the containers an owner can choose from."
1189
- }
1190
- },
1191
- "required": [
1192
- "label",
1193
- "list"
1194
- ],
1195
- "additionalProperties": false,
1196
- "description": "Deprecated. Resolve containers dynamically with describe_container."
1197
- },
1198
- "creates": {
1199
- "minItems": 1,
1173
+ "list": {
1174
+ "type": "string",
1175
+ "minLength": 1,
1176
+ "description": "The path under `server.baseUrl` that lists the containers an owner can choose from."
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "label",
1181
+ "list"
1182
+ ],
1183
+ "additionalProperties": false,
1184
+ "description": "Where items land, and how owners pick one."
1185
+ },
1186
+ "creates": {
1187
+ "minItems": 1,
1188
+ "type": "array",
1189
+ "items": {
1190
+ "type": "string",
1191
+ "enum": [
1192
+ "issue",
1193
+ "page",
1194
+ "message"
1195
+ ]
1196
+ },
1197
+ "description": "What this destination can create."
1198
+ },
1199
+ "fields": {
1200
+ "type": "object",
1201
+ "properties": {
1202
+ "priority": {
1200
1203
  "type": "array",
1201
1204
  "items": {
1202
- "type": "string",
1203
- "enum": [
1204
- "issue",
1205
- "page",
1206
- "message"
1207
- ]
1205
+ "type": "string"
1208
1206
  },
1209
- "description": "What this destination can create."
1207
+ "description": "Your own priority names, highest first."
1210
1208
  },
1211
- "fields": {
1212
- "type": "object",
1213
- "properties": {
1214
- "priority": {
1215
- "type": "array",
1216
- "items": {
1217
- "type": "string"
1218
- },
1219
- "description": "Your own priority names, highest first."
1220
- },
1221
- "labels": {
1222
- "type": "boolean",
1223
- "description": "Whether items carry labels."
1224
- },
1225
- "assignee": {
1226
- "type": "boolean",
1227
- "description": "Whether items carry an assignee."
1228
- },
1229
- "required": {
1230
- "type": "array",
1231
- "items": {
1232
- "type": "string"
1233
- },
1234
- "description": "The fields an owner has to fill in before you can create."
1235
- }
1236
- },
1237
- "required": [
1238
- "required"
1239
- ],
1240
- "additionalProperties": false,
1241
- "description": "Deprecated. Resolve fields dynamically with describe_container."
1209
+ "labels": {
1210
+ "type": "boolean",
1211
+ "description": "Whether items carry labels."
1212
+ },
1213
+ "assignee": {
1214
+ "type": "boolean",
1215
+ "description": "Whether items carry an assignee."
1242
1216
  },
1243
- "attachments": {
1217
+ "required": {
1244
1218
  "type": "array",
1245
1219
  "items": {
1246
- "type": "string",
1247
- "enum": [
1248
- "image",
1249
- "link"
1250
- ]
1220
+ "type": "string"
1251
1221
  },
1252
- "description": "What can be attached to a created item."
1253
- },
1254
- "comments": {
1255
- "anyOf": [
1256
- {
1257
- "type": "string",
1258
- "enum": [
1259
- "two-way",
1260
- "none"
1261
- ],
1262
- "description": "Deprecated. Declare a comments capability object."
1263
- },
1264
- {
1265
- "type": "object",
1266
- "properties": {
1267
- "direction": {
1268
- "type": "string",
1269
- "enum": [
1270
- "none",
1271
- "to_provider",
1272
- "from_provider",
1273
- "two-way"
1274
- ]
1275
- },
1276
- "supportsEdits": {
1277
- "type": "boolean",
1278
- "const": false
1279
- },
1280
- "supportsDeletes": {
1281
- "type": "boolean",
1282
- "const": false
1283
- }
1284
- },
1285
- "required": [
1286
- "direction",
1287
- "supportsEdits",
1288
- "supportsDeletes"
1289
- ],
1290
- "additionalProperties": false
1291
- }
1292
- ]
1293
- },
1294
- "status": {
1295
- "type": "object",
1296
- "properties": {
1297
- "direction": {
1298
- "type": "string",
1299
- "enum": [
1300
- "none",
1301
- "to_provider",
1302
- "from_provider",
1303
- "two-way"
1304
- ]
1305
- },
1306
- "webhook": {
1307
- "type": "string",
1308
- "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$"
1309
- },
1310
- "map": {
1311
- "type": "object",
1312
- "properties": {
1313
- "open": {
1314
- "type": "array",
1315
- "items": {
1316
- "type": "string"
1317
- },
1318
- "description": "Your own status names that mean not started."
1319
- },
1320
- "in_progress": {
1321
- "type": "array",
1322
- "items": {
1323
- "type": "string"
1324
- },
1325
- "description": "Your own status names that mean under way."
1326
- },
1327
- "done": {
1328
- "type": "array",
1329
- "items": {
1330
- "type": "string"
1331
- },
1332
- "description": "Your own status names that mean finished."
1333
- }
1334
- },
1335
- "required": [
1336
- "open",
1337
- "in_progress",
1338
- "done"
1339
- ],
1340
- "additionalProperties": false,
1341
- "description": "Deprecated. Resolve statuses dynamically with describe_container."
1342
- }
1343
- },
1344
- "required": [
1345
- "direction"
1346
- ],
1347
- "additionalProperties": false
1348
- },
1349
- "identity": {
1350
- "type": "string",
1351
- "enum": [
1352
- "user",
1353
- "install"
1354
- ],
1355
- "description": "Whether items are created as the owner who asked (`user`) or as the install itself."
1356
- },
1357
- "auth": {
1358
- "oneOf": [
1359
- {
1360
- "type": "object",
1361
- "properties": {
1362
- "method": {
1363
- "type": "string",
1364
- "const": "oauth"
1365
- },
1366
- "provider": {
1367
- "type": "string",
1368
- "minLength": 1,
1369
- "description": "The OAuth provider identifier."
1370
- },
1371
- "scopes": {
1372
- "type": "array",
1373
- "items": {
1374
- "type": "string"
1375
- },
1376
- "description": "The scopes requested from the provider."
1377
- }
1378
- },
1379
- "required": [
1380
- "method",
1381
- "provider",
1382
- "scopes"
1383
- ],
1384
- "additionalProperties": false
1385
- },
1386
- {
1387
- "type": "object",
1388
- "properties": {
1389
- "method": {
1390
- "type": "string",
1391
- "const": "api_key"
1392
- },
1393
- "fields": {
1394
- "maxItems": 20,
1395
- "type": "array",
1396
- "items": {
1397
- "type": "object",
1398
- "properties": {
1399
- "name": {
1400
- "type": "string",
1401
- "pattern": "^[a-z][a-z0-9_]*$",
1402
- "description": "The key your server reads this value back as."
1403
- },
1404
- "label": {
1405
- "type": "string",
1406
- "minLength": 1,
1407
- "maxLength": 60,
1408
- "description": "The label owners read above the input."
1409
- },
1410
- "type": {
1411
- "type": "string",
1412
- "enum": [
1413
- "text",
1414
- "password",
1415
- "textarea",
1416
- "file",
1417
- "select"
1418
- ],
1419
- "description": "How the input is drawn to the owner."
1420
- },
1421
- "required": {
1422
- "type": "boolean",
1423
- "description": "Whether owners have to fill it in before the install works."
1424
- },
1425
- "options": {
1426
- "type": "array",
1427
- "items": {
1428
- "type": "string"
1429
- },
1430
- "description": "The choices offered, for a `select` field."
1431
- },
1432
- "help": {
1433
- "type": "string",
1434
- "maxLength": 200,
1435
- "description": "The hint drawn under the input."
1436
- }
1437
- },
1438
- "required": [
1439
- "name",
1440
- "label",
1441
- "type",
1442
- "required"
1443
- ],
1444
- "additionalProperties": false
1445
- }
1446
- }
1447
- },
1448
- "required": [
1449
- "method",
1450
- "fields"
1451
- ],
1452
- "additionalProperties": false
1453
- }
1454
- ],
1455
- "description": "How owners authenticate the work destination."
1222
+ "description": "The fields an owner has to fill in before you can create."
1456
1223
  }
1457
1224
  },
1458
1225
  "required": [
1459
- "kind",
1460
- "creates",
1461
- "attachments",
1462
- "comments",
1463
- "identity",
1464
- "auth"
1226
+ "required"
1227
+ ],
1228
+ "additionalProperties": false,
1229
+ "description": "What a created item carries."
1230
+ },
1231
+ "attachments": {
1232
+ "type": "array",
1233
+ "items": {
1234
+ "type": "string",
1235
+ "enum": [
1236
+ "image",
1237
+ "link"
1238
+ ]
1239
+ },
1240
+ "description": "What can be attached to a created item."
1241
+ },
1242
+ "comments": {
1243
+ "type": "string",
1244
+ "enum": [
1245
+ "two-way",
1246
+ "none"
1465
1247
  ],
1466
- "additionalProperties": false
1248
+ "description": "Whether comments sync back and forth or not at all."
1467
1249
  },
1468
- {
1250
+ "status": {
1469
1251
  "type": "object",
1470
1252
  "properties": {
1471
- "kind": {
1253
+ "webhook": {
1472
1254
  "type": "string",
1473
- "enum": [
1474
- "tracker",
1475
- "docs",
1476
- "chat"
1477
- ],
1478
- "description": "What kind of destination this is."
1255
+ "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
1256
+ "description": "The event your server posts when an item changes status."
1479
1257
  },
1480
- "container": {
1258
+ "map": {
1481
1259
  "type": "object",
1482
1260
  "properties": {
1483
- "label": {
1484
- "type": "string",
1485
- "minLength": 1,
1486
- "maxLength": 60,
1487
- "description": "What you call a container, such as \"Project\", \"Space\" or \"Channel\". Owners read it when they pick one."
1488
- },
1489
- "list": {
1490
- "type": "string",
1491
- "minLength": 1,
1492
- "description": "The path under `server.baseUrl` that lists the containers an owner can choose from."
1493
- }
1494
- },
1495
- "required": [
1496
- "label",
1497
- "list"
1498
- ],
1499
- "additionalProperties": false,
1500
- "description": "Where items land, and how owners pick one."
1501
- },
1502
- "creates": {
1503
- "minItems": 1,
1504
- "type": "array",
1505
- "items": {
1506
- "type": "string",
1507
- "enum": [
1508
- "issue",
1509
- "page",
1510
- "message"
1511
- ]
1512
- },
1513
- "description": "What this destination can create."
1514
- },
1515
- "fields": {
1516
- "type": "object",
1517
- "properties": {
1518
- "priority": {
1261
+ "open": {
1519
1262
  "type": "array",
1520
1263
  "items": {
1521
1264
  "type": "string"
1522
1265
  },
1523
- "description": "Your own priority names, highest first."
1524
- },
1525
- "labels": {
1526
- "type": "boolean",
1527
- "description": "Whether items carry labels."
1528
- },
1529
- "assignee": {
1530
- "type": "boolean",
1531
- "description": "Whether items carry an assignee."
1266
+ "description": "Your own status names that mean not started."
1532
1267
  },
1533
- "required": {
1268
+ "in_progress": {
1534
1269
  "type": "array",
1535
1270
  "items": {
1536
1271
  "type": "string"
1537
1272
  },
1538
- "description": "The fields an owner has to fill in before you can create."
1539
- }
1540
- },
1541
- "required": [
1542
- "required"
1543
- ],
1544
- "additionalProperties": false,
1545
- "description": "What a created item carries."
1546
- },
1547
- "attachments": {
1548
- "type": "array",
1549
- "items": {
1550
- "type": "string",
1551
- "enum": [
1552
- "image",
1553
- "link"
1554
- ]
1555
- },
1556
- "description": "What can be attached to a created item."
1557
- },
1558
- "comments": {
1559
- "type": "string",
1560
- "enum": [
1561
- "two-way",
1562
- "none"
1563
- ],
1564
- "description": "Whether comments sync back and forth or not at all."
1565
- },
1566
- "status": {
1567
- "type": "object",
1568
- "properties": {
1569
- "webhook": {
1570
- "type": "string",
1571
- "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
1572
- "description": "The event your server posts when an item changes status."
1273
+ "description": "Your own status names that mean under way."
1573
1274
  },
1574
- "map": {
1575
- "type": "object",
1576
- "properties": {
1577
- "open": {
1578
- "type": "array",
1579
- "items": {
1580
- "type": "string"
1581
- },
1582
- "description": "Your own status names that mean not started."
1583
- },
1584
- "in_progress": {
1585
- "type": "array",
1586
- "items": {
1587
- "type": "string"
1588
- },
1589
- "description": "Your own status names that mean under way."
1590
- },
1591
- "done": {
1592
- "type": "array",
1593
- "items": {
1594
- "type": "string"
1595
- },
1596
- "description": "Your own status names that mean finished."
1597
- }
1275
+ "done": {
1276
+ "type": "array",
1277
+ "items": {
1278
+ "type": "string"
1598
1279
  },
1599
- "required": [
1600
- "open",
1601
- "in_progress",
1602
- "done"
1603
- ],
1604
- "additionalProperties": false,
1605
- "description": "Your status names, grouped into the three stages Tappify draws."
1280
+ "description": "Your own status names that mean finished."
1606
1281
  }
1607
1282
  },
1608
1283
  "required": [
1609
- "webhook",
1610
- "map"
1284
+ "open",
1285
+ "in_progress",
1286
+ "done"
1611
1287
  ],
1612
1288
  "additionalProperties": false,
1613
- "description": "How status travels back from your system."
1614
- },
1615
- "identity": {
1616
- "type": "string",
1617
- "enum": [
1618
- "user",
1619
- "install"
1620
- ],
1621
- "description": "Whether items are created as the owner who asked (`user`) or as the install itself."
1289
+ "description": "Your status names, grouped into the three stages Tappify draws."
1622
1290
  }
1623
1291
  },
1624
1292
  "required": [
1625
- "kind",
1626
- "container",
1627
- "creates",
1628
- "fields",
1629
- "attachments",
1630
- "comments",
1631
- "identity"
1293
+ "webhook",
1294
+ "map"
1632
1295
  ],
1633
1296
  "additionalProperties": false,
1634
- "description": "Deprecated SDK v2 work declaration. Migrate to work capabilities and auth."
1297
+ "description": "How status travels back from your system."
1298
+ },
1299
+ "identity": {
1300
+ "type": "string",
1301
+ "enum": [
1302
+ "user",
1303
+ "install"
1304
+ ],
1305
+ "description": "Whether items are created as the owner who asked (`user`) or as the install itself."
1635
1306
  }
1307
+ },
1308
+ "required": [
1309
+ "kind",
1310
+ "container",
1311
+ "creates",
1312
+ "fields",
1313
+ "attachments",
1314
+ "comments",
1315
+ "identity"
1636
1316
  ],
1637
- "description": "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`."
1317
+ "additionalProperties": false,
1318
+ "description": "The work destination this extension creates issues, pages or messages in. Needs the `work:create` and `work:sync` scopes."
1638
1319
  }
1639
1320
  },
1640
1321
  "additionalProperties": false,