@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.
- package/LICENSE +674 -0
- package/README.md +24 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/auth.d.ts +24 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +85 -0
- package/dist/auth.js.map +1 -0
- package/dist/builders.d.ts +59 -0
- package/dist/builders.d.ts.map +1 -0
- package/dist/builders.js +104 -0
- package/dist/builders.js.map +1 -0
- package/dist/bundles.d.ts +14 -0
- package/dist/bundles.d.ts.map +1 -0
- package/dist/bundles.js +17 -0
- package/dist/bundles.js.map +1 -0
- package/dist/callback-hosts.d.ts +19 -0
- package/dist/callback-hosts.d.ts.map +1 -0
- package/dist/callback-hosts.js +19 -0
- package/dist/callback-hosts.js.map +1 -0
- package/dist/client.d.ts +26 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +165 -0
- package/dist/client.js.map +1 -0
- package/dist/contracts.d.ts +252 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +100 -0
- package/dist/contracts.js.map +1 -0
- package/dist/dispatch-ref.d.ts +17 -0
- package/dist/dispatch-ref.d.ts.map +1 -0
- package/dist/dispatch-ref.js +74 -0
- package/dist/dispatch-ref.js.map +1 -0
- package/dist/env.d.ts +46 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +116 -0
- package/dist/env.js.map +1 -0
- package/dist/hosted-email.d.ts +15 -0
- package/dist/hosted-email.d.ts.map +1 -0
- package/dist/hosted-email.js +76 -0
- package/dist/hosted-email.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/observability.d.ts +65 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +212 -0
- package/dist/observability.js.map +1 -0
- package/dist/outbox-payload.d.ts +21 -0
- package/dist/outbox-payload.d.ts.map +1 -0
- package/dist/outbox-payload.js +72 -0
- package/dist/outbox-payload.js.map +1 -0
- package/dist/parsers.d.ts +22 -0
- package/dist/parsers.d.ts.map +1 -0
- package/dist/parsers.js +537 -0
- package/dist/parsers.js.map +1 -0
- package/dist/routes.d.ts +9 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +17 -0
- package/dist/routes.js.map +1 -0
- package/dist/side-effects.d.ts +59 -0
- package/dist/side-effects.d.ts.map +1 -0
- package/dist/side-effects.js +162 -0
- package/dist/side-effects.js.map +1 -0
- package/dist/web-control-plane.d.ts +105 -0
- package/dist/web-control-plane.d.ts.map +1 -0
- package/dist/web-control-plane.js +358 -0
- package/dist/web-control-plane.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const HOSTED_EXECUTION_CALLBACK_HOSTS = {
|
|
2
|
+
artifacts: "artifacts.worker",
|
|
3
|
+
commit: "commit.worker",
|
|
4
|
+
email: "email.worker",
|
|
5
|
+
sideEffects: "side-effects.worker",
|
|
6
|
+
};
|
|
7
|
+
export const HOSTED_EXECUTION_PROXY_HOSTS = {
|
|
8
|
+
deviceSync: "device-sync.worker",
|
|
9
|
+
sharePack: "share-pack.worker",
|
|
10
|
+
usage: "usage.worker",
|
|
11
|
+
};
|
|
12
|
+
export const DEFAULT_HOSTED_EXECUTION_ARTIFACTS_BASE_URL = `http://${HOSTED_EXECUTION_CALLBACK_HOSTS.artifacts}`;
|
|
13
|
+
export const DEFAULT_HOSTED_EXECUTION_COMMIT_BASE_URL = `http://${HOSTED_EXECUTION_CALLBACK_HOSTS.commit}`;
|
|
14
|
+
export const DEFAULT_HOSTED_EXECUTION_DEVICE_SYNC_PROXY_BASE_URL = `http://${HOSTED_EXECUTION_PROXY_HOSTS.deviceSync}`;
|
|
15
|
+
export const DEFAULT_HOSTED_EXECUTION_EMAIL_BASE_URL = `http://${HOSTED_EXECUTION_CALLBACK_HOSTS.email}`;
|
|
16
|
+
export const DEFAULT_HOSTED_EXECUTION_SIDE_EFFECTS_BASE_URL = `http://${HOSTED_EXECUTION_CALLBACK_HOSTS.sideEffects}`;
|
|
17
|
+
export const DEFAULT_HOSTED_EXECUTION_SHARE_PACK_PROXY_BASE_URL = `http://${HOSTED_EXECUTION_PROXY_HOSTS.sharePack}`;
|
|
18
|
+
export const DEFAULT_HOSTED_EXECUTION_USAGE_PROXY_BASE_URL = `http://${HOSTED_EXECUTION_PROXY_HOSTS.usage}`;
|
|
19
|
+
//# sourceMappingURL=callback-hosts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback-hosts.js","sourceRoot":"","sources":["../src/callback-hosts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,qBAAqB;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,UAAU,EAAE,oBAAoB;IAChC,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,cAAc;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,2CAA2C,GACtD,UAAU,+BAA+B,CAAC,SAAS,EAAE,CAAC;AACxD,MAAM,CAAC,MAAM,wCAAwC,GACnD,UAAU,+BAA+B,CAAC,MAAM,EAAE,CAAC;AACrD,MAAM,CAAC,MAAM,mDAAmD,GAC9D,UAAU,4BAA4B,CAAC,UAAU,EAAE,CAAC;AACtD,MAAM,CAAC,MAAM,uCAAuC,GAClD,UAAU,+BAA+B,CAAC,KAAK,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,8CAA8C,GACzD,UAAU,+BAA+B,CAAC,WAAW,EAAE,CAAC;AAC1D,MAAM,CAAC,MAAM,kDAAkD,GAC7D,UAAU,4BAA4B,CAAC,SAAS,EAAE,CAAC;AACrD,MAAM,CAAC,MAAM,6CAA6C,GACxD,UAAU,4BAA4B,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HostedExecutionDispatchResult, HostedExecutionDispatchRequest, HostedExecutionUserEnvStatus, HostedExecutionUserEnvUpdate, HostedExecutionUserStatus } from "./contracts.ts";
|
|
2
|
+
export interface HostedExecutionDispatchClient {
|
|
3
|
+
dispatch(input: HostedExecutionDispatchRequest): Promise<HostedExecutionDispatchResult>;
|
|
4
|
+
}
|
|
5
|
+
export interface HostedExecutionDispatchClientOptions {
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
fetchImpl?: typeof fetch;
|
|
8
|
+
now?: () => string;
|
|
9
|
+
signingSecret: string;
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface HostedExecutionControlClient {
|
|
13
|
+
clearUserEnv(userId: string): Promise<HostedExecutionUserEnvStatus>;
|
|
14
|
+
getStatus(userId: string): Promise<HostedExecutionUserStatus>;
|
|
15
|
+
getUserEnvStatus(userId: string): Promise<HostedExecutionUserEnvStatus>;
|
|
16
|
+
run(userId: string): Promise<HostedExecutionUserStatus>;
|
|
17
|
+
updateUserEnv(userId: string, update: HostedExecutionUserEnvUpdate): Promise<HostedExecutionUserEnvStatus>;
|
|
18
|
+
}
|
|
19
|
+
export interface HostedExecutionControlClientOptions {
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
controlToken: string;
|
|
22
|
+
fetchImpl?: typeof fetch;
|
|
23
|
+
}
|
|
24
|
+
export declare function createHostedExecutionDispatchClient(options: HostedExecutionDispatchClientOptions): HostedExecutionDispatchClient;
|
|
25
|
+
export declare function createHostedExecutionControlClient(options: HostedExecutionControlClientOptions): HostedExecutionControlClient;
|
|
26
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,oCAAoC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACpE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACxE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxD,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,oCAAoC,GAC5C,6BAA6B,CAiC/B;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,4BAA4B,CAmF9B"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { createHostedExecutionSignatureHeaders } from "./auth.js";
|
|
2
|
+
import { normalizeHostedExecutionBaseUrl } from "./env.js";
|
|
3
|
+
import { parseHostedExecutionDispatchResult, parseHostedExecutionDispatchRequest, parseHostedExecutionUserEnvStatus, parseHostedExecutionUserEnvUpdate, parseHostedExecutionUserStatus, } from "./parsers.js";
|
|
4
|
+
import { buildHostedExecutionUserEnvPath, buildHostedExecutionUserRunPath, buildHostedExecutionUserStatusPath, HOSTED_EXECUTION_DISPATCH_PATH, } from "./routes.js";
|
|
5
|
+
export function createHostedExecutionDispatchClient(options) {
|
|
6
|
+
const baseUrl = requireHostedExecutionBaseUrl(options.baseUrl);
|
|
7
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
8
|
+
return {
|
|
9
|
+
async dispatch(input) {
|
|
10
|
+
const requestPayload = parseHostedExecutionDispatchRequest(input);
|
|
11
|
+
const payload = JSON.stringify(requestPayload);
|
|
12
|
+
const timestamp = options.now?.() ?? new Date().toISOString();
|
|
13
|
+
const signatureHeaders = await createHostedExecutionSignatureHeaders({
|
|
14
|
+
payload,
|
|
15
|
+
secret: options.signingSecret,
|
|
16
|
+
timestamp,
|
|
17
|
+
});
|
|
18
|
+
return requestHostedExecutionJson({
|
|
19
|
+
baseUrl,
|
|
20
|
+
fetchImpl,
|
|
21
|
+
label: "dispatch",
|
|
22
|
+
parse: parseHostedExecutionDispatchResult,
|
|
23
|
+
path: HOSTED_EXECUTION_DISPATCH_PATH,
|
|
24
|
+
request: {
|
|
25
|
+
body: payload,
|
|
26
|
+
headers: {
|
|
27
|
+
"content-type": "application/json; charset=utf-8",
|
|
28
|
+
...signatureHeaders,
|
|
29
|
+
},
|
|
30
|
+
method: "POST",
|
|
31
|
+
signal: resolveHostedExecutionTimeoutSignal(options.timeoutMs),
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function createHostedExecutionControlClient(options) {
|
|
38
|
+
const baseUrl = requireHostedExecutionBaseUrl(options.baseUrl);
|
|
39
|
+
const controlToken = requireHostedExecutionControlToken(options.controlToken);
|
|
40
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
41
|
+
const authenticatedHeaders = withHostedExecutionControlToken(undefined, controlToken);
|
|
42
|
+
const authenticatedJsonHeaders = withHostedExecutionControlToken({
|
|
43
|
+
"content-type": "application/json; charset=utf-8",
|
|
44
|
+
}, controlToken);
|
|
45
|
+
return {
|
|
46
|
+
clearUserEnv(userId) {
|
|
47
|
+
return requestHostedExecutionJson({
|
|
48
|
+
baseUrl,
|
|
49
|
+
fetchImpl,
|
|
50
|
+
label: "user env clear",
|
|
51
|
+
parse: parseHostedExecutionUserEnvStatus,
|
|
52
|
+
path: buildHostedExecutionUserEnvPath(userId),
|
|
53
|
+
request: {
|
|
54
|
+
headers: authenticatedHeaders,
|
|
55
|
+
method: "DELETE",
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
getStatus(userId) {
|
|
60
|
+
return requestHostedExecutionJson({
|
|
61
|
+
baseUrl,
|
|
62
|
+
fetchImpl,
|
|
63
|
+
label: "status",
|
|
64
|
+
parse: parseHostedExecutionUserStatus,
|
|
65
|
+
path: buildHostedExecutionUserStatusPath(userId),
|
|
66
|
+
request: {
|
|
67
|
+
headers: authenticatedHeaders,
|
|
68
|
+
method: "GET",
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
getUserEnvStatus(userId) {
|
|
73
|
+
return requestHostedExecutionJson({
|
|
74
|
+
baseUrl,
|
|
75
|
+
fetchImpl,
|
|
76
|
+
label: "user env status",
|
|
77
|
+
parse: parseHostedExecutionUserEnvStatus,
|
|
78
|
+
path: buildHostedExecutionUserEnvPath(userId),
|
|
79
|
+
request: {
|
|
80
|
+
headers: authenticatedHeaders,
|
|
81
|
+
method: "GET",
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
run(userId) {
|
|
86
|
+
return requestHostedExecutionJson({
|
|
87
|
+
baseUrl,
|
|
88
|
+
fetchImpl,
|
|
89
|
+
label: "manual run",
|
|
90
|
+
parse: parseHostedExecutionUserStatus,
|
|
91
|
+
path: buildHostedExecutionUserRunPath(userId),
|
|
92
|
+
request: {
|
|
93
|
+
body: JSON.stringify({}),
|
|
94
|
+
headers: authenticatedJsonHeaders,
|
|
95
|
+
method: "POST",
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
updateUserEnv(userId, update) {
|
|
100
|
+
const requestPayload = parseHostedExecutionUserEnvUpdate(update);
|
|
101
|
+
return requestHostedExecutionJson({
|
|
102
|
+
baseUrl,
|
|
103
|
+
fetchImpl,
|
|
104
|
+
label: "user env update",
|
|
105
|
+
parse: parseHostedExecutionUserEnvStatus,
|
|
106
|
+
path: buildHostedExecutionUserEnvPath(userId),
|
|
107
|
+
request: {
|
|
108
|
+
body: JSON.stringify(requestPayload),
|
|
109
|
+
headers: authenticatedJsonHeaders,
|
|
110
|
+
method: "PUT",
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function requireHostedExecutionBaseUrl(value) {
|
|
117
|
+
const normalized = normalizeHostedExecutionBaseUrl(value);
|
|
118
|
+
if (!normalized) {
|
|
119
|
+
throw new TypeError("Hosted execution baseUrl must be configured.");
|
|
120
|
+
}
|
|
121
|
+
return normalized;
|
|
122
|
+
}
|
|
123
|
+
function requireHostedExecutionControlToken(value) {
|
|
124
|
+
const normalized = normalizeHostedExecutionControlToken(value);
|
|
125
|
+
if (!normalized) {
|
|
126
|
+
throw new TypeError("Hosted execution controlToken must be configured.");
|
|
127
|
+
}
|
|
128
|
+
return normalized;
|
|
129
|
+
}
|
|
130
|
+
function normalizeHostedExecutionControlToken(value) {
|
|
131
|
+
if (typeof value !== "string") {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const normalized = value.trim();
|
|
135
|
+
return normalized.length > 0 ? normalized : null;
|
|
136
|
+
}
|
|
137
|
+
function resolveHostedExecutionTimeoutSignal(timeoutMs) {
|
|
138
|
+
return typeof timeoutMs === "number" ? AbortSignal.timeout(timeoutMs) : undefined;
|
|
139
|
+
}
|
|
140
|
+
async function requestHostedExecutionJson(input) {
|
|
141
|
+
const response = await input.fetchImpl(new URL(input.path.replace(/^\/+/u, ""), `${input.baseUrl}/`).toString(), input.request);
|
|
142
|
+
const text = await response.text();
|
|
143
|
+
const payload = parseHostedExecutionJsonPayload(text);
|
|
144
|
+
if (!response.ok) {
|
|
145
|
+
throw new Error(`Hosted execution ${input.label} failed with HTTP ${response.status}${text ? `: ${text.slice(0, 500)}` : ""}.`);
|
|
146
|
+
}
|
|
147
|
+
return input.parse(payload);
|
|
148
|
+
}
|
|
149
|
+
function withHostedExecutionControlToken(headers, controlToken) {
|
|
150
|
+
const nextHeaders = new Headers(headers);
|
|
151
|
+
nextHeaders.set("authorization", `Bearer ${controlToken}`);
|
|
152
|
+
return nextHeaders;
|
|
153
|
+
}
|
|
154
|
+
function parseHostedExecutionJsonPayload(text) {
|
|
155
|
+
if (!text.trim()) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
return JSON.parse(text);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import type { HostedExecutionBundleKind as RuntimeHostedExecutionBundleKind, HostedExecutionBundleRef as RuntimeHostedExecutionBundleRef } from "@murphai/runtime-state";
|
|
2
|
+
import type { HostedExecutionBundlePayloads, HostedExecutionBundleRefs } from "./bundles.ts";
|
|
3
|
+
import type { SharePack } from "@murphai/contracts";
|
|
4
|
+
import type { HostedExecutionRunContext, HostedExecutionRunStatus, HostedExecutionTimelineEntry } from "./observability.ts";
|
|
5
|
+
export declare const HOSTED_EXECUTION_SIGNATURE_HEADER = "x-hosted-execution-signature";
|
|
6
|
+
export declare const HOSTED_EXECUTION_TIMESTAMP_HEADER = "x-hosted-execution-timestamp";
|
|
7
|
+
export declare const HOSTED_EXECUTION_EVENT_KINDS: readonly ["member.activated", "linq.message.received", "telegram.message.received", "email.message.received", "assistant.cron.tick", "device-sync.wake", "vault.share.accepted", "gateway.message.send"];
|
|
8
|
+
export type HostedExecutionEventKind = (typeof HOSTED_EXECUTION_EVENT_KINDS)[number];
|
|
9
|
+
export interface HostedExecutionBaseEvent {
|
|
10
|
+
kind: HostedExecutionEventKind;
|
|
11
|
+
userId: string;
|
|
12
|
+
}
|
|
13
|
+
export interface HostedExecutionMemberActivatedEvent extends HostedExecutionBaseEvent {
|
|
14
|
+
kind: "member.activated";
|
|
15
|
+
}
|
|
16
|
+
export interface HostedExecutionLinqMessageReceivedEvent extends HostedExecutionBaseEvent {
|
|
17
|
+
kind: "linq.message.received";
|
|
18
|
+
linqEvent: Record<string, unknown>;
|
|
19
|
+
phoneLookupKey: string;
|
|
20
|
+
}
|
|
21
|
+
export interface HostedExecutionTelegramMessageReceivedEvent extends HostedExecutionBaseEvent {
|
|
22
|
+
botUserId: string | null;
|
|
23
|
+
kind: "telegram.message.received";
|
|
24
|
+
telegramUpdate: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface HostedExecutionEmailMessageReceivedEvent extends HostedExecutionBaseEvent {
|
|
27
|
+
kind: "email.message.received";
|
|
28
|
+
identityId: string;
|
|
29
|
+
rawMessageKey: string;
|
|
30
|
+
}
|
|
31
|
+
export interface HostedExecutionAssistantCronTickEvent extends HostedExecutionBaseEvent {
|
|
32
|
+
kind: "assistant.cron.tick";
|
|
33
|
+
reason: "alarm" | "manual" | "device-sync";
|
|
34
|
+
}
|
|
35
|
+
export interface HostedExecutionDeviceSyncJobHint {
|
|
36
|
+
availableAt?: string;
|
|
37
|
+
dedupeKey?: string | null;
|
|
38
|
+
kind: string;
|
|
39
|
+
maxAttempts?: number;
|
|
40
|
+
payload?: Record<string, unknown>;
|
|
41
|
+
priority?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface HostedExecutionDeviceSyncWakeHint {
|
|
44
|
+
eventType?: string | null;
|
|
45
|
+
jobs?: HostedExecutionDeviceSyncJobHint[];
|
|
46
|
+
nextReconcileAt?: string | null;
|
|
47
|
+
occurredAt?: string | null;
|
|
48
|
+
reason?: string | null;
|
|
49
|
+
resourceCategory?: string | null;
|
|
50
|
+
revokeWarning?: {
|
|
51
|
+
code: string;
|
|
52
|
+
message: string;
|
|
53
|
+
} | null;
|
|
54
|
+
scopes?: string[];
|
|
55
|
+
traceId?: string | null;
|
|
56
|
+
}
|
|
57
|
+
export interface HostedExecutionDeviceSyncWakeEvent extends HostedExecutionBaseEvent {
|
|
58
|
+
connectionId?: string | null;
|
|
59
|
+
hint?: HostedExecutionDeviceSyncWakeHint | null;
|
|
60
|
+
kind: "device-sync.wake";
|
|
61
|
+
provider?: string | null;
|
|
62
|
+
reason: "connected" | "webhook_hint" | "disconnected" | "reauthorization_required";
|
|
63
|
+
}
|
|
64
|
+
export interface HostedExecutionShareReference {
|
|
65
|
+
shareCode: string;
|
|
66
|
+
shareId: string;
|
|
67
|
+
}
|
|
68
|
+
export interface HostedExecutionVaultShareAcceptedEvent extends HostedExecutionBaseEvent {
|
|
69
|
+
kind: "vault.share.accepted";
|
|
70
|
+
share: HostedExecutionShareReference;
|
|
71
|
+
}
|
|
72
|
+
export interface HostedExecutionGatewayMessageSendEvent extends HostedExecutionBaseEvent {
|
|
73
|
+
clientRequestId: string | null;
|
|
74
|
+
kind: "gateway.message.send";
|
|
75
|
+
replyToMessageId: string | null;
|
|
76
|
+
sessionKey: string;
|
|
77
|
+
text: string;
|
|
78
|
+
}
|
|
79
|
+
export type HostedExecutionEvent = HostedExecutionMemberActivatedEvent | HostedExecutionLinqMessageReceivedEvent | HostedExecutionTelegramMessageReceivedEvent | HostedExecutionEmailMessageReceivedEvent | HostedExecutionAssistantCronTickEvent | HostedExecutionDeviceSyncWakeEvent | HostedExecutionVaultShareAcceptedEvent | HostedExecutionGatewayMessageSendEvent;
|
|
80
|
+
export interface HostedExecutionDispatchRequest {
|
|
81
|
+
event: HostedExecutionEvent;
|
|
82
|
+
eventId: string;
|
|
83
|
+
occurredAt: string;
|
|
84
|
+
}
|
|
85
|
+
export type HostedExecutionBundleKind = RuntimeHostedExecutionBundleKind;
|
|
86
|
+
export interface HostedExecutionRunnerRequest {
|
|
87
|
+
bundles: HostedExecutionBundlePayloads;
|
|
88
|
+
dispatch: HostedExecutionDispatchRequest;
|
|
89
|
+
run?: HostedExecutionRunContext | null;
|
|
90
|
+
}
|
|
91
|
+
export interface HostedExecutionRunnerResult {
|
|
92
|
+
bundles: HostedExecutionBundlePayloads;
|
|
93
|
+
result: {
|
|
94
|
+
eventsHandled: number;
|
|
95
|
+
nextWakeAt?: string | null;
|
|
96
|
+
summary: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export type HostedExecutionBundleRef = RuntimeHostedExecutionBundleRef;
|
|
100
|
+
export interface HostedExecutionUserStatus {
|
|
101
|
+
backpressuredEventIds?: string[];
|
|
102
|
+
bundleRefs: HostedExecutionBundleRefs;
|
|
103
|
+
inFlight: boolean;
|
|
104
|
+
lastError: string | null;
|
|
105
|
+
lastErrorAt?: string | null;
|
|
106
|
+
lastErrorCode?: string | null;
|
|
107
|
+
lastEventId: string | null;
|
|
108
|
+
lastRunAt: string | null;
|
|
109
|
+
nextWakeAt: string | null;
|
|
110
|
+
pendingEventCount: number;
|
|
111
|
+
poisonedEventIds: string[];
|
|
112
|
+
run?: HostedExecutionRunStatus | null;
|
|
113
|
+
retryingEventId: string | null;
|
|
114
|
+
timeline?: HostedExecutionTimelineEntry[];
|
|
115
|
+
userId: string;
|
|
116
|
+
}
|
|
117
|
+
export declare const HOSTED_EXECUTION_EVENT_DISPATCH_STATES: readonly ["queued", "duplicate_pending", "duplicate_consumed", "backpressured", "completed", "poisoned"];
|
|
118
|
+
export type HostedExecutionEventDispatchState = (typeof HOSTED_EXECUTION_EVENT_DISPATCH_STATES)[number];
|
|
119
|
+
export interface HostedExecutionEventDispatchStatus {
|
|
120
|
+
eventId: string;
|
|
121
|
+
lastError: string | null;
|
|
122
|
+
state: HostedExecutionEventDispatchState;
|
|
123
|
+
userId: string;
|
|
124
|
+
}
|
|
125
|
+
export interface HostedExecutionDispatchResult {
|
|
126
|
+
event: HostedExecutionEventDispatchStatus;
|
|
127
|
+
status: HostedExecutionUserStatus;
|
|
128
|
+
}
|
|
129
|
+
export interface HostedExecutionUserEnvStatus {
|
|
130
|
+
configuredUserEnvKeys: string[];
|
|
131
|
+
userId: string;
|
|
132
|
+
}
|
|
133
|
+
export interface HostedExecutionUserEnvUpdate {
|
|
134
|
+
env: Record<string, string | null>;
|
|
135
|
+
mode: "merge" | "replace";
|
|
136
|
+
}
|
|
137
|
+
export declare const HOSTED_EXECUTION_USER_ID_HEADER = "x-hosted-execution-user-id";
|
|
138
|
+
export declare const HOSTED_EXECUTION_RUNNER_PROXY_TOKEN_HEADER = "x-hosted-execution-runner-proxy-token";
|
|
139
|
+
export interface HostedExecutionSharePackResponse {
|
|
140
|
+
pack: SharePack;
|
|
141
|
+
shareId: string;
|
|
142
|
+
}
|
|
143
|
+
export interface HostedExecutionDeviceSyncRuntimeTokenBundle {
|
|
144
|
+
accessToken: string;
|
|
145
|
+
accessTokenExpiresAt: string | null;
|
|
146
|
+
keyVersion: string;
|
|
147
|
+
refreshToken: string | null;
|
|
148
|
+
tokenVersion: number;
|
|
149
|
+
}
|
|
150
|
+
export interface HostedExecutionDeviceSyncRuntimeConnectionStateSnapshot {
|
|
151
|
+
accessTokenExpiresAt: string | null;
|
|
152
|
+
connectedAt: string;
|
|
153
|
+
createdAt: string;
|
|
154
|
+
displayName: string | null;
|
|
155
|
+
externalAccountId: string;
|
|
156
|
+
id: string;
|
|
157
|
+
metadata: Record<string, unknown>;
|
|
158
|
+
provider: string;
|
|
159
|
+
scopes: string[];
|
|
160
|
+
status: "active" | "reauthorization_required" | "disconnected";
|
|
161
|
+
updatedAt?: string;
|
|
162
|
+
}
|
|
163
|
+
export interface HostedExecutionDeviceSyncRuntimeLocalStateSnapshot {
|
|
164
|
+
lastErrorCode: string | null;
|
|
165
|
+
lastErrorMessage: string | null;
|
|
166
|
+
lastSyncCompletedAt: string | null;
|
|
167
|
+
lastSyncErrorAt: string | null;
|
|
168
|
+
lastSyncStartedAt: string | null;
|
|
169
|
+
lastWebhookAt: string | null;
|
|
170
|
+
nextReconcileAt: string | null;
|
|
171
|
+
}
|
|
172
|
+
export interface HostedExecutionDeviceSyncRuntimeConnectionSnapshot {
|
|
173
|
+
connection: HostedExecutionDeviceSyncRuntimeConnectionStateSnapshot;
|
|
174
|
+
localState: HostedExecutionDeviceSyncRuntimeLocalStateSnapshot;
|
|
175
|
+
tokenBundle: HostedExecutionDeviceSyncRuntimeTokenBundle | null;
|
|
176
|
+
}
|
|
177
|
+
export interface HostedExecutionDeviceSyncRuntimeSnapshotRequest {
|
|
178
|
+
connectionId?: string | null;
|
|
179
|
+
provider?: string | null;
|
|
180
|
+
userId: string;
|
|
181
|
+
}
|
|
182
|
+
export interface HostedExecutionDeviceSyncRuntimeSnapshotResponse {
|
|
183
|
+
connections: HostedExecutionDeviceSyncRuntimeConnectionSnapshot[];
|
|
184
|
+
generatedAt: string;
|
|
185
|
+
userId: string;
|
|
186
|
+
}
|
|
187
|
+
export interface HostedExecutionDeviceSyncRuntimeConnectionStateUpdate {
|
|
188
|
+
displayName?: string | null;
|
|
189
|
+
metadata?: Record<string, unknown>;
|
|
190
|
+
scopes?: string[];
|
|
191
|
+
status?: "active" | "reauthorization_required" | "disconnected";
|
|
192
|
+
}
|
|
193
|
+
export interface HostedExecutionDeviceSyncRuntimeLocalStateUpdate {
|
|
194
|
+
clearError?: boolean;
|
|
195
|
+
lastErrorCode?: string | null;
|
|
196
|
+
lastErrorMessage?: string | null;
|
|
197
|
+
lastSyncCompletedAt?: string | null;
|
|
198
|
+
lastSyncErrorAt?: string | null;
|
|
199
|
+
lastSyncStartedAt?: string | null;
|
|
200
|
+
lastWebhookAt?: string | null;
|
|
201
|
+
nextReconcileAt?: string | null;
|
|
202
|
+
}
|
|
203
|
+
export interface HostedExecutionDeviceSyncRuntimeConnectionUpdate {
|
|
204
|
+
connectionId: string;
|
|
205
|
+
connection?: HostedExecutionDeviceSyncRuntimeConnectionStateUpdate;
|
|
206
|
+
localState?: HostedExecutionDeviceSyncRuntimeLocalStateUpdate;
|
|
207
|
+
observedUpdatedAt?: string | null;
|
|
208
|
+
observedTokenVersion?: number | null;
|
|
209
|
+
tokenBundle?: HostedExecutionDeviceSyncRuntimeTokenBundle | null;
|
|
210
|
+
}
|
|
211
|
+
export interface HostedExecutionDeviceSyncRuntimeApplyRequest {
|
|
212
|
+
occurredAt?: string | null;
|
|
213
|
+
updates: HostedExecutionDeviceSyncRuntimeConnectionUpdate[];
|
|
214
|
+
userId: string;
|
|
215
|
+
}
|
|
216
|
+
export interface HostedExecutionDeviceSyncRuntimeApplyEntry {
|
|
217
|
+
connection: HostedExecutionDeviceSyncRuntimeConnectionSnapshot["connection"] | null;
|
|
218
|
+
connectionId: string;
|
|
219
|
+
status: "missing" | "updated";
|
|
220
|
+
tokenUpdate: "applied" | "cleared" | "missing" | "skipped_version_mismatch" | "unchanged";
|
|
221
|
+
}
|
|
222
|
+
export interface HostedExecutionDeviceSyncRuntimeApplyResponse {
|
|
223
|
+
appliedAt: string;
|
|
224
|
+
updates: HostedExecutionDeviceSyncRuntimeApplyEntry[];
|
|
225
|
+
userId: string;
|
|
226
|
+
}
|
|
227
|
+
export interface HostedExecutionDispatchStateSnapshot {
|
|
228
|
+
backpressured: boolean;
|
|
229
|
+
consumed: boolean;
|
|
230
|
+
lastError: string | null;
|
|
231
|
+
pending: boolean;
|
|
232
|
+
poisoned: boolean;
|
|
233
|
+
}
|
|
234
|
+
export declare const HOSTED_EXECUTION_DISPATCH_NOT_CONFIGURED_ERROR = "Hosted execution dispatch is not configured.";
|
|
235
|
+
export declare const HOSTED_EXECUTION_DISPATCH_LIFECYCLE_STATUSES: readonly ["pending", "accepted", "completed", "failed"];
|
|
236
|
+
export type HostedExecutionDispatchLifecycleStatus = (typeof HOSTED_EXECUTION_DISPATCH_LIFECYCLE_STATUSES)[number];
|
|
237
|
+
export interface HostedExecutionDispatchLifecycle {
|
|
238
|
+
lastError: string | null;
|
|
239
|
+
status: HostedExecutionDispatchLifecycleStatus;
|
|
240
|
+
}
|
|
241
|
+
export declare function resolveHostedExecutionDispatchOutcomeState(input: {
|
|
242
|
+
initialState: HostedExecutionDispatchStateSnapshot;
|
|
243
|
+
nextState: HostedExecutionDispatchStateSnapshot;
|
|
244
|
+
}): HostedExecutionDispatchResult["event"]["state"];
|
|
245
|
+
export declare function resolveHostedExecutionDispatchLifecycle(dispatchResult: HostedExecutionDispatchResult): HostedExecutionDispatchLifecycle;
|
|
246
|
+
export declare function resolveHostedDeviceSyncWakeContext(event: HostedExecutionDeviceSyncWakeEvent): {
|
|
247
|
+
connectionId: string | null;
|
|
248
|
+
hint: HostedExecutionDeviceSyncWakeEvent["hint"];
|
|
249
|
+
provider: string | null;
|
|
250
|
+
};
|
|
251
|
+
export declare function normalizeHostedDeviceSyncJobHints(value: HostedExecutionDeviceSyncWakeEvent["hint"]): HostedExecutionDeviceSyncJobHint[];
|
|
252
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export const HOSTED_EXECUTION_SIGNATURE_HEADER = "x-hosted-execution-signature";
|
|
2
|
+
export const HOSTED_EXECUTION_TIMESTAMP_HEADER = "x-hosted-execution-timestamp";
|
|
3
|
+
export const HOSTED_EXECUTION_EVENT_KINDS = [
|
|
4
|
+
"member.activated",
|
|
5
|
+
"linq.message.received",
|
|
6
|
+
"telegram.message.received",
|
|
7
|
+
"email.message.received",
|
|
8
|
+
"assistant.cron.tick",
|
|
9
|
+
"device-sync.wake",
|
|
10
|
+
"vault.share.accepted",
|
|
11
|
+
"gateway.message.send",
|
|
12
|
+
];
|
|
13
|
+
export const HOSTED_EXECUTION_EVENT_DISPATCH_STATES = [
|
|
14
|
+
"queued",
|
|
15
|
+
"duplicate_pending",
|
|
16
|
+
"duplicate_consumed",
|
|
17
|
+
"backpressured",
|
|
18
|
+
"completed",
|
|
19
|
+
"poisoned",
|
|
20
|
+
];
|
|
21
|
+
export const HOSTED_EXECUTION_USER_ID_HEADER = "x-hosted-execution-user-id";
|
|
22
|
+
export const HOSTED_EXECUTION_RUNNER_PROXY_TOKEN_HEADER = "x-hosted-execution-runner-proxy-token";
|
|
23
|
+
export const HOSTED_EXECUTION_DISPATCH_NOT_CONFIGURED_ERROR = "Hosted execution dispatch is not configured.";
|
|
24
|
+
export const HOSTED_EXECUTION_DISPATCH_LIFECYCLE_STATUSES = [
|
|
25
|
+
"pending",
|
|
26
|
+
"accepted",
|
|
27
|
+
"completed",
|
|
28
|
+
"failed",
|
|
29
|
+
];
|
|
30
|
+
export function resolveHostedExecutionDispatchOutcomeState(input) {
|
|
31
|
+
if (input.nextState.poisoned) {
|
|
32
|
+
return "poisoned";
|
|
33
|
+
}
|
|
34
|
+
if (input.nextState.backpressured) {
|
|
35
|
+
return "backpressured";
|
|
36
|
+
}
|
|
37
|
+
if (input.initialState.consumed) {
|
|
38
|
+
return "duplicate_consumed";
|
|
39
|
+
}
|
|
40
|
+
if (input.initialState.pending) {
|
|
41
|
+
return "duplicate_pending";
|
|
42
|
+
}
|
|
43
|
+
if (input.nextState.consumed) {
|
|
44
|
+
return "completed";
|
|
45
|
+
}
|
|
46
|
+
return "queued";
|
|
47
|
+
}
|
|
48
|
+
export function resolveHostedExecutionDispatchLifecycle(dispatchResult) {
|
|
49
|
+
const { event, status, } = dispatchResult;
|
|
50
|
+
switch (event.state) {
|
|
51
|
+
case "completed":
|
|
52
|
+
case "duplicate_consumed":
|
|
53
|
+
return {
|
|
54
|
+
lastError: null,
|
|
55
|
+
status: "completed",
|
|
56
|
+
};
|
|
57
|
+
case "poisoned":
|
|
58
|
+
return {
|
|
59
|
+
lastError: event.lastError ?? status.lastError ?? "Hosted execution event was poisoned.",
|
|
60
|
+
status: "failed",
|
|
61
|
+
};
|
|
62
|
+
case "backpressured":
|
|
63
|
+
return {
|
|
64
|
+
lastError: event.lastError ?? status.lastError,
|
|
65
|
+
status: "pending",
|
|
66
|
+
};
|
|
67
|
+
case "queued":
|
|
68
|
+
case "duplicate_pending":
|
|
69
|
+
return {
|
|
70
|
+
lastError: status.lastError === HOSTED_EXECUTION_DISPATCH_NOT_CONFIGURED_ERROR
|
|
71
|
+
? status.lastError
|
|
72
|
+
: event.lastError ?? status.lastError,
|
|
73
|
+
status: status.lastError === HOSTED_EXECUTION_DISPATCH_NOT_CONFIGURED_ERROR
|
|
74
|
+
? "pending"
|
|
75
|
+
: "accepted",
|
|
76
|
+
};
|
|
77
|
+
default:
|
|
78
|
+
return event.state;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function resolveHostedDeviceSyncWakeContext(event) {
|
|
82
|
+
return {
|
|
83
|
+
connectionId: event.connectionId ?? null,
|
|
84
|
+
hint: event.hint ?? null,
|
|
85
|
+
provider: event.provider ?? null,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export function normalizeHostedDeviceSyncJobHints(value) {
|
|
89
|
+
return Array.isArray(value?.jobs)
|
|
90
|
+
? value.jobs.map((job) => ({
|
|
91
|
+
kind: job.kind,
|
|
92
|
+
...(job.availableAt ? { availableAt: job.availableAt } : {}),
|
|
93
|
+
...(job.dedupeKey !== undefined ? { dedupeKey: job.dedupeKey ?? null } : {}),
|
|
94
|
+
...(typeof job.maxAttempts === "number" ? { maxAttempts: job.maxAttempts } : {}),
|
|
95
|
+
...(job.payload ? { payload: { ...job.payload } } : {}),
|
|
96
|
+
...(typeof job.priority === "number" ? { priority: job.priority } : {}),
|
|
97
|
+
}))
|
|
98
|
+
: [];
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HostedExecutionDispatchRequest, HostedExecutionEventKind, HostedExecutionShareReference } from "./contracts.ts";
|
|
2
|
+
export interface HostedExecutionDispatchRef {
|
|
3
|
+
eventId: string;
|
|
4
|
+
eventKind: HostedExecutionEventKind;
|
|
5
|
+
occurredAt: string;
|
|
6
|
+
share?: HostedExecutionShareReference;
|
|
7
|
+
userId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface HostedExecutionDispatchRefFallback {
|
|
10
|
+
eventId: string;
|
|
11
|
+
eventKind: string;
|
|
12
|
+
occurredAt: string | null;
|
|
13
|
+
userId: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function buildHostedExecutionDispatchRef(dispatch: HostedExecutionDispatchRequest): HostedExecutionDispatchRef;
|
|
16
|
+
export declare function readHostedExecutionDispatchRef(payloadJson: unknown, fallback: HostedExecutionDispatchRefFallback): HostedExecutionDispatchRef | null;
|
|
17
|
+
//# sourceMappingURL=dispatch-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-ref.d.ts","sourceRoot":"","sources":["../src/dispatch-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,wBAAwB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,6BAA6B,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,8BAA8B,GACvC,0BAA0B,CAe5B;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,kCAAkC,GAC3C,0BAA0B,GAAG,IAAI,CA2BnC"}
|