@desplega.ai/agent-swarm 1.119.6 → 1.121.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 (207) hide show
  1. package/README.md +2 -2
  2. package/dist/{actions-qe5zjcbr.js → actions-mwshtkf7.js} +6 -6
  3. package/dist/{anthropic-messages-qjxzsabf.js → anthropic-messages-4gn944cn.js} +29 -13
  4. package/dist/{app-31x7k3vj.js → app-skbty91x.js} +4 -4
  5. package/dist/{assistant-4crt9dve.js → assistant-tg7dhfj8.js} +13 -13
  6. package/dist/{azure-openai-responses-ntfd05zd.js → azure-openai-responses-79zc0wyy.js} +28 -13
  7. package/dist/{boot-reembed-8g69ttz4.js → boot-reembed-ntjmeyh2.js} +4 -4
  8. package/dist/{boot-reembed-q648j733.js → boot-reembed-q5x0xpcp.js} +5 -5
  9. package/dist/{boot-scrub-logs-sfmzd2hj.js → boot-scrub-logs-5gznsfbe.js} +4 -4
  10. package/dist/{claude-adapter-9n3nzt65.js → claude-adapter-vxvcym3r.js} +3 -3
  11. package/dist/{claude-managed-adapter-pv2nbqy4.js → claude-managed-adapter-g807894s.js} +2 -2
  12. package/dist/{cli-bpvgs2y6.js → cli-072t49hf.js} +2123 -1533
  13. package/dist/{cli-g6qz2kts.js → cli-0df2g86x.js} +336 -18
  14. package/dist/cli-1728qh70.js +791 -0
  15. package/dist/{cli-vg1jxfqz.js → cli-3b1ayz83.js} +5 -5
  16. package/dist/{cli-r93nz80j.js → cli-3fxqwfh3.js} +1 -1
  17. package/dist/{cli-w6rhc30s.js → cli-3jrdwnn9.js} +20 -5
  18. package/dist/{cli-pasyk3vc.js → cli-46etyprn.js} +10 -5
  19. package/dist/{cli-433c0f4b.js → cli-4pfweq4x.js} +8 -8
  20. package/dist/{cli-2r7s8jhp.js → cli-5c4327dx.js} +7 -1
  21. package/dist/{cli-4s84mw72.js → cli-5hpvd15x.js} +2 -2
  22. package/dist/{cli-branks1w.js → cli-6s3ytc5x.js} +1 -1
  23. package/dist/{cli-da3x3btq.js → cli-7pt9sc83.js} +2 -2
  24. package/dist/{cli-2gv8ygwr.js → cli-7pzae66m.js} +2 -2
  25. package/dist/{cli-qs7nb3zn.js → cli-8wrympd7.js} +27 -1
  26. package/dist/{cli-qw1ccvxm.js → cli-95rbe11h.js} +70 -51
  27. package/dist/{cli-6rvm3jkk.js → cli-agdrxyex.js} +1 -1
  28. package/dist/{cli-wr706gez.js → cli-av2s7my4.js} +167 -66
  29. package/dist/{cli-59jy217p.js → cli-avw9ev3x.js} +55 -21
  30. package/dist/{cli-fkxxh5d4.js → cli-b2mqkg1h.js} +2 -2
  31. package/dist/{cli-1arw00dp.js → cli-ccjwgarc.js} +12 -3
  32. package/dist/{cli-pscrc6tw.js → cli-ch7t5v7n.js} +5 -0
  33. package/dist/{cli-tghre7g6.js → cli-cw70hymf.js} +1 -0
  34. package/dist/{cli-n61x2aph.js → cli-dmzv0986.js} +816 -1335
  35. package/dist/{cli-d1reabed.js → cli-g9vva2qh.js} +2 -2
  36. package/dist/{cli-ner6af7m.js → cli-gdpx70nc.js} +24048 -23715
  37. package/dist/{cli-96feg24n.js → cli-ghq3v4c9.js} +2 -2
  38. package/dist/{cli-wxbnjgce.js → cli-ky8esb8t.js} +3 -3
  39. package/dist/{cli-gdqdkr3j.js → cli-nf7sadev.js} +2 -2
  40. package/dist/{cli-h6cf69x5.js → cli-p9w7kb3h.js} +1 -1
  41. package/dist/{cli-xeatwfbe.js → cli-ry656xem.js} +24 -17
  42. package/dist/{cli-q8dway4w.js → cli-s8bdcke2.js} +1 -1
  43. package/dist/cli-s8s499xy.js +81 -0
  44. package/dist/{cli-sbkwvn5e.js → cli-srjqn7fd.js} +1 -1
  45. package/dist/cli-tv7vekye.js +367 -0
  46. package/dist/{cli-gg5bd32n.js → cli-vg3zrw6h.js} +4 -4
  47. package/dist/{cli-vx0y68jv.js → cli-vp9r4ap4.js} +5 -4
  48. package/dist/{cli-mg280wsv.js → cli-we156bmz.js} +1 -1
  49. package/dist/{cli-86fdnerz.js → cli-wwsaj97q.js} +9 -4
  50. package/dist/{cli-e0y603nn.js → cli-x0e0yvnq.js} +101 -1
  51. package/dist/{cli-mw3xpgwb.js → cli-x4apc9t3.js} +4 -4
  52. package/dist/cli.js +26 -21
  53. package/dist/{codex-adapter-6j2b38tg.js → codex-adapter-mmy741zd.js} +8 -9
  54. package/dist/{codex-session-runner-vz215wgw.js → codex-session-runner-sazmx9zt.js} +8 -9
  55. package/dist/{commands-6xr20jbe.js → commands-cxxye5e4.js} +3 -3
  56. package/dist/{db-1mmvk1z4.js → db-ab1954b7.js} +5 -3
  57. package/dist/{google-generative-ai-n1d3xt4n.js → google-generative-ai-wwa2ked5.js} +14 -18
  58. package/dist/{google-vertex-mxst23gy.js → google-vertex-71xmdd7n.js} +14 -18
  59. package/dist/{handlers-xvrknk8w.js → handlers-fmfe2343.js} +13 -13
  60. package/dist/{hook-qm7he8wn.js → hook-ygnw3cvt.js} +7 -8
  61. package/dist/{http-hj08zq67.js → http-kactcc0z.js} +1128 -536
  62. package/dist/{index-688jph6a.js → index-6erq0wvk.js} +11 -11
  63. package/dist/{index-gze4fg2w.js → index-g86j2yt5.js} +9 -9
  64. package/dist/{index-etz7d8md.js → index-gmzs6a2q.js} +10 -10
  65. package/dist/{index-wj8dfpwh.js → index-hmp82wn0.js} +12 -12
  66. package/dist/{keepalive-94wn9yxw.js → keepalive-3cvt26dw.js} +18 -14
  67. package/dist/{lead-rvcqkp11.js → lead-ysf26cjr.js} +31 -32
  68. package/dist/{maintenance-qhfc4dnp.js → maintenance-9npwptbb.js} +5 -5
  69. package/dist/{mistral-conversations-ykcg66za.js → mistral-conversations-26ya4yah.js} +17 -13
  70. package/dist/{oauth-refresh-sweep-rj8wgvsw.js → oauth-refresh-sweep-0r2v76vw.js} +23 -17
  71. package/dist/{onboard-8bv8q1wc.js → onboard-ddb1674a.js} +2 -2
  72. package/dist/{openai-codex-responses-zy0907j9.js → openai-codex-responses-6rr2ye0s.js} +78 -38
  73. package/dist/{openai-completions-xk4p56n9.js → openai-completions-zfa9nkvt.js} +130 -33
  74. package/dist/{openai-responses-4gv3ca5d.js → openai-responses-9wmdks0g.js} +38 -14
  75. package/dist/{opencode-adapter-5bwzvbwj.js → opencode-adapter-h6rkxwrk.js} +2 -2
  76. package/dist/{openrouter-images-4fsrrzes.js → openrouter-images-dgq98729.js} +10 -3
  77. package/dist/{otel-impl-1kf6fr2m.js → otel-impl-b43bkq8e.js} +4 -4
  78. package/dist/{pi-messages-zb8v76wx.js → pi-messages-nzjbbz47.js} +4 -6
  79. package/dist/{pi-mono-adapter-9sg69kg3.js → pi-mono-adapter-ke789738.js} +2328 -1281
  80. package/dist/{pricing-refresh-e84tar2s.js → pricing-refresh-2rqf114z.js} +5 -5
  81. package/dist/{rbac-roles-atytq5ch.js → rbac-roles-5wkhc8xv.js} +5 -5
  82. package/dist/{rbac-roles-pg0zvnwn.js → rbac-roles-6vtafvzb.js} +4 -4
  83. package/dist/{seed-pricing-xd6nxq7k.js → seed-pricing-23wrb873.js} +4 -4
  84. package/dist/{setup-4z389yk0.js → setup-6rny4fk6.js} +2 -2
  85. package/dist/{worker-m61r0t7m.js → worker-yapewe14.js} +31 -32
  86. package/openapi.json +2671 -1811
  87. package/package.json +10 -5
  88. package/plugin/commands/swarm-chat.md +2 -0
  89. package/plugin/pi-skills/swarm-chat/SKILL.md +2 -0
  90. package/src/be/connection-bindings-blob-migration.ts +123 -0
  91. package/src/be/db-queries/mcp-oauth.ts +409 -247
  92. package/src/be/db-queries/oauth.ts +813 -131
  93. package/src/be/db.ts +97 -6
  94. package/src/be/migrations/117_unified_oauth.sql +624 -0
  95. package/src/be/migrations/119_agent_avatar.sql +7 -0
  96. package/src/be/migrations/120_task_title.sql +3 -0
  97. package/src/be/oauth-credential-bindings.ts +48 -14
  98. package/src/be/oauth-encryption-backfill.ts +84 -0
  99. package/src/be/oauth-refresh-sweep.ts +38 -23
  100. package/src/be/script-connections.ts +1130 -163
  101. package/src/be/script-credential-broker.ts +37 -27
  102. package/src/be/scripts/typecheck.ts +3 -2
  103. package/src/be/seed-capabilities.ts +62 -0
  104. package/src/be/seed-pricing.ts +1 -1
  105. package/src/be/seed-scripts/catalog/ops-catalog-audit.inline.ts +1 -1
  106. package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +1 -1
  107. package/src/be/vendored-openapi.ts +98 -0
  108. package/src/commands/runner.ts +69 -6
  109. package/src/http/agents.ts +23 -5
  110. package/src/http/all-routes.ts +1 -0
  111. package/src/http/core.ts +8 -5
  112. package/src/http/index.ts +18 -5
  113. package/src/http/mcp-bridge.ts +5 -2
  114. package/src/http/mcp-oauth.ts +103 -101
  115. package/src/http/oauth-callback.ts +332 -0
  116. package/src/http/oauth-generic.ts +14 -54
  117. package/src/http/poll.ts +5 -1
  118. package/src/http/script-connections.ts +651 -170
  119. package/src/http/scripts.ts +4 -2
  120. package/src/http/sessions.ts +1 -1
  121. package/src/http/tasks.ts +35 -0
  122. package/src/http/trackers/jira.ts +22 -34
  123. package/src/http/trackers/linear.ts +21 -36
  124. package/src/http/x.ts +6 -2
  125. package/src/jira/app.ts +12 -6
  126. package/src/jira/oauth.ts +48 -48
  127. package/src/linear/app.ts +44 -2
  128. package/src/linear/oauth.ts +12 -37
  129. package/src/oauth/app-validation.ts +27 -9
  130. package/src/oauth/ensure-mcp-token.ts +1 -0
  131. package/src/oauth/ensure-token.ts +331 -108
  132. package/src/oauth/identity-capture.ts +103 -0
  133. package/src/oauth/keepalive.ts +14 -9
  134. package/src/oauth/presets.ts +242 -0
  135. package/src/oauth/wrapper.ts +197 -76
  136. package/src/prompts/base-prompt.ts +48 -4
  137. package/src/prompts/session-templates.ts +13 -1
  138. package/src/providers/claude-managed-models.ts +8 -0
  139. package/src/rbac/legacy-policy.ts +2 -1
  140. package/src/rbac/permissions.ts +7 -3
  141. package/src/scripts-runtime/credential-broker/broker.ts +51 -8
  142. package/src/scripts-runtime/credential-broker/fetch-patch.ts +30 -3
  143. package/src/scripts-runtime/credential-broker/index.ts +1 -1
  144. package/src/scripts-runtime/credential-broker/types.ts +55 -8
  145. package/src/scripts-runtime/egress-secrets.ts +6 -2
  146. package/src/scripts-runtime/eval-harness.ts +2 -2
  147. package/src/scripts-runtime/executors/types.ts +2 -1
  148. package/src/scripts-runtime/loader.ts +3 -0
  149. package/src/scripts-runtime/types/stdlib.d.ts +11 -0
  150. package/src/server.ts +230 -126
  151. package/src/tests/agent-avatar-resolution.test.ts +123 -0
  152. package/src/tests/agents-list-model-display.test.ts +10 -0
  153. package/src/tests/base-prompt.test.ts +72 -0
  154. package/src/tests/claude-managed-adapter.test.ts +6 -0
  155. package/src/tests/connection-embedded-auth.test.ts +709 -0
  156. package/src/tests/context-window.test.ts +1 -0
  157. package/src/tests/credential-broker.test.ts +123 -125
  158. package/src/tests/db-queries-oauth.test.ts +126 -1
  159. package/src/tests/ensure-token.test.ts +44 -2
  160. package/src/tests/list-endpoint-slimming.test.ts +45 -0
  161. package/src/tests/mcp-oauth-manual-client.test.ts +20 -1
  162. package/src/tests/mcp-oauth-queries.test.ts +154 -8
  163. package/src/tests/oauth-access-token-tool.test.ts +37 -1
  164. package/src/tests/oauth-callback-flow.test.ts +534 -0
  165. package/src/tests/oauth-credential-bindings.test.ts +50 -22
  166. package/src/tests/oauth-presets.test.ts +275 -0
  167. package/src/tests/oauth-refresh-failure.test.ts +263 -0
  168. package/src/tests/oauth-refresh-sweep.test.ts +83 -3
  169. package/src/tests/oauth-wrapper.test.ts +77 -55
  170. package/src/tests/prompt-template-session.test.ts +6 -5
  171. package/src/tests/rbac-charact-misc-tools.test.ts +60 -0
  172. package/src/tests/rbac-engine.test.ts +2 -1
  173. package/src/tests/script-connections-http.test.ts +356 -11
  174. package/src/tests/script-connections.test.ts +102 -0
  175. package/src/tests/sdk-allowlist.test.ts +4 -1
  176. package/src/tests/seed-capabilities.test.ts +92 -0
  177. package/src/tests/session-costs-model-key-normalize.test.ts +1 -0
  178. package/src/tests/sessions.test.ts +46 -0
  179. package/src/tests/spec-base-url.test.ts +266 -0
  180. package/src/tests/status.test.ts +3 -4
  181. package/src/tests/swarm-config-reserved-keys.test.ts +4 -2
  182. package/src/tests/task-title-route.test.ts +106 -0
  183. package/src/tests/tool-annotations.test.ts +6 -3
  184. package/src/tests/tracker-fold.test.ts +412 -0
  185. package/src/tests/unified-oauth-migration.test.ts +455 -0
  186. package/src/tests/vendored-openapi.test.ts +263 -0
  187. package/src/tools/credential-bindings/tool.ts +232 -77
  188. package/src/tools/oauth-access-token.ts +55 -6
  189. package/src/tools/script-connections/tool.ts +73 -53
  190. package/src/tools/swarm-config/set-config.ts +24 -50
  191. package/src/tools/update-profile.ts +15 -5
  192. package/src/tracker/types.ts +12 -0
  193. package/src/types.ts +29 -0
  194. package/src/utils/context-window.ts +1 -0
  195. package/src/workflows/executors/swarm-script.ts +6 -2
  196. package/vendored-openapi/README.md +22 -0
  197. package/vendored-openapi/github.json +7759 -0
  198. package/vendored-openapi/gmail.json +393 -0
  199. package/vendored-openapi/jira.json +3396 -0
  200. package/vendored-openapi/linear.json +252 -0
  201. package/vendored-openapi/manifest.json +128 -0
  202. package/vendored-openapi/slack.json +2895 -0
  203. package/dist/cli-0pygq9r1.js +0 -429
  204. package/dist/cli-8hhms4hp.js +0 -393
  205. package/dist/cli-z9gzq07x.js +0 -27
  206. package/src/scripts-runtime/credential-broker/store.ts +0 -72
  207. package/dist/{otel-g299k41b.js → otel-63jr5v38.js} +1 -1
@@ -0,0 +1,252 @@
1
+ {
2
+ "components": {
3
+ "schemas": {
4
+ "GraphqlError": {
5
+ "properties": {
6
+ "extensions": {
7
+ "additionalProperties": true,
8
+ "type": "object"
9
+ },
10
+ "message": {
11
+ "type": "string"
12
+ },
13
+ "path": {
14
+ "items": {
15
+ "oneOf": [
16
+ {
17
+ "type": "string"
18
+ },
19
+ {
20
+ "type": "integer"
21
+ }
22
+ ]
23
+ },
24
+ "type": "array"
25
+ }
26
+ },
27
+ "required": [
28
+ "message"
29
+ ],
30
+ "type": "object"
31
+ },
32
+ "GraphqlRequest": {
33
+ "properties": {
34
+ "operationName": {
35
+ "type": "string"
36
+ },
37
+ "query": {
38
+ "type": "string"
39
+ },
40
+ "variables": {
41
+ "additionalProperties": true,
42
+ "properties": {
43
+ "assigneeId": {
44
+ "type": "string"
45
+ },
46
+ "description": {
47
+ "type": "string"
48
+ },
49
+ "id": {
50
+ "type": "string"
51
+ },
52
+ "stateId": {
53
+ "type": "string"
54
+ },
55
+ "teamId": {
56
+ "type": "string"
57
+ },
58
+ "title": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "type": "object"
63
+ }
64
+ },
65
+ "required": [
66
+ "query"
67
+ ],
68
+ "type": "object"
69
+ },
70
+ "Issue": {
71
+ "properties": {
72
+ "assignee": {
73
+ "$ref": "#/components/schemas/User"
74
+ },
75
+ "description": {
76
+ "nullable": true,
77
+ "type": "string"
78
+ },
79
+ "id": {
80
+ "type": "string"
81
+ },
82
+ "identifier": {
83
+ "type": "string"
84
+ },
85
+ "priority": {
86
+ "type": "integer"
87
+ },
88
+ "state": {
89
+ "$ref": "#/components/schemas/WorkflowState"
90
+ },
91
+ "team": {
92
+ "$ref": "#/components/schemas/Team"
93
+ },
94
+ "title": {
95
+ "type": "string"
96
+ },
97
+ "url": {
98
+ "type": "string"
99
+ }
100
+ },
101
+ "required": [
102
+ "id",
103
+ "identifier",
104
+ "title"
105
+ ],
106
+ "type": "object"
107
+ },
108
+ "IssueGraphqlResponse": {
109
+ "properties": {
110
+ "data": {
111
+ "properties": {
112
+ "issue": {
113
+ "$ref": "#/components/schemas/Issue"
114
+ },
115
+ "issueCreate": {
116
+ "properties": {
117
+ "issue": {
118
+ "$ref": "#/components/schemas/Issue"
119
+ },
120
+ "success": {
121
+ "type": "boolean"
122
+ }
123
+ },
124
+ "type": "object"
125
+ },
126
+ "issueUpdate": {
127
+ "properties": {
128
+ "issue": {
129
+ "$ref": "#/components/schemas/Issue"
130
+ },
131
+ "success": {
132
+ "type": "boolean"
133
+ }
134
+ },
135
+ "type": "object"
136
+ }
137
+ },
138
+ "type": "object"
139
+ },
140
+ "errors": {
141
+ "items": {
142
+ "$ref": "#/components/schemas/GraphqlError"
143
+ },
144
+ "type": "array"
145
+ }
146
+ },
147
+ "type": "object"
148
+ },
149
+ "Team": {
150
+ "properties": {
151
+ "id": {
152
+ "type": "string"
153
+ },
154
+ "key": {
155
+ "type": "string"
156
+ },
157
+ "name": {
158
+ "type": "string"
159
+ }
160
+ },
161
+ "required": [
162
+ "id",
163
+ "key",
164
+ "name"
165
+ ],
166
+ "type": "object"
167
+ },
168
+ "User": {
169
+ "properties": {
170
+ "displayName": {
171
+ "type": "string"
172
+ },
173
+ "email": {
174
+ "type": "string"
175
+ },
176
+ "id": {
177
+ "type": "string"
178
+ },
179
+ "name": {
180
+ "type": "string"
181
+ }
182
+ },
183
+ "required": [
184
+ "id",
185
+ "name"
186
+ ],
187
+ "type": "object"
188
+ },
189
+ "WorkflowState": {
190
+ "properties": {
191
+ "color": {
192
+ "type": "string"
193
+ },
194
+ "id": {
195
+ "type": "string"
196
+ },
197
+ "name": {
198
+ "type": "string"
199
+ },
200
+ "type": {
201
+ "type": "string"
202
+ }
203
+ },
204
+ "required": [
205
+ "id",
206
+ "name",
207
+ "type"
208
+ ],
209
+ "type": "object"
210
+ }
211
+ }
212
+ },
213
+ "info": {
214
+ "title": "Linear GraphQL API operator-reviewed facade",
215
+ "version": "2026-07-22"
216
+ },
217
+ "openapi": "3.0.3",
218
+ "paths": {
219
+ "/graphql": {
220
+ "post": {
221
+ "operationId": "executeGraphql",
222
+ "requestBody": {
223
+ "content": {
224
+ "application/json": {
225
+ "schema": {
226
+ "$ref": "#/components/schemas/GraphqlRequest"
227
+ }
228
+ }
229
+ },
230
+ "required": true
231
+ },
232
+ "responses": {
233
+ "200": {
234
+ "content": {
235
+ "application/json": {
236
+ "schema": {
237
+ "$ref": "#/components/schemas/IssueGraphqlResponse"
238
+ }
239
+ }
240
+ },
241
+ "description": "GraphQL issue query or mutation result"
242
+ }
243
+ }
244
+ }
245
+ }
246
+ },
247
+ "servers": [
248
+ {
249
+ "url": "https://api.linear.app"
250
+ }
251
+ ]
252
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "integrations": [
3
+ {
4
+ "baseUrl": "https://api.github.com",
5
+ "blessedOperations": [
6
+ "GET /repos/{owner}/{repo}",
7
+ "GET /repos/{owner}/{repo}/issues",
8
+ "POST /repos/{owner}/{repo}/issues",
9
+ "GET /repos/{owner}/{repo}/pulls",
10
+ "POST /repos/{owner}/{repo}/pulls"
11
+ ],
12
+ "categories": [
13
+ "developer-tools",
14
+ "source-control"
15
+ ],
16
+ "docsUrl": "https://docs.github.com/rest",
17
+ "domain": "github.com",
18
+ "name": "GitHub",
19
+ "presetId": "github",
20
+ "slug": "github",
21
+ "sourceSemantics": "machine-openapi",
22
+ "sourceSha256": "49e3b140ed05727cd8b693618ad5f31cd41f8879767c2990b0491ae415811941",
23
+ "specFile": "github.json",
24
+ "specSha256": "3437d26fa6bef4ccbea557f3f998a61bcce3a81fe8db68769aeca25240b95a04",
25
+ "specSourceUrl": "https://raw.githubusercontent.com/github/rest-api-description/417c4fb368fc6a7162ce5f3eeeddce1a9a217747/descriptions/api.github.com/api.github.com.json",
26
+ "specVersionPin": "417c4fb368fc6a7162ce5f3eeeddce1a9a217747",
27
+ "upstreamVersion": "1.1.4"
28
+ },
29
+ {
30
+ "baseUrl": "https://slack.com/api",
31
+ "blessedOperations": [
32
+ "POST /chat.postMessage",
33
+ "GET /conversations.history",
34
+ "GET /conversations.list",
35
+ "GET /conversations.replies",
36
+ "GET /search.messages"
37
+ ],
38
+ "categories": [
39
+ "communication",
40
+ "collaboration"
41
+ ],
42
+ "docsUrl": "https://api.slack.com/web",
43
+ "domain": "slack.com",
44
+ "name": "Slack",
45
+ "presetId": "slack",
46
+ "slug": "slack",
47
+ "sourceSemantics": "machine-openapi",
48
+ "sourceSha256": "742a5c977180a829df8767cf57bc417d99b3713583aee83741efb9c08ca731e7",
49
+ "specFile": "slack.json",
50
+ "specSha256": "f18cf328acf8c0689fc9b4048c8aa6a4eb1002d21ebf4f5c6c6f1f73e4baf226",
51
+ "specSourceUrl": "https://raw.githubusercontent.com/slackapi/slack-api-specs/bc08db49625630e3585bf2f1322128ea04f2a7f3/web-api/slack_web_openapi_v2.json",
52
+ "specVersionPin": "bc08db49625630e3585bf2f1322128ea04f2a7f3",
53
+ "upstreamVersion": "1.7.0"
54
+ },
55
+ {
56
+ "baseUrl": "https://api.linear.app",
57
+ "blessedOperations": [
58
+ "POST /graphql"
59
+ ],
60
+ "categories": [
61
+ "project-management",
62
+ "issue-tracking"
63
+ ],
64
+ "docsUrl": "https://developers.linear.app/docs/graphql/working-with-the-graphql-api",
65
+ "domain": "linear.app",
66
+ "name": "Linear",
67
+ "presetId": "linear",
68
+ "refreshMode": "operator-review",
69
+ "slug": "linear",
70
+ "sourceSemantics": "operator-reference",
71
+ "specFile": "linear.json",
72
+ "specSha256": "aa74a518f46333ec06d41d54fe32775eba8e263b26f1efdfc55eb4babb31dc2f",
73
+ "specSourceUrl": "https://developers.linear.app/docs/graphql/working-with-the-graphql-api",
74
+ "specVersionPin": "manual-2026-07-22"
75
+ },
76
+ {
77
+ "baseUrl": "https://your-domain.atlassian.net",
78
+ "blessedOperations": [
79
+ "POST /rest/api/3/issue",
80
+ "GET /rest/api/3/issue/{issueIdOrKey}",
81
+ "PUT /rest/api/3/issue/{issueIdOrKey}",
82
+ "GET /rest/api/3/project/search",
83
+ "GET /rest/api/3/search/jql"
84
+ ],
85
+ "categories": [
86
+ "project-management",
87
+ "issue-tracking"
88
+ ],
89
+ "docsUrl": "https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/",
90
+ "domain": "atlassian.net",
91
+ "name": "Jira",
92
+ "presetId": "jira",
93
+ "slug": "jira",
94
+ "sourceSemantics": "machine-openapi",
95
+ "sourceSha256": "211976f287961314e4c730a2acc34e21fcdcb775e2e63d330cea1989aa23184a",
96
+ "specFile": "jira.json",
97
+ "specSha256": "167196fd6ed6f7e36df7bf4d1c582e8dc6200424c31e95c1b4827ec85d81ce5d",
98
+ "specSourceUrl": "https://dac-static.atlassian.com/cloud/jira/platform/swagger-v3.v3.json",
99
+ "specVersionPin": "211976f287961314e4c730a2acc34e21fcdcb775e2e63d330cea1989aa23184a",
100
+ "upstreamVersion": "1001.0.0-SNAPSHOT-f6b6eead949dbe0e9c4be63fb2c0832e34686933"
101
+ },
102
+ {
103
+ "baseUrl": "https://gmail.googleapis.com",
104
+ "blessedOperations": [
105
+ "GET /gmail/v1/users/{userId}/messages",
106
+ "GET /gmail/v1/users/{userId}/messages/{id}",
107
+ "POST /gmail/v1/users/{userId}/messages/send",
108
+ "GET /gmail/v1/users/{userId}/threads/{id}"
109
+ ],
110
+ "categories": [
111
+ "email",
112
+ "communication"
113
+ ],
114
+ "docsUrl": "https://developers.google.com/workspace/gmail/api/reference/rest",
115
+ "domain": "gmail.googleapis.com",
116
+ "name": "Gmail",
117
+ "presetId": "google",
118
+ "refreshMode": "operator-review",
119
+ "slug": "gmail",
120
+ "sourceSemantics": "operator-reference",
121
+ "specFile": "gmail.json",
122
+ "specSha256": "780dac30c4c0bd4346626666d958b5fd63071f39b06f9c0b0273a4a1bb878977",
123
+ "specSourceUrl": "https://www.googleapis.com/discovery/v1/apis/gmail/v1/rest",
124
+ "specVersionPin": "gmail-discovery-v1-2026-07-22"
125
+ }
126
+ ],
127
+ "version": 1
128
+ }