@sw-tsdk/plugin-connector 3.13.2-next.f72064b → 3.13.3

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 (68) hide show
  1. package/README.md +18 -18
  2. package/lib/commands/migrator/convert.d.ts +0 -1
  3. package/lib/commands/migrator/convert.js +15 -167
  4. package/lib/commands/migrator/convert.js.map +1 -1
  5. package/lib/templates/migrator-runners/plugin_override.txt +4 -69
  6. package/lib/templates/migrator-runners/runner_override.txt +0 -29
  7. package/lib/templates/migrator-runners/script_override.txt +5 -71
  8. package/lib/transformers/base-transformer.js +14 -61
  9. package/lib/transformers/base-transformer.js.map +1 -1
  10. package/lib/transformers/connector-generator.d.ts +2 -102
  11. package/lib/transformers/connector-generator.js +49 -1188
  12. package/lib/transformers/connector-generator.js.map +1 -1
  13. package/lib/types/migrator-types.d.ts +0 -22
  14. package/lib/types/migrator-types.js.map +1 -1
  15. package/oclif.manifest.json +1 -1
  16. package/package.json +6 -6
  17. package/lib/templates/swimlane/__init__.py +0 -18
  18. package/lib/templates/swimlane/core/__init__.py +0 -0
  19. package/lib/templates/swimlane/core/adapters/__init__.py +0 -10
  20. package/lib/templates/swimlane/core/adapters/app.py +0 -59
  21. package/lib/templates/swimlane/core/adapters/app_revision.py +0 -49
  22. package/lib/templates/swimlane/core/adapters/helper.py +0 -84
  23. package/lib/templates/swimlane/core/adapters/record.py +0 -468
  24. package/lib/templates/swimlane/core/adapters/record_revision.py +0 -43
  25. package/lib/templates/swimlane/core/adapters/report.py +0 -65
  26. package/lib/templates/swimlane/core/adapters/task.py +0 -54
  27. package/lib/templates/swimlane/core/adapters/usergroup.py +0 -183
  28. package/lib/templates/swimlane/core/bulk.py +0 -48
  29. package/lib/templates/swimlane/core/cache.py +0 -165
  30. package/lib/templates/swimlane/core/client.py +0 -466
  31. package/lib/templates/swimlane/core/cursor.py +0 -100
  32. package/lib/templates/swimlane/core/fields/__init__.py +0 -46
  33. package/lib/templates/swimlane/core/fields/attachment.py +0 -82
  34. package/lib/templates/swimlane/core/fields/base/__init__.py +0 -15
  35. package/lib/templates/swimlane/core/fields/base/cursor.py +0 -90
  36. package/lib/templates/swimlane/core/fields/base/field.py +0 -149
  37. package/lib/templates/swimlane/core/fields/base/multiselect.py +0 -116
  38. package/lib/templates/swimlane/core/fields/comment.py +0 -48
  39. package/lib/templates/swimlane/core/fields/datetime.py +0 -112
  40. package/lib/templates/swimlane/core/fields/history.py +0 -28
  41. package/lib/templates/swimlane/core/fields/list.py +0 -266
  42. package/lib/templates/swimlane/core/fields/number.py +0 -38
  43. package/lib/templates/swimlane/core/fields/reference.py +0 -169
  44. package/lib/templates/swimlane/core/fields/text.py +0 -30
  45. package/lib/templates/swimlane/core/fields/tracking.py +0 -10
  46. package/lib/templates/swimlane/core/fields/usergroup.py +0 -137
  47. package/lib/templates/swimlane/core/fields/valueslist.py +0 -70
  48. package/lib/templates/swimlane/core/resolver.py +0 -46
  49. package/lib/templates/swimlane/core/resources/__init__.py +0 -0
  50. package/lib/templates/swimlane/core/resources/app.py +0 -136
  51. package/lib/templates/swimlane/core/resources/app_revision.py +0 -43
  52. package/lib/templates/swimlane/core/resources/attachment.py +0 -64
  53. package/lib/templates/swimlane/core/resources/base.py +0 -55
  54. package/lib/templates/swimlane/core/resources/comment.py +0 -33
  55. package/lib/templates/swimlane/core/resources/record.py +0 -499
  56. package/lib/templates/swimlane/core/resources/record_revision.py +0 -44
  57. package/lib/templates/swimlane/core/resources/report.py +0 -259
  58. package/lib/templates/swimlane/core/resources/revision_base.py +0 -69
  59. package/lib/templates/swimlane/core/resources/task.py +0 -16
  60. package/lib/templates/swimlane/core/resources/usergroup.py +0 -166
  61. package/lib/templates/swimlane/core/search.py +0 -31
  62. package/lib/templates/swimlane/core/wrappedsession.py +0 -12
  63. package/lib/templates/swimlane/exceptions.py +0 -191
  64. package/lib/templates/swimlane/utils/__init__.py +0 -132
  65. package/lib/templates/swimlane/utils/date_validator.py +0 -4
  66. package/lib/templates/swimlane/utils/list_validator.py +0 -7
  67. package/lib/templates/swimlane/utils/str_validator.py +0 -10
  68. package/lib/templates/swimlane/utils/version.py +0 -101
package/README.md CHANGED
@@ -16,7 +16,7 @@ $ npm install -g @sw-tsdk/plugin-connector
16
16
  $ sw-tsdk-connector COMMAND
17
17
  running command...
18
18
  $ sw-tsdk-connector (--version)
19
- @sw-tsdk/plugin-connector/3.13.2-next.f72064b linux-x64 node-v20.19.0
19
+ @sw-tsdk/plugin-connector/3.13.3 linux-x64 node-v20.19.0
20
20
  $ sw-tsdk-connector --help [COMMAND]
21
21
  USAGE
22
22
  $ sw-tsdk-connector COMMAND
@@ -61,7 +61,7 @@ DESCRIPTION
61
61
  Update a connector action.
62
62
  ```
63
63
 
64
- _See code: [lib/commands/action/add.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/action/add.js)_
64
+ _See code: [lib/commands/action/add.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/action/add.js)_
65
65
 
66
66
  ## `sw-tsdk-connector action:generate:data`
67
67
 
@@ -86,7 +86,7 @@ DESCRIPTION
86
86
  Use to test a task in an integration
87
87
  ```
88
88
 
89
- _See code: [lib/commands/action/generate/data.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/action/generate/data.js)_
89
+ _See code: [lib/commands/action/generate/data.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/action/generate/data.js)_
90
90
 
91
91
  ## `sw-tsdk-connector action:generate:input`
92
92
 
@@ -111,7 +111,7 @@ DESCRIPTION
111
111
  Update action input schema.
112
112
  ```
113
113
 
114
- _See code: [lib/commands/action/generate/input.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/action/generate/input.js)_
114
+ _See code: [lib/commands/action/generate/input.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/action/generate/input.js)_
115
115
 
116
116
  ## `sw-tsdk-connector action:generate:output`
117
117
 
@@ -135,7 +135,7 @@ DESCRIPTION
135
135
  Update a connector action.
136
136
  ```
137
137
 
138
- _See code: [lib/commands/action/generate/output.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/action/generate/output.js)_
138
+ _See code: [lib/commands/action/generate/output.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/action/generate/output.js)_
139
139
 
140
140
  ## `sw-tsdk-connector action:run:local`
141
141
 
@@ -164,7 +164,7 @@ DESCRIPTION
164
164
  Runs a connector action. (Defaults to current image version in local repository).
165
165
  ```
166
166
 
167
- _See code: [lib/commands/action/run/local.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/action/run/local.js)_
167
+ _See code: [lib/commands/action/run/local.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/action/run/local.js)_
168
168
 
169
169
  ## `sw-tsdk-connector asset:add`
170
170
 
@@ -185,7 +185,7 @@ DESCRIPTION
185
185
  Update a connector action.
186
186
  ```
187
187
 
188
- _See code: [lib/commands/asset/add.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/asset/add.js)_
188
+ _See code: [lib/commands/asset/add.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/asset/add.js)_
189
189
 
190
190
  ## `sw-tsdk-connector connector:build`
191
191
 
@@ -215,7 +215,7 @@ DESCRIPTION
215
215
  Builds a local docker image of the connector.
216
216
  ```
217
217
 
218
- _See code: [lib/commands/connector/build.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/build.js)_
218
+ _See code: [lib/commands/connector/build.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/build.js)_
219
219
 
220
220
  ## `sw-tsdk-connector connector:create`
221
221
 
@@ -249,7 +249,7 @@ DESCRIPTION
249
249
  Scaffold a new connector
250
250
  ```
251
251
 
252
- _See code: [lib/commands/connector/create.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/create.js)_
252
+ _See code: [lib/commands/connector/create.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/create.js)_
253
253
 
254
254
  ## `sw-tsdk-connector connector:create:openapi`
255
255
 
@@ -278,7 +278,7 @@ DESCRIPTION
278
278
  Scaffold a new connector
279
279
  ```
280
280
 
281
- _See code: [lib/commands/connector/create/openapi.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/create/openapi.js)_
281
+ _See code: [lib/commands/connector/create/openapi.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/create/openapi.js)_
282
282
 
283
283
  ## `sw-tsdk-connector connector:create:source`
284
284
 
@@ -296,7 +296,7 @@ DESCRIPTION
296
296
  Generates 11x source from 10x
297
297
  ```
298
298
 
299
- _See code: [lib/commands/connector/create/source.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/create/source.js)_
299
+ _See code: [lib/commands/connector/create/source.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/create/source.js)_
300
300
 
301
301
  ## `sw-tsdk-connector connector:lint`
302
302
 
@@ -319,7 +319,7 @@ DESCRIPTION
319
319
  Use to lint the connector
320
320
  ```
321
321
 
322
- _See code: [lib/commands/connector/lint.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/lint.js)_
322
+ _See code: [lib/commands/connector/lint.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/lint.js)_
323
323
 
324
324
  ## `sw-tsdk-connector connector:logo`
325
325
 
@@ -338,7 +338,7 @@ DESCRIPTION
338
338
  Update a connector.
339
339
  ```
340
340
 
341
- _See code: [lib/commands/connector/logo.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/logo.js)_
341
+ _See code: [lib/commands/connector/logo.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/logo.js)_
342
342
 
343
343
  ## `sw-tsdk-connector connector:sign`
344
344
 
@@ -363,7 +363,7 @@ DESCRIPTION
363
363
  Builds a local docker image of the connector.
364
364
  ```
365
365
 
366
- _See code: [lib/commands/connector/sign.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/sign.js)_
366
+ _See code: [lib/commands/connector/sign.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/sign.js)_
367
367
 
368
368
  ## `sw-tsdk-connector connector:update`
369
369
 
@@ -383,7 +383,7 @@ DESCRIPTION
383
383
  Update a connector.
384
384
  ```
385
385
 
386
- _See code: [lib/commands/connector/update.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/update.js)_
386
+ _See code: [lib/commands/connector/update.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/update.js)_
387
387
 
388
388
  ## `sw-tsdk-connector connector:validate`
389
389
 
@@ -406,7 +406,7 @@ DESCRIPTION
406
406
  Use to validate an integration
407
407
  ```
408
408
 
409
- _See code: [lib/commands/connector/validate.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/connector/validate.js)_
409
+ _See code: [lib/commands/connector/validate.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/connector/validate.js)_
410
410
 
411
411
  ## `sw-tsdk-connector migrator:convert`
412
412
 
@@ -432,7 +432,7 @@ DESCRIPTION
432
432
  Convert scripts and forked plugins from Swimlane V10x to connectors.
433
433
  ```
434
434
 
435
- _See code: [lib/commands/migrator/convert.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/migrator/convert.js)_
435
+ _See code: [lib/commands/migrator/convert.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/migrator/convert.js)_
436
436
 
437
437
  ## `sw-tsdk-connector migrator:export`
438
438
 
@@ -453,5 +453,5 @@ DESCRIPTION
453
453
  Use to export python scripts from a Swimlane instance
454
454
  ```
455
455
 
456
- _See code: [lib/commands/migrator/export.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.2-next.f72064b/lib/commands/migrator/export.js)_
456
+ _See code: [lib/commands/migrator/export.js](https://github.com/swimlane/turbine-sdk/blob/v3.13.3/lib/commands/migrator/export.js)_
457
457
  <!-- commandsstop -->
@@ -19,7 +19,6 @@ export declare class Migrate extends Base {
19
19
  * Basically, each array item is a different connector
20
20
  */
21
21
  private collectJobs;
22
- private extractImportsFromScriptContent;
23
22
  private extractImportsFromScript;
24
23
  private decompressIfNeeded;
25
24
  run(): Promise<void>;
@@ -15,17 +15,10 @@ class Migrate extends core_1.Base {
15
15
  async processTaskFiles(taskFiles) {
16
16
  const taskImports = new Set();
17
17
  const importPromises = taskFiles.map(async (taskFile) => {
18
- try {
19
- const taskContent = await node_fs_1.promises.readFile(taskFile, 'utf8');
20
- const taskJson = JSON.parse(taskContent);
21
- const script = taskJson?.Action?.Script || '';
22
- const scriptImports = await this.extractImportsFromScriptContent(script);
23
- for (const importName of scriptImports)
24
- taskImports.add(importName);
25
- }
26
- catch {
27
- this.warn(`Could not extract imports from task file: ${taskFile}`);
28
- }
18
+ const pyFilePath = taskFile.replace('.json', '.py');
19
+ const scriptImports = await this.extractImportsFromScript(pyFilePath);
20
+ for (const importName of scriptImports)
21
+ taskImports.add(importName);
29
22
  });
30
23
  await Promise.all(importPromises);
31
24
  return taskImports;
@@ -78,17 +71,9 @@ class Migrate extends core_1.Base {
78
71
  .filter(file => file.endsWith('.json'))
79
72
  .map(file => (0, node_path_1.join)(tasksFolder, file));
80
73
  const scriptImportLists = await Promise.all(taskFiles.map(async (taskFile) => {
81
- try {
82
- const taskContent = await node_fs_1.promises.readFile(taskFile, 'utf8');
83
- const taskJson = JSON.parse(taskContent);
84
- const script = taskJson?.Action?.Script || '';
85
- const scriptImports = await this.extractImportsFromScriptContent(script);
86
- return Array.isArray(scriptImports) ? scriptImports : [];
87
- }
88
- catch {
89
- this.warn(`Could not extract imports from task file: ${taskFile}`);
90
- return [];
91
- }
74
+ const pyFilePath = taskFile.replace('.json', '.py');
75
+ const scriptImports = await this.extractImportsFromScript(pyFilePath);
76
+ return Array.isArray(scriptImports) ? scriptImports : [];
92
77
  }));
93
78
  for (const scriptImports of scriptImportLists) {
94
79
  for (const importName of scriptImports) {
@@ -105,7 +90,6 @@ class Migrate extends core_1.Base {
105
90
  appFolderPath,
106
91
  connectorName,
107
92
  taskFilePaths: taskFiles,
108
- taskImports,
109
93
  };
110
94
  });
111
95
  const appResults = await Promise.all(appFolderPromises);
@@ -114,31 +98,9 @@ class Migrate extends core_1.Base {
114
98
  const nestedAppTasks = await Promise.all(pythonDirPromises);
115
99
  return nestedAppTasks.flat();
116
100
  }
117
- async extractImportsFromScriptContent(scriptContent) {
118
- const usedPackages = new Set();
119
- if (!scriptContent || typeof scriptContent !== 'string') {
120
- return usedPackages;
121
- }
122
- try {
123
- // `import X` and `from X import Y`
124
- const importMatches = scriptContent.matchAll(/(?:from|import) (\w+)/g);
125
- for (const match of importMatches) {
126
- usedPackages.add(match[1]);
127
- }
128
- }
129
- catch (error) {
130
- this.warn(`Could not extract imports from script content: ${error?.message || 'Unknown error'}`);
131
- }
132
- return usedPackages;
133
- }
134
101
  async extractImportsFromScript(pyFilePath) {
135
102
  const usedPackages = new Set();
136
103
  try {
137
- // Check if file exists first
138
- if (!(await (0, core_1.fileExists)(pyFilePath))) {
139
- this.warn(`Python file does not exist: ${pyFilePath}`);
140
- return usedPackages;
141
- }
142
104
  const content = await node_fs_1.promises.readFile(pyFilePath, 'utf8');
143
105
  // `import X` and `from X import Y`
144
106
  const importMatches = content.matchAll(/(?:from|import) (\w+)/g);
@@ -146,14 +108,8 @@ class Migrate extends core_1.Base {
146
108
  usedPackages.add(match[1]);
147
109
  }
148
110
  }
149
- catch (error) {
150
- // Provide more specific error information
151
- const errorMessage = error?.code === 'EACCES' ?
152
- `Permission denied reading file: ${pyFilePath}` :
153
- (error?.code === 'ENOENT' ?
154
- `File not found: ${pyFilePath}` :
155
- `Could not extract imports from: ${pyFilePath} (${error?.message || 'Unknown error'})`);
156
- this.warn(errorMessage);
111
+ catch {
112
+ this.warn(`Could not extract imports from: ${pyFilePath}`);
157
113
  }
158
114
  return usedPackages;
159
115
  }
@@ -211,106 +167,13 @@ class Migrate extends core_1.Base {
211
167
  const groupPromises = groupedAppTasks.map(async (group) => {
212
168
  this.log(`\nProcessing [${group.pythonDirName}] / [${group.connectorName}]`);
213
169
  this.log(`Found ${group.taskFilePaths.length} task file(s) in: ${group.appFolderPath}`);
214
- // Remove parentheses, slashes, colons, and other special characters from folder name
215
- const sanitizedFolderName = group.connectorName
216
- .replaceAll(/[()/:]/g, '') // Remove parentheses, slashes, and colons
217
- .replaceAll(' ', '_')
218
- .toLowerCase();
219
- const connectorToDir = (0, node_path_1.join)(toDirectory, sanitizedFolderName);
170
+ const connectorToDir = (0, node_path_1.join)(toDirectory, group.connectorName.replaceAll(' ', '_').toLowerCase());
220
171
  await connector_generator_1.ConnectorGenerator.generateBaseStructure(connectorToDir);
221
172
  await connector_generator_1.ConnectorGenerator.generateLogo(connectorToDir);
222
173
  await connector_generator_1.ConnectorGenerator.generateConnectorManifest(answers, group, connectorToDir);
223
174
  await connector_generator_1.ConnectorGenerator.generateRunnerOverride(connectorToDir);
224
- await connector_generator_1.ConnectorGenerator.addExtractedImportsToRequirements(connectorToDir, group.taskImports);
225
- // First, collect all forked plugin names to initialize them before processing tasks
226
- const forkedPluginNames = new Set();
227
- const taskContents = await Promise.all(group.taskFilePaths.map(async (taskFilePath) => {
228
- try {
229
- const content = await node_fs_1.promises.readFile(taskFilePath, 'utf8');
230
- return { taskFilePath, content };
231
- }
232
- catch {
233
- return null;
234
- }
235
- }));
236
- for (const taskContent of taskContents) {
237
- if (!taskContent)
238
- continue;
239
- try {
240
- const fileJson = JSON.parse(taskContent.content);
241
- const transformer = (0, transformers_1.getTransformer)(fileJson);
242
- const transformationResult = transformer.transform(fileJson);
243
- if (transformationResult.type === 'forked-plugin' && transformationResult.forkedName) {
244
- forkedPluginNames.add(transformationResult.forkedName);
245
- }
246
- }
247
- catch {
248
- // Skip if we can't parse
249
- }
250
- }
251
- // Initialize all forked plugins sequentially to avoid race conditions; collect packages excluded via EXCLUDED_PACKAGES that need runner.sh (e.g. ssdeep)
252
- const excludedRunnerPackages = new Set();
253
- for (const forkedName of forkedPluginNames) {
254
- try {
255
- // Create a dummy transformation result just for initialization
256
- const dummyResult = {
257
- type: 'forked-plugin',
258
- forkedName,
259
- connectorName: group.connectorName,
260
- pythonDefinition: group.pythonDefinition,
261
- };
262
- // eslint-disable-next-line no-await-in-loop
263
- const fromInit = await connector_generator_1.ConnectorGenerator.initializeForkedPlugin(dummyResult, fromDirectory, connectorToDir);
264
- for (const p of fromInit)
265
- excludedRunnerPackages.add(p);
266
- }
267
- catch (error) {
268
- console.error(`Error initializing forked plugin ${forkedName}:`, error);
269
- }
270
- }
271
- // Collect all asset parameters from all tasks to avoid race conditions
272
- const allAssetParameters = [];
273
- let applicationInfo = null;
274
- try {
275
- const appInfoPath = (0, node_path_1.join)(group.appFolderPath, 'applicationInfo.json');
276
- const rawInfo = await node_fs_1.promises.readFile(appInfoPath, 'utf8');
277
- applicationInfo = JSON.parse(rawInfo);
278
- }
279
- catch {
280
- // applicationInfo.json optional; record inputs will keep inferred types
281
- }
282
- const currentApplicationId = (0, node_path_1.basename)(group.appFolderPath);
283
- const pythonDirPath = (0, node_path_1.dirname)(group.appFolderPath);
284
- const applicationInfoMap = applicationInfo ? { [currentApplicationId]: applicationInfo } : {};
285
- // Collect ApplicationIds from all tasks' Outputs (e.g. InsertUpdateRecordOutput.ApplicationId) and load their applicationInfo
286
- const outputAppIdGroups = await Promise.all(group.taskFilePaths.map(async (taskFilePath) => {
287
- try {
288
- const content = await node_fs_1.promises.readFile(taskFilePath, 'utf8');
289
- const taskJson = JSON.parse(content);
290
- return (taskJson?.Outputs ?? []).map((output) => output?.ApplicationId ?? output?.applicationId)
291
- .filter((appId) => typeof appId === 'string');
292
- }
293
- catch {
294
- return [];
295
- }
296
- }));
297
- const outputAppIds = new Set(outputAppIdGroups.flat());
298
- const missingAppIds = [...outputAppIds].filter(appId => !applicationInfoMap[appId]);
299
- const appInfoEntries = await Promise.all(missingAppIds.map(async (appId) => {
300
- try {
301
- const rawInfo = await node_fs_1.promises.readFile((0, node_path_1.join)(pythonDirPath, appId, 'applicationInfo.json'), 'utf8');
302
- return { appId, appInfo: JSON.parse(rawInfo) };
303
- }
304
- catch {
305
- return null;
306
- }
307
- }));
308
- for (const appInfoEntry of appInfoEntries) {
309
- if (appInfoEntry) {
310
- applicationInfoMap[appInfoEntry.appId] = appInfoEntry.appInfo;
311
- }
312
- }
313
175
  const taskPromises = group.taskFilePaths.map(async (taskFilePath) => {
176
+ const initializedConnectors = new Set();
314
177
  const content = await node_fs_1.promises.readFile(taskFilePath, 'utf8');
315
178
  let fileJson;
316
179
  try {
@@ -321,34 +184,19 @@ class Migrate extends core_1.Base {
321
184
  }
322
185
  const transformer = (0, transformers_1.getTransformer)(fileJson);
323
186
  const transformationResult = transformer.transform(fileJson);
324
- connector_generator_1.ConnectorGenerator.patchRecordInputTypes(transformationResult, applicationInfo);
325
- connector_generator_1.ConnectorGenerator.patchOutputDateConversions(transformationResult, applicationInfoMap, currentApplicationId);
326
187
  if (!transformer.scriptIsValid(transformationResult.script)) {
327
188
  this.warn(`Found code that is not supported in turbine: ${taskFilePath}`);
328
189
  }
329
190
  transformationResult.connectorName = group.connectorName;
330
191
  transformationResult.pythonDefinition = group.pythonDefinition;
331
- // Forked plugins are already initialized above, so skip initialization here
192
+ if (transformationResult.type === 'forked-plugin' && !initializedConnectors.has(transformationResult.forkedName)) {
193
+ initializedConnectors.add(transformationResult.forkedName);
194
+ await connector_generator_1.ConnectorGenerator.initializeForkedPlugin(transformationResult, fromDirectory, connectorToDir);
195
+ }
332
196
  await connector_generator_1.ConnectorGenerator.generateAction(transformationResult, connectorToDir);
333
197
  await connector_generator_1.ConnectorGenerator.generateActionConfig(transformationResult, connectorToDir);
334
- // Collect asset parameters instead of writing immediately
335
- if (transformationResult.assetParameters && transformationResult.assetParameters.length > 0) {
336
- allAssetParameters.push(...transformationResult.assetParameters);
337
- }
338
198
  });
339
199
  await Promise.all(taskPromises);
340
- // Write all asset parameters once after all tasks are processed
341
- if (allAssetParameters.length > 0) {
342
- await connector_generator_1.ConnectorGenerator.addAssetParameters(connectorToDir, allAssetParameters, group.connectorName);
343
- }
344
- // Deduplicate requirements after all tasks are processed
345
- await connector_generator_1.ConnectorGenerator.deduplicateRequirements(connectorToDir);
346
- // Generate compile.sh if needed (for swimbundle_utils)
347
- await connector_generator_1.ConnectorGenerator.generateCompileScript(connectorToDir);
348
- // Generate runner.sh for system deps (wkhtmltopdf for sw_swimlane_email, ssdeep via apt+pip when excluded from requirements)
349
- const needsSsdeep = [...group.taskImports].some(name => name.toLowerCase() === 'ssdeep') ||
350
- excludedRunnerPackages.has('ssdeep');
351
- await connector_generator_1.ConnectorGenerator.generateRunnerScript(connectorToDir, forkedPluginNames.has('sw_swimlane_email'), needsSsdeep);
352
200
  });
353
201
  await Promise.all(groupPromises);
354
202
  this.log(`\nDone processing. Converted files at: ${toDirectory}`);
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/commands/migrator/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/commands/migrator/convert.ts"],"names":[],"mappings":"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"}
@@ -9,87 +9,22 @@ class RunnerOverride(RO):
9
9
  super().__init__(asset, asset_schema, http_proxy)
10
10
 
11
11
  def run(self, inputs, action_schema):
12
- # Rebuild inputs from YAML-defined keys (empty per type), then merge asset, then overlay incoming inputs
13
- # INPUTS_MERGE_HERE
14
12
  sw_context = SwimlaneContext(asset=self.asset, asset_schema=self.asset_schema,
15
13
  http_proxy=self.http_proxy, inputs=inputs)
16
14
 
17
- from swimlane import Swimlane
18
- Swimlane.turbineAccountId = sw_context.inputs.pop('TurbineAccountId', '')
19
- Swimlane.turbineTenantId = sw_context.inputs.pop('TurbineTenantId', '')
20
- Swimlane._api_root = f'/api/account/{Swimlane.turbineAccountId}/tenant/{Swimlane.turbineTenantId}/'
21
- Swimlane._execute_task_webhook_url = sw_context.inputs.pop('ExecuteTaskWebhookUrl', '')
22
15
  plugin_instance = SwMain(sw_context)
23
16
  plugin_response = plugin_instance.execute()
24
17
 
25
- import os
26
- import base64
27
- import requests
28
- IPC_API_URI = os.getenv('IPC_API_URI', '')
29
- IPC_API_TOKEN = os.getenv('IPC_API_TOKEN', '')
30
-
31
- OUTPUT_DATE_CONVERSIONS = __OUTPUT_DATE_CONVERSIONS__
32
-
33
- def convert_timestamp(value, timetype):
34
- import pendulum
35
- if timetype == "milliseconds":
36
- value = value / 1000
37
- if timetype in ('milliseconds', 'seconds'):
38
- return pendulum.from_timestamp(value).to_iso8601_string()
39
- return pendulum.from_format(value, timetype).to_iso8601_string()
40
-
41
- def handle_output_files(output):
42
- post_url = f"{IPC_API_URI}/files"
43
- params = {"token": IPC_API_TOKEN}
44
- # There are potentially many dicts in output, but usually only one
45
- for o in output:
46
- for key in o:
47
- file_output = o.get(key, None)
48
- temp_files = []
49
- if file_output and isinstance(file_output, list):
50
- # value is a list, but we only want to proceed if it's a list of files
51
- if all(isinstance(i, dict) and 'base64' in i and 'filename' in i for i in file_output):
52
- # we need to convert the objects to turbine format, then upload
53
- temp_files = [{'file_data': base64.b64decode(i['base64']), 'file_name': i['filename']} for i in file_output]
54
- attachments = []
55
- for file in temp_files:
56
- attachments.append(
57
- (
58
- "files",
59
- (
60
- file["file_name"],
61
- file["file_data"],
62
- "multipart/form-data",
63
- )
64
- )
65
- )
66
- res = requests.post(post_url, files=attachments, params=params)
67
- res.raise_for_status()
68
- o[key] = res.json()
69
- for key, timetype in OUTPUT_DATE_CONVERSIONS.items():
70
- if key in o and o[key] is not None:
71
- try:
72
- o[key] = convert_timestamp(o[key], timetype)
73
- except Exception:
74
- pass
75
-
76
- return output
77
18
  if isinstance(plugin_response, dict):
78
- plugin_response["sw_task_status"] = "success"
79
- return {"output": handle_output_files([plugin_response])} # Already a dictionary
19
+ return plugin_response # Already a dictionary
80
20
 
81
21
  elif isinstance(plugin_response, list):
82
- # Add sw_task_status to each dictionary in the list
83
- for item in plugin_response:
84
- if isinstance(item, dict):
85
- item["sw_task_status"] = "success"
86
- return {"output": handle_output_files(plugin_response)} # Wrap in a dictionary
22
+ return {"plugin_output": plugin_response} # Wrap in a dictionary
87
23
 
88
24
  elif plugin_response is None:
89
- return {"output": [{"sw_task_status": "success"}]} # Handle None case explicitly
25
+ return {"plugin_output": None} # Handle None case explicitly
90
26
  else:
91
- # For other types, wrap in a dictionary with sw_task_status
92
- return {"output": [{"result": plugin_response, "sw_task_status": "success"}]} # Wrap other types in a dictionary
27
+ return {"plugin_output": plugin_response} # Wrap other types in a dictionary
93
28
  return plugin_response
94
29
 
95
30
  # IMPORTED CODE BELOW
@@ -5,35 +5,6 @@ class SwimlaneContext:
5
5
  self.asset = asset
6
6
  self.asset_schema = asset_schema
7
7
  self.http_proxy = http_proxy
8
- url = inputs.pop("SwimlaneUrl", "")
9
- self.config = {
10
- "ApplicationId": inputs.pop("ApplicationId", ""),
11
- "RecordId": inputs.pop("RecordId", ""),
12
- "InternalSwimlaneUrl": url,
13
- "SwimlaneUrl": url
14
- }
15
- self.user = {
16
- "first_name": "Swimlane",
17
- "last_name": "Admin",
18
- "middle_initial": "",
19
- "display_name": "Swimlane Admin",
20
- "last_login": "2026-02-09T18:40:10.386Z",
21
- "domain": "",
22
- "active": True,
23
- "name": "swimlanesystem",
24
- "last_password_change_date": "2026-01-22T00:31:49.783Z",
25
- "password_reset_required": False,
26
- "default_workspace_id": "",
27
- "default_dashboard_id": "",
28
- "groups": [],
29
- "roles": [],
30
- "primary_group": "",
31
- "email": "",
32
- "user_name": "swimlaneadmin",
33
- "phone_number": "",
34
- "disabled":False,
35
- "id": ""
36
- }
37
8
  self.inputs = inputs
38
9
  # We purposefully do not include the sw_context.config object here as it is not supported
39
10