@rcrsr/rill 0.8.0 → 0.8.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/README.md +28 -0
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +164 -0
- package/dist/error-registry.js.map +1 -1
- package/dist/ext/crypto/index.d.ts +32 -0
- package/dist/ext/crypto/index.d.ts.map +1 -0
- package/dist/ext/crypto/index.js +143 -0
- package/dist/ext/crypto/index.js.map +1 -0
- package/dist/ext/exec/index.d.ts +45 -0
- package/dist/ext/exec/index.d.ts.map +1 -0
- package/dist/ext/exec/index.js +168 -0
- package/dist/ext/exec/index.js.map +1 -0
- package/dist/ext/exec/runner.d.ts +62 -0
- package/dist/ext/exec/runner.d.ts.map +1 -0
- package/dist/ext/exec/runner.js +168 -0
- package/dist/ext/exec/runner.js.map +1 -0
- package/dist/ext/fetch/index.d.ts +68 -0
- package/dist/ext/fetch/index.d.ts.map +1 -0
- package/dist/ext/fetch/index.js +259 -0
- package/dist/ext/fetch/index.js.map +1 -0
- package/dist/ext/fetch/request.d.ts +90 -0
- package/dist/ext/fetch/request.d.ts.map +1 -0
- package/dist/ext/fetch/request.js +413 -0
- package/dist/ext/fetch/request.js.map +1 -0
- package/dist/ext/fs/index.d.ts +39 -0
- package/dist/ext/fs/index.d.ts.map +1 -0
- package/dist/ext/fs/index.js +560 -0
- package/dist/ext/fs/index.js.map +1 -0
- package/dist/ext/fs/sandbox.d.ts +78 -0
- package/dist/ext/fs/sandbox.d.ts.map +1 -0
- package/dist/ext/fs/sandbox.js +208 -0
- package/dist/ext/fs/sandbox.js.map +1 -0
- package/dist/ext/kv/index.d.ts +46 -0
- package/dist/ext/kv/index.d.ts.map +1 -0
- package/dist/ext/kv/index.js +215 -0
- package/dist/ext/kv/index.js.map +1 -0
- package/dist/ext/kv/store.d.ts +46 -0
- package/dist/ext/kv/store.d.ts.map +1 -0
- package/dist/ext/kv/store.js +256 -0
- package/dist/ext/kv/store.js.map +1 -0
- package/dist/generated/version-data.d.ts +1 -1
- package/dist/generated/version-data.js +2 -2
- package/package.json +37 -11
package/README.md
CHANGED
|
@@ -135,6 +135,34 @@ try {
|
|
|
135
135
|
| `isScriptCallable(value)` | Check if value is a script-defined closure |
|
|
136
136
|
| `isApplicationCallable(value)` | Check if value is a host-provided callable |
|
|
137
137
|
|
|
138
|
+
## Bundled Extensions
|
|
139
|
+
|
|
140
|
+
rill ships with 5 Node.js-only extensions available as sub-path imports. These extensions provide pre-built host functions for common tasks and are not available in the browser bundle.
|
|
141
|
+
|
|
142
|
+
### Import Pattern
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import { createFsExtension } from '@rcrsr/rill/ext/fs';
|
|
146
|
+
import { createFetchExtension } from '@rcrsr/rill/ext/fetch';
|
|
147
|
+
import { createExecExtension } from '@rcrsr/rill/ext/exec';
|
|
148
|
+
import { createKvExtension } from '@rcrsr/rill/ext/kv';
|
|
149
|
+
import { createCryptoExtension } from '@rcrsr/rill/ext/crypto';
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Available Extensions
|
|
153
|
+
|
|
154
|
+
| Sub-Path | Factory | Description |
|
|
155
|
+
|----------|---------|-------------|
|
|
156
|
+
| `@rcrsr/rill/ext/fs` | `createFsExtension(config)` | Sandboxed filesystem operations via mount-based access control |
|
|
157
|
+
| `@rcrsr/rill/ext/fetch` | `createFetchExtension(config)` | HTTP requests with endpoint configuration and rate limiting |
|
|
158
|
+
| `@rcrsr/rill/ext/exec` | `createExecExtension(config)` | Sandboxed command execution via allowlist/blocklist controls |
|
|
159
|
+
| `@rcrsr/rill/ext/kv` | `createKvExtension(config)` | Key-value store with JSON persistence and schema validation |
|
|
160
|
+
| `@rcrsr/rill/ext/crypto` | `createCryptoExtension(config)` | Cryptographic functions (hash, hmac, uuid, random) |
|
|
161
|
+
|
|
162
|
+
Each factory returns an `ExtensionResult` with host function definitions ready to integrate into your runtime context.
|
|
163
|
+
|
|
164
|
+
> **Note:** These extensions require Node.js APIs and are not compatible with browser environments.
|
|
165
|
+
|
|
138
166
|
## Documentation
|
|
139
167
|
|
|
140
168
|
| Document | Description |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-registry.d.ts","sourceRoot":"","sources":["../src/error-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,2BAA2B;AAC3B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;CAChD;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAClD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;CACxD;
|
|
1
|
+
{"version":3,"file":"error-registry.d.ts","sourceRoot":"","sources":["../src/error-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,2BAA2B;AAC3B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;CAChD;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAClD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;CACxD;AA40BD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,aAE5B,CAAC;AAMF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAmDR;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBnE"}
|
package/dist/error-registry.js
CHANGED
|
@@ -535,6 +535,170 @@ const ERROR_DEFINITIONS = [
|
|
|
535
535
|
},
|
|
536
536
|
],
|
|
537
537
|
},
|
|
538
|
+
{
|
|
539
|
+
errorId: 'RILL-R017',
|
|
540
|
+
category: 'runtime',
|
|
541
|
+
description: 'fs extension: unknown mount',
|
|
542
|
+
messageTemplate: 'mount "{mountName}" not configured',
|
|
543
|
+
cause: 'Script references mount name that does not exist in fs extension configuration, or mount path is invalid.',
|
|
544
|
+
resolution: 'Verify mount name is correct, ensure mount is configured in createFsExtension() call, and check mount path exists.',
|
|
545
|
+
examples: [
|
|
546
|
+
{
|
|
547
|
+
description: 'Unknown mount',
|
|
548
|
+
code: 'fs::read("unknown", "file.txt") # Mount "unknown" not in config',
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
description: 'Invalid mount path',
|
|
552
|
+
code: '# createFsExtension({ mounts: { data: { path: "/nonexistent", mode: "read" } } })',
|
|
553
|
+
},
|
|
554
|
+
],
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
errorId: 'RILL-R018',
|
|
558
|
+
category: 'runtime',
|
|
559
|
+
description: 'fs extension: path escapes mount boundary',
|
|
560
|
+
messageTemplate: 'path escapes mount boundary',
|
|
561
|
+
cause: 'Path traversal attempt (using .. or symlinks) escapes configured mount boundary.',
|
|
562
|
+
resolution: 'Remove path traversal attempts, use paths relative to mount root, or reconfigure mount boundaries.',
|
|
563
|
+
examples: [
|
|
564
|
+
{
|
|
565
|
+
description: 'Path traversal with ..',
|
|
566
|
+
code: 'fs::read("data", "../../etc/passwd") # Attempts escape',
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
description: 'Symlink escape',
|
|
570
|
+
code: 'fs::read("data", "symlink_to_root") # Symlink points outside mount',
|
|
571
|
+
},
|
|
572
|
+
],
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
errorId: 'RILL-R019',
|
|
576
|
+
category: 'runtime',
|
|
577
|
+
description: 'fs extension: file type not permitted in mount',
|
|
578
|
+
messageTemplate: 'file type not permitted in mount "{mountName}"',
|
|
579
|
+
cause: 'Filename does not match mount glob pattern (e.g., trying to read .exe when only *.csv allowed).',
|
|
580
|
+
resolution: 'Use file with allowed extension, or reconfigure mount glob pattern to permit file type.',
|
|
581
|
+
examples: [
|
|
582
|
+
{
|
|
583
|
+
description: 'Glob mismatch',
|
|
584
|
+
code: 'fs::read("csv_only", "data.json") # Mount configured with glob: "*.csv"',
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
description: 'Multiple extensions',
|
|
588
|
+
code: 'fs::read("configs", "app.ini") # Mount glob: "*.{json,yaml}"',
|
|
589
|
+
},
|
|
590
|
+
],
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
errorId: 'RILL-R020',
|
|
594
|
+
category: 'runtime',
|
|
595
|
+
description: 'fs extension: mount does not permit operation',
|
|
596
|
+
messageTemplate: 'mount "{mountName}" does not permit {operation}',
|
|
597
|
+
cause: 'Operation (read or write) not permitted by mount mode (e.g., write to read-only mount).',
|
|
598
|
+
resolution: 'Use mount with appropriate mode, or reconfigure mount to allow operation.',
|
|
599
|
+
examples: [
|
|
600
|
+
{
|
|
601
|
+
description: 'Write to read-only mount',
|
|
602
|
+
code: 'fs::write("readonly", "file.txt", "data") # Mount mode: "read"',
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
description: 'Read from write-only mount',
|
|
606
|
+
code: 'fs::read("writeonly", "file.txt") # Mount mode: "write"',
|
|
607
|
+
},
|
|
608
|
+
],
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
errorId: 'RILL-R021',
|
|
612
|
+
category: 'runtime',
|
|
613
|
+
description: 'fs extension: permission denied or file not found',
|
|
614
|
+
messageTemplate: 'permission denied: {path}',
|
|
615
|
+
cause: 'Operating system denied access to file (EACCES/EPERM), or file does not exist (ENOENT).',
|
|
616
|
+
resolution: 'Check file permissions, verify file exists, ensure user has appropriate access rights.',
|
|
617
|
+
examples: [
|
|
618
|
+
{
|
|
619
|
+
description: 'Permission denied',
|
|
620
|
+
code: 'fs::read("data", "protected.txt") # File exists but no read permission',
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
description: 'File not found',
|
|
624
|
+
code: 'fs::read("data", "missing.txt") # File does not exist',
|
|
625
|
+
},
|
|
626
|
+
],
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
errorId: 'RILL-R022',
|
|
630
|
+
category: 'runtime',
|
|
631
|
+
description: 'fetch extension: HTTP 4xx client error',
|
|
632
|
+
messageTemplate: '{namespace}: HTTP {status} — {body}',
|
|
633
|
+
cause: 'HTTP request returned a 4xx client error status code.',
|
|
634
|
+
resolution: 'Check request parameters, verify authentication, or adjust request payload.',
|
|
635
|
+
examples: [
|
|
636
|
+
{
|
|
637
|
+
description: 'HTTP 404 Not Found',
|
|
638
|
+
code: 'fetch::get("api", "/nonexistent") # Returns 404',
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
description: 'HTTP 400 Bad Request',
|
|
642
|
+
code: 'fetch::post("api", "/users", [invalid: "data"]) # Returns 400',
|
|
643
|
+
},
|
|
644
|
+
],
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
errorId: 'RILL-R023',
|
|
648
|
+
category: 'runtime',
|
|
649
|
+
description: 'fetch extension: HTTP 5xx after retries',
|
|
650
|
+
messageTemplate: '{namespace}: HTTP {status} after {retries} retries',
|
|
651
|
+
cause: 'HTTP request returned a 5xx server error after all retry attempts.',
|
|
652
|
+
resolution: 'Check server status, reduce request frequency, or increase retry limit.',
|
|
653
|
+
examples: [
|
|
654
|
+
{
|
|
655
|
+
description: 'HTTP 503 Service Unavailable',
|
|
656
|
+
code: 'fetch::get("api", "/resource") # Server returns 503',
|
|
657
|
+
},
|
|
658
|
+
],
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
errorId: 'RILL-R024',
|
|
662
|
+
category: 'runtime',
|
|
663
|
+
description: 'fetch extension: request timeout',
|
|
664
|
+
messageTemplate: '{namespace}: request timeout ({timeoutMs}ms)',
|
|
665
|
+
cause: 'HTTP request exceeded configured timeout duration.',
|
|
666
|
+
resolution: 'Increase timeout via extension configuration, or optimize server response time.',
|
|
667
|
+
examples: [
|
|
668
|
+
{
|
|
669
|
+
description: 'Slow API endpoint',
|
|
670
|
+
code: 'fetch::get("api", "/slow") # Times out if exceeds limit',
|
|
671
|
+
},
|
|
672
|
+
],
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
errorId: 'RILL-R025',
|
|
676
|
+
category: 'runtime',
|
|
677
|
+
description: 'fetch extension: network error',
|
|
678
|
+
messageTemplate: '{namespace}: network error — {message}',
|
|
679
|
+
cause: 'Network request failed (DNS resolution, connection refused, or other network issue).',
|
|
680
|
+
resolution: 'Check network connectivity, verify server is reachable, or check firewall settings.',
|
|
681
|
+
examples: [
|
|
682
|
+
{
|
|
683
|
+
description: 'Connection refused',
|
|
684
|
+
code: 'fetch::get("api", "/endpoint") # Server not running',
|
|
685
|
+
},
|
|
686
|
+
],
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
errorId: 'RILL-R026',
|
|
690
|
+
category: 'runtime',
|
|
691
|
+
description: 'fetch extension: invalid JSON response',
|
|
692
|
+
messageTemplate: '{namespace}: invalid JSON response',
|
|
693
|
+
cause: 'Response body could not be parsed as JSON.',
|
|
694
|
+
resolution: 'Check response Content-Type header, verify server returns valid JSON, or use raw response parsing.',
|
|
695
|
+
examples: [
|
|
696
|
+
{
|
|
697
|
+
description: 'HTML error page returned as JSON',
|
|
698
|
+
code: 'fetch::get("api", "/endpoint") # Server returns HTML instead of JSON',
|
|
699
|
+
},
|
|
700
|
+
],
|
|
701
|
+
},
|
|
538
702
|
// Check Errors (RILL-C0xx)
|
|
539
703
|
{
|
|
540
704
|
errorId: 'RILL-C001',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-registry.js","sourceRoot":"","sources":["../src/error-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error-registry.js","sourceRoot":"","sources":["../src/error-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto Extension Factory
|
|
3
|
+
*
|
|
4
|
+
* Provides cryptographic functions via thin wrapper around node:crypto.
|
|
5
|
+
* Functions: hash, hmac, uuid, random
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionResult } from '../../runtime/ext/extensions.js';
|
|
8
|
+
/** Crypto extension configuration */
|
|
9
|
+
export interface CryptoConfig {
|
|
10
|
+
/** Default hash algorithm (default: 'sha256') */
|
|
11
|
+
defaultAlgorithm?: string | undefined;
|
|
12
|
+
/** HMAC key (required only if hmac() used) */
|
|
13
|
+
hmacKey?: string | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create crypto extension with hashing and random generation.
|
|
17
|
+
*
|
|
18
|
+
* Returns 4 functions: hash, hmac, uuid, random.
|
|
19
|
+
*
|
|
20
|
+
* @param config - Crypto configuration
|
|
21
|
+
* @returns ExtensionResult with 4 crypto functions
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const cryptoExt = createCryptoExtension({
|
|
26
|
+
* defaultAlgorithm: 'sha256',
|
|
27
|
+
* hmacKey: 'secret'
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function createCryptoExtension(config?: CryptoConfig): ExtensionResult;
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ext/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOvE,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,YAAiB,GACxB,eAAe,CA2IjB"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto Extension Factory
|
|
3
|
+
*
|
|
4
|
+
* Provides cryptographic functions via thin wrapper around node:crypto.
|
|
5
|
+
* Functions: hash, hmac, uuid, random
|
|
6
|
+
*/
|
|
7
|
+
import crypto from 'node:crypto';
|
|
8
|
+
import { RuntimeError } from '../../error-classes.js';
|
|
9
|
+
// ============================================================
|
|
10
|
+
// FACTORY
|
|
11
|
+
// ============================================================
|
|
12
|
+
/**
|
|
13
|
+
* Create crypto extension with hashing and random generation.
|
|
14
|
+
*
|
|
15
|
+
* Returns 4 functions: hash, hmac, uuid, random.
|
|
16
|
+
*
|
|
17
|
+
* @param config - Crypto configuration
|
|
18
|
+
* @returns ExtensionResult with 4 crypto functions
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const cryptoExt = createCryptoExtension({
|
|
23
|
+
* defaultAlgorithm: 'sha256',
|
|
24
|
+
* hmacKey: 'secret'
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function createCryptoExtension(config = {}) {
|
|
29
|
+
const defaultAlgorithm = config.defaultAlgorithm ?? 'sha256';
|
|
30
|
+
const hmacKey = config.hmacKey;
|
|
31
|
+
// Get supported hash algorithms from crypto module
|
|
32
|
+
const supportedAlgorithms = new Set(crypto.getHashes());
|
|
33
|
+
// ============================================================
|
|
34
|
+
// HELPERS
|
|
35
|
+
// ============================================================
|
|
36
|
+
/** Validate algorithm is supported */
|
|
37
|
+
function validateAlgorithm(algorithm) {
|
|
38
|
+
if (!supportedAlgorithms.has(algorithm)) {
|
|
39
|
+
// EC-27: Invalid algorithm
|
|
40
|
+
throw new RuntimeError('RILL-R004', `unsupported algorithm: ${algorithm}`, undefined, { algorithm, supported: Array.from(supportedAlgorithms) });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// ============================================================
|
|
44
|
+
// FUNCTIONS
|
|
45
|
+
// ============================================================
|
|
46
|
+
/**
|
|
47
|
+
* Hash content with specified or default algorithm.
|
|
48
|
+
* IR-23
|
|
49
|
+
*/
|
|
50
|
+
const hash = async (args) => {
|
|
51
|
+
const input = args[0];
|
|
52
|
+
const algorithm = args[1] ?? defaultAlgorithm;
|
|
53
|
+
// EC-27: Invalid algorithm
|
|
54
|
+
validateAlgorithm(algorithm);
|
|
55
|
+
const hashObject = crypto.createHash(algorithm);
|
|
56
|
+
hashObject.update(input);
|
|
57
|
+
return hashObject.digest('hex');
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Generate HMAC signature.
|
|
61
|
+
* IR-24, EC-26 (missing hmacKey)
|
|
62
|
+
*/
|
|
63
|
+
const hmac = async (args) => {
|
|
64
|
+
// EC-26: hmacKey missing
|
|
65
|
+
if (!hmacKey) {
|
|
66
|
+
throw new RuntimeError('RILL-R004', 'hmacKey required for hmac() — set in config', undefined, {});
|
|
67
|
+
}
|
|
68
|
+
const input = args[0];
|
|
69
|
+
const algorithm = args[1] ?? defaultAlgorithm;
|
|
70
|
+
// EC-27: Invalid algorithm
|
|
71
|
+
validateAlgorithm(algorithm);
|
|
72
|
+
const hmacObject = crypto.createHmac(algorithm, hmacKey);
|
|
73
|
+
hmacObject.update(input);
|
|
74
|
+
return hmacObject.digest('hex');
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Generate random UUID v4.
|
|
78
|
+
* IR-25
|
|
79
|
+
*/
|
|
80
|
+
const uuid = async () => {
|
|
81
|
+
return crypto.randomUUID();
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Generate random bytes as hex string.
|
|
85
|
+
* IR-26
|
|
86
|
+
*/
|
|
87
|
+
const random = async (args) => {
|
|
88
|
+
const bytes = args[0];
|
|
89
|
+
return crypto.randomBytes(bytes).toString('hex');
|
|
90
|
+
};
|
|
91
|
+
// ============================================================
|
|
92
|
+
// EXTENSION RESULT
|
|
93
|
+
// ============================================================
|
|
94
|
+
return {
|
|
95
|
+
hash: {
|
|
96
|
+
params: [
|
|
97
|
+
{ name: 'input', type: 'string', description: 'Content to hash' },
|
|
98
|
+
{
|
|
99
|
+
name: 'algorithm',
|
|
100
|
+
type: 'string',
|
|
101
|
+
description: 'Hash algorithm',
|
|
102
|
+
defaultValue: defaultAlgorithm,
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
fn: hash,
|
|
106
|
+
description: 'Hash content, returns hex output',
|
|
107
|
+
returnType: 'string',
|
|
108
|
+
},
|
|
109
|
+
hmac: {
|
|
110
|
+
params: [
|
|
111
|
+
{
|
|
112
|
+
name: 'input',
|
|
113
|
+
type: 'string',
|
|
114
|
+
description: 'Content to authenticate',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'algorithm',
|
|
118
|
+
type: 'string',
|
|
119
|
+
description: 'Hash algorithm',
|
|
120
|
+
defaultValue: defaultAlgorithm,
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
fn: hmac,
|
|
124
|
+
description: 'Generate HMAC signature, returns hex output',
|
|
125
|
+
returnType: 'string',
|
|
126
|
+
},
|
|
127
|
+
uuid: {
|
|
128
|
+
params: [],
|
|
129
|
+
fn: uuid,
|
|
130
|
+
description: 'Generate random UUID v4',
|
|
131
|
+
returnType: 'string',
|
|
132
|
+
},
|
|
133
|
+
random: {
|
|
134
|
+
params: [
|
|
135
|
+
{ name: 'bytes', type: 'number', description: 'Number of bytes' },
|
|
136
|
+
],
|
|
137
|
+
fn: random,
|
|
138
|
+
description: 'Generate random bytes as hex string',
|
|
139
|
+
returnType: 'string',
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ext/crypto/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* exec Extension Factory
|
|
3
|
+
*
|
|
4
|
+
* Provides sandboxed command execution via allowlist/blocklist security controls.
|
|
5
|
+
* Each declared command becomes a function with argument validation and process isolation.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionResult } from '../../runtime/ext/extensions.js';
|
|
8
|
+
import { type CommandConfig } from './runner.js';
|
|
9
|
+
/** exec extension configuration */
|
|
10
|
+
export interface ExecConfig {
|
|
11
|
+
/** Command definitions keyed by command name */
|
|
12
|
+
commands: Record<string, CommandConfig>;
|
|
13
|
+
/** Global timeout in milliseconds (default: 30000 = 30s) */
|
|
14
|
+
timeout?: number | undefined;
|
|
15
|
+
/** Global output size limit in bytes (default: 1048576 = 1MB) */
|
|
16
|
+
maxOutputSize?: number | undefined;
|
|
17
|
+
/** Inherit parent process environment (default: false) */
|
|
18
|
+
inheritEnv?: boolean | undefined;
|
|
19
|
+
}
|
|
20
|
+
export type { CommandConfig };
|
|
21
|
+
/**
|
|
22
|
+
* Create exec extension with sandboxed command execution.
|
|
23
|
+
*
|
|
24
|
+
* Generates one host function per declared command.
|
|
25
|
+
* Each function validates arguments and spawns processes with security controls.
|
|
26
|
+
* Returns dispose() function to abort in-flight processes.
|
|
27
|
+
*
|
|
28
|
+
* @param config - Command definitions and defaults
|
|
29
|
+
* @returns ExtensionResult with command functions and dispose
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const execExt = createExecExtension({
|
|
34
|
+
* commands: {
|
|
35
|
+
* git: {
|
|
36
|
+
* binary: 'git',
|
|
37
|
+
* allowedArgs: ['status', '--short', 'log'],
|
|
38
|
+
* cwd: '/home/user/repo'
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function createExecExtension(config: ExecConfig): ExtensionResult;
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ext/exec/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAMrB,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAGD,YAAY,EAAE,aAAa,EAAE,CAAC;AAM9B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAwKvE"}
|