@flomatai/core 0.1.2 → 0.1.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.
@@ -22,19 +22,21 @@ export declare function hasFlag(flag: string): boolean;
22
22
  /**
23
23
  * Read a text document from the first available source:
24
24
  * 1. `--file <path>` CLI flag
25
- * 2. `envVar` environment variable (if provided)
26
- * 3. stdin (when not a TTY)
27
- * 4. `fallback` string (demo/default content)
25
+ * 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
26
+ * 3. `envVar` environment variable containing the content (e.g. 'DOCS')
27
+ * 4. stdin (when not a TTY)
28
+ * 5. `fallback` string (demo/default content)
28
29
  *
29
30
  * Logs a one-line message indicating which source was used.
30
31
  *
31
- * @param options.envVar Environment variable name to check (e.g. 'DOCS').
32
- * @param options.fallback Demo text to use when no other source is available.
33
- * @param options.label Human-readable name for the input (e.g. 'documentation').
34
- * Used in log messages. Defaults to 'input'.
32
+ * @param options.envVar Environment variable name holding content (e.g. 'DOCS').
33
+ * @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
34
+ * @param options.fallback Demo text to use when no other source is available.
35
+ * @param options.label Human-readable name for the input (e.g. 'documentation').
35
36
  */
36
37
  export declare function readTextInput(options: {
37
38
  envVar?: string;
39
+ fileEnvVar?: string;
38
40
  fallback?: string;
39
41
  label?: string;
40
42
  }): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BlB"}
1
+ {"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqClB"}
package/dist/cli-utils.js CHANGED
@@ -27,24 +27,32 @@ export function hasFlag(flag) {
27
27
  /**
28
28
  * Read a text document from the first available source:
29
29
  * 1. `--file <path>` CLI flag
30
- * 2. `envVar` environment variable (if provided)
31
- * 3. stdin (when not a TTY)
32
- * 4. `fallback` string (demo/default content)
30
+ * 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
31
+ * 3. `envVar` environment variable containing the content (e.g. 'DOCS')
32
+ * 4. stdin (when not a TTY)
33
+ * 5. `fallback` string (demo/default content)
33
34
  *
34
35
  * Logs a one-line message indicating which source was used.
35
36
  *
36
- * @param options.envVar Environment variable name to check (e.g. 'DOCS').
37
- * @param options.fallback Demo text to use when no other source is available.
38
- * @param options.label Human-readable name for the input (e.g. 'documentation').
39
- * Used in log messages. Defaults to 'input'.
37
+ * @param options.envVar Environment variable name holding content (e.g. 'DOCS').
38
+ * @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
39
+ * @param options.fallback Demo text to use when no other source is available.
40
+ * @param options.label Human-readable name for the input (e.g. 'documentation').
40
41
  */
41
42
  export async function readTextInput(options) {
42
- const { envVar, fallback = '', label = 'input' } = options;
43
+ const { envVar, fileEnvVar, fallback = '', label = 'input' } = options;
44
+ const { readFile } = await import('fs/promises');
43
45
  const filePath = getArg('--file');
44
46
  if (filePath) {
45
- const { readFile } = await import('fs/promises');
46
- const text = await readFile(filePath, 'utf-8');
47
- console.log(`Reading ${label} from: ${filePath}`);
47
+ const resolved = filePath.replace(/^~/, process.env['HOME'] ?? '');
48
+ const text = await readFile(resolved, 'utf-8');
49
+ console.log(`Reading ${label} from: ${resolved}`);
50
+ return text;
51
+ }
52
+ if (fileEnvVar && process.env[fileEnvVar]) {
53
+ const resolved = process.env[fileEnvVar].replace(/^~/, process.env['HOME'] ?? '');
54
+ console.log(`Reading ${label} from: ${resolved}`);
55
+ const text = await readFile(resolved, 'utf-8');
48
56
  return text;
49
57
  }
50
58
  if (envVar && process.env[envVar]) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAInC;IACC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,MAAM,UAAU,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,uDAAuD;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,iCAAiC,KAAK,GAAG,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAKnC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,MAAM,UAAU,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,uDAAuD;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,iCAAiC,KAAK,GAAG,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flomatai/core",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Core framework: Skills, Agents, Pipeline DSL, Orchestrator",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "type": "module",
package/src/cli-utils.ts CHANGED
@@ -30,29 +30,39 @@ export function hasFlag(flag: string): boolean {
30
30
  /**
31
31
  * Read a text document from the first available source:
32
32
  * 1. `--file <path>` CLI flag
33
- * 2. `envVar` environment variable (if provided)
34
- * 3. stdin (when not a TTY)
35
- * 4. `fallback` string (demo/default content)
33
+ * 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
34
+ * 3. `envVar` environment variable containing the content (e.g. 'DOCS')
35
+ * 4. stdin (when not a TTY)
36
+ * 5. `fallback` string (demo/default content)
36
37
  *
37
38
  * Logs a one-line message indicating which source was used.
38
39
  *
39
- * @param options.envVar Environment variable name to check (e.g. 'DOCS').
40
- * @param options.fallback Demo text to use when no other source is available.
41
- * @param options.label Human-readable name for the input (e.g. 'documentation').
42
- * Used in log messages. Defaults to 'input'.
40
+ * @param options.envVar Environment variable name holding content (e.g. 'DOCS').
41
+ * @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
42
+ * @param options.fallback Demo text to use when no other source is available.
43
+ * @param options.label Human-readable name for the input (e.g. 'documentation').
43
44
  */
44
45
  export async function readTextInput(options: {
45
46
  envVar?: string;
47
+ fileEnvVar?: string;
46
48
  fallback?: string;
47
49
  label?: string;
48
50
  }): Promise<string> {
49
- const { envVar, fallback = '', label = 'input' } = options;
51
+ const { envVar, fileEnvVar, fallback = '', label = 'input' } = options;
52
+ const { readFile } = await import('fs/promises');
50
53
 
51
54
  const filePath = getArg('--file');
52
55
  if (filePath) {
53
- const { readFile } = await import('fs/promises');
54
- const text = await readFile(filePath, 'utf-8');
55
- console.log(`Reading ${label} from: ${filePath}`);
56
+ const resolved = filePath.replace(/^~/, process.env['HOME'] ?? '');
57
+ const text = await readFile(resolved, 'utf-8');
58
+ console.log(`Reading ${label} from: ${resolved}`);
59
+ return text;
60
+ }
61
+
62
+ if (fileEnvVar && process.env[fileEnvVar]) {
63
+ const resolved = process.env[fileEnvVar]!.replace(/^~/, process.env['HOME'] ?? '');
64
+ console.log(`Reading ${label} from: ${resolved}`);
65
+ const text = await readFile(resolved, 'utf-8');
56
66
  return text;
57
67
  }
58
68