@ironflow/node 0.20.2 → 0.21.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 (145) hide show
  1. package/dist/agent/agent.d.ts +60 -0
  2. package/dist/agent/agent.d.ts.map +1 -0
  3. package/dist/agent/agent.js +133 -0
  4. package/dist/agent/agent.js.map +1 -0
  5. package/dist/agent/approve.d.ts +23 -0
  6. package/dist/agent/approve.d.ts.map +1 -0
  7. package/dist/agent/approve.js +42 -0
  8. package/dist/agent/approve.js.map +1 -0
  9. package/dist/agent/dispatch.d.ts +63 -0
  10. package/dist/agent/dispatch.d.ts.map +1 -0
  11. package/dist/agent/dispatch.js +130 -0
  12. package/dist/agent/dispatch.js.map +1 -0
  13. package/dist/agent/errors.d.ts +90 -0
  14. package/dist/agent/errors.d.ts.map +1 -0
  15. package/dist/agent/errors.js +136 -0
  16. package/dist/agent/errors.js.map +1 -0
  17. package/dist/agent/index.d.ts +35 -0
  18. package/dist/agent/index.d.ts.map +1 -0
  19. package/dist/agent/index.js +32 -0
  20. package/dist/agent/index.js.map +1 -0
  21. package/dist/agent/internal-registry.d.ts +27 -0
  22. package/dist/agent/internal-registry.d.ts.map +1 -0
  23. package/dist/agent/internal-registry.js +36 -0
  24. package/dist/agent/internal-registry.js.map +1 -0
  25. package/dist/agent/internal.d.ts +24 -0
  26. package/dist/agent/internal.d.ts.map +1 -0
  27. package/dist/agent/internal.js +29 -0
  28. package/dist/agent/internal.js.map +1 -0
  29. package/dist/agent/llm.d.ts +39 -0
  30. package/dist/agent/llm.d.ts.map +1 -0
  31. package/dist/agent/llm.js +59 -0
  32. package/dist/agent/llm.js.map +1 -0
  33. package/dist/agent/mcp.d.ts +51 -0
  34. package/dist/agent/mcp.d.ts.map +1 -0
  35. package/dist/agent/mcp.js +155 -0
  36. package/dist/agent/mcp.js.map +1 -0
  37. package/dist/agent/memory.d.ts +74 -0
  38. package/dist/agent/memory.d.ts.map +1 -0
  39. package/dist/agent/memory.js +130 -0
  40. package/dist/agent/memory.js.map +1 -0
  41. package/dist/agent/spawn.d.ts +20 -0
  42. package/dist/agent/spawn.d.ts.map +1 -0
  43. package/dist/agent/spawn.js +29 -0
  44. package/dist/agent/spawn.js.map +1 -0
  45. package/dist/agent/tool.d.ts +39 -0
  46. package/dist/agent/tool.d.ts.map +1 -0
  47. package/dist/agent/tool.js +103 -0
  48. package/dist/agent/tool.js.map +1 -0
  49. package/dist/agent/types.d.ts +363 -0
  50. package/dist/agent/types.d.ts.map +1 -0
  51. package/dist/agent/types.js +9 -0
  52. package/dist/agent/types.js.map +1 -0
  53. package/dist/client.d.ts +942 -0
  54. package/dist/client.d.ts.map +1 -0
  55. package/dist/client.js +1557 -0
  56. package/dist/client.js.map +1 -0
  57. package/dist/command-dedup.d.ts +61 -0
  58. package/dist/command-dedup.d.ts.map +1 -0
  59. package/dist/command-dedup.js +129 -0
  60. package/dist/command-dedup.js.map +1 -0
  61. package/dist/config-client.d.ts +58 -0
  62. package/dist/config-client.d.ts.map +1 -0
  63. package/dist/config-client.js +171 -0
  64. package/dist/config-client.js.map +1 -0
  65. package/dist/function.d.ts +53 -0
  66. package/dist/function.d.ts.map +1 -0
  67. package/dist/function.js +72 -0
  68. package/dist/function.js.map +1 -0
  69. package/dist/index.d.ts +71 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +70 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/internal/assert-defined.d.ts +10 -0
  74. package/dist/internal/assert-defined.d.ts.map +1 -0
  75. package/dist/internal/assert-defined.js +15 -0
  76. package/dist/internal/assert-defined.js.map +1 -0
  77. package/dist/internal/context.d.ts +142 -0
  78. package/dist/internal/context.d.ts.map +1 -0
  79. package/dist/internal/context.js +306 -0
  80. package/dist/internal/context.js.map +1 -0
  81. package/dist/internal/errors.d.ts +66 -0
  82. package/dist/internal/errors.d.ts.map +1 -0
  83. package/dist/internal/errors.js +29 -0
  84. package/dist/internal/errors.js.map +1 -0
  85. package/dist/internal/run-context.d.ts +10 -0
  86. package/dist/internal/run-context.d.ts.map +1 -0
  87. package/dist/internal/run-context.js +23 -0
  88. package/dist/internal/run-context.js.map +1 -0
  89. package/dist/kv.d.ts +86 -0
  90. package/dist/kv.d.ts.map +1 -0
  91. package/dist/kv.js +261 -0
  92. package/dist/kv.js.map +1 -0
  93. package/dist/projection-runner.d.ts +83 -0
  94. package/dist/projection-runner.d.ts.map +1 -0
  95. package/dist/projection-runner.js +498 -0
  96. package/dist/projection-runner.js.map +1 -0
  97. package/dist/projection.d.ts +36 -0
  98. package/dist/projection.d.ts.map +1 -0
  99. package/dist/projection.js +55 -0
  100. package/dist/projection.js.map +1 -0
  101. package/dist/secrets.d.ts +6 -0
  102. package/dist/secrets.d.ts.map +1 -0
  103. package/dist/secrets.js +19 -0
  104. package/dist/secrets.js.map +1 -0
  105. package/dist/serve.d.ts +71 -0
  106. package/dist/serve.d.ts.map +1 -0
  107. package/dist/serve.js +460 -0
  108. package/dist/serve.js.map +1 -0
  109. package/dist/step.d.ts +18 -0
  110. package/dist/step.d.ts.map +1 -0
  111. package/dist/step.js +581 -0
  112. package/dist/step.js.map +1 -0
  113. package/dist/subscribe.d.ts +164 -0
  114. package/dist/subscribe.d.ts.map +1 -0
  115. package/dist/subscribe.js +487 -0
  116. package/dist/subscribe.js.map +1 -0
  117. package/dist/test/index.d.ts +22 -0
  118. package/dist/test/index.d.ts.map +1 -0
  119. package/dist/test/index.js +112 -0
  120. package/dist/test/index.js.map +1 -0
  121. package/dist/test/test-step.d.ts +21 -0
  122. package/dist/test/test-step.d.ts.map +1 -0
  123. package/dist/test/test-step.js +83 -0
  124. package/dist/test/test-step.js.map +1 -0
  125. package/dist/types.d.ts +108 -0
  126. package/dist/types.d.ts.map +1 -0
  127. package/dist/types.js +5 -0
  128. package/dist/types.js.map +1 -0
  129. package/dist/version.d.ts +2 -0
  130. package/dist/version.d.ts.map +1 -0
  131. package/dist/version.js +4 -0
  132. package/dist/version.js.map +1 -0
  133. package/dist/webhook.d.ts +22 -0
  134. package/dist/webhook.d.ts.map +1 -0
  135. package/dist/webhook.js +23 -0
  136. package/dist/webhook.js.map +1 -0
  137. package/dist/worker-streaming.d.ts +17 -0
  138. package/dist/worker-streaming.d.ts.map +1 -0
  139. package/dist/worker-streaming.js +510 -0
  140. package/dist/worker-streaming.js.map +1 -0
  141. package/dist/worker.d.ts +28 -0
  142. package/dist/worker.d.ts.map +1 -0
  143. package/dist/worker.js +559 -0
  144. package/dist/worker.js.map +1 -0
  145. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { KVClient } from "./kv.js";
2
+ /** Default TTL for command dedup entries: 7 days. Pass to CommandDedupOptions.ttlSeconds. */
3
+ export declare const DEFAULT_COMMAND_DEDUP_TTL_SECONDS = 604800;
4
+ export interface CommandDedupOptions {
5
+ /** TTL in seconds. Default: 604800 (7 days). Pass 0 for no expiry. */
6
+ ttlSeconds?: number;
7
+ }
8
+ /**
9
+ * Atomic command-level idempotency backed by NATS KV.
10
+ *
11
+ * Uses the claim-first pattern: TryClaim atomically reserves the commandId
12
+ * before any handler work is done. The winner returns null and proceeds.
13
+ * Losers receive the prior entry immediately without re-running the handler.
14
+ *
15
+ * Typical usage:
16
+ * ```typescript
17
+ * const prior = await dedup.tryClaim(commandId, { orderId, claimedAt: new Date().toISOString() });
18
+ * if (prior !== null) return prior; // duplicate — return cached result
19
+ * try {
20
+ * const result = await runHandler();
21
+ * await dedup.finalize(commandId, result);
22
+ * return result;
23
+ * } catch (err) {
24
+ * await dedup.release(commandId).catch(() => {});
25
+ * throw err;
26
+ * }
27
+ * ```
28
+ */
29
+ export declare class CommandDedup<T> {
30
+ private readonly kvClient;
31
+ private readonly bucketName;
32
+ private bucketReady;
33
+ private readonly ttlSeconds;
34
+ constructor(kvClient: KVClient, bucketName: string, ttlSeconds?: number);
35
+ private ensureBucket;
36
+ /**
37
+ * Atomically claim commandId. Returns null if this caller wins the race
38
+ * (proceed to run the handler). Returns the prior T if another caller
39
+ * already claimed this commandId (return it as the deduplicated response).
40
+ *
41
+ * The returned T may be the initial claim if the winner has not yet called
42
+ * finalize(). Design T with optional fields for data only available after
43
+ * finalize (e.g. `entityVersion?: number`).
44
+ */
45
+ tryClaim(commandId: string, claim: T): Promise<T | null>;
46
+ /**
47
+ * Finalize the claim with the handler's result. Subsequent callers that
48
+ * tryClaim the same commandId will receive this value.
49
+ */
50
+ finalize(commandId: string, result: T): Promise<void>;
51
+ /**
52
+ * Release the claim so retries can proceed after a handler failure.
53
+ * Swallows 404 (already released — idempotent).
54
+ *
55
+ * IMPORTANT: Only call release() in a catch block before finalize() succeeds.
56
+ * Calling release() after finalize() deletes the finalized result and allows
57
+ * replay of the command.
58
+ */
59
+ release(commandId: string): Promise<void>;
60
+ }
61
+ //# sourceMappingURL=command-dedup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dedup.d.ts","sourceRoot":"","sources":["../src/command-dedup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,6FAA6F;AAC7F,eAAO,MAAM,iCAAiC,SAAS,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAY,CAAC,CAAC;IAKvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EACnC,UAAU,CAAC,EAAE,MAAM;IAKrB,OAAO,CAAC,YAAY;IAoBpB;;;;;;;;OAQG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAqB9D;;;OAGG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D;;;;;;;OAOG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAShD"}
@@ -0,0 +1,129 @@
1
+ import { IronflowError } from "@ironflow/core";
2
+ /** Default TTL for command dedup entries: 7 days. Pass to CommandDedupOptions.ttlSeconds. */
3
+ export const DEFAULT_COMMAND_DEDUP_TTL_SECONDS = 604800;
4
+ function isHTTPCode(err, code) {
5
+ return err instanceof IronflowError && err.code === code;
6
+ }
7
+ function encodeKey(commandId) {
8
+ return encodeURIComponent(commandId);
9
+ }
10
+ function encodeValue(value) {
11
+ return JSON.stringify(value);
12
+ }
13
+ function decodeKVValue(base64) {
14
+ return JSON.parse(Buffer.from(base64, "base64").toString("utf8"));
15
+ }
16
+ /**
17
+ * Atomic command-level idempotency backed by NATS KV.
18
+ *
19
+ * Uses the claim-first pattern: TryClaim atomically reserves the commandId
20
+ * before any handler work is done. The winner returns null and proceeds.
21
+ * Losers receive the prior entry immediately without re-running the handler.
22
+ *
23
+ * Typical usage:
24
+ * ```typescript
25
+ * const prior = await dedup.tryClaim(commandId, { orderId, claimedAt: new Date().toISOString() });
26
+ * if (prior !== null) return prior; // duplicate — return cached result
27
+ * try {
28
+ * const result = await runHandler();
29
+ * await dedup.finalize(commandId, result);
30
+ * return result;
31
+ * } catch (err) {
32
+ * await dedup.release(commandId).catch(() => {});
33
+ * throw err;
34
+ * }
35
+ * ```
36
+ */
37
+ export class CommandDedup {
38
+ kvClient;
39
+ bucketName;
40
+ bucketReady = null;
41
+ ttlSeconds;
42
+ constructor(kvClient, bucketName, ttlSeconds) {
43
+ this.kvClient = kvClient;
44
+ this.bucketName = bucketName;
45
+ this.ttlSeconds = ttlSeconds ?? DEFAULT_COMMAND_DEDUP_TTL_SECONDS;
46
+ }
47
+ ensureBucket() {
48
+ if (!this.bucketReady) {
49
+ this.bucketReady = (async () => {
50
+ try {
51
+ await this.kvClient.createBucket({
52
+ name: this.bucketName,
53
+ ttlSeconds: this.ttlSeconds,
54
+ });
55
+ }
56
+ catch (e) {
57
+ if (!isHTTPCode(e, "HTTP_409")) {
58
+ this.bucketReady = null; // reset so the next call retries
59
+ throw e;
60
+ }
61
+ // 409 = bucket already exists — fine
62
+ }
63
+ })();
64
+ }
65
+ return this.bucketReady;
66
+ }
67
+ /**
68
+ * Atomically claim commandId. Returns null if this caller wins the race
69
+ * (proceed to run the handler). Returns the prior T if another caller
70
+ * already claimed this commandId (return it as the deduplicated response).
71
+ *
72
+ * The returned T may be the initial claim if the winner has not yet called
73
+ * finalize(). Design T with optional fields for data only available after
74
+ * finalize (e.g. `entityVersion?: number`).
75
+ */
76
+ async tryClaim(commandId, claim) {
77
+ await this.ensureBucket();
78
+ const key = encodeKey(commandId);
79
+ const bucket = this.kvClient.bucket(this.bucketName);
80
+ try {
81
+ await bucket.create(key, encodeValue(claim));
82
+ return null; // winner
83
+ }
84
+ catch (e) {
85
+ if (!isHTTPCode(e, "HTTP_412"))
86
+ throw e;
87
+ // loser — read winner's entry
88
+ try {
89
+ const entry = await bucket.get(key);
90
+ if (entry?.value == null)
91
+ return null;
92
+ return decodeKVValue(entry.value);
93
+ }
94
+ catch (readErr) {
95
+ if (isHTTPCode(readErr, "HTTP_404"))
96
+ return null; // concurrent delete race
97
+ throw readErr;
98
+ }
99
+ }
100
+ }
101
+ /**
102
+ * Finalize the claim with the handler's result. Subsequent callers that
103
+ * tryClaim the same commandId will receive this value.
104
+ */
105
+ async finalize(commandId, result) {
106
+ await this.ensureBucket();
107
+ await this.kvClient.bucket(this.bucketName).put(encodeKey(commandId), encodeValue(result));
108
+ }
109
+ /**
110
+ * Release the claim so retries can proceed after a handler failure.
111
+ * Swallows 404 (already released — idempotent).
112
+ *
113
+ * IMPORTANT: Only call release() in a catch block before finalize() succeeds.
114
+ * Calling release() after finalize() deletes the finalized result and allows
115
+ * replay of the command.
116
+ */
117
+ async release(commandId) {
118
+ await this.ensureBucket();
119
+ try {
120
+ await this.kvClient.bucket(this.bucketName).delete(encodeKey(commandId));
121
+ }
122
+ catch (e) {
123
+ if (isHTTPCode(e, "HTTP_404"))
124
+ return; // already released
125
+ throw e;
126
+ }
127
+ }
128
+ }
129
+ //# sourceMappingURL=command-dedup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-dedup.js","sourceRoot":"","sources":["../src/command-dedup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Ironflow Node.js Config Client
3
+ *
4
+ * Config management operations for the Ironflow server.
5
+ */
6
+ import type { ConfigResponse, ConfigEntry, ConfigSetResult, ConfigWatchEvent, ConfigWatchCallbacks, ConfigWatcher } from "@ironflow/core";
7
+ import type { OnErrorHandler } from "./types.js";
8
+ export type { ConfigWatchEvent, ConfigWatchCallbacks, ConfigWatcher };
9
+ /**
10
+ * Configuration for the config client (inherited from parent client).
11
+ */
12
+ export interface ConfigClientConfig {
13
+ serverUrl: string;
14
+ apiKey?: string;
15
+ timeout: number;
16
+ onError?: OnErrorHandler;
17
+ }
18
+ /**
19
+ * Node.js config client for config management operations.
20
+ */
21
+ export declare class ConfigClient {
22
+ private readonly config;
23
+ constructor(config: ConfigClientConfig);
24
+ /**
25
+ * Set a config (full document replacement).
26
+ */
27
+ set(name: string, data: Record<string, unknown>): Promise<ConfigSetResult>;
28
+ /**
29
+ * Get a config by name.
30
+ */
31
+ get(name: string): Promise<ConfigResponse>;
32
+ /**
33
+ * Patch a config (shallow merge).
34
+ */
35
+ patch(name: string, data: Record<string, unknown>): Promise<ConfigSetResult>;
36
+ /**
37
+ * List all configs.
38
+ */
39
+ list(): Promise<ConfigEntry[]>;
40
+ /**
41
+ * Delete a config. Idempotent — succeeds silently if the config does not exist.
42
+ */
43
+ delete(name: string): Promise<void>;
44
+ /**
45
+ * Watch a config for real-time changes via WebSocket.
46
+ *
47
+ * Connects to /api/v1/config/{name}/watch and delivers config_update events
48
+ * to the provided callbacks. Returns a ConfigWatcher with a stop() method
49
+ * to close the connection.
50
+ *
51
+ * The Node.js global WebSocket (available since Node 20) is used — no
52
+ * additional dependencies required.
53
+ */
54
+ watch(name: string, callbacks: ConfigWatchCallbacks): ConfigWatcher;
55
+ private callOnError;
56
+ private restRequest;
57
+ }
58
+ //# sourceMappingURL=config-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-client.d.ts","sourceRoot":"","sources":["../src/config-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAE/D,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,kBAAkB;IAEvD;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhF;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhD;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAIlF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAKpC;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,aAAa;YAgDrD,WAAW;YASX,WAAW;CAyD1B"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Ironflow Node.js Config Client
3
+ *
4
+ * Config management operations for the Ironflow server.
5
+ */
6
+ import { IronflowError, UnauthenticatedError, EnterpriseRequiredError, UnauthorizedError, } from "@ironflow/core";
7
+ /**
8
+ * Node.js config client for config management operations.
9
+ */
10
+ export class ConfigClient {
11
+ config;
12
+ constructor(config) {
13
+ this.config = config;
14
+ }
15
+ /**
16
+ * Set a config (full document replacement).
17
+ */
18
+ async set(name, data) {
19
+ return this.restRequest("POST", `/api/v1/config/${enc(name)}`, data, "config.set");
20
+ }
21
+ /**
22
+ * Get a config by name.
23
+ */
24
+ async get(name) {
25
+ return this.restRequest("GET", `/api/v1/config/${enc(name)}`, undefined, "config.get");
26
+ }
27
+ /**
28
+ * Patch a config (shallow merge).
29
+ */
30
+ async patch(name, data) {
31
+ return this.restRequest("PATCH", `/api/v1/config/${enc(name)}`, data, "config.patch");
32
+ }
33
+ /**
34
+ * List all configs.
35
+ */
36
+ async list() {
37
+ const result = await this.restRequest("GET", "/api/v1/config", undefined, "config.list");
38
+ return result.configs;
39
+ }
40
+ /**
41
+ * Delete a config. Idempotent — succeeds silently if the config does not exist.
42
+ */
43
+ async delete(name) {
44
+ await this.restRequest("DELETE", `/api/v1/config/${enc(name)}`, undefined, "config.delete");
45
+ }
46
+ /**
47
+ * Watch a config for real-time changes via WebSocket.
48
+ *
49
+ * Connects to /api/v1/config/{name}/watch and delivers config_update events
50
+ * to the provided callbacks. Returns a ConfigWatcher with a stop() method
51
+ * to close the connection.
52
+ *
53
+ * The Node.js global WebSocket (available since Node 20) is used — no
54
+ * additional dependencies required.
55
+ */
56
+ watch(name, callbacks) {
57
+ const serverUrl = this.config.serverUrl;
58
+ const wsUrl = serverUrl
59
+ .replace("https://", "wss://")
60
+ .replace("http://", "ws://");
61
+ const url = `${wsUrl}/api/v1/config/${enc(name)}/watch`;
62
+ const headers = {};
63
+ if (this.config.apiKey) {
64
+ headers["Authorization"] = `Bearer ${this.config.apiKey}`;
65
+ }
66
+ // Node 20+ supports the global WebSocket constructor with an options
67
+ // argument that accepts headers (unlike the browser API).
68
+ const ws = new WebSocket(url, { headers });
69
+ ws.onmessage = (event) => {
70
+ try {
71
+ const data = JSON.parse(event.data);
72
+ if (data.type === "config_update") {
73
+ callbacks.onUpdate(data);
74
+ }
75
+ else if (data.type === "error") {
76
+ const msg = data.message ?? "config watch error";
77
+ callbacks.onError?.(new Error(msg));
78
+ }
79
+ }
80
+ catch (err) {
81
+ callbacks.onError?.(err instanceof Error ? err : new Error(String(err)));
82
+ }
83
+ };
84
+ ws.onerror = () => {
85
+ callbacks.onError?.(new Error("config watch WebSocket error"));
86
+ };
87
+ ws.onclose = () => {
88
+ callbacks.onClose?.();
89
+ };
90
+ return {
91
+ stop: () => {
92
+ ws.close();
93
+ },
94
+ };
95
+ }
96
+ async callOnError(error, context) {
97
+ if (!this.config.onError)
98
+ return;
99
+ try {
100
+ await this.config.onError(error, context);
101
+ }
102
+ catch (callbackError) {
103
+ console.error("[ironflow] onError callback threw:", callbackError);
104
+ }
105
+ }
106
+ async restRequest(httpMethod, path, body, clientMethod) {
107
+ const url = `${this.config.serverUrl}${path}`;
108
+ const headers = {};
109
+ if (body !== undefined) {
110
+ headers["Content-Type"] = "application/json";
111
+ }
112
+ if (this.config.apiKey) {
113
+ headers["Authorization"] = `Bearer ${this.config.apiKey}`;
114
+ }
115
+ const controller = new AbortController();
116
+ const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);
117
+ let status;
118
+ try {
119
+ const response = await fetch(url, {
120
+ method: httpMethod,
121
+ headers,
122
+ body: body !== undefined ? JSON.stringify(body) : undefined,
123
+ signal: controller.signal,
124
+ });
125
+ status = response.status;
126
+ if (!response.ok) {
127
+ const errorBody = await response.text();
128
+ let errorMessage = `Config request failed with status ${response.status}`;
129
+ try {
130
+ const errorJson = JSON.parse(errorBody);
131
+ if (errorJson.error)
132
+ errorMessage = errorJson.error;
133
+ }
134
+ catch {
135
+ if (errorBody)
136
+ errorMessage = errorBody;
137
+ }
138
+ throwTypedError(response.status, errorMessage);
139
+ }
140
+ if (response.status === 204) {
141
+ return undefined;
142
+ }
143
+ return response.json();
144
+ }
145
+ catch (error) {
146
+ if (clientMethod) {
147
+ await this.callOnError(error, { method: clientMethod, endpoint: path, statusCode: status });
148
+ }
149
+ throw error;
150
+ }
151
+ finally {
152
+ clearTimeout(timeoutId);
153
+ }
154
+ }
155
+ }
156
+ function enc(s) {
157
+ return encodeURIComponent(s);
158
+ }
159
+ function throwTypedError(status, message) {
160
+ switch (status) {
161
+ case 401:
162
+ throw new UnauthenticatedError(message);
163
+ case 402:
164
+ throw new EnterpriseRequiredError(message);
165
+ case 403:
166
+ throw new UnauthorizedError(message);
167
+ default:
168
+ throw new IronflowError(message);
169
+ }
170
+ }
171
+ //# sourceMappingURL=config-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-client.js","sourceRoot":"","sources":["../src/config-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Function definition helper for Ironflow workflows
3
+ */
4
+ import type { FunctionConfig, FunctionHandler, IronflowFunction } from "@ironflow/core";
5
+ import type { z } from "zod";
6
+ /**
7
+ * Function definition helper with full type inference
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { ironflow } from "@ironflow/node";
12
+ * import { z } from "zod";
13
+ *
14
+ * const processOrder = ironflow.createFunction(
15
+ * {
16
+ * id: "process-order",
17
+ * triggers: [{ event: "order.placed" }],
18
+ * schema: z.object({
19
+ * orderId: z.string(),
20
+ * amount: z.number(),
21
+ * }),
22
+ * },
23
+ * async ({ event, step }) => {
24
+ * // event.data is typed as { orderId: string, amount: number }
25
+ * const result = await step.run("process", async () => {
26
+ * return { processed: true };
27
+ * });
28
+ * return result;
29
+ * }
30
+ * );
31
+ * ```
32
+ */
33
+ export declare function createFunction<TEventSchema extends z.ZodType = z.ZodType<unknown>, TResult = unknown>(config: FunctionConfig<TEventSchema>, handler: FunctionHandler<z.infer<TEventSchema>, TResult>): IronflowFunction<z.infer<TEventSchema>, TResult>;
34
+ /**
35
+ * Ironflow function factory singleton
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { ironflow } from "@ironflow/node";
40
+ *
41
+ * const myFunction = ironflow.createFunction(
42
+ * { id: "my-function", triggers: [{ event: "my.event" }] },
43
+ * async ({ event, step }) => {
44
+ * // ...
45
+ * }
46
+ * );
47
+ * ```
48
+ */
49
+ export declare const ironflow: {
50
+ createFunction: typeof createFunction;
51
+ };
52
+ export default ironflow;
53
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAC5B,YAAY,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EACnD,OAAO,GAAG,OAAO,EAEjB,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,EACpC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,GACvD,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CA4BlD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Function definition helper for Ironflow workflows
3
+ */
4
+ /**
5
+ * Function definition helper with full type inference
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { ironflow } from "@ironflow/node";
10
+ * import { z } from "zod";
11
+ *
12
+ * const processOrder = ironflow.createFunction(
13
+ * {
14
+ * id: "process-order",
15
+ * triggers: [{ event: "order.placed" }],
16
+ * schema: z.object({
17
+ * orderId: z.string(),
18
+ * amount: z.number(),
19
+ * }),
20
+ * },
21
+ * async ({ event, step }) => {
22
+ * // event.data is typed as { orderId: string, amount: number }
23
+ * const result = await step.run("process", async () => {
24
+ * return { processed: true };
25
+ * });
26
+ * return result;
27
+ * }
28
+ * );
29
+ * ```
30
+ */
31
+ export function createFunction(config, handler) {
32
+ if (config.cancelOn?.length) {
33
+ const seen = new Set();
34
+ config.cancelOn.forEach((spec, i) => {
35
+ if (!spec.event) {
36
+ throw new Error(`createFunction(${config.id}): cancelOn[${i}].event must be non-empty`);
37
+ }
38
+ if (!spec.match) {
39
+ throw new Error(`createFunction(${config.id}): cancelOn[${i}].match must be non-empty`);
40
+ }
41
+ const key = `${spec.event}|${spec.match}`;
42
+ if (seen.has(key)) {
43
+ throw new Error(`createFunction(${config.id}): cancelOn[${i}] duplicate spec (event="${spec.event}", match="${spec.match}")`);
44
+ }
45
+ seen.add(key);
46
+ });
47
+ }
48
+ return {
49
+ config,
50
+ handler,
51
+ };
52
+ }
53
+ /**
54
+ * Ironflow function factory singleton
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import { ironflow } from "@ironflow/node";
59
+ *
60
+ * const myFunction = ironflow.createFunction(
61
+ * { id: "my-function", triggers: [{ event: "my.event" }] },
62
+ * async ({ event, step }) => {
63
+ * // ...
64
+ * }
65
+ * );
66
+ * ```
67
+ */
68
+ export const ironflow = {
69
+ createFunction,
70
+ };
71
+ export default ironflow;
72
+ //# sourceMappingURL=function.js.map