@databricks/appkit-ui 0.20.2 → 0.21.0
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/CLAUDE.md +5 -13
- package/NOTICE.md +3 -6
- package/dist/cli/commands/plugin/add-resource/add-resource.js.map +1 -1
- package/dist/js/arrow/lazy-arrow.d.ts +8 -0
- package/dist/js/arrow/lazy-arrow.d.ts.map +1 -1
- package/dist/js/arrow/lazy-arrow.js +8 -0
- package/dist/js/arrow/lazy-arrow.js.map +1 -1
- package/dist/react/charts/area/index.d.ts +0 -1
- package/dist/react/charts/area/index.d.ts.map +1 -1
- package/dist/react/charts/area/index.js.map +1 -1
- package/dist/react/charts/bar/index.d.ts +0 -1
- package/dist/react/charts/bar/index.d.ts.map +1 -1
- package/dist/react/charts/bar/index.js.map +1 -1
- package/dist/react/charts/constants.d.ts +1 -3
- package/dist/react/charts/constants.d.ts.map +1 -1
- package/dist/react/charts/constants.js +1 -3
- package/dist/react/charts/constants.js.map +1 -1
- package/dist/react/charts/heatmap/index.d.ts +0 -1
- package/dist/react/charts/heatmap/index.d.ts.map +1 -1
- package/dist/react/charts/heatmap/index.js.map +1 -1
- package/dist/react/charts/index.d.ts +1 -1
- package/dist/react/charts/index.js +1 -1
- package/dist/react/charts/line/index.d.ts +0 -1
- package/dist/react/charts/line/index.d.ts.map +1 -1
- package/dist/react/charts/line/index.js.map +1 -1
- package/dist/react/charts/options.d.ts.map +1 -1
- package/dist/react/charts/options.js +3 -1
- package/dist/react/charts/options.js.map +1 -1
- package/dist/react/charts/pie/index.d.ts +0 -1
- package/dist/react/charts/pie/index.d.ts.map +1 -1
- package/dist/react/charts/pie/index.js.map +1 -1
- package/dist/react/charts/radar/index.d.ts +0 -1
- package/dist/react/charts/radar/index.d.ts.map +1 -1
- package/dist/react/charts/radar/index.js.map +1 -1
- package/dist/react/charts/scatter/index.d.ts +0 -1
- package/dist/react/charts/scatter/index.d.ts.map +1 -1
- package/dist/react/charts/scatter/index.js.map +1 -1
- package/dist/react/genie/genie-chart-inference.d.ts +6 -1
- package/dist/react/genie/genie-chart-inference.d.ts.map +1 -1
- package/dist/react/genie/genie-chart-inference.js +60 -6
- package/dist/react/genie/genie-chart-inference.js.map +1 -1
- package/dist/react/genie/genie-chat-input.d.ts.map +1 -1
- package/dist/react/genie/genie-chat-input.js.map +1 -1
- package/dist/react/genie/genie-chat-message-list.d.ts.map +1 -1
- package/dist/react/genie/genie-chat-message-list.js.map +1 -1
- package/dist/react/genie/genie-chat-message.d.ts.map +1 -1
- package/dist/react/genie/genie-chat-message.js.map +1 -1
- package/dist/react/genie/genie-query-visualization.d.ts.map +1 -1
- package/dist/react/genie/genie-query-visualization.js +63 -13
- package/dist/react/genie/genie-query-visualization.js.map +1 -1
- package/dist/react/genie/index.d.ts +1 -1
- package/dist/react/genie/index.js +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +5 -5
- package/dist/react/table/data-table.js +1 -1
- package/dist/react/ui/index.js +1 -1
- package/dist/schemas/plugin-manifest.generated.d.ts +178 -0
- package/dist/schemas/plugin-manifest.generated.d.ts.map +1 -0
- package/dist/schemas/plugin-manifest.schema.json +2 -0
- package/docs/api/appkit/Interface.CacheConfig.md +1 -1
- package/docs/api/appkit/Interface.PluginManifest.md +104 -6
- package/docs/api/appkit/Interface.ResourceEntry.md +5 -7
- package/docs/api/appkit/Interface.ResourceFieldEntry.md +2 -0
- package/docs/api/appkit/Interface.ResourceRequirement.md +63 -7
- package/docs/api/appkit/Interface.StreamExecutionSettings.md +1 -1
- package/docs/api/appkit/TypeAlias.PluginData.md +2 -0
- package/docs/api/appkit/TypeAlias.ToPlugin.md +2 -0
- package/docs/api/appkit.md +6 -6
- package/llms.txt +5 -13
- package/package.json +2 -5
- package/docs/api/appkit-ui/data/AreaChart.md +0 -79
- package/docs/api/appkit-ui/data/BarChart.md +0 -74
- package/docs/api/appkit-ui/data/DonutChart.md +0 -72
- package/docs/api/appkit-ui/data/HeatmapChart.md +0 -91
- package/docs/api/appkit-ui/data/LineChart.md +0 -77
- package/docs/api/appkit-ui/data/PieChart.md +0 -72
- package/docs/api/appkit-ui/data/RadarChart.md +0 -74
- package/docs/api/appkit-ui/data/ScatterChart.md +0 -76
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
//#region src/schemas/plugin-manifest.generated.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().
|
|
4
|
+
*
|
|
5
|
+
* This interface was referenced by `PluginManifest`'s JSON-Schema
|
|
6
|
+
* via the `definition` "resourceRequirement".
|
|
7
|
+
*/
|
|
8
|
+
type ResourceRequirement = ({
|
|
9
|
+
type: ResourceType;
|
|
10
|
+
/**
|
|
11
|
+
* Human-readable label for UI/display only. Deduplication uses resourceKey, not alias.
|
|
12
|
+
*/
|
|
13
|
+
alias: string;
|
|
14
|
+
/**
|
|
15
|
+
* Stable key for machine use: deduplication, env naming, composite keys, app.yaml. Required for registry lookup.
|
|
16
|
+
*/
|
|
17
|
+
resourceKey: string;
|
|
18
|
+
/**
|
|
19
|
+
* Human-readable description of why this resource is needed
|
|
20
|
+
*/
|
|
21
|
+
description: string;
|
|
22
|
+
/**
|
|
23
|
+
* Required permission level. Validated per resource type by the allOf/if-then rules below.
|
|
24
|
+
*/
|
|
25
|
+
permission: string;
|
|
26
|
+
/**
|
|
27
|
+
* Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple (e.g. instance_name, database_name or scope, key).
|
|
28
|
+
*/
|
|
29
|
+
fields?: {
|
|
30
|
+
[k: string]: ResourceFieldEntry;
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Type of Databricks resource
|
|
35
|
+
*
|
|
36
|
+
* This interface was referenced by `PluginManifest`'s JSON-Schema
|
|
37
|
+
* via the `definition` "resourceType".
|
|
38
|
+
*/
|
|
39
|
+
type ResourceType = ("secret" | "job" | "sql_warehouse" | "serving_endpoint" | "volume" | "vector_search_index" | "uc_function" | "uc_connection" | "database" | "postgres" | "genie_space" | "experiment" | "app");
|
|
40
|
+
/**
|
|
41
|
+
* Schema for Databricks AppKit plugin manifest files. Defines plugin metadata, resource requirements, and configuration options.
|
|
42
|
+
*/
|
|
43
|
+
interface PluginManifest {
|
|
44
|
+
/**
|
|
45
|
+
* Reference to the JSON Schema for validation
|
|
46
|
+
*/
|
|
47
|
+
$schema?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Plugin identifier. Must be lowercase, start with a letter, and contain only letters, numbers, and hyphens.
|
|
50
|
+
*/
|
|
51
|
+
name: string;
|
|
52
|
+
/**
|
|
53
|
+
* Human-readable display name for UI and CLI
|
|
54
|
+
*/
|
|
55
|
+
displayName: string;
|
|
56
|
+
/**
|
|
57
|
+
* Brief description of what the plugin does
|
|
58
|
+
*/
|
|
59
|
+
description: string;
|
|
60
|
+
/**
|
|
61
|
+
* Databricks resource requirements for this plugin
|
|
62
|
+
*/
|
|
63
|
+
resources: {
|
|
64
|
+
/**
|
|
65
|
+
* Resources that must be available for the plugin to function
|
|
66
|
+
*/
|
|
67
|
+
required: ResourceRequirement[];
|
|
68
|
+
/**
|
|
69
|
+
* Resources that enhance functionality but are not mandatory
|
|
70
|
+
*/
|
|
71
|
+
optional: ResourceRequirement[];
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Configuration schema for the plugin
|
|
75
|
+
*/
|
|
76
|
+
config?: {
|
|
77
|
+
schema?: ConfigSchema;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Author name or organization
|
|
81
|
+
*/
|
|
82
|
+
author?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Plugin version (semver format)
|
|
85
|
+
*/
|
|
86
|
+
version?: string;
|
|
87
|
+
/**
|
|
88
|
+
* URL to the plugin's source repository
|
|
89
|
+
*/
|
|
90
|
+
repository?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Keywords for plugin discovery
|
|
93
|
+
*/
|
|
94
|
+
keywords?: string[];
|
|
95
|
+
/**
|
|
96
|
+
* SPDX license identifier
|
|
97
|
+
*/
|
|
98
|
+
license?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Message displayed to the user after project initialization. Use this to inform about manual setup steps (e.g. environment variables, resource provisioning).
|
|
101
|
+
*/
|
|
102
|
+
onSetupMessage?: string;
|
|
103
|
+
/**
|
|
104
|
+
* When true, this plugin is excluded from the template plugins manifest (appkit.plugins.json) during sync.
|
|
105
|
+
*/
|
|
106
|
+
hidden?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance_name, database_name or scope, key).
|
|
110
|
+
*
|
|
111
|
+
* This interface was referenced by `PluginManifest`'s JSON-Schema
|
|
112
|
+
* via the `definition` "resourceFieldEntry".
|
|
113
|
+
*/
|
|
114
|
+
interface ResourceFieldEntry {
|
|
115
|
+
/**
|
|
116
|
+
* Environment variable name for this field
|
|
117
|
+
*/
|
|
118
|
+
env?: string;
|
|
119
|
+
/**
|
|
120
|
+
* Human-readable description for this field
|
|
121
|
+
*/
|
|
122
|
+
description?: string;
|
|
123
|
+
/**
|
|
124
|
+
* When true, this field is excluded from Databricks bundle configuration (databricks.yml) generation.
|
|
125
|
+
*/
|
|
126
|
+
bundleIgnore?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Example values showing the expected format for this field
|
|
129
|
+
*/
|
|
130
|
+
examples?: string[];
|
|
131
|
+
/**
|
|
132
|
+
* When true, this field is only generated for local .env files. The Databricks Apps platform auto-injects it at deploy time.
|
|
133
|
+
*/
|
|
134
|
+
localOnly?: boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Static value for this field. Used when no prompted or resolved value exists.
|
|
137
|
+
*/
|
|
138
|
+
value?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Named resolver prefixed by resource type (e.g., 'postgres:host'). The CLI resolves this value during the init prompt flow.
|
|
141
|
+
*/
|
|
142
|
+
resolve?: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* This interface was referenced by `PluginManifest`'s JSON-Schema
|
|
146
|
+
* via the `definition` "configSchema".
|
|
147
|
+
*/
|
|
148
|
+
interface ConfigSchema {
|
|
149
|
+
type: ("object" | "array" | "string" | "number" | "boolean");
|
|
150
|
+
properties?: {
|
|
151
|
+
[k: string]: ConfigSchemaProperty;
|
|
152
|
+
};
|
|
153
|
+
items?: ConfigSchema;
|
|
154
|
+
required?: string[];
|
|
155
|
+
additionalProperties?: boolean;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* This interface was referenced by `PluginManifest`'s JSON-Schema
|
|
159
|
+
* via the `definition` "configSchemaProperty".
|
|
160
|
+
*/
|
|
161
|
+
interface ConfigSchemaProperty {
|
|
162
|
+
type: ("object" | "array" | "string" | "number" | "boolean" | "integer");
|
|
163
|
+
description?: string;
|
|
164
|
+
default?: unknown;
|
|
165
|
+
enum?: unknown[];
|
|
166
|
+
properties?: {
|
|
167
|
+
[k: string]: ConfigSchemaProperty;
|
|
168
|
+
};
|
|
169
|
+
items?: ConfigSchemaProperty;
|
|
170
|
+
minimum?: number;
|
|
171
|
+
maximum?: number;
|
|
172
|
+
minLength?: number;
|
|
173
|
+
maxLength?: number;
|
|
174
|
+
required?: string[];
|
|
175
|
+
}
|
|
176
|
+
//#endregion
|
|
177
|
+
export { PluginManifest, ResourceFieldEntry, ResourceRequirement };
|
|
178
|
+
//# sourceMappingURL=plugin-manifest.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-manifest.generated.d.ts","names":[],"sources":["../../src/schemas/plugin-manifest.generated.ts"],"mappings":";;AAQA;;;;;KAAY,mBAAA;EACZ,IAAA,EAAM,YAAA;EAQN;;;EAJA,KAAA;EAiBC;;;EAbD,WAAA;EAsBY;;;EAlBZ,WAAA;EAkBwB;AAgGxB;;EA9GA,UAAA;EAsIU;;;EAlIV,MAAA;IAAA,CACC,CAAA,WAAY,kBAAA;EAAA;AAAA;;;;;;;KASD,YAAA;;;;UAgGK,cAAA;;;;EAIjB,OAAA;;;;EAIA,IAAA;;;;EAIA,WAAA;;;;EAIA,WAAA;;;;EAIA,SAAA;;;;IAIA,QAAA,EAAU,mBAAA;;;;IAIV,QAAA,EAAU,mBAAA;EAAA;;;;EAKV,MAAA;IACA,MAAA,GAAS,YAAA;EAAA;;;;EAKT,MAAA;;;;EAIA,OAAA;;;;EAIA,UAAA;;;;EAIA,QAAA;;;;EAIA,OAAA;;;;EAIA,cAAA;;;;EAIA,MAAA;AAAA;;;;;;;UAQiB,kBAAA;;;;EAIjB,GAAA;;;;EAIA,WAAA;;;;EAIA,YAAA;;;;EAIA,QAAA;;;;EAIA,SAAA;;;;EAIA,KAAA;;;;EAIA,OAAA;AAAA;;;;;UAMiB,YAAA;EACjB,IAAA;EACA,UAAA;IAAA,CACC,CAAA,WAAY,oBAAA;EAAA;EAEb,KAAA,GAAQ,YAAA;EACR,QAAA;EACA,oBAAA;AAAA;;;;;UAMiB,oBAAA;EACjB,IAAA;EACA,WAAA;EACA,OAAA;EACA,IAAA;EACA,UAAA;IAAA,CACC,CAAA,WAAY,oBAAA;EAAA;EAEb,KAAA,GAAQ,oBAAA;EACR,OAAA;EACA,OAAA;EACA,SAAA;EACA,SAAA;EACA,QAAA;AAAA"}
|
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
},
|
|
186
186
|
"resourceFieldEntry": {
|
|
187
187
|
"type": "object",
|
|
188
|
+
"description": "Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance_name, database_name or scope, key).",
|
|
188
189
|
"properties": {
|
|
189
190
|
"env": {
|
|
190
191
|
"type": "string",
|
|
@@ -225,6 +226,7 @@
|
|
|
225
226
|
},
|
|
226
227
|
"resourceRequirement": {
|
|
227
228
|
"type": "object",
|
|
229
|
+
"description": "Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().",
|
|
228
230
|
"required": ["type", "alias", "resourceKey", "description", "permission"],
|
|
229
231
|
"properties": {
|
|
230
232
|
"type": {
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# Interface: PluginManifest\<TName>
|
|
2
2
|
|
|
3
|
-
Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property.
|
|
3
|
+
Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types.
|
|
4
|
+
|
|
5
|
+
## See[](#see "Direct link to See")
|
|
6
|
+
|
|
7
|
+
* `packages/shared/src/schemas/plugin-manifest.generated.ts` `PluginManifest` — generated base
|
|
8
|
+
* SharedPluginManifest — shared re-export with JSONSchema7 config
|
|
9
|
+
|
|
10
|
+
## Extends[](#extends "Direct link to Extends")
|
|
11
|
+
|
|
12
|
+
* `Omit`<`SharedPluginManifest`, `"resources"` | `"config"`>
|
|
4
13
|
|
|
5
14
|
## Type Parameters[](#type-parameters "Direct link to Type Parameters")
|
|
6
15
|
|
|
@@ -17,7 +26,14 @@ optional author: string;
|
|
|
17
26
|
|
|
18
27
|
```
|
|
19
28
|
|
|
20
|
-
|
|
29
|
+
Author name or organization
|
|
30
|
+
|
|
31
|
+
#### Inherited from[](#inherited-from "Direct link to Inherited from")
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
Omit.author
|
|
35
|
+
|
|
36
|
+
```
|
|
21
37
|
|
|
22
38
|
***
|
|
23
39
|
|
|
@@ -30,7 +46,7 @@ optional config: {
|
|
|
30
46
|
|
|
31
47
|
```
|
|
32
48
|
|
|
33
|
-
Configuration schema for the plugin.
|
|
49
|
+
Configuration schema for the plugin. Uses JSONSchema7 instead of the generated ConfigSchema (which is too restrictive).
|
|
34
50
|
|
|
35
51
|
#### schema[](#schema "Direct link to schema")
|
|
36
52
|
|
|
@@ -50,6 +66,13 @@ description: string;
|
|
|
50
66
|
|
|
51
67
|
Brief description of what the plugin does
|
|
52
68
|
|
|
69
|
+
#### Inherited from[](#inherited-from-1 "Direct link to Inherited from")
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
Omit.description
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
|
|
53
76
|
***
|
|
54
77
|
|
|
55
78
|
### displayName[](#displayname "Direct link to displayName")
|
|
@@ -59,7 +82,14 @@ displayName: string;
|
|
|
59
82
|
|
|
60
83
|
```
|
|
61
84
|
|
|
62
|
-
Human-readable display name for UI
|
|
85
|
+
Human-readable display name for UI and CLI
|
|
86
|
+
|
|
87
|
+
#### Inherited from[](#inherited-from-2 "Direct link to Inherited from")
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
Omit.displayName
|
|
91
|
+
|
|
92
|
+
```
|
|
63
93
|
|
|
64
94
|
***
|
|
65
95
|
|
|
@@ -70,7 +100,14 @@ optional hidden: boolean;
|
|
|
70
100
|
|
|
71
101
|
```
|
|
72
102
|
|
|
73
|
-
When true, excluded from the template plugins manifest during sync.
|
|
103
|
+
When true, this plugin is excluded from the template plugins manifest (appkit.plugins.json) during sync.
|
|
104
|
+
|
|
105
|
+
#### Inherited from[](#inherited-from-3 "Direct link to Inherited from")
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
Omit.hidden
|
|
109
|
+
|
|
110
|
+
```
|
|
74
111
|
|
|
75
112
|
***
|
|
76
113
|
|
|
@@ -81,6 +118,15 @@ optional keywords: string[];
|
|
|
81
118
|
|
|
82
119
|
```
|
|
83
120
|
|
|
121
|
+
Keywords for plugin discovery
|
|
122
|
+
|
|
123
|
+
#### Inherited from[](#inherited-from-4 "Direct link to Inherited from")
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
Omit.keywords
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
|
|
84
130
|
***
|
|
85
131
|
|
|
86
132
|
### license?[](#license "Direct link to license?")
|
|
@@ -90,6 +136,15 @@ optional license: string;
|
|
|
90
136
|
|
|
91
137
|
```
|
|
92
138
|
|
|
139
|
+
SPDX license identifier
|
|
140
|
+
|
|
141
|
+
#### Inherited from[](#inherited-from-5 "Direct link to Inherited from")
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
Omit.license
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
|
|
93
148
|
***
|
|
94
149
|
|
|
95
150
|
### name[](#name "Direct link to name")
|
|
@@ -101,6 +156,31 @@ name: TName;
|
|
|
101
156
|
|
|
102
157
|
Plugin identifier — the single source of truth for the plugin's name
|
|
103
158
|
|
|
159
|
+
#### Overrides[](#overrides "Direct link to Overrides")
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
Omit.name
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
***
|
|
167
|
+
|
|
168
|
+
### onSetupMessage?[](#onsetupmessage "Direct link to onSetupMessage?")
|
|
169
|
+
|
|
170
|
+
```ts
|
|
171
|
+
optional onSetupMessage: string;
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Message displayed to the user after project initialization. Use this to inform about manual setup steps (e.g. environment variables, resource provisioning).
|
|
176
|
+
|
|
177
|
+
#### Inherited from[](#inherited-from-6 "Direct link to Inherited from")
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
Omit.onSetupMessage
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
|
|
104
184
|
***
|
|
105
185
|
|
|
106
186
|
### repository?[](#repository "Direct link to repository?")
|
|
@@ -110,6 +190,15 @@ optional repository: string;
|
|
|
110
190
|
|
|
111
191
|
```
|
|
112
192
|
|
|
193
|
+
URL to the plugin's source repository
|
|
194
|
+
|
|
195
|
+
#### Inherited from[](#inherited-from-7 "Direct link to Inherited from")
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
Omit.repository
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
|
|
113
202
|
***
|
|
114
203
|
|
|
115
204
|
### resources[](#resources "Direct link to resources")
|
|
@@ -122,7 +211,7 @@ resources: {
|
|
|
122
211
|
|
|
123
212
|
```
|
|
124
213
|
|
|
125
|
-
Resource requirements declaration
|
|
214
|
+
Resource requirements declaration (with strict ResourceRequirement types)
|
|
126
215
|
|
|
127
216
|
#### optional[](#optional "Direct link to optional")
|
|
128
217
|
|
|
@@ -150,3 +239,12 @@ Resources that must be available for the plugin to function
|
|
|
150
239
|
optional version: string;
|
|
151
240
|
|
|
152
241
|
```
|
|
242
|
+
|
|
243
|
+
Plugin version (semver format)
|
|
244
|
+
|
|
245
|
+
#### Inherited from[](#inherited-from-8 "Direct link to Inherited from")
|
|
246
|
+
|
|
247
|
+
```ts
|
|
248
|
+
Omit.version
|
|
249
|
+
|
|
250
|
+
```
|
|
@@ -15,7 +15,7 @@ alias: string;
|
|
|
15
15
|
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Human-readable label for UI/display only. Deduplication uses resourceKey, not alias.
|
|
19
19
|
|
|
20
20
|
#### Inherited from[](#inherited-from "Direct link to Inherited from")
|
|
21
21
|
|
|
@@ -45,7 +45,7 @@ fields: Record<string, ResourceFieldEntry>;
|
|
|
45
45
|
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple
|
|
48
|
+
Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key).
|
|
49
49
|
|
|
50
50
|
#### Inherited from[](#inherited-from-2 "Direct link to Inherited from")
|
|
51
51
|
|
|
@@ -60,7 +60,7 @@ permission: ResourcePermission;
|
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
Required permission level for the resource
|
|
63
|
+
Required permission level for the resource (narrowed to union)
|
|
64
64
|
|
|
65
65
|
#### Inherited from[](#inherited-from-3 "Direct link to Inherited from")
|
|
66
66
|
|
|
@@ -97,8 +97,6 @@ required: boolean;
|
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
Whether this resource is required (true) or optional (false)
|
|
101
|
-
|
|
102
100
|
#### Inherited from[](#inherited-from-4 "Direct link to Inherited from")
|
|
103
101
|
|
|
104
102
|
[`ResourceRequirement`](./docs/api/appkit/Interface.ResourceRequirement.md).[`required`](./docs/api/appkit/Interface.ResourceRequirement.md#required)
|
|
@@ -123,7 +121,7 @@ resourceKey: string;
|
|
|
123
121
|
|
|
124
122
|
```
|
|
125
123
|
|
|
126
|
-
Stable key for machine use
|
|
124
|
+
Stable key for machine use: deduplication, env naming, composite keys, app.yaml. Required for registry lookup.
|
|
127
125
|
|
|
128
126
|
#### Inherited from[](#inherited-from-5 "Direct link to Inherited from")
|
|
129
127
|
|
|
@@ -138,7 +136,7 @@ type: ResourceType;
|
|
|
138
136
|
|
|
139
137
|
```
|
|
140
138
|
|
|
141
|
-
Type of Databricks resource required
|
|
139
|
+
Type of Databricks resource required (narrowed to enum)
|
|
142
140
|
|
|
143
141
|
#### Inherited from[](#inherited-from-6 "Direct link to Inherited from")
|
|
144
142
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key).
|
|
4
4
|
|
|
5
|
+
This interface was referenced by `PluginManifest`'s JSON-Schema via the `definition` "resourceFieldEntry".
|
|
6
|
+
|
|
5
7
|
## Properties[](#properties "Direct link to Properties")
|
|
6
8
|
|
|
7
9
|
### bundleIgnore?[](#bundleignore "Direct link to bundleIgnore?")
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# Interface: ResourceRequirement
|
|
2
2
|
|
|
3
|
-
Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().
|
|
3
|
+
Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements(). Narrows the generated base: type → ResourceType enum, permission → ResourcePermission union.
|
|
4
|
+
|
|
5
|
+
## See[](#see "Direct link to See")
|
|
6
|
+
|
|
7
|
+
* `packages/shared/src/schemas/plugin-manifest.generated.ts` `ResourceRequirement` — generated base
|
|
8
|
+
* SharedResourceRequirement — shared re-export with runtime `fields` and `required`
|
|
9
|
+
|
|
10
|
+
## Extends[](#extends "Direct link to Extends")
|
|
11
|
+
|
|
12
|
+
* `ResourceRequirement`
|
|
4
13
|
|
|
5
14
|
## Extended by[](#extended-by "Direct link to Extended by")
|
|
6
15
|
|
|
@@ -15,7 +24,14 @@ alias: string;
|
|
|
15
24
|
|
|
16
25
|
```
|
|
17
26
|
|
|
18
|
-
|
|
27
|
+
Human-readable label for UI/display only. Deduplication uses resourceKey, not alias.
|
|
28
|
+
|
|
29
|
+
#### Inherited from[](#inherited-from "Direct link to Inherited from")
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
SharedResourceRequirement.alias
|
|
33
|
+
|
|
34
|
+
```
|
|
19
35
|
|
|
20
36
|
***
|
|
21
37
|
|
|
@@ -28,6 +44,13 @@ description: string;
|
|
|
28
44
|
|
|
29
45
|
Human-readable description of why this resource is needed
|
|
30
46
|
|
|
47
|
+
#### Inherited from[](#inherited-from-1 "Direct link to Inherited from")
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
SharedResourceRequirement.description
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
|
|
31
54
|
***
|
|
32
55
|
|
|
33
56
|
### fields[](#fields "Direct link to fields")
|
|
@@ -37,7 +60,14 @@ fields: Record<string, ResourceFieldEntry>;
|
|
|
37
60
|
|
|
38
61
|
```
|
|
39
62
|
|
|
40
|
-
Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple
|
|
63
|
+
Map of field name to env and optional description. Single-value types use one key (e.g. id); multi-value (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key).
|
|
64
|
+
|
|
65
|
+
#### Inherited from[](#inherited-from-2 "Direct link to Inherited from")
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
SharedResourceRequirement.fields
|
|
69
|
+
|
|
70
|
+
```
|
|
41
71
|
|
|
42
72
|
***
|
|
43
73
|
|
|
@@ -48,7 +78,14 @@ permission: ResourcePermission;
|
|
|
48
78
|
|
|
49
79
|
```
|
|
50
80
|
|
|
51
|
-
Required permission level for the resource
|
|
81
|
+
Required permission level for the resource (narrowed to union)
|
|
82
|
+
|
|
83
|
+
#### Overrides[](#overrides "Direct link to Overrides")
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
SharedResourceRequirement.permission
|
|
87
|
+
|
|
88
|
+
```
|
|
52
89
|
|
|
53
90
|
***
|
|
54
91
|
|
|
@@ -59,7 +96,12 @@ required: boolean;
|
|
|
59
96
|
|
|
60
97
|
```
|
|
61
98
|
|
|
62
|
-
|
|
99
|
+
#### Inherited from[](#inherited-from-3 "Direct link to Inherited from")
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
SharedResourceRequirement.required
|
|
103
|
+
|
|
104
|
+
```
|
|
63
105
|
|
|
64
106
|
***
|
|
65
107
|
|
|
@@ -70,7 +112,14 @@ resourceKey: string;
|
|
|
70
112
|
|
|
71
113
|
```
|
|
72
114
|
|
|
73
|
-
Stable key for machine use
|
|
115
|
+
Stable key for machine use: deduplication, env naming, composite keys, app.yaml. Required for registry lookup.
|
|
116
|
+
|
|
117
|
+
#### Inherited from[](#inherited-from-4 "Direct link to Inherited from")
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
SharedResourceRequirement.resourceKey
|
|
121
|
+
|
|
122
|
+
```
|
|
74
123
|
|
|
75
124
|
***
|
|
76
125
|
|
|
@@ -81,4 +130,11 @@ type: ResourceType;
|
|
|
81
130
|
|
|
82
131
|
```
|
|
83
132
|
|
|
84
|
-
Type of Databricks resource required
|
|
133
|
+
Type of Databricks resource required (narrowed to enum)
|
|
134
|
+
|
|
135
|
+
#### Overrides[](#overrides-1 "Direct link to Overrides")
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
SharedResourceRequirement.type
|
|
139
|
+
|
|
140
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Interface: StreamExecutionSettings
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Execution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration.
|
|
4
4
|
|
|
5
5
|
## Properties[](#properties "Direct link to Properties")
|
|
6
6
|
|
|
@@ -5,6 +5,8 @@ type ToPlugin<T, U, N> = (config?: U) => PluginData<T, U, N>;
|
|
|
5
5
|
|
|
6
6
|
```
|
|
7
7
|
|
|
8
|
+
Factory function type returned by `toPlugin()`. Accepts optional config and returns a PluginData tuple.
|
|
9
|
+
|
|
8
10
|
## Type Parameters[](#type-parameters "Direct link to Type Parameters")
|
|
9
11
|
|
|
10
12
|
| Type Parameter |
|
package/docs/api/appkit.md
CHANGED
|
@@ -30,18 +30,18 @@ Core library for building Databricks applications with type-safe SQL queries, pl
|
|
|
30
30
|
| Interface | Description |
|
|
31
31
|
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
32
32
|
| [BasePluginConfig](./docs/api/appkit/Interface.BasePluginConfig.md) | Base configuration interface for AppKit plugins |
|
|
33
|
-
| [CacheConfig](./docs/api/appkit/Interface.CacheConfig.md) | Configuration for
|
|
33
|
+
| [CacheConfig](./docs/api/appkit/Interface.CacheConfig.md) | Configuration for the CacheInterceptor. Controls TTL, size limits, storage backend, and probabilistic cleanup. |
|
|
34
34
|
| [DatabaseCredential](./docs/api/appkit/Interface.DatabaseCredential.md) | Database credentials with OAuth token for Postgres connection |
|
|
35
35
|
| [GenerateDatabaseCredentialRequest](./docs/api/appkit/Interface.GenerateDatabaseCredentialRequest.md) | Request parameters for generating database OAuth credentials |
|
|
36
36
|
| [ITelemetry](./docs/api/appkit/Interface.ITelemetry.md) | Plugin-facing interface for OpenTelemetry instrumentation. Provides a thin abstraction over OpenTelemetry APIs for plugins. |
|
|
37
37
|
| [LakebasePoolConfig](./docs/api/appkit/Interface.LakebasePoolConfig.md) | Configuration for creating a Lakebase connection pool |
|
|
38
|
-
| [PluginManifest](./docs/api/appkit/Interface.PluginManifest.md) | Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property.
|
|
38
|
+
| [PluginManifest](./docs/api/appkit/Interface.PluginManifest.md) | Plugin manifest that declares metadata and resource requirements. Attached to plugin classes as a static property. Extends the shared PluginManifest with strict resource types. |
|
|
39
39
|
| [RequestedClaims](./docs/api/appkit/Interface.RequestedClaims.md) | Optional claims for fine-grained Unity Catalog table permissions When specified, the returned token will be scoped to only the requested tables |
|
|
40
40
|
| [RequestedResource](./docs/api/appkit/Interface.RequestedResource.md) | Resource to request permissions for in Unity Catalog |
|
|
41
41
|
| [ResourceEntry](./docs/api/appkit/Interface.ResourceEntry.md) | Internal representation of a resource in the registry. Extends ResourceRequirement with resolution state and plugin ownership. |
|
|
42
42
|
| [ResourceFieldEntry](./docs/api/appkit/Interface.ResourceFieldEntry.md) | Defines a single field for a resource. Each field has its own environment variable and optional description. Single-value types use one key (e.g. id); multi-value types (database, secret) use multiple (e.g. instance\_name, database\_name or scope, key). |
|
|
43
|
-
| [ResourceRequirement](./docs/api/appkit/Interface.ResourceRequirement.md) | Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements().
|
|
44
|
-
| [StreamExecutionSettings](./docs/api/appkit/Interface.StreamExecutionSettings.md) |
|
|
43
|
+
| [ResourceRequirement](./docs/api/appkit/Interface.ResourceRequirement.md) | Declares a resource requirement for a plugin. Can be defined statically in a manifest or dynamically via getResourceRequirements(). Narrows the generated base: type → ResourceType enum, permission → ResourcePermission union. |
|
|
44
|
+
| [StreamExecutionSettings](./docs/api/appkit/Interface.StreamExecutionSettings.md) | Execution settings for streaming endpoints. Extends PluginExecutionSettings with SSE stream configuration. |
|
|
45
45
|
| [TelemetryConfig](./docs/api/appkit/Interface.TelemetryConfig.md) | OpenTelemetry configuration for AppKit applications |
|
|
46
46
|
| [ValidationResult](./docs/api/appkit/Interface.ValidationResult.md) | Result of validating all registered resources against the environment. |
|
|
47
47
|
|
|
@@ -51,9 +51,9 @@ Core library for building Databricks applications with type-safe SQL queries, pl
|
|
|
51
51
|
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
52
52
|
| [ConfigSchema](./docs/api/appkit/TypeAlias.ConfigSchema.md) | Configuration schema definition for plugin config. Re-exported from the standard JSON Schema Draft 7 types. |
|
|
53
53
|
| [IAppRouter](./docs/api/appkit/TypeAlias.IAppRouter.md) | Express router type for plugin route registration |
|
|
54
|
-
| [PluginData](./docs/api/appkit/TypeAlias.PluginData.md) |
|
|
54
|
+
| [PluginData](./docs/api/appkit/TypeAlias.PluginData.md) | Tuple of plugin class, config, and name. Created by `toPlugin()` and passed to `createApp()`. |
|
|
55
55
|
| [ResourcePermission](./docs/api/appkit/TypeAlias.ResourcePermission.md) | Union of all possible permission levels across all resource types. |
|
|
56
|
-
| [ToPlugin](./docs/api/appkit/TypeAlias.ToPlugin.md) |
|
|
56
|
+
| [ToPlugin](./docs/api/appkit/TypeAlias.ToPlugin.md) | Factory function type returned by `toPlugin()`. Accepts optional config and returns a PluginData tuple. |
|
|
57
57
|
|
|
58
58
|
## Variables[](#variables "Direct link to Variables")
|
|
59
59
|
|