@synap-core/workspace-templates 0.12.0 → 0.24.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 (237) hide show
  1. package/README.md +509 -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 +1496 -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 +494 -0
  54. package/capabilities/vercel.capability.json +424 -0
  55. package/dist/define-DqoItRiR.d.ts +1370 -0
  56. package/dist/index.d.ts +174 -900
  57. package/dist/index.js +26447 -24075
  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 +27 -4
  63. package/retired.yaml +136 -0
  64. package/skills/app-factory-build-slice/SKILL.md +70 -0
  65. package/skills/app-factory-build-slice.catalog.json +17 -0
  66. package/skills/app-factory-design-canvas/SKILL.md +96 -0
  67. package/skills/app-factory-design-canvas.catalog.json +17 -0
  68. package/skills/app-factory-design-review/SKILL.md +105 -0
  69. package/skills/app-factory-design-review.catalog.json +18 -0
  70. package/skills/app-factory-research/SKILL.md +123 -0
  71. package/skills/app-factory-research.catalog.json +17 -0
  72. package/skills/bookmark-enrichment/SKILL.md +40 -0
  73. package/skills/carousel-format/carousel-format.skill.json +18 -0
  74. package/skills/collage-broll/collage-broll.skill.json +20 -0
  75. package/skills/content-taste/content-taste.skill.json +18 -0
  76. package/skills/creative-director/creative-director.skill.json +18 -0
  77. package/skills/design-critique/SKILL.md +138 -0
  78. package/skills/design-critique.catalog.json +12 -0
  79. package/skills/designing-with-real-components/SKILL.md +140 -0
  80. package/skills/designing-with-real-components.catalog.json +12 -0
  81. package/skills/edit-loop/edit-loop.skill.json +25 -0
  82. package/skills/facecam-edit/facecam-edit.skill.json +24 -0
  83. package/skills/mapping-the-server/SKILL.md +54 -0
  84. package/skills/math-explainer-manimgx/math-explainer-manimgx.skill.json +20 -0
  85. package/skills/motion-quality-gates/motion-quality-gates.skill.json +20 -0
  86. package/skills/open-design-edit/open-design-edit.skill.json +24 -0
  87. package/skills/reading-client-progress/SKILL.md +65 -0
  88. package/skills/routing-to-channels/SKILL.md +54 -0
  89. package/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
  90. package/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
  91. package/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
  92. package/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
  93. package/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
  94. package/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
  95. package/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
  96. package/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
  97. package/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
  98. package/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
  99. package/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
  100. package/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
  101. package/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
  102. package/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
  103. package/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
  104. package/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
  105. package/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
  106. package/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
  107. package/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
  108. package/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
  109. package/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
  110. package/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
  111. package/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
  112. package/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
  113. package/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
  114. package/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
  115. package/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
  116. package/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
  117. package/skills/video-direction/video-direction.skill.json +20 -0
  118. package/skills/video-style-vocabulary/video-style-vocabulary.skill.json +20 -0
  119. package/skills/video-toolbox/video-toolbox.skill.json +20 -0
  120. package/src/__fixtures__/lifecycle-presets.flat-before.json +205 -0
  121. package/src/agency-os.yaml +122 -0
  122. package/src/agent-os-skill-slugs.test.ts +65 -0
  123. package/src/apify-social-reader.test.ts +317 -0
  124. package/src/base.yaml +85 -39
  125. package/src/blockchain-ecosystem.yaml +1 -0
  126. package/src/brand-library.yaml +525 -14
  127. package/src/builder-dev-fold.template.test.ts +113 -0
  128. package/src/builder.yaml +779 -91
  129. package/src/business-model-catalog-description.test.ts +47 -0
  130. package/src/business-model-grp.template.test.ts +214 -0
  131. package/src/business-model.yaml +296 -49
  132. package/src/catalog-safety.test.ts +198 -0
  133. package/src/catalog.template-items.test.ts +75 -0
  134. package/src/catalog.ts +66 -2
  135. package/src/concept-guard.test.ts +28 -8
  136. package/src/concept-guard.ts +2 -2
  137. package/src/content-creation.template.test.ts +52 -0
  138. package/src/content-creation.yaml +192 -0
  139. package/src/content-os.edit-loop.template.test.ts +210 -0
  140. package/src/content-os.publish-due-posts.template.test.ts +261 -0
  141. package/src/content-os.template.test.ts +349 -0
  142. package/src/content-os.video-takes.template.test.ts +338 -0
  143. package/src/content-os.work-a-take.template.test.ts +125 -0
  144. package/src/content-os.yaml +1873 -39
  145. package/src/content-studio-retired.template.test.ts +82 -0
  146. package/src/corpus-flow-validity.test.ts +4 -5
  147. package/src/crm-absorbs-outreach.template.test.ts +117 -0
  148. package/src/crm-build-plan.template.test.ts +128 -0
  149. package/src/crm-lists.template.test.ts +96 -0
  150. package/src/crm-messages-cadence.template.test.ts +246 -0
  151. package/src/crm-one-send-door.template.test.ts +65 -0
  152. package/src/crm.yaml +1563 -181
  153. package/src/decisions-wave.template.test.ts +186 -0
  154. package/src/define.ts +146 -17
  155. package/src/design-to-implementation.template.test.ts +94 -0
  156. package/src/domain-template-type.test.ts +75 -0
  157. package/src/ecosystem.yaml +27 -66
  158. package/src/enterprise-os.yaml +10 -134
  159. package/src/facecam-edit.audio-studio.test.ts +188 -0
  160. package/src/fal-generate-image.test.ts +200 -0
  161. package/src/fal-media-lab-pod-files.test.ts +180 -0
  162. package/src/finance.yaml +254 -1
  163. package/src/foundation.yaml +78 -38
  164. package/src/frame-host-modules.d.mts +6 -0
  165. package/src/frame-host-modules.mjs +58 -0
  166. package/src/generate.mjs +9 -3
  167. package/src/github-merge.test.ts +210 -0
  168. package/src/grants.yaml +46 -17
  169. package/src/hr.yaml +39 -6
  170. package/src/index.ts +36 -1
  171. package/src/intent.test.ts +161 -0
  172. package/src/internal-runbook.yaml +19 -1
  173. package/src/jev.test.ts +356 -0
  174. package/src/legal.yaml +33 -1
  175. package/src/life-os.yaml +51 -240
  176. package/src/lifecycle-coverage.test.ts +124 -0
  177. package/src/lifecycle-declarations.test.ts +252 -0
  178. package/src/lifecycle-presets.test.ts +468 -0
  179. package/src/lifecycle-presets.ts +494 -0
  180. package/src/lifecycle-stuck.test.ts +46 -0
  181. package/src/lifecycle-waits.parity.test.ts +319 -0
  182. package/src/marketing.yaml +108 -4
  183. package/src/meetings-knowledge.yaml +18 -0
  184. package/src/networking.yaml +23 -2
  185. package/src/operations.yaml +304 -4
  186. package/src/pipeline-views.template.test.ts +88 -0
  187. package/src/playbook-goal-placeholders.test.ts +57 -0
  188. package/src/postiz-contract.test.ts +134 -0
  189. package/src/presentation-declarations.test.ts +174 -0
  190. package/src/process-contract.validate.test.ts +352 -0
  191. package/src/project-management.yaml +39 -740
  192. package/src/publish-body.d.mts +29 -0
  193. package/src/publish-body.mjs +74 -0
  194. package/src/publish-body.test.ts +74 -0
  195. package/src/publish-official-lib.test.ts +176 -0
  196. package/src/replicate-rvm.test.ts +504 -0
  197. package/src/research-base.yaml +119 -20
  198. package/src/research-decision.yaml +60 -3
  199. package/src/reserved-profile-slugs.test.ts +81 -0
  200. package/src/retired-goal-kinds.test.ts +52 -0
  201. package/src/role-reference-and-step-domain.test.ts +192 -0
  202. package/src/seed-obligation.test.ts +1 -6
  203. package/src/send-message-maps.test.ts +227 -0
  204. package/src/shared-role-ssot.test.ts +40 -2
  205. package/src/ship-a-change.template.test.ts +177 -0
  206. package/src/skills.test.ts +170 -0
  207. package/src/social.yaml +85 -27
  208. package/src/space-packages.freshness.test.ts +97 -0
  209. package/src/space-packages.generated.ts +40 -0
  210. package/src/space-packages.test.ts +125 -0
  211. package/src/space-packages.ts +73 -0
  212. package/src/start.test.ts +188 -0
  213. package/src/stripe-capability.test.ts +192 -0
  214. package/src/task-intents.test.ts +293 -0
  215. package/src/template-documents.test.ts +158 -0
  216. package/src/templates.ts +20907 -21464
  217. package/src/types.ts +475 -61
  218. package/src/unipile-linkedin-find-profile.test.ts +183 -0
  219. package/src/unipile-publish-post.test.ts +162 -0
  220. package/src/validate-flow.drift.test.ts +2 -3
  221. package/src/validate-flow.ts +22 -2
  222. package/src/validate-onboarding.test.ts +59 -0
  223. package/src/validate.test.ts +71 -4
  224. package/src/validate.ts +1416 -7
  225. package/src/wire-core.ts +231 -0
  226. package/src/wire.test.ts +159 -0
  227. package/src/wire.ts +107 -0
  228. package/views/bookmark-views-pack.view.json +39 -0
  229. package/views/event-views-pack.view.json +45 -0
  230. package/views/task-views-pack.view.json +53 -0
  231. package/src/agent-fleet.yaml +0 -1645
  232. package/src/business-developer.template.test.ts +0 -351
  233. package/src/business-developer.yaml +0 -860
  234. package/src/content-studio.yaml +0 -361
  235. package/src/dev-dashboard.yaml +0 -990
  236. package/src/outreach-comms.yaml +0 -486
  237. package/src/the-arch.yaml +0 -201
@@ -0,0 +1,395 @@
1
+ {
2
+ "apiVersion": "synap/v1",
3
+ "kind": "capability",
4
+ "meta": {
5
+ "slug": "shopify",
6
+ "name": "Shopify — Store Operations",
7
+ "description": "Read-only access to your Shopify store: list and get products, orders, customers and inventory levels through a Nango OAuth connection. Connect your Shopify store in Settings → Connectors.",
8
+ "tags": [
9
+ "capability",
10
+ "ecommerce"
11
+ ],
12
+ "isPublic": true,
13
+ "syncByDefault": true
14
+ },
15
+ "spec": {
16
+ "key": "shopify",
17
+ "name": "Shopify — Store Operations",
18
+ "description": "Read-only Shopify Admin API access through one Nango OAuth connection. Lists and retrieves products, orders and customers, and lists inventory levels. This capability deliberately contains no product, order, customer or inventory writes. PRECONDITION: the 'shopify' integration must be declared and configured in the pod's Nango, and the acting user must connect a Shopify store through Connectors. Shopify's OAuth scopes must include read_products, read_orders, read_customers and read_inventory. Paths are relative to the connected store's Shopify Admin API base URL and use the pinned REST version 2026-07. Every request sends X-Shopify-Access-Token through Nango. Shopify's REST Admin API is legacy for new public apps; this read-heavy pack is intended for an existing/private Shopify OAuth integration and should be migrated to GraphQL when the Nango connection exposes Shopify GraphQL routing.",
19
+ "params": [],
20
+ "vault": [],
21
+ "tools": [
22
+ {
23
+ "name": "shopify",
24
+ "kind": "provider",
25
+ "description": "Shopify Admin API access through Nango. credentialRef nango://shopify resolves the user's connected Shopify store and proxies requests to that store's Admin API base URL. The Nango Shopify integration supplies the OAuth access token and sends it as X-Shopify-Access-Token.",
26
+ "credentialRef": "nango://shopify",
27
+ "executor": "is-agent",
28
+ "config": {
29
+ "providerConfigKey": "shopify"
30
+ }
31
+ }
32
+ ],
33
+ "skills": [
34
+ {
35
+ "name": "shopify_list_products",
36
+ "intent": "list_records",
37
+ "kind": "declarative",
38
+ "scope": "pod",
39
+ "description": "Lists products in the connected Shopify store, newest first. Args: { limit?: number (default 50, max 250), pageInfo?: string (cursor from a prior response).",
40
+ "requires": [
41
+ "shopify"
42
+ ],
43
+ "executionMode": "sync",
44
+ "timeoutSeconds": 60,
45
+ "parameters": {
46
+ "limit": "number?",
47
+ "pageInfo": "string?"
48
+ },
49
+ "providerSpec": {
50
+ "tool": "shopify",
51
+ "method": "GET",
52
+ "pathTemplate": "/admin/api/2026-07/products.json",
53
+ "query": {
54
+ "limit": "{{limit}}",
55
+ "page_info": "{{pageInfo}}"
56
+ },
57
+ "paramMapping": {
58
+ "limit": {
59
+ "default": 50,
60
+ "clampMin": 1,
61
+ "clampMax": 250
62
+ },
63
+ "pageInfo": {
64
+ "encode": "uri"
65
+ }
66
+ },
67
+ "responseShape": {
68
+ "collectionPath": "products",
69
+ "collectionAs": "products",
70
+ "item": {
71
+ "id": "id",
72
+ "title": "title",
73
+ "handle": "handle",
74
+ "status": "status",
75
+ "vendor": "vendor",
76
+ "productType": "product_type",
77
+ "createdAt": "created_at",
78
+ "updatedAt": "updated_at",
79
+ "variants": "variants",
80
+ "images": "images"
81
+ },
82
+ "scalar": {
83
+ "count": "@count"
84
+ }
85
+ }
86
+ }
87
+ },
88
+ {
89
+ "name": "shopify_get_product",
90
+ "intent": "fetch_record",
91
+ "kind": "declarative",
92
+ "scope": "pod",
93
+ "description": "Gets one Shopify product by numeric product id. Args: { productId: string }.",
94
+ "requires": [
95
+ "shopify"
96
+ ],
97
+ "executionMode": "sync",
98
+ "timeoutSeconds": 60,
99
+ "parameters": {
100
+ "productId": "string"
101
+ },
102
+ "providerSpec": {
103
+ "tool": "shopify",
104
+ "method": "GET",
105
+ "pathTemplate": "/admin/api/2026-07/products/{{productId}}.json",
106
+ "paramMapping": {
107
+ "productId": {
108
+ "required": true,
109
+ "encode": "uri"
110
+ }
111
+ },
112
+ "responseShape": {
113
+ "scalar": {
114
+ "id": "product.id",
115
+ "title": "product.title",
116
+ "handle": "product.handle",
117
+ "status": "product.status",
118
+ "vendor": "product.vendor",
119
+ "productType": "product.product_type",
120
+ "createdAt": "product.created_at",
121
+ "updatedAt": "product.updated_at",
122
+ "variants": "product.variants",
123
+ "images": "product.images"
124
+ }
125
+ }
126
+ }
127
+ },
128
+ {
129
+ "name": "shopify_list_orders",
130
+ "intent": "list_records",
131
+ "kind": "declarative",
132
+ "scope": "pod",
133
+ "description": "Lists orders in the connected Shopify store, newest first. Defaults to orders of any status. Args: { limit?: number (default 50, max 250), status?: string, pageInfo?: string (cursor from a prior response).",
134
+ "requires": [
135
+ "shopify"
136
+ ],
137
+ "executionMode": "sync",
138
+ "timeoutSeconds": 60,
139
+ "parameters": {
140
+ "limit": "number?",
141
+ "status": "string?",
142
+ "pageInfo": "string?"
143
+ },
144
+ "providerSpec": {
145
+ "tool": "shopify",
146
+ "method": "GET",
147
+ "pathTemplate": "/admin/api/2026-07/orders.json",
148
+ "query": {
149
+ "limit": "{{limit}}",
150
+ "status": "{{status}}",
151
+ "page_info": "{{pageInfo}}"
152
+ },
153
+ "paramMapping": {
154
+ "limit": {
155
+ "default": 50,
156
+ "clampMin": 1,
157
+ "clampMax": 250
158
+ },
159
+ "status": {
160
+ "default": "any"
161
+ },
162
+ "pageInfo": {
163
+ "encode": "uri"
164
+ }
165
+ },
166
+ "responseShape": {
167
+ "collectionPath": "orders",
168
+ "collectionAs": "orders",
169
+ "item": {
170
+ "id": "id",
171
+ "name": "name",
172
+ "email": "email",
173
+ "financialStatus": "financial_status",
174
+ "fulfillmentStatus": "fulfillment_status",
175
+ "totalPrice": "total_price",
176
+ "currency": "currency",
177
+ "customer": "customer",
178
+ "lineItems": "line_items",
179
+ "createdAt": "created_at",
180
+ "updatedAt": "updated_at",
181
+ "cancelledAt": "cancelled_at"
182
+ },
183
+ "scalar": {
184
+ "count": "@count"
185
+ }
186
+ }
187
+ }
188
+ },
189
+ {
190
+ "name": "shopify_get_order",
191
+ "intent": "fetch_record",
192
+ "kind": "declarative",
193
+ "scope": "pod",
194
+ "description": "Gets one Shopify order by numeric order id. Args: { orderId: string }.",
195
+ "requires": [
196
+ "shopify"
197
+ ],
198
+ "executionMode": "sync",
199
+ "timeoutSeconds": 60,
200
+ "parameters": {
201
+ "orderId": "string"
202
+ },
203
+ "providerSpec": {
204
+ "tool": "shopify",
205
+ "method": "GET",
206
+ "pathTemplate": "/admin/api/2026-07/orders/{{orderId}}.json",
207
+ "paramMapping": {
208
+ "orderId": {
209
+ "required": true,
210
+ "encode": "uri"
211
+ }
212
+ },
213
+ "responseShape": {
214
+ "scalar": {
215
+ "id": "order.id",
216
+ "name": "order.name",
217
+ "email": "order.email",
218
+ "financialStatus": "order.financial_status",
219
+ "fulfillmentStatus": "order.fulfillment_status",
220
+ "totalPrice": "order.total_price",
221
+ "currency": "order.currency",
222
+ "customer": "order.customer",
223
+ "lineItems": "order.line_items",
224
+ "createdAt": "order.created_at",
225
+ "updatedAt": "order.updated_at",
226
+ "cancelledAt": "order.cancelled_at"
227
+ }
228
+ }
229
+ }
230
+ },
231
+ {
232
+ "name": "shopify_list_customers",
233
+ "intent": "list_records",
234
+ "kind": "declarative",
235
+ "scope": "pod",
236
+ "description": "Lists customers in the connected Shopify store, newest first. Args: { limit?: number (default 50, max 250), pageInfo?: string (cursor from a prior response).",
237
+ "requires": [
238
+ "shopify"
239
+ ],
240
+ "executionMode": "sync",
241
+ "timeoutSeconds": 60,
242
+ "parameters": {
243
+ "limit": "number?",
244
+ "pageInfo": "string?"
245
+ },
246
+ "providerSpec": {
247
+ "tool": "shopify",
248
+ "method": "GET",
249
+ "pathTemplate": "/admin/api/2026-07/customers.json",
250
+ "query": {
251
+ "limit": "{{limit}}",
252
+ "page_info": "{{pageInfo}}"
253
+ },
254
+ "paramMapping": {
255
+ "limit": {
256
+ "default": 50,
257
+ "clampMin": 1,
258
+ "clampMax": 250
259
+ },
260
+ "pageInfo": {
261
+ "encode": "uri"
262
+ }
263
+ },
264
+ "responseShape": {
265
+ "collectionPath": "customers",
266
+ "collectionAs": "customers",
267
+ "item": {
268
+ "id": "id",
269
+ "firstName": "first_name",
270
+ "lastName": "last_name",
271
+ "email": "email",
272
+ "phone": "phone",
273
+ "ordersCount": "orders_count",
274
+ "totalSpent": "total_spent",
275
+ "state": "state",
276
+ "tags": "tags",
277
+ "defaultAddress": "default_address",
278
+ "createdAt": "created_at",
279
+ "updatedAt": "updated_at"
280
+ },
281
+ "scalar": {
282
+ "count": "@count"
283
+ }
284
+ }
285
+ }
286
+ },
287
+ {
288
+ "name": "shopify_get_customer",
289
+ "intent": "fetch_record",
290
+ "kind": "declarative",
291
+ "scope": "pod",
292
+ "description": "Gets one Shopify customer by numeric customer id. Args: { customerId: string }.",
293
+ "requires": [
294
+ "shopify"
295
+ ],
296
+ "executionMode": "sync",
297
+ "timeoutSeconds": 60,
298
+ "parameters": {
299
+ "customerId": "string"
300
+ },
301
+ "providerSpec": {
302
+ "tool": "shopify",
303
+ "method": "GET",
304
+ "pathTemplate": "/admin/api/2026-07/customers/{{customerId}}.json",
305
+ "paramMapping": {
306
+ "customerId": {
307
+ "required": true,
308
+ "encode": "uri"
309
+ }
310
+ },
311
+ "responseShape": {
312
+ "scalar": {
313
+ "id": "customer.id",
314
+ "firstName": "customer.first_name",
315
+ "lastName": "customer.last_name",
316
+ "email": "customer.email",
317
+ "phone": "customer.phone",
318
+ "ordersCount": "customer.orders_count",
319
+ "totalSpent": "customer.total_spent",
320
+ "state": "customer.state",
321
+ "tags": "customer.tags",
322
+ "defaultAddress": "customer.default_address",
323
+ "createdAt": "customer.created_at",
324
+ "updatedAt": "customer.updated_at"
325
+ }
326
+ }
327
+ }
328
+ },
329
+ {
330
+ "name": "shopify_list_inventory_levels",
331
+ "intent": "list_records",
332
+ "kind": "declarative",
333
+ "scope": "pod",
334
+ "description": "Lists Shopify inventory levels for inventory items and/or locations. At least one of inventoryItemIds or locationIds is required by Shopify. Args: { inventoryItemIds?: string, locationIds?: string, limit?: number (default 50, max 250), pageInfo?: string }.",
335
+ "requires": [
336
+ "shopify"
337
+ ],
338
+ "executionMode": "sync",
339
+ "timeoutSeconds": 60,
340
+ "parameters": {
341
+ "inventoryItemIds": "string?",
342
+ "locationIds": "string?",
343
+ "limit": "number?",
344
+ "pageInfo": "string?"
345
+ },
346
+ "providerSpec": {
347
+ "tool": "shopify",
348
+ "method": "GET",
349
+ "pathTemplate": "/admin/api/2026-07/inventory_levels.json",
350
+ "query": {
351
+ "inventory_item_ids": "{{inventoryItemIds}}",
352
+ "location_ids": "{{locationIds}}",
353
+ "limit": "{{limit}}",
354
+ "page_info": "{{pageInfo}}"
355
+ },
356
+ "paramMapping": {
357
+ "inventoryItemIds": {
358
+ "encode": "uri"
359
+ },
360
+ "locationIds": {
361
+ "encode": "uri"
362
+ },
363
+ "limit": {
364
+ "default": 50,
365
+ "clampMin": 1,
366
+ "clampMax": 250
367
+ },
368
+ "pageInfo": {
369
+ "encode": "uri"
370
+ }
371
+ },
372
+ "responseShape": {
373
+ "collectionPath": "inventory_levels",
374
+ "collectionAs": "inventoryLevels",
375
+ "item": {
376
+ "inventoryItemId": "inventory_item_id",
377
+ "locationId": "location_id",
378
+ "available": "available",
379
+ "updatedAt": "updated_at",
380
+ "adminGraphqlApiId": "admin_graphql_api_id"
381
+ },
382
+ "scalar": {
383
+ "count": "@count"
384
+ }
385
+ }
386
+ }
387
+ }
388
+ ],
389
+ "provides": [
390
+ "list_records",
391
+ "fetch_record"
392
+ ]
393
+ },
394
+ "dependencies": []
395
+ }