@synap-core/workspace-templates 0.11.0 → 0.23.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 (249) hide show
  1. package/README.md +483 -0
  2. package/automations/bookmark-enrichment.automation.json +321 -0
  3. package/automations/github-pr-events.automation.json +505 -0
  4. package/automations/mail-feed.automation.json +86 -0
  5. package/automations/ship-a-change-checks-green.automation.json +106 -0
  6. package/automations/ship-a-change-checks-red.automation.json +106 -0
  7. package/automations/ship-a-change-deployed.automation.json +56 -0
  8. package/automations/ship-a-change-pr-merged.automation.json +110 -0
  9. package/automations/ship-a-change-pr-opened.automation.json +104 -0
  10. package/automations/url-bookmark-capture.automation.json +132 -0
  11. package/capabilities/agency-skills.capability.json +157 -0
  12. package/capabilities/apify.capability.json +265 -0
  13. package/capabilities/apollo.capability.json +120 -0
  14. package/capabilities/arch-backend.capability.json +97 -0
  15. package/capabilities/arch-client-intelligence.capability.json +401 -0
  16. package/capabilities/backblaze-b2.capability.json +205 -0
  17. package/capabilities/cal-com.capability.json +266 -0
  18. package/capabilities/canva.capability.json +274 -0
  19. package/capabilities/claude-code-routines.capability.json +172 -0
  20. package/capabilities/claude-managed-agents.capability.json +215 -0
  21. package/capabilities/client-comms-report.capability.json +246 -0
  22. package/capabilities/content-idea-to-production.capability.json +29 -0
  23. package/capabilities/datagouv.capability.json +315 -0
  24. package/capabilities/discord-bot.capability.json +157 -0
  25. package/capabilities/dropbox.capability.json +281 -0
  26. package/capabilities/exa.capability.json +109 -0
  27. package/capabilities/fal-ai.capability.json +83 -0
  28. package/capabilities/fal-media-lab.capability.json +158 -0
  29. package/capabilities/fireflies.capability.json +191 -0
  30. package/capabilities/freellmapi.capability.json +114 -0
  31. package/capabilities/generic-apikey.capability.json +92 -0
  32. package/capabilities/github-merge.capability.json +99 -0
  33. package/capabilities/github-read.capability.json +325 -0
  34. package/capabilities/governance-tighten-recommender.capability.json +81 -0
  35. package/capabilities/jev.capability.json +226 -0
  36. package/capabilities/lead-conversion-enrollment.capability.json +246 -0
  37. package/capabilities/mail-feed.capability.json +277 -0
  38. package/capabilities/mailgun.capability.json +52 -0
  39. package/capabilities/nango-google.capability.json +639 -0
  40. package/capabilities/notion.capability.json +417 -0
  41. package/capabilities/omniroute.capability.json +137 -0
  42. package/capabilities/posthog-analytics.capability.json +258 -0
  43. package/capabilities/postiz.capability.json +467 -0
  44. package/capabilities/proactive-digest.capability.json +190 -0
  45. package/capabilities/proton.capability.json +288 -0
  46. package/capabilities/replicate-rvm.capability.json +97 -0
  47. package/capabilities/research-methods.capability.json +57 -0
  48. package/capabilities/shopify.capability.json +395 -0
  49. package/capabilities/slack.capability.json +369 -0
  50. package/capabilities/stripe.capability.json +420 -0
  51. package/capabilities/telegram-bridge.capability.json +56 -0
  52. package/capabilities/treg.capability.json +102 -0
  53. package/capabilities/unipile-linkedin.capability.json +471 -0
  54. package/capabilities/vercel.capability.json +424 -0
  55. package/dist/define-CPS0n8BV.d.ts +1331 -0
  56. package/dist/index.d.ts +189 -900
  57. package/dist/index.js +24654 -21639
  58. package/dist/index.js.map +1 -1
  59. package/dist/wire.d.ts +222 -0
  60. package/dist/wire.js +77 -0
  61. package/dist/wire.js.map +1 -0
  62. package/package.json +41 -27
  63. package/packs/bookmark-views-pack.json +33 -0
  64. package/packs/crm-pack.json +76 -0
  65. package/packs/customer-profile.json +28 -0
  66. package/packs/deep-research.playbook.json +30 -0
  67. package/packs/event-views-pack.json +33 -0
  68. package/packs/habit-profile.json +27 -0
  69. package/packs/hr-pack.json +54 -0
  70. package/packs/invoice-profile.json +28 -0
  71. package/packs/knowledge-base-pack.json +56 -0
  72. package/packs/meeting-profile.json +29 -0
  73. package/packs/product-profile.json +30 -0
  74. package/packs/project-management-pack.json +49 -0
  75. package/packs/recipe-profile.json +29 -0
  76. package/packs/task-views-pack.json +39 -0
  77. package/retired.yaml +136 -0
  78. package/skills/app-factory-build-slice/SKILL.md +70 -0
  79. package/skills/app-factory-build-slice.catalog.json +17 -0
  80. package/skills/app-factory-design-canvas/SKILL.md +96 -0
  81. package/skills/app-factory-design-canvas.catalog.json +17 -0
  82. package/skills/app-factory-design-review/SKILL.md +99 -0
  83. package/skills/app-factory-design-review.catalog.json +18 -0
  84. package/skills/app-factory-research/SKILL.md +123 -0
  85. package/skills/app-factory-research.catalog.json +17 -0
  86. package/skills/bookmark-enrichment/SKILL.md +40 -0
  87. package/skills/carousel-format/carousel-format.skill.json +18 -0
  88. package/skills/collage-broll/collage-broll.skill.json +20 -0
  89. package/skills/content-taste/content-taste.skill.json +18 -0
  90. package/skills/creative-director/creative-director.skill.json +18 -0
  91. package/skills/design-critique/SKILL.md +135 -0
  92. package/skills/design-critique.catalog.json +12 -0
  93. package/skills/designing-with-real-components/SKILL.md +140 -0
  94. package/skills/designing-with-real-components.catalog.json +12 -0
  95. package/skills/edit-loop/edit-loop.skill.json +25 -0
  96. package/skills/facecam-edit/facecam-edit.skill.json +24 -0
  97. package/skills/mapping-the-server/SKILL.md +54 -0
  98. package/skills/math-explainer-manimgx/math-explainer-manimgx.skill.json +20 -0
  99. package/skills/motion-quality-gates/motion-quality-gates.skill.json +20 -0
  100. package/skills/open-design-edit/open-design-edit.skill.json +24 -0
  101. package/skills/reading-client-progress/SKILL.md +65 -0
  102. package/skills/routing-to-channels/SKILL.md +54 -0
  103. package/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
  104. package/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
  105. package/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
  106. package/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
  107. package/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
  108. package/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
  109. package/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
  110. package/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
  111. package/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
  112. package/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
  113. package/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
  114. package/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
  115. package/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
  116. package/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
  117. package/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
  118. package/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
  119. package/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
  120. package/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
  121. package/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
  122. package/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
  123. package/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
  124. package/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
  125. package/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
  126. package/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
  127. package/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
  128. package/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
  129. package/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
  130. package/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
  131. package/skills/video-direction/video-direction.skill.json +20 -0
  132. package/skills/video-style-vocabulary/video-style-vocabulary.skill.json +20 -0
  133. package/skills/video-toolbox/video-toolbox.skill.json +20 -0
  134. package/src/__fixtures__/lifecycle-presets.flat-before.json +205 -0
  135. package/src/agency-os.yaml +122 -0
  136. package/src/agent-os-skill-slugs.test.ts +65 -0
  137. package/src/apify-social-reader.test.ts +317 -0
  138. package/src/base.template.test.ts +25 -19
  139. package/src/base.yaml +95 -39
  140. package/src/blockchain-ecosystem.yaml +1 -0
  141. package/src/brand-library.yaml +525 -14
  142. package/src/builder-dev-fold.template.test.ts +113 -0
  143. package/src/builder.yaml +798 -92
  144. package/src/business-model-catalog-description.test.ts +47 -0
  145. package/src/business-model-grp.template.test.ts +214 -0
  146. package/src/business-model.yaml +598 -0
  147. package/src/catalog-safety.test.ts +198 -0
  148. package/src/catalog.template-items.test.ts +75 -0
  149. package/src/catalog.ts +85 -2
  150. package/src/civic-france.yaml +102 -0
  151. package/src/concept-guard.test.ts +28 -8
  152. package/src/concept-guard.ts +2 -2
  153. package/src/content-creation.template.test.ts +52 -0
  154. package/src/content-creation.yaml +192 -0
  155. package/src/content-os.edit-loop.template.test.ts +210 -0
  156. package/src/content-os.publish-due-posts.template.test.ts +261 -0
  157. package/src/content-os.template.test.ts +322 -0
  158. package/src/content-os.video-takes.template.test.ts +338 -0
  159. package/src/content-os.work-a-take.template.test.ts +125 -0
  160. package/src/content-os.yaml +1830 -39
  161. package/src/content-studio-retired.template.test.ts +82 -0
  162. package/src/corpus-flow-validity.test.ts +4 -5
  163. package/src/crm-absorbs-outreach.template.test.ts +117 -0
  164. package/src/crm-build-plan.template.test.ts +128 -0
  165. package/src/crm-lists.template.test.ts +96 -0
  166. package/src/crm-messages-cadence.template.test.ts +164 -0
  167. package/src/crm-one-send-door.template.test.ts +65 -0
  168. package/src/crm.yaml +1456 -181
  169. package/src/decisions-wave.template.test.ts +186 -0
  170. package/src/define.ts +130 -17
  171. package/src/design-to-implementation.template.test.ts +94 -0
  172. package/src/dist-freshness.test.ts +97 -0
  173. package/src/domain-template-type.test.ts +75 -0
  174. package/src/ecosystem.yaml +27 -66
  175. package/src/enterprise-os.yaml +10 -134
  176. package/src/facecam-edit.audio-studio.test.ts +188 -0
  177. package/src/fal-generate-image.test.ts +200 -0
  178. package/src/fal-media-lab-pod-files.test.ts +180 -0
  179. package/src/finance.yaml +254 -1
  180. package/src/foundation.yaml +130 -28
  181. package/src/frame-host-modules.d.mts +6 -0
  182. package/src/frame-host-modules.mjs +58 -0
  183. package/src/generate.mjs +9 -3
  184. package/src/github-merge.test.ts +210 -0
  185. package/src/grants.yaml +57 -17
  186. package/src/hr.yaml +39 -6
  187. package/src/index.ts +36 -1
  188. package/src/intent.test.ts +161 -0
  189. package/src/internal-runbook.yaml +19 -1
  190. package/src/jev.test.ts +356 -0
  191. package/src/legal.yaml +33 -1
  192. package/src/life-os.yaml +65 -240
  193. package/src/lifecycle-coverage.test.ts +124 -0
  194. package/src/lifecycle-declarations.test.ts +252 -0
  195. package/src/lifecycle-presets.test.ts +468 -0
  196. package/src/lifecycle-presets.ts +494 -0
  197. package/src/lifecycle-stuck.test.ts +46 -0
  198. package/src/lifecycle-waits.parity.test.ts +319 -0
  199. package/src/marketing.yaml +108 -4
  200. package/src/meetings-knowledge.yaml +18 -0
  201. package/src/networking.yaml +23 -2
  202. package/src/operations.yaml +304 -4
  203. package/src/pipeline-views.template.test.ts +88 -0
  204. package/src/playbook-goal-placeholders.test.ts +57 -0
  205. package/src/postiz-contract.test.ts +134 -0
  206. package/src/presentation-declarations.test.ts +174 -0
  207. package/src/process-contract.validate.test.ts +352 -0
  208. package/src/project-management.yaml +39 -740
  209. package/src/publish-body.d.mts +29 -0
  210. package/src/publish-body.mjs +74 -0
  211. package/src/publish-body.test.ts +74 -0
  212. package/src/publish-official-lib.test.ts +176 -0
  213. package/src/replicate-rvm.test.ts +504 -0
  214. package/src/research-base.yaml +119 -20
  215. package/src/research-decision.yaml +60 -3
  216. package/src/reserved-profile-slugs.test.ts +83 -0
  217. package/src/retired-goal-kinds.test.ts +58 -0
  218. package/src/role-reference-and-step-domain.test.ts +192 -0
  219. package/src/seed-obligation.test.ts +176 -0
  220. package/src/send-message-maps.test.ts +227 -0
  221. package/src/shared-role-ssot.test.ts +42 -1
  222. package/src/ship-a-change.template.test.ts +177 -0
  223. package/src/skills.test.ts +170 -0
  224. package/src/social.yaml +85 -27
  225. package/src/space-packages.freshness.test.ts +97 -0
  226. package/src/space-packages.generated.ts +40 -0
  227. package/src/space-packages.test.ts +125 -0
  228. package/src/space-packages.ts +73 -0
  229. package/src/start.test.ts +188 -0
  230. package/src/task-intents.test.ts +293 -0
  231. package/src/templates.ts +21639 -21522
  232. package/src/types.ts +443 -60
  233. package/src/unipile-publish-post.test.ts +162 -0
  234. package/src/validate-flow.drift.test.ts +2 -3
  235. package/src/validate-flow.ts +32 -2
  236. package/src/validate-onboarding.test.ts +59 -0
  237. package/src/validate.test.ts +156 -3
  238. package/src/validate.ts +1384 -7
  239. package/src/wire-core.ts +231 -0
  240. package/src/wire.test.ts +159 -0
  241. package/src/wire.ts +107 -0
  242. package/src/__fixtures__/report-automation-flow.json +0 -393
  243. package/src/agent-fleet.yaml +0 -1645
  244. package/src/business-developer.template.test.ts +0 -351
  245. package/src/business-developer.yaml +0 -860
  246. package/src/content-studio.yaml +0 -361
  247. package/src/dev-dashboard.yaml +0 -990
  248. package/src/outreach-comms.yaml +0 -486
  249. package/src/the-arch.yaml +0 -201
@@ -0,0 +1,424 @@
1
+ {
2
+ "apiVersion": "synap/v1",
3
+ "kind": "capability",
4
+ "meta": {
5
+ "slug": "vercel",
6
+ "name": "Vercel — Projects & Deploys",
7
+ "description": "Vercel account operations through ONE personal access token (REST API v9-v13): list/get projects, list/get deployments, list project domains, list environment variables, and redeploy a deployment. List verbs default their limit. Connect your Vercel account to use it.",
8
+ "tags": [
9
+ "capability"
10
+ ],
11
+ "isPublic": true,
12
+ "syncByDefault": true
13
+ },
14
+ "spec": {
15
+ "key": "vercel",
16
+ "name": "Vercel — Projects & Deploys",
17
+ "description": "Vercel REST API (https://api.vercel.com) through ONE vault API key: a Vercel Personal Access Token (Account Settings → Tokens), sent as `Authorization: Bearer <token>`. Read verbs: list projects, get a project, list deployments (optionally filtered by project/target/state), get a deployment, list a project's domains, list a project's environment variables. One write verb: redeploy an existing deployment — side-effecting, so it routes through the capability-execution gate. List verbs default their limit (20, max 100) and all filter params are optional. TEAM SCOPE: a token with access to a Team still needs the team identified — pass `teamId` (or `teamSlug`) on any verb or the request resolves against the personal account; both are optional and only sent when provided. PATHS ARE RELATIVE to the `vercel` tool's `config.baseUrl` (https://api.vercel.com). Environment-variable VALUES are deliberately NOT returned (matching Vercel's dashboard default): the verb lists keys, targets, types and timestamps. NOTE: response-field shaping is best-effort and confirmed against the live API at first run.",
18
+ "params": [
19
+ {
20
+ "name": "vercelToken",
21
+ "label": "Vercel Personal Access Token",
22
+ "type": "text",
23
+ "required": true,
24
+ "description": "A Vercel Personal Access Token created at https://vercel.com/account/tokens (Account Settings → Tokens). It is stored in the vault as an API key and sent as `Authorization: Bearer <token>`. Scope it to the Team that owns the projects you want reachable."
25
+ }
26
+ ],
27
+ "vault": [
28
+ {
29
+ "ref": "vercel",
30
+ "name": "Vercel Personal Access Token",
31
+ "value": "{{vercelToken}}",
32
+ "type": "api_key",
33
+ "service": "vercel",
34
+ "description": "Vercel personal access token (Bearer) used by every `vercel_*` verb."
35
+ }
36
+ ],
37
+ "tools": [
38
+ {
39
+ "name": "vercel",
40
+ "kind": "provider",
41
+ "description": "Vercel REST API access through a vault API key. credentialRef resolves to the created vault secret; the dispatcher injects `Authorization: Bearer <key>` and composes requests against config.baseUrl (https://api.vercel.com).",
42
+ "credentialRef": "vercel",
43
+ "executor": "is-agent",
44
+ "config": {
45
+ "serviceId": "vercel",
46
+ "baseUrl": "https://api.vercel.com"
47
+ }
48
+ }
49
+ ],
50
+ "skills": [
51
+ {
52
+ "name": "vercel_list_projects",
53
+ "intent": "list_records",
54
+ "kind": "declarative",
55
+ "scope": "pod",
56
+ "description": "Lists the Vercel projects on the account (or team). Args: { limit?: number (default 20, max 100), search?: string (filter by project name, max 100 chars), teamId?: string, teamSlug?: string }.",
57
+ "requires": [
58
+ "vercel"
59
+ ],
60
+ "executionMode": "sync",
61
+ "timeoutSeconds": 60,
62
+ "parameters": {
63
+ "limit": "number?",
64
+ "search": "string?",
65
+ "teamId": "string?",
66
+ "teamSlug": "string?"
67
+ },
68
+ "providerSpec": {
69
+ "tool": "vercel",
70
+ "method": "GET",
71
+ "pathTemplate": "/v10/projects",
72
+ "query": {
73
+ "limit": "{{limit}}",
74
+ "search": "{{search}}",
75
+ "teamId": "{{teamId}}",
76
+ "slug": "{{teamSlug}}"
77
+ },
78
+ "paramMapping": {
79
+ "limit": {
80
+ "default": 20,
81
+ "clampMin": 1,
82
+ "clampMax": 100
83
+ }
84
+ },
85
+ "responseShape": {
86
+ "collectionPath": "projects",
87
+ "collectionAs": "projects",
88
+ "item": {
89
+ "id": "id",
90
+ "name": "name",
91
+ "framework": "framework",
92
+ "nodeVersion": "nodeVersion",
93
+ "createdAt": "createdAt",
94
+ "updatedAt": "updatedAt"
95
+ },
96
+ "scalar": {
97
+ "count": "@count"
98
+ }
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "name": "vercel_get_project",
104
+ "intent": "fetch_record",
105
+ "kind": "declarative",
106
+ "scope": "pod",
107
+ "description": "Gets one Vercel project by its id or name. Args: { projectIdOrName: string, teamId?: string, teamSlug?: string }.",
108
+ "requires": [
109
+ "vercel"
110
+ ],
111
+ "executionMode": "sync",
112
+ "timeoutSeconds": 60,
113
+ "parameters": {
114
+ "projectIdOrName": "string",
115
+ "teamId": "string?",
116
+ "teamSlug": "string?"
117
+ },
118
+ "providerSpec": {
119
+ "tool": "vercel",
120
+ "method": "GET",
121
+ "pathTemplate": "/v9/projects/{{projectIdOrName}}",
122
+ "query": {
123
+ "teamId": "{{teamId}}",
124
+ "slug": "{{teamSlug}}"
125
+ },
126
+ "paramMapping": {
127
+ "projectIdOrName": {
128
+ "required": true,
129
+ "encode": "uri"
130
+ }
131
+ },
132
+ "responseShape": {
133
+ "scalar": {
134
+ "id": "id",
135
+ "name": "name",
136
+ "framework": "framework",
137
+ "nodeVersion": "nodeVersion",
138
+ "rootDirectory": "rootDirectory",
139
+ "createdAt": "createdAt",
140
+ "updatedAt": "updatedAt",
141
+ "gitType": "link.type",
142
+ "gitRepo": "link.repo",
143
+ "gitProductionBranch": "link.productionBranch"
144
+ }
145
+ }
146
+ }
147
+ },
148
+ {
149
+ "name": "vercel_list_deployments",
150
+ "intent": "list_records",
151
+ "kind": "declarative",
152
+ "scope": "pod",
153
+ "description": "Lists deployments, newest first — all of them, or filtered to one project. Args: { limit?: number (default 20, max 100), projectId?: string (project id or name), target?: string ('production' | 'staging'), state?: string ('BUILDING' | 'ERROR' | 'INITIALIZING' | 'QUEUED' | 'READY' | 'CANCELED' | 'BLOCKED'), teamId?: string, teamSlug?: string }.",
154
+ "requires": [
155
+ "vercel"
156
+ ],
157
+ "executionMode": "sync",
158
+ "timeoutSeconds": 60,
159
+ "parameters": {
160
+ "limit": "number?",
161
+ "projectId": "string?",
162
+ "target": "string?",
163
+ "state": "string?",
164
+ "teamId": "string?",
165
+ "teamSlug": "string?"
166
+ },
167
+ "providerSpec": {
168
+ "tool": "vercel",
169
+ "method": "GET",
170
+ "pathTemplate": "/v7/deployments",
171
+ "query": {
172
+ "limit": "{{limit}}",
173
+ "projectId": "{{projectId}}",
174
+ "target": "{{target}}",
175
+ "state": "{{state}}",
176
+ "teamId": "{{teamId}}",
177
+ "slug": "{{teamSlug}}"
178
+ },
179
+ "paramMapping": {
180
+ "limit": {
181
+ "default": 20,
182
+ "clampMin": 1,
183
+ "clampMax": 100
184
+ }
185
+ },
186
+ "responseShape": {
187
+ "collectionPath": "deployments",
188
+ "collectionAs": "deployments",
189
+ "item": {
190
+ "id": "uid",
191
+ "name": "name",
192
+ "url": "url",
193
+ "state": "state",
194
+ "target": "target",
195
+ "source": "source",
196
+ "projectId": "projectId",
197
+ "inspectorUrl": "inspectorUrl",
198
+ "createdAt": "createdAt",
199
+ "readyAt": "ready"
200
+ },
201
+ "scalar": {
202
+ "count": "@count"
203
+ }
204
+ }
205
+ }
206
+ },
207
+ {
208
+ "name": "vercel_get_deployment",
209
+ "intent": "fetch_record",
210
+ "kind": "declarative",
211
+ "scope": "pod",
212
+ "description": "Gets one deployment by its id (dpl_…) or hostname. Args: { deploymentIdOrUrl: string, teamId?: string, teamSlug?: string }.",
213
+ "requires": [
214
+ "vercel"
215
+ ],
216
+ "executionMode": "sync",
217
+ "timeoutSeconds": 60,
218
+ "parameters": {
219
+ "deploymentIdOrUrl": "string",
220
+ "teamId": "string?",
221
+ "teamSlug": "string?"
222
+ },
223
+ "providerSpec": {
224
+ "tool": "vercel",
225
+ "method": "GET",
226
+ "pathTemplate": "/v13/deployments/{{deploymentIdOrUrl}}",
227
+ "query": {
228
+ "teamId": "{{teamId}}",
229
+ "slug": "{{teamSlug}}"
230
+ },
231
+ "paramMapping": {
232
+ "deploymentIdOrUrl": {
233
+ "required": true,
234
+ "encode": "uri"
235
+ }
236
+ },
237
+ "responseShape": {
238
+ "scalar": {
239
+ "id": "id",
240
+ "name": "name",
241
+ "url": "url",
242
+ "state": "state",
243
+ "readyState": "readyState",
244
+ "readySubstate": "readySubstate",
245
+ "target": "target",
246
+ "source": "source",
247
+ "projectId": "projectId",
248
+ "inspectorUrl": "inspectorUrl",
249
+ "creatorUsername": "creator.username",
250
+ "createdAt": "createdAt",
251
+ "readyAt": "ready",
252
+ "buildingAt": "buildingAt",
253
+ "meta": "meta"
254
+ }
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "name": "vercel_list_project_domains",
260
+ "intent": "list_records",
261
+ "kind": "declarative",
262
+ "scope": "pod",
263
+ "description": "Lists the domains attached to a project, with their verification state. Args: { projectIdOrName: string, limit?: number (default 20, max 100), teamId?: string, teamSlug?: string }.",
264
+ "requires": [
265
+ "vercel"
266
+ ],
267
+ "executionMode": "sync",
268
+ "timeoutSeconds": 60,
269
+ "parameters": {
270
+ "projectIdOrName": "string",
271
+ "limit": "number?",
272
+ "teamId": "string?",
273
+ "teamSlug": "string?"
274
+ },
275
+ "providerSpec": {
276
+ "tool": "vercel",
277
+ "method": "GET",
278
+ "pathTemplate": "/v9/projects/{{projectIdOrName}}/domains",
279
+ "query": {
280
+ "limit": "{{limit}}",
281
+ "teamId": "{{teamId}}",
282
+ "slug": "{{teamSlug}}"
283
+ },
284
+ "paramMapping": {
285
+ "projectIdOrName": {
286
+ "required": true,
287
+ "encode": "uri"
288
+ },
289
+ "limit": {
290
+ "default": 20,
291
+ "clampMin": 1,
292
+ "clampMax": 100
293
+ }
294
+ },
295
+ "responseShape": {
296
+ "collectionPath": "domains",
297
+ "collectionAs": "domains",
298
+ "item": {
299
+ "name": "name",
300
+ "apexName": "apexName",
301
+ "projectId": "projectId",
302
+ "verified": "verified",
303
+ "redirect": "redirect",
304
+ "redirectStatusCode": "redirectStatusCode",
305
+ "createdAt": "createdAt",
306
+ "updatedAt": "updatedAt"
307
+ },
308
+ "scalar": {
309
+ "count": "@count"
310
+ }
311
+ }
312
+ }
313
+ },
314
+ {
315
+ "name": "vercel_list_env_vars",
316
+ "intent": "list_records",
317
+ "kind": "declarative",
318
+ "scope": "pod",
319
+ "description": "Lists a project's environment variables — key, target environment(s), type and timestamps. Secret VALUES are not returned (this endpoint is not paginated and has no limit param). Args: { projectIdOrName: string, teamId?: string, teamSlug?: string }.",
320
+ "requires": [
321
+ "vercel"
322
+ ],
323
+ "executionMode": "sync",
324
+ "timeoutSeconds": 60,
325
+ "parameters": {
326
+ "projectIdOrName": "string",
327
+ "teamId": "string?",
328
+ "teamSlug": "string?"
329
+ },
330
+ "providerSpec": {
331
+ "tool": "vercel",
332
+ "method": "GET",
333
+ "pathTemplate": "/v10/projects/{{projectIdOrName}}/env",
334
+ "query": {
335
+ "teamId": "{{teamId}}",
336
+ "slug": "{{teamSlug}}"
337
+ },
338
+ "paramMapping": {
339
+ "projectIdOrName": {
340
+ "required": true,
341
+ "encode": "uri"
342
+ }
343
+ },
344
+ "responseShape": {
345
+ "collectionPath": "envs",
346
+ "collectionAs": "env_vars",
347
+ "item": {
348
+ "id": "id",
349
+ "key": "key",
350
+ "type": "type",
351
+ "target": "target",
352
+ "gitBranch": "gitBranch",
353
+ "createdAt": "createdAt",
354
+ "updatedAt": "updatedAt"
355
+ },
356
+ "scalar": {
357
+ "count": "@count"
358
+ }
359
+ }
360
+ }
361
+ },
362
+ {
363
+ "name": "vercel_redeploy",
364
+ "intent": "run_external_job",
365
+ "kind": "declarative",
366
+ "scope": "pod",
367
+ "description": "Redeploys an existing deployment by creating a NEW deployment (new id, url and build) that inherits the original's settings and environment variables. Side-effecting write — routes through the capability-execution gate. Returns immediately; poll vercel_get_deployment on the returned id for readiness. Args: { projectName: string, deploymentId: string (dpl_… to redeploy), target?: string (default 'production'), teamId?: string, teamSlug?: string }.",
368
+ "requires": [
369
+ "vercel"
370
+ ],
371
+ "executionMode": "async",
372
+ "timeoutSeconds": 90,
373
+ "parameters": {
374
+ "deploymentId": "string",
375
+ "projectName": "string",
376
+ "target": "string?",
377
+ "teamId": "string?",
378
+ "teamSlug": "string?"
379
+ },
380
+ "providerSpec": {
381
+ "tool": "vercel",
382
+ "method": "POST",
383
+ "pathTemplate": "/v13/deployments",
384
+ "query": {
385
+ "teamId": "{{teamId}}",
386
+ "slug": "{{teamSlug}}"
387
+ },
388
+ "body": {
389
+ "name": "{{projectName}}",
390
+ "deploymentId": "{{deploymentId}}",
391
+ "target": "{{target}}"
392
+ },
393
+ "paramMapping": {
394
+ "deploymentId": {
395
+ "required": true
396
+ },
397
+ "projectName": {
398
+ "required": true
399
+ },
400
+ "target": {
401
+ "default": "production"
402
+ }
403
+ },
404
+ "responseShape": {
405
+ "scalar": {
406
+ "id": "id",
407
+ "url": "url",
408
+ "readyState": "readyState",
409
+ "target": "target",
410
+ "status": "status",
411
+ "inspectorUrl": "inspectorUrl"
412
+ }
413
+ }
414
+ }
415
+ }
416
+ ],
417
+ "provides": [
418
+ "fetch_record",
419
+ "list_records",
420
+ "run_external_job"
421
+ ]
422
+ },
423
+ "dependencies": []
424
+ }