@dbx-tools/appkit 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 (44) hide show
  1. package/index.ts +18 -13
  2. package/lib/index.d.ts +18 -13
  3. package/lib/index.js +19 -12
  4. package/lib/src/appkit.js +6 -6
  5. package/lib/src/brand-context.js +3 -3
  6. package/lib/src/cache-storage.d.ts +1 -1
  7. package/lib/src/cache-storage.js +6 -6
  8. package/lib/src/databricks.js +3 -3
  9. package/lib/src/files-cache.js +9 -9
  10. package/lib/src/identity.d.ts +0 -14
  11. package/lib/src/identity.js +9 -23
  12. package/lib/src/interceptor.js +3 -3
  13. package/lib/src/lakebase-resolver.d.ts +1 -1
  14. package/lib/src/lakebase-resolver.js +16 -17
  15. package/lib/src/migration.js +6 -6
  16. package/lib/src/openapi-tool.js +5 -5
  17. package/lib/src/plugin-execution.d.ts +2 -2
  18. package/lib/src/plugin-execution.js +4 -4
  19. package/lib/src/provision.d.ts +2 -2
  20. package/lib/src/provision.js +4 -4
  21. package/lib/src/request-tags.js +2 -2
  22. package/lib/src/telemetry.js +4 -4
  23. package/lib/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +10 -178
  25. package/src/appkit.ts +5 -5
  26. package/src/brand-context.ts +2 -2
  27. package/src/cache-storage.ts +5 -5
  28. package/src/databricks.ts +2 -2
  29. package/src/files-cache.ts +8 -8
  30. package/src/identity.ts +16 -25
  31. package/src/interceptor.ts +2 -2
  32. package/src/lakebase-resolver.ts +27 -34
  33. package/src/migration.ts +11 -5
  34. package/src/openapi-tool.ts +4 -4
  35. package/src/plugin-execution.ts +4 -4
  36. package/src/provision.ts +4 -4
  37. package/src/request-tags.ts +1 -1
  38. package/src/telemetry.ts +3 -3
  39. package/lib/src/bundle.d.ts +0 -33
  40. package/lib/src/bundle.js +0 -38
  41. package/lib/src/pgaddress.d.ts +0 -20
  42. package/lib/src/pgaddress.js +0 -21
  43. package/src/bundle.ts +0 -57
  44. package/src/pgaddress.ts +0 -42
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  import { readFile } from "node:fs/promises";
8
- import { object } from "@dbx-tools/shared-core";
9
- import { urlBuilder, type UrlBuilder } from "@dbx-tools/shared-core/net";
8
+ import { isRecord } from "@dbx-tools/shared-core";
9
+ import { urlBuilder, type UrlBuilder } from "@dbx-tools/shared-core";
10
10
  import type { JSONSchema7 } from "json-schema";
11
11
  import { z } from "zod";
12
12
 
@@ -209,7 +209,7 @@ function resolveReferences(
209
209
  active: ReadonlySet<string> = new Set(),
210
210
  ): unknown {
211
211
  if (Array.isArray(value)) return value.map((item) => resolveReferences(document, item, active));
212
- if (!object.isRecord(value)) return value;
212
+ if (!isRecord(value)) return value;
213
213
  const reference = typeof value.$ref === "string" ? value.$ref : undefined;
214
214
  if (reference) {
215
215
  if (active.has(reference)) throw new Error(`Cyclic OpenAPI reference: ${reference}`);
@@ -231,7 +231,7 @@ function referenceTarget(document: OpenApiDocument, reference: string): unknown
231
231
  let current: unknown = document;
232
232
  for (const rawSegment of reference.slice(2).split("/")) {
233
233
  const segment = rawSegment.replaceAll("~1", "/").replaceAll("~0", "~");
234
- if (!object.isRecord(current) || !(segment in current)) {
234
+ if (!isRecord(current) || !(segment in current)) {
235
235
  throw new Error(`Unresolved OpenAPI reference: ${reference}`);
236
236
  }
237
237
  current = current[segment];
@@ -1,7 +1,7 @@
1
1
  /** AppKit-specific adapters over the shared intercepted-execution contract. */
2
2
 
3
3
  import { ExecutionError } from "@databricks/appkit";
4
- import { errorUtils, execution, type Logger } from "@dbx-tools/shared-core";
4
+ import { type Logger, toError, type Executor, run } from "@dbx-tools/shared-core";
5
5
 
6
6
  /** Inputs for one plugin operation routed through AppKit interceptors. */
7
7
  export interface RunPluginExecutionOptions<T, Settings> {
@@ -9,7 +9,7 @@ export interface RunPluginExecutionOptions<T, Settings> {
9
9
  readonly logger: Pick<Logger, "warn">;
10
10
  readonly operation: string;
11
11
  readonly settings: Settings;
12
- readonly execute: execution.Executor<Settings>;
12
+ readonly execute: Executor<Settings>;
13
13
  readonly fn: (signal?: AbortSignal) => Promise<T>;
14
14
  readonly signal?: AbortSignal;
15
15
  }
@@ -21,7 +21,7 @@ export interface RunPluginExecutionOptions<T, Settings> {
21
21
  export function runPluginExecution<T, Settings>(
22
22
  options: RunPluginExecutionOptions<T, Settings>,
23
23
  ): Promise<T> {
24
- return execution.run({
24
+ return run({
25
25
  operation: options.operation,
26
26
  settings: options.settings,
27
27
  execute: options.execute,
@@ -32,7 +32,7 @@ export function runPluginExecution<T, Settings>(
32
32
  options.logger.warn("execution-failed", {
33
33
  operation: failure.operation,
34
34
  status: failure.status,
35
- error: errorUtils.toError(failure.message),
35
+ error: toError(failure.message),
36
36
  });
37
37
  return new ExecutionError(`${options.plugin}: ${failure.operation} failed`, {
38
38
  context: { operation: failure.operation, status: failure.status },
package/src/provision.ts CHANGED
@@ -23,7 +23,7 @@
23
23
 
24
24
  import { createLakebasePool, getWorkspaceClient, ValidationError } from "@databricks/appkit";
25
25
  import { postgresConnectionOptions, quotePostgresIdentifier } from "@dbx-tools/postgres";
26
- import { environmentUtils, errorUtils, log } from "@dbx-tools/shared-core";
26
+ import { log, isDatabricksAppEnv, toError, type Logger } from "@dbx-tools/shared-core";
27
27
 
28
28
  const defaultLogger = log.logger("provision");
29
29
 
@@ -87,9 +87,9 @@ export function cacheGrantStatements(role: string): readonly string[] {
87
87
  */
88
88
  export async function provisionCacheSchema(
89
89
  role: string | undefined,
90
- logger: log.Logger = defaultLogger,
90
+ logger: Logger = defaultLogger,
91
91
  ): Promise<void> {
92
- if (environmentUtils.isDatabricksAppEnv()) {
92
+ if (isDatabricksAppEnv()) {
93
93
  logger.debug("autopg: skip cache provisioning (inside a Databricks App)");
94
94
  return;
95
95
  }
@@ -127,7 +127,7 @@ export async function provisionCacheSchema(
127
127
  } catch (err) {
128
128
  logger.warn("autopg: cache provisioning failed (continuing)", {
129
129
  schema: CACHE_SCHEMA,
130
- error: errorUtils.toError(err),
130
+ error: toError(err),
131
131
  });
132
132
  } finally {
133
133
  await pool.end().catch(() => {});
@@ -5,7 +5,7 @@ export type RequestTagValue = string | number | boolean;
5
5
 
6
6
  type RequestTagMap = Map<string, RequestTagValue>;
7
7
 
8
- const STORE_KEY = Symbol.for("@dbx-tools/appkit/request-tags");
8
+ const STORE_KEY = Symbol.for("@dbx-tools/appkit");
9
9
  const globalStore = globalThis as typeof globalThis & {
10
10
  [STORE_KEY]?: WeakMap<object, RequestTagMap>;
11
11
  };
package/src/telemetry.ts CHANGED
@@ -5,7 +5,7 @@ import { createRequire } from "node:module";
5
5
  import path from "node:path";
6
6
  import { pathToFileURL } from "node:url";
7
7
 
8
- import { stringUtils, token } from "@dbx-tools/shared-core";
8
+ import { trimToNull, USER_EMAIL_HEADER, USER_ID_HEADER } from "@dbx-tools/shared-core";
9
9
  import {
10
10
  trace,
11
11
  type Span,
@@ -102,9 +102,9 @@ export function stampHttpTraceUser(span: Span, request: unknown): void {
102
102
  const first = (name: string): string | undefined => {
103
103
  const raw = record[name];
104
104
  const value = Array.isArray(raw) ? raw[0] : raw;
105
- return stringUtils.trimToNull(value) ?? undefined;
105
+ return trimToNull(value) ?? undefined;
106
106
  };
107
- const user = first(token.USER_EMAIL_HEADER) ?? first(token.USER_ID_HEADER);
107
+ const user = first(USER_EMAIL_HEADER) ?? first(USER_ID_HEADER);
108
108
  if (user) span.setAttribute(USER_TRACE_ATTRIBUTE, user);
109
109
  }
110
110
 
@@ -1,33 +0,0 @@
1
- /**
2
- * Compatibility exports for Databricks bundle/app configuration.
3
- *
4
- * Configuration sources, file loading, flattening, resource references, and
5
- * name normalization live in `@dbx-tools/core`'s `config` module.
6
- *
7
- * @module
8
- */
9
- import { configUtils } from "@dbx-tools/core";
10
- /** Unstructured JSON result returned by Databricks bundle validation. */
11
- export type BundleValidateJson = Record<string, unknown>;
12
- /** Parsed AppKit or bundle configuration file. */
13
- export type ConfigFile = configUtils.ConfigFile;
14
- /** Scalar or structured value accepted by a generated configuration map. */
15
- export type ConfigMapValue = configUtils.ConfigMapValue;
16
- /** Named configuration layer consulted while resolving application values. */
17
- export type ConfigSource = configUtils.ConfigSource;
18
- /** Options controlling layered configuration lookup and bundle profile selection. */
19
- export type ResolveConfigValueOptions = configUtils.ConfigOptions;
20
- /** Schema for one Databricks App resource entry in bundle configuration. */
21
- export declare const bundleAppResourceSchema: import("zod").ZodObject<{
22
- name: import("zod").ZodOptional<import("zod").ZodString>;
23
- }, import("zod/v4/core").$loose>;
24
- /** Flatten an `app.yaml` environment map into process-ready string values. */
25
- export declare const flattenAppYamlEnv: typeof configUtils.flattenAppEnv;
26
- /** Flatten Databricks bundle application environment entries into string values. */
27
- export declare const flattenAppEnv: typeof configUtils.flattenBundleEnv;
28
- /** Resolve the nearest Databricks bundle configuration path for a working directory. */
29
- export declare const getBundlePath: typeof configUtils.getBundlePath;
30
- /** Load the active Databricks bundle configuration. */
31
- export declare function bundle(cwd?: string, profile?: string): Promise<ConfigFile | undefined>;
32
- /** Resolve a layered AppKit configuration value. */
33
- export declare function resolveConfigValue(name: string, options?: ResolveConfigValueOptions): Promise<string | undefined>;
package/lib/src/bundle.js DELETED
@@ -1,38 +0,0 @@
1
- /**
2
- * Compatibility exports for Databricks bundle/app configuration.
3
- *
4
- * Configuration sources, file loading, flattening, resource references, and
5
- * name normalization live in `@dbx-tools/core`'s `config` module.
6
- *
7
- * @module
8
- */
9
- import { profile as authProfile } from "@dbx-tools/auth";
10
- import { configUtils } from "@dbx-tools/core";
11
- /** Schema for one Databricks App resource entry in bundle configuration. */
12
- export const bundleAppResourceSchema = configUtils.bundleResourceSchema;
13
- /** Flatten an `app.yaml` environment map into process-ready string values. */
14
- export const flattenAppYamlEnv = configUtils.flattenAppEnv;
15
- /** Flatten Databricks bundle application environment entries into string values. */
16
- export const flattenAppEnv = configUtils.flattenBundleEnv;
17
- /** Resolve the nearest Databricks bundle configuration path for a working directory. */
18
- export const getBundlePath = configUtils.getBundlePath;
19
- /** Load the active Databricks bundle configuration. */
20
- export function bundle(cwd, profile) {
21
- return Promise.resolve(configUtils.bundleFile(cwd, profile ?? resolvedProfile()));
22
- }
23
- /** Resolve a layered AppKit configuration value. */
24
- export function resolveConfigValue(name, options = {}) {
25
- return Promise.resolve(configUtils.resolveValue(name, {
26
- ...options,
27
- bundleProfile: options.bundleProfile ?? resolvedProfile(),
28
- }));
29
- }
30
- function resolvedProfile() {
31
- try {
32
- return authProfile.resolveProfile()?.name;
33
- }
34
- catch {
35
- return undefined;
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1bmRsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFhOUMsNEVBQTRFO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztBQUN4RSw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztBQUMzRCxvRkFBb0Y7QUFDcEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztBQUMxRCx3RkFBd0Y7QUFDeEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7QUFFdkQsdURBQXVEO0FBQ3ZELE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWdCO0lBQ25ELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxJQUFZLEVBQ1osVUFBcUMsRUFBRTtJQUV2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1FBQzdCLEdBQUcsT0FBTztRQUNWLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLGVBQWUsRUFBRTtLQUMxRCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGVBQWU7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tcGF0aWJpbGl0eSBleHBvcnRzIGZvciBEYXRhYnJpY2tzIGJ1bmRsZS9hcHAgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBDb25maWd1cmF0aW9uIHNvdXJjZXMsIGZpbGUgbG9hZGluZywgZmxhdHRlbmluZywgcmVzb3VyY2UgcmVmZXJlbmNlcywgYW5kXG4gKiBuYW1lIG5vcm1hbGl6YXRpb24gbGl2ZSBpbiBgQGRieC10b29scy9jb3JlYCdzIGBjb25maWdgIG1vZHVsZS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgcHJvZmlsZSBhcyBhdXRoUHJvZmlsZSB9IGZyb20gXCJAZGJ4LXRvb2xzL2F1dGhcIjtcbmltcG9ydCB7IGNvbmZpZ1V0aWxzIH0gZnJvbSBcIkBkYngtdG9vbHMvY29yZVwiO1xuXG4vKiogVW5zdHJ1Y3R1cmVkIEpTT04gcmVzdWx0IHJldHVybmVkIGJ5IERhdGFicmlja3MgYnVuZGxlIHZhbGlkYXRpb24uICovXG5leHBvcnQgdHlwZSBCdW5kbGVWYWxpZGF0ZUpzb24gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbi8qKiBQYXJzZWQgQXBwS2l0IG9yIGJ1bmRsZSBjb25maWd1cmF0aW9uIGZpbGUuICovXG5leHBvcnQgdHlwZSBDb25maWdGaWxlID0gY29uZmlnVXRpbHMuQ29uZmlnRmlsZTtcbi8qKiBTY2FsYXIgb3Igc3RydWN0dXJlZCB2YWx1ZSBhY2NlcHRlZCBieSBhIGdlbmVyYXRlZCBjb25maWd1cmF0aW9uIG1hcC4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZ01hcFZhbHVlID0gY29uZmlnVXRpbHMuQ29uZmlnTWFwVmFsdWU7XG4vKiogTmFtZWQgY29uZmlndXJhdGlvbiBsYXllciBjb25zdWx0ZWQgd2hpbGUgcmVzb2x2aW5nIGFwcGxpY2F0aW9uIHZhbHVlcy4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZ1NvdXJjZSA9IGNvbmZpZ1V0aWxzLkNvbmZpZ1NvdXJjZTtcbi8qKiBPcHRpb25zIGNvbnRyb2xsaW5nIGxheWVyZWQgY29uZmlndXJhdGlvbiBsb29rdXAgYW5kIGJ1bmRsZSBwcm9maWxlIHNlbGVjdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFJlc29sdmVDb25maWdWYWx1ZU9wdGlvbnMgPSBjb25maWdVdGlscy5Db25maWdPcHRpb25zO1xuXG4vKiogU2NoZW1hIGZvciBvbmUgRGF0YWJyaWNrcyBBcHAgcmVzb3VyY2UgZW50cnkgaW4gYnVuZGxlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgY29uc3QgYnVuZGxlQXBwUmVzb3VyY2VTY2hlbWEgPSBjb25maWdVdGlscy5idW5kbGVSZXNvdXJjZVNjaGVtYTtcbi8qKiBGbGF0dGVuIGFuIGBhcHAueWFtbGAgZW52aXJvbm1lbnQgbWFwIGludG8gcHJvY2Vzcy1yZWFkeSBzdHJpbmcgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IGZsYXR0ZW5BcHBZYW1sRW52ID0gY29uZmlnVXRpbHMuZmxhdHRlbkFwcEVudjtcbi8qKiBGbGF0dGVuIERhdGFicmlja3MgYnVuZGxlIGFwcGxpY2F0aW9uIGVudmlyb25tZW50IGVudHJpZXMgaW50byBzdHJpbmcgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IGZsYXR0ZW5BcHBFbnYgPSBjb25maWdVdGlscy5mbGF0dGVuQnVuZGxlRW52O1xuLyoqIFJlc29sdmUgdGhlIG5lYXJlc3QgRGF0YWJyaWNrcyBidW5kbGUgY29uZmlndXJhdGlvbiBwYXRoIGZvciBhIHdvcmtpbmcgZGlyZWN0b3J5LiAqL1xuZXhwb3J0IGNvbnN0IGdldEJ1bmRsZVBhdGggPSBjb25maWdVdGlscy5nZXRCdW5kbGVQYXRoO1xuXG4vKiogTG9hZCB0aGUgYWN0aXZlIERhdGFicmlja3MgYnVuZGxlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgZnVuY3Rpb24gYnVuZGxlKGN3ZD86IHN0cmluZywgcHJvZmlsZT86IHN0cmluZyk6IFByb21pc2U8Q29uZmlnRmlsZSB8IHVuZGVmaW5lZD4ge1xuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNvbmZpZ1V0aWxzLmJ1bmRsZUZpbGUoY3dkLCBwcm9maWxlID8/IHJlc29sdmVkUHJvZmlsZSgpKSk7XG59XG5cbi8qKiBSZXNvbHZlIGEgbGF5ZXJlZCBBcHBLaXQgY29uZmlndXJhdGlvbiB2YWx1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQ29uZmlnVmFsdWUoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUmVzb2x2ZUNvbmZpZ1ZhbHVlT3B0aW9ucyA9IHt9LFxuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICBjb25maWdVdGlscy5yZXNvbHZlVmFsdWUobmFtZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGJ1bmRsZVByb2ZpbGU6IG9wdGlvbnMuYnVuZGxlUHJvZmlsZSA/PyByZXNvbHZlZFByb2ZpbGUoKSxcbiAgICB9KSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZWRQcm9maWxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF1dGhQcm9maWxlLnJlc29sdmVQcm9maWxlKCk/Lm5hbWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- /**
2
- * AppKit compatibility surface for Node-owned Lakebase PostgreSQL addresses.
3
- *
4
- * @module
5
- */
6
- import { type LakebaseConnectionInputs as LakebaseInputs, type ParsedAddress as LakebaseParsedAddress, type SslMode as LakebaseSslMode } from "@dbx-tools/lakebase";
7
- /** PostgreSQL TLS mode in `PGSSLMODE` spelling. */
8
- export type SslMode = LakebaseSslMode;
9
- /** PostgreSQL TLS modes accepted by the shared Node parser. */
10
- export declare const SSL_MODES: readonly SslMode[];
11
- /** Pieces recovered from a Lakebase address. */
12
- export type ParsedAddress = LakebaseParsedAddress;
13
- /** Inputs shared by parsing and Lakebase connection resolution. */
14
- export type LakebaseConnectionInputs = LakebaseInputs;
15
- /** Parse a PostgreSQL URL, Lakebase resource path, hostname, or project id. */
16
- export declare function parseAddress(input: string | null | undefined): ParsedAddress;
17
- /** Parse a canonical Lakebase `projects/...` resource path. */
18
- export declare function parseResourcePath(input: string | null | undefined): ParsedAddress;
19
- /** Normalize a PostgreSQL TLS mode. */
20
- export declare function parseSslMode(input: string | null | undefined): SslMode | undefined;
@@ -1,21 +0,0 @@
1
- /**
2
- * AppKit compatibility surface for Node-owned Lakebase PostgreSQL addresses.
3
- *
4
- * @module
5
- */
6
- import { parseAddress as parseLakebaseAddress, parseResourcePath as parseLakebaseResourcePath, parseSslMode as parseLakebaseSslMode, SSL_MODES as LAKEBASE_SSL_MODES, } from "@dbx-tools/lakebase";
7
- /** PostgreSQL TLS modes accepted by the shared Node parser. */
8
- export const SSL_MODES = LAKEBASE_SSL_MODES;
9
- /** Parse a PostgreSQL URL, Lakebase resource path, hostname, or project id. */
10
- export function parseAddress(input) {
11
- return parseLakebaseAddress(input);
12
- }
13
- /** Parse a canonical Lakebase `projects/...` resource path. */
14
- export function parseResourcePath(input) {
15
- return parseLakebaseResourcePath(input);
16
- }
17
- /** Normalize a PostgreSQL TLS mode. */
18
- export function parseSslMode(input) {
19
- return parseLakebaseSslMode(input);
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGdhZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BnYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUNMLFlBQVksSUFBSSxvQkFBb0IsRUFDcEMsaUJBQWlCLElBQUkseUJBQXlCLEVBQzlDLFlBQVksSUFBSSxvQkFBb0IsRUFDcEMsU0FBUyxJQUFJLGtCQUFrQixHQUloQyxNQUFNLHFCQUFxQixDQUFDO0FBSzdCLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXVCLGtCQUFrQixDQUFDO0FBUWhFLCtFQUErRTtBQUMvRSxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWdDO0lBQzNELE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELCtEQUErRDtBQUMvRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBZ0M7SUFDaEUsT0FBTyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBZ0M7SUFDM0QsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcHBLaXQgY29tcGF0aWJpbGl0eSBzdXJmYWNlIGZvciBOb2RlLW93bmVkIExha2ViYXNlIFBvc3RncmVTUUwgYWRkcmVzc2VzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQge1xuICBwYXJzZUFkZHJlc3MgYXMgcGFyc2VMYWtlYmFzZUFkZHJlc3MsXG4gIHBhcnNlUmVzb3VyY2VQYXRoIGFzIHBhcnNlTGFrZWJhc2VSZXNvdXJjZVBhdGgsXG4gIHBhcnNlU3NsTW9kZSBhcyBwYXJzZUxha2ViYXNlU3NsTW9kZSxcbiAgU1NMX01PREVTIGFzIExBS0VCQVNFX1NTTF9NT0RFUyxcbiAgdHlwZSBMYWtlYmFzZUNvbm5lY3Rpb25JbnB1dHMgYXMgTGFrZWJhc2VJbnB1dHMsXG4gIHR5cGUgUGFyc2VkQWRkcmVzcyBhcyBMYWtlYmFzZVBhcnNlZEFkZHJlc3MsXG4gIHR5cGUgU3NsTW9kZSBhcyBMYWtlYmFzZVNzbE1vZGUsXG59IGZyb20gXCJAZGJ4LXRvb2xzL2xha2ViYXNlXCI7XG5cbi8qKiBQb3N0Z3JlU1FMIFRMUyBtb2RlIGluIGBQR1NTTE1PREVgIHNwZWxsaW5nLiAqL1xuZXhwb3J0IHR5cGUgU3NsTW9kZSA9IExha2ViYXNlU3NsTW9kZTtcblxuLyoqIFBvc3RncmVTUUwgVExTIG1vZGVzIGFjY2VwdGVkIGJ5IHRoZSBzaGFyZWQgTm9kZSBwYXJzZXIuICovXG5leHBvcnQgY29uc3QgU1NMX01PREVTOiByZWFkb25seSBTc2xNb2RlW10gPSBMQUtFQkFTRV9TU0xfTU9ERVM7XG5cbi8qKiBQaWVjZXMgcmVjb3ZlcmVkIGZyb20gYSBMYWtlYmFzZSBhZGRyZXNzLiAqL1xuZXhwb3J0IHR5cGUgUGFyc2VkQWRkcmVzcyA9IExha2ViYXNlUGFyc2VkQWRkcmVzcztcblxuLyoqIElucHV0cyBzaGFyZWQgYnkgcGFyc2luZyBhbmQgTGFrZWJhc2UgY29ubmVjdGlvbiByZXNvbHV0aW9uLiAqL1xuZXhwb3J0IHR5cGUgTGFrZWJhc2VDb25uZWN0aW9uSW5wdXRzID0gTGFrZWJhc2VJbnB1dHM7XG5cbi8qKiBQYXJzZSBhIFBvc3RncmVTUUwgVVJMLCBMYWtlYmFzZSByZXNvdXJjZSBwYXRoLCBob3N0bmFtZSwgb3IgcHJvamVjdCBpZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFkZHJlc3MoaW5wdXQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBQYXJzZWRBZGRyZXNzIHtcbiAgcmV0dXJuIHBhcnNlTGFrZWJhc2VBZGRyZXNzKGlucHV0KTtcbn1cblxuLyoqIFBhcnNlIGEgY2Fub25pY2FsIExha2ViYXNlIGBwcm9qZWN0cy8uLi5gIHJlc291cmNlIHBhdGguICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZXNvdXJjZVBhdGgoaW5wdXQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBQYXJzZWRBZGRyZXNzIHtcbiAgcmV0dXJuIHBhcnNlTGFrZWJhc2VSZXNvdXJjZVBhdGgoaW5wdXQpO1xufVxuXG4vKiogTm9ybWFsaXplIGEgUG9zdGdyZVNRTCBUTFMgbW9kZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNzbE1vZGUoaW5wdXQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBTc2xNb2RlIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHBhcnNlTGFrZWJhc2VTc2xNb2RlKGlucHV0KTtcbn1cbiJdfQ==
package/src/bundle.ts DELETED
@@ -1,57 +0,0 @@
1
- /**
2
- * Compatibility exports for Databricks bundle/app configuration.
3
- *
4
- * Configuration sources, file loading, flattening, resource references, and
5
- * name normalization live in `@dbx-tools/core`'s `config` module.
6
- *
7
- * @module
8
- */
9
-
10
- import { profile as authProfile } from "@dbx-tools/auth";
11
- import { configUtils } from "@dbx-tools/core";
12
-
13
- /** Unstructured JSON result returned by Databricks bundle validation. */
14
- export type BundleValidateJson = Record<string, unknown>;
15
- /** Parsed AppKit or bundle configuration file. */
16
- export type ConfigFile = configUtils.ConfigFile;
17
- /** Scalar or structured value accepted by a generated configuration map. */
18
- export type ConfigMapValue = configUtils.ConfigMapValue;
19
- /** Named configuration layer consulted while resolving application values. */
20
- export type ConfigSource = configUtils.ConfigSource;
21
- /** Options controlling layered configuration lookup and bundle profile selection. */
22
- export type ResolveConfigValueOptions = configUtils.ConfigOptions;
23
-
24
- /** Schema for one Databricks App resource entry in bundle configuration. */
25
- export const bundleAppResourceSchema = configUtils.bundleResourceSchema;
26
- /** Flatten an `app.yaml` environment map into process-ready string values. */
27
- export const flattenAppYamlEnv = configUtils.flattenAppEnv;
28
- /** Flatten Databricks bundle application environment entries into string values. */
29
- export const flattenAppEnv = configUtils.flattenBundleEnv;
30
- /** Resolve the nearest Databricks bundle configuration path for a working directory. */
31
- export const getBundlePath = configUtils.getBundlePath;
32
-
33
- /** Load the active Databricks bundle configuration. */
34
- export function bundle(cwd?: string, profile?: string): Promise<ConfigFile | undefined> {
35
- return Promise.resolve(configUtils.bundleFile(cwd, profile ?? resolvedProfile()));
36
- }
37
-
38
- /** Resolve a layered AppKit configuration value. */
39
- export function resolveConfigValue(
40
- name: string,
41
- options: ResolveConfigValueOptions = {},
42
- ): Promise<string | undefined> {
43
- return Promise.resolve(
44
- configUtils.resolveValue(name, {
45
- ...options,
46
- bundleProfile: options.bundleProfile ?? resolvedProfile(),
47
- }),
48
- );
49
- }
50
-
51
- function resolvedProfile(): string | undefined {
52
- try {
53
- return authProfile.resolveProfile()?.name;
54
- } catch {
55
- return undefined;
56
- }
57
- }
package/src/pgaddress.ts DELETED
@@ -1,42 +0,0 @@
1
- /**
2
- * AppKit compatibility surface for Node-owned Lakebase PostgreSQL addresses.
3
- *
4
- * @module
5
- */
6
-
7
- import {
8
- parseAddress as parseLakebaseAddress,
9
- parseResourcePath as parseLakebaseResourcePath,
10
- parseSslMode as parseLakebaseSslMode,
11
- SSL_MODES as LAKEBASE_SSL_MODES,
12
- type LakebaseConnectionInputs as LakebaseInputs,
13
- type ParsedAddress as LakebaseParsedAddress,
14
- type SslMode as LakebaseSslMode,
15
- } from "@dbx-tools/lakebase";
16
-
17
- /** PostgreSQL TLS mode in `PGSSLMODE` spelling. */
18
- export type SslMode = LakebaseSslMode;
19
-
20
- /** PostgreSQL TLS modes accepted by the shared Node parser. */
21
- export const SSL_MODES: readonly SslMode[] = LAKEBASE_SSL_MODES;
22
-
23
- /** Pieces recovered from a Lakebase address. */
24
- export type ParsedAddress = LakebaseParsedAddress;
25
-
26
- /** Inputs shared by parsing and Lakebase connection resolution. */
27
- export type LakebaseConnectionInputs = LakebaseInputs;
28
-
29
- /** Parse a PostgreSQL URL, Lakebase resource path, hostname, or project id. */
30
- export function parseAddress(input: string | null | undefined): ParsedAddress {
31
- return parseLakebaseAddress(input);
32
- }
33
-
34
- /** Parse a canonical Lakebase `projects/...` resource path. */
35
- export function parseResourcePath(input: string | null | undefined): ParsedAddress {
36
- return parseLakebaseResourcePath(input);
37
- }
38
-
39
- /** Normalize a PostgreSQL TLS mode. */
40
- export function parseSslMode(input: string | null | undefined): SslMode | undefined {
41
- return parseLakebaseSslMode(input);
42
- }