@blade-hq/agent-kit 1.0.25 → 1.0.28

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 (287) hide show
  1. package/dist/chunk-7LEKQI47.js +32 -0
  2. package/dist/chunk-7LEKQI47.js.map +1 -0
  3. package/dist/{chunk-3I4ZURKH.js → chunk-BGNKHPCD.js} +223 -50
  4. package/dist/chunk-BGNKHPCD.js.map +1 -0
  5. package/dist/{chunk-4D4EXLVT.js → chunk-DQCXSPHP.js} +2 -2
  6. package/dist/chunk-HCQDDDOX.js +23 -0
  7. package/dist/chunk-HCQDDDOX.js.map +1 -0
  8. package/dist/{chunk-QODAKTG5.js → chunk-JCJFFJ42.js} +2 -31
  9. package/dist/chunk-JCJFFJ42.js.map +1 -0
  10. package/dist/{chunk-XCIDE3JW.js → chunk-OGHUIKCY.js} +7 -7
  11. package/dist/{chunk-WPLEMYL7.js → chunk-PYYDXV2A.js} +2 -2
  12. package/dist/{chunk-VJY6RLYU.js → chunk-TVWC3PED.js} +2 -2
  13. package/dist/{chunk-WVXXQ3KM.js → chunk-UWNQ4PXK.js} +134 -1201
  14. package/dist/chunk-UWNQ4PXK.js.map +1 -0
  15. package/dist/{chunk-M45K3554.js → chunk-YJ6BX3FU.js} +1382 -32
  16. package/dist/chunk-YJ6BX3FU.js.map +1 -0
  17. package/dist/client/auth.d.ts +8 -0
  18. package/dist/client/blade-client.d.ts +82 -0
  19. package/dist/client/index.d.ts +23 -15348
  20. package/dist/client/index.js +3 -1
  21. package/dist/client/resources/api-keys.d.ts +28 -0
  22. package/dist/client/resources/app-dev-templates.d.ts +93 -0
  23. package/dist/client/resources/auth.d.ts +26 -0
  24. package/dist/client/resources/env-buckets.d.ts +20 -0
  25. package/dist/client/resources/gis.d.ts +8 -0
  26. package/dist/client/resources/headless.d.ts +33 -0
  27. package/dist/client/resources/memories.d.ts +63 -0
  28. package/dist/client/resources/models.d.ts +26 -0
  29. package/dist/client/resources/published-apps.d.ts +8 -0
  30. package/dist/client/resources/registry.d.ts +58 -0
  31. package/dist/client/resources/runs.d.ts +8 -0
  32. package/dist/client/resources/scenarios.d.ts +49 -0
  33. package/dist/client/resources/sessions.d.ts +253 -0
  34. package/dist/client/resources/skills.d.ts +38 -0
  35. package/dist/client/resources/solutions.d.ts +31 -0
  36. package/dist/client/resources/user-preferences.d.ts +26 -0
  37. package/dist/client/rest.d.ts +19 -0
  38. package/dist/client/shared/projection/builder.d.ts +59 -0
  39. package/dist/client/shared/projection/helpers.d.ts +34 -0
  40. package/dist/client/shared/projection/history.d.ts +12 -0
  41. package/dist/client/shared/projection/index.d.ts +3 -0
  42. package/dist/client/shared/projection/state.d.ts +22 -0
  43. package/dist/client/socket.d.ts +9 -0
  44. package/dist/client/types/index.d.ts +8 -0
  45. package/dist/client/types/rest.d.ts +16316 -0
  46. package/dist/client/types/sdk-profile.d.ts +47 -0
  47. package/dist/client/types/socket-events.d.ts +389 -0
  48. package/dist/react/api/api-keys.d.ts +6 -0
  49. package/dist/react/api/app-dev-templates.d.ts +5 -0
  50. package/dist/react/api/auth.d.ts +7 -0
  51. package/dist/react/api/client.d.ts +8 -0
  52. package/dist/react/api/env-buckets.d.ts +10 -0
  53. package/dist/react/api/gis-api.d.ts +4 -0
  54. package/dist/react/api/memories.d.ts +14 -0
  55. package/dist/react/api/model-config.d.ts +68 -0
  56. package/dist/react/api/models.d.ts +13 -0
  57. package/dist/react/api/partner-skill.d.ts +2 -0
  58. package/dist/react/api/prod-solution.d.ts +456 -0
  59. package/dist/react/api/published-apps.d.ts +21 -0
  60. package/dist/react/api/published-apps.js +14 -0
  61. package/dist/react/api/published-apps.js.map +1 -0
  62. package/dist/react/api/registry.d.ts +46 -0
  63. package/dist/react/api/scenarios.d.ts +9 -0
  64. package/dist/react/api/scheduled-tasks.d.ts +24 -0
  65. package/dist/react/api/session-skill.d.ts +2 -0
  66. package/dist/react/api/sessions.d.ts +109 -0
  67. package/dist/react/api/sessions.js +93 -0
  68. package/dist/react/api/sessions.js.map +1 -0
  69. package/dist/react/api/skills.d.ts +27 -0
  70. package/dist/react/api/socket.d.ts +5 -0
  71. package/dist/react/api/solutions.d.ts +11 -0
  72. package/dist/react/api/user-preferences.d.ts +8 -0
  73. package/dist/react/asr/VoiceWaveform.d.ts +10 -0
  74. package/dist/react/asr/use-tiptap-voice-input.d.ts +29 -0
  75. package/dist/react/asr/use-voice-input.d.ts +17 -0
  76. package/dist/react/asr/voice-input-support.d.ts +5 -0
  77. package/dist/react/bootstrap.d.ts +4 -0
  78. package/dist/react/cards/register.d.ts +1 -2
  79. package/dist/react/cards/register.js +3 -2
  80. package/dist/react/cards/register.js.map +1 -1
  81. package/dist/react/components/ai-elements/file-tree.d.ts +26 -0
  82. package/dist/react/components/ai-elements/reasoning.d.ts +32 -0
  83. package/dist/react/components/ai-elements/shimmer.d.ts +11 -0
  84. package/dist/react/components/card/CardCodeBlock.d.ts +5 -0
  85. package/dist/react/components/card/CardContext.d.ts +7 -0
  86. package/dist/react/components/card/CardRenderer.d.ts +7 -0
  87. package/dist/react/components/card/CardStates.d.ts +8 -0
  88. package/dist/react/components/card/cards/attraction-card.d.ts +2 -0
  89. package/dist/react/components/card/cards/cite-card.d.ts +10 -0
  90. package/dist/react/components/card/cards/comprehensive-analysis-card.d.ts +2 -0
  91. package/dist/react/components/card/cards/conflict-detection-card.d.ts +4 -0
  92. package/dist/react/components/card/cards/counter.d.ts +2 -0
  93. package/dist/react/components/card/cards/damage-effect-card.d.ts +4 -0
  94. package/dist/react/components/card/cards/destination-card.d.ts +2 -0
  95. package/dist/react/components/card/cards/diff-card.d.ts +2 -0
  96. package/dist/react/components/card/cards/execution-order-card.d.ts +2 -0
  97. package/dist/react/components/card/cards/experience-card-with-options.d.ts +4 -0
  98. package/dist/react/components/card/cards/flight-card.d.ts +2 -0
  99. package/dist/react/components/card/cards/hotel-card.d.ts +2 -0
  100. package/dist/react/components/card/cards/kill-chain-card.d.ts +2 -0
  101. package/dist/react/components/card/cards/kill-chain-types.d.ts +157 -0
  102. package/dist/react/components/card/cards/map-card.d.ts +2 -0
  103. package/dist/react/components/card/cards/order-status-card.d.ts +2 -0
  104. package/dist/react/components/card/cards/patch-card.d.ts +15 -0
  105. package/dist/react/components/card/cards/product-recommendation-card.d.ts +2 -0
  106. package/dist/react/components/card/cards/reflection-optimization-card.d.ts +2 -0
  107. package/dist/react/components/card/cards/resolution-modifications-card.d.ts +2 -0
  108. package/dist/react/components/card/cards/resolution-summary-card.d.ts +2 -0
  109. package/dist/react/components/card/cards/restaurant-card.d.ts +2 -0
  110. package/dist/react/components/card/cards/shopping-list-card.d.ts +2 -0
  111. package/dist/react/components/card/cards/simulation-event-card.d.ts +4 -0
  112. package/dist/react/components/card/cards/survival-effect-card.d.ts +4 -0
  113. package/dist/react/components/card/cards/travel-itinerary-card.d.ts +2 -0
  114. package/dist/react/components/card/register.d.ts +1 -0
  115. package/dist/react/components/chat/AgentLoopBlock.d.ts +8 -0
  116. package/dist/react/components/chat/AskUserQuestionBlock.d.ts +32 -0
  117. package/dist/react/components/chat/AssistantTurnBlock.d.ts +28 -0
  118. package/dist/react/components/chat/AttachmentPreviewDialog.d.ts +26 -0
  119. package/dist/react/components/chat/BackgroundTasksPill.d.ts +3 -0
  120. package/dist/react/components/chat/ChatInput.d.ts +94 -0
  121. package/dist/react/components/chat/ChatView.d.ts +18 -0
  122. package/dist/react/components/chat/CompactionCard.d.ts +6 -0
  123. package/dist/react/components/chat/ConnectionBanner.d.ts +1 -0
  124. package/dist/react/components/chat/FileCompletionMenu.d.ts +13 -0
  125. package/dist/react/components/chat/FileSizeLimitDialog.d.ts +9 -0
  126. package/dist/react/components/chat/ImageLightbox.d.ts +11 -0
  127. package/dist/react/components/chat/MessageActions.d.ts +6 -0
  128. package/dist/react/components/chat/MessageContextPills.d.ts +6 -0
  129. package/dist/react/components/chat/MessageFileAttachmentList.d.ts +13 -0
  130. package/dist/react/components/chat/MessageList.d.ts +15 -0
  131. package/dist/react/components/chat/ProgressCircle.d.ts +12 -0
  132. package/dist/react/components/chat/RenderErrorBoundary.d.ts +19 -0
  133. package/dist/react/components/chat/ResourceIframe.d.ts +5 -0
  134. package/dist/react/components/chat/Shimmer.d.ts +6 -0
  135. package/dist/react/components/chat/SkillCompletionMenu.d.ts +9 -0
  136. package/dist/react/components/chat/SkillStatusBar.d.ts +8 -0
  137. package/dist/react/components/chat/StickyStatusBar.d.ts +10 -0
  138. package/dist/react/components/chat/TextAttachmentPills.d.ts +10 -0
  139. package/dist/react/components/chat/ThinkingToggle.d.ts +7 -0
  140. package/dist/react/components/chat/ToolCallBlock.d.ts +18 -0
  141. package/dist/react/components/chat/TurnNavRail.d.ts +11 -0
  142. package/dist/react/components/chat/UserMessageBubble.d.ts +20 -0
  143. package/dist/react/components/chat/WhatIfUserBubble.d.ts +13 -0
  144. package/dist/react/components/chat/customization.d.ts +82 -0
  145. package/dist/react/components/chat/display-utils.d.ts +35 -0
  146. package/dist/react/components/chat/extensions/file-mention.d.ts +12 -0
  147. package/dist/react/components/chat/extensions/skill-mention.d.ts +25 -0
  148. package/dist/react/components/chat/index.d.ts +16 -115
  149. package/dist/react/components/chat/index.js +8 -7
  150. package/dist/react/components/chat/scroll-anchor.d.ts +8 -0
  151. package/dist/react/components/chat/tool-renderers/BashRenderer.d.ts +2 -0
  152. package/dist/react/components/chat/tool-renderers/FileEditRenderer.d.ts +2 -0
  153. package/dist/react/components/chat/tool-renderers/FileReadRenderer.d.ts +2 -0
  154. package/dist/react/components/chat/tool-renderers/SearchRenderer.d.ts +2 -0
  155. package/dist/react/components/chat/tool-renderers/SubmitResultRenderer.d.ts +2 -0
  156. package/dist/react/components/chat/tool-renderers/registry.d.ts +9 -0
  157. package/dist/react/components/chat/tool-renderers/shared.d.ts +26 -0
  158. package/dist/react/components/chat/whatif-quote-context.d.ts +15 -0
  159. package/dist/react/components/markdown/ExternalLinkDialog.d.ts +8 -0
  160. package/dist/react/components/markdown/FileCardComponent.d.ts +10 -0
  161. package/dist/react/components/markdown/MarkdownContent.d.ts +19 -0
  162. package/dist/react/components/model/ModelSelector.d.ts +9 -0
  163. package/dist/react/components/plan/PlanSummaryCard.d.ts +8 -0
  164. package/dist/react/components/plan/PlanVisualization.d.ts +13 -0
  165. package/dist/react/components/plan/debug-log.d.ts +21 -0
  166. package/dist/react/components/plan/extract-plan-messages.d.ts +2 -0
  167. package/dist/react/components/plan/index.d.ts +6 -110
  168. package/dist/react/components/plan/index.js +7 -6
  169. package/dist/react/components/plan/index.js.map +1 -1
  170. package/dist/react/components/plan/parse-plan-messages.d.ts +10 -0
  171. package/dist/react/components/plan/parse-plan-tree.d.ts +16 -0
  172. package/dist/react/components/plan/phases/PlanMindMap.d.ts +8 -0
  173. package/dist/react/components/plan/phases/PlanStatusIcon.d.ts +5 -0
  174. package/dist/react/components/plan/phases/PlanTree.d.ts +8 -0
  175. package/dist/react/components/plan/phases/SkillAnalysis.d.ts +7 -0
  176. package/dist/react/components/plan/phases/SkillDiscovery.d.ts +10 -0
  177. package/dist/react/components/plan/types.d.ts +56 -0
  178. package/dist/react/components/session/SessionDetail.d.ts +8 -0
  179. package/dist/react/components/session/SessionList.d.ts +9 -0
  180. package/dist/react/components/session/SessionListItem.d.ts +8 -0
  181. package/dist/react/components/session/StatusBadge.d.ts +3 -0
  182. package/dist/react/components/session/index.d.ts +5 -53
  183. package/dist/react/components/session/index.js +6 -5
  184. package/dist/react/components/session/index.js.map +1 -1
  185. package/dist/react/components/session/session-utils.d.ts +19 -0
  186. package/dist/react/components/ui/collapsible.d.ts +5 -0
  187. package/dist/react/components/workspace/FileTree.d.ts +21 -0
  188. package/dist/react/components/workspace/WorkspaceFilesPanel.d.ts +30 -0
  189. package/dist/react/components/workspace/file-icon-assets.d.ts +3 -0
  190. package/dist/react/components/workspace/index.d.ts +2 -59
  191. package/dist/react/components/workspace/index.js +6 -5
  192. package/dist/react/components/workspace/index.js.map +1 -1
  193. package/dist/react/context.d.ts +2 -0
  194. package/dist/react/devtools/bridge-devtools/BridgeDevtoolsFab.d.ts +1 -0
  195. package/dist/react/devtools/bridge-devtools/index.d.ts +3 -36
  196. package/dist/react/devtools/bridge-devtools/mount.d.ts +1 -0
  197. package/dist/react/devtools/bridge-devtools/store.d.ts +15 -0
  198. package/dist/react/devtools/bridge-devtools/tap.d.ts +5 -0
  199. package/dist/react/devtools/bridge-devtools/types.d.ts +29 -0
  200. package/dist/react/hooks/use-background-tasks.d.ts +7 -0
  201. package/dist/react/hooks/use-card-state.d.ts +1 -0
  202. package/dist/react/hooks/use-chat.d.ts +13 -0
  203. package/dist/react/hooks/use-check-skill-file.d.ts +4 -0
  204. package/dist/react/hooks/use-check-solution-file.d.ts +4 -0
  205. package/dist/react/hooks/use-context-stats.d.ts +7 -0
  206. package/dist/react/hooks/use-gis.d.ts +17 -0
  207. package/dist/react/hooks/use-global-skill-stats.d.ts +6 -0
  208. package/dist/react/hooks/use-input-history.d.ts +7 -0
  209. package/dist/react/hooks/use-model-preferences.d.ts +18 -0
  210. package/dist/react/hooks/use-registry.d.ts +53 -0
  211. package/dist/react/hooks/use-resolved-model.d.ts +6 -0
  212. package/dist/react/hooks/use-session.d.ts +10 -0
  213. package/dist/react/hooks/use-skill-stats.d.ts +7 -0
  214. package/dist/react/hooks/use-skills.d.ts +6 -0
  215. package/dist/react/hooks/use-token-pressure.d.ts +6 -0
  216. package/dist/react/index.d.ts +124 -2034
  217. package/dist/react/index.js +125 -50
  218. package/dist/react/index.js.map +1 -1
  219. package/dist/react/lib/analytics.d.ts +7 -0
  220. package/dist/react/lib/attachment-upload.d.ts +10 -0
  221. package/dist/react/lib/card-registry.d.ts +35 -0
  222. package/dist/react/lib/chat.d.ts +48 -0
  223. package/dist/react/lib/code-highlight.d.ts +9 -0
  224. package/dist/react/lib/html-element-selection.d.ts +140 -0
  225. package/dist/react/lib/html-source-locator.d.ts +16 -0
  226. package/dist/react/lib/open-session-file.d.ts +2 -0
  227. package/dist/react/lib/parent-bridge.d.ts +22 -0
  228. package/dist/react/lib/preview-dispatch.d.ts +24 -0
  229. package/dist/react/lib/resource-bridge.d.ts +11 -0
  230. package/dist/react/lib/session-file-preview.d.ts +8 -0
  231. package/dist/react/lib/step-ranges.d.ts +42 -0
  232. package/dist/react/lib/tool-preview.d.ts +2 -0
  233. package/dist/react/lib/ui-meta.d.ts +9 -0
  234. package/dist/react/lib/utils.d.ts +3 -0
  235. package/dist/react/lib/whatif-prompt.d.ts +45 -0
  236. package/dist/react/provider.d.ts +8 -0
  237. package/dist/react/routes.d.ts +1 -0
  238. package/dist/react/schemas/background.d.ts +16 -0
  239. package/dist/react/schemas/event.d.ts +51 -0
  240. package/dist/react/schemas/gis.d.ts +50 -0
  241. package/dist/{AskUserQuestionBlock---kOTouk.d.ts → react/schemas/message.d.ts} +15 -48
  242. package/dist/react/schemas/partner-skill.d.ts +46 -0
  243. package/dist/{projection-BWYEFYNn.d.ts → react/schemas/projection.d.ts} +12 -10
  244. package/dist/react/schemas/published-apps.d.ts +38 -0
  245. package/dist/react/schemas/scheduled-task.d.ts +32 -0
  246. package/dist/react/schemas/session.d.ts +121 -0
  247. package/dist/react/schemas/skill.d.ts +50 -0
  248. package/dist/react/schemas/studio/agent.d.ts +12 -0
  249. package/dist/react/schemas/studio/database.d.ts +39 -0
  250. package/dist/react/schemas/studio/env.d.ts +7 -0
  251. package/dist/react/schemas/studio/knowledge.d.ts +18 -0
  252. package/dist/react/schemas/studio/resource-base.d.ts +7 -0
  253. package/dist/react/schemas/studio/scene.d.ts +12 -0
  254. package/dist/react/schemas/studio/tool.d.ts +25 -0
  255. package/dist/react/schemas/task.d.ts +12 -0
  256. package/dist/react/sockets/event-bridge.d.ts +115 -0
  257. package/dist/react/sockets/socket-state.d.ts +4 -0
  258. package/dist/react/stores/answer-callback-store.d.ts +9 -0
  259. package/dist/react/stores/auth-store.d.ts +38 -0
  260. package/dist/react/stores/background-store.d.ts +13 -0
  261. package/dist/react/stores/card-state-store.d.ts +10 -0
  262. package/dist/react/stores/chat-store.d.ts +34 -0
  263. package/dist/react/stores/client-aware.d.ts +7 -0
  264. package/dist/react/stores/connection-store.d.ts +14 -0
  265. package/dist/react/stores/gis-store.d.ts +19 -0
  266. package/dist/react/stores/index.d.ts +14 -0
  267. package/dist/react/stores/runtime-features-store.d.ts +21 -0
  268. package/dist/react/stores/runtime-store.d.ts +18 -0
  269. package/dist/react/stores/session-store.d.ts +44 -0
  270. package/dist/react/stores/task-store.d.ts +9 -0
  271. package/dist/react/stores/ui-bridge-store.d.ts +32 -0
  272. package/dist/react/stores/ui-store.d.ts +69 -0
  273. package/dist/react/types/index.d.ts +7 -0
  274. package/dist/react/types/solution.d.ts +101 -0
  275. package/package.json +41 -11
  276. package/dist/SkillStatusBar-U6fbQxMu.d.ts +0 -340
  277. package/dist/blade-client-qTOovekU.d.ts +0 -1609
  278. package/dist/chunk-3I4ZURKH.js.map +0 -1
  279. package/dist/chunk-M45K3554.js.map +0 -1
  280. package/dist/chunk-QODAKTG5.js.map +0 -1
  281. package/dist/chunk-WVXXQ3KM.js.map +0 -1
  282. package/dist/session-CNnotR90.d.ts +0 -227
  283. package/dist/sessions-BvfLGbjw.d.ts +0 -177
  284. /package/dist/{chunk-4D4EXLVT.js.map → chunk-DQCXSPHP.js.map} +0 -0
  285. /package/dist/{chunk-XCIDE3JW.js.map → chunk-OGHUIKCY.js.map} +0 -0
  286. /package/dist/{chunk-WPLEMYL7.js.map → chunk-PYYDXV2A.js.map} +0 -0
  287. /package/dist/{chunk-VJY6RLYU.js.map → chunk-TVWC3PED.js.map} +0 -0
@@ -0,0 +1,253 @@
1
+ import type { BackgroundTask } from "../../react/schemas/background.js";
2
+ import type { TurnProjection } from "../../react/schemas/projection.js";
3
+ import type { SessionDetail, SessionInfo, TemplateId } from "../../react/schemas/session.js";
4
+ import type { Task } from "../../react/schemas/task.js";
5
+ import type { BladeClient, UploadProgress } from "../blade-client.js";
6
+ import type { SessionProfile } from "../types/sdk-profile.js";
7
+ export interface CreateSessionRequest {
8
+ intent?: string;
9
+ template_id?: TemplateId;
10
+ solution_id?: string;
11
+ biz_role_id?: string | null;
12
+ primary_skill_id?: string | null;
13
+ model?: string | null;
14
+ enable_thinking?: boolean | null;
15
+ memory_enabled?: boolean | null;
16
+ env?: Record<string, string>;
17
+ disable_tools?: string[] | null;
18
+ session_solution_asset_id?: string | null;
19
+ compaction_ratio?: number | null;
20
+ }
21
+ export interface CheckpointNode {
22
+ id: string;
23
+ parent_id: string | null;
24
+ content_preview: string;
25
+ content: string;
26
+ timestamp: string;
27
+ }
28
+ export type ContentPart = {
29
+ type: "text";
30
+ text: string;
31
+ } | {
32
+ type: "image_url";
33
+ image_url: {
34
+ url: string;
35
+ detail?: string;
36
+ };
37
+ };
38
+ export interface HistoryNode {
39
+ id: string;
40
+ parent_id: string | null;
41
+ kind: string;
42
+ role: string;
43
+ timestamp: string;
44
+ preview: string;
45
+ content: string | ContentPart[];
46
+ tool_calls: Array<{
47
+ id?: string;
48
+ type?: string;
49
+ function?: {
50
+ name?: string;
51
+ arguments?: string;
52
+ };
53
+ }> | null;
54
+ usage: {
55
+ prompt_tokens?: number;
56
+ completion_tokens?: number;
57
+ total_tokens?: number;
58
+ } | null;
59
+ total_tokens: number;
60
+ token_diff: number;
61
+ is_deprecated: boolean;
62
+ loop_name: string;
63
+ }
64
+ export interface SessionHistory {
65
+ nodes: HistoryNode[];
66
+ active_branch: string | null;
67
+ branches: string[];
68
+ system_prompt_tokens?: number | null;
69
+ tools_tokens?: number | null;
70
+ tokenizer_model?: string | null;
71
+ }
72
+ export interface TokenizeResult {
73
+ model: string;
74
+ prompt_tokens: number;
75
+ prompt: string;
76
+ }
77
+ export interface PaginatedSessionsResult {
78
+ items: SessionInfo[];
79
+ total: number;
80
+ limit: number;
81
+ offset: number;
82
+ content_match_truncated?: boolean;
83
+ }
84
+ export interface SkillDevSession {
85
+ session: SessionInfo;
86
+ skill_id: string;
87
+ display_name: string;
88
+ skill_description: string;
89
+ }
90
+ export interface ShareLinkResult {
91
+ token: string;
92
+ url: string;
93
+ expires_at: string | null;
94
+ }
95
+ export interface SessionContextStats {
96
+ tokens_used: number;
97
+ context_window: number;
98
+ compaction_ratio: number;
99
+ }
100
+ export interface FileEntry {
101
+ name: string;
102
+ path: string;
103
+ is_dir: boolean;
104
+ created_at: number;
105
+ tags?: string[];
106
+ }
107
+ export type UploadFileEntry = File | {
108
+ file: File;
109
+ name: string;
110
+ };
111
+ export interface UploadFilesOptions {
112
+ onProgress?: (progress: UploadProgress) => void;
113
+ }
114
+ export interface ImportPreviewSkill {
115
+ name: string;
116
+ description: string;
117
+ path: string;
118
+ }
119
+ export interface ImportPreviewScenario {
120
+ scenario?: {
121
+ name?: string;
122
+ };
123
+ skills?: string[];
124
+ preview_urls?: string[];
125
+ init_script?: string;
126
+ generated_at?: string;
127
+ }
128
+ export interface ImportPreview {
129
+ user_messages: string[];
130
+ turn_count: number;
131
+ skills: ImportPreviewSkill[];
132
+ scenario: ImportPreviewScenario | null;
133
+ }
134
+ export declare class SessionsResource {
135
+ private client;
136
+ constructor(client: BladeClient);
137
+ private fetchSessionsPage;
138
+ listSessions(template_id_prefix?: string, solution_id?: string): Promise<SessionInfo[]>;
139
+ listSessionsPaginated(params: {
140
+ limit: number;
141
+ offset: number;
142
+ template_id_prefix?: string;
143
+ solution_id?: string;
144
+ q?: string;
145
+ }): Promise<PaginatedSessionsResult>;
146
+ listSessionsWithSkillData(): Promise<SkillDevSession[]>;
147
+ createSession(intent?: string, template_id?: TemplateId, primary_skill_id?: string | null): Promise<{
148
+ session_id: string;
149
+ }>;
150
+ createSessionWithRequest(request: CreateSessionRequest): Promise<{
151
+ session_id: string;
152
+ }>;
153
+ createWithProfile(params: {
154
+ intent: string;
155
+ profile: SessionProfile;
156
+ }): Promise<{
157
+ session_id: string;
158
+ }>;
159
+ getSession(sessionId: string, init?: RequestInit): Promise<SessionDetail>;
160
+ updateSession(sessionId: string, payload: {
161
+ intent?: string;
162
+ }): Promise<SessionDetail>;
163
+ setSessionEnv(sessionId: string, env: Record<string, string>): Promise<SessionDetail>;
164
+ pinSession(sessionId: string, pinned: boolean): Promise<SessionInfo>;
165
+ startReplaySession(sourceSessionId: string, speed?: 1 | 2 | 5): Promise<{
166
+ session_id: string;
167
+ }>;
168
+ updateReplaySession(sessionId: string, payload: {
169
+ speed?: 1 | 2 | 5;
170
+ status?: "autonomous";
171
+ }): Promise<{
172
+ replay_state: SessionInfo["replay_state"];
173
+ }>;
174
+ updateSharing(sessionId: string, shared: boolean): Promise<{
175
+ shared: boolean;
176
+ }>;
177
+ updateSessionMemory(sessionId: string, memoryEnabled: boolean): Promise<{
178
+ memory_enabled: boolean;
179
+ }>;
180
+ createShare(sessionId: string): Promise<ShareLinkResult>;
181
+ revokeShare(sessionId: string, token: string): Promise<{
182
+ revoked: boolean;
183
+ }>;
184
+ getSharedSession(token: string): Promise<TurnProjection[]>;
185
+ getSessionTasks(sessionId: string): Promise<Task[]>;
186
+ getSessionTurns(sessionId: string): Promise<TurnProjection[]>;
187
+ getSessionContextStats(sessionId: string, init?: RequestInit): Promise<SessionContextStats>;
188
+ getSessionHistory(sessionId: string, init?: RequestInit): Promise<SessionHistory>;
189
+ tokenizePrompt(prompt: string, model?: string): Promise<TokenizeResult>;
190
+ tokenizeMessages(messages: Array<Record<string, unknown>>, options?: {
191
+ model?: string;
192
+ add_generation_prompt?: boolean;
193
+ enable_thinking?: boolean | null;
194
+ tools?: Array<Record<string, unknown>>;
195
+ }): Promise<TokenizeResult>;
196
+ getSessionCheckpoints(sessionId: string, init?: RequestInit): Promise<{
197
+ nodes: CheckpointNode[];
198
+ leaf_id: string | null;
199
+ }>;
200
+ checkoutSession(sessionId: string, checkpointId: string, position: "before" | "turn_end", mode?: "both" | "conversation" | "code", linear?: boolean): Promise<{
201
+ id: string;
202
+ content: string;
203
+ position: string;
204
+ mode?: string;
205
+ files_restored?: boolean;
206
+ linear?: boolean;
207
+ }>;
208
+ rewindSession(sessionId: string, checkpointId: string): Promise<{
209
+ id: string;
210
+ content: string;
211
+ }>;
212
+ switchBranch(sessionId: string, checkpointId: string): Promise<{
213
+ id: string;
214
+ leaf_id: string;
215
+ }>;
216
+ deleteSession(sessionId: string): Promise<{
217
+ deleted: boolean;
218
+ }>;
219
+ listBackgroundTasks(sessionId: string, init?: RequestInit): Promise<BackgroundTask[]>;
220
+ getBackgroundTask(sessionId: string, taskId: string, tail?: number, init?: RequestInit): Promise<BackgroundTask>;
221
+ stopBackgroundTask(sessionId: string, taskId: string): Promise<{
222
+ message: string;
223
+ task?: BackgroundTask | null;
224
+ }>;
225
+ probeSessionUrl(sessionId: string, url: string): Promise<{
226
+ reachable: boolean;
227
+ }>;
228
+ listDir(sessionId: string, dirPath: string): Promise<FileEntry[]>;
229
+ uploadFiles(sessionId: string, dirPath: string, files: FileList | File[] | UploadFileEntry[], options?: UploadFilesOptions): Promise<{
230
+ uploaded: string[];
231
+ failed: string[];
232
+ }>;
233
+ deleteFile(sessionId: string, filePath: string): Promise<void>;
234
+ writeFile(sessionId: string, filePath: string, content: string): Promise<{
235
+ success: boolean;
236
+ }>;
237
+ renameFile(sessionId: string, filePath: string, newName: string): Promise<{
238
+ path: string;
239
+ }>;
240
+ copyFile(sessionId: string, filePath: string): Promise<{
241
+ path: string;
242
+ }>;
243
+ shareFile(sessionId: string, sourcePath: string, linkName?: string, shareFolder?: string): Promise<{
244
+ path: string;
245
+ target: string;
246
+ }>;
247
+ getDownloadDirUrl(sessionId: string, dirPath: string): string;
248
+ exportSession(sessionId: string): Promise<void>;
249
+ previewImport(file: File): Promise<ImportPreview>;
250
+ importSession(file: File, name?: string, solutionId?: string | null): Promise<{
251
+ session_id: string;
252
+ }>;
253
+ }
@@ -0,0 +1,38 @@
1
+ import type { PartnerSkillInstallPayload, PartnerSkillInstallResult, SessionSkillUploadPayload, SessionSkillUploadResult } from "../../react/schemas/partner-skill.js";
2
+ import type { SkillDetail, SkillSearchResult, SkillStats, SkillSummary } from "../../react/schemas/skill.js";
3
+ import type { BladeClient } from "../blade-client.js";
4
+ export interface GlobalSkillStats {
5
+ remote_configured: boolean;
6
+ remote_connected: boolean;
7
+ installed_skill_count: number;
8
+ }
9
+ export interface InstalledRegistrySkill {
10
+ id: string;
11
+ name: string;
12
+ display_name?: string | null;
13
+ description?: string | null;
14
+ is_installed?: boolean;
15
+ is_preset?: boolean;
16
+ preinstalled?: boolean;
17
+ org_display_name?: string | null;
18
+ has_tools?: boolean;
19
+ }
20
+ export declare class SkillsResource {
21
+ private client;
22
+ constructor(client: BladeClient);
23
+ listSkills(init?: RequestInit): Promise<SkillSummary[]>;
24
+ listInstalledRegistrySkills(init?: RequestInit): Promise<InstalledRegistrySkill[]>;
25
+ listSessionSkills(sessionId: string, init?: RequestInit): Promise<SkillSummary[]>;
26
+ resyncSkills(sessionId: string, init?: RequestInit): Promise<{
27
+ detail?: string;
28
+ copied: number;
29
+ removed: number;
30
+ preserved: number;
31
+ }>;
32
+ searchSkills(query: string, limit?: number, init?: RequestInit): Promise<SkillSearchResult[]>;
33
+ getSkillStats(sessionId: string, init?: RequestInit): Promise<SkillStats>;
34
+ getGlobalSkillStats(init?: RequestInit): Promise<GlobalSkillStats>;
35
+ getSkill(skillName: string, init?: RequestInit): Promise<SkillDetail>;
36
+ uploadSessionSkill(sessionId: string, payload: SessionSkillUploadPayload, init?: RequestInit): Promise<SessionSkillUploadResult>;
37
+ installPartnerSkill(sessionId: string, payload: PartnerSkillInstallPayload, init?: RequestInit): Promise<PartnerSkillInstallResult>;
38
+ }
@@ -0,0 +1,31 @@
1
+ import type { BizRole, Solution } from "../../react/types/solution.js";
2
+ import type { BladeClient } from "../blade-client.js";
3
+ import type { ExistingSolutionRef, PreparedSolution } from "../types/sdk-profile.js";
4
+ export type ExportedSolutionFile = {
5
+ blob: Blob;
6
+ filename: string;
7
+ };
8
+ export declare class SolutionsResource {
9
+ private client;
10
+ constructor(client: BladeClient);
11
+ fetchSolutions(): Promise<Solution[]>;
12
+ prepareFromZip(file: File | Blob): Promise<PreparedSolution>;
13
+ ensureFromRegistry(registryId: string): Promise<ExistingSolutionRef>;
14
+ fetchSolutionFile(solutionId: string, filePath: string): Promise<string>;
15
+ fetchSolutionBizRoles(solutionId: string, userId?: string): Promise<BizRole[]>;
16
+ /**
17
+ * 把编辑会话里的 solution_name/ 打成 zip 并下载。
18
+ * 返回 Blob 和从 Content-Disposition 解析出来的文件名,
19
+ * 调用方自己负责触发浏览器下载(<a download> 或 window.URL.createObjectURL)。
20
+ */
21
+ exportSolution(sessionId: string): Promise<ExportedSolutionFile>;
22
+ /**
23
+ * 把编辑会话里的 solution 打包并发布到 skill_registry 商店。
24
+ * 后端会打 zip 并 POST 到 registry,这里只传 org + name + overwrite。
25
+ */
26
+ publishSolution(sessionId: string, org: string, name: string, overwrite?: boolean): Promise<{
27
+ success: boolean;
28
+ solution_id: string;
29
+ message: string;
30
+ }>;
31
+ }
@@ -0,0 +1,26 @@
1
+ import type { BladeClient } from "../blade-client.js";
2
+ export type ComputerUpgradeReason = "no_container" | "no_target" | "current_latest" | "up_to_date" | "upgrade_available";
3
+ export interface ComputerUpgradeStatusResponse {
4
+ upgrade_available: boolean;
5
+ reason: ComputerUpgradeReason;
6
+ current_version: string | null;
7
+ target_version: string | null;
8
+ }
9
+ export interface UpgradeComputerResponse {
10
+ target_version: string | null;
11
+ previous_version: string | null;
12
+ removed_containers: number;
13
+ removed_volume: boolean;
14
+ cleared_memo: number;
15
+ }
16
+ export declare class UserPreferencesResource {
17
+ private client;
18
+ constructor(client: BladeClient);
19
+ getUserPreference(key: string): Promise<string | null>;
20
+ setUserPreference(key: string, value: string): Promise<void>;
21
+ getPersistentDefault(): Promise<boolean>;
22
+ setPersistentDefault(value: boolean): Promise<void>;
23
+ resetComputer(): Promise<void>;
24
+ getComputerUpgradeStatus(): Promise<ComputerUpgradeStatusResponse>;
25
+ upgradeComputer(): Promise<UpgradeComputerResponse>;
26
+ }
@@ -0,0 +1,19 @@
1
+ export declare class BladeApiError extends Error {
2
+ readonly response: Response;
3
+ readonly status: number;
4
+ readonly statusText: string;
5
+ constructor(response: Response, message?: string);
6
+ }
7
+ /**
8
+ * 从 FastAPI 风格的错误响应中提取 detail 字段,作为用户可读的中文错误文案。
9
+ * 失败时返回 undefined,调用方会回退到默认提示。
10
+ */
11
+ export declare function extractErrorDetail(response: Response): Promise<string | undefined>;
12
+ export type HttpMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT" | (string & {});
13
+ export interface BladeFetchInit {
14
+ body?: BodyInit | null;
15
+ credentials?: RequestCredentials;
16
+ expectOk?: boolean;
17
+ headers?: HeadersInit;
18
+ signal?: AbortSignal | null;
19
+ }
@@ -0,0 +1,59 @@
1
+ import type { TurnProjection } from "../../../react/schemas/projection.js";
2
+ export interface RawEvent {
3
+ type: string;
4
+ payload: Record<string, unknown>;
5
+ }
6
+ export type ProjectionUpdate = {
7
+ kind: "upsert";
8
+ turn: TurnProjection;
9
+ } | {
10
+ kind: "workspace_changed";
11
+ loopId: string;
12
+ toolCallId?: string;
13
+ toolName?: string;
14
+ };
15
+ export declare class ClientProjectionBuilder {
16
+ private activeTurns;
17
+ private lastTurnIds;
18
+ private latestTurns;
19
+ private loopDescriptions;
20
+ private pendingChildPauses;
21
+ private pendingMemoryRefs;
22
+ private activeCompactions;
23
+ private seq;
24
+ private syntheticCounter;
25
+ private displayNameResolver;
26
+ constructor(displayNameResolver?: (name: string) => string);
27
+ processBatch(events: RawEvent[]): ProjectionUpdate[];
28
+ processEvent(event: RawEvent): ProjectionUpdate[] | null;
29
+ reset(): void;
30
+ seedSequence(maxSeq: number): void;
31
+ private onMemoryInject;
32
+ private onLoopTurn;
33
+ private onModeChange;
34
+ private onPlanStatusUpdate;
35
+ private onWorkspaceChanged;
36
+ private onAgentStart;
37
+ private onBgStarted;
38
+ private onBgTasksCompleted;
39
+ private onAskUserAnswer;
40
+ private onUserMessage;
41
+ private onDelta;
42
+ private onToolCallCreated;
43
+ private onResponseDone;
44
+ private onToolResultDone;
45
+ private onToolResultDelta;
46
+ private onToolUi;
47
+ private onToolBridge;
48
+ private onToolApprovalRequired;
49
+ private onChildPause;
50
+ private onChatEnd;
51
+ private onAgentEnd;
52
+ private onCompaction;
53
+ private syncPatch;
54
+ private finalize;
55
+ private shouldFinalizeAfterToolResults;
56
+ private collectLoopUpdates;
57
+ private nextSeq;
58
+ private nextTurnId;
59
+ }
@@ -0,0 +1,34 @@
1
+ import type { ContentBlock, PendingQuestionRef, ToolCallProjection, TurnProjection } from "../../../react/schemas/projection.js";
2
+ import type { TurnState } from "./state.js";
3
+ export declare function upsertToolCall(state: TurnState, toolCallId: string, toolName: string, displayName: string, args: string): void;
4
+ export declare function applyToolResult(state: TurnState, toolCallId: string, result: unknown, status: ToolCallProjection["status"], durationMs: number | null, sourceLoop: {
5
+ loop_name: string;
6
+ description: string;
7
+ } | null): void;
8
+ export declare function appendToolResultDelta(state: TurnState, toolCallId: string, delta: string): void;
9
+ export declare function appendTextBlock(state: TurnState, blockType: ContentBlock["type"], content: unknown): void;
10
+ export declare function appendToolCallArguments(state: TurnState, toolCallId: string, delta: string): void;
11
+ export declare function buildSystemNotificationTurn(sequence: number, turnId: string, loopId: string, notificationType: string, status: string, title: string, detail: string | null, metadata: Record<string, unknown>): TurnProjection;
12
+ export declare function buildSystemNotificationBlock(notificationType: string, status: string, title: string, detail: string | null, metadata: Record<string, unknown>): ContentBlock;
13
+ export declare function buildMarkerTurn(sequence: number, turnId: string, loopId: string, blockType: ContentBlock["type"], content: unknown): TurnProjection;
14
+ export declare function buildCompactionTurn(sequence: number, compactionId: string, loopId: string, status: TurnProjection["status"], data: Record<string, unknown>): TurnProjection;
15
+ export interface ChildPauseInfo {
16
+ parentLoopName: string;
17
+ parentToolCallId: string;
18
+ childLoopName: string;
19
+ childToolCallId: string;
20
+ description: string;
21
+ }
22
+ export declare function setToolCallStatus(turn: TurnState | TurnProjection | null | undefined, toolCallId: string, status: ToolCallProjection["status"], result: unknown, pendingQuestionRef: PendingQuestionRef | null): void;
23
+ export declare function applyAskUserPauseToTurn(turn: TurnState | TurnProjection | null | undefined, pauseToolData: Record<string, unknown>, toolCallId: string, childLoopName: string, description: string, displayNameResolver: (name: string) => string): void;
24
+ export declare function applyChildPauseToParent(parentTurn: TurnState | TurnProjection | null | undefined, parentToolCallId: string, childLoopName: string, childToolCallId: string, description: string, displayNameResolver: (name: string) => string): void;
25
+ export declare function sourceLoopFor(loopId: string, loopDescriptions: Map<string, string>): {
26
+ loop_name: string;
27
+ description: string;
28
+ } | null;
29
+ export declare function normalizeChildPause(pausePayload: Record<string, unknown>): {
30
+ pauseToolData: Record<string, unknown>;
31
+ childLoopName: string;
32
+ childToolCallId: string;
33
+ description: string;
34
+ };
@@ -0,0 +1,12 @@
1
+ import type { TurnProjection } from "../../../react/schemas/projection.js";
2
+ export interface RawHistoryEntry {
3
+ id?: string;
4
+ kind?: string;
5
+ loop_name?: string;
6
+ message?: Record<string, unknown>;
7
+ data?: Record<string, unknown>;
8
+ timestamp?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ /** Rebuild completed UI turns from raw persisted history entries. */
12
+ export declare function projectHistory(entries: RawHistoryEntry[]): TurnProjection[];
@@ -0,0 +1,3 @@
1
+ export { ClientProjectionBuilder, type RawEvent, type ProjectionUpdate } from "./builder.js";
2
+ export { type TurnState, createTurnState, snapshot, PAUSE_TOOL_NAMES } from "./state.js";
3
+ export { projectHistory, type RawHistoryEntry } from "./history.js";
@@ -0,0 +1,22 @@
1
+ import type { ContentBlock, MemoryRef, ToolCallProjection, TurnProjection } from "../../../react/schemas/projection.js";
2
+ export interface TurnState {
3
+ turnId: string;
4
+ loopId: string;
5
+ role: "user" | "assistant" | "system";
6
+ model: string | null;
7
+ startedAt: number;
8
+ contextWindow: number;
9
+ blocks: ContentBlock[];
10
+ toolCalls: ToolCallProjection[];
11
+ usage: Record<string, unknown> | null;
12
+ memoryRefs: MemoryRef[] | null;
13
+ parentForkToolCallId: string | null;
14
+ }
15
+ export declare function createTurnState(turnId: string, loopId: string, opts?: {
16
+ model?: string | null;
17
+ contextWindow?: number;
18
+ memoryRefs?: MemoryRef[] | null;
19
+ }): TurnState;
20
+ export declare function snapshot(state: TurnState, sequence: number, status: TurnProjection["status"]): TurnProjection;
21
+ export declare const PAUSE_TOOL_NAMES: Set<string>;
22
+ export declare function toolStatusFromResult(result: unknown): ToolCallProjection["status"];
@@ -0,0 +1,9 @@
1
+ import { type Socket } from "socket.io-client";
2
+ import { type AuthOptions } from "./auth.js";
3
+ import type { ClientToServerEvents, ServerToClientEvents } from "./types/socket-events.js";
4
+ export type TypedSocket = Socket<ServerToClientEvents, ClientToServerEvents>;
5
+ export interface CreateSocketOptions extends AuthOptions {
6
+ baseUrl: string;
7
+ path?: string;
8
+ }
9
+ export declare function createSocket(options: CreateSocketOptions): TypedSocket;
@@ -0,0 +1,8 @@
1
+ import type { components, paths } from "./rest.js";
2
+ import type { ChatEndPayload, ChatSendPayload, ClientToServerEvents, ServerToClientEvents, SessionUpdatedPayload, SystemErrorPayload, SystemNotificationPayload } from "./socket-events.js";
3
+ export type RestPaths = paths;
4
+ export type RestComponents = components;
5
+ export type Session = paths["/api/sessions/{session_id}"]["get"]["responses"]["200"]["content"]["application/json"];
6
+ export type SessionList = paths["/api/sessions"]["get"]["responses"]["200"]["content"]["application/json"];
7
+ export type SkillList = paths["/api/skills"]["get"]["responses"]["200"]["content"]["application/json"];
8
+ export type { ChatEndPayload, ChatSendPayload, ClientToServerEvents, ServerToClientEvents, SessionUpdatedPayload, SystemErrorPayload, SystemNotificationPayload, };