@unicity-astrid/sdk 0.1.0

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 (124) hide show
  1. package/README.md +120 -0
  2. package/dist/approval.d.ts +23 -0
  3. package/dist/approval.d.ts.map +1 -0
  4. package/dist/approval.js +29 -0
  5. package/dist/approval.js.map +1 -0
  6. package/dist/capabilities.d.ts +14 -0
  7. package/dist/capabilities.d.ts.map +1 -0
  8. package/dist/capabilities.js +19 -0
  9. package/dist/capabilities.js.map +1 -0
  10. package/dist/capsule.d.ts +39 -0
  11. package/dist/capsule.d.ts.map +1 -0
  12. package/dist/capsule.js +67 -0
  13. package/dist/capsule.js.map +1 -0
  14. package/dist/contracts.d.ts +1104 -0
  15. package/dist/contracts.d.ts.map +1 -0
  16. package/dist/contracts.js +4 -0
  17. package/dist/contracts.js.map +1 -0
  18. package/dist/elicit.d.ts +30 -0
  19. package/dist/elicit.d.ts.map +1 -0
  20. package/dist/elicit.js +103 -0
  21. package/dist/elicit.js.map +1 -0
  22. package/dist/env.d.ts +19 -0
  23. package/dist/env.d.ts.map +1 -0
  24. package/dist/env.js +27 -0
  25. package/dist/env.js.map +1 -0
  26. package/dist/errors.d.ts +46 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +108 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/fs.d.ts +135 -0
  31. package/dist/fs.d.ts.map +1 -0
  32. package/dist/fs.js +257 -0
  33. package/dist/fs.js.map +1 -0
  34. package/dist/http.d.ts +90 -0
  35. package/dist/http.d.ts.map +1 -0
  36. package/dist/http.js +276 -0
  37. package/dist/http.js.map +1 -0
  38. package/dist/identity.d.ts +46 -0
  39. package/dist/identity.d.ts.map +1 -0
  40. package/dist/identity.js +69 -0
  41. package/dist/identity.js.map +1 -0
  42. package/dist/index.d.ts +30 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +27 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/interceptors.d.ts +21 -0
  47. package/dist/interceptors.d.ts.map +1 -0
  48. package/dist/interceptors.js +22 -0
  49. package/dist/interceptors.js.map +1 -0
  50. package/dist/ipc.d.ts +143 -0
  51. package/dist/ipc.d.ts.map +1 -0
  52. package/dist/ipc.js +261 -0
  53. package/dist/ipc.js.map +1 -0
  54. package/dist/kv.d.ts +45 -0
  55. package/dist/kv.d.ts.map +1 -0
  56. package/dist/kv.js +91 -0
  57. package/dist/kv.js.map +1 -0
  58. package/dist/log.d.ts +17 -0
  59. package/dist/log.d.ts.map +1 -0
  60. package/dist/log.js +40 -0
  61. package/dist/log.js.map +1 -0
  62. package/dist/net.d.ts +154 -0
  63. package/dist/net.d.ts.map +1 -0
  64. package/dist/net.js +421 -0
  65. package/dist/net.js.map +1 -0
  66. package/dist/process.d.ts +77 -0
  67. package/dist/process.d.ts.map +1 -0
  68. package/dist/process.js +128 -0
  69. package/dist/process.js.map +1 -0
  70. package/dist/runtime/bridge.d.ts +34 -0
  71. package/dist/runtime/bridge.d.ts.map +1 -0
  72. package/dist/runtime/bridge.js +326 -0
  73. package/dist/runtime/bridge.js.map +1 -0
  74. package/dist/runtime/index.d.ts +3 -0
  75. package/dist/runtime/index.d.ts.map +1 -0
  76. package/dist/runtime/index.js +3 -0
  77. package/dist/runtime/index.js.map +1 -0
  78. package/dist/runtime/registry.d.ts +58 -0
  79. package/dist/runtime/registry.d.ts.map +1 -0
  80. package/dist/runtime/registry.js +129 -0
  81. package/dist/runtime/registry.js.map +1 -0
  82. package/dist/runtime.d.ts +36 -0
  83. package/dist/runtime.d.ts.map +1 -0
  84. package/dist/runtime.js +50 -0
  85. package/dist/runtime.js.map +1 -0
  86. package/dist/time.d.ts +29 -0
  87. package/dist/time.d.ts.map +1 -0
  88. package/dist/time.js +43 -0
  89. package/dist/time.js.map +1 -0
  90. package/dist/tool.d.ts +48 -0
  91. package/dist/tool.d.ts.map +1 -0
  92. package/dist/tool.js +86 -0
  93. package/dist/tool.js.map +1 -0
  94. package/dist/uplink.d.ts +27 -0
  95. package/dist/uplink.d.ts.map +1 -0
  96. package/dist/uplink.js +36 -0
  97. package/dist/uplink.js.map +1 -0
  98. package/package.json +38 -0
  99. package/src/approval.ts +38 -0
  100. package/src/capabilities.ts +22 -0
  101. package/src/capsule.ts +90 -0
  102. package/src/contracts.ts +1189 -0
  103. package/src/elicit.ts +136 -0
  104. package/src/env.ts +31 -0
  105. package/src/errors.ts +122 -0
  106. package/src/fs.ts +357 -0
  107. package/src/http.ts +345 -0
  108. package/src/identity.ts +101 -0
  109. package/src/index.ts +83 -0
  110. package/src/interceptors.ts +25 -0
  111. package/src/ipc.ts +354 -0
  112. package/src/kv.ts +123 -0
  113. package/src/log.ts +43 -0
  114. package/src/net.ts +545 -0
  115. package/src/process.ts +205 -0
  116. package/src/runtime/bridge.ts +374 -0
  117. package/src/runtime/index.ts +11 -0
  118. package/src/runtime/registry.ts +178 -0
  119. package/src/runtime.ts +70 -0
  120. package/src/time.ts +48 -0
  121. package/src/tool.ts +125 -0
  122. package/src/uplink.ts +49 -0
  123. package/src/wit-imports.d.ts +689 -0
  124. package/wit-contracts/astrid-contracts.wit +1266 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Auto-generated by @unicity-astrid/build from a WIT file. Do not edit by hand.
2
+ // Mirror of `astrid_sdk_macros::wit_events!` output.
3
+ export {};
4
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qDAAqD"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Interactive user input during install/upgrade. Mirrors `astrid_sdk::elicit`.
3
+ *
4
+ * These functions are only callable from `@install` / `@upgrade` lifecycle
5
+ * methods; calling them from a tool or interceptor returns `not-in-lifecycle`.
6
+ * The host blocks the WASM thread until the frontend collects input or the
7
+ * request times out (120s).
8
+ *
9
+ * Post per-domain WIT split, the host returns a typed `elicit-response`
10
+ * variant directly. We unpack it into the language-natural shape: `text` /
11
+ * `textWithDefault` / `select` return strings; `array` returns string[];
12
+ * `secret` returns void (the value never leaves the SecretStore).
13
+ */
14
+ /**
15
+ * Store a secret via the kernel's SecretStore. The capsule NEVER receives
16
+ * the value back — verify via {@link hasSecret} and dereference at runtime
17
+ * by name.
18
+ */
19
+ export declare function secret(key: string, description: string): void;
20
+ /** Check whether a secret with this key was previously stored. */
21
+ export declare function hasSecret(key: string): boolean;
22
+ /** Prompt the user for a text value. */
23
+ export declare function text(key: string, description: string): string;
24
+ /** Prompt with a pre-filled default. */
25
+ export declare function textWithDefault(key: string, description: string, defaultValue: string): string;
26
+ /** Prompt for a selection from a list. */
27
+ export declare function select(key: string, description: string, options: string[]): string;
28
+ /** Prompt for multiple text values. */
29
+ export declare function array(key: string, description: string): string[];
30
+ //# sourceMappingURL=elicit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elicit.d.ts","sourceRoot":"","sources":["../src/elicit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAgB7D;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAG9C;AAED,wCAAwC;AACxC,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wCAAwC;AACxC,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAER;AAED,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBlF;AAED,uCAAuC;AACvC,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAehE"}
package/dist/elicit.js ADDED
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Interactive user input during install/upgrade. Mirrors `astrid_sdk::elicit`.
3
+ *
4
+ * These functions are only callable from `@install` / `@upgrade` lifecycle
5
+ * methods; calling them from a tool or interceptor returns `not-in-lifecycle`.
6
+ * The host blocks the WASM thread until the frontend collects input or the
7
+ * request times out (120s).
8
+ *
9
+ * Post per-domain WIT split, the host returns a typed `elicit-response`
10
+ * variant directly. We unpack it into the language-natural shape: `text` /
11
+ * `textWithDefault` / `select` return strings; `array` returns string[];
12
+ * `secret` returns void (the value never leaves the SecretStore).
13
+ */
14
+ import { elicit as hostElicit, hasSecret as hostHasSecret, } from "astrid:elicit/host@1.0.0";
15
+ import { SysError, callHost } from "./errors.js";
16
+ function validateKey(key) {
17
+ if (key.trim() === "") {
18
+ throw SysError.api("elicit key must not be empty");
19
+ }
20
+ }
21
+ /**
22
+ * Store a secret via the kernel's SecretStore. The capsule NEVER receives
23
+ * the value back — verify via {@link hasSecret} and dereference at runtime
24
+ * by name.
25
+ */
26
+ export function secret(key, description) {
27
+ validateKey(key);
28
+ const resp = callHost(`elicit.secret(${JSON.stringify(key)})`, () => hostElicit({
29
+ kind: "secret",
30
+ key,
31
+ description,
32
+ options: undefined,
33
+ defaultValue: undefined,
34
+ }));
35
+ if (resp.tag !== "secret-stored") {
36
+ throw SysError.api(`elicit.secret: expected 'secret-stored' response, got '${resp.tag}'`);
37
+ }
38
+ }
39
+ /** Check whether a secret with this key was previously stored. */
40
+ export function hasSecret(key) {
41
+ validateKey(key);
42
+ return callHost(`elicit.hasSecret(${JSON.stringify(key)})`, () => hostHasSecret(key));
43
+ }
44
+ /** Prompt the user for a text value. */
45
+ export function text(key, description) {
46
+ return elicitText(key, description, undefined);
47
+ }
48
+ /** Prompt with a pre-filled default. */
49
+ export function textWithDefault(key, description, defaultValue) {
50
+ return elicitText(key, description, defaultValue);
51
+ }
52
+ /** Prompt for a selection from a list. */
53
+ export function select(key, description, options) {
54
+ validateKey(key);
55
+ if (options.length === 0) {
56
+ throw SysError.api("elicit.select requires at least one option");
57
+ }
58
+ const resp = callHost(`elicit.select(${JSON.stringify(key)})`, () => hostElicit({
59
+ kind: "select",
60
+ key,
61
+ description,
62
+ options,
63
+ defaultValue: undefined,
64
+ }));
65
+ const value = expectValue("elicit.select", resp);
66
+ if (options.indexOf(value) < 0) {
67
+ throw SysError.api(`host returned value not in provided options: ${value.slice(0, 64)}`);
68
+ }
69
+ return value;
70
+ }
71
+ /** Prompt for multiple text values. */
72
+ export function array(key, description) {
73
+ validateKey(key);
74
+ const resp = callHost(`elicit.array(${JSON.stringify(key)})`, () => hostElicit({
75
+ kind: "array",
76
+ key,
77
+ description,
78
+ options: undefined,
79
+ defaultValue: undefined,
80
+ }));
81
+ if (resp.tag !== "values") {
82
+ throw SysError.api(`elicit.array: expected 'values' response, got '${resp.tag}'`);
83
+ }
84
+ return resp.val;
85
+ }
86
+ function elicitText(key, description, defaultValue) {
87
+ validateKey(key);
88
+ const resp = callHost(`elicit.text(${JSON.stringify(key)})`, () => hostElicit({
89
+ kind: "text",
90
+ key,
91
+ description,
92
+ options: undefined,
93
+ defaultValue,
94
+ }));
95
+ return expectValue("elicit.text", resp);
96
+ }
97
+ function expectValue(label, resp) {
98
+ if (resp.tag !== "value") {
99
+ throw SysError.api(`${label}: expected 'value' response, got '${resp.tag}'`);
100
+ }
101
+ return resp.val;
102
+ }
103
+ //# sourceMappingURL=elicit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elicit.js","sourceRoot":"","sources":["../src/elicit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,SAAS,IAAI,aAAa,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,WAAmB;IACrD,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAClE,UAAU,CAAC;QACT,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,WAAW;QACX,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,SAAS;KACxB,CAAC,CACH,CAAC;IACF,IAAI,IAAI,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;QACjC,MAAM,QAAQ,CAAC,GAAG,CAChB,0DAA0D,IAAI,CAAC,GAAG,GAAG,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,QAAQ,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,IAAI,CAAC,GAAW,EAAE,WAAmB;IACnD,OAAO,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,WAAmB,EACnB,YAAoB;IAEpB,OAAO,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,WAAmB,EAAE,OAAiB;IACxE,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAClE,UAAU,CAAC;QACT,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,WAAW;QACX,OAAO;QACP,YAAY,EAAE,SAAS;KACxB,CAAC,CACH,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,CAAC,GAAG,CAChB,gDAAgD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,WAAmB;IACpD,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CACjE,UAAU,CAAC;QACT,IAAI,EAAE,OAAO;QACb,GAAG;QACH,WAAW;QACX,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,SAAS;KACxB,CAAC,CACH,CAAC;IACF,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,CAAC,GAAG,CAAC,kDAAkD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACjB,GAAW,EACX,WAAmB,EACnB,YAAgC;IAEhC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAChE,UAAU,CAAC;QACT,IAAI,EAAE,MAAM;QACZ,GAAG;QACH,WAAW;QACX,OAAO,EAAE,SAAS;QAClB,YAAY;KACb,CAAC,CACH,CAAC;IACF,OAAO,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAoB;IACtD,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,qCAAqC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Capsule configuration — Astrid's equivalent of environment variables.
3
+ * Mirrors `astrid_sdk::env`. Values are injected by the kernel at load time
4
+ * from `Capsule.toml [env]` entries.
5
+ *
6
+ * Per the per-domain WIT split, `get-config` now returns `option<string>` so
7
+ * the caller can distinguish "key not set" from "key explicitly set to empty
8
+ * string". The wrapper preserves that distinction via {@link tryGet}; {@link get}
9
+ * collapses `none` to `""` for the std::env::var-style ergonomic case.
10
+ */
11
+ /** Well-known config key carrying the kernel's Unix domain socket path. */
12
+ export declare const CONFIG_SOCKET_PATH = "ASTRID_SOCKET_PATH";
13
+ /** Read a config value. Returns `""` if the key is not set. */
14
+ export declare function get(key: string): string;
15
+ /** Read a config value or `undefined` if not set. */
16
+ export declare function tryGet(key: string): string | undefined;
17
+ /** Read a config value as bytes. */
18
+ export declare function getBytes(key: string): Uint8Array;
19
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,+DAA+D;AAC/D,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED,qDAAqD;AACrD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEtD;AAED,oCAAoC;AACpC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEhD"}
package/dist/env.js ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Capsule configuration — Astrid's equivalent of environment variables.
3
+ * Mirrors `astrid_sdk::env`. Values are injected by the kernel at load time
4
+ * from `Capsule.toml [env]` entries.
5
+ *
6
+ * Per the per-domain WIT split, `get-config` now returns `option<string>` so
7
+ * the caller can distinguish "key not set" from "key explicitly set to empty
8
+ * string". The wrapper preserves that distinction via {@link tryGet}; {@link get}
9
+ * collapses `none` to `""` for the std::env::var-style ergonomic case.
10
+ */
11
+ import { getConfig } from "astrid:sys/host@1.0.0";
12
+ import { callHost } from "./errors.js";
13
+ /** Well-known config key carrying the kernel's Unix domain socket path. */
14
+ export const CONFIG_SOCKET_PATH = "ASTRID_SOCKET_PATH";
15
+ /** Read a config value. Returns `""` if the key is not set. */
16
+ export function get(key) {
17
+ return tryGet(key) ?? "";
18
+ }
19
+ /** Read a config value or `undefined` if not set. */
20
+ export function tryGet(key) {
21
+ return callHost(`env.get(${JSON.stringify(key)})`, () => getConfig(key));
22
+ }
23
+ /** Read a config value as bytes. */
24
+ export function getBytes(key) {
25
+ return new TextEncoder().encode(get(key));
26
+ }
27
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,+DAA+D;AAC/D,MAAM,UAAU,GAAG,CAAC,GAAW;IAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,QAAQ,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Unified error type for SDK operations. Mirrors `astrid_sdk::SysError` but
3
+ * uses idiomatic JS throw/catch instead of `Result<T, E>`.
4
+ *
5
+ * Post per-domain-WIT migration, every fallible host call returns a typed
6
+ * `result<T, error-code>` where `error-code` is a domain-specific variant
7
+ * (e.g. `astrid:fs/host.error-code`, `astrid:ipc/host.error-code`).
8
+ * ComponentizeJS rejects with `{ tag, val? }` objects on the error arm. We
9
+ * preserve the variant tag on `SysError.code` so downstream code can branch
10
+ * on `if (err.code === "quota") ...` without losing the typed kind. The
11
+ * raw payload (the unpacked variant value, if any) survives on `err.payload`
12
+ * for the few callers that need it.
13
+ *
14
+ * The three legacy origin tags — `HostError`, `JsonError`, `ApiError` —
15
+ * remain on `SysError.kind` for source compatibility. Code that previously
16
+ * checked `err.code` for "HostError" should migrate to `err.kind` because
17
+ * `err.code` now carries the WIT variant tag.
18
+ */
19
+ export type SysErrorKind = "HostError" | "JsonError" | "ApiError";
20
+ export declare class SysError extends Error {
21
+ readonly name = "SysError";
22
+ /** Legacy classification: where the error originated. */
23
+ readonly kind: SysErrorKind;
24
+ /** Typed WIT variant tag (e.g. "quota", "capability-denied", "timeout").
25
+ * `undefined` for SDK-internal errors that didn't come from the host. */
26
+ readonly code: string | undefined;
27
+ /** Raw unpacked WIT variant payload, when present. */
28
+ readonly payload: unknown;
29
+ constructor(kind: SysErrorKind, message: string, options?: ErrorOptions & {
30
+ code?: string;
31
+ payload?: unknown;
32
+ });
33
+ static host(message: string, cause?: unknown, code?: string, payload?: unknown): SysError;
34
+ static json(message: string, cause?: unknown): SysError;
35
+ static api(message: string, cause?: unknown): SysError;
36
+ }
37
+ /**
38
+ * Wraps a synchronous host call, normalizing any thrown value into a
39
+ * `SysError`. After the per-domain WIT split, host imports throw
40
+ * `{ tag, val? }` objects representing the typed error-code variant.
41
+ * We unpack the tag onto `SysError.code` so capsule authors can branch
42
+ * on the WIT variant by name. The raw payload (the unpacked `val`, if any)
43
+ * survives on `SysError.payload` for callers that need it.
44
+ */
45
+ export declare function callHost<T>(label: string, fn: () => T): T;
46
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAElE,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAkB,IAAI,cAAc;IACpC,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;8EAC0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAGxB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ/D,MAAM,CAAC,IAAI,CACT,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,QAAQ;IAQX,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ;IAIvD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ;CAGvD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAYzD"}
package/dist/errors.js ADDED
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Unified error type for SDK operations. Mirrors `astrid_sdk::SysError` but
3
+ * uses idiomatic JS throw/catch instead of `Result<T, E>`.
4
+ *
5
+ * Post per-domain-WIT migration, every fallible host call returns a typed
6
+ * `result<T, error-code>` where `error-code` is a domain-specific variant
7
+ * (e.g. `astrid:fs/host.error-code`, `astrid:ipc/host.error-code`).
8
+ * ComponentizeJS rejects with `{ tag, val? }` objects on the error arm. We
9
+ * preserve the variant tag on `SysError.code` so downstream code can branch
10
+ * on `if (err.code === "quota") ...` without losing the typed kind. The
11
+ * raw payload (the unpacked variant value, if any) survives on `err.payload`
12
+ * for the few callers that need it.
13
+ *
14
+ * The three legacy origin tags — `HostError`, `JsonError`, `ApiError` —
15
+ * remain on `SysError.kind` for source compatibility. Code that previously
16
+ * checked `err.code` for "HostError" should migrate to `err.kind` because
17
+ * `err.code` now carries the WIT variant tag.
18
+ */
19
+ export class SysError extends Error {
20
+ name = "SysError";
21
+ /** Legacy classification: where the error originated. */
22
+ kind;
23
+ /** Typed WIT variant tag (e.g. "quota", "capability-denied", "timeout").
24
+ * `undefined` for SDK-internal errors that didn't come from the host. */
25
+ code;
26
+ /** Raw unpacked WIT variant payload, when present. */
27
+ payload;
28
+ constructor(kind, message, options) {
29
+ super(`[${kind}${options?.code ? `:${options.code}` : ""}] ${message}`, options);
30
+ this.kind = kind;
31
+ this.code = options?.code;
32
+ this.payload = options?.payload;
33
+ }
34
+ static host(message, cause, code, payload) {
35
+ const opts = {};
36
+ if (cause !== undefined)
37
+ opts.cause = cause;
38
+ if (code !== undefined)
39
+ opts.code = code;
40
+ if (payload !== undefined)
41
+ opts.payload = payload;
42
+ return new SysError("HostError", message, opts);
43
+ }
44
+ static json(message, cause) {
45
+ return new SysError("JsonError", message, cause === undefined ? undefined : { cause });
46
+ }
47
+ static api(message, cause) {
48
+ return new SysError("ApiError", message, cause === undefined ? undefined : { cause });
49
+ }
50
+ }
51
+ /**
52
+ * Wraps a synchronous host call, normalizing any thrown value into a
53
+ * `SysError`. After the per-domain WIT split, host imports throw
54
+ * `{ tag, val? }` objects representing the typed error-code variant.
55
+ * We unpack the tag onto `SysError.code` so capsule authors can branch
56
+ * on the WIT variant by name. The raw payload (the unpacked `val`, if any)
57
+ * survives on `SysError.payload` for callers that need it.
58
+ */
59
+ export function callHost(label, fn) {
60
+ try {
61
+ return fn();
62
+ }
63
+ catch (raw) {
64
+ if (raw instanceof SysError)
65
+ throw raw;
66
+ const wit = extractWitError(raw);
67
+ if (wit !== undefined) {
68
+ throw SysError.host(`${label}: ${wit.message}`, raw, wit.code, wit.payload);
69
+ }
70
+ const message = typeof raw === "string" ? raw : raw?.message ?? String(raw);
71
+ throw SysError.host(`${label}: ${message}`, raw);
72
+ }
73
+ }
74
+ /**
75
+ * Componentize-js rejects fallible host calls with `{ tag, val? }` shapes
76
+ * (the unpacked variant of `result<T, error-code>`). Strings or numbers
77
+ * occasionally surface for trap-style failures. This helper produces a
78
+ * uniform view of the variant for `callHost` to convert into `SysError`.
79
+ */
80
+ function extractWitError(raw) {
81
+ if (raw === null || typeof raw !== "object")
82
+ return undefined;
83
+ const r = raw;
84
+ if (typeof r["tag"] !== "string")
85
+ return undefined;
86
+ const code = r["tag"];
87
+ const val = r["val"];
88
+ let message;
89
+ if (typeof val === "string") {
90
+ message = `${code}: ${val}`;
91
+ }
92
+ else if (val === undefined) {
93
+ message = code;
94
+ }
95
+ else {
96
+ message = `${code}: ${safeStringify(val)}`;
97
+ }
98
+ return { code, message, payload: val };
99
+ }
100
+ function safeStringify(v) {
101
+ try {
102
+ return JSON.stringify(v);
103
+ }
104
+ catch {
105
+ return String(v);
106
+ }
107
+ }
108
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/fs.d.ts ADDED
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Virtual filesystem — shape-compatible with `node:fs/promises` where it
3
+ * makes sense, including a `Stats`-like object with `isFile()` /
4
+ * `isDirectory()` methods.
5
+ *
6
+ * Path schemes follow VFS conventions (`workspace://`, `home://`, `tmp://`).
7
+ * The kernel re-resolves and re-validates every path on every call;
8
+ * {@link canonicalize} is for display / equality only, NOT a security check
9
+ * that subsequent calls can rely on.
10
+ *
11
+ * The Rust SDK's surface is sync (`std::fs`); we expose async (`await`) to
12
+ * match Node idioms even though the underlying host calls are synchronous.
13
+ * StarlingMonkey syncifies awaits at the WASM boundary.
14
+ */
15
+ import { type FileStat, type FileHandle as WitFileHandle, type OpenMode, type FileType } from "astrid:fs/host@1.0.0";
16
+ export type { OpenMode, FileType } from "astrid:fs/host@1.0.0";
17
+ /**
18
+ * Stat result. Shaped like Node's `fs.Stats` for the fields the Astrid VFS
19
+ * surfaces. `size` is `bigint` (WIT `u64`); use `Number(size)` if you need a
20
+ * regular number and you're sure it fits.
21
+ */
22
+ export declare class Stats {
23
+ readonly size: bigint;
24
+ readonly mode: number;
25
+ readonly kind: FileType;
26
+ readonly mtimeMs: number | undefined;
27
+ readonly birthtimeMs: number | undefined;
28
+ readonly atimeMs: number | undefined;
29
+ constructor(stat: FileStat);
30
+ isFile(): boolean;
31
+ isDirectory(): boolean;
32
+ isSymbolicLink(): boolean;
33
+ isEmpty(): boolean;
34
+ }
35
+ /** Directory entry returned by `readdir({ withFileTypes: true })`. */
36
+ export declare class Dirent {
37
+ readonly name: string;
38
+ readonly path: string;
39
+ readonly parentPath: string;
40
+ constructor(parentPath: string, name: string);
41
+ }
42
+ /**
43
+ * Open file handle. Returned from {@link open}. The host releases the
44
+ * underlying file descriptor automatically when the handle is dropped via
45
+ * `Symbol.dispose` or `.close()`. Per-capsule cap: 16 open file handles.
46
+ *
47
+ * ```ts
48
+ * using f = await fs.open("workspace://data.bin", "read-write");
49
+ * await f.writeAt(0n, new TextEncoder().encode("hello"));
50
+ * ```
51
+ */
52
+ export declare class FileHandle {
53
+ #private;
54
+ readonly path: string;
55
+ constructor(inner: WitFileHandle, path: string);
56
+ /** Read up to `maxBytes` from `offset`. Empty result signals EOF at that offset. */
57
+ readAt(offset: bigint, maxBytes: number): Promise<Uint8Array>;
58
+ /** Write `data` at `offset`. Returns bytes actually written. */
59
+ writeAt(offset: bigint, data: Uint8Array): Promise<number>;
60
+ /** Flush buffered data (only) to disk — `fdatasync(2)`. */
61
+ syncData(): Promise<void>;
62
+ /** Flush both data and metadata to disk — `fsync(2)`. */
63
+ syncAll(): Promise<void>;
64
+ /** Race-free counterpart to {@link stat} on the path. */
65
+ stat(): Promise<Stats>;
66
+ /** Truncate or extend the file to `size` bytes. Extending past end fills with zeros. */
67
+ setLen(size: bigint): Promise<void>;
68
+ close(): void;
69
+ [Symbol.dispose](): void;
70
+ }
71
+ export interface ReadFileOptions {
72
+ /** When set, decode bytes as a string with this encoding. */
73
+ encoding?: "utf8";
74
+ }
75
+ export interface ReaddirOptions {
76
+ /** When true, yields `Dirent` objects instead of bare name strings. */
77
+ withFileTypes?: boolean;
78
+ }
79
+ /** Open a file by path. Required capability depends on `mode`. */
80
+ export declare function open(path: string, mode: OpenMode): Promise<FileHandle>;
81
+ export declare function exists(path: string): Promise<boolean>;
82
+ export declare function stat(path: string): Promise<Stats>;
83
+ /** Stat without following symlinks — `lstat(2)`. */
84
+ export declare function lstat(path: string): Promise<Stats>;
85
+ export declare function readFile(path: string, options?: ReadFileOptions): Promise<Uint8Array | string>;
86
+ /** Read a file as UTF-8 text. */
87
+ export declare function readTextFile(path: string): Promise<string>;
88
+ export declare function writeFile(path: string, data: string | Uint8Array): Promise<void>;
89
+ /** Append `data` to a file, creating it if absent. */
90
+ export declare function appendFile(path: string, data: string | Uint8Array): Promise<void>;
91
+ /**
92
+ * Create a directory. Mirrors `std::fs::create_dir` / `mkdir(2)` — strict.
93
+ * Fails with `already-exists` if the path exists. Use {@link mkdirAll} for
94
+ * idempotent "ensure-exists" semantics.
95
+ */
96
+ export declare function mkdir(path: string): Promise<void>;
97
+ /** Create a directory and all missing parents. Idempotent. */
98
+ export declare function mkdirAll(path: string): Promise<void>;
99
+ /** Remove a file. Mirrors `fs.unlink` / `fs.rm` (file-only). */
100
+ export declare function rm(path: string): Promise<void>;
101
+ /** Alias for {@link rm} matching Node's `fs.unlink`. */
102
+ export declare const unlink: typeof rm;
103
+ /**
104
+ * Remove a directory and all its contents recursively. Refuses to traverse
105
+ * symlinks to prevent sandbox escapes. Returns the count of removed entries.
106
+ */
107
+ export declare function removeDirAll(path: string): Promise<bigint>;
108
+ /** Copy a file from `src` to `dst`. Overwrites `dst`. */
109
+ export declare function copy(src: string, dst: string): Promise<void>;
110
+ /** Rename (move) within the same VFS scheme. Cross-scheme returns `cross-vfs`. */
111
+ export declare function rename(src: string, dst: string): Promise<void>;
112
+ /**
113
+ * Resolve a path to its canonical form, following symlinks. Returns a
114
+ * VFS-scheme path, never a host real-path. NOT a TOCTOU-safe security check.
115
+ */
116
+ export declare function canonicalize(path: string): Promise<string>;
117
+ /** Read a symlink target without following it. */
118
+ export declare function readLink(path: string): Promise<string>;
119
+ /** Create a hard link. Both endpoints must be in the same VFS scheme. */
120
+ export declare function hardLink(src: string, linkPath: string): Promise<void>;
121
+ /**
122
+ * Read directory entries. Returns string[] by default to match
123
+ * `fs.readdir(path)`; pass `{ withFileTypes: true }` for `Dirent[]`.
124
+ */
125
+ export declare function readdir(path: string): Promise<string[]>;
126
+ export declare function readdir(path: string, options: {
127
+ withFileTypes: true;
128
+ }): Promise<Dirent[]>;
129
+ /**
130
+ * Stream-style directory iteration. Mirrors `fs.opendir` / `Dir`. The VFS
131
+ * resolves all entries in one host call, so the async-iterator is fully
132
+ * populated up-front; the shape matches Node for compatibility.
133
+ */
134
+ export declare function opendir(path: string): Promise<AsyncIterableIterator<Dirent>>;
135
+ //# sourceMappingURL=fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}