@marktoflow/core 2.0.0-alpha.9 → 2.0.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.
Files changed (149) hide show
  1. package/README.md +24 -222
  2. package/dist/built-in-operations.d.ts +150 -0
  3. package/dist/built-in-operations.d.ts.map +1 -0
  4. package/dist/built-in-operations.js +799 -0
  5. package/dist/built-in-operations.js.map +1 -0
  6. package/dist/core-tools.d.ts +39 -0
  7. package/dist/core-tools.d.ts.map +1 -0
  8. package/dist/core-tools.js +58 -0
  9. package/dist/core-tools.js.map +1 -0
  10. package/dist/credentials.d.ts +60 -1
  11. package/dist/credentials.d.ts.map +1 -1
  12. package/dist/credentials.js +229 -4
  13. package/dist/credentials.js.map +1 -1
  14. package/dist/engine.d.ts +92 -3
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js +937 -59
  17. package/dist/engine.js.map +1 -1
  18. package/dist/file-operations.d.ts +86 -0
  19. package/dist/file-operations.d.ts.map +1 -0
  20. package/dist/file-operations.js +382 -0
  21. package/dist/file-operations.js.map +1 -0
  22. package/dist/index.d.ts +16 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +46 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/logging.d.ts +40 -2
  27. package/dist/logging.d.ts.map +1 -1
  28. package/dist/logging.js +166 -13
  29. package/dist/logging.js.map +1 -1
  30. package/dist/models.d.ts +1441 -54
  31. package/dist/models.d.ts.map +1 -1
  32. package/dist/models.js +124 -2
  33. package/dist/models.js.map +1 -1
  34. package/dist/nunjucks-filters.d.ts +271 -0
  35. package/dist/nunjucks-filters.d.ts.map +1 -0
  36. package/dist/nunjucks-filters.js +648 -0
  37. package/dist/nunjucks-filters.js.map +1 -0
  38. package/dist/oauth-manager.d.ts +128 -0
  39. package/dist/oauth-manager.d.ts.map +1 -0
  40. package/dist/oauth-manager.js +291 -0
  41. package/dist/oauth-manager.js.map +1 -0
  42. package/dist/oauth-refresh.d.ts +37 -0
  43. package/dist/oauth-refresh.d.ts.map +1 -0
  44. package/dist/oauth-refresh.js +76 -0
  45. package/dist/oauth-refresh.js.map +1 -0
  46. package/dist/parser.d.ts.map +1 -1
  47. package/dist/parser.js +113 -3
  48. package/dist/parser.js.map +1 -1
  49. package/dist/permissions.d.ts +49 -0
  50. package/dist/permissions.d.ts.map +1 -0
  51. package/dist/permissions.js +286 -0
  52. package/dist/permissions.js.map +1 -0
  53. package/dist/prompt-loader.d.ts +53 -0
  54. package/dist/prompt-loader.d.ts.map +1 -0
  55. package/dist/prompt-loader.js +205 -0
  56. package/dist/prompt-loader.js.map +1 -0
  57. package/dist/scheduler.d.ts +22 -3
  58. package/dist/scheduler.d.ts.map +1 -1
  59. package/dist/scheduler.js +72 -73
  60. package/dist/scheduler.js.map +1 -1
  61. package/dist/script-executor.d.ts +65 -0
  62. package/dist/script-executor.d.ts.map +1 -0
  63. package/dist/script-executor.js +261 -0
  64. package/dist/script-executor.js.map +1 -0
  65. package/dist/sdk-registry.d.ts +20 -2
  66. package/dist/sdk-registry.d.ts.map +1 -1
  67. package/dist/sdk-registry.js +100 -15
  68. package/dist/sdk-registry.js.map +1 -1
  69. package/dist/secret-providers/index.d.ts +12 -0
  70. package/dist/secret-providers/index.d.ts.map +1 -0
  71. package/dist/secret-providers/index.js +11 -0
  72. package/dist/secret-providers/index.js.map +1 -0
  73. package/dist/secret-providers/providers/aws.d.ts +32 -0
  74. package/dist/secret-providers/providers/aws.d.ts.map +1 -0
  75. package/dist/secret-providers/providers/aws.js +118 -0
  76. package/dist/secret-providers/providers/aws.js.map +1 -0
  77. package/dist/secret-providers/providers/azure.d.ts +40 -0
  78. package/dist/secret-providers/providers/azure.d.ts.map +1 -0
  79. package/dist/secret-providers/providers/azure.js +170 -0
  80. package/dist/secret-providers/providers/azure.js.map +1 -0
  81. package/dist/secret-providers/providers/env.d.ts +26 -0
  82. package/dist/secret-providers/providers/env.d.ts.map +1 -0
  83. package/dist/secret-providers/providers/env.js +59 -0
  84. package/dist/secret-providers/providers/env.js.map +1 -0
  85. package/dist/secret-providers/providers/vault.d.ts +39 -0
  86. package/dist/secret-providers/providers/vault.d.ts.map +1 -0
  87. package/dist/secret-providers/providers/vault.js +180 -0
  88. package/dist/secret-providers/providers/vault.js.map +1 -0
  89. package/dist/secret-providers/secret-manager.d.ts +72 -0
  90. package/dist/secret-providers/secret-manager.d.ts.map +1 -0
  91. package/dist/secret-providers/secret-manager.js +226 -0
  92. package/dist/secret-providers/secret-manager.js.map +1 -0
  93. package/dist/secret-providers/types.d.ts +105 -0
  94. package/dist/secret-providers/types.d.ts.map +1 -0
  95. package/dist/secret-providers/types.js +8 -0
  96. package/dist/secret-providers/types.js.map +1 -0
  97. package/dist/secrets/index.d.ts +12 -0
  98. package/dist/secrets/index.d.ts.map +1 -0
  99. package/dist/secrets/index.js +11 -0
  100. package/dist/secrets/index.js.map +1 -0
  101. package/dist/secrets/providers/aws.d.ts +32 -0
  102. package/dist/secrets/providers/aws.d.ts.map +1 -0
  103. package/dist/secrets/providers/aws.js +118 -0
  104. package/dist/secrets/providers/aws.js.map +1 -0
  105. package/dist/secrets/providers/azure.d.ts +40 -0
  106. package/dist/secrets/providers/azure.d.ts.map +1 -0
  107. package/dist/secrets/providers/azure.js +170 -0
  108. package/dist/secrets/providers/azure.js.map +1 -0
  109. package/dist/secrets/providers/env.d.ts +26 -0
  110. package/dist/secrets/providers/env.d.ts.map +1 -0
  111. package/dist/secrets/providers/env.js +59 -0
  112. package/dist/secrets/providers/env.js.map +1 -0
  113. package/dist/secrets/providers/vault.d.ts +39 -0
  114. package/dist/secrets/providers/vault.d.ts.map +1 -0
  115. package/dist/secrets/providers/vault.js +180 -0
  116. package/dist/secrets/providers/vault.js.map +1 -0
  117. package/dist/secrets/secret-manager.d.ts +72 -0
  118. package/dist/secrets/secret-manager.d.ts.map +1 -0
  119. package/dist/secrets/secret-manager.js +226 -0
  120. package/dist/secrets/secret-manager.js.map +1 -0
  121. package/dist/secrets/types.d.ts +105 -0
  122. package/dist/secrets/types.d.ts.map +1 -0
  123. package/dist/secrets/types.js +8 -0
  124. package/dist/secrets/types.js.map +1 -0
  125. package/dist/security.d.ts +1 -0
  126. package/dist/security.d.ts.map +1 -1
  127. package/dist/security.js +4 -0
  128. package/dist/security.js.map +1 -1
  129. package/dist/state.d.ts.map +1 -1
  130. package/dist/state.js +16 -9
  131. package/dist/state.js.map +1 -1
  132. package/dist/template-engine.d.ts +51 -0
  133. package/dist/template-engine.d.ts.map +1 -0
  134. package/dist/template-engine.js +227 -0
  135. package/dist/template-engine.js.map +1 -0
  136. package/dist/templates.d.ts +10 -0
  137. package/dist/templates.d.ts.map +1 -1
  138. package/dist/templates.js +21 -17
  139. package/dist/templates.js.map +1 -1
  140. package/dist/tools/mcp-tool.js +9 -9
  141. package/dist/tools/mcp-tool.js.map +1 -1
  142. package/dist/trigger-manager.js +1 -1
  143. package/dist/trigger-manager.js.map +1 -1
  144. package/dist/workflow-tools.d.ts +102 -0
  145. package/dist/workflow-tools.d.ts.map +1 -0
  146. package/dist/workflow-tools.js +130 -0
  147. package/dist/workflow-tools.js.map +1 -0
  148. package/package.json +31 -13
  149. package/LICENSE +0 -201
@@ -0,0 +1 @@
1
+ {"version":3,"file":"built-in-operations.js","sourceRoot":"","sources":["../src/built-in-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Core built-in tools for marktoflow workflows
3
+ *
4
+ * These tools are always available without needing to be declared in the workflow.
5
+ */
6
+ import { SDKInitializer } from './sdk-registry.js';
7
+ /**
8
+ * Core tools client that provides built-in workflow actions
9
+ */
10
+ export declare class CoreToolsClient {
11
+ constructor();
12
+ /**
13
+ * Log a message during workflow execution
14
+ */
15
+ log(inputs: {
16
+ level: string;
17
+ message: string;
18
+ metadata?: Record<string, unknown>;
19
+ }): Promise<{
20
+ logged: true;
21
+ }>;
22
+ /**
23
+ * Write content to a file
24
+ */
25
+ writeFile(inputs: {
26
+ path: string;
27
+ content: string;
28
+ encoding?: string;
29
+ }): Promise<{
30
+ written: true;
31
+ path: string;
32
+ size: number;
33
+ }>;
34
+ }
35
+ /**
36
+ * Core SDK initializer
37
+ */
38
+ export declare const CoreInitializer: SDKInitializer;
39
+ //# sourceMappingURL=core-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-tools.d.ts","sourceRoot":"","sources":["../src/core-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;GAEG;AACH,qBAAa,eAAe;;IAK1B;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC;IAkB7B;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAiB3D;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cAI7B,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Core built-in tools for marktoflow workflows
3
+ *
4
+ * These tools are always available without needing to be declared in the workflow.
5
+ */
6
+ import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
7
+ import { dirname } from 'node:path';
8
+ /**
9
+ * Core tools client that provides built-in workflow actions
10
+ */
11
+ export class CoreToolsClient {
12
+ constructor() {
13
+ // No-op constructor - logger integration not yet implemented
14
+ }
15
+ /**
16
+ * Log a message during workflow execution
17
+ */
18
+ async log(inputs) {
19
+ const level = (inputs.level || 'info');
20
+ const message = inputs.message;
21
+ const metadata = inputs.metadata;
22
+ // Use console logging (logger integration is not fully implemented yet)
23
+ const logFn = level === 'error' || level === 'critical' ? console.error :
24
+ level === 'warning' ? console.warn : console.log;
25
+ if (metadata && Object.keys(metadata).length > 0) {
26
+ logFn(`[${level.toUpperCase()}] ${message}`, metadata);
27
+ }
28
+ else {
29
+ logFn(`[${level.toUpperCase()}] ${message}`);
30
+ }
31
+ return { logged: true };
32
+ }
33
+ /**
34
+ * Write content to a file
35
+ */
36
+ async writeFile(inputs) {
37
+ const filePath = inputs.path;
38
+ const content = inputs.content;
39
+ const encoding = (inputs.encoding || 'utf-8');
40
+ // Ensure directory exists
41
+ const dir = dirname(filePath);
42
+ if (dir && dir !== '.' && !existsSync(dir)) {
43
+ mkdirSync(dir, { recursive: true });
44
+ }
45
+ writeFileSync(filePath, content, encoding);
46
+ console.log(`[INFO] File written: ${filePath} (${content.length} bytes)`);
47
+ return { written: true, path: filePath, size: content.length };
48
+ }
49
+ }
50
+ /**
51
+ * Core SDK initializer
52
+ */
53
+ export const CoreInitializer = {
54
+ async initialize(_module, _config) {
55
+ return new CoreToolsClient();
56
+ },
57
+ };
58
+ //# sourceMappingURL=core-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-tools.js","sourceRoot":"","sources":["../src/core-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;QACE,6DAA6D;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAIT;QACC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAa,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,wEAAwE;QACxE,MAAM,KAAK,GAAG,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3D,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAE/D,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAIf;QACC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAmB,CAAC;QAEhE,0BAA0B;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,KAAK,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;QAE1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,OAAY;QAC7C,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;CACF,CAAC"}
@@ -9,7 +9,8 @@
9
9
  export declare enum EncryptionBackend {
10
10
  AGE = "age",
11
11
  GPG = "gpg",
12
- FERNET = "fernet"
12
+ FERNET = "fernet",
13
+ AES_256_GCM = "aes-256-gcm"
13
14
  }
14
15
  export declare enum CredentialType {
15
16
  API_KEY = "api_key",
@@ -67,6 +68,35 @@ export declare class FernetEncryptor implements Encryptor {
67
68
  isAvailable(): boolean;
68
69
  generateKey(): string;
69
70
  }
71
+ /**
72
+ * AES-256-GCM encryption using Node.js built-in crypto.
73
+ *
74
+ * Uses scrypt for key derivation from a passphrase/env key.
75
+ * Each encryption produces a random 12-byte IV (nonce).
76
+ * Stores ciphertext as: iv:authTag:ciphertext (all base64-encoded).
77
+ *
78
+ * Key source priority:
79
+ * 1. Explicit key passed to constructor
80
+ * 2. MARKTOFLOW_ENCRYPTION_KEY environment variable
81
+ * 3. Key file at keyFilePath (default: ~/.marktoflow/.key)
82
+ * 4. Auto-generate and store at keyFilePath on first use
83
+ */
84
+ export declare class AES256GCMEncryptor implements Encryptor {
85
+ private derivedKey;
86
+ private keyFilePath;
87
+ private salt;
88
+ constructor(options?: {
89
+ key?: string;
90
+ keyFilePath?: string;
91
+ salt?: Buffer;
92
+ });
93
+ private loadOrGenerateKeyFile;
94
+ private deriveKey;
95
+ encrypt(plaintext: string): string;
96
+ decrypt(ciphertext: string): string;
97
+ isAvailable(): boolean;
98
+ generateKey(): string;
99
+ }
70
100
  export declare class AgeEncryptor implements Encryptor {
71
101
  private recipient?;
72
102
  private identityFile?;
@@ -134,13 +164,42 @@ export declare class CredentialManager {
134
164
  exists(name: string): boolean;
135
165
  list(tag?: string, includeExpired?: boolean): Credential[];
136
166
  rotate(name: string, newValue: string): Credential;
167
+ /**
168
+ * Check if an OAuth token is expired or will expire soon
169
+ */
170
+ isTokenExpired(name: string, bufferMinutes?: number): boolean;
171
+ /**
172
+ * Update OAuth access token after refresh
173
+ */
174
+ updateOAuthToken(name: string, newAccessToken: string, expiresIn?: number): Credential;
175
+ /**
176
+ * Get OAuth tokens with automatic expiration checking
177
+ */
178
+ getOAuthTokens(name: string): {
179
+ accessToken: string;
180
+ refreshToken?: string;
181
+ clientId?: string;
182
+ clientSecret?: string;
183
+ isExpired: boolean;
184
+ };
137
185
  export(name: string): Record<string, unknown>;
186
+ /**
187
+ * Migrate existing plain-text (or differently-encrypted) credentials to
188
+ * the current encryptor. Reads each credential's raw stored value, decrypts
189
+ * it with the provided `oldEncryptor` (or treats it as plain text if null),
190
+ * then re-encrypts with the current encryptor and saves.
191
+ *
192
+ * Returns the number of credentials migrated.
193
+ */
194
+ migrateToEncrypted(oldEncryptor?: Encryptor | null): number;
138
195
  importCredential(data: Record<string, unknown>): Credential;
139
196
  }
140
197
  export declare class KeyManager {
141
198
  private keyDir;
142
199
  constructor(keyDir: string);
143
200
  private keyFile;
201
+ generateAES256GCMKey(name?: string): string;
202
+ getAES256GCMKey(name?: string): string | null;
144
203
  generateFernetKey(name?: string): string;
145
204
  generateAgeIdentity(name?: string): {
146
205
  identity: string;
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@
6
6
  * - GPG encryption (external binary)
7
7
  * - Fernet encryption (built-in via Node crypto)
8
8
  */
9
- import { randomBytes, createCipheriv, createDecipheriv, createHmac } from 'node:crypto';
9
+ import { randomBytes, createCipheriv, createDecipheriv, createHmac, scryptSync } from 'node:crypto';
10
10
  import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, unlinkSync } from 'node:fs';
11
11
  import { join } from 'node:path';
12
+ import { homedir } from 'node:os';
12
13
  import { spawnSync } from 'node:child_process';
13
14
  import Database from 'better-sqlite3';
14
15
  export var EncryptionBackend;
@@ -16,6 +17,7 @@ export var EncryptionBackend;
16
17
  EncryptionBackend["AGE"] = "age";
17
18
  EncryptionBackend["GPG"] = "gpg";
18
19
  EncryptionBackend["FERNET"] = "fernet";
20
+ EncryptionBackend["AES_256_GCM"] = "aes-256-gcm";
19
21
  })(EncryptionBackend || (EncryptionBackend = {}));
20
22
  export var CredentialType;
21
23
  (function (CredentialType) {
@@ -154,6 +156,105 @@ export class FernetEncryptor {
154
156
  return key.toString('base64').replace(/\+/g, '-').replace(/\//g, '_');
155
157
  }
156
158
  }
159
+ /**
160
+ * AES-256-GCM encryption using Node.js built-in crypto.
161
+ *
162
+ * Uses scrypt for key derivation from a passphrase/env key.
163
+ * Each encryption produces a random 12-byte IV (nonce).
164
+ * Stores ciphertext as: iv:authTag:ciphertext (all base64-encoded).
165
+ *
166
+ * Key source priority:
167
+ * 1. Explicit key passed to constructor
168
+ * 2. MARKTOFLOW_ENCRYPTION_KEY environment variable
169
+ * 3. Key file at keyFilePath (default: ~/.marktoflow/.key)
170
+ * 4. Auto-generate and store at keyFilePath on first use
171
+ */
172
+ export class AES256GCMEncryptor {
173
+ derivedKey = null;
174
+ keyFilePath;
175
+ salt;
176
+ constructor(options) {
177
+ this.keyFilePath = options?.keyFilePath ?? join(homedir(), '.marktoflow', '.key');
178
+ // Use a fixed salt per installation (derived from the key file path).
179
+ // Users can override with an explicit salt for testing.
180
+ this.salt = options?.salt ?? Buffer.from('marktoflow-aes256gcm-salt', 'utf8');
181
+ const rawKey = options?.key ?? process.env.MARKTOFLOW_ENCRYPTION_KEY ?? this.loadOrGenerateKeyFile();
182
+ if (rawKey) {
183
+ this.deriveKey(rawKey);
184
+ }
185
+ }
186
+ loadOrGenerateKeyFile() {
187
+ if (existsSync(this.keyFilePath)) {
188
+ return readFileSync(this.keyFilePath, 'utf8').trim();
189
+ }
190
+ // Auto-generate key on first run
191
+ const generated = this.generateKey();
192
+ const dir = this.keyFilePath.substring(0, this.keyFilePath.lastIndexOf('/'));
193
+ if (dir && !existsSync(dir)) {
194
+ mkdirSync(dir, { recursive: true });
195
+ }
196
+ writeFileSync(this.keyFilePath, generated, { mode: 0o600 });
197
+ return generated;
198
+ }
199
+ deriveKey(passphrase) {
200
+ // scrypt: derive a 32-byte key (256 bits) for AES-256
201
+ this.derivedKey = scryptSync(passphrase, this.salt, 32, { N: 16384, r: 8, p: 1 });
202
+ }
203
+ encrypt(plaintext) {
204
+ if (!this.derivedKey) {
205
+ throw new KeyNotFoundError('No AES-256-GCM key configured');
206
+ }
207
+ const iv = randomBytes(12); // 96-bit nonce recommended for GCM
208
+ const cipher = createCipheriv('aes-256-gcm', this.derivedKey, iv);
209
+ const encrypted = Buffer.concat([
210
+ cipher.update(plaintext, 'utf8'),
211
+ cipher.final(),
212
+ ]);
213
+ const authTag = cipher.getAuthTag(); // 16 bytes
214
+ // Format: iv:authTag:ciphertext (all base64)
215
+ return `${iv.toString('base64')}:${authTag.toString('base64')}:${encrypted.toString('base64')}`;
216
+ }
217
+ decrypt(ciphertext) {
218
+ if (!this.derivedKey) {
219
+ throw new KeyNotFoundError('No AES-256-GCM key configured');
220
+ }
221
+ try {
222
+ const parts = ciphertext.split(':');
223
+ if (parts.length !== 3) {
224
+ throw new EncryptionError('Invalid AES-256-GCM ciphertext format: expected iv:authTag:ciphertext');
225
+ }
226
+ const iv = Buffer.from(parts[0], 'base64');
227
+ const authTag = Buffer.from(parts[1], 'base64');
228
+ const encrypted = Buffer.from(parts[2], 'base64');
229
+ if (iv.length !== 12) {
230
+ throw new EncryptionError(`Invalid IV length: expected 12, got ${iv.length}`);
231
+ }
232
+ if (authTag.length !== 16) {
233
+ throw new EncryptionError(`Invalid auth tag length: expected 16, got ${authTag.length}`);
234
+ }
235
+ const decipher = createDecipheriv('aes-256-gcm', this.derivedKey, iv);
236
+ decipher.setAuthTag(authTag);
237
+ const decrypted = Buffer.concat([
238
+ decipher.update(encrypted),
239
+ decipher.final(),
240
+ ]);
241
+ return decrypted.toString('utf8');
242
+ }
243
+ catch (error) {
244
+ if (error instanceof EncryptionError || error instanceof KeyNotFoundError) {
245
+ throw error;
246
+ }
247
+ throw new EncryptionError(`AES-256-GCM decryption failed: ${String(error)}`);
248
+ }
249
+ }
250
+ isAvailable() {
251
+ return true; // Uses only Node.js built-in crypto
252
+ }
253
+ generateKey() {
254
+ // Generate a 64-character hex key (256 bits of entropy)
255
+ return randomBytes(32).toString('hex');
256
+ }
257
+ }
157
258
  export class AgeEncryptor {
158
259
  recipient;
159
260
  identityFile;
@@ -477,6 +578,69 @@ export class CredentialManager {
477
578
  ...(existing.tags !== undefined && { tags: existing.tags }),
478
579
  });
479
580
  }
581
+ /**
582
+ * Check if an OAuth token is expired or will expire soon
583
+ */
584
+ isTokenExpired(name, bufferMinutes = 5) {
585
+ const credential = this.store.get(name);
586
+ if (!credential || !credential.expiresAt) {
587
+ return false; // No expiration set
588
+ }
589
+ const now = new Date();
590
+ const bufferMs = bufferMinutes * 60 * 1000;
591
+ const expiryWithBuffer = new Date(credential.expiresAt.getTime() - bufferMs);
592
+ return expiryWithBuffer <= now;
593
+ }
594
+ /**
595
+ * Update OAuth access token after refresh
596
+ */
597
+ updateOAuthToken(name, newAccessToken, expiresIn) {
598
+ const existing = this.store.get(name);
599
+ if (!existing) {
600
+ throw new CredentialNotFoundError(`Credential '${name}' not found`);
601
+ }
602
+ // Calculate new expiration time if provided
603
+ let newExpiresAt = existing.expiresAt;
604
+ if (expiresIn) {
605
+ newExpiresAt = new Date(Date.now() + expiresIn * 1000);
606
+ }
607
+ const params = {
608
+ name,
609
+ value: newAccessToken,
610
+ credentialType: existing.credentialType,
611
+ };
612
+ if (existing.description)
613
+ params.description = existing.description;
614
+ if (existing.metadata)
615
+ params.metadata = existing.metadata;
616
+ if (newExpiresAt)
617
+ params.expiresAt = newExpiresAt;
618
+ if (existing.tags && existing.tags.length > 0)
619
+ params.tags = existing.tags;
620
+ return this.set(params);
621
+ }
622
+ /**
623
+ * Get OAuth tokens with automatic expiration checking
624
+ */
625
+ getOAuthTokens(name) {
626
+ const credential = this.store.get(name);
627
+ if (!credential) {
628
+ throw new CredentialNotFoundError(`Credential '${name}' not found`);
629
+ }
630
+ const accessToken = this.encryptor.decrypt(credential.value);
631
+ const metadata = credential.metadata || {};
632
+ const result = {
633
+ accessToken,
634
+ isExpired: this.isTokenExpired(name),
635
+ };
636
+ if (metadata.refresh_token)
637
+ result.refreshToken = metadata.refresh_token;
638
+ if (metadata.client_id)
639
+ result.clientId = metadata.client_id;
640
+ if (metadata.client_secret)
641
+ result.clientSecret = metadata.client_secret;
642
+ return result;
643
+ }
480
644
  export(name) {
481
645
  const credential = this.store.get(name);
482
646
  if (!credential) {
@@ -494,6 +658,35 @@ export class CredentialManager {
494
658
  tags: credential.tags ?? [],
495
659
  };
496
660
  }
661
+ /**
662
+ * Migrate existing plain-text (or differently-encrypted) credentials to
663
+ * the current encryptor. Reads each credential's raw stored value, decrypts
664
+ * it with the provided `oldEncryptor` (or treats it as plain text if null),
665
+ * then re-encrypts with the current encryptor and saves.
666
+ *
667
+ * Returns the number of credentials migrated.
668
+ */
669
+ migrateToEncrypted(oldEncryptor) {
670
+ const credentials = this.store.list();
671
+ let migrated = 0;
672
+ for (const cred of credentials) {
673
+ try {
674
+ // Decrypt with old encryptor, or use raw value if none
675
+ const plaintext = oldEncryptor ? oldEncryptor.decrypt(cred.value) : cred.value;
676
+ // Re-encrypt with current encryptor
677
+ const encrypted = this.encryptor.encrypt(plaintext);
678
+ cred.value = encrypted;
679
+ cred.updatedAt = new Date();
680
+ this.store.save(cred);
681
+ migrated++;
682
+ }
683
+ catch {
684
+ // Skip credentials that fail to decrypt (already encrypted with current key, etc.)
685
+ continue;
686
+ }
687
+ }
688
+ return migrated;
689
+ }
497
690
  importCredential(data) {
498
691
  const now = new Date();
499
692
  const credential = {
@@ -522,6 +715,17 @@ export class KeyManager {
522
715
  keyFile(name) {
523
716
  return join(this.keyDir, `${name}.key`);
524
717
  }
718
+ generateAES256GCMKey(name = 'default') {
719
+ const encryptor = new AES256GCMEncryptor({ key: 'temp' }); // temp key just to call generateKey
720
+ const key = encryptor.generateKey();
721
+ const keyFile = join(this.keyDir, `${name}.aes`);
722
+ writeFileSync(keyFile, key, { mode: 0o600 });
723
+ return key;
724
+ }
725
+ getAES256GCMKey(name = 'default') {
726
+ const keyFile = join(this.keyDir, `${name}.aes`);
727
+ return existsSync(keyFile) ? readFileSync(keyFile, 'utf8').trim() : null;
728
+ }
525
729
  generateFernetKey(name = 'default') {
526
730
  const encryptor = new FernetEncryptor();
527
731
  const key = encryptor.generateKey();
@@ -557,7 +761,14 @@ export class KeyManager {
557
761
  return keys;
558
762
  const entries = readdirSync(this.keyDir);
559
763
  for (const entry of entries) {
560
- if (entry.endsWith('.key')) {
764
+ if (entry.endsWith('.aes')) {
765
+ keys.push({
766
+ name: entry.replace(/\.aes$/, ''),
767
+ type: 'aes-256-gcm',
768
+ file: join(this.keyDir, entry),
769
+ });
770
+ }
771
+ else if (entry.endsWith('.key')) {
561
772
  keys.push({
562
773
  name: entry.replace(/\.key$/, ''),
563
774
  type: 'fernet',
@@ -578,6 +789,11 @@ export class KeyManager {
578
789
  }
579
790
  deleteKey(name) {
580
791
  let deleted = false;
792
+ const aesKey = join(this.keyDir, `${name}.aes`);
793
+ if (existsSync(aesKey)) {
794
+ unlinkSync(aesKey);
795
+ deleted = true;
796
+ }
581
797
  const fernetKey = this.keyFile(name);
582
798
  if (existsSync(fernetKey)) {
583
799
  unlinkSync(fernetKey);
@@ -597,12 +813,21 @@ export class KeyManager {
597
813
  }
598
814
  }
599
815
  export function createCredentialManager(params) {
600
- const backend = params.backend ?? EncryptionBackend.FERNET;
816
+ const backend = params.backend ?? EncryptionBackend.AES_256_GCM;
601
817
  const keyName = params.keyName ?? 'default';
602
818
  const keyDir = join(params.stateDir, 'keys');
603
819
  const dbPath = join(params.stateDir, 'credentials.db');
604
820
  const keyManager = new KeyManager(keyDir);
605
821
  const store = new SQLiteCredentialStore(dbPath);
822
+ if (backend === EncryptionBackend.AES_256_GCM) {
823
+ const keyFilePath = join(keyDir, `${keyName}.aes`);
824
+ const passphrase = params.passphrase ?? process.env.MARKTOFLOW_ENCRYPTION_KEY;
825
+ const encryptor = new AES256GCMEncryptor({
826
+ ...(passphrase ? { key: passphrase } : {}),
827
+ keyFilePath,
828
+ });
829
+ return new CredentialManager(store, encryptor);
830
+ }
606
831
  if (backend === EncryptionBackend.FERNET) {
607
832
  let key = keyManager.getFernetKey(keyName);
608
833
  if (!key) {
@@ -632,7 +857,7 @@ export function createCredentialManager(params) {
632
857
  throw new Error(`Unknown backend: ${backend}`);
633
858
  }
634
859
  export function getAvailableBackends() {
635
- const available = [EncryptionBackend.FERNET];
860
+ const available = [EncryptionBackend.AES_256_GCM, EncryptionBackend.FERNET];
636
861
  const age = new AgeEncryptor();
637
862
  if (age.isAvailable()) {
638
863
  available.push(EncryptionBackend.AGE);