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