windmill-ts 0.3.5 → 0.4.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-ts",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
4
4
  "description": "Type-safe client for Windmill",
5
5
  "main": "dist/src/index.js",
6
6
  "bin": "dist/src/index.js",
@@ -4,6 +4,7 @@ import { getContext, run } from "./context.js";
4
4
  import { PassThrough } from "node:stream";
5
5
  import { resourceReferencesSchemaName, resourceTypeSchemaName, } from "./resources.js";
6
6
  import { once } from "../utils/once.js";
7
+ import dedent from "dedent";
7
8
  export const runWithBuffer = async (cb) => {
8
9
  const { allResourceTypes } = getContext();
9
10
  const buffer = new PassThrough();
@@ -50,7 +51,9 @@ export const schemaToZod = (schema, options) => {
50
51
  // library doesn't like that, so we need to delete it
51
52
  if (schema.type === "string" && schema.enum == null) {
52
53
  delete schema.enum;
53
- return;
54
+ }
55
+ if (schema.type === 'string' && 'contentEncoding' in schema && schema.contentEncoding === 'base64') {
56
+ return base64FileZodSchema();
54
57
  }
55
58
  const resourceTypeOrFalse = extractResourceTypeFromSchema(schema);
56
59
  if (resourceTypeOrFalse) {
@@ -76,6 +79,30 @@ export const schemaToZod = (schema, options) => {
76
79
  const resourceTypeToUnion = (resourceType) => {
77
80
  return `z.union([${resourceReferencesSchemaName(resourceType)}, ${resourceTypeSchemaName(resourceType)}])`;
78
81
  };
82
+ const base64FileZodSchema = once(() => {
83
+ const { deferWrite } = getContext();
84
+ const name = `$base64_file_type`;
85
+ const schema = dedent `
86
+ z.union([
87
+ z.string().base64(),
88
+ z.string().refine(
89
+ (value) => {
90
+ const base64Match = value.match(/^data:(.*?);base64,(.+)$/);
91
+ if (!base64Match) {
92
+ return false;
93
+ }
94
+ const [, mimeType, data] = base64Match;
95
+ if (!mimeType) {
96
+ return false;
97
+ }
98
+ return z.string().base64().safeParse(data).success;
99
+ },
100
+ ),
101
+ ])
102
+ `;
103
+ deferWrite(`const ${name} = ${schema};`);
104
+ return name;
105
+ });
79
106
  const s3ObjectZodSchema = once(() => {
80
107
  const { deferWrite } = getContext();
81
108
  const name = `$s3_object_type`;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/generator/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/generator/common.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ const preamble = dedent `
21
21
 
22
22
  return wmill.runFlowAsync(flowPath, schema.parse(args));
23
23
  };
24
+
25
+ export const getFlowArgsSchema = <Path extends keyof typeof ${mapName}>(
26
+ flowPath: Path
27
+ ) => {
28
+ return ${mapName}[flowPath];
29
+ }
24
30
  `;
25
31
  export const generateFlows = async () => {
26
32
  const { write } = getContext();
@@ -1 +1 @@
1
- {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../src/generator/flows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,QAAQ,GAAG,MAAM,CAAA;sDAC+B,OAAO;;4BAEjC,OAAO;;qBAEd,OAAO;;;;;2DAK+B,OAAO;;4BAEtC,OAAO;;qBAEd,OAAO;;;;CAI3B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,SAAS,EAAE;QACtB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../../src/generator/flows.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,QAAQ,GAAG,MAAM,CAAA;sDAC+B,OAAO;;4BAEjC,OAAO;;qBAEd,OAAO;;;;;2DAK+B,OAAO;;4BAEtC,OAAO;;qBAEd,OAAO;;;;;gEAKoC,OAAO;;;aAG1D,OAAO;;CAEnB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,SAAS,EAAE;QACtB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -5,9 +5,9 @@ import { schemaToZod } from "./common.js";
5
5
  import dedent from "dedent";
6
6
  const resourceToTypeMap = "resourceToType";
7
7
  const preamble = dedent `
8
- export const getResource = async <Path extends keyof typeof resourceToType>(
8
+ export const getResource = async <Path extends keyof typeof ${resourceToTypeMap}>(
9
9
  path: Path,
10
- ): Promise<z.infer<(typeof resourceToType)[Path]>> => {
10
+ ): Promise<z.infer<(typeof ${resourceToTypeMap})[Path]>> => {
11
11
  const schema = ${resourceToTypeMap}[path];
12
12
  const data = await wmill.getResource(path);
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/generator/resources.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ const preamble = dedent `
21
21
 
22
22
  return wmill.runScriptAsync(scriptPath, null, schema.parse(args));
23
23
  };
24
+
25
+ export const getScriptArgsSchema = <Path extends keyof typeof ${mapName}>(
26
+ scriptPath: Path
27
+ ) => {
28
+ return ${mapName}[scriptPath];
29
+ }
24
30
  `;
25
31
  export const generateScripts = async () => {
26
32
  const { write } = getContext();
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/generator/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B,MAAM,QAAQ,GAAG,MAAM,CAAA;wDACiC,OAAO;;4BAEnC,OAAO;;qBAEd,OAAO;;;;;6DAKiC,OAAO;;4BAExC,OAAO;;qBAEd,OAAO;;;;CAI3B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,WAAW,EAAE;QACxB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/generator/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B,MAAM,QAAQ,GAAG,MAAM,CAAA;wDACiC,OAAO;;4BAEnC,OAAO;;qBAEd,OAAO;;;;;6DAKiC,OAAO;;4BAExC,OAAO;;qBAEd,OAAO;;;;;kEAKsC,OAAO;;;aAG5D,OAAO;;CAEnB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAG,CAAC;IAEhC,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,eAAe,CAAC;QACrB,SAAS,EAAE,WAAW,EAAE;QACxB,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-ts",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
4
4
  "description": "Type-safe client for Windmill",
5
5
  "main": "dist/src/index.js",
6
6
  "bin": "dist/src/index.js",