@blade-hq/agent-kit 0.4.4 → 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.
- package/README.md +8 -1
- package/dist/chunk-2UP7MG3J.js +66 -0
- package/dist/chunk-2UP7MG3J.js.map +1 -0
- package/dist/chunk-4VWLTG5L.js +2984 -0
- package/dist/chunk-4VWLTG5L.js.map +1 -0
- package/dist/chunk-7LEKQI47.js +32 -0
- package/dist/chunk-7LEKQI47.js.map +1 -0
- package/dist/chunk-DQCXSPHP.js +33 -0
- package/dist/chunk-DQCXSPHP.js.map +1 -0
- package/dist/chunk-I3FFV63W.js +30 -0
- package/dist/chunk-I3FFV63W.js.map +1 -0
- package/dist/chunk-J3XVFPOV.js +58 -0
- package/dist/chunk-J3XVFPOV.js.map +1 -0
- package/dist/chunk-JCJFFJ42.js +39 -0
- package/dist/chunk-JCJFFJ42.js.map +1 -0
- package/dist/chunk-LIL4FIZP.js +7992 -0
- package/dist/chunk-LIL4FIZP.js.map +1 -0
- package/dist/chunk-OKQWPNE3.js +1077 -0
- package/dist/chunk-OKQWPNE3.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/chunk-TC5BBLWO.js +29 -0
- package/dist/chunk-TC5BBLWO.js.map +1 -0
- package/dist/chunk-VD4CKRMT.js +127 -0
- package/dist/chunk-VD4CKRMT.js.map +1 -0
- package/dist/chunk-X6MEYCU7.js +1401 -0
- package/dist/chunk-X6MEYCU7.js.map +1 -0
- package/dist/client/index.d.ts +529 -40
- package/dist/client/index.js +24 -1033
- package/dist/client/index.js.map +1 -1
- package/dist/react/api/licenses.js +11 -1470
- package/dist/react/api/licenses.js.map +1 -1
- package/dist/react/api/vibe-coding.js +25 -1481
- package/dist/react/api/vibe-coding.js.map +1 -1
- package/dist/react/cards/register.js +45 -138
- package/dist/react/cards/register.js.map +1 -1
- package/dist/react/components/chat/index.js +28 -11366
- package/dist/react/components/chat/index.js.map +1 -1
- package/dist/react/components/plan/index.js +135 -3054
- package/dist/react/components/plan/index.js.map +1 -1
- package/dist/react/components/session/index.js +21 -1499
- package/dist/react/components/session/index.js.map +1 -1
- package/dist/react/components/workspace/index.js +116 -1715
- package/dist/react/components/workspace/index.js.map +1 -1
- package/dist/react/devtools/bridge-devtools/index.js +8 -51
- package/dist/react/devtools/bridge-devtools/index.js.map +1 -1
- package/dist/react/index.d.ts +74 -2
- package/dist/react/index.js +656 -13958
- package/dist/react/index.js.map +1 -1
- package/dist/style.css +2 -0
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -17,13 +17,20 @@ 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"
|
|
24
28
|
import { BladeClientProvider } from "@blade-hq/agent-kit/react"
|
|
29
|
+
import "@blade-hq/agent-kit/style.css"
|
|
25
30
|
```
|
|
26
31
|
|
|
32
|
+
如果使用 `@blade-hq/agent-kit/chat`、`@blade-hq/agent-kit/session` 等预制 React UI,应用入口必须导入 `@blade-hq/agent-kit/style.css`。只使用 `/client` 或 hooks 自行渲染 UI 时不需要导入这份样式。
|
|
33
|
+
|
|
27
34
|
## 认证
|
|
28
35
|
|
|
29
36
|
SDK 支持 cookie 会话和 Bearer Token 两种模式。
|
|
@@ -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":[]}
|