@marktoflow/integrations 2.0.0-alpha.7 → 2.0.0-alpha.9

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 (130) hide show
  1. package/README.md +738 -9
  2. package/dist/adapters/claude-agent-hooks.d.ts +176 -0
  3. package/dist/adapters/claude-agent-hooks.d.ts.map +1 -0
  4. package/dist/adapters/claude-agent-hooks.js +339 -0
  5. package/dist/adapters/claude-agent-hooks.js.map +1 -0
  6. package/dist/adapters/claude-agent-types.d.ts +426 -0
  7. package/dist/adapters/claude-agent-types.d.ts.map +1 -0
  8. package/dist/adapters/claude-agent-types.js +62 -0
  9. package/dist/adapters/claude-agent-types.js.map +1 -0
  10. package/dist/adapters/claude-agent-workflow.d.ts +393 -0
  11. package/dist/adapters/claude-agent-workflow.d.ts.map +1 -0
  12. package/dist/adapters/claude-agent-workflow.js +445 -0
  13. package/dist/adapters/claude-agent-workflow.js.map +1 -0
  14. package/dist/adapters/claude-agent.d.ts +171 -0
  15. package/dist/adapters/claude-agent.d.ts.map +1 -0
  16. package/dist/adapters/claude-agent.js +468 -0
  17. package/dist/adapters/claude-agent.js.map +1 -0
  18. package/dist/adapters/codex-types.d.ts +463 -0
  19. package/dist/adapters/codex-types.d.ts.map +1 -0
  20. package/dist/adapters/codex-types.js +53 -0
  21. package/dist/adapters/codex-types.js.map +1 -0
  22. package/dist/adapters/codex-workflow.d.ts +414 -0
  23. package/dist/adapters/codex-workflow.d.ts.map +1 -0
  24. package/dist/adapters/codex-workflow.js +470 -0
  25. package/dist/adapters/codex-workflow.js.map +1 -0
  26. package/dist/adapters/codex.d.ts +136 -0
  27. package/dist/adapters/codex.d.ts.map +1 -0
  28. package/dist/adapters/codex.js +390 -0
  29. package/dist/adapters/codex.js.map +1 -0
  30. package/dist/adapters/github-copilot-types.d.ts +1012 -0
  31. package/dist/adapters/github-copilot-types.d.ts.map +1 -0
  32. package/dist/adapters/github-copilot-types.js +80 -0
  33. package/dist/adapters/github-copilot-types.js.map +1 -0
  34. package/dist/adapters/github-copilot-workflow.d.ts +462 -0
  35. package/dist/adapters/github-copilot-workflow.d.ts.map +1 -0
  36. package/dist/adapters/github-copilot-workflow.js +473 -0
  37. package/dist/adapters/github-copilot-workflow.js.map +1 -0
  38. package/dist/adapters/github-copilot.d.ts +221 -37
  39. package/dist/adapters/github-copilot.d.ts.map +1 -1
  40. package/dist/adapters/github-copilot.js +336 -58
  41. package/dist/adapters/github-copilot.js.map +1 -1
  42. package/dist/adapters/opencode.d.ts +2 -0
  43. package/dist/adapters/opencode.d.ts.map +1 -1
  44. package/dist/adapters/opencode.js +6 -0
  45. package/dist/adapters/opencode.js.map +1 -1
  46. package/dist/index.d.ts +21 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +59 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/services/ai-browser.d.ts +112 -0
  51. package/dist/services/ai-browser.d.ts.map +1 -0
  52. package/dist/services/ai-browser.js +363 -0
  53. package/dist/services/ai-browser.js.map +1 -0
  54. package/dist/services/asana.d.ts +159 -0
  55. package/dist/services/asana.d.ts.map +1 -0
  56. package/dist/services/asana.js +196 -0
  57. package/dist/services/asana.js.map +1 -0
  58. package/dist/services/aws-s3.d.ts +89 -0
  59. package/dist/services/aws-s3.d.ts.map +1 -0
  60. package/dist/services/aws-s3.js +154 -0
  61. package/dist/services/aws-s3.js.map +1 -0
  62. package/dist/services/dropbox.d.ts +134 -0
  63. package/dist/services/dropbox.d.ts.map +1 -0
  64. package/dist/services/dropbox.js +190 -0
  65. package/dist/services/dropbox.js.map +1 -0
  66. package/dist/services/mailchimp.d.ts +169 -0
  67. package/dist/services/mailchimp.d.ts.map +1 -0
  68. package/dist/services/mailchimp.js +180 -0
  69. package/dist/services/mailchimp.js.map +1 -0
  70. package/dist/services/playwright.d.ts +678 -0
  71. package/dist/services/playwright.d.ts.map +1 -0
  72. package/dist/services/playwright.js +1141 -0
  73. package/dist/services/playwright.js.map +1 -0
  74. package/dist/services/sendgrid.d.ts +43 -0
  75. package/dist/services/sendgrid.d.ts.map +1 -0
  76. package/dist/services/sendgrid.js +87 -0
  77. package/dist/services/sendgrid.js.map +1 -0
  78. package/dist/services/shopify.d.ts +160 -0
  79. package/dist/services/shopify.d.ts.map +1 -0
  80. package/dist/services/shopify.js +166 -0
  81. package/dist/services/shopify.js.map +1 -0
  82. package/dist/services/stripe.d.ts +275 -0
  83. package/dist/services/stripe.d.ts.map +1 -0
  84. package/dist/services/stripe.js +229 -0
  85. package/dist/services/stripe.js.map +1 -0
  86. package/dist/services/teams.d.ts +224 -0
  87. package/dist/services/teams.d.ts.map +1 -0
  88. package/dist/services/teams.js +229 -0
  89. package/dist/services/teams.js.map +1 -0
  90. package/dist/services/trello.d.ts +160 -0
  91. package/dist/services/trello.d.ts.map +1 -0
  92. package/dist/services/trello.js +194 -0
  93. package/dist/services/trello.js.map +1 -0
  94. package/dist/services/twilio.d.ts +126 -0
  95. package/dist/services/twilio.d.ts.map +1 -0
  96. package/dist/services/twilio.js +153 -0
  97. package/dist/services/twilio.js.map +1 -0
  98. package/dist/services/zendesk.d.ts +134 -0
  99. package/dist/services/zendesk.d.ts.map +1 -0
  100. package/dist/services/zendesk.js +148 -0
  101. package/dist/services/zendesk.js.map +1 -0
  102. package/package.json +26 -4
  103. package/dist/claude-code.d.ts +0 -16
  104. package/dist/claude-code.d.ts.map +0 -1
  105. package/dist/claude-code.js +0 -56
  106. package/dist/claude-code.js.map +0 -1
  107. package/dist/github.d.ts +0 -3
  108. package/dist/github.d.ts.map +0 -1
  109. package/dist/github.js +0 -13
  110. package/dist/github.js.map +0 -1
  111. package/dist/jira.d.ts +0 -3
  112. package/dist/jira.d.ts.map +0 -1
  113. package/dist/jira.js +0 -21
  114. package/dist/jira.js.map +0 -1
  115. package/dist/ollama.d.ts +0 -3
  116. package/dist/ollama.d.ts.map +0 -1
  117. package/dist/ollama.js +0 -9
  118. package/dist/ollama.js.map +0 -1
  119. package/dist/opencode.d.ts +0 -19
  120. package/dist/opencode.d.ts.map +0 -1
  121. package/dist/opencode.js +0 -104
  122. package/dist/opencode.js.map +0 -1
  123. package/dist/script.d.ts +0 -3
  124. package/dist/script.d.ts.map +0 -1
  125. package/dist/script.js +0 -21
  126. package/dist/script.js.map +0 -1
  127. package/dist/slack.d.ts +0 -3
  128. package/dist/slack.d.ts.map +0 -1
  129. package/dist/slack.js +0 -11
  130. package/dist/slack.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Asana Integration
3
+ *
4
+ * Project and task management platform.
5
+ * API Docs: https://developers.asana.com/docs
6
+ * SDK: https://github.com/Asana/node-asana
7
+ */
8
+ import asana from 'asana';
9
+ import { SDKInitializer } from '@marktoflow/core';
10
+ export interface AsanaTask {
11
+ gid?: string;
12
+ name: string;
13
+ notes?: string;
14
+ assignee?: string;
15
+ due_on?: string;
16
+ due_at?: string;
17
+ completed?: boolean;
18
+ projects?: string[];
19
+ tags?: string[];
20
+ workspace?: string;
21
+ }
22
+ export interface AsanaProject {
23
+ gid?: string;
24
+ name: string;
25
+ notes?: string;
26
+ workspace?: string;
27
+ team?: string;
28
+ archived?: boolean;
29
+ public?: boolean;
30
+ color?: string;
31
+ }
32
+ export interface AsanaSection {
33
+ gid?: string;
34
+ name: string;
35
+ project: string;
36
+ }
37
+ /**
38
+ * Asana client wrapper for workflow integration
39
+ */
40
+ export declare class AsanaClient {
41
+ private client;
42
+ constructor(client: asana.Client);
43
+ /**
44
+ * Get task by ID
45
+ */
46
+ getTask(taskGid: string): Promise<any>;
47
+ /**
48
+ * Create task
49
+ */
50
+ createTask(task: AsanaTask): Promise<any>;
51
+ /**
52
+ * Update task
53
+ */
54
+ updateTask(taskGid: string, task: Partial<AsanaTask>): Promise<any>;
55
+ /**
56
+ * Delete task
57
+ */
58
+ deleteTask(taskGid: string): Promise<any>;
59
+ /**
60
+ * Get tasks in project
61
+ */
62
+ getTasksInProject(projectGid: string, options?: {
63
+ opt_fields?: string;
64
+ }): Promise<any>;
65
+ /**
66
+ * Get tasks for user
67
+ */
68
+ getTasksForUser(userGid: string, workspace: string, options?: {
69
+ opt_fields?: string;
70
+ }): Promise<any>;
71
+ /**
72
+ * Add comment to task
73
+ */
74
+ addComment(taskGid: string, text: string): Promise<any>;
75
+ /**
76
+ * Get project by ID
77
+ */
78
+ getProject(projectGid: string): Promise<any>;
79
+ /**
80
+ * Create project
81
+ */
82
+ createProject(project: AsanaProject): Promise<any>;
83
+ /**
84
+ * Update project
85
+ */
86
+ updateProject(projectGid: string, project: Partial<AsanaProject>): Promise<any>;
87
+ /**
88
+ * Delete project
89
+ */
90
+ deleteProject(projectGid: string): Promise<any>;
91
+ /**
92
+ * Get projects in workspace
93
+ */
94
+ getProjectsInWorkspace(workspaceGid: string, options?: {
95
+ opt_fields?: string;
96
+ archived?: boolean;
97
+ }): Promise<any>;
98
+ /**
99
+ * Get projects in team
100
+ */
101
+ getProjectsInTeam(teamGid: string, options?: {
102
+ opt_fields?: string;
103
+ archived?: boolean;
104
+ }): Promise<any>;
105
+ /**
106
+ * Get sections in project
107
+ */
108
+ getSectionsInProject(projectGid: string): Promise<any>;
109
+ /**
110
+ * Create section
111
+ */
112
+ createSection(section: AsanaSection): Promise<any>;
113
+ /**
114
+ * Update section
115
+ */
116
+ updateSection(sectionGid: string, name: string): Promise<any>;
117
+ /**
118
+ * Delete section
119
+ */
120
+ deleteSection(sectionGid: string): Promise<any>;
121
+ /**
122
+ * Add task to section
123
+ */
124
+ addTaskToSection(sectionGid: string, taskGid: string): Promise<any>;
125
+ /**
126
+ * Get workspaces
127
+ */
128
+ getWorkspaces(): Promise<any>;
129
+ /**
130
+ * Get workspace by ID
131
+ */
132
+ getWorkspace(workspaceGid: string): Promise<any>;
133
+ /**
134
+ * Get current user
135
+ */
136
+ getCurrentUser(): Promise<any>;
137
+ /**
138
+ * Get user by ID
139
+ */
140
+ getUser(userGid: string): Promise<any>;
141
+ /**
142
+ * Get users in workspace
143
+ */
144
+ getUsersInWorkspace(workspaceGid: string): Promise<any>;
145
+ /**
146
+ * Get tag by ID
147
+ */
148
+ getTag(tagGid: string): Promise<any>;
149
+ /**
150
+ * Create tag
151
+ */
152
+ createTag(workspace: string, name: string, color?: string): Promise<any>;
153
+ /**
154
+ * Get tags in workspace
155
+ */
156
+ getTagsInWorkspace(workspaceGid: string): Promise<any>;
157
+ }
158
+ export declare const AsanaInitializer: SDKInitializer;
159
+ //# sourceMappingURL=asana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asana.d.ts","sourceRoot":"","sources":["../../src/services/asana.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Asana Integration
3
+ *
4
+ * Project and task management platform.
5
+ * API Docs: https://developers.asana.com/docs
6
+ * SDK: https://github.com/Asana/node-asana
7
+ */
8
+ // @ts-expect-error - asana doesn't have types
9
+ import asana from 'asana';
10
+ /**
11
+ * Asana client wrapper for workflow integration
12
+ */
13
+ export class AsanaClient {
14
+ client;
15
+ constructor(client) {
16
+ this.client = client;
17
+ }
18
+ // ==================== Tasks ====================
19
+ /**
20
+ * Get task by ID
21
+ */
22
+ async getTask(taskGid) {
23
+ return await this.client.tasks.getTask(taskGid);
24
+ }
25
+ /**
26
+ * Create task
27
+ */
28
+ async createTask(task) {
29
+ return await this.client.tasks.createTask(task);
30
+ }
31
+ /**
32
+ * Update task
33
+ */
34
+ async updateTask(taskGid, task) {
35
+ return await this.client.tasks.updateTask(taskGid, task);
36
+ }
37
+ /**
38
+ * Delete task
39
+ */
40
+ async deleteTask(taskGid) {
41
+ return await this.client.tasks.deleteTask(taskGid);
42
+ }
43
+ /**
44
+ * Get tasks in project
45
+ */
46
+ async getTasksInProject(projectGid, options) {
47
+ return await this.client.tasks.getTasksForProject(projectGid, options);
48
+ }
49
+ /**
50
+ * Get tasks for user
51
+ */
52
+ async getTasksForUser(userGid, workspace, options) {
53
+ return await this.client.tasks.getTasksForUserTaskList(userGid, { workspace, ...options });
54
+ }
55
+ /**
56
+ * Add comment to task
57
+ */
58
+ async addComment(taskGid, text) {
59
+ return await this.client.tasks.addComment(taskGid, { text });
60
+ }
61
+ // ==================== Projects ====================
62
+ /**
63
+ * Get project by ID
64
+ */
65
+ async getProject(projectGid) {
66
+ return await this.client.projects.getProject(projectGid);
67
+ }
68
+ /**
69
+ * Create project
70
+ */
71
+ async createProject(project) {
72
+ return await this.client.projects.createProject(project);
73
+ }
74
+ /**
75
+ * Update project
76
+ */
77
+ async updateProject(projectGid, project) {
78
+ return await this.client.projects.updateProject(projectGid, project);
79
+ }
80
+ /**
81
+ * Delete project
82
+ */
83
+ async deleteProject(projectGid) {
84
+ return await this.client.projects.deleteProject(projectGid);
85
+ }
86
+ /**
87
+ * Get projects in workspace
88
+ */
89
+ async getProjectsInWorkspace(workspaceGid, options) {
90
+ return await this.client.projects.getProjects({ workspace: workspaceGid, ...options });
91
+ }
92
+ /**
93
+ * Get projects in team
94
+ */
95
+ async getProjectsInTeam(teamGid, options) {
96
+ return await this.client.projects.getProjectsForTeam(teamGid, options);
97
+ }
98
+ // ==================== Sections ====================
99
+ /**
100
+ * Get sections in project
101
+ */
102
+ async getSectionsInProject(projectGid) {
103
+ return await this.client.sections.getSectionsForProject(projectGid);
104
+ }
105
+ /**
106
+ * Create section
107
+ */
108
+ async createSection(section) {
109
+ return await this.client.sections.createSectionForProject(section.project, { name: section.name });
110
+ }
111
+ /**
112
+ * Update section
113
+ */
114
+ async updateSection(sectionGid, name) {
115
+ return await this.client.sections.updateSection(sectionGid, { name });
116
+ }
117
+ /**
118
+ * Delete section
119
+ */
120
+ async deleteSection(sectionGid) {
121
+ return await this.client.sections.deleteSection(sectionGid);
122
+ }
123
+ /**
124
+ * Add task to section
125
+ */
126
+ async addTaskToSection(sectionGid, taskGid) {
127
+ return await this.client.sections.addTaskForSection(sectionGid, { task: taskGid });
128
+ }
129
+ // ==================== Workspaces ====================
130
+ /**
131
+ * Get workspaces
132
+ */
133
+ async getWorkspaces() {
134
+ return await this.client.workspaces.getWorkspaces();
135
+ }
136
+ /**
137
+ * Get workspace by ID
138
+ */
139
+ async getWorkspace(workspaceGid) {
140
+ return await this.client.workspaces.getWorkspace(workspaceGid);
141
+ }
142
+ // ==================== Users ====================
143
+ /**
144
+ * Get current user
145
+ */
146
+ async getCurrentUser() {
147
+ return await this.client.users.getUser('me');
148
+ }
149
+ /**
150
+ * Get user by ID
151
+ */
152
+ async getUser(userGid) {
153
+ return await this.client.users.getUser(userGid);
154
+ }
155
+ /**
156
+ * Get users in workspace
157
+ */
158
+ async getUsersInWorkspace(workspaceGid) {
159
+ return await this.client.users.getUsersForWorkspace(workspaceGid);
160
+ }
161
+ // ==================== Tags ====================
162
+ /**
163
+ * Get tag by ID
164
+ */
165
+ async getTag(tagGid) {
166
+ return await this.client.tags.getTag(tagGid);
167
+ }
168
+ /**
169
+ * Create tag
170
+ */
171
+ async createTag(workspace, name, color) {
172
+ return await this.client.tags.createTag({ workspace, name, color });
173
+ }
174
+ /**
175
+ * Get tags in workspace
176
+ */
177
+ async getTagsInWorkspace(workspaceGid) {
178
+ return await this.client.tags.getTagsForWorkspace(workspaceGid);
179
+ }
180
+ }
181
+ export const AsanaInitializer = {
182
+ async initialize(_module, config) {
183
+ const accessToken = config.auth?.['access_token'];
184
+ if (!accessToken) {
185
+ throw new Error('Asana SDK requires auth.access_token');
186
+ }
187
+ const client = asana.Client ? asana.Client.create().useAccessToken(accessToken) : asana.default?.Client?.create().useAccessToken(accessToken);
188
+ const wrapper = new AsanaClient(client);
189
+ return {
190
+ client: wrapper,
191
+ actions: wrapper,
192
+ rawClient: client,
193
+ };
194
+ },
195
+ };
196
+ //# sourceMappingURL=asana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asana.js","sourceRoot":"","sources":["../../src/services/asana.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * AWS S3 Integration
3
+ *
4
+ * Amazon Simple Storage Service - scalable object storage.
5
+ * API Docs: https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
6
+ * SDK: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/
7
+ */
8
+ import { S3Client } from '@aws-sdk/client-s3';
9
+ import { SDKInitializer } from '@marktoflow/core';
10
+ export interface UploadObjectOptions {
11
+ bucket: string;
12
+ key: string;
13
+ body: string | Buffer | Uint8Array;
14
+ contentType?: string;
15
+ metadata?: Record<string, string>;
16
+ acl?: 'private' | 'public-read' | 'public-read-write' | 'authenticated-read';
17
+ }
18
+ export interface GetObjectOptions {
19
+ bucket: string;
20
+ key: string;
21
+ range?: string;
22
+ }
23
+ export interface DeleteObjectOptions {
24
+ bucket: string;
25
+ key: string;
26
+ }
27
+ export interface ListObjectsOptions {
28
+ bucket: string;
29
+ prefix?: string;
30
+ maxKeys?: number;
31
+ continuationToken?: string;
32
+ }
33
+ export interface CopyObjectOptions {
34
+ sourceBucket: string;
35
+ sourceKey: string;
36
+ destinationBucket: string;
37
+ destinationKey: string;
38
+ metadata?: Record<string, string>;
39
+ acl?: 'private' | 'public-read' | 'public-read-write' | 'authenticated-read';
40
+ }
41
+ /**
42
+ * AWS S3 client wrapper for workflow integration
43
+ */
44
+ export declare class AWSS3Client {
45
+ private client;
46
+ constructor(client: S3Client);
47
+ /**
48
+ * Upload object to S3
49
+ */
50
+ uploadObject(options: UploadObjectOptions): Promise<import("@aws-sdk/client-s3").PutObjectCommandOutput>;
51
+ /**
52
+ * Get object from S3
53
+ */
54
+ getObject(options: GetObjectOptions): Promise<import("@aws-sdk/client-s3").GetObjectCommandOutput>;
55
+ /**
56
+ * Delete object from S3
57
+ */
58
+ deleteObject(options: DeleteObjectOptions): Promise<import("@aws-sdk/client-s3").DeleteObjectCommandOutput>;
59
+ /**
60
+ * List objects in bucket
61
+ */
62
+ listObjects(options: ListObjectsOptions): Promise<import("@aws-sdk/client-s3").ListObjectsV2CommandOutput>;
63
+ /**
64
+ * Copy object
65
+ */
66
+ copyObject(options: CopyObjectOptions): Promise<import("@aws-sdk/client-s3").CopyObjectCommandOutput>;
67
+ /**
68
+ * Get object metadata
69
+ */
70
+ getObjectMetadata(bucket: string, key: string): Promise<import("@aws-sdk/client-s3").HeadObjectCommandOutput>;
71
+ /**
72
+ * Create bucket
73
+ */
74
+ createBucket(bucket: string, region?: string): Promise<import("@aws-sdk/client-s3").CreateBucketCommandOutput>;
75
+ /**
76
+ * Delete bucket
77
+ */
78
+ deleteBucket(bucket: string): Promise<import("@aws-sdk/client-s3").DeleteBucketCommandOutput>;
79
+ /**
80
+ * List buckets
81
+ */
82
+ listBuckets(): Promise<import("@aws-sdk/client-s3").ListBucketsCommandOutput>;
83
+ /**
84
+ * Get bucket location
85
+ */
86
+ getBucketLocation(bucket: string): Promise<import("@aws-sdk/client-s3").GetBucketLocationCommandOutput>;
87
+ }
88
+ export declare const AWSS3Initializer: SDKInitializer;
89
+ //# sourceMappingURL=aws-s3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-s3.d.ts","sourceRoot":"","sources":["../../src/services/aws-s3.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EAgBT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;CAC9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;CAC9E;AAED;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IAIpC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB;IAc/C;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB;IAWzC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB;IAU/C;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB;IAY7C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB;IAc3C;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAWnD;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IASlD;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM;IAQjC;;OAEG;IACG,WAAW;IAKjB;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM;CAOvC;AAED,eAAO,MAAM,gBAAgB,EAAE,cA0B9B,CAAC"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * AWS S3 Integration
3
+ *
4
+ * Amazon Simple Storage Service - scalable object storage.
5
+ * API Docs: https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html
6
+ * SDK: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/
7
+ */
8
+ import { S3Client, PutObjectCommand, GetObjectCommand, DeleteObjectCommand, ListObjectsV2Command, CopyObjectCommand, HeadObjectCommand, CreateBucketCommand, DeleteBucketCommand, ListBucketsCommand, GetBucketLocationCommand, } from '@aws-sdk/client-s3';
9
+ /**
10
+ * AWS S3 client wrapper for workflow integration
11
+ */
12
+ export class AWSS3Client {
13
+ client;
14
+ constructor(client) {
15
+ this.client = client;
16
+ }
17
+ // ==================== Objects ====================
18
+ /**
19
+ * Upload object to S3
20
+ */
21
+ async uploadObject(options) {
22
+ const input = {
23
+ Bucket: options.bucket,
24
+ Key: options.key,
25
+ Body: options.body,
26
+ ContentType: options.contentType,
27
+ Metadata: options.metadata,
28
+ ACL: options.acl,
29
+ };
30
+ const command = new PutObjectCommand(input);
31
+ return await this.client.send(command);
32
+ }
33
+ /**
34
+ * Get object from S3
35
+ */
36
+ async getObject(options) {
37
+ const input = {
38
+ Bucket: options.bucket,
39
+ Key: options.key,
40
+ Range: options.range,
41
+ };
42
+ const command = new GetObjectCommand(input);
43
+ return await this.client.send(command);
44
+ }
45
+ /**
46
+ * Delete object from S3
47
+ */
48
+ async deleteObject(options) {
49
+ const input = {
50
+ Bucket: options.bucket,
51
+ Key: options.key,
52
+ };
53
+ const command = new DeleteObjectCommand(input);
54
+ return await this.client.send(command);
55
+ }
56
+ /**
57
+ * List objects in bucket
58
+ */
59
+ async listObjects(options) {
60
+ const input = {
61
+ Bucket: options.bucket,
62
+ Prefix: options.prefix,
63
+ MaxKeys: options.maxKeys,
64
+ ContinuationToken: options.continuationToken,
65
+ };
66
+ const command = new ListObjectsV2Command(input);
67
+ return await this.client.send(command);
68
+ }
69
+ /**
70
+ * Copy object
71
+ */
72
+ async copyObject(options) {
73
+ const input = {
74
+ Bucket: options.destinationBucket,
75
+ Key: options.destinationKey,
76
+ CopySource: `${options.sourceBucket}/${options.sourceKey}`,
77
+ Metadata: options.metadata,
78
+ ACL: options.acl,
79
+ MetadataDirective: options.metadata ? 'REPLACE' : undefined,
80
+ };
81
+ const command = new CopyObjectCommand(input);
82
+ return await this.client.send(command);
83
+ }
84
+ /**
85
+ * Get object metadata
86
+ */
87
+ async getObjectMetadata(bucket, key) {
88
+ const command = new HeadObjectCommand({
89
+ Bucket: bucket,
90
+ Key: key,
91
+ });
92
+ return await this.client.send(command);
93
+ }
94
+ // ==================== Buckets ====================
95
+ /**
96
+ * Create bucket
97
+ */
98
+ async createBucket(bucket, region) {
99
+ const command = new CreateBucketCommand({
100
+ Bucket: bucket,
101
+ CreateBucketConfiguration: region ? { LocationConstraint: region } : undefined,
102
+ });
103
+ return await this.client.send(command);
104
+ }
105
+ /**
106
+ * Delete bucket
107
+ */
108
+ async deleteBucket(bucket) {
109
+ const command = new DeleteBucketCommand({
110
+ Bucket: bucket,
111
+ });
112
+ return await this.client.send(command);
113
+ }
114
+ /**
115
+ * List buckets
116
+ */
117
+ async listBuckets() {
118
+ const command = new ListBucketsCommand({});
119
+ return await this.client.send(command);
120
+ }
121
+ /**
122
+ * Get bucket location
123
+ */
124
+ async getBucketLocation(bucket) {
125
+ const command = new GetBucketLocationCommand({
126
+ Bucket: bucket,
127
+ });
128
+ return await this.client.send(command);
129
+ }
130
+ }
131
+ export const AWSS3Initializer = {
132
+ async initialize(_module, config) {
133
+ const region = config.auth?.['region'];
134
+ const accessKeyId = config.auth?.['access_key_id'];
135
+ const secretAccessKey = config.auth?.['secret_access_key'];
136
+ if (!region || !accessKeyId || !secretAccessKey) {
137
+ throw new Error('AWS S3 SDK requires auth.region, auth.access_key_id, and auth.secret_access_key');
138
+ }
139
+ const client = new S3Client({
140
+ region,
141
+ credentials: {
142
+ accessKeyId,
143
+ secretAccessKey,
144
+ },
145
+ });
146
+ const wrapper = new AWSS3Client(client);
147
+ return {
148
+ client: wrapper,
149
+ actions: wrapper,
150
+ rawClient: client,
151
+ };
152
+ },
153
+ };
154
+ //# sourceMappingURL=aws-s3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-s3.js","sourceRoot":"","sources":["../../src/services/aws-s3.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GAMzB,MAAM,oBAAoB,CAAC;AAuC5B;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAExC,oDAAoD;IAEpD;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,KAAK,GAA0B;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,MAAM,KAAK,GAA0B;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,KAAK,GAA6B;YACtC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,MAAM,KAAK,GAA8B;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,MAAM,KAAK,GAA2B;YACpC,MAAM,EAAE,OAAO,CAAC,iBAAiB;YACjC,GAAG,EAAE,OAAO,CAAC,cAAc;YAC3B,UAAU,EAAE,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE;YAC1D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,GAAW;QACjD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;YACpC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,oDAAoD;IAEpD;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAe;QAChD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;YACtC,MAAM,EAAE,MAAM;YACd,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SACtF,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;YACtC,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC;YAC3C,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAuB,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,eAAe,CAAuB,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAuB,CAAC;QAEjF,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,MAAM;YACN,WAAW,EAAE;gBACX,WAAW;gBACX,eAAe;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC;IACJ,CAAC;CACF,CAAC"}