@blade-hq/agent-kit 0.4.5 → 0.4.6

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 (48) hide show
  1. package/README.md +5 -1
  2. package/dist/chunk-2UP7MG3J.js +66 -0
  3. package/dist/chunk-2UP7MG3J.js.map +1 -0
  4. package/dist/chunk-4VWLTG5L.js +2984 -0
  5. package/dist/chunk-4VWLTG5L.js.map +1 -0
  6. package/dist/chunk-7LEKQI47.js +32 -0
  7. package/dist/chunk-7LEKQI47.js.map +1 -0
  8. package/dist/chunk-DQCXSPHP.js +33 -0
  9. package/dist/chunk-DQCXSPHP.js.map +1 -0
  10. package/dist/chunk-I3FFV63W.js +30 -0
  11. package/dist/chunk-I3FFV63W.js.map +1 -0
  12. package/dist/chunk-J3XVFPOV.js +58 -0
  13. package/dist/chunk-J3XVFPOV.js.map +1 -0
  14. package/dist/chunk-JCJFFJ42.js +39 -0
  15. package/dist/chunk-JCJFFJ42.js.map +1 -0
  16. package/dist/chunk-LIL4FIZP.js +7992 -0
  17. package/dist/chunk-LIL4FIZP.js.map +1 -0
  18. package/dist/chunk-OKQWPNE3.js +1077 -0
  19. package/dist/chunk-OKQWPNE3.js.map +1 -0
  20. package/dist/chunk-PZ5AY32C.js +10 -0
  21. package/dist/chunk-PZ5AY32C.js.map +1 -0
  22. package/dist/chunk-TC5BBLWO.js +29 -0
  23. package/dist/chunk-TC5BBLWO.js.map +1 -0
  24. package/dist/chunk-VD4CKRMT.js +127 -0
  25. package/dist/chunk-VD4CKRMT.js.map +1 -0
  26. package/dist/chunk-X6MEYCU7.js +1401 -0
  27. package/dist/chunk-X6MEYCU7.js.map +1 -0
  28. package/dist/client/index.js +24 -1052
  29. package/dist/client/index.js.map +1 -1
  30. package/dist/react/api/licenses.js +11 -1470
  31. package/dist/react/api/licenses.js.map +1 -1
  32. package/dist/react/api/vibe-coding.js +25 -1481
  33. package/dist/react/api/vibe-coding.js.map +1 -1
  34. package/dist/react/cards/register.js +45 -138
  35. package/dist/react/cards/register.js.map +1 -1
  36. package/dist/react/components/chat/index.js +28 -11366
  37. package/dist/react/components/chat/index.js.map +1 -1
  38. package/dist/react/components/plan/index.js +135 -3054
  39. package/dist/react/components/plan/index.js.map +1 -1
  40. package/dist/react/components/session/index.js +21 -1499
  41. package/dist/react/components/session/index.js.map +1 -1
  42. package/dist/react/components/workspace/index.js +116 -1715
  43. package/dist/react/components/workspace/index.js.map +1 -1
  44. package/dist/react/devtools/bridge-devtools/index.js +8 -51
  45. package/dist/react/devtools/bridge-devtools/index.js.map +1 -1
  46. package/dist/react/index.js +625 -14035
  47. package/dist/react/index.js.map +1 -1
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -17,7 +17,11 @@ SDK 通过两个子包暴露能力:
17
17
  pnpm install
18
18
  ```
19
19
 
20
- 第三方项目未来发布后可安装同一个包,并按需要选择子包入口:
20
+ 第三方项目可安装发布包,并按需要选择子包入口:
21
+
22
+ ```bash
23
+ npm install @blade-hq/agent-kit @tanstack/react-query react react-dom sonner
24
+ ```
21
25
 
22
26
  ```ts
23
27
  import { BladeClient } from "@blade-hq/agent-kit/client"
@@ -0,0 +1,66 @@
1
+ // src/react/lib/card-registry.ts
2
+ var CardComponentRegistry = class {
3
+ components;
4
+ constructor(initial) {
5
+ if (initial instanceof Map) {
6
+ this.components = new Map(initial);
7
+ } else if (initial) {
8
+ this.components = new Map(Object.entries(initial));
9
+ } else {
10
+ this.components = /* @__PURE__ */ new Map();
11
+ }
12
+ }
13
+ register(type, component) {
14
+ this.components.set(type, component);
15
+ }
16
+ get(type) {
17
+ return this.components.get(type);
18
+ }
19
+ has(type) {
20
+ return this.components.has(type);
21
+ }
22
+ keys() {
23
+ return Array.from(this.components.keys());
24
+ }
25
+ clear() {
26
+ this.components.clear();
27
+ }
28
+ get size() {
29
+ return this.components.size;
30
+ }
31
+ };
32
+ var cardRegistry = new CardComponentRegistry();
33
+ var CardJSON = {
34
+ safeParseJSON(text) {
35
+ try {
36
+ const value = JSON.parse(text);
37
+ return { ok: true, value };
38
+ } catch (error) {
39
+ return {
40
+ ok: false,
41
+ error: error instanceof Error ? error.message : "Unknown parsing error"
42
+ };
43
+ }
44
+ },
45
+ toCardArray(value) {
46
+ if (value && typeof value === "object" && "type" in value && typeof value.type === "string") {
47
+ return [value];
48
+ }
49
+ if (Array.isArray(value)) {
50
+ const cards = value.filter(
51
+ (item) => item && typeof item === "object" && "type" in item && typeof item.type === "string"
52
+ );
53
+ return cards.length > 0 ? cards : null;
54
+ }
55
+ return null;
56
+ },
57
+ isCardsLanguage(lang) {
58
+ return lang === "card+json";
59
+ }
60
+ };
61
+
62
+ export {
63
+ cardRegistry,
64
+ CardJSON
65
+ };
66
+ //# sourceMappingURL=chunk-2UP7MG3J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/lib/card-registry.ts"],"sourcesContent":["import type { ComponentType } from \"react\"\n\nexport interface Card {\n type: string\n title?: string\n payload?: Record<string, unknown>\n data?: unknown\n id?: string\n}\n\nexport interface CardComponentProps {\n card: Card\n sendMessage?: (content: string) => Promise<void>\n sessionId?: string\n}\n\nexport type CardComponent = ComponentType<CardComponentProps>\n\nexport class CardComponentRegistry {\n private readonly components: Map<string, CardComponent>\n\n constructor(initial?: Record<string, CardComponent> | Map<string, CardComponent>) {\n if (initial instanceof Map) {\n this.components = new Map(initial)\n } else if (initial) {\n this.components = new Map(Object.entries(initial))\n } else {\n this.components = new Map()\n }\n }\n\n register(type: string, component: CardComponent): void {\n this.components.set(type, component)\n }\n\n get(type: string): CardComponent | undefined {\n return this.components.get(type)\n }\n\n has(type: string): boolean {\n return this.components.has(type)\n }\n\n keys(): string[] {\n return Array.from(this.components.keys())\n }\n\n clear(): void {\n this.components.clear()\n }\n\n get size(): number {\n return this.components.size\n }\n}\n\nexport const cardRegistry = new CardComponentRegistry()\n\nexport interface ParseResult<T> {\n ok: boolean\n value?: T\n error?: string\n}\n\nexport const CardJSON = {\n safeParseJSON<T = unknown>(text: string): ParseResult<T> {\n try {\n const value = JSON.parse(text) as T\n return { ok: true, value }\n } catch (error) {\n return {\n ok: false,\n error: error instanceof Error ? error.message : \"Unknown parsing error\",\n }\n }\n },\n\n toCardArray(value: unknown): Card[] | null {\n if (\n value &&\n typeof value === \"object\" &&\n \"type\" in (value as Record<string, unknown>) &&\n typeof (value as { type?: unknown }).type === \"string\"\n ) {\n return [value as Card]\n }\n\n if (Array.isArray(value)) {\n const cards = value.filter(\n (item): item is Card =>\n item &&\n typeof item === \"object\" &&\n \"type\" in (item as Record<string, unknown>) &&\n typeof (item as { type?: unknown }).type === \"string\",\n )\n return cards.length > 0 ? cards : null\n }\n\n return null\n },\n\n isCardsLanguage(lang?: string): boolean {\n return lang === \"card+json\"\n },\n}\n"],"mappings":";AAkBO,IAAM,wBAAN,MAA4B;AAAA,EAChB;AAAA,EAEjB,YAAY,SAAsE;AAChF,QAAI,mBAAmB,KAAK;AAC1B,WAAK,aAAa,IAAI,IAAI,OAAO;AAAA,IACnC,WAAW,SAAS;AAClB,WAAK,aAAa,IAAI,IAAI,OAAO,QAAQ,OAAO,CAAC;AAAA,IACnD,OAAO;AACL,WAAK,aAAa,oBAAI,IAAI;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,SAAS,MAAc,WAAgC;AACrD,SAAK,WAAW,IAAI,MAAM,SAAS;AAAA,EACrC;AAAA,EAEA,IAAI,MAAyC;AAC3C,WAAO,KAAK,WAAW,IAAI,IAAI;AAAA,EACjC;AAAA,EAEA,IAAI,MAAuB;AACzB,WAAO,KAAK,WAAW,IAAI,IAAI;AAAA,EACjC;AAAA,EAEA,OAAiB;AACf,WAAO,MAAM,KAAK,KAAK,WAAW,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,QAAc;AACZ,SAAK,WAAW,MAAM;AAAA,EACxB;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,WAAW;AAAA,EACzB;AACF;AAEO,IAAM,eAAe,IAAI,sBAAsB;AAQ/C,IAAM,WAAW;AAAA,EACtB,cAA2B,MAA8B;AACvD,QAAI;AACF,YAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,aAAO,EAAE,IAAI,MAAM,MAAM;AAAA,IAC3B,SAAS,OAAO;AACd,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,YAAY,OAA+B;AACzC,QACE,SACA,OAAO,UAAU,YACjB,UAAW,SACX,OAAQ,MAA6B,SAAS,UAC9C;AACA,aAAO,CAAC,KAAa;AAAA,IACvB;AAEA,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAM,QAAQ,MAAM;AAAA,QAClB,CAAC,SACC,QACA,OAAO,SAAS,YAChB,UAAW,QACX,OAAQ,KAA4B,SAAS;AAAA,MACjD;AACA,aAAO,MAAM,SAAS,IAAI,QAAQ;AAAA,IACpC;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,gBAAgB,MAAwB;AACtC,WAAO,SAAS;AAAA,EAClB;AACF;","names":[]}