@belonguniverseai/react-sdk 0.6.21 → 0.6.22

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 (154) hide show
  1. package/README.md +69 -0
  2. package/dist/api/client.d.ts +667 -4
  3. package/dist/api/goals.d.ts +179 -0
  4. package/dist/api/issue-reports.d.ts +13 -0
  5. package/dist/api/query-keys.d.ts +18 -0
  6. package/dist/api/report-client-error.d.ts +3 -0
  7. package/dist/api/retry-fetch.d.ts +19 -0
  8. package/dist/api/skill-library.d.ts +100 -0
  9. package/dist/api/skills.d.ts +3 -1
  10. package/dist/app/dock-outlet.d.ts +15 -5
  11. package/dist/browser/allowed-ops.d.ts +18 -0
  12. package/dist/browser/host-mcp.d.ts +31 -0
  13. package/dist/component/{abnfDiagram-N423BO3Z-DZRUOUZQ.js → abnfDiagram-N423BO3Z-D4mVRMw9.js} +4 -4
  14. package/dist/component/{arc-B4biduil.js → arc-GBp6w3tF.js} +2 -2
  15. package/dist/component/{architectureDiagram-T3A2C74G-q8voStNN.js → architectureDiagram-T3A2C74G-Cxm-USYQ.js} +3 -3
  16. package/dist/component/{blockDiagram-VBNYF7ZC-C0TDyTgw.js → blockDiagram-VBNYF7ZC-BAiLpxJf.js} +4 -4
  17. package/dist/component/{c4Diagram-5PPSVZJV-rxRyd6rh.js → c4Diagram-5PPSVZJV-Sy6sLJOj.js} +3 -3
  18. package/dist/component/{channel-CUruDJSx.js → channel-DPbaAkCI.js} +2 -2
  19. package/dist/component/{chunk-2GRJ4B5K-Kff5Fvbi.js → chunk-2GRJ4B5K-8r8YJzCc.js} +2 -2
  20. package/dist/component/{chunk-2Q5K7J3B-BT3ZD31a.js → chunk-2Q5K7J3B-RZqny7-R.js} +2 -2
  21. package/dist/component/{chunk-5RXB4S5H-CYZ36tQD.js → chunk-5RXB4S5H-QFCY9Dtl.js} +5 -5
  22. package/dist/component/{chunk-5VM5RSS4-BweQRk7u.js → chunk-5VM5RSS4-BG8q5ODa.js} +2 -2
  23. package/dist/component/{chunk-6Q2QTUOP-DHcoXRhe.js → chunk-6Q2QTUOP-D6ec2nI7.js} +2 -2
  24. package/dist/component/{chunk-GF5L2VYU-DtE5ljCc.js → chunk-GF5L2VYU-D7yROYf0.js} +6 -6
  25. package/dist/component/{chunk-JWPE2WC7-ClHq4gN2.js → chunk-JWPE2WC7-CmGlHqne.js} +2 -2
  26. package/dist/component/{chunk-KBJHAD2P-BeCfHf5W.js → chunk-KBJHAD2P-W03s7swc.js} +2 -2
  27. package/dist/component/{chunk-RYQCIY6F-CuAngwHt.js → chunk-RYQCIY6F-D0oyMUJ7.js} +2 -2
  28. package/dist/component/{chunk-XXDRQBXY-D9c0CJyR.js → chunk-XXDRQBXY-D4s0eyp4.js} +2 -2
  29. package/dist/component/{classDiagram-JCYQIIEL-DdzIbKj1.js → classDiagram-JCYQIIEL-DwNAC2XG.js} +3 -3
  30. package/dist/component/{classDiagram-v2-OCEON4UE-DdzIbKj1.js → classDiagram-v2-OCEON4UE-DwNAC2XG.js} +3 -3
  31. package/dist/component/{cose-bilkent-JH36ORCC-hME9BYGm.js → cose-bilkent-JH36ORCC-DhGvXDdi.js} +2 -2
  32. package/dist/component/{cynefinDiagram-MW4NZA55-BiceKBPh.js → cynefinDiagram-MW4NZA55-BCUeX7pB.js} +3 -3
  33. package/dist/component/{dagre-VZM6K2ZE-DiPOLAUX.js → dagre-VZM6K2ZE-DWofHoga.js} +3 -3
  34. package/dist/component/{diagram-7IWD3JNH-BSDWgxjs.js → diagram-7IWD3JNH-DjCFF_Dr.js} +4 -4
  35. package/dist/component/{diagram-B4RE2ZJO-BdpGOPaT.js → diagram-B4RE2ZJO-CSovrpFW.js} +3 -3
  36. package/dist/component/{diagram-LBJQPF4R-B0V6_5ih.js → diagram-LBJQPF4R-Cgpae-sR.js} +3 -3
  37. package/dist/component/{diagram-Q27KOJAE-CYDb40TJ.js → diagram-Q27KOJAE-DikMPfLU.js} +4 -4
  38. package/dist/component/{diagram-UB23O5K3-DgwjRdl5.js → diagram-UB23O5K3-sQU6rZbO.js} +3 -3
  39. package/dist/component/{ebnfDiagram-BXEA7PRR-D-C7SWec.js → ebnfDiagram-BXEA7PRR-B9t8-G8R.js} +4 -4
  40. package/dist/component/{erDiagram-JOGREHBK-DLJCjcXM.js → erDiagram-JOGREHBK-DKg1HhSl.js} +5 -5
  41. package/dist/component/{flowDiagram-UKHOOZJN-BZfBucKB.js → flowDiagram-UKHOOZJN-BO8jpT1D.js} +7 -7
  42. package/dist/component/{ganttDiagram-PKOTCBZU-CxTHmusv.js → ganttDiagram-PKOTCBZU-BPXYyB9Q.js} +3 -3
  43. package/dist/component/{gitGraphDiagram-DS77QQ5N-B_dWXxMf.js → gitGraphDiagram-DS77QQ5N-BjVLFBUS.js} +4 -4
  44. package/dist/component/{highlighted-body-OFNGDK62-CQ1ZdhQ-.js → highlighted-body-OFNGDK62-BKot66c3.js} +2 -2
  45. package/dist/component/index.js +2 -2
  46. package/dist/component/{infoDiagram-6WML65LV-P4GO-aVw.js → infoDiagram-6WML65LV-BkAC5Bwv.js} +2 -2
  47. package/dist/component/{ishikawaDiagram-WSZJBQD7-BMXMrxKI.js → ishikawaDiagram-WSZJBQD7-oplkIs_t.js} +2 -2
  48. package/dist/component/{journeyDiagram-NVQOT4AX-DPdTmxkF.js → journeyDiagram-NVQOT4AX-CuliMCSv.js} +5 -5
  49. package/dist/component/{kanban-definition-27J2QSJJ-sYw64NrE.js → kanban-definition-27J2QSJJ-DdzOdEiL.js} +3 -3
  50. package/dist/component/{linear-DYjDg3gl.js → linear-zZDwdGmK.js} +2 -2
  51. package/dist/component/{mermaid-GHXKKRXX-DfdCmrs3.js → mermaid-GHXKKRXX-aX5umm-y.js} +46587 -40943
  52. package/dist/component/{mindmap-definition-FAOFIHXS-UkAbrucA.js → mindmap-definition-FAOFIHXS-DD2HF9oE.js} +4 -4
  53. package/dist/component/{pegDiagram-VL7TDLO6-BGab1it6.js → pegDiagram-VL7TDLO6-DyiDl9bF.js} +4 -4
  54. package/dist/component/{pieDiagram-7S7Q4E2Y-BnY70Pr-.js → pieDiagram-7S7Q4E2Y-DflxKS_B.js} +4 -4
  55. package/dist/component/{quadrantDiagram-CIZ2JOQS-Cv1bjdQb.js → quadrantDiagram-CIZ2JOQS-nwwayVOP.js} +3 -3
  56. package/dist/component/{railroadDiagram-AXF67PYL-DJhLbGB_.js → railroadDiagram-AXF67PYL-BTtD2eN9.js} +4 -4
  57. package/dist/component/{requirementDiagram-LRYGKXZP-CLW3CgbU.js → requirementDiagram-LRYGKXZP-B37q1LKL.js} +4 -4
  58. package/dist/component/{sankeyDiagram-W5VNT64P-vnapx0yf.js → sankeyDiagram-W5VNT64P-zY0W9eje.js} +2 -2
  59. package/dist/component/{sequenceDiagram-SI44F4Z6-I43iQsY0.js → sequenceDiagram-SI44F4Z6-CmQiqB8F.js} +4 -4
  60. package/dist/component/{sizeCapture-X5ZJPWSS-D9LGwwwC.js → sizeCapture-X5ZJPWSS-dF3FvIT8.js} +2 -2
  61. package/dist/component/snapdom-DkzCA8S0.js +7061 -0
  62. package/dist/component/{stateDiagram-OKZ733FA-BXejMYGk.js → stateDiagram-OKZ733FA-CX61F3L0.js} +3 -3
  63. package/dist/component/{stateDiagram-v2-UEYNNEHI-BP05TJSl.js → stateDiagram-v2-UEYNNEHI-DnFZhhu3.js} +3 -3
  64. package/dist/component/{swimlanes-SLNWSIFB-CfmDVYhs.js → swimlanes-SLNWSIFB-CX9XGBvw.js} +4 -4
  65. package/dist/component/{swimlanesDiagram-ULZ7WXOC-DfjQBUfV.js → swimlanesDiagram-ULZ7WXOC-Bqkgx7qk.js} +3 -3
  66. package/dist/component/{timeline-definition-Z64GVDOM-C0BwzTs3.js → timeline-definition-Z64GVDOM-BUX4OSm1.js} +3 -3
  67. package/dist/component/{vennDiagram-T6HMQDX7-CRf8sGBL.js → vennDiagram-T6HMQDX7-BpVOq4Rh.js} +2 -2
  68. package/dist/component/{wardleyDiagram-T6FBY63Y-C2h7TQ4a.js → wardleyDiagram-T6FBY63Y-BUDGa8Mv.js} +3 -3
  69. package/dist/component/{xychartDiagram-ELKLHX3M-CBcAwmdF.js → xychartDiagram-ELKLHX3M-FIA_LnIu.js} +3 -3
  70. package/dist/components/embed/EmbedComposer.d.ts +11 -1
  71. package/dist/components/embed/EmbedHeader.d.ts +7 -1
  72. package/dist/components/embed/EmbedRail.d.ts +18 -2
  73. package/dist/components/embed/GoalActions.d.ts +15 -0
  74. package/dist/components/embed/GoalBadge.d.ts +17 -0
  75. package/dist/components/embed/GoalClearDialog.d.ts +6 -0
  76. package/dist/components/embed/GoalClearedLine.d.ts +3 -0
  77. package/dist/components/embed/GoalCompletionCard.d.ts +12 -0
  78. package/dist/components/embed/GoalComposeSheet.d.ts +19 -0
  79. package/dist/components/embed/GoalProposalCard.d.ts +29 -0
  80. package/dist/components/embed/GoalRailView.d.ts +15 -0
  81. package/dist/components/embed/GoalRefusalCard.d.ts +22 -0
  82. package/dist/components/embed/GoalSetCard.d.ts +5 -0
  83. package/dist/components/embed/GoalSnoozeMenu.d.ts +14 -0
  84. package/dist/components/embed/GoalStatusRow.d.ts +6 -0
  85. package/dist/components/embed/GoalTimeline.d.ts +6 -0
  86. package/dist/components/embed/MobileNavBar.d.ts +5 -1
  87. package/dist/components/embed/QuestionCard.d.ts +12 -1
  88. package/dist/components/embed/ScheduleNotices.d.ts +23 -0
  89. package/dist/components/embed/SentAsGoalTag.d.ts +1 -0
  90. package/dist/components/embed/SubagentsPaneBody.d.ts +3 -0
  91. package/dist/components/embed/rail-flags.d.ts +13 -0
  92. package/dist/components/feedback/IssueReportController.d.ts +1 -0
  93. package/dist/components/feedback/IssueReportDialog.d.ts +6 -0
  94. package/dist/components/skills/ConfirmDeleteSkillDialog.d.ts +9 -0
  95. package/dist/components/skills/SkillLibraryToolSync.d.ts +4 -0
  96. package/dist/components/skills/SkillsListSurface.d.ts +26 -0
  97. package/dist/components/skills/UploadSkillDialog.d.ts +32 -0
  98. package/dist/components/skills/skill-archive-file.d.ts +15 -0
  99. package/dist/embed/client-error-log.d.ts +72 -0
  100. package/dist/embed/dock-open-request.d.ts +32 -0
  101. package/dist/embed/dock-state.d.ts +1 -1
  102. package/dist/embed/goal-actions-model.d.ts +9 -0
  103. package/dist/embed/goal-cap-notice.d.ts +36 -0
  104. package/dist/embed/goal-deep-link.d.ts +24 -0
  105. package/dist/embed/goal-edit-command.d.ts +25 -0
  106. package/dist/embed/goal-journal.d.ts +53 -0
  107. package/dist/embed/goal-live-status.d.ts +2 -0
  108. package/dist/embed/goal-plain-units.d.ts +35 -0
  109. package/dist/embed/goal-progress.d.ts +15 -0
  110. package/dist/embed/goal-proposal-dismissal.d.ts +11 -0
  111. package/dist/embed/goal-resume-time.d.ts +22 -0
  112. package/dist/embed/goal-row-model.d.ts +27 -0
  113. package/dist/embed/goal-runway.d.ts +5 -0
  114. package/dist/embed/goal-schedule-handoff.d.ts +12 -0
  115. package/dist/embed/goal-status-label.d.ts +3 -0
  116. package/dist/embed/goal-time-usage.d.ts +19 -0
  117. package/dist/embed/issue-report-bus.d.ts +14 -0
  118. package/dist/embed/issue-report-open.d.ts +8 -0
  119. package/dist/embed/issue-report.d.ts +41 -0
  120. package/dist/embed/screen-capture.d.ts +74 -0
  121. package/dist/embed/slash-commands.d.ts +24 -0
  122. package/dist/embed/task-schedule-command.d.ts +7 -0
  123. package/dist/i18n/messages/en.d.ts +372 -8
  124. package/dist/i18n/messages/surfaces/feedback.d.ts +84 -0
  125. package/dist/i18n/messages/surfaces/header.d.ts +16 -0
  126. package/dist/i18n/messages/surfaces/skills.d.ts +216 -0
  127. package/dist/i18n/messages/surfaces/stream.d.ts +152 -29
  128. package/dist/i18n/messages/surfaces/workspace.d.ts +20 -0
  129. package/dist/public-api.d.ts +1 -1
  130. package/dist/routes/chat/part-renderer-extra-props.d.ts +43 -0
  131. package/dist/routes/chat/use-goal-receipt.d.ts +37 -0
  132. package/dist/routes/chat/use-host-draft-request.d.ts +2 -0
  133. package/dist/routes/chat/use-session-goal.d.ts +226 -0
  134. package/dist/routes/chat.d.ts +10 -1
  135. package/dist/routes/goal.d.ts +1 -0
  136. package/dist/routes/skills.d.ts +2 -0
  137. package/dist/stream/activity-items.d.ts +25 -0
  138. package/dist/stream/ai-sdk-part-renderers.d.ts +64 -25
  139. package/dist/stream/belong-chat-transport.d.ts +142 -2
  140. package/dist/stream/belong-data-parts.d.ts +48 -4
  141. package/dist/stream/goal-store.d.ts +43 -0
  142. package/dist/stream/message-metadata.d.ts +1 -0
  143. package/dist/stream/message-parts.d.ts +42 -0
  144. package/dist/stream/select-goal-set-part-id.d.ts +2 -0
  145. package/dist/stream/select-latest-goal.d.ts +13 -0
  146. package/dist/stream/subagent-controls-store.d.ts +20 -0
  147. package/dist/stream/subagent-lanes-model.d.ts +175 -0
  148. package/dist/stream/subagent-lanes.d.ts +89 -0
  149. package/dist/stream/use-publish-subagent-controls.d.ts +11 -0
  150. package/dist/stream/workspace-focus-store.d.ts +7 -1
  151. package/dist/test/render.d.ts +18 -1
  152. package/dist/test/subagent-fixtures.d.ts +24 -0
  153. package/dist/types/public.d.ts +54 -1
  154. package/package.json +1 -1
@@ -0,0 +1,179 @@
1
+ import { z } from 'zod';
2
+ export declare const goalStatusSchema: z.ZodEnum<{
3
+ active: "active";
4
+ paused: "paused";
5
+ clarifying: "clarifying";
6
+ completion_claimed: "completion_claimed";
7
+ deferred: "deferred";
8
+ waiting_for_user: "waiting_for_user";
9
+ waiting_for_approval: "waiting_for_approval";
10
+ waiting_for_ui_action: "waiting_for_ui_action";
11
+ blocked: "blocked";
12
+ budget_limited: "budget_limited";
13
+ complete: "complete";
14
+ cleared: "cleared";
15
+ }>;
16
+ export type GoalStatus = z.infer<typeof goalStatusSchema>;
17
+ /**
18
+ * One line of the panel's History (M6). `kind` and `actor` are OPEN strings,
19
+ * not enums, for the same reason `statusPartSchema.retryable` is optional in
20
+ * the transport: a value this dock predates must never make `safeParse` drop
21
+ * the whole goal view — the line falls back to a neutral label instead.
22
+ */
23
+ export declare const goalJournalEntrySchema: z.ZodObject<{
24
+ seq: z.ZodNumber;
25
+ kind: z.ZodString;
26
+ actor: z.ZodString;
27
+ toStatus: z.ZodNullable<z.ZodEnum<{
28
+ active: "active";
29
+ paused: "paused";
30
+ clarifying: "clarifying";
31
+ completion_claimed: "completion_claimed";
32
+ deferred: "deferred";
33
+ waiting_for_user: "waiting_for_user";
34
+ waiting_for_approval: "waiting_for_approval";
35
+ waiting_for_ui_action: "waiting_for_ui_action";
36
+ blocked: "blocked";
37
+ budget_limited: "budget_limited";
38
+ complete: "complete";
39
+ cleared: "cleared";
40
+ }>>;
41
+ note: z.ZodNullable<z.ZodString>;
42
+ at: z.ZodString;
43
+ }, z.core.$strip>;
44
+ export type GoalJournalEntry = z.infer<typeof goalJournalEntrySchema>;
45
+ export declare const goalViewSchema: z.ZodObject<{
46
+ goalId: z.ZodString;
47
+ status: z.ZodEnum<{
48
+ active: "active";
49
+ paused: "paused";
50
+ clarifying: "clarifying";
51
+ completion_claimed: "completion_claimed";
52
+ deferred: "deferred";
53
+ waiting_for_user: "waiting_for_user";
54
+ waiting_for_approval: "waiting_for_approval";
55
+ waiting_for_ui_action: "waiting_for_ui_action";
56
+ blocked: "blocked";
57
+ budget_limited: "budget_limited";
58
+ complete: "complete";
59
+ cleared: "cleared";
60
+ }>;
61
+ statusReason: z.ZodNullable<z.ZodString>;
62
+ objective: z.ZodString;
63
+ successCriteria: z.ZodArray<z.ZodObject<{
64
+ id: z.ZodString;
65
+ text: z.ZodString;
66
+ status: z.ZodEnum<{
67
+ open: "open";
68
+ met: "met";
69
+ }>;
70
+ evidence: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ }, z.core.$strip>>;
72
+ constraints: z.ZodArray<z.ZodString>;
73
+ tokensUsed: z.ZodNumber;
74
+ tokenBudget: z.ZodNumber;
75
+ turnsUsed: z.ZodNumber;
76
+ maxTurns: z.ZodNumber;
77
+ activeSeconds: z.ZodNumber;
78
+ maxActiveSeconds: z.ZodNumber;
79
+ lastProgressNote: z.ZodNullable<z.ZodString>;
80
+ updatedAt: z.ZodString;
81
+ startedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ originatingClientMessageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ clarifyMaxQuestions: z.ZodOptional<z.ZodNumber>;
84
+ judgeFeedback: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
+ judgeRejections: z.ZodOptional<z.ZodNumber>;
86
+ clarifyingTurns: z.ZodOptional<z.ZodNumber>;
87
+ resumeAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
+ journal: z.ZodOptional<z.ZodArray<z.ZodObject<{
89
+ seq: z.ZodNumber;
90
+ kind: z.ZodString;
91
+ actor: z.ZodString;
92
+ toStatus: z.ZodNullable<z.ZodEnum<{
93
+ active: "active";
94
+ paused: "paused";
95
+ clarifying: "clarifying";
96
+ completion_claimed: "completion_claimed";
97
+ deferred: "deferred";
98
+ waiting_for_user: "waiting_for_user";
99
+ waiting_for_approval: "waiting_for_approval";
100
+ waiting_for_ui_action: "waiting_for_ui_action";
101
+ blocked: "blocked";
102
+ budget_limited: "budget_limited";
103
+ complete: "complete";
104
+ cleared: "cleared";
105
+ }>>;
106
+ note: z.ZodNullable<z.ZodString>;
107
+ at: z.ZodString;
108
+ }, z.core.$strip>>>;
109
+ runway: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
110
+ quick: "quick";
111
+ normal: "normal";
112
+ long: "long";
113
+ }>>>;
114
+ }, z.core.$strip>;
115
+ export type GoalView = z.infer<typeof goalViewSchema>;
116
+ type FetchGoalOutcome = {
117
+ readonly status: "goal";
118
+ readonly goal: GoalView;
119
+ } | {
120
+ readonly status: "none" | "disabled" | "error";
121
+ };
122
+ export type GoalActionOutcome = {
123
+ readonly status: "ok";
124
+ readonly goalStatus: GoalStatus;
125
+ readonly revived?: boolean;
126
+ } | {
127
+ readonly status: "conflict";
128
+ readonly goalStatus: GoalStatus;
129
+ } | {
130
+ readonly status: "not_found" | "disabled" | "error";
131
+ };
132
+ /**
133
+ * `GET /v1/sessions/:id/goal`. 404 (`goal_not_found`) means the session has
134
+ * no goal at all — a normal, common state, not an error — so it collapses to
135
+ * `{ status: "none" }` rather than `"error"`. 503 (`goals_disabled`) is the
136
+ * tenant-level feature flag being off.
137
+ */
138
+ export declare const fetchSessionGoal: (apiBaseUrl: string, sessionId: string) => Promise<FetchGoalOutcome>;
139
+ export declare const pauseSessionGoal: (apiBaseUrl: string, sessionId: string) => Promise<GoalActionOutcome>;
140
+ export declare const resumeSessionGoal: (apiBaseUrl: string, sessionId: string) => Promise<GoalActionOutcome>;
141
+ export declare const clearSessionGoal: (apiBaseUrl: string, sessionId: string) => Promise<GoalActionOutcome>;
142
+ /**
143
+ * `POST /v1/sessions/:id/goal/snooze` — the footer's Snooze ▾ menu. Same
144
+ * 202/404/409/503 mapping as {@link goalAction} (this reuses its 202/409 body
145
+ * parsing exactly — the 202 shape is the same `{ status }`), except the 409
146
+ * conflict here is `goal_not_snoozable` (a goal that is not currently one of
147
+ * the four snoozable statuses — e.g. already `deferred`), which the footer
148
+ * shows through the same generic `failedSnooze` line rather than a
149
+ * status-specific one (unlike pause/resume/clear): there is exactly one
150
+ * snooze failure message, so every non-`ok` outcome — conflict, not found,
151
+ * disabled, or a plain network/parse error — reads the same way to the user.
152
+ */
153
+ export declare const snoozeSessionGoal: (apiBaseUrl: string, sessionId: string, wakeAt: Date) => Promise<GoalActionOutcome>;
154
+ /** `POST /v1/sessions/:id/goal/edit` request body — every field optional,
155
+ * but the backend rejects a body with none of them set (`goal_edit_no_change`
156
+ * only fires when the values match the *current* row; an empty body fails
157
+ * Zod validation on the backend before it ever reaches that check). */
158
+ export type GoalEditInput = {
159
+ readonly objective?: string;
160
+ readonly tokenBudget?: number;
161
+ readonly maxTurns?: number;
162
+ };
163
+ /**
164
+ * `POST /v1/sessions/:id/goal/edit`. Unlike {@link goalAction} this rides a
165
+ * JSON body (§4 — Content-Type required so the backend's `zValidator("json")`
166
+ * actually parses it instead of silently treating a missing/wrong
167
+ * Content-Type as `{}`). The 202 body carries `revived` — the edit raised a
168
+ * cap past `turns_used`/`tokens_used` and un-stalled a `budget_limited` goal
169
+ * — which `runGoalCommand` (chat.tsx) uses to pick between `goal.edited` and
170
+ * `goal.revived`. Both 409 variants the backend can return
171
+ * (`goal_not_editable`: the goal's current state can never be edited;
172
+ * `goal_edit_conflict`: a concurrent edit raced this one) collapse to the
173
+ * same `"conflict"` outcome — the dock has one notice for "try again",
174
+ * `goal.notEditable`, regardless of which race produced it.
175
+ */
176
+ export declare const editSessionGoal: (apiBaseUrl: string, sessionId: string, input: GoalEditInput) => Promise<GoalActionOutcome | {
177
+ readonly status: "no_change";
178
+ }>;
179
+ export {};
@@ -0,0 +1,13 @@
1
+ import { IssueReportRequest } from '../embed/issue-report-bus.ts';
2
+ export type SubmitIssueReportResult = {
3
+ readonly ok: true;
4
+ readonly reportId: string;
5
+ } | {
6
+ readonly ok: false;
7
+ readonly reason: "too_large" | "unsupported_media" | "request_failed";
8
+ };
9
+ export declare const submitIssueReport: (apiBaseUrl: string, input: {
10
+ readonly request: IssueReportRequest;
11
+ readonly message: string;
12
+ readonly includeScreenshot: boolean;
13
+ }) => Promise<SubmitIssueReportResult>;
@@ -15,7 +15,14 @@ export declare const queryKeys: {
15
15
  * `workspaceKey` is the scoped id, or "" when unconfigured.
16
16
  */
17
17
  sessionList: (workspaceKey: string, limit: number) => readonly ["belong", "sessions", "list", string, number];
18
+ /** Invalidation prefix for every skills-inventory read. */
18
19
  skills: readonly ["belong", "skills"];
20
+ /**
21
+ * Workspace-scoped `/` inventory (skill-library D1): library skills differ per
22
+ * workspace. Keeps `skills` as its prefix so existing invalidations still hit it.
23
+ * `workspaceKey` is the scoped id, or "" when unscoped.
24
+ */
25
+ skillsScoped: (workspaceKey: string) => readonly ["belong", "skills", string];
19
26
  workspaceFiles: readonly ["belong", "workspace-files"];
20
27
  /** Workspace-scoped Files tab / @-mention picker cache (same "" convention). */
21
28
  workspaceFilesScoped: (workspaceKey: string) => readonly ["belong", "workspace-files", string];
@@ -29,6 +36,17 @@ export declare const queryKeys: {
29
36
  prePrompts: readonly ["belong", "pre-prompts"];
30
37
  /** Workspace-scoped saved-prompt list (same "" unscoped convention). */
31
38
  prePromptList: (workspaceKey: string) => readonly ["belong", "pre-prompts", "list", string];
39
+ /** Invalidation prefix for every skill-library read (skill library spec §11.2). */
40
+ skillLibrary: readonly ["belong", "skill-library"];
41
+ /** Workspace-scoped library list ("" unscoped, "__missing__" never fetched). */
42
+ skillLibraryList: (workspaceKey: string) => readonly ["belong", "skill-library", "list", string];
43
+ /**
44
+ * UNSCOPED deployment probe: written by every list resolution, read by the
45
+ * rail. Whether the feature exists is a property of the CELL, not of a
46
+ * workspace — keying it per workspace would pop a dead rail entry back in on
47
+ * every host workspace switch (R61).
48
+ */
49
+ skillLibraryAvailability: readonly ["belong", "skill-library", "availability"];
32
50
  /**
33
51
  * Invalidation prefix for every custom-connector read. NOT workspace-scoped:
34
52
  * `/v1/connectors` keys off the CALLER, not a workspace — a user's connected
@@ -6,6 +6,9 @@
6
6
  * `POST /v1/telemetry/client` (telemetry.routes.ts) so they surface in
7
7
  * Loki/Tempo keyed by the SAME `session.id` the user copies from the dock.
8
8
  *
9
+ * Also feeds them into the local client-error buffer (client-error-log.ts) so
10
+ * an issue report can carry the tail of what already went wrong in this tab.
11
+ *
9
12
  * Best-effort and unobtrusive by construction:
10
13
  * - never throws into the caller's failure path (the report rides ON a failure);
11
14
  * - uses `navigator.sendBeacon` with a `text/plain` body so it survives a page
@@ -26,6 +26,25 @@
26
26
  *
27
27
  * Time and randomness are injectable (CLAUDE.md §25/§26); production callers
28
28
  * use the exported `retryingFetch` singleton.
29
+ *
30
+ * A 429 and a 503 get one more distinction on top of the policy above
31
+ * (task-9 fix round 1, review finding 2; team review S-I4): an application
32
+ * refusal — a goal-cap 429 (`goal_cap_user` / `goal_cap_tenant`) or the
33
+ * `goals_disabled` 503 the feature flag answers with (`session.routes.ts`,
34
+ * `goal.routes.ts`) — is a business-rule decision, not an ingress
35
+ * scale-out reject. Every retry replays to the exact same answer, just ~9s
36
+ * slower, and the user watches the composer hang before the dock can show
37
+ * copy it already has. The infrastructure rejects those two statuses carry
38
+ * NO body at all (Cloud Run's ingress 429; a cold-start or rolling-deploy
39
+ * 503), so the two are distinguishable by content: a 429 or 503 whose body
40
+ * parses as JSON with a string `error.type` is treated as terminal and
41
+ * returned to the caller immediately; anything else (empty body, non-JSON,
42
+ * JSON that doesn't match) keeps the existing transient-retry behavior.
43
+ *
44
+ * 408/502/504 stay out of it deliberately: no route on this backend answers
45
+ * a typed refusal with one, so a typed body on those could only come from
46
+ * something between us and the app — and believing it would end a ladder
47
+ * that exists precisely for that layer.
29
48
  */
30
49
  export declare const TRANSIENT_STATUSES: ReadonlySet<number>;
31
50
  /** Total attempts including the first. 5 attempts ≈ 8–12s of cumulative
@@ -0,0 +1,100 @@
1
+ import { QueryClient, UseQueryResult } from '@tanstack/react-query';
2
+ import { ApiClient } from './client.ts';
3
+ export type SkillLibraryItem = {
4
+ readonly userSkillId: string;
5
+ readonly name: string;
6
+ readonly description: string;
7
+ readonly enabled: boolean;
8
+ readonly revision: number;
9
+ readonly hasScripts: boolean;
10
+ readonly filesCount: number;
11
+ readonly archiveSizeBytes: number;
12
+ readonly updatedAt: string;
13
+ };
14
+ export type SkillLibraryListResult = {
15
+ readonly status: "ready";
16
+ readonly skills: readonly SkillLibraryItem[];
17
+ } | {
18
+ readonly status: "featureAbsent";
19
+ };
20
+ export type SkillLibraryAvailability = "available" | "absent";
21
+ export type SkillNameReservedBy = "company_skill" | "dock_command" | "platform_skill" | "saved_prompt";
22
+ export type ImportSkillInput = {
23
+ readonly file: File;
24
+ /** crypto.randomUUID(), minted when the upload dialog opens and again on every accepted file pick (a retry of the same pick reuses it). */
25
+ readonly clientSaveId: string;
26
+ readonly onNameConflict: "reject" | "replace";
27
+ };
28
+ export type ImportSkillOutcome = {
29
+ readonly status: "saved";
30
+ readonly outcome: "created" | "replaced" | "unchanged" | "idempotent";
31
+ readonly userSkillId: string;
32
+ readonly name: string;
33
+ readonly revision: number;
34
+ readonly hasScripts: boolean;
35
+ } | {
36
+ readonly status: "name_taken";
37
+ readonly name: string;
38
+ readonly userSkillId: string;
39
+ } | {
40
+ readonly status: "name_reserved";
41
+ readonly name: string;
42
+ readonly reservedBy: SkillNameReservedBy;
43
+ } | {
44
+ readonly status: "content_reserved";
45
+ } | {
46
+ readonly status: "invalid_skill_archive";
47
+ readonly reason: string;
48
+ } | {
49
+ readonly status: "archive_too_large";
50
+ readonly maxArchiveBytes: number;
51
+ } | {
52
+ readonly status: "limit_reached";
53
+ readonly maxCount: number;
54
+ } | {
55
+ readonly status: "feature_absent";
56
+ } | {
57
+ readonly status: "error";
58
+ };
59
+ export type SetSkillEnabledOutcome = {
60
+ readonly status: "updated";
61
+ readonly userSkillId: string;
62
+ readonly enabled: boolean;
63
+ } | {
64
+ readonly status: "not_found";
65
+ } | {
66
+ readonly status: "error";
67
+ };
68
+ export type DeleteSkillOutcome = {
69
+ readonly status: "deleted";
70
+ } | {
71
+ readonly status: "not_found";
72
+ } | {
73
+ readonly status: "error";
74
+ };
75
+ export declare const listSkillLibraryRequest: (api: ApiClient, query: {
76
+ readonly workspaceExternalId?: string;
77
+ }, signal?: AbortSignal) => Promise<SkillLibraryListResult>;
78
+ export declare const useSkillLibrary: () => UseQueryResult<SkillLibraryListResult>;
79
+ /**
80
+ * Does this deployment have the skill library? FALSE until some list call has
81
+ * RESOLVED `featureAbsent` — while loading, on an outage, or in a missing scope
82
+ * before any probe resolved, the rail keeps its entry (a late pop-in reads as a
83
+ * glitch; an outage must not look like a feature that was never there).
84
+ */
85
+ export declare const useSkillLibraryFeatureAbsent: () => boolean;
86
+ /** Invalidates BOTH the library and the skills inventory. */
87
+ export declare const invalidateSkillCaches: (queryClient: QueryClient) => Promise<void>;
88
+ /**
89
+ * Raw `fetch` + FormData, because Hono RPC has no multipart path in the SDK
90
+ * (the `routes/documents.tsx` precedent). Not retried transparently; the
91
+ * per-pick `clientSaveId` (minted on open and on every accepted file pick)
92
+ * makes a manual retry of the same pick idempotent.
93
+ */
94
+ export declare const useImportSkill: () => import('@tanstack/react-query').UseMutationResult<ImportSkillOutcome, Error, ImportSkillInput, unknown>;
95
+ export declare const useSetSkillEnabled: () => import('@tanstack/react-query').UseMutationResult<SetSkillEnabledOutcome, Error, {
96
+ readonly userSkillId: string;
97
+ readonly enabled: boolean;
98
+ }, unknown>;
99
+ export declare const useDeleteSkill: () => import('@tanstack/react-query').UseMutationResult<DeleteSkillOutcome, Error, string, unknown>;
100
+ export declare const skillLibraryDownloadUrl: (baseUrl: string, userSkillId: string) => string;
@@ -29,5 +29,7 @@ export type SlashInventory = {
29
29
  readonly skills: readonly SkillSummary[];
30
30
  readonly commands: readonly CommandSummary[];
31
31
  };
32
- export declare const listSkillsRequest: (api: ApiClient) => Promise<SlashInventory>;
32
+ export declare const listSkillsRequest: (api: ApiClient, query?: {
33
+ readonly workspaceExternalId?: string;
34
+ }) => Promise<SlashInventory>;
33
35
  export declare const useSkills: () => import('@tanstack/react-query').UseQueryResult<NoInfer<SlashInventory>, Error>;
@@ -1,8 +1,4 @@
1
- /**
2
- * Typed router-Outlet context for the dock's routed views (documents /
3
- * files / sessions / scheduled). BelongDock provides it; a routed view
4
- * reads it with `useDockOutlet()`.
5
- */
1
+ import { GoalActionOutcome } from '../api/goals.ts';
6
2
  export type DockOutletContext = {
7
3
  /**
8
4
  * Open an existing chat session: re-points the stream store, remounts the
@@ -14,5 +10,19 @@ export type DockOutletContext = {
14
10
  readonly reconcileBackgroundRun?: boolean;
15
11
  readonly runId?: string;
16
12
  }) => void;
13
+ /**
14
+ * Run a goal lifecycle action on the ON-SCREEN session's goal and hand back
15
+ * the server's own outcome (§19 — a refusal is a value, not a throw). The
16
+ * dock owns this so the POST and the re-read that follows it are ONE path:
17
+ * every goal surface then shows the same server truth, and no surface can
18
+ * flip a status locally ahead of it (§12, §41).
19
+ */
20
+ readonly goalAction: (action: "pause" | "resume" | "clear") => Promise<GoalActionOutcome>;
21
+ /**
22
+ * Task 19 — same POST-then-RE-READ path as {@link goalAction}, for the
23
+ * footer's Snooze ▾ menu. A separate function (not a fourth `goalAction`
24
+ * case) because snooze carries a `wakeAt` argument the other three don't.
25
+ */
26
+ readonly goalSnooze: (wakeAt: Date) => Promise<GoalActionOutcome>;
17
27
  };
18
28
  export declare const useDockOutlet: () => DockOutletContext;
@@ -0,0 +1,18 @@
1
+ import { BrowserCommand, BrowserCommandResult } from '../../../../apps/belong-cloud/src/features/browser-control/browser-control.schemas.ts';
2
+ /** Every relay op the dock can run (the wire union). */
3
+ export type BrowserOpName = BrowserCommand["op"];
4
+ /**
5
+ * Seed the restriction from `init({ browserControl })`. Omitted = every op.
6
+ * Anything else the host passed was meant to RESTRICT the page, so an invalid
7
+ * value allows NOTHING (fail closed) and says why in the console — never throws
8
+ * at the host boundary.
9
+ */
10
+ export declare const configureBrowserControl: (config: unknown) => void;
11
+ /**
12
+ * The refusal for an op this page does not run, or null when it may run.
13
+ * Non-retryable by nature — the host's setting will not change mid-run — and
14
+ * the message says so, so the agent picks another tool instead of retrying.
15
+ */
16
+ export declare const refuseUnlessAllowed: (op: BrowserOpName) => BrowserCommandResult | null;
17
+ /** Test-only: back to "the host set no restriction". */
18
+ export declare const __resetBrowserControlForTest: () => void;
@@ -0,0 +1,31 @@
1
+ import { BrowserCommand, BrowserCommandResult, MCP_CALL_BODY_MAX_CHARS } from '../../../../apps/belong-cloud/src/features/browser-control/browser-control.schemas.ts';
2
+ type McpCallCommand = Extract<BrowserCommand, {
3
+ op: "mcp_call";
4
+ }>;
5
+ /**
6
+ * Ceiling on the raw body relayed back for one call — the cloud's
7
+ * `MCP_CALL_BODY_MAX_CHARS`. The SDK build resolves `@cloud/*` for TYPES only
8
+ * (there is no runtime alias), so the value is restated here and pinned to the
9
+ * cloud's literal through its type: changing the cloud ceiling fails this
10
+ * package's typecheck until the two agree again.
11
+ */
12
+ export declare const HOST_MCP_BODY_MAX_CHARS: typeof MCP_CALL_BODY_MAX_CHARS;
13
+ /**
14
+ * Seed the allowlist from `init({ hostMcp })`. Omitted = no host MCP at all.
15
+ * An invalid config allows NOTHING (fail closed) and says why in the console —
16
+ * never throws at the host boundary.
17
+ */
18
+ export declare const configureHostMcp: (config: unknown) => void;
19
+ /**
20
+ * Run one host-bridged `mcp_call`. Never throws: an unlisted path is
21
+ * `mcp_not_allowed`, a fetch that produced no HTTP answer is
22
+ * `mcp_fetch_failed`, and ANY HTTP answer — a 401, a 5xx, a refused redirect —
23
+ * is relayed raw in `value.http` for the cloud to interpret.
24
+ */
25
+ export declare const runMcpCall: (cmd: McpCallCommand, deps?: {
26
+ readonly fetchFn?: typeof fetch;
27
+ readonly newId?: () => string;
28
+ }) => Promise<BrowserCommandResult>;
29
+ /** Test-only: back to "the host opted into nothing". */
30
+ export declare const __resetHostMcpForTest: () => void;
31
+ export {};
@@ -1,6 +1,6 @@
1
- import { g as p, r as u, d as n } from "./chunk-6Q2QTUOP-DHcoXRhe.js";
2
- import { p as f } from "./chunk-JWPE2WC7-ClHq4gN2.js";
3
- import { _ as a, l as o } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { g as p, r as u, d as n } from "./chunk-6Q2QTUOP-D6ec2nI7.js";
2
+ import { p as f } from "./chunk-JWPE2WC7-CmGlHqne.js";
3
+ import { _ as a, l as o } from "./mermaid-GHXKKRXX-aX5umm-y.js";
4
4
  import { M as c, b as g } from "./cynefin-VYW2F7L2-DAyxamLw.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
@@ -87,4 +87,4 @@ var b = g().RailroadAbnf.parser.LangiumParser, l = /* @__PURE__ */ a((e) => {
87
87
  export {
88
88
  T as diagram
89
89
  };
90
- //# sourceMappingURL=abnfDiagram-N423BO3Z-DZRUOUZQ.js.map
90
+ //# sourceMappingURL=abnfDiagram-N423BO3Z-D4mVRMw9.js.map
@@ -1,4 +1,4 @@
1
- import { H as ln, I as an, J as g, K as on, M as Q, N as w, O as _, P as sn, Q as rn, S as X, T as t, V as J, W as un, X as tn, Y as fn } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { H as ln, I as an, J as g, K as on, M as Q, N as w, O as _, P as sn, Q as rn, S as X, T as t, V as J, W as un, X as tn, Y as fn } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  function cn(l) {
@@ -83,4 +83,4 @@ function xn() {
83
83
  export {
84
84
  xn as d
85
85
  };
86
- //# sourceMappingURL=arc-B4biduil.js.map
86
+ //# sourceMappingURL=arc-GBp6w3tF.js.map
@@ -1,5 +1,5 @@
1
- import { p as ke } from "./chunk-JWPE2WC7-ClHq4gN2.js";
2
- import { ba as qe, _ as ct, G as Qe, ag as Je, l as Se, b as Ke, a as je, o as _e, p as tr, g as er, s as rr, q as ir, D as ar, z as nr, E as or, c as me, b2 as Ee, al as ve, i as sr, d as hr, r as lr, am as fr, bb as cr } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { p as ke } from "./chunk-JWPE2WC7-CmGlHqne.js";
2
+ import { ba as qe, _ as ct, G as Qe, ag as Je, l as Se, b as Ke, a as je, o as _e, p as tr, g as er, s as rr, q as ir, D as ar, z as nr, E as or, c as me, b2 as Ee, al as ve, i as sr, d as hr, r as lr, am as fr, bb as cr } from "./mermaid-GHXKKRXX-aX5umm-y.js";
3
3
  import { p as gr } from "./cynefin-VYW2F7L2-DAyxamLw.js";
4
4
  import { c as Fe } from "./cytoscape.esm-C31R6JOv.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
@@ -4781,4 +4781,4 @@ var Ur = /* @__PURE__ */ ct(async (w, F, M, P) => {
4781
4781
  export {
4782
4782
  zr as diagram
4783
4783
  };
4784
- //# sourceMappingURL=architectureDiagram-T3A2C74G-q8voStNN.js.map
4784
+ //# sourceMappingURL=architectureDiagram-T3A2C74G-Cxm-USYQ.js.map
@@ -1,7 +1,7 @@
1
- import { g as de } from "./chunk-5VM5RSS4-BweQRk7u.js";
2
- import { aD as pe, aE as Kt, aF as fe, aG as xe, aH as ye, aI as be, aJ as we, aK as me, aL as Se, aM as Le, aN as ke, aO as ve, aP as Ee, aQ as _e, aR as Te, aS as De, aT as Be, aU as Ne, aV as Ie, aW as Ce, aX as Oe, aY as Re, aZ as Ae, a_ as ze, a$ as Me, _ as g, z as rt, d as D, e as Pe, l as k, q as Fe, t as We, c as R, b0 as Ye, aa as He, ab as Ke, a6 as Ue, b1 as M, b2 as kt, b3 as Q, av as Xe, y as $, k as Ve, b4 as je, i as Ct, b5 as Ot, b6 as Ge } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { g as de } from "./chunk-5VM5RSS4-BG8q5ODa.js";
2
+ import { aD as pe, aE as Kt, aF as fe, aG as xe, aH as ye, aI as be, aJ as we, aK as me, aL as Se, aM as Le, aN as ke, aO as ve, aP as Ee, aQ as _e, aR as Te, aS as De, aT as Be, aU as Ne, aV as Ie, aW as Ce, aX as Oe, aY as Re, aZ as Ae, a_ as ze, a$ as Me, _ as g, z as rt, d as D, e as Pe, l as k, q as Fe, t as We, c as R, b0 as Ye, aa as He, ab as Ke, a6 as Ue, b1 as M, b2 as kt, b3 as Q, av as Xe, y as $, k as Ve, b4 as je, i as Ct, b5 as Ot, b6 as Ge } from "./mermaid-GHXKKRXX-aX5umm-y.js";
3
3
  import { G as Ze } from "./graph-CWpEkm4G.js";
4
- import { c as qe } from "./channel-CUruDJSx.js";
4
+ import { c as qe } from "./channel-DPbaAkCI.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
7
7
  function Je(e) {
@@ -2419,4 +2419,4 @@ var Ea = /* @__PURE__ */ g(function(e, t) {
2419
2419
  export {
2420
2420
  Ca as diagram
2421
2421
  };
2422
- //# sourceMappingURL=blockDiagram-VBNYF7ZC-C0TDyTgw.js.map
2422
+ //# sourceMappingURL=blockDiagram-VBNYF7ZC-BAiLpxJf.js.map
@@ -1,5 +1,5 @@
1
- import { g as Oe, d as Re } from "./chunk-2GRJ4B5K-Kff5Fvbi.js";
2
- import { s as Se, g as De, a as Pe, b as Be, _ as y, c as Dt, d as Nt, l as he, e as Ie, f as Me, h as Tt, i as pe, j as Le, w as Ne, k as Jt, m as ue } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { g as Oe, d as Re } from "./chunk-2GRJ4B5K-8r8YJzCc.js";
2
+ import { s as Se, g as De, a as Pe, b as Be, _ as y, c as Dt, d as Nt, l as he, e as Ie, f as Me, h as Tt, i as pe, j as Le, w as Ne, k as Jt, m as ue } from "./mermaid-GHXKKRXX-aX5umm-y.js";
3
3
  globalThis.process = globalThis.process || { env: {} };
4
4
  globalThis.global = globalThis.global || globalThis;
5
5
  var jt = (function() {
@@ -1583,4 +1583,4 @@ var T0 = /* @__PURE__ */ y(function(e, t, s, o) {
1583
1583
  export {
1584
1584
  P0 as diagram
1585
1585
  };
1586
- //# sourceMappingURL=c4Diagram-5PPSVZJV-rxRyd6rh.js.map
1586
+ //# sourceMappingURL=c4Diagram-5PPSVZJV-Sy6sLJOj.js.map
@@ -1,8 +1,8 @@
1
- import { U as s, C as a } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { U as s, C as a } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  const g = (l, o) => s.lang.round(a.parse(l)[o]);
5
5
  export {
6
6
  g as c
7
7
  };
8
- //# sourceMappingURL=channel-CUruDJSx.js.map
8
+ //# sourceMappingURL=channel-DPbaAkCI.js.map
@@ -1,4 +1,4 @@
1
- import { _ as l, d as n, n as d, j as o } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { _ as l, d as n, n as d, j as o } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  var c = /* @__PURE__ */ l((r, t) => {
@@ -68,4 +68,4 @@ export {
68
68
  m as g,
69
69
  y as h
70
70
  };
71
- //# sourceMappingURL=chunk-2GRJ4B5K-Kff5Fvbi.js.map
71
+ //# sourceMappingURL=chunk-2GRJ4B5K-8r8YJzCc.js.map
@@ -1,4 +1,4 @@
1
- import { _ as t } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { _ as t } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  var a = class {
@@ -18,4 +18,4 @@ var a = class {
18
18
  export {
19
19
  a as I
20
20
  };
21
- //# sourceMappingURL=chunk-2Q5K7J3B-BT3ZD31a.js.map
21
+ //# sourceMappingURL=chunk-2Q5K7J3B-RZqny7-R.js.map
@@ -1,7 +1,7 @@
1
- import { g as te } from "./chunk-XXDRQBXY-D9c0CJyR.js";
2
- import { s as ee } from "./chunk-KBJHAD2P-BeCfHf5W.js";
3
- import { _ as f, l as _, c as $, x as se, y as ie, a as re, b as ae, g as ne, s as oe, o as le, p as ce, ac as he, k as j, q as ue, d as bt, a8 as de } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
4
- import { f as fe } from "./chunk-2GRJ4B5K-Kff5Fvbi.js";
1
+ import { g as te } from "./chunk-XXDRQBXY-D4s0eyp4.js";
2
+ import { s as ee } from "./chunk-KBJHAD2P-W03s7swc.js";
3
+ import { _ as f, l as _, c as $, x as se, y as ie, a as re, b as ae, g as ne, s as oe, o as le, p as ce, ac as he, k as j, q as ue, d as bt, a8 as de } from "./mermaid-GHXKKRXX-aX5umm-y.js";
4
+ import { f as fe } from "./chunk-2GRJ4B5K-8r8YJzCc.js";
5
5
  globalThis.process = globalThis.process || { env: {} };
6
6
  globalThis.global = globalThis.global || globalThis;
7
7
  var vt = (function() {
@@ -1414,4 +1414,4 @@ export {
1414
1414
  We as b,
1415
1415
  He as s
1416
1416
  };
1417
- //# sourceMappingURL=chunk-5RXB4S5H-CYZ36tQD.js.map
1417
+ //# sourceMappingURL=chunk-5RXB4S5H-QFCY9Dtl.js.map
@@ -1,4 +1,4 @@
1
- import { _ as l } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { _ as l } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  var o = /* @__PURE__ */ l(() => `
@@ -19,4 +19,4 @@ var o = /* @__PURE__ */ l(() => `
19
19
  export {
20
20
  o as g
21
21
  };
22
- //# sourceMappingURL=chunk-5VM5RSS4-BweQRk7u.js.map
22
+ //# sourceMappingURL=chunk-5VM5RSS4-BG8q5ODa.js.map
@@ -1,4 +1,4 @@
1
- import { _ as p, l as w, G as L, z as E, q as I, Z as X, e as q, i as G, c as H } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
1
+ import { _ as p, l as w, G as L, z as E, q as I, Z as X, e as q, i as G, c as H } from "./mermaid-GHXKKRXX-aX5umm-y.js";
2
2
  globalThis.process = globalThis.process || { env: {} };
3
3
  globalThis.global = globalThis.global || globalThis;
4
4
  var z = "", b = "", N = "", A = [], R = /* @__PURE__ */ new Map(), k = /* @__PURE__ */ p((e) => G(e, H()), "sanitizeText"), F = /* @__PURE__ */ p((e) => {
@@ -670,4 +670,4 @@ export {
670
670
  ue as g,
671
671
  ge as r
672
672
  };
673
- //# sourceMappingURL=chunk-6Q2QTUOP-DHcoXRhe.js.map
673
+ //# sourceMappingURL=chunk-6Q2QTUOP-D6ec2nI7.js.map
@@ -1,8 +1,8 @@
1
- import { g as tt } from "./chunk-5VM5RSS4-BweQRk7u.js";
2
- import { g as st } from "./chunk-XXDRQBXY-D9c0CJyR.js";
3
- import { s as it } from "./chunk-KBJHAD2P-BeCfHf5W.js";
4
- import { _ as f, l as Ie, c as F, v as at, x as nt, y as Oe, d as de, a8 as rt, b as ut, a as lt, s as ct, g as ot, o as ht, p as dt, k as I, q as pt, r as At, i as ft, a9 as G } from "./mermaid-GHXKKRXX-DfdCmrs3.js";
5
- import { f as gt } from "./chunk-2GRJ4B5K-Kff5Fvbi.js";
1
+ import { g as tt } from "./chunk-5VM5RSS4-BG8q5ODa.js";
2
+ import { g as st } from "./chunk-XXDRQBXY-D4s0eyp4.js";
3
+ import { s as it } from "./chunk-KBJHAD2P-W03s7swc.js";
4
+ import { _ as f, l as Ie, c as F, v as at, x as nt, y as Oe, d as de, a8 as rt, b as ut, a as lt, s as ct, g as ot, o as ht, p as dt, k as I, q as pt, r as At, i as ft, a9 as G } from "./mermaid-GHXKKRXX-aX5umm-y.js";
5
+ import { f as gt } from "./chunk-2GRJ4B5K-8r8YJzCc.js";
6
6
  globalThis.process = globalThis.process || { env: {} };
7
7
  globalThis.global = globalThis.global || globalThis;
8
8
  var we = (function() {
@@ -1539,4 +1539,4 @@ export {
1539
1539
  Nt as c,
1540
1540
  St as s
1541
1541
  };
1542
- //# sourceMappingURL=chunk-GF5L2VYU-DtE5ljCc.js.map
1542
+ //# sourceMappingURL=chunk-GF5L2VYU-D7yROYf0.js.map