@synap-core/workspace-templates 0.12.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 (245) 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 +174 -900
  57. package/dist/index.js +26148 -23931
  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/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.yaml +85 -39
  139. package/src/blockchain-ecosystem.yaml +1 -0
  140. package/src/brand-library.yaml +525 -14
  141. package/src/builder-dev-fold.template.test.ts +113 -0
  142. package/src/builder.yaml +779 -91
  143. package/src/business-model-catalog-description.test.ts +47 -0
  144. package/src/business-model-grp.template.test.ts +214 -0
  145. package/src/business-model.yaml +296 -49
  146. package/src/catalog-safety.test.ts +198 -0
  147. package/src/catalog.template-items.test.ts +75 -0
  148. package/src/catalog.ts +66 -2
  149. package/src/concept-guard.test.ts +28 -8
  150. package/src/concept-guard.ts +2 -2
  151. package/src/content-creation.template.test.ts +52 -0
  152. package/src/content-creation.yaml +192 -0
  153. package/src/content-os.edit-loop.template.test.ts +210 -0
  154. package/src/content-os.publish-due-posts.template.test.ts +261 -0
  155. package/src/content-os.template.test.ts +322 -0
  156. package/src/content-os.video-takes.template.test.ts +338 -0
  157. package/src/content-os.work-a-take.template.test.ts +125 -0
  158. package/src/content-os.yaml +1830 -39
  159. package/src/content-studio-retired.template.test.ts +82 -0
  160. package/src/corpus-flow-validity.test.ts +4 -5
  161. package/src/crm-absorbs-outreach.template.test.ts +117 -0
  162. package/src/crm-build-plan.template.test.ts +128 -0
  163. package/src/crm-lists.template.test.ts +96 -0
  164. package/src/crm-messages-cadence.template.test.ts +164 -0
  165. package/src/crm-one-send-door.template.test.ts +65 -0
  166. package/src/crm.yaml +1456 -181
  167. package/src/decisions-wave.template.test.ts +186 -0
  168. package/src/define.ts +130 -17
  169. package/src/design-to-implementation.template.test.ts +94 -0
  170. package/src/domain-template-type.test.ts +75 -0
  171. package/src/ecosystem.yaml +27 -66
  172. package/src/enterprise-os.yaml +10 -134
  173. package/src/facecam-edit.audio-studio.test.ts +188 -0
  174. package/src/fal-generate-image.test.ts +200 -0
  175. package/src/fal-media-lab-pod-files.test.ts +180 -0
  176. package/src/finance.yaml +254 -1
  177. package/src/foundation.yaml +78 -38
  178. package/src/frame-host-modules.d.mts +6 -0
  179. package/src/frame-host-modules.mjs +58 -0
  180. package/src/generate.mjs +9 -3
  181. package/src/github-merge.test.ts +210 -0
  182. package/src/grants.yaml +46 -17
  183. package/src/hr.yaml +39 -6
  184. package/src/index.ts +36 -1
  185. package/src/intent.test.ts +161 -0
  186. package/src/internal-runbook.yaml +19 -1
  187. package/src/jev.test.ts +356 -0
  188. package/src/legal.yaml +33 -1
  189. package/src/life-os.yaml +51 -240
  190. package/src/lifecycle-coverage.test.ts +124 -0
  191. package/src/lifecycle-declarations.test.ts +252 -0
  192. package/src/lifecycle-presets.test.ts +468 -0
  193. package/src/lifecycle-presets.ts +494 -0
  194. package/src/lifecycle-stuck.test.ts +46 -0
  195. package/src/lifecycle-waits.parity.test.ts +319 -0
  196. package/src/marketing.yaml +108 -4
  197. package/src/meetings-knowledge.yaml +18 -0
  198. package/src/networking.yaml +23 -2
  199. package/src/operations.yaml +304 -4
  200. package/src/pipeline-views.template.test.ts +88 -0
  201. package/src/playbook-goal-placeholders.test.ts +57 -0
  202. package/src/postiz-contract.test.ts +134 -0
  203. package/src/presentation-declarations.test.ts +174 -0
  204. package/src/process-contract.validate.test.ts +352 -0
  205. package/src/project-management.yaml +39 -740
  206. package/src/publish-body.d.mts +29 -0
  207. package/src/publish-body.mjs +74 -0
  208. package/src/publish-body.test.ts +74 -0
  209. package/src/publish-official-lib.test.ts +176 -0
  210. package/src/replicate-rvm.test.ts +504 -0
  211. package/src/research-base.yaml +119 -20
  212. package/src/research-decision.yaml +60 -3
  213. package/src/reserved-profile-slugs.test.ts +83 -0
  214. package/src/retired-goal-kinds.test.ts +58 -0
  215. package/src/role-reference-and-step-domain.test.ts +192 -0
  216. package/src/seed-obligation.test.ts +1 -6
  217. package/src/send-message-maps.test.ts +227 -0
  218. package/src/shared-role-ssot.test.ts +40 -2
  219. package/src/ship-a-change.template.test.ts +177 -0
  220. package/src/skills.test.ts +170 -0
  221. package/src/social.yaml +85 -27
  222. package/src/space-packages.freshness.test.ts +97 -0
  223. package/src/space-packages.generated.ts +40 -0
  224. package/src/space-packages.test.ts +125 -0
  225. package/src/space-packages.ts +73 -0
  226. package/src/start.test.ts +188 -0
  227. package/src/task-intents.test.ts +293 -0
  228. package/src/templates.ts +20851 -21496
  229. package/src/types.ts +443 -60
  230. package/src/unipile-publish-post.test.ts +162 -0
  231. package/src/validate-flow.drift.test.ts +2 -3
  232. package/src/validate-flow.ts +22 -2
  233. package/src/validate-onboarding.test.ts +59 -0
  234. package/src/validate.test.ts +71 -4
  235. package/src/validate.ts +1335 -7
  236. package/src/wire-core.ts +231 -0
  237. package/src/wire.test.ts +159 -0
  238. package/src/wire.ts +107 -0
  239. package/src/agent-fleet.yaml +0 -1645
  240. package/src/business-developer.template.test.ts +0 -351
  241. package/src/business-developer.yaml +0 -860
  242. package/src/content-studio.yaml +0 -361
  243. package/src/dev-dashboard.yaml +0 -990
  244. package/src/outreach-comms.yaml +0 -486
  245. package/src/the-arch.yaml +0 -201
@@ -0,0 +1,258 @@
1
+ {
2
+ "apiVersion": "synap/v1",
3
+ "kind": "capability",
4
+ "meta": {
5
+ "slug": "posthog-analytics",
6
+ "name": "PostHog — Product Analytics",
7
+ "description": "Read your product analytics from PostHog: event volume over time, recent events, the people behind them, and your saved insights. Read-only, and locked to one project at install. Needs a PostHog personal API key with read scopes; the phc_ project token will not work.",
8
+ "tags": [
9
+ "capability"
10
+ ],
11
+ "isPublic": true,
12
+ "syncByDefault": true
13
+ },
14
+ "spec": {
15
+ "key": "posthog-analytics",
16
+ "name": "PostHog Analytics",
17
+ "description": "Read the pod's product analytics out of PostHog. The apps already SEND events in (the `phc_…` project token is ingest-only); this capability is the read half — event volume over time, recent events, the people behind them, and the saved insights that already exist. It installs ONE authenticated HTTP tool whose `baseUrl` pins the host AND the project id at install time, so no caller (human or agent) can aim the credential at another project, and every verb is a fixed GET read with typed parameters — never a passthrough query language. PRECONDITION: a PostHog PERSONAL API KEY with query:read/insight:read/event:read/person:read. The `phc_…` project token will be rejected by every verb here (it 401s on reads). A missing or invalid key fails loudly; it is never reported as 'no data'.",
18
+ "params": [
19
+ {
20
+ "name": "personalApiKey",
21
+ "label": "PostHog Personal API Key",
22
+ "type": "text",
23
+ "required": true,
24
+ "description": "A PostHog PERSONAL API KEY (PostHog → Settings → Personal API keys) with query:read, insight:read, event:read and person:read. Stored server-encrypted in the vault; never persisted in this template. The `phc_…` project token used by the client apps is INGEST-ONLY and is rejected by every read."
25
+ },
26
+ {
27
+ "name": "analyticsHost",
28
+ "label": "PostHog host",
29
+ "type": "text",
30
+ "required": true,
31
+ "default": "https://analytics.synap.live",
32
+ "description": "Origin of the PostHog instance — e.g. https://analytics.synap.live (self-hosted) or https://us.posthog.com (Cloud). Baked into the installed tool's baseUrl."
33
+ },
34
+ {
35
+ "name": "projectId",
36
+ "label": "PostHog project id",
37
+ "type": "text",
38
+ "required": true,
39
+ "default": "2",
40
+ "description": "Numeric id of the PostHog project that belongs to THIS pod (2 for the Synap org). Baked into the installed tool's baseUrl and deliberately NOT a call parameter, so no verb can read a different project."
41
+ }
42
+ ],
43
+ "vault": [
44
+ {
45
+ "ref": "posthogPersonalApiKey",
46
+ "name": "{{name}} PostHog Personal API Key",
47
+ "value": "{{personalApiKey}}",
48
+ "type": "api_key",
49
+ "description": "PostHog Personal API Key, read scopes only. The analytics belong to the pod, so this is pod-wide: every pod member and every agent reads the same project through this one secret."
50
+ }
51
+ ],
52
+ "tools": [
53
+ {
54
+ "name": "posthog_api",
55
+ "kind": "api",
56
+ "description": "Authenticated READ access to the pod's PostHog project. `config.baseUrl` pins host + project id at install time; `config.auth` injects the vaulted Personal API Key as `Authorization: Bearer <key>`. Nothing outside this capability should execute it directly.",
57
+ "credentialRef": "posthogPersonalApiKey",
58
+ "executor": "is-agent",
59
+ "config": {
60
+ "baseUrl": "{{analyticsHost}}/api/projects/{{projectId}}",
61
+ "auth": {
62
+ "in": "header",
63
+ "name": "Authorization",
64
+ "prefix": "Bearer "
65
+ }
66
+ }
67
+ }
68
+ ],
69
+ "skills": [
70
+ {
71
+ "name": "posthog_get_event_trend",
72
+ "intent": "fetch_record",
73
+ "kind": "declarative",
74
+ "scope": "pod",
75
+ "description": "Event volume over time for ONE named event — the number a landing page or a feature is judged by. Reads PostHog's trend insight, so the series is computed server-side rather than by paging raw events. Args: { event: string (required, e.g. \"$pageview\" or \"signup_completed\"), dateFrom?: string (default \"-7d\"), interval?: string (default \"day\") }.",
76
+ "requires": [
77
+ "posthog_api"
78
+ ],
79
+ "executionMode": "sync",
80
+ "timeoutSeconds": 30,
81
+ "parameters": {
82
+ "event": "string",
83
+ "dateFrom": "string?",
84
+ "interval": "string?"
85
+ },
86
+ "providerSpec": {
87
+ "tool": "posthog_api",
88
+ "method": "GET",
89
+ "pathTemplate": "/insights/trend/",
90
+ "query": {
91
+ "events": "[{\"id\":\"{{event}}\",\"type\":\"events\"}]",
92
+ "date_from": "{{dateFrom}}",
93
+ "interval": "{{interval}}"
94
+ },
95
+ "responseShape": {
96
+ "collectionPath": "result",
97
+ "collectionAs": "series",
98
+ "item": {
99
+ "label": "label",
100
+ "count": "count",
101
+ "data": "data"
102
+ },
103
+ "scalar": {
104
+ "count": "@count",
105
+ "interval": "interval"
106
+ }
107
+ },
108
+ "paramMapping": {
109
+ "dateFrom": {
110
+ "default": "-7d"
111
+ },
112
+ "interval": {
113
+ "default": "day"
114
+ }
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "name": "posthog_list_recent_events",
120
+ "intent": "list_records",
121
+ "kind": "declarative",
122
+ "scope": "pod",
123
+ "description": "The most recent raw events, newest first — what is actually arriving right now, with each event's name, timestamp, distinct_id and properties. Use this to confirm instrumentation works before trusting any aggregate. Args: { limit?: number (default 20, max 100) }.",
124
+ "requires": [
125
+ "posthog_api"
126
+ ],
127
+ "executionMode": "sync",
128
+ "timeoutSeconds": 30,
129
+ "parameters": {
130
+ "limit": "number?"
131
+ },
132
+ "providerSpec": {
133
+ "tool": "posthog_api",
134
+ "method": "GET",
135
+ "pathTemplate": "/events/",
136
+ "query": {
137
+ "limit": "{{limit}}"
138
+ },
139
+ "responseShape": {
140
+ "collectionPath": "results",
141
+ "collectionAs": "events",
142
+ "item": {
143
+ "event": "event",
144
+ "timestamp": "timestamp",
145
+ "distinctId": "distinct_id",
146
+ "url": "properties.$current_url"
147
+ },
148
+ "scalar": {
149
+ "count": "@count",
150
+ "next": "next"
151
+ }
152
+ },
153
+ "paramMapping": {
154
+ "limit": {
155
+ "default": 20,
156
+ "clampMin": 1,
157
+ "clampMax": 100
158
+ }
159
+ }
160
+ }
161
+ },
162
+ {
163
+ "name": "posthog_list_persons",
164
+ "intent": "list_records",
165
+ "kind": "declarative",
166
+ "scope": "pod",
167
+ "description": "The people behind the events — PostHog person records with their distinct ids and properties. Use it to answer \"who are my users\", not just \"how many\". Args: { limit?: number (default 20, max 100), search?: string }.",
168
+ "requires": [
169
+ "posthog_api"
170
+ ],
171
+ "executionMode": "sync",
172
+ "timeoutSeconds": 30,
173
+ "parameters": {
174
+ "limit": "number?",
175
+ "search": "string?"
176
+ },
177
+ "providerSpec": {
178
+ "tool": "posthog_api",
179
+ "method": "GET",
180
+ "pathTemplate": "/persons/",
181
+ "query": {
182
+ "limit": "{{limit}}",
183
+ "search": "{{search}}"
184
+ },
185
+ "responseShape": {
186
+ "collectionPath": "results",
187
+ "collectionAs": "persons",
188
+ "item": {
189
+ "id": "id",
190
+ "name": "name",
191
+ "createdAt": "created_at",
192
+ "distinctIds": "distinct_ids"
193
+ },
194
+ "scalar": {
195
+ "count": "count"
196
+ }
197
+ },
198
+ "paramMapping": {
199
+ "limit": {
200
+ "default": 20,
201
+ "clampMin": 1,
202
+ "clampMax": 100
203
+ }
204
+ }
205
+ }
206
+ },
207
+ {
208
+ "name": "posthog_list_saved_insights",
209
+ "intent": "list_records",
210
+ "kind": "declarative",
211
+ "scope": "pod",
212
+ "description": "The insights and dashboards already saved in this project. Read this FIRST when asked an analytics question — a saved insight is the project's own agreed definition of a metric, and reusing it beats inventing a new query. Args: { limit?: number (default 20, max 100) }.",
213
+ "requires": [
214
+ "posthog_api"
215
+ ],
216
+ "executionMode": "sync",
217
+ "timeoutSeconds": 30,
218
+ "parameters": {
219
+ "limit": "number?"
220
+ },
221
+ "providerSpec": {
222
+ "tool": "posthog_api",
223
+ "method": "GET",
224
+ "pathTemplate": "/insights/",
225
+ "query": {
226
+ "limit": "{{limit}}"
227
+ },
228
+ "responseShape": {
229
+ "collectionPath": "results",
230
+ "collectionAs": "insights",
231
+ "item": {
232
+ "id": "id",
233
+ "name": "name",
234
+ "description": "description",
235
+ "createdAt": "created_at",
236
+ "filters": "filters"
237
+ },
238
+ "scalar": {
239
+ "count": "count"
240
+ }
241
+ },
242
+ "paramMapping": {
243
+ "limit": {
244
+ "default": 20,
245
+ "clampMin": 1,
246
+ "clampMax": 100
247
+ }
248
+ }
249
+ }
250
+ }
251
+ ],
252
+ "provides": [
253
+ "list_records",
254
+ "fetch_record"
255
+ ]
256
+ },
257
+ "dependencies": []
258
+ }