@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,13 @@
1
+ import { OpenTabsPlugin } from '@opentabs-dev/plugin-sdk';
2
+ import type { ToolDefinition } from '@opentabs-dev/plugin-sdk';
3
+ declare class NetlifyPlugin extends OpenTabsPlugin {
4
+ readonly name = "netlify";
5
+ readonly description = "OpenTabs plugin for Netlify";
6
+ readonly displayName = "Netlify";
7
+ readonly urlPatterns: string[];
8
+ readonly tools: ToolDefinition[];
9
+ isReady(): Promise<boolean>;
10
+ }
11
+ declare const _default: NetlifyPlugin;
12
+ export default _default;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiE/D,cAAM,aAAc,SAAQ,cAAc;IACxC,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,WAAW,iCAAiC;IACrD,SAAkB,WAAW,aAAa;IAC1C,QAAQ,CAAC,WAAW,WAA6B;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAoD9B;IAEI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAIlC;;AAED,wBAAmC"}
package/dist/index.js ADDED
@@ -0,0 +1,119 @@
1
+ import { OpenTabsPlugin } from '@opentabs-dev/plugin-sdk';
2
+ import { isAuthenticated, waitForAuth } from './netlify-api.js';
3
+ // Account
4
+ import { getCurrentUser } from './tools/get-current-user.js';
5
+ import { listAccounts } from './tools/list-accounts.js';
6
+ import { getAccount } from './tools/get-account.js';
7
+ import { listAuditEvents } from './tools/list-audit-events.js';
8
+ // Members
9
+ import { listMembers } from './tools/list-members.js';
10
+ import { getMember } from './tools/get-member.js';
11
+ // Sites
12
+ import { listSites } from './tools/list-sites.js';
13
+ import { getSite } from './tools/get-site.js';
14
+ import { createSite } from './tools/create-site.js';
15
+ import { updateSite } from './tools/update-site.js';
16
+ import { deleteSite } from './tools/delete-site.js';
17
+ // Deploys
18
+ import { listDeploys } from './tools/list-deploys.js';
19
+ import { getDeploy } from './tools/get-deploy.js';
20
+ import { lockDeploy } from './tools/lock-deploy.js';
21
+ import { unlockDeploy } from './tools/unlock-deploy.js';
22
+ import { restoreDeploy } from './tools/restore-deploy.js';
23
+ import { rollbackDeploy } from './tools/rollback-deploy.js';
24
+ // Builds
25
+ import { listBuilds } from './tools/list-builds.js';
26
+ import { createBuild } from './tools/create-build.js';
27
+ // Environment Variables
28
+ import { listEnvVars } from './tools/list-env-vars.js';
29
+ import { getEnvVar } from './tools/get-env-var.js';
30
+ import { createEnvVars } from './tools/create-env-vars.js';
31
+ import { updateEnvVar } from './tools/update-env-var.js';
32
+ import { deleteEnvVar } from './tools/delete-env-var.js';
33
+ // DNS
34
+ import { listDnsZones } from './tools/list-dns-zones.js';
35
+ import { getDnsZone } from './tools/get-dns-zone.js';
36
+ import { createDnsZone } from './tools/create-dns-zone.js';
37
+ import { listDnsRecords } from './tools/list-dns-records.js';
38
+ import { createDnsRecord } from './tools/create-dns-record.js';
39
+ import { deleteDnsRecord } from './tools/delete-dns-record.js';
40
+ // Hooks
41
+ import { listHooks } from './tools/list-hooks.js';
42
+ import { deleteHook } from './tools/delete-hook.js';
43
+ // Build Hooks
44
+ import { listBuildHooks } from './tools/list-build-hooks.js';
45
+ import { createBuildHook } from './tools/create-build-hook.js';
46
+ import { deleteBuildHook } from './tools/delete-build-hook.js';
47
+ // Deploy Keys
48
+ import { listDeployKeys } from './tools/list-deploy-keys.js';
49
+ import { createDeployKey } from './tools/create-deploy-key.js';
50
+ // Forms
51
+ import { listForms } from './tools/list-forms.js';
52
+ import { listFormSubmissions } from './tools/list-form-submissions.js';
53
+ import { deleteSubmission } from './tools/delete-submission.js';
54
+ class NetlifyPlugin extends OpenTabsPlugin {
55
+ name = 'netlify';
56
+ description = 'OpenTabs plugin for Netlify';
57
+ displayName = 'Netlify';
58
+ urlPatterns = ['*://app.netlify.com/*'];
59
+ tools = [
60
+ // Account
61
+ getCurrentUser,
62
+ listAccounts,
63
+ getAccount,
64
+ listAuditEvents,
65
+ // Members
66
+ listMembers,
67
+ getMember,
68
+ // Sites
69
+ listSites,
70
+ getSite,
71
+ createSite,
72
+ updateSite,
73
+ deleteSite,
74
+ // Deploys
75
+ listDeploys,
76
+ getDeploy,
77
+ lockDeploy,
78
+ unlockDeploy,
79
+ restoreDeploy,
80
+ rollbackDeploy,
81
+ // Builds
82
+ listBuilds,
83
+ createBuild,
84
+ // Environment Variables
85
+ listEnvVars,
86
+ getEnvVar,
87
+ createEnvVars,
88
+ updateEnvVar,
89
+ deleteEnvVar,
90
+ // DNS
91
+ listDnsZones,
92
+ getDnsZone,
93
+ createDnsZone,
94
+ listDnsRecords,
95
+ createDnsRecord,
96
+ deleteDnsRecord,
97
+ // Hooks
98
+ listHooks,
99
+ deleteHook,
100
+ // Build Hooks
101
+ listBuildHooks,
102
+ createBuildHook,
103
+ deleteBuildHook,
104
+ // Deploy Keys
105
+ listDeployKeys,
106
+ createDeployKey,
107
+ // Forms
108
+ listForms,
109
+ listFormSubmissions,
110
+ deleteSubmission,
111
+ ];
112
+ async isReady() {
113
+ if (isAuthenticated())
114
+ return true;
115
+ return waitForAuth();
116
+ }
117
+ }
118
+ export default new NetlifyPlugin();
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const isAuthenticated: () => boolean;
2
+ export declare const waitForAuth: () => Promise<boolean>;
3
+ interface ApiOptions {
4
+ method?: string;
5
+ body?: unknown;
6
+ query?: Record<string, string | number | boolean | undefined>;
7
+ }
8
+ export declare const api: <T>(endpoint: string, options?: ApiOptions) => Promise<T>;
9
+ export {};
10
+ //# sourceMappingURL=netlify-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlify-api.d.ts","sourceRoot":"","sources":["../src/netlify-api.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,QAAO,OAAiE,CAAC;AAErG,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,OAAO,CAUnD,CAAC;AAMF,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED,eAAO,MAAM,GAAG,GAAU,CAAC,EAAE,UAAU,MAAM,EAAE,UAAS,UAAe,KAAG,OAAO,CAAC,CAAC,CAclF,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { buildQueryString, fetchJSON, getCookie, waitUntil } from '@opentabs-dev/plugin-sdk';
2
+ // --- Auth detection ---
3
+ // Netlify uses HttpOnly session cookies (`_nf-auth`, `connect.sid`) — no explicit
4
+ // token needed. Auth is detected via the non-HttpOnly `_nf-auth-hint` cookie set
5
+ // to "user-is-likely-authed" when logged in. The session cookies are sent
6
+ // automatically via credentials: 'include' (fetchJSON default).
7
+ export const isAuthenticated = () => getCookie('_nf-auth-hint') === 'user-is-likely-authed';
8
+ export const waitForAuth = async () => {
9
+ try {
10
+ await waitUntil(() => isAuthenticated(), {
11
+ interval: 500,
12
+ timeout: 5000,
13
+ });
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ };
20
+ // --- API helpers ---
21
+ const API_BASE = '/access-control/bb-api/api/v1';
22
+ export const api = async (endpoint, options = {}) => {
23
+ const qs = options.query ? buildQueryString(options.query) : '';
24
+ const url = qs ? `${API_BASE}${endpoint}?${qs}` : `${API_BASE}${endpoint}`;
25
+ const init = {
26
+ method: options.method ?? 'GET',
27
+ };
28
+ if (options.body) {
29
+ init.headers = { 'Content-Type': 'application/json' };
30
+ init.body = JSON.stringify(options.body);
31
+ }
32
+ return fetchJSON(url, init);
33
+ };
34
+ //# sourceMappingURL=netlify-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"netlify-api.js","sourceRoot":"","sources":["../src/netlify-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAExH,yBAAyB;AACzB,kFAAkF;AAClF,iFAAiF;AACjF,0EAA0E;AAC1E,gEAAgE;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,uBAAuB,CAAC;AAErG,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAsB,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE;YACvC,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,sBAAsB;AAEtB,MAAM,QAAQ,GAAG,+BAA+B,CAAC;AAQjD,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAK,QAAgB,EAAE,UAAsB,EAAE,EAAc,EAAE;IACrF,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAE3E,MAAM,IAAI,GAAyB;QACjC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;KAChC,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,SAAS,CAAI,GAAG,EAAE,IAAI,CAAe,CAAC;AAC/C,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const createBuildHook: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ title: z.ZodString;
5
+ branch: z.ZodString;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ id: z.ZodString;
8
+ title: z.ZodString;
9
+ branch: z.ZodString;
10
+ url: z.ZodString;
11
+ site_id: z.ZodString;
12
+ created_at: z.ZodString;
13
+ }, z.core.$strip>>;
14
+ //# sourceMappingURL=create-build-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-build-hook.d.ts","sourceRoot":"","sources":["../../src/tools/create-build-hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;;kBAqB1B,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 { buildHookSchema, mapBuildHook } from './schemas.js';
5
+ export const createBuildHook = defineTool({
6
+ name: 'create_build_hook',
7
+ displayName: 'Create Build Hook',
8
+ description: 'Create a new build hook for a Netlify site. Build hooks generate a URL that triggers a new build for the specified branch when POSTed to.',
9
+ summary: 'Create a build hook',
10
+ icon: 'plus',
11
+ group: 'Hooks',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to create the build hook for'),
14
+ title: z.string().describe('Display title for the build hook'),
15
+ branch: z.string().describe('Git branch to build when the hook is triggered'),
16
+ }),
17
+ output: buildHookSchema,
18
+ handle: async (params) => {
19
+ const raw = await api(`/sites/${params.site_id}/build_hooks`, {
20
+ method: 'POST',
21
+ body: { title: params.title, branch: params.branch },
22
+ });
23
+ return mapBuildHook(raw);
24
+ },
25
+ });
26
+ //# sourceMappingURL=create-build-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-build-hook.js","sourceRoot":"","sources":["../../src/tools/create-build-hook.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,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EACT,2IAA2I;IAC7I,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;KAC9E,CAAC;IACF,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAe,UAAU,MAAM,CAAC,OAAO,cAAc,EAAE;YAC1E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACrD,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare const createBuild: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ id: z.ZodString;
6
+ deploy_id: z.ZodString;
7
+ sha: z.ZodString;
8
+ done: z.ZodBoolean;
9
+ error: z.ZodString;
10
+ created_at: z.ZodString;
11
+ }, z.core.$strip>>;
12
+ //# sourceMappingURL=create-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-build.d.ts","sourceRoot":"","sources":["../../src/tools/create-build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;kBAkBtB,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 { buildSchema, mapBuild } from './schemas.js';
5
+ export const createBuild = defineTool({
6
+ name: 'create_build',
7
+ displayName: 'Create Build',
8
+ description: 'Trigger a new build for a Netlify site. This starts a fresh build and deploy using the current site configuration and linked repository.',
9
+ summary: 'Trigger a new site build',
10
+ icon: 'play',
11
+ group: 'Builds',
12
+ input: z.object({
13
+ site_id: z.string().describe('The site ID to trigger a build for'),
14
+ }),
15
+ output: buildSchema,
16
+ handle: async (params) => {
17
+ const raw = await api(`/sites/${params.site_id}/builds`, {
18
+ method: 'POST',
19
+ });
20
+ return mapBuild(raw);
21
+ },
22
+ });
23
+ //# sourceMappingURL=create-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-build.js","sourceRoot":"","sources":["../../src/tools/create-build.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,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EACT,0IAA0I;IAC5I,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;KACnE,CAAC;IACF,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAW,UAAU,MAAM,CAAC,OAAO,SAAS,EAAE;YACjE,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ export declare const createDeployKey: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
3
+ id: z.ZodString;
4
+ public_key: z.ZodString;
5
+ created_at: z.ZodString;
6
+ }, z.core.$strip>>;
7
+ //# sourceMappingURL=create-deploy-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-deploy-key.d.ts","sourceRoot":"","sources":["../../src/tools/create-deploy-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;kBAc1B,CAAC"}
@@ -0,0 +1,19 @@
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 createDeployKey = defineTool({
6
+ name: 'create_deploy_key',
7
+ displayName: 'Create Deploy Key',
8
+ description: 'Generate a new deploy key (SSH key pair). Returns the public key which can be added to your Git provider for deploy authentication.',
9
+ summary: 'Create a new deploy key',
10
+ icon: 'plus',
11
+ group: 'Deploy Keys',
12
+ input: z.object({}),
13
+ output: deployKeySchema,
14
+ handle: async () => {
15
+ const raw = await api('/deploy_keys', { method: 'POST' });
16
+ return mapDeployKey(raw);
17
+ },
18
+ });
19
+ //# sourceMappingURL=create-deploy-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-deploy-key.js","sourceRoot":"","sources":["../../src/tools/create-deploy-key.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,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EACT,qIAAqI;IACvI,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAe,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ export declare const createDnsRecord: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ zone_id: z.ZodString;
4
+ hostname: z.ZodString;
5
+ type: z.ZodString;
6
+ value: z.ZodString;
7
+ ttl: z.ZodOptional<z.ZodNumber>;
8
+ priority: z.ZodOptional<z.ZodNumber>;
9
+ }, z.core.$strip>, z.ZodObject<{
10
+ id: z.ZodString;
11
+ hostname: z.ZodString;
12
+ type: z.ZodString;
13
+ value: z.ZodString;
14
+ ttl: z.ZodNumber;
15
+ priority: z.ZodNumber;
16
+ dns_zone_id: z.ZodString;
17
+ flag: z.ZodNumber;
18
+ tag: z.ZodString;
19
+ }, z.core.$strip>>;
20
+ //# sourceMappingURL=create-dns-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-dns-record.d.ts","sourceRoot":"","sources":["../../src/tools/create-dns-record.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;kBA+B1B,CAAC"}
@@ -0,0 +1,38 @@
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 createDnsRecord = defineTool({
6
+ name: 'create_dns_record',
7
+ displayName: 'Create DNS Record',
8
+ description: 'Create a new DNS record in a Netlify DNS zone. Supports A, AAAA, CNAME, MX, TXT, NS, and other record types. Specify hostname, type, value, and optionally TTL and priority.',
9
+ summary: 'Create a DNS record',
10
+ icon: 'plus',
11
+ group: 'DNS',
12
+ input: z.object({
13
+ zone_id: z.string().describe('The DNS zone ID to create the record in'),
14
+ hostname: z.string().describe('Fully qualified hostname for the record'),
15
+ type: z.string().describe('Record type (e.g. A, AAAA, CNAME, MX, TXT, NS)'),
16
+ value: z.string().describe('Record value (IP address, hostname, or text content)'),
17
+ ttl: z.number().optional().describe('Time to live in seconds'),
18
+ priority: z.number().optional().describe('Record priority (required for MX and SRV records)'),
19
+ }),
20
+ output: dnsRecordSchema,
21
+ handle: async (params) => {
22
+ const body = {
23
+ hostname: params.hostname,
24
+ type: params.type,
25
+ value: params.value,
26
+ };
27
+ if (params.ttl !== undefined)
28
+ body.ttl = params.ttl;
29
+ if (params.priority !== undefined)
30
+ body.priority = params.priority;
31
+ const raw = await api(`/dns_zones/${params.zone_id}/dns_records`, {
32
+ method: 'POST',
33
+ body,
34
+ });
35
+ return mapDnsRecord(raw);
36
+ },
37
+ });
38
+ //# sourceMappingURL=create-dns-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-dns-record.js","sourceRoot":"","sources":["../../src/tools/create-dns-record.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,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EACT,8KAA8K;IAChL,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACvE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QAClF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAC9F,CAAC;IACF,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;QACF,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACnE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAe,cAAc,MAAM,CAAC,OAAO,cAAc,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const createDnsZone: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_slug: z.ZodString;
4
+ name: z.ZodString;
5
+ site_id: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>, z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ account_slug: z.ZodString;
10
+ site_id: z.ZodString;
11
+ created_at: z.ZodString;
12
+ updated_at: z.ZodString;
13
+ records_count: z.ZodNumber;
14
+ dedicated: z.ZodBoolean;
15
+ }, z.core.$strip>>;
16
+ //# sourceMappingURL=create-dns-zone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-dns-zone.d.ts","sourceRoot":"","sources":["../../src/tools/create-dns-zone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;kBA0BxB,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 { dnsZoneSchema, mapDnsZone } from './schemas.js';
5
+ export const createDnsZone = defineTool({
6
+ name: 'create_dns_zone',
7
+ displayName: 'Create DNS Zone',
8
+ description: 'Create a new DNS zone for a domain in a Netlify account. Optionally associate it with a specific site. The zone manages DNS records for the domain.',
9
+ summary: 'Create a new DNS zone',
10
+ icon: 'plus',
11
+ group: 'DNS',
12
+ input: z.object({
13
+ account_slug: z.string().describe('The account slug to create the zone in'),
14
+ name: z.string().describe('The domain name for the zone (e.g. "example.com")'),
15
+ site_id: z.string().optional().describe('Optional site ID to associate the zone with'),
16
+ }),
17
+ output: dnsZoneSchema,
18
+ handle: async (params) => {
19
+ const body = {
20
+ account_slug: params.account_slug,
21
+ name: params.name,
22
+ };
23
+ if (params.site_id)
24
+ body.site_id = params.site_id;
25
+ const raw = await api('/dns_zones', {
26
+ method: 'POST',
27
+ body,
28
+ });
29
+ return mapDnsZone(raw);
30
+ },
31
+ });
32
+ //# sourceMappingURL=create-dns-zone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-dns-zone.js","sourceRoot":"","sources":["../../src/tools/create-dns-zone.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,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EACT,qJAAqJ;IACvJ,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACvF,CAAC;IACF,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAA2B;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QACF,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAa,YAAY,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ export declare const createEnvVars: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_id: z.ZodString;
4
+ site_id: z.ZodOptional<z.ZodString>;
5
+ variables: z.ZodArray<z.ZodObject<{
6
+ key: z.ZodString;
7
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
+ values: z.ZodArray<z.ZodObject<{
9
+ value: z.ZodString;
10
+ context: z.ZodString;
11
+ }, z.core.$strip>>;
12
+ is_secret: z.ZodOptional<z.ZodBoolean>;
13
+ }, z.core.$strip>>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ items: z.ZodArray<z.ZodObject<{
16
+ key: z.ZodString;
17
+ scopes: z.ZodArray<z.ZodString>;
18
+ values: z.ZodArray<z.ZodObject<{
19
+ id: z.ZodString;
20
+ value: z.ZodString;
21
+ context: z.ZodString;
22
+ context_parameter: z.ZodString;
23
+ }, z.core.$strip>>;
24
+ is_secret: z.ZodBoolean;
25
+ updated_at: z.ZodString;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>>;
28
+ //# sourceMappingURL=create-env-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-env-vars.d.ts","sourceRoot":"","sources":["../../src/tools/create-env-vars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;kBAwBxB,CAAC"}
@@ -0,0 +1,42 @@
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
+ const envVarValueInput = z.object({
6
+ value: z.string().describe('The variable value'),
7
+ context: z.string().describe('Deploy context (e.g. "all", "production", "deploy-preview", "branch-deploy", "dev")'),
8
+ });
9
+ const envVarInput = z.object({
10
+ key: z.string().describe('Environment variable name'),
11
+ scopes: z
12
+ .array(z.string())
13
+ .optional()
14
+ .describe('Scopes where the variable is available (e.g. ["builds", "functions", "runtime"])'),
15
+ values: z.array(envVarValueInput).describe('Context-specific values for this variable'),
16
+ is_secret: z.boolean().optional().describe('Whether the variable value should be masked'),
17
+ });
18
+ export const createEnvVars = defineTool({
19
+ name: 'create_env_vars',
20
+ displayName: 'Create Environment Variables',
21
+ description: 'Create one or more environment variables for a Netlify account. Each variable can have multiple context-specific values (e.g. different values for production vs deploy previews). Optionally scope to a specific site.',
22
+ summary: 'Create environment variables',
23
+ icon: 'plus',
24
+ group: 'Environment',
25
+ input: z.object({
26
+ account_id: z.string().describe('The account ID to create variables in'),
27
+ site_id: z.string().optional().describe('Optional site ID to scope variables to a specific site'),
28
+ variables: z.array(envVarInput).describe('Array of environment variables to create'),
29
+ }),
30
+ output: z.object({
31
+ items: z.array(envVarSchema).describe('List of created environment variables'),
32
+ }),
33
+ handle: async (params) => {
34
+ const raw = await api(`/accounts/${params.account_id}/env`, {
35
+ method: 'POST',
36
+ query: { site_id: params.site_id },
37
+ body: params.variables,
38
+ });
39
+ return { items: raw.map(mapEnvVar) };
40
+ },
41
+ });
42
+ //# sourceMappingURL=create-env-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-env-vars.js","sourceRoot":"","sources":["../../src/tools/create-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,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;CACpH,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACrD,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC1F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EACT,yNAAyN;IAC3N,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACjG,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KACrF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KAC/E,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAc,aAAa,MAAM,CAAC,UAAU,MAAM,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;YAClC,IAAI,EAAE,MAAM,CAAC,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ export declare const createSite: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ account_slug: z.ZodString;
4
+ name: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ id: z.ZodString;
7
+ name: z.ZodString;
8
+ state: z.ZodString;
9
+ url: z.ZodString;
10
+ ssl_url: z.ZodString;
11
+ admin_url: z.ZodString;
12
+ deploy_url: z.ZodString;
13
+ screenshot_url: z.ZodString;
14
+ custom_domain: z.ZodString;
15
+ domain_aliases: z.ZodArray<z.ZodString>;
16
+ created_at: z.ZodString;
17
+ updated_at: z.ZodString;
18
+ account_name: z.ZodString;
19
+ account_slug: z.ZodString;
20
+ git_provider: z.ZodString;
21
+ ssl: z.ZodBoolean;
22
+ force_ssl: z.ZodBoolean;
23
+ managed_dns: z.ZodBoolean;
24
+ build_image: z.ZodString;
25
+ framework: z.ZodString;
26
+ repo_url: z.ZodString;
27
+ repo_branch: z.ZodString;
28
+ build_cmd: z.ZodString;
29
+ }, z.core.$strip>>;
30
+ //# sourceMappingURL=create-site.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-site.d.ts","sourceRoot":"","sources":["../../src/tools/create-site.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoBrB,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 { siteSchema, mapSite } from './schemas.js';
5
+ export const createSite = defineTool({
6
+ name: 'create_site',
7
+ displayName: 'Create Site',
8
+ description: 'Create a new Netlify site in the specified account. Provide a site name (used as the subdomain). Returns the created site details.',
9
+ summary: 'Create a new site',
10
+ icon: 'plus',
11
+ group: 'Sites',
12
+ input: z.object({
13
+ account_slug: z.string().describe('The account slug to create the site in'),
14
+ name: z.string().describe('Site name (becomes the subdomain, e.g. "my-app" → my-app.netlify.app)'),
15
+ }),
16
+ output: siteSchema,
17
+ handle: async (params) => {
18
+ const raw = await api(`/${params.account_slug}/sites`, {
19
+ method: 'POST',
20
+ body: { name: params.name },
21
+ });
22
+ return mapSite(raw);
23
+ },
24
+ });
25
+ //# sourceMappingURL=create-site.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-site.js","sourceRoot":"","sources":["../../src/tools/create-site.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,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EACT,oIAAoI;IACtI,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;KACnG,CAAC;IACF,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAU,IAAI,MAAM,CAAC,YAAY,QAAQ,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare const deleteBuildHook: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ site_id: z.ZodString;
4
+ hook_id: z.ZodString;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ success: z.ZodBoolean;
7
+ }, z.core.$strip>>;
8
+ //# sourceMappingURL=delete-build-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-build-hook.d.ts","sourceRoot":"","sources":["../../src/tools/delete-build-hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;kBAqB1B,CAAC"}