@dbx-tools/cli 0.9.154 → 0.9.158

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 (123) hide show
  1. package/bin/dbx-genie.ts +3 -2
  2. package/index.appkit.ts +9 -0
  3. package/index.auth.ts +9 -0
  4. package/index.brand.ts +18 -0
  5. package/index.genie-code.ts +18 -0
  6. package/index.graphiti.ts +7 -0
  7. package/index.lakebase-proxy.ts +18 -0
  8. package/index.model-gateway.ts +9 -0
  9. package/index.ts +5 -61
  10. package/index.tunnel.ts +14 -0
  11. package/lib/bin/dbx-genie.js +4 -3
  12. package/lib/index.appkit.d.ts +5 -0
  13. package/lib/index.appkit.js +8 -0
  14. package/lib/index.auth.d.ts +5 -0
  15. package/lib/index.auth.js +8 -0
  16. package/lib/index.brand.d.ts +14 -0
  17. package/lib/index.brand.js +14 -0
  18. package/lib/index.d.ts +5 -61
  19. package/lib/index.genie-code.d.ts +14 -0
  20. package/lib/index.genie-code.js +14 -0
  21. package/lib/index.graphiti.d.ts +3 -0
  22. package/lib/index.graphiti.js +6 -0
  23. package/lib/index.js +6 -43
  24. package/lib/index.lakebase-proxy.d.ts +14 -0
  25. package/lib/index.lakebase-proxy.js +14 -0
  26. package/lib/index.model-gateway.d.ts +5 -0
  27. package/lib/index.model-gateway.js +8 -0
  28. package/lib/index.tunnel.d.ts +10 -0
  29. package/lib/index.tunnel.js +12 -0
  30. package/lib/src/appkit/cli.d.ts +1 -2
  31. package/lib/src/appkit/cli.js +4 -5
  32. package/lib/src/auth/cli.d.ts +2 -2
  33. package/lib/src/auth/cli.js +2 -3
  34. package/lib/src/auth/options.d.ts +2 -2
  35. package/lib/src/auth/options.js +4 -6
  36. package/lib/src/bootstrap.js +10 -14
  37. package/lib/src/brand/options.js +2 -2
  38. package/lib/src/brand/run.js +6 -8
  39. package/lib/src/brand/showcase.js +5 -5
  40. package/lib/src/bun.js +6 -6
  41. package/lib/src/genie-code/cli.d.ts +2 -2
  42. package/lib/src/genie-code/cli.js +4 -4
  43. package/lib/src/genie-code/config.d.ts +1 -1
  44. package/lib/src/genie-code/config.js +7 -7
  45. package/lib/src/genie-code/install.d.ts +2 -2
  46. package/lib/src/genie-code/install.js +4 -4
  47. package/lib/src/genie-code/runner.d.ts +2 -3
  48. package/lib/src/genie-code/runner.js +13 -11
  49. package/lib/src/genie-code/runtime.d.ts +3 -3
  50. package/lib/src/genie-code/runtime.js +10 -9
  51. package/lib/src/graphiti/cli.d.ts +2 -3
  52. package/lib/src/graphiti/cli.js +7 -8
  53. package/lib/src/lakebase-proxy/cli.d.ts +1 -2
  54. package/lib/src/lakebase-proxy/cli.js +3 -4
  55. package/lib/src/lakebase-proxy/options.js +7 -9
  56. package/lib/src/lakebase-proxy/proxy.js +8 -8
  57. package/lib/src/model-gateway/cli.d.ts +2 -3
  58. package/lib/src/model-gateway/cli.js +3 -4
  59. package/lib/src/model-gateway/server.d.ts +1 -1
  60. package/lib/src/model-gateway/server.js +5 -6
  61. package/lib/src/root.js +3 -3
  62. package/lib/src/tunnel/app.js +7 -9
  63. package/lib/src/tunnel/cli.d.ts +1 -2
  64. package/lib/src/tunnel/cli.js +13 -14
  65. package/lib/src/tunnel/options.d.ts +5 -5
  66. package/lib/src/tunnel/options.js +11 -11
  67. package/lib/src/tunnel/proxy.js +18 -17
  68. package/lib/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +58 -177
  70. package/src/appkit/cli.ts +2 -4
  71. package/src/auth/cli.ts +2 -4
  72. package/src/auth/options.ts +3 -5
  73. package/src/bootstrap.ts +9 -13
  74. package/src/brand/options.ts +1 -1
  75. package/src/brand/run.ts +7 -7
  76. package/src/brand/showcase.ts +4 -4
  77. package/src/bun.ts +6 -6
  78. package/src/genie-code/cli.ts +4 -4
  79. package/src/genie-code/config.ts +6 -6
  80. package/src/genie-code/install.ts +5 -7
  81. package/src/genie-code/runner.ts +12 -11
  82. package/src/genie-code/runtime.ts +10 -10
  83. package/src/graphiti/cli.ts +13 -9
  84. package/src/lakebase-proxy/cli.ts +7 -3
  85. package/src/lakebase-proxy/options.ts +13 -8
  86. package/src/lakebase-proxy/proxy.ts +7 -7
  87. package/src/model-gateway/cli.ts +7 -3
  88. package/src/model-gateway/server.ts +9 -5
  89. package/src/root.ts +2 -2
  90. package/src/tunnel/app.ts +6 -8
  91. package/src/tunnel/cli.ts +21 -15
  92. package/src/tunnel/options.ts +23 -15
  93. package/src/tunnel/proxy.ts +29 -20
  94. package/lib/src/appkit/index.d.ts +0 -5
  95. package/lib/src/appkit/index.js +0 -8
  96. package/lib/src/auth/index.d.ts +0 -5
  97. package/lib/src/auth/index.js +0 -8
  98. package/lib/src/brand/index.d.ts +0 -10
  99. package/lib/src/brand/index.js +0 -10
  100. package/lib/src/genie-code/index.d.ts +0 -12
  101. package/lib/src/genie-code/index.js +0 -12
  102. package/lib/src/genie-code/options.d.ts +0 -7
  103. package/lib/src/genie-code/options.js +0 -7
  104. package/lib/src/graphiti/index.d.ts +0 -5
  105. package/lib/src/graphiti/index.js +0 -7
  106. package/lib/src/graphiti/options.d.ts +0 -117
  107. package/lib/src/graphiti/options.js +0 -26
  108. package/lib/src/lakebase-proxy/index.d.ts +0 -13
  109. package/lib/src/lakebase-proxy/index.js +0 -13
  110. package/lib/src/model-gateway/index.d.ts +0 -3
  111. package/lib/src/model-gateway/index.js +0 -6
  112. package/lib/src/tunnel/index.d.ts +0 -8
  113. package/lib/src/tunnel/index.js +0 -10
  114. package/src/appkit/index.ts +0 -9
  115. package/src/auth/index.ts +0 -9
  116. package/src/brand/index.ts +0 -14
  117. package/src/genie-code/index.ts +0 -16
  118. package/src/genie-code/options.ts +0 -14
  119. package/src/graphiti/index.ts +0 -9
  120. package/src/graphiti/options.ts +0 -40
  121. package/src/lakebase-proxy/index.ts +0 -17
  122. package/src/model-gateway/index.ts +0 -7
  123. package/src/tunnel/index.ts +0 -12
package/src/tunnel/cli.ts CHANGED
@@ -24,17 +24,23 @@
24
24
 
25
25
  import { createServer } from "node:net";
26
26
  import { addArgs, parseArgs } from "@dbx-tools/cli-args";
27
- import { exec } from "@dbx-tools/core";
28
- import type { ChildProcessResult } from "@dbx-tools/core/exec";
27
+ import { spawn } from "@dbx-tools/core";
28
+ import type { ChildProcessResult } from "@dbx-tools/core";
29
29
  import { log } from "@dbx-tools/shared-core";
30
- import { frp, interceptor, portr } from "@dbx-tools/tunnel";
30
+ import {
31
+ installFrp,
32
+ writeFrpConfig,
33
+ startFrp,
34
+ TunnelTransportSchema,
35
+ installPortr,
36
+ writePortrConfig,
37
+ startPortr,
38
+ } from "@dbx-tools/tunnel";
31
39
  import { Command, CommanderError } from "commander";
32
40
 
33
41
  import { resolveTunnelOptions, TunnelOptionsSchema, type TunnelOptions } from "./options.ts";
34
42
  import { startProxy } from "./proxy.ts";
35
43
 
36
- export { CommanderError };
37
-
38
44
  const logger = log.logger("tunnel");
39
45
 
40
46
  /**
@@ -89,7 +95,7 @@ async function run(raw: TunnelOptions, command: readonly string[]): Promise<void
89
95
  let appPort: number;
90
96
  if (executable) {
91
97
  appPort = resolved.appPort ?? (await freePort());
92
- const app = exec.spawn(executable, args, {
98
+ const app = spawn(executable, args, {
93
99
  env: {
94
100
  ...process.env,
95
101
  DATABRICKS_APP_PORT: String(appPort),
@@ -137,14 +143,14 @@ async function run(raw: TunnelOptions, command: readonly string[]): Promise<void
137
143
  });
138
144
 
139
145
  if ((resolved.transport === "portr" || resolved.transport === "both") && resolved.portr) {
140
- const portrEnv = await portr.installPortr();
141
- await portr.writePortrConfig(resolved.portr, portrEnv);
142
- children.push(portr.startPortr(resolved.portr, portrEnv));
146
+ const portrEnv = await installPortr();
147
+ await writePortrConfig(resolved.portr, portrEnv);
148
+ children.push(startPortr(resolved.portr, portrEnv));
143
149
  }
144
150
  if ((resolved.transport === "frp" || resolved.transport === "both") && resolved.frp) {
145
- const frpEnv = await frp.installFrp();
146
- const configPath = await frp.writeFrpConfig(resolved.frp, frpEnv);
147
- children.push(frp.startFrp(resolved.frp, frpEnv, configPath));
151
+ const frpEnv = await installFrp();
152
+ const configPath = await writeFrpConfig(resolved.frp, frpEnv);
153
+ children.push(startFrp(resolved.frp, frpEnv, configPath));
148
154
  }
149
155
  const activeTunnelCount = children.length - (executable ? 1 : 0);
150
156
  if (!activeTunnelCount) {
@@ -201,9 +207,9 @@ export function buildProgram(name = "dbx tunnel"): Command {
201
207
  .argument("[transport]", "portr, frp, or both", "portr")
202
208
  .description("Install public tunnel client binaries and exit")
203
209
  .action(async (transport: string) => {
204
- const parsed = interceptor.TunnelTransportSchema.parse(transport);
205
- if (parsed === "portr" || parsed === "both") await portr.installPortr();
206
- if (parsed === "frp" || parsed === "both") await frp.installFrp();
210
+ const parsed = TunnelTransportSchema.parse(transport);
211
+ if (parsed === "portr" || parsed === "both") await installPortr();
212
+ if (parsed === "frp" || parsed === "both") await installFrp();
207
213
  });
208
214
 
209
215
  return program;
@@ -13,17 +13,25 @@
13
13
  */
14
14
 
15
15
  import { configUtils } from "@dbx-tools/core";
16
- import { options as sharedOptions, stringUtils } from "@dbx-tools/shared-core";
17
- import { type AuthGateConfig, frp, interceptor, plugin, portr } from "@dbx-tools/tunnel";
16
+ import { tcpPortOrZeroSchema, databricksEnvironmentNames, parseList } from "@dbx-tools/shared-core";
17
+ import {
18
+ type AuthGateConfig,
19
+ resolveFrpConfig,
20
+ TunnelTransportSchema,
21
+ type TunnelTransport,
22
+ resolveTunnelTransport,
23
+ type ResolvedAuthGateConfig,
24
+ resolveAuthGateConfig,
25
+ resolvePortrConfig,
26
+ } from "@dbx-tools/tunnel";
18
27
  import { z } from "zod";
19
28
 
20
29
  const text = (description: string) => z.string().trim().min(1).optional().describe(description);
21
- const port = (description: string) =>
22
- sharedOptions.tcpPortOrZeroSchema.optional().describe(description);
30
+ const port = (description: string) => tcpPortOrZeroSchema.optional().describe(description);
23
31
  const list = (description: string) =>
24
32
  z
25
33
  .preprocess(
26
- (value) => (typeof value === "string" ? stringUtils.parseList(value) : value),
34
+ (value) => (typeof value === "string" ? parseList(value) : value),
27
35
  z.array(z.string().trim().min(1)),
28
36
  )
29
37
  .optional()
@@ -31,13 +39,13 @@ const list = (description: string) =>
31
39
 
32
40
  export const TunnelOptionsSchema = z
33
41
  .object({
34
- transport: interceptor.TunnelTransportSchema.optional()
42
+ transport: TunnelTransportSchema.optional()
35
43
  .describe("Public tunnel transport.")
36
44
  .meta({ env: "TUNNEL_TRANSPORT" }),
37
45
  publicDomain: text("Public tunnel domain.").meta({ env: "TUNNEL_PUBLIC_DOMAIN" }),
38
46
  subdomain: text("Portr subdomain."),
39
47
  port: port("Public listener port.").meta({
40
- env: sharedOptions.databricksEnvironmentNames.appPort,
48
+ env: databricksEnvironmentNames.appPort,
41
49
  }),
42
50
  appPort: port("Private wrapped application port.").meta({
43
51
  env: ["TUNNEL_APP_PORT", "APP_PORT"],
@@ -106,7 +114,7 @@ export interface ResolvedTunnelOptions {
106
114
  appPort?: number;
107
115
  /** Interface IPs the gate listens on. Empty means the default (0.0.0.0). */
108
116
  bindHosts: string[];
109
- transport: interceptor.TunnelTransport;
117
+ transport: TunnelTransport;
110
118
  /**
111
119
  * The gate config as the `authGate` PLUGIN takes it - flags only, nothing
112
120
  * resolved. Passed straight to the plugin so it applies its own fallbacks
@@ -114,9 +122,9 @@ export interface ResolvedTunnelOptions {
114
122
  */
115
123
  gateConfig: AuthGateConfig;
116
124
  /** The same config after the plugin's resolution, for `status` and for routing. */
117
- gate: plugin.ResolvedAuthGateConfig;
118
- portr: ReturnType<typeof portr.resolvePortrConfig>;
119
- frp: ReturnType<typeof frp.resolveFrpConfig>;
125
+ gate: ResolvedAuthGateConfig;
126
+ portr: ReturnType<typeof resolvePortrConfig>;
127
+ frp: ReturnType<typeof resolveFrpConfig>;
120
128
  }
121
129
 
122
130
  /** Resolve CLI flag values through the owning tunnel and auth-gate configuration rules. */
@@ -146,8 +154,8 @@ export function resolveTunnelOptions(options: TunnelOptions): ResolvedTunnelOpti
146
154
  publicDomain: options.publicDomain,
147
155
  publicDomains: options.frpPublicDomain ? [options.frpPublicDomain] : undefined,
148
156
  };
149
- const gate = plugin.resolveAuthGateConfig(gateConfig);
150
- const transport = interceptor.resolveTunnelTransport(options.transport);
157
+ const gate = resolveAuthGateConfig(gateConfig);
158
+ const transport = resolveTunnelTransport(options.transport);
151
159
  return {
152
160
  publicPort,
153
161
  ...(appPort > 0 ? { appPort } : {}),
@@ -155,12 +163,12 @@ export function resolveTunnelOptions(options: TunnelOptions): ResolvedTunnelOpti
155
163
  transport,
156
164
  gateConfig,
157
165
  gate,
158
- portr: portr.resolvePortrConfig({
166
+ portr: resolvePortrConfig({
159
167
  publicDomain: gate.publicDomain,
160
168
  subdomain: options.subdomain,
161
169
  port: publicPort,
162
170
  }),
163
- frp: frp.resolveFrpConfig({
171
+ frp: resolveFrpConfig({
164
172
  publicDomain: options.frpPublicDomain,
165
173
  server: options.frpServer,
166
174
  serverPort: options.frpServerPort,
@@ -19,12 +19,21 @@
19
19
 
20
20
  import { createServer, type IncomingMessage, type ServerResponse } from "node:http";
21
21
  import type { Socket } from "node:net";
22
- import { errorUtils, log } from "@dbx-tools/shared-core";
22
+ import { isAuthPath } from "@dbx-tools/shared-auth";
23
+ import { log, toError } from "@dbx-tools/shared-core";
23
24
  import {
24
- gate as tunnelGate,
25
- headers as tunnelHeaders,
26
- loginPage as tunnelLoginPage,
27
25
  type AuthGateApi,
26
+ wantsHostedLogin,
27
+ loginReturnTo,
28
+ webRequest,
29
+ sendWebResponse,
30
+ type GateAction,
31
+ gateRequest,
32
+ wantsLoginPage,
33
+ requestReturnTo,
34
+ unauthorizedBody,
35
+ toHeaderPolicy,
36
+ loginPageHtml,
28
37
  } from "@dbx-tools/tunnel";
29
38
  import ProxyModule from "http-proxy-3";
30
39
 
@@ -81,20 +90,20 @@ async function handleAuthRoute(
81
90
  brandName: string,
82
91
  passkeyNamePrefix?: string,
83
92
  ): Promise<boolean> {
84
- if (!tunnelGate.isAuthPath(path)) return false;
85
- if (tunnelGate.wantsHostedLogin(request)) {
93
+ if (!isAuthPath(path)) return false;
94
+ if (wantsHostedLogin(request)) {
86
95
  response.writeHead(200, { "content-type": "text/html; charset=utf-8" });
87
96
  response.end(
88
- tunnelLoginPage.loginPageHtml({
97
+ loginPageHtml({
89
98
  brandName,
90
99
  passkeyNamePrefix,
91
- returnTo: tunnelGate.loginReturnTo(request),
100
+ returnTo: loginReturnTo(request),
92
101
  }),
93
102
  );
94
103
  return true;
95
104
  }
96
- const result = await gate.handler(tunnelGate.webRequest(request));
97
- await tunnelGate.sendWebResponse(response, result);
105
+ const result = await gate.handler(webRequest(request));
106
+ await sendWebResponse(response, result);
98
107
  return true;
99
108
  }
100
109
 
@@ -113,18 +122,18 @@ export async function startProxy(options: ProxyOptions): Promise<void> {
113
122
  ws: true,
114
123
  xfwd: true,
115
124
  });
116
- const headerPolicy = tunnelHeaders.toHeaderPolicy(options.forwardHeaders);
125
+ const headerPolicy = toHeaderPolicy(options.forwardHeaders);
117
126
  const gate = options.gate;
118
127
 
119
- const decide = (request: IncomingMessage): Promise<tunnelGate.GateAction> =>
128
+ const decide = (request: IncomingMessage): Promise<GateAction> =>
120
129
  gate
121
- ? tunnelGate.gateRequest(request, {
130
+ ? gateRequest(request, {
122
131
  gate,
123
132
  publicDomain: (request.headers.host ?? "").split(":")[0] || "localhost",
124
133
  headerPolicy,
125
134
  gatePaths: options.gatePaths,
126
135
  })
127
- : Promise.resolve<tunnelGate.GateAction>("pass");
136
+ : Promise.resolve<GateAction>("pass");
128
137
 
129
138
  const onRequest = (request: IncomingMessage, response: ServerResponse): void => {
130
139
  void (async () => {
@@ -140,22 +149,22 @@ export async function startProxy(options: ProxyOptions): Promise<void> {
140
149
  if ((await decide(request)) === "deny") {
141
150
  // A denied browser navigation gets the hosted login page; anything else
142
151
  // (an XHR, a /ws upgrade probe, a non-HTML fetch) gets the 401 JSON.
143
- if (gate && tunnelGate.wantsLoginPage(request)) {
144
- const html = tunnelLoginPage.loginPageHtml({
152
+ if (gate && wantsLoginPage(request)) {
153
+ const html = loginPageHtml({
145
154
  brandName,
146
155
  passkeyNamePrefix,
147
- returnTo: tunnelGate.requestReturnTo(request),
156
+ returnTo: requestReturnTo(request),
148
157
  });
149
158
  response.writeHead(401, { "content-type": "text/html; charset=utf-8" });
150
159
  response.end(html);
151
160
  } else {
152
- sendJson(response, 401, tunnelGate.unauthorizedBody(request));
161
+ sendJson(response, 401, unauthorizedBody(request));
153
162
  }
154
163
  return;
155
164
  }
156
165
  proxy.web(request, response);
157
166
  })().catch((error: unknown) => {
158
- logger.error("proxy request failed", { error: errorUtils.toError(error) });
167
+ logger.error("proxy request failed", { error: toError(error) });
159
168
  if (!response.headersSent) sendJson(response, 502, { error: "bad gateway" });
160
169
  else response.end();
161
170
  });
@@ -168,7 +177,7 @@ export async function startProxy(options: ProxyOptions): Promise<void> {
168
177
  const upgradeSocket = socket as UpgradeSocket;
169
178
  upgradeSocket.destroySoon ??= () => upgradeSocket.end();
170
179
  const path = (request.url ?? "/").split("?", 1)[0] ?? "/";
171
- if (tunnelGate.isAuthPath(path)) {
180
+ if (isAuthPath(path)) {
172
181
  upgradeSocket.destroy();
173
182
  return;
174
183
  }
@@ -1,5 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as envExport from "./env-export.ts";
3
- export { CommanderError } from "./cli.ts";
4
- export { EnvExportFormatSchema, EnvCommandOptionsSchema } from "./env-export.ts";
5
- export type { EnvExportFormat, EnvCommandOptions } from "./env-export.ts";
@@ -1,8 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as envExport from "./env-export.js";
6
- export { CommanderError } from "./cli.js";
7
- export { EnvExportFormatSchema, EnvCommandOptionsSchema } from "./env-export.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwa2l0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxtREFBbUQ7QUFDbkQsd0VBQXdFO0FBRXhFLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCAqIGFzIGNsaSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIGVudkV4cG9ydCBmcm9tIFwiLi9lbnYtZXhwb3J0LnRzXCI7XG5leHBvcnQgeyBDb21tYW5kZXJFcnJvciB9IGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0IHsgRW52RXhwb3J0Rm9ybWF0U2NoZW1hLCBFbnZDb21tYW5kT3B0aW9uc1NjaGVtYSB9IGZyb20gXCIuL2Vudi1leHBvcnQudHNcIjtcbmV4cG9ydCB0eXBlIHsgRW52RXhwb3J0Rm9ybWF0LCBFbnZDb21tYW5kT3B0aW9ucyB9IGZyb20gXCIuL2Vudi1leHBvcnQudHNcIjtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as options from "./options.ts";
3
- export { CommanderError } from "./cli.ts";
4
- export { AuthCliOptionsSchema, TokenCommandOptionsSchema } from "./options.ts";
5
- export type { AuthCliOptions, TokenCommandOptions } from "./options.ts";
@@ -1,8 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as options from "./options.js";
6
- export { CommanderError } from "./cli.js";
7
- export { AuthCliOptionsSchema, TokenCommandOptionsSchema } from "./options.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxPQUFPLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCAqIGFzIGNsaSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIG9wdGlvbnMgZnJvbSBcIi4vb3B0aW9ucy50c1wiO1xuZXhwb3J0IHsgQ29tbWFuZGVyRXJyb3IgfSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCB7IEF1dGhDbGlPcHRpb25zU2NoZW1hLCBUb2tlbkNvbW1hbmRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBBdXRoQ2xpT3B0aW9ucywgVG9rZW5Db21tYW5kT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbiJdfQ==
@@ -1,10 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as exportModule from "./export.ts";
3
- export * as options from "./options.ts";
4
- export * as run from "./run.ts";
5
- export * as showcase from "./showcase.ts";
6
- export type { BrandCliDependencies } from "./cli.ts";
7
- export type { WriteBrandPackageOptions, WrittenBrandPackage } from "./export.ts";
8
- export { BrandExportOptionsSchema } from "./options.ts";
9
- export type { BrandExportOptions } from "./options.ts";
10
- export type { BrandExportCallbacks } from "./run.ts";
@@ -1,10 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as exportModule from "./export.js";
6
- export * as options from "./options.js";
7
- export * as run from "./run.js";
8
- export * as showcase from "./showcase.js";
9
- export { BrandExportOptionsSchema } from "./options.js";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnJhbmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQUNuRCx3RUFBd0U7QUFFeEUsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxLQUFLLFlBQVksTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgY2xpIGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgZXhwb3J0TW9kdWxlIGZyb20gXCIuL2V4cG9ydC50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBydW4gZnJvbSBcIi4vcnVuLnRzXCI7XG5leHBvcnQgKiBhcyBzaG93Y2FzZSBmcm9tIFwiLi9zaG93Y2FzZS50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZENsaURlcGVuZGVuY2llcyB9IGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0IHR5cGUgeyBXcml0ZUJyYW5kUGFja2FnZU9wdGlvbnMsIFdyaXR0ZW5CcmFuZFBhY2thZ2UgfSBmcm9tIFwiLi9leHBvcnQudHNcIjtcbmV4cG9ydCB7IEJyYW5kRXhwb3J0T3B0aW9uc1NjaGVtYSB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgQnJhbmRFeHBvcnRPcHRpb25zIH0gZnJvbSBcIi4vb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBCcmFuZEV4cG9ydENhbGxiYWNrcyB9IGZyb20gXCIuL3J1bi50c1wiO1xuIl19
@@ -1,12 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as config from "./config.ts";
3
- export * as install from "./install.ts";
4
- export * as options from "./options.ts";
5
- export * as runner from "./runner.ts";
6
- export * as runtime from "./runtime.ts";
7
- export type { GenieCodeCliDependencies } from "./cli.ts";
8
- export { GENIE_CODE_GATEWAY_PROVIDER } from "./config.ts";
9
- export type { WriteGenieCodeConfigOptions, GenieCodeProfileHome, GenieCodeHome } from "./config.ts";
10
- export type { InstallGenieCodeOptions } from "./install.ts";
11
- export { RUNNER_OPTIONS_ENV } from "./runner.ts";
12
- export type { GenieCodeRuntimeDependencies, RunGenieCodeOptions, PreparedGenieCodeRuntime } from "./runtime.ts";
@@ -1,12 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as config from "./config.js";
6
- export * as install from "./install.js";
7
- export * as options from "./options.js";
8
- export * as runner from "./runner.js";
9
- export * as runtime from "./runtime.js";
10
- export { GENIE_CODE_GATEWAY_PROVIDER } from "./config.js";
11
- export { RUNNER_OPTIONS_ENV } from "./runner.js";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuaWUtY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxPQUFPLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgY2xpIGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgY29uZmlnIGZyb20gXCIuL2NvbmZpZy50c1wiO1xuZXhwb3J0ICogYXMgaW5zdGFsbCBmcm9tIFwiLi9pbnN0YWxsLnRzXCI7XG5leHBvcnQgKiBhcyBvcHRpb25zIGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIHJ1bm5lciBmcm9tIFwiLi9ydW5uZXIudHNcIjtcbmV4cG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSBcIi4vcnVudGltZS50c1wiO1xuZXhwb3J0IHR5cGUgeyBHZW5pZUNvZGVDbGlEZXBlbmRlbmNpZXMgfSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCB7IEdFTklFX0NPREVfR0FURVdBWV9QUk9WSURFUiB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBXcml0ZUdlbmllQ29kZUNvbmZpZ09wdGlvbnMsIEdlbmllQ29kZVByb2ZpbGVIb21lLCBHZW5pZUNvZGVIb21lIH0gZnJvbSBcIi4vY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IEluc3RhbGxHZW5pZUNvZGVPcHRpb25zIH0gZnJvbSBcIi4vaW5zdGFsbC50c1wiO1xuZXhwb3J0IHsgUlVOTkVSX09QVElPTlNfRU5WIH0gZnJvbSBcIi4vcnVubmVyLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdlbmllQ29kZVJ1bnRpbWVEZXBlbmRlbmNpZXMsIFJ1bkdlbmllQ29kZU9wdGlvbnMsIFByZXBhcmVkR2VuaWVDb2RlUnVudGltZSB9IGZyb20gXCIuL3J1bnRpbWUudHNcIjtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- /**
2
- * CLI projection of the shared managed Genie Code options.
3
- *
4
- * @module
5
- */
6
- export { GenieCodeOptionsSchema as GenieCodeCliOptionsSchema, resolveGenieCodeOptions as resolveGenieCodeCliOptions, } from "@dbx-tools/shared-genie-code/options";
7
- export type { GenieCodeOptions as GenieCodeCliOptions, ResolvedGenieCodeOptions as ResolvedGenieCodeCliOptions, } from "@dbx-tools/shared-genie-code/options";
@@ -1,7 +0,0 @@
1
- /**
2
- * CLI projection of the shared managed Genie Code options.
3
- *
4
- * @module
5
- */
6
- export { GenieCodeOptionsSchema as GenieCodeCliOptionsSchema, resolveGenieCodeOptions as resolveGenieCodeCliOptions, } from "@dbx-tools/shared-genie-code/options";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5pZS1jb2RlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFDTCxzQkFBc0IsSUFBSSx5QkFBeUIsRUFDbkQsdUJBQXVCLElBQUksMEJBQTBCLEdBQ3RELE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENMSSBwcm9qZWN0aW9uIG9mIHRoZSBzaGFyZWQgbWFuYWdlZCBHZW5pZSBDb2RlIG9wdGlvbnMuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmV4cG9ydCB7XG4gIEdlbmllQ29kZU9wdGlvbnNTY2hlbWEgYXMgR2VuaWVDb2RlQ2xpT3B0aW9uc1NjaGVtYSxcbiAgcmVzb2x2ZUdlbmllQ29kZU9wdGlvbnMgYXMgcmVzb2x2ZUdlbmllQ29kZUNsaU9wdGlvbnMsXG59IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1nZW5pZS1jb2RlL29wdGlvbnNcIjtcbmV4cG9ydCB0eXBlIHtcbiAgR2VuaWVDb2RlT3B0aW9ucyBhcyBHZW5pZUNvZGVDbGlPcHRpb25zLFxuICBSZXNvbHZlZEdlbmllQ29kZU9wdGlvbnMgYXMgUmVzb2x2ZWRHZW5pZUNvZGVDbGlPcHRpb25zLFxufSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZ2VuaWUtY29kZS9vcHRpb25zXCI7XG4iXX0=
@@ -1,5 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as options from "./options.ts";
3
- export type { GraphitiCliDependencies, GraphitiServiceOptions } from "./cli.ts";
4
- export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./options.ts";
5
- export type { GraphitiOptions, ResolvedGraphitiOptions } from "./options.ts";
@@ -1,7 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as options from "./options.js";
6
- export { GRAPHITI_DEFAULTS, GraphitiCliOptionsSchema, GraphitiOptionsSchema, ResolvedGraphitiOptionsSchema, graphitiOptionOverrides, graphitiOptionsEnvironment, graphitiOptionsFromEnvironment, resolveGraphitiOptions } from "./options.js";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGhpdGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQUNuRCx3RUFBd0U7QUFFeEUsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgY2xpIGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IEdyYXBoaXRpQ2xpRGVwZW5kZW5jaWVzLCBHcmFwaGl0aVNlcnZpY2VPcHRpb25zIH0gZnJvbSBcIi4vY2xpLnRzXCI7XG5leHBvcnQgeyBHUkFQSElUSV9ERUZBVUxUUywgR3JhcGhpdGlDbGlPcHRpb25zU2NoZW1hLCBHcmFwaGl0aU9wdGlvbnNTY2hlbWEsIFJlc29sdmVkR3JhcGhpdGlPcHRpb25zU2NoZW1hLCBncmFwaGl0aU9wdGlvbk92ZXJyaWRlcywgZ3JhcGhpdGlPcHRpb25zRW52aXJvbm1lbnQsIGdyYXBoaXRpT3B0aW9uc0Zyb21FbnZpcm9ubWVudCwgcmVzb2x2ZUdyYXBoaXRpT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgR3JhcGhpdGlPcHRpb25zLCBSZXNvbHZlZEdyYXBoaXRpT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbiJdfQ==
@@ -1,117 +0,0 @@
1
- /**
2
- * Graphiti CLI option surface.
3
- *
4
- * The Node Graphiti runtime owns the complete shared option contract. This
5
- * module re-exports that surface without creating parallel CLI policy.
6
- *
7
- * @module
8
- */
9
- import { options } from "@dbx-tools/appkit-memory/graphiti";
10
- /** Graphiti defaults derived from the shared owning schema. */
11
- export declare const GRAPHITI_DEFAULTS: Readonly<{
12
- modelClass: "chat-thinking" | "chat-balanced" | "chat-fast";
13
- temperature: number;
14
- structuredOutputMode: string;
15
- startupTimeoutMs: number;
16
- listen: {
17
- scheme: "tcp";
18
- host: string;
19
- port: number;
20
- };
21
- databaseSchema: string;
22
- postgresRole?: string | undefined;
23
- profile?: string | undefined;
24
- bearer?: string | undefined;
25
- graphitiHome?: string | undefined;
26
- databaseUrl?: string | undefined;
27
- }>;
28
- /** Graphiti options represented as Commander flags. */
29
- export declare const GraphitiCliOptionsSchema: import("zod").ZodObject<{
30
- postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
31
- profile: import("zod").ZodOptional<import("zod").ZodString>;
32
- bearer: import("zod").ZodOptional<import("zod").ZodString>;
33
- graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
34
- modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
35
- "chat-thinking": "chat-thinking";
36
- "chat-balanced": "chat-balanced";
37
- "chat-fast": "chat-fast";
38
- }>>>;
39
- temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
40
- structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
41
- startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
42
- listen: import("zod").ZodDefault<import("zod").ZodType<{
43
- scheme: "tcp";
44
- host: string;
45
- port: number;
46
- }, unknown, import("zod/v4/core").$ZodTypeInternals<{
47
- scheme: "tcp";
48
- host: string;
49
- port: number;
50
- }, unknown>>>;
51
- databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
52
- databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
53
- }, import("zod/v4/core").$strict>;
54
- /** Shared Graphiti option schema used by the CLI runtime. */
55
- export declare const GraphitiOptionsSchema: import("zod").ZodObject<{
56
- postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
57
- profile: import("zod").ZodOptional<import("zod").ZodString>;
58
- bearer: import("zod").ZodOptional<import("zod").ZodString>;
59
- graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
60
- modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
61
- "chat-thinking": "chat-thinking";
62
- "chat-balanced": "chat-balanced";
63
- "chat-fast": "chat-fast";
64
- }>>>;
65
- temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
66
- structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
67
- startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
68
- listen: import("zod").ZodDefault<import("zod").ZodType<{
69
- scheme: "tcp";
70
- host: string;
71
- port: number;
72
- }, unknown, import("zod/v4/core").$ZodTypeInternals<{
73
- scheme: "tcp";
74
- host: string;
75
- port: number;
76
- }, unknown>>>;
77
- databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
78
- databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
79
- }, import("zod/v4/core").$strict>;
80
- /** Schema for Graphiti options after defaults are resolved. */
81
- export declare const ResolvedGraphitiOptionsSchema: import("zod").ZodObject<{
82
- postgresRole: import("zod").ZodOptional<import("zod").ZodString>;
83
- profile: import("zod").ZodOptional<import("zod").ZodString>;
84
- bearer: import("zod").ZodOptional<import("zod").ZodString>;
85
- graphitiHome: import("zod").ZodOptional<import("zod").ZodString>;
86
- modelClass: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<{
87
- "chat-thinking": "chat-thinking";
88
- "chat-balanced": "chat-balanced";
89
- "chat-fast": "chat-fast";
90
- }>>>;
91
- temperature: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
92
- structuredOutputMode: import("zod").ZodDefault<import("zod").ZodString>;
93
- startupTimeoutMs: import("zod").ZodDefault<import("zod").ZodCoercedNumber<number>>;
94
- listen: import("zod").ZodDefault<import("zod").ZodType<{
95
- scheme: "tcp";
96
- host: string;
97
- port: number;
98
- }, unknown, import("zod/v4/core").$ZodTypeInternals<{
99
- scheme: "tcp";
100
- host: string;
101
- port: number;
102
- }, unknown>>>;
103
- databaseUrl: import("zod").ZodOptional<import("zod").ZodString>;
104
- databaseSchema: import("zod").ZodDefault<import("zod").ZodString>;
105
- }, import("zod/v4/core").$strict>;
106
- /** Keep only explicitly supplied Graphiti fields and validate their values. */
107
- export declare const graphitiOptionOverrides: typeof options.graphitiOptionOverrides;
108
- /** Serialize Graphiti options into the Python runtime environment. */
109
- export declare const graphitiOptionsEnvironment: typeof options.graphitiOptionsEnvironment;
110
- /** Parse Graphiti option overrides from an environment record. */
111
- export declare const graphitiOptionsFromEnvironment: typeof options.graphitiOptionsFromEnvironment;
112
- /** Apply shared defaults and validate Graphiti runtime invariants. */
113
- export declare const resolveGraphitiOptions: typeof options.resolveGraphitiOptions;
114
- /** Graphiti option inputs accepted by the CLI. */
115
- export type GraphitiOptions = options.GraphitiOptions;
116
- /** Graphiti options after shared defaults are resolved. */
117
- export type ResolvedGraphitiOptions = options.ResolvedGraphitiOptions;
@@ -1,26 +0,0 @@
1
- /**
2
- * Graphiti CLI option surface.
3
- *
4
- * The Node Graphiti runtime owns the complete shared option contract. This
5
- * module re-exports that surface without creating parallel CLI policy.
6
- *
7
- * @module
8
- */
9
- import { options } from "@dbx-tools/appkit-memory/graphiti";
10
- /** Graphiti defaults derived from the shared owning schema. */
11
- export const GRAPHITI_DEFAULTS = options.GRAPHITI_DEFAULTS;
12
- /** Graphiti options represented as Commander flags. */
13
- export const GraphitiCliOptionsSchema = options.GraphitiCliOptionsSchema;
14
- /** Shared Graphiti option schema used by the CLI runtime. */
15
- export const GraphitiOptionsSchema = options.GraphitiOptionsSchema;
16
- /** Schema for Graphiti options after defaults are resolved. */
17
- export const ResolvedGraphitiOptionsSchema = options.ResolvedGraphitiOptionsSchema;
18
- /** Keep only explicitly supplied Graphiti fields and validate their values. */
19
- export const graphitiOptionOverrides = options.graphitiOptionOverrides;
20
- /** Serialize Graphiti options into the Python runtime environment. */
21
- export const graphitiOptionsEnvironment = options.graphitiOptionsEnvironment;
22
- /** Parse Graphiti option overrides from an environment record. */
23
- export const graphitiOptionsFromEnvironment = options.graphitiOptionsFromEnvironment;
24
- /** Apply shared defaults and validate Graphiti runtime invariants. */
25
- export const resolveGraphitiOptions = options.resolveGraphitiOptions;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaGl0aS9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFNUQsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztBQUUzRCx1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0FBRXpFLDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUM7QUFFbkUsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQztBQUVuRiwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDO0FBRXZFLHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUM7QUFFN0Usa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztBQUVyRixzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaGl0aSBDTEkgb3B0aW9uIHN1cmZhY2UuXG4gKlxuICogVGhlIE5vZGUgR3JhcGhpdGkgcnVudGltZSBvd25zIHRoZSBjb21wbGV0ZSBzaGFyZWQgb3B0aW9uIGNvbnRyYWN0LiBUaGlzXG4gKiBtb2R1bGUgcmUtZXhwb3J0cyB0aGF0IHN1cmZhY2Ugd2l0aG91dCBjcmVhdGluZyBwYXJhbGxlbCBDTEkgcG9saWN5LlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBvcHRpb25zIH0gZnJvbSBcIkBkYngtdG9vbHMvYXBwa2l0LW1lbW9yeS9ncmFwaGl0aVwiO1xuXG4vKiogR3JhcGhpdGkgZGVmYXVsdHMgZGVyaXZlZCBmcm9tIHRoZSBzaGFyZWQgb3duaW5nIHNjaGVtYS4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSElUSV9ERUZBVUxUUyA9IG9wdGlvbnMuR1JBUEhJVElfREVGQVVMVFM7XG5cbi8qKiBHcmFwaGl0aSBvcHRpb25zIHJlcHJlc2VudGVkIGFzIENvbW1hbmRlciBmbGFncy4gKi9cbmV4cG9ydCBjb25zdCBHcmFwaGl0aUNsaU9wdGlvbnNTY2hlbWEgPSBvcHRpb25zLkdyYXBoaXRpQ2xpT3B0aW9uc1NjaGVtYTtcblxuLyoqIFNoYXJlZCBHcmFwaGl0aSBvcHRpb24gc2NoZW1hIHVzZWQgYnkgdGhlIENMSSBydW50aW1lLiAqL1xuZXhwb3J0IGNvbnN0IEdyYXBoaXRpT3B0aW9uc1NjaGVtYSA9IG9wdGlvbnMuR3JhcGhpdGlPcHRpb25zU2NoZW1hO1xuXG4vKiogU2NoZW1hIGZvciBHcmFwaGl0aSBvcHRpb25zIGFmdGVyIGRlZmF1bHRzIGFyZSByZXNvbHZlZC4gKi9cbmV4cG9ydCBjb25zdCBSZXNvbHZlZEdyYXBoaXRpT3B0aW9uc1NjaGVtYSA9IG9wdGlvbnMuUmVzb2x2ZWRHcmFwaGl0aU9wdGlvbnNTY2hlbWE7XG5cbi8qKiBLZWVwIG9ubHkgZXhwbGljaXRseSBzdXBwbGllZCBHcmFwaGl0aSBmaWVsZHMgYW5kIHZhbGlkYXRlIHRoZWlyIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBncmFwaGl0aU9wdGlvbk92ZXJyaWRlcyA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25PdmVycmlkZXM7XG5cbi8qKiBTZXJpYWxpemUgR3JhcGhpdGkgb3B0aW9ucyBpbnRvIHRoZSBQeXRob24gcnVudGltZSBlbnZpcm9ubWVudC4gKi9cbmV4cG9ydCBjb25zdCBncmFwaGl0aU9wdGlvbnNFbnZpcm9ubWVudCA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25zRW52aXJvbm1lbnQ7XG5cbi8qKiBQYXJzZSBHcmFwaGl0aSBvcHRpb24gb3ZlcnJpZGVzIGZyb20gYW4gZW52aXJvbm1lbnQgcmVjb3JkLiAqL1xuZXhwb3J0IGNvbnN0IGdyYXBoaXRpT3B0aW9uc0Zyb21FbnZpcm9ubWVudCA9IG9wdGlvbnMuZ3JhcGhpdGlPcHRpb25zRnJvbUVudmlyb25tZW50O1xuXG4vKiogQXBwbHkgc2hhcmVkIGRlZmF1bHRzIGFuZCB2YWxpZGF0ZSBHcmFwaGl0aSBydW50aW1lIGludmFyaWFudHMuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUdyYXBoaXRpT3B0aW9ucyA9IG9wdGlvbnMucmVzb2x2ZUdyYXBoaXRpT3B0aW9ucztcblxuLyoqIEdyYXBoaXRpIG9wdGlvbiBpbnB1dHMgYWNjZXB0ZWQgYnkgdGhlIENMSS4gKi9cbmV4cG9ydCB0eXBlIEdyYXBoaXRpT3B0aW9ucyA9IG9wdGlvbnMuR3JhcGhpdGlPcHRpb25zO1xuXG4vKiogR3JhcGhpdGkgb3B0aW9ucyBhZnRlciBzaGFyZWQgZGVmYXVsdHMgYXJlIHJlc29sdmVkLiAqL1xuZXhwb3J0IHR5cGUgUmVzb2x2ZWRHcmFwaGl0aU9wdGlvbnMgPSBvcHRpb25zLlJlc29sdmVkR3JhcGhpdGlPcHRpb25zO1xuIl19
@@ -1,13 +0,0 @@
1
- export * as cancellation from "./cancellation.ts";
2
- export * as cli from "./cli.ts";
3
- export * as options from "./options.ts";
4
- export * as protocol from "./protocol.ts";
5
- export * as proxy from "./proxy.ts";
6
- export { CancellationRegistry } from "./cancellation.ts";
7
- export type { CancellationTarget, CancellationForwarder } from "./cancellation.ts";
8
- export type { LakebaseProxyCliDependencies } from "./cli.ts";
9
- export { LakebaseProxyOptionsSchema, LakebaseProxyUrlOptionsSchema } from "./options.ts";
10
- export type { LakebaseProxyOptions, ResolvedLakebaseProxyOptions, LakebaseProxyUrlOptions } from "./options.ts";
11
- export { SSL_REQUEST, CANCEL_REQUEST, PROTOCOL_3, PostgresProtocolError } from "./protocol.ts";
12
- export type { StartupMessage, CancelMessage, InitialMessage } from "./protocol.ts";
13
- export { LakebaseProxy } from "./proxy.ts";
@@ -1,13 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cancellation from "./cancellation.js";
5
- export * as cli from "./cli.js";
6
- export * as options from "./options.js";
7
- export * as protocol from "./protocol.js";
8
- export * as proxy from "./proxy.js";
9
- export { CancellationRegistry } from "./cancellation.js";
10
- export { LakebaseProxyOptionsSchema, LakebaseProxyUrlOptionsSchema } from "./options.js";
11
- export { SSL_REQUEST, CANCEL_REQUEST, PROTOCOL_3, PostgresProtocolError } from "./protocol.js";
12
- export { LakebaseProxy } from "./proxy.js";
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFrZWJhc2UtcHJveHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQUNuRCx3RUFBd0U7QUFFeEUsT0FBTyxLQUFLLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgKiBhcyBjYW5jZWxsYXRpb24gZnJvbSBcIi4vY2FuY2VsbGF0aW9uLnRzXCI7XG5leHBvcnQgKiBhcyBjbGkgZnJvbSBcIi4vY2xpLnRzXCI7XG5leHBvcnQgKiBhcyBvcHRpb25zIGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCAqIGFzIHByb3RvY29sIGZyb20gXCIuL3Byb3RvY29sLnRzXCI7XG5leHBvcnQgKiBhcyBwcm94eSBmcm9tIFwiLi9wcm94eS50c1wiO1xuZXhwb3J0IHsgQ2FuY2VsbGF0aW9uUmVnaXN0cnkgfSBmcm9tIFwiLi9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCB0eXBlIHsgQ2FuY2VsbGF0aW9uVGFyZ2V0LCBDYW5jZWxsYXRpb25Gb3J3YXJkZXIgfSBmcm9tIFwiLi9jYW5jZWxsYXRpb24udHNcIjtcbmV4cG9ydCB0eXBlIHsgTGFrZWJhc2VQcm94eUNsaURlcGVuZGVuY2llcyB9IGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0IHsgTGFrZWJhc2VQcm94eU9wdGlvbnNTY2hlbWEsIExha2ViYXNlUHJveHlVcmxPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vb3B0aW9ucy50c1wiO1xuZXhwb3J0IHR5cGUgeyBMYWtlYmFzZVByb3h5T3B0aW9ucywgUmVzb2x2ZWRMYWtlYmFzZVByb3h5T3B0aW9ucywgTGFrZWJhc2VQcm94eVVybE9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgeyBTU0xfUkVRVUVTVCwgQ0FOQ0VMX1JFUVVFU1QsIFBST1RPQ09MXzMsIFBvc3RncmVzUHJvdG9jb2xFcnJvciB9IGZyb20gXCIuL3Byb3RvY29sLnRzXCI7XG5leHBvcnQgdHlwZSB7IFN0YXJ0dXBNZXNzYWdlLCBDYW5jZWxNZXNzYWdlLCBJbml0aWFsTWVzc2FnZSB9IGZyb20gXCIuL3Byb3RvY29sLnRzXCI7XG5leHBvcnQgeyBMYWtlYmFzZVByb3h5IH0gZnJvbSBcIi4vcHJveHkudHNcIjtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * as cli from "./cli.ts";
2
- export * as server from "./server.ts";
3
- export type { ModelGatewayCliDependencies } from "./cli.ts";
@@ -1,6 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as cli from "./cli.js";
5
- export * as server from "./server.js";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwtZ2F0ZXdheS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxPQUFPLEtBQUssR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdFTkVSQVRFRCBieSBwcm9qZW4gd2F0Y2ggLSBETyBOT1QgRURJVC5cbi8vIFJlZ2VuZXJhdGVkIGZyb20gdGhlIGV4cG9ydGluZyBtb2R1bGVzIGluIC4vc3JjLlxuLy8gSGFuZCBlZGl0cyBhcmUgb3ZlcndyaXR0ZW4gb24gdGhlIG5leHQgd2F0Y2g7IHRoaXMgZmlsZSBpcyByZWFkLW9ubHkuXG5cbmV4cG9ydCAqIGFzIGNsaSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCAqIGFzIHNlcnZlciBmcm9tIFwiLi9zZXJ2ZXIudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9kZWxHYXRld2F5Q2xpRGVwZW5kZW5jaWVzIH0gZnJvbSBcIi4vY2xpLnRzXCI7XG4iXX0=
@@ -1,8 +0,0 @@
1
- export * as app from "./app.ts";
2
- export * as cli from "./cli.ts";
3
- export * as options from "./options.ts";
4
- export * as proxy from "./proxy.ts";
5
- export { CommanderError } from "./cli.ts";
6
- export { TunnelOptionsSchema } from "./options.ts";
7
- export type { TunnelOptions, ResolvedTunnelOptions } from "./options.ts";
8
- export type { ProxyOptions } from "./proxy.ts";
@@ -1,10 +0,0 @@
1
- // GENERATED by projen watch - DO NOT EDIT.
2
- // Regenerated from the exporting modules in ./src.
3
- // Hand edits are overwritten on the next watch; this file is read-only.
4
- export * as app from "./app.js";
5
- export * as cli from "./cli.js";
6
- export * as options from "./options.js";
7
- export * as proxy from "./proxy.js";
8
- export { CommanderError } from "./cli.js";
9
- export { TunnelOptionsSchema } from "./options.js";
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHVubmVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxtREFBbUQ7QUFDbkQsd0VBQXdFO0FBRXhFLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgYXBwIGZyb20gXCIuL2FwcC50c1wiO1xuZXhwb3J0ICogYXMgY2xpIGZyb20gXCIuL2NsaS50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgKiBhcyBwcm94eSBmcm9tIFwiLi9wcm94eS50c1wiO1xuZXhwb3J0IHsgQ29tbWFuZGVyRXJyb3IgfSBmcm9tIFwiLi9jbGkudHNcIjtcbmV4cG9ydCB7IFR1bm5lbE9wdGlvbnNTY2hlbWEgfSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFR1bm5lbE9wdGlvbnMsIFJlc29sdmVkVHVubmVsT3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgUHJveHlPcHRpb25zIH0gZnJvbSBcIi4vcHJveHkudHNcIjtcbiJdfQ==