@uipath/solution-sdk 1.196.0 ā 1.197.0-preview.60
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.
- package/dist/index.js +162 -1476
- package/dist/scripts/generate-sdk.js +2 -0
- package/dist/src/zip-utils.d.ts +17 -1
- package/package.json +33 -42
- package/dist/index.js.map +0 -159
- package/dist/scripts/generate-sdk.js.map +0 -10
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/scripts/generate-sdk.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"#!/usr/bin/env bun\nimport { execSync } from \"node:child_process\";\nimport { mkdir, rm, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst SWAGGER_URL =\n \"https://alpha.uipath.com/uipattycyrhx/abizon_1/automationsolutions_/swagger/v1.0/swagger.json\";\nconst __dirname = import.meta.dir ?? dirname(fileURLToPath(import.meta.url));\nconst PKG_ROOT = join(__dirname, \"../..\");\nconst OUTPUT_DIR = join(PKG_ROOT, \"generated\");\nconst TEMP_DIR = join(PKG_ROOT, \"temp\");\nconst GENERATE_DIR = join(PKG_ROOT, \"swagger\");\n\n// Files the openapi-generator would emit that we don't consume.\n// Only `src/**` is referenced by the outer package;\n// README.md and docs/ are kept as generated reference material.\nconst IGNORED_GENERATOR_OUTPUTS = [\n \"package.json\",\n \"tsconfig.json\",\n \"tsconfig.esm.json\",\n \".npmignore\",\n \".gitignore\",\n];\n\nasync function downloadSwagger(): Promise<any> {\n console.log(\"Downloading swagger.json...\");\n const response = await fetch(SWAGGER_URL);\n if (!response.ok) {\n throw new Error(`Failed to download swagger: ${response.statusText}`);\n }\n return await response.json();\n}\n\nfunction filterSwaggerPaths(swagger: any): any {\n const filteredPaths: any = {};\n\n // Exclude all endpoints except /api/packages/\n const excludedPathPrefixes = [\n \"/api/blobfileaccess\",\n \"/api/configurations/\",\n \"/api/deployments/\",\n \"/api/lookups/\",\n \"/api/messagebus\",\n \"/api/metadata\",\n \"/api/projects/\",\n \"/api/resourcecatalog/\",\n \"/api/search/\",\n \"/api/settings/\",\n \"/api/translations\",\n \"/api/users/\",\n \"/api/v1/projects/\",\n \"/api/v1/solutions/\",\n \"/api/v2/search/\",\n \"/api/v3/search/\",\n ];\n\n // Explicitly included paths that would otherwise be excluded by prefix rules\n const explicitlyIncludedPaths = [\n \"/api/deployments/{deploymentKey}\",\n \"/api/deployments/deploy\",\n \"/api/search/packages\",\n \"/api/v3/search/deployments\",\n ];\n\n for (const [path, methods] of Object.entries(swagger.paths)) {\n const isExplicitlyIncluded = explicitlyIncludedPaths.includes(path);\n const shouldExclude =\n !isExplicitlyIncluded &&\n excludedPathPrefixes.some((prefix) => path.startsWith(prefix));\n\n if (shouldExclude) {\n console.log(` Skipping path: ${path} (problematic headers)`);\n } else {\n // For explicitly included paths that have multiple methods,\n // only include the methods we need\n if (path === \"/api/deployments/{deploymentKey}\") {\n const pathMethods = methods as Record<string, any>;\n filteredPaths[path] = { get: pathMethods.get };\n console.log(\n `Including path: GET ${path} (explicitly included)`,\n );\n } else {\n filteredPaths[path] = methods;\n console.log(`Including path: ${path}`);\n }\n }\n }\n\n return {\n ...swagger,\n paths: filteredPaths,\n };\n}\n\nfunction collectReferencedSchemas(swagger: any, paths: any): Set<string> {\n const referenced = new Set<string>();\n const toProcess: any[] = [];\n\n // Start by collecting all schemas from paths\n for (const methods of Object.values(paths)) {\n for (const operation of Object.values(methods as any)) {\n if (typeof operation === \"object\" && operation !== null) {\n toProcess.push(operation);\n }\n }\n }\n\n // Recursively find all $ref references\n const findRefs = (obj: any) => {\n if (!obj || typeof obj !== \"object\") return;\n\n if (obj.$ref && typeof obj.$ref === \"string\") {\n // Extract schema name from \"#/components/schemas/MyDto\"\n const match = obj.$ref.match(/#\\/components\\/schemas\\/(.+)/);\n if (match?.[1]) {\n const schemaName = match[1];\n if (!referenced.has(schemaName)) {\n referenced.add(schemaName);\n // Recursively process this schema\n if (swagger.components?.schemas?.[schemaName]) {\n findRefs(swagger.components.schemas[schemaName]);\n }\n }\n }\n }\n\n // Traverse arrays and objects\n if (Array.isArray(obj)) {\n obj.forEach(findRefs);\n } else if (typeof obj === \"object\") {\n Object.values(obj).forEach(findRefs);\n }\n };\n\n toProcess.forEach(findRefs);\n return referenced;\n}\n\nfunction filterUnusedSchemas(swagger: any): any {\n const referencedSchemas = collectReferencedSchemas(swagger, swagger.paths);\n const filteredSchemas: any = {};\n\n const totalSchemas = Object.keys(swagger.components?.schemas || {}).length;\n console.log(\n `\\nFound ${referencedSchemas.size} referenced schemas out of ${totalSchemas} total`,\n );\n\n for (const schemaName of referencedSchemas) {\n if (swagger.components?.schemas?.[schemaName]) {\n filteredSchemas[schemaName] =\n swagger.components.schemas[schemaName];\n }\n }\n\n return {\n ...swagger,\n components: {\n ...swagger.components,\n schemas: filteredSchemas,\n },\n };\n}\n\nasync function generateClient(filteredSwagger: any): Promise<void> {\n console.log(\"\\nGenerating TypeScript client...\");\n\n await rm(TEMP_DIR, { recursive: true, force: true });\n await rm(OUTPUT_DIR, { recursive: true, force: true });\n\n await mkdir(TEMP_DIR, { recursive: true });\n await mkdir(OUTPUT_DIR, { recursive: true });\n\n const swaggerPath = join(TEMP_DIR, \"filtered-swagger.json\");\n await writeFile(swaggerPath, JSON.stringify(filteredSwagger, null, 2));\n\n // Seed .openapi-generator-ignore so the generator never writes unused\n // support files. It must exist in OUTPUT_DIR before the generator runs.\n await writeFile(\n join(OUTPUT_DIR, \".openapi-generator-ignore\"),\n `${IGNORED_GENERATOR_OUTPUTS.join(\"\\n\")}\\n`,\n );\n\n const command = [\n \"npx @openapitools/openapi-generator-cli generate\",\n `-i ${swaggerPath}`,\n `-g typescript-fetch`,\n `-o ${OUTPUT_DIR}`,\n \"--skip-validate-spec\",\n \"--additional-properties=typescriptThreePlus=true,supportsES6=true,npmName=@uipath/solution-sdk\",\n ].join(\" \");\n\n execSync(command, { stdio: \"inherit\" });\n console.log(\"Client generated successfully!\");\n}\n\nasync function main(): Promise<void> {\n try {\n const swagger = await downloadSwagger();\n const filteredPaths = filterSwaggerPaths(swagger);\n const filtered = filterUnusedSchemas(filteredPaths);\n\n // Create generate directory and save files\n await mkdir(GENERATE_DIR, { recursive: true });\n await writeFile(\n join(GENERATE_DIR, \"swagger.json\"),\n JSON.stringify(swagger, null, 2),\n );\n await writeFile(\n join(GENERATE_DIR, \"filtered-swagger.json\"),\n JSON.stringify(filtered, null, 2),\n );\n\n await generateClient(filtered);\n\n // Clean up temp files\n await rm(TEMP_DIR, { recursive: true, force: true });\n\n console.log(`\\nā
Generated SDK available in: ${OUTPUT_DIR}`);\n console.log(`š Reference files saved in: ${GENERATE_DIR}`);\n } catch (error) {\n console.error(\"Error generating SDK:\", error);\n process.exit(1);\n }\n}\n\nif (import.meta.main) {\n main();\n}\n\nexport { main as generateSdk };\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "03A1AC393696691964756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|