@belonguniverseai/react-sdk 0.6.21 → 0.6.23
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 +69 -0
- package/dist/api/account-connectors.d.ts +2 -2
- package/dist/api/api-keys.d.ts +22 -0
- package/dist/api/client-identity.d.ts +12 -0
- package/dist/api/client.d.ts +2453 -92
- package/dist/api/goals.d.ts +179 -0
- package/dist/api/issue-reports.d.ts +13 -0
- package/dist/api/query-keys.d.ts +19 -0
- package/dist/api/report-client-error.d.ts +3 -0
- package/dist/api/retry-fetch.d.ts +19 -0
- package/dist/api/session-end.d.ts +2 -0
- package/dist/api/skill-library.d.ts +100 -0
- package/dist/api/skills.d.ts +3 -1
- package/dist/api/task-schedule-sharing.d.ts +166 -0
- package/dist/api/task-schedules.d.ts +23 -1
- package/dist/app/BelongDock.d.ts +0 -28
- package/dist/app/dock-demo-features.d.ts +13 -0
- package/dist/app/dock-demo-transport.d.ts +37 -0
- package/dist/app/dock-outlet.d.ts +15 -5
- package/dist/app/dock-story-data.d.ts +116 -0
- package/dist/browser/allowed-ops.d.ts +18 -0
- package/dist/browser/host-mcp.d.ts +31 -0
- package/dist/component/THIRD_PARTY_NOTICES.txt +24 -0
- package/dist/component/{abnfDiagram-N423BO3Z-DZRUOUZQ.js → abnfDiagram-N423BO3Z-bM1BoI0O.js} +4 -4
- package/dist/component/{arc-B4biduil.js → arc-DaSgre52.js} +2 -2
- package/dist/component/{architectureDiagram-T3A2C74G-q8voStNN.js → architectureDiagram-T3A2C74G-avMCXzQw.js} +3 -3
- package/dist/component/{blockDiagram-VBNYF7ZC-C0TDyTgw.js → blockDiagram-VBNYF7ZC-Cg6EDrdt.js} +4 -4
- package/dist/component/{c4Diagram-5PPSVZJV-rxRyd6rh.js → c4Diagram-5PPSVZJV-DhUs6wdK.js} +3 -3
- package/dist/component/{channel-CUruDJSx.js → channel-DlmuDpcv.js} +2 -2
- package/dist/component/{chunk-2GRJ4B5K-Kff5Fvbi.js → chunk-2GRJ4B5K-Drdf-9Az.js} +2 -2
- package/dist/component/{chunk-2Q5K7J3B-BT3ZD31a.js → chunk-2Q5K7J3B-CG6mCJjr.js} +2 -2
- package/dist/component/{chunk-5RXB4S5H-CYZ36tQD.js → chunk-5RXB4S5H-DYJwqjr4.js} +5 -5
- package/dist/component/{chunk-5VM5RSS4-BweQRk7u.js → chunk-5VM5RSS4-B21XfkBj.js} +2 -2
- package/dist/component/{chunk-6Q2QTUOP-DHcoXRhe.js → chunk-6Q2QTUOP-DZkWqf90.js} +2 -2
- package/dist/component/{chunk-GF5L2VYU-DtE5ljCc.js → chunk-GF5L2VYU-5hBEo1f5.js} +6 -6
- package/dist/component/{chunk-JWPE2WC7-ClHq4gN2.js → chunk-JWPE2WC7-DAn-TcDC.js} +2 -2
- package/dist/component/{chunk-KBJHAD2P-BeCfHf5W.js → chunk-KBJHAD2P-CEMDhN2A.js} +2 -2
- package/dist/component/{chunk-RYQCIY6F-CuAngwHt.js → chunk-RYQCIY6F-BWL1otLK.js} +2 -2
- package/dist/component/{chunk-XXDRQBXY-D9c0CJyR.js → chunk-XXDRQBXY-D0TWnqlD.js} +2 -2
- package/dist/component/{classDiagram-JCYQIIEL-DdzIbKj1.js → classDiagram-JCYQIIEL-CjU-7xK0.js} +3 -3
- package/dist/component/{classDiagram-v2-OCEON4UE-DdzIbKj1.js → classDiagram-v2-OCEON4UE-CjU-7xK0.js} +3 -3
- package/dist/component/{cose-bilkent-JH36ORCC-hME9BYGm.js → cose-bilkent-JH36ORCC-MkPQhZKJ.js} +2 -2
- package/dist/component/{cynefinDiagram-MW4NZA55-BiceKBPh.js → cynefinDiagram-MW4NZA55-Wf-Eh_MR.js} +3 -3
- package/dist/component/{dagre-VZM6K2ZE-DiPOLAUX.js → dagre-VZM6K2ZE-D1ND11ws.js} +3 -3
- package/dist/component/{diagram-7IWD3JNH-BSDWgxjs.js → diagram-7IWD3JNH-ChO63Ikp.js} +4 -4
- package/dist/component/{diagram-B4RE2ZJO-BdpGOPaT.js → diagram-B4RE2ZJO-CFVIZBxd.js} +3 -3
- package/dist/component/{diagram-LBJQPF4R-B0V6_5ih.js → diagram-LBJQPF4R-BFErKt-H.js} +3 -3
- package/dist/component/{diagram-Q27KOJAE-CYDb40TJ.js → diagram-Q27KOJAE-3EA2fDKz.js} +4 -4
- package/dist/component/{diagram-UB23O5K3-DgwjRdl5.js → diagram-UB23O5K3-D914yr1r.js} +3 -3
- package/dist/component/{ebnfDiagram-BXEA7PRR-D-C7SWec.js → ebnfDiagram-BXEA7PRR-BlRDglJm.js} +4 -4
- package/dist/component/{erDiagram-JOGREHBK-DLJCjcXM.js → erDiagram-JOGREHBK-BgHUzm41.js} +5 -5
- package/dist/component/{flowDiagram-UKHOOZJN-BZfBucKB.js → flowDiagram-UKHOOZJN-Cf42sXVK.js} +7 -7
- package/dist/component/{ganttDiagram-PKOTCBZU-CxTHmusv.js → ganttDiagram-PKOTCBZU-Bqai8Nqw.js} +3 -3
- package/dist/component/{gitGraphDiagram-DS77QQ5N-B_dWXxMf.js → gitGraphDiagram-DS77QQ5N-M6yX_E4b.js} +4 -4
- package/dist/component/{highlighted-body-OFNGDK62-CQ1ZdhQ-.js → highlighted-body-OFNGDK62-C2rmuXAs.js} +2 -2
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-6WML65LV-P4GO-aVw.js → infoDiagram-6WML65LV-Bk4qDfY4.js} +2 -2
- package/dist/component/{ishikawaDiagram-WSZJBQD7-BMXMrxKI.js → ishikawaDiagram-WSZJBQD7-CQ0-i0XP.js} +2 -2
- package/dist/component/{journeyDiagram-NVQOT4AX-DPdTmxkF.js → journeyDiagram-NVQOT4AX-CK9lX22d.js} +5 -5
- package/dist/component/{kanban-definition-27J2QSJJ-sYw64NrE.js → kanban-definition-27J2QSJJ-CrIKfzfe.js} +3 -3
- package/dist/component/{linear-DYjDg3gl.js → linear-CzN3Xd3g.js} +2 -2
- package/dist/component/{mermaid-GHXKKRXX-DfdCmrs3.js → mermaid-GHXKKRXX-B-ea5OKA.js} +116618 -105206
- package/dist/component/{mindmap-definition-FAOFIHXS-UkAbrucA.js → mindmap-definition-FAOFIHXS-DUDsEObz.js} +4 -4
- package/dist/component/{pegDiagram-VL7TDLO6-BGab1it6.js → pegDiagram-VL7TDLO6-DFJ-rOLH.js} +4 -4
- package/dist/component/{pieDiagram-7S7Q4E2Y-BnY70Pr-.js → pieDiagram-7S7Q4E2Y-OwliOUdN.js} +4 -4
- package/dist/component/{quadrantDiagram-CIZ2JOQS-Cv1bjdQb.js → quadrantDiagram-CIZ2JOQS-CLKxzqPi.js} +3 -3
- package/dist/component/{railroadDiagram-AXF67PYL-DJhLbGB_.js → railroadDiagram-AXF67PYL-_jBOX7-D.js} +4 -4
- package/dist/component/{requirementDiagram-LRYGKXZP-CLW3CgbU.js → requirementDiagram-LRYGKXZP-CxfMaDPH.js} +4 -4
- package/dist/component/{sankeyDiagram-W5VNT64P-vnapx0yf.js → sankeyDiagram-W5VNT64P-D-qOUzh7.js} +2 -2
- package/dist/component/{sequenceDiagram-SI44F4Z6-I43iQsY0.js → sequenceDiagram-SI44F4Z6-B57h29Ae.js} +4 -4
- package/dist/component/{sizeCapture-X5ZJPWSS-D9LGwwwC.js → sizeCapture-X5ZJPWSS-DlIoKfk1.js} +2 -2
- package/dist/component/snapdom-DkzCA8S0.js +7061 -0
- package/dist/component/{stateDiagram-OKZ733FA-BXejMYGk.js → stateDiagram-OKZ733FA-CNNoDNwB.js} +3 -3
- package/dist/component/{stateDiagram-v2-UEYNNEHI-BP05TJSl.js → stateDiagram-v2-UEYNNEHI-xYjW9R-s.js} +3 -3
- package/dist/component/{swimlanes-SLNWSIFB-CfmDVYhs.js → swimlanes-SLNWSIFB-Chjr6NCU.js} +4 -4
- package/dist/component/{swimlanesDiagram-ULZ7WXOC-DfjQBUfV.js → swimlanesDiagram-ULZ7WXOC-A9mWwnCX.js} +3 -3
- package/dist/component/{timeline-definition-Z64GVDOM-C0BwzTs3.js → timeline-definition-Z64GVDOM-DldyCd1l.js} +3 -3
- package/dist/component/{vennDiagram-T6HMQDX7-CRf8sGBL.js → vennDiagram-T6HMQDX7-BGfiPWG2.js} +2 -2
- package/dist/component/{wardleyDiagram-T6FBY63Y-C2h7TQ4a.js → wardleyDiagram-T6FBY63Y-Bzn9DJ27.js} +3 -3
- package/dist/component/{xychartDiagram-ELKLHX3M-CBcAwmdF.js → xychartDiagram-ELKLHX3M-nMaNgT12.js} +3 -3
- package/dist/components/ai-elements/message.d.ts +2 -2
- package/dist/components/ai-elements/prompt-input.d.ts +3 -1
- package/dist/components/ai-elements/task.d.ts +2 -1
- package/dist/components/ai-elements/terminal-task.d.ts +2 -1
- package/dist/components/connectors/portal-theme.d.ts +2 -8
- package/dist/components/embed/AgentChatIcon.d.ts +1 -1
- package/dist/components/embed/AgentPhaseIcon.d.ts +16 -14
- package/dist/components/embed/ApiKeysSettings.d.ts +1 -0
- package/dist/components/embed/BetaBadge.d.ts +8 -10
- package/dist/components/embed/ComposerContext.d.ts +9 -0
- package/dist/components/embed/EmbedAvatar.d.ts +19 -18
- package/dist/components/embed/EmbedComposer.d.ts +13 -1
- package/dist/components/embed/EmbedHeader.d.ts +13 -30
- package/dist/components/embed/EmbedRail.d.ts +29 -10
- package/dist/components/embed/EmbedSessions.d.ts +10 -12
- package/dist/components/embed/GoalActions.d.ts +15 -0
- package/dist/components/embed/GoalBadge.d.ts +17 -0
- package/dist/components/embed/GoalClearDialog.d.ts +6 -0
- package/dist/components/embed/GoalClearedLine.d.ts +3 -0
- package/dist/components/embed/GoalCompletionCard.d.ts +12 -0
- package/dist/components/embed/GoalComposeSheet.d.ts +20 -0
- package/dist/components/embed/GoalProposalCard.d.ts +29 -0
- package/dist/components/embed/GoalRailView.d.ts +15 -0
- package/dist/components/embed/GoalRefusalCard.d.ts +22 -0
- package/dist/components/embed/GoalSetCard.d.ts +5 -0
- package/dist/components/embed/GoalSnoozeMenu.d.ts +14 -0
- package/dist/components/embed/GoalStatusRow.d.ts +6 -0
- package/dist/components/embed/GoalTimeline.d.ts +6 -0
- package/dist/components/embed/LegalShortDisclaimer.d.ts +6 -8
- package/dist/components/embed/MentionInput.d.ts +9 -3
- package/dist/components/embed/MobileNavBar.d.ts +16 -10
- package/dist/components/embed/OnboardingOverlay.d.ts +3 -1
- package/dist/components/embed/OnboardingTour.d.ts +1 -10
- package/dist/components/embed/OnboardingWelcome.d.ts +1 -11
- package/dist/components/embed/PlanPanel.d.ts +3 -1
- package/dist/components/embed/PreviewPanel.d.ts +3 -1
- package/dist/components/embed/QuestionCard.d.ts +12 -1
- package/dist/components/embed/ScheduleNotices.d.ts +23 -0
- package/dist/components/embed/SentAsGoalTag.d.ts +1 -0
- package/dist/components/embed/SessionSwitcher.d.ts +12 -0
- package/dist/components/embed/SubagentAvatar.d.ts +8 -0
- package/dist/components/embed/SubagentsPaneBody.d.ts +3 -0
- package/dist/components/embed/WorkspacePane.d.ts +3 -1
- package/dist/components/embed/navigation-layout.d.ts +7 -0
- package/dist/components/embed/rail-flags.d.ts +6 -0
- package/dist/components/embed/use-prompt-invocations.d.ts +6 -1
- package/dist/components/feedback/IssueReportController.d.ts +1 -0
- package/dist/components/feedback/IssueReportDialog.d.ts +6 -0
- package/dist/components/prompts/PromptPreviewDialog.d.ts +10 -0
- package/dist/components/prompts/PromptsListSurface.d.ts +4 -4
- package/dist/components/scheduled/ConfirmDeleteScheduleDialog.d.ts +1 -0
- package/dist/components/scheduled/ScheduleDialog.d.ts +4 -0
- package/dist/components/scheduled/ScheduledDetailSurface.d.ts +1 -0
- package/dist/components/scheduled/ScheduledHeader.d.ts +3 -0
- package/dist/components/scheduled/ScheduledListSurface.d.ts +1 -1
- package/dist/components/scheduled/ShareScheduleDialog.d.ts +10 -0
- package/dist/components/scheduled/SharedSchedulesSurface.d.ts +1 -0
- package/dist/components/scheduled/schedule-dialog-model.d.ts +5 -2
- package/dist/components/skills/ConfirmDeleteSkillDialog.d.ts +9 -0
- package/dist/components/skills/SkillDiscover.d.ts +1 -0
- package/dist/components/skills/SkillLibraryToolSync.d.ts +4 -0
- package/dist/components/skills/SkillsListSurface.d.ts +29 -0
- package/dist/components/skills/UploadSkillDialog.d.ts +32 -0
- package/dist/components/skills/skill-archive-file.d.ts +15 -0
- package/dist/components/ui/card.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +2 -2
- package/dist/components/ui/hover-card.d.ts +1 -1
- package/dist/components/ui/popover.d.ts +1 -1
- package/dist/components/ui/select.d.ts +1 -1
- package/dist/components/ui/shadow-dialog-focus.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +1 -1
- package/dist/embed/brand-marks.d.ts +3 -3
- package/dist/embed/client-error-log.d.ts +72 -0
- package/dist/embed/copy.d.ts +8 -2
- package/dist/embed/dock-open-request.d.ts +32 -0
- package/dist/embed/dock-state.d.ts +1 -1
- package/dist/embed/goal-actions-model.d.ts +9 -0
- package/dist/embed/goal-cap-notice.d.ts +36 -0
- package/dist/embed/goal-deep-link.d.ts +24 -0
- package/dist/embed/goal-edit-command.d.ts +25 -0
- package/dist/embed/goal-journal.d.ts +53 -0
- package/dist/embed/goal-live-status.d.ts +2 -0
- package/dist/embed/goal-plain-units.d.ts +35 -0
- package/dist/embed/goal-progress.d.ts +15 -0
- package/dist/embed/goal-proposal-dismissal.d.ts +11 -0
- package/dist/embed/goal-resume-time.d.ts +22 -0
- package/dist/embed/goal-row-model.d.ts +27 -0
- package/dist/embed/goal-runway.d.ts +5 -0
- package/dist/embed/goal-schedule-handoff.d.ts +12 -0
- package/dist/embed/goal-status-label.d.ts +3 -0
- package/dist/embed/goal-time-usage.d.ts +19 -0
- package/dist/embed/issue-report-bus.d.ts +14 -0
- package/dist/embed/issue-report-open.d.ts +8 -0
- package/dist/embed/issue-report.d.ts +41 -0
- package/dist/embed/legal-disclaimer.d.ts +5 -1
- package/dist/embed/library-composer.d.ts +24 -0
- package/dist/embed/library-navigation.d.ts +6 -0
- package/dist/embed/portal-container.d.ts +17 -16
- package/dist/embed/presets.d.ts +2 -2
- package/dist/embed/schedule-invitation.d.ts +5 -0
- package/dist/embed/screen-capture.d.ts +74 -0
- package/dist/embed/slash-commands.d.ts +24 -0
- package/dist/embed/task-schedule-command.d.ts +7 -0
- package/dist/embed/use-session-draft.d.ts +11 -0
- package/dist/i18n/messages/en.d.ts +599 -4
- package/dist/i18n/messages/surfaces/feedback.d.ts +84 -0
- package/dist/i18n/messages/surfaces/files.d.ts +4 -0
- package/dist/i18n/messages/surfaces/header.d.ts +20 -0
- package/dist/i18n/messages/surfaces/navigation.d.ts +149 -0
- package/dist/i18n/messages/surfaces/prompts.d.ts +56 -5
- package/dist/i18n/messages/surfaces/scheduled.d.ts +233 -1
- package/dist/i18n/messages/surfaces/sessions.d.ts +16 -0
- package/dist/i18n/messages/surfaces/settings.d.ts +229 -0
- package/dist/i18n/messages/surfaces/skills.d.ts +299 -0
- package/dist/i18n/messages/surfaces/stream.d.ts +232 -0
- package/dist/i18n/messages/surfaces/usage.d.ts +56 -0
- package/dist/i18n/messages/surfaces/workspace.d.ts +20 -0
- package/dist/public-api.d.ts +1 -1
- package/dist/routes/chat/part-renderer-extra-props.d.ts +43 -0
- package/dist/routes/chat/use-goal-receipt.d.ts +37 -0
- package/dist/routes/chat/use-host-draft-request.d.ts +2 -0
- package/dist/routes/chat/use-session-goal.d.ts +227 -0
- package/dist/routes/chat.d.ts +11 -1
- package/dist/routes/goal.d.ts +1 -0
- package/dist/routes/library.d.ts +4 -0
- package/dist/routes/skills.d.ts +2 -0
- package/dist/stream/activity-items.d.ts +25 -0
- package/dist/stream/ai-sdk-part-renderers.d.ts +67 -32
- package/dist/stream/belong-chat-transport.d.ts +157 -2
- package/dist/stream/belong-data-parts.d.ts +56 -6
- package/dist/stream/goal-store.d.ts +43 -0
- package/dist/stream/message-metadata.d.ts +1 -0
- package/dist/stream/message-parts.d.ts +42 -0
- package/dist/stream/select-goal-set-part-id.d.ts +2 -0
- package/dist/stream/select-latest-goal.d.ts +13 -0
- package/dist/stream/subagent-controls-store.d.ts +20 -0
- package/dist/stream/subagent-lanes-model.d.ts +175 -0
- package/dist/stream/subagent-lanes.d.ts +90 -0
- package/dist/stream/use-publish-subagent-controls.d.ts +11 -0
- package/dist/stream/workspace-focus-store.d.ts +7 -1
- package/dist/test/render.d.ts +18 -1
- package/dist/test/subagent-fixtures.d.ts +24 -0
- package/dist/types/public.d.ts +54 -1
- package/package.json +1 -1
- package/dist/components/ai-elements/reasoning.d.ts +0 -26
|
@@ -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>;
|
package/dist/api/query-keys.d.ts
CHANGED
|
@@ -15,13 +15,21 @@ 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];
|
|
22
29
|
agentGrant: (provider: string, scopeExternalId: string) => readonly ["belong", "agent-grant", string, string];
|
|
23
30
|
/** Invalidation prefix for every task-schedule read (list + detail + runs). */
|
|
24
31
|
taskSchedules: readonly ["belong", "task-schedules"];
|
|
32
|
+
apiKeys: (ownerCacheKey: string) => readonly ["belong", "api-keys", string];
|
|
25
33
|
taskScheduleList: (workspaceKey: string, filter: string, q: string) => readonly ["belong", "task-schedules", "list", string, string, string];
|
|
26
34
|
taskSchedule: (workspaceKey: string, taskScheduleId: string) => readonly ["belong", "task-schedules", "detail", string, string];
|
|
27
35
|
taskScheduleRuns: (workspaceKey: string, taskScheduleId: string) => readonly ["belong", "task-schedules", "detail", string, string, "runs"];
|
|
@@ -29,6 +37,17 @@ export declare const queryKeys: {
|
|
|
29
37
|
prePrompts: readonly ["belong", "pre-prompts"];
|
|
30
38
|
/** Workspace-scoped saved-prompt list (same "" unscoped convention). */
|
|
31
39
|
prePromptList: (workspaceKey: string) => readonly ["belong", "pre-prompts", "list", string];
|
|
40
|
+
/** Invalidation prefix for every skill-library read (skill library spec §11.2). */
|
|
41
|
+
skillLibrary: readonly ["belong", "skill-library"];
|
|
42
|
+
/** Workspace-scoped library list ("" unscoped, "__missing__" never fetched). */
|
|
43
|
+
skillLibraryList: (workspaceKey: string) => readonly ["belong", "skill-library", "list", string];
|
|
44
|
+
/**
|
|
45
|
+
* UNSCOPED deployment probe: written by every list resolution, read by the
|
|
46
|
+
* rail. Whether the feature exists is a property of the CELL, not of a
|
|
47
|
+
* workspace — keying it per workspace would pop a dead rail entry back in on
|
|
48
|
+
* every host workspace switch (R61).
|
|
49
|
+
*/
|
|
50
|
+
skillLibraryAvailability: readonly ["belong", "skill-library", "availability"];
|
|
32
51
|
/**
|
|
33
52
|
* Invalidation prefix for every custom-connector read. NOT workspace-scoped:
|
|
34
53
|
* `/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;
|
package/dist/api/skills.d.ts
CHANGED
|
@@ -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
|
|
32
|
+
export declare const listSkillsRequest: (api: ApiClient, query?: {
|
|
33
|
+
readonly workspaceExternalId?: string;
|
|
34
|
+
}, signal?: AbortSignal) => Promise<SlashInventory>;
|
|
33
35
|
export declare const useSkills: () => import('@tanstack/react-query').UseQueryResult<NoInfer<SlashInventory>, Error>;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { UpdateTaskScheduleSeriesInput } from './task-schedules.ts';
|
|
3
|
+
export declare const sharedScheduleSchema: z.ZodObject<{
|
|
4
|
+
definitionId: z.ZodUUID;
|
|
5
|
+
title: z.ZodString;
|
|
6
|
+
explicitTitle: z.ZodNullable<z.ZodString>;
|
|
7
|
+
message: z.ZodString;
|
|
8
|
+
role: z.ZodEnum<{
|
|
9
|
+
edit: "edit";
|
|
10
|
+
use: "use";
|
|
11
|
+
owner: "owner";
|
|
12
|
+
}>;
|
|
13
|
+
owner: z.ZodString;
|
|
14
|
+
ownerTenant: z.ZodString;
|
|
15
|
+
revision: z.ZodNumber;
|
|
16
|
+
timeExpression: z.ZodString;
|
|
17
|
+
timezone: z.ZodString;
|
|
18
|
+
recurrence: z.ZodPipe<z.ZodObject<{
|
|
19
|
+
kind: z.ZodEnum<{
|
|
20
|
+
none: "none";
|
|
21
|
+
manual: "manual";
|
|
22
|
+
daily: "daily";
|
|
23
|
+
weekdays: "weekdays";
|
|
24
|
+
weekly: "weekly";
|
|
25
|
+
interval: "interval";
|
|
26
|
+
}>;
|
|
27
|
+
intervalMinutes: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
29
|
+
readonly kind: "none";
|
|
30
|
+
} | {
|
|
31
|
+
readonly kind: "daily";
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: "weekdays";
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "weekly";
|
|
36
|
+
} | {
|
|
37
|
+
readonly kind: "manual";
|
|
38
|
+
} | {
|
|
39
|
+
readonly kind: "interval";
|
|
40
|
+
readonly intervalMinutes: number;
|
|
41
|
+
}, {
|
|
42
|
+
kind: "none" | "manual" | "daily" | "weekdays" | "weekly" | "interval";
|
|
43
|
+
intervalMinutes?: number | undefined;
|
|
44
|
+
}>>;
|
|
45
|
+
anchorAt: z.ZodISODateTime;
|
|
46
|
+
templateName: z.ZodNullable<z.ZodString>;
|
|
47
|
+
updatedAt: z.ZodISODateTime;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export type SharedSchedule = z.infer<typeof sharedScheduleSchema>;
|
|
50
|
+
export declare const useSharedSchedules: () => import('@tanstack/react-query').UseInfiniteQueryResult<{
|
|
51
|
+
definitionId: string;
|
|
52
|
+
title: string;
|
|
53
|
+
explicitTitle: string | null;
|
|
54
|
+
message: string;
|
|
55
|
+
role: "edit" | "use" | "owner";
|
|
56
|
+
owner: string;
|
|
57
|
+
ownerTenant: string;
|
|
58
|
+
revision: number;
|
|
59
|
+
timeExpression: string;
|
|
60
|
+
timezone: string;
|
|
61
|
+
recurrence: {
|
|
62
|
+
readonly kind: "none";
|
|
63
|
+
} | {
|
|
64
|
+
readonly kind: "daily";
|
|
65
|
+
} | {
|
|
66
|
+
readonly kind: "weekdays";
|
|
67
|
+
} | {
|
|
68
|
+
readonly kind: "weekly";
|
|
69
|
+
} | {
|
|
70
|
+
readonly kind: "manual";
|
|
71
|
+
} | {
|
|
72
|
+
readonly kind: "interval";
|
|
73
|
+
readonly intervalMinutes: number;
|
|
74
|
+
};
|
|
75
|
+
anchorAt: string;
|
|
76
|
+
templateName: string | null;
|
|
77
|
+
updatedAt: string;
|
|
78
|
+
}[], Error>;
|
|
79
|
+
export declare const useSharingAccount: () => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
80
|
+
account: string;
|
|
81
|
+
tenant: string;
|
|
82
|
+
}>, Error>;
|
|
83
|
+
export declare const useSharedSchedule: (definitionId: string | null) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
84
|
+
definitionId: string;
|
|
85
|
+
title: string;
|
|
86
|
+
explicitTitle: string | null;
|
|
87
|
+
message: string;
|
|
88
|
+
role: "edit" | "use" | "owner";
|
|
89
|
+
owner: string;
|
|
90
|
+
ownerTenant: string;
|
|
91
|
+
revision: number;
|
|
92
|
+
timeExpression: string;
|
|
93
|
+
timezone: string;
|
|
94
|
+
recurrence: {
|
|
95
|
+
readonly kind: "none";
|
|
96
|
+
} | {
|
|
97
|
+
readonly kind: "daily";
|
|
98
|
+
} | {
|
|
99
|
+
readonly kind: "weekdays";
|
|
100
|
+
} | {
|
|
101
|
+
readonly kind: "weekly";
|
|
102
|
+
} | {
|
|
103
|
+
readonly kind: "manual";
|
|
104
|
+
} | {
|
|
105
|
+
readonly kind: "interval";
|
|
106
|
+
readonly intervalMinutes: number;
|
|
107
|
+
};
|
|
108
|
+
anchorAt: string;
|
|
109
|
+
templateName: string | null;
|
|
110
|
+
updatedAt: string;
|
|
111
|
+
}>, Error>;
|
|
112
|
+
export declare const useScheduleAccess: (definitionId: string | null) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
113
|
+
people: {
|
|
114
|
+
tenantId: string;
|
|
115
|
+
userId: string;
|
|
116
|
+
role: "edit" | "use";
|
|
117
|
+
label: string;
|
|
118
|
+
tenant: string;
|
|
119
|
+
}[];
|
|
120
|
+
invitations: {
|
|
121
|
+
id: string;
|
|
122
|
+
role: "edit" | "use";
|
|
123
|
+
expiresAt: string;
|
|
124
|
+
token: string | null;
|
|
125
|
+
}[];
|
|
126
|
+
}>, Error>;
|
|
127
|
+
export declare const useShareSchedule: () => import('@tanstack/react-query').UseMutationResult<{
|
|
128
|
+
definitionId: string;
|
|
129
|
+
}, Error, string, unknown>;
|
|
130
|
+
export declare const useCreateScheduleInvitation: () => import('@tanstack/react-query').UseMutationResult<{
|
|
131
|
+
invitationId: string;
|
|
132
|
+
token: string;
|
|
133
|
+
expiresAt: string;
|
|
134
|
+
}, Error, {
|
|
135
|
+
readonly definitionId: string;
|
|
136
|
+
readonly role: "use" | "edit";
|
|
137
|
+
}, unknown>;
|
|
138
|
+
export declare const useAcceptScheduleInvitation: () => import('@tanstack/react-query').UseMutationResult<{
|
|
139
|
+
definitionId: string;
|
|
140
|
+
}, Error, string, unknown>;
|
|
141
|
+
export declare const useEnableSharedSchedule: () => import('@tanstack/react-query').UseMutationResult<{
|
|
142
|
+
taskScheduleId: string;
|
|
143
|
+
}, Error, string, unknown>;
|
|
144
|
+
export declare const useUpdateSharedSchedule: () => import('@tanstack/react-query').UseMutationResult<{
|
|
145
|
+
status: "updated";
|
|
146
|
+
revision: number;
|
|
147
|
+
}, Error, {
|
|
148
|
+
readonly definitionId: string;
|
|
149
|
+
readonly patch: Omit<UpdateTaskScheduleSeriesInput["patch"], "mode" | "expectedRevision"> & {
|
|
150
|
+
readonly expectedRevision: number;
|
|
151
|
+
};
|
|
152
|
+
}, unknown>;
|
|
153
|
+
export declare const useChangeScheduleAccess: () => import('@tanstack/react-query').UseMutationResult<{
|
|
154
|
+
status: string;
|
|
155
|
+
}, Error, {
|
|
156
|
+
readonly definitionId: string;
|
|
157
|
+
readonly tenantId: string;
|
|
158
|
+
readonly userId: string;
|
|
159
|
+
readonly role: "use" | "edit" | "remove";
|
|
160
|
+
}, unknown>;
|
|
161
|
+
export declare const useCancelScheduleInvitation: () => import('@tanstack/react-query').UseMutationResult<{
|
|
162
|
+
status: string;
|
|
163
|
+
}, Error, {
|
|
164
|
+
readonly definitionId: string;
|
|
165
|
+
readonly invitationId: string;
|
|
166
|
+
}, unknown>;
|
|
@@ -120,6 +120,7 @@ export declare const taskScheduleSeriesStatusSchema: z.ZodEnum<{
|
|
|
120
120
|
export type TaskScheduleSeriesStatus = z.infer<typeof taskScheduleSeriesStatusSchema>;
|
|
121
121
|
export type TaskScheduleFilter = "all" | "upcoming" | "completed";
|
|
122
122
|
declare const taskScheduleListItemSchema: z.ZodObject<{
|
|
123
|
+
shared: z.ZodOptional<z.ZodBoolean>;
|
|
123
124
|
taskScheduleId: z.ZodUUID;
|
|
124
125
|
title: z.ZodString;
|
|
125
126
|
status: z.ZodEnum<{
|
|
@@ -170,6 +171,7 @@ declare const taskScheduleListItemSchema: z.ZodObject<{
|
|
|
170
171
|
}, z.core.$strip>;
|
|
171
172
|
export type TaskScheduleListItem = z.infer<typeof taskScheduleListItemSchema>;
|
|
172
173
|
export declare const taskScheduleDetailSchema: z.ZodObject<{
|
|
174
|
+
shared: z.ZodOptional<z.ZodBoolean>;
|
|
173
175
|
taskScheduleId: z.ZodUUID;
|
|
174
176
|
title: z.ZodString;
|
|
175
177
|
status: z.ZodEnum<{
|
|
@@ -217,6 +219,17 @@ export declare const taskScheduleDetailSchema: z.ZodObject<{
|
|
|
217
219
|
}, z.core.$strip>>;
|
|
218
220
|
messagePreview: z.ZodString;
|
|
219
221
|
createdAt: z.ZodISODateTime;
|
|
222
|
+
sharing: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
223
|
+
definitionId: z.ZodUUID;
|
|
224
|
+
role: z.ZodEnum<{
|
|
225
|
+
edit: "edit";
|
|
226
|
+
revoked: "revoked";
|
|
227
|
+
use: "use";
|
|
228
|
+
owner: "owner";
|
|
229
|
+
}>;
|
|
230
|
+
revision: z.ZodNumber;
|
|
231
|
+
workspaceCount: z.ZodNumber;
|
|
232
|
+
}, z.core.$strip>>>;
|
|
220
233
|
explicitTitle: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
221
234
|
message: z.ZodString;
|
|
222
235
|
mode: z.ZodEnum<{
|
|
@@ -304,6 +317,7 @@ export declare const useTaskSchedules: (filter: TaskScheduleFilter, q: string) =
|
|
|
304
317
|
} | null;
|
|
305
318
|
messagePreview: string;
|
|
306
319
|
createdAt: string;
|
|
320
|
+
shared?: boolean | undefined;
|
|
307
321
|
}[], Error>;
|
|
308
322
|
export declare const useTaskSchedule: (taskScheduleId: string | null) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
309
323
|
taskScheduleId: string;
|
|
@@ -360,6 +374,13 @@ export declare const useTaskSchedule: (taskScheduleId: string | null) => import(
|
|
|
360
374
|
maxMessagesPerRun: number;
|
|
361
375
|
expiresAt: string;
|
|
362
376
|
} | null;
|
|
377
|
+
shared?: boolean | undefined;
|
|
378
|
+
sharing?: {
|
|
379
|
+
definitionId: string;
|
|
380
|
+
role: "edit" | "revoked" | "use" | "owner";
|
|
381
|
+
revision: number;
|
|
382
|
+
workspaceCount: number;
|
|
383
|
+
} | null | undefined;
|
|
363
384
|
}>, Error>;
|
|
364
385
|
export declare const useTaskScheduleRuns: (taskScheduleId: string | null) => import('@tanstack/react-query').UseInfiniteQueryResult<{
|
|
365
386
|
taskScheduleRunId: string;
|
|
@@ -386,6 +407,7 @@ export type CreateTaskScheduleSeriesInput = {
|
|
|
386
407
|
export type UpdateTaskScheduleSeriesInput = {
|
|
387
408
|
readonly taskScheduleId: string;
|
|
388
409
|
readonly patch: {
|
|
410
|
+
readonly expectedRevision?: number;
|
|
389
411
|
readonly title?: string | null;
|
|
390
412
|
readonly message?: string;
|
|
391
413
|
readonly scheduledFor?: string;
|
|
@@ -407,7 +429,7 @@ export declare const usePauseTaskSchedule: () => import('@tanstack/react-query')
|
|
|
407
429
|
status: "paused";
|
|
408
430
|
}, Error, string, unknown>;
|
|
409
431
|
export declare const useResumeTaskSchedule: () => import('@tanstack/react-query').UseMutationResult<{
|
|
410
|
-
status: "active" | "completed";
|
|
432
|
+
status: "active" | "completed" | "needs_attention";
|
|
411
433
|
nextRunAt: string | null;
|
|
412
434
|
}, Error, string, unknown>;
|
|
413
435
|
export declare const useRunNowTaskSchedule: () => import('@tanstack/react-query').UseMutationResult<{
|
package/dist/app/BelongDock.d.ts
CHANGED
|
@@ -1,29 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BelongDock — right-edge (or left-edge) docked assistant shell.
|
|
3
|
-
*
|
|
4
|
-
* Layout:
|
|
5
|
-
* - A 52px rail (EmbedRail) is always visible on the chosen edge: user
|
|
6
|
-
* avatar (account + theme controls), Chat / Terminal / Files nav, and a
|
|
7
|
-
* collapse/expand toggle.
|
|
8
|
-
* - When not collapsed, a panel sits beside the rail: EmbedHeader (mark,
|
|
9
|
-
* title, Chats menu, TTS speaker, fullscreen toggle) over the active view's
|
|
10
|
-
* body (chat / files via the router <Outlet/>).
|
|
11
|
-
* - Three width states (collapsed / expanded / fullscreen) come from
|
|
12
|
-
* embed/dock-layout.ts; the host <body> margin reserves the same width so
|
|
13
|
-
* the dock never overlaps host content.
|
|
14
|
-
*
|
|
15
|
-
* Theme:
|
|
16
|
-
* - `peekTheme()` / `subscribeTheme()` are the live store; the host (Anna)
|
|
17
|
-
* pushes updates via `window.belong.setTheme(...)`. Belong/Ocean is the
|
|
18
|
-
* default palette but a host brand push still re-themes everything.
|
|
19
|
-
* - The dock applies the active palette as inline CSS variables on its root
|
|
20
|
-
* so values cascade to every descendant. Dark mode + side toggles live in
|
|
21
|
-
* the rail-top avatar menu (toggleThemeMode / toggleThemeSide).
|
|
22
|
-
*
|
|
23
|
-
* Auth gate:
|
|
24
|
-
* - With no auth source (`hasBelongAuthSource()` false) the panel shows
|
|
25
|
-
* EmbedLogin; once the host provides one — a static token, a sync provider,
|
|
26
|
-
* or the component embed's async `getToken` — the gate flips and chat
|
|
27
|
-
* renders. It's not a reactive store, so we poll it into local state.
|
|
28
|
-
*/
|
|
29
1
|
export declare const BelongDock: () => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type DemoBrand = "belong" | "simetrik";
|
|
2
|
+
export declare const createDemoFeatureRoutes: (brand: DemoBrand, sessions: {
|
|
3
|
+
readonly main: string;
|
|
4
|
+
readonly second: string;
|
|
5
|
+
}, enabled: boolean) => {
|
|
6
|
+
skills: () => {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
group: string;
|
|
10
|
+
source: string;
|
|
11
|
+
}[];
|
|
12
|
+
fetch: (request: Request, path: string) => Promise<Response | null>;
|
|
13
|
+
};
|