@uncensoredcode/openbridge 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +117 -0
  2. package/bin/openbridge.js +10 -0
  3. package/package.json +85 -0
  4. package/packages/cli/dist/args.d.ts +30 -0
  5. package/packages/cli/dist/args.js +160 -0
  6. package/packages/cli/dist/cli.d.ts +2 -0
  7. package/packages/cli/dist/cli.js +9 -0
  8. package/packages/cli/dist/index.d.ts +26 -0
  9. package/packages/cli/dist/index.js +76 -0
  10. package/packages/runtime/dist/assistant-protocol.d.ts +34 -0
  11. package/packages/runtime/dist/assistant-protocol.js +121 -0
  12. package/packages/runtime/dist/execution/in-process.d.ts +14 -0
  13. package/packages/runtime/dist/execution/in-process.js +45 -0
  14. package/packages/runtime/dist/execution/types.d.ts +49 -0
  15. package/packages/runtime/dist/execution/types.js +20 -0
  16. package/packages/runtime/dist/index.d.ts +86 -0
  17. package/packages/runtime/dist/index.js +60 -0
  18. package/packages/runtime/dist/normalizers/index.d.ts +6 -0
  19. package/packages/runtime/dist/normalizers/index.js +12 -0
  20. package/packages/runtime/dist/normalizers/legacy-packet.d.ts +6 -0
  21. package/packages/runtime/dist/normalizers/legacy-packet.js +131 -0
  22. package/packages/runtime/dist/output-sanitizer.d.ts +23 -0
  23. package/packages/runtime/dist/output-sanitizer.js +78 -0
  24. package/packages/runtime/dist/packet-extractor.d.ts +17 -0
  25. package/packages/runtime/dist/packet-extractor.js +43 -0
  26. package/packages/runtime/dist/packet-normalizer.d.ts +21 -0
  27. package/packages/runtime/dist/packet-normalizer.js +47 -0
  28. package/packages/runtime/dist/prompt-compiler.d.ts +28 -0
  29. package/packages/runtime/dist/prompt-compiler.js +301 -0
  30. package/packages/runtime/dist/protocol.d.ts +44 -0
  31. package/packages/runtime/dist/protocol.js +165 -0
  32. package/packages/runtime/dist/provider-failure.d.ts +52 -0
  33. package/packages/runtime/dist/provider-failure.js +236 -0
  34. package/packages/runtime/dist/provider.d.ts +40 -0
  35. package/packages/runtime/dist/provider.js +1 -0
  36. package/packages/runtime/dist/runtime.d.ts +86 -0
  37. package/packages/runtime/dist/runtime.js +462 -0
  38. package/packages/runtime/dist/session-bound-provider.d.ts +52 -0
  39. package/packages/runtime/dist/session-bound-provider.js +366 -0
  40. package/packages/runtime/dist/tool-name-aliases.d.ts +5 -0
  41. package/packages/runtime/dist/tool-name-aliases.js +13 -0
  42. package/packages/runtime/dist/tools/bash.d.ts +9 -0
  43. package/packages/runtime/dist/tools/bash.js +157 -0
  44. package/packages/runtime/dist/tools/edit.d.ts +9 -0
  45. package/packages/runtime/dist/tools/edit.js +94 -0
  46. package/packages/runtime/dist/tools/index.d.ts +39 -0
  47. package/packages/runtime/dist/tools/index.js +27 -0
  48. package/packages/runtime/dist/tools/list-dir.d.ts +9 -0
  49. package/packages/runtime/dist/tools/list-dir.js +127 -0
  50. package/packages/runtime/dist/tools/read.d.ts +9 -0
  51. package/packages/runtime/dist/tools/read.js +56 -0
  52. package/packages/runtime/dist/tools/registry.d.ts +15 -0
  53. package/packages/runtime/dist/tools/registry.js +38 -0
  54. package/packages/runtime/dist/tools/runtime-path.d.ts +7 -0
  55. package/packages/runtime/dist/tools/runtime-path.js +22 -0
  56. package/packages/runtime/dist/tools/search-files.d.ts +9 -0
  57. package/packages/runtime/dist/tools/search-files.js +149 -0
  58. package/packages/runtime/dist/tools/text-file.d.ts +32 -0
  59. package/packages/runtime/dist/tools/text-file.js +101 -0
  60. package/packages/runtime/dist/tools/workspace-path.d.ts +17 -0
  61. package/packages/runtime/dist/tools/workspace-path.js +70 -0
  62. package/packages/runtime/dist/tools/write.d.ts +9 -0
  63. package/packages/runtime/dist/tools/write.js +59 -0
  64. package/packages/server/dist/bridge/bridge-model-catalog.d.ts +56 -0
  65. package/packages/server/dist/bridge/bridge-model-catalog.js +100 -0
  66. package/packages/server/dist/bridge/bridge-runtime-service.d.ts +61 -0
  67. package/packages/server/dist/bridge/bridge-runtime-service.js +1386 -0
  68. package/packages/server/dist/bridge/chat-completions/chat-completion-service.d.ts +127 -0
  69. package/packages/server/dist/bridge/chat-completions/chat-completion-service.js +1026 -0
  70. package/packages/server/dist/bridge/index.d.ts +335 -0
  71. package/packages/server/dist/bridge/index.js +45 -0
  72. package/packages/server/dist/bridge/live-provider-extraction-canary.d.ts +69 -0
  73. package/packages/server/dist/bridge/live-provider-extraction-canary.js +186 -0
  74. package/packages/server/dist/bridge/providers/generic-provider-transport.d.ts +53 -0
  75. package/packages/server/dist/bridge/providers/generic-provider-transport.js +973 -0
  76. package/packages/server/dist/bridge/providers/provider-session-resolver.d.ts +17 -0
  77. package/packages/server/dist/bridge/providers/provider-session-resolver.js +95 -0
  78. package/packages/server/dist/bridge/providers/provider-streams.d.ts +80 -0
  79. package/packages/server/dist/bridge/providers/provider-streams.js +844 -0
  80. package/packages/server/dist/bridge/providers/provider-transport-profile.d.ts +194 -0
  81. package/packages/server/dist/bridge/providers/provider-transport-profile.js +198 -0
  82. package/packages/server/dist/bridge/providers/web-provider-transport.d.ts +30 -0
  83. package/packages/server/dist/bridge/providers/web-provider-transport.js +151 -0
  84. package/packages/server/dist/bridge/state/file-bridge-state-store.d.ts +36 -0
  85. package/packages/server/dist/bridge/state/file-bridge-state-store.js +164 -0
  86. package/packages/server/dist/bridge/stores/local-session-package-store.d.ts +23 -0
  87. package/packages/server/dist/bridge/stores/local-session-package-store.js +548 -0
  88. package/packages/server/dist/bridge/stores/provider-store.d.ts +94 -0
  89. package/packages/server/dist/bridge/stores/provider-store.js +143 -0
  90. package/packages/server/dist/bridge/stores/session-backed-provider-store.d.ts +7 -0
  91. package/packages/server/dist/bridge/stores/session-backed-provider-store.js +26 -0
  92. package/packages/server/dist/bridge/stores/session-package-store.d.ts +286 -0
  93. package/packages/server/dist/bridge/stores/session-package-store.js +1527 -0
  94. package/packages/server/dist/bridge/stores/session-store.d.ts +120 -0
  95. package/packages/server/dist/bridge/stores/session-store.js +139 -0
  96. package/packages/server/dist/cli/index.d.ts +9 -0
  97. package/packages/server/dist/cli/index.js +6 -0
  98. package/packages/server/dist/cli/main.d.ts +2 -0
  99. package/packages/server/dist/cli/main.js +9 -0
  100. package/packages/server/dist/cli/run-bridge-server-cli.d.ts +54 -0
  101. package/packages/server/dist/cli/run-bridge-server-cli.js +371 -0
  102. package/packages/server/dist/client/bridge-api-client.d.ts +61 -0
  103. package/packages/server/dist/client/bridge-api-client.js +267 -0
  104. package/packages/server/dist/client/index.d.ts +11 -0
  105. package/packages/server/dist/client/index.js +11 -0
  106. package/packages/server/dist/config/bridge-server-config.d.ts +52 -0
  107. package/packages/server/dist/config/bridge-server-config.js +118 -0
  108. package/packages/server/dist/config/index.d.ts +20 -0
  109. package/packages/server/dist/config/index.js +8 -0
  110. package/packages/server/dist/http/bridge-api-route-context.d.ts +14 -0
  111. package/packages/server/dist/http/bridge-api-route-context.js +1 -0
  112. package/packages/server/dist/http/create-bridge-api-server.d.ts +72 -0
  113. package/packages/server/dist/http/create-bridge-api-server.js +225 -0
  114. package/packages/server/dist/http/index.d.ts +5 -0
  115. package/packages/server/dist/http/index.js +5 -0
  116. package/packages/server/dist/http/parse-request.d.ts +6 -0
  117. package/packages/server/dist/http/parse-request.js +27 -0
  118. package/packages/server/dist/http/register-bridge-api-routes.d.ts +7 -0
  119. package/packages/server/dist/http/register-bridge-api-routes.js +17 -0
  120. package/packages/server/dist/http/routes/admin-routes.d.ts +7 -0
  121. package/packages/server/dist/http/routes/admin-routes.js +135 -0
  122. package/packages/server/dist/http/routes/chat-completions-route.d.ts +7 -0
  123. package/packages/server/dist/http/routes/chat-completions-route.js +49 -0
  124. package/packages/server/dist/http/routes/health-routes.d.ts +6 -0
  125. package/packages/server/dist/http/routes/health-routes.js +7 -0
  126. package/packages/server/dist/http/routes/message-routes.d.ts +7 -0
  127. package/packages/server/dist/http/routes/message-routes.js +7 -0
  128. package/packages/server/dist/index.d.ts +85 -0
  129. package/packages/server/dist/index.js +28 -0
  130. package/packages/server/dist/security/bridge-auth.d.ts +9 -0
  131. package/packages/server/dist/security/bridge-auth.js +41 -0
  132. package/packages/server/dist/security/cors-policy.d.ts +5 -0
  133. package/packages/server/dist/security/cors-policy.js +34 -0
  134. package/packages/server/dist/security/index.d.ts +16 -0
  135. package/packages/server/dist/security/index.js +12 -0
  136. package/packages/server/dist/security/redact-sensitive-values.d.ts +19 -0
  137. package/packages/server/dist/security/redact-sensitive-values.js +67 -0
  138. package/packages/server/dist/shared/api-schema.d.ts +133 -0
  139. package/packages/server/dist/shared/api-schema.js +1 -0
  140. package/packages/server/dist/shared/bridge-api-error.d.ts +17 -0
  141. package/packages/server/dist/shared/bridge-api-error.js +19 -0
  142. package/packages/server/dist/shared/index.d.ts +7 -0
  143. package/packages/server/dist/shared/index.js +7 -0
  144. package/packages/server/dist/shared/output.d.ts +5 -0
  145. package/packages/server/dist/shared/output.js +14 -0
@@ -0,0 +1,120 @@
1
+ import { z } from "zod";
2
+ declare const sessionSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ providerId: z.ZodNullable<z.ZodString>;
5
+ label: z.ZodNullable<z.ZodString>;
6
+ metadata: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
7
+ createdAt: z.ZodString;
8
+ updatedAt: z.ZodString;
9
+ }, z.core.$strip>;
10
+ declare const createSessionRequestSchema: z.ZodObject<{
11
+ id: z.ZodString;
12
+ providerId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
13
+ label: z.ZodDefault<z.ZodNullable<z.ZodString>>;
14
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
15
+ }, z.core.$strict>;
16
+ declare const updateSessionRequestSchema: z.ZodObject<{
17
+ providerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ metadata: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
20
+ }, z.core.$strict>;
21
+ type SessionRecord = z.infer<typeof sessionSchema>;
22
+ type CreateSessionRequest = z.infer<typeof createSessionRequestSchema>;
23
+ type UpdateSessionRequest = z.infer<typeof updateSessionRequestSchema>;
24
+ declare function createInMemorySessionStore(): {
25
+ list(): {
26
+ id: string;
27
+ providerId: string | null;
28
+ label: string | null;
29
+ metadata: {
30
+ [x: string]: unknown;
31
+ };
32
+ createdAt: string;
33
+ updatedAt: string;
34
+ }[];
35
+ get(id: string): {
36
+ id: string;
37
+ providerId: string | null;
38
+ label: string | null;
39
+ metadata: {
40
+ [x: string]: unknown;
41
+ };
42
+ createdAt: string;
43
+ updatedAt: string;
44
+ } | null;
45
+ create(input: CreateSessionRequest): {
46
+ id: string;
47
+ providerId: string | null;
48
+ label: string | null;
49
+ metadata: {
50
+ [x: string]: unknown;
51
+ };
52
+ createdAt: string;
53
+ updatedAt: string;
54
+ };
55
+ update(id: string, patch: UpdateSessionRequest): {
56
+ id: string;
57
+ providerId: string | null;
58
+ label: string | null;
59
+ metadata: {
60
+ [x: string]: unknown;
61
+ };
62
+ createdAt: string;
63
+ updatedAt: string;
64
+ };
65
+ delete(id: string): {
66
+ ok: true;
67
+ id: string;
68
+ };
69
+ };
70
+ type SessionStore = ReturnType<typeof createInMemorySessionStore>;
71
+ export declare const sessionStoreModule: {
72
+ sessionSchema: z.ZodObject<{
73
+ id: z.ZodString;
74
+ providerId: z.ZodNullable<z.ZodString>;
75
+ label: z.ZodNullable<z.ZodString>;
76
+ metadata: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
77
+ createdAt: z.ZodString;
78
+ updatedAt: z.ZodString;
79
+ }, z.core.$strip>;
80
+ createSessionRequestSchema: z.ZodObject<{
81
+ id: z.ZodString;
82
+ providerId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
83
+ label: z.ZodDefault<z.ZodNullable<z.ZodString>>;
84
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
85
+ }, z.core.$strict>;
86
+ updateSessionRequestSchema: z.ZodObject<{
87
+ providerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ metadata: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
90
+ }, z.core.$strict>;
91
+ sessionIdParamsSchema: z.ZodObject<{
92
+ id: z.ZodString;
93
+ }, z.core.$strict>;
94
+ sessionResponseSchema: z.ZodObject<{
95
+ session: z.ZodObject<{
96
+ id: z.ZodString;
97
+ providerId: z.ZodNullable<z.ZodString>;
98
+ label: z.ZodNullable<z.ZodString>;
99
+ metadata: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
100
+ createdAt: z.ZodString;
101
+ updatedAt: z.ZodString;
102
+ }, z.core.$strip>;
103
+ }, z.core.$strip>;
104
+ sessionListResponseSchema: z.ZodObject<{
105
+ sessions: z.ZodArray<z.ZodObject<{
106
+ id: z.ZodString;
107
+ providerId: z.ZodNullable<z.ZodString>;
108
+ label: z.ZodNullable<z.ZodString>;
109
+ metadata: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
110
+ createdAt: z.ZodString;
111
+ updatedAt: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>;
114
+ sessionDeleteResponseSchema: z.ZodObject<{
115
+ ok: z.ZodLiteral<true>;
116
+ id: z.ZodString;
117
+ }, z.core.$strip>;
118
+ createInMemorySessionStore: typeof createInMemorySessionStore;
119
+ };
120
+ export type { CreateSessionRequest, SessionRecord, SessionStore, UpdateSessionRequest };
@@ -0,0 +1,139 @@
1
+ import { z } from "zod";
2
+ import { bridgeApiErrorModule } from "../../shared/bridge-api-error.js";
3
+ const { BridgeApiError } = bridgeApiErrorModule;
4
+ const nonEmptyString = (field) => z.string().trim().min(1, `${field} is required.`);
5
+ const nullableNonEmptyString = (field) => nonEmptyString(field).nullable();
6
+ const metadataSchema = z.object({}).catchall(z.unknown());
7
+ const sessionSchema = z.object({
8
+ id: nonEmptyString("id"),
9
+ providerId: nullableNonEmptyString("providerId"),
10
+ label: nullableNonEmptyString("label"),
11
+ metadata: metadataSchema,
12
+ createdAt: z.string().datetime({ offset: true }),
13
+ updatedAt: z.string().datetime({ offset: true })
14
+ });
15
+ const createSessionRequestSchema = z
16
+ .object({
17
+ id: nonEmptyString("id"),
18
+ providerId: nullableNonEmptyString("providerId").default(null),
19
+ label: nullableNonEmptyString("label").default(null),
20
+ metadata: metadataSchema.default({})
21
+ })
22
+ .strict();
23
+ const updateSessionRequestSchema = z
24
+ .object({
25
+ providerId: nullableNonEmptyString("providerId").optional(),
26
+ label: nullableNonEmptyString("label").optional(),
27
+ metadata: metadataSchema.optional()
28
+ })
29
+ .strict()
30
+ .superRefine((value, context) => {
31
+ if (Object.keys(value).length === 0) {
32
+ context.addIssue({
33
+ code: z.ZodIssueCode.custom,
34
+ message: "At least one mutable field must be provided."
35
+ });
36
+ }
37
+ });
38
+ const sessionIdParamsSchema = z
39
+ .object({
40
+ id: nonEmptyString("id")
41
+ })
42
+ .strict();
43
+ const sessionResponseSchema = z.object({
44
+ session: sessionSchema
45
+ });
46
+ const sessionListResponseSchema = z.object({
47
+ sessions: z.array(sessionSchema)
48
+ });
49
+ const sessionDeleteResponseSchema = z.object({
50
+ ok: z.literal(true),
51
+ id: z.string()
52
+ });
53
+ function createInMemorySessionStore() {
54
+ const sessions = new Map();
55
+ return {
56
+ list() {
57
+ return [...sessions.values()].map(cloneSession);
58
+ },
59
+ get(id) {
60
+ const session = sessions.get(id);
61
+ return session ? cloneSession(session) : null;
62
+ },
63
+ create(input) {
64
+ if (sessions.has(input.id)) {
65
+ throw new BridgeApiError({
66
+ statusCode: 409,
67
+ code: "session_exists",
68
+ message: `Session '${input.id}' already exists.`
69
+ });
70
+ }
71
+ const timestamp = createTimestamp();
72
+ const session = {
73
+ id: input.id,
74
+ providerId: input.providerId,
75
+ label: input.label,
76
+ metadata: cloneMetadata(input.metadata),
77
+ createdAt: timestamp,
78
+ updatedAt: timestamp
79
+ };
80
+ sessions.set(session.id, session);
81
+ return cloneSession(session);
82
+ },
83
+ update(id, patch) {
84
+ const session = sessions.get(id);
85
+ if (!session) {
86
+ throw missingSessionError(id);
87
+ }
88
+ const nextSession = {
89
+ ...session,
90
+ ...patch,
91
+ metadata: patch.metadata === undefined ? session.metadata : cloneMetadata(patch.metadata),
92
+ updatedAt: createTimestamp(session.updatedAt)
93
+ };
94
+ sessions.set(id, nextSession);
95
+ return cloneSession(nextSession);
96
+ },
97
+ delete(id) {
98
+ if (!sessions.delete(id)) {
99
+ throw missingSessionError(id);
100
+ }
101
+ return sessionDeleteResponseSchema.parse({
102
+ ok: true,
103
+ id
104
+ });
105
+ }
106
+ };
107
+ }
108
+ function createTimestamp(previous) {
109
+ const previousTime = previous ? Date.parse(previous) : 0;
110
+ const now = Date.now();
111
+ const nextTime = previousTime >= now ? previousTime + 1 : now;
112
+ return new Date(nextTime).toISOString();
113
+ }
114
+ function cloneSession(session) {
115
+ return sessionSchema.parse({
116
+ ...session,
117
+ metadata: cloneMetadata(session.metadata)
118
+ });
119
+ }
120
+ function cloneMetadata(metadata) {
121
+ return structuredClone(metadata);
122
+ }
123
+ function missingSessionError(id) {
124
+ return new BridgeApiError({
125
+ statusCode: 404,
126
+ code: "session_not_found",
127
+ message: `Session '${id}' was not found.`
128
+ });
129
+ }
130
+ export const sessionStoreModule = {
131
+ sessionSchema,
132
+ createSessionRequestSchema,
133
+ updateSessionRequestSchema,
134
+ sessionIdParamsSchema,
135
+ sessionResponseSchema,
136
+ sessionListResponseSchema,
137
+ sessionDeleteResponseSchema,
138
+ createInMemorySessionStore
139
+ };
@@ -0,0 +1,9 @@
1
+ export declare const cliModule: {
2
+ getBridgeServerCliHelpText: () => string;
3
+ parseBridgeServerCliArgs: (input: {
4
+ argv: string[];
5
+ env?: NodeJS.ProcessEnv;
6
+ }) => import("./run-bridge-server-cli.ts").BridgeServerCliCommand;
7
+ runBridgeServerCli: (input: import("./run-bridge-server-cli.ts").RunBridgeServerCliInput) => Promise<number>;
8
+ };
9
+ export type { BridgeServerCliCommand, RunBridgeServerCliInput } from "./run-bridge-server-cli.ts";
@@ -0,0 +1,6 @@
1
+ import { runBridgeServerCliModule } from "./run-bridge-server-cli.js";
2
+ export const cliModule = {
3
+ getBridgeServerCliHelpText: runBridgeServerCliModule.getBridgeServerCliHelpText,
4
+ parseBridgeServerCliArgs: runBridgeServerCliModule.parseBridgeServerCliArgs,
5
+ runBridgeServerCli: runBridgeServerCliModule.runBridgeServerCli
6
+ };
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { cliModule } from "./index.js";
3
+ const { runBridgeServerCli } = cliModule;
4
+ const exitCode = await runBridgeServerCli({
5
+ argv: process.argv.slice(2)
6
+ });
7
+ if (exitCode !== 0) {
8
+ process.exitCode = exitCode;
9
+ }
@@ -0,0 +1,54 @@
1
+ import type { LiveProviderExtractionCanaryInput } from "../bridge/index.ts";
2
+ import type { BridgeApiClientFetch } from "../client/index.ts";
3
+ import type { BridgeServerConfig } from "../config/index.ts";
4
+ declare const runLiveProviderExtractionCanary: (input: LiveProviderExtractionCanaryInput) => Promise<import("../bridge/live-provider-extraction-canary.ts").LiveProviderExtractionCanaryResult>;
5
+ declare const startBridgeApiServer: (options?: import("../http/create-bridge-api-server.ts").BridgeApiServerOptions) => Promise<import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>>;
6
+ type BridgeServerCliCommand = {
7
+ kind: "help";
8
+ } | {
9
+ kind: "serve";
10
+ config: BridgeServerConfig;
11
+ } | {
12
+ kind: "clear-session-vault";
13
+ config: BridgeServerConfig;
14
+ } | {
15
+ kind: "chat";
16
+ baseUrl: string;
17
+ model: string;
18
+ message: string;
19
+ system?: string;
20
+ stream: boolean;
21
+ } | ({
22
+ kind: "live-canary";
23
+ } & LiveProviderExtractionCanaryInput);
24
+ type RunBridgeServerCliInput = {
25
+ argv: string[];
26
+ env?: NodeJS.ProcessEnv;
27
+ stdout?: {
28
+ write(value: string): void;
29
+ };
30
+ stderr?: {
31
+ write(value: string): void;
32
+ };
33
+ stdin?: NodeJS.ReadStream;
34
+ startServer?: typeof startBridgeApiServer;
35
+ onServerStarted?: (server: Awaited<ReturnType<typeof startBridgeApiServer>>) => void;
36
+ runLiveCanary?: typeof runLiveProviderExtractionCanary;
37
+ fetchImpl?: BridgeApiClientFetch;
38
+ promptForVaultKey?: (context: {
39
+ keyPath: string;
40
+ stdin: NodeJS.ReadStream;
41
+ }) => Promise<string>;
42
+ };
43
+ declare function runBridgeServerCli(input: RunBridgeServerCliInput): Promise<number>;
44
+ declare function parseBridgeServerCliArgs(input: {
45
+ argv: string[];
46
+ env?: NodeJS.ProcessEnv;
47
+ }): BridgeServerCliCommand;
48
+ declare function getBridgeServerCliHelpText(): string;
49
+ export declare const runBridgeServerCliModule: {
50
+ runBridgeServerCli: typeof runBridgeServerCli;
51
+ parseBridgeServerCliArgs: typeof parseBridgeServerCliArgs;
52
+ getBridgeServerCliHelpText: typeof getBridgeServerCliHelpText;
53
+ };
54
+ export type { BridgeServerCliCommand, RunBridgeServerCliInput };