@marktoflow/integrations 2.0.0-alpha.12

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 (181) hide show
  1. package/README.md +1341 -0
  2. package/dist/adapters/claude-agent-hooks.d.ts.map +1 -0
  3. package/dist/adapters/claude-agent-hooks.js +339 -0
  4. package/dist/adapters/claude-agent-hooks.js.map +1 -0
  5. package/dist/adapters/claude-agent-types.d.ts +426 -0
  6. package/dist/adapters/claude-agent-types.d.ts.map +1 -0
  7. package/dist/adapters/claude-agent-types.js +62 -0
  8. package/dist/adapters/claude-agent-types.js.map +1 -0
  9. package/dist/adapters/claude-agent-workflow.d.ts +393 -0
  10. package/dist/adapters/claude-agent-workflow.d.ts.map +1 -0
  11. package/dist/adapters/claude-agent-workflow.js +445 -0
  12. package/dist/adapters/claude-agent-workflow.js.map +1 -0
  13. package/dist/adapters/claude-agent.d.ts +189 -0
  14. package/dist/adapters/claude-agent.d.ts.map +1 -0
  15. package/dist/adapters/claude-agent.js +504 -0
  16. package/dist/adapters/claude-agent.js.map +1 -0
  17. package/dist/adapters/claude-code.d.ts +34 -0
  18. package/dist/adapters/claude-code.d.ts.map +1 -0
  19. package/dist/adapters/claude-code.js +89 -0
  20. package/dist/adapters/claude-code.js.map +1 -0
  21. package/dist/adapters/codex-types.d.ts +463 -0
  22. package/dist/adapters/codex-types.d.ts.map +1 -0
  23. package/dist/adapters/codex-types.js +53 -0
  24. package/dist/adapters/codex-types.js.map +1 -0
  25. package/dist/adapters/codex-workflow.d.ts +414 -0
  26. package/dist/adapters/codex-workflow.d.ts.map +1 -0
  27. package/dist/adapters/codex-workflow.js +470 -0
  28. package/dist/adapters/codex-workflow.js.map +1 -0
  29. package/dist/adapters/codex.d.ts +154 -0
  30. package/dist/adapters/codex.d.ts.map +1 -0
  31. package/dist/adapters/codex.js +416 -0
  32. package/dist/adapters/codex.js.map +1 -0
  33. package/dist/adapters/github-copilot-types.d.ts +1012 -0
  34. package/dist/adapters/github-copilot-types.d.ts.map +1 -0
  35. package/dist/adapters/github-copilot-types.js +80 -0
  36. package/dist/adapters/github-copilot-types.js.map +1 -0
  37. package/dist/adapters/github-copilot-workflow.d.ts +462 -0
  38. package/dist/adapters/github-copilot-workflow.d.ts.map +1 -0
  39. package/dist/adapters/github-copilot-workflow.js +473 -0
  40. package/dist/adapters/github-copilot-workflow.js.map +1 -0
  41. package/dist/adapters/github-copilot.d.ts +280 -0
  42. package/dist/adapters/github-copilot.d.ts.map +1 -0
  43. package/dist/adapters/github-copilot.js +468 -0
  44. package/dist/adapters/github-copilot.js.map +1 -0
  45. package/dist/adapters/ollama.d.ts.map +1 -0
  46. package/dist/adapters/ollama.js +9 -0
  47. package/dist/adapters/ollama.js.map +1 -0
  48. package/dist/adapters/opencode.d.ts +41 -0
  49. package/dist/adapters/opencode.d.ts.map +1 -0
  50. package/dist/adapters/opencode.js +148 -0
  51. package/dist/adapters/opencode.js.map +1 -0
  52. package/dist/index.d.ts +52 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +161 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/services/ai-browser.d.ts +112 -0
  57. package/dist/services/ai-browser.d.ts.map +1 -0
  58. package/dist/services/ai-browser.js +363 -0
  59. package/dist/services/ai-browser.js.map +1 -0
  60. package/dist/services/airtable.d.ts.map +1 -0
  61. package/dist/services/airtable.js +295 -0
  62. package/dist/services/airtable.js.map +1 -0
  63. package/dist/services/asana.d.ts +159 -0
  64. package/dist/services/asana.d.ts.map +1 -0
  65. package/dist/services/asana.js +196 -0
  66. package/dist/services/asana.js.map +1 -0
  67. package/dist/services/aws-s3.d.ts +89 -0
  68. package/dist/services/aws-s3.d.ts.map +1 -0
  69. package/dist/services/aws-s3.js +154 -0
  70. package/dist/services/aws-s3.js.map +1 -0
  71. package/dist/services/confluence.d.ts.map +1 -0
  72. package/dist/services/confluence.js +356 -0
  73. package/dist/services/confluence.js.map +1 -0
  74. package/dist/services/discord.d.ts.map +1 -0
  75. package/dist/services/discord.js +279 -0
  76. package/dist/services/discord.js.map +1 -0
  77. package/dist/services/dropbox.d.ts +134 -0
  78. package/dist/services/dropbox.d.ts.map +1 -0
  79. package/dist/services/dropbox.js +190 -0
  80. package/dist/services/dropbox.js.map +1 -0
  81. package/dist/services/github.d.ts.map +1 -0
  82. package/dist/services/github.js +13 -0
  83. package/dist/services/github.js.map +1 -0
  84. package/dist/services/gmail-trigger.d.ts.map +1 -0
  85. package/dist/services/gmail-trigger.js +172 -0
  86. package/dist/services/gmail-trigger.js.map +1 -0
  87. package/dist/services/gmail.d.ts.map +1 -0
  88. package/dist/services/gmail.js +372 -0
  89. package/dist/services/gmail.js.map +1 -0
  90. package/dist/services/google-calendar.d.ts.map +1 -0
  91. package/dist/services/google-calendar.js +357 -0
  92. package/dist/services/google-calendar.js.map +1 -0
  93. package/dist/services/google-docs.d.ts.map +1 -0
  94. package/dist/services/google-docs.js +332 -0
  95. package/dist/services/google-docs.js.map +1 -0
  96. package/dist/services/google-drive.d.ts.map +1 -0
  97. package/dist/services/google-drive.js +327 -0
  98. package/dist/services/google-drive.js.map +1 -0
  99. package/dist/services/google-sheets.d.ts.map +1 -0
  100. package/dist/services/google-sheets.js +391 -0
  101. package/dist/services/google-sheets.js.map +1 -0
  102. package/dist/services/http.d.ts.map +1 -0
  103. package/dist/services/http.js +284 -0
  104. package/dist/services/http.js.map +1 -0
  105. package/dist/services/jira.d.ts.map +1 -0
  106. package/dist/services/jira.js +35 -0
  107. package/dist/services/jira.js.map +1 -0
  108. package/dist/services/linear.d.ts.map +1 -0
  109. package/dist/services/linear.js +326 -0
  110. package/dist/services/linear.js.map +1 -0
  111. package/dist/services/mailchimp.d.ts +169 -0
  112. package/dist/services/mailchimp.d.ts.map +1 -0
  113. package/dist/services/mailchimp.js +180 -0
  114. package/dist/services/mailchimp.js.map +1 -0
  115. package/dist/services/mysql.d.ts.map +1 -0
  116. package/dist/services/mysql.js +250 -0
  117. package/dist/services/mysql.js.map +1 -0
  118. package/dist/services/notion.d.ts.map +1 -0
  119. package/dist/services/notion.js +358 -0
  120. package/dist/services/notion.js.map +1 -0
  121. package/dist/services/outlook-trigger.d.ts.map +1 -0
  122. package/dist/services/outlook-trigger.js +204 -0
  123. package/dist/services/outlook-trigger.js.map +1 -0
  124. package/dist/services/outlook.d.ts.map +1 -0
  125. package/dist/services/outlook.js +486 -0
  126. package/dist/services/outlook.js.map +1 -0
  127. package/dist/services/playwright.d.ts +678 -0
  128. package/dist/services/playwright.d.ts.map +1 -0
  129. package/dist/services/playwright.js +1141 -0
  130. package/dist/services/playwright.js.map +1 -0
  131. package/dist/services/postgres.d.ts.map +1 -0
  132. package/dist/services/postgres.js +230 -0
  133. package/dist/services/postgres.js.map +1 -0
  134. package/dist/services/sendgrid.d.ts +43 -0
  135. package/dist/services/sendgrid.d.ts.map +1 -0
  136. package/dist/services/sendgrid.js +87 -0
  137. package/dist/services/sendgrid.js.map +1 -0
  138. package/dist/services/shopify.d.ts +160 -0
  139. package/dist/services/shopify.d.ts.map +1 -0
  140. package/dist/services/shopify.js +166 -0
  141. package/dist/services/shopify.js.map +1 -0
  142. package/dist/services/slack-socket.d.ts.map +1 -0
  143. package/dist/services/slack-socket.js +48 -0
  144. package/dist/services/slack-socket.js.map +1 -0
  145. package/dist/services/slack.d.ts.map +1 -0
  146. package/dist/services/slack.js +11 -0
  147. package/dist/services/slack.js.map +1 -0
  148. package/dist/services/stripe.d.ts +275 -0
  149. package/dist/services/stripe.d.ts.map +1 -0
  150. package/dist/services/stripe.js +229 -0
  151. package/dist/services/stripe.js.map +1 -0
  152. package/dist/services/supabase.d.ts.map +1 -0
  153. package/dist/services/supabase.js +328 -0
  154. package/dist/services/supabase.js.map +1 -0
  155. package/dist/services/teams.d.ts +224 -0
  156. package/dist/services/teams.d.ts.map +1 -0
  157. package/dist/services/teams.js +229 -0
  158. package/dist/services/teams.js.map +1 -0
  159. package/dist/services/telegram.d.ts.map +1 -0
  160. package/dist/services/telegram.js +247 -0
  161. package/dist/services/telegram.js.map +1 -0
  162. package/dist/services/trello.d.ts +160 -0
  163. package/dist/services/trello.d.ts.map +1 -0
  164. package/dist/services/trello.js +194 -0
  165. package/dist/services/trello.js.map +1 -0
  166. package/dist/services/twilio.d.ts +126 -0
  167. package/dist/services/twilio.d.ts.map +1 -0
  168. package/dist/services/twilio.js +153 -0
  169. package/dist/services/twilio.js.map +1 -0
  170. package/dist/services/whatsapp.d.ts.map +1 -0
  171. package/dist/services/whatsapp.js +253 -0
  172. package/dist/services/whatsapp.js.map +1 -0
  173. package/dist/services/zendesk.d.ts +134 -0
  174. package/dist/services/zendesk.d.ts.map +1 -0
  175. package/dist/services/zendesk.js +148 -0
  176. package/dist/services/zendesk.js.map +1 -0
  177. package/dist/tools/script.d.ts +21 -0
  178. package/dist/tools/script.d.ts.map +1 -0
  179. package/dist/tools/script.js +136 -0
  180. package/dist/tools/script.js.map +1 -0
  181. package/package.json +98 -0
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Zendesk Integration
3
+ *
4
+ * Customer support and ticketing platform.
5
+ * API Docs: https://developer.zendesk.com/api-reference/
6
+ * SDK: https://github.com/blakmatrix/node-zendesk
7
+ */
8
+ import { SDKInitializer } from '@marktoflow/core';
9
+ export interface ZendeskTicket {
10
+ id?: number;
11
+ subject: string;
12
+ comment: {
13
+ body: string;
14
+ html_body?: string;
15
+ public?: boolean;
16
+ };
17
+ requester_id?: number;
18
+ submitter_id?: number;
19
+ assignee_id?: number;
20
+ priority?: 'low' | 'normal' | 'high' | 'urgent';
21
+ status?: 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed';
22
+ tags?: string[];
23
+ type?: 'problem' | 'incident' | 'question' | 'task';
24
+ }
25
+ export interface ZendeskUser {
26
+ id?: number;
27
+ name: string;
28
+ email: string;
29
+ phone?: string;
30
+ role?: 'end-user' | 'agent' | 'admin';
31
+ verified?: boolean;
32
+ tags?: string[];
33
+ }
34
+ export interface SearchOptions {
35
+ query: string;
36
+ sort_by?: string;
37
+ sort_order?: 'asc' | 'desc';
38
+ }
39
+ /**
40
+ * Zendesk client wrapper for workflow integration
41
+ */
42
+ export declare class ZendeskClient {
43
+ private client;
44
+ constructor(client: any);
45
+ /**
46
+ * List tickets
47
+ */
48
+ listTickets(options?: {
49
+ per_page?: number;
50
+ page?: number;
51
+ }): Promise<any>;
52
+ /**
53
+ * Get ticket by ID
54
+ */
55
+ getTicket(ticketId: number): Promise<any>;
56
+ /**
57
+ * Create ticket
58
+ */
59
+ createTicket(ticket: ZendeskTicket): Promise<any>;
60
+ /**
61
+ * Update ticket
62
+ */
63
+ updateTicket(ticketId: number, ticket: Partial<ZendeskTicket>): Promise<any>;
64
+ /**
65
+ * Delete ticket
66
+ */
67
+ deleteTicket(ticketId: number): Promise<any>;
68
+ /**
69
+ * Add comment to ticket
70
+ */
71
+ addComment(ticketId: number, comment: {
72
+ body: string;
73
+ public?: boolean;
74
+ }): Promise<any>;
75
+ /**
76
+ * List users
77
+ */
78
+ listUsers(options?: {
79
+ per_page?: number;
80
+ page?: number;
81
+ role?: string;
82
+ }): Promise<any>;
83
+ /**
84
+ * Get user by ID
85
+ */
86
+ getUser(userId: number): Promise<any>;
87
+ /**
88
+ * Create user
89
+ */
90
+ createUser(user: ZendeskUser): Promise<any>;
91
+ /**
92
+ * Update user
93
+ */
94
+ updateUser(userId: number, user: Partial<ZendeskUser>): Promise<any>;
95
+ /**
96
+ * Delete user
97
+ */
98
+ deleteUser(userId: number): Promise<any>;
99
+ /**
100
+ * Search users
101
+ */
102
+ searchUsers(query: string): Promise<any>;
103
+ /**
104
+ * Search across Zendesk
105
+ */
106
+ search(options: SearchOptions): Promise<any>;
107
+ /**
108
+ * List organizations
109
+ */
110
+ listOrganizations(options?: {
111
+ per_page?: number;
112
+ page?: number;
113
+ }): Promise<any>;
114
+ /**
115
+ * Get organization by ID
116
+ */
117
+ getOrganization(orgId: number): Promise<any>;
118
+ /**
119
+ * Create organization
120
+ */
121
+ createOrganization(organization: {
122
+ name: string;
123
+ tags?: string[];
124
+ }): Promise<any>;
125
+ /**
126
+ * Update organization
127
+ */
128
+ updateOrganization(orgId: number, organization: Partial<{
129
+ name: string;
130
+ tags?: string[];
131
+ }>): Promise<any>;
132
+ }
133
+ export declare const ZendeskInitializer: SDKInitializer;
134
+ //# sourceMappingURL=zendesk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zendesk.d.ts","sourceRoot":"","sources":["../../src/services/zendesk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Zendesk Integration
3
+ *
4
+ * Customer support and ticketing platform.
5
+ * API Docs: https://developer.zendesk.com/api-reference/
6
+ * SDK: https://github.com/blakmatrix/node-zendesk
7
+ */
8
+ import zendesk from 'node-zendesk';
9
+ /**
10
+ * Zendesk client wrapper for workflow integration
11
+ */
12
+ export class ZendeskClient {
13
+ client;
14
+ constructor(client) {
15
+ this.client = client;
16
+ }
17
+ // ==================== Tickets ====================
18
+ /**
19
+ * List tickets
20
+ */
21
+ async listTickets(options) {
22
+ return await this.client.tickets.list(options);
23
+ }
24
+ /**
25
+ * Get ticket by ID
26
+ */
27
+ async getTicket(ticketId) {
28
+ return await this.client.tickets.show(ticketId);
29
+ }
30
+ /**
31
+ * Create ticket
32
+ */
33
+ async createTicket(ticket) {
34
+ return await this.client.tickets.create({ ticket });
35
+ }
36
+ /**
37
+ * Update ticket
38
+ */
39
+ async updateTicket(ticketId, ticket) {
40
+ return await this.client.tickets.update(ticketId, { ticket });
41
+ }
42
+ /**
43
+ * Delete ticket
44
+ */
45
+ async deleteTicket(ticketId) {
46
+ return await this.client.tickets.delete(ticketId);
47
+ }
48
+ /**
49
+ * Add comment to ticket
50
+ */
51
+ async addComment(ticketId, comment) {
52
+ return await this.client.tickets.update(ticketId, {
53
+ ticket: {
54
+ comment,
55
+ },
56
+ });
57
+ }
58
+ // ==================== Users ====================
59
+ /**
60
+ * List users
61
+ */
62
+ async listUsers(options) {
63
+ return await this.client.users.list(options);
64
+ }
65
+ /**
66
+ * Get user by ID
67
+ */
68
+ async getUser(userId) {
69
+ return await this.client.users.show(userId);
70
+ }
71
+ /**
72
+ * Create user
73
+ */
74
+ async createUser(user) {
75
+ return await this.client.users.create({ user });
76
+ }
77
+ /**
78
+ * Update user
79
+ */
80
+ async updateUser(userId, user) {
81
+ return await this.client.users.update(userId, { user });
82
+ }
83
+ /**
84
+ * Delete user
85
+ */
86
+ async deleteUser(userId) {
87
+ return await this.client.users.delete(userId);
88
+ }
89
+ /**
90
+ * Search users
91
+ */
92
+ async searchUsers(query) {
93
+ return await this.client.search.query(query, 'user');
94
+ }
95
+ // ==================== Search ====================
96
+ /**
97
+ * Search across Zendesk
98
+ */
99
+ async search(options) {
100
+ return await this.client.search.query(options.query, undefined, options.sort_by, options.sort_order);
101
+ }
102
+ // ==================== Organizations ====================
103
+ /**
104
+ * List organizations
105
+ */
106
+ async listOrganizations(options) {
107
+ return await this.client.organizations.list(options);
108
+ }
109
+ /**
110
+ * Get organization by ID
111
+ */
112
+ async getOrganization(orgId) {
113
+ return await this.client.organizations.show(orgId);
114
+ }
115
+ /**
116
+ * Create organization
117
+ */
118
+ async createOrganization(organization) {
119
+ return await this.client.organizations.create({ organization });
120
+ }
121
+ /**
122
+ * Update organization
123
+ */
124
+ async updateOrganization(orgId, organization) {
125
+ return await this.client.organizations.update(orgId, { organization });
126
+ }
127
+ }
128
+ export const ZendeskInitializer = {
129
+ async initialize(_module, config) {
130
+ const subdomain = config.auth?.['subdomain'];
131
+ const email = config.auth?.['email'];
132
+ const token = config.auth?.['token'];
133
+ if (!subdomain || !email || !token) {
134
+ throw new Error('Zendesk SDK requires auth.subdomain, auth.email, and auth.token');
135
+ }
136
+ const client = zendesk.createClient({
137
+ username: email,
138
+ token: token,
139
+ subdomain: subdomain,
140
+ });
141
+ const wrapper = new ZendeskClient(client);
142
+ return {
143
+ client: wrapper,
144
+ actions: wrapper,
145
+ };
146
+ },
147
+ };
148
+ //# sourceMappingURL=zendesk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zendesk.js","sourceRoot":"","sources":["../../src/services/zendesk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { SDKInitializer } from '@marktoflow/core';
2
+ /**
3
+ * Inline script executor that runs JavaScript code in a sandboxed context
4
+ */
5
+ export declare class InlineScriptClient {
6
+ private timeout;
7
+ constructor(timeout?: number);
8
+ /**
9
+ * Execute inline JavaScript code
10
+ *
11
+ * @param params.code - JavaScript code to execute
12
+ * @param params.context - Optional context object available as `context` in the script
13
+ * @returns The result of the code execution
14
+ */
15
+ execute(params: {
16
+ code: string;
17
+ context?: Record<string, unknown>;
18
+ }): Promise<unknown>;
19
+ }
20
+ export declare const ScriptInitializer: SDKInitializer;
21
+ //# sourceMappingURL=script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/tools/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1E;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAc;IAInC;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAsG7F;AAED,eAAO,MAAM,iBAAiB,EAAE,cA2B/B,CAAC"}
@@ -0,0 +1,136 @@
1
+ import { ScriptTool } from '@marktoflow/core';
2
+ import vm from 'node:vm';
3
+ /**
4
+ * Inline script executor that runs JavaScript code in a sandboxed context
5
+ */
6
+ export class InlineScriptClient {
7
+ timeout;
8
+ constructor(timeout = 30000) {
9
+ this.timeout = timeout;
10
+ }
11
+ /**
12
+ * Execute inline JavaScript code
13
+ *
14
+ * @param params.code - JavaScript code to execute
15
+ * @param params.context - Optional context object available as `context` in the script
16
+ * @returns The result of the code execution
17
+ */
18
+ async execute(params) {
19
+ const { code, context = {} } = params;
20
+ if (!code || typeof code !== 'string') {
21
+ throw new Error('script.execute requires a "code" parameter with JavaScript code');
22
+ }
23
+ return new Promise((resolve, reject) => {
24
+ let isResolved = false;
25
+ let timeoutId;
26
+ const safeResolve = (value) => {
27
+ if (!isResolved) {
28
+ isResolved = true;
29
+ clearTimeout(timeoutId);
30
+ resolve(value);
31
+ }
32
+ };
33
+ const safeReject = (error) => {
34
+ if (!isResolved) {
35
+ isResolved = true;
36
+ clearTimeout(timeoutId);
37
+ reject(error);
38
+ }
39
+ };
40
+ // Set up timeout
41
+ timeoutId = setTimeout(() => {
42
+ safeReject(new Error(`Script execution timed out after ${this.timeout}ms`));
43
+ }, this.timeout);
44
+ // Create a sandbox with common utilities
45
+ const sandbox = {
46
+ // Provide the workflow context
47
+ context,
48
+ // Common utilities
49
+ console: {
50
+ log: (...args) => console.log('[script]', ...args),
51
+ error: (...args) => console.error('[script]', ...args),
52
+ warn: (...args) => console.warn('[script]', ...args),
53
+ info: (...args) => console.info('[script]', ...args),
54
+ },
55
+ JSON,
56
+ Date,
57
+ Math,
58
+ Array,
59
+ Object,
60
+ String,
61
+ Number,
62
+ Boolean,
63
+ RegExp,
64
+ Error,
65
+ Promise,
66
+ Map,
67
+ Set,
68
+ Buffer,
69
+ setTimeout: (fn, ms) => setTimeout(fn, ms),
70
+ clearTimeout: (id) => clearTimeout(id),
71
+ setInterval: (fn, ms) => setInterval(fn, ms),
72
+ clearInterval: (id) => clearInterval(id),
73
+ // For promise resolution
74
+ __safeResolve__: safeResolve,
75
+ __safeReject__: safeReject,
76
+ };
77
+ // Create a new VM context for isolation
78
+ const vmContext = vm.createContext(sandbox);
79
+ // Wrap the code to handle both sync and async returns
80
+ const wrappedCode = `
81
+ (async () => {
82
+ try {
83
+ const __userCode__ = async () => {
84
+ ${code}
85
+ };
86
+ const __result__ = await __userCode__();
87
+ __safeResolve__(__result__);
88
+ } catch (__error__) {
89
+ __safeReject__(__error__);
90
+ }
91
+ })();
92
+ `;
93
+ try {
94
+ // Compile and run the script
95
+ const script = new vm.Script(wrappedCode, {
96
+ filename: 'inline-script.js',
97
+ });
98
+ script.runInContext(vmContext);
99
+ }
100
+ catch (error) {
101
+ if (error instanceof Error) {
102
+ safeReject(new Error(`Script compilation failed: ${error.message}`));
103
+ }
104
+ else {
105
+ safeReject(error);
106
+ }
107
+ }
108
+ });
109
+ }
110
+ }
111
+ export const ScriptInitializer = {
112
+ async initialize(_module, config) {
113
+ const scriptPath = config.options?.['path'];
114
+ if (!scriptPath) {
115
+ throw new Error('Script integration requires options.path');
116
+ }
117
+ // Handle inline script execution
118
+ if (scriptPath === 'inline') {
119
+ const timeout = config.options?.['timeout'] || 30000;
120
+ return new InlineScriptClient(timeout);
121
+ }
122
+ // Handle external script files
123
+ const toolsDir = config.options?.['toolsDir'];
124
+ const tool = new ScriptTool(scriptPath, toolsDir);
125
+ // We return a proxy that maps method calls to tool.execute(method, args)
126
+ return new Proxy(tool, {
127
+ get: (target, prop) => {
128
+ if (typeof prop === 'string' && prop !== 'then') {
129
+ return (params) => target.execute(prop, params);
130
+ }
131
+ return Reflect.get(target, prop);
132
+ },
133
+ });
134
+ },
135
+ };
136
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/tools/script.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,98 @@
1
+ {
2
+ "name": "@marktoflow/integrations",
3
+ "version": "2.0.0-alpha.12",
4
+ "description": "Standard integrations for marktoflow",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/marktoflow/marktoflow.git",
11
+ "directory": "packages/integrations"
12
+ },
13
+ "homepage": "https://github.com/marktoflow/marktoflow#readme",
14
+ "bugs": {
15
+ "url": "https://github.com/marktoflow/marktoflow/issues"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "test": "vitest run",
26
+ "lint": "tsc --noEmit",
27
+ "clean": "rm -rf dist"
28
+ },
29
+ "dependencies": {
30
+ "@aws-sdk/client-s3": "^3.712.0",
31
+ "@github/copilot-sdk": "^0.1.18",
32
+ "@mailchimp/mailchimp_marketing": "^3.0.80",
33
+ "@marktoflow/core": "2.0.0-alpha.12",
34
+ "@microsoft/microsoft-graph-client": "^3.0.7",
35
+ "@octokit/rest": "^22.0.1",
36
+ "@openai/codex-sdk": "^0.91.0",
37
+ "@opencode-ai/sdk": "^1.1.34",
38
+ "@sendgrid/mail": "^8.1.4",
39
+ "@shopify/shopify-api": "^11.7.1",
40
+ "@slack/bolt": "^4.0.0",
41
+ "@slack/web-api": "^7.8.0",
42
+ "asana": "^3.0.11",
43
+ "dropbox": "^10.34.0",
44
+ "googleapis": "^140.0.0",
45
+ "jira-client": "^8.2.2",
46
+ "jira.js": "^5.2.2",
47
+ "mysql2": "^3.11.5",
48
+ "node-zendesk": "^6.0.1",
49
+ "ollama": "^0.6.3",
50
+ "pg": "^8.13.1",
51
+ "playwright": "^1.50.0",
52
+ "stripe": "^18.4.0",
53
+ "trello": "^0.11.0",
54
+ "twilio": "^5.3.6",
55
+ "zod": "^3.24.0"
56
+ },
57
+ "optionalDependencies": {
58
+ "@anthropic-ai/claude-agent-sdk": ">=0.1.0",
59
+ "@browserbasehq/stagehand": ">=2.0.0"
60
+ },
61
+ "peerDependencies": {
62
+ "typescript": "^5.0.0"
63
+ },
64
+ "files": [
65
+ "dist",
66
+ "README.md"
67
+ ],
68
+ "keywords": [
69
+ "marktoflow",
70
+ "integration",
71
+ "slack",
72
+ "github",
73
+ "jira",
74
+ "gmail",
75
+ "outlook",
76
+ "google-sheets",
77
+ "google-calendar",
78
+ "google-drive",
79
+ "google-docs",
80
+ "telegram",
81
+ "whatsapp",
82
+ "airtable",
83
+ "discord",
84
+ "supabase",
85
+ "postgres",
86
+ "mysql",
87
+ "playwright",
88
+ "browser-automation",
89
+ "web-scraping",
90
+ "stagehand",
91
+ "ai-automation"
92
+ ],
93
+ "author": "Scott Glover",
94
+ "license": "Apache-2.0",
95
+ "devDependencies": {
96
+ "@types/pg": "^8.16.0"
97
+ }
98
+ }