@opentabs-dev/opentabs-plugin-netlify 0.0.74

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 (177) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15736 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/index.d.ts +13 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +119 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/netlify-api.d.ts +10 -0
  9. package/dist/netlify-api.d.ts.map +1 -0
  10. package/dist/netlify-api.js +34 -0
  11. package/dist/netlify-api.js.map +1 -0
  12. package/dist/tools/create-build-hook.d.ts +14 -0
  13. package/dist/tools/create-build-hook.d.ts.map +1 -0
  14. package/dist/tools/create-build-hook.js +26 -0
  15. package/dist/tools/create-build-hook.js.map +1 -0
  16. package/dist/tools/create-build.d.ts +12 -0
  17. package/dist/tools/create-build.d.ts.map +1 -0
  18. package/dist/tools/create-build.js +23 -0
  19. package/dist/tools/create-build.js.map +1 -0
  20. package/dist/tools/create-deploy-key.d.ts +7 -0
  21. package/dist/tools/create-deploy-key.d.ts.map +1 -0
  22. package/dist/tools/create-deploy-key.js +19 -0
  23. package/dist/tools/create-deploy-key.js.map +1 -0
  24. package/dist/tools/create-dns-record.d.ts +20 -0
  25. package/dist/tools/create-dns-record.d.ts.map +1 -0
  26. package/dist/tools/create-dns-record.js +38 -0
  27. package/dist/tools/create-dns-record.js.map +1 -0
  28. package/dist/tools/create-dns-zone.d.ts +16 -0
  29. package/dist/tools/create-dns-zone.d.ts.map +1 -0
  30. package/dist/tools/create-dns-zone.js +32 -0
  31. package/dist/tools/create-dns-zone.js.map +1 -0
  32. package/dist/tools/create-env-vars.d.ts +28 -0
  33. package/dist/tools/create-env-vars.d.ts.map +1 -0
  34. package/dist/tools/create-env-vars.js +42 -0
  35. package/dist/tools/create-env-vars.js.map +1 -0
  36. package/dist/tools/create-site.d.ts +30 -0
  37. package/dist/tools/create-site.d.ts.map +1 -0
  38. package/dist/tools/create-site.js +25 -0
  39. package/dist/tools/create-site.js.map +1 -0
  40. package/dist/tools/delete-build-hook.d.ts +8 -0
  41. package/dist/tools/delete-build-hook.d.ts.map +1 -0
  42. package/dist/tools/delete-build-hook.js +25 -0
  43. package/dist/tools/delete-build-hook.js.map +1 -0
  44. package/dist/tools/delete-dns-record.d.ts +8 -0
  45. package/dist/tools/delete-dns-record.d.ts.map +1 -0
  46. package/dist/tools/delete-dns-record.js +25 -0
  47. package/dist/tools/delete-dns-record.js.map +1 -0
  48. package/dist/tools/delete-env-var.d.ts +9 -0
  49. package/dist/tools/delete-env-var.d.ts.map +1 -0
  50. package/dist/tools/delete-env-var.js +27 -0
  51. package/dist/tools/delete-env-var.js.map +1 -0
  52. package/dist/tools/delete-hook.d.ts +7 -0
  53. package/dist/tools/delete-hook.d.ts.map +1 -0
  54. package/dist/tools/delete-hook.js +22 -0
  55. package/dist/tools/delete-hook.js.map +1 -0
  56. package/dist/tools/delete-site.d.ts +7 -0
  57. package/dist/tools/delete-site.d.ts.map +1 -0
  58. package/dist/tools/delete-site.js +22 -0
  59. package/dist/tools/delete-site.js.map +1 -0
  60. package/dist/tools/delete-submission.d.ts +7 -0
  61. package/dist/tools/delete-submission.d.ts.map +1 -0
  62. package/dist/tools/delete-submission.js +22 -0
  63. package/dist/tools/delete-submission.js.map +1 -0
  64. package/dist/tools/get-account.d.ts +20 -0
  65. package/dist/tools/get-account.d.ts.map +1 -0
  66. package/dist/tools/get-account.js +21 -0
  67. package/dist/tools/get-account.js.map +1 -0
  68. package/dist/tools/get-current-user.d.ts +13 -0
  69. package/dist/tools/get-current-user.d.ts.map +1 -0
  70. package/dist/tools/get-current-user.js +19 -0
  71. package/dist/tools/get-current-user.js.map +1 -0
  72. package/dist/tools/get-deploy.d.ts +27 -0
  73. package/dist/tools/get-deploy.d.ts.map +1 -0
  74. package/dist/tools/get-deploy.js +21 -0
  75. package/dist/tools/get-deploy.js.map +1 -0
  76. package/dist/tools/get-dns-zone.d.ts +14 -0
  77. package/dist/tools/get-dns-zone.d.ts.map +1 -0
  78. package/dist/tools/get-dns-zone.js +21 -0
  79. package/dist/tools/get-dns-zone.js.map +1 -0
  80. package/dist/tools/get-env-var.d.ts +18 -0
  81. package/dist/tools/get-env-var.d.ts.map +1 -0
  82. package/dist/tools/get-env-var.js +25 -0
  83. package/dist/tools/get-env-var.js.map +1 -0
  84. package/dist/tools/get-member.d.ts +14 -0
  85. package/dist/tools/get-member.d.ts.map +1 -0
  86. package/dist/tools/get-member.js +22 -0
  87. package/dist/tools/get-member.js.map +1 -0
  88. package/dist/tools/get-site.d.ts +29 -0
  89. package/dist/tools/get-site.d.ts.map +1 -0
  90. package/dist/tools/get-site.js +21 -0
  91. package/dist/tools/get-site.js.map +1 -0
  92. package/dist/tools/list-accounts.d.ts +20 -0
  93. package/dist/tools/list-accounts.d.ts.map +1 -0
  94. package/dist/tools/list-accounts.js +21 -0
  95. package/dist/tools/list-accounts.js.map +1 -0
  96. package/dist/tools/list-audit-events.d.ts +19 -0
  97. package/dist/tools/list-audit-events.d.ts.map +1 -0
  98. package/dist/tools/list-audit-events.js +32 -0
  99. package/dist/tools/list-audit-events.js.map +1 -0
  100. package/dist/tools/list-build-hooks.d.ts +14 -0
  101. package/dist/tools/list-build-hooks.d.ts.map +1 -0
  102. package/dist/tools/list-build-hooks.js +23 -0
  103. package/dist/tools/list-build-hooks.js.map +1 -0
  104. package/dist/tools/list-builds.d.ts +16 -0
  105. package/dist/tools/list-builds.d.ts.map +1 -0
  106. package/dist/tools/list-builds.js +30 -0
  107. package/dist/tools/list-builds.js.map +1 -0
  108. package/dist/tools/list-deploy-keys.d.ts +9 -0
  109. package/dist/tools/list-deploy-keys.d.ts.map +1 -0
  110. package/dist/tools/list-deploy-keys.js +21 -0
  111. package/dist/tools/list-deploy-keys.js.map +1 -0
  112. package/dist/tools/list-deploys.d.ts +31 -0
  113. package/dist/tools/list-deploys.d.ts.map +1 -0
  114. package/dist/tools/list-deploys.js +30 -0
  115. package/dist/tools/list-deploys.js.map +1 -0
  116. package/dist/tools/list-dns-records.d.ts +17 -0
  117. package/dist/tools/list-dns-records.d.ts.map +1 -0
  118. package/dist/tools/list-dns-records.js +23 -0
  119. package/dist/tools/list-dns-records.js.map +1 -0
  120. package/dist/tools/list-dns-zones.d.ts +16 -0
  121. package/dist/tools/list-dns-zones.d.ts.map +1 -0
  122. package/dist/tools/list-dns-zones.js +25 -0
  123. package/dist/tools/list-dns-zones.js.map +1 -0
  124. package/dist/tools/list-env-vars.d.ts +19 -0
  125. package/dist/tools/list-env-vars.d.ts.map +1 -0
  126. package/dist/tools/list-env-vars.js +26 -0
  127. package/dist/tools/list-env-vars.js.map +1 -0
  128. package/dist/tools/list-form-submissions.d.ts +18 -0
  129. package/dist/tools/list-form-submissions.d.ts.map +1 -0
  130. package/dist/tools/list-form-submissions.js +30 -0
  131. package/dist/tools/list-form-submissions.js.map +1 -0
  132. package/dist/tools/list-forms.d.ts +15 -0
  133. package/dist/tools/list-forms.d.ts.map +1 -0
  134. package/dist/tools/list-forms.js +23 -0
  135. package/dist/tools/list-forms.js.map +1 -0
  136. package/dist/tools/list-hooks.d.ts +16 -0
  137. package/dist/tools/list-hooks.d.ts.map +1 -0
  138. package/dist/tools/list-hooks.js +25 -0
  139. package/dist/tools/list-hooks.js.map +1 -0
  140. package/dist/tools/list-members.d.ts +15 -0
  141. package/dist/tools/list-members.d.ts.map +1 -0
  142. package/dist/tools/list-members.js +23 -0
  143. package/dist/tools/list-members.js.map +1 -0
  144. package/dist/tools/list-sites.d.ts +34 -0
  145. package/dist/tools/list-sites.d.ts.map +1 -0
  146. package/dist/tools/list-sites.js +32 -0
  147. package/dist/tools/list-sites.js.map +1 -0
  148. package/dist/tools/lock-deploy.d.ts +27 -0
  149. package/dist/tools/lock-deploy.d.ts.map +1 -0
  150. package/dist/tools/lock-deploy.js +23 -0
  151. package/dist/tools/lock-deploy.js.map +1 -0
  152. package/dist/tools/restore-deploy.d.ts +28 -0
  153. package/dist/tools/restore-deploy.d.ts.map +1 -0
  154. package/dist/tools/restore-deploy.js +24 -0
  155. package/dist/tools/restore-deploy.js.map +1 -0
  156. package/dist/tools/rollback-deploy.d.ts +29 -0
  157. package/dist/tools/rollback-deploy.d.ts.map +1 -0
  158. package/dist/tools/rollback-deploy.js +23 -0
  159. package/dist/tools/rollback-deploy.js.map +1 -0
  160. package/dist/tools/schemas.d.ts +558 -0
  161. package/dist/tools/schemas.d.ts.map +1 -0
  162. package/dist/tools/schemas.js +376 -0
  163. package/dist/tools/schemas.js.map +1 -0
  164. package/dist/tools/unlock-deploy.d.ts +27 -0
  165. package/dist/tools/unlock-deploy.d.ts.map +1 -0
  166. package/dist/tools/unlock-deploy.js +23 -0
  167. package/dist/tools/unlock-deploy.js.map +1 -0
  168. package/dist/tools/update-env-var.d.ts +25 -0
  169. package/dist/tools/update-env-var.d.ts.map +1 -0
  170. package/dist/tools/update-env-var.js +43 -0
  171. package/dist/tools/update-env-var.js.map +1 -0
  172. package/dist/tools/update-site.d.ts +34 -0
  173. package/dist/tools/update-site.d.ts.map +1 -0
  174. package/dist/tools/update-site.js +42 -0
  175. package/dist/tools/update-site.js.map +1 -0
  176. package/dist/tools.json +3751 -0
  177. package/package.json +55 -0
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ export declare const listAccounts: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
3
+ items: z.ZodArray<z.ZodObject<{
4
+ id: z.ZodString;
5
+ name: z.ZodString;
6
+ slug: z.ZodString;
7
+ type: z.ZodString;
8
+ type_name: z.ZodString;
9
+ capabilities_sites_included: z.ZodNumber;
10
+ capabilities_sites_used: z.ZodNumber;
11
+ capabilities_collaborators_included: z.ZodNumber;
12
+ capabilities_collaborators_used: z.ZodNumber;
13
+ billing_name: z.ZodString;
14
+ billing_email: z.ZodString;
15
+ owner_ids: z.ZodArray<z.ZodString>;
16
+ created_at: z.ZodString;
17
+ updated_at: z.ZodString;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>>;
20
+ //# sourceMappingURL=list-accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-accounts.d.ts","sourceRoot":"","sources":["../../src/tools/list-accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;kBAgBvB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { accountSchema, mapAccount } from './schemas.js';
5
+ export const listAccounts = defineTool({
6
+ name: 'list_accounts',
7
+ displayName: 'List Accounts',
8
+ description: 'List all Netlify accounts (teams) the authenticated user has access to. Returns account name, slug, plan capabilities, billing info, and owner IDs.',
9
+ summary: 'List all accounts',
10
+ icon: 'list',
11
+ group: 'Account',
12
+ input: z.object({}),
13
+ output: z.object({
14
+ items: z.array(accountSchema).describe('List of accounts'),
15
+ }),
16
+ handle: async () => {
17
+ const raw = await api('/accounts');
18
+ return { items: raw.map(mapAccount) };
19
+ },
20
+ });
21
+ //# sourceMappingURL=list-accounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-accounts.js","sourceRoot":"","sources":["../../src/tools/list-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EACT,qJAAqJ;IACvJ,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC3D,CAAC;IACF,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAe,WAAW,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACxC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const listAuditEvents: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_id: z.ZodString;
4
+ query: z.ZodOptional<z.ZodString>;
5
+ page: z.ZodOptional<z.ZodNumber>;
6
+ per_page: z.ZodOptional<z.ZodNumber>;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ items: z.ZodArray<z.ZodObject<{
9
+ id: z.ZodString;
10
+ account_id: z.ZodString;
11
+ actor_id: z.ZodString;
12
+ actor_name: z.ZodString;
13
+ actor_email: z.ZodString;
14
+ action: z.ZodString;
15
+ timestamp: z.ZodString;
16
+ log_type: z.ZodString;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=list-audit-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-audit-events.d.ts","sourceRoot":"","sources":["../../src/tools/list-audit-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;kBA2B1B,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { auditEventSchema, mapAuditEvent } from './schemas.js';
5
+ export const listAuditEvents = defineTool({
6
+ name: 'list_audit_events',
7
+ displayName: 'List Audit Events',
8
+ description: 'List audit log events for a Netlify account. Returns actions performed by team members such as site creation, deploy locks, and settings changes. Supports text search and pagination.',
9
+ summary: 'List account audit log events',
10
+ icon: 'shield',
11
+ group: 'Account',
12
+ input: z.object({
13
+ account_id: z.string().describe('The account ID to query audit events for'),
14
+ query: z.string().optional().describe('Text search query to filter events'),
15
+ page: z.number().optional().describe('Page number for pagination (starts at 1)'),
16
+ per_page: z.number().optional().describe('Number of events per page (default 20)'),
17
+ }),
18
+ output: z.object({
19
+ items: z.array(auditEventSchema).describe('List of audit events'),
20
+ }),
21
+ handle: async (params) => {
22
+ const raw = await api(`/accounts/${params.account_id}/audit`, {
23
+ query: {
24
+ query: params.query,
25
+ page: params.page,
26
+ per_page: params.per_page,
27
+ },
28
+ });
29
+ return { items: raw.map(mapAuditEvent) };
30
+ },
31
+ });
32
+ //# sourceMappingURL=list-audit-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-audit-events.js","sourceRoot":"","sources":["../../src/tools/list-audit-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAsB,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EACT,wLAAwL;IAC1L,OAAO,EAAE,+BAA+B;IACxC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACnF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAClE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAkB,aAAa,MAAM,CAAC,UAAU,QAAQ,EAAE;YAC7E,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const listBuildHooks: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ title: z.ZodString;
8
+ branch: z.ZodString;
9
+ url: z.ZodString;
10
+ site_id: z.ZodString;
11
+ created_at: z.ZodString;
12
+ }, z.core.$strip>>;
13
+ }, z.core.$strip>>;
14
+ //# sourceMappingURL=list-build-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-build-hooks.d.ts","sourceRoot":"","sources":["../../src/tools/list-build-hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;kBAkBzB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { buildHookSchema, mapBuildHook } from './schemas.js';
5
+ export const listBuildHooks = defineTool({
6
+ name: 'list_build_hooks',
7
+ displayName: 'List Build Hooks',
8
+ description: 'List build hooks for a Netlify site. Build hooks are URLs that trigger a new build when POSTed to. Returns hook title, branch, and trigger URL.',
9
+ summary: 'List site build hooks',
10
+ icon: 'webhook',
11
+ group: 'Hooks',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to list build hooks for'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(buildHookSchema).describe('List of build hooks'),
17
+ }),
18
+ handle: async (params) => {
19
+ const raw = await api(`/sites/${params.site_id}/build_hooks`);
20
+ return { items: raw.map(mapBuildHook) };
21
+ },
22
+ });
23
+ //# sourceMappingURL=list-build-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-build-hooks.js","sourceRoot":"","sources":["../../src/tools/list-build-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAqB,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EACT,iJAAiJ;IACnJ,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAChE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAiB,UAAU,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;QAC9E,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const listBuilds: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ page: z.ZodOptional<z.ZodNumber>;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ items: z.ZodArray<z.ZodObject<{
8
+ id: z.ZodString;
9
+ deploy_id: z.ZodString;
10
+ sha: z.ZodString;
11
+ done: z.ZodBoolean;
12
+ error: z.ZodString;
13
+ created_at: z.ZodString;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>>;
16
+ //# sourceMappingURL=list-builds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-builds.d.ts","sourceRoot":"","sources":["../../src/tools/list-builds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;kBAyBrB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { buildSchema, mapBuild } from './schemas.js';
5
+ export const listBuilds = defineTool({
6
+ name: 'list_builds',
7
+ displayName: 'List Builds',
8
+ description: 'List builds for a Netlify site. Returns build ID, associated deploy ID, commit SHA, completion status, and error messages. Supports pagination.',
9
+ summary: 'List site builds',
10
+ icon: 'hammer',
11
+ group: 'Builds',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to list builds for'),
14
+ page: z.number().optional().describe('Page number for pagination (starts at 1)'),
15
+ per_page: z.number().optional().describe('Number of builds per page (default 20)'),
16
+ }),
17
+ output: z.object({
18
+ items: z.array(buildSchema).describe('List of builds'),
19
+ }),
20
+ handle: async (params) => {
21
+ const raw = await api(`/sites/${params.site_id}/builds`, {
22
+ query: {
23
+ page: params.page,
24
+ per_page: params.per_page,
25
+ },
26
+ });
27
+ return { items: raw.map(mapBuild) };
28
+ },
29
+ });
30
+ //# sourceMappingURL=list-builds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-builds.js","sourceRoot":"","sources":["../../src/tools/list-builds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAiB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EACT,iJAAiJ;IACnJ,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACnF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACvD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAa,UAAU,MAAM,CAAC,OAAO,SAAS,EAAE;YACnE,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ export declare const listDeployKeys: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
3
+ items: z.ZodArray<z.ZodObject<{
4
+ id: z.ZodString;
5
+ public_key: z.ZodString;
6
+ created_at: z.ZodString;
7
+ }, z.core.$strip>>;
8
+ }, z.core.$strip>>;
9
+ //# sourceMappingURL=list-deploy-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-deploy-keys.d.ts","sourceRoot":"","sources":["../../src/tools/list-deploy-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;kBAgBzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { deployKeySchema, mapDeployKey } from './schemas.js';
5
+ export const listDeployKeys = defineTool({
6
+ name: 'list_deploy_keys',
7
+ displayName: 'List Deploy Keys',
8
+ description: 'List all deploy keys for the authenticated user. Deploy keys are SSH public keys used for authenticating deploys from CI/CD systems.',
9
+ summary: 'List deploy keys',
10
+ icon: 'key',
11
+ group: 'Deploy Keys',
12
+ input: z.object({}),
13
+ output: z.object({
14
+ items: z.array(deployKeySchema).describe('List of deploy keys'),
15
+ }),
16
+ handle: async () => {
17
+ const raw = await api('/deploy_keys');
18
+ return { items: raw.map(mapDeployKey) };
19
+ },
20
+ });
21
+ //# sourceMappingURL=list-deploy-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-deploy-keys.js","sourceRoot":"","sources":["../../src/tools/list-deploy-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAqB,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EACT,sIAAsI;IACxI,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAChE,CAAC;IACF,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAiB,cAAc,CAAC,CAAC;QACtD,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const listDeploys: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ page: z.ZodOptional<z.ZodNumber>;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ items: z.ZodArray<z.ZodObject<{
8
+ id: z.ZodString;
9
+ site_id: z.ZodString;
10
+ state: z.ZodString;
11
+ name: z.ZodString;
12
+ url: z.ZodString;
13
+ ssl_url: z.ZodString;
14
+ deploy_url: z.ZodString;
15
+ deploy_ssl_url: z.ZodString;
16
+ branch: z.ZodString;
17
+ commit_ref: z.ZodString;
18
+ commit_url: z.ZodString;
19
+ title: z.ZodString;
20
+ context: z.ZodString;
21
+ framework: z.ZodString;
22
+ error_message: z.ZodString;
23
+ created_at: z.ZodString;
24
+ updated_at: z.ZodString;
25
+ published_at: z.ZodString;
26
+ locked: z.ZodBoolean;
27
+ draft: z.ZodBoolean;
28
+ skipped: z.ZodBoolean;
29
+ }, z.core.$strip>>;
30
+ }, z.core.$strip>>;
31
+ //# sourceMappingURL=list-deploys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-deploys.d.ts","sourceRoot":"","sources":["../../src/tools/list-deploys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyBtB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { deploySchema, mapDeploy } from './schemas.js';
5
+ export const listDeploys = defineTool({
6
+ name: 'list_deploys',
7
+ displayName: 'List Deploys',
8
+ description: 'List deploys for a Netlify site. Returns deploy state, branch, commit info, context, framework, and timestamps. Supports pagination.',
9
+ summary: 'List site deploys',
10
+ icon: 'list',
11
+ group: 'Deploys',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to list deploys for'),
14
+ page: z.number().optional().describe('Page number for pagination (starts at 1)'),
15
+ per_page: z.number().optional().describe('Number of deploys per page (default 20)'),
16
+ }),
17
+ output: z.object({
18
+ items: z.array(deploySchema).describe('List of deploys'),
19
+ }),
20
+ handle: async (params) => {
21
+ const raw = await api(`/sites/${params.site_id}/deploys`, {
22
+ query: {
23
+ page: params.page,
24
+ per_page: params.per_page,
25
+ },
26
+ });
27
+ return { items: raw.map(mapDeploy) };
28
+ },
29
+ });
30
+ //# sourceMappingURL=list-deploys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-deploys.js","sourceRoot":"","sources":["../../src/tools/list-deploys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EACT,sIAAsI;IACxI,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACpF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACzD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAc,UAAU,MAAM,CAAC,OAAO,UAAU,EAAE;YACrE,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const listDnsRecords: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ zone_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ hostname: z.ZodString;
8
+ type: z.ZodString;
9
+ value: z.ZodString;
10
+ ttl: z.ZodNumber;
11
+ priority: z.ZodNumber;
12
+ dns_zone_id: z.ZodString;
13
+ flag: z.ZodNumber;
14
+ tag: z.ZodString;
15
+ }, z.core.$strip>>;
16
+ }, z.core.$strip>>;
17
+ //# sourceMappingURL=list-dns-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-dns-records.d.ts","sourceRoot":"","sources":["../../src/tools/list-dns-records.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;kBAkBzB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { dnsRecordSchema, mapDnsRecord } from './schemas.js';
5
+ export const listDnsRecords = defineTool({
6
+ name: 'list_dns_records',
7
+ displayName: 'List DNS Records',
8
+ description: 'List all DNS records in a Netlify DNS zone. Returns record hostname, type (A, AAAA, CNAME, MX, TXT, NS, etc.), value, TTL, and priority.',
9
+ summary: 'List DNS records in a zone',
10
+ icon: 'list',
11
+ group: 'DNS',
12
+ input: z.object({
13
+ zone_id: z.string().describe('The DNS zone ID to list records for'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(dnsRecordSchema).describe('List of DNS records'),
17
+ }),
18
+ handle: async (params) => {
19
+ const raw = await api(`/dns_zones/${params.zone_id}/dns_records`);
20
+ return { items: raw.map(mapDnsRecord) };
21
+ },
22
+ });
23
+ //# sourceMappingURL=list-dns-records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-dns-records.js","sourceRoot":"","sources":["../../src/tools/list-dns-records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAqB,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EACT,0IAA0I;IAC5I,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAChE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAiB,cAAc,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const listDnsZones: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_slug: z.ZodOptional<z.ZodString>;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ name: z.ZodString;
8
+ account_slug: z.ZodString;
9
+ site_id: z.ZodString;
10
+ created_at: z.ZodString;
11
+ updated_at: z.ZodString;
12
+ records_count: z.ZodNumber;
13
+ dedicated: z.ZodBoolean;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>>;
16
+ //# sourceMappingURL=list-dns-zones.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-dns-zones.d.ts","sourceRoot":"","sources":["../../src/tools/list-dns-zones.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;kBAoBvB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { dnsZoneSchema, mapDnsZone } from './schemas.js';
5
+ export const listDnsZones = defineTool({
6
+ name: 'list_dns_zones',
7
+ displayName: 'List DNS Zones',
8
+ description: 'List DNS zones for a Netlify account. Returns zone name, record count, associated site, and infrastructure details. Filter by account slug.',
9
+ summary: 'List DNS zones',
10
+ icon: 'globe',
11
+ group: 'DNS',
12
+ input: z.object({
13
+ account_slug: z.string().optional().describe('Account slug to filter zones by'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(dnsZoneSchema).describe('List of DNS zones'),
17
+ }),
18
+ handle: async (params) => {
19
+ const raw = await api('/dns_zones', {
20
+ query: { account_slug: params.account_slug },
21
+ });
22
+ return { items: raw.map(mapDnsZone) };
23
+ },
24
+ });
25
+ //# sourceMappingURL=list-dns-zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-dns-zones.js","sourceRoot":"","sources":["../../src/tools/list-dns-zones.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EACT,6IAA6I;IAC/I,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAChF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAC5D,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAe,YAAY,EAAE;YAChD,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;SAC7C,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACxC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const listEnvVars: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_id: z.ZodString;
4
+ site_id: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ items: z.ZodArray<z.ZodObject<{
7
+ key: z.ZodString;
8
+ scopes: z.ZodArray<z.ZodString>;
9
+ values: z.ZodArray<z.ZodObject<{
10
+ id: z.ZodString;
11
+ value: z.ZodString;
12
+ context: z.ZodString;
13
+ context_parameter: z.ZodString;
14
+ }, z.core.$strip>>;
15
+ is_secret: z.ZodBoolean;
16
+ updated_at: z.ZodString;
17
+ }, z.core.$strip>>;
18
+ }, z.core.$strip>>;
19
+ //# sourceMappingURL=list-env-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-env-vars.d.ts","sourceRoot":"","sources":["../../src/tools/list-env-vars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;kBAqBtB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { envVarSchema, mapEnvVar } from './schemas.js';
5
+ export const listEnvVars = defineTool({
6
+ name: 'list_env_vars',
7
+ displayName: 'List Environment Variables',
8
+ description: 'List all environment variables for a Netlify account. Optionally scope to a specific site. Returns variable names, scopes, context-specific values, and secret status.',
9
+ summary: 'List environment variables',
10
+ icon: 'file-text',
11
+ group: 'Environment',
12
+ input: z.object({
13
+ account_id: z.string().describe('The account ID to list environment variables for'),
14
+ site_id: z.string().optional().describe('Optional site ID to scope variables to a specific site'),
15
+ }),
16
+ output: z.object({
17
+ items: z.array(envVarSchema).describe('List of environment variables'),
18
+ }),
19
+ handle: async (params) => {
20
+ const raw = await api(`/accounts/${params.account_id}/env`, {
21
+ query: { site_id: params.site_id },
22
+ });
23
+ return { items: raw.map(mapEnvVar) };
24
+ },
25
+ });
26
+ //# sourceMappingURL=list-env-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-env-vars.js","sourceRoot":"","sources":["../../src/tools/list-env-vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,4BAA4B;IACzC,WAAW,EACT,wKAAwK;IAC1K,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;KAClG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAc,aAAa,MAAM,CAAC,UAAU,MAAM,EAAE;YACvE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SACnC,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const listFormSubmissions: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ form_id: z.ZodString;
4
+ page: z.ZodOptional<z.ZodNumber>;
5
+ per_page: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ items: z.ZodArray<z.ZodObject<{
8
+ id: z.ZodString;
9
+ form_id: z.ZodString;
10
+ form_name: z.ZodString;
11
+ name: z.ZodString;
12
+ email: z.ZodString;
13
+ body: z.ZodString;
14
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
15
+ created_at: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>>;
18
+ //# sourceMappingURL=list-form-submissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-form-submissions.d.ts","sourceRoot":"","sources":["../../src/tools/list-form-submissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;kBAyB9B,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { formSubmissionSchema, mapFormSubmission } from './schemas.js';
5
+ export const listFormSubmissions = defineTool({
6
+ name: 'list_form_submissions',
7
+ displayName: 'List Form Submissions',
8
+ description: 'List submissions for a specific Netlify form. Returns submitter name, email, body text, full data key-value pairs, and timestamps. Supports pagination.',
9
+ summary: 'List form submissions',
10
+ icon: 'list',
11
+ group: 'Forms',
12
+ input: z.object({
13
+ form_id: z.string().describe('The form ID to list submissions for'),
14
+ page: z.number().optional().describe('Page number for pagination (starts at 1)'),
15
+ per_page: z.number().optional().describe('Number of submissions per page (default 20)'),
16
+ }),
17
+ output: z.object({
18
+ items: z.array(formSubmissionSchema).describe('List of form submissions'),
19
+ }),
20
+ handle: async (params) => {
21
+ const raw = await api(`/forms/${params.form_id}/submissions`, {
22
+ query: {
23
+ page: params.page,
24
+ per_page: params.per_page,
25
+ },
26
+ });
27
+ return { items: raw.map(mapFormSubmission) };
28
+ },
29
+ });
30
+ //# sourceMappingURL=list-form-submissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-form-submissions.js","sourceRoot":"","sources":["../../src/tools/list-form-submissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAA0B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EACT,yJAAyJ;IAC3J,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACxF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC1E,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAsB,UAAU,MAAM,CAAC,OAAO,cAAc,EAAE;YACjF,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC/C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const listForms: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ site_id: z.ZodString;
8
+ name: z.ZodString;
9
+ paths: z.ZodArray<z.ZodString>;
10
+ submission_count: z.ZodNumber;
11
+ fields: z.ZodArray<z.ZodString>;
12
+ created_at: z.ZodString;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>>;
15
+ //# sourceMappingURL=list-forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-forms.d.ts","sourceRoot":"","sources":["../../src/tools/list-forms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,SAAS;;;;;;;;;;;;kBAkBpB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../netlify-api.js';
4
+ import { formSchema, mapForm } from './schemas.js';
5
+ export const listForms = defineTool({
6
+ name: 'list_forms',
7
+ displayName: 'List Forms',
8
+ description: 'List all forms for a Netlify site. Returns form name, page paths, field names, submission count, and creation timestamp.',
9
+ summary: 'List site forms',
10
+ icon: 'file-text',
11
+ group: 'Forms',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to list forms for'),
14
+ }),
15
+ output: z.object({
16
+ items: z.array(formSchema).describe('List of forms'),
17
+ }),
18
+ handle: async (params) => {
19
+ const raw = await api(`/sites/${params.site_id}/forms`);
20
+ return { items: raw.map(mapForm) };
21
+ },
22
+ });
23
+ //# sourceMappingURL=list-forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-forms.js","sourceRoot":"","sources":["../../src/tools/list-forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EACT,0HAA0H;IAC5H,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC9D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;KACrD,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAY,UAAU,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const listHooks: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ items: z.ZodArray<z.ZodObject<{
6
+ id: z.ZodString;
7
+ site_id: z.ZodString;
8
+ type: z.ZodString;
9
+ event: z.ZodString;
10
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
11
+ created_at: z.ZodString;
12
+ updated_at: z.ZodString;
13
+ disabled: z.ZodBoolean;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>>;
16
+ //# sourceMappingURL=list-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-hooks.d.ts","sourceRoot":"","sources":["../../src/tools/list-hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,SAAS;;;;;;;;;;;;;kBAoBpB,CAAC"}