@cascade-flow/backend-factory 0.1.0 → 0.1.2

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.d.ts CHANGED
@@ -8,10 +8,12 @@ import type { Backend } from "@cascade-flow/backend-interface";
8
8
  *
9
9
  * Environment variables:
10
10
  * - POSTGRES_URL: PostgreSQL connection string (e.g., postgres://user:pass@host:5432/db)
11
+ * - POSTGRES_SCHEMA: PostgreSQL schema name for table isolation (default: 'cascadeflow')
11
12
  * - BACKEND_PATH: Filesystem backend storage path (default: ./.runs)
12
13
  *
13
14
  * @param options - Optional configuration
14
15
  * @param options.baseDir - Override filesystem backend path (takes precedence over BACKEND_PATH env var)
16
+ * @param options.postgresSchema - Override PostgreSQL schema name (takes precedence over POSTGRES_SCHEMA env var, default: 'cascadeflow')
15
17
  * @returns Configured backend instance
16
18
  *
17
19
  * @example
@@ -22,12 +24,17 @@ import type { Backend } from "@cascade-flow/backend-interface";
22
24
  * // Use filesystem with custom path
23
25
  * const backend = createBackend({ baseDir: '/custom/path' });
24
26
  *
27
+ * // Use Postgres with custom schema
28
+ * const backend = createBackend({ postgresSchema: 'my_workflows' });
29
+ *
25
30
  * // Use Postgres (via POSTGRES_URL env var)
26
31
  * // POSTGRES_URL="postgres://user:pass@localhost:5432/db"
32
+ * // POSTGRES_SCHEMA="cascadeflow" (or any custom schema)
27
33
  * const backend = createBackend();
28
34
  * ```
29
35
  */
30
36
  export declare function createBackend(options?: {
31
37
  baseDir?: string;
38
+ postgresSchema?: string;
32
39
  }): Backend;
33
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAWrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAY9F"}
package/dist/index.js CHANGED
@@ -3,8 +3,9 @@ import { FileSystemBackend } from "@cascade-flow/backend-filesystem";
3
3
  import { PostgresBackend } from "@cascade-flow/backend-postgres";
4
4
  function createBackend(options) {
5
5
  const postgresUrl = process.env.POSTGRES_URL;
6
- if (postgresUrl) {
7
- return new PostgresBackend(postgresUrl);
6
+ if (postgresUrl && !options?.baseDir) {
7
+ const schema = options?.postgresSchema || process.env.POSTGRES_SCHEMA || "cascadeflow";
8
+ return new PostgresBackend(postgresUrl, schema);
8
9
  }
9
10
  const baseDir = options?.baseDir || process.env.BACKEND_PATH || "./.runs";
10
11
  return new FileSystemBackend(baseDir);
@@ -13,4 +14,4 @@ export {
13
14
  createBackend
14
15
  };
15
16
 
16
- //# debugId=E3551D172E44DAE164756E2164756E21
17
+ //# debugId=AA965E2194F222ED64756E2164756E21
package/dist/index.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Backend } from \"@cascade-flow/backend-interface\";\nimport { FileSystemBackend } from \"@cascade-flow/backend-filesystem\";\nimport { PostgresBackend } from \"@cascade-flow/backend-postgres\";\n\n/**\n * Create a backend instance based on environment variables\n *\n * Backend selection logic:\n * - If POSTGRES_URL is set → PostgresBackend\n * - Otherwise → FileSystemBackend\n *\n * Environment variables:\n * - POSTGRES_URL: PostgreSQL connection string (e.g., postgres://user:pass@host:5432/db)\n * - BACKEND_PATH: Filesystem backend storage path (default: ./.runs)\n *\n * @param options - Optional configuration\n * @param options.baseDir - Override filesystem backend path (takes precedence over BACKEND_PATH env var)\n * @returns Configured backend instance\n *\n * @example\n * ```typescript\n * // Use default backend (filesystem at ./.runs)\n * const backend = createBackend();\n *\n * // Use filesystem with custom path\n * const backend = createBackend({ baseDir: '/custom/path' });\n *\n * // Use Postgres (via POSTGRES_URL env var)\n * // POSTGRES_URL=\"postgres://user:pass@localhost:5432/db\"\n * const backend = createBackend();\n * ```\n */\nexport function createBackend(options?: { baseDir?: string }): Backend {\n const postgresUrl = process.env.POSTGRES_URL;\n\n if (postgresUrl) {\n // Use Postgres backend\n return new PostgresBackend(postgresUrl);\n }\n\n // Use Filesystem backend\n const baseDir = options?.baseDir || process.env.BACKEND_PATH || \"./.runs\";\n return new FileSystemBackend(baseDir);\n}\n"
5
+ "import type { Backend } from \"@cascade-flow/backend-interface\";\nimport { FileSystemBackend } from \"@cascade-flow/backend-filesystem\";\nimport { PostgresBackend } from \"@cascade-flow/backend-postgres\";\n\n/**\n * Create a backend instance based on environment variables\n *\n * Backend selection logic:\n * - If POSTGRES_URL is set → PostgresBackend\n * - Otherwise → FileSystemBackend\n *\n * Environment variables:\n * - POSTGRES_URL: PostgreSQL connection string (e.g., postgres://user:pass@host:5432/db)\n * - POSTGRES_SCHEMA: PostgreSQL schema name for table isolation (default: 'cascadeflow')\n * - BACKEND_PATH: Filesystem backend storage path (default: ./.runs)\n *\n * @param options - Optional configuration\n * @param options.baseDir - Override filesystem backend path (takes precedence over BACKEND_PATH env var)\n * @param options.postgresSchema - Override PostgreSQL schema name (takes precedence over POSTGRES_SCHEMA env var, default: 'cascadeflow')\n * @returns Configured backend instance\n *\n * @example\n * ```typescript\n * // Use default backend (filesystem at ./.runs)\n * const backend = createBackend();\n *\n * // Use filesystem with custom path\n * const backend = createBackend({ baseDir: '/custom/path' });\n *\n * // Use Postgres with custom schema\n * const backend = createBackend({ postgresSchema: 'my_workflows' });\n *\n * // Use Postgres (via POSTGRES_URL env var)\n * // POSTGRES_URL=\"postgres://user:pass@localhost:5432/db\"\n * // POSTGRES_SCHEMA=\"cascadeflow\" (or any custom schema)\n * const backend = createBackend();\n * ```\n */\nexport function createBackend(options?: { baseDir?: string; postgresSchema?: string }): Backend {\n const postgresUrl = process.env.POSTGRES_URL;\n\n if (postgresUrl && !options?.baseDir) {\n // Use Postgres backend with optional schema configuration\n const schema = options?.postgresSchema || process.env.POSTGRES_SCHEMA || 'cascadeflow';\n return new PostgresBackend(postgresUrl, schema);\n }\n\n // Use Filesystem backend\n const baseDir = options?.baseDir || process.env.BACKEND_PATH || \"./.runs\";\n return new FileSystemBackend(baseDir);\n}\n"
6
6
  ],
7
- "mappings": ";AACA;AACA;AA8BO,SAAS,aAAa,CAAC,SAAyC;AAAA,EACrE,MAAM,cAAc,QAAQ,IAAI;AAAA,EAEhC,IAAI,aAAa;AAAA,IAEf,OAAO,IAAI,gBAAgB,WAAW;AAAA,EACxC;AAAA,EAGA,MAAM,UAAU,SAAS,WAAW,QAAQ,IAAI,gBAAgB;AAAA,EAChE,OAAO,IAAI,kBAAkB,OAAO;AAAA;",
8
- "debugId": "E3551D172E44DAE164756E2164756E21",
7
+ "mappings": ";AACA;AACA;AAoCO,SAAS,aAAa,CAAC,SAAkE;AAAA,EAC9F,MAAM,cAAc,QAAQ,IAAI;AAAA,EAEhC,IAAI,eAAe,CAAC,SAAS,SAAS;AAAA,IAEpC,MAAM,SAAS,SAAS,kBAAkB,QAAQ,IAAI,mBAAmB;AAAA,IACzE,OAAO,IAAI,gBAAgB,aAAa,MAAM;AAAA,EAChD;AAAA,EAGA,MAAM,UAAU,SAAS,WAAW,QAAQ,IAAI,gBAAgB;AAAA,EAChE,OAAO,IAAI,kBAAkB,OAAO;AAAA;",
8
+ "debugId": "AA965E2194F222ED64756E2164756E21",
9
9
  "names": []
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cascade-flow/backend-factory",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",