wake-bridge 0.9.0-preview.8

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 (115) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +222 -0
  3. package/dist/src/adapters/botlingknows.d.ts +42 -0
  4. package/dist/src/adapters/botlingknows.js +141 -0
  5. package/dist/src/adapters/botlingknows.js.map +1 -0
  6. package/dist/src/adapters/group-chat.d.ts +43 -0
  7. package/dist/src/adapters/group-chat.js +120 -0
  8. package/dist/src/adapters/group-chat.js.map +1 -0
  9. package/dist/src/cli.d.ts +2 -0
  10. package/dist/src/cli.js +637 -0
  11. package/dist/src/cli.js.map +1 -0
  12. package/dist/src/connector-catalog.d.ts +17 -0
  13. package/dist/src/connector-catalog.js +43 -0
  14. package/dist/src/connector-catalog.js.map +1 -0
  15. package/dist/src/connectors/botlingknows-mcp.d.ts +15 -0
  16. package/dist/src/connectors/botlingknows-mcp.js +130 -0
  17. package/dist/src/connectors/botlingknows-mcp.js.map +1 -0
  18. package/dist/src/connectors/group-chat-http.d.ts +17 -0
  19. package/dist/src/connectors/group-chat-http.js +226 -0
  20. package/dist/src/connectors/group-chat-http.js.map +1 -0
  21. package/dist/src/connectors/mcp-http-client.d.ts +11 -0
  22. package/dist/src/connectors/mcp-http-client.js +108 -0
  23. package/dist/src/connectors/mcp-http-client.js.map +1 -0
  24. package/dist/src/core.d.ts +170 -0
  25. package/dist/src/core.js +1720 -0
  26. package/dist/src/core.js.map +1 -0
  27. package/dist/src/daemon.d.ts +31 -0
  28. package/dist/src/daemon.js +605 -0
  29. package/dist/src/daemon.js.map +1 -0
  30. package/dist/src/db.d.ts +31 -0
  31. package/dist/src/db.js +513 -0
  32. package/dist/src/db.js.map +1 -0
  33. package/dist/src/event-sdk.d.ts +43 -0
  34. package/dist/src/event-sdk.js +152 -0
  35. package/dist/src/event-sdk.js.map +1 -0
  36. package/dist/src/host-adapter-registry.d.ts +21 -0
  37. package/dist/src/host-adapter-registry.js +59 -0
  38. package/dist/src/host-adapter-registry.js.map +1 -0
  39. package/dist/src/index.d.ts +5 -0
  40. package/dist/src/index.js +6 -0
  41. package/dist/src/index.js.map +1 -0
  42. package/dist/src/instance-config.d.ts +46 -0
  43. package/dist/src/instance-config.js +176 -0
  44. package/dist/src/instance-config.js.map +1 -0
  45. package/dist/src/mcp.d.ts +51 -0
  46. package/dist/src/mcp.js +728 -0
  47. package/dist/src/mcp.js.map +1 -0
  48. package/dist/src/operator-control.d.ts +82 -0
  49. package/dist/src/operator-control.js +220 -0
  50. package/dist/src/operator-control.js.map +1 -0
  51. package/dist/src/out-of-process-host.d.ts +37 -0
  52. package/dist/src/out-of-process-host.js +196 -0
  53. package/dist/src/out-of-process-host.js.map +1 -0
  54. package/dist/src/policy-control.d.ts +3 -0
  55. package/dist/src/policy-control.js +120 -0
  56. package/dist/src/policy-control.js.map +1 -0
  57. package/dist/src/release-lifecycle.d.ts +98 -0
  58. package/dist/src/release-lifecycle.js +378 -0
  59. package/dist/src/release-lifecycle.js.map +1 -0
  60. package/dist/src/sdk-error.d.ts +6 -0
  61. package/dist/src/sdk-error.js +12 -0
  62. package/dist/src/sdk-error.js.map +1 -0
  63. package/dist/src/source-adapter.d.ts +32 -0
  64. package/dist/src/source-adapter.js +164 -0
  65. package/dist/src/source-adapter.js.map +1 -0
  66. package/dist/src/source-connector.d.ts +50 -0
  67. package/dist/src/source-connector.js +358 -0
  68. package/dist/src/source-connector.js.map +1 -0
  69. package/dist/src/source-control-client.d.ts +38 -0
  70. package/dist/src/source-control-client.js +61 -0
  71. package/dist/src/source-control-client.js.map +1 -0
  72. package/dist/src/source-ingress.d.ts +16 -0
  73. package/dist/src/source-ingress.js +47 -0
  74. package/dist/src/source-ingress.js.map +1 -0
  75. package/dist/src/source-sdk.d.ts +6 -0
  76. package/dist/src/source-sdk.js +53 -0
  77. package/dist/src/source-sdk.js.map +1 -0
  78. package/dist/src/transport-sdk.d.ts +102 -0
  79. package/dist/src/transport-sdk.js +222 -0
  80. package/dist/src/transport-sdk.js.map +1 -0
  81. package/dist/src/transport.d.ts +23 -0
  82. package/dist/src/transport.js +71 -0
  83. package/dist/src/transport.js.map +1 -0
  84. package/dist/src/types.d.ts +522 -0
  85. package/dist/src/types.js +2 -0
  86. package/dist/src/types.js.map +1 -0
  87. package/dist/src/util.d.ts +26 -0
  88. package/dist/src/util.js +136 -0
  89. package/dist/src/util.js.map +1 -0
  90. package/dist/src/version.d.ts +1 -0
  91. package/dist/src/version.js +2 -0
  92. package/dist/src/version.js.map +1 -0
  93. package/docs/adapters/botlingknows.md +40 -0
  94. package/docs/adapters/gmail-planned.md +16 -0
  95. package/docs/adapters/group-chat.md +126 -0
  96. package/docs/operations/connector-catalog.md +40 -0
  97. package/docs/operations/operator-control.md +83 -0
  98. package/docs/operations/out-of-process-host-adapter.md +150 -0
  99. package/docs/operations/policies.md +106 -0
  100. package/docs/operations/public-sdk.md +87 -0
  101. package/docs/operations/release-lifecycle.md +154 -0
  102. package/docs/operations/source-connectors.md +163 -0
  103. package/docs/operations/source-ingress.md +108 -0
  104. package/docs/operations/templates/botlingknows-connector.env.example +5 -0
  105. package/docs/operations/templates/sources.json.example +15 -0
  106. package/docs/quickstart.md +143 -0
  107. package/docs/releases/0.9.0-preview.8.md +44 -0
  108. package/docs/verification.md +19 -0
  109. package/examples/policies/botlingknows-conservative.json +44 -0
  110. package/examples/reference-host-adapter/README.md +41 -0
  111. package/examples/reference-host-adapter/adapter.mjs +173 -0
  112. package/examples/reference-host-adapter/host-adapters.json.example +26 -0
  113. package/package.json +94 -0
  114. package/schemas/event-v1.schema.json +26 -0
  115. package/schemas/policy-v1.schema.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-connector.js","sourceRoot":"","sources":["../../src/source-connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export interface AgentSourceControl {
2
+ status(): Promise<Record<string, unknown>>;
3
+ verify(source: string): Promise<Record<string, unknown>>;
4
+ bootstrap(source: string, input: {
5
+ expected_subject_ref: string;
6
+ expected_binding_fingerprint: string;
7
+ }): Promise<Record<string, unknown>>;
8
+ rebind(source: string, input: {
9
+ expected_checkpoint_revision: number;
10
+ expected_subject_ref: string;
11
+ expected_binding_fingerprint: string;
12
+ reason: string;
13
+ }): Promise<Record<string, unknown>>;
14
+ enable(source: string): Promise<Record<string, unknown>>;
15
+ disable(source: string): Promise<Record<string, unknown>>;
16
+ }
17
+ export declare class DaemonSourceControlClient implements AgentSourceControl {
18
+ private readonly adminToken;
19
+ private readonly fetcher;
20
+ private readonly origin;
21
+ constructor(baseUrl: string, adminToken: string, fetcher?: typeof fetch);
22
+ status(): Promise<Record<string, unknown>>;
23
+ verify(source: string): Promise<Record<string, unknown>>;
24
+ bootstrap(source: string, input: {
25
+ expected_subject_ref: string;
26
+ expected_binding_fingerprint: string;
27
+ }): Promise<Record<string, unknown>>;
28
+ rebind(source: string, input: {
29
+ expected_checkpoint_revision: number;
30
+ expected_subject_ref: string;
31
+ expected_binding_fingerprint: string;
32
+ reason: string;
33
+ }): Promise<Record<string, unknown>>;
34
+ enable(source: string): Promise<Record<string, unknown>>;
35
+ disable(source: string): Promise<Record<string, unknown>>;
36
+ private source;
37
+ private request;
38
+ }
@@ -0,0 +1,61 @@
1
+ import { BridgeError } from "./core.js";
2
+ export class DaemonSourceControlClient {
3
+ adminToken;
4
+ fetcher;
5
+ origin;
6
+ constructor(baseUrl, adminToken, fetcher = fetch) {
7
+ this.adminToken = adminToken;
8
+ this.fetcher = fetcher;
9
+ let url;
10
+ try {
11
+ url = new URL(baseUrl);
12
+ }
13
+ catch {
14
+ throw new BridgeError("Wake Bridge daemon URL is invalid", "source_control_unavailable", 503);
15
+ }
16
+ if (url.protocol !== "http:" || !["127.0.0.1", "[::1]", "::1"].includes(url.hostname)
17
+ || url.username || url.password || url.pathname !== "/" || url.search || url.hash || !adminToken) {
18
+ throw new BridgeError("Wake Bridge source control requires an authenticated loopback daemon", "source_control_unavailable", 503);
19
+ }
20
+ this.origin = url.origin;
21
+ }
22
+ status() { return this.request("GET", "/v1/sources"); }
23
+ verify(source) { return this.request("POST", `/v1/sources/${this.source(source)}/verify`, {}); }
24
+ bootstrap(source, input) {
25
+ return this.request("POST", `/v1/sources/${this.source(source)}/bootstrap`, { mode: "from-now", ...input });
26
+ }
27
+ rebind(source, input) {
28
+ return this.request("POST", `/v1/sources/${this.source(source)}/rebind`, input);
29
+ }
30
+ enable(source) { return this.request("POST", `/v1/sources/${this.source(source)}/enable`, {}); }
31
+ disable(source) { return this.request("POST", `/v1/sources/${this.source(source)}/disable`, {}); }
32
+ source(value) {
33
+ if (!/^[A-Za-z0-9_.:-]{1,128}$/u.test(value))
34
+ throw new BridgeError("source is invalid", "invalid_arguments", 400);
35
+ return encodeURIComponent(value);
36
+ }
37
+ async request(method, path, body) {
38
+ let response;
39
+ try {
40
+ response = await this.fetcher(`${this.origin}${path}`, {
41
+ method,
42
+ headers: { authorization: `Bearer ${this.adminToken}`, accept: "application/json", ...(body === undefined ? {} : { "content-type": "application/json" }) },
43
+ body: body === undefined ? undefined : JSON.stringify(body),
44
+ signal: AbortSignal.timeout(20_000),
45
+ });
46
+ }
47
+ catch {
48
+ throw new BridgeError("Wake Bridge source control daemon is unavailable", "source_control_unavailable", 503);
49
+ }
50
+ let value = {};
51
+ try {
52
+ value = await response.json();
53
+ }
54
+ catch { }
55
+ if (!response.ok) {
56
+ throw new BridgeError(typeof value.error === "string" ? value.error : "Wake Bridge source control failed", typeof value.code === "string" ? value.code : "source_control_error", response.status);
57
+ }
58
+ return value;
59
+ }
60
+ }
61
+ //# sourceMappingURL=source-control-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-control-client.js","sourceRoot":"","sources":["../../src/source-control-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface SourceIngestCredential {
2
+ id: string;
3
+ source: string;
4
+ token: string;
5
+ }
6
+ export interface SourceIngestCredentialReference {
7
+ id: string;
8
+ source: string;
9
+ token_env: string;
10
+ }
11
+ export interface SourceIngestCredentialFile {
12
+ version: 1;
13
+ credentials: SourceIngestCredentialReference[];
14
+ }
15
+ export declare function validateSourceIngestCredential(credential: SourceIngestCredential): SourceIngestCredential;
16
+ export declare function loadSourceIngestCredentialFile(path: string, environment?: NodeJS.ProcessEnv): SourceIngestCredential[];
@@ -0,0 +1,47 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { BridgeError } from "./core.js";
3
+ const CREDENTIAL_ID = /^[a-z][a-z0-9._-]{0,63}$/u;
4
+ const SOURCE_ID = /^[A-Za-z0-9_.:-]{1,128}$/u;
5
+ const TOKEN_ENV = /^[A-Z_][A-Z0-9_]{0,127}$/u;
6
+ export function validateSourceIngestCredential(credential) {
7
+ if (!credential || !CREDENTIAL_ID.test(credential.id)) {
8
+ throw new BridgeError("source ingest credential id is invalid", "invalid_source_credential", 400);
9
+ }
10
+ if (!SOURCE_ID.test(credential.source)) {
11
+ throw new BridgeError("source ingest credential source is invalid", "invalid_source_credential", 400);
12
+ }
13
+ if (typeof credential.token !== "string" || credential.token.length < 32) {
14
+ throw new BridgeError("source ingest credential token must contain at least 32 characters", "invalid_source_credential", 400);
15
+ }
16
+ return credential;
17
+ }
18
+ export function loadSourceIngestCredentialFile(path, environment = process.env) {
19
+ let parsed;
20
+ try {
21
+ parsed = JSON.parse(readFileSync(path, "utf8"));
22
+ }
23
+ catch (error) {
24
+ throw new BridgeError(`source credential file is unreadable: ${String(error)}`, "invalid_source_credential_file", 400);
25
+ }
26
+ const file = parsed;
27
+ if (file?.version !== 1 || !Array.isArray(file.credentials)) {
28
+ throw new BridgeError("source credential file must use version 1 and contain credentials", "invalid_source_credential_file", 400);
29
+ }
30
+ const ids = new Set();
31
+ const credentials = file.credentials.map((reference) => {
32
+ if (!reference || !CREDENTIAL_ID.test(reference.id) || !SOURCE_ID.test(reference.source) || !TOKEN_ENV.test(reference.token_env)) {
33
+ throw new BridgeError("source credential reference is invalid", "invalid_source_credential_file", 400);
34
+ }
35
+ if (ids.has(reference.id)) {
36
+ throw new BridgeError(`duplicate source credential id: ${reference.id}`, "invalid_source_credential_file", 400);
37
+ }
38
+ ids.add(reference.id);
39
+ const token = environment[reference.token_env];
40
+ if (!token) {
41
+ throw new BridgeError(`source credential environment variable is missing: ${reference.token_env}`, "source_credential_unavailable", 400);
42
+ }
43
+ return validateSourceIngestCredential({ id: reference.id, source: reference.source, token });
44
+ });
45
+ return credentials;
46
+ }
47
+ //# sourceMappingURL=source-ingress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-ingress.js","sourceRoot":"","sources":["../../src/source-ingress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { SourceAdapterManifest } from "./types.js";
2
+ export declare const SOURCE_ADAPTER_CONTRACT_VERSION: 1;
3
+ export declare const SUPPORTED_SOURCE_ADAPTER_CONTRACT_VERSIONS: readonly [1];
4
+ export declare function validateSourceManifest(manifest: SourceAdapterManifest): SourceAdapterManifest;
5
+ export type { PullSourceAdapter, SourceAdapterManifest, SourceCredentialCustody, SourceCursor, SourcePollContext, SourcePollResult, SourceReadSideEffects, SourceUpstreamCredentialBreadth, } from "./types.js";
6
+ export { WakeBridgeSdkError } from "./sdk-error.js";
@@ -0,0 +1,53 @@
1
+ import { WakeBridgeSdkError } from "./sdk-error.js";
2
+ export const SOURCE_ADAPTER_CONTRACT_VERSION = 1;
3
+ export const SUPPORTED_SOURCE_ADAPTER_CONTRACT_VERSIONS = [SOURCE_ADAPTER_CONTRACT_VERSION];
4
+ const SOURCE_ID = /^[A-Za-z0-9_.:-]{1,128}$/u;
5
+ const VERSION = /^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/u;
6
+ const SUBJECT_REF = /^[A-Za-z0-9][A-Za-z0-9._:@/+~-]{0,199}$/u;
7
+ const BINDING_FINGERPRINT = /^sha256:[0-9a-f]{64}$/u;
8
+ const MAX_DECLARATION_COUNT = 32;
9
+ function boundedStrings(value, field, { required = false } = {}) {
10
+ if (!Array.isArray(value) || value.length > MAX_DECLARATION_COUNT
11
+ || value.some((item) => typeof item !== "string" || !item || item.length > 200)
12
+ || (required && value.length === 0)) {
13
+ throw new WakeBridgeSdkError(`source adapter ${field} are invalid`, "invalid_source_manifest", 400);
14
+ }
15
+ return [...value];
16
+ }
17
+ export function validateSourceManifest(manifest) {
18
+ if (manifest?.contract_version !== SOURCE_ADAPTER_CONTRACT_VERSION) {
19
+ throw new WakeBridgeSdkError("unsupported source adapter contract version", "invalid_source_manifest", 400);
20
+ }
21
+ if (!SOURCE_ID.test(manifest.id || "")) {
22
+ throw new WakeBridgeSdkError("source adapter id is invalid", "invalid_source_manifest", 400);
23
+ }
24
+ if (!VERSION.test(manifest.version || "")) {
25
+ throw new WakeBridgeSdkError("source adapter version is invalid", "invalid_source_manifest", 400);
26
+ }
27
+ if (!SUBJECT_REF.test(manifest.subject_ref || "")) {
28
+ throw new WakeBridgeSdkError("source adapter subject_ref is invalid", "invalid_source_manifest", 400);
29
+ }
30
+ if (!BINDING_FINGERPRINT.test(manifest.binding_fingerprint || "")) {
31
+ throw new WakeBridgeSdkError("source adapter binding_fingerprint is invalid", "invalid_source_manifest", 400);
32
+ }
33
+ if (!["none", "marks_read", "consumes", "unknown"].includes(manifest.read_side_effects)) {
34
+ throw new WakeBridgeSdkError("source adapter must declare read_side_effects", "invalid_source_manifest", 400);
35
+ }
36
+ if (!["none", "connector", "wake_bridge_process"].includes(manifest.credential_custody)) {
37
+ throw new WakeBridgeSdkError("source adapter must declare credential_custody", "invalid_source_manifest", 400);
38
+ }
39
+ if (!["none", "read_only", "broad", "unknown"].includes(manifest.upstream_credential_breadth)) {
40
+ throw new WakeBridgeSdkError("source adapter must declare upstream_credential_breadth", "invalid_source_manifest", 400);
41
+ }
42
+ const scopes = boundedStrings(manifest.upstream_credential_scopes, "upstream credential scopes");
43
+ const capabilities = boundedStrings(manifest.connector_capabilities, "connector capabilities", { required: true });
44
+ if (manifest.credential_custody === "none" && (manifest.upstream_credential_breadth !== "none" || scopes.length > 0)) {
45
+ throw new WakeBridgeSdkError("credential-free source has an upstream credential", "invalid_source_manifest", 400);
46
+ }
47
+ if (manifest.upstream_credential_breadth === "none" && scopes.length > 0) {
48
+ throw new WakeBridgeSdkError("credential-free upstream has credential scopes", "invalid_source_manifest", 400);
49
+ }
50
+ return { ...manifest, upstream_credential_scopes: scopes, connector_capabilities: capabilities };
51
+ }
52
+ export { WakeBridgeSdkError } from "./sdk-error.js";
53
+ //# sourceMappingURL=source-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-sdk.js","sourceRoot":"","sources":["../../src/source-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import type { ActivityKind, ActivityObservationResult, Binding, Endpoint, EndpointCapabilities, EndpointRegistration, EndpointRoute, PresenceLease, WakePayload, WakeTransport } from "./types.js";
2
+ export declare const HOST_ADAPTER_CONTRACT_VERSION = 1;
3
+ export declare const SUPPORTED_HOST_ADAPTER_CONTRACT_VERSIONS: readonly [1];
4
+ export declare const LOCAL_HOST_PROTOCOL_VERSION: 1;
5
+ export type HostAdapterSupportTier = "mock" | "experimental" | "supported";
6
+ export type TransportReceiptUpperBound = "accepted_to_live_pipe" | "host_accepted" | "agent_completed";
7
+ export interface HostAdapterManifest {
8
+ contract_version: typeof HOST_ADAPTER_CONTRACT_VERSION;
9
+ adapter_kind: string;
10
+ adapter_version: string;
11
+ host_kinds: string[];
12
+ support_tier: HostAdapterSupportTier;
13
+ tested_host_versions: string[];
14
+ capabilities: EndpointCapabilities;
15
+ receipt_upper_bound: TransportReceiptUpperBound;
16
+ }
17
+ export interface HostAdapterLifecycleContext {
18
+ /** Non-secret instance fence. No Core, database, or owner-control object is exposed. */
19
+ instance_id: string;
20
+ daemon_origin: string | null;
21
+ }
22
+ export interface HostAdapter extends WakeTransport {
23
+ readonly manifest: HostAdapterManifest;
24
+ validateEndpoint?(registration: EndpointRegistration): void;
25
+ start?(context: HostAdapterLifecycleContext): Promise<void> | void;
26
+ stop?(): Promise<void> | void;
27
+ }
28
+ export declare function validateHostAdapterManifest(manifest: HostAdapterManifest): HostAdapterManifest;
29
+ export declare function routeFor(endpoint: {
30
+ routes: EndpointRoute[];
31
+ }, kind: string): EndpointRoute | null;
32
+ export declare function stringAddress(route: EndpointRoute, key: string): string;
33
+ export declare function loopbackHttpOrigin(raw: string, label?: string): URL;
34
+ export interface LocalHostDeliveryRequest {
35
+ protocol_version: typeof LOCAL_HOST_PROTOCOL_VERSION;
36
+ attempt_id: string;
37
+ delivery_nonce: string;
38
+ wake: WakePayload;
39
+ }
40
+ export declare function validateLocalHostDeliveryRequest(value: unknown): LocalHostDeliveryRequest;
41
+ export interface HostSessionRegistration {
42
+ endpoint: Endpoint & {
43
+ lease_token: string;
44
+ };
45
+ binding: Binding;
46
+ }
47
+ export interface HostSessionClientOptions {
48
+ base_url: string;
49
+ host_token: string;
50
+ adapter_kind: string;
51
+ fetch?: typeof fetch;
52
+ timeout_ms?: number;
53
+ }
54
+ export interface HostSessionOpenInput {
55
+ session_ref: string;
56
+ attention_channel: string;
57
+ route_origin: string;
58
+ route_token: string;
59
+ }
60
+ export interface HostSessionLease {
61
+ endpoint_id: string;
62
+ lease_token: string;
63
+ attention_channel: string;
64
+ generation: number;
65
+ }
66
+ export interface HostActivityInput {
67
+ observation_id: string;
68
+ kind: ActivityKind;
69
+ observed_at?: string;
70
+ ttl_ms?: number;
71
+ }
72
+ export interface HostPresenceInput {
73
+ observed_by: string;
74
+ observation?: string;
75
+ ttl_ms?: number;
76
+ }
77
+ export interface HostWakeEchoInput {
78
+ observation_id: string;
79
+ delivery_nonce: string;
80
+ observed_at?: string;
81
+ ttl_ms?: number;
82
+ }
83
+ /** Narrow loopback client for an out-of-process host bridge. It has no owner-control methods. */
84
+ export declare class HostSessionClient {
85
+ private readonly origin;
86
+ private readonly hostToken;
87
+ private readonly adapterKind;
88
+ private readonly fetchImpl;
89
+ private readonly timeoutMs;
90
+ constructor(options: HostSessionClientOptions);
91
+ open(input: HostSessionOpenInput): Promise<HostSessionRegistration>;
92
+ lease(registration: HostSessionRegistration): HostSessionLease;
93
+ renew(lease: HostSessionLease): Promise<Endpoint>;
94
+ close(lease: HostSessionLease): Promise<Endpoint>;
95
+ renewPresence(lease: HostSessionLease, input: HostPresenceInput): Promise<PresenceLease>;
96
+ observeActivity(lease: HostSessionLease, input: HostActivityInput): Promise<ActivityObservationResult>;
97
+ consumeWakeEcho(lease: HostSessionLease, input: HostWakeEchoInput): Promise<ActivityObservationResult>;
98
+ private post;
99
+ }
100
+ export declare function validateEndpointForAdapter(registration: EndpointRegistration, manifest: HostAdapterManifest): void;
101
+ export type { ActivityKind, ActivityObservationResult, Binding, Endpoint, EndpointCapabilities, EndpointRegistration, EndpointRoute, JsonPrimitive, JsonValue, TransportContext, TransportResult, WakePayload, WakeTransport, } from "./types.js";
102
+ export { WakeBridgeSdkError } from "./sdk-error.js";
@@ -0,0 +1,222 @@
1
+ import { WakeBridgeSdkError } from "./sdk-error.js";
2
+ export const HOST_ADAPTER_CONTRACT_VERSION = 1;
3
+ export const SUPPORTED_HOST_ADAPTER_CONTRACT_VERSIONS = [HOST_ADAPTER_CONTRACT_VERSION];
4
+ export const LOCAL_HOST_PROTOCOL_VERSION = 1;
5
+ const IDENTIFIER = /^[a-z][a-z0-9._-]{0,63}$/u;
6
+ const PRINTABLE_REF = /^[^\u0000-\u001f\u007f]{1,256}$/u;
7
+ const TOKEN_MIN_LENGTH = 32;
8
+ const MAX_RESPONSE_BYTES = 65_536;
9
+ function nonEmptyStrings(values) {
10
+ return Array.isArray(values) && values.length > 0 && values.every((value) => typeof value === "string" && value.trim());
11
+ }
12
+ export function validateHostAdapterManifest(manifest) {
13
+ if (manifest.contract_version !== HOST_ADAPTER_CONTRACT_VERSION) {
14
+ throw new WakeBridgeSdkError("unsupported host adapter contract version", "invalid_host_adapter", 400);
15
+ }
16
+ if (!IDENTIFIER.test(manifest.adapter_kind) || !manifest.adapter_version.trim()) {
17
+ throw new WakeBridgeSdkError("host adapter kind or version is invalid", "invalid_host_adapter", 400);
18
+ }
19
+ if (!nonEmptyStrings(manifest.host_kinds)) {
20
+ throw new WakeBridgeSdkError("host adapter must declare host_kinds", "invalid_host_adapter", 400);
21
+ }
22
+ if (!["mock", "experimental", "supported"].includes(manifest.support_tier)) {
23
+ throw new WakeBridgeSdkError("host adapter support tier is invalid", "invalid_host_adapter", 400);
24
+ }
25
+ if (!Array.isArray(manifest.tested_host_versions)) {
26
+ throw new WakeBridgeSdkError("tested_host_versions must be an array", "invalid_host_adapter", 400);
27
+ }
28
+ if (!manifest.capabilities || typeof manifest.capabilities !== "object") {
29
+ throw new WakeBridgeSdkError("host adapter capabilities are required", "invalid_host_adapter", 400);
30
+ }
31
+ if (!["accepted_to_live_pipe", "host_accepted", "agent_completed"].includes(manifest.receipt_upper_bound)) {
32
+ throw new WakeBridgeSdkError("host adapter receipt upper bound is invalid", "invalid_host_adapter", 400);
33
+ }
34
+ return manifest;
35
+ }
36
+ export function routeFor(endpoint, kind) {
37
+ return [...endpoint.routes]
38
+ .sort((left, right) => (right.priority ?? 0) - (left.priority ?? 0))
39
+ .find((route) => route.kind === kind) ?? null;
40
+ }
41
+ export function stringAddress(route, key) {
42
+ const value = route.address[key];
43
+ if (typeof value !== "string" || !value.trim()) {
44
+ throw new WakeBridgeSdkError(`transport route ${key} is required`, "invalid_endpoint", 400);
45
+ }
46
+ return value;
47
+ }
48
+ export function loopbackHttpOrigin(raw, label = "host route") {
49
+ let url;
50
+ try {
51
+ url = new URL(raw);
52
+ }
53
+ catch {
54
+ throw new WakeBridgeSdkError(`${label} origin is invalid`, "invalid_host_origin", 400);
55
+ }
56
+ if (url.protocol !== "http:" || !["127.0.0.1", "[::1]"].includes(url.hostname) || url.username || url.password
57
+ || url.pathname !== "/" || url.search || url.hash) {
58
+ throw new WakeBridgeSdkError(`${label} must be a credential-free loopback HTTP origin`, "invalid_host_origin", 400);
59
+ }
60
+ return url;
61
+ }
62
+ export function validateLocalHostDeliveryRequest(value) {
63
+ const request = value;
64
+ if (request?.protocol_version !== LOCAL_HOST_PROTOCOL_VERSION
65
+ || typeof request.attempt_id !== "string" || !request.attempt_id || request.attempt_id.length > 200
66
+ || typeof request.delivery_nonce !== "string" || request.delivery_nonce.length < TOKEN_MIN_LENGTH || request.delivery_nonce.length > 256
67
+ || !request.wake || request.wake.schema_version !== 1
68
+ || typeof request.wake.wake_batch_id !== "string" || !request.wake.wake_batch_id
69
+ || typeof request.wake.attention_channel !== "string" || !request.wake.attention_channel
70
+ || !Number.isSafeInteger(request.wake.binding_generation) || request.wake.binding_generation < 1
71
+ || !Array.isArray(request.wake.claim_refs)) {
72
+ throw new WakeBridgeSdkError("local host delivery request is invalid", "invalid_host_delivery", 400);
73
+ }
74
+ return request;
75
+ }
76
+ /** Narrow loopback client for an out-of-process host bridge. It has no owner-control methods. */
77
+ export class HostSessionClient {
78
+ origin;
79
+ hostToken;
80
+ adapterKind;
81
+ fetchImpl;
82
+ timeoutMs;
83
+ constructor(options) {
84
+ this.origin = loopbackHttpOrigin(options.base_url, "Wake Bridge daemon");
85
+ if (typeof options.host_token !== "string" || options.host_token.length < TOKEN_MIN_LENGTH) {
86
+ throw new WakeBridgeSdkError("host bootstrap token must contain at least 32 characters", "invalid_host_credential", 400);
87
+ }
88
+ if (!IDENTIFIER.test(options.adapter_kind)) {
89
+ throw new WakeBridgeSdkError("adapter_kind is invalid", "invalid_host_adapter", 400);
90
+ }
91
+ const timeout = options.timeout_ms ?? 5_000;
92
+ if (!Number.isSafeInteger(timeout) || timeout < 100 || timeout > 30_000) {
93
+ throw new WakeBridgeSdkError("timeout_ms must be an integer from 100 to 30000", "invalid_arguments", 400);
94
+ }
95
+ this.hostToken = options.host_token;
96
+ this.adapterKind = options.adapter_kind;
97
+ this.fetchImpl = options.fetch ?? fetch;
98
+ this.timeoutMs = timeout;
99
+ }
100
+ async open(input) {
101
+ if (!PRINTABLE_REF.test(input.session_ref) || !PRINTABLE_REF.test(input.attention_channel)) {
102
+ throw new WakeBridgeSdkError("host session_ref or attention_channel is invalid", "invalid_host_session", 400);
103
+ }
104
+ const routeOrigin = loopbackHttpOrigin(input.route_origin, "host delivery route").origin;
105
+ if (typeof input.route_token !== "string" || input.route_token.length < TOKEN_MIN_LENGTH) {
106
+ throw new WakeBridgeSdkError("host delivery route token must contain at least 32 characters", "invalid_host_session", 400);
107
+ }
108
+ if (input.route_token === this.hostToken) {
109
+ throw new WakeBridgeSdkError("credential_scope_collision: host bootstrap and delivery route tokens must be distinct", "credential_scope_collision", 400);
110
+ }
111
+ const value = await this.post("v1/host-sessions/open", this.hostToken, {
112
+ adapter_kind: this.adapterKind,
113
+ session_ref: input.session_ref,
114
+ attention_channel: input.attention_channel,
115
+ route_address: { base_url: `${routeOrigin}/`, token: input.route_token },
116
+ });
117
+ if (!value?.endpoint?.id || !value.endpoint.lease_token || !Number.isSafeInteger(value?.binding?.generation)) {
118
+ throw new WakeBridgeSdkError("Wake Bridge returned an invalid host session", "invalid_host_session_response", 502);
119
+ }
120
+ return value;
121
+ }
122
+ lease(registration) {
123
+ return {
124
+ endpoint_id: registration.endpoint.id,
125
+ lease_token: registration.endpoint.lease_token,
126
+ attention_channel: registration.binding.attention_channel,
127
+ generation: registration.binding.generation,
128
+ };
129
+ }
130
+ async renew(lease) {
131
+ const value = await this.post(`v1/host-sessions/${encodeURIComponent(lease.endpoint_id)}/renew`, lease.lease_token, {});
132
+ return value.endpoint;
133
+ }
134
+ async close(lease) {
135
+ const value = await this.post(`v1/host-sessions/${encodeURIComponent(lease.endpoint_id)}/close`, lease.lease_token, {});
136
+ return value.endpoint;
137
+ }
138
+ async renewPresence(lease, input) {
139
+ const value = await this.post(`v1/host-sessions/${encodeURIComponent(lease.endpoint_id)}/presence`, lease.lease_token, {
140
+ attention_channel: lease.attention_channel,
141
+ generation: lease.generation,
142
+ observed_by: input.observed_by,
143
+ observation: input.observation,
144
+ ttl_ms: input.ttl_ms,
145
+ });
146
+ return value.presence;
147
+ }
148
+ async observeActivity(lease, input) {
149
+ const value = await this.post(`v1/host-sessions/${encodeURIComponent(lease.endpoint_id)}/activity`, lease.lease_token, {
150
+ attention_channel: lease.attention_channel,
151
+ generation: lease.generation,
152
+ observation_id: input.observation_id,
153
+ observed_at: input.observed_at,
154
+ ttl_ms: input.ttl_ms,
155
+ classification: "activity",
156
+ kind: input.kind,
157
+ });
158
+ return value.activity;
159
+ }
160
+ async consumeWakeEcho(lease, input) {
161
+ const value = await this.post(`v1/host-sessions/${encodeURIComponent(lease.endpoint_id)}/activity`, lease.lease_token, {
162
+ attention_channel: lease.attention_channel,
163
+ generation: lease.generation,
164
+ observation_id: input.observation_id,
165
+ observed_at: input.observed_at,
166
+ ttl_ms: input.ttl_ms,
167
+ classification: "wake_echo",
168
+ delivery_nonce: input.delivery_nonce,
169
+ });
170
+ return value.activity;
171
+ }
172
+ async post(path, token, body) {
173
+ const controller = new AbortController();
174
+ const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
175
+ timeout.unref();
176
+ try {
177
+ const response = await this.fetchImpl(new URL(path, this.origin), {
178
+ method: "POST",
179
+ headers: { authorization: `Bearer ${token}`, "content-type": "application/json" },
180
+ body: JSON.stringify(body),
181
+ redirect: "error",
182
+ signal: controller.signal,
183
+ });
184
+ const raw = await response.text();
185
+ if (Buffer.byteLength(raw) > MAX_RESPONSE_BYTES) {
186
+ throw new WakeBridgeSdkError("Wake Bridge host response is too large", "oversized_host_response", 502);
187
+ }
188
+ let value = {};
189
+ try {
190
+ value = raw ? JSON.parse(raw) : {};
191
+ }
192
+ catch { /* handled below */ }
193
+ if (!response.ok) {
194
+ const message = value && typeof value === "object" && "code" in value ? String(value.code) : `HTTP ${response.status}`;
195
+ throw new WakeBridgeSdkError(`Wake Bridge host request failed: ${message}`, "host_session_request_failed", response.status);
196
+ }
197
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
198
+ throw new WakeBridgeSdkError("Wake Bridge host response is invalid", "invalid_host_session_response", 502);
199
+ }
200
+ return value;
201
+ }
202
+ catch (error) {
203
+ if (error instanceof WakeBridgeSdkError)
204
+ throw error;
205
+ throw new WakeBridgeSdkError(error instanceof Error && error.name === "AbortError" ? "Wake Bridge host request timed out" : "Wake Bridge host request failed", error instanceof Error && error.name === "AbortError" ? "host_session_timeout" : "host_session_unreachable", 503);
206
+ }
207
+ finally {
208
+ clearTimeout(timeout);
209
+ }
210
+ }
211
+ }
212
+ export function validateEndpointForAdapter(registration, manifest) {
213
+ validateHostAdapterManifest(manifest);
214
+ if (!manifest.host_kinds.includes(registration.host_kind)) {
215
+ throw new WakeBridgeSdkError("endpoint host kind is not supported by adapter", "invalid_endpoint", 400);
216
+ }
217
+ if (!(registration.routes ?? []).some((route) => route.kind === manifest.adapter_kind)) {
218
+ throw new WakeBridgeSdkError("endpoint has no route for adapter", "invalid_endpoint", 400);
219
+ }
220
+ }
221
+ export { WakeBridgeSdkError } from "./sdk-error.js";
222
+ //# sourceMappingURL=transport-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-sdk.js","sourceRoot":"","sources":["../../src/transport-sdk.ts"],"names":[],"mappings":"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"}