@ai-matrx/api 0.0.0-stage → 0.1.1

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 (146) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE +21 -0
  3. package/README.md +22 -2
  4. package/dist/account.cjs +670 -0
  5. package/dist/account.d.cts +3246 -0
  6. package/dist/account.d.ts +3246 -0
  7. package/dist/account.js +558 -0
  8. package/dist/agents.cjs +598 -0
  9. package/dist/agents.d.cts +3417 -0
  10. package/dist/agents.d.ts +3417 -0
  11. package/dist/agents.js +497 -0
  12. package/dist/ai.cjs +109 -0
  13. package/dist/ai.d.cts +493 -0
  14. package/dist/ai.d.ts +493 -0
  15. package/dist/ai.js +91 -0
  16. package/dist/apps.cjs +394 -0
  17. package/dist/apps.d.cts +1094 -0
  18. package/dist/apps.d.ts +1094 -0
  19. package/dist/apps.js +328 -0
  20. package/dist/architecture.cjs +1223 -0
  21. package/dist/architecture.d.cts +4701 -0
  22. package/dist/architecture.d.ts +4701 -0
  23. package/dist/architecture.js +1016 -0
  24. package/dist/audio.cjs +226 -0
  25. package/dist/audio.d.cts +723 -0
  26. package/dist/audio.d.ts +723 -0
  27. package/dist/audio.js +188 -0
  28. package/dist/chat.cjs +538 -0
  29. package/dist/chat.d.cts +2251 -0
  30. package/dist/chat.d.ts +2251 -0
  31. package/dist/chat.js +447 -0
  32. package/dist/chunk-2SXAAKGV.cjs +279 -0
  33. package/dist/chunk-5WJLKYH6.cjs +48 -0
  34. package/dist/chunk-FNIYADWI.cjs +59 -0
  35. package/dist/chunk-HER22VVH.cjs +1047 -0
  36. package/dist/chunk-KIEAFMKB.js +264 -0
  37. package/dist/chunk-TSHL7Z53.js +1012 -0
  38. package/dist/chunk-VTZKJMSY.js +43 -0
  39. package/dist/chunk-YTEOFGFC.js +57 -0
  40. package/dist/code.cjs +561 -0
  41. package/dist/code.d.cts +1976 -0
  42. package/dist/code.d.ts +1976 -0
  43. package/dist/code.js +467 -0
  44. package/dist/commerce.cjs +22 -0
  45. package/dist/commerce.d.cts +45 -0
  46. package/dist/commerce.d.ts +45 -0
  47. package/dist/commerce.js +18 -0
  48. package/dist/communications.cjs +215 -0
  49. package/dist/communications.d.cts +948 -0
  50. package/dist/communications.d.ts +948 -0
  51. package/dist/communications.js +179 -0
  52. package/dist/computer.cjs +330 -0
  53. package/dist/computer.d.cts +733 -0
  54. package/dist/computer.d.ts +733 -0
  55. package/dist/computer.js +275 -0
  56. package/dist/content.cjs +425 -0
  57. package/dist/content.d.cts +1796 -0
  58. package/dist/content.d.ts +1796 -0
  59. package/dist/content.js +354 -0
  60. package/dist/credentials.cjs +22 -0
  61. package/dist/credentials.d.cts +82 -0
  62. package/dist/credentials.d.ts +82 -0
  63. package/dist/credentials.js +1 -0
  64. package/dist/crm.cjs +271 -0
  65. package/dist/crm.d.cts +1731 -0
  66. package/dist/crm.d.ts +1731 -0
  67. package/dist/crm.js +226 -0
  68. package/dist/data.cjs +382 -0
  69. package/dist/data.d.cts +1860 -0
  70. package/dist/data.d.ts +1860 -0
  71. package/dist/data.js +318 -0
  72. package/dist/education.cjs +28 -0
  73. package/dist/education.d.cts +73 -0
  74. package/dist/education.d.ts +73 -0
  75. package/dist/education.js +23 -0
  76. package/dist/files.cjs +1330 -0
  77. package/dist/files.d.cts +4956 -0
  78. package/dist/files.d.ts +4956 -0
  79. package/dist/files.js +1104 -0
  80. package/dist/human-resources.cjs +178 -0
  81. package/dist/human-resources.d.cts +1208 -0
  82. package/dist/human-resources.d.ts +1208 -0
  83. package/dist/human-resources.js +148 -0
  84. package/dist/index-C2E-Cp19.d.ts +385 -0
  85. package/dist/index-wC2vtb70.d.cts +385 -0
  86. package/dist/index.cjs +2016 -0
  87. package/dist/index.d.cts +2069 -0
  88. package/dist/index.d.ts +2069 -0
  89. package/dist/index.js +1746 -0
  90. package/dist/integrations.cjs +5116 -0
  91. package/dist/integrations.d.cts +19213 -0
  92. package/dist/integrations.d.ts +19213 -0
  93. package/dist/integrations.js +4263 -0
  94. package/dist/intelligence.cjs +1305 -0
  95. package/dist/intelligence.d.cts +4658 -0
  96. package/dist/intelligence.d.ts +4658 -0
  97. package/dist/intelligence.js +1196 -0
  98. package/dist/knowledge.cjs +1113 -0
  99. package/dist/knowledge.d.cts +5427 -0
  100. package/dist/knowledge.d.ts +5427 -0
  101. package/dist/knowledge.js +921 -0
  102. package/dist/legal.cjs +225 -0
  103. package/dist/legal.d.cts +1038 -0
  104. package/dist/legal.d.ts +1038 -0
  105. package/dist/legal.js +187 -0
  106. package/dist/marketing.cjs +1155 -0
  107. package/dist/marketing.d.cts +7741 -0
  108. package/dist/marketing.d.ts +7741 -0
  109. package/dist/marketing.js +951 -0
  110. package/dist/masterwork.cjs +283 -0
  111. package/dist/masterwork.d.cts +1938 -0
  112. package/dist/masterwork.d.ts +1938 -0
  113. package/dist/masterwork.js +231 -0
  114. package/dist/media.cjs +610 -0
  115. package/dist/media.d.cts +2270 -0
  116. package/dist/media.d.ts +2270 -0
  117. package/dist/media.js +507 -0
  118. package/dist/net.cjs +67 -0
  119. package/dist/net.d.cts +204 -0
  120. package/dist/net.d.ts +204 -0
  121. package/dist/net.js +2 -0
  122. package/dist/platform.cjs +150 -0
  123. package/dist/platform.d.cts +572 -0
  124. package/dist/platform.d.ts +572 -0
  125. package/dist/platform.js +125 -0
  126. package/dist/publish.cjs +248 -0
  127. package/dist/publish.d.cts +1431 -0
  128. package/dist/publish.d.ts +1431 -0
  129. package/dist/publish.js +206 -0
  130. package/dist/schemas.cjs +2 -0
  131. package/dist/schemas.d.cts +1353 -0
  132. package/dist/schemas.d.ts +1353 -0
  133. package/dist/schemas.js +1 -0
  134. package/dist/stream.cjs +44 -0
  135. package/dist/stream.d.cts +2 -0
  136. package/dist/stream.d.ts +2 -0
  137. package/dist/stream.js +3 -0
  138. package/dist/web.cjs +1045 -0
  139. package/dist/web.d.cts +4186 -0
  140. package/dist/web.d.ts +4186 -0
  141. package/dist/web.js +867 -0
  142. package/dist/workflows.cjs +825 -0
  143. package/dist/workflows.d.cts +4699 -0
  144. package/dist/workflows.d.ts +4699 -0
  145. package/dist/workflows.js +686 -0
  146. package/package.json +419 -4
@@ -0,0 +1,264 @@
1
+ // src/net/errors.ts
2
+ var NetError = class extends Error {
3
+ code;
4
+ cause;
5
+ status;
6
+ retryable;
7
+ constructor(code, message, opts = {}) {
8
+ super(message);
9
+ this.name = "NetError";
10
+ this.code = code;
11
+ this.cause = opts.cause;
12
+ if (opts.status !== void 0) this.status = opts.status;
13
+ this.retryable = opts.retryable ?? false;
14
+ }
15
+ };
16
+ var ConnectTimeoutError = class extends NetError {
17
+ constructor(ms, cause) {
18
+ super("connect-timeout", `Connection timed out after ${ms}ms`, {
19
+ cause,
20
+ retryable: true
21
+ });
22
+ this.name = "ConnectTimeoutError";
23
+ }
24
+ };
25
+ var TotalTimeoutError = class extends NetError {
26
+ constructor(ms, cause) {
27
+ super("total-timeout", `Request exceeded ${ms}ms total budget`, {
28
+ cause,
29
+ retryable: false
30
+ });
31
+ this.name = "TotalTimeoutError";
32
+ }
33
+ };
34
+ var HeartbeatTimeoutError = class extends NetError {
35
+ constructor(ms, cause) {
36
+ super(
37
+ "heartbeat-timeout",
38
+ `No server activity for ${ms}ms \u2014 stream considered dead`,
39
+ { cause, retryable: false }
40
+ );
41
+ this.name = "HeartbeatTimeoutError";
42
+ }
43
+ };
44
+ var NetworkError = class extends NetError {
45
+ constructor(message, cause) {
46
+ super("network", message, { cause, retryable: true });
47
+ this.name = "NetworkError";
48
+ }
49
+ };
50
+ var HttpError = class extends NetError {
51
+ constructor(status, message, cause) {
52
+ const retryable = status === 408 || status === 429 || status >= 500;
53
+ super("http", message, { cause, status, retryable });
54
+ this.name = "HttpError";
55
+ }
56
+ };
57
+ var AbortedError = class extends NetError {
58
+ constructor(cause) {
59
+ super("aborted", "Request was aborted", { cause, retryable: false });
60
+ this.name = "AbortedError";
61
+ }
62
+ };
63
+ var OfflineError = class extends NetError {
64
+ constructor() {
65
+ super("offline", "Browser is offline", { retryable: true });
66
+ this.name = "OfflineError";
67
+ }
68
+ };
69
+ function isNetError(err) {
70
+ return err instanceof NetError;
71
+ }
72
+ function extractErrorMessage(err, fallback = "An unexpected error occurred") {
73
+ if (!err) return "Unknown error";
74
+ if (typeof err === "string") return err;
75
+ if (err instanceof Error) return err.message;
76
+ if (typeof err === "object") {
77
+ const e = err;
78
+ const parts = [];
79
+ if (typeof e.message === "string" && e.message) parts.push(e.message);
80
+ if (parts.length === 0) {
81
+ if (typeof e.detail === "string" && e.detail) parts.push(e.detail);
82
+ else if (e.detail && typeof e.detail === "object") {
83
+ const d = e.detail;
84
+ if (typeof d.message === "string" && d.message) parts.push(d.message);
85
+ }
86
+ }
87
+ if (typeof e.details === "string" && e.details) parts.push(e.details);
88
+ if (typeof e.hint === "string" && e.hint) parts.push(`Hint: ${e.hint}`);
89
+ if (typeof e.code === "string" && e.code) parts.push(`Code: ${e.code}`);
90
+ if (parts.length > 0) return parts.join(" \xB7 ");
91
+ const nested = extractNestedErrorMessage(e, 0);
92
+ if (nested !== null) return nested;
93
+ try {
94
+ const s = JSON.stringify(err);
95
+ if (s && s !== "{}") return s;
96
+ } catch {
97
+ }
98
+ }
99
+ return fallback;
100
+ }
101
+ function extractNestedErrorMessage(e, depth) {
102
+ if (depth > 4) return null;
103
+ for (const key of ["error", "exception", "cause"]) {
104
+ const value = e[key];
105
+ if (typeof value === "string" && value) return value;
106
+ if (value && typeof value === "object") {
107
+ const inner = value;
108
+ if (typeof inner.message === "string" && inner.message) return inner.message;
109
+ if (typeof inner.detail === "string" && inner.detail) return inner.detail;
110
+ const deeper = extractNestedErrorMessage(inner, depth + 1);
111
+ if (deeper !== null) return deeper;
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ function isTransportFailure(err) {
117
+ if (err instanceof NetworkError || err instanceof OfflineError) return true;
118
+ if (typeof navigator !== "undefined" && navigator.onLine === false) return true;
119
+ if (err instanceof TypeError) return true;
120
+ if (err && typeof err === "object") {
121
+ const e = err;
122
+ if (e.code || e.status) return false;
123
+ const text = `${typeof e.name === "string" ? e.name : ""} ${typeof e.message === "string" ? e.message : ""}`.toLowerCase();
124
+ return text.includes("failed to fetch") || text.includes("networkerror") || text.includes("network request failed") || text.includes("load failed") || // Safari's wording for the same condition
125
+ text.includes("upstream connect error or disconnect/reset before headers");
126
+ }
127
+ return false;
128
+ }
129
+ function toNetError(err) {
130
+ if (isNetError(err)) return err;
131
+ if (err instanceof DOMException && err.name === "AbortError") {
132
+ return new AbortedError(err);
133
+ }
134
+ if (err instanceof TypeError) {
135
+ return new NetworkError(err.message || "Network request failed", err);
136
+ }
137
+ return new NetError(
138
+ "unknown",
139
+ extractErrorMessage(err),
140
+ { cause: err }
141
+ );
142
+ }
143
+
144
+ // src/net/resilient-fetch.ts
145
+ var DEFAULTS = {
146
+ connectTimeoutMs: 15e3,
147
+ totalTimeoutMs: 12e4
148
+ };
149
+ function linkAbort(target, signal) {
150
+ if (signal.aborted) {
151
+ target.abort(signal.reason);
152
+ return () => {
153
+ };
154
+ }
155
+ const onAbort = () => target.abort(signal.reason);
156
+ signal.addEventListener("abort", onAbort, { once: true });
157
+ return () => signal.removeEventListener("abort", onAbort);
158
+ }
159
+ async function resilientFetch(url, init = {}, opts = {}) {
160
+ const connectTimeoutMs = opts.connectTimeoutMs ?? DEFAULTS.connectTimeoutMs;
161
+ const totalTimeoutMs = opts.totalTimeoutMs === void 0 ? DEFAULTS.totalTimeoutMs : opts.totalTimeoutMs;
162
+ const throwOnHttpError = opts.throwOnHttpError ?? true;
163
+ const controller = new AbortController();
164
+ const unlinkCaller = opts.signal ? linkAbort(controller, opts.signal) : () => {
165
+ };
166
+ let connectTimedOut = false;
167
+ let totalTimedOut = false;
168
+ const connectTimer = setTimeout(() => {
169
+ connectTimedOut = true;
170
+ controller.abort("connect-timeout");
171
+ }, connectTimeoutMs);
172
+ const totalTimer = totalTimeoutMs !== null ? setTimeout(() => {
173
+ totalTimedOut = true;
174
+ controller.abort("total-timeout");
175
+ }, totalTimeoutMs) : null;
176
+ try {
177
+ const response = await fetch(url, { ...init, signal: controller.signal });
178
+ clearTimeout(connectTimer);
179
+ if (totalTimer !== null) clearTimeout(totalTimer);
180
+ if (throwOnHttpError && !response.ok) {
181
+ throw new HttpError(
182
+ response.status,
183
+ `HTTP ${response.status} ${response.statusText}`
184
+ );
185
+ }
186
+ return { response, controller };
187
+ } catch (err) {
188
+ clearTimeout(connectTimer);
189
+ if (totalTimer !== null) clearTimeout(totalTimer);
190
+ if (connectTimedOut) throw new ConnectTimeoutError(connectTimeoutMs, err);
191
+ if (totalTimedOut)
192
+ throw new TotalTimeoutError(totalTimeoutMs, err);
193
+ if (err instanceof DOMException && err.name === "AbortError") {
194
+ throw new AbortedError(err);
195
+ }
196
+ if (opts.signal?.aborted) {
197
+ throw new AbortedError(err);
198
+ }
199
+ if (err instanceof TypeError) {
200
+ if (typeof navigator !== "undefined" && navigator.onLine === false) {
201
+ throw new OfflineError();
202
+ }
203
+ throw new NetworkError(err.message || "Network request failed", err);
204
+ }
205
+ if (err instanceof HttpError) throw err;
206
+ throw new NetworkError(extractErrorMessage(err), err);
207
+ } finally {
208
+ unlinkCaller();
209
+ }
210
+ }
211
+
212
+ // src/net/retry.ts
213
+ function defaultRetryOn(err) {
214
+ return isNetError(err) && err.retryable;
215
+ }
216
+ function sleep(ms, signal) {
217
+ return new Promise((resolve, reject) => {
218
+ const timer = setTimeout(() => {
219
+ resolve();
220
+ if (signal) signal.removeEventListener("abort", onAbort);
221
+ }, ms);
222
+ const onAbort = () => {
223
+ clearTimeout(timer);
224
+ reject(signal?.reason ?? new Error("Aborted"));
225
+ };
226
+ if (signal) {
227
+ if (signal.aborted) {
228
+ clearTimeout(timer);
229
+ reject(signal.reason);
230
+ } else {
231
+ signal.addEventListener("abort", onAbort, { once: true });
232
+ }
233
+ }
234
+ });
235
+ }
236
+ async function withRetry(fn, opts = {}) {
237
+ const attempts = Math.max(1, opts.attempts ?? 3);
238
+ const initialDelayMs = opts.initialDelayMs ?? 250;
239
+ const maxDelayMs = opts.maxDelayMs ?? 4e3;
240
+ const factor = opts.backoffFactor ?? 2;
241
+ const jitter = Math.max(0, Math.min(1, opts.jitter ?? 0.25));
242
+ const retryOn = opts.retryOn ?? defaultRetryOn;
243
+ let lastErr;
244
+ for (let attempt = 1; attempt <= attempts; attempt++) {
245
+ if (opts.signal?.aborted) throw opts.signal.reason;
246
+ try {
247
+ return await fn(attempt);
248
+ } catch (err) {
249
+ lastErr = err;
250
+ if (attempt === attempts || !retryOn(err)) throw err;
251
+ const base = Math.min(
252
+ maxDelayMs,
253
+ initialDelayMs * Math.pow(factor, attempt - 1)
254
+ );
255
+ const jitterAmount = base * jitter * (Math.random() * 2 - 1);
256
+ const delayMs = Math.max(0, Math.round(base + jitterAmount));
257
+ opts.onRetry?.(attempt, err, delayMs);
258
+ await sleep(delayMs, opts.signal);
259
+ }
260
+ }
261
+ throw lastErr;
262
+ }
263
+
264
+ export { AbortedError, ConnectTimeoutError, HeartbeatTimeoutError, HttpError, NetError, NetworkError, OfflineError, TotalTimeoutError, extractErrorMessage, isNetError, isTransportFailure, resilientFetch, toNetError, withRetry };