@marktoflow/core 2.0.0-alpha.15 → 2.0.0-alpha.16

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 (109) hide show
  1. package/README.md +24 -365
  2. package/dist/built-in-operations.d.ts +10 -0
  3. package/dist/built-in-operations.d.ts.map +1 -1
  4. package/dist/built-in-operations.js +386 -1
  5. package/dist/built-in-operations.js.map +1 -1
  6. package/dist/credentials.d.ts +60 -1
  7. package/dist/credentials.d.ts.map +1 -1
  8. package/dist/credentials.js +229 -4
  9. package/dist/credentials.js.map +1 -1
  10. package/dist/engine.d.ts +36 -1
  11. package/dist/engine.d.ts.map +1 -1
  12. package/dist/engine.js +462 -21
  13. package/dist/engine.js.map +1 -1
  14. package/dist/index.d.ts +5 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +9 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/models.d.ts +399 -6
  19. package/dist/models.d.ts.map +1 -1
  20. package/dist/models.js +60 -1
  21. package/dist/models.js.map +1 -1
  22. package/dist/oauth-manager.d.ts +128 -0
  23. package/dist/oauth-manager.d.ts.map +1 -0
  24. package/dist/oauth-manager.js +291 -0
  25. package/dist/oauth-manager.js.map +1 -0
  26. package/dist/oauth-refresh.d.ts +37 -0
  27. package/dist/oauth-refresh.d.ts.map +1 -0
  28. package/dist/oauth-refresh.js +76 -0
  29. package/dist/oauth-refresh.js.map +1 -0
  30. package/dist/parser.d.ts.map +1 -1
  31. package/dist/parser.js +19 -0
  32. package/dist/parser.js.map +1 -1
  33. package/dist/sdk-registry.d.ts +7 -1
  34. package/dist/sdk-registry.d.ts.map +1 -1
  35. package/dist/sdk-registry.js +38 -9
  36. package/dist/sdk-registry.js.map +1 -1
  37. package/dist/secret-providers/index.d.ts +12 -0
  38. package/dist/secret-providers/index.d.ts.map +1 -0
  39. package/dist/secret-providers/index.js +11 -0
  40. package/dist/secret-providers/index.js.map +1 -0
  41. package/dist/secret-providers/providers/aws.d.ts +32 -0
  42. package/dist/secret-providers/providers/aws.d.ts.map +1 -0
  43. package/dist/secret-providers/providers/aws.js +118 -0
  44. package/dist/secret-providers/providers/aws.js.map +1 -0
  45. package/dist/secret-providers/providers/azure.d.ts +40 -0
  46. package/dist/secret-providers/providers/azure.d.ts.map +1 -0
  47. package/dist/secret-providers/providers/azure.js +170 -0
  48. package/dist/secret-providers/providers/azure.js.map +1 -0
  49. package/dist/secret-providers/providers/env.d.ts +26 -0
  50. package/dist/secret-providers/providers/env.d.ts.map +1 -0
  51. package/dist/secret-providers/providers/env.js +59 -0
  52. package/dist/secret-providers/providers/env.js.map +1 -0
  53. package/dist/secret-providers/providers/vault.d.ts +39 -0
  54. package/dist/secret-providers/providers/vault.d.ts.map +1 -0
  55. package/dist/secret-providers/providers/vault.js +180 -0
  56. package/dist/secret-providers/providers/vault.js.map +1 -0
  57. package/dist/secret-providers/secret-manager.d.ts +72 -0
  58. package/dist/secret-providers/secret-manager.d.ts.map +1 -0
  59. package/dist/secret-providers/secret-manager.js +226 -0
  60. package/dist/secret-providers/secret-manager.js.map +1 -0
  61. package/dist/secret-providers/types.d.ts +105 -0
  62. package/dist/secret-providers/types.d.ts.map +1 -0
  63. package/dist/secret-providers/types.js +8 -0
  64. package/dist/secret-providers/types.js.map +1 -0
  65. package/dist/secrets/index.d.ts +12 -0
  66. package/dist/secrets/index.d.ts.map +1 -0
  67. package/dist/secrets/index.js +11 -0
  68. package/dist/secrets/index.js.map +1 -0
  69. package/dist/secrets/providers/aws.d.ts +32 -0
  70. package/dist/secrets/providers/aws.d.ts.map +1 -0
  71. package/dist/secrets/providers/aws.js +118 -0
  72. package/dist/secrets/providers/aws.js.map +1 -0
  73. package/dist/secrets/providers/azure.d.ts +40 -0
  74. package/dist/secrets/providers/azure.d.ts.map +1 -0
  75. package/dist/secrets/providers/azure.js +170 -0
  76. package/dist/secrets/providers/azure.js.map +1 -0
  77. package/dist/secrets/providers/env.d.ts +26 -0
  78. package/dist/secrets/providers/env.d.ts.map +1 -0
  79. package/dist/secrets/providers/env.js +59 -0
  80. package/dist/secrets/providers/env.js.map +1 -0
  81. package/dist/secrets/providers/vault.d.ts +39 -0
  82. package/dist/secrets/providers/vault.d.ts.map +1 -0
  83. package/dist/secrets/providers/vault.js +180 -0
  84. package/dist/secrets/providers/vault.js.map +1 -0
  85. package/dist/secrets/secret-manager.d.ts +72 -0
  86. package/dist/secrets/secret-manager.d.ts.map +1 -0
  87. package/dist/secrets/secret-manager.js +226 -0
  88. package/dist/secrets/secret-manager.js.map +1 -0
  89. package/dist/secrets/types.d.ts +105 -0
  90. package/dist/secrets/types.d.ts.map +1 -0
  91. package/dist/secrets/types.js +8 -0
  92. package/dist/secrets/types.js.map +1 -0
  93. package/package.json +1 -1
  94. package/dist/expression-helpers.d.ts +0 -309
  95. package/dist/expression-helpers.d.ts.map +0 -1
  96. package/dist/expression-helpers.js +0 -697
  97. package/dist/expression-helpers.js.map +0 -1
  98. package/dist/pipeline-parser.d.ts +0 -38
  99. package/dist/pipeline-parser.d.ts.map +0 -1
  100. package/dist/pipeline-parser.js +0 -219
  101. package/dist/pipeline-parser.js.map +0 -1
  102. package/dist/regex-operators.d.ts +0 -86
  103. package/dist/regex-operators.d.ts.map +0 -1
  104. package/dist/regex-operators.js +0 -383
  105. package/dist/regex-operators.js.map +0 -1
  106. package/dist/version.d.ts +0 -8
  107. package/dist/version.d.ts.map +0 -1
  108. package/dist/version.js +0 -8
  109. package/dist/version.js.map +0 -1
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Secret Manager
3
+ *
4
+ * Coordinates access to external secret managers with caching support.
5
+ */
6
+ export class SecretNotFoundError extends Error {
7
+ constructor(message) {
8
+ super(message);
9
+ this.name = 'SecretNotFoundError';
10
+ }
11
+ }
12
+ export class SecretProviderError extends Error {
13
+ constructor(message) {
14
+ super(message);
15
+ this.name = 'SecretProviderError';
16
+ }
17
+ }
18
+ export class SecretManager {
19
+ providers = new Map();
20
+ cache = new Map();
21
+ options;
22
+ constructor(options) {
23
+ this.options = {
24
+ providers: options.providers,
25
+ defaultCacheTTL: options.defaultCacheTTL ?? 300, // 5 minutes
26
+ referencePrefix: options.referencePrefix ?? 'secret:',
27
+ throwOnNotFound: options.throwOnNotFound ?? true,
28
+ };
29
+ }
30
+ /**
31
+ * Register a secret provider
32
+ */
33
+ registerProvider(type, provider) {
34
+ this.providers.set(type, provider);
35
+ }
36
+ /**
37
+ * Initialize all configured providers
38
+ */
39
+ async initialize() {
40
+ for (const [type, provider] of this.providers.entries()) {
41
+ try {
42
+ await provider.initialize();
43
+ }
44
+ catch (error) {
45
+ throw new SecretProviderError(`Failed to initialize ${type} provider: ${error instanceof Error ? error.message : 'Unknown error'}`);
46
+ }
47
+ }
48
+ }
49
+ /**
50
+ * Get a secret from the appropriate provider
51
+ */
52
+ async getSecret(reference) {
53
+ const parsed = this.parseReference(reference);
54
+ // Check cache first
55
+ if (this.options.providers.find((p) => p.cacheEnabled !== false)) {
56
+ const cached = this.getCached(reference);
57
+ if (cached) {
58
+ return cached;
59
+ }
60
+ }
61
+ // Get provider
62
+ const provider = this.providers.get(parsed.provider);
63
+ if (!provider) {
64
+ throw new SecretProviderError(`Provider '${parsed.provider}' not configured`);
65
+ }
66
+ // Fetch secret
67
+ try {
68
+ const secret = await provider.getSecret(parsed.path);
69
+ // Extract key if specified
70
+ if (parsed.key && typeof secret.value === 'object') {
71
+ const keyValue = this.extractKey(secret.value, parsed.key);
72
+ secret.value = keyValue;
73
+ }
74
+ // Cache the secret
75
+ this.cacheSecret(reference, secret);
76
+ return secret;
77
+ }
78
+ catch (error) {
79
+ if (this.options.throwOnNotFound) {
80
+ throw new SecretNotFoundError(`Secret not found: ${reference} - ${error instanceof Error ? error.message : 'Unknown error'}`);
81
+ }
82
+ // Return empty secret if not throwing
83
+ return { value: '' };
84
+ }
85
+ }
86
+ /**
87
+ * Parse a secret reference
88
+ * Formats:
89
+ * ${secret:vault://path/to/secret}
90
+ * ${secret:aws://secret-name}
91
+ * ${secret:azure://secret-name}
92
+ * ${secret:vault://path/to/secret#key}
93
+ */
94
+ parseReference(reference) {
95
+ // Remove ${secret: and } if present
96
+ let cleaned = reference.trim();
97
+ if (cleaned.startsWith('${')) {
98
+ cleaned = cleaned.slice(2, -1);
99
+ }
100
+ if (cleaned.startsWith(this.options.referencePrefix)) {
101
+ cleaned = cleaned.slice(this.options.referencePrefix.length);
102
+ }
103
+ // Parse provider://path#key format
104
+ const match = cleaned.match(/^([^:]+):\/\/([^#]+)(#(.+))?$/);
105
+ if (!match) {
106
+ throw new SecretProviderError(`Invalid secret reference format: ${reference}`);
107
+ }
108
+ return {
109
+ raw: reference,
110
+ provider: match[1],
111
+ path: match[2],
112
+ key: match[4],
113
+ };
114
+ }
115
+ /**
116
+ * Extract a key from a JSON secret
117
+ */
118
+ extractKey(value, key) {
119
+ const parts = key.split('.');
120
+ let current = value;
121
+ for (const part of parts) {
122
+ if (typeof current === 'object' && current !== null && part in current) {
123
+ current = current[part];
124
+ }
125
+ else {
126
+ throw new SecretNotFoundError(`Key '${key}' not found in secret`);
127
+ }
128
+ }
129
+ if (typeof current === 'string') {
130
+ return current;
131
+ }
132
+ if (typeof current === 'number' || typeof current === 'boolean') {
133
+ return String(current);
134
+ }
135
+ return JSON.stringify(current);
136
+ }
137
+ /**
138
+ * Get secret from cache if not expired
139
+ */
140
+ getCached(reference) {
141
+ const cached = this.cache.get(reference);
142
+ if (!cached)
143
+ return null;
144
+ if (cached.expiresAt < new Date()) {
145
+ this.cache.delete(reference);
146
+ return null;
147
+ }
148
+ return cached.value;
149
+ }
150
+ /**
151
+ * Cache a secret
152
+ */
153
+ cacheSecret(reference, secret) {
154
+ const now = new Date();
155
+ const ttl = this.options.defaultCacheTTL * 1000; // Convert to ms
156
+ const expiresAt = new Date(now.getTime() + ttl);
157
+ this.cache.set(reference, {
158
+ value: secret,
159
+ fetchedAt: now,
160
+ expiresAt,
161
+ });
162
+ }
163
+ /**
164
+ * Clear cache
165
+ */
166
+ clearCache() {
167
+ this.cache.clear();
168
+ }
169
+ /**
170
+ * Clear expired cache entries
171
+ */
172
+ clearExpiredCache() {
173
+ const now = new Date();
174
+ for (const [key, cached] of this.cache.entries()) {
175
+ if (cached.expiresAt < now) {
176
+ this.cache.delete(key);
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Check if a reference looks like a secret reference
182
+ */
183
+ static isSecretReference(value) {
184
+ return value.includes('secret:') && value.includes('://');
185
+ }
186
+ /**
187
+ * Replace secret references in a string
188
+ */
189
+ async resolveSecrets(value) {
190
+ // Find all secret references
191
+ const regex = /\$\{secret:[^}]+\}/g;
192
+ const matches = value.match(regex);
193
+ if (!matches) {
194
+ return value;
195
+ }
196
+ let result = value;
197
+ for (const match of matches) {
198
+ try {
199
+ const secret = await this.getSecret(match);
200
+ const secretValue = typeof secret.value === 'string' ? secret.value : JSON.stringify(secret.value);
201
+ result = result.replace(match, secretValue);
202
+ }
203
+ catch (error) {
204
+ if (this.options.throwOnNotFound) {
205
+ throw error;
206
+ }
207
+ // Replace with empty string if not throwing
208
+ result = result.replace(match, '');
209
+ }
210
+ }
211
+ return result;
212
+ }
213
+ /**
214
+ * Clean up resources
215
+ */
216
+ async destroy() {
217
+ for (const provider of this.providers.values()) {
218
+ if (provider.destroy) {
219
+ await provider.destroy();
220
+ }
221
+ }
222
+ this.providers.clear();
223
+ this.cache.clear();
224
+ }
225
+ }
226
+ //# sourceMappingURL=secret-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-manager.js","sourceRoot":"","sources":["../../src/secrets/secret-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * External Secrets Management Types
3
+ *
4
+ * Provides integration with external secret managers like HashiCorp Vault,
5
+ * AWS Secrets Manager, Azure Key Vault, etc.
6
+ */
7
+ export interface SecretMetadata {
8
+ version?: string;
9
+ createdAt?: Date;
10
+ updatedAt?: Date;
11
+ expiresAt?: Date;
12
+ tags?: Record<string, string>;
13
+ }
14
+ export interface Secret {
15
+ value: string | Record<string, unknown>;
16
+ metadata?: SecretMetadata;
17
+ }
18
+ export interface SecretProviderConfig {
19
+ type: 'vault' | 'aws' | 'azure' | 'gcp' | 'env';
20
+ cacheEnabled?: boolean;
21
+ cacheTTL?: number;
22
+ config?: Record<string, unknown>;
23
+ }
24
+ export interface VaultConfig {
25
+ address: string;
26
+ token?: string;
27
+ namespace?: string;
28
+ roleId?: string;
29
+ secretId?: string;
30
+ kvVersion?: 1 | 2;
31
+ mountPath?: string;
32
+ }
33
+ export interface AWSSecretsManagerConfig {
34
+ region?: string;
35
+ accessKeyId?: string;
36
+ secretAccessKey?: string;
37
+ sessionToken?: string;
38
+ useIAMRole?: boolean;
39
+ }
40
+ export interface AzureKeyVaultConfig {
41
+ vaultUrl: string;
42
+ tenantId?: string;
43
+ clientId?: string;
44
+ clientSecret?: string;
45
+ useManagedIdentity?: boolean;
46
+ }
47
+ export interface GCPSecretManagerConfig {
48
+ projectId: string;
49
+ credentials?: string | Record<string, unknown>;
50
+ useADC?: boolean;
51
+ }
52
+ /**
53
+ * Secret Provider Interface
54
+ *
55
+ * All secret managers must implement this interface
56
+ */
57
+ export interface SecretProvider {
58
+ /**
59
+ * Get a secret by path/name
60
+ */
61
+ getSecret(path: string): Promise<Secret>;
62
+ /**
63
+ * Check if a secret exists
64
+ */
65
+ exists(path: string): Promise<boolean>;
66
+ /**
67
+ * List secrets at a path (optional)
68
+ */
69
+ listSecrets?(path: string): Promise<string[]>;
70
+ /**
71
+ * Initialize the provider
72
+ */
73
+ initialize(): Promise<void>;
74
+ /**
75
+ * Clean up resources
76
+ */
77
+ destroy?(): Promise<void>;
78
+ }
79
+ /**
80
+ * Secret Cache Entry
81
+ */
82
+ export interface CachedSecret {
83
+ value: Secret;
84
+ fetchedAt: Date;
85
+ expiresAt: Date;
86
+ }
87
+ /**
88
+ * Secret Manager Options
89
+ */
90
+ export interface SecretManagerOptions {
91
+ providers: SecretProviderConfig[];
92
+ defaultCacheTTL?: number;
93
+ referencePrefix?: string;
94
+ throwOnNotFound?: boolean;
95
+ }
96
+ /**
97
+ * Parse result for secret references
98
+ */
99
+ export interface SecretReference {
100
+ raw: string;
101
+ provider: string;
102
+ path: string;
103
+ key?: string;
104
+ }
105
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/secrets/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * External Secrets Management Types
3
+ *
4
+ * Provides integration with external secret managers like HashiCorp Vault,
5
+ * AWS Secrets Manager, Azure Key Vault, etc.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/secrets/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marktoflow/core",
3
- "version": "2.0.0-alpha.15",
3
+ "version": "2.0.0-alpha.16",
4
4
  "description": "Core engine for marktoflow - parser, executor, state management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,309 +0,0 @@
1
- /**
2
- * Expression Helper Library for marktoflow
3
- *
4
- * Provides pipeline-style filters for template expressions:
5
- * {{ value | filter1 | filter2(arg) | filter3 }}
6
- *
7
- * Categories:
8
- * - String helpers: split, join, trim, upper, lower, slugify, prefix, suffix
9
- * - Array helpers: first, last, nth, map, filter, unique, count, sum
10
- * - Object helpers: path, keys, values, merge, pick, omit
11
- * - Date helpers: now, format_date, add_days, subtract_days
12
- * - Logic helpers: default, or, and, not
13
- * - Validation helpers: is_array, is_object, is_empty, is_null
14
- */
15
- export type HelperFunction = (value: unknown, ...args: unknown[]) => unknown;
16
- export interface HelperRegistry {
17
- [name: string]: HelperFunction;
18
- }
19
- /**
20
- * Split string by delimiter
21
- * Usage: {{ "a,b,c" | split(',') }} → ['a', 'b', 'c']
22
- */
23
- export declare function split(value: unknown, delimiter?: string): string[];
24
- /**
25
- * Join array elements
26
- * Usage: {{ ['a', 'b', 'c'] | join(', ') }} → "a, b, c"
27
- */
28
- export declare function join(value: unknown, separator?: string): string;
29
- /**
30
- * Trim whitespace
31
- * Usage: {{ " hello " | trim }} → "hello"
32
- */
33
- export declare function trim(value: unknown): string;
34
- /**
35
- * Convert to uppercase
36
- * Usage: {{ "hello" | upper }} → "HELLO"
37
- */
38
- export declare function upper(value: unknown): string;
39
- /**
40
- * Convert to lowercase
41
- * Usage: {{ "HELLO" | lower }} → "hello"
42
- */
43
- export declare function lower(value: unknown): string;
44
- /**
45
- * Convert to title case
46
- * Usage: {{ "hello world" | title }} → "Hello World"
47
- */
48
- export declare function title(value: unknown): string;
49
- /**
50
- * Capitalize first letter
51
- * Usage: {{ "hello" | capitalize }} → "Hello"
52
- */
53
- export declare function capitalize(value: unknown): string;
54
- /**
55
- * Convert to URL-friendly slug
56
- * Usage: {{ "Hello World!" | slugify }} → "hello-world"
57
- */
58
- export declare function slugify(value: unknown): string;
59
- /**
60
- * Add prefix to string
61
- * Usage: {{ "hello" | prefix('@') }} → "@hello"
62
- */
63
- export declare function prefix(value: unknown, prefixStr: string): string;
64
- /**
65
- * Add suffix to string
66
- * Usage: {{ "hello" | suffix('!') }} → "hello!"
67
- */
68
- export declare function suffix(value: unknown, suffixStr: string): string;
69
- /**
70
- * Replace all occurrences
71
- * Usage: {{ "hello world" | replace('world', 'there') }} → "hello there"
72
- */
73
- export declare function replace(value: unknown, search: string, replaceWith: string): string;
74
- /**
75
- * Truncate string to length
76
- * Usage: {{ "hello world" | truncate(5) }} → "hello..."
77
- */
78
- export declare function truncate(value: unknown, length: number, ellipsis?: string): string;
79
- /**
80
- * Extract substring
81
- * Usage: {{ "hello world" | substring(0, 5) }} → "hello"
82
- */
83
- export declare function substring(value: unknown, start: number, end?: number): string;
84
- /**
85
- * Check if string/array contains value
86
- * Usage: {{ "hello world" | contains('world') }} → true
87
- */
88
- export declare function contains(value: unknown, search: unknown): boolean;
89
- /**
90
- * Get first element
91
- * Usage: {{ [1, 2, 3] | first }} → 1
92
- */
93
- export declare function first(value: unknown): unknown;
94
- /**
95
- * Get last element
96
- * Usage: {{ [1, 2, 3] | last }} → 3
97
- */
98
- export declare function last(value: unknown): unknown;
99
- /**
100
- * Get nth element (0-indexed)
101
- * Usage: {{ [1, 2, 3] | nth(1) }} → 2
102
- */
103
- export declare function nth(value: unknown, index: number): unknown;
104
- /**
105
- * Get array length or object property count
106
- * Usage: {{ [1, 2, 3] | count }} → 3
107
- */
108
- export declare function count(value: unknown): number;
109
- /**
110
- * Sum array of numbers
111
- * Usage: {{ [1, 2, 3] | sum }} → 6
112
- */
113
- export declare function sum(value: unknown): number;
114
- /**
115
- * Get unique values
116
- * Usage: {{ [1, 2, 2, 3] | unique }} → [1, 2, 3]
117
- */
118
- export declare function unique(value: unknown): unknown[];
119
- /**
120
- * Flatten array one level
121
- * Usage: {{ [[1, 2], [3, 4]] | flatten }} → [1, 2, 3, 4]
122
- */
123
- export declare function flatten(value: unknown): unknown[];
124
- /**
125
- * Reverse array
126
- * Usage: {{ [1, 2, 3] | reverse }} → [3, 2, 1]
127
- */
128
- export declare function reverse(value: unknown): unknown[];
129
- /**
130
- * Sort array
131
- * Usage: {{ [3, 1, 2] | sort }} → [1, 2, 3]
132
- * Usage: {{ [3, 1, 2] | sort(true) }} → [3, 2, 1]
133
- */
134
- export declare function sort(value: unknown, reverse?: boolean): unknown[];
135
- /**
136
- * Get array slice
137
- * Usage: {{ [1, 2, 3, 4, 5] | slice(1, 3) }} → [2, 3]
138
- */
139
- export declare function slice(value: unknown, start: number, end?: number): unknown[];
140
- /**
141
- * Get value at path
142
- * Usage: {{ obj | path('user.name') }} → obj.user.name
143
- */
144
- export declare function path(value: unknown, pathStr: string): unknown;
145
- /**
146
- * Get object keys
147
- * Usage: {{ {a: 1, b: 2} | keys }} → ['a', 'b']
148
- */
149
- export declare function keys(value: unknown): string[];
150
- /**
151
- * Get object values
152
- * Usage: {{ {a: 1, b: 2} | values }} → [1, 2]
153
- */
154
- export declare function values(value: unknown): unknown[];
155
- /**
156
- * Get object entries (key-value pairs)
157
- * Usage: {{ {a: 1, b: 2} | entries }} → [['a', 1], ['b', 2]]
158
- */
159
- export declare function entries(value: unknown): [string, unknown][];
160
- /**
161
- * Pick specific keys from object
162
- * Usage: {{ {a: 1, b: 2, c: 3} | pick('a', 'c') }} → {a: 1, c: 3}
163
- */
164
- export declare function pick(value: unknown, ...keysToPick: string[]): Record<string, unknown>;
165
- /**
166
- * Omit specific keys from object
167
- * Usage: {{ {a: 1, b: 2, c: 3} | omit('b') }} → {a: 1, c: 3}
168
- */
169
- export declare function omit(value: unknown, ...keysToOmit: string[]): Record<string, unknown>;
170
- /**
171
- * Merge objects
172
- * Usage: {{ {a: 1} | merge({b: 2}) }} → {a: 1, b: 2}
173
- */
174
- export declare function merge(value: unknown, ...objects: unknown[]): Record<string, unknown>;
175
- /**
176
- * Get current timestamp
177
- * Usage: {{ now() }} → 1706745600000
178
- */
179
- export declare function now(): number;
180
- /**
181
- * Format date
182
- * Usage: {{ timestamp | format_date('YYYY-MM-DD') }} → "2025-01-31"
183
- */
184
- export declare function format_date(value: unknown, format?: string): string;
185
- /**
186
- * Add days to date
187
- * Usage: {{ timestamp | add_days(7) }} → timestamp + 7 days
188
- */
189
- export declare function add_days(value: unknown, days: number): number;
190
- /**
191
- * Subtract days from date
192
- * Usage: {{ timestamp | subtract_days(7) }} → timestamp - 7 days
193
- */
194
- export declare function subtract_days(value: unknown, days: number): number;
195
- /**
196
- * Get date difference in days (date1 - date2)
197
- * Usage: {{ date1 | diff_days(date2) }} → number of days
198
- */
199
- export declare function diff_days(value: unknown, compareDate: unknown): number;
200
- /**
201
- * Return default value if input is null/undefined
202
- * Usage: {{ null | default('N/A') }} → "N/A"
203
- */
204
- export declare function defaultValue(value: unknown, defaultVal: unknown): unknown;
205
- /**
206
- * Return first truthy value
207
- * Usage: {{ null | or('fallback') }} → "fallback"
208
- */
209
- export declare function or(value: unknown, ...alternatives: unknown[]): unknown;
210
- /**
211
- * Check if all values are truthy
212
- * Usage: {{ true | and(1, 'value') }} → true
213
- */
214
- export declare function and(value: unknown, ...values: unknown[]): boolean;
215
- /**
216
- * Negate boolean value
217
- * Usage: {{ true | not }} → false
218
- */
219
- export declare function not(value: unknown): boolean;
220
- /**
221
- * Ternary operator
222
- * Usage: {{ condition | ternary('yes', 'no') }}
223
- */
224
- export declare function ternary(condition: unknown, trueVal: unknown, falseVal: unknown): unknown;
225
- /**
226
- * Check if value is array
227
- * Usage: {{ value | is_array }} → true/false
228
- */
229
- export declare function is_array(value: unknown): boolean;
230
- /**
231
- * Check if value is object
232
- * Usage: {{ value | is_object }} → true/false
233
- */
234
- export declare function is_object(value: unknown): boolean;
235
- /**
236
- * Check if value is string
237
- * Usage: {{ value | is_string }} → true/false
238
- */
239
- export declare function is_string(value: unknown): boolean;
240
- /**
241
- * Check if value is number
242
- * Usage: {{ value | is_number }} → true/false
243
- */
244
- export declare function is_number(value: unknown): boolean;
245
- /**
246
- * Check if value is empty
247
- * Usage: {{ value | is_empty }} → true/false
248
- */
249
- export declare function is_empty(value: unknown): boolean;
250
- /**
251
- * Check if value is null
252
- * Usage: {{ value | is_null }} → true/false
253
- */
254
- export declare function is_null(value: unknown): boolean;
255
- /**
256
- * Parse JSON string
257
- * Usage: {{ '{"a":1}' | parse_json }} → {a: 1}
258
- */
259
- export declare function parse_json(value: unknown): unknown;
260
- /**
261
- * Stringify to JSON
262
- * Usage: {{ {a: 1} | to_json }} → '{"a":1}'
263
- */
264
- export declare function to_json(value: unknown, pretty?: boolean): string;
265
- /**
266
- * Absolute value
267
- * Usage: {{ -5 | abs }} → 5
268
- */
269
- export declare function abs(value: unknown): number;
270
- /**
271
- * Round to nearest integer
272
- * Usage: {{ 3.7 | round }} → 4
273
- */
274
- export declare function round(value: unknown, decimals?: number): number;
275
- /**
276
- * Round down
277
- * Usage: {{ 3.7 | floor }} → 3
278
- */
279
- export declare function floor(value: unknown): number;
280
- /**
281
- * Round up
282
- * Usage: {{ 3.1 | ceil }} → 4
283
- */
284
- export declare function ceil(value: unknown): number;
285
- /**
286
- * Get minimum value
287
- * Usage: {{ [1, 2, 3] | min }} → 1
288
- * Usage: {{ 5 | min(3) }} → 3
289
- */
290
- export declare function min(value: unknown, ...values: unknown[]): number;
291
- /**
292
- * Get maximum value
293
- * Usage: {{ [1, 2, 3] | max }} → 3
294
- * Usage: {{ 3 | max(5) }} → 5
295
- */
296
- export declare function max(value: unknown, ...values: unknown[]): number;
297
- /**
298
- * Global registry of all helper functions
299
- */
300
- export declare const HELPER_REGISTRY: HelperRegistry;
301
- /**
302
- * Apply a helper function to a value
303
- */
304
- export declare function applyHelper(helperName: string, value: unknown, args: unknown[]): unknown;
305
- /**
306
- * Check if a helper exists
307
- */
308
- export declare function hasHelper(helperName: string): boolean;
309
- //# sourceMappingURL=expression-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expression-helpers.d.ts","sourceRoot":"","sources":["../src/expression-helpers.ts"],"names":[],"mappings":"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"}