@belonguniverseai/react-sdk 0.6.31 → 0.6.33
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/dist/api/account-connectors.d.ts +2 -2
- package/dist/api/client.d.ts +1126 -63
- package/dist/api/goals.d.ts +4 -4
- package/dist/api/guide.d.ts +15 -0
- package/dist/api/query-keys.d.ts +6 -5
- package/dist/api/quota-refusal.d.ts +49 -0
- package/dist/api/secret-paste.d.ts +5 -0
- package/dist/api/suggestions.d.ts +18 -0
- package/dist/api/task-schedule-sharing.d.ts +13 -1
- package/dist/api/task-schedules.d.ts +33 -4
- package/dist/api/vault.d.ts +49 -0
- package/dist/app/dock-story-data.d.ts +6 -0
- package/dist/component/{abnfDiagram-N423BO3Z-C_vMQSL0.js → abnfDiagram-N423BO3Z-CK4wvzwz.js} +4 -4
- package/dist/component/{architectureDiagram-T3A2C74G-dvNbgSIj.js → architectureDiagram-T3A2C74G-DoljsqqO.js} +6 -6
- package/dist/component/{blockDiagram-VBNYF7ZC-CRm9PRRf.js → blockDiagram-VBNYF7ZC-Ie7SErpH.js} +8 -8
- package/dist/component/{c4Diagram-5PPSVZJV-B1PMAZEg.js → c4Diagram-5PPSVZJV-rfEof5mj.js} +4 -4
- package/dist/component/{channel-Boj1wmAa.js → channel-C5ABP6lE.js} +2 -2
- package/dist/component/{chunk-2GRJ4B5K-CBAw5kla.js → chunk-2GRJ4B5K-CWOCv67u.js} +2 -2
- package/dist/component/{chunk-3NCLNEKW-BuxgmuBS.js → chunk-3NCLNEKW-BJYANBvv.js} +2 -2
- package/dist/component/{chunk-4I5QYGJK-CDPqoPOq.js → chunk-4I5QYGJK-C29OfER5.js} +2 -2
- package/dist/component/{chunk-5RXB4S5H-fv_mFlec.js → chunk-5RXB4S5H-D__NH4Op.js} +6 -6
- package/dist/component/{chunk-6Q2QTUOP-RU5jVXsd.js → chunk-6Q2QTUOP-BgSQgII8.js} +3 -3
- package/dist/component/{chunk-7Z6QIM7H-BgV4nQ80.js → chunk-7Z6QIM7H-vNexNF_V.js} +8 -8
- package/dist/component/{chunk-GF5L2VYU-CSROQiBr.js → chunk-GF5L2VYU-D3vxqomE.js} +6 -6
- package/dist/component/{chunk-I66GZJ75-CGsmSAKB.js → chunk-I66GZJ75-Dkw1ISGd.js} +2 -2
- package/dist/component/{chunk-J7OUQ5F2-D0GPh9LA.js → chunk-J7OUQ5F2-dC67pJWg.js} +7 -7
- package/dist/component/{chunk-JQJVKLGR-D4zeU7rQ.js → chunk-JQJVKLGR-Djj9TdhH.js} +8 -8
- package/dist/component/{chunk-KBJHAD2P-_EJQ1rNN.js → chunk-KBJHAD2P-dwIA6Vmi.js} +2 -2
- package/dist/component/{chunk-NSK5VX7P-dusZw8pp.js → chunk-NSK5VX7P-thQxjtNK.js} +2 -2
- package/dist/component/{chunk-QR6OTTB3-Bb0pFQ-m.js → chunk-QR6OTTB3-OMd-rgNj.js} +7 -7
- package/dist/component/{chunk-UBXNYLIW-CJHU4Dfa.js → chunk-UBXNYLIW-D26S6zO6.js} +3 -3
- package/dist/component/{chunk-W5SLKNZC-CRG_NQXu.js → chunk-W5SLKNZC-DLV7M8by.js} +2 -2
- package/dist/component/{chunk-WRU74C26-D8hrtupL.js → chunk-WRU74C26-13bvIAgD.js} +4 -4
- package/dist/component/{classDiagram-JCYQIIEL-CIgvdG3B.js → classDiagram-JCYQIIEL-BFQ72AZA.js} +13 -13
- package/dist/component/{classDiagram-v2-OCEON4UE-CyMNFCrX.js → classDiagram-v2-OCEON4UE-UFfArXpP.js} +13 -13
- package/dist/component/{component-CtEw7QuU.js → component-Bhs6PFPY.js} +42587 -40222
- package/dist/component/{cynefinDiagram-MW4NZA55-M_mUz7fS.js → cynefinDiagram-MW4NZA55-Bgfw8c41.js} +4 -4
- package/dist/component/{dagre-VZM6K2ZE-Co5UZ6ZI.js → dagre-VZM6K2ZE-CQoUcF3S.js} +9 -9
- package/dist/component/{diagram-7IWD3JNH-Bfgrgw1x.js → diagram-7IWD3JNH-C8-mvAEv.js} +5 -5
- package/dist/component/{diagram-B4RE2ZJO-On8y3Dsu.js → diagram-B4RE2ZJO-BATqCIx3.js} +3 -3
- package/dist/component/{diagram-LBJQPF4R-CzDYf7jJ.js → diagram-LBJQPF4R-DwRMRXWz.js} +4 -4
- package/dist/component/{diagram-Q27KOJAE-D2MlvnqP.js → diagram-Q27KOJAE-D6gO0LTm.js} +6 -6
- package/dist/component/{diagram-UB23O5K3-Bl3kdzTb.js → diagram-UB23O5K3-4nOrWHql.js} +4 -4
- package/dist/component/{ebnfDiagram-BXEA7PRR-CyKWxoNI.js → ebnfDiagram-BXEA7PRR-DCO-Nj3k.js} +4 -4
- package/dist/component/{erDiagram-JOGREHBK-B2DjPQI6.js → erDiagram-JOGREHBK-hWtImhPN.js} +12 -12
- package/dist/component/flowDiagram-UKHOOZJN-8qLgX2Wv.js +19 -0
- package/dist/component/{ganttDiagram-PKOTCBZU-Do3-h4U7.js → ganttDiagram-PKOTCBZU-BE8Mqoej.js} +3 -3
- package/dist/component/{gitGraphDiagram-DS77QQ5N-CRyn9FyP.js → gitGraphDiagram-DS77QQ5N-DURS7rAN.js} +3 -3
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-6WML65LV-BvRo6Umd.js → infoDiagram-6WML65LV-BqBxR6YB.js} +3 -3
- package/dist/component/{ishikawaDiagram-WSZJBQD7-DNxrL1bn.js → ishikawaDiagram-WSZJBQD7-CnYZd1Dq.js} +4 -4
- package/dist/component/{journeyDiagram-NVQOT4AX-Cvzr6jFA.js → journeyDiagram-NVQOT4AX-Cgkpx4Qx.js} +3 -3
- package/dist/component/{kanban-definition-27J2QSJJ-CWjHCc6Q.js → kanban-definition-27J2QSJJ-CJSdhT0i.js} +9 -9
- package/dist/component/{line-qLTHZib7.js → line-BBEHlpsV.js} +2 -2
- package/dist/component/{mindmap-definition-FAOFIHXS-CTrxLLMf.js → mindmap-definition-FAOFIHXS-DgHouLA-.js} +11 -11
- package/dist/component/{pegDiagram-VL7TDLO6-DKquwTLr.js → pegDiagram-VL7TDLO6-B_iGQ6sI.js} +4 -4
- package/dist/component/{pieDiagram-7S7Q4E2Y-B9mrWWER.js → pieDiagram-7S7Q4E2Y-g7GxM0JA.js} +4 -4
- package/dist/component/{quadrantDiagram-CIZ2JOQS-CLMlPfFg.js → quadrantDiagram-CIZ2JOQS-Bp7z4raq.js} +2 -2
- package/dist/component/{railroadDiagram-AXF67PYL-DBRxaZy0.js → railroadDiagram-AXF67PYL-CYx3PP5o.js} +4 -4
- package/dist/component/{requirementDiagram-LRYGKXZP-DFbNp-NQ.js → requirementDiagram-LRYGKXZP-BJNRJceo.js} +11 -11
- package/dist/component/{sankeyDiagram-W5VNT64P-Ba10c9Ya.js → sankeyDiagram-W5VNT64P-Cf0tVHbW.js} +2 -2
- package/dist/component/{sequenceDiagram-SI44F4Z6-CakxF9z5.js → sequenceDiagram-SI44F4Z6-BsAsKMRH.js} +4 -4
- package/dist/component/{stateDiagram-OKZ733FA-DpwaZHAD.js → stateDiagram-OKZ733FA-Bpk0vtTK.js} +14 -14
- package/dist/component/{stateDiagram-v2-UEYNNEHI-CXLHj_sq.js → stateDiagram-v2-UEYNNEHI-CJFoUvD2.js} +13 -13
- package/dist/component/{swimlanes-SLNWSIFB-CLLLQ7CI.js → swimlanes-SLNWSIFB-Be5A0lwq.js} +9 -9
- package/dist/component/{swimlanesDiagram-ULZ7WXOC-B1LbGSCS.js → swimlanesDiagram-ULZ7WXOC-J8VNaPhM.js} +13 -13
- package/dist/component/{timeline-definition-Z64GVDOM-BsifI4rA.js → timeline-definition-Z64GVDOM-CU9PEkPY.js} +4 -4
- package/dist/component/{vennDiagram-T6HMQDX7-zuVcjY9p.js → vennDiagram-T6HMQDX7-Cno78tFK.js} +4 -4
- package/dist/component/{wardleyDiagram-T6FBY63Y-B9DV6RwN.js → wardleyDiagram-T6FBY63Y-BEb1Rn5J.js} +4 -4
- package/dist/component/{xychartDiagram-ELKLHX3M-FyZaGaUV.js → xychartDiagram-ELKLHX3M-BwjMczCl.js} +7 -7
- package/dist/components/ai-elements/dock-link.d.ts +14 -1
- package/dist/components/ai-elements/message.d.ts +8 -1
- package/dist/components/embed/EmbedRail.d.ts +8 -1
- package/dist/components/embed/NextStepCard.d.ts +6 -0
- package/dist/components/embed/QuotaNoticeCard.d.ts +4 -0
- package/dist/components/embed/SessionSwitcher.d.ts +6 -1
- package/dist/components/embed/quota-notice-copy.d.ts +3 -0
- package/dist/components/guide/GuideArticleView.d.ts +7 -0
- package/dist/components/guide/GuideHub.d.ts +9 -0
- package/dist/components/guide/GuideSettings.d.ts +23 -0
- package/dist/components/guide/figures/ComposerIndicatorsFigure.d.ts +16 -0
- package/dist/components/guide/figures/SharedTaskCopiesFigure.d.ts +12 -0
- package/dist/components/guide/figures/index.d.ts +3 -0
- package/dist/components/guide/guide-fixtures.d.ts +3 -0
- package/dist/components/guide/guide-icons.d.ts +3 -0
- package/dist/components/guide/guide-link.d.ts +12 -0
- package/dist/components/guide/guide-search.d.ts +15 -0
- package/dist/components/scheduled/schedule-dialog-model.d.ts +2 -1
- package/dist/components/scheduled/schedule-format.d.ts +4 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/input-group.d.ts +1 -1
- package/dist/components/vault/SecretPasteFeedback.d.ts +6 -0
- package/dist/components/vault/SecretsPanel.d.ts +23 -0
- package/dist/components/vault/vault-open.d.ts +3 -0
- package/dist/embed/goal-edit-command.d.ts +6 -1
- package/dist/embed/quota-notice.d.ts +9 -0
- package/dist/embed/theme.d.ts +10 -0
- package/dist/embed/voice/agent-spawn.d.ts +12 -2
- package/dist/embed/voice-call.d.ts +4 -1
- package/dist/i18n/messages/en.d.ts +85 -0
- package/dist/i18n/messages/surfaces/guide.d.ts +131 -0
- package/dist/i18n/messages/surfaces/quota.d.ts +69 -0
- package/dist/i18n/messages/surfaces/scheduled.d.ts +32 -0
- package/dist/i18n/messages/surfaces/settings.d.ts +16 -0
- package/dist/i18n/messages/surfaces/stream.d.ts +4 -0
- package/dist/i18n/messages/surfaces/vault.d.ts +120 -0
- package/dist/lib/use-tab-leadership.d.ts +1 -0
- package/dist/routes/chat/history-cache.d.ts +5 -0
- package/dist/routes/chat/question-parts.d.ts +26 -0
- package/dist/routes/chat/queued-delivery.d.ts +20 -0
- package/dist/routes/chat/queued-messages.d.ts +15 -0
- package/dist/routes/chat/session-api.d.ts +52 -0
- package/dist/routes/chat/session-history-api.d.ts +9 -0
- package/dist/routes/chat/transcript-update.d.ts +45 -0
- package/dist/routes/chat/use-catch-up-on-return.d.ts +7 -0
- package/dist/routes/chat/use-next-step-suggestion.d.ts +38 -0
- package/dist/routes/chat/use-quota-notice.d.ts +29 -0
- package/dist/routes/chat/use-quota-stop-refresh.d.ts +27 -0
- package/dist/routes/chat/use-session-goal.d.ts +6 -0
- package/dist/routes/chat.d.ts +9 -15
- package/dist/stream/belong-chat-transport.d.ts +17 -2
- package/dist/stream/belong-data-parts.d.ts +31 -1
- package/dist/stream/provider-blocked.d.ts +16 -0
- package/package.json +1 -1
- package/dist/component/flowDiagram-UKHOOZJN-CjSeviPw.js +0 -19
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NextStepSuggestion } from '../../api/suggestions.ts';
|
|
2
|
+
export declare function NextStepCard({ suggestion, onPick, onDismiss, }: {
|
|
3
|
+
readonly suggestion: NextStepSuggestion;
|
|
4
|
+
readonly onPick: (message: string) => void;
|
|
5
|
+
readonly onDismiss: () => void;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import { SpawnAgent } from '../../embed/voice/agent-spawn.ts';
|
|
1
2
|
import { BelongTheme } from '../../types/public.ts';
|
|
2
3
|
import { SessionSummary } from './EmbedSessions';
|
|
3
4
|
/** A view of the real line registry. Selection never remints or reassigns a
|
|
4
5
|
* session; the dock owns that boundary, including resume and unseen state. */
|
|
5
|
-
export declare function SessionSwitcher({ layout, theme, sessions, activeId, onSelect, onClose, }: {
|
|
6
|
+
export declare function SessionSwitcher({ layout, theme, sessions, activeId, onSelect, onClose, spawnAgent, pendingAgentLine, }: {
|
|
6
7
|
layout: "dock" | "mobile" | "sidebar";
|
|
7
8
|
theme: BelongTheme;
|
|
8
9
|
sessions: readonly SessionSummary[];
|
|
9
10
|
activeId: string | null;
|
|
10
11
|
onSelect: (sessionId: string | null) => void;
|
|
11
12
|
onClose: (line: number) => void;
|
|
13
|
+
/** The "+". The dock passes the version that shows the new chat on the click. */
|
|
14
|
+
spawnAgent?: SpawnAgent;
|
|
15
|
+
/** The line whose new chat is on screen before its session exists. */
|
|
16
|
+
pendingAgentLine?: number | null;
|
|
12
17
|
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { GuideArticle } from '@belong/codec/guide';
|
|
2
|
+
type GuideArticleViewProps = {
|
|
3
|
+
readonly article: GuideArticle;
|
|
4
|
+
readonly onBack: () => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const GuideArticleView: ({ article, onBack }: GuideArticleViewProps) => import("react").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GuideResponse } from '@belong/codec/guide';
|
|
2
|
+
type GuideHubProps = {
|
|
3
|
+
readonly guide: GuideResponse;
|
|
4
|
+
readonly query: string;
|
|
5
|
+
readonly onQueryChange: (query: string) => void;
|
|
6
|
+
readonly onOpen: (articleId: string) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const GuideHub: ({ guide, query, onQueryChange, onOpen }: GuideHubProps) => import("react").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings → Guide: the Simetrik agent Guide, a small help center about the
|
|
3
|
+
* agent in the dock's own language (spec decisions 1, 2, 11–14).
|
|
4
|
+
*
|
|
5
|
+
* The guide is fetched when this section opens (`useGuide`), already filtered
|
|
6
|
+
* by what the deployment has switched on. The view is the hub or one article.
|
|
7
|
+
* Its state lives here, above the fetch states, so a language switch refetches
|
|
8
|
+
* and comes back to whichever was open; an article that is no longer served
|
|
9
|
+
* falls back to the hub. Every hub ↔ article change calls `onNavigate`, so the
|
|
10
|
+
* settings panel can reset its scroll.
|
|
11
|
+
*
|
|
12
|
+
* Focus: an opened article focuses its title (`GuideArticleView`), and Back
|
|
13
|
+
* puts focus on the hub item that opened it — or on the search box when the
|
|
14
|
+
* reader got there through a `guide:` link.
|
|
15
|
+
*
|
|
16
|
+
* Quiet by design (§42): loading is one muted line, and a failed fetch is a
|
|
17
|
+
* calm "Couldn't load the guide" with a Retry that refetches. An older cloud
|
|
18
|
+
* without the route (404) says the guide isn't available here yet, with no
|
|
19
|
+
* Retry, since retrying could never help. Nothing here is red.
|
|
20
|
+
*/
|
|
21
|
+
export declare const GuideSettings: ({ onNavigate }: {
|
|
22
|
+
readonly onNavigate?: () => void;
|
|
23
|
+
}) => import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `composer-indicators` figure: a static drawing of the dock's message box
|
|
3
|
+
* with numbered callouts, placed by the `on-screen` article.
|
|
4
|
+
*
|
|
5
|
+
* 1 — the percentage ring just above the box, outside it (`UsageMeter`),
|
|
6
|
+
* drawn at 25%;
|
|
7
|
+
* 2 — the execution-mode button inside the box, in its default mode;
|
|
8
|
+
* 3 — the activity line in the conversation ("Working on it…").
|
|
9
|
+
*
|
|
10
|
+
* The article's numbered list follows the same order. Every label the real
|
|
11
|
+
* dock shows comes from the dock's OWN catalog entry — the mode name, the
|
|
12
|
+
* activity line, the Simetrik composer placeholder — so the drawing relabels
|
|
13
|
+
* with the dock and cannot drift from the screen. Theme tokens only, no red
|
|
14
|
+
* (§42). Presentational: one `role="img"` with a spoken description.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ComposerIndicatorsFigure: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `shared-task-copies` figure: why a shared scheduled task can run twice.
|
|
3
|
+
* The original task and the copy a second account enabled are each ACTIVE, and
|
|
4
|
+
* each active copy is its own schedule, so one time of day adds up to two runs.
|
|
5
|
+
* Placed by the `task-ran-twice` and `scheduled-tasks` articles.
|
|
6
|
+
*
|
|
7
|
+
* The status chip, the cadence line and the "Share" step read the Scheduled
|
|
8
|
+
* view's OWN catalog entries, and the time is formatted the way that view
|
|
9
|
+
* formats it, so the drawing cannot drift from the screen. Theme tokens only,
|
|
10
|
+
* no red (§42). Presentational: one `role="img"` with a spoken description.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SharedTaskCopiesFigure: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StreamdownComponents } from '../ai-elements/dock-link.tsx';
|
|
2
|
+
/** What a guide link can open: the served article ids, and how to open one. */
|
|
3
|
+
export type GuideNavigation = {
|
|
4
|
+
readonly knownIds: ReadonlySet<string>;
|
|
5
|
+
readonly open: (articleId: string) => void;
|
|
6
|
+
};
|
|
7
|
+
/** Provided by the article view; `null` everywhere else (links read as text). */
|
|
8
|
+
export declare const GuideNavigationContext: import('react').Context<GuideNavigation | null>;
|
|
9
|
+
/** Rewrites each `](guide:<id>)` target to the sanitizer-safe `](#guide:<id>)`. */
|
|
10
|
+
export declare const withGuideLinkTargets: (markdown: string) => string;
|
|
11
|
+
/** Module-level, so the identity is stable across renders (Streamdown memoises on it). */
|
|
12
|
+
export declare const guideMarkdownComponents: StreamdownComponents;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GuideArticle } from '@belong/codec/guide';
|
|
2
|
+
/** NFD, accents dropped, lowercased, whitespace collapsed and trimmed. */
|
|
3
|
+
export declare const normalizeForSearch: (text: string) => string;
|
|
4
|
+
/**
|
|
5
|
+
* What a reader sees of an article body: marker comments, heading hashes,
|
|
6
|
+
* emphasis and code ticks, and link targets removed (the link text is kept).
|
|
7
|
+
* Linear in the body's length, whatever the body holds.
|
|
8
|
+
*/
|
|
9
|
+
export declare const guidePlainText: (markdown: string) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Articles whose title or plain-text body contains the query. Title matches
|
|
12
|
+
* come first, then body-only matches; each group keeps the input order. A query
|
|
13
|
+
* that is empty once normalized (only spaces) is no query, and finds nothing.
|
|
14
|
+
*/
|
|
15
|
+
export declare const searchGuide: (articles: readonly GuideArticle[], query: string) => readonly GuideArticle[];
|
|
@@ -11,9 +11,10 @@ export type ScheduleDialogInputs = {
|
|
|
11
11
|
/** Only meaningful when `recurrence === "interval"`; carried always so the
|
|
12
12
|
* control keeps its value while the user toggles kinds. */
|
|
13
13
|
readonly intervalMinutes: number;
|
|
14
|
+
readonly weekdays: number[];
|
|
14
15
|
};
|
|
15
16
|
export type ScheduleEditorValue = Pick<TaskScheduleDetail, "explicitTitle" | "message" | "anchorAt" | "timezone" | "recurrence"> & {
|
|
16
17
|
readonly nextRunAt?: string | null;
|
|
17
18
|
};
|
|
18
19
|
export declare const scheduleDialogInputs: (schedule: ScheduleEditorValue) => ScheduleDialogInputs;
|
|
19
|
-
export declare const scheduleTimeShapeChanged: (schedule: ScheduleEditorValue, input: Pick<ScheduleDialogInputs, "date" | "time" | "timezone" | "recurrence" | "intervalMinutes">) => boolean;
|
|
20
|
+
export declare const scheduleTimeShapeChanged: (schedule: ScheduleEditorValue, input: Pick<ScheduleDialogInputs, "date" | "time" | "timezone" | "recurrence" | "intervalMinutes" | "weekdays">) => boolean;
|
|
@@ -8,6 +8,8 @@ export declare const weekdayIn: (timezone: string, iso: string, locale: Locale)
|
|
|
8
8
|
export declare const dateTimeLocal: (iso: string, locale: Locale) => string;
|
|
9
9
|
/** Non-null when the schedule's zone differs from the viewer's (shown as a suffix). */
|
|
10
10
|
export declare const foreignTimezone: (timezone: string) => string | null;
|
|
11
|
+
/** Monday-first names, independent of the viewer's timezone. */
|
|
12
|
+
export declare const selectedWeekdayNames: (weekdays: readonly number[], locale: Locale, width?: "short" | "long") => string[];
|
|
11
13
|
/** i18n params for the recurrence summary line, keyed by kind. */
|
|
12
14
|
export declare const recurrenceSummaryParams: (input: {
|
|
13
15
|
readonly kind: RecurrenceKind;
|
|
@@ -17,8 +19,9 @@ export declare const recurrenceSummaryParams: (input: {
|
|
|
17
19
|
readonly locale: Locale;
|
|
18
20
|
/** Interval width — only read for the `interval` kind. */
|
|
19
21
|
readonly intervalMinutes: number | null;
|
|
22
|
+
readonly weekdays?: readonly number[] | null;
|
|
20
23
|
}) => {
|
|
21
|
-
readonly key: `scheduled.summary${"Once" | "Daily" | "Weekdays" | "Weekly" | "Interval" | "Manual"}`;
|
|
24
|
+
readonly key: `scheduled.summary${"Once" | "Daily" | "Weekdays" | "Weekly" | "CustomWeekly" | "Interval" | "Manual"}`;
|
|
22
25
|
readonly time: string;
|
|
23
26
|
readonly day: string;
|
|
24
27
|
/** Interval width for the `Interval` message (0 for other kinds). */
|
|
@@ -2,7 +2,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "default" | "link" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
|
|
5
|
-
size?: "default" | "
|
|
5
|
+
size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
6
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
7
|
type ButtonProps = React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
8
8
|
asChild?: boolean;
|
|
@@ -7,7 +7,7 @@ declare const inputGroupAddonVariants: (props?: ({
|
|
|
7
7
|
declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): React.JSX.Element;
|
|
8
8
|
declare const InputGroupButton: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
|
|
9
9
|
variant?: "default" | "link" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
|
|
10
|
-
size?: "default" | "
|
|
10
|
+
size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
11
11
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & {
|
|
12
12
|
asChild?: boolean;
|
|
13
13
|
}, "ref"> & React.RefAttributes<HTMLButtonElement>, "size"> & VariantProps<(props?: ({
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function SecretPasteFeedback({ text, onReplace, blocked, disabled, }: {
|
|
2
|
+
readonly text?: string;
|
|
3
|
+
readonly onReplace?: (value: string, reference: string) => void;
|
|
4
|
+
readonly blocked?: boolean;
|
|
5
|
+
readonly disabled?: boolean;
|
|
6
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { VaultSecretSummary, VaultSecretKind } from '@belong/codec/vault';
|
|
2
|
+
type Editor = {
|
|
3
|
+
readonly kind: "add";
|
|
4
|
+
} | {
|
|
5
|
+
readonly kind: "replace";
|
|
6
|
+
readonly secret: VaultSecretSummary;
|
|
7
|
+
};
|
|
8
|
+
export declare function SecretEditor({ editor, onDone, initialSecret, inline, disabled, }: {
|
|
9
|
+
readonly editor: Editor;
|
|
10
|
+
readonly onDone: (reference?: string) => void;
|
|
11
|
+
readonly initialSecret?: {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly kind: VaultSecretKind;
|
|
14
|
+
readonly value: string;
|
|
15
|
+
};
|
|
16
|
+
readonly inline?: boolean;
|
|
17
|
+
readonly disabled?: boolean;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
19
|
+
/** Metadata-only query cache; each editor owns its value until save or unmount. */
|
|
20
|
+
export declare function SecretsPanel({ initialAdd }: {
|
|
21
|
+
readonly initialAdd?: boolean;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -21,6 +21,11 @@ export declare const goalEditRequestBody: (command: GoalEditCommand) => GoalEdit
|
|
|
21
21
|
* cap that un-stalled a `budget_limited` goal) gets its own copy distinct
|
|
22
22
|
* from a plain edit — see `GoalActionOutcome`'s `revived` flag — and one
|
|
23
23
|
* that left the goal `budget_limited` says it is still stopped (#766).
|
|
24
|
+
*
|
|
25
|
+
* Console P1 — `statusReason` is the goal's reason AFTER the edit. A goal the
|
|
26
|
+
* monthly token quota keeps stopped has no cap to raise (`exhaustedBudgets`
|
|
27
|
+
* is empty), so "every limit it reached has to go above…" would be untrue:
|
|
28
|
+
* it says the plain "Goal updated." and the orange notice card explains.
|
|
24
29
|
*/
|
|
25
|
-
export declare const goalEditNoticeText: (t: TFunction, outcome: GoalEditOutcome) => string;
|
|
30
|
+
export declare const goalEditNoticeText: (t: TFunction, outcome: GoalEditOutcome, statusReason?: string | null) => string;
|
|
26
31
|
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { QuotaRefusal } from '../api/quota-refusal.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Console P1 (TS-DOCK-01) — classify a failed send handed to `useChat`'s
|
|
4
|
+
* `onError` as a monthly-quota refusal (the body schema and its rules live in
|
|
5
|
+
* `api/quota-refusal.ts`). `null` when it is not one — the goal and generic
|
|
6
|
+
* error paths still own it. The goal classifier (`goal-cap-notice.ts`)
|
|
7
|
+
* returns `null` for this body, so the two never both claim one failure.
|
|
8
|
+
*/
|
|
9
|
+
export declare const quotaNoticeFromError: (error: unknown) => QuotaRefusal | null;
|
package/dist/embed/theme.d.ts
CHANGED
|
@@ -39,6 +39,16 @@ export declare const peekCustomCssVars: () => Record<string, string>;
|
|
|
39
39
|
export declare const activePalette: (theme: BelongTheme) => BelongThemePalette;
|
|
40
40
|
/** Pick a readable foreground (near-black or white) for text on `color`. */
|
|
41
41
|
export declare const contrastForeground: (color: string) => string;
|
|
42
|
+
/** WCAG contrast ratio of two colours, or null when either can't be parsed. */
|
|
43
|
+
export declare const contrastRatio: (first: string, second: string) => number | null;
|
|
44
|
+
/**
|
|
45
|
+
* The background of inline code in the user's bubble. The chip's text is the
|
|
46
|
+
* bubble's own, so the chip must be derived from that pair: any fixed grey goes
|
|
47
|
+
* unreadable on some bubble (white text on a pale chip, on a bright accent).
|
|
48
|
+
* A roomy pair gets a gentle tint; a tight one moves away from the text until
|
|
49
|
+
* the code is readable, even when the bubble's own text falls short of AA.
|
|
50
|
+
*/
|
|
51
|
+
export declare const userBubbleCodeBackground: (bubble: string, foreground: string) => string;
|
|
42
52
|
/** Recolor only the brand/primary family with `accent`; leave bg/text/border. */
|
|
43
53
|
export declare const applyAccent: (palette: BelongThemePalette, accent: string) => BelongThemePalette;
|
|
44
54
|
export declare const toggleThemeMode: () => void;
|
|
@@ -31,8 +31,18 @@ export type SpawnAgentLineResult = {
|
|
|
31
31
|
* they got exactly that. The caller must not navigate and must not surface a
|
|
32
32
|
* message. Distinct from `create_failed` precisely so it can be told apart.
|
|
33
33
|
*/
|
|
34
|
+
/**
|
|
35
|
+
* `superseded` is quiet too: the mint succeeded, but the user went to another
|
|
36
|
+
* chat while it was out. The agent keeps its chip; nothing may navigate.
|
|
37
|
+
*/
|
|
34
38
|
| {
|
|
35
39
|
readonly ok: false;
|
|
36
|
-
readonly reason: "cap_reached" | "create_failed" | "line_released";
|
|
40
|
+
readonly reason: "cap_reached" | "create_failed" | "line_released" | "superseded";
|
|
37
41
|
};
|
|
38
|
-
|
|
42
|
+
/**
|
|
43
|
+
* `onLineReserved` runs synchronously once the line is reserved and BEFORE the
|
|
44
|
+
* mint's round trip, so the dock can show the new chat on the click itself. It
|
|
45
|
+
* does not run when the spawn is refused up front (at the cap, or no workspace).
|
|
46
|
+
*/
|
|
47
|
+
export type SpawnAgent = (onLineReserved: (line: number) => void) => Promise<SpawnAgentLineResult>;
|
|
48
|
+
export declare const spawnAgentLine: (fetchFn?: typeof fetch, onLineReserved?: (line: number) => void) => Promise<SpawnAgentLineResult>;
|
|
@@ -273,8 +273,11 @@ export declare const deliverAgentReply: (text: string) => void;
|
|
|
273
273
|
* ChatRoute calls this when the delegated run FAILS (stream error, run_error).
|
|
274
274
|
* Without it the call stays silently "Working…" forever — the voice agent
|
|
275
275
|
* must tell the user something went wrong and offer to retry.
|
|
276
|
+
*
|
|
277
|
+
* `nextStep`: what the voice offers. A refused answer (#974) is not fixed by
|
|
278
|
+
* asking again, so it points at a new conversation, as the dock's notice does.
|
|
276
279
|
*/
|
|
277
|
-
export declare const deliverAgentFailure: (message: string) => void;
|
|
280
|
+
export declare const deliverAgentFailure: (message: string, nextStep?: "try_again" | "new_conversation") => void;
|
|
278
281
|
/** A background line finished: converge its chip. Nothing is spoken — see
|
|
279
282
|
* this section's header. */
|
|
280
283
|
export declare const deliverLineReply: (line: number) => void;
|
|
@@ -239,10 +239,22 @@ export declare const en: {
|
|
|
239
239
|
readonly reconnectingBadge: "reconnecting";
|
|
240
240
|
readonly incompleteTask: "Paused — unfinished";
|
|
241
241
|
readonly resumingAfterPause: "Taking longer than expected — picking it back up…";
|
|
242
|
+
readonly answerBlocked: "That answer was blocked before it finished. You can start a new conversation. If it keeps happening, contact support.";
|
|
242
243
|
readonly open: "Open";
|
|
243
244
|
readonly reconnectRateLimited: "{{provider}} is busy — trying again automatically in {{seconds}}s.";
|
|
244
245
|
readonly reconnectRateLimitedStill: "{{provider}} is still busy. We'll keep trying on our own.";
|
|
245
246
|
};
|
|
247
|
+
readonly quota: {
|
|
248
|
+
readonly notice: {
|
|
249
|
+
readonly exhausted: "You've used this month's tokens for {{product}}. They reset on {{resetDate}}. Ask your {{product}} admin if you need more.";
|
|
250
|
+
readonly exhaustedNoDate: "You've used this month's tokens for {{product}}. Ask your {{product}} admin if you need more.";
|
|
251
|
+
readonly exhaustedNoProduct: "You've used this month's tokens. They reset on {{resetDate}}. Ask your admin if you need more.";
|
|
252
|
+
readonly exhaustedNoProductNoDate: "You've used this month's tokens. Ask your admin if you need more.";
|
|
253
|
+
readonly blocked: "Your access to the agent in {{product}} is paused. Ask your {{product}} admin to turn it back on.";
|
|
254
|
+
readonly blockedNoProduct: "Your access to the agent is paused. Ask your admin to turn it back on.";
|
|
255
|
+
readonly scheduleSkipped: "Skipped: this month's tokens are used up.";
|
|
256
|
+
};
|
|
257
|
+
};
|
|
246
258
|
readonly myUsage: {
|
|
247
259
|
readonly thisMonth: "This month";
|
|
248
260
|
readonly today: "Today";
|
|
@@ -375,8 +387,12 @@ export declare const en: {
|
|
|
375
387
|
usageDescription: string;
|
|
376
388
|
about: string;
|
|
377
389
|
aboutDescription: string;
|
|
390
|
+
secrets: string;
|
|
391
|
+
secretsDescription: string;
|
|
378
392
|
apiKeys: string;
|
|
379
393
|
apiKeysDescription: string;
|
|
394
|
+
guide: string;
|
|
395
|
+
guideDescription: string;
|
|
380
396
|
apiKeysName: string;
|
|
381
397
|
apiKeysCreate: string;
|
|
382
398
|
apiKeysRevoke: string;
|
|
@@ -501,10 +517,12 @@ export declare const en: {
|
|
|
501
517
|
readonly sharedConflict: "Someone updated this task while you were editing. Your text is still here. Copy any changes you want to keep, then reopen the editor to load the latest version.";
|
|
502
518
|
readonly sharedReadOnly: "You no longer have edit access. Your unsaved changes are still here.";
|
|
503
519
|
readonly templateUnavailable: "The linked HTML template could not be read. Ask the owner to restore it, then resume this task.";
|
|
520
|
+
readonly sharedOwnerUnavailable: "This shared task is unavailable right now. Resume it when its owner's workspace is back.";
|
|
504
521
|
readonly cliReconnectRequired: "Simetrik couldn't be reached during this run. It reconnects on its own the next time you open Simetrik.";
|
|
505
522
|
readonly deliveryFailed: "The task ran but couldn't send its result: every message or email it tried to send failed. Check that its Slack, Teams or email connection is still connected.";
|
|
506
523
|
readonly cliUnavailable: "Simetrik didn't respond during this run, so nothing could be checked and no email was sent.";
|
|
507
524
|
readonly emailNotPrepared: "This run ended before it finished its check, so no email was sent. Open the run to see what stopped it.";
|
|
525
|
+
readonly runIncomplete: "This run stopped before it finished, so its work may be partial. Open its conversation to see where it stopped.";
|
|
508
526
|
readonly viewTitle: "Scheduled";
|
|
509
527
|
readonly subtitle: "Run work automatically, even when you're away";
|
|
510
528
|
readonly newTask: "New task";
|
|
@@ -517,6 +535,7 @@ export declare const en: {
|
|
|
517
535
|
readonly loading: "Loading scheduled tasks…";
|
|
518
536
|
readonly empty: "No scheduled tasks yet";
|
|
519
537
|
readonly emptyHint: "Create one to run a prompt later — once or on a repeating schedule.";
|
|
538
|
+
readonly emptyProjectHint: "Or start a project to share tasks and files with your team.";
|
|
520
539
|
readonly noResults: "No matches for “{{q}}”";
|
|
521
540
|
readonly loadError: "Couldn't load scheduled tasks.";
|
|
522
541
|
readonly loadMore: "Load more";
|
|
@@ -571,6 +590,10 @@ export declare const en: {
|
|
|
571
590
|
readonly summaryDaily: "Daily at {{time}}";
|
|
572
591
|
readonly summaryWeekdays: "Weekdays at {{time}}";
|
|
573
592
|
readonly summaryWeekly: "Every {{day}} at {{time}}";
|
|
593
|
+
readonly recurrenceCustomWeekly: "Custom weekly";
|
|
594
|
+
readonly weekdaysLabel: "Days of the week";
|
|
595
|
+
readonly daysRequired: "Select at least one day.";
|
|
596
|
+
readonly summaryCustomWeekly: "Every {{day}} at {{time}}";
|
|
574
597
|
readonly summaryInterval: "Every {{minutes}} min";
|
|
575
598
|
readonly summaryManual: "Manual only";
|
|
576
599
|
readonly timezoneSuffix: "({{timezone}})";
|
|
@@ -629,6 +652,7 @@ export declare const en: {
|
|
|
629
652
|
readonly runStatusNeedsAttention: "Needs attention";
|
|
630
653
|
readonly runStatusCompleted: "Completed";
|
|
631
654
|
readonly runStatusFailed: "Failed";
|
|
655
|
+
readonly runStatusStoppedEarly: "Stopped early";
|
|
632
656
|
readonly runNeedsAttentionHint: "Waiting for your input.";
|
|
633
657
|
readonly manualRun: "Manual run";
|
|
634
658
|
readonly manualRunPaused: "Manual run while paused";
|
|
@@ -898,6 +922,34 @@ export declare const en: {
|
|
|
898
922
|
readonly ageDays: "{{count}}d ago";
|
|
899
923
|
readonly attachmentFallback: "attachment";
|
|
900
924
|
};
|
|
925
|
+
readonly guide: {
|
|
926
|
+
readonly summaryTitle: "In 30 seconds";
|
|
927
|
+
readonly searchPlaceholder: "Search the guide";
|
|
928
|
+
readonly searchLabel: "Search the guide";
|
|
929
|
+
readonly commonQuestions: "Common questions";
|
|
930
|
+
readonly topics: "Topics";
|
|
931
|
+
readonly backToGuide: "Guide";
|
|
932
|
+
readonly backLabel: "Back to the guide";
|
|
933
|
+
readonly resultsCount_one: "{{count}} result";
|
|
934
|
+
readonly resultsCount_other: "{{count}} results";
|
|
935
|
+
readonly noResults: "Nothing in the guide matches “{{query}}”.";
|
|
936
|
+
readonly loading: "Loading the guide…";
|
|
937
|
+
readonly loadFailed: "Couldn't load the guide.";
|
|
938
|
+
readonly unavailable: "The guide isn't available here yet.";
|
|
939
|
+
readonly retry: "Try again";
|
|
940
|
+
readonly figures: {
|
|
941
|
+
readonly composer: {
|
|
942
|
+
readonly alt: "The message box with three numbered parts: 1, the percentage above the box; 2, the mode button; 3, the activity line in the conversation.";
|
|
943
|
+
};
|
|
944
|
+
readonly sharedTask: {
|
|
945
|
+
readonly alt: "The same scheduled task active in two accounts: the original and a shared copy. Each active copy runs on its own, so the task runs twice at the same time.";
|
|
946
|
+
readonly original: "Original task · first account";
|
|
947
|
+
readonly copy: "Shared copy · second account";
|
|
948
|
+
readonly total_one: "{{count}} run at {{time}}";
|
|
949
|
+
readonly total_other: "{{count}} runs at {{time}}";
|
|
950
|
+
};
|
|
951
|
+
};
|
|
952
|
+
};
|
|
901
953
|
readonly feedback: {
|
|
902
954
|
readonly goodResponse: "Good response";
|
|
903
955
|
readonly badResponse: "Bad response";
|
|
@@ -1362,6 +1414,34 @@ export declare const en: {
|
|
|
1362
1414
|
readonly nextBranch: "Next branch";
|
|
1363
1415
|
readonly branchPage: "{{current}} of {{total}}";
|
|
1364
1416
|
};
|
|
1417
|
+
readonly vault: {
|
|
1418
|
+
readonly title: "Secrets";
|
|
1419
|
+
readonly description: "Save credentials for your own use across workspaces. Only their names and references are shown to the agent.";
|
|
1420
|
+
readonly add: "Add secret";
|
|
1421
|
+
readonly empty: "No secrets saved.";
|
|
1422
|
+
readonly loading: "Loading secrets…";
|
|
1423
|
+
readonly unavailable: "Secrets are unavailable here. Remove credentials from your message before sending.";
|
|
1424
|
+
readonly name: "Name";
|
|
1425
|
+
readonly nameHint: "Use lowercase letters, numbers and hyphens. Names cannot be changed.";
|
|
1426
|
+
readonly kind: "Kind";
|
|
1427
|
+
readonly apiKey: "API key";
|
|
1428
|
+
readonly pem: "PEM private key";
|
|
1429
|
+
readonly value: "Secret value";
|
|
1430
|
+
readonly save: "Save";
|
|
1431
|
+
readonly saveSecret: "Save secret";
|
|
1432
|
+
readonly captureHint: "Secret detected. Save it securely; only its reference will be included in your message.";
|
|
1433
|
+
readonly saving: "Saving…";
|
|
1434
|
+
readonly cancel: "Cancel";
|
|
1435
|
+
readonly replace: "Replace value";
|
|
1436
|
+
readonly delete: "Delete";
|
|
1437
|
+
readonly deleteConfirm: "Delete {{name}}? Commands using this reference will no longer work.";
|
|
1438
|
+
readonly nameTaken: "That name is already in use.";
|
|
1439
|
+
readonly notFound: "This secret no longer exists. Refresh and try again.";
|
|
1440
|
+
readonly invalidInput: "Check the name and secret value.";
|
|
1441
|
+
readonly requestFailed: "Could not update secrets. Try again.";
|
|
1442
|
+
readonly forbidden: "You do not have access to secrets.";
|
|
1443
|
+
readonly pasteBlocked: "This text looks like a credential. Remove it from your message and save it as a secret.";
|
|
1444
|
+
};
|
|
1365
1445
|
readonly common: {
|
|
1366
1446
|
readonly language: "Language";
|
|
1367
1447
|
readonly retry: "Retry";
|
|
@@ -1638,6 +1718,8 @@ export declare const en: {
|
|
|
1638
1718
|
readonly newGoal: "Start a new goal";
|
|
1639
1719
|
readonly newGoalHint: "Say what the new goal should get done…";
|
|
1640
1720
|
readonly exit: "Exit goal mode";
|
|
1721
|
+
readonly quotaHeadline: "Paused";
|
|
1722
|
+
readonly quotaDetail: "This month's tokens are used up";
|
|
1641
1723
|
};
|
|
1642
1724
|
readonly composerHint: "Tell it what to try instead…";
|
|
1643
1725
|
};
|
|
@@ -1769,7 +1851,10 @@ export declare const en: {
|
|
|
1769
1851
|
};
|
|
1770
1852
|
readonly chat: {
|
|
1771
1853
|
readonly queued: "Queued";
|
|
1854
|
+
readonly nextStepLabel: "Suggested next step";
|
|
1855
|
+
readonly nextStepDismiss: "Dismiss suggestion";
|
|
1772
1856
|
readonly notDelivered: "Not delivered — please resend";
|
|
1857
|
+
readonly notSent: "Not sent";
|
|
1773
1858
|
readonly runFailed: "Run failed";
|
|
1774
1859
|
readonly uploadFailed: "Attachment upload failed — remove it or try again.";
|
|
1775
1860
|
readonly uploadRejectedType: "“{{filename}}” isn’t a file type that can be attached — remove it. Text, data, config, code, document and image files work.";
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings → Guide chrome (the Simetrik agent Guide): the hub's headings, the
|
|
3
|
+
* search box, the article back button, the loading and failure lines, and the
|
|
4
|
+
* labels the two figures draw that the dock has no catalog entry for yet.
|
|
5
|
+
*
|
|
6
|
+
* The articles themselves are served by belong-cloud; only chrome lives here.
|
|
7
|
+
* A figure label that the real dock already shows (the mode name, the activity
|
|
8
|
+
* line, the composer placeholder, a schedule's status and cadence) is NOT
|
|
9
|
+
* repeated here: the figures read the dock's own entry, so they cannot drift.
|
|
10
|
+
* Quiet by design (§42): the failure line is calm and offers a retry.
|
|
11
|
+
*/
|
|
12
|
+
export declare const guideEn: {
|
|
13
|
+
readonly guide: {
|
|
14
|
+
readonly summaryTitle: "In 30 seconds";
|
|
15
|
+
readonly searchPlaceholder: "Search the guide";
|
|
16
|
+
readonly searchLabel: "Search the guide";
|
|
17
|
+
readonly commonQuestions: "Common questions";
|
|
18
|
+
readonly topics: "Topics";
|
|
19
|
+
readonly backToGuide: "Guide";
|
|
20
|
+
readonly backLabel: "Back to the guide";
|
|
21
|
+
readonly resultsCount_one: "{{count}} result";
|
|
22
|
+
readonly resultsCount_other: "{{count}} results";
|
|
23
|
+
readonly noResults: "Nothing in the guide matches “{{query}}”.";
|
|
24
|
+
readonly loading: "Loading the guide…";
|
|
25
|
+
readonly loadFailed: "Couldn't load the guide.";
|
|
26
|
+
readonly unavailable: "The guide isn't available here yet.";
|
|
27
|
+
readonly retry: "Try again";
|
|
28
|
+
readonly figures: {
|
|
29
|
+
readonly composer: {
|
|
30
|
+
readonly alt: "The message box with three numbered parts: 1, the percentage above the box; 2, the mode button; 3, the activity line in the conversation.";
|
|
31
|
+
};
|
|
32
|
+
readonly sharedTask: {
|
|
33
|
+
readonly alt: "The same scheduled task active in two accounts: the original and a shared copy. Each active copy runs on its own, so the task runs twice at the same time.";
|
|
34
|
+
readonly original: "Original task · first account";
|
|
35
|
+
readonly copy: "Shared copy · second account";
|
|
36
|
+
readonly total_one: "{{count}} run at {{time}}";
|
|
37
|
+
readonly total_other: "{{count}} runs at {{time}}";
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const guideEs: {
|
|
43
|
+
guide: {
|
|
44
|
+
summaryTitle: string;
|
|
45
|
+
searchPlaceholder: string;
|
|
46
|
+
searchLabel: string;
|
|
47
|
+
commonQuestions: string;
|
|
48
|
+
topics: string;
|
|
49
|
+
backToGuide: string;
|
|
50
|
+
backLabel: string;
|
|
51
|
+
resultsCount_one: string;
|
|
52
|
+
resultsCount_other: string;
|
|
53
|
+
noResults: string;
|
|
54
|
+
loading: string;
|
|
55
|
+
loadFailed: string;
|
|
56
|
+
unavailable: string;
|
|
57
|
+
retry: string;
|
|
58
|
+
figures: {
|
|
59
|
+
composer: {
|
|
60
|
+
alt: string;
|
|
61
|
+
};
|
|
62
|
+
sharedTask: {
|
|
63
|
+
alt: string;
|
|
64
|
+
original: string;
|
|
65
|
+
copy: string;
|
|
66
|
+
total_one: string;
|
|
67
|
+
total_other: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export declare const guidePt: {
|
|
73
|
+
guide: {
|
|
74
|
+
summaryTitle: string;
|
|
75
|
+
searchPlaceholder: string;
|
|
76
|
+
searchLabel: string;
|
|
77
|
+
commonQuestions: string;
|
|
78
|
+
topics: string;
|
|
79
|
+
backToGuide: string;
|
|
80
|
+
backLabel: string;
|
|
81
|
+
resultsCount_one: string;
|
|
82
|
+
resultsCount_other: string;
|
|
83
|
+
noResults: string;
|
|
84
|
+
loading: string;
|
|
85
|
+
loadFailed: string;
|
|
86
|
+
unavailable: string;
|
|
87
|
+
retry: string;
|
|
88
|
+
figures: {
|
|
89
|
+
composer: {
|
|
90
|
+
alt: string;
|
|
91
|
+
};
|
|
92
|
+
sharedTask: {
|
|
93
|
+
alt: string;
|
|
94
|
+
original: string;
|
|
95
|
+
copy: string;
|
|
96
|
+
total_one: string;
|
|
97
|
+
total_other: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
export declare const guideIt: {
|
|
103
|
+
guide: {
|
|
104
|
+
summaryTitle: string;
|
|
105
|
+
searchPlaceholder: string;
|
|
106
|
+
searchLabel: string;
|
|
107
|
+
commonQuestions: string;
|
|
108
|
+
topics: string;
|
|
109
|
+
backToGuide: string;
|
|
110
|
+
backLabel: string;
|
|
111
|
+
resultsCount_one: string;
|
|
112
|
+
resultsCount_other: string;
|
|
113
|
+
noResults: string;
|
|
114
|
+
loading: string;
|
|
115
|
+
loadFailed: string;
|
|
116
|
+
unavailable: string;
|
|
117
|
+
retry: string;
|
|
118
|
+
figures: {
|
|
119
|
+
composer: {
|
|
120
|
+
alt: string;
|
|
121
|
+
};
|
|
122
|
+
sharedTask: {
|
|
123
|
+
alt: string;
|
|
124
|
+
original: string;
|
|
125
|
+
copy: string;
|
|
126
|
+
total_one: string;
|
|
127
|
+
total_other: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|