@arcadeai/design-system 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{arcade-DSu1Vp41.js → arcade-DzMbb7xi.js} +512 -586
  2. package/dist/components/index.js +302 -300
  3. package/dist/components/ui/atoms/alert-dialog.d.ts +14 -0
  4. package/dist/components/ui/atoms/alert-dialog.js +248 -0
  5. package/dist/components/ui/atoms/command.js +1 -1
  6. package/dist/components/ui/atoms/dialog.js +1 -1
  7. package/dist/components/ui/atoms/icons/codesandbox.d.ts +3 -0
  8. package/dist/components/ui/atoms/icons/codesandbox.js +26 -0
  9. package/dist/components/ui/atoms/icons/index.d.ts +1 -0
  10. package/dist/components/ui/atoms/icons/index.js +182 -180
  11. package/dist/components/ui/atoms/index.js +285 -283
  12. package/dist/components/ui/atoms/sheet.js +1 -1
  13. package/dist/components/ui/index.js +302 -300
  14. package/dist/components/ui/molecules/toolkit-picker-trigger.js +29 -32
  15. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-filter.test.js +2 -2
  16. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-search.test.js +2 -2
  17. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker-selection.test.js +2 -2
  18. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts +11 -3
  19. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.js +141 -99
  20. package/dist/components/ui/organisms/toolkit-picker/index.d.ts +2 -0
  21. package/dist/components/ui/organisms/toolkit-picker/index.js +3 -2
  22. package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.d.ts +2 -0
  23. package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.js +247 -55
  24. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.test.js +2 -2
  25. package/dist/components/ui/utils/memo.test.js +1 -1
  26. package/dist/{index-BzU0xzeS.js → index-Dkey23PG.js} +3 -1
  27. package/dist/lib/arcade/arcade.js +3 -2
  28. package/dist/lib/arcade/arcade.test.js +2 -2
  29. package/dist/lib/utils.test.js +1 -1
  30. package/dist/main.js +313 -311
  31. package/dist/metadata/oauth-providers.js +9 -9
  32. package/dist/metadata/toolkits.js +383 -227
  33. package/dist/metadata/types.d.ts +2 -1
  34. package/dist/{react.esm-CFMQn0EI.js → react.esm-CAxz4dXo.js} +1 -1
  35. package/dist/{vi.bdSIJ99Y-CQ1FdEM8.js → vi.bdSIJ99Y-hyudrc3R.js} +3880 -3436
  36. package/dist/web-sgv-FK6q.js +84 -0
  37. package/package.json +2 -1
@@ -1,32 +1,35 @@
1
+ import "../../../../../web-sgv-FK6q.js";
1
2
  import "react/jsx-runtime";
2
- import { Generic as y } from "../../../atoms/icons/generic.js";
3
- import { allTools as m } from "../../../../../lib/arcade/mocks.js";
4
- import { TOOLKIT_CATALOGUE as w } from "../../../../../metadata/toolkits.js";
5
- const M = m.filter((i) => i.toolkit.name === "basic"), T = m.filter((i) => i.toolkit.name === "api_toolkit"), A = m.filter((i) => i.toolkit.name === "Google"), q = m.filter((i) => i.toolkit.name === "Gmail"), o = (i, s = !1, n = !1) => {
6
- const l = w[i];
3
+ import { Generic as w } from "../../../atoms/icons/generic.js";
4
+ import { allTools as d } from "../../../../../lib/arcade/mocks.js";
5
+ import { TOOLKIT_CATALOGUE as y } from "../../../../../metadata/toolkits.js";
6
+ const q = d.filter((i) => i.toolkit.name === "basic"), M = d.filter((i) => i.toolkit.name === "api_toolkit"), T = d.filter((i) => i.toolkit.name === "Google"), b = d.filter((i) => i.toolkit.name === "Gmail"), o = (i, r = !1, n = !1) => {
7
+ const l = y[i];
7
8
  return l ? {
8
9
  ...l,
9
- isBYOC: s,
10
+ isBYOC: r,
10
11
  isPro: n
11
12
  } : {
12
13
  id: i,
13
14
  label: i,
14
- isBYOC: s,
15
+ isBYOC: r,
15
16
  isPro: n,
16
17
  publicIconUrl: "",
17
- icon: y,
18
+ icon: w,
18
19
  summary: `Mock ${i} toolkit`,
19
20
  docsLink: `https://docs.example.com/${i}`,
20
21
  relativeDocsLink: `/${i}`,
21
22
  type: "community",
22
- category: "productivity"
23
+ category: "productivity",
24
+ isComingSoon: !1,
25
+ isHidden: !1
23
26
  };
24
- }, E = {
27
+ }, S = {
25
28
  basic: {
26
29
  name: "basic",
27
30
  description: "Basic toolkit with essential tools",
28
31
  version: "1.0.0",
29
- tools: M,
32
+ tools: q,
30
33
  requirements: {
31
34
  met: !0,
32
35
  secrets: [],
@@ -38,7 +41,7 @@ const M = m.filter((i) => i.toolkit.name === "basic"), T = m.filter((i) => i.too
38
41
  name: "api_toolkit",
39
42
  description: "API toolkit for external integrations",
40
43
  version: "2.0.0",
41
- tools: T,
44
+ tools: M,
42
45
  requirements: {
43
46
  met: !1,
44
47
  secrets: [
@@ -216,7 +219,7 @@ const M = m.filter((i) => i.toolkit.name === "basic"), T = m.filter((i) => i.too
216
219
  name: "Google",
217
220
  description: "Arcade.dev LLM tools for Google Workspace",
218
221
  version: "1.2.4",
219
- tools: A,
222
+ tools: T,
220
223
  requirements: {
221
224
  met: !0,
222
225
  secrets: [],
@@ -235,7 +238,7 @@ const M = m.filter((i) => i.toolkit.name === "basic"), T = m.filter((i) => i.too
235
238
  name: "Gmail",
236
239
  description: "Arcade.dev LLM tools for Gmail",
237
240
  version: "2.0.0",
238
- tools: q,
241
+ tools: b,
239
242
  requirements: {
240
243
  met: !0,
241
244
  secrets: [],
@@ -261,25 +264,25 @@ const M = m.filter((i) => i.toolkit.name === "basic"), T = m.filter((i) => i.too
261
264
  }
262
265
  }
263
266
  };
264
- function v(i) {
265
- const s = [], n = [], l = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), u = {
267
+ function f(i) {
268
+ const r = [], n = [], l = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), u = {
266
269
  toolkitsByName: /* @__PURE__ */ new Map(),
267
270
  toolsByName: /* @__PURE__ */ new Map()
268
271
  };
269
- for (const [e, a] of Object.entries(i)) {
270
- const _ = `${a.name} ${a.description || ""} ${a.version || ""}`, h = {
271
- secrets: a.requirements?.secrets?.length ? {
272
- configured: a.requirements.secrets.filter((t) => t.met === !0).map((t) => t.key),
273
- pending: a.requirements.secrets.filter((t) => t.met === !1).map((t) => t.key)
272
+ for (const [e, s] of Object.entries(i)) {
273
+ const h = `${s.name} ${s.description || ""} ${s.version || ""}`, g = {
274
+ secrets: s.requirements?.secrets?.length ? {
275
+ configured: s.requirements.secrets.filter((t) => t.met === !0).map((t) => t.key),
276
+ pending: s.requirements.secrets.filter((t) => t.met === !1).map((t) => t.key)
274
277
  } : void 0,
275
- oauth: a.requirements?.authorization?.length ? {
276
- providers: a.requirements.authorization.filter((t) => t.provider_id || t.id).map((t) => ({
278
+ oauth: s.requirements?.authorization?.length ? {
279
+ providers: s.requirements.authorization.filter((t) => t.provider_id || t.id).map((t) => ({
277
280
  id: t.provider_id || t.id || "",
278
281
  status: t.status,
279
282
  scopes: t.oauth2?.scopes || []
280
283
  }))
281
284
  } : void 0
282
- }, f = (() => {
285
+ }, _ = (() => {
283
286
  switch (e) {
284
287
  case "basic":
285
288
  return o(e, !1, !1);
@@ -349,17 +352,17 @@ function v(i) {
349
352
  default:
350
353
  return o(e, !1, !1);
351
354
  }
352
- })(), r = {
353
- ...a,
354
- searchableText: _,
355
- requirementsSummary: h,
356
- metadata: f
355
+ })(), a = {
356
+ ...s,
357
+ searchableText: h,
358
+ requirementsSummary: g,
359
+ metadata: _
357
360
  };
358
- s.push(r), l.set(e, r), u.toolkitsByName.set(e.toLowerCase(), r);
359
- for (const t of a.tools) {
360
- const g = `${t.name} ${t.fully_qualified_name} ${t.description || ""} ${a.name} ${a.description || ""}`, c = {
361
+ r.push(a), l.set(e, a), u.toolkitsByName.set(e.toLowerCase(), a);
362
+ for (const t of s.tools) {
363
+ const v = `${t.name} ${t.fully_qualified_name} ${t.description || ""} ${s.name} ${s.description || ""}`, c = {
361
364
  ...t,
362
- searchableText: g
365
+ searchableText: v
363
366
  };
364
367
  n.push(c), p.set(t.fully_qualified_name, e), u.toolsByName.set(
365
368
  t.fully_qualified_name.toLowerCase(),
@@ -368,14 +371,14 @@ function v(i) {
368
371
  }
369
372
  }
370
373
  return {
371
- toolkits: s,
374
+ toolkits: r,
372
375
  tools: n,
373
376
  toolkitMap: l,
374
377
  toolToToolkitMap: p,
375
378
  searchIndex: u
376
379
  };
377
380
  }
378
- const S = {
381
+ const A = {
379
382
  Slack: {
380
383
  name: "Slack",
381
384
  description: "Slack communication toolkit",
@@ -428,9 +431,196 @@ const S = {
428
431
  ],
429
432
  requirements: { met: !0, secrets: [], authorization: [], scopes: {} }
430
433
  }
431
- }, x = v(E), C = v(S);
432
- function G() {
433
- const i = {}, f = [
434
+ }, P = f(S), x = f(A), E = {
435
+ Gmail: {
436
+ name: "Gmail",
437
+ description: "Gmail email management toolkit",
438
+ version: "2.0.0",
439
+ tools: [
440
+ {
441
+ name: "send_email",
442
+ input: { parameters: [] },
443
+ qualified_name: "gmail.send_email",
444
+ description: "Send email via Gmail",
445
+ fully_qualified_name: "gmail.send_email",
446
+ toolkit: {
447
+ name: "Gmail",
448
+ description: "Gmail email management toolkit",
449
+ version: "2.0.0"
450
+ }
451
+ },
452
+ {
453
+ name: "read_emails",
454
+ input: { parameters: [] },
455
+ qualified_name: "gmail.read_emails",
456
+ description: "Read emails from Gmail",
457
+ fully_qualified_name: "gmail.read_emails",
458
+ toolkit: {
459
+ name: "Gmail",
460
+ description: "Gmail email management toolkit",
461
+ version: "2.0.0"
462
+ }
463
+ }
464
+ ],
465
+ requirements: {
466
+ met: !0,
467
+ secrets: [],
468
+ authorization: [
469
+ {
470
+ id: "arcade-gmail",
471
+ provider_id: "google",
472
+ status: "active",
473
+ oauth2: {
474
+ scopes: [
475
+ "https://www.googleapis.com/auth/gmail.modify",
476
+ "https://www.googleapis.com/auth/gmail.labels"
477
+ ]
478
+ }
479
+ }
480
+ ],
481
+ scopes: {
482
+ google: [
483
+ "https://www.googleapis.com/auth/gmail.modify",
484
+ "https://www.googleapis.com/auth/gmail.labels"
485
+ ]
486
+ }
487
+ }
488
+ },
489
+ Slack: {
490
+ name: "Slack",
491
+ description: "Slack communication toolkit",
492
+ version: "1.0.0",
493
+ tools: [
494
+ {
495
+ name: "send_message",
496
+ input: { parameters: [] },
497
+ qualified_name: "slack.send_message",
498
+ description: "Send message to Slack channel",
499
+ fully_qualified_name: "slack.send_message",
500
+ toolkit: {
501
+ name: "Slack",
502
+ description: "Slack communication toolkit",
503
+ version: "1.0.0"
504
+ }
505
+ },
506
+ {
507
+ name: "create_channel",
508
+ input: { parameters: [] },
509
+ qualified_name: "slack.create_channel",
510
+ description: "Create new Slack channel",
511
+ fully_qualified_name: "slack.create_channel",
512
+ toolkit: {
513
+ name: "Slack",
514
+ description: "Slack communication toolkit",
515
+ version: "1.0.0"
516
+ }
517
+ }
518
+ ],
519
+ requirements: {
520
+ met: !0,
521
+ secrets: [],
522
+ authorization: [
523
+ {
524
+ id: "arcade-slack",
525
+ provider_id: "slack",
526
+ status: "active",
527
+ oauth2: { scopes: ["channels:read", "chat:write"] }
528
+ }
529
+ ],
530
+ scopes: { slack: ["channels:read", "chat:write", "users:read"] }
531
+ }
532
+ },
533
+ GitHub: {
534
+ name: "GitHub",
535
+ description: "GitHub development toolkit",
536
+ version: "2.0.0",
537
+ tools: [
538
+ {
539
+ name: "create_repository",
540
+ input: { parameters: [] },
541
+ qualified_name: "github.create_repository",
542
+ description: "Create a new GitHub repository",
543
+ fully_qualified_name: "github.create_repository",
544
+ toolkit: {
545
+ name: "GitHub",
546
+ description: "GitHub development toolkit",
547
+ version: "2.0.0"
548
+ }
549
+ },
550
+ {
551
+ name: "create_issue",
552
+ input: { parameters: [] },
553
+ qualified_name: "github.create_issue",
554
+ description: "Create a new GitHub issue",
555
+ fully_qualified_name: "github.create_issue",
556
+ toolkit: {
557
+ name: "GitHub",
558
+ description: "GitHub development toolkit",
559
+ version: "2.0.0"
560
+ }
561
+ }
562
+ ],
563
+ requirements: {
564
+ met: !0,
565
+ secrets: [],
566
+ authorization: [
567
+ {
568
+ id: "arcade-github",
569
+ provider_id: "github",
570
+ status: "active",
571
+ oauth2: { scopes: ["repo", "issues"] }
572
+ }
573
+ ],
574
+ scopes: { github: ["repo", "issues", "user"] }
575
+ }
576
+ },
577
+ Notion: {
578
+ name: "Notion",
579
+ description: "Notion workspace toolkit",
580
+ version: "1.5.0",
581
+ tools: [
582
+ {
583
+ name: "create_page",
584
+ input: { parameters: [] },
585
+ qualified_name: "notion.create_page",
586
+ description: "Create a new Notion page",
587
+ fully_qualified_name: "notion.create_page",
588
+ toolkit: {
589
+ name: "Notion",
590
+ description: "Notion workspace toolkit",
591
+ version: "1.5.0"
592
+ }
593
+ },
594
+ {
595
+ name: "search_pages",
596
+ input: { parameters: [] },
597
+ qualified_name: "notion.search_pages",
598
+ description: "Search Notion pages",
599
+ fully_qualified_name: "notion.search_pages",
600
+ toolkit: {
601
+ name: "Notion",
602
+ description: "Notion workspace toolkit",
603
+ version: "1.5.0"
604
+ }
605
+ }
606
+ ],
607
+ requirements: {
608
+ met: !0,
609
+ secrets: [],
610
+ authorization: [
611
+ {
612
+ id: "arcade-notion",
613
+ provider_id: "notion",
614
+ status: "active",
615
+ oauth2: { scopes: ["read", "write"] }
616
+ }
617
+ ],
618
+ scopes: { notion: ["read", "write"] }
619
+ }
620
+ }
621
+ }, H = f(E);
622
+ function L() {
623
+ const i = {}, _ = [
434
624
  "Discord",
435
625
  "Notion",
436
626
  "Stripe",
@@ -461,18 +651,18 @@ function G() {
461
651
  "Finance",
462
652
  "CRM"
463
653
  ];
464
- for (const r of f) {
654
+ for (const a of _) {
465
655
  const t = [], c = 8 + Math.floor(Math.random() * 8);
466
- for (let d = 0; d < c; d++) {
467
- const k = `${r.toLowerCase()}_tool_${d + 1}`;
656
+ for (let m = 0; m < c; m++) {
657
+ const k = `${a.toLowerCase()}_tool_${m + 1}`;
468
658
  t.push({
469
659
  name: k,
470
- fully_qualified_name: `${r.toLowerCase()}.${k}`,
660
+ fully_qualified_name: `${a.toLowerCase()}.${k}`,
471
661
  qualified_name: k,
472
- description: `${r} tool ${d + 1} - performs ${r.toLowerCase()} operations with advanced features`,
662
+ description: `${a} tool ${m + 1} - performs ${a.toLowerCase()} operations with advanced features`,
473
663
  toolkit: {
474
- name: r,
475
- description: `${r} toolkit for comprehensive ${r.toLowerCase()} operations`,
664
+ name: a,
665
+ description: `${a} toolkit for comprehensive ${a.toLowerCase()} operations`,
476
666
  version: `${Math.floor(Math.random() * 3) + 1}.${Math.floor(
477
667
  Math.random() * 10
478
668
  )}.0`
@@ -481,9 +671,9 @@ function G() {
481
671
  requirements: void 0
482
672
  });
483
673
  }
484
- i[r] = {
485
- name: r,
486
- description: `${r} toolkit with ${c} powerful tools for ${r.toLowerCase()} operations`,
674
+ i[a] = {
675
+ name: a,
676
+ description: `${a} toolkit with ${c} powerful tools for ${a.toLowerCase()} operations`,
487
677
  version: `${Math.floor(Math.random() * 3) + 1}.${Math.floor(
488
678
  Math.random() * 10
489
679
  )}.0`,
@@ -492,7 +682,7 @@ function G() {
492
682
  met: Math.random() > 0.3,
493
683
  secrets: Math.random() > 0.7 ? [
494
684
  {
495
- key: `${r.toUpperCase()}_API_KEY`,
685
+ key: `${a.toUpperCase()}_API_KEY`,
496
686
  met: Math.random() > 0.5,
497
687
  status_reason: Math.random() > 0.5 ? "API key configured" : "API key not found"
498
688
  }
@@ -505,10 +695,12 @@ function G() {
505
695
  return i;
506
696
  }
507
697
  export {
508
- v as createMockToolkitCollection,
509
- G as generateLargeDataset,
510
- x as mockToolkitCollection,
511
- E as mockToolkits,
512
- C as simpleMockToolkitCollection,
513
- S as simpleMockToolkits
698
+ f as createMockToolkitCollection,
699
+ H as demoMockToolkitCollection,
700
+ E as demoMockToolkits,
701
+ L as generateLargeDataset,
702
+ P as mockToolkitCollection,
703
+ S as mockToolkits,
704
+ x as simpleMockToolkitCollection,
705
+ A as simpleMockToolkits
514
706
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as T } from "react/jsx-runtime";
2
2
  import { ToolkitPickerTrigger as N } from "../../molecules/toolkit-picker-trigger.js";
3
- import { c as Mo, e as Ko, g as v, d as Sc, a as Mc, i as D, v as pe } from "../../../../vi.bdSIJ99Y-CQ1FdEM8.js";
4
- import { g as _e, b as $, s as u, c as V, w as fe, d as Ac } from "../../../../react.esm-CFMQn0EI.js";
3
+ import { c as Mo, e as Ko, g as v, d as Sc, a as Mc, i as D, v as pe } from "../../../../vi.bdSIJ99Y-hyudrc3R.js";
4
+ import { g as _e, b as $, s as u, c as V, w as fe, d as Ac } from "../../../../react.esm-CAxz4dXo.js";
5
5
  import { ToolkitPicker as H } from "./index.js";
6
6
  import { createMockToolkitCollection as Nc, mockToolkitCollection as j } from "./mocks/toolkit-collection.js";
7
7
  var fo, zo;
@@ -1,5 +1,5 @@
1
1
  import { createPropsComparator as s, areStringArraysEqual as a } from "./memo.js";
2
- import { d as i, i as t, g as e } from "../../../vi.bdSIJ99Y-CQ1FdEM8.js";
2
+ import { d as i, i as t, g as e } from "../../../vi.bdSIJ99Y-hyudrc3R.js";
3
3
  i("createPropsComparator", () => {
4
4
  t("returns true when selected keys are strictly equal", () => {
5
5
  const r = s(["id", "name"]);
@@ -238,6 +238,8 @@ export {
238
238
  Ee as P,
239
239
  he as R,
240
240
  Pe as T,
241
+ _e as W,
241
242
  xe as a,
242
- Oe as b
243
+ Oe as b,
244
+ Re as c
243
245
  };
@@ -1,6 +1,7 @@
1
- import { A as i } from "../../arcade-DSu1Vp41.js";
1
+ import "../../web-sgv-FK6q.js";
2
+ import { A as p } from "../../arcade-DzMbb7xi.js";
2
3
  import "../../metadata/toolkits.js";
3
4
  import "../../utils-Db4QWi-E.js";
4
5
  export {
5
- i as ArcadeClient
6
+ p as ArcadeClient
6
7
  };
@@ -1,6 +1,6 @@
1
- import { A as i, a as c } from "../../arcade-DSu1Vp41.js";
1
+ import { A as i, a as c } from "../../arcade-DzMbb7xi.js";
2
2
  import { allTools as m } from "./mocks.js";
3
- import { v as l, d as u, b as p, i as s, g as e } from "../../vi.bdSIJ99Y-CQ1FdEM8.js";
3
+ import { v as l, d as u, b as p, i as s, g as e } from "../../vi.bdSIJ99Y-hyudrc3R.js";
4
4
  const d = {
5
5
  tools: {
6
6
  list: l.fn().mockImplementation((o) => {
@@ -1,5 +1,5 @@
1
1
  import { c as o, r as s } from "../utils-Db4QWi-E.js";
2
- import { d as r, i as n, g as e, b as v, a as i, v as t } from "../vi.bdSIJ99Y-CQ1FdEM8.js";
2
+ import { d as r, i as n, g as e, b as v, a as i, v as t } from "../vi.bdSIJ99Y-hyudrc3R.js";
3
3
  r("cn", () => {
4
4
  n("joins simple class names", () => {
5
5
  e(o("a", "b", "c")).toBe("a b c");