@databricks/appkit-ui 0.35.1 → 0.35.2

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.
@@ -11,6 +11,8 @@ id: string;
11
11
 
12
12
  ```
13
13
 
14
+ Identifier of the requesting caller. For end-user HTTP requests this is the value of the `x-forwarded-user` header; for direct SDK calls and header-less HTTP requests (which run as the service principal), this is the service principal's ID.
15
+
14
16
  ***
15
17
 
16
18
  ### isServicePrincipal?[​](#isserviceprincipal "Direct link to isServicePrincipal?")
@@ -20,4 +22,16 @@ optional isServicePrincipal: boolean;
20
22
 
21
23
  ```
22
24
 
23
- `true` when the caller is the service principal (direct SDK call, not `asUser`).
25
+ `true` when the call is executing as the service principal — either a direct SDK call (`appKit.files(...)`) or an HTTP request that arrived without an `x-forwarded-user` / `x-forwarded-access-token` header. Policy authors typically check this first to distinguish SP traffic from end-user traffic.
26
+
27
+ The flag reflects the **policy user** the plugin selects, which combines the volume's effective `auth` mode with the headers on the incoming request. The full matrix:
28
+
29
+ | Volume `auth` | Path | Headers | `isServicePrincipal` | Notes |
30
+ | ------------------- | -------------------------- | --------------------------- | -------------------- | ------------------------------------------------------------------------------------------- |
31
+ | `service-principal` | HTTP | `x-forwarded-user` present | `false` (or unset) | Pre-OBO behavior. Policy sees the end user but the SDK call still runs as the SP. |
32
+ | `service-principal` | HTTP | no `x-forwarded-user` | `true` | Headerless request — policy and SDK both run as the SP. |
33
+ | `on-behalf-of-user` | HTTP | valid token + user header | `false` | Real end-user execution. Policy sees the user; the SDK call also runs as the user. |
34
+ | `on-behalf-of-user` | HTTP | missing token, dev-fallback | `true` | Only reachable when `NODE_ENV === "development"` (prod returns 401). Treated as SP traffic. |
35
+ | any | Programmatic `asUser(req)` | `x-forwarded-user` present | `false` | `asUser` extracts the user; the SDK call runs as the user inside `runInUserContext`. |
36
+
37
+ Programmatic calls without `asUser(req)` always set `isServicePrincipal: true` because no request is available to derive a user identity from. OBO volume defaults apply only to HTTP route traffic; for programmatic per-user execution, use `asUser(req)`.
@@ -11,7 +11,7 @@ File operations against Databricks Unity Catalog Volumes. Supports listing, read
11
11
  * Upload size limits with streaming enforcement
12
12
  * Automatic cache invalidation on write operations
13
13
  * Custom content type mappings
14
- * Per-user execution context (OBO)
14
+ * **Per-volume auth modes**: each volume can run as the service principal (the default) or on behalf of the end user
15
15
  * **Access policies**: Per-volume policy functions that gate read and write operations
16
16
 
17
17
  ## Basic usage[​](#basic-usage "Direct link to Basic usage")
@@ -73,6 +73,11 @@ interface IFilesConfig {
73
73
  customContentTypes?: Record<string, string>;
74
74
  /** Maximum upload size in bytes. Defaults to 5 GB. Inherited by all volumes. */
75
75
  maxUploadSize?: number;
76
+ /**
77
+ * Plugin-level default auth mode. Volumes inherit this when they do not
78
+ * set `VolumeConfig.auth`. Defaults to `"service-principal"`.
79
+ */
80
+ auth?: "service-principal" | "on-behalf-of-user";
76
81
  }
77
82
 
78
83
  interface VolumeConfig {
@@ -82,6 +87,11 @@ interface VolumeConfig {
82
87
  maxUploadSize?: number;
83
88
  /** Map of file extensions to MIME types for this volume. Overrides plugin-level default. */
84
89
  customContentTypes?: Record<string, string>;
90
+ /**
91
+ * Per-volume auth mode. Inherits from `IFilesConfig.auth` when not set;
92
+ * defaults to `"service-principal"`.
93
+ */
94
+ auth?: "service-principal" | "on-behalf-of-user";
85
95
  }
86
96
 
87
97
  ```
@@ -102,6 +112,80 @@ files({
102
112
 
103
113
  ```
104
114
 
115
+ ### Auth modes[​](#auth-modes "Direct link to Auth modes")
116
+
117
+ Each volume runs in one of two auth modes. The mode determines which identity executes the underlying Unity Catalog SDK call — and therefore which UC grant applies:
118
+
119
+ | Mode | SDK identity | Required UC grant on the volume |
120
+ | ------------------------------- | ----------------------------- | ------------------------------------------------------- |
121
+ | `"service-principal"` (default) | the app's service principal | `WRITE_VOLUME` (or read-equivalent) on the **SP** |
122
+ | `"on-behalf-of-user"` | the end user from the request | `WRITE_VOLUME` (or read-equivalent) on the **end user** |
123
+
124
+ #### Resolution order[​](#resolution-order "Direct link to Resolution order")
125
+
126
+ For each volume the plugin resolves the auth mode in this order:
127
+
128
+ ```text
129
+ VolumeConfig.auth > IFilesConfig.auth > "service-principal"
130
+
131
+ ```
132
+
133
+ Set `IFilesConfig.auth` to flip the default for every volume in one place, and override individual volumes via `VolumeConfig.auth`.
134
+
135
+ #### Service-principal mode (default)[​](#service-principal-mode-default "Direct link to Service-principal mode (default)")
136
+
137
+ Every HTTP request executes as the app's service principal. The end-user identity (from `x-forwarded-user`) is still passed into the volume policy, but the SDK call uses the SP's credentials:
138
+
139
+ ```ts
140
+ files({
141
+ volumes: {
142
+ exports: {
143
+ // auth is implicit: "service-principal"
144
+ policy: files.policy.publicRead(),
145
+ },
146
+ },
147
+ });
148
+
149
+ ```
150
+
151
+ Use SP mode for shared resources, app-managed exports, or any case where you want a single grant on the SP to govern all access.
152
+
153
+ #### On-behalf-of-user mode[​](#on-behalf-of-user-mode "Direct link to On-behalf-of-user mode")
154
+
155
+ Every HTTP request executes as the end user. The plugin pulls the user identity and access token from the headers Databricks Apps inject (`x-forwarded-user` and `x-forwarded-access-token`) and runs the SDK call inside `runInUserContext`:
156
+
157
+ ```ts
158
+ files({
159
+ volumes: {
160
+ "user-uploads": {
161
+ auth: "on-behalf-of-user",
162
+ // The policy sees the real end user (isServicePrincipal: false).
163
+ // You can use the volume policy in addition to UC grants.
164
+ policy: (action, _resource, user) =>
165
+ // Only allow real end users, never the SP.
166
+ !user.isServicePrincipal,
167
+ },
168
+ },
169
+ });
170
+
171
+ ```
172
+
173
+ Use OBO mode when the per-user UC grant is meaningful — e.g. enforcement of UC ACLs at the SDK layer, or audit trails that need to attribute the API call to the end user instead of the app's SP.
174
+
175
+ #### Production vs development behavior[​](#production-vs-development-behavior "Direct link to Production vs development behavior")
176
+
177
+ | Environment | OBO request with **valid** token | OBO request with **missing** `x-forwarded-access-token` |
178
+ | ------------------------------------------ | -------------------------------- | ------------------------------------------------------- |
179
+ | Production | Runs as the end user. | `401 Unauthorized` — no SDK call is made. |
180
+ | Development (`NODE_ENV === "development"`) | Runs as the end user. | Logs a warning, falls back to the SP, and continues. |
181
+
182
+ The dev-mode fallback exists so local testing without a Databricks Apps reverse proxy continues to work; deployed apps always have the headers injected.
183
+
184
+ #### Limitations[​](#limitations "Direct link to Limitations")
185
+
186
+ * The plugin manifest's `getResourceRequirements()` declares `WRITE_VOLUME` on the **service principal** for every volume, regardless of the volume's `auth` mode. For OBO volumes, the actual permission requirement is on the **end user** — communicate this out-of-band (deployment runbooks, customer onboarding docs) until the plugin manifest schema gains a per-volume auth scope field.
187
+ * OBO volumes disable the read/list cache entirely. The cache layer keys by `getCurrentUserId()`, so a write by user A wouldn't invalidate user B's view of the same path; rather than risk cross-user staleness, OBO traffic skips the cache and fetches fresh on every request. SP volumes still cache (single slice keyed by the SP id).
188
+
105
189
  ### Permission model[​](#permission-model "Direct link to Permission model")
106
190
 
107
191
  There are three layers of access control in the files plugin. Understanding how they interact is critical for securing your app:
@@ -109,11 +193,14 @@ There are three layers of access control in the files plugin. Understanding how
109
193
  ```text
110
194
  ┌─────────────────────────────────────────────────┐
111
195
  │ Unity Catalog grants │
112
- (WRITE_VOLUME on the SP set at deploy time)
196
+ │ WRITE_VOLUME on the SP (auth: service-principal)│
197
+ │ WRITE_VOLUME on the user (auth: on-behalf-of-user)│
113
198
  ├─────────────────────────────────────────────────┤
114
199
  │ Execution identity │
115
- HTTP routes always service principal
116
- Programmatic SP by default, asUser() for OBO
200
+ Resolved per volume from VolumeConfig.auth ??
201
+ IFilesConfig.auth ?? "service-principal".
202
+ │ asUser(req) is a hard override at the SDK │
203
+ │ level for the programmatic API. │
117
204
  ├─────────────────────────────────────────────────┤
118
205
  │ File policies │
119
206
  │ Per-volume (action, resource, user) → boolean │
@@ -122,13 +209,15 @@ There are three layers of access control in the files plugin. Understanding how
122
209
 
123
210
  ```
124
211
 
125
- * **UC grants** control what the service principal can do at the Databricks level. These are set at deploy time via `app.yaml` resource bindings. The SP needs `WRITE_VOLUME` the plugin declares this via resource requirements.
126
- * **Execution identity** determines whose credentials are used for the actual API call. HTTP routes always use the SP. The programmatic API uses SP by default but supports `asUser(req)` for OBO.
127
- * **File policies** are application-level checks evaluated **before** the API call. They receive the requesting user's identity (from the `x-forwarded-user` header) and decide allow/deny. This is the only gate that distinguishes between users on HTTP routes.
212
+ * **UC grants** control what an identity can do at the Databricks level. Which identity needs the grant depends on the volume's auth mode (see [Auth modes](#auth-modes)). For SP volumes, the SP needs `WRITE_VOLUME` (the plugin declares this in its manifest). For OBO volumes, the **end user** needs `WRITE_VOLUME` on the volume; the SP itself does not.
213
+ * **Execution identity** determines whose credentials are used for the actual API call. Each volume resolves to either the service principal or the end user, per its `auth` setting. The programmatic API also exposes `asUser(req)` to force per-user execution regardless of the volume's `auth`.
214
+ * **File policies** are application-level checks evaluated **before** the API call. They receive a `FilePolicyUser` describing the caller and decide allow/deny. On HTTP routes the policy user is selected based on the volume's `auth` mode and the request headers — see the [`isServicePrincipal` matrix](#policy-user-matrix). On SP volumes when `x-forwarded-user` is absent, the policy receives `{ id: <sp-id>, isServicePrincipal: true }` and decides whether to allow service-principal traffic. This is the only gate that distinguishes between users on HTTP routes.
128
215
 
129
216
  warning
130
217
 
131
- Since HTTP routes always execute as the service principal, removing a user's UC `WRITE_VOLUME` grant has **no effect** on HTTP access — the SP's grant is what's used. Policies are how you restrict what individual users can do through your app.
218
+ For service-principal volumes, every HTTP request executes as the SP regardless of which user made it — so removing a user's UC `WRITE_VOLUME` grant has **no effect** on HTTP access. Policies are how you restrict what individual users can do through your app.
219
+
220
+ For on-behalf-of-user volumes, requests execute as the requesting user — so each user must have `WRITE_VOLUME` on the volume themselves, and you can rely on UC grants in addition to policies.
132
221
 
133
222
  New in v0.21.0
134
223
 
@@ -211,6 +300,58 @@ files({
211
300
 
212
301
  ```
213
302
 
303
+ #### OBO policy example[​](#obo-policy-example "Direct link to OBO policy example")
304
+
305
+ For on-behalf-of-user volumes, the policy receives `isServicePrincipal: false` whenever the request runs with a real end-user identity. A common pattern is to deny SP traffic outright so anonymous (header-less) calls can't reach the volume:
306
+
307
+ ```ts
308
+ import { type FilePolicy } from "@databricks/appkit";
309
+
310
+ // Deny anything running as the service principal — including the dev-mode
311
+ // fallback when no x-forwarded-access-token was provided. Real end users
312
+ // (with isServicePrincipal: false) get the configured access.
313
+ const usersOnly: FilePolicy = (_action, _resource, user) => {
314
+ return user.isServicePrincipal !== true;
315
+ };
316
+
317
+ files({
318
+ volumes: {
319
+ "user-uploads": {
320
+ auth: "on-behalf-of-user",
321
+ policy: usersOnly,
322
+ },
323
+ },
324
+ });
325
+
326
+ ```
327
+
328
+ You can compose it with any other policy via `files.policy.all(...)` to add per-action gating:
329
+
330
+ ```ts
331
+ files({
332
+ volumes: {
333
+ "user-uploads": {
334
+ auth: "on-behalf-of-user",
335
+ policy: files.policy.all(usersOnly, files.policy.publicRead()),
336
+ },
337
+ },
338
+ });
339
+
340
+ ```
341
+
342
+ #### Policy user matrix[​](#policy-user-matrix "Direct link to Policy user matrix")
343
+
344
+ The plugin selects the policy user based on the volume's effective `auth` mode and the request headers. The full table:
345
+
346
+ | Volume `auth` | Path | Headers | `isServicePrincipal` | Notes |
347
+ | ------------------- | -------------------------- | --------------------------- | -------------------- | ------------------------------------------------------------------------------------------- |
348
+ | `service-principal` | HTTP | `x-forwarded-user` present | `false` (or unset) | Pre-OBO behavior. Policy sees the end user but the SDK call still runs as the SP. |
349
+ | `service-principal` | HTTP | no `x-forwarded-user` | `true` | Headerless request — policy and SDK both run as the SP. |
350
+ | `on-behalf-of-user` | HTTP | valid token + user header | `false` | Real end-user execution. Policy sees the user; the SDK call also runs as the user. |
351
+ | `on-behalf-of-user` | HTTP | missing token, dev-fallback | `true` | Only reachable when `NODE_ENV === "development"` (prod returns 401). Treated as SP traffic. |
352
+ | any | Programmatic `asUser(req)` | `x-forwarded-user` present | `false` | `asUser` extracts the user; the SDK call runs as the user inside `runInUserContext`. |
353
+ | any | Programmatic (no `asUser`) | n/a | `true` | No request available to derive a user — runs as the SP. |
354
+
214
355
  #### Enforcement[​](#enforcement "Direct link to Enforcement")
215
356
 
216
357
  * **HTTP routes**: Policy checked before every operation. Denied → `403` JSON response with `Policy denied "{action}" on volume "{volumeKey}"`.
@@ -236,7 +377,7 @@ Dangerous MIME types (`text/html`, `text/javascript`, `application/javascript`,
236
377
 
237
378
  ## HTTP routes[​](#http-routes "Direct link to HTTP routes")
238
379
 
239
- Routes are mounted at `/api/files/*`. All routes execute as the service principal. Policy enforcement checks user identity (from the `x-forwarded-user` header) before allowing operations see [Access policies](#access-policies).
380
+ Routes are mounted at `/api/files/*`. Each route resolves the volume's [auth mode](#auth-modes) and either executes as the service principal (the default) or wraps the SDK call in `runInUserContext` for OBO volumes. Before every operation the volume policy runs against the resolved policy user see the [policy user matrix](#policy-user-matrix) for the exact mapping. See also [Access policies](#access-policies).
240
381
 
241
382
  | Method | Path | Query / Body | Response |
242
383
  | ------ | ---------------------- | ---------------------------- | ------------------------------------------------------------ |
@@ -292,22 +433,37 @@ Write operations (`upload`, `mkdir`, `delete`) automatically invalidate the cach
292
433
 
293
434
  ## Programmatic API[​](#programmatic-api "Direct link to Programmatic API")
294
435
 
295
- The `exports()` API is a callable that accepts a volume key and returns a `VolumeHandle`. The handle exposes all `VolumeAPI` methods directly (service principal, logs a warning) and an `asUser(req)` method for OBO access (recommended).
436
+ The `files` plugin export is a callable that accepts a volume key and returns a `VolumeHandle`. The handle exposes all `VolumeAPI` methods directly and an `asUser(req)` method for opting into per-user execution.
296
437
 
297
438
  ```ts
298
- // OBO access (recommended)
439
+ // Default runs as the service principal, regardless of the volume's auth
440
+ // setting (no req is available to derive a user from).
441
+ const entries = await appkit.files("uploads").list();
442
+
443
+ // asUser(req) — runs as the end user, regardless of the volume's auth
444
+ // setting. Forces SDK calls into runInUserContext using the request's
445
+ // x-forwarded-user / x-forwarded-access-token headers.
299
446
  const entries = await appkit.files("uploads").asUser(req).list();
300
447
  const content = await appkit.files("exports").asUser(req).read("report.csv");
301
448
 
302
- // Service principal access (logs a warning encouraging OBO)
303
- const entries = await appkit.files("uploads").list();
304
-
305
449
  // Named accessor
306
450
  const vol = appkit.files.volume("uploads");
307
451
  await vol.asUser(req).list();
308
452
 
309
453
  ```
310
454
 
455
+ ### `asUser(req)`[​](#asuserreq "Direct link to asuserreq")
456
+
457
+ `asUser(req)` is the supported path for programmatic per-user execution. The returned API runs every method inside `runInUserContext` so the underlying `WorkspaceClient` is the user-token client — the SDK call executes as the user, not just the policy check.
458
+
459
+ In production, `asUser(req)` throws `AuthenticationError.missingToken` when either `x-forwarded-user` or `x-forwarded-access-token` is absent — both headers are required to mint a user-scoped client. In development (`NODE_ENV === "development"`) it logs a warning and falls back to the service principal so local testing without a Databricks Apps reverse proxy keeps working — the fallback skips the `runInUserContext` wrap.
460
+
461
+ Programmatic OBO without `asUser(req)`
462
+
463
+ A volume configured with `auth: "on-behalf-of-user"` only routes through `runInUserContext` on the **HTTP route path**, where the request headers are available. A direct programmatic call — `appkit.files("obo-vol").list()` — has no request to derive an end-user identity from, so it executes against whatever client `getWorkspaceClient()` resolves to at the call site (typically the SP at the top level).
464
+
465
+ For programmatic per-user execution, always use `asUser(req)`. The volume's `auth` mode controls HTTP traffic; `asUser(req)` controls programmatic traffic.
466
+
311
467
  ### VolumeAPI methods[​](#volumeapi-methods "Direct link to VolumeAPI methods")
312
468
 
313
469
  | Method | Signature | Returns |
@@ -375,9 +531,20 @@ interface FileResource {
375
531
  }
376
532
 
377
533
  interface FilePolicyUser {
378
- /** User ID from the `x-forwarded-user` header. */
534
+ /**
535
+ * Identifier of the requesting caller. For end-user HTTP requests this is
536
+ * the value of the `x-forwarded-user` header; for direct SDK calls and
537
+ * header-less HTTP requests (which run as the service principal), this
538
+ * is the service principal's ID.
539
+ */
379
540
  id: string;
380
- /** `true` when the caller is the service principal (direct SDK call, not `asUser`). */
541
+ /**
542
+ * `true` when the call is executing as the service principal — either a
543
+ * direct SDK call (`appKit.files(...)` without `asUser`), an HTTP request
544
+ * with no forwarded headers, or the dev-mode fallback for an OBO volume
545
+ * with a missing token. See the [policy user matrix](#policy-user-matrix)
546
+ * for the full table.
547
+ */
381
548
  isServicePrincipal?: boolean;
382
549
  }
383
550
 
@@ -394,6 +561,11 @@ interface VolumeConfig {
394
561
  maxUploadSize?: number;
395
562
  /** Map of file extensions to MIME types for this volume. */
396
563
  customContentTypes?: Record<string, string>;
564
+ /**
565
+ * Per-volume auth mode. Inherits from `IFilesConfig.auth` when not set;
566
+ * defaults to `"service-principal"`.
567
+ */
568
+ auth?: "service-principal" | "on-behalf-of-user";
397
569
  }
398
570
 
399
571
  interface VolumeAPI {
@@ -408,7 +580,10 @@ interface VolumeAPI {
408
580
  preview(filePath: string): Promise<FilePreview>;
409
581
  }
410
582
 
411
- /** Volume handle: all VolumeAPI methods (service principal) + asUser() for OBO. */
583
+ /**
584
+ * Volume handle: all VolumeAPI methods (run as the service principal by
585
+ * default) + asUser() to force per-user execution at the SDK level.
586
+ */
412
587
  type VolumeHandle = VolumeAPI & {
413
588
  asUser: (req: Request) => VolumeAPI;
414
589
  };
@@ -427,9 +602,12 @@ Built-in extensions: `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`, `.bmp`, `
427
602
 
428
603
  ## User context[​](#user-context "Direct link to User context")
429
604
 
430
- HTTP routes always execute as the **service principal** the SP's Databricks credentials are used for all API calls. User identity is extracted from the `x-forwarded-user` header and passed to the volume's [access policy](#access-policies) for authorization. This means UC grants on the SP (not individual users) determine what operations are possible, while policies control what each user is allowed to do through the app.
605
+ HTTP routes execute as either the service principal or the end user, depending on the volume's [auth mode](#auth-modes):
431
606
 
432
- The programmatic API returns a `VolumeHandle` that exposes all `VolumeAPI` methods directly (service principal) and an `asUser(req)` method for OBO access. Calling any method without `asUser()` logs a warning encouraging OBO usage but does not throw. OBO access is strongly recommended for production use.
607
+ * **Service-principal volumes** (the default): the SP's Databricks credentials are used for the API call. User identity is extracted from the `x-forwarded-user` header and passed to the volume's [access policy](#access-policies) for authorization, but the SDK call still runs as the SP. When the header is absent the policy is handed `{ id: <sp-id>, isServicePrincipal: true }` and decides whether to allow the call — in practice that branch only fires in development without a reverse proxy or when an upstream proxy is misconfigured, since real Databricks Apps runtimes always forward the header. UC grants on the **SP** determine what operations are possible.
608
+ * **On-behalf-of-user volumes**: the end user's access token (from `x-forwarded-access-token`) is used to mint the SDK client, so the API call runs with the user's identity. Both the policy and the SDK see the user. UC grants on the **end user** determine what operations are possible. In production, requests with a missing token return `401`; in development (`NODE_ENV === "development"`) they fall back to the SP with a warning.
609
+
610
+ The programmatic API returns a `VolumeHandle` that exposes all `VolumeAPI` methods directly and an `asUser(req)` method for forcing per-user execution. Calling a method without `asUser()` runs the policy and the SDK call as the SP. `asUser(req)` is a hard override at the SDK level: it forces every subsequent call to execute as the end user inside `runInUserContext`, regardless of the volume's `auth` setting. In production, `asUser(req)` throws `AuthenticationError.missingToken` when either `x-forwarded-user` or `x-forwarded-access-token` is absent — both headers are required. In development it falls back to the service principal instead, so local testing without a reverse proxy continues to work.
433
611
 
434
612
  ## Resource requirements[​](#resource-requirements "Direct link to Resource requirements")
435
613
 
@@ -437,6 +615,8 @@ Volume resources are declared **dynamically** via `getResourceRequirements(confi
437
615
 
438
616
  For example, if `DATABRICKS_VOLUME_UPLOADS` and `DATABRICKS_VOLUME_EXPORTS` are set, calling `files()` generates two required volume resources validated at startup — no explicit `volumes` config needed.
439
617
 
618
+ The manifest declares the grant against the **service principal**. For OBO volumes (`auth: "on-behalf-of-user"`), the actual permission requirement is on the **end user** — communicate this out-of-band in your deployment documentation until the manifest schema gains a per-volume auth scope field.
619
+
440
620
  ## Error responses[​](#error-responses "Direct link to Error responses")
441
621
 
442
622
  All errors return JSON:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@databricks/appkit-ui",
3
3
  "type": "module",
4
- "version": "0.35.1",
4
+ "version": "0.35.2",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
package/sbom.cdx.json CHANGED
@@ -1 +1 @@
1
- {"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:625d347d-8972-4159-9b9b-c1f33bc47273","version":1,"metadata":{"timestamp":"2026-05-15T14:25:57Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"12.1.2","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.2","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.2","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"build"}],"component":{"name":"appkit-ui","group":"@databricks","version":"0.35.1","purl":"pkg:npm/%40databricks/appkit-ui@0.35.1","bom-ref":"pkg:npm/@databricks/appkit-ui@0.35.1","type":"application","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"externalReferences":[{"type":"vcs","url":"git+https://github.com/databricks/appkit.git"}]},"properties":[{"name":"cdx:bom:componentTypes","value":"npm"},{"name":"cdx:bom:componentNamespaces","value":"@radix-ui\\n@tanstack"},{"name":"cdx:bom:componentSrcFiles","value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-label/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-popover/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-progress/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-select/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-separator/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-slider/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-slot/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-switch/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json\\npackages/appkit-ui/node_modules/@tanstack/react-table/package.json\\npackages/appkit-ui/node_modules/apache-arrow/package.json\\npackages/appkit-ui/node_modules/class-variance-authority/package.json\\npackages/appkit-ui/node_modules/clsx/package.json\\npackages/appkit-ui/node_modules/cmdk/package.json\\npackages/appkit-ui/node_modules/dompurify/package.json\\npackages/appkit-ui/node_modules/echarts-for-react/package.json\\npackages/appkit-ui/node_modules/echarts/package.json\\npackages/appkit-ui/node_modules/embla-carousel-react/package.json\\npackages/appkit-ui/node_modules/input-otp/package.json\\npackages/appkit-ui/node_modules/lucide-react/package.json\\npackages/appkit-ui/node_modules/marked/package.json\\npackages/appkit-ui/node_modules/next-themes/package.json\\npackages/appkit-ui/node_modules/react-day-picker/package.json\\npackages/appkit-ui/node_modules/react-hook-form/package.json\\npackages/appkit-ui/node_modules/react-resizable-panels/package.json\\npackages/appkit-ui/node_modules/react/package.json\\npackages/appkit-ui/node_modules/recharts/package.json\\npackages/appkit-ui/node_modules/shared/package.json\\npackages/appkit-ui/node_modules/sonner/package.json\\npackages/appkit-ui/node_modules/tailwind-merge/package.json\\npackages/appkit-ui/node_modules/vaul/package.json"}]},"components":[{"group":"@radix-ui","name":"react-accordion","version":"1.2.12","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-accordion@1.2.12","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-accordion@1.2.12","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-accordion"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"}],"occurrences":[{"location":"dist/react/ui/accordion.js#4"},{"location":"tmp/dist/react/ui/accordion.js#4"},{"location":"src/react/ui/accordion.tsx#2"}]}},{"group":"@radix-ui","name":"react-alert-dialog","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-alert-dialog@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-alert-dialog@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-alert-dialog"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"}],"occurrences":[{"location":"dist/react/ui/alert-dialog.js#5"},{"location":"tmp/dist/react/ui/alert-dialog.js#5"},{"location":"src/react/ui/alert-dialog.tsx#2"}]}},{"group":"@radix-ui","name":"react-aspect-ratio","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-aspect-ratio@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-aspect-ratio@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-aspect-ratio"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"}],"occurrences":[{"location":"dist/react/ui/aspect-ratio.js#4"},{"location":"tmp/dist/react/ui/aspect-ratio.js#4"},{"location":"src/react/ui/aspect-ratio.tsx#3"}]}},{"group":"@radix-ui","name":"react-avatar","version":"1.1.11","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-avatar@1.1.11","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-avatar@1.1.11","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-avatar"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"}],"occurrences":[{"location":"dist/react/ui/avatar.js#3"},{"location":"tmp/dist/react/ui/avatar.js#3"},{"location":"src/react/ui/avatar.tsx#2"}]}},{"group":"@radix-ui","name":"react-checkbox","version":"1.3.3","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-checkbox@1.3.3","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-checkbox@1.3.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-checkbox"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"}],"occurrences":[{"location":"dist/react/ui/checkbox.js#6"},{"location":"tmp/dist/react/ui/checkbox.js#6"},{"location":"src/react/ui/checkbox.tsx#4"}]}},{"group":"@radix-ui","name":"react-collapsible","version":"1.1.12","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-collapsible@1.1.12","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-collapsible@1.1.12","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-collapsible"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"}],"occurrences":[{"location":"dist/react/ui/collapsible.js#2"},{"location":"tmp/dist/react/ui/collapsible.js#2"},{"location":"src/react/ui/collapsible.tsx#1"}]}},{"group":"@radix-ui","name":"react-context-menu","version":"2.2.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-context-menu@2.2.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-context-menu@2.2.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-context-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/context-menu.js#7"},{"location":"tmp/dist/react/ui/context-menu.js#7"},{"location":"src/react/ui/context-menu.tsx#4"}]}},{"group":"@radix-ui","name":"react-dialog","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-dialog@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-dialog@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-dialog"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"}],"occurrences":[{"location":"dist/react/ui/dialog.js#5"},{"location":"dist/react/ui/sheet.js#5"},{"location":"tmp/dist/react/ui/dialog.js#5"},{"location":"tmp/dist/react/ui/sheet.js#5"},{"location":"src/react/ui/dialog.tsx#2"},{"location":"src/react/ui/sheet.tsx#2"}]}},{"group":"@radix-ui","name":"react-dropdown-menu","version":"2.1.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-dropdown-menu@2.1.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-dropdown-menu@2.1.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-dropdown-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/dropdown-menu.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#5"},{"location":"src/react/ui/dropdown-menu.tsx#2"}]}},{"group":"@radix-ui","name":"react-hover-card","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-hover-card@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-hover-card@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-hover-card"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"}],"occurrences":[{"location":"dist/react/ui/hover-card.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#6"},{"location":"src/react/ui/hover-card.tsx#4"}]}},{"group":"@radix-ui","name":"react-label","version":"2.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-label@2.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-label@2.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-label"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"}],"occurrences":[{"location":"dist/react/ui/label.js#5"},{"location":"tmp/dist/react/ui/label.js#5"},{"location":"src/react/ui/form.tsx#4"},{"location":"src/react/ui/label.tsx#4"}]}},{"group":"@radix-ui","name":"react-menubar","version":"1.1.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-menubar@1.1.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-menubar@1.1.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-menubar"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"}],"occurrences":[{"location":"dist/react/ui/menubar.js#5"},{"location":"tmp/dist/react/ui/menubar.js#5"},{"location":"src/react/ui/menubar.tsx#2"}]}},{"group":"@radix-ui","name":"react-navigation-menu","version":"1.2.14","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-navigation-menu@1.2.14","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-navigation-menu@1.2.14","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-navigation-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/navigation-menu.js#5"},{"location":"tmp/dist/react/ui/navigation-menu.js#5"},{"location":"src/react/ui/navigation-menu.tsx#2"}]}},{"group":"@radix-ui","name":"react-popover","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-popover@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-popover@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-popover"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"}],"occurrences":[{"location":"dist/react/ui/popover.js#6"},{"location":"tmp/dist/react/ui/popover.js#6"},{"location":"src/react/ui/popover.tsx#4"}]}},{"group":"@radix-ui","name":"react-progress","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-progress@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-progress@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-progress"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"}],"occurrences":[{"location":"dist/react/ui/progress.js#3"},{"location":"tmp/dist/react/ui/progress.js#3"},{"location":"src/react/ui/progress.tsx#2"}]}},{"group":"@radix-ui","name":"react-radio-group","version":"1.3.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-radio-group@1.3.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-radio-group@1.3.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-radio-group"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"}],"occurrences":[{"location":"dist/react/ui/radio-group.js#6"},{"location":"tmp/dist/react/ui/radio-group.js#6"},{"location":"src/react/ui/radio-group.tsx#4"}]}},{"group":"@radix-ui","name":"react-scroll-area","version":"1.2.10","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-scroll-area@1.2.10","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-scroll-area@1.2.10","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-scroll-area"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"}],"occurrences":[{"location":"dist/react/ui/scroll-area.js#5"},{"location":"tmp/dist/react/ui/scroll-area.js#5"},{"location":"src/react/ui/scroll-area.tsx#4"}]}},{"group":"@radix-ui","name":"react-select","version":"2.2.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-select@2.2.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-select@2.2.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-select"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"}],"occurrences":[{"location":"dist/react/ui/select.js#5"},{"location":"tmp/dist/react/ui/select.js#5"},{"location":"src/react/ui/select.tsx#2"}]}},{"group":"@radix-ui","name":"react-separator","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-separator@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-separator@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-separator"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"}],"occurrences":[{"location":"dist/react/ui/separator.js#5"},{"location":"tmp/dist/react/ui/separator.js#5"},{"location":"src/react/ui/separator.tsx#4"}]}},{"group":"@radix-ui","name":"react-slider","version":"1.3.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-slider@1.3.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-slider@1.3.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-slider"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"}],"occurrences":[{"location":"dist/react/ui/slider.js#6"},{"location":"tmp/dist/react/ui/slider.js#6"},{"location":"src/react/ui/slider.tsx#4"}]}},{"group":"@radix-ui","name":"react-slot","version":"1.2.4","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-slot@1.2.4","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-slot@1.2.4","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-slot,Slot,@radix-ui/react-slot/Slot"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"}],"occurrences":[{"location":"dist/react/ui/badge.js#3"},{"location":"dist/react/ui/breadcrumb.js#4"},{"location":"dist/react/ui/button-group.js#4"},{"location":"dist/react/ui/button.js#3"},{"location":"dist/react/ui/form.js#7"},{"location":"dist/react/ui/item.js#4"},{"location":"dist/react/ui/sidebar.js#14"},{"location":"tmp/dist/react/ui/badge.js#3"},{"location":"tmp/dist/react/ui/breadcrumb.js#4"},{"location":"tmp/dist/react/ui/button-group.js#4"},{"location":"tmp/dist/react/ui/button.js#3"},{"location":"tmp/dist/react/ui/form.js#7"},{"location":"tmp/dist/react/ui/item.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#14"},{"location":"src/react/ui/badge.tsx#2"},{"location":"src/react/ui/breadcrumb.tsx#2"},{"location":"src/react/ui/button-group.tsx#1"},{"location":"src/react/ui/button.tsx#2"},{"location":"src/react/ui/form.tsx#5"},{"location":"src/react/ui/item.tsx#2"},{"location":"src/react/ui/sidebar.tsx#4"}]}},{"group":"@radix-ui","name":"react-switch","version":"1.2.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-switch@1.2.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-switch@1.2.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-switch"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"}],"occurrences":[{"location":"dist/react/ui/switch.js#5"},{"location":"tmp/dist/react/ui/switch.js#5"},{"location":"src/react/ui/switch.tsx#4"}]}},{"group":"@radix-ui","name":"react-tabs","version":"1.1.13","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-tabs@1.1.13","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-tabs@1.1.13","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-tabs"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"}],"occurrences":[{"location":"dist/react/ui/tabs.js#5"},{"location":"tmp/dist/react/ui/tabs.js#5"},{"location":"src/react/ui/tabs.tsx#4"}]}},{"group":"@radix-ui","name":"react-toggle-group","version":"1.1.11","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-toggle-group@1.1.11","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-toggle-group@1.1.11","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-toggle-group"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"}],"occurrences":[{"location":"dist/react/ui/toggle-group.js#5"},{"location":"tmp/dist/react/ui/toggle-group.js#5"},{"location":"src/react/ui/toggle-group.tsx#2"}]}},{"group":"@radix-ui","name":"react-toggle","version":"1.1.10","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-toggle@1.1.10","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-toggle@1.1.10","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-toggle"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"}],"occurrences":[{"location":"dist/react/ui/toggle.js#4"},{"location":"tmp/dist/react/ui/toggle.js#4"},{"location":"src/react/ui/toggle.tsx#2"}]}},{"group":"@radix-ui","name":"react-tooltip","version":"1.2.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-tooltip@1.2.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-tooltip@1.2.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-tooltip"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"}],"occurrences":[{"location":"dist/react/ui/tooltip.js#6"},{"location":"tmp/dist/react/ui/tooltip.js#6"},{"location":"src/react/ui/tooltip.tsx#4"}]}},{"authors":[{"name":"Tanner Linsley"}],"group":"@tanstack","name":"react-table","version":"8.21.3","description":"Headless UI for building powerful tables & datagrids for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40tanstack/react-table@8.21.3","externalReferences":[{"type":"website","url":"https://tanstack.com/table"},{"type":"vcs","url":"https://github.com/TanStack/table.git"}],"type":"library","bom-ref":"pkg:npm/@tanstack/react-table@8.21.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"},{"name":"ImportedModules","value":"@tanstack/react-table,flexRender,@tanstack/react-table/flexRender,getCoreRowModel,@tanstack/react-table/getCoreRowModel,getFilteredRowModel,@tanstack/react-table/getFilteredRowModel,getPaginationRowModel,@tanstack/react-table/getPaginationRowModel,getSortedRowModel,@tanstack/react-table/getSortedRowModel,useReactTable,@tanstack/react-table/useReactTable,RowSelectionState,@tanstack/react-table/RowSelectionState,Table,@tanstack/react-table/Table,Column,@tanstack/react-table/Column,ColumnFiltersState,@tanstack/react-table/ColumnFiltersState,@tanstack/react-table/Row,SortingState,@tanstack/react-table/SortingState,VisibilityState,@tanstack/react-table/VisibilityState"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"}],"occurrences":[{"location":"dist/react/table/data-table.js#10"},{"location":"dist/react/table/table-wrapper.js#12"},{"location":"tmp/dist/react/table/data-table.js#10"},{"location":"tmp/dist/react/table/table-wrapper.js#12"},{"location":"src/react/table/types.ts#1"},{"location":"src/react/table/data-table.tsx#1"},{"location":"src/react/table/table-wrapper.tsx#14"}]}},{"authors":[{"name":"Apache Software Foundation"}],"group":"","name":"apache-arrow","version":"21.1.0","description":"Apache Arrow columnar in-memory format","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/apache-arrow@21.1.0","externalReferences":[{"type":"website","url":"https://arrow.apache.org/js/"},{"type":"vcs","url":"git+https://github.com/apache/arrow-js.git"}],"type":"library","bom-ref":"pkg:npm/apache-arrow@21.1.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/apache-arrow/package.json"},{"name":"ImportedModules","value":"apache-arrow,Field,apache-arrow/Field,Table,apache-arrow/Table"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/apache-arrow/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/apache-arrow/package.json"}],"occurrences":[{"location":"src/js/arrow/arrow-client.ts#1"},{"location":"src/react/charts/normalize.ts#1"},{"location":"src/react/charts/types.ts#1"},{"location":"src/react/hooks/types.ts#1"},{"location":"src/react/hooks/use-chart-data.ts#1"}]}},{"authors":[{"name":"Joe Bell (https://joebell.co.uk)"}],"group":"","name":"class-variance-authority","version":"0.7.1","description":"Class Variance Authority 🧬","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/class-variance-authority@0.7.1","externalReferences":[{"type":"vcs","url":"https://github.com/joe-bell/cva#readme"}],"type":"library","bom-ref":"pkg:npm/class-variance-authority@0.7.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/class-variance-authority/package.json"},{"name":"ImportedModules","value":"class-variance-authority,class-variance-authority/cva,VariantProps,class-variance-authority/VariantProps"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/class-variance-authority/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/class-variance-authority/package.json"}],"occurrences":[{"location":"dist/react/ui/alert.js#3"},{"location":"dist/react/ui/badge.js#4"},{"location":"dist/react/ui/button-group.js#5"},{"location":"dist/react/ui/button.js#4"},{"location":"dist/react/ui/empty.js#3"},{"location":"dist/react/ui/field.js#6"},{"location":"dist/react/ui/input-group.js#8"},{"location":"dist/react/ui/item.js#5"},{"location":"dist/react/ui/navigation-menu.js#4"},{"location":"dist/react/ui/sidebar.js#15"},{"location":"dist/react/ui/toggle.js#3"},{"location":"tmp/dist/react/ui/alert.js#3"},{"location":"tmp/dist/react/ui/badge.js#4"},{"location":"tmp/dist/react/ui/button-group.js#5"},{"location":"tmp/dist/react/ui/button.js#4"},{"location":"tmp/dist/react/ui/empty.js#3"},{"location":"tmp/dist/react/ui/field.js#6"},{"location":"tmp/dist/react/ui/input-group.js#8"},{"location":"tmp/dist/react/ui/item.js#5"},{"location":"tmp/dist/react/ui/navigation-menu.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#15"},{"location":"tmp/dist/react/ui/toggle.js#3"},{"location":"src/react/ui/alert.tsx#2"},{"location":"src/react/ui/badge.tsx#3"},{"location":"src/react/ui/button-group.tsx#2"},{"location":"src/react/ui/button.tsx#3"},{"location":"src/react/ui/empty.tsx#1"},{"location":"src/react/ui/field.tsx#2"},{"location":"src/react/ui/input-group.tsx#4"},{"location":"src/react/ui/item.tsx#3"},{"location":"src/react/ui/navigation-menu.tsx#3"},{"location":"src/react/ui/sidebar.tsx#5"},{"location":"src/react/ui/toggle-group.tsx#3"},{"location":"src/react/ui/toggle.tsx#3"}]}},{"authors":[{"name":"Luke Edwards <luke.edwards05@gmail.com> (https://lukeed.com)"}],"group":"","name":"clsx","version":"2.1.1","description":"A tiny (239B) utility for constructing className strings conditionally.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/clsx@2.1.1","type":"library","bom-ref":"pkg:npm/clsx@2.1.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/clsx/package.json"},{"name":"ImportedModules","value":"clsx,clsx/clsx,ClassValue,clsx/ClassValue"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/clsx/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/clsx/package.json"}],"occurrences":[{"location":"dist/react/lib/utils.js#1"},{"location":"tmp/dist/react/lib/utils.js#1"},{"location":"src/react/lib/utils.ts#1"}]}},{"authors":[{"name":"Paco (https://github.com/pacocoursey)"}],"group":"","name":"cmdk","version":"1.1.1","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/cmdk@1.1.1","externalReferences":[{"type":"vcs","url":"https://github.com/pacocoursey/cmdk#readme"},{"type":"vcs","url":"git+https://github.com/pacocoursey/cmdk.git"}],"type":"library","bom-ref":"pkg:npm/cmdk@1.1.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/cmdk/package.json"},{"name":"ImportedModules","value":"cmdk,Command,cmdk/Command"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/cmdk/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/cmdk/package.json"}],"occurrences":[{"location":"dist/react/ui/command.js#5"},{"location":"tmp/dist/react/ui/command.js#5"},{"location":"src/react/ui/command.tsx#2"}]}},{"authors":[{"name":"Dr.-Ing. Mario Heiderich"},{"name":" Cure53 <mario@cure53.de> (https://cure53.de/)"}],"group":"","name":"dompurify","version":"3.3.3","description":"DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.","scope":"required","licenses":[{"expression":"(MPL-2.0 OR Apache-2.0)"}],"purl":"pkg:npm/dompurify@3.3.3","externalReferences":[{"type":"vcs","url":"https://github.com/cure53/DOMPurify"},{"type":"vcs","url":"git://github.com/cure53/DOMPurify.git"}],"type":"library","bom-ref":"pkg:npm/dompurify@3.3.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/dompurify/package.json"},{"name":"ImportedModules","value":"dompurify"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/dompurify/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/dompurify/package.json"}],"occurrences":[{"location":"dist/react/genie/genie-chat-message.js#7"},{"location":"tmp/dist/react/genie/genie-chat-message.js#7"},{"location":"src/react/genie/genie-chat-message.tsx#1"}]},"tags":["security","web"]},{"authors":[{"name":"hustcc (http://github.com/hustcc)"}],"group":"","name":"echarts-for-react","version":"3.0.5","description":" Apache Echarts components for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/echarts-for-react@3.0.5","externalReferences":[{"type":"vcs","url":"https://github.com/hustcc/echarts-for-react"},{"type":"vcs","url":"https://github.com/hustcc/echarts-for-react.git"}],"type":"library","bom-ref":"pkg:npm/echarts-for-react@3.0.5","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/echarts-for-react/package.json"},{"name":"ImportedModules","value":"echarts-for-react"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/echarts-for-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/echarts-for-react/package.json"}],"occurrences":[{"location":"dist/react/charts/base.js#4"},{"location":"tmp/dist/react/charts/base.js#4"},{"location":"src/react/charts/base.tsx#2"}]}},{"group":"","name":"echarts","version":"6.0.0","description":"Apache ECharts is a powerful, interactive charting and data visualization library for browser","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/echarts@6.0.0","externalReferences":[{"type":"website","url":"https://echarts.apache.org"},{"type":"vcs","url":"git+https://github.com/apache/echarts.git"}],"type":"library","bom-ref":"pkg:npm/echarts@6.0.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/echarts/package.json"},{"name":"ImportedModules","value":"echarts,ECharts,echarts/ECharts"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/echarts/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/echarts/package.json"}],"occurrences":[{"location":"src/react/charts/base.tsx#1"}]}},{"authors":[{"name":"David Jerleke"}],"group":"","name":"embla-carousel-react","version":"8.6.0","description":"A lightweight carousel library with fluid motion and great swipe precision","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/embla-carousel-react@8.6.0","externalReferences":[{"type":"website","url":"https://www.embla-carousel.com"},{"type":"vcs","url":"git+https://github.com/davidjerleke/embla-carousel"}],"type":"library","bom-ref":"pkg:npm/embla-carousel-react@8.6.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"},{"name":"ImportedModules","value":"embla-carousel-react,UseEmblaCarouselType,embla-carousel-react/UseEmblaCarouselType"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"}],"occurrences":[{"location":"dist/react/ui/carousel.js#6"},{"location":"tmp/dist/react/ui/carousel.js#6"},{"location":"src/react/ui/carousel.tsx#4"}]}},{"authors":[{"name":"Guilherme Rodz <g@rodz.dev>"}],"group":"","name":"input-otp","version":"1.4.2","description":"One-time password input component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/input-otp@1.4.2","externalReferences":[{"type":"website","url":"https://input-otp.rodz.dev/"},{"type":"vcs","url":"git+https://github.com/guilhermerodz/input-otp.git"}],"type":"library","bom-ref":"pkg:npm/input-otp@1.4.2","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/input-otp/package.json"},{"name":"ImportedModules","value":"input-otp,OTPInput,input-otp/OTPInput,OTPInputContext,input-otp/OTPInputContext"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/input-otp/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/input-otp/package.json"}],"occurrences":[{"location":"dist/react/ui/input-otp.js#5"},{"location":"tmp/dist/react/ui/input-otp.js#5"},{"location":"src/react/ui/input-otp.tsx#2"}]}},{"authors":[{"name":"Eric Fennis"}],"group":"","name":"lucide-react","version":"0.554.0","description":"A Lucide icon library package for React applications.","scope":"required","licenses":[{"license":{"id":"ISC","url":"https://opensource.org/licenses/ISC"}}],"purl":"pkg:npm/lucide-react@0.554.0","externalReferences":[{"type":"website","url":"https://lucide.dev"},{"type":"vcs","url":"https://github.com/lucide-icons/lucide.git"}],"type":"library","bom-ref":"pkg:npm/lucide-react@0.554.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/lucide-react/package.json"},{"name":"ImportedModules","value":"lucide-react,AlertCircle,lucide-react/AlertCircle,ArrowLeft,lucide-react/ArrowLeft,FileIcon,lucide-react/FileIcon,ChevronRight,lucide-react/ChevronRight,FolderIcon,lucide-react/FolderIcon,Download,lucide-react/Download,Loader2,lucide-react/Loader2,Trash2,lucide-react/Trash2,FolderPlus,lucide-react/FolderPlus,lucide-react/X,BarChart3Icon,lucide-react/BarChart3Icon,ChevronDownIcon,lucide-react/ChevronDownIcon,ChevronDown,lucide-react/ChevronDown,ArrowUpDown,lucide-react/ArrowUpDown,MoreHorizontal,lucide-react/MoreHorizontal,ChevronLeftIcon,lucide-react/ChevronLeftIcon,ChevronRightIcon,lucide-react/ChevronRightIcon,ArrowRight,lucide-react/ArrowRight,CheckIcon,lucide-react/CheckIcon,SearchIcon,lucide-react/SearchIcon,CircleIcon,lucide-react/CircleIcon,XIcon,lucide-react/XIcon,MinusIcon,lucide-react/MinusIcon,MoreHorizontalIcon,lucide-react/MoreHorizontalIcon,GripVerticalIcon,lucide-react/GripVerticalIcon,ChevronUpIcon,lucide-react/ChevronUpIcon,PanelLeftIcon,lucide-react/PanelLeftIcon,CircleCheckIcon,lucide-react/CircleCheckIcon,InfoIcon,lucide-react/InfoIcon,Loader2Icon,lucide-react/Loader2Icon,OctagonXIcon,lucide-react/OctagonXIcon,TriangleAlertIcon,lucide-react/TriangleAlertIcon"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/lucide-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/lucide-react/package.json"}],"occurrences":[{"location":"dist/react/file-browser/directory-list.js#6"},{"location":"dist/react/file-browser/file-entry.js#4"},{"location":"dist/react/file-browser/file-preview-panel.js#6"},{"location":"dist/react/file-browser/new-folder-input.js#5"},{"location":"dist/react/genie/genie-query-visualization.js#12"},{"location":"dist/react/table/data-table.js#9"},{"location":"dist/react/table/table-wrapper.js#11"},{"location":"dist/react/ui/accordion.js#3"},{"location":"dist/react/ui/breadcrumb.js#3"},{"location":"dist/react/ui/calendar.js#7"},{"location":"dist/react/ui/carousel.js#5"},{"location":"dist/react/ui/checkbox.js#5"},{"location":"dist/react/ui/command.js#4"},{"location":"dist/react/ui/context-menu.js#6"},{"location":"dist/react/ui/dialog.js#4"},{"location":"dist/react/ui/dropdown-menu.js#4"},{"location":"dist/react/ui/input-otp.js#4"},{"location":"dist/react/ui/menubar.js#4"},{"location":"dist/react/ui/navigation-menu.js#3"},{"location":"dist/react/ui/pagination.js#4"},{"location":"dist/react/ui/radio-group.js#5"},{"location":"dist/react/ui/resizable.js#3"},{"location":"dist/react/ui/select.js#4"},{"location":"dist/react/ui/sheet.js#4"},{"location":"dist/react/ui/sidebar.js#13"},{"location":"dist/react/ui/sonner.js#2"},{"location":"dist/react/ui/spinner.js#3"},{"location":"tmp/dist/react/file-browser/directory-list.js#6"},{"location":"tmp/dist/react/file-browser/file-entry.js#4"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#6"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#5"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#12"},{"location":"tmp/dist/react/table/data-table.js#9"},{"location":"tmp/dist/react/table/table-wrapper.js#11"},{"location":"tmp/dist/react/ui/accordion.js#3"},{"location":"tmp/dist/react/ui/breadcrumb.js#3"},{"location":"tmp/dist/react/ui/calendar.js#7"},{"location":"tmp/dist/react/ui/carousel.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#5"},{"location":"tmp/dist/react/ui/command.js#4"},{"location":"tmp/dist/react/ui/context-menu.js#6"},{"location":"tmp/dist/react/ui/dialog.js#4"},{"location":"tmp/dist/react/ui/dropdown-menu.js#4"},{"location":"tmp/dist/react/ui/input-otp.js#4"},{"location":"tmp/dist/react/ui/menubar.js#4"},{"location":"tmp/dist/react/ui/navigation-menu.js#3"},{"location":"tmp/dist/react/ui/pagination.js#4"},{"location":"tmp/dist/react/ui/radio-group.js#5"},{"location":"tmp/dist/react/ui/resizable.js#3"},{"location":"tmp/dist/react/ui/select.js#4"},{"location":"tmp/dist/react/ui/sheet.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#13"},{"location":"tmp/dist/react/ui/sonner.js#2"},{"location":"tmp/dist/react/ui/spinner.js#3"},{"location":"src/react/file-browser/directory-list.tsx#1"},{"location":"src/react/file-browser/file-entry.tsx#1"},{"location":"src/react/file-browser/file-preview-panel.tsx#1"},{"location":"src/react/file-browser/new-folder-input.tsx#1"},{"location":"src/react/genie/genie-query-visualization.tsx#1"},{"location":"src/react/table/data-table.tsx#2"},{"location":"src/react/table/table-wrapper.tsx#15"},{"location":"src/react/ui/accordion.tsx#3"},{"location":"src/react/ui/breadcrumb.tsx#3"},{"location":"src/react/ui/calendar.tsx#9"},{"location":"src/react/ui/carousel.tsx#5"},{"location":"src/react/ui/checkbox.tsx#5"},{"location":"src/react/ui/command.tsx#3"},{"location":"src/react/ui/context-menu.tsx#5"},{"location":"src/react/ui/dialog.tsx#3"},{"location":"src/react/ui/dropdown-menu.tsx#3"},{"location":"src/react/ui/input-otp.tsx#3"},{"location":"src/react/ui/menubar.tsx#3"},{"location":"src/react/ui/navigation-menu.tsx#4"},{"location":"src/react/ui/pagination.tsx#6"},{"location":"src/react/ui/radio-group.tsx#5"},{"location":"src/react/ui/resizable.tsx#2"},{"location":"src/react/ui/select.tsx#3"},{"location":"src/react/ui/sheet.tsx#3"},{"location":"src/react/ui/sidebar.tsx#6"},{"location":"src/react/ui/sonner.tsx#8"},{"location":"src/react/ui/spinner.tsx#2"}]}},{"authors":[{"name":"Christopher Jeffrey"}],"group":"","name":"marked","version":"17.0.3","description":"A markdown parser built for speed","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/marked@17.0.3","externalReferences":[{"type":"website","url":"https://marked.js.org"},{"type":"vcs","url":"git://github.com/markedjs/marked.git"}],"type":"library","bom-ref":"pkg:npm/marked@17.0.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/marked/package.json"},{"name":"ImportedModules","value":"marked,marked/marked"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/marked/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/marked/package.json"}],"occurrences":[{"location":"dist/react/genie/genie-chat-message.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#8"},{"location":"src/react/genie/genie-chat-message.tsx#2"}]}},{"group":"","name":"next-themes","version":"0.4.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/next-themes@0.4.6","externalReferences":[{"type":"vcs","url":"https://github.com/pacocoursey/next-themes.git"}],"type":"framework","bom-ref":"pkg:npm/next-themes@0.4.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/next-themes/package.json"},{"name":"ImportedModules","value":"next-themes,useTheme,next-themes/useTheme"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/next-themes/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/next-themes/package.json"}],"occurrences":[{"location":"dist/react/ui/sonner.js#3"},{"location":"tmp/dist/react/ui/sonner.js#3"},{"location":"src/react/ui/sonner.tsx#9"}]},"tags":["framework"]},{"authors":[{"name":"Giampaolo Bellavite <io@gpbl.dev>"}],"group":"","name":"react-day-picker","version":"9.12.0","description":"Customizable Date Picker for React","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-day-picker@9.12.0","externalReferences":[{"type":"website","url":"https://daypicker.dev"},{"type":"vcs","url":"https://github.com/gpbl/react-day-picker"}],"type":"framework","bom-ref":"pkg:npm/react-day-picker@9.12.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-day-picker/package.json"},{"name":"ImportedModules","value":"react-day-picker,DayPicker,react-day-picker/DayPicker,getDefaultClassNames,react-day-picker/getDefaultClassNames,DayButton,react-day-picker/DayButton"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-day-picker/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-day-picker/package.json"}],"occurrences":[{"location":"dist/react/ui/calendar.js#8"},{"location":"tmp/dist/react/ui/calendar.js#8"},{"location":"src/react/ui/calendar.tsx#10"}]},"tags":["framework"]},{"authors":[{"name":"Beier(Bill) Luo <bluebill1049@hotmail.com>"}],"group":"","name":"react-hook-form","version":"7.68.0","description":"Performant, flexible and extensible forms library for React Hooks","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-hook-form@7.68.0","externalReferences":[{"type":"website","url":"https://react-hook-form.com"},{"type":"vcs","url":"https://github.com/react-hook-form/react-hook-form"}],"type":"framework","bom-ref":"pkg:npm/react-hook-form@7.68.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-hook-form/package.json"},{"name":"ImportedModules","value":"react-hook-form,Controller,react-hook-form/Controller,FormProvider,react-hook-form/FormProvider,useFormContext,react-hook-form/useFormContext,useFormState,react-hook-form/useFormState,ControllerProps,react-hook-form/ControllerProps,FieldPath,react-hook-form/FieldPath,FieldValues,react-hook-form/FieldValues"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-hook-form/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-hook-form/package.json"}],"occurrences":[{"location":"dist/react/ui/form.js#8"},{"location":"tmp/dist/react/ui/form.js#8"},{"location":"src/react/ui/form.tsx#14"}]},"tags":["framework"]},{"authors":[{"name":"Brian Vaughn <brian.david.vaughn@gmail.com>"}],"group":"","name":"react-resizable-panels","version":"3.0.6","description":"React components for resizable panel groups/layouts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-resizable-panels@3.0.6","externalReferences":[{"type":"vcs","url":"git+https://github.com/bvaughn/react-resizable-panels.git"}],"type":"framework","bom-ref":"pkg:npm/react-resizable-panels@3.0.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"},{"name":"ImportedModules","value":"react-resizable-panels"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"}],"occurrences":[{"location":"dist/react/ui/resizable.js#4"},{"location":"tmp/dist/react/ui/resizable.js#4"},{"location":"src/react/ui/resizable.tsx#3"}]},"tags":["framework"]},{"group":"","name":"react","version":"19.2.0","description":"React is a JavaScript library for building user interfaces.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react@19.2.0","externalReferences":[{"type":"website","url":"https://react.dev/"},{"type":"vcs","url":"https://github.com/facebook/react.git"}],"type":"framework","bom-ref":"pkg:npm/react@19.2.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react/package.json"},{"name":"ExportedModules","value":"react/charts/area,react/charts/bar,react/charts/heatmap,react/charts/line,react/charts/pie,react/charts/radar,react/charts/scatter,react/hooks/use-chart-data,react/charts/base,react/charts/create-chart,react/charts/wrapper,react/charts/normalize,react/charts/constants,react/charts/theme,react/charts/utils,react/charts/options,react/charts/types,react/lib/format,react/genie/genie-chart-inference,react/genie/genie-chat,react/genie/genie-chat-input,react/genie/genie-chat-message,react/genie/genie-chat-message-list,react/genie/genie-query-transform,react/genie/genie-query-visualization,react/genie/use-genie-chat,react/hooks/types,react/hooks/use-agent-chat,react/hooks/use-analytics-query,react/hooks/use-plugin-config,react/hooks/use-serving-invoke,react/hooks/use-serving-stream,DonutChart,pie/DonutChart,PieChart,pie/PieChart,UseChartDataOptions,.hooks/use-chart-data/UseChartDataOptions,UseChartDataResult,.hooks/use-chart-data/UseChartDataResult,useChartData,.hooks/use-chart-data/useChartData,use-chart-data/UseChartDataOptions,use-chart-data/UseChartDataResult,use-chart-data/useChartData,BaseChart,base/BaseChart,BaseChartProps,base/BaseChartProps,ChartWrapper,wrapper/ChartWrapper,ChartWrapperProps,wrapper/ChartWrapperProps,NormalizedHeatmapData,normalize/NormalizedHeatmapData,normalizeChartData,normalize/normalizeChartData,normalizeHeatmapData,normalize/normalizeHeatmapData,CHART_COLOR_VARS,constants/CHART_COLOR_VARS,CHART_COLOR_VARS_CATEGORICAL,constants/CHART_COLOR_VARS_CATEGORICAL,CHART_COLOR_VARS_DIVERGING,constants/CHART_COLOR_VARS_DIVERGING,CHART_COLOR_VARS_SEQUENTIAL,constants/CHART_COLOR_VARS_SEQUENTIAL,DATE_FIELD_PATTERNS,constants/DATE_FIELD_PATTERNS,FALLBACK_COLORS_CATEGORICAL,constants/FALLBACK_COLORS_CATEGORICAL,FALLBACK_COLORS_DIVERGING,constants/FALLBACK_COLORS_DIVERGING,FALLBACK_COLORS_SEQUENTIAL,constants/FALLBACK_COLORS_SEQUENTIAL,METADATA_DATE_PATTERNS,constants/METADATA_DATE_PATTERNS,NAME_FIELD_PATTERNS,constants/NAME_FIELD_PATTERNS,useAllThemeColors,theme/useAllThemeColors,useThemeColors,theme/useThemeColors,createTimeSeriesData,utils/createTimeSeriesData,formatLabel,utils/formatLabel,sortTimeSeriesAscending,utils/sortTimeSeriesAscending,toChartArray,utils/toChartArray,toChartValue,utils/toChartValue,truncateLabel,utils/truncateLabel,buildCartesianOption,options/buildCartesianOption,buildHeatmapOption,options/buildHeatmapOption,buildHorizontalBarOption,options/buildHorizontalBarOption,buildPieOption,options/buildPieOption,buildRadarOption,options/buildRadarOption,CartesianContext,options/CartesianContext,HeatmapContext,options/HeatmapContext,OptionBuilderContext,options/OptionBuilderContext,AreaChartProps,types/AreaChartProps,AreaChartSpecificProps,types/AreaChartSpecificProps,BarChartProps,types/BarChartProps,BarChartSpecificProps,types/BarChartSpecificProps,ChartBaseProps,types/ChartBaseProps,ChartColorPalette,types/ChartColorPalette,ChartData,types/ChartData,ChartType,types/ChartType,DataFormat,types/DataFormat,DataProps,types/DataProps,DonutChartProps,types/DonutChartProps,HeatmapChartProps,types/HeatmapChartProps,HeatmapChartSpecificProps,types/HeatmapChartSpecificProps,LineChartProps,types/LineChartProps,LineChartSpecificProps,types/LineChartSpecificProps,NormalizedChartData,types/NormalizedChartData,NormalizedChartDataBase,types/NormalizedChartDataBase,Orientation,types/Orientation,PieChartProps,types/PieChartProps,PieChartSpecificProps,types/PieChartSpecificProps,QueryProps,types/QueryProps,RadarChartProps,types/RadarChartProps,RadarChartSpecificProps,types/RadarChartSpecificProps,ScatterChartProps,types/ScatterChartProps,ScatterChartSpecificProps,types/ScatterChartSpecificProps,UnifiedChartProps,types/UnifiedChartProps,isArrowTable,types/isArrowTable,isDataProps,types/isDataProps,isQueryProps,types/isQueryProps,ChartInference,genie-chart-inference/ChartInference,getCompatibleChartTypes,genie-chart-inference/getCompatibleChartTypes,inferChartType,genie-chart-inference/inferChartType,ColumnCategory,genie-query-transform/ColumnCategory,GenieColumnMeta,genie-query-transform/GenieColumnMeta,TransformedGenieData,genie-query-transform/TransformedGenieData,transformGenieData,genie-query-transform/transformGenieData,AnalyticsFormat,types/AnalyticsFormat,InferResultByFormat,types/InferResultByFormat,InferRowType,types/InferRowType,InferServingChunk,types/InferServingChunk,InferServingRequest,types/InferServingRequest,InferServingResponse,types/InferServingResponse,PluginRegistry,types/PluginRegistry,QueryRegistry,types/QueryRegistry,ServingAlias,types/ServingAlias,ServingEndpointRegistry,types/ServingEndpointRegistry,TypedArrowTable,types/TypedArrowTable,UseAnalyticsQueryOptions,types/UseAnalyticsQueryOptions,UseAnalyticsQueryResult,types/UseAnalyticsQueryResult,AgentChatEvent,use-agent-chat/AgentChatEvent,UseAgentChatOptions,use-agent-chat/UseAgentChatOptions,UseAgentChatResult,use-agent-chat/UseAgentChatResult,useAgentChat,use-agent-chat/useAgentChat,UseServingInvokeOptions,use-serving-invoke/UseServingInvokeOptions,UseServingInvokeResult,use-serving-invoke/UseServingInvokeResult,useServingInvoke,use-serving-invoke/useServingInvoke,UseServingStreamOptions,use-serving-stream/UseServingStreamOptions,UseServingStreamResult,use-serving-stream/UseServingStreamResult,useServingStream,use-serving-stream/useServingStream"},{"name":"ImportedModules","value":"react,useCallback,react/useCallback,useMemo,react/useMemo,useRef,react/useRef,react/jsx-runtime,react/jsx-runtime/jsx,Component,react/Component,jsxs,react/jsx-runtime/jsxs,useEffect,react/useEffect,useState,react/useState,useLayoutEffect,react/useLayoutEffect,createContext,react/createContext,useContext,react/useContext,Fragment,react/jsx-runtime/Fragment,react/JSX,ReactNode,react/ReactNode,KeyboardEvent,react/KeyboardEvent"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react/package.json"}],"occurrences":[{"location":"dist/react/charts/base.js#5"},{"location":"dist/react/charts/base.js#6"},{"location":"dist/react/charts/chart-error-boundary.js#1"},{"location":"dist/react/charts/chart-error-boundary.js#2"},{"location":"dist/react/charts/create-chart.js#3"},{"location":"dist/react/charts/empty.js#1"},{"location":"dist/react/charts/error.js#1"},{"location":"dist/react/charts/loading.js#1"},{"location":"dist/react/charts/theme.js#2"},{"location":"dist/react/charts/wrapper.js#7"},{"location":"dist/react/file-browser/directory-list.js#5"},{"location":"dist/react/file-browser/file-breadcrumb.js#2"},{"location":"dist/react/file-browser/file-entry.js#3"},{"location":"dist/react/file-browser/file-preview-panel.js#5"},{"location":"dist/react/file-browser/new-folder-input.js#3"},{"location":"dist/react/file-browser/new-folder-input.js#4"},{"location":"dist/react/genie/genie-chat-input.js#3"},{"location":"dist/react/genie/genie-chat-input.js#4"},{"location":"dist/react/genie/genie-chat-message-list.js#7"},{"location":"dist/react/genie/genie-chat-message-list.js#8"},{"location":"dist/react/genie/genie-chat-message.js#5"},{"location":"dist/react/genie/genie-chat-message.js#6"},{"location":"dist/react/genie/genie-chat.js#6"},{"location":"dist/react/genie/genie-query-visualization.js#10"},{"location":"dist/react/genie/genie-query-visualization.js#11"},{"location":"dist/react/genie/use-genie-chat.js#4"},{"location":"dist/react/hooks/use-agent-chat.js#3"},{"location":"dist/react/hooks/use-analytics-query.js#5"},{"location":"dist/react/hooks/use-chart-data.js#2"},{"location":"dist/react/hooks/use-mobile.js#1"},{"location":"dist/react/hooks/use-query-hmr.js#1"},{"location":"dist/react/hooks/use-serving-invoke.js#2"},{"location":"dist/react/hooks/use-serving-stream.js#4"},{"location":"dist/react/portal-container-context.js#1"},{"location":"dist/react/portal-container-context.js#2"},{"location":"dist/react/table/data-table.js#8"},{"location":"dist/react/table/empty.js#1"},{"location":"dist/react/table/error.js#1"},{"location":"dist/react/table/loading.js#1"},{"location":"dist/react/table/table-wrapper.js#9"},{"location":"dist/react/table/table-wrapper.js#10"},{"location":"dist/react/ui/accordion.js#2"},{"location":"dist/react/ui/alert-dialog.js#4"},{"location":"dist/react/ui/alert.js#2"},{"location":"dist/react/ui/aspect-ratio.js#3"},{"location":"dist/react/ui/avatar.js#2"},{"location":"dist/react/ui/badge.js#2"},{"location":"dist/react/ui/breadcrumb.js#2"},{"location":"dist/react/ui/button-group.js#3"},{"location":"dist/react/ui/button.js#2"},{"location":"dist/react/ui/calendar.js#5"},{"location":"dist/react/ui/calendar.js#6"},{"location":"dist/react/ui/card.js#2"},{"location":"dist/react/ui/carousel.js#3"},{"location":"dist/react/ui/carousel.js#4"},{"location":"dist/react/ui/chart.js#4"},{"location":"dist/react/ui/chart.js#5"},{"location":"dist/react/ui/checkbox.js#4"},{"location":"dist/react/ui/collapsible.js#1"},{"location":"dist/react/ui/command.js#3"},{"location":"dist/react/ui/context-menu.js#5"},{"location":"dist/react/ui/dialog.js#3"},{"location":"dist/react/ui/drawer.js#5"},{"location":"dist/react/ui/dropdown-menu.js#3"},{"location":"dist/react/ui/empty.js#2"},{"location":"dist/react/ui/field.js#4"},{"location":"dist/react/ui/field.js#5"},{"location":"dist/react/ui/form.js#5"},{"location":"dist/react/ui/form.js#6"},{"location":"dist/react/ui/hover-card.js#5"},{"location":"dist/react/ui/input-group.js#7"},{"location":"dist/react/ui/input-otp.js#2"},{"location":"dist/react/ui/input-otp.js#3"},{"location":"dist/react/ui/input.js#2"},{"location":"dist/react/ui/item.js#3"},{"location":"dist/react/ui/kbd.js#2"},{"location":"dist/react/ui/label.js#4"},{"location":"dist/react/ui/menubar.js#3"},{"location":"dist/react/ui/navigation-menu.js#2"},{"location":"dist/react/ui/pagination.js#3"},{"location":"dist/react/ui/popover.js#5"},{"location":"dist/react/ui/progress.js#2"},{"location":"dist/react/ui/radio-group.js#4"},{"location":"dist/react/ui/resizable.js#2"},{"location":"dist/react/ui/scroll-area.js#4"},{"location":"dist/react/ui/select.js#3"},{"location":"dist/react/ui/separator.js#4"},{"location":"dist/react/ui/sheet.js#3"},{"location":"dist/react/ui/sidebar.js#11"},{"location":"dist/react/ui/sidebar.js#12"},{"location":"dist/react/ui/skeleton.js#2"},{"location":"dist/react/ui/slider.js#4"},{"location":"dist/react/ui/slider.js#5"},{"location":"dist/react/ui/sonner.js#1"},{"location":"dist/react/ui/spinner.js#2"},{"location":"dist/react/ui/switch.js#4"},{"location":"dist/react/ui/table.js#2"},{"location":"dist/react/ui/tabs.js#4"},{"location":"dist/react/ui/textarea.js#2"},{"location":"dist/react/ui/toggle-group.js#3"},{"location":"dist/react/ui/toggle-group.js#4"},{"location":"dist/react/ui/toggle.js#2"},{"location":"dist/react/ui/tooltip.js#5"},{"location":"tmp/dist/react/charts/base.js#5"},{"location":"tmp/dist/react/charts/base.js#6"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#1"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#2"},{"location":"tmp/dist/react/charts/create-chart.js#3"},{"location":"tmp/dist/react/charts/empty.js#1"},{"location":"tmp/dist/react/charts/error.js#1"},{"location":"tmp/dist/react/charts/loading.js#1"},{"location":"tmp/dist/react/charts/theme.js#2"},{"location":"tmp/dist/react/charts/wrapper.js#7"},{"location":"tmp/dist/react/file-browser/directory-list.js#5"},{"location":"tmp/dist/react/file-browser/file-breadcrumb.js#2"},{"location":"tmp/dist/react/file-browser/file-entry.js#3"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#5"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#3"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-input.js#3"},{"location":"tmp/dist/react/genie/genie-chat-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#7"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#5"},{"location":"tmp/dist/react/genie/genie-chat-message.js#6"},{"location":"tmp/dist/react/genie/genie-chat.js#6"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#10"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#11"},{"location":"tmp/dist/react/genie/use-genie-chat.js#4"},{"location":"tmp/dist/react/hooks/use-agent-chat.js#3"},{"location":"tmp/dist/react/hooks/use-analytics-query.js#5"},{"location":"tmp/dist/react/hooks/use-chart-data.js#2"},{"location":"tmp/dist/react/hooks/use-mobile.js#1"},{"location":"tmp/dist/react/hooks/use-query-hmr.js#1"},{"location":"tmp/dist/react/hooks/use-serving-invoke.js#2"},{"location":"tmp/dist/react/hooks/use-serving-stream.js#4"},{"location":"tmp/dist/react/portal-container-context.js#1"},{"location":"tmp/dist/react/portal-container-context.js#2"},{"location":"tmp/dist/react/table/data-table.js#8"},{"location":"tmp/dist/react/table/empty.js#1"},{"location":"tmp/dist/react/table/error.js#1"},{"location":"tmp/dist/react/table/loading.js#1"},{"location":"tmp/dist/react/table/table-wrapper.js#9"},{"location":"tmp/dist/react/table/table-wrapper.js#10"},{"location":"tmp/dist/react/ui/accordion.js#2"},{"location":"tmp/dist/react/ui/alert-dialog.js#4"},{"location":"tmp/dist/react/ui/alert.js#2"},{"location":"tmp/dist/react/ui/aspect-ratio.js#3"},{"location":"tmp/dist/react/ui/avatar.js#2"},{"location":"tmp/dist/react/ui/badge.js#2"},{"location":"tmp/dist/react/ui/breadcrumb.js#2"},{"location":"tmp/dist/react/ui/button-group.js#3"},{"location":"tmp/dist/react/ui/button.js#2"},{"location":"tmp/dist/react/ui/calendar.js#5"},{"location":"tmp/dist/react/ui/calendar.js#6"},{"location":"tmp/dist/react/ui/card.js#2"},{"location":"tmp/dist/react/ui/carousel.js#3"},{"location":"tmp/dist/react/ui/carousel.js#4"},{"location":"tmp/dist/react/ui/chart.js#4"},{"location":"tmp/dist/react/ui/chart.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#4"},{"location":"tmp/dist/react/ui/collapsible.js#1"},{"location":"tmp/dist/react/ui/command.js#3"},{"location":"tmp/dist/react/ui/context-menu.js#5"},{"location":"tmp/dist/react/ui/dialog.js#3"},{"location":"tmp/dist/react/ui/drawer.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#3"},{"location":"tmp/dist/react/ui/empty.js#2"},{"location":"tmp/dist/react/ui/field.js#4"},{"location":"tmp/dist/react/ui/field.js#5"},{"location":"tmp/dist/react/ui/form.js#5"},{"location":"tmp/dist/react/ui/form.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#5"},{"location":"tmp/dist/react/ui/input-group.js#7"},{"location":"tmp/dist/react/ui/input-otp.js#2"},{"location":"tmp/dist/react/ui/input-otp.js#3"},{"location":"tmp/dist/react/ui/input.js#2"},{"location":"tmp/dist/react/ui/item.js#3"},{"location":"tmp/dist/react/ui/kbd.js#2"},{"location":"tmp/dist/react/ui/label.js#4"},{"location":"tmp/dist/react/ui/menubar.js#3"},{"location":"tmp/dist/react/ui/navigation-menu.js#2"},{"location":"tmp/dist/react/ui/pagination.js#3"},{"location":"tmp/dist/react/ui/popover.js#5"},{"location":"tmp/dist/react/ui/progress.js#2"},{"location":"tmp/dist/react/ui/radio-group.js#4"},{"location":"tmp/dist/react/ui/resizable.js#2"},{"location":"tmp/dist/react/ui/scroll-area.js#4"},{"location":"tmp/dist/react/ui/select.js#3"},{"location":"tmp/dist/react/ui/separator.js#4"},{"location":"tmp/dist/react/ui/sheet.js#3"},{"location":"tmp/dist/react/ui/sidebar.js#11"},{"location":"tmp/dist/react/ui/sidebar.js#12"},{"location":"tmp/dist/react/ui/skeleton.js#2"},{"location":"tmp/dist/react/ui/slider.js#4"},{"location":"tmp/dist/react/ui/slider.js#5"},{"location":"tmp/dist/react/ui/sonner.js#1"},{"location":"tmp/dist/react/ui/spinner.js#2"},{"location":"tmp/dist/react/ui/switch.js#4"},{"location":"tmp/dist/react/ui/table.js#2"},{"location":"tmp/dist/react/ui/tabs.js#4"},{"location":"tmp/dist/react/ui/textarea.js#2"},{"location":"tmp/dist/react/ui/toggle-group.js#3"},{"location":"tmp/dist/react/ui/toggle-group.js#4"},{"location":"tmp/dist/react/ui/toggle.js#2"},{"location":"tmp/dist/react/ui/tooltip.js#5"},{"location":"src/react/charts/theme.ts#1"},{"location":"src/react/genie/use-genie-chat.ts#1"},{"location":"src/react/hooks/use-agent-chat.ts#1"},{"location":"src/react/hooks/use-analytics-query.ts#1"},{"location":"src/react/hooks/use-chart-data.ts#2"},{"location":"src/react/hooks/use-mobile.ts#1"},{"location":"src/react/hooks/use-query-hmr.ts#1"},{"location":"src/react/hooks/use-serving-invoke.ts#1"},{"location":"src/react/hooks/use-serving-stream.ts#1"},{"location":"src/react/charts/area/index.tsx#1"},{"location":"src/react/charts/bar/index.tsx#1"},{"location":"src/react/charts/base.tsx#3"},{"location":"src/react/charts/chart-error-boundary.tsx#1"},{"location":"src/react/charts/heatmap/index.tsx#1"},{"location":"src/react/charts/line/index.tsx#1"},{"location":"src/react/charts/pie/index.tsx#1"},{"location":"src/react/charts/radar/index.tsx#1"},{"location":"src/react/charts/scatter/index.tsx#1"},{"location":"src/react/charts/wrapper.tsx#1"},{"location":"src/react/file-browser/new-folder-input.tsx#2"},{"location":"src/react/genie/genie-chat-input.tsx#1"},{"location":"src/react/genie/genie-chat-message-list.tsx#1"},{"location":"src/react/genie/genie-chat-message.tsx#3"},{"location":"src/react/genie/genie-query-visualization.tsx#2"},{"location":"src/react/portal-container-context.tsx#1"},{"location":"src/react/portal-container-context.tsx#2"},{"location":"src/react/table/table-wrapper.tsx#16"},{"location":"src/react/ui/accordion.tsx#1"},{"location":"src/react/ui/alert-dialog.tsx#1"},{"location":"src/react/ui/alert.tsx#1"},{"location":"src/react/ui/avatar.tsx#1"},{"location":"src/react/ui/badge.tsx#1"},{"location":"src/react/ui/breadcrumb.tsx#1"},{"location":"src/react/ui/button.tsx#1"},{"location":"src/react/ui/calendar.tsx#4"},{"location":"src/react/ui/card.tsx#1"},{"location":"src/react/ui/carousel.tsx#1"},{"location":"src/react/ui/chart.tsx#3"},{"location":"src/react/ui/checkbox.tsx#3"},{"location":"src/react/ui/command.tsx#1"},{"location":"src/react/ui/context-menu.tsx#3"},{"location":"src/react/ui/dialog.tsx#1"},{"location":"src/react/ui/drawer.tsx#3"},{"location":"src/react/ui/dropdown-menu.tsx#1"},{"location":"src/react/ui/field.tsx#1"},{"location":"src/react/ui/form.tsx#3"},{"location":"src/react/ui/hover-card.tsx#3"},{"location":"src/react/ui/input-group.tsx#3"},{"location":"src/react/ui/input-otp.tsx#1"},{"location":"src/react/ui/input.tsx#1"},{"location":"src/react/ui/item.tsx#1"},{"location":"src/react/ui/label.tsx#3"},{"location":"src/react/ui/menubar.tsx#1"},{"location":"src/react/ui/navigation-menu.tsx#1"},{"location":"src/react/ui/pagination.tsx#1"},{"location":"src/react/ui/popover.tsx#3"},{"location":"src/react/ui/progress.tsx#1"},{"location":"src/react/ui/radio-group.tsx#3"},{"location":"src/react/ui/resizable.tsx#1"},{"location":"src/react/ui/scroll-area.tsx#3"},{"location":"src/react/ui/select.tsx#1"},{"location":"src/react/ui/separator.tsx#3"},{"location":"src/react/ui/sheet.tsx#1"},{"location":"src/react/ui/sidebar.tsx#3"},{"location":"src/react/ui/slider.tsx#3"},{"location":"src/react/ui/switch.tsx#3"},{"location":"src/react/ui/table.tsx#1"},{"location":"src/react/ui/tabs.tsx#3"},{"location":"src/react/ui/textarea.tsx#1"},{"location":"src/react/ui/toggle-group.tsx#1"},{"location":"src/react/ui/toggle.tsx#1"},{"location":"src/react/ui/tooltip.tsx#3"},{"location":"dist/react/charts/base.js#6"},{"location":"dist/react/charts/chart-error-boundary.js#2"},{"location":"dist/react/charts/create-chart.js#3"},{"location":"dist/react/charts/empty.js#1"},{"location":"dist/react/charts/error.js#1"},{"location":"dist/react/charts/loading.js#1"},{"location":"dist/react/charts/wrapper.js#7"},{"location":"dist/react/file-browser/directory-list.js#5"},{"location":"dist/react/file-browser/file-breadcrumb.js#2"},{"location":"dist/react/file-browser/file-entry.js#3"},{"location":"dist/react/file-browser/file-preview-panel.js#5"},{"location":"dist/react/file-browser/new-folder-input.js#4"},{"location":"dist/react/genie/genie-chat-input.js#4"},{"location":"dist/react/genie/genie-chat-message-list.js#8"},{"location":"dist/react/genie/genie-chat-message.js#6"},{"location":"dist/react/genie/genie-chat.js#6"},{"location":"dist/react/genie/genie-query-visualization.js#11"},{"location":"dist/react/portal-container-context.js#2"},{"location":"dist/react/table/data-table.js#8"},{"location":"dist/react/table/empty.js#1"},{"location":"dist/react/table/error.js#1"},{"location":"dist/react/table/loading.js#1"},{"location":"dist/react/table/table-wrapper.js#10"},{"location":"dist/react/ui/accordion.js#2"},{"location":"dist/react/ui/alert-dialog.js#4"},{"location":"dist/react/ui/alert.js#2"},{"location":"dist/react/ui/aspect-ratio.js#3"},{"location":"dist/react/ui/avatar.js#2"},{"location":"dist/react/ui/badge.js#2"},{"location":"dist/react/ui/breadcrumb.js#2"},{"location":"dist/react/ui/button-group.js#3"},{"location":"dist/react/ui/button.js#2"},{"location":"dist/react/ui/calendar.js#6"},{"location":"dist/react/ui/card.js#2"},{"location":"dist/react/ui/carousel.js#4"},{"location":"dist/react/ui/chart.js#5"},{"location":"dist/react/ui/checkbox.js#4"},{"location":"dist/react/ui/collapsible.js#1"},{"location":"dist/react/ui/command.js#3"},{"location":"dist/react/ui/context-menu.js#5"},{"location":"dist/react/ui/dialog.js#3"},{"location":"dist/react/ui/drawer.js#5"},{"location":"dist/react/ui/dropdown-menu.js#3"},{"location":"dist/react/ui/empty.js#2"},{"location":"dist/react/ui/field.js#5"},{"location":"dist/react/ui/form.js#6"},{"location":"dist/react/ui/hover-card.js#5"},{"location":"dist/react/ui/input-group.js#7"},{"location":"dist/react/ui/input-otp.js#3"},{"location":"dist/react/ui/input.js#2"},{"location":"dist/react/ui/item.js#3"},{"location":"dist/react/ui/kbd.js#2"},{"location":"dist/react/ui/label.js#4"},{"location":"dist/react/ui/menubar.js#3"},{"location":"dist/react/ui/navigation-menu.js#2"},{"location":"dist/react/ui/pagination.js#3"},{"location":"dist/react/ui/popover.js#5"},{"location":"dist/react/ui/progress.js#2"},{"location":"dist/react/ui/radio-group.js#4"},{"location":"dist/react/ui/resizable.js#2"},{"location":"dist/react/ui/scroll-area.js#4"},{"location":"dist/react/ui/select.js#3"},{"location":"dist/react/ui/separator.js#4"},{"location":"dist/react/ui/sheet.js#3"},{"location":"dist/react/ui/sidebar.js#12"},{"location":"dist/react/ui/skeleton.js#2"},{"location":"dist/react/ui/slider.js#5"},{"location":"dist/react/ui/sonner.js#1"},{"location":"dist/react/ui/spinner.js#2"},{"location":"dist/react/ui/switch.js#4"},{"location":"dist/react/ui/table.js#2"},{"location":"dist/react/ui/tabs.js#4"},{"location":"dist/react/ui/textarea.js#2"},{"location":"dist/react/ui/toggle-group.js#4"},{"location":"dist/react/ui/toggle.js#2"},{"location":"dist/react/ui/tooltip.js#5"},{"location":"tmp/dist/react/charts/base.js#6"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#2"},{"location":"tmp/dist/react/charts/create-chart.js#3"},{"location":"tmp/dist/react/charts/empty.js#1"},{"location":"tmp/dist/react/charts/error.js#1"},{"location":"tmp/dist/react/charts/loading.js#1"},{"location":"tmp/dist/react/charts/wrapper.js#7"},{"location":"tmp/dist/react/file-browser/directory-list.js#5"},{"location":"tmp/dist/react/file-browser/file-breadcrumb.js#2"},{"location":"tmp/dist/react/file-browser/file-entry.js#3"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#5"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#6"},{"location":"tmp/dist/react/genie/genie-chat.js#6"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#11"},{"location":"tmp/dist/react/portal-container-context.js#2"},{"location":"tmp/dist/react/table/data-table.js#8"},{"location":"tmp/dist/react/table/empty.js#1"},{"location":"tmp/dist/react/table/error.js#1"},{"location":"tmp/dist/react/table/loading.js#1"},{"location":"tmp/dist/react/table/table-wrapper.js#10"},{"location":"tmp/dist/react/ui/accordion.js#2"},{"location":"tmp/dist/react/ui/alert-dialog.js#4"},{"location":"tmp/dist/react/ui/alert.js#2"},{"location":"tmp/dist/react/ui/aspect-ratio.js#3"},{"location":"tmp/dist/react/ui/avatar.js#2"},{"location":"tmp/dist/react/ui/badge.js#2"},{"location":"tmp/dist/react/ui/breadcrumb.js#2"},{"location":"tmp/dist/react/ui/button-group.js#3"},{"location":"tmp/dist/react/ui/button.js#2"},{"location":"tmp/dist/react/ui/calendar.js#6"},{"location":"tmp/dist/react/ui/card.js#2"},{"location":"tmp/dist/react/ui/carousel.js#4"},{"location":"tmp/dist/react/ui/chart.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#4"},{"location":"tmp/dist/react/ui/collapsible.js#1"},{"location":"tmp/dist/react/ui/command.js#3"},{"location":"tmp/dist/react/ui/context-menu.js#5"},{"location":"tmp/dist/react/ui/dialog.js#3"},{"location":"tmp/dist/react/ui/drawer.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#3"},{"location":"tmp/dist/react/ui/empty.js#2"},{"location":"tmp/dist/react/ui/field.js#5"},{"location":"tmp/dist/react/ui/form.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#5"},{"location":"tmp/dist/react/ui/input-group.js#7"},{"location":"tmp/dist/react/ui/input-otp.js#3"},{"location":"tmp/dist/react/ui/input.js#2"},{"location":"tmp/dist/react/ui/item.js#3"},{"location":"tmp/dist/react/ui/kbd.js#2"},{"location":"tmp/dist/react/ui/label.js#4"},{"location":"tmp/dist/react/ui/menubar.js#3"},{"location":"tmp/dist/react/ui/navigation-menu.js#2"},{"location":"tmp/dist/react/ui/pagination.js#3"},{"location":"tmp/dist/react/ui/popover.js#5"},{"location":"tmp/dist/react/ui/progress.js#2"},{"location":"tmp/dist/react/ui/radio-group.js#4"},{"location":"tmp/dist/react/ui/resizable.js#2"},{"location":"tmp/dist/react/ui/scroll-area.js#4"},{"location":"tmp/dist/react/ui/select.js#3"},{"location":"tmp/dist/react/ui/separator.js#4"},{"location":"tmp/dist/react/ui/sheet.js#3"},{"location":"tmp/dist/react/ui/sidebar.js#12"},{"location":"tmp/dist/react/ui/skeleton.js#2"},{"location":"tmp/dist/react/ui/slider.js#5"},{"location":"tmp/dist/react/ui/sonner.js#1"},{"location":"tmp/dist/react/ui/spinner.js#2"},{"location":"tmp/dist/react/ui/switch.js#4"},{"location":"tmp/dist/react/ui/table.js#2"},{"location":"tmp/dist/react/ui/tabs.js#4"},{"location":"tmp/dist/react/ui/textarea.js#2"},{"location":"tmp/dist/react/ui/toggle-group.js#4"},{"location":"tmp/dist/react/ui/toggle.js#2"},{"location":"tmp/dist/react/ui/tooltip.js#5"}]},"tags":["framework"]},{"authors":[{"name":"recharts group"}],"group":"","name":"recharts","version":"2.15.4","description":"React charts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/recharts@2.15.4","externalReferences":[{"type":"vcs","url":"https://github.com/recharts/recharts"},{"type":"vcs","url":"git+https://github.com/recharts/recharts.git"}],"type":"library","bom-ref":"pkg:npm/recharts@2.15.4","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/recharts/package.json"},{"name":"ImportedModules","value":"recharts"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/recharts/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/recharts/package.json"}],"occurrences":[{"location":"dist/react/ui/chart.js#6"},{"location":"tmp/dist/react/ui/chart.js#6"},{"location":"src/react/ui/chart.tsx#4"}]}},{"group":"","name":"shared","version":"0.0.1","scope":"required","purl":"pkg:npm/shared@0.0.1","type":"library","bom-ref":"pkg:npm/shared@0.0.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/shared/package.json"},{"name":"ExportedModules","value":"shared,isSQLTypeMarker,shared/isSQLTypeMarker,SQLBinaryMarker,shared/SQLBinaryMarker,SQLBooleanMarker,shared/SQLBooleanMarker,SQLDateMarker,shared/SQLDateMarker,SQLNumberMarker,shared/SQLNumberMarker,SQLStringMarker,shared/SQLStringMarker,SQLTimestampMarker,shared/SQLTimestampMarker,SQLTypeMarker,shared/SQLTypeMarker,shared/sql,GenieAttachmentResponse,shared/GenieAttachmentResponse,GenieMessageResponse,shared/GenieMessageResponse,GenieStatementResponse,shared/GenieStatementResponse,GenieStreamEvent,shared/GenieStreamEvent"},{"name":"ImportedModules","value":"shared,GenieStatementResponse,shared/GenieStatementResponse,GenieAttachmentResponse,shared/GenieAttachmentResponse"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/shared/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/shared/package.json"}],"occurrences":[{"location":"src/js/index.ts#11"},{"location":"src/react/genie/genie-query-transform.ts#11"},{"location":"src/react/genie/types.ts#1"},{"location":"src/react/genie/types.ts#8"},{"location":"src/react/genie/genie-query-visualization.tsx#3"}]},"tags":["sql"]},{"authors":[{"name":"Emil Kowalski <e@emilkowal.ski>"}],"group":"","name":"sonner","version":"2.0.7","description":"An opinionated toast component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/sonner@2.0.7","externalReferences":[{"type":"website","url":"https://sonner.emilkowal.ski/"},{"type":"vcs","url":"git+https://github.com/emilkowalski/sonner.git"}],"type":"library","bom-ref":"pkg:npm/sonner@2.0.7","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/sonner/package.json"},{"name":"ImportedModules","value":"sonner,Toaster,sonner/Toaster,ToasterProps,sonner/ToasterProps"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/sonner/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/sonner/package.json"}],"occurrences":[{"location":"dist/react/ui/sonner.js#4"},{"location":"tmp/dist/react/ui/sonner.js#4"},{"location":"src/react/ui/sonner.tsx#10"}]}},{"authors":[{"name":"Dany Castillo"}],"group":"","name":"tailwind-merge","version":"3.4.0","description":"Merge Tailwind CSS classes without style conflicts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/tailwind-merge@3.4.0","externalReferences":[{"type":"vcs","url":"https://github.com/dcastil/tailwind-merge"},{"type":"vcs","url":"https://github.com/dcastil/tailwind-merge.git"}],"type":"library","bom-ref":"pkg:npm/tailwind-merge@3.4.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/tailwind-merge/package.json"},{"name":"ImportedModules","value":"tailwind-merge,twMerge,tailwind-merge/twMerge"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/tailwind-merge/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/tailwind-merge/package.json"}],"occurrences":[{"location":"dist/react/lib/utils.js#2"},{"location":"tmp/dist/react/lib/utils.js#2"},{"location":"src/react/lib/utils.ts#2"}]}},{"authors":[{"name":"Emil Kowalski <e@emilkowal.ski>"}],"group":"","name":"vaul","version":"1.1.2","description":"Drawer component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/vaul@1.1.2","externalReferences":[{"type":"website","url":"https://vaul.emilkowal.ski/"},{"type":"vcs","url":"https://github.com/emilkowalski/vaul.git"}],"type":"library","bom-ref":"pkg:npm/vaul@1.1.2","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/vaul/package.json"},{"name":"ImportedModules","value":"vaul,Drawer,vaul/Drawer"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/vaul/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/vaul/package.json"}],"occurrences":[{"location":"dist/react/ui/drawer.js#6"},{"location":"tmp/dist/react/ui/drawer.js#6"},{"location":"src/react/ui/drawer.tsx#4"}]}}],"dependencies":[],"compositions":[{"bom-ref":"pkg:npm/@databricks/appkit-ui@0.35.1","aggregate":"incomplete"}],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:npm/@databricks/appkit-ui@0.35.1"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"12.1.2","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.2","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.2","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2026-05-15T14:25:57Z","text":"This Software Bill-of-Materials (SBOM) document was created on Friday, May 15, 2026 with cdxgen. The data was captured during the build lifecycle phase. The document describes an application named 'appkit-ui' with version '0.35.1'. There are 48 components. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 48 source files."}]}
1
+ {"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:6d99c59a-a6b1-42c4-bacb-e6834dd5b526","version":1,"metadata":{"timestamp":"2026-05-15T18:49:51Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"12.1.2","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.2","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.2","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"build"}],"component":{"name":"appkit-ui","group":"@databricks","version":"0.35.2","purl":"pkg:npm/%40databricks/appkit-ui@0.35.2","bom-ref":"pkg:npm/@databricks/appkit-ui@0.35.2","type":"application","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"externalReferences":[{"type":"vcs","url":"git+https://github.com/databricks/appkit.git"}]},"properties":[{"name":"cdx:bom:componentTypes","value":"npm"},{"name":"cdx:bom:componentNamespaces","value":"@radix-ui\\n@tanstack"},{"name":"cdx:bom:componentSrcFiles","value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-label/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-popover/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-progress/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-select/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-separator/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-slider/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-slot/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-switch/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json\\npackages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json\\npackages/appkit-ui/node_modules/@tanstack/react-table/package.json\\npackages/appkit-ui/node_modules/apache-arrow/package.json\\npackages/appkit-ui/node_modules/class-variance-authority/package.json\\npackages/appkit-ui/node_modules/clsx/package.json\\npackages/appkit-ui/node_modules/cmdk/package.json\\npackages/appkit-ui/node_modules/dompurify/package.json\\npackages/appkit-ui/node_modules/echarts-for-react/package.json\\npackages/appkit-ui/node_modules/echarts/package.json\\npackages/appkit-ui/node_modules/embla-carousel-react/package.json\\npackages/appkit-ui/node_modules/input-otp/package.json\\npackages/appkit-ui/node_modules/lucide-react/package.json\\npackages/appkit-ui/node_modules/marked/package.json\\npackages/appkit-ui/node_modules/next-themes/package.json\\npackages/appkit-ui/node_modules/react-day-picker/package.json\\npackages/appkit-ui/node_modules/react-hook-form/package.json\\npackages/appkit-ui/node_modules/react-resizable-panels/package.json\\npackages/appkit-ui/node_modules/react/package.json\\npackages/appkit-ui/node_modules/recharts/package.json\\npackages/appkit-ui/node_modules/shared/package.json\\npackages/appkit-ui/node_modules/sonner/package.json\\npackages/appkit-ui/node_modules/tailwind-merge/package.json\\npackages/appkit-ui/node_modules/vaul/package.json"}]},"components":[{"group":"@radix-ui","name":"react-accordion","version":"1.2.12","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-accordion@1.2.12","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-accordion@1.2.12","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-accordion"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-accordion/package.json"}],"occurrences":[{"location":"dist/react/ui/accordion.js#4"},{"location":"tmp/dist/react/ui/accordion.js#4"},{"location":"src/react/ui/accordion.tsx#2"}]}},{"group":"@radix-ui","name":"react-alert-dialog","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-alert-dialog@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-alert-dialog@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-alert-dialog"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-alert-dialog/package.json"}],"occurrences":[{"location":"dist/react/ui/alert-dialog.js#5"},{"location":"tmp/dist/react/ui/alert-dialog.js#5"},{"location":"src/react/ui/alert-dialog.tsx#2"}]}},{"group":"@radix-ui","name":"react-aspect-ratio","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-aspect-ratio@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-aspect-ratio@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-aspect-ratio"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-aspect-ratio/package.json"}],"occurrences":[{"location":"dist/react/ui/aspect-ratio.js#4"},{"location":"tmp/dist/react/ui/aspect-ratio.js#4"},{"location":"src/react/ui/aspect-ratio.tsx#3"}]}},{"group":"@radix-ui","name":"react-avatar","version":"1.1.11","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-avatar@1.1.11","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-avatar@1.1.11","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-avatar"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-avatar/package.json"}],"occurrences":[{"location":"dist/react/ui/avatar.js#3"},{"location":"tmp/dist/react/ui/avatar.js#3"},{"location":"src/react/ui/avatar.tsx#2"}]}},{"group":"@radix-ui","name":"react-checkbox","version":"1.3.3","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-checkbox@1.3.3","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-checkbox@1.3.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-checkbox"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-checkbox/package.json"}],"occurrences":[{"location":"dist/react/ui/checkbox.js#6"},{"location":"tmp/dist/react/ui/checkbox.js#6"},{"location":"src/react/ui/checkbox.tsx#4"}]}},{"group":"@radix-ui","name":"react-collapsible","version":"1.1.12","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-collapsible@1.1.12","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-collapsible@1.1.12","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-collapsible"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-collapsible/package.json"}],"occurrences":[{"location":"dist/react/ui/collapsible.js#2"},{"location":"tmp/dist/react/ui/collapsible.js#2"},{"location":"src/react/ui/collapsible.tsx#1"}]}},{"group":"@radix-ui","name":"react-context-menu","version":"2.2.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-context-menu@2.2.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-context-menu@2.2.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-context-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-context-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/context-menu.js#7"},{"location":"tmp/dist/react/ui/context-menu.js#7"},{"location":"src/react/ui/context-menu.tsx#4"}]}},{"group":"@radix-ui","name":"react-dialog","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-dialog@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-dialog@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-dialog"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-dialog/package.json"}],"occurrences":[{"location":"dist/react/ui/dialog.js#5"},{"location":"dist/react/ui/sheet.js#5"},{"location":"tmp/dist/react/ui/dialog.js#5"},{"location":"tmp/dist/react/ui/sheet.js#5"},{"location":"src/react/ui/dialog.tsx#2"},{"location":"src/react/ui/sheet.tsx#2"}]}},{"group":"@radix-ui","name":"react-dropdown-menu","version":"2.1.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-dropdown-menu@2.1.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-dropdown-menu@2.1.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-dropdown-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-dropdown-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/dropdown-menu.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#5"},{"location":"src/react/ui/dropdown-menu.tsx#2"}]}},{"group":"@radix-ui","name":"react-hover-card","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-hover-card@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-hover-card@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-hover-card"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-hover-card/package.json"}],"occurrences":[{"location":"dist/react/ui/hover-card.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#6"},{"location":"src/react/ui/hover-card.tsx#4"}]}},{"group":"@radix-ui","name":"react-label","version":"2.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-label@2.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-label@2.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-label"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-label/package.json"}],"occurrences":[{"location":"dist/react/ui/label.js#5"},{"location":"tmp/dist/react/ui/label.js#5"},{"location":"src/react/ui/form.tsx#4"},{"location":"src/react/ui/label.tsx#4"}]}},{"group":"@radix-ui","name":"react-menubar","version":"1.1.16","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-menubar@1.1.16","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-menubar@1.1.16","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-menubar"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-menubar/package.json"}],"occurrences":[{"location":"dist/react/ui/menubar.js#5"},{"location":"tmp/dist/react/ui/menubar.js#5"},{"location":"src/react/ui/menubar.tsx#2"}]}},{"group":"@radix-ui","name":"react-navigation-menu","version":"1.2.14","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-navigation-menu@1.2.14","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-navigation-menu@1.2.14","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-navigation-menu"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-navigation-menu/package.json"}],"occurrences":[{"location":"dist/react/ui/navigation-menu.js#5"},{"location":"tmp/dist/react/ui/navigation-menu.js#5"},{"location":"src/react/ui/navigation-menu.tsx#2"}]}},{"group":"@radix-ui","name":"react-popover","version":"1.1.15","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-popover@1.1.15","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-popover@1.1.15","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-popover"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-popover/package.json"}],"occurrences":[{"location":"dist/react/ui/popover.js#6"},{"location":"tmp/dist/react/ui/popover.js#6"},{"location":"src/react/ui/popover.tsx#4"}]}},{"group":"@radix-ui","name":"react-progress","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-progress@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-progress@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-progress"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-progress/package.json"}],"occurrences":[{"location":"dist/react/ui/progress.js#3"},{"location":"tmp/dist/react/ui/progress.js#3"},{"location":"src/react/ui/progress.tsx#2"}]}},{"group":"@radix-ui","name":"react-radio-group","version":"1.3.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-radio-group@1.3.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-radio-group@1.3.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-radio-group"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-radio-group/package.json"}],"occurrences":[{"location":"dist/react/ui/radio-group.js#6"},{"location":"tmp/dist/react/ui/radio-group.js#6"},{"location":"src/react/ui/radio-group.tsx#4"}]}},{"group":"@radix-ui","name":"react-scroll-area","version":"1.2.10","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-scroll-area@1.2.10","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-scroll-area@1.2.10","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-scroll-area"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-scroll-area/package.json"}],"occurrences":[{"location":"dist/react/ui/scroll-area.js#5"},{"location":"tmp/dist/react/ui/scroll-area.js#5"},{"location":"src/react/ui/scroll-area.tsx#4"}]}},{"group":"@radix-ui","name":"react-select","version":"2.2.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-select@2.2.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-select@2.2.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-select"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-select/package.json"}],"occurrences":[{"location":"dist/react/ui/select.js#5"},{"location":"tmp/dist/react/ui/select.js#5"},{"location":"src/react/ui/select.tsx#2"}]}},{"group":"@radix-ui","name":"react-separator","version":"1.1.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-separator@1.1.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-separator@1.1.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-separator"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-separator/package.json"}],"occurrences":[{"location":"dist/react/ui/separator.js#5"},{"location":"tmp/dist/react/ui/separator.js#5"},{"location":"src/react/ui/separator.tsx#4"}]}},{"group":"@radix-ui","name":"react-slider","version":"1.3.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-slider@1.3.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-slider@1.3.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-slider"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-slider/package.json"}],"occurrences":[{"location":"dist/react/ui/slider.js#6"},{"location":"tmp/dist/react/ui/slider.js#6"},{"location":"src/react/ui/slider.tsx#4"}]}},{"group":"@radix-ui","name":"react-slot","version":"1.2.4","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-slot@1.2.4","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-slot@1.2.4","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-slot,Slot,@radix-ui/react-slot/Slot"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-slot/package.json"}],"occurrences":[{"location":"dist/react/ui/badge.js#3"},{"location":"dist/react/ui/breadcrumb.js#4"},{"location":"dist/react/ui/button-group.js#4"},{"location":"dist/react/ui/button.js#3"},{"location":"dist/react/ui/form.js#7"},{"location":"dist/react/ui/item.js#4"},{"location":"dist/react/ui/sidebar.js#14"},{"location":"tmp/dist/react/ui/badge.js#3"},{"location":"tmp/dist/react/ui/breadcrumb.js#4"},{"location":"tmp/dist/react/ui/button-group.js#4"},{"location":"tmp/dist/react/ui/button.js#3"},{"location":"tmp/dist/react/ui/form.js#7"},{"location":"tmp/dist/react/ui/item.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#14"},{"location":"src/react/ui/badge.tsx#2"},{"location":"src/react/ui/breadcrumb.tsx#2"},{"location":"src/react/ui/button-group.tsx#1"},{"location":"src/react/ui/button.tsx#2"},{"location":"src/react/ui/form.tsx#5"},{"location":"src/react/ui/item.tsx#2"},{"location":"src/react/ui/sidebar.tsx#4"}]}},{"group":"@radix-ui","name":"react-switch","version":"1.2.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-switch@1.2.6","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-switch@1.2.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-switch"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-switch/package.json"}],"occurrences":[{"location":"dist/react/ui/switch.js#5"},{"location":"tmp/dist/react/ui/switch.js#5"},{"location":"src/react/ui/switch.tsx#4"}]}},{"group":"@radix-ui","name":"react-tabs","version":"1.1.13","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-tabs@1.1.13","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-tabs@1.1.13","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-tabs"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-tabs/package.json"}],"occurrences":[{"location":"dist/react/ui/tabs.js#5"},{"location":"tmp/dist/react/ui/tabs.js#5"},{"location":"src/react/ui/tabs.tsx#4"}]}},{"group":"@radix-ui","name":"react-toggle-group","version":"1.1.11","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-toggle-group@1.1.11","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-toggle-group@1.1.11","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-toggle-group"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-toggle-group/package.json"}],"occurrences":[{"location":"dist/react/ui/toggle-group.js#5"},{"location":"tmp/dist/react/ui/toggle-group.js#5"},{"location":"src/react/ui/toggle-group.tsx#2"}]}},{"group":"@radix-ui","name":"react-toggle","version":"1.1.10","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-toggle@1.1.10","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-toggle@1.1.10","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-toggle"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-toggle/package.json"}],"occurrences":[{"location":"dist/react/ui/toggle.js#4"},{"location":"tmp/dist/react/ui/toggle.js#4"},{"location":"src/react/ui/toggle.tsx#2"}]}},{"group":"@radix-ui","name":"react-tooltip","version":"1.2.8","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40radix-ui/react-tooltip@1.2.8","externalReferences":[{"type":"website","url":"https://radix-ui.com/primitives"},{"type":"vcs","url":"git+https://github.com/radix-ui/primitives.git"}],"type":"library","bom-ref":"pkg:npm/@radix-ui/react-tooltip@1.2.8","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"},{"name":"ImportedModules","value":"@radix-ui/react-tooltip"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@radix-ui/react-tooltip/package.json"}],"occurrences":[{"location":"dist/react/ui/tooltip.js#6"},{"location":"tmp/dist/react/ui/tooltip.js#6"},{"location":"src/react/ui/tooltip.tsx#4"}]}},{"authors":[{"name":"Tanner Linsley"}],"group":"@tanstack","name":"react-table","version":"8.21.3","description":"Headless UI for building powerful tables & datagrids for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40tanstack/react-table@8.21.3","externalReferences":[{"type":"website","url":"https://tanstack.com/table"},{"type":"vcs","url":"https://github.com/TanStack/table.git"}],"type":"library","bom-ref":"pkg:npm/@tanstack/react-table@8.21.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"},{"name":"ImportedModules","value":"@tanstack/react-table,flexRender,@tanstack/react-table/flexRender,getCoreRowModel,@tanstack/react-table/getCoreRowModel,getFilteredRowModel,@tanstack/react-table/getFilteredRowModel,getPaginationRowModel,@tanstack/react-table/getPaginationRowModel,getSortedRowModel,@tanstack/react-table/getSortedRowModel,useReactTable,@tanstack/react-table/useReactTable,RowSelectionState,@tanstack/react-table/RowSelectionState,Table,@tanstack/react-table/Table,Column,@tanstack/react-table/Column,ColumnFiltersState,@tanstack/react-table/ColumnFiltersState,@tanstack/react-table/Row,SortingState,@tanstack/react-table/SortingState,VisibilityState,@tanstack/react-table/VisibilityState"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/@tanstack/react-table/package.json"}],"occurrences":[{"location":"dist/react/table/data-table.js#10"},{"location":"dist/react/table/table-wrapper.js#12"},{"location":"tmp/dist/react/table/data-table.js#10"},{"location":"tmp/dist/react/table/table-wrapper.js#12"},{"location":"src/react/table/types.ts#1"},{"location":"src/react/table/data-table.tsx#1"},{"location":"src/react/table/table-wrapper.tsx#14"}]}},{"authors":[{"name":"Apache Software Foundation"}],"group":"","name":"apache-arrow","version":"21.1.0","description":"Apache Arrow columnar in-memory format","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/apache-arrow@21.1.0","externalReferences":[{"type":"website","url":"https://arrow.apache.org/js/"},{"type":"vcs","url":"git+https://github.com/apache/arrow-js.git"}],"type":"library","bom-ref":"pkg:npm/apache-arrow@21.1.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/apache-arrow/package.json"},{"name":"ImportedModules","value":"apache-arrow,Field,apache-arrow/Field,Table,apache-arrow/Table"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/apache-arrow/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/apache-arrow/package.json"}],"occurrences":[{"location":"src/js/arrow/arrow-client.ts#1"},{"location":"src/react/charts/normalize.ts#1"},{"location":"src/react/charts/types.ts#1"},{"location":"src/react/hooks/types.ts#1"},{"location":"src/react/hooks/use-chart-data.ts#1"}]}},{"authors":[{"name":"Joe Bell (https://joebell.co.uk)"}],"group":"","name":"class-variance-authority","version":"0.7.1","description":"Class Variance Authority 🧬","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/class-variance-authority@0.7.1","externalReferences":[{"type":"vcs","url":"https://github.com/joe-bell/cva#readme"}],"type":"library","bom-ref":"pkg:npm/class-variance-authority@0.7.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/class-variance-authority/package.json"},{"name":"ImportedModules","value":"class-variance-authority,class-variance-authority/cva,VariantProps,class-variance-authority/VariantProps"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/class-variance-authority/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/class-variance-authority/package.json"}],"occurrences":[{"location":"dist/react/ui/alert.js#3"},{"location":"dist/react/ui/badge.js#4"},{"location":"dist/react/ui/button-group.js#5"},{"location":"dist/react/ui/button.js#4"},{"location":"dist/react/ui/empty.js#3"},{"location":"dist/react/ui/field.js#6"},{"location":"dist/react/ui/input-group.js#8"},{"location":"dist/react/ui/item.js#5"},{"location":"dist/react/ui/navigation-menu.js#4"},{"location":"dist/react/ui/sidebar.js#15"},{"location":"dist/react/ui/toggle.js#3"},{"location":"tmp/dist/react/ui/alert.js#3"},{"location":"tmp/dist/react/ui/badge.js#4"},{"location":"tmp/dist/react/ui/button-group.js#5"},{"location":"tmp/dist/react/ui/button.js#4"},{"location":"tmp/dist/react/ui/empty.js#3"},{"location":"tmp/dist/react/ui/field.js#6"},{"location":"tmp/dist/react/ui/input-group.js#8"},{"location":"tmp/dist/react/ui/item.js#5"},{"location":"tmp/dist/react/ui/navigation-menu.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#15"},{"location":"tmp/dist/react/ui/toggle.js#3"},{"location":"src/react/ui/alert.tsx#2"},{"location":"src/react/ui/badge.tsx#3"},{"location":"src/react/ui/button-group.tsx#2"},{"location":"src/react/ui/button.tsx#3"},{"location":"src/react/ui/empty.tsx#1"},{"location":"src/react/ui/field.tsx#2"},{"location":"src/react/ui/input-group.tsx#4"},{"location":"src/react/ui/item.tsx#3"},{"location":"src/react/ui/navigation-menu.tsx#3"},{"location":"src/react/ui/sidebar.tsx#5"},{"location":"src/react/ui/toggle-group.tsx#3"},{"location":"src/react/ui/toggle.tsx#3"}]}},{"authors":[{"name":"Luke Edwards <luke.edwards05@gmail.com> (https://lukeed.com)"}],"group":"","name":"clsx","version":"2.1.1","description":"A tiny (239B) utility for constructing className strings conditionally.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/clsx@2.1.1","type":"library","bom-ref":"pkg:npm/clsx@2.1.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/clsx/package.json"},{"name":"ImportedModules","value":"clsx,clsx/clsx,ClassValue,clsx/ClassValue"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/clsx/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/clsx/package.json"}],"occurrences":[{"location":"dist/react/lib/utils.js#1"},{"location":"tmp/dist/react/lib/utils.js#1"},{"location":"src/react/lib/utils.ts#1"}]}},{"authors":[{"name":"Paco (https://github.com/pacocoursey)"}],"group":"","name":"cmdk","version":"1.1.1","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/cmdk@1.1.1","externalReferences":[{"type":"vcs","url":"https://github.com/pacocoursey/cmdk#readme"},{"type":"vcs","url":"git+https://github.com/pacocoursey/cmdk.git"}],"type":"library","bom-ref":"pkg:npm/cmdk@1.1.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/cmdk/package.json"},{"name":"ImportedModules","value":"cmdk,Command,cmdk/Command"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/cmdk/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/cmdk/package.json"}],"occurrences":[{"location":"dist/react/ui/command.js#5"},{"location":"tmp/dist/react/ui/command.js#5"},{"location":"src/react/ui/command.tsx#2"}]}},{"authors":[{"name":"Dr.-Ing. Mario Heiderich"},{"name":" Cure53 <mario@cure53.de> (https://cure53.de/)"}],"group":"","name":"dompurify","version":"3.3.3","description":"DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.","scope":"required","licenses":[{"expression":"(MPL-2.0 OR Apache-2.0)"}],"purl":"pkg:npm/dompurify@3.3.3","externalReferences":[{"type":"vcs","url":"https://github.com/cure53/DOMPurify"},{"type":"vcs","url":"git://github.com/cure53/DOMPurify.git"}],"type":"library","bom-ref":"pkg:npm/dompurify@3.3.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/dompurify/package.json"},{"name":"ImportedModules","value":"dompurify"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/dompurify/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/dompurify/package.json"}],"occurrences":[{"location":"dist/react/genie/genie-chat-message.js#7"},{"location":"tmp/dist/react/genie/genie-chat-message.js#7"},{"location":"src/react/genie/genie-chat-message.tsx#1"}]},"tags":["security","web"]},{"authors":[{"name":"hustcc (http://github.com/hustcc)"}],"group":"","name":"echarts-for-react","version":"3.0.5","description":" Apache Echarts components for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/echarts-for-react@3.0.5","externalReferences":[{"type":"vcs","url":"https://github.com/hustcc/echarts-for-react"},{"type":"vcs","url":"https://github.com/hustcc/echarts-for-react.git"}],"type":"library","bom-ref":"pkg:npm/echarts-for-react@3.0.5","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/echarts-for-react/package.json"},{"name":"ImportedModules","value":"echarts-for-react"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/echarts-for-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/echarts-for-react/package.json"}],"occurrences":[{"location":"dist/react/charts/base.js#4"},{"location":"tmp/dist/react/charts/base.js#4"},{"location":"src/react/charts/base.tsx#2"}]}},{"group":"","name":"echarts","version":"6.0.0","description":"Apache ECharts is a powerful, interactive charting and data visualization library for browser","scope":"required","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/echarts@6.0.0","externalReferences":[{"type":"website","url":"https://echarts.apache.org"},{"type":"vcs","url":"git+https://github.com/apache/echarts.git"}],"type":"library","bom-ref":"pkg:npm/echarts@6.0.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/echarts/package.json"},{"name":"ImportedModules","value":"echarts,ECharts,echarts/ECharts"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/echarts/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/echarts/package.json"}],"occurrences":[{"location":"src/react/charts/base.tsx#1"}]}},{"authors":[{"name":"David Jerleke"}],"group":"","name":"embla-carousel-react","version":"8.6.0","description":"A lightweight carousel library with fluid motion and great swipe precision","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/embla-carousel-react@8.6.0","externalReferences":[{"type":"website","url":"https://www.embla-carousel.com"},{"type":"vcs","url":"git+https://github.com/davidjerleke/embla-carousel"}],"type":"library","bom-ref":"pkg:npm/embla-carousel-react@8.6.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"},{"name":"ImportedModules","value":"embla-carousel-react,UseEmblaCarouselType,embla-carousel-react/UseEmblaCarouselType"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/embla-carousel-react/package.json"}],"occurrences":[{"location":"dist/react/ui/carousel.js#6"},{"location":"tmp/dist/react/ui/carousel.js#6"},{"location":"src/react/ui/carousel.tsx#4"}]}},{"authors":[{"name":"Guilherme Rodz <g@rodz.dev>"}],"group":"","name":"input-otp","version":"1.4.2","description":"One-time password input component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/input-otp@1.4.2","externalReferences":[{"type":"website","url":"https://input-otp.rodz.dev/"},{"type":"vcs","url":"git+https://github.com/guilhermerodz/input-otp.git"}],"type":"library","bom-ref":"pkg:npm/input-otp@1.4.2","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/input-otp/package.json"},{"name":"ImportedModules","value":"input-otp,OTPInput,input-otp/OTPInput,OTPInputContext,input-otp/OTPInputContext"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/input-otp/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/input-otp/package.json"}],"occurrences":[{"location":"dist/react/ui/input-otp.js#5"},{"location":"tmp/dist/react/ui/input-otp.js#5"},{"location":"src/react/ui/input-otp.tsx#2"}]}},{"authors":[{"name":"Eric Fennis"}],"group":"","name":"lucide-react","version":"0.554.0","description":"A Lucide icon library package for React applications.","scope":"required","licenses":[{"license":{"id":"ISC","url":"https://opensource.org/licenses/ISC"}}],"purl":"pkg:npm/lucide-react@0.554.0","externalReferences":[{"type":"website","url":"https://lucide.dev"},{"type":"vcs","url":"https://github.com/lucide-icons/lucide.git"}],"type":"library","bom-ref":"pkg:npm/lucide-react@0.554.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/lucide-react/package.json"},{"name":"ImportedModules","value":"lucide-react,AlertCircle,lucide-react/AlertCircle,ArrowLeft,lucide-react/ArrowLeft,FileIcon,lucide-react/FileIcon,ChevronRight,lucide-react/ChevronRight,FolderIcon,lucide-react/FolderIcon,Download,lucide-react/Download,Loader2,lucide-react/Loader2,Trash2,lucide-react/Trash2,FolderPlus,lucide-react/FolderPlus,lucide-react/X,BarChart3Icon,lucide-react/BarChart3Icon,ChevronDownIcon,lucide-react/ChevronDownIcon,ChevronDown,lucide-react/ChevronDown,ArrowUpDown,lucide-react/ArrowUpDown,MoreHorizontal,lucide-react/MoreHorizontal,ChevronLeftIcon,lucide-react/ChevronLeftIcon,ChevronRightIcon,lucide-react/ChevronRightIcon,ArrowRight,lucide-react/ArrowRight,CheckIcon,lucide-react/CheckIcon,SearchIcon,lucide-react/SearchIcon,CircleIcon,lucide-react/CircleIcon,XIcon,lucide-react/XIcon,MinusIcon,lucide-react/MinusIcon,MoreHorizontalIcon,lucide-react/MoreHorizontalIcon,GripVerticalIcon,lucide-react/GripVerticalIcon,ChevronUpIcon,lucide-react/ChevronUpIcon,PanelLeftIcon,lucide-react/PanelLeftIcon,CircleCheckIcon,lucide-react/CircleCheckIcon,InfoIcon,lucide-react/InfoIcon,Loader2Icon,lucide-react/Loader2Icon,OctagonXIcon,lucide-react/OctagonXIcon,TriangleAlertIcon,lucide-react/TriangleAlertIcon"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/lucide-react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/lucide-react/package.json"}],"occurrences":[{"location":"dist/react/file-browser/directory-list.js#6"},{"location":"dist/react/file-browser/file-entry.js#4"},{"location":"dist/react/file-browser/file-preview-panel.js#6"},{"location":"dist/react/file-browser/new-folder-input.js#5"},{"location":"dist/react/genie/genie-query-visualization.js#12"},{"location":"dist/react/table/data-table.js#9"},{"location":"dist/react/table/table-wrapper.js#11"},{"location":"dist/react/ui/accordion.js#3"},{"location":"dist/react/ui/breadcrumb.js#3"},{"location":"dist/react/ui/calendar.js#7"},{"location":"dist/react/ui/carousel.js#5"},{"location":"dist/react/ui/checkbox.js#5"},{"location":"dist/react/ui/command.js#4"},{"location":"dist/react/ui/context-menu.js#6"},{"location":"dist/react/ui/dialog.js#4"},{"location":"dist/react/ui/dropdown-menu.js#4"},{"location":"dist/react/ui/input-otp.js#4"},{"location":"dist/react/ui/menubar.js#4"},{"location":"dist/react/ui/navigation-menu.js#3"},{"location":"dist/react/ui/pagination.js#4"},{"location":"dist/react/ui/radio-group.js#5"},{"location":"dist/react/ui/resizable.js#3"},{"location":"dist/react/ui/select.js#4"},{"location":"dist/react/ui/sheet.js#4"},{"location":"dist/react/ui/sidebar.js#13"},{"location":"dist/react/ui/sonner.js#2"},{"location":"dist/react/ui/spinner.js#3"},{"location":"tmp/dist/react/file-browser/directory-list.js#6"},{"location":"tmp/dist/react/file-browser/file-entry.js#4"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#6"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#5"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#12"},{"location":"tmp/dist/react/table/data-table.js#9"},{"location":"tmp/dist/react/table/table-wrapper.js#11"},{"location":"tmp/dist/react/ui/accordion.js#3"},{"location":"tmp/dist/react/ui/breadcrumb.js#3"},{"location":"tmp/dist/react/ui/calendar.js#7"},{"location":"tmp/dist/react/ui/carousel.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#5"},{"location":"tmp/dist/react/ui/command.js#4"},{"location":"tmp/dist/react/ui/context-menu.js#6"},{"location":"tmp/dist/react/ui/dialog.js#4"},{"location":"tmp/dist/react/ui/dropdown-menu.js#4"},{"location":"tmp/dist/react/ui/input-otp.js#4"},{"location":"tmp/dist/react/ui/menubar.js#4"},{"location":"tmp/dist/react/ui/navigation-menu.js#3"},{"location":"tmp/dist/react/ui/pagination.js#4"},{"location":"tmp/dist/react/ui/radio-group.js#5"},{"location":"tmp/dist/react/ui/resizable.js#3"},{"location":"tmp/dist/react/ui/select.js#4"},{"location":"tmp/dist/react/ui/sheet.js#4"},{"location":"tmp/dist/react/ui/sidebar.js#13"},{"location":"tmp/dist/react/ui/sonner.js#2"},{"location":"tmp/dist/react/ui/spinner.js#3"},{"location":"src/react/file-browser/directory-list.tsx#1"},{"location":"src/react/file-browser/file-entry.tsx#1"},{"location":"src/react/file-browser/file-preview-panel.tsx#1"},{"location":"src/react/file-browser/new-folder-input.tsx#1"},{"location":"src/react/genie/genie-query-visualization.tsx#1"},{"location":"src/react/table/data-table.tsx#2"},{"location":"src/react/table/table-wrapper.tsx#15"},{"location":"src/react/ui/accordion.tsx#3"},{"location":"src/react/ui/breadcrumb.tsx#3"},{"location":"src/react/ui/calendar.tsx#9"},{"location":"src/react/ui/carousel.tsx#5"},{"location":"src/react/ui/checkbox.tsx#5"},{"location":"src/react/ui/command.tsx#3"},{"location":"src/react/ui/context-menu.tsx#5"},{"location":"src/react/ui/dialog.tsx#3"},{"location":"src/react/ui/dropdown-menu.tsx#3"},{"location":"src/react/ui/input-otp.tsx#3"},{"location":"src/react/ui/menubar.tsx#3"},{"location":"src/react/ui/navigation-menu.tsx#4"},{"location":"src/react/ui/pagination.tsx#6"},{"location":"src/react/ui/radio-group.tsx#5"},{"location":"src/react/ui/resizable.tsx#2"},{"location":"src/react/ui/select.tsx#3"},{"location":"src/react/ui/sheet.tsx#3"},{"location":"src/react/ui/sidebar.tsx#6"},{"location":"src/react/ui/sonner.tsx#8"},{"location":"src/react/ui/spinner.tsx#2"}]}},{"authors":[{"name":"Christopher Jeffrey"}],"group":"","name":"marked","version":"17.0.3","description":"A markdown parser built for speed","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/marked@17.0.3","externalReferences":[{"type":"website","url":"https://marked.js.org"},{"type":"vcs","url":"git://github.com/markedjs/marked.git"}],"type":"library","bom-ref":"pkg:npm/marked@17.0.3","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/marked/package.json"},{"name":"ImportedModules","value":"marked,marked/marked"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/marked/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/marked/package.json"}],"occurrences":[{"location":"dist/react/genie/genie-chat-message.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#8"},{"location":"src/react/genie/genie-chat-message.tsx#2"}]}},{"group":"","name":"next-themes","version":"0.4.6","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/next-themes@0.4.6","externalReferences":[{"type":"vcs","url":"https://github.com/pacocoursey/next-themes.git"}],"type":"framework","bom-ref":"pkg:npm/next-themes@0.4.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/next-themes/package.json"},{"name":"ImportedModules","value":"next-themes,useTheme,next-themes/useTheme"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/next-themes/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/next-themes/package.json"}],"occurrences":[{"location":"dist/react/ui/sonner.js#3"},{"location":"tmp/dist/react/ui/sonner.js#3"},{"location":"src/react/ui/sonner.tsx#9"}]},"tags":["framework"]},{"authors":[{"name":"Giampaolo Bellavite <io@gpbl.dev>"}],"group":"","name":"react-day-picker","version":"9.12.0","description":"Customizable Date Picker for React","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-day-picker@9.12.0","externalReferences":[{"type":"website","url":"https://daypicker.dev"},{"type":"vcs","url":"https://github.com/gpbl/react-day-picker"}],"type":"framework","bom-ref":"pkg:npm/react-day-picker@9.12.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-day-picker/package.json"},{"name":"ImportedModules","value":"react-day-picker,DayPicker,react-day-picker/DayPicker,getDefaultClassNames,react-day-picker/getDefaultClassNames,DayButton,react-day-picker/DayButton"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-day-picker/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-day-picker/package.json"}],"occurrences":[{"location":"dist/react/ui/calendar.js#8"},{"location":"tmp/dist/react/ui/calendar.js#8"},{"location":"src/react/ui/calendar.tsx#10"}]},"tags":["framework"]},{"authors":[{"name":"Beier(Bill) Luo <bluebill1049@hotmail.com>"}],"group":"","name":"react-hook-form","version":"7.68.0","description":"Performant, flexible and extensible forms library for React Hooks","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-hook-form@7.68.0","externalReferences":[{"type":"website","url":"https://react-hook-form.com"},{"type":"vcs","url":"https://github.com/react-hook-form/react-hook-form"}],"type":"framework","bom-ref":"pkg:npm/react-hook-form@7.68.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-hook-form/package.json"},{"name":"ImportedModules","value":"react-hook-form,Controller,react-hook-form/Controller,FormProvider,react-hook-form/FormProvider,useFormContext,react-hook-form/useFormContext,useFormState,react-hook-form/useFormState,ControllerProps,react-hook-form/ControllerProps,FieldPath,react-hook-form/FieldPath,FieldValues,react-hook-form/FieldValues"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-hook-form/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-hook-form/package.json"}],"occurrences":[{"location":"dist/react/ui/form.js#8"},{"location":"tmp/dist/react/ui/form.js#8"},{"location":"src/react/ui/form.tsx#14"}]},"tags":["framework"]},{"authors":[{"name":"Brian Vaughn <brian.david.vaughn@gmail.com>"}],"group":"","name":"react-resizable-panels","version":"3.0.6","description":"React components for resizable panel groups/layouts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react-resizable-panels@3.0.6","externalReferences":[{"type":"vcs","url":"git+https://github.com/bvaughn/react-resizable-panels.git"}],"type":"framework","bom-ref":"pkg:npm/react-resizable-panels@3.0.6","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"},{"name":"ImportedModules","value":"react-resizable-panels"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react-resizable-panels/package.json"}],"occurrences":[{"location":"dist/react/ui/resizable.js#4"},{"location":"tmp/dist/react/ui/resizable.js#4"},{"location":"src/react/ui/resizable.tsx#3"}]},"tags":["framework"]},{"group":"","name":"react","version":"19.2.0","description":"React is a JavaScript library for building user interfaces.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/react@19.2.0","externalReferences":[{"type":"website","url":"https://react.dev/"},{"type":"vcs","url":"https://github.com/facebook/react.git"}],"type":"framework","bom-ref":"pkg:npm/react@19.2.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/react/package.json"},{"name":"ExportedModules","value":"react/charts/area,react/charts/bar,react/charts/heatmap,react/charts/line,react/charts/pie,react/charts/radar,react/charts/scatter,react/hooks/use-chart-data,react/charts/base,react/charts/create-chart,react/charts/wrapper,react/charts/normalize,react/charts/constants,react/charts/theme,react/charts/utils,react/charts/options,react/charts/types,react/lib/format,react/genie/genie-chart-inference,react/genie/genie-chat,react/genie/genie-chat-input,react/genie/genie-chat-message,react/genie/genie-chat-message-list,react/genie/genie-query-transform,react/genie/genie-query-visualization,react/genie/use-genie-chat,react/hooks/types,react/hooks/use-agent-chat,react/hooks/use-analytics-query,react/hooks/use-plugin-config,react/hooks/use-serving-invoke,react/hooks/use-serving-stream,DonutChart,pie/DonutChart,PieChart,pie/PieChart,UseChartDataOptions,.hooks/use-chart-data/UseChartDataOptions,UseChartDataResult,.hooks/use-chart-data/UseChartDataResult,useChartData,.hooks/use-chart-data/useChartData,use-chart-data/UseChartDataOptions,use-chart-data/UseChartDataResult,use-chart-data/useChartData,BaseChart,base/BaseChart,BaseChartProps,base/BaseChartProps,ChartWrapper,wrapper/ChartWrapper,ChartWrapperProps,wrapper/ChartWrapperProps,NormalizedHeatmapData,normalize/NormalizedHeatmapData,normalizeChartData,normalize/normalizeChartData,normalizeHeatmapData,normalize/normalizeHeatmapData,CHART_COLOR_VARS,constants/CHART_COLOR_VARS,CHART_COLOR_VARS_CATEGORICAL,constants/CHART_COLOR_VARS_CATEGORICAL,CHART_COLOR_VARS_DIVERGING,constants/CHART_COLOR_VARS_DIVERGING,CHART_COLOR_VARS_SEQUENTIAL,constants/CHART_COLOR_VARS_SEQUENTIAL,DATE_FIELD_PATTERNS,constants/DATE_FIELD_PATTERNS,FALLBACK_COLORS_CATEGORICAL,constants/FALLBACK_COLORS_CATEGORICAL,FALLBACK_COLORS_DIVERGING,constants/FALLBACK_COLORS_DIVERGING,FALLBACK_COLORS_SEQUENTIAL,constants/FALLBACK_COLORS_SEQUENTIAL,METADATA_DATE_PATTERNS,constants/METADATA_DATE_PATTERNS,NAME_FIELD_PATTERNS,constants/NAME_FIELD_PATTERNS,useAllThemeColors,theme/useAllThemeColors,useThemeColors,theme/useThemeColors,createTimeSeriesData,utils/createTimeSeriesData,formatLabel,utils/formatLabel,sortTimeSeriesAscending,utils/sortTimeSeriesAscending,toChartArray,utils/toChartArray,toChartValue,utils/toChartValue,truncateLabel,utils/truncateLabel,buildCartesianOption,options/buildCartesianOption,buildHeatmapOption,options/buildHeatmapOption,buildHorizontalBarOption,options/buildHorizontalBarOption,buildPieOption,options/buildPieOption,buildRadarOption,options/buildRadarOption,CartesianContext,options/CartesianContext,HeatmapContext,options/HeatmapContext,OptionBuilderContext,options/OptionBuilderContext,AreaChartProps,types/AreaChartProps,AreaChartSpecificProps,types/AreaChartSpecificProps,BarChartProps,types/BarChartProps,BarChartSpecificProps,types/BarChartSpecificProps,ChartBaseProps,types/ChartBaseProps,ChartColorPalette,types/ChartColorPalette,ChartData,types/ChartData,ChartType,types/ChartType,DataFormat,types/DataFormat,DataProps,types/DataProps,DonutChartProps,types/DonutChartProps,HeatmapChartProps,types/HeatmapChartProps,HeatmapChartSpecificProps,types/HeatmapChartSpecificProps,LineChartProps,types/LineChartProps,LineChartSpecificProps,types/LineChartSpecificProps,NormalizedChartData,types/NormalizedChartData,NormalizedChartDataBase,types/NormalizedChartDataBase,Orientation,types/Orientation,PieChartProps,types/PieChartProps,PieChartSpecificProps,types/PieChartSpecificProps,QueryProps,types/QueryProps,RadarChartProps,types/RadarChartProps,RadarChartSpecificProps,types/RadarChartSpecificProps,ScatterChartProps,types/ScatterChartProps,ScatterChartSpecificProps,types/ScatterChartSpecificProps,UnifiedChartProps,types/UnifiedChartProps,isArrowTable,types/isArrowTable,isDataProps,types/isDataProps,isQueryProps,types/isQueryProps,ChartInference,genie-chart-inference/ChartInference,getCompatibleChartTypes,genie-chart-inference/getCompatibleChartTypes,inferChartType,genie-chart-inference/inferChartType,ColumnCategory,genie-query-transform/ColumnCategory,GenieColumnMeta,genie-query-transform/GenieColumnMeta,TransformedGenieData,genie-query-transform/TransformedGenieData,transformGenieData,genie-query-transform/transformGenieData,AnalyticsFormat,types/AnalyticsFormat,InferResultByFormat,types/InferResultByFormat,InferRowType,types/InferRowType,InferServingChunk,types/InferServingChunk,InferServingRequest,types/InferServingRequest,InferServingResponse,types/InferServingResponse,PluginRegistry,types/PluginRegistry,QueryRegistry,types/QueryRegistry,ServingAlias,types/ServingAlias,ServingEndpointRegistry,types/ServingEndpointRegistry,TypedArrowTable,types/TypedArrowTable,UseAnalyticsQueryOptions,types/UseAnalyticsQueryOptions,UseAnalyticsQueryResult,types/UseAnalyticsQueryResult,AgentChatEvent,use-agent-chat/AgentChatEvent,UseAgentChatOptions,use-agent-chat/UseAgentChatOptions,UseAgentChatResult,use-agent-chat/UseAgentChatResult,useAgentChat,use-agent-chat/useAgentChat,UseServingInvokeOptions,use-serving-invoke/UseServingInvokeOptions,UseServingInvokeResult,use-serving-invoke/UseServingInvokeResult,useServingInvoke,use-serving-invoke/useServingInvoke,UseServingStreamOptions,use-serving-stream/UseServingStreamOptions,UseServingStreamResult,use-serving-stream/UseServingStreamResult,useServingStream,use-serving-stream/useServingStream"},{"name":"ImportedModules","value":"react,useCallback,react/useCallback,useMemo,react/useMemo,useRef,react/useRef,react/jsx-runtime,react/jsx-runtime/jsx,Component,react/Component,jsxs,react/jsx-runtime/jsxs,useEffect,react/useEffect,useState,react/useState,useLayoutEffect,react/useLayoutEffect,createContext,react/createContext,useContext,react/useContext,Fragment,react/jsx-runtime/Fragment,react/JSX,ReactNode,react/ReactNode,KeyboardEvent,react/KeyboardEvent"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/react/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/react/package.json"}],"occurrences":[{"location":"dist/react/charts/base.js#5"},{"location":"dist/react/charts/base.js#6"},{"location":"dist/react/charts/chart-error-boundary.js#1"},{"location":"dist/react/charts/chart-error-boundary.js#2"},{"location":"dist/react/charts/create-chart.js#3"},{"location":"dist/react/charts/empty.js#1"},{"location":"dist/react/charts/error.js#1"},{"location":"dist/react/charts/loading.js#1"},{"location":"dist/react/charts/theme.js#2"},{"location":"dist/react/charts/wrapper.js#7"},{"location":"dist/react/file-browser/directory-list.js#5"},{"location":"dist/react/file-browser/file-breadcrumb.js#2"},{"location":"dist/react/file-browser/file-entry.js#3"},{"location":"dist/react/file-browser/file-preview-panel.js#5"},{"location":"dist/react/file-browser/new-folder-input.js#3"},{"location":"dist/react/file-browser/new-folder-input.js#4"},{"location":"dist/react/genie/genie-chat-input.js#3"},{"location":"dist/react/genie/genie-chat-input.js#4"},{"location":"dist/react/genie/genie-chat-message-list.js#7"},{"location":"dist/react/genie/genie-chat-message-list.js#8"},{"location":"dist/react/genie/genie-chat-message.js#5"},{"location":"dist/react/genie/genie-chat-message.js#6"},{"location":"dist/react/genie/genie-chat.js#6"},{"location":"dist/react/genie/genie-query-visualization.js#10"},{"location":"dist/react/genie/genie-query-visualization.js#11"},{"location":"dist/react/genie/use-genie-chat.js#4"},{"location":"dist/react/hooks/use-agent-chat.js#3"},{"location":"dist/react/hooks/use-analytics-query.js#5"},{"location":"dist/react/hooks/use-chart-data.js#2"},{"location":"dist/react/hooks/use-mobile.js#1"},{"location":"dist/react/hooks/use-query-hmr.js#1"},{"location":"dist/react/hooks/use-serving-invoke.js#2"},{"location":"dist/react/hooks/use-serving-stream.js#4"},{"location":"dist/react/portal-container-context.js#1"},{"location":"dist/react/portal-container-context.js#2"},{"location":"dist/react/table/data-table.js#8"},{"location":"dist/react/table/empty.js#1"},{"location":"dist/react/table/error.js#1"},{"location":"dist/react/table/loading.js#1"},{"location":"dist/react/table/table-wrapper.js#9"},{"location":"dist/react/table/table-wrapper.js#10"},{"location":"dist/react/ui/accordion.js#2"},{"location":"dist/react/ui/alert-dialog.js#4"},{"location":"dist/react/ui/alert.js#2"},{"location":"dist/react/ui/aspect-ratio.js#3"},{"location":"dist/react/ui/avatar.js#2"},{"location":"dist/react/ui/badge.js#2"},{"location":"dist/react/ui/breadcrumb.js#2"},{"location":"dist/react/ui/button-group.js#3"},{"location":"dist/react/ui/button.js#2"},{"location":"dist/react/ui/calendar.js#5"},{"location":"dist/react/ui/calendar.js#6"},{"location":"dist/react/ui/card.js#2"},{"location":"dist/react/ui/carousel.js#3"},{"location":"dist/react/ui/carousel.js#4"},{"location":"dist/react/ui/chart.js#4"},{"location":"dist/react/ui/chart.js#5"},{"location":"dist/react/ui/checkbox.js#4"},{"location":"dist/react/ui/collapsible.js#1"},{"location":"dist/react/ui/command.js#3"},{"location":"dist/react/ui/context-menu.js#5"},{"location":"dist/react/ui/dialog.js#3"},{"location":"dist/react/ui/drawer.js#5"},{"location":"dist/react/ui/dropdown-menu.js#3"},{"location":"dist/react/ui/empty.js#2"},{"location":"dist/react/ui/field.js#4"},{"location":"dist/react/ui/field.js#5"},{"location":"dist/react/ui/form.js#5"},{"location":"dist/react/ui/form.js#6"},{"location":"dist/react/ui/hover-card.js#5"},{"location":"dist/react/ui/input-group.js#7"},{"location":"dist/react/ui/input-otp.js#2"},{"location":"dist/react/ui/input-otp.js#3"},{"location":"dist/react/ui/input.js#2"},{"location":"dist/react/ui/item.js#3"},{"location":"dist/react/ui/kbd.js#2"},{"location":"dist/react/ui/label.js#4"},{"location":"dist/react/ui/menubar.js#3"},{"location":"dist/react/ui/navigation-menu.js#2"},{"location":"dist/react/ui/pagination.js#3"},{"location":"dist/react/ui/popover.js#5"},{"location":"dist/react/ui/progress.js#2"},{"location":"dist/react/ui/radio-group.js#4"},{"location":"dist/react/ui/resizable.js#2"},{"location":"dist/react/ui/scroll-area.js#4"},{"location":"dist/react/ui/select.js#3"},{"location":"dist/react/ui/separator.js#4"},{"location":"dist/react/ui/sheet.js#3"},{"location":"dist/react/ui/sidebar.js#11"},{"location":"dist/react/ui/sidebar.js#12"},{"location":"dist/react/ui/skeleton.js#2"},{"location":"dist/react/ui/slider.js#4"},{"location":"dist/react/ui/slider.js#5"},{"location":"dist/react/ui/sonner.js#1"},{"location":"dist/react/ui/spinner.js#2"},{"location":"dist/react/ui/switch.js#4"},{"location":"dist/react/ui/table.js#2"},{"location":"dist/react/ui/tabs.js#4"},{"location":"dist/react/ui/textarea.js#2"},{"location":"dist/react/ui/toggle-group.js#3"},{"location":"dist/react/ui/toggle-group.js#4"},{"location":"dist/react/ui/toggle.js#2"},{"location":"dist/react/ui/tooltip.js#5"},{"location":"tmp/dist/react/charts/base.js#5"},{"location":"tmp/dist/react/charts/base.js#6"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#1"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#2"},{"location":"tmp/dist/react/charts/create-chart.js#3"},{"location":"tmp/dist/react/charts/empty.js#1"},{"location":"tmp/dist/react/charts/error.js#1"},{"location":"tmp/dist/react/charts/loading.js#1"},{"location":"tmp/dist/react/charts/theme.js#2"},{"location":"tmp/dist/react/charts/wrapper.js#7"},{"location":"tmp/dist/react/file-browser/directory-list.js#5"},{"location":"tmp/dist/react/file-browser/file-breadcrumb.js#2"},{"location":"tmp/dist/react/file-browser/file-entry.js#3"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#5"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#3"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-input.js#3"},{"location":"tmp/dist/react/genie/genie-chat-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#7"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#5"},{"location":"tmp/dist/react/genie/genie-chat-message.js#6"},{"location":"tmp/dist/react/genie/genie-chat.js#6"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#10"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#11"},{"location":"tmp/dist/react/genie/use-genie-chat.js#4"},{"location":"tmp/dist/react/hooks/use-agent-chat.js#3"},{"location":"tmp/dist/react/hooks/use-analytics-query.js#5"},{"location":"tmp/dist/react/hooks/use-chart-data.js#2"},{"location":"tmp/dist/react/hooks/use-mobile.js#1"},{"location":"tmp/dist/react/hooks/use-query-hmr.js#1"},{"location":"tmp/dist/react/hooks/use-serving-invoke.js#2"},{"location":"tmp/dist/react/hooks/use-serving-stream.js#4"},{"location":"tmp/dist/react/portal-container-context.js#1"},{"location":"tmp/dist/react/portal-container-context.js#2"},{"location":"tmp/dist/react/table/data-table.js#8"},{"location":"tmp/dist/react/table/empty.js#1"},{"location":"tmp/dist/react/table/error.js#1"},{"location":"tmp/dist/react/table/loading.js#1"},{"location":"tmp/dist/react/table/table-wrapper.js#9"},{"location":"tmp/dist/react/table/table-wrapper.js#10"},{"location":"tmp/dist/react/ui/accordion.js#2"},{"location":"tmp/dist/react/ui/alert-dialog.js#4"},{"location":"tmp/dist/react/ui/alert.js#2"},{"location":"tmp/dist/react/ui/aspect-ratio.js#3"},{"location":"tmp/dist/react/ui/avatar.js#2"},{"location":"tmp/dist/react/ui/badge.js#2"},{"location":"tmp/dist/react/ui/breadcrumb.js#2"},{"location":"tmp/dist/react/ui/button-group.js#3"},{"location":"tmp/dist/react/ui/button.js#2"},{"location":"tmp/dist/react/ui/calendar.js#5"},{"location":"tmp/dist/react/ui/calendar.js#6"},{"location":"tmp/dist/react/ui/card.js#2"},{"location":"tmp/dist/react/ui/carousel.js#3"},{"location":"tmp/dist/react/ui/carousel.js#4"},{"location":"tmp/dist/react/ui/chart.js#4"},{"location":"tmp/dist/react/ui/chart.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#4"},{"location":"tmp/dist/react/ui/collapsible.js#1"},{"location":"tmp/dist/react/ui/command.js#3"},{"location":"tmp/dist/react/ui/context-menu.js#5"},{"location":"tmp/dist/react/ui/dialog.js#3"},{"location":"tmp/dist/react/ui/drawer.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#3"},{"location":"tmp/dist/react/ui/empty.js#2"},{"location":"tmp/dist/react/ui/field.js#4"},{"location":"tmp/dist/react/ui/field.js#5"},{"location":"tmp/dist/react/ui/form.js#5"},{"location":"tmp/dist/react/ui/form.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#5"},{"location":"tmp/dist/react/ui/input-group.js#7"},{"location":"tmp/dist/react/ui/input-otp.js#2"},{"location":"tmp/dist/react/ui/input-otp.js#3"},{"location":"tmp/dist/react/ui/input.js#2"},{"location":"tmp/dist/react/ui/item.js#3"},{"location":"tmp/dist/react/ui/kbd.js#2"},{"location":"tmp/dist/react/ui/label.js#4"},{"location":"tmp/dist/react/ui/menubar.js#3"},{"location":"tmp/dist/react/ui/navigation-menu.js#2"},{"location":"tmp/dist/react/ui/pagination.js#3"},{"location":"tmp/dist/react/ui/popover.js#5"},{"location":"tmp/dist/react/ui/progress.js#2"},{"location":"tmp/dist/react/ui/radio-group.js#4"},{"location":"tmp/dist/react/ui/resizable.js#2"},{"location":"tmp/dist/react/ui/scroll-area.js#4"},{"location":"tmp/dist/react/ui/select.js#3"},{"location":"tmp/dist/react/ui/separator.js#4"},{"location":"tmp/dist/react/ui/sheet.js#3"},{"location":"tmp/dist/react/ui/sidebar.js#11"},{"location":"tmp/dist/react/ui/sidebar.js#12"},{"location":"tmp/dist/react/ui/skeleton.js#2"},{"location":"tmp/dist/react/ui/slider.js#4"},{"location":"tmp/dist/react/ui/slider.js#5"},{"location":"tmp/dist/react/ui/sonner.js#1"},{"location":"tmp/dist/react/ui/spinner.js#2"},{"location":"tmp/dist/react/ui/switch.js#4"},{"location":"tmp/dist/react/ui/table.js#2"},{"location":"tmp/dist/react/ui/tabs.js#4"},{"location":"tmp/dist/react/ui/textarea.js#2"},{"location":"tmp/dist/react/ui/toggle-group.js#3"},{"location":"tmp/dist/react/ui/toggle-group.js#4"},{"location":"tmp/dist/react/ui/toggle.js#2"},{"location":"tmp/dist/react/ui/tooltip.js#5"},{"location":"src/react/charts/theme.ts#1"},{"location":"src/react/genie/use-genie-chat.ts#1"},{"location":"src/react/hooks/use-agent-chat.ts#1"},{"location":"src/react/hooks/use-analytics-query.ts#1"},{"location":"src/react/hooks/use-chart-data.ts#2"},{"location":"src/react/hooks/use-mobile.ts#1"},{"location":"src/react/hooks/use-query-hmr.ts#1"},{"location":"src/react/hooks/use-serving-invoke.ts#1"},{"location":"src/react/hooks/use-serving-stream.ts#1"},{"location":"src/react/charts/area/index.tsx#1"},{"location":"src/react/charts/bar/index.tsx#1"},{"location":"src/react/charts/base.tsx#3"},{"location":"src/react/charts/chart-error-boundary.tsx#1"},{"location":"src/react/charts/heatmap/index.tsx#1"},{"location":"src/react/charts/line/index.tsx#1"},{"location":"src/react/charts/pie/index.tsx#1"},{"location":"src/react/charts/radar/index.tsx#1"},{"location":"src/react/charts/scatter/index.tsx#1"},{"location":"src/react/charts/wrapper.tsx#1"},{"location":"src/react/file-browser/new-folder-input.tsx#2"},{"location":"src/react/genie/genie-chat-input.tsx#1"},{"location":"src/react/genie/genie-chat-message-list.tsx#1"},{"location":"src/react/genie/genie-chat-message.tsx#3"},{"location":"src/react/genie/genie-query-visualization.tsx#2"},{"location":"src/react/portal-container-context.tsx#1"},{"location":"src/react/portal-container-context.tsx#2"},{"location":"src/react/table/table-wrapper.tsx#16"},{"location":"src/react/ui/accordion.tsx#1"},{"location":"src/react/ui/alert-dialog.tsx#1"},{"location":"src/react/ui/alert.tsx#1"},{"location":"src/react/ui/avatar.tsx#1"},{"location":"src/react/ui/badge.tsx#1"},{"location":"src/react/ui/breadcrumb.tsx#1"},{"location":"src/react/ui/button.tsx#1"},{"location":"src/react/ui/calendar.tsx#4"},{"location":"src/react/ui/card.tsx#1"},{"location":"src/react/ui/carousel.tsx#1"},{"location":"src/react/ui/chart.tsx#3"},{"location":"src/react/ui/checkbox.tsx#3"},{"location":"src/react/ui/command.tsx#1"},{"location":"src/react/ui/context-menu.tsx#3"},{"location":"src/react/ui/dialog.tsx#1"},{"location":"src/react/ui/drawer.tsx#3"},{"location":"src/react/ui/dropdown-menu.tsx#1"},{"location":"src/react/ui/field.tsx#1"},{"location":"src/react/ui/form.tsx#3"},{"location":"src/react/ui/hover-card.tsx#3"},{"location":"src/react/ui/input-group.tsx#3"},{"location":"src/react/ui/input-otp.tsx#1"},{"location":"src/react/ui/input.tsx#1"},{"location":"src/react/ui/item.tsx#1"},{"location":"src/react/ui/label.tsx#3"},{"location":"src/react/ui/menubar.tsx#1"},{"location":"src/react/ui/navigation-menu.tsx#1"},{"location":"src/react/ui/pagination.tsx#1"},{"location":"src/react/ui/popover.tsx#3"},{"location":"src/react/ui/progress.tsx#1"},{"location":"src/react/ui/radio-group.tsx#3"},{"location":"src/react/ui/resizable.tsx#1"},{"location":"src/react/ui/scroll-area.tsx#3"},{"location":"src/react/ui/select.tsx#1"},{"location":"src/react/ui/separator.tsx#3"},{"location":"src/react/ui/sheet.tsx#1"},{"location":"src/react/ui/sidebar.tsx#3"},{"location":"src/react/ui/slider.tsx#3"},{"location":"src/react/ui/switch.tsx#3"},{"location":"src/react/ui/table.tsx#1"},{"location":"src/react/ui/tabs.tsx#3"},{"location":"src/react/ui/textarea.tsx#1"},{"location":"src/react/ui/toggle-group.tsx#1"},{"location":"src/react/ui/toggle.tsx#1"},{"location":"src/react/ui/tooltip.tsx#3"},{"location":"dist/react/charts/base.js#6"},{"location":"dist/react/charts/chart-error-boundary.js#2"},{"location":"dist/react/charts/create-chart.js#3"},{"location":"dist/react/charts/empty.js#1"},{"location":"dist/react/charts/error.js#1"},{"location":"dist/react/charts/loading.js#1"},{"location":"dist/react/charts/wrapper.js#7"},{"location":"dist/react/file-browser/directory-list.js#5"},{"location":"dist/react/file-browser/file-breadcrumb.js#2"},{"location":"dist/react/file-browser/file-entry.js#3"},{"location":"dist/react/file-browser/file-preview-panel.js#5"},{"location":"dist/react/file-browser/new-folder-input.js#4"},{"location":"dist/react/genie/genie-chat-input.js#4"},{"location":"dist/react/genie/genie-chat-message-list.js#8"},{"location":"dist/react/genie/genie-chat-message.js#6"},{"location":"dist/react/genie/genie-chat.js#6"},{"location":"dist/react/genie/genie-query-visualization.js#11"},{"location":"dist/react/portal-container-context.js#2"},{"location":"dist/react/table/data-table.js#8"},{"location":"dist/react/table/empty.js#1"},{"location":"dist/react/table/error.js#1"},{"location":"dist/react/table/loading.js#1"},{"location":"dist/react/table/table-wrapper.js#10"},{"location":"dist/react/ui/accordion.js#2"},{"location":"dist/react/ui/alert-dialog.js#4"},{"location":"dist/react/ui/alert.js#2"},{"location":"dist/react/ui/aspect-ratio.js#3"},{"location":"dist/react/ui/avatar.js#2"},{"location":"dist/react/ui/badge.js#2"},{"location":"dist/react/ui/breadcrumb.js#2"},{"location":"dist/react/ui/button-group.js#3"},{"location":"dist/react/ui/button.js#2"},{"location":"dist/react/ui/calendar.js#6"},{"location":"dist/react/ui/card.js#2"},{"location":"dist/react/ui/carousel.js#4"},{"location":"dist/react/ui/chart.js#5"},{"location":"dist/react/ui/checkbox.js#4"},{"location":"dist/react/ui/collapsible.js#1"},{"location":"dist/react/ui/command.js#3"},{"location":"dist/react/ui/context-menu.js#5"},{"location":"dist/react/ui/dialog.js#3"},{"location":"dist/react/ui/drawer.js#5"},{"location":"dist/react/ui/dropdown-menu.js#3"},{"location":"dist/react/ui/empty.js#2"},{"location":"dist/react/ui/field.js#5"},{"location":"dist/react/ui/form.js#6"},{"location":"dist/react/ui/hover-card.js#5"},{"location":"dist/react/ui/input-group.js#7"},{"location":"dist/react/ui/input-otp.js#3"},{"location":"dist/react/ui/input.js#2"},{"location":"dist/react/ui/item.js#3"},{"location":"dist/react/ui/kbd.js#2"},{"location":"dist/react/ui/label.js#4"},{"location":"dist/react/ui/menubar.js#3"},{"location":"dist/react/ui/navigation-menu.js#2"},{"location":"dist/react/ui/pagination.js#3"},{"location":"dist/react/ui/popover.js#5"},{"location":"dist/react/ui/progress.js#2"},{"location":"dist/react/ui/radio-group.js#4"},{"location":"dist/react/ui/resizable.js#2"},{"location":"dist/react/ui/scroll-area.js#4"},{"location":"dist/react/ui/select.js#3"},{"location":"dist/react/ui/separator.js#4"},{"location":"dist/react/ui/sheet.js#3"},{"location":"dist/react/ui/sidebar.js#12"},{"location":"dist/react/ui/skeleton.js#2"},{"location":"dist/react/ui/slider.js#5"},{"location":"dist/react/ui/sonner.js#1"},{"location":"dist/react/ui/spinner.js#2"},{"location":"dist/react/ui/switch.js#4"},{"location":"dist/react/ui/table.js#2"},{"location":"dist/react/ui/tabs.js#4"},{"location":"dist/react/ui/textarea.js#2"},{"location":"dist/react/ui/toggle-group.js#4"},{"location":"dist/react/ui/toggle.js#2"},{"location":"dist/react/ui/tooltip.js#5"},{"location":"tmp/dist/react/charts/base.js#6"},{"location":"tmp/dist/react/charts/chart-error-boundary.js#2"},{"location":"tmp/dist/react/charts/create-chart.js#3"},{"location":"tmp/dist/react/charts/empty.js#1"},{"location":"tmp/dist/react/charts/error.js#1"},{"location":"tmp/dist/react/charts/loading.js#1"},{"location":"tmp/dist/react/charts/wrapper.js#7"},{"location":"tmp/dist/react/file-browser/directory-list.js#5"},{"location":"tmp/dist/react/file-browser/file-breadcrumb.js#2"},{"location":"tmp/dist/react/file-browser/file-entry.js#3"},{"location":"tmp/dist/react/file-browser/file-preview-panel.js#5"},{"location":"tmp/dist/react/file-browser/new-folder-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-input.js#4"},{"location":"tmp/dist/react/genie/genie-chat-message-list.js#8"},{"location":"tmp/dist/react/genie/genie-chat-message.js#6"},{"location":"tmp/dist/react/genie/genie-chat.js#6"},{"location":"tmp/dist/react/genie/genie-query-visualization.js#11"},{"location":"tmp/dist/react/portal-container-context.js#2"},{"location":"tmp/dist/react/table/data-table.js#8"},{"location":"tmp/dist/react/table/empty.js#1"},{"location":"tmp/dist/react/table/error.js#1"},{"location":"tmp/dist/react/table/loading.js#1"},{"location":"tmp/dist/react/table/table-wrapper.js#10"},{"location":"tmp/dist/react/ui/accordion.js#2"},{"location":"tmp/dist/react/ui/alert-dialog.js#4"},{"location":"tmp/dist/react/ui/alert.js#2"},{"location":"tmp/dist/react/ui/aspect-ratio.js#3"},{"location":"tmp/dist/react/ui/avatar.js#2"},{"location":"tmp/dist/react/ui/badge.js#2"},{"location":"tmp/dist/react/ui/breadcrumb.js#2"},{"location":"tmp/dist/react/ui/button-group.js#3"},{"location":"tmp/dist/react/ui/button.js#2"},{"location":"tmp/dist/react/ui/calendar.js#6"},{"location":"tmp/dist/react/ui/card.js#2"},{"location":"tmp/dist/react/ui/carousel.js#4"},{"location":"tmp/dist/react/ui/chart.js#5"},{"location":"tmp/dist/react/ui/checkbox.js#4"},{"location":"tmp/dist/react/ui/collapsible.js#1"},{"location":"tmp/dist/react/ui/command.js#3"},{"location":"tmp/dist/react/ui/context-menu.js#5"},{"location":"tmp/dist/react/ui/dialog.js#3"},{"location":"tmp/dist/react/ui/drawer.js#5"},{"location":"tmp/dist/react/ui/dropdown-menu.js#3"},{"location":"tmp/dist/react/ui/empty.js#2"},{"location":"tmp/dist/react/ui/field.js#5"},{"location":"tmp/dist/react/ui/form.js#6"},{"location":"tmp/dist/react/ui/hover-card.js#5"},{"location":"tmp/dist/react/ui/input-group.js#7"},{"location":"tmp/dist/react/ui/input-otp.js#3"},{"location":"tmp/dist/react/ui/input.js#2"},{"location":"tmp/dist/react/ui/item.js#3"},{"location":"tmp/dist/react/ui/kbd.js#2"},{"location":"tmp/dist/react/ui/label.js#4"},{"location":"tmp/dist/react/ui/menubar.js#3"},{"location":"tmp/dist/react/ui/navigation-menu.js#2"},{"location":"tmp/dist/react/ui/pagination.js#3"},{"location":"tmp/dist/react/ui/popover.js#5"},{"location":"tmp/dist/react/ui/progress.js#2"},{"location":"tmp/dist/react/ui/radio-group.js#4"},{"location":"tmp/dist/react/ui/resizable.js#2"},{"location":"tmp/dist/react/ui/scroll-area.js#4"},{"location":"tmp/dist/react/ui/select.js#3"},{"location":"tmp/dist/react/ui/separator.js#4"},{"location":"tmp/dist/react/ui/sheet.js#3"},{"location":"tmp/dist/react/ui/sidebar.js#12"},{"location":"tmp/dist/react/ui/skeleton.js#2"},{"location":"tmp/dist/react/ui/slider.js#5"},{"location":"tmp/dist/react/ui/sonner.js#1"},{"location":"tmp/dist/react/ui/spinner.js#2"},{"location":"tmp/dist/react/ui/switch.js#4"},{"location":"tmp/dist/react/ui/table.js#2"},{"location":"tmp/dist/react/ui/tabs.js#4"},{"location":"tmp/dist/react/ui/textarea.js#2"},{"location":"tmp/dist/react/ui/toggle-group.js#4"},{"location":"tmp/dist/react/ui/toggle.js#2"},{"location":"tmp/dist/react/ui/tooltip.js#5"}]},"tags":["framework"]},{"authors":[{"name":"recharts group"}],"group":"","name":"recharts","version":"2.15.4","description":"React charts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/recharts@2.15.4","externalReferences":[{"type":"vcs","url":"https://github.com/recharts/recharts"},{"type":"vcs","url":"git+https://github.com/recharts/recharts.git"}],"type":"library","bom-ref":"pkg:npm/recharts@2.15.4","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/recharts/package.json"},{"name":"ImportedModules","value":"recharts"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/recharts/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/recharts/package.json"}],"occurrences":[{"location":"dist/react/ui/chart.js#6"},{"location":"tmp/dist/react/ui/chart.js#6"},{"location":"src/react/ui/chart.tsx#4"}]}},{"group":"","name":"shared","version":"0.0.1","scope":"required","purl":"pkg:npm/shared@0.0.1","type":"library","bom-ref":"pkg:npm/shared@0.0.1","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/shared/package.json"},{"name":"ExportedModules","value":"shared,isSQLTypeMarker,shared/isSQLTypeMarker,SQLBinaryMarker,shared/SQLBinaryMarker,SQLBooleanMarker,shared/SQLBooleanMarker,SQLDateMarker,shared/SQLDateMarker,SQLNumberMarker,shared/SQLNumberMarker,SQLStringMarker,shared/SQLStringMarker,SQLTimestampMarker,shared/SQLTimestampMarker,SQLTypeMarker,shared/SQLTypeMarker,shared/sql,GenieAttachmentResponse,shared/GenieAttachmentResponse,GenieMessageResponse,shared/GenieMessageResponse,GenieStatementResponse,shared/GenieStatementResponse,GenieStreamEvent,shared/GenieStreamEvent"},{"name":"ImportedModules","value":"shared,GenieStatementResponse,shared/GenieStatementResponse,GenieAttachmentResponse,shared/GenieAttachmentResponse"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/shared/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/shared/package.json"}],"occurrences":[{"location":"src/js/index.ts#11"},{"location":"src/react/genie/genie-query-transform.ts#11"},{"location":"src/react/genie/types.ts#1"},{"location":"src/react/genie/types.ts#8"},{"location":"src/react/genie/genie-query-visualization.tsx#3"}]},"tags":["sql"]},{"authors":[{"name":"Emil Kowalski <e@emilkowal.ski>"}],"group":"","name":"sonner","version":"2.0.7","description":"An opinionated toast component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/sonner@2.0.7","externalReferences":[{"type":"website","url":"https://sonner.emilkowal.ski/"},{"type":"vcs","url":"git+https://github.com/emilkowalski/sonner.git"}],"type":"library","bom-ref":"pkg:npm/sonner@2.0.7","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/sonner/package.json"},{"name":"ImportedModules","value":"sonner,Toaster,sonner/Toaster,ToasterProps,sonner/ToasterProps"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/sonner/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/sonner/package.json"}],"occurrences":[{"location":"dist/react/ui/sonner.js#4"},{"location":"tmp/dist/react/ui/sonner.js#4"},{"location":"src/react/ui/sonner.tsx#10"}]}},{"authors":[{"name":"Dany Castillo"}],"group":"","name":"tailwind-merge","version":"3.4.0","description":"Merge Tailwind CSS classes without style conflicts","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/tailwind-merge@3.4.0","externalReferences":[{"type":"vcs","url":"https://github.com/dcastil/tailwind-merge"},{"type":"vcs","url":"https://github.com/dcastil/tailwind-merge.git"}],"type":"library","bom-ref":"pkg:npm/tailwind-merge@3.4.0","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/tailwind-merge/package.json"},{"name":"ImportedModules","value":"tailwind-merge,twMerge,tailwind-merge/twMerge"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/tailwind-merge/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/tailwind-merge/package.json"}],"occurrences":[{"location":"dist/react/lib/utils.js#2"},{"location":"tmp/dist/react/lib/utils.js#2"},{"location":"src/react/lib/utils.ts#2"}]}},{"authors":[{"name":"Emil Kowalski <e@emilkowal.ski>"}],"group":"","name":"vaul","version":"1.1.2","description":"Drawer component for React.","scope":"required","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/vaul@1.1.2","externalReferences":[{"type":"website","url":"https://vaul.emilkowal.ski/"},{"type":"vcs","url":"https://github.com/emilkowalski/vaul.git"}],"type":"library","bom-ref":"pkg:npm/vaul@1.1.2","properties":[{"name":"SrcFile","value":"packages/appkit-ui/node_modules/vaul/package.json"},{"name":"ImportedModules","value":"vaul,Drawer,vaul/Drawer"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/appkit-ui/node_modules/vaul/package.json"}],"concludedValue":"packages/appkit-ui/node_modules/vaul/package.json"}],"occurrences":[{"location":"dist/react/ui/drawer.js#6"},{"location":"tmp/dist/react/ui/drawer.js#6"},{"location":"src/react/ui/drawer.tsx#4"}]}}],"dependencies":[],"compositions":[{"bom-ref":"pkg:npm/@databricks/appkit-ui@0.35.2","aggregate":"incomplete"}],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:npm/@databricks/appkit-ui@0.35.2"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"12.1.2","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.2","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.2","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2026-05-15T18:49:51Z","text":"This Software Bill-of-Materials (SBOM) document was created on Friday, May 15, 2026 with cdxgen. The data was captured during the build lifecycle phase. The document describes an application named 'appkit-ui' with version '0.35.2'. There are 48 components. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 48 source files."}]}