@murphai/hosted-execution 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 (68) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +24 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/auth.d.ts +24 -0
  5. package/dist/auth.d.ts.map +1 -0
  6. package/dist/auth.js +85 -0
  7. package/dist/auth.js.map +1 -0
  8. package/dist/builders.d.ts +59 -0
  9. package/dist/builders.d.ts.map +1 -0
  10. package/dist/builders.js +104 -0
  11. package/dist/builders.js.map +1 -0
  12. package/dist/bundles.d.ts +14 -0
  13. package/dist/bundles.d.ts.map +1 -0
  14. package/dist/bundles.js +17 -0
  15. package/dist/bundles.js.map +1 -0
  16. package/dist/callback-hosts.d.ts +19 -0
  17. package/dist/callback-hosts.d.ts.map +1 -0
  18. package/dist/callback-hosts.js +19 -0
  19. package/dist/callback-hosts.js.map +1 -0
  20. package/dist/client.d.ts +26 -0
  21. package/dist/client.d.ts.map +1 -0
  22. package/dist/client.js +165 -0
  23. package/dist/client.js.map +1 -0
  24. package/dist/contracts.d.ts +252 -0
  25. package/dist/contracts.d.ts.map +1 -0
  26. package/dist/contracts.js +100 -0
  27. package/dist/contracts.js.map +1 -0
  28. package/dist/dispatch-ref.d.ts +17 -0
  29. package/dist/dispatch-ref.d.ts.map +1 -0
  30. package/dist/dispatch-ref.js +74 -0
  31. package/dist/dispatch-ref.js.map +1 -0
  32. package/dist/env.d.ts +46 -0
  33. package/dist/env.d.ts.map +1 -0
  34. package/dist/env.js +116 -0
  35. package/dist/env.js.map +1 -0
  36. package/dist/hosted-email.d.ts +15 -0
  37. package/dist/hosted-email.d.ts.map +1 -0
  38. package/dist/hosted-email.js +76 -0
  39. package/dist/hosted-email.js.map +1 -0
  40. package/dist/index.d.ts +16 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +16 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/observability.d.ts +65 -0
  45. package/dist/observability.d.ts.map +1 -0
  46. package/dist/observability.js +212 -0
  47. package/dist/observability.js.map +1 -0
  48. package/dist/outbox-payload.d.ts +21 -0
  49. package/dist/outbox-payload.d.ts.map +1 -0
  50. package/dist/outbox-payload.js +72 -0
  51. package/dist/outbox-payload.js.map +1 -0
  52. package/dist/parsers.d.ts +22 -0
  53. package/dist/parsers.d.ts.map +1 -0
  54. package/dist/parsers.js +537 -0
  55. package/dist/parsers.js.map +1 -0
  56. package/dist/routes.d.ts +9 -0
  57. package/dist/routes.d.ts.map +1 -0
  58. package/dist/routes.js +17 -0
  59. package/dist/routes.js.map +1 -0
  60. package/dist/side-effects.d.ts +59 -0
  61. package/dist/side-effects.d.ts.map +1 -0
  62. package/dist/side-effects.js +162 -0
  63. package/dist/side-effects.js.map +1 -0
  64. package/dist/web-control-plane.d.ts +105 -0
  65. package/dist/web-control-plane.d.ts.map +1 -0
  66. package/dist/web-control-plane.js +358 -0
  67. package/dist/web-control-plane.js.map +1 -0
  68. package/package.json +38 -0
@@ -0,0 +1,358 @@
1
+ import { HOSTED_EXECUTION_USER_ID_HEADER } from "./contracts.js";
2
+ import { HOSTED_EXECUTION_PROXY_HOSTS } from "./callback-hosts.js";
3
+ import { normalizeHostedExecutionBaseUrl } from "./env.js";
4
+ import { parseHostedExecutionDeviceSyncRuntimeApplyResponse, parseHostedExecutionDeviceSyncRuntimeSnapshotResponse, parseHostedExecutionSharePackResponse, } from "./parsers.js";
5
+ import { buildHostedExecutionSharePayloadPath, HOSTED_EXECUTION_AI_USAGE_RECORD_PATH, HOSTED_EXECUTION_DEVICE_SYNC_RUNTIME_APPLY_PATH, HOSTED_EXECUTION_DEVICE_SYNC_RUNTIME_SNAPSHOT_PATH, } from "./routes.js";
6
+ export function createHostedExecutionProxyDeviceSyncRuntimeClient(input) {
7
+ return buildHostedExecutionDeviceSyncRuntimeClient(createHostedExecutionProxyRequester({
8
+ baseUrl: input.baseUrl,
9
+ boundUserId: input.boundUserId,
10
+ fetchImpl: input.fetchImpl,
11
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.deviceSync,
12
+ timeoutMs: input.timeoutMs ?? null,
13
+ }), input.boundUserId);
14
+ }
15
+ export function createHostedExecutionServerDeviceSyncRuntimeClient(input) {
16
+ return buildHostedExecutionDeviceSyncRuntimeClient(createHostedExecutionServerRequester({
17
+ authorizationToken: input.internalToken,
18
+ baseUrl: input.baseUrl,
19
+ boundUserId: input.boundUserId,
20
+ fetchImpl: input.fetchImpl,
21
+ timeoutMs: input.timeoutMs ?? null,
22
+ }), input.boundUserId);
23
+ }
24
+ export function resolveHostedExecutionDeviceSyncRuntimeClient(input) {
25
+ const requester = resolveHostedExecutionUserBoundRequester({
26
+ authorizationToken: input.internalToken,
27
+ baseUrl: input.baseUrl,
28
+ boundUserId: input.boundUserId,
29
+ fetchImpl: input.fetchImpl,
30
+ isProxyBaseUrl: isHostedExecutionDeviceSyncProxyBaseUrl,
31
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.deviceSync,
32
+ timeoutMs: input.timeoutMs,
33
+ });
34
+ if (!requester) {
35
+ return null;
36
+ }
37
+ return buildHostedExecutionDeviceSyncRuntimeClient(requester, input.boundUserId);
38
+ }
39
+ export function createHostedExecutionProxySharePackClient(input) {
40
+ return buildHostedExecutionSharePackClient(createHostedExecutionProxyRequester({
41
+ baseUrl: input.baseUrl,
42
+ boundUserId: input.boundUserId,
43
+ fetchImpl: input.fetchImpl,
44
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.sharePack,
45
+ timeoutMs: input.timeoutMs ?? null,
46
+ }));
47
+ }
48
+ export function createHostedExecutionServerSharePackClient(input) {
49
+ return buildHostedExecutionSharePackClient(createHostedExecutionServerRequester({
50
+ authorizationToken: input.shareToken,
51
+ baseUrl: input.baseUrl,
52
+ boundUserId: input.boundUserId,
53
+ fetchImpl: input.fetchImpl,
54
+ timeoutMs: input.timeoutMs ?? null,
55
+ }));
56
+ }
57
+ export function resolveHostedExecutionSharePackClient(input) {
58
+ const requester = resolveHostedExecutionUserBoundRequester({
59
+ authorizationToken: input.shareToken,
60
+ baseUrl: input.baseUrl,
61
+ boundUserId: input.boundUserId,
62
+ fetchImpl: input.fetchImpl,
63
+ isProxyBaseUrl: isHostedExecutionSharePackProxyBaseUrl,
64
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.sharePack,
65
+ timeoutMs: input.timeoutMs,
66
+ });
67
+ if (!requester) {
68
+ return null;
69
+ }
70
+ return buildHostedExecutionSharePackClient(requester);
71
+ }
72
+ export function createHostedExecutionProxyAiUsageClient(input) {
73
+ return buildHostedExecutionAiUsageClient(createHostedExecutionProxyRequester({
74
+ baseUrl: input.baseUrl,
75
+ boundUserId: input.boundUserId,
76
+ fetchImpl: input.fetchImpl,
77
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.usage,
78
+ timeoutMs: input.timeoutMs ?? null,
79
+ }));
80
+ }
81
+ export function createHostedExecutionServerAiUsageClient(input) {
82
+ return buildHostedExecutionAiUsageClient(createHostedExecutionServerRequester({
83
+ authorizationToken: input.internalToken,
84
+ baseUrl: input.baseUrl,
85
+ boundUserId: input.boundUserId,
86
+ fetchImpl: input.fetchImpl,
87
+ timeoutMs: input.timeoutMs ?? null,
88
+ }));
89
+ }
90
+ export function resolveHostedExecutionAiUsageClient(input) {
91
+ const requester = resolveHostedExecutionUserBoundRequester({
92
+ authorizationToken: input.internalToken,
93
+ baseUrl: input.baseUrl,
94
+ boundUserId: input.boundUserId,
95
+ fetchImpl: input.fetchImpl,
96
+ isProxyBaseUrl: isHostedExecutionAiUsageProxyBaseUrl,
97
+ proxyHost: HOSTED_EXECUTION_PROXY_HOSTS.usage,
98
+ timeoutMs: input.timeoutMs,
99
+ });
100
+ if (!requester) {
101
+ return null;
102
+ }
103
+ return buildHostedExecutionAiUsageClient(requester);
104
+ }
105
+ export function isHostedExecutionDeviceSyncProxyBaseUrl(baseUrl) {
106
+ return isHostedWorkerProxyBaseUrl(baseUrl, HOSTED_EXECUTION_PROXY_HOSTS.deviceSync);
107
+ }
108
+ export function isHostedExecutionSharePackProxyBaseUrl(baseUrl) {
109
+ return isHostedWorkerProxyBaseUrl(baseUrl, HOSTED_EXECUTION_PROXY_HOSTS.sharePack);
110
+ }
111
+ export function isHostedExecutionAiUsageProxyBaseUrl(baseUrl) {
112
+ return isHostedWorkerProxyBaseUrl(baseUrl, HOSTED_EXECUTION_PROXY_HOSTS.usage);
113
+ }
114
+ function buildHostedExecutionDeviceSyncRuntimeClient(requester, boundUserId) {
115
+ return {
116
+ applyUpdates(input) {
117
+ return requester.requestJson({
118
+ body: {
119
+ ...(input.occurredAt ? { occurredAt: input.occurredAt } : {}),
120
+ updates: input.updates,
121
+ userId: boundUserId,
122
+ },
123
+ label: "Hosted device-sync runtime apply",
124
+ method: "POST",
125
+ parse: parseHostedExecutionDeviceSyncRuntimeApplyResponse,
126
+ path: HOSTED_EXECUTION_DEVICE_SYNC_RUNTIME_APPLY_PATH,
127
+ });
128
+ },
129
+ fetchSnapshot(input = {}) {
130
+ return requester.requestJson({
131
+ body: {
132
+ ...(input.connectionId ? { connectionId: input.connectionId } : {}),
133
+ ...(input.provider ? { provider: input.provider } : {}),
134
+ userId: boundUserId,
135
+ },
136
+ label: "Hosted device-sync runtime snapshot",
137
+ method: "POST",
138
+ parse: parseHostedExecutionDeviceSyncRuntimeSnapshotResponse,
139
+ path: HOSTED_EXECUTION_DEVICE_SYNC_RUNTIME_SNAPSHOT_PATH,
140
+ });
141
+ },
142
+ };
143
+ }
144
+ function buildHostedExecutionSharePackClient(requester) {
145
+ return {
146
+ fetchSharePack(share) {
147
+ return requester.requestJson({
148
+ body: {
149
+ shareCode: share.shareCode,
150
+ },
151
+ label: "Hosted share payload fetch",
152
+ method: "POST",
153
+ parse: parseHostedExecutionSharePackResponse,
154
+ path: buildHostedExecutionSharePayloadPath(share.shareId),
155
+ });
156
+ },
157
+ };
158
+ }
159
+ function buildHostedExecutionAiUsageClient(requester) {
160
+ return {
161
+ recordUsage(usage) {
162
+ return requester.requestJson({
163
+ body: {
164
+ usage: [...usage],
165
+ },
166
+ label: "Hosted AI usage record",
167
+ method: "POST",
168
+ parse: parseHostedExecutionAiUsageRecordResponse,
169
+ path: HOSTED_EXECUTION_AI_USAGE_RECORD_PATH,
170
+ });
171
+ },
172
+ };
173
+ }
174
+ function createHostedExecutionProxyRequester(input) {
175
+ return createHostedExecutionUserBoundRequester({
176
+ baseUrl: requireHostedExecutionWorkerProxyBaseUrl(input.baseUrl, input.proxyHost),
177
+ boundUserId: input.boundUserId,
178
+ fetchImpl: input.fetchImpl,
179
+ timeoutMs: input.timeoutMs ?? null,
180
+ });
181
+ }
182
+ function createHostedExecutionServerRequester(input) {
183
+ return createHostedExecutionUserBoundRequester({
184
+ authorizationToken: requireHostedExecutionAuthorizationToken(input.authorizationToken),
185
+ baseUrl: requireHostedExecutionWebControlBaseUrl(input.baseUrl),
186
+ boundUserId: input.boundUserId,
187
+ fetchImpl: input.fetchImpl,
188
+ timeoutMs: input.timeoutMs ?? null,
189
+ });
190
+ }
191
+ function resolveHostedExecutionUserBoundRequester(input) {
192
+ const { baseUrl } = input;
193
+ if (!baseUrl) {
194
+ return null;
195
+ }
196
+ if (input.isProxyBaseUrl(baseUrl)) {
197
+ return createHostedExecutionProxyRequester({
198
+ baseUrl,
199
+ boundUserId: input.boundUserId,
200
+ fetchImpl: input.fetchImpl,
201
+ proxyHost: input.proxyHost,
202
+ timeoutMs: input.timeoutMs ?? null,
203
+ });
204
+ }
205
+ if (!input.authorizationToken) {
206
+ return null;
207
+ }
208
+ return createHostedExecutionServerRequester({
209
+ authorizationToken: input.authorizationToken,
210
+ baseUrl,
211
+ boundUserId: input.boundUserId,
212
+ fetchImpl: input.fetchImpl,
213
+ timeoutMs: input.timeoutMs ?? null,
214
+ });
215
+ }
216
+ function createHostedExecutionUserBoundRequester(input) {
217
+ return {
218
+ requestJson(request) {
219
+ return requestHostedExecutionWebControlPlaneJson({
220
+ body: request.body,
221
+ boundUserId: input.boundUserId,
222
+ fetchImpl: input.fetchImpl,
223
+ label: request.label,
224
+ method: request.method,
225
+ parse: request.parse,
226
+ path: request.path,
227
+ timeoutMs: input.timeoutMs,
228
+ authorizationToken: input.authorizationToken ?? null,
229
+ url: input.baseUrl,
230
+ });
231
+ },
232
+ };
233
+ }
234
+ function parseHostedExecutionAiUsageRecordResponse(value) {
235
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
236
+ throw new TypeError("Hosted AI usage record response must be a JSON object.");
237
+ }
238
+ const recorded = value.recorded;
239
+ const usageIds = value.usageIds;
240
+ if (typeof recorded !== "number" || !Number.isInteger(recorded) || recorded < 0) {
241
+ throw new TypeError("Hosted AI usage record response recorded count must be a non-negative integer.");
242
+ }
243
+ if (!Array.isArray(usageIds) || usageIds.some((entry) => typeof entry !== "string")) {
244
+ throw new TypeError("Hosted AI usage record response usageIds must be a string array.");
245
+ }
246
+ return {
247
+ recorded,
248
+ usageIds: usageIds.slice(),
249
+ };
250
+ }
251
+ function requireHostedExecutionWebControlBaseUrl(value) {
252
+ const normalized = normalizeHostedExecutionBaseUrl(value, {
253
+ allowHttpHosts: Object.values(HOSTED_EXECUTION_PROXY_HOSTS),
254
+ allowHttpLocalhost: true,
255
+ });
256
+ if (!normalized) {
257
+ throw new TypeError("Hosted web control-plane baseUrl must be configured.");
258
+ }
259
+ return normalized;
260
+ }
261
+ function requireHostedExecutionWorkerProxyBaseUrl(value, proxyHost) {
262
+ const normalized = requireHostedExecutionWebControlBaseUrl(value);
263
+ if (!isHostedWorkerProxyBaseUrl(normalized, proxyHost)) {
264
+ throw new TypeError(`Hosted web control-plane baseUrl must target ${proxyHost}.`);
265
+ }
266
+ return normalized;
267
+ }
268
+ function requireHostedExecutionAuthorizationToken(value) {
269
+ const normalized = normalizeHostedExecutionAuthorizationToken(value);
270
+ if (!normalized) {
271
+ throw new TypeError("Hosted web control-plane authorization token must be configured.");
272
+ }
273
+ return normalized;
274
+ }
275
+ function normalizeHostedExecutionAuthorizationToken(value) {
276
+ if (typeof value !== "string") {
277
+ return null;
278
+ }
279
+ const normalized = value.trim();
280
+ return normalized.length > 0 ? normalized : null;
281
+ }
282
+ export async function fetchHostedExecutionWebControlPlaneResponse(input) {
283
+ const fetchImpl = input.fetchImpl ?? fetch;
284
+ const targetUrl = new URL(input.path.replace(/^\/+/u, ""), `${requireHostedExecutionWebControlBaseUrl(input.baseUrl)}/`);
285
+ if (input.search) {
286
+ targetUrl.search = input.search;
287
+ }
288
+ return fetchImpl(targetUrl.toString(), {
289
+ ...(input.body === undefined ? {} : { body: input.body }),
290
+ headers: buildHostedExecutionRequestHeaders({
291
+ authorizationToken: normalizeHostedExecutionAuthorizationToken(input.authorizationToken),
292
+ boundUserId: input.boundUserId,
293
+ withJsonContentType: input.body !== undefined,
294
+ }),
295
+ method: input.method,
296
+ redirect: "error",
297
+ signal: typeof input.timeoutMs === "number" ? AbortSignal.timeout(input.timeoutMs) : undefined,
298
+ });
299
+ }
300
+ async function requestHostedExecutionWebControlPlaneJson(input) {
301
+ const response = await fetchHostedExecutionWebControlPlaneResponse({
302
+ authorizationToken: input.authorizationToken,
303
+ baseUrl: input.url,
304
+ body: input.body === undefined ? undefined : JSON.stringify(input.body),
305
+ boundUserId: input.boundUserId,
306
+ fetchImpl: input.fetchImpl,
307
+ method: input.method,
308
+ path: input.path,
309
+ timeoutMs: input.timeoutMs,
310
+ });
311
+ const text = await response.text();
312
+ const payload = parseJsonBody(text);
313
+ if (!response.ok) {
314
+ throw new Error(`${input.label} failed with HTTP ${response.status}${formatHostedExecutionErrorSuffix(payload, text)}.`);
315
+ }
316
+ return input.parse(payload);
317
+ }
318
+ function parseJsonBody(text) {
319
+ if (!text.trim()) {
320
+ return null;
321
+ }
322
+ try {
323
+ return JSON.parse(text);
324
+ }
325
+ catch {
326
+ return null;
327
+ }
328
+ }
329
+ function formatHostedExecutionErrorSuffix(payload, text) {
330
+ if (payload && typeof payload === "object") {
331
+ const message = payload.message;
332
+ if (typeof message === "string" && message.trim().length > 0) {
333
+ return `: ${message.trim()}`;
334
+ }
335
+ }
336
+ const trimmed = text.trim();
337
+ return trimmed.length > 0 ? `: ${trimmed.slice(0, 500)}` : "";
338
+ }
339
+ function buildHostedExecutionRequestHeaders(input) {
340
+ const headers = new Headers();
341
+ headers.set(HOSTED_EXECUTION_USER_ID_HEADER, input.boundUserId);
342
+ if (input.authorizationToken) {
343
+ headers.set("authorization", `Bearer ${input.authorizationToken}`);
344
+ }
345
+ if (input.withJsonContentType) {
346
+ headers.set("content-type", "application/json");
347
+ }
348
+ return headers;
349
+ }
350
+ function isHostedWorkerProxyBaseUrl(baseUrl, hostname) {
351
+ try {
352
+ return new URL(baseUrl).hostname === hostname;
353
+ }
354
+ catch {
355
+ return false;
356
+ }
357
+ }
358
+ //# sourceMappingURL=web-control-plane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-control-plane.js","sourceRoot":"","sources":["../src/web-control-plane.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@murphai/hosted-execution",
3
+ "version": "0.1.1",
4
+ "private": false,
5
+ "type": "module",
6
+ "license": "GPL-3.0-only",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/cobuildwithus/murph"
13
+ },
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "default": "./dist/index.js"
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "README.md"
25
+ ],
26
+ "engines": {
27
+ "node": ">=22.16.0"
28
+ },
29
+ "dependencies": {
30
+ "@murphai/contracts": "0.1.1",
31
+ "@murphai/runtime-state": "0.1.1"
32
+ },
33
+ "scripts": {
34
+ "build": "node ../../scripts/rm-paths.mjs dist && tsc -b tsconfig.json",
35
+ "typecheck": "tsc -p tsconfig.json --noEmit --pretty false",
36
+ "test": "pnpm exec vitest run --config vitest.config.ts --no-coverage"
37
+ }
38
+ }