@dbx-tools/appkit-lakebox 0.9.131 → 0.9.132
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.
- package/README.md +144 -51
- package/index.ts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -1,105 +1,198 @@
|
|
|
1
1
|
# @dbx-tools/appkit-lakebox
|
|
2
2
|
|
|
3
|
-
Give
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
- One Lakebox per app, created on first use by the app service principal and
|
|
7
|
-
stopped by the platform after its idle timeout. Databricks assigns the
|
|
8
|
-
machine name; users see only the Lakebox product label.
|
|
9
|
-
- Each signed-in user gets a locked, non-sudo Linux account with a persistent
|
|
10
|
-
home. Other users cannot read the home or reach the user's service ports.
|
|
11
|
-
- Services run OCI images detached with direct crun. Terminal and desktop are
|
|
12
|
-
built-in services. Saved services restart when the Lakebox starts.
|
|
13
|
-
- Every service is reachable at `/lakebox/<user hash>/<service>` behind the
|
|
14
|
-
app's authentication.
|
|
15
|
-
- Agent tools, a Mastra workspace sandbox, and live machine metrics.
|
|
3
|
+
Give each authenticated Databricks App user a persistent Linux home, terminal,
|
|
4
|
+
desktop, OCI image services, agent tools, and machine metrics in one shared
|
|
5
|
+
Databricks Lakebox.
|
|
16
6
|
|
|
17
7
|
## Register the plugin
|
|
18
8
|
|
|
19
9
|
```ts
|
|
20
10
|
import { createApp, lakebase, server } from "@databricks/appkit";
|
|
21
|
-
import { lakebox } from "@dbx-tools/appkit-lakebox";
|
|
11
|
+
import { lakebox, LakeboxRuntime } from "@dbx-tools/appkit-lakebox";
|
|
12
|
+
import { resolveLakeboxPluginConfig } from "@dbx-tools/appkit-lakebox/config";
|
|
13
|
+
|
|
14
|
+
const runtime = new LakeboxRuntime(resolveLakeboxPluginConfig({ idleTimeoutSeconds: 1_800 }));
|
|
22
15
|
|
|
23
|
-
await createApp({
|
|
16
|
+
await createApp({
|
|
17
|
+
plugins: [server(), lakebase(), lakebox({ runtime })],
|
|
18
|
+
});
|
|
24
19
|
```
|
|
25
20
|
|
|
26
21
|
Lakebase persists the Databricks-assigned Lakebox ID, serializes first creation
|
|
27
|
-
across app replicas, and retains last
|
|
28
|
-
machine is stopped.
|
|
29
|
-
|
|
30
|
-
Databricks assigns. Startup also deletes legacy per-user
|
|
31
|
-
`dbx-<adjective>-<animal>-<nonce>` Lakeboxes and drops legacy Sandbox ownership
|
|
32
|
-
schemas; no user data is migrated between machines.
|
|
22
|
+
across app replicas, and retains the last observed service definitions while
|
|
23
|
+
the machine is stopped. Register AppKit's `lakebase()` plugin before users
|
|
24
|
+
access Lakebox routes.
|
|
33
25
|
|
|
34
|
-
|
|
26
|
+
## Connect Mastra to the same runtime
|
|
27
|
+
|
|
28
|
+
Pass the same `LakeboxRuntime` to the AppKit plugin and Mastra sandbox. This
|
|
29
|
+
keeps commands, services, routes, metrics, and user accounts on the same
|
|
30
|
+
Lakebox:
|
|
35
31
|
|
|
36
32
|
```ts
|
|
33
|
+
import { createApp, lakebase, server } from "@databricks/appkit";
|
|
37
34
|
import { lakebox, LakeboxRuntime } from "@dbx-tools/appkit-lakebox";
|
|
38
35
|
import { resolveLakeboxPluginConfig } from "@dbx-tools/appkit-lakebox/config";
|
|
39
36
|
import { lakeboxSkillMounts } from "@dbx-tools/appkit-lakebox/skills";
|
|
40
37
|
import { lakeboxWorkspaceSandbox } from "@dbx-tools/appkit-lakebox/workspace";
|
|
38
|
+
import { agents, mastra } from "@dbx-tools/appkit-mastra";
|
|
41
39
|
|
|
42
40
|
const runtime = new LakeboxRuntime(resolveLakeboxPluginConfig());
|
|
41
|
+
const analyst = agents.createAgent({
|
|
42
|
+
name: "Analyst",
|
|
43
|
+
instructions: "Use the workspace when the task requires files or commands.",
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
await createApp({
|
|
47
|
+
plugins: [
|
|
48
|
+
server(),
|
|
49
|
+
lakebase(),
|
|
50
|
+
lakebox({ runtime }),
|
|
51
|
+
mastra({
|
|
52
|
+
agents: { analyst },
|
|
53
|
+
sandbox: lakeboxWorkspaceSandbox(runtime),
|
|
54
|
+
localSkillMounts: lakeboxSkillMounts(),
|
|
55
|
+
}),
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
```
|
|
43
59
|
|
|
44
|
-
|
|
45
|
-
|
|
60
|
+
The sandbox resolves the authenticated Mastra user for each request. It doesn't
|
|
61
|
+
create compute during agent registration. The first command or service starts
|
|
62
|
+
the Lakebox when `auto` is enabled.
|
|
63
|
+
|
|
64
|
+
## Render the Lakebox UI
|
|
65
|
+
|
|
66
|
+
Register the backend plugin, then render the React package in the same
|
|
67
|
+
application:
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import { LakeboxIndicator, LakeboxPanel } from "@dbx-tools/ui-lakebox/react";
|
|
71
|
+
|
|
72
|
+
export function LakeboxPage() {
|
|
73
|
+
return (
|
|
74
|
+
<>
|
|
75
|
+
<LakeboxIndicator />
|
|
76
|
+
<LakeboxPanel />
|
|
77
|
+
</>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
46
80
|
```
|
|
47
81
|
|
|
82
|
+
Import the package stylesheet after your AppKit UI theme:
|
|
83
|
+
|
|
84
|
+
```css
|
|
85
|
+
@import "@dbx-tools/ui-lakebox/styles.css";
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The components read the API base path from the plugin's published client
|
|
89
|
+
configuration. You don't need to copy route strings or pass Databricks
|
|
90
|
+
credentials to the browser.
|
|
91
|
+
|
|
48
92
|
## Create a service
|
|
49
93
|
|
|
50
|
-
Agents call `create_lakebox_service
|
|
94
|
+
Agents call `create_lakebox_service`. REST clients send
|
|
95
|
+
`POST /api/lakebox/services`:
|
|
51
96
|
|
|
52
97
|
```json
|
|
53
98
|
{
|
|
54
99
|
"name": "hello",
|
|
55
100
|
"image": "docker.io/library/python:3.12-alpine",
|
|
56
|
-
"command": ["
|
|
101
|
+
"command": ["sh", "-lc", "python -m http.server \"$SERVICE_PORT\" --bind 127.0.0.1"],
|
|
57
102
|
"mounts": [{ "source": "data", "target": "/data" }]
|
|
58
103
|
}
|
|
59
104
|
```
|
|
60
105
|
|
|
61
106
|
The call returns after the service listens. The runtime injects
|
|
62
|
-
`SERVICE_NAME`, `SERVICE_PATH`, `SERVICE_PORT`, and `PORT
|
|
63
|
-
listen on `127.0.0.1:$SERVICE_PORT`. Mount sources are relative to the
|
|
64
|
-
home.
|
|
107
|
+
`SERVICE_NAME`, `SERVICE_PATH`, `SERVICE_PORT`, and `PORT`. Routed services
|
|
108
|
+
must listen on `127.0.0.1:$SERVICE_PORT`. Mount sources are relative to the
|
|
109
|
+
user's home.
|
|
65
110
|
|
|
66
111
|
This is a constrained container API, not the Docker CLI. There is no daemon,
|
|
67
112
|
port publishing, privileged mode, device access, or bridge network. A Lakebox
|
|
68
|
-
stop and start restarts services from their saved definitions
|
|
113
|
+
stop and start restarts services from their saved definitions. Process memory
|
|
69
114
|
does not resume.
|
|
70
115
|
|
|
71
|
-
##
|
|
116
|
+
## Use the agent tools
|
|
117
|
+
|
|
118
|
+
| Tool | Effect |
|
|
119
|
+
| ----------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
120
|
+
| `get_lakebox` | Returns status, the current user's account, and services without creating the Lakebox. |
|
|
121
|
+
| `execute_lakebox_command` | Run a command as the user's account. |
|
|
122
|
+
| `list_lakebox_services` | List the user's services. |
|
|
123
|
+
| `create_lakebox_service` | Create or replace an image service and wait until ready. |
|
|
124
|
+
| `start_lakebox_service`, `stop_lakebox_service` | Start or stop a saved service, `terminal`, or `desktop`. |
|
|
125
|
+
| `remove_lakebox_service` | Delete a saved service. Requires approval. |
|
|
126
|
+
| `get_lakebox_service_logs` | Read a bounded service log. |
|
|
127
|
+
|
|
128
|
+
The plugin creates or starts the Lakebox for commands and service mutations
|
|
129
|
+
when `auto` is enabled. Listing and status operations don't create it.
|
|
130
|
+
|
|
131
|
+
## Understand the lifecycle
|
|
132
|
+
|
|
133
|
+
The app service principal owns Lakebox lifecycle calls. An on-behalf-of user
|
|
134
|
+
identity selects that user's Linux account and authorizes routes, but it never
|
|
135
|
+
creates, starts, stops, or deletes the Databricks resource.
|
|
136
|
+
|
|
137
|
+
Lifecycle behavior is:
|
|
138
|
+
|
|
139
|
+
1. The first explicit start, command, service mutation, or routed request
|
|
140
|
+
creates the app's Lakebox when none exists.
|
|
141
|
+
2. The runtime starts the Lakebox and restores saved service definitions.
|
|
142
|
+
3. Each authenticated identity maps to a locked non-sudo account with a
|
|
143
|
+
persistent home and private service ports.
|
|
144
|
+
4. The Databricks platform stops the Lakebox after the configured idle period.
|
|
145
|
+
5. A later request starts it again. User files and saved service definitions
|
|
146
|
+
persist, but process memory doesn't.
|
|
72
147
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
| `list_lakebox_services` | List the user's services. |
|
|
78
|
-
| `create_lakebox_service` | Create or replace an image service and wait until ready. |
|
|
79
|
-
| `start_lakebox_service`, `stop_lakebox_service` | Start a saved service, `terminal`, or `desktop`; stop one. |
|
|
80
|
-
| `remove_lakebox_service` | Delete a saved service. Requires approval. |
|
|
81
|
-
| `get_lakebox_service_logs` | Read a bounded service log. |
|
|
148
|
+
`runtime.stop()` stops the shared Lakebox for every user. `runtime.delete()`
|
|
149
|
+
permanently deletes the Lakebox and every user's files. Normal AppKit shutdown
|
|
150
|
+
closes SSH sessions and forwarding bridges but leaves idle shutdown to the
|
|
151
|
+
platform.
|
|
82
152
|
|
|
83
153
|
## Configuration
|
|
84
154
|
|
|
85
|
-
| Option
|
|
86
|
-
|
|
|
87
|
-
| `application`
|
|
88
|
-
| `idleTimeoutSeconds`
|
|
89
|
-
| `auto`
|
|
90
|
-
| `routePrefix`
|
|
91
|
-
| `metricsIntervalSeconds` | `5`
|
|
92
|
-
| `sshTransport`
|
|
155
|
+
| Option | Default | Description |
|
|
156
|
+
| ------------------------ | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
157
|
+
| `application` | `DBX_TOOLS_LAKEBOX_APPLICATION`, `DATABRICKS_APP_NAME`, or the project directory | Stable key for the persisted Lakebox resource ID. |
|
|
158
|
+
| `idleTimeoutSeconds` | `3600` | Platform idle timeout, 60 to 86400 seconds. |
|
|
159
|
+
| `auto` | `true` | Create or start the Lakebox on demand. |
|
|
160
|
+
| `routePrefix` | `/lakebox` | AppKit root for service routes. |
|
|
161
|
+
| `metricsIntervalSeconds` | `5` | Sample interval while a client watches metrics. |
|
|
162
|
+
| `sshTransport` | `auto` | `auto`, `openssh`, or `ssh2`. |
|
|
163
|
+
| `ssh2Patch` | `auto` | Apply the ssh2 missing-exec-reply workaround only in development, always, or never. |
|
|
164
|
+
| `gatewayPort` | `2222` | Lakebox SSH gateway port. |
|
|
165
|
+
| `connectTimeoutMs` | `30000` | SSH connection timeout. |
|
|
166
|
+
| `commandTimeoutMs` | `120000` | Default command timeout. |
|
|
167
|
+
| `keyDirectory` | `~/.dbx-tools/lakebox` | Optional server-side SSH key and known-host storage root. |
|
|
93
168
|
|
|
94
169
|
## Interactive testing
|
|
95
170
|
|
|
96
171
|
`test/cli.ts` runs the real runtime against a workspace profile as any user:
|
|
97
172
|
|
|
98
|
-
```
|
|
173
|
+
```bash
|
|
99
174
|
bun packages/js/node/appkit-lakebox/test/cli.ts --profile <profile> --user a@example.com status
|
|
100
175
|
bun packages/js/node/appkit-lakebox/test/cli.ts --profile <profile> --user b@example.com exec id
|
|
101
|
-
|
|
176
|
+
bunx tsx packages/js/node/appkit-lakebox/test/cli.ts --profile <profile> --user a@example.com serve
|
|
102
177
|
```
|
|
103
178
|
|
|
104
179
|
`serve` starts that user's terminal and desktop and proxies their routes on
|
|
105
|
-
|
|
180
|
+
[http://127.0.0.1:8787](http://127.0.0.1:8787).
|
|
181
|
+
|
|
182
|
+
Pass a configured profile explicitly. In this harness, the profile identity
|
|
183
|
+
stands in for the app service principal.
|
|
184
|
+
|
|
185
|
+
## Understand security and runtime limits
|
|
186
|
+
|
|
187
|
+
- Each app has at most one managed Lakebox. Users share the machine but not
|
|
188
|
+
Linux accounts, homes, or service ports.
|
|
189
|
+
- Commands and services don't receive Databricks environment variables,
|
|
190
|
+
forwarded credentials, cookies, or SSH agent access.
|
|
191
|
+
- Service routes fail closed when a non-loopback request has no authenticated
|
|
192
|
+
identity.
|
|
193
|
+
- Image services run with private PID, IPC, mount, and user namespaces. They
|
|
194
|
+
share host networking and must bind only to the injected loopback port.
|
|
195
|
+
- Metrics cover machine CPU, memory, persistent storage, and network counters.
|
|
196
|
+
They don't expose process data and are sampled only while a client watches.
|
|
197
|
+
- Lakebase is required for app resource identity, replica convergence, and
|
|
198
|
+
last-known service definitions.
|
package/index.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
5
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-lakebox";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.132";
|
|
7
7
|
export * as config from "./src/config.ts";
|
|
8
8
|
export * as desktop from "./src/desktop.ts";
|
|
9
9
|
export * as metrics from "./src/metrics.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-lakebox";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.132";
|
|
3
3
|
export * as config from "./src/config.ts";
|
|
4
4
|
export * as desktop from "./src/desktop.ts";
|
|
5
5
|
export * as metrics from "./src/metrics.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
export const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-lakebox";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.132";
|
|
6
6
|
export * as config from "./src/config.js";
|
|
7
7
|
export * as desktop from "./src/desktop.js";
|
|
8
8
|
export * as metrics from "./src/metrics.js";
|
|
@@ -23,4 +23,4 @@ export { LakeboxControllerDefinitionSchema, LakeboxControllerServiceSchema } fro
|
|
|
23
23
|
export { LAKEBOX_SKILLS_MOUNT } from "./src/skills.js";
|
|
24
24
|
export { LAKEBOX_AGENT_USER, LAKEBOX_AGENT_HOME, LAKEBOX_STATE_ROOT, LAKEBOX_USERS_ROOT, LAKEBOX_RUNTIME_ROOT, LAKEBOX_RUN_ROOT, LAKEBOX_UID_MIN, LAKEBOX_UID_COUNT, LAKEBOX_PORT_MIN, LAKEBOX_PORT_COUNT } from "./src/user.js";
|
|
25
25
|
export { LakeboxWorkspaceSandbox } from "./src/workspace.js";
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pPLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9hcHBraXQtbGFrZWJveFwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjEzMlwiO1xuZXhwb3J0ICogYXMgY29uZmlnIGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCAqIGFzIGRlc2t0b3AgZnJvbSBcIi4vc3JjL2Rlc2t0b3AudHNcIjtcbmV4cG9ydCAqIGFzIG1ldHJpY3MgZnJvbSBcIi4vc3JjL21ldHJpY3MudHNcIjtcbmV4cG9ydCAqIGFzIHBsdWdpbiBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgKiBhcyByb3V0ZXMgZnJvbSBcIi4vc3JjL3JvdXRlcy50c1wiO1xuZXhwb3J0ICogYXMgcnVudGltZSBmcm9tIFwiLi9zcmMvcnVudGltZS50c1wiO1xuZXhwb3J0ICogYXMgc2VydmljZXMgZnJvbSBcIi4vc3JjL3NlcnZpY2VzLnRzXCI7XG5leHBvcnQgKiBhcyBza2lsbHMgZnJvbSBcIi4vc3JjL3NraWxscy50c1wiO1xuZXhwb3J0ICogYXMgdXNlciBmcm9tIFwiLi9zcmMvdXNlci50c1wiO1xuZXhwb3J0ICogYXMgd29ya3NwYWNlIGZyb20gXCIuL3NyYy93b3Jrc3BhY2UudHNcIjtcbmV4cG9ydCB7IExha2Vib3hQbHVnaW5Db25maWdTY2hlbWEgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IFNlcmlhbGl6YWJsZUxha2Vib3hQbHVnaW5Db25maWcsIFJlc29sdmVkTGFrZWJveFBsdWdpbkNvbmZpZywgTGFrZWJveFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB7IGRlc2t0b3BIdG1sSGVhZCB9IGZyb20gXCIuL3NyYy9kZXNrdG9wLnRzXCI7XG5leHBvcnQgeyBMYWtlYm94TWV0cmljcyB9IGZyb20gXCIuL3NyYy9tZXRyaWNzLnRzXCI7XG5leHBvcnQgdHlwZSB7IExha2Vib3hDb3VudGVycywgTGFrZWJveE1ldHJpY3NFdmVudHMgfSBmcm9tIFwiLi9zcmMvbWV0cmljcy50c1wiO1xuZXhwb3J0IHsgQXBwS2l0TGFrZWJveFBsdWdpbiwgbGFrZWJveCB9IGZyb20gXCIuL3NyYy9wbHVnaW4udHNcIjtcbmV4cG9ydCB7IExha2Vib3hSb3V0ZVJlZ2lzdHJ5IH0gZnJvbSBcIi4vc3JjL3JvdXRlcy50c1wiO1xuZXhwb3J0IHR5cGUgeyBMYWtlYm94Um91dGVSZXNvbHV0aW9uLCBMYWtlYm94Um91dGVSZXNvbHZlciB9IGZyb20gXCIuL3NyYy9yb3V0ZXMudHNcIjtcbmV4cG9ydCB7IExha2Vib3hSdW50aW1lIH0gZnJvbSBcIi4vc3JjL3J1bnRpbWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgTGFrZWJveElkZW50aXR5UmVzb2x2ZXIsIExha2Vib3hMZWdhY3lQb29sIH0gZnJvbSBcIi4vc3JjL3J1bnRpbWUudHNcIjtcbmV4cG9ydCB7IExha2Vib3hDb250cm9sbGVyRGVmaW5pdGlvblNjaGVtYSwgTGFrZWJveENvbnRyb2xsZXJTZXJ2aWNlU2NoZW1hIH0gZnJvbSBcIi4vc3JjL3NlcnZpY2VzLnRzXCI7XG5leHBvcnQgdHlwZSB7IExha2Vib3hDb250cm9sbGVyRGVmaW5pdGlvbiwgTGFrZWJveENvbnRyb2xsZXJTZXJ2aWNlLCBMYWtlYm94U2VydmljZVJvdXRlIH0gZnJvbSBcIi4vc3JjL3NlcnZpY2VzLnRzXCI7XG5leHBvcnQgeyBMQUtFQk9YX1NLSUxMU19NT1VOVCB9IGZyb20gXCIuL3NyYy9za2lsbHMudHNcIjtcbmV4cG9ydCB7IExBS0VCT1hfQUdFTlRfVVNFUiwgTEFLRUJPWF9BR0VOVF9IT01FLCBMQUtFQk9YX1NUQVRFX1JPT1QsIExBS0VCT1hfVVNFUlNfUk9PVCwgTEFLRUJPWF9SVU5USU1FX1JPT1QsIExBS0VCT1hfUlVOX1JPT1QsIExBS0VCT1hfVUlEX01JTiwgTEFLRUJPWF9VSURfQ09VTlQsIExBS0VCT1hfUE9SVF9NSU4sIExBS0VCT1hfUE9SVF9DT1VOVCB9IGZyb20gXCIuL3NyYy91c2VyLnRzXCI7XG5leHBvcnQgeyBMYWtlYm94V29ya3NwYWNlU2FuZGJveCB9IGZyb20gXCIuL3NyYy93b3Jrc3BhY2UudHNcIjtcbmV4cG9ydCB0eXBlIHsgTGFrZWJveFdvcmtzcGFjZVNhbmRib3hPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3dvcmtzcGFjZS50c1wiO1xuIl19
|
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"projen": "projen"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@dbx-tools/auth": "^0.9.
|
|
22
|
+
"@dbx-tools/auth": "^0.9.132",
|
|
23
23
|
"@types/express": "^5.0.5",
|
|
24
24
|
"@types/json-schema": "^7",
|
|
25
25
|
"@types/node": "^24.6.0",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@databricks/appkit": "0.81.0",
|
|
32
|
-
"@dbx-tools/appkit": "^0.9.
|
|
33
|
-
"@dbx-tools/appkit-mastra": "^0.9.
|
|
34
|
-
"@dbx-tools/core": "^0.9.
|
|
35
|
-
"@dbx-tools/lakebox": "^0.9.
|
|
36
|
-
"@dbx-tools/postgres": "^0.9.
|
|
37
|
-
"@dbx-tools/shared-core": "^0.9.
|
|
38
|
-
"@dbx-tools/shared-lakebox": "^0.9.
|
|
39
|
-
"@dbx-tools/ui": "^0.9.
|
|
32
|
+
"@dbx-tools/appkit": "^0.9.132",
|
|
33
|
+
"@dbx-tools/appkit-mastra": "^0.9.132",
|
|
34
|
+
"@dbx-tools/core": "^0.9.132",
|
|
35
|
+
"@dbx-tools/lakebox": "^0.9.132",
|
|
36
|
+
"@dbx-tools/postgres": "^0.9.132",
|
|
37
|
+
"@dbx-tools/shared-core": "^0.9.132",
|
|
38
|
+
"@dbx-tools/shared-lakebox": "^0.9.132",
|
|
39
|
+
"@dbx-tools/ui": "^0.9.132",
|
|
40
40
|
"@mastra/core": "1.71.0",
|
|
41
41
|
"http-proxy-3": "^1.23.1",
|
|
42
42
|
"zod": "4.3.6"
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"./package.json": "./package.json"
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
|
-
"version": "0.9.
|
|
102
|
+
"version": "0.9.132",
|
|
103
103
|
"types": "./lib/index.d.ts",
|
|
104
104
|
"dbxToolsConfig": {
|
|
105
105
|
"tags": [
|