@dbx-tools/appkit-mastra 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 CHANGED
@@ -1,13 +1,10 @@
1
1
  # @dbx-tools/appkit-mastra
2
2
 
3
- AppKit plugin and server-side toolkit for hosting Mastra agents inside a
4
- Databricks App.
3
+ Host Mastra agents in a Databricks App with AppKit authentication, streaming
4
+ routes, Lakebase-backed memory, Genie tools, model selection, chart and table
5
+ embeds, MLflow feedback, and MCP exposure.
5
6
 
6
- The plugin mounts Mastra's streaming routes in an AppKit server and adds
7
- Databricks authentication, Lakebase-backed memory, Genie tools, model selection,
8
- chart and table embeds, MLflow feedback, and MCP exposure.
9
-
10
- ## Quick Start
7
+ ## Quick start
11
8
 
12
9
  Add an agent and run its command tools in the default Monty runtime:
13
10
 
@@ -25,7 +22,7 @@ await createApp({ plugins: [server(), mastra({ agents: { analyst } })] });
25
22
  Add Lakebase, Genie, Analytics, or other AppKit plugins when the agent needs
26
23
  durable threads or workspace tools.
27
24
 
28
- ## Choose Mastra Or AppKit Agents
25
+ ## Choose Mastra, AppKit Agents, or direct Genie
29
26
 
30
27
  Native AppKit Agents is the shorter path for AppKit-native agent definitions,
31
28
  streaming chat, threads, cancellation, and approvals. Choose this package when
@@ -37,13 +34,18 @@ the application already uses Mastra or needs Mastra-specific capabilities:
37
34
  ToolProvider plugins stay available without rewriting them.
38
35
  - Genie as an agent tool that emits typed progress events, result metadata, and
39
36
  delayed chart/data markers into the same assistant turn.
40
- - A paired React client in [`@dbx-tools/ui-mastra`](../../ui/mastra) with model
37
+ - A paired React client in [@dbx-tools/ui-mastra](../../ui/mastra) with model
41
38
  picking, thread sidebar, approvals, feedback, exports, and inline embeds.
42
39
  - Per-request model override and fuzzy endpoint resolution through
43
- [`@dbx-tools/model`](../model), instead of binding every agent to a fixed
40
+ [@dbx-tools/model](../model), instead of binding every agent to a fixed
44
41
  endpoint name.
45
42
 
46
- ## Full App Example
43
+ Use direct Genie chat when one Genie space owns the conversation and users don't
44
+ need a supervising agent. Choose Mastra when one turn must combine Genie with
45
+ other tools, memory, approvals, or workflows. Direct Genie keeps conversation
46
+ history in Genie and doesn't write Mastra memory.
47
+
48
+ ## Full app example
47
49
 
48
50
  ```ts
49
51
  import { analytics, createApp, lakebase, server } from "@databricks/appkit";
@@ -98,7 +100,7 @@ This example provides:
98
100
  - Lakebase registration automatically enables durable thread storage and vector
99
101
  memory unless you opt out.
100
102
 
101
- ## Agent Registration
103
+ ## Agent registration
102
104
 
103
105
  `mastra({ agents })` accepts a single definition, an array, or a record.
104
106
  Records are best when clients need stable agent ids:
@@ -135,7 +137,7 @@ Agents are also told to issue independent tool calls together in one turn and
135
137
  to keep dependent or conflicting calls sequential. Models that do not support
136
138
  parallel tool calls continue through the normal multi-step agent loop.
137
139
 
138
- ## Typed Application Request Context
140
+ ## Typed application request context
139
141
 
140
142
  Use Mastra's native `requestContextSchema` for UI selections that should shape a
141
143
  turn, such as a store, workflow, route, or selected entity:
@@ -174,12 +176,12 @@ so application context cannot change conversation ownership or credentials.
174
176
  `createAgent({ requireToolApproval })` forwards Mastra's native request-level
175
177
  approval gate. It may be an async Classifier-backed function that returns `true`
176
178
  for calls still needing human review. A tool's own `requireApproval` remains
177
- authoritative; configure that native function on the tool when policy should
179
+ authoritative. Configure that native function on the tool when policy should
178
180
  allow some calls. Regular agents do not include Agent Controller's durable
179
181
  allow/ask/deny permission store, so remembered decisions remain a caller-owned,
180
182
  server-side durable policy rather than browser state.
181
183
 
182
- ## AppKit Toolkits
184
+ ## AppKit toolkits
183
185
 
184
186
  The `tools(plugins)` callback receives a dynamic index of registered AppKit
185
187
  tool-provider plugins. Each entry exposes `.toolkit(opts)` with AppKit's public
@@ -208,11 +210,11 @@ const agent = agents.createAgent({
208
210
  });
209
211
  ```
210
212
 
211
- Tool calls dispatch back through the owning AppKit plugin, preserving OBO auth
212
- and AppKit telemetry behavior. Optional plugins should be guarded with `?.` when
213
- you spread their tools.
213
+ Tool calls dispatch back through the owning AppKit plugin, preserving
214
+ on-behalf-of-user (OBO) authentication and AppKit telemetry behavior. Optional
215
+ plugins should be guarded with `?.` when you spread their tools.
214
216
 
215
- ### Tools Flow In, Not Out
217
+ ### Tools flow in, not out
216
218
 
217
219
  The plugin is a tool _consumer_, not an AppKit `ToolProvider`: it deliberately
218
220
  implements neither `getAgentTools()` nor `executeAgentTool()`, so its built-in
@@ -237,7 +239,7 @@ unless `mcp: { tools: true }` names them explicitly. Approval-gated tools you
237
239
  register yourself are enforced separately: boot fails if one is registered
238
240
  without Mastra storage to persist the suspended run.
239
241
 
240
- ## Memory And Storage
242
+ ## Memory and storage
241
243
 
242
244
  The `memory` and `storage` config fields can be `false`, `true`, or a concrete
243
245
  Mastra Postgres/PgVector config.
@@ -252,23 +254,23 @@ mastra({
252
254
 
253
255
  With `lakebase()` registered, both default to enabled:
254
256
 
255
- - storage uses a per-agent schema for durable threads and messages;
256
- - memory uses a shared vector index for semantic recall;
257
- - the existing service-principal pool is captured from `lakebase()` during
257
+ - Storage uses a per-agent schema for durable threads and messages.
258
+ - Memory uses a shared vector index for semantic recall.
259
+ - The existing service-principal pool is captured from `lakebase()` during
258
260
  startup, so request-scoped OBO credentials never reach storage work and no
259
261
  additional PostgreSQL pool is created.
260
262
 
261
263
  Without `lakebase()`, agents are stateless unless you provide explicit storage
262
264
  and memory configs.
263
265
 
264
- ### Add External Durable Memory Tools
266
+ ### Add external durable memory tools
265
267
 
266
268
  Register `@dbx-tools/appkit-memory` as a sibling plugin and request
267
269
  `plugins.memory?.toolkit()` from the agents that need its `remember` and
268
270
  `recall_memory` tools. The memory plugin owns Databricks and Graphiti selection.
269
271
  Mastra continues to own only its configured PostgresStore and PgVector.
270
272
 
271
- ## Workspace Capabilities
273
+ ## Workspace capabilities
272
274
 
273
275
  Every `agents.createAgent()` gets a default Mastra `Workspace` from
274
276
  `workspaces.databricksWorkspace()`. A workspace can provide file access, skill
@@ -277,6 +279,13 @@ discovery, a command sandbox, or any combination. The default mounts
277
279
  configured Assistant skill paths, and provides Monty for isolated Python
278
280
  command execution.
279
281
 
282
+ Use AppKit's Files plugin when application routes and UI components need
283
+ governed upload, download, or volume access. Use a Mastra workspace when the
284
+ agent itself needs files, skills, or command execution during a turn. A
285
+ `FileSystem` from [@dbx-tools/databricks](../databricks) or
286
+ [@dbx-tools/fs](../fs) can be mounted into that workspace with
287
+ `filesystems(fs)`.
288
+
280
289
  Pass paths directly when an agent needs a different filesystem scope:
281
290
 
282
291
  ```ts
@@ -318,7 +327,7 @@ const workspace = workspaces.databricksWorkspace({
318
327
  Paths are file-only unless `skills` lists relative Mastra skill paths within
319
328
  that included path. At workspace level, `skills` uses Mastra's native path list
320
329
  or resolver. An empty list retains configured mounts without exposing skills.
321
- `writable` controls whether the filesystem attempts mutations; Databricks
330
+ `writable` controls whether the filesystem attempts mutations. Databricks
322
331
  permissions still decide whether an operation succeeds. `mount` can expose the
323
332
  path at a different Mastra path when required.
324
333
 
@@ -378,7 +387,7 @@ remote skills use their native tools without duplicating their virtual mounts
378
387
  in workspace search. Set the workspace's `skills` to an empty list when the
379
388
  workspace should expose no skills.
380
389
 
381
- ### Cache Workspace Metadata
390
+ ### Cache workspace metadata
382
391
 
383
392
  Register `filesCache()` to reuse Databricks directory metadata across page
384
393
  refreshes and later turns:
@@ -405,7 +414,7 @@ const workspace = workspaces.databricksWorkspace({
405
414
  });
406
415
  ```
407
416
 
408
- ### Configure File Approvals
417
+ ### Configure file approvals
409
418
 
410
419
  Workspace tools are enabled and run without approval by default. This applies to
411
420
  file mutations and command execution with either Monty or a supplied sandbox
@@ -434,7 +443,7 @@ are separate, so gate or disable
434
443
  `WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND` when commands must not bypass file
435
444
  policies. Cached metadata never grants Databricks access.
436
445
 
437
- ## Workspace Sandbox
446
+ ## Workspace sandbox
438
447
 
439
448
  Auto-created workspaces use Monty by default. Supply any native Mastra
440
449
  `WorkspaceSandbox` or request-scoped resolver to use a remote transport:
@@ -486,7 +495,7 @@ const localAgent = agents.createAgent({
486
495
  An agent-level workspace overrides the plugin-level sandbox setting. Returning
487
496
  `undefined` from a workspace resolver disables the workspace for that agent.
488
497
 
489
- ### Batch Tools With Code Mode
498
+ ### Batch tools with Code Mode
490
499
 
491
500
  Mastra Code Mode is enabled by default when an agent has executable tools. It
492
501
  adds an `execute_typescript` tool so the model can batch independent calls,
@@ -508,7 +517,7 @@ calls an exposed Lakebox-backed tool.
508
517
 
509
518
  Callers may also use native Mastra `createCodeMode` directly when they want
510
519
  multiple explicitly scoped orchestration tools, or when the TypeScript program
511
- itself must execute in a supplied Sandbox:
520
+ itself must run in a supplied Sandbox:
512
521
 
513
522
  ```ts
514
523
  const sales = createCodeMode({
@@ -531,11 +540,11 @@ const agent = new Agent({
531
540
  });
532
541
  ```
533
542
 
534
- This is native Mastra `createCodeMode`; the plugin does not wrap or re-export it.
543
+ This is native Mastra `createCodeMode`. The plugin does not wrap or re-export it.
535
544
  Set plugin `codeMode: false` to disable the automatic Code Mode, or pass
536
545
  `{ id, timeout }` to tune its generated tool.
537
546
 
538
- ## Remote Skills
547
+ ## Remote skills
539
548
 
540
549
  Use `remoteSkills` to install a curated skill set when the files are not already
541
550
  in the Databricks workspace. Sources can be a GitHub `owner/repo`, a git URL, a
@@ -615,13 +624,10 @@ mastra({
615
624
  });
616
625
  ```
617
626
 
618
- **No CLI required.** `databricks aitools install` resolves its skills from the
619
- PUBLIC `databricks/databricks-agent-skills` repo, so this reads the same repo
620
- directly: it fetches the repo's generated `manifest.json` (which names each
621
- skill's files and whether it lives under `skills/` or `experimental/`) and
622
- downloads them. That matters because a deployed Databricks App container has no
623
- `databricks` CLI - the old CLI shell-out simply never produced skills there.
624
- No Databricks auth is involved either, since the repo is public.
627
+ The source reads the public
628
+ [databricks/databricks-agent-skills](https://github.com/databricks/databricks-agent-skills)
629
+ repository's generated `manifest.json` and downloads the selected skill files.
630
+ It doesn't require the Databricks CLI or Databricks authentication.
625
631
 
626
632
  Per-source options for `"aitools"`:
627
633
 
@@ -636,18 +642,18 @@ destination. These trees are supplied to every agent as standard agent-level
636
642
  skills rather than workspace-search roots. Local filesystem mounts remain
637
643
  available below `/.skills` when a Databricks destination is unavailable.
638
644
 
639
- ## Genie Tools
645
+ ## Genie tools
640
646
 
641
647
  `genie.buildGenieTools()` and `plugins.genie.toolkit()` expose tools for:
642
648
 
643
- - asking a configured Genie space;
644
- - reading space descriptions and serialized space metadata;
645
- - fetching statement rows by `statement_id`;
646
- - preparing charts from Genie result sets.
649
+ - Asking a configured Genie space.
650
+ - Reading space descriptions and serialized space metadata.
651
+ - Fetching statement rows by `statement_id`.
652
+ - Preparing charts from Genie result sets.
647
653
 
648
654
  The central agent drives those tools directly. Genie events stream through the
649
655
  Mastra writer using the shared contract from
650
- [`@dbx-tools/shared-mastra`](../../shared/mastra), so clients can show thinking,
656
+ [@dbx-tools/shared-mastra](../../shared/mastra), so clients can show thinking,
651
657
  SQL, row counts, summaries, chart markers, and data markers as the turn runs.
652
658
  Independent `ask_genie` calls can run in parallel. One invocation owns the
653
659
  thread's reusable Genie conversation while overlapping invocations use isolated
@@ -673,7 +679,7 @@ const agent = agents.createAgent({
673
679
  });
674
680
  ```
675
681
 
676
- ### Direct Genie Chat
682
+ ### Direct Genie chat
677
683
 
678
684
  The plugin also exposes a Genie-only transport for the paired Mastra UI. It
679
685
  keeps the standard AI SDK `UIMessage` stream and the same tool, thought, table,
@@ -702,7 +708,7 @@ Direct turns require the
702
708
  never fall back to the classic start/create/get-message polling flow, and
703
709
  history comes only from the Agent API conversation-items endpoint. The GA
704
710
  space conversation-list endpoint is used only to discover conversations marked
705
- `GENIE_CONVERSATION_TYPE_AGENT`; the GA delete endpoints provide the management
711
+ `GENIE_CONVERSATION_TYPE_AGENT`. The GA delete endpoints provide the management
706
712
  operations that the Agent API does not expose.
707
713
 
708
714
  Agent Mode receives Genie's visualization tool. When Genie emits a
@@ -722,7 +728,7 @@ Operational limits:
722
728
  - Aborting the browser stream cancels that request instead of leaving a durable
723
729
  Mastra run to reconnect.
724
730
 
725
- ## Charts And Data Embeds
731
+ ## Charts and data embeds
726
732
 
727
733
  `chart.prepareChart()` mints a chart id immediately, caches an in-progress
728
734
  record, resolves the data in the background, and stores a terminal chart or
@@ -758,10 +764,10 @@ Agents can return `[chart:<id>]` and `[data:<statement_id>]` markers in prose.
758
764
  The embed route resolves them later, which avoids forcing the language model to
759
765
  inline large tables or wait for chart planning before continuing its answer.
760
766
  Agent Mode and polling query attachments carry statement ids when Databricks
761
- returns them. Direct Genie chat additionally uses
767
+ returns them. Direct Genie chat also uses
762
768
  `[visualization:<statement_id>]` for AppKit UI's native Genie visualization.
763
769
 
764
- ### Chart Types And Hand-Written Charts
770
+ ### Chart types and hand-written charts
765
771
 
766
772
  The planner does not emit a raw Echarts option. It fills a small plan (chart
767
773
  type, categories, series) that `planToEchartsOption` expands, so tooltip,
@@ -796,10 +802,10 @@ Prefer a listed type whenever one fits. `custom` trades the shared defaults for
796
802
  reach, so it is the answer for an unsupported chart shape, not a way to restyle
797
803
  a supported one.
798
804
 
799
- ### Brand The Charts
805
+ ### Brand the charts
800
806
 
801
807
  Pass a `brand` to the plugin to theme every generated chart with your brand's
802
- palette and font; omit it for the default Echarts look.
808
+ palette and font. Omit it for the default Echarts look.
803
809
 
804
810
  ```ts
805
811
  import { brandUtils } from "@dbx-tools/shared-core";
@@ -820,24 +826,24 @@ read later in a browser whose light/dark theme the server cannot know, so the
820
826
  brand's single (light) foreground would produce near-black labels on a dark chat
821
827
  surface. The renderer resolves tick labels, axis names, grid lines, and the
822
828
  tooltip from AppKit's live CSS tokens instead - see
823
- [`@dbx-tools/ui-mastra`](../../ui/mastra)'s chart theming. Brand identity is the
824
- same in either mode; chrome is not.
829
+ [@dbx-tools/ui-mastra](../../ui/mastra)'s chart theming. Brand identity is the
830
+ same in either mode. Chrome is not.
825
831
 
826
- ## Model Selection
832
+ ## Model selection
827
833
 
828
834
  `model.buildModel()` adapts the generic resolver from
829
- [`@dbx-tools/model`](../model) to Mastra, then constructs a request-scoped
835
+ [@dbx-tools/model](../model) to Mastra, then constructs a request-scoped
830
836
  Vercel AI SDK ProviderV4 model through
831
- [`@dbx-tools/model-protocol`](../model-protocol). It resolves the model per
837
+ [@dbx-tools/model-protocol](../model-protocol). It resolves the model per
832
838
  request, so OBO identity and request-specific overrides stay isolated.
833
839
 
834
840
  Model priority is:
835
841
 
836
- 1. request override (`X-Mastra-Model`, `?model=`, body `model` / `modelId`);
837
- 2. per-agent `model`;
838
- 3. plugin `defaultModel`;
839
- 4. `DATABRICKS_SERVING_ENDPOINT_NAME`;
840
- 5. highest-ranked currently available GPT from the live workspace catalogue,
842
+ 1. Request override (`X-Mastra-Model`, `?model=`, body `model` / `modelId`).
843
+ 1. Per-agent `model`.
844
+ 1. Plugin `defaultModel`.
845
+ 1. `DATABRICKS_SERVING_ENDPOINT_NAME`.
846
+ 1. Highest-ranked available GPT from the live workspace catalogue,
841
847
  then the highest-ranked live chat model when no GPT is deployed.
842
848
 
843
849
  The unconfigured default is live-only and fails clearly when the workspace has
@@ -859,7 +865,7 @@ building custom routes that should behave like the plugin's `/models` and stream
859
865
  routes.
860
866
 
861
867
  The Chat provider uses a provider-local fetch from
862
- `@dbx-tools/model-protocol`; Mastra does not patch `globalThis.fetch`. The
868
+ `@dbx-tools/model-protocol`. Mastra does not patch `globalThis.fetch`. The
863
869
  shared fetch repairs provider-specific wire requirements for both
864
870
  `fetch(url, { body })` and `fetch(new Request(...))`. In particular,
865
871
  Databricks-hosted GPT 5.6 Chat Completions with function tools receives
@@ -883,14 +889,14 @@ without waiting on the `/models` catalogue (so it never flashes a raw id). A
883
889
  `:agentId` that is not registered returns `404` with the registered ids, the
884
890
  same as the history and threads routes.
885
891
 
886
- ## Threads, History, And Suggestions
892
+ ## Threads, history, and suggestions
887
893
 
888
894
  When storage is enabled, the plugin provides route helpers and in-process
889
895
  functions for conversation management:
890
896
 
891
- - `history.loadHistory()` and `history.clearHistory()` read or clear one thread;
897
+ - `history.loadHistory()` and `history.clearHistory()` read or clear one thread.
892
898
  - `threads.listThreads()`, `threads.renameThread()`, and
893
- `threads.deleteThread()` operate on the caller's scoped conversations;
899
+ `threads.deleteThread()` operate on the caller's scoped conversations.
894
900
  - `genie.collectSpaceSuggestions()` reads starter questions from the configured
895
901
  Genie space.
896
902
 
@@ -898,7 +904,7 @@ The plugin resolves the active thread from `x-mastra-thread-id`, `?threadId=`,
898
904
  or a per-session fallback cookie. That keeps streaming, history, and clear
899
905
  operations aligned around the same conversation id.
900
906
 
901
- ## Evaluate In Process
907
+ ## Evaluate in process
902
908
 
903
909
  `eval.createMastraEvalDriver()` adapts a Mastra agent's native `generate()`
904
910
  result to AppKit 0.81's `EvalDriver` contract without reducing a chat stream:
@@ -970,7 +976,7 @@ On Apps UC traces it reads the experiment's
970
976
  `mlflow.experiment.databricksTraceDestinationPath` tag (or the spans-table tag)
971
977
  so the assessment URI matches the row the experiment UI shows. The response
972
978
  header name and request/response schemas live in
973
- [`@dbx-tools/shared-mastra`](../../shared/mastra).
979
+ [@dbx-tools/shared-mastra](../../shared/mastra).
974
980
 
975
981
  Outside a Databricks App, an experiment id automatically enables direct MLflow
976
982
  tracing. The plugin initializes the MLflow Node SDK, injects
@@ -1034,7 +1040,7 @@ the global provider AppKit already owns and writes to a different store.
1034
1040
 
1035
1041
  Success in the boot log looks like:
1036
1042
 
1037
- ```
1043
+ ```text
1038
1044
  [observability] Mastra observability wired through OTel bridge {
1039
1045
  otelBase: 'http://localhost:4314', feedback: true, observability: 'mlflow'
1040
1046
  }
@@ -1042,10 +1048,10 @@ Success in the boot log looks like:
1042
1048
 
1043
1049
  Verify with SQL against the UC `*_trace_unified` view (the REST
1044
1050
  `traces/search` API only covers the experiment store, not UC-backed traces).
1045
- Schema names with hyphens need backticks; `attributes` is a `VARIANT`, so use
1051
+ Schema names with hyphens need backticks. `attributes` is a `VARIANT`, so use
1046
1052
  `attributes:['key']::string` rather than `map_keys()`.
1047
1053
 
1048
- ## MCP Exposure
1054
+ ## MCP exposure
1049
1055
 
1050
1056
  `mcp.buildMcpServer()` exposes registered agents as MCP tools by default. The
1051
1057
  AppKit plugin publishes clean aliases under its base path:
@@ -1064,7 +1070,7 @@ mastra({
1064
1070
  Use `mcp: false` to disable MCP. Turn on `tools: true` only for ambient tools
1065
1071
  that are safe outside an in-process chat turn.
1066
1072
 
1067
- ## Driving A Turn From Outside The Routes
1073
+ ## Drive a turn outside the routes
1068
1074
 
1069
1075
  Another plugin (or a scheduled job) can run an agent turn directly, but a raw
1070
1076
  `agent.generate(prompt)` loses everything the HTTP middleware stamps - most
@@ -1087,11 +1093,11 @@ const result = await mastra.getDefault().generate(prompt, { requestContext });
1087
1093
  The AppKit user, the memory thread / resource pair, and a request id (so the
1088
1094
  turn's spans join up in traces) are stamped exactly as the request middleware
1089
1095
  stamps them. Call it inside an `asUser(req)` scope to inherit the caller's OBO
1090
- identity; outside one it resolves to the service principal.
1091
- [`@dbx-tools/teams`](../teams) uses this so a Teams card turn has the same tool
1096
+ identity. Outside one it resolves to the service principal.
1097
+ [@dbx-tools/teams](../teams) uses this so a Teams card turn has the same tool
1092
1098
  reach - and therefore the same answer - as a chat turn.
1093
1099
 
1094
- ## API Gate
1100
+ ## API gate
1095
1101
 
1096
1102
  The stock `@mastra/express` app has broad management routes. The plugin's
1097
1103
  default `apiAccess: "scoped"` allows only the chat, read-only metadata,
@@ -1104,7 +1110,7 @@ logic that need the same allowlist.
1104
1110
  ## Routes
1105
1111
 
1106
1112
  Mounted under the plugin base path, which is `/api/mastra` unless you override
1107
- `name`. Product-specific routes use AppKit's `route()` helper; chat and memory
1113
+ `name`. Product-specific routes use AppKit's `route()` helper. Chat and memory
1108
1114
  use Mastra's native route surfaces behind the same scoped request-context gate.
1109
1115
 
1110
1116
  | Method | Path | Purpose |
@@ -1123,12 +1129,12 @@ use Mastra's native route surfaces behind the same scoped request-context gate.
1123
1129
  | `POST` | `/memory/messages/delete` | Native message deletion used before regenerating a response. |
1124
1130
  | `GET` | `/agents/:agentId/suspended-runs` | Native persisted approval discovery after a reload or restart. |
1125
1131
  | `POST` | `/route/feedback` | Log a thumbs / comment assessment to the turn's MLflow trace. `404` when feedback is off. |
1126
- | `GET` | `/route/mlflow-experiment` | Return the experiment URL only when the active viewer has effective `CAN_MANAGE`; otherwise `{ "url": null }`. |
1132
+ | `GET` | `/route/mlflow-experiment` | Return the experiment URL only when the active viewer has effective `CAN_MANAGE`. Otherwise, return `{ "url": null }`. |
1127
1133
  | `POST` / `GET` | `/mcp`, `/sse`, `/messages` | MCP transports, when `mcp` is enabled. |
1128
1134
 
1129
1135
  The UI consumes `/chat/:agentId` with the AI SDK's `DefaultChatTransport`.
1130
1136
 
1131
- ## Environment Variables
1137
+ ## Environment variables
1132
1138
 
1133
1139
  Every value can also be set through plugin config, which wins. These are the
1134
1140
  fallbacks, so a deployment that already follows AppKit's Databricks env naming
@@ -1136,7 +1142,7 @@ needs no extra wiring.
1136
1142
 
1137
1143
  | Variable | Effect |
1138
1144
  | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
1139
- | `DATABRICKS_SERVING_ENDPOINT_NAME` | Optional model override used when neither the agent nor `defaultModel` names one; omit for live highest-rank selection. |
1145
+ | `DATABRICKS_SERVING_ENDPOINT_NAME` | Optional model override used when neither the agent nor `defaultModel` names one. Omit for live highest-rank selection. |
1140
1146
  | `DATABRICKS_GENIE_SPACE_ID` | Genie space registered under the `default` alias. |
1141
1147
  | `MASTRA_GENIE_IDENTITY` | `user` (default, OBO), `service-principal`, or `auto` for the agents' Databricks calls. |
1142
1148
  | `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | Presence of either turns Mastra tracing on when `observability` is unset. On Apps, the telemetry sidecar injects these. |
@@ -1144,7 +1150,7 @@ needs no extra wiring.
1144
1150
  | `MLFLOW_EXPERIMENT_ID`, `MLFLOW_EXPERIMENT_NAME` | With an OTLP endpoint, turns MLflow feedback on when `feedback` is unset. Assessments read the experiment's UC trace destination tag. |
1145
1151
  | `MLFLOW_UC_TRACE_PREFIX` | Optional override for the UC table prefix. Omit to use the experiment tag. |
1146
1152
 
1147
- ## Configuration Reference
1153
+ ## Configuration reference
1148
1154
 
1149
1155
  The main plugin options are:
1150
1156
 
@@ -1155,13 +1161,13 @@ The main plugin options are:
1155
1161
  - `storage` and `memory` accept `true`, `false`, or concrete Mastra Postgres /
1156
1162
  PgVector options. `true` resolves from `lakebase()` when present.
1157
1163
  - `sandbox` defaults to Monty for auto-created workspaces. `false` disables
1158
- command execution; `true` or `"monty"` selects Monty; a native Mastra
1164
+ command execution. `true` or `"monty"` selects Monty. A native Mastra
1159
1165
  sandbox or resolver supplies another transport.
1160
1166
  - `codeMode` exposes all executable tools available to the current request,
1161
1167
  including enabled native workspace tools, through native Mastra Code Mode. It
1162
1168
  defaults on when such tools exist, selecting isolated-vm once at startup and
1163
1169
  falling back to QuickJS only when unavailable. Both transports support
1164
- concurrent external calls without SSH; an SSH connection is needed only when
1170
+ concurrent external calls without SSH. An SSH connection is needed only when
1165
1171
  an exposed SSH-backed tool is called. Pass `false` to disable it.
1166
1172
  - `workspaceSkills` enables Mastra's native on-demand skill search by default.
1167
1173
  Pass `false` to disable it or an object with `topK`, `minScore`, and `ttlMs`
@@ -1203,7 +1209,7 @@ The main plugin options are:
1203
1209
  deployed apps.
1204
1210
 
1205
1211
  Clients that call these routes can import the browser-safe schemas from
1206
- [`@dbx-tools/shared-mastra`](../../shared/mastra).
1212
+ [@dbx-tools/shared-mastra](../../shared/mastra).
1207
1213
 
1208
1214
  ## Modules
1209
1215
 
@@ -1232,14 +1238,14 @@ Clients that call these routes can import the browser-safe schemas from
1232
1238
  - `montySandbox` - Python-only Pydantic Monty fallback using Node subprocess
1233
1239
  workers.
1234
1240
  - `workspaces` / `filesystems` - native Mastra workspace configuration from
1235
- Databricks paths, opt-in user-scoped temp paths, and caller-supplied mounts;
1241
+ Databricks paths, opt-in user-scoped temp paths, and caller-supplied mounts.
1236
1242
  `filesystems(fs)` wraps any `@dbx-tools/shared-fs` `FileSystem` (including
1237
1243
  `@dbx-tools/databricks` / `@dbx-tools/fs`) as a Mastra mount.
1238
1244
  - `remote-skills` - startup provisioning of remote `SKILL.md` sources. The
1239
1245
  `"aitools"` constant reads Databricks' public skill repo through a daily
1240
1246
  `@dbx-tools/cache` snapshot and serves one shared in-memory
1241
1247
  `/.databricks/skills` tree. Other sources go through the optional `skills` CLI
1242
- or a direct fetch. Every source keeps a process-memory standard-skill copy;
1248
+ or a direct fetch. Every source keeps a process-memory standard-skill copy.
1243
1249
  Databricks persistence and read-only local mounts are storage options, not
1244
1250
  runtime search roots. `refreshTtlMs` overrides the source default.
1245
1251
  - `mcp` - MCP server construction.
@@ -1249,7 +1255,7 @@ Clients that call these routes can import the browser-safe schemas from
1249
1255
  and stale chart-id input cleanup.
1250
1256
 
1251
1257
  Browser-facing wire types are in
1252
- [`@dbx-tools/shared-mastra`](../../shared/mastra). Genie event contracts are in
1253
- [`@dbx-tools/shared-genie`](../../shared/genie). Model request/result contracts
1254
- are in [`@dbx-tools/shared-model`](../../shared/model). The matching React chat
1255
- surface is [`@dbx-tools/ui-mastra`](../../ui/mastra).
1258
+ [@dbx-tools/shared-mastra](../../shared/mastra). Genie event contracts are in
1259
+ [@dbx-tools/shared-genie](../../shared/genie). Model request/result contracts
1260
+ are in [@dbx-tools/shared-model](../../shared/model). The matching React chat
1261
+ surface is [@dbx-tools/ui-mastra](../../ui/mastra).
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-mastra";
6
- export const PACKAGE_VERSION = "0.9.131";
6
+ export const PACKAGE_VERSION = "0.9.132";
7
7
  export * as agents from "./src/agents.ts";
8
8
  export * as chart from "./src/chart.ts";
9
9
  export * as chat from "./src/chat.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/appkit-mastra";
2
- export declare const PACKAGE_VERSION = "0.9.131";
2
+ export declare const PACKAGE_VERSION = "0.9.132";
3
3
  export * as agents from "./src/agents.ts";
4
4
  export * as chart from "./src/chart.ts";
5
5
  export * as chat from "./src/chat.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-mastra";
5
- export const PACKAGE_VERSION = "0.9.131";
5
+ export const PACKAGE_VERSION = "0.9.132";
6
6
  export * as agents from "./src/agents.js";
7
7
  export * as chart from "./src/chart.js";
8
8
  export * as chat from "./src/chat.js";
@@ -60,4 +60,4 @@ export { TITLE_INSTRUCTIONS } from "./src/summarize.js";
60
60
  export { TRACE_IO_LIMIT, MLFLOW_SPAN_INPUTS_ATTR, MLFLOW_SPAN_OUTPUTS_ATTR, CHAT_MESSAGES_ATTR, CHAT_RESPONSE_ATTR, CHAT_IDENTITY_ATTR, CHAT_GENIE_USED_ATTR, MLFLOW_SPAN_TYPE_ATTR, GEN_AI_OPERATION_NAME_ATTR, MLFLOW_USER_ATTR, MLFLOW_SESSION_ATTR, MLFLOW_SPAN_TYPE_AGENT, MLFLOW_SPAN_TYPE_GENIE, AppMlflowTraceInfoSpanProcessor } from "./src/telemetry.js";
61
61
  export { MLFLOW_TRACE_TAG_PREFIX, MLFLOW_AGENT_TAG, MLFLOW_GENIE_TAG, MLFLOW_OBO_AUTH_TAG, MLFLOW_SP_AUTH_TAG, MLFLOW_LOCAL_TAG, MLFLOW_AGENT_TAG_ATTR, MLFLOW_GENIE_TAG_ATTR, APPKIT_AGENT_TRACE_ROOT_ATTR, MLFLOW_OBO_AUTH_TAG_ATTR, MLFLOW_SP_AUTH_TAG_ATTR, MLFLOW_LOCAL_TAG_ATTR } from "./src/trace-attributes.js";
62
62
  export { DEFAULT_DATABRICKS_WORKSPACE_PATHS } from "./src/workspaces.js";
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxZQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxLQUFLLGFBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0scUJBQXFCLENBQUM7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QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcFcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFelQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tYXN0cmFcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xMzFcIjtcbmV4cG9ydCAqIGFzIGFnZW50cyBmcm9tIFwiLi9zcmMvYWdlbnRzLnRzXCI7XG5leHBvcnQgKiBhcyBjaGFydCBmcm9tIFwiLi9zcmMvY2hhcnQudHNcIjtcbmV4cG9ydCAqIGFzIGNoYXQgZnJvbSBcIi4vc3JjL2NoYXQudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZyBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tIFwiLi9zcmMvZGVmYXVsdHMudHNcIjtcbmV4cG9ydCAqIGFzIGV2YWx1YXRpb24gZnJvbSBcIi4vc3JjL2V2YWx1YXRpb24udHNcIjtcbmV4cG9ydCAqIGFzIGZpbGVzeXN0ZW1zIGZyb20gXCIuL3NyYy9maWxlc3lzdGVtcy50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWUgZnJvbSBcIi4vc3JjL2dlbmllLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNoYXQgZnJvbSBcIi4vc3JjL2dlbmllLWNoYXQudHNcIjtcbmV4cG9ydCAqIGFzIGlkZW50aXR5IGZyb20gXCIuL3NyYy9pZGVudGl0eS50c1wiO1xuZXhwb3J0ICogYXMgbWNwIGZyb20gXCIuL3NyYy9tY3AudHNcIjtcbmV4cG9ydCAqIGFzIG1lbW9yeSBmcm9tIFwiLi9zcmMvbWVtb3J5LnRzXCI7XG5leHBvcnQgKiBhcyBtbGZsb3cgZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgKiBhcyBtb250eVNhbmRib3ggZnJvbSBcIi4vc3JjL21vbnR5LXNhbmRib3gudHNcIjtcbmV4cG9ydCAqIGFzIG9ic2VydmFiaWxpdHkgZnJvbSBcIi4vc3JjL29ic2VydmFiaWxpdHkudHNcIjtcbmV4cG9ydCAqIGFzIHBsdWdpbiBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgKiBhcyBwcm9jZXNzb3JzIGZyb20gXCIuL3NyYy9wcm9jZXNzb3JzLnRzXCI7XG5leHBvcnQgKiBhcyByZW1vdGVTa2lsbHMgZnJvbSBcIi4vc3JjL3JlbW90ZS1za2lsbHMudHNcIjtcbmV4cG9ydCAqIGFzIHJlcXVlc3RDb250ZXh0IGZyb20gXCIuL3NyYy9yZXF1ZXN0LWNvbnRleHQudHNcIjtcbmV4cG9ydCAqIGFzIHJlc3QgZnJvbSBcIi4vc3JjL3Jlc3QudHNcIjtcbmV4cG9ydCAqIGFzIHNlcnZlciBmcm9tIFwiLi9zcmMvc2VydmVyLnRzXCI7XG5leHBvcnQgKiBhcyBzZXJ2aW5nIGZyb20gXCIuL3NyYy9zZXJ2aW5nLnRzXCI7XG5leHBvcnQgKiBhcyBza2lsbFBhdGhzIGZyb20gXCIuL3NyYy9za2lsbC1wYXRocy50c1wiO1xuZXhwb3J0ICogYXMgc3RhdGVtZW50IGZyb20gXCIuL3NyYy9zdGF0ZW1lbnQudHNcIjtcbmV4cG9ydCAqIGFzIHN0b3JhZ2VTY2hlbWEgZnJvbSBcIi4vc3JjL3N0b3JhZ2Utc2NoZW1hLnRzXCI7XG5leHBvcnQgKiBhcyBzdHlsZSBmcm9tIFwiLi9zcmMvc3R5bGUudHNcIjtcbmV4cG9ydCAqIGFzIHN1bW1hcml6ZSBmcm9tIFwiLi9zcmMvc3VtbWFyaXplLnRzXCI7XG5leHBvcnQgKiBhcyB0ZWxlbWV0cnkgZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0ICogYXMgdHJhY2VBdHRyaWJ1dGVzIGZyb20gXCIuL3NyYy90cmFjZS1hdHRyaWJ1dGVzLnRzXCI7XG5leHBvcnQgKiBhcyB2YWxpZGF0aW9uIGZyb20gXCIuL3NyYy92YWxpZGF0aW9uLnRzXCI7XG5leHBvcnQgKiBhcyB3b3Jrc3BhY2VzIGZyb20gXCIuL3NyYy93b3Jrc3BhY2VzLnRzXCI7XG5leHBvcnQgKiBhcyB3cml0ZXIgZnJvbSBcIi4vc3JjL3dyaXRlci50c1wiO1xuZXhwb3J0IHsgRkFMTEJBQ0tfQUdFTlRfSUQsIERFRkFVTFRfQUdFTlRfTUFYX1NURVBTLCBERUZBVUxUX1RPT0xfV09SS0ZMT1dfSU5TVFJVQ1RJT05TLCBDT0RFX01PREVfUk9VVElOR19JTlNUUlVDVElPTlMsIERFRkFVTFRfU1RZTEVfSU5TVFJVQ1RJT05TIH0gZnJvbSBcIi4vc3JjL2FnZW50cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFUb29scywgQXBwS2l0VG9vbE9wdGlvbnMsIFRvb2xraXRPcHRpb25zLCBNYXN0cmFQbHVnaW5Ub29sa2l0UHJvdmlkZXIsIE1hc3RyYVBsdWdpbnMsIE1hc3RyYVRvb2xzRm4sIE1hc3RyYUFnZW50V29ya3NwYWNlUmVzb2x2ZXIsIE1hc3RyYUFnZW50RGVmaW5pdGlvbiwgQW55TWFzdHJhQWdlbnREZWZpbml0aW9uLCBNYXN0cmFTdG9yYWdlQ29uZmlnT3ZlcnJpZGUsIE1hc3RyYU1lbW9yeUNvbmZpZ092ZXJyaWRlLCBBZ2VudERlZmF1bHRNb2RlbCwgQnVpbHRBZ2VudHMsIE1hc3RyYU91dHB1dFByb2Nlc3NvckZhY3RvcnkgfSBmcm9tIFwiLi9zcmMvYWdlbnRzLnRzXCI7XG5leHBvcnQgeyBjaGFydFBsYW5TY2hlbWEsIGNoYXJ0UGxhbm5lclJlcXVlc3RTY2hlbWEsIGNoYXJ0VG9vbE91dHB1dFNjaGVtYSB9IGZyb20gXCIuL3NyYy9jaGFydC50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGFydFBsYW5uZXJSZXF1ZXN0LCBDaGFydFRvb2xPdXRwdXQsIFByZXBhcmVDaGFydE9wdGlvbnMsIEZldGNoQ2hhcnRPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2NoYXJ0LnRzXCI7XG5leHBvcnQgeyBNQVNUUkFfVVNFUl9LRVksIE1BU1RSQV9VU0VSX05BTUVfS0VZLCBNQVNUUkFfVVNFUl9FTUFJTF9LRVksIE1BU1RSQV9BVVRIX01PREVfS0VZLCBNQVNUUkFfUkVRVUVTVF9JRF9LRVksIE1BU1RSQV9TQ09QRVNfS0VZLCBUUkFDRV9SRVFVRVNUX0NPTlRFWFRfS0VZUywgTUFTVFJBX0NPTkZJR19TQ0hFTUEgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IFVzZXIsIE1hc3RyYU1lbW9yeUNvbmZpZywgTWFzdHJhV29ya3NwYWNlU2tpbGxzQ29uZmlnLCBNYXN0cmFDb2RlTW9kZUNvbmZpZywgTWFzdHJhTWNwQ29uZmlnLCBNYXN0cmFQbHVnaW5Db25maWcgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgeyBtb2RlbENhdGFsb2d1ZURlZmF1bHRzLCBnZW5pZVN1Z2dlc3Rpb25EZWZhdWx0cywgZ2VuaWVDb252ZXJzYXRpb25SZWFkRGVmYXVsdHMsIGdlbmllQ29udmVyc2F0aW9uV3JpdGVEZWZhdWx0cywgc3RhdGVtZW50RGF0YURlZmF1bHRzLCBjaGFydEZldGNoRGVmYXVsdHMsIGZlZWRiYWNrV3JpdGVEZWZhdWx0cyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFFdmFsRHJpdmVyT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9ldmFsdWF0aW9uLnRzXCI7XG5leHBvcnQgeyBNYXN0cmFGaWxlU3lzdGVtQWRhcHRlciwgTW91bnRlZENvbXBvc2l0ZUZpbGVzeXN0ZW0gfSBmcm9tIFwiLi9zcmMvZmlsZXN5c3RlbXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgTWFzdHJhRmlsZVN5c3RlbUFkYXB0ZXJPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2ZpbGVzeXN0ZW1zLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0dFTklFX0FMSUFTLCBHRU5JRV9JTlNUUlVDVElPTlMgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuaWVTcGFjZUNvbmZpZywgR2VuaWVTcGFjZXNDb25maWcgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuaWVDaGF0U3BhY2UgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY2hhdC50c1wiO1xuZXhwb3J0IHsgSURFTlRJVFlfRU5WLCBJREVOVElUWV9NT0RFUywgREVGQVVMVF9JREVOVElUWV9NT0RFLCBVU0VSX0lEX0hFQURFUiwgVVNFUl9FTUFJTF9IRUFERVIsIHJlcXVlc3RVc2VySWQsIHJlcXVlc3RVc2VyRW1haWwsIHVzZVNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiLi9zcmMvaWRlbnRpdHkudHNcIjtcbmV4cG9ydCB0eXBlIHsgTWFzdHJhSWRlbnRpdHlNb2RlIH0gZnJvbSBcIi4vc3JjL2lkZW50aXR5LnRzXCI7XG5leHBvcnQgdHlwZSB7IFJlc29sdmVkTWNwIH0gZnJvbSBcIi4vc3JjL21jcC50c1wiO1xuZXhwb3J0IHsgTWVtb3J5QnVpbGRlciB9IGZyb20gXCIuL3NyYy9tZW1vcnkudHNcIjtcbmV4cG9ydCB7IEFnZW50VHJhY2VTcGFuUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0IHR5cGUgeyBBcHBNbGZsb3dUcmFjZUluZm8sIExvZ0ZlZWRiYWNrUGFyYW1zIH0gZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0IHsgUkVTUE9OU0VTX1BST1ZJREVSX09QVElPTlMgfSBmcm9tIFwiLi9zcmMvbW9kZWwudHNcIjtcbmV4cG9ydCB0eXBlIHsgQnVpbGRNb2RlbE92ZXJyaWRlcyB9IGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0IHsgTW9udHlTYW5kYm94IH0gZnJvbSBcIi4vc3JjL21vbnR5LXNhbmRib3gudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9udHlTYW5kYm94T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9tb250eS1zYW5kYm94LnRzXCI7XG5leHBvcnQgdHlwZSB7IEJ1aWxkT2JzZXJ2YWJpbGl0eU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvb2JzZXJ2YWJpbGl0eS50c1wiO1xuZXhwb3J0IHsgTWFzdHJhUGx1Z2luLCBtYXN0cmEgfSBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgeyBzdHJpcFN0YWxlQ2hhcnRzUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL3Byb2Nlc3NvcnMudHNcIjtcbmV4cG9ydCB7IEFJVE9PTFNfU0tJTExTX01PVU5ULCBSRU1PVEVfU0tJTExTX01PVU5ULCBBSVRPT0xTX1JFRlJFU0hfVFRMX01TLCBBSVRPT0xTX1NPVVJDRSB9IGZyb20gXCIuL3NyYy9yZW1vdGUtc2tpbGxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEFpVG9vbHNTb3VyY2UsIFJlbW90ZVNraWxsU291cmNlT3B0aW9ucywgUmVtb3RlU2tpbGxTb3VyY2UsIFJlbW90ZVNraWxsc09wdGlvbiwgTG9jYWxTa2lsbERpcmVjdG9yeU1vdW50LCBNZW1vcnlTa2lsbE1vdW50LCBMb2NhbFNraWxsTW91bnQsIFByb3Zpc2lvblJlbW90ZVNraWxsc09wdGlvbnMsIFByb3Zpc2lvbmVkUmVtb3RlU2tpbGxzLCBSZW1vdGVTa2lsbENhY2hlRW50cnksIFJlbW90ZVNraWxsc01ldGFkYXRhIH0gZnJvbSBcIi4vc3JjL3JlbW90ZS1za2lsbHMudHNcIjtcbmV4cG9ydCB7IE1BU1RSQV9PUklHSU5fS0VZIH0gZnJvbSBcIi4vc3JjL3JlcXVlc3QtY29udGV4dC50c1wiO1xuZXhwb3J0IHR5cGUgeyBEYXRhYnJpY2tzRmV0Y2hJbml0IH0gZnJvbSBcIi4vc3JjL3Jlc3QudHNcIjtcbmV4cG9ydCB7IE1hc3RyYVNlcnZlciB9IGZyb20gXCIuL3NyYy9zZXJ2ZXIudHNcIjtcbmV4cG9ydCB0eXBlIHsgQXR0cmlidXRlZElkZW50aXR5LCBNYXN0cmFBcGlHYXRlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9zZXJ2ZXIudHNcIjtcbmV4cG9ydCB7IE1BU1RSQV9NT0RFTF9PVkVSUklERV9LRVksIE1BU1RSQV9SRVNPTFZFRF9NT0RFTF9LRVkgfSBmcm9tIFwiLi9zcmMvc2VydmluZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbE92ZXJyaWRlUmVxdWVzdCB9IGZyb20gXCIuL3NyYy9zZXJ2aW5nLnRzXCI7XG5leHBvcnQgeyBPUkdBTklaQVRJT05fQVNTSVNUQU5UX1BBVEgsIE9SR0FOSVpBVElPTl9TS0lMTFNfUEFUSCB9IGZyb20gXCIuL3NyYy9za2lsbC1wYXRocy50c1wiO1xuZXhwb3J0IHsgU1RBVEVNRU5UX1JPV19DQVAgfSBmcm9tIFwiLi9zcmMvc3RhdGVtZW50LnRzXCI7XG5leHBvcnQgdHlwZSB7IFN0YXRlbWVudEVtYmVkRGF0YSB9IGZyb20gXCIuL3NyYy9zdGF0ZW1lbnQudHNcIjtcbmV4cG9ydCB7IFRZUE9HUkFQSFlfUlVMRSB9IGZyb20gXCIuL3NyYy9zdHlsZS50c1wiO1xuZXhwb3J0IHsgVElUTEVfSU5TVFJVQ1RJT05TIH0gZnJvbSBcIi4vc3JjL3N1bW1hcml6ZS50c1wiO1xuZXhwb3J0IHR5cGUgeyBTdW1tYXJpemVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3N1bW1hcml6ZS50c1wiO1xuZXhwb3J0IHsgVFJBQ0VfSU9fTElNSVQsIE1MRkxPV19TUEFOX0lOUFVUU19BVFRSLCBNTEZMT1dfU1BBTl9PVVRQVVRTX0FUVFIsIENIQVRfTUVTU0FHRVNfQVRUUiwgQ0hBVF9SRVNQT05TRV9BVFRSLCBDSEFUX0lERU5USVRZX0FUVFIsIENIQVRfR0VOSUVfVVNFRF9BVFRSLCBNTEZMT1dfU1BBTl9UWVBFX0FUVFIsIEdFTl9BSV9PUEVSQVRJT05fTkFNRV9BVFRSLCBNTEZMT1dfVVNFUl9BVFRSLCBNTEZMT1dfU0VTU0lPTl9BVFRSLCBNTEZMT1dfU1BBTl9UWVBFX0FHRU5ULCBNTEZMT1dfU1BBTl9UWVBFX0dFTklFLCBBcHBNbGZsb3dUcmFjZUluZm9TcGFuUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGF0VHVyblRlbGVtZXRyeU9wdGlvbnMsIENoYXRUcmFjZVRhZ1ZhbHVlIH0gZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0IHsgTUxGTE9XX1RSQUNFX1RBR19QUkVGSVgsIE1MRkxPV19BR0VOVF9UQUcsIE1MRkxPV19HRU5JRV9UQUcsIE1MRkxPV19PQk9fQVVUSF9UQUcsIE1MRkxPV19TUF9BVVRIX1RBRywgTUxGTE9XX0xPQ0FMX1RBRywgTUxGTE9XX0FHRU5UX1RBR19BVFRSLCBNTEZMT1dfR0VOSUVfVEFHX0FUVFIsIEFQUEtJVF9BR0VOVF9UUkFDRV9ST09UX0FUVFIsIE1MRkxPV19PQk9fQVVUSF9UQUdfQVRUUiwgTUxGTE9XX1NQX0FVVEhfVEFHX0FUVFIsIE1MRkxPV19MT0NBTF9UQUdfQVRUUiB9IGZyb20gXCIuL3NyYy90cmFjZS1hdHRyaWJ1dGVzLnRzXCI7XG5leHBvcnQgdHlwZSB7IFNjaGVtYUlzc3VlcyB9IGZyb20gXCIuL3NyYy92YWxpZGF0aW9uLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0RBVEFCUklDS1NfV09SS1NQQUNFX1BBVEhTIH0gZnJvbSBcIi4vc3JjL3dvcmtzcGFjZXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRGF0YWJyaWNrc1dvcmtzcGFjZUNvbnRleHQsIERhdGFicmlja3NXb3Jrc3BhY2VQYXRoT3B0aW9ucywgRGF0YWJyaWNrc1dvcmtzcGFjZVBhdGgsIERhdGFicmlja3NXb3Jrc3BhY2VQYXRoVmFsdWUsIERhdGFicmlja3NXb3Jrc3BhY2VDYWNoZUZpbHRlciwgRGF0YWJyaWNrc1dvcmtzcGFjZUNhY2hlLCBXb3Jrc3BhY2VTYW5kYm94U2VsZWN0aW9uLCBEYXRhYnJpY2tzV29ya3NwYWNlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy93b3Jrc3BhY2VzLnRzXCI7XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxZQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxLQUFLLGFBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxVQUFVLE1BQU0scUJBQXFCLENBQUM7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QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcFcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFelQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL2FwcGtpdC1tYXN0cmFcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS4xMzJcIjtcbmV4cG9ydCAqIGFzIGFnZW50cyBmcm9tIFwiLi9zcmMvYWdlbnRzLnRzXCI7XG5leHBvcnQgKiBhcyBjaGFydCBmcm9tIFwiLi9zcmMvY2hhcnQudHNcIjtcbmV4cG9ydCAqIGFzIGNoYXQgZnJvbSBcIi4vc3JjL2NoYXQudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZyBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tIFwiLi9zcmMvZGVmYXVsdHMudHNcIjtcbmV4cG9ydCAqIGFzIGV2YWx1YXRpb24gZnJvbSBcIi4vc3JjL2V2YWx1YXRpb24udHNcIjtcbmV4cG9ydCAqIGFzIGZpbGVzeXN0ZW1zIGZyb20gXCIuL3NyYy9maWxlc3lzdGVtcy50c1wiO1xuZXhwb3J0ICogYXMgZ2VuaWUgZnJvbSBcIi4vc3JjL2dlbmllLnRzXCI7XG5leHBvcnQgKiBhcyBnZW5pZUNoYXQgZnJvbSBcIi4vc3JjL2dlbmllLWNoYXQudHNcIjtcbmV4cG9ydCAqIGFzIGlkZW50aXR5IGZyb20gXCIuL3NyYy9pZGVudGl0eS50c1wiO1xuZXhwb3J0ICogYXMgbWNwIGZyb20gXCIuL3NyYy9tY3AudHNcIjtcbmV4cG9ydCAqIGFzIG1lbW9yeSBmcm9tIFwiLi9zcmMvbWVtb3J5LnRzXCI7XG5leHBvcnQgKiBhcyBtbGZsb3cgZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4vc3JjL21vZGVsLnRzXCI7XG5leHBvcnQgKiBhcyBtb250eVNhbmRib3ggZnJvbSBcIi4vc3JjL21vbnR5LXNhbmRib3gudHNcIjtcbmV4cG9ydCAqIGFzIG9ic2VydmFiaWxpdHkgZnJvbSBcIi4vc3JjL29ic2VydmFiaWxpdHkudHNcIjtcbmV4cG9ydCAqIGFzIHBsdWdpbiBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgKiBhcyBwcm9jZXNzb3JzIGZyb20gXCIuL3NyYy9wcm9jZXNzb3JzLnRzXCI7XG5leHBvcnQgKiBhcyByZW1vdGVTa2lsbHMgZnJvbSBcIi4vc3JjL3JlbW90ZS1za2lsbHMudHNcIjtcbmV4cG9ydCAqIGFzIHJlcXVlc3RDb250ZXh0IGZyb20gXCIuL3NyYy9yZXF1ZXN0LWNvbnRleHQudHNcIjtcbmV4cG9ydCAqIGFzIHJlc3QgZnJvbSBcIi4vc3JjL3Jlc3QudHNcIjtcbmV4cG9ydCAqIGFzIHNlcnZlciBmcm9tIFwiLi9zcmMvc2VydmVyLnRzXCI7XG5leHBvcnQgKiBhcyBzZXJ2aW5nIGZyb20gXCIuL3NyYy9zZXJ2aW5nLnRzXCI7XG5leHBvcnQgKiBhcyBza2lsbFBhdGhzIGZyb20gXCIuL3NyYy9za2lsbC1wYXRocy50c1wiO1xuZXhwb3J0ICogYXMgc3RhdGVtZW50IGZyb20gXCIuL3NyYy9zdGF0ZW1lbnQudHNcIjtcbmV4cG9ydCAqIGFzIHN0b3JhZ2VTY2hlbWEgZnJvbSBcIi4vc3JjL3N0b3JhZ2Utc2NoZW1hLnRzXCI7XG5leHBvcnQgKiBhcyBzdHlsZSBmcm9tIFwiLi9zcmMvc3R5bGUudHNcIjtcbmV4cG9ydCAqIGFzIHN1bW1hcml6ZSBmcm9tIFwiLi9zcmMvc3VtbWFyaXplLnRzXCI7XG5leHBvcnQgKiBhcyB0ZWxlbWV0cnkgZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0ICogYXMgdHJhY2VBdHRyaWJ1dGVzIGZyb20gXCIuL3NyYy90cmFjZS1hdHRyaWJ1dGVzLnRzXCI7XG5leHBvcnQgKiBhcyB2YWxpZGF0aW9uIGZyb20gXCIuL3NyYy92YWxpZGF0aW9uLnRzXCI7XG5leHBvcnQgKiBhcyB3b3Jrc3BhY2VzIGZyb20gXCIuL3NyYy93b3Jrc3BhY2VzLnRzXCI7XG5leHBvcnQgKiBhcyB3cml0ZXIgZnJvbSBcIi4vc3JjL3dyaXRlci50c1wiO1xuZXhwb3J0IHsgRkFMTEJBQ0tfQUdFTlRfSUQsIERFRkFVTFRfQUdFTlRfTUFYX1NURVBTLCBERUZBVUxUX1RPT0xfV09SS0ZMT1dfSU5TVFJVQ1RJT05TLCBDT0RFX01PREVfUk9VVElOR19JTlNUUlVDVElPTlMsIERFRkFVTFRfU1RZTEVfSU5TVFJVQ1RJT05TIH0gZnJvbSBcIi4vc3JjL2FnZW50cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFUb29scywgQXBwS2l0VG9vbE9wdGlvbnMsIFRvb2xraXRPcHRpb25zLCBNYXN0cmFQbHVnaW5Ub29sa2l0UHJvdmlkZXIsIE1hc3RyYVBsdWdpbnMsIE1hc3RyYVRvb2xzRm4sIE1hc3RyYUFnZW50V29ya3NwYWNlUmVzb2x2ZXIsIE1hc3RyYUFnZW50RGVmaW5pdGlvbiwgQW55TWFzdHJhQWdlbnREZWZpbml0aW9uLCBNYXN0cmFTdG9yYWdlQ29uZmlnT3ZlcnJpZGUsIE1hc3RyYU1lbW9yeUNvbmZpZ092ZXJyaWRlLCBBZ2VudERlZmF1bHRNb2RlbCwgQnVpbHRBZ2VudHMsIE1hc3RyYU91dHB1dFByb2Nlc3NvckZhY3RvcnkgfSBmcm9tIFwiLi9zcmMvYWdlbnRzLnRzXCI7XG5leHBvcnQgeyBjaGFydFBsYW5TY2hlbWEsIGNoYXJ0UGxhbm5lclJlcXVlc3RTY2hlbWEsIGNoYXJ0VG9vbE91dHB1dFNjaGVtYSB9IGZyb20gXCIuL3NyYy9jaGFydC50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGFydFBsYW5uZXJSZXF1ZXN0LCBDaGFydFRvb2xPdXRwdXQsIFByZXBhcmVDaGFydE9wdGlvbnMsIEZldGNoQ2hhcnRPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2NoYXJ0LnRzXCI7XG5leHBvcnQgeyBNQVNUUkFfVVNFUl9LRVksIE1BU1RSQV9VU0VSX05BTUVfS0VZLCBNQVNUUkFfVVNFUl9FTUFJTF9LRVksIE1BU1RSQV9BVVRIX01PREVfS0VZLCBNQVNUUkFfUkVRVUVTVF9JRF9LRVksIE1BU1RSQV9TQ09QRVNfS0VZLCBUUkFDRV9SRVFVRVNUX0NPTlRFWFRfS0VZUywgTUFTVFJBX0NPTkZJR19TQ0hFTUEgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgdHlwZSB7IFVzZXIsIE1hc3RyYU1lbW9yeUNvbmZpZywgTWFzdHJhV29ya3NwYWNlU2tpbGxzQ29uZmlnLCBNYXN0cmFDb2RlTW9kZUNvbmZpZywgTWFzdHJhTWNwQ29uZmlnLCBNYXN0cmFQbHVnaW5Db25maWcgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgeyBtb2RlbENhdGFsb2d1ZURlZmF1bHRzLCBnZW5pZVN1Z2dlc3Rpb25EZWZhdWx0cywgZ2VuaWVDb252ZXJzYXRpb25SZWFkRGVmYXVsdHMsIGdlbmllQ29udmVyc2F0aW9uV3JpdGVEZWZhdWx0cywgc3RhdGVtZW50RGF0YURlZmF1bHRzLCBjaGFydEZldGNoRGVmYXVsdHMsIGZlZWRiYWNrV3JpdGVEZWZhdWx0cyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNYXN0cmFFdmFsRHJpdmVyT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9ldmFsdWF0aW9uLnRzXCI7XG5leHBvcnQgeyBNYXN0cmFGaWxlU3lzdGVtQWRhcHRlciwgTW91bnRlZENvbXBvc2l0ZUZpbGVzeXN0ZW0gfSBmcm9tIFwiLi9zcmMvZmlsZXN5c3RlbXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgTWFzdHJhRmlsZVN5c3RlbUFkYXB0ZXJPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2ZpbGVzeXN0ZW1zLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0dFTklFX0FMSUFTLCBHRU5JRV9JTlNUUlVDVElPTlMgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuaWVTcGFjZUNvbmZpZywgR2VuaWVTcGFjZXNDb25maWcgfSBmcm9tIFwiLi9zcmMvZ2VuaWUudHNcIjtcbmV4cG9ydCB0eXBlIHsgR2VuaWVDaGF0U3BhY2UgfSBmcm9tIFwiLi9zcmMvZ2VuaWUtY2hhdC50c1wiO1xuZXhwb3J0IHsgSURFTlRJVFlfRU5WLCBJREVOVElUWV9NT0RFUywgREVGQVVMVF9JREVOVElUWV9NT0RFLCBVU0VSX0lEX0hFQURFUiwgVVNFUl9FTUFJTF9IRUFERVIsIHJlcXVlc3RVc2VySWQsIHJlcXVlc3RVc2VyRW1haWwsIHVzZVNlcnZpY2VQcmluY2lwYWwgfSBmcm9tIFwiLi9zcmMvaWRlbnRpdHkudHNcIjtcbmV4cG9ydCB0eXBlIHsgTWFzdHJhSWRlbnRpdHlNb2RlIH0gZnJvbSBcIi4vc3JjL2lkZW50aXR5LnRzXCI7XG5leHBvcnQgdHlwZSB7IFJlc29sdmVkTWNwIH0gZnJvbSBcIi4vc3JjL21jcC50c1wiO1xuZXhwb3J0IHsgTWVtb3J5QnVpbGRlciB9IGZyb20gXCIuL3NyYy9tZW1vcnkudHNcIjtcbmV4cG9ydCB7IEFnZW50VHJhY2VTcGFuUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0IHR5cGUgeyBBcHBNbGZsb3dUcmFjZUluZm8sIExvZ0ZlZWRiYWNrUGFyYW1zIH0gZnJvbSBcIi4vc3JjL21sZmxvdy50c1wiO1xuZXhwb3J0IHsgUkVTUE9OU0VTX1BST1ZJREVSX09QVElPTlMgfSBmcm9tIFwiLi9zcmMvbW9kZWwudHNcIjtcbmV4cG9ydCB0eXBlIHsgQnVpbGRNb2RlbE92ZXJyaWRlcyB9IGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0IHsgTW9udHlTYW5kYm94IH0gZnJvbSBcIi4vc3JjL21vbnR5LXNhbmRib3gudHNcIjtcbmV4cG9ydCB0eXBlIHsgTW9udHlTYW5kYm94T3B0aW9ucyB9IGZyb20gXCIuL3NyYy9tb250eS1zYW5kYm94LnRzXCI7XG5leHBvcnQgdHlwZSB7IEJ1aWxkT2JzZXJ2YWJpbGl0eU9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvb2JzZXJ2YWJpbGl0eS50c1wiO1xuZXhwb3J0IHsgTWFzdHJhUGx1Z2luLCBtYXN0cmEgfSBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgeyBzdHJpcFN0YWxlQ2hhcnRzUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL3Byb2Nlc3NvcnMudHNcIjtcbmV4cG9ydCB7IEFJVE9PTFNfU0tJTExTX01PVU5ULCBSRU1PVEVfU0tJTExTX01PVU5ULCBBSVRPT0xTX1JFRlJFU0hfVFRMX01TLCBBSVRPT0xTX1NPVVJDRSB9IGZyb20gXCIuL3NyYy9yZW1vdGUtc2tpbGxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEFpVG9vbHNTb3VyY2UsIFJlbW90ZVNraWxsU291cmNlT3B0aW9ucywgUmVtb3RlU2tpbGxTb3VyY2UsIFJlbW90ZVNraWxsc09wdGlvbiwgTG9jYWxTa2lsbERpcmVjdG9yeU1vdW50LCBNZW1vcnlTa2lsbE1vdW50LCBMb2NhbFNraWxsTW91bnQsIFByb3Zpc2lvblJlbW90ZVNraWxsc09wdGlvbnMsIFByb3Zpc2lvbmVkUmVtb3RlU2tpbGxzLCBSZW1vdGVTa2lsbENhY2hlRW50cnksIFJlbW90ZVNraWxsc01ldGFkYXRhIH0gZnJvbSBcIi4vc3JjL3JlbW90ZS1za2lsbHMudHNcIjtcbmV4cG9ydCB7IE1BU1RSQV9PUklHSU5fS0VZIH0gZnJvbSBcIi4vc3JjL3JlcXVlc3QtY29udGV4dC50c1wiO1xuZXhwb3J0IHR5cGUgeyBEYXRhYnJpY2tzRmV0Y2hJbml0IH0gZnJvbSBcIi4vc3JjL3Jlc3QudHNcIjtcbmV4cG9ydCB7IE1hc3RyYVNlcnZlciB9IGZyb20gXCIuL3NyYy9zZXJ2ZXIudHNcIjtcbmV4cG9ydCB0eXBlIHsgQXR0cmlidXRlZElkZW50aXR5LCBNYXN0cmFBcGlHYXRlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9zZXJ2ZXIudHNcIjtcbmV4cG9ydCB7IE1BU1RSQV9NT0RFTF9PVkVSUklERV9LRVksIE1BU1RSQV9SRVNPTFZFRF9NT0RFTF9LRVkgfSBmcm9tIFwiLi9zcmMvc2VydmluZy50c1wiO1xuZXhwb3J0IHR5cGUgeyBNb2RlbE92ZXJyaWRlUmVxdWVzdCB9IGZyb20gXCIuL3NyYy9zZXJ2aW5nLnRzXCI7XG5leHBvcnQgeyBPUkdBTklaQVRJT05fQVNTSVNUQU5UX1BBVEgsIE9SR0FOSVpBVElPTl9TS0lMTFNfUEFUSCB9IGZyb20gXCIuL3NyYy9za2lsbC1wYXRocy50c1wiO1xuZXhwb3J0IHsgU1RBVEVNRU5UX1JPV19DQVAgfSBmcm9tIFwiLi9zcmMvc3RhdGVtZW50LnRzXCI7XG5leHBvcnQgdHlwZSB7IFN0YXRlbWVudEVtYmVkRGF0YSB9IGZyb20gXCIuL3NyYy9zdGF0ZW1lbnQudHNcIjtcbmV4cG9ydCB7IFRZUE9HUkFQSFlfUlVMRSB9IGZyb20gXCIuL3NyYy9zdHlsZS50c1wiO1xuZXhwb3J0IHsgVElUTEVfSU5TVFJVQ1RJT05TIH0gZnJvbSBcIi4vc3JjL3N1bW1hcml6ZS50c1wiO1xuZXhwb3J0IHR5cGUgeyBTdW1tYXJpemVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL3N1bW1hcml6ZS50c1wiO1xuZXhwb3J0IHsgVFJBQ0VfSU9fTElNSVQsIE1MRkxPV19TUEFOX0lOUFVUU19BVFRSLCBNTEZMT1dfU1BBTl9PVVRQVVRTX0FUVFIsIENIQVRfTUVTU0FHRVNfQVRUUiwgQ0hBVF9SRVNQT05TRV9BVFRSLCBDSEFUX0lERU5USVRZX0FUVFIsIENIQVRfR0VOSUVfVVNFRF9BVFRSLCBNTEZMT1dfU1BBTl9UWVBFX0FUVFIsIEdFTl9BSV9PUEVSQVRJT05fTkFNRV9BVFRSLCBNTEZMT1dfVVNFUl9BVFRSLCBNTEZMT1dfU0VTU0lPTl9BVFRSLCBNTEZMT1dfU1BBTl9UWVBFX0FHRU5ULCBNTEZMT1dfU1BBTl9UWVBFX0dFTklFLCBBcHBNbGZsb3dUcmFjZUluZm9TcGFuUHJvY2Vzc29yIH0gZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0IHR5cGUgeyBDaGF0VHVyblRlbGVtZXRyeU9wdGlvbnMsIENoYXRUcmFjZVRhZ1ZhbHVlIH0gZnJvbSBcIi4vc3JjL3RlbGVtZXRyeS50c1wiO1xuZXhwb3J0IHsgTUxGTE9XX1RSQUNFX1RBR19QUkVGSVgsIE1MRkxPV19BR0VOVF9UQUcsIE1MRkxPV19HRU5JRV9UQUcsIE1MRkxPV19PQk9fQVVUSF9UQUcsIE1MRkxPV19TUF9BVVRIX1RBRywgTUxGTE9XX0xPQ0FMX1RBRywgTUxGTE9XX0FHRU5UX1RBR19BVFRSLCBNTEZMT1dfR0VOSUVfVEFHX0FUVFIsIEFQUEtJVF9BR0VOVF9UUkFDRV9ST09UX0FUVFIsIE1MRkxPV19PQk9fQVVUSF9UQUdfQVRUUiwgTUxGTE9XX1NQX0FVVEhfVEFHX0FUVFIsIE1MRkxPV19MT0NBTF9UQUdfQVRUUiB9IGZyb20gXCIuL3NyYy90cmFjZS1hdHRyaWJ1dGVzLnRzXCI7XG5leHBvcnQgdHlwZSB7IFNjaGVtYUlzc3VlcyB9IGZyb20gXCIuL3NyYy92YWxpZGF0aW9uLnRzXCI7XG5leHBvcnQgeyBERUZBVUxUX0RBVEFCUklDS1NfV09SS1NQQUNFX1BBVEhTIH0gZnJvbSBcIi4vc3JjL3dvcmtzcGFjZXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRGF0YWJyaWNrc1dvcmtzcGFjZUNvbnRleHQsIERhdGFicmlja3NXb3Jrc3BhY2VQYXRoT3B0aW9ucywgRGF0YWJyaWNrc1dvcmtzcGFjZVBhdGgsIERhdGFicmlja3NXb3Jrc3BhY2VQYXRoVmFsdWUsIERhdGFicmlja3NXb3Jrc3BhY2VDYWNoZUZpbHRlciwgRGF0YWJyaWNrc1dvcmtzcGFjZUNhY2hlLCBXb3Jrc3BhY2VTYW5kYm94U2VsZWN0aW9uLCBEYXRhYnJpY2tzV29ya3NwYWNlT3B0aW9ucyB9IGZyb20gXCIuL3NyYy93b3Jrc3BhY2VzLnRzXCI7XG4iXX0=
package/package.json CHANGED
@@ -35,21 +35,21 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@databricks/appkit": "0.81.0",
38
- "@dbx-tools/appkit": "^0.9.131",
39
- "@dbx-tools/cache": "^0.9.131",
40
- "@dbx-tools/core": "^0.9.131",
41
- "@dbx-tools/databricks": "^0.9.131",
42
- "@dbx-tools/fs": "^0.9.131",
43
- "@dbx-tools/genie": "^0.9.131",
44
- "@dbx-tools/model": "^0.9.131",
45
- "@dbx-tools/model-protocol": "^0.9.131",
46
- "@dbx-tools/path": "^0.9.131",
47
- "@dbx-tools/postgres": "^0.9.131",
48
- "@dbx-tools/shared-core": "^0.9.131",
49
- "@dbx-tools/shared-fs": "^0.9.131",
50
- "@dbx-tools/shared-genie": "^0.9.131",
51
- "@dbx-tools/shared-mastra": "^0.9.131",
52
- "@dbx-tools/shared-model": "^0.9.131",
38
+ "@dbx-tools/appkit": "^0.9.132",
39
+ "@dbx-tools/cache": "^0.9.132",
40
+ "@dbx-tools/core": "^0.9.132",
41
+ "@dbx-tools/databricks": "^0.9.132",
42
+ "@dbx-tools/fs": "^0.9.132",
43
+ "@dbx-tools/genie": "^0.9.132",
44
+ "@dbx-tools/model": "^0.9.132",
45
+ "@dbx-tools/model-protocol": "^0.9.132",
46
+ "@dbx-tools/path": "^0.9.132",
47
+ "@dbx-tools/postgres": "^0.9.132",
48
+ "@dbx-tools/shared-core": "^0.9.132",
49
+ "@dbx-tools/shared-fs": "^0.9.132",
50
+ "@dbx-tools/shared-genie": "^0.9.132",
51
+ "@dbx-tools/shared-mastra": "^0.9.132",
52
+ "@dbx-tools/shared-model": "^0.9.132",
53
53
  "@mastra/ai-sdk": "1.10.5",
54
54
  "@mastra/core": "1.71.0",
55
55
  "@mastra/express": "1.5.15",
@@ -223,7 +223,7 @@
223
223
  "./package.json": "./package.json"
224
224
  }
225
225
  },
226
- "version": "0.9.131",
226
+ "version": "0.9.132",
227
227
  "types": "./lib/index.d.ts",
228
228
  "dbxToolsConfig": {
229
229
  "tags": [