Skip to content

fix(appkit): obo logic and api usage #125

fix(appkit): obo logic and api usage

fix(appkit): obo logic and api usage #125

Triggered via pull request December 27, 2025 09:46
Status Failure
Total duration 2m 51s
Artifacts

ci.yml

on: pull_request
Detect Changes
6s
Detect Changes
Lint & Type Check
1m 5s
Lint & Type Check
Fit to window
Zoom out
Zoom in

Annotations

10 errors
src/core/tests/databricks.test.ts > AppKit > createApp > should merge default and custom plugin configs: packages/appkit/src/context/service-context.ts#L287
Error: default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method. Config: host=https://test.databricks.com, warehouse_id=test-warehouse-id. Env: DATABRICKS_HOST, DATABRICKS_WAREHOUSE_ID ❯ Config.configureCredentialProvider ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:391:23 ❯ Config.authenticate ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:300:9 ❯ ApiClient.request ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/api-client.ts:166:9 ❯ CurrentUserService._me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1608:17 ❯ CurrentUserService.me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1626:16 ❯ Function.createContext src/context/service-context.ts:287:3 ❯ Function.initialize src/context/service-context.ts:169:22 ❯ Function._createApp src/core/appkit.ts:1097:5 ❯ src/core/tests/databricks.test.ts:187:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { baseMessage: 'default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method', config: { config: {}, resolved: true, attributes: { config: [Circular], attributes: [ { config: [Circular], name: 'host', envVar: 'DATABRICKS_HOST', confName: 'host', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'metadataServiceUrl', envVar: 'DATABRICKS_METADATA_SERVICE_URL', confName: 'metadata_service_url', auth: undefined, sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'accountId', envVar: 'DATABRICKS_ACCOUNT_ID', confName: 'account_id', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'token', envVar: 'DATABRICKS_TOKEN', confName: 'token', auth: 'pat', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'username', envVar: 'DATABRICKS_USERNAME', confName: 'username', auth: 'basic', sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'password', envVar: 'DATABRICKS_PASSWORD', confName: 'password', auth: 'basic', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'profile', envVar: 'DATABRICKS_CONFIG_PROFILE', confName: 'profile', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'configFile', envVar: 'DATABRICKS_CONFIG_FILE', confName: 'config_file', auth: undefined
src/core/tests/databricks.test.ts > AppKit > createApp > should initialize with single plugin: packages/appkit/src/context/service-context.ts#L287
Error: default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method. Config: host=https://test.databricks.com, warehouse_id=test-warehouse-id. Env: DATABRICKS_HOST, DATABRICKS_WAREHOUSE_ID ❯ Config.configureCredentialProvider ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:391:23 ❯ Config.authenticate ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:300:9 ❯ ApiClient.request ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/api-client.ts:166:9 ❯ CurrentUserService._me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1608:17 ❯ CurrentUserService.me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1626:16 ❯ Function.createContext src/context/service-context.ts:287:3 ❯ Function.initialize src/context/service-context.ts:169:22 ❯ Function._createApp src/core/appkit.ts:1097:5 ❯ src/core/tests/databricks.test.ts:187:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { baseMessage: 'default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method', config: { config: {}, resolved: true, attributes: { config: [Circular], attributes: [ { config: [Circular], name: 'host', envVar: 'DATABRICKS_HOST', confName: 'host', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'metadataServiceUrl', envVar: 'DATABRICKS_METADATA_SERVICE_URL', confName: 'metadata_service_url', auth: undefined, sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'accountId', envVar: 'DATABRICKS_ACCOUNT_ID', confName: 'account_id', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'token', envVar: 'DATABRICKS_TOKEN', confName: 'token', auth: 'pat', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'username', envVar: 'DATABRICKS_USERNAME', confName: 'username', auth: 'basic', sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'password', envVar: 'DATABRICKS_PASSWORD', confName: 'password', auth: 'basic', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'profile', envVar: 'DATABRICKS_CONFIG_PROFILE', confName: 'profile', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'configFile', envVar: 'DATABRICKS_CONFIG_FILE', confName: 'config_file', auth: undefined
src/core/tests/databricks.test.ts > AppKit > createApp > should initialize with empty plugins: packages/appkit/src/context/service-context.ts#L287
Error: default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method. Config: host=https://test.databricks.com, warehouse_id=test-warehouse-id. Env: DATABRICKS_HOST, DATABRICKS_WAREHOUSE_ID ❯ Config.configureCredentialProvider ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:391:23 ❯ Config.authenticate ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/config/Config.ts:300:9 ❯ ApiClient.request ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/api-client.ts:166:9 ❯ CurrentUserService._me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1608:17 ❯ CurrentUserService.me ../../node_modules/.pnpm/@databricks+sdk-experimental@0.15.0/node_modules/@databricks/sdk-experimental/src/apis/iam/api.ts:1626:16 ❯ Function.createContext src/context/service-context.ts:287:3 ❯ Function.initialize src/context/service-context.ts:169:22 ❯ Function._createApp src/core/appkit.ts:1097:5 ❯ src/core/tests/databricks.test.ts:187:24 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Serialized Error: { baseMessage: 'default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method', config: { config: {}, resolved: true, attributes: { config: [Circular], attributes: [ { config: [Circular], name: 'host', envVar: 'DATABRICKS_HOST', confName: 'host', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'metadataServiceUrl', envVar: 'DATABRICKS_METADATA_SERVICE_URL', confName: 'metadata_service_url', auth: undefined, sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'accountId', envVar: 'DATABRICKS_ACCOUNT_ID', confName: 'account_id', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'token', envVar: 'DATABRICKS_TOKEN', confName: 'token', auth: 'pat', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'username', envVar: 'DATABRICKS_USERNAME', confName: 'username', auth: 'basic', sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'password', envVar: 'DATABRICKS_PASSWORD', confName: 'password', auth: 'basic', sensitive: true, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'profile', envVar: 'DATABRICKS_CONFIG_PROFILE', confName: 'profile', auth: undefined, sensitive: false, internal: false, constructor: 'Function<ConfigAttribute>', isUndefined: 'Function<isUndefined>', readEnv: 'Function<readEnv>', readFromConfigFile: 'Function<readFromConfigFile>' }, { config: [Circular], name: 'configFile', envVar: 'DATABRICKS_CONFIG_FILE', confName: 'config_file', auth: undefined
src/analytics/tests/query.test.ts > QueryProcessor > processQueryParams > should auto-inject workspace_id when needed and not provided: packages/appkit/src/context/service-context.ts#L181
Error: ServiceContext not initialized. Call ServiceContext.initialize() first. ❯ Function.get src/context/service-context.ts:181:3 ❯ getExecutionContext src/context/execution-context.ts:481:47 ❯ getWorkspaceId src/context/execution-context.ts:510:10 ❯ QueryProcessor.processQueryParams src/analytics/query.ts:38:62 ❯ src/analytics/tests/query.test.ts:148:34 ❯ runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/query.test.ts:146:22
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > should handle AbortSignal cancellation: packages/appkit/src/context/service-context.ts#L181
Error: ServiceContext not initialized. Call ServiceContext.initialize() first. ❯ Function.get src/context/service-context.ts:181:3 ❯ getExecutionContext src/context/execution-context.ts:481:47 ❯ getCurrentUserId src/context/execution-context.ts:485:40 ❯ AnalyticsPlugin._handleQueryRoute src/analytics/analytics.ts:183:11 ❯ handler src/analytics/analytics.ts:84:3 ❯ __vi_import_0__.runWithRequestContext.serviceDatabricksClient src/analytics/tests/analytics.test.ts:395:17 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:393:7
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > should cache user-scoped queries separately per user: packages/appkit/src/plugin/plugin.ts#L240
Error: User ID not available in request headers. Ensure the request has the x-forwarded-user header. ❯ AnalyticsPlugin.asUser src/plugin/plugin.ts:240:11 ❯ handler src/analytics/analytics.ts:112:16 ❯ __vi_import_0__.runWithRequestContext.userId src/analytics/tests/analytics.test.ts:319:17 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:317:7
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > should return cached result on second request: packages/appkit/src/context/service-context.ts#L181
Error: ServiceContext not initialized. Call ServiceContext.initialize() first. ❯ Function.get src/context/service-context.ts:181:3 ❯ getExecutionContext src/context/execution-context.ts:481:47 ❯ getCurrentUserId src/context/execution-context.ts:485:40 ❯ AnalyticsPlugin._handleQueryRoute src/analytics/analytics.ts:183:11 ❯ handler src/analytics/analytics.ts:84:3 ❯ src/analytics/tests/analytics.test.ts:277:15 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:275:7
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > /users/me/query/:query_key should execute query with user workspace client: packages/appkit/src/plugin/plugin.ts#L240
Error: User ID not available in request headers. Ensure the request has the x-forwarded-user header. ❯ AnalyticsPlugin.asUser src/plugin/plugin.ts:240:11 ❯ handler src/analytics/analytics.ts:112:16 ❯ __vi_import_0__.runWithRequestContext.userDatabricksClient src/analytics/tests/analytics.test.ts:220:17 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:218:7
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > /query/:query_key should execute as service account without user token: packages/appkit/src/context/service-context.ts#L181
Error: ServiceContext not initialized. Call ServiceContext.initialize() first. ❯ Function.get src/context/service-context.ts:181:3 ❯ getExecutionContext src/context/execution-context.ts:481:47 ❯ getCurrentUserId src/context/execution-context.ts:485:40 ❯ AnalyticsPlugin._handleQueryRoute src/analytics/analytics.ts:183:11 ❯ handler src/analytics/analytics.ts:84:3 ❯ __vi_import_0__.runWithRequestContext.serviceDatabricksClient src/analytics/tests/analytics.test.ts:146:17 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:144:7
src/analytics/tests/analytics.test.ts > Analytics Plugin > injectRoutes > /query/:query_key should return 400 when query_key is missing: packages/appkit/src/context/service-context.ts#L181
Error: ServiceContext not initialized. Call ServiceContext.initialize() first. ❯ Function.get src/context/service-context.ts:181:3 ❯ getExecutionContext src/context/execution-context.ts:481:47 ❯ getCurrentUserId src/context/execution-context.ts:485:40 ❯ AnalyticsPlugin._handleQueryRoute src/analytics/analytics.ts:183:11 ❯ handler src/analytics/analytics.ts:84:3 ❯ src/analytics/tests/analytics.test.ts:105:15 ❯ Module.runWithRequestContext ../../tools/test-helpers.ts:1495:18 ❯ src/analytics/tests/analytics.test.ts:104:7