@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,143 @@
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 providerConfigSchema = z.object({}).catchall(z.unknown());
6
+ const providerSchema = z.object({
7
+ id: nonEmptyString("id"),
8
+ kind: nonEmptyString("kind"),
9
+ label: nonEmptyString("label"),
10
+ enabled: z.boolean(),
11
+ config: providerConfigSchema,
12
+ createdAt: z.string().datetime({ offset: true }),
13
+ updatedAt: z.string().datetime({ offset: true })
14
+ });
15
+ const createProviderRequestSchema = z
16
+ .object({
17
+ id: nonEmptyString("id"),
18
+ kind: nonEmptyString("kind"),
19
+ label: nonEmptyString("label"),
20
+ enabled: z.boolean().default(true),
21
+ config: providerConfigSchema.default({})
22
+ })
23
+ .strict();
24
+ const updateProviderRequestSchema = z
25
+ .object({
26
+ kind: nonEmptyString("kind").optional(),
27
+ label: nonEmptyString("label").optional(),
28
+ enabled: z.boolean().optional(),
29
+ config: providerConfigSchema.optional()
30
+ })
31
+ .strict()
32
+ .superRefine((value, context) => {
33
+ if (Object.keys(value).length === 0) {
34
+ context.addIssue({
35
+ code: z.ZodIssueCode.custom,
36
+ message: "At least one mutable field must be provided."
37
+ });
38
+ }
39
+ });
40
+ const providerIdParamsSchema = z
41
+ .object({
42
+ id: nonEmptyString("id")
43
+ })
44
+ .strict();
45
+ const providerResponseSchema = z.object({
46
+ provider: providerSchema
47
+ });
48
+ const providerListResponseSchema = z.object({
49
+ providers: z.array(providerSchema)
50
+ });
51
+ const providerDeleteResponseSchema = z.object({
52
+ ok: z.literal(true),
53
+ id: z.string()
54
+ });
55
+ function createInMemoryProviderStore() {
56
+ const providers = new Map();
57
+ const store = {
58
+ list() {
59
+ return [...providers.values()].map(cloneProvider);
60
+ },
61
+ get(id) {
62
+ const provider = providers.get(id);
63
+ return provider ? cloneProvider(provider) : null;
64
+ },
65
+ create(input) {
66
+ if (providers.has(input.id)) {
67
+ throw new BridgeApiError({
68
+ statusCode: 409,
69
+ code: "provider_exists",
70
+ message: `Provider '${input.id}' already exists.`
71
+ });
72
+ }
73
+ const timestamp = createTimestamp();
74
+ const provider = {
75
+ id: input.id,
76
+ kind: input.kind,
77
+ label: input.label,
78
+ enabled: input.enabled,
79
+ config: cloneConfig(input.config),
80
+ createdAt: timestamp,
81
+ updatedAt: timestamp
82
+ };
83
+ providers.set(provider.id, provider);
84
+ return cloneProvider(provider);
85
+ },
86
+ update(id, patch) {
87
+ const provider = providers.get(id);
88
+ if (!provider) {
89
+ throw missingProviderError(id);
90
+ }
91
+ const nextProvider = {
92
+ ...provider,
93
+ ...patch,
94
+ config: patch.config === undefined ? provider.config : cloneConfig(patch.config),
95
+ updatedAt: createTimestamp(provider.updatedAt)
96
+ };
97
+ providers.set(id, nextProvider);
98
+ return cloneProvider(nextProvider);
99
+ },
100
+ delete(id) {
101
+ if (!providers.delete(id)) {
102
+ throw missingProviderError(id);
103
+ }
104
+ return providerDeleteResponseSchema.parse({
105
+ ok: true,
106
+ id
107
+ });
108
+ }
109
+ };
110
+ return store;
111
+ }
112
+ function createTimestamp(previous) {
113
+ const previousTime = previous ? Date.parse(previous) : 0;
114
+ const now = Date.now();
115
+ const nextTime = previousTime >= now ? previousTime + 1 : now;
116
+ return new Date(nextTime).toISOString();
117
+ }
118
+ function cloneProvider(provider) {
119
+ return providerSchema.parse({
120
+ ...provider,
121
+ config: cloneConfig(provider.config)
122
+ });
123
+ }
124
+ function cloneConfig(config) {
125
+ return structuredClone(config);
126
+ }
127
+ function missingProviderError(id) {
128
+ return new BridgeApiError({
129
+ statusCode: 404,
130
+ code: "provider_not_found",
131
+ message: `Provider '${id}' was not found.`
132
+ });
133
+ }
134
+ export const providerStoreModule = {
135
+ providerSchema,
136
+ createProviderRequestSchema,
137
+ updateProviderRequestSchema,
138
+ providerIdParamsSchema,
139
+ providerResponseSchema,
140
+ providerListResponseSchema,
141
+ providerDeleteResponseSchema,
142
+ createInMemoryProviderStore
143
+ };
@@ -0,0 +1,7 @@
1
+ import type { ProviderStore } from "./provider-store.ts";
2
+ import type { SessionPackageStore } from "./session-package-store.ts";
3
+ declare function createSessionBackedProviderStore(sessionPackageStore: SessionPackageStore): ProviderStore;
4
+ export declare const sessionBackedProviderStoreModule: {
5
+ createSessionBackedProviderStore: typeof createSessionBackedProviderStore;
6
+ };
7
+ export {};
@@ -0,0 +1,26 @@
1
+ function createSessionBackedProviderStore(sessionPackageStore) {
2
+ return {
3
+ list() {
4
+ return sessionPackageStore.listProviders();
5
+ },
6
+ get(id) {
7
+ return sessionPackageStore.getProvider(id);
8
+ },
9
+ create(input) {
10
+ return sessionPackageStore.createProvider(input);
11
+ },
12
+ update(id, patch) {
13
+ return sessionPackageStore.updateProvider(id, patch);
14
+ },
15
+ delete(id) {
16
+ const deleted = sessionPackageStore.delete(id);
17
+ return {
18
+ ok: true,
19
+ id: deleted.providerId
20
+ };
21
+ }
22
+ };
23
+ }
24
+ export const sessionBackedProviderStoreModule = {
25
+ createSessionBackedProviderStore
26
+ };
@@ -0,0 +1,286 @@
1
+ import { z } from "zod";
2
+ import type { CreateProviderRequest, ProviderRecord, UpdateProviderRequest } from "./provider-store.ts";
3
+ declare const sessionPackageSchema: z.ZodObject<{
4
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
5
+ source: z.ZodString;
6
+ capturedAt: z.ZodString;
7
+ origin: z.ZodString;
8
+ cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>>;
9
+ localStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
10
+ sessionStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
11
+ headers: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
12
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
13
+ integration: z.ZodOptional<z.ZodObject<{
14
+ label: z.ZodOptional<z.ZodString>;
15
+ enabled: z.ZodOptional<z.ZodBoolean>;
16
+ models: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ defaultModel: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strict>>;
19
+ transport: z.ZodOptional<z.ZodObject<{
20
+ family: z.ZodEnum<{
21
+ "http-sse": "http-sse";
22
+ "http-json": "http-json";
23
+ "http-connect": "http-connect";
24
+ }>;
25
+ prompt: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
26
+ binding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
27
+ session: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
28
+ request: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
29
+ response: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
30
+ seedBinding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
31
+ bootstrap: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
32
+ preflight: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
33
+ }, z.core.$strict>>;
34
+ }, z.core.$strict>;
35
+ declare const sessionPackageDeleteResponseSchema: z.ZodObject<{
36
+ ok: z.ZodLiteral<true>;
37
+ providerId: z.ZodString;
38
+ }, z.core.$strict>;
39
+ declare const sessionPackageMetadataSchema: z.ZodObject<{
40
+ handle: z.ZodString;
41
+ providerId: z.ZodString;
42
+ source: z.ZodOptional<z.ZodString>;
43
+ capturedAt: z.ZodOptional<z.ZodString>;
44
+ origin: z.ZodOptional<z.ZodString>;
45
+ hasSessionPackage: z.ZodBoolean;
46
+ createdAt: z.ZodString;
47
+ lastUsedAt: z.ZodOptional<z.ZodString>;
48
+ lastVerifiedAt: z.ZodOptional<z.ZodString>;
49
+ idleExpiresAt: z.ZodOptional<z.ZodString>;
50
+ absoluteExpiresAt: z.ZodOptional<z.ZodString>;
51
+ status: z.ZodEnum<{
52
+ active: "active";
53
+ expired: "expired";
54
+ revoked: "revoked";
55
+ invalid: "invalid";
56
+ }>;
57
+ version: z.ZodNumber;
58
+ }, z.core.$strict>;
59
+ declare const installedProviderPackageSchema: z.ZodObject<{
60
+ provider: z.ZodObject<{
61
+ id: z.ZodString;
62
+ kind: z.ZodString;
63
+ label: z.ZodString;
64
+ enabled: z.ZodBoolean;
65
+ config: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
66
+ createdAt: z.ZodString;
67
+ updatedAt: z.ZodString;
68
+ }, z.core.$strip>;
69
+ session: z.ZodNullable<z.ZodObject<{
70
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
71
+ source: z.ZodString;
72
+ capturedAt: z.ZodString;
73
+ origin: z.ZodString;
74
+ cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>>;
75
+ localStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
76
+ sessionStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
77
+ headers: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
78
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
79
+ integration: z.ZodOptional<z.ZodObject<{
80
+ label: z.ZodOptional<z.ZodString>;
81
+ enabled: z.ZodOptional<z.ZodBoolean>;
82
+ models: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
+ defaultModel: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strict>>;
85
+ transport: z.ZodOptional<z.ZodObject<{
86
+ family: z.ZodEnum<{
87
+ "http-sse": "http-sse";
88
+ "http-json": "http-json";
89
+ "http-connect": "http-connect";
90
+ }>;
91
+ prompt: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
92
+ binding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
93
+ session: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
94
+ request: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
95
+ response: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
96
+ seedBinding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
97
+ bootstrap: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
98
+ preflight: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
99
+ }, z.core.$strict>>;
100
+ }, z.core.$strict>>;
101
+ }, z.core.$strict>;
102
+ type SessionPackageRecord = z.infer<typeof sessionPackageSchema>;
103
+ type SessionPackageMetadata = z.infer<typeof sessionPackageMetadataSchema>;
104
+ type SessionPackageDeleteResponse = z.infer<typeof sessionPackageDeleteResponseSchema>;
105
+ type InstalledProviderPackage = z.infer<typeof installedProviderPackageSchema>;
106
+ type SessionPackageStore = {
107
+ listProviders(): ProviderRecord[];
108
+ getProvider(providerId: string): ProviderRecord | null;
109
+ createProvider(input: CreateProviderRequest): ProviderRecord;
110
+ updateProvider(providerId: string, patch: UpdateProviderRequest): ProviderRecord;
111
+ get(providerId: string): SessionPackageRecord | null;
112
+ getStatus(providerId: string): SessionPackageMetadata | null;
113
+ put(providerId: string, value: SessionPackageRecord): SessionPackageMetadata;
114
+ delete(providerId: string): SessionPackageDeleteResponse;
115
+ deleteSession(providerId: string): SessionPackageDeleteResponse;
116
+ listPackages(): InstalledProviderPackage[];
117
+ getPackage(providerId: string): InstalledProviderPackage | null;
118
+ };
119
+ declare function createInMemorySessionPackageStore(): SessionPackageStore;
120
+ declare function buildSessionPackageStatus(providerId: string, stored: SessionPackageMetadata | null): {
121
+ ok: true;
122
+ providerId: string;
123
+ hasSessionPackage: boolean;
124
+ source?: string | undefined;
125
+ capturedAt?: string | undefined;
126
+ origin?: string | undefined;
127
+ };
128
+ declare function cloneProvider(provider: ProviderRecord): ProviderRecord;
129
+ declare function cloneConfig(config: Record<string, unknown>): Record<string, unknown>;
130
+ declare function cloneSessionPackage(value: SessionPackageRecord): SessionPackageRecord;
131
+ declare function cloneSessionPackageMetadata(value: SessionPackageMetadata): SessionPackageMetadata;
132
+ declare function cloneInstalledProviderPackage(value: InstalledProviderPackage): InstalledProviderPackage;
133
+ declare function buildSessionPackageMetadata(providerId: string, session: SessionPackageRecord | null, input: {
134
+ existing: SessionPackageMetadata | null;
135
+ now: string;
136
+ handle?: string;
137
+ }): {
138
+ handle: string;
139
+ providerId: string;
140
+ hasSessionPackage: boolean;
141
+ createdAt: string;
142
+ status: "active" | "expired" | "revoked" | "invalid";
143
+ version: number;
144
+ source?: string | undefined;
145
+ capturedAt?: string | undefined;
146
+ origin?: string | undefined;
147
+ lastUsedAt?: string | undefined;
148
+ lastVerifiedAt?: string | undefined;
149
+ idleExpiresAt?: string | undefined;
150
+ absoluteExpiresAt?: string | undefined;
151
+ };
152
+ declare function inferProviderFromSessionPackage(input: {
153
+ providerId: string;
154
+ value: SessionPackageRecord;
155
+ existing: ProviderRecord | null;
156
+ now: string;
157
+ }): {
158
+ id: string;
159
+ kind: string;
160
+ label: string;
161
+ enabled: boolean;
162
+ config: {
163
+ [x: string]: unknown;
164
+ };
165
+ createdAt: string;
166
+ updatedAt: string;
167
+ };
168
+ export declare const sessionPackageStoreModule: {
169
+ sessionPackageSchema: z.ZodObject<{
170
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
171
+ source: z.ZodString;
172
+ capturedAt: z.ZodString;
173
+ origin: z.ZodString;
174
+ cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>>;
175
+ localStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
176
+ sessionStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
177
+ headers: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
178
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
179
+ integration: z.ZodOptional<z.ZodObject<{
180
+ label: z.ZodOptional<z.ZodString>;
181
+ enabled: z.ZodOptional<z.ZodBoolean>;
182
+ models: z.ZodOptional<z.ZodArray<z.ZodString>>;
183
+ defaultModel: z.ZodOptional<z.ZodString>;
184
+ }, z.core.$strict>>;
185
+ transport: z.ZodOptional<z.ZodObject<{
186
+ family: z.ZodEnum<{
187
+ "http-sse": "http-sse";
188
+ "http-json": "http-json";
189
+ "http-connect": "http-connect";
190
+ }>;
191
+ prompt: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
192
+ binding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
193
+ session: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
194
+ request: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
195
+ response: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
196
+ seedBinding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
197
+ bootstrap: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
198
+ preflight: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
199
+ }, z.core.$strict>>;
200
+ }, z.core.$strict>;
201
+ sessionPackageStatusResponseSchema: z.ZodObject<{
202
+ ok: z.ZodLiteral<true>;
203
+ providerId: z.ZodString;
204
+ hasSessionPackage: z.ZodBoolean;
205
+ source: z.ZodOptional<z.ZodString>;
206
+ capturedAt: z.ZodOptional<z.ZodString>;
207
+ origin: z.ZodOptional<z.ZodString>;
208
+ }, z.core.$strict>;
209
+ sessionPackageDeleteResponseSchema: z.ZodObject<{
210
+ ok: z.ZodLiteral<true>;
211
+ providerId: z.ZodString;
212
+ }, z.core.$strict>;
213
+ sessionPackageMetadataSchema: z.ZodObject<{
214
+ handle: z.ZodString;
215
+ providerId: z.ZodString;
216
+ source: z.ZodOptional<z.ZodString>;
217
+ capturedAt: z.ZodOptional<z.ZodString>;
218
+ origin: z.ZodOptional<z.ZodString>;
219
+ hasSessionPackage: z.ZodBoolean;
220
+ createdAt: z.ZodString;
221
+ lastUsedAt: z.ZodOptional<z.ZodString>;
222
+ lastVerifiedAt: z.ZodOptional<z.ZodString>;
223
+ idleExpiresAt: z.ZodOptional<z.ZodString>;
224
+ absoluteExpiresAt: z.ZodOptional<z.ZodString>;
225
+ status: z.ZodEnum<{
226
+ active: "active";
227
+ expired: "expired";
228
+ revoked: "revoked";
229
+ invalid: "invalid";
230
+ }>;
231
+ version: z.ZodNumber;
232
+ }, z.core.$strict>;
233
+ installedProviderPackageSchema: z.ZodObject<{
234
+ provider: z.ZodObject<{
235
+ id: z.ZodString;
236
+ kind: z.ZodString;
237
+ label: z.ZodString;
238
+ enabled: z.ZodBoolean;
239
+ config: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
240
+ createdAt: z.ZodString;
241
+ updatedAt: z.ZodString;
242
+ }, z.core.$strip>;
243
+ session: z.ZodNullable<z.ZodObject<{
244
+ schemaVersion: z.ZodOptional<z.ZodNumber>;
245
+ source: z.ZodString;
246
+ capturedAt: z.ZodString;
247
+ origin: z.ZodString;
248
+ cookies: z.ZodDefault<z.ZodArray<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>>;
249
+ localStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
250
+ sessionStorage: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
251
+ headers: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
252
+ metadata: z.ZodDefault<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
253
+ integration: z.ZodOptional<z.ZodObject<{
254
+ label: z.ZodOptional<z.ZodString>;
255
+ enabled: z.ZodOptional<z.ZodBoolean>;
256
+ models: z.ZodOptional<z.ZodArray<z.ZodString>>;
257
+ defaultModel: z.ZodOptional<z.ZodString>;
258
+ }, z.core.$strict>>;
259
+ transport: z.ZodOptional<z.ZodObject<{
260
+ family: z.ZodEnum<{
261
+ "http-sse": "http-sse";
262
+ "http-json": "http-json";
263
+ "http-connect": "http-connect";
264
+ }>;
265
+ prompt: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
266
+ binding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
267
+ session: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
268
+ request: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
269
+ response: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
270
+ seedBinding: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
271
+ bootstrap: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
272
+ preflight: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
273
+ }, z.core.$strict>>;
274
+ }, z.core.$strict>>;
275
+ }, z.core.$strict>;
276
+ createInMemorySessionPackageStore: typeof createInMemorySessionPackageStore;
277
+ buildSessionPackageStatus: typeof buildSessionPackageStatus;
278
+ cloneProvider: typeof cloneProvider;
279
+ cloneConfig: typeof cloneConfig;
280
+ cloneSessionPackage: typeof cloneSessionPackage;
281
+ cloneSessionPackageMetadata: typeof cloneSessionPackageMetadata;
282
+ cloneInstalledProviderPackage: typeof cloneInstalledProviderPackage;
283
+ buildSessionPackageMetadata: typeof buildSessionPackageMetadata;
284
+ inferProviderFromSessionPackage: typeof inferProviderFromSessionPackage;
285
+ };
286
+ export type { InstalledProviderPackage, SessionPackageDeleteResponse, SessionPackageMetadata, SessionPackageRecord, SessionPackageStore };