@theoremjs/react 0.0.0-stage → 0.3.0
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/LICENSE +21 -0
- package/README.md +246 -2
- package/client/attachment-hover-preview.d.ts +11 -0
- package/client/attachment-hover-preview.js +36 -0
- package/client/audio-level.d.ts +5 -0
- package/client/audio-level.js +24 -0
- package/client/composer-attachments.d.ts +30 -0
- package/client/composer-attachments.js +33 -0
- package/client/composer-drawer.d.ts +19 -0
- package/client/composer-drawer.js +15 -0
- package/client/composer-hints.d.ts +25 -0
- package/client/composer-hints.js +20 -0
- package/client/composer-primary.d.ts +16 -0
- package/client/composer-primary.js +25 -0
- package/client/decision-transport.d.ts +48 -0
- package/client/decision-transport.js +102 -0
- package/client/decode-composer-draft.d.ts +11 -0
- package/client/decode-composer-draft.js +12 -0
- package/client/encode-composer-draft.d.ts +9 -0
- package/client/encode-composer-draft.js +34 -0
- package/client/encode-files.d.ts +18 -0
- package/client/encode-files.js +54 -0
- package/client/failure.d.ts +32 -0
- package/client/failure.js +34 -0
- package/client/generation-selection.d.ts +15 -0
- package/client/generation-selection.js +24 -0
- package/client/host-call.d.ts +51 -0
- package/client/host-call.js +42 -0
- package/client/host-transport.d.ts +68 -0
- package/client/host-transport.js +74 -0
- package/client/image-output.d.ts +6 -0
- package/client/image-output.js +13 -0
- package/client/index.d.ts +20 -0
- package/client/index.js +18 -0
- package/client/ink-waveform.d.ts +17 -0
- package/client/ink-waveform.js +69 -0
- package/client/live/apply-live-turn-tool-event.d.ts +14 -0
- package/client/live/apply-live-turn-tool-event.js +39 -0
- package/client/live/live-captions.d.ts +23 -0
- package/client/live/live-captions.js +70 -0
- package/client/live/live-mic-forward.d.ts +29 -0
- package/client/live/live-mic-forward.js +37 -0
- package/client/live/live-state.d.ts +11 -0
- package/client/live/live-state.js +20 -0
- package/client/live/live-tool.d.ts +11 -0
- package/client/live/live-tool.js +1 -0
- package/client/live/live-video.d.ts +10 -0
- package/client/live/live-video.js +71 -0
- package/client/live/run-live-tool-call.d.ts +17 -0
- package/client/live/run-live-tool-call.js +32 -0
- package/client/live-client.d.ts +141 -0
- package/client/live-client.js +638 -0
- package/client/live-errors.d.ts +2 -0
- package/client/live-errors.js +9 -0
- package/client/live-messages.d.ts +110 -0
- package/client/live-messages.js +67 -0
- package/client/mic-capture.d.ts +4 -0
- package/client/mic-capture.js +6 -0
- package/client/oauth-popup.d.ts +26 -0
- package/client/oauth-popup.js +30 -0
- package/client/pcm-downsample.d.ts +4 -0
- package/client/pcm-downsample.js +45 -0
- package/client/run-commit.d.ts +61 -0
- package/client/run-commit.js +124 -0
- package/client/run-session.d.ts +80 -0
- package/client/run-session.js +215 -0
- package/client/schema-fields.d.ts +63 -0
- package/client/schema-fields.js +178 -0
- package/client/shaped-data.d.ts +118 -0
- package/client/shaped-data.js +314 -0
- package/client/source-citations.d.ts +13 -0
- package/client/source-citations.js +56 -0
- package/client/state-fields.d.ts +16 -0
- package/client/state-fields.js +44 -0
- package/client/tool-result.d.ts +78 -0
- package/client/tool-result.js +275 -0
- package/client/tool-resume.d.ts +33 -0
- package/client/tool-resume.js +11 -0
- package/client/trace-feed.d.ts +13 -0
- package/client/trace-feed.js +18 -0
- package/client/trace-story.d.ts +163 -0
- package/client/trace-story.js +416 -0
- package/client/trace-view.d.ts +130 -0
- package/client/trace-view.js +293 -0
- package/client/transcript-groups.d.ts +114 -0
- package/client/transcript-groups.js +167 -0
- package/client/transcript-scroll.d.ts +7 -0
- package/client/transcript-scroll.js +6 -0
- package/client/transport.d.ts +176 -0
- package/client/transport.js +256 -0
- package/client/turn-client.d.ts +35 -0
- package/client/turn-client.js +93 -0
- package/client/voice-label.d.ts +2 -0
- package/client/voice-label.js +15 -0
- package/client/voice-recorder.d.ts +27 -0
- package/client/voice-recorder.js +165 -0
- package/client/walk-away.d.ts +34 -0
- package/client/walk-away.js +48 -0
- package/client/wire-line.d.ts +56 -0
- package/client/wire-line.js +90 -0
- package/client/worklets/mic-capture.js +16 -0
- package/components/InkWaveform.d.ts +10 -0
- package/components/InkWaveform.js +108 -0
- package/components/live/use-live-runner-controls.d.ts +48 -0
- package/components/live/use-live-runner-controls.js +100 -0
- package/components/live/use-live-runner-model.d.ts +45 -0
- package/components/live/use-live-runner-model.js +175 -0
- package/components/live/use-live-runner-ui.d.ts +65 -0
- package/components/live/use-live-runner-ui.js +159 -0
- package/components/live/use-live-session-client.d.ts +41 -0
- package/components/live/use-live-session-client.js +123 -0
- package/components/use-composer-voice.d.ts +28 -0
- package/components/use-composer-voice.js +90 -0
- package/components/use-editor-selection.d.ts +3 -0
- package/components/use-editor-selection.js +16 -0
- package/components/use-voice-playback.d.ts +16 -0
- package/components/use-voice-playback.js +68 -0
- package/hooks/use-described.d.ts +8 -0
- package/hooks/use-described.js +23 -0
- package/hooks/use-theorem-chat-actions.d.ts +75 -0
- package/hooks/use-theorem-chat-actions.js +265 -0
- package/hooks/use-theorem-chat-state.d.ts +66 -0
- package/hooks/use-theorem-chat-state.js +118 -0
- package/hooks/use-theorem-chat.d.ts +63 -0
- package/hooks/use-theorem-chat.js +340 -0
- package/hooks/use-theorem-decision.d.ts +23 -0
- package/hooks/use-theorem-decision.js +75 -0
- package/hooks/use-theorem-host.d.ts +44 -0
- package/hooks/use-theorem-host.js +117 -0
- package/hooks/use-theorem-interface.d.ts +19 -0
- package/hooks/use-theorem-interface.js +25 -0
- package/hooks/use-trace-records.d.ts +4 -0
- package/hooks/use-trace-records.js +7 -0
- package/index.d.ts +14 -0
- package/index.js +14 -0
- package/live.d.ts +8 -0
- package/live.js +10 -0
- package/package.json +73 -4
- package/server/credential-store.d.ts +24 -0
- package/server/credential-store.js +14 -0
- package/server/decision-handler.d.ts +34 -0
- package/server/decision-handler.js +55 -0
- package/server/handler.d.ts +114 -0
- package/server/handler.js +568 -0
- package/server/json-response.d.ts +2 -0
- package/server/json-response.js +7 -0
- package/server/mod.d.ts +16 -0
- package/server/mod.js +15 -0
- package/server/request-check.d.ts +16 -0
- package/server/request-check.js +34 -0
- package/server/session-store.d.ts +74 -0
- package/server/session-store.js +49 -0
- package/server/steer-inbox.d.ts +35 -0
- package/server/steer-inbox.js +52 -0
- package/server/walk-away.d.ts +22 -0
- package/server/walk-away.js +41 -0
- package/styles/ink-controls.css +134 -0
- package/ui/ChatComposerBar.d.ts +39 -0
- package/ui/ChatComposerBar.js +251 -0
- package/ui/ChatTranscript.d.ts +30 -0
- package/ui/ChatTranscript.js +474 -0
- package/ui/ConsoleFrame.d.ts +47 -0
- package/ui/ConsoleFrame.js +46 -0
- package/ui/DecisionAnswers.d.ts +15 -0
- package/ui/DecisionAnswers.js +102 -0
- package/ui/LiveRunner.d.ts +28 -0
- package/ui/LiveRunner.js +193 -0
- package/ui/SchemaFields.d.ts +10 -0
- package/ui/SchemaFields.js +122 -0
- package/ui/ShapedData.d.ts +11 -0
- package/ui/ShapedData.js +151 -0
- package/ui/SidePanel.d.ts +57 -0
- package/ui/SidePanel.js +50 -0
- package/ui/StateFields.d.ts +36 -0
- package/ui/StateFields.js +96 -0
- package/ui/TheoremChat.d.ts +71 -0
- package/ui/TheoremChat.js +146 -0
- package/ui/TheoremDecision.d.ts +38 -0
- package/ui/TheoremDecision.js +87 -0
- package/ui/TheoremHost.d.ts +38 -0
- package/ui/TheoremHost.js +150 -0
- package/ui/ToolGateCard.d.ts +28 -0
- package/ui/ToolGateCard.js +100 -0
- package/ui/ToolResult.d.ts +10 -0
- package/ui/ToolResult.js +60 -0
- package/ui/ToolResultCharts.d.ts +5 -0
- package/ui/ToolResultCharts.js +86 -0
- package/ui/TraceCharts.d.ts +13 -0
- package/ui/TraceCharts.js +235 -0
- package/ui/TraceGuardrails.d.ts +10 -0
- package/ui/TraceGuardrails.js +56 -0
- package/ui/TraceInspector.d.ts +6 -0
- package/ui/TraceInspector.js +189 -0
- package/ui/TraceInspectorPanel.d.ts +24 -0
- package/ui/TraceInspectorPanel.js +57 -0
- package/ui/TraceOverview.d.ts +34 -0
- package/ui/TraceOverview.js +96 -0
- package/ui/TraceSpanDetail.d.ts +10 -0
- package/ui/TraceSpanDetail.js +188 -0
- package/ui/TraceStory.d.ts +20 -0
- package/ui/TraceStory.js +107 -0
- package/ui/TraceValues.d.ts +36 -0
- package/ui/TraceValues.js +113 -0
- package/ui/TraceWaterfall.d.ts +13 -0
- package/ui/TraceWaterfall.js +132 -0
- package/ui/VoiceNote.d.ts +12 -0
- package/ui/VoiceNote.js +28 -0
- package/ui/built/theme.css +774 -0
- package/ui/built/theorem.d.ts +13 -0
- package/ui/built/theorem.js +631 -0
- package/ui/built/theorem.variants.d.ts +16 -0
- package/ui/disclosure-motion.d.ts +6 -0
- package/ui/disclosure-motion.js +163 -0
- package/ui/icons.d.ts +4 -0
- package/ui/icons.js +37 -0
- package/ui/index.d.ts +25 -0
- package/ui/index.js +29 -0
- package/ui/labels-provider.d.ts +16 -0
- package/ui/labels-provider.js +61 -0
- package/ui/labels.d.ts +1153 -0
- package/ui/labels.js +603 -0
- package/ui/theme.d.ts +10 -0
- package/ui/theme.js +13 -0
- package/ui/theorem-theme.d.ts +10 -0
- package/ui/theorem-theme.js +83 -0
- package/ui/trace-palette.d.ts +24 -0
- package/ui/trace-palette.js +24 -0
- package/ui/trace-patterns.d.ts +32 -0
- package/ui/trace-patterns.js +44 -0
- package/ui/transcript-copy-text.d.ts +4 -0
- package/ui/transcript-copy-text.js +39 -0
package/ui/labels.d.ts
ADDED
|
@@ -0,0 +1,1153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The default UI's words, as an Astryx i18n catalog under `@theorem.*` keys:
|
|
3
|
+
* the same mechanism that words Astryx's own components (`@astryx.*`), so one
|
|
4
|
+
* override table replaces any line on screen, per locale. Messages are ICU
|
|
5
|
+
* (`{handle}`, `{n, plural, …}`); `params` names the values each one is given.
|
|
6
|
+
* Failures are worded by the profile lexicon, not here.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { ComposerDrawerSummary } from '../client/composer-drawer.ts';
|
|
11
|
+
import type { LiveState } from '../client/live/live-state.ts';
|
|
12
|
+
import type { WorkStatus } from '../client/transcript-groups.ts';
|
|
13
|
+
export declare const THEOREM_UI_CATALOG: {
|
|
14
|
+
readonly '@theorem.agent.handle': {
|
|
15
|
+
readonly defaultMessage: "@{handle}";
|
|
16
|
+
readonly description: "The agent's name above its messages, on the landing and in captions.";
|
|
17
|
+
readonly params: readonly ["handle"];
|
|
18
|
+
};
|
|
19
|
+
readonly '@theorem.chat.greeting': {
|
|
20
|
+
readonly defaultMessage: "What are we working on?";
|
|
21
|
+
readonly description: "Chat landing heading, before the first message.";
|
|
22
|
+
};
|
|
23
|
+
readonly '@theorem.chat.loading': {
|
|
24
|
+
readonly defaultMessage: "Loading…";
|
|
25
|
+
readonly description: "Spinner label while the profile loads.";
|
|
26
|
+
};
|
|
27
|
+
readonly '@theorem.chat.live_unsupported.title': {
|
|
28
|
+
readonly defaultMessage: "Live profiles aren't supported here";
|
|
29
|
+
readonly description: "Shown when TheoremChat is pointed at a live profile.";
|
|
30
|
+
};
|
|
31
|
+
readonly '@theorem.chat.live_unsupported.description': {
|
|
32
|
+
readonly defaultMessage: "Use LiveRunner from @theoremjs/react/live.";
|
|
33
|
+
readonly description: "Where to go instead, under the live-profile warning.";
|
|
34
|
+
};
|
|
35
|
+
readonly '@theorem.composer.placeholder': {
|
|
36
|
+
readonly defaultMessage: "Message @{handle}";
|
|
37
|
+
readonly description: "Empty composer placeholder.";
|
|
38
|
+
readonly params: readonly ["handle"];
|
|
39
|
+
};
|
|
40
|
+
readonly '@theorem.composer.listening': {
|
|
41
|
+
readonly defaultMessage: "Listening…";
|
|
42
|
+
readonly description: "Composer placeholder while a voice note records.";
|
|
43
|
+
};
|
|
44
|
+
readonly '@theorem.composer.attach': {
|
|
45
|
+
readonly defaultMessage: "Attach files";
|
|
46
|
+
readonly description: "Paperclip button.";
|
|
47
|
+
};
|
|
48
|
+
readonly '@theorem.composer.record': {
|
|
49
|
+
readonly defaultMessage: "Record voice";
|
|
50
|
+
readonly description: "Microphone button, idle.";
|
|
51
|
+
};
|
|
52
|
+
readonly '@theorem.composer.stop_recording': {
|
|
53
|
+
readonly defaultMessage: "Stop recording";
|
|
54
|
+
readonly description: "Microphone button, recording.";
|
|
55
|
+
};
|
|
56
|
+
readonly '@theorem.composer.send_options': {
|
|
57
|
+
readonly defaultMessage: "More send options";
|
|
58
|
+
readonly description: "Menu button beside send.";
|
|
59
|
+
};
|
|
60
|
+
readonly '@theorem.composer.model': {
|
|
61
|
+
readonly defaultMessage: "Model";
|
|
62
|
+
readonly description: "Model selector (screen readers).";
|
|
63
|
+
};
|
|
64
|
+
readonly '@theorem.composer.effort': {
|
|
65
|
+
readonly defaultMessage: "Effort";
|
|
66
|
+
readonly description: "Effort selector (screen readers).";
|
|
67
|
+
};
|
|
68
|
+
readonly '@theorem.composer.menu.queue': {
|
|
69
|
+
readonly defaultMessage: "Queue";
|
|
70
|
+
readonly description: "Send menu item.";
|
|
71
|
+
};
|
|
72
|
+
readonly '@theorem.composer.menu.queue.description': {
|
|
73
|
+
readonly defaultMessage: "Send it once this reply finishes.";
|
|
74
|
+
readonly description: "Send menu item detail: the message waits its turn.";
|
|
75
|
+
};
|
|
76
|
+
readonly '@theorem.composer.menu.steer': {
|
|
77
|
+
readonly defaultMessage: "Steer this reply";
|
|
78
|
+
readonly description: "Send menu item.";
|
|
79
|
+
};
|
|
80
|
+
readonly '@theorem.composer.menu.steer.description': {
|
|
81
|
+
readonly defaultMessage: "Add it to the reply in progress. The agent reads it at its next step.";
|
|
82
|
+
readonly description: "Send menu item detail: the message joins the running reply instead of waiting.";
|
|
83
|
+
};
|
|
84
|
+
readonly '@theorem.composer.menu.send_now': {
|
|
85
|
+
readonly defaultMessage: "Send now";
|
|
86
|
+
readonly description: "Send menu item.";
|
|
87
|
+
};
|
|
88
|
+
readonly '@theorem.composer.menu.send_now.description': {
|
|
89
|
+
readonly defaultMessage: "Stop this reply and send it instead.";
|
|
90
|
+
readonly description: "Send menu item detail: ends the running reply (or its wait for approval), then sends.";
|
|
91
|
+
};
|
|
92
|
+
readonly '@theorem.composer.menu.stash': {
|
|
93
|
+
readonly defaultMessage: "Stash";
|
|
94
|
+
readonly description: "Send menu item.";
|
|
95
|
+
};
|
|
96
|
+
readonly '@theorem.composer.menu.stash.description': {
|
|
97
|
+
readonly defaultMessage: "Set it aside to send later.";
|
|
98
|
+
readonly description: "Send menu item detail: the message waits in the composer until sent.";
|
|
99
|
+
};
|
|
100
|
+
readonly '@theorem.composer.hint.stash-selected-draft.message': {
|
|
101
|
+
readonly defaultMessage: "Replacing this?";
|
|
102
|
+
readonly description: "Hint when the whole draft is selected and could be stashed.";
|
|
103
|
+
};
|
|
104
|
+
readonly '@theorem.composer.hint.stash-selected-draft.action': {
|
|
105
|
+
readonly defaultMessage: "Stash it";
|
|
106
|
+
readonly description: "The hint's button.";
|
|
107
|
+
};
|
|
108
|
+
readonly '@theorem.composer.drawer.steer': {
|
|
109
|
+
readonly defaultMessage: "steering";
|
|
110
|
+
readonly description: "Drawer header when only steering messages wait.";
|
|
111
|
+
};
|
|
112
|
+
readonly '@theorem.composer.drawer.queue': {
|
|
113
|
+
readonly defaultMessage: "queued";
|
|
114
|
+
readonly description: "Drawer header when only queued messages wait.";
|
|
115
|
+
};
|
|
116
|
+
readonly '@theorem.composer.drawer.stash': {
|
|
117
|
+
readonly defaultMessage: "stashed";
|
|
118
|
+
readonly description: "Drawer header when only stashed messages wait.";
|
|
119
|
+
};
|
|
120
|
+
readonly '@theorem.composer.drawer.attached': {
|
|
121
|
+
readonly defaultMessage: "attached";
|
|
122
|
+
readonly description: "Drawer header when only files wait.";
|
|
123
|
+
};
|
|
124
|
+
readonly '@theorem.composer.drawer.steer.count': {
|
|
125
|
+
readonly defaultMessage: "{n} steering";
|
|
126
|
+
readonly description: "One part of a mixed drawer header.";
|
|
127
|
+
readonly params: readonly ["n"];
|
|
128
|
+
};
|
|
129
|
+
readonly '@theorem.composer.drawer.queue.count': {
|
|
130
|
+
readonly defaultMessage: "{n} queued";
|
|
131
|
+
readonly description: "One part of a mixed drawer header.";
|
|
132
|
+
readonly params: readonly ["n"];
|
|
133
|
+
};
|
|
134
|
+
readonly '@theorem.composer.drawer.stash.count': {
|
|
135
|
+
readonly defaultMessage: "{n} stashed";
|
|
136
|
+
readonly description: "One part of a mixed drawer header.";
|
|
137
|
+
readonly params: readonly ["n"];
|
|
138
|
+
};
|
|
139
|
+
readonly '@theorem.composer.drawer.attached.count': {
|
|
140
|
+
readonly defaultMessage: "{n} attached";
|
|
141
|
+
readonly description: "One part of a mixed drawer header.";
|
|
142
|
+
readonly params: readonly ["n"];
|
|
143
|
+
};
|
|
144
|
+
readonly '@theorem.composer.drawer.separator': {
|
|
145
|
+
readonly defaultMessage: " · ";
|
|
146
|
+
readonly description: "Between the parts of a mixed drawer header.";
|
|
147
|
+
};
|
|
148
|
+
readonly '@theorem.composer.pending.steer': {
|
|
149
|
+
readonly defaultMessage: "Steering";
|
|
150
|
+
readonly description: "Badge on a waiting steering message.";
|
|
151
|
+
};
|
|
152
|
+
readonly '@theorem.composer.pending.queue': {
|
|
153
|
+
readonly defaultMessage: "Queued";
|
|
154
|
+
readonly description: "Badge on a waiting queued message.";
|
|
155
|
+
};
|
|
156
|
+
readonly '@theorem.composer.pending.stash': {
|
|
157
|
+
readonly defaultMessage: "Stashed";
|
|
158
|
+
readonly description: "Badge on a waiting stashed message.";
|
|
159
|
+
};
|
|
160
|
+
readonly '@theorem.composer.pending.edit': {
|
|
161
|
+
readonly defaultMessage: "Edit";
|
|
162
|
+
readonly description: "Waiting message: back into the composer.";
|
|
163
|
+
};
|
|
164
|
+
readonly '@theorem.composer.pending.queue_action': {
|
|
165
|
+
readonly defaultMessage: "Queue";
|
|
166
|
+
readonly description: "Stashed message: queue it.";
|
|
167
|
+
};
|
|
168
|
+
readonly '@theorem.composer.pending.send_now': {
|
|
169
|
+
readonly defaultMessage: "Send now";
|
|
170
|
+
readonly description: "Waiting message: send it now.";
|
|
171
|
+
};
|
|
172
|
+
readonly '@theorem.composer.pending.move_up': {
|
|
173
|
+
readonly defaultMessage: "Move up";
|
|
174
|
+
readonly description: "Waiting message: earlier.";
|
|
175
|
+
};
|
|
176
|
+
readonly '@theorem.composer.pending.move_down': {
|
|
177
|
+
readonly defaultMessage: "Move down";
|
|
178
|
+
readonly description: "Waiting message: later.";
|
|
179
|
+
};
|
|
180
|
+
readonly '@theorem.composer.pending.remove': {
|
|
181
|
+
readonly defaultMessage: "Remove";
|
|
182
|
+
readonly description: "Waiting message: discard.";
|
|
183
|
+
};
|
|
184
|
+
readonly '@theorem.transcript.copy': {
|
|
185
|
+
readonly defaultMessage: "Copy";
|
|
186
|
+
readonly description: "Copy a message.";
|
|
187
|
+
};
|
|
188
|
+
readonly '@theorem.transcript.copied': {
|
|
189
|
+
readonly defaultMessage: "Copied";
|
|
190
|
+
readonly description: "Right after copying a message.";
|
|
191
|
+
};
|
|
192
|
+
readonly '@theorem.transcript.now': {
|
|
193
|
+
readonly defaultMessage: "now";
|
|
194
|
+
readonly description: "Message time during its first minute.";
|
|
195
|
+
};
|
|
196
|
+
readonly '@theorem.transcript.generated_image': {
|
|
197
|
+
readonly defaultMessage: "Generated image";
|
|
198
|
+
readonly description: "Alt text for a generated image.";
|
|
199
|
+
};
|
|
200
|
+
readonly '@theorem.transcript.generated_video': {
|
|
201
|
+
readonly defaultMessage: "Generated video";
|
|
202
|
+
readonly description: "Alt text for a generated video.";
|
|
203
|
+
};
|
|
204
|
+
readonly '@theorem.transcript.open_generated_image': {
|
|
205
|
+
readonly defaultMessage: "Open generated image";
|
|
206
|
+
readonly description: "Opens the image full size.";
|
|
207
|
+
};
|
|
208
|
+
readonly '@theorem.transcript.generating_image': {
|
|
209
|
+
readonly defaultMessage: "Generating image";
|
|
210
|
+
readonly description: "Placeholder while an image generates.";
|
|
211
|
+
};
|
|
212
|
+
readonly '@theorem.transcript.sources': {
|
|
213
|
+
readonly defaultMessage: "Sources";
|
|
214
|
+
readonly description: "The row of source chips (screen readers).";
|
|
215
|
+
};
|
|
216
|
+
readonly '@theorem.transcript.tool_input': {
|
|
217
|
+
readonly defaultMessage: "Input";
|
|
218
|
+
readonly description: "A tool call's arguments, in its detail.";
|
|
219
|
+
};
|
|
220
|
+
readonly '@theorem.transcript.tool_input_edited': {
|
|
221
|
+
readonly defaultMessage: "Input (edited)";
|
|
222
|
+
readonly description: "A tool call's arguments after the user edited them on approval.";
|
|
223
|
+
};
|
|
224
|
+
readonly '@theorem.transcript.tool_output': {
|
|
225
|
+
readonly defaultMessage: "Output";
|
|
226
|
+
readonly description: "A tool call's result, in its detail.";
|
|
227
|
+
};
|
|
228
|
+
readonly '@theorem.transcript.tool_error': {
|
|
229
|
+
readonly defaultMessage: "Error";
|
|
230
|
+
readonly description: "A failed tool call's failure, in its detail.";
|
|
231
|
+
};
|
|
232
|
+
readonly '@theorem.data.view': {
|
|
233
|
+
readonly defaultMessage: "View as";
|
|
234
|
+
readonly description: "Switch between tool data drawn by its shape and its JSON.";
|
|
235
|
+
};
|
|
236
|
+
readonly '@theorem.data.shaped': {
|
|
237
|
+
readonly defaultMessage: "Data";
|
|
238
|
+
readonly description: "Tool data drawn as fields, sections and tables.";
|
|
239
|
+
};
|
|
240
|
+
readonly '@theorem.data.json': {
|
|
241
|
+
readonly defaultMessage: "JSON";
|
|
242
|
+
readonly description: "Tool data as its raw JSON.";
|
|
243
|
+
};
|
|
244
|
+
readonly '@theorem.data.item': {
|
|
245
|
+
readonly defaultMessage: "Item {index}";
|
|
246
|
+
readonly description: "A list row with no name of its own.";
|
|
247
|
+
readonly params: readonly ["index"];
|
|
248
|
+
};
|
|
249
|
+
readonly '@theorem.data.none': {
|
|
250
|
+
readonly defaultMessage: "Empty";
|
|
251
|
+
readonly description: "An empty list or object in tool data.";
|
|
252
|
+
};
|
|
253
|
+
readonly '@theorem.data.yes': {
|
|
254
|
+
readonly defaultMessage: "Yes";
|
|
255
|
+
readonly description: "A true value in tool data.";
|
|
256
|
+
};
|
|
257
|
+
readonly '@theorem.data.no': {
|
|
258
|
+
readonly defaultMessage: "No";
|
|
259
|
+
readonly description: "A false value in tool data.";
|
|
260
|
+
};
|
|
261
|
+
readonly '@theorem.data.more': {
|
|
262
|
+
readonly defaultMessage: "{count} more — switch to JSON to see them";
|
|
263
|
+
readonly description: "Rows past the shown ones, left to the JSON view.";
|
|
264
|
+
readonly params: readonly ["count"];
|
|
265
|
+
};
|
|
266
|
+
readonly '@theorem.data.large': {
|
|
267
|
+
readonly defaultMessage: "Too large to lay out — showing the first {size} of its JSON";
|
|
268
|
+
readonly description: "A payload too big to draw by its shape, shown as the start of its JSON.";
|
|
269
|
+
readonly params: readonly ["size"];
|
|
270
|
+
};
|
|
271
|
+
readonly '@theorem.transcript.copy_text.tool': {
|
|
272
|
+
readonly defaultMessage: "Tool: {name}";
|
|
273
|
+
readonly description: "A tool call in copied message text.";
|
|
274
|
+
readonly params: readonly ["name"];
|
|
275
|
+
};
|
|
276
|
+
readonly '@theorem.transcript.copy_text.media': {
|
|
277
|
+
readonly defaultMessage: "[{mimeType} media]";
|
|
278
|
+
readonly description: "Media without a link, in copied message text.";
|
|
279
|
+
readonly params: readonly ["mimeType"];
|
|
280
|
+
};
|
|
281
|
+
readonly '@theorem.transcript.working': {
|
|
282
|
+
readonly defaultMessage: "Working…";
|
|
283
|
+
readonly description: "Turn status while running, start unknown.";
|
|
284
|
+
};
|
|
285
|
+
readonly '@theorem.transcript.working_for': {
|
|
286
|
+
readonly defaultMessage: "Working for {duration}";
|
|
287
|
+
readonly description: "Turn status while running.";
|
|
288
|
+
readonly params: readonly ["duration"];
|
|
289
|
+
};
|
|
290
|
+
readonly '@theorem.transcript.worked': {
|
|
291
|
+
readonly defaultMessage: "Worked";
|
|
292
|
+
readonly description: "Turn status once done, duration unknown.";
|
|
293
|
+
};
|
|
294
|
+
readonly '@theorem.transcript.worked_for': {
|
|
295
|
+
readonly defaultMessage: "Worked for {duration}";
|
|
296
|
+
readonly description: "Turn status once done.";
|
|
297
|
+
readonly params: readonly ["duration"];
|
|
298
|
+
};
|
|
299
|
+
readonly '@theorem.duration.milliseconds': {
|
|
300
|
+
readonly defaultMessage: "{ms}ms";
|
|
301
|
+
readonly description: "Under a second.";
|
|
302
|
+
readonly params: readonly ["ms"];
|
|
303
|
+
};
|
|
304
|
+
readonly '@theorem.duration.belowTenth': {
|
|
305
|
+
readonly defaultMessage: "<0.1ms";
|
|
306
|
+
readonly description: "Above zero but under a tenth of a millisecond, such as a quick guardrail check.";
|
|
307
|
+
};
|
|
308
|
+
readonly '@theorem.duration.seconds': {
|
|
309
|
+
readonly defaultMessage: "{seconds}s";
|
|
310
|
+
readonly description: "Under a minute.";
|
|
311
|
+
readonly params: readonly ["seconds"];
|
|
312
|
+
};
|
|
313
|
+
readonly '@theorem.duration.minutes': {
|
|
314
|
+
readonly defaultMessage: "{minutes}m";
|
|
315
|
+
readonly description: "Whole minutes.";
|
|
316
|
+
readonly params: readonly ["minutes"];
|
|
317
|
+
};
|
|
318
|
+
readonly '@theorem.duration.minutes_seconds': {
|
|
319
|
+
readonly defaultMessage: "{minutes}m {seconds}s";
|
|
320
|
+
readonly description: "Minutes and seconds.";
|
|
321
|
+
readonly params: readonly ["minutes", "seconds"];
|
|
322
|
+
};
|
|
323
|
+
readonly '@theorem.gate.approval.badge': {
|
|
324
|
+
readonly defaultMessage: "Approval required";
|
|
325
|
+
readonly description: "Tool approval card badge.";
|
|
326
|
+
};
|
|
327
|
+
readonly '@theorem.gate.approval.title': {
|
|
328
|
+
readonly defaultMessage: "Tool:";
|
|
329
|
+
readonly description: "Before the tool name on the approval card.";
|
|
330
|
+
};
|
|
331
|
+
readonly '@theorem.gate.approval.input': {
|
|
332
|
+
readonly defaultMessage: "Input arguments";
|
|
333
|
+
readonly description: "Expands the arguments the tool would run with.";
|
|
334
|
+
};
|
|
335
|
+
readonly '@theorem.gate.approval.deny': {
|
|
336
|
+
readonly defaultMessage: "Deny";
|
|
337
|
+
readonly description: "Approval card button.";
|
|
338
|
+
};
|
|
339
|
+
readonly '@theorem.gate.approval.approve': {
|
|
340
|
+
readonly defaultMessage: "Approve";
|
|
341
|
+
readonly description: "Approval card button.";
|
|
342
|
+
};
|
|
343
|
+
readonly '@theorem.gate.approval.denied': {
|
|
344
|
+
readonly defaultMessage: "Denied";
|
|
345
|
+
readonly description: "After denying.";
|
|
346
|
+
};
|
|
347
|
+
readonly '@theorem.gate.approval.approved_session': {
|
|
348
|
+
readonly defaultMessage: "Approved for this session";
|
|
349
|
+
readonly description: "After approving a tool whose consent lasts the session.";
|
|
350
|
+
};
|
|
351
|
+
readonly '@theorem.gate.approval.approved_once': {
|
|
352
|
+
readonly defaultMessage: "Approved once";
|
|
353
|
+
readonly description: "After approving a single run.";
|
|
354
|
+
};
|
|
355
|
+
readonly '@theorem.gate.tag.confirmation': {
|
|
356
|
+
readonly defaultMessage: "confirmation";
|
|
357
|
+
readonly description: "Gate kind tag.";
|
|
358
|
+
};
|
|
359
|
+
readonly '@theorem.gate.tag.permission': {
|
|
360
|
+
readonly defaultMessage: "permission";
|
|
361
|
+
readonly description: "Gate kind tag.";
|
|
362
|
+
};
|
|
363
|
+
readonly '@theorem.gate.tag.auth': {
|
|
364
|
+
readonly defaultMessage: "auth";
|
|
365
|
+
readonly description: "Gate kind tag.";
|
|
366
|
+
};
|
|
367
|
+
readonly '@theorem.gate.tag.auto': {
|
|
368
|
+
readonly defaultMessage: "auto";
|
|
369
|
+
readonly description: "Tool permission tag.";
|
|
370
|
+
};
|
|
371
|
+
readonly '@theorem.gate.tag.session_consent': {
|
|
372
|
+
readonly defaultMessage: "session_consent";
|
|
373
|
+
readonly description: "Tool permission tag.";
|
|
374
|
+
};
|
|
375
|
+
readonly '@theorem.gate.tag.always_confirm': {
|
|
376
|
+
readonly defaultMessage: "always_confirm";
|
|
377
|
+
readonly description: "Tool permission tag.";
|
|
378
|
+
};
|
|
379
|
+
readonly '@theorem.gate.tag.bearer': {
|
|
380
|
+
readonly defaultMessage: "bearer";
|
|
381
|
+
readonly description: "Credential type tag.";
|
|
382
|
+
};
|
|
383
|
+
readonly '@theorem.gate.tag.api_key': {
|
|
384
|
+
readonly defaultMessage: "api_key";
|
|
385
|
+
readonly description: "Credential type tag.";
|
|
386
|
+
};
|
|
387
|
+
readonly '@theorem.gate.tag.oauth2': {
|
|
388
|
+
readonly defaultMessage: "oauth2";
|
|
389
|
+
readonly description: "Credential type tag.";
|
|
390
|
+
};
|
|
391
|
+
readonly '@theorem.gate.auth.badge': {
|
|
392
|
+
readonly defaultMessage: "Sign-in required";
|
|
393
|
+
readonly description: "Credential card badge.";
|
|
394
|
+
};
|
|
395
|
+
readonly '@theorem.gate.auth.title': {
|
|
396
|
+
readonly defaultMessage: "Authentication:";
|
|
397
|
+
readonly description: "Before the tool name on the credential card.";
|
|
398
|
+
};
|
|
399
|
+
readonly '@theorem.gate.auth.resource': {
|
|
400
|
+
readonly defaultMessage: "Resource: {resource}";
|
|
401
|
+
readonly description: "What the credential is for.";
|
|
402
|
+
readonly params: readonly ["resource"];
|
|
403
|
+
};
|
|
404
|
+
readonly '@theorem.gate.auth.no_oauth': {
|
|
405
|
+
readonly defaultMessage: "No OAuth authorization endpoint is configured.";
|
|
406
|
+
readonly description: "OAuth tool without an authorization URL.";
|
|
407
|
+
};
|
|
408
|
+
readonly '@theorem.gate.auth.authorize': {
|
|
409
|
+
readonly defaultMessage: "Authorize with provider";
|
|
410
|
+
readonly description: "Opens the OAuth sign-in.";
|
|
411
|
+
};
|
|
412
|
+
readonly '@theorem.gate.auth.provided': {
|
|
413
|
+
readonly defaultMessage: "Credential provided for {slot}";
|
|
414
|
+
readonly description: "After submitting a credential or finishing an OAuth sign-in.";
|
|
415
|
+
readonly params: readonly ["slot"];
|
|
416
|
+
};
|
|
417
|
+
readonly '@theorem.gate.auth.api_key': {
|
|
418
|
+
readonly defaultMessage: "API key";
|
|
419
|
+
readonly description: "Secret field label, API-key tools.";
|
|
420
|
+
};
|
|
421
|
+
readonly '@theorem.gate.auth.bearer': {
|
|
422
|
+
readonly defaultMessage: "Bearer token";
|
|
423
|
+
readonly description: "Secret field label, bearer tools.";
|
|
424
|
+
};
|
|
425
|
+
readonly '@theorem.gate.auth.secret_placeholder': {
|
|
426
|
+
readonly defaultMessage: "Secret for slot ''{slot}''";
|
|
427
|
+
readonly description: "Secret field placeholder.";
|
|
428
|
+
readonly params: readonly ["slot"];
|
|
429
|
+
};
|
|
430
|
+
readonly '@theorem.gate.auth.secret_note': {
|
|
431
|
+
readonly defaultMessage: " ";
|
|
432
|
+
readonly description: "Under the secret field: how the host handles the credential. Blank by default, since only the host knows; the playground says it is used for one call.";
|
|
433
|
+
};
|
|
434
|
+
readonly '@theorem.gate.auth.submit': {
|
|
435
|
+
readonly defaultMessage: "Submit & continue";
|
|
436
|
+
readonly description: "Sends the credential.";
|
|
437
|
+
};
|
|
438
|
+
readonly '@theorem.voice_note.name': {
|
|
439
|
+
readonly defaultMessage: "voice.{format}";
|
|
440
|
+
readonly description: "A voice note's name, by audio format (webm, wav, mp3, m4a, ogg).";
|
|
441
|
+
readonly params: readonly ["format"];
|
|
442
|
+
};
|
|
443
|
+
readonly '@theorem.voice_note.unnamed': {
|
|
444
|
+
readonly defaultMessage: "voice note";
|
|
445
|
+
readonly description: "A voice note's name when its format is unknown.";
|
|
446
|
+
};
|
|
447
|
+
readonly '@theorem.voice_note.play': {
|
|
448
|
+
readonly defaultMessage: "Play {name}";
|
|
449
|
+
readonly description: "Voice note, paused.";
|
|
450
|
+
readonly params: readonly ["name"];
|
|
451
|
+
};
|
|
452
|
+
readonly '@theorem.voice_note.pause': {
|
|
453
|
+
readonly defaultMessage: "Pause {name}";
|
|
454
|
+
readonly description: "Voice note, playing.";
|
|
455
|
+
readonly params: readonly ["name"];
|
|
456
|
+
};
|
|
457
|
+
readonly '@theorem.voice_note.remove': {
|
|
458
|
+
readonly defaultMessage: "Remove {name}";
|
|
459
|
+
readonly description: "Unstages a voice note.";
|
|
460
|
+
readonly params: readonly ["name"];
|
|
461
|
+
};
|
|
462
|
+
readonly '@theorem.decision.state': {
|
|
463
|
+
readonly defaultMessage: "State";
|
|
464
|
+
readonly description: "The JSON a decision is asked about (field label).";
|
|
465
|
+
};
|
|
466
|
+
readonly '@theorem.decision.state_size': {
|
|
467
|
+
readonly defaultMessage: "{size} of {limit}";
|
|
468
|
+
readonly description: "The state's size against the profile's limit, under the field.";
|
|
469
|
+
readonly params: readonly ["size", "limit"];
|
|
470
|
+
};
|
|
471
|
+
readonly '@theorem.decision.view': {
|
|
472
|
+
readonly defaultMessage: "Edit as";
|
|
473
|
+
readonly description: "Switch between the state as fields and as JSON.";
|
|
474
|
+
};
|
|
475
|
+
readonly '@theorem.decision.fields': {
|
|
476
|
+
readonly defaultMessage: "Fields";
|
|
477
|
+
readonly description: "The state edited field by field.";
|
|
478
|
+
};
|
|
479
|
+
readonly '@theorem.decision.add_item': {
|
|
480
|
+
readonly defaultMessage: "Add to {field}";
|
|
481
|
+
readonly description: "Adds a row to a list in the state.";
|
|
482
|
+
readonly params: readonly ["field"];
|
|
483
|
+
};
|
|
484
|
+
readonly '@theorem.decision.remove_item': {
|
|
485
|
+
readonly defaultMessage: "Remove {item}";
|
|
486
|
+
readonly description: "Removes a row from a list in the state.";
|
|
487
|
+
readonly params: readonly ["item"];
|
|
488
|
+
};
|
|
489
|
+
readonly '@theorem.decision.add_value': {
|
|
490
|
+
readonly defaultMessage: "Add a value";
|
|
491
|
+
readonly description: "A list of words in the state, while it is empty.";
|
|
492
|
+
};
|
|
493
|
+
readonly '@theorem.decision.invalid_json': {
|
|
494
|
+
readonly defaultMessage: "Not valid JSON yet";
|
|
495
|
+
readonly description: "The state doesn't parse.";
|
|
496
|
+
};
|
|
497
|
+
readonly '@theorem.decision.null_state': {
|
|
498
|
+
readonly defaultMessage: "State can’t be null";
|
|
499
|
+
readonly description: "The state is the JSON null.";
|
|
500
|
+
};
|
|
501
|
+
readonly '@theorem.decision.too_large': {
|
|
502
|
+
readonly defaultMessage: "Over the {limit} limit";
|
|
503
|
+
readonly description: "The state is larger than the profile's limit.";
|
|
504
|
+
readonly params: readonly ["limit"];
|
|
505
|
+
};
|
|
506
|
+
readonly '@theorem.decision.decide': {
|
|
507
|
+
readonly defaultMessage: "Decide";
|
|
508
|
+
readonly description: "Asks the questions about the state.";
|
|
509
|
+
};
|
|
510
|
+
readonly '@theorem.decision.deciding': {
|
|
511
|
+
readonly defaultMessage: "Deciding…";
|
|
512
|
+
readonly description: "The decide button while it runs.";
|
|
513
|
+
};
|
|
514
|
+
readonly '@theorem.decision.stop': {
|
|
515
|
+
readonly defaultMessage: "Stop";
|
|
516
|
+
readonly description: "Cancels the running decision.";
|
|
517
|
+
};
|
|
518
|
+
readonly '@theorem.decision.confidence': {
|
|
519
|
+
readonly defaultMessage: "{percent} sure";
|
|
520
|
+
readonly description: "How sure the model is of a choice or score; percent is formatted, e.g. '92%'.";
|
|
521
|
+
readonly params: readonly ["percent"];
|
|
522
|
+
};
|
|
523
|
+
readonly '@theorem.decision.option': {
|
|
524
|
+
readonly defaultMessage: "{label}, {percent}";
|
|
525
|
+
readonly description: "One option and its probability (screen readers); percent is formatted.";
|
|
526
|
+
readonly params: readonly ["label", "percent"];
|
|
527
|
+
};
|
|
528
|
+
readonly '@theorem.decision.score_of': {
|
|
529
|
+
readonly defaultMessage: "{score} of {max}";
|
|
530
|
+
readonly description: "A score on its scale from 0, e.g. 1.4 of 3.";
|
|
531
|
+
readonly params: readonly ["score", "max"];
|
|
532
|
+
};
|
|
533
|
+
readonly '@theorem.decision.type.choice': {
|
|
534
|
+
readonly defaultMessage: "Choice";
|
|
535
|
+
readonly description: "A question that picks one label.";
|
|
536
|
+
};
|
|
537
|
+
readonly '@theorem.decision.type.score': {
|
|
538
|
+
readonly defaultMessage: "Score";
|
|
539
|
+
readonly description: "A question that places the state on a scale.";
|
|
540
|
+
};
|
|
541
|
+
readonly '@theorem.decision.type.noul': {
|
|
542
|
+
readonly defaultMessage: "Noul";
|
|
543
|
+
readonly description: "A question answered with one number.";
|
|
544
|
+
};
|
|
545
|
+
readonly '@theorem.decision.tokens': {
|
|
546
|
+
readonly defaultMessage: "{count, plural, one {# token} other {# tokens}}";
|
|
547
|
+
readonly description: "Input tokens the decision used, in the line under the answers.";
|
|
548
|
+
readonly params: readonly ["count"];
|
|
549
|
+
};
|
|
550
|
+
readonly '@theorem.host.tool': {
|
|
551
|
+
readonly defaultMessage: "Tool";
|
|
552
|
+
readonly description: "Picks which of the host’s tools to call (field label).";
|
|
553
|
+
};
|
|
554
|
+
readonly '@theorem.host.request': {
|
|
555
|
+
readonly defaultMessage: "Request";
|
|
556
|
+
readonly description: "The input a tool call sends (card heading).";
|
|
557
|
+
};
|
|
558
|
+
readonly '@theorem.host.response': {
|
|
559
|
+
readonly defaultMessage: "Response";
|
|
560
|
+
readonly description: "What a tool call returned (section heading).";
|
|
561
|
+
};
|
|
562
|
+
readonly '@theorem.host.run': {
|
|
563
|
+
readonly defaultMessage: "Run";
|
|
564
|
+
readonly description: "Calls the tool with the request.";
|
|
565
|
+
};
|
|
566
|
+
readonly '@theorem.host.image': {
|
|
567
|
+
readonly defaultMessage: "Image the tool returned";
|
|
568
|
+
readonly description: "Alt text for an image a tool returned beside its output.";
|
|
569
|
+
};
|
|
570
|
+
readonly '@theorem.host.running': {
|
|
571
|
+
readonly defaultMessage: "Running…";
|
|
572
|
+
readonly description: "The run button while the call runs.";
|
|
573
|
+
};
|
|
574
|
+
readonly '@theorem.host.stop': {
|
|
575
|
+
readonly defaultMessage: "Stop";
|
|
576
|
+
readonly description: "Cancels the running call.";
|
|
577
|
+
};
|
|
578
|
+
readonly '@theorem.host.missing': {
|
|
579
|
+
readonly defaultMessage: "Needs {fields}";
|
|
580
|
+
readonly description: "Required fields the request is still missing, under the form.";
|
|
581
|
+
readonly params: readonly ["fields"];
|
|
582
|
+
};
|
|
583
|
+
readonly '@theorem.host.shortcut': {
|
|
584
|
+
readonly defaultMessage: "⌘↵ to run";
|
|
585
|
+
readonly description: "The keyboard shortcut that runs the call, under the form.";
|
|
586
|
+
};
|
|
587
|
+
readonly '@theorem.host.no_tools': {
|
|
588
|
+
readonly defaultMessage: "This host has no tools yet";
|
|
589
|
+
readonly description: "A host profile that allows no tools.";
|
|
590
|
+
};
|
|
591
|
+
readonly '@theorem.host.earlier': {
|
|
592
|
+
readonly defaultMessage: "Earlier calls";
|
|
593
|
+
readonly description: "Heading over this page’s previous tool calls.";
|
|
594
|
+
};
|
|
595
|
+
readonly '@theorem.host.kind.function': {
|
|
596
|
+
readonly defaultMessage: "Function";
|
|
597
|
+
readonly description: "A tool that runs a function on the host.";
|
|
598
|
+
};
|
|
599
|
+
readonly '@theorem.host.kind.http': {
|
|
600
|
+
readonly defaultMessage: "HTTP";
|
|
601
|
+
readonly description: "A tool that calls an HTTP endpoint.";
|
|
602
|
+
};
|
|
603
|
+
readonly '@theorem.host.kind.mcp': {
|
|
604
|
+
readonly defaultMessage: "MCP";
|
|
605
|
+
readonly description: "A tool served by an MCP server.";
|
|
606
|
+
};
|
|
607
|
+
readonly '@theorem.host.access.read-only': {
|
|
608
|
+
readonly defaultMessage: "Read-only";
|
|
609
|
+
readonly description: "A tool that only reads.";
|
|
610
|
+
};
|
|
611
|
+
readonly '@theorem.host.access.read-write': {
|
|
612
|
+
readonly defaultMessage: "Read-write";
|
|
613
|
+
readonly description: "A tool that can change things.";
|
|
614
|
+
};
|
|
615
|
+
readonly '@theorem.host.access.destructive': {
|
|
616
|
+
readonly defaultMessage: "Destructive";
|
|
617
|
+
readonly description: "A tool that can delete or overwrite.";
|
|
618
|
+
};
|
|
619
|
+
readonly '@theorem.host.status.running': {
|
|
620
|
+
readonly defaultMessage: "Running";
|
|
621
|
+
readonly description: "A tool call in progress.";
|
|
622
|
+
};
|
|
623
|
+
readonly '@theorem.host.status.gate': {
|
|
624
|
+
readonly defaultMessage: "Waiting";
|
|
625
|
+
readonly description: "A tool call paused on approval or sign-in.";
|
|
626
|
+
};
|
|
627
|
+
readonly '@theorem.host.status.complete': {
|
|
628
|
+
readonly defaultMessage: "Done";
|
|
629
|
+
readonly description: "A tool call that returned.";
|
|
630
|
+
};
|
|
631
|
+
readonly '@theorem.host.status.error': {
|
|
632
|
+
readonly defaultMessage: "Failed";
|
|
633
|
+
readonly description: "A tool call that failed.";
|
|
634
|
+
};
|
|
635
|
+
readonly '@theorem.host.status.cancel': {
|
|
636
|
+
readonly defaultMessage: "Stopped";
|
|
637
|
+
readonly description: "A tool call that was cancelled.";
|
|
638
|
+
};
|
|
639
|
+
readonly '@theorem.panel.trace.name': {
|
|
640
|
+
readonly defaultMessage: "Trace";
|
|
641
|
+
readonly description: "Trace side panel (screen readers).";
|
|
642
|
+
};
|
|
643
|
+
readonly '@theorem.panel.trace.show': {
|
|
644
|
+
readonly defaultMessage: "Show trace";
|
|
645
|
+
readonly description: "Trace panel toggle, closed.";
|
|
646
|
+
};
|
|
647
|
+
readonly '@theorem.panel.trace.hide': {
|
|
648
|
+
readonly defaultMessage: "Hide trace";
|
|
649
|
+
readonly description: "Trace panel toggle, open.";
|
|
650
|
+
};
|
|
651
|
+
readonly '@theorem.panel.trace.resize': {
|
|
652
|
+
readonly defaultMessage: "Resize trace";
|
|
653
|
+
readonly description: "Trace panel drag handle.";
|
|
654
|
+
};
|
|
655
|
+
readonly '@theorem.panel.trace.empty.title': {
|
|
656
|
+
readonly defaultMessage: "No trace yet";
|
|
657
|
+
readonly description: "Empty trace panel.";
|
|
658
|
+
};
|
|
659
|
+
readonly '@theorem.panel.trace.empty.description': {
|
|
660
|
+
readonly defaultMessage: "Spans for each run will show here.";
|
|
661
|
+
readonly description: "Empty trace panel.";
|
|
662
|
+
};
|
|
663
|
+
readonly '@theorem.panel.trace.summary': {
|
|
664
|
+
readonly defaultMessage: "{traces, plural, one {# trace} other {# traces}} · {spans, plural, one {# span} other {# spans}}";
|
|
665
|
+
readonly description: "Trace panel line under the search: how many traces and spans it holds.";
|
|
666
|
+
readonly params: readonly ["traces", "spans"];
|
|
667
|
+
};
|
|
668
|
+
readonly '@theorem.panel.trace.separator': {
|
|
669
|
+
readonly defaultMessage: " · ";
|
|
670
|
+
readonly description: "Between facts on one trace panel line.";
|
|
671
|
+
};
|
|
672
|
+
readonly '@theorem.panel.trace.search': {
|
|
673
|
+
readonly defaultMessage: "Search spans";
|
|
674
|
+
readonly description: "Trace panel search (screen readers).";
|
|
675
|
+
};
|
|
676
|
+
readonly '@theorem.panel.trace.search.placeholder': {
|
|
677
|
+
readonly defaultMessage: "Filter by type, status, model, text…";
|
|
678
|
+
readonly description: "Trace panel search, empty.";
|
|
679
|
+
};
|
|
680
|
+
readonly '@theorem.panel.trace.search.text': {
|
|
681
|
+
readonly defaultMessage: "Any text";
|
|
682
|
+
readonly description: "Search field matching any text a span holds.";
|
|
683
|
+
};
|
|
684
|
+
readonly '@theorem.panel.trace.search.text.description': {
|
|
685
|
+
readonly defaultMessage: "Names, values and stored text.";
|
|
686
|
+
readonly description: "What the any-text search field matches.";
|
|
687
|
+
};
|
|
688
|
+
readonly '@theorem.panel.trace.no_match': {
|
|
689
|
+
readonly defaultMessage: "No spans match";
|
|
690
|
+
readonly description: "Trace panel, when the search matches nothing.";
|
|
691
|
+
};
|
|
692
|
+
readonly '@theorem.panel.trace.back': {
|
|
693
|
+
readonly defaultMessage: "Back";
|
|
694
|
+
readonly description: "Leaves an open span for its turn.";
|
|
695
|
+
};
|
|
696
|
+
readonly '@theorem.panel.trace.show_text': {
|
|
697
|
+
readonly defaultMessage: "Show text";
|
|
698
|
+
readonly description: "Reveals stored text, JSON or messages.";
|
|
699
|
+
};
|
|
700
|
+
readonly '@theorem.panel.trace.hide_text': {
|
|
701
|
+
readonly defaultMessage: "Hide text";
|
|
702
|
+
readonly description: "Hides revealed stored text.";
|
|
703
|
+
};
|
|
704
|
+
readonly '@theorem.panel.trace.other': {
|
|
705
|
+
readonly defaultMessage: "Other";
|
|
706
|
+
readonly description: "Group for attributes the trace catalog does not name.";
|
|
707
|
+
};
|
|
708
|
+
readonly '@theorem.panel.trace.yes': {
|
|
709
|
+
readonly defaultMessage: "Yes";
|
|
710
|
+
readonly description: "A true trace value.";
|
|
711
|
+
};
|
|
712
|
+
readonly '@theorem.panel.trace.no': {
|
|
713
|
+
readonly defaultMessage: "No";
|
|
714
|
+
readonly description: "A false trace value.";
|
|
715
|
+
};
|
|
716
|
+
readonly '@theorem.panel.trace.tokens': {
|
|
717
|
+
readonly defaultMessage: "Tokens";
|
|
718
|
+
readonly description: "Card of token counts.";
|
|
719
|
+
};
|
|
720
|
+
readonly '@theorem.panel.trace.errors': {
|
|
721
|
+
readonly defaultMessage: "Errors";
|
|
722
|
+
readonly description: "Card counting failed spans.";
|
|
723
|
+
};
|
|
724
|
+
readonly '@theorem.panel.trace.at_least': {
|
|
725
|
+
readonly defaultMessage: "At least {value}";
|
|
726
|
+
readonly description: "A total some calls did not report.";
|
|
727
|
+
readonly params: readonly ["value"];
|
|
728
|
+
};
|
|
729
|
+
readonly '@theorem.panel.trace.about': {
|
|
730
|
+
readonly defaultMessage: "About {value}";
|
|
731
|
+
readonly description: "A total with estimated counts.";
|
|
732
|
+
readonly params: readonly ["value"];
|
|
733
|
+
};
|
|
734
|
+
readonly '@theorem.panel.trace.offset': {
|
|
735
|
+
readonly defaultMessage: "+{duration}";
|
|
736
|
+
readonly description: "When an event happened, after its span started.";
|
|
737
|
+
readonly params: readonly ["duration"];
|
|
738
|
+
};
|
|
739
|
+
readonly '@theorem.panel.trace.unit.milliseconds': {
|
|
740
|
+
readonly defaultMessage: "ms";
|
|
741
|
+
readonly description: "Unit of a search field in milliseconds.";
|
|
742
|
+
};
|
|
743
|
+
readonly '@theorem.panel.trace.unit.seconds': {
|
|
744
|
+
readonly defaultMessage: "s";
|
|
745
|
+
readonly description: "Unit of a search field in seconds.";
|
|
746
|
+
};
|
|
747
|
+
readonly '@theorem.panel.trace.unit.usd': {
|
|
748
|
+
readonly defaultMessage: "USD";
|
|
749
|
+
readonly description: "Unit of a search field in US dollars.";
|
|
750
|
+
};
|
|
751
|
+
readonly '@theorem.panel.trace.turn': {
|
|
752
|
+
readonly defaultMessage: "{label} {index} of {count}";
|
|
753
|
+
readonly description: "Which root of the trace is shown: \"Turn 2 of 3\".";
|
|
754
|
+
readonly params: readonly ["label", "index", "count"];
|
|
755
|
+
};
|
|
756
|
+
readonly '@theorem.panel.trace.turns': {
|
|
757
|
+
readonly defaultMessage: "Turns";
|
|
758
|
+
readonly description: "List of every turn of the conversation; a row opens its turn.";
|
|
759
|
+
};
|
|
760
|
+
readonly '@theorem.panel.trace.conversation': {
|
|
761
|
+
readonly defaultMessage: "{count, plural, one {# turn} other {# turns}}";
|
|
762
|
+
readonly description: "Heading of the whole-conversation view: how many turns it holds.";
|
|
763
|
+
readonly params: readonly ["count"];
|
|
764
|
+
};
|
|
765
|
+
readonly '@theorem.panel.trace.conversation.back': {
|
|
766
|
+
readonly defaultMessage: "All turns";
|
|
767
|
+
readonly description: "Leaves a turn for the whole-conversation view.";
|
|
768
|
+
};
|
|
769
|
+
readonly '@theorem.panel.trace.previous': {
|
|
770
|
+
readonly defaultMessage: "Previous turn";
|
|
771
|
+
readonly description: "Opens the turn before this one.";
|
|
772
|
+
};
|
|
773
|
+
readonly '@theorem.panel.trace.next': {
|
|
774
|
+
readonly defaultMessage: "Next turn";
|
|
775
|
+
readonly description: "Opens the turn after this one.";
|
|
776
|
+
};
|
|
777
|
+
readonly '@theorem.panel.trace.calls': {
|
|
778
|
+
readonly defaultMessage: "Tool calls";
|
|
779
|
+
readonly description: "List of every call of a host's trace; a row opens its call.";
|
|
780
|
+
};
|
|
781
|
+
readonly '@theorem.panel.trace.calls.count': {
|
|
782
|
+
readonly defaultMessage: "{count, plural, one {# tool call} other {# tool calls}}";
|
|
783
|
+
readonly description: "Heading of a host's whole-trace view: how many tool calls it holds.";
|
|
784
|
+
readonly params: readonly ["count"];
|
|
785
|
+
};
|
|
786
|
+
readonly '@theorem.panel.trace.calls.back': {
|
|
787
|
+
readonly defaultMessage: "All tool calls";
|
|
788
|
+
readonly description: "Leaves a call for the host's whole-trace view.";
|
|
789
|
+
};
|
|
790
|
+
readonly '@theorem.panel.trace.calls.previous': {
|
|
791
|
+
readonly defaultMessage: "Previous call";
|
|
792
|
+
readonly description: "Opens the tool call before this one.";
|
|
793
|
+
};
|
|
794
|
+
readonly '@theorem.panel.trace.calls.next': {
|
|
795
|
+
readonly defaultMessage: "Next call";
|
|
796
|
+
readonly description: "Opens the tool call after this one.";
|
|
797
|
+
};
|
|
798
|
+
readonly '@theorem.panel.trace.steps': {
|
|
799
|
+
readonly defaultMessage: "Steps";
|
|
800
|
+
readonly description: "Card counting the model and tool calls of a turn.";
|
|
801
|
+
};
|
|
802
|
+
readonly '@theorem.panel.trace.steps.detail': {
|
|
803
|
+
readonly defaultMessage: "{calls, plural, one {# model call} other {# model calls}} · {tools, plural, one {# tool} other {# tools}}";
|
|
804
|
+
readonly description: "Under the steps count: how many were model calls and tool calls.";
|
|
805
|
+
readonly params: readonly ["calls", "tools"];
|
|
806
|
+
};
|
|
807
|
+
readonly '@theorem.panel.trace.failed': {
|
|
808
|
+
readonly defaultMessage: "{count} failed";
|
|
809
|
+
readonly description: "Under the steps count, when some failed.";
|
|
810
|
+
readonly params: readonly ["count"];
|
|
811
|
+
};
|
|
812
|
+
readonly '@theorem.panel.trace.firstText': {
|
|
813
|
+
readonly defaultMessage: "First text";
|
|
814
|
+
readonly description: "Card: how long the person waited before any of the answer appeared.";
|
|
815
|
+
};
|
|
816
|
+
readonly '@theorem.panel.trace.rate': {
|
|
817
|
+
readonly defaultMessage: "{rate} tokens/s";
|
|
818
|
+
readonly description: "Under the first-text time: how fast the model wrote once it started.";
|
|
819
|
+
readonly params: readonly ["rate"];
|
|
820
|
+
};
|
|
821
|
+
readonly '@theorem.panel.trace.held': {
|
|
822
|
+
readonly defaultMessage: "{duration} held back";
|
|
823
|
+
readonly description: "Under the first-text time: how long guardrails held written text back before showing it.";
|
|
824
|
+
readonly params: readonly ["duration"];
|
|
825
|
+
};
|
|
826
|
+
readonly '@theorem.panel.trace.guardrails': {
|
|
827
|
+
readonly defaultMessage: "Guardrails";
|
|
828
|
+
readonly description: "Card: the time guardrail checks took in a turn.";
|
|
829
|
+
};
|
|
830
|
+
readonly '@theorem.panel.trace.guardrails.passed': {
|
|
831
|
+
readonly defaultMessage: "Passed: {checks}";
|
|
832
|
+
readonly description: "Under the guardrail checks that acted: the checks that let the text through, each with what it checked and its time.";
|
|
833
|
+
readonly params: readonly ["checks"];
|
|
834
|
+
};
|
|
835
|
+
readonly '@theorem.panel.trace.guardrails.from': {
|
|
836
|
+
readonly defaultMessage: "from {tool}";
|
|
837
|
+
readonly description: "A guardrail check: the tool the checked text came from.";
|
|
838
|
+
readonly params: readonly ["tool"];
|
|
839
|
+
};
|
|
840
|
+
readonly '@theorem.panel.trace.guardrails.detail': {
|
|
841
|
+
readonly defaultMessage: "{checks, plural, one {# check} other {# checks}} · {flagged, plural, =0 {all passed} other {# acted}}";
|
|
842
|
+
readonly description: "Under the guardrail time: how many checks ran, and how many redacted, flagged or blocked.";
|
|
843
|
+
readonly params: readonly ["checks", "flagged"];
|
|
844
|
+
};
|
|
845
|
+
readonly '@theorem.panel.trace.tokens.detail': {
|
|
846
|
+
readonly defaultMessage: "{input} in · {output} out";
|
|
847
|
+
readonly description: "Under the token total: tokens read and written.";
|
|
848
|
+
readonly params: readonly ["input", "output"];
|
|
849
|
+
};
|
|
850
|
+
readonly '@theorem.panel.trace.time': {
|
|
851
|
+
readonly defaultMessage: "Where the time went";
|
|
852
|
+
readonly description: "Bar splitting a turn into model, tool and other time.";
|
|
853
|
+
};
|
|
854
|
+
readonly '@theorem.panel.trace.time.model': {
|
|
855
|
+
readonly defaultMessage: "Model";
|
|
856
|
+
readonly description: "Time spent waiting on the model.";
|
|
857
|
+
};
|
|
858
|
+
readonly '@theorem.panel.trace.time.tools': {
|
|
859
|
+
readonly defaultMessage: "Tools";
|
|
860
|
+
readonly description: "Time spent running tools.";
|
|
861
|
+
};
|
|
862
|
+
readonly '@theorem.panel.trace.time.guardrails': {
|
|
863
|
+
readonly defaultMessage: "Guardrails";
|
|
864
|
+
readonly description: "Time guardrail checks took: on the input, the stream and the answer.";
|
|
865
|
+
};
|
|
866
|
+
readonly '@theorem.panel.trace.time.hooks': {
|
|
867
|
+
readonly defaultMessage: "Hooks";
|
|
868
|
+
readonly description: "Time the host's turn hooks took.";
|
|
869
|
+
};
|
|
870
|
+
readonly '@theorem.panel.trace.time.other': {
|
|
871
|
+
readonly defaultMessage: "Other";
|
|
872
|
+
readonly description: "Time spent on none of these: waiting between steps, the host, the network.";
|
|
873
|
+
};
|
|
874
|
+
readonly '@theorem.panel.trace.charts.calls': {
|
|
875
|
+
readonly defaultMessage: "Tokens per model call";
|
|
876
|
+
readonly description: "Chart of each model call: its tokens stacked as a bar.";
|
|
877
|
+
};
|
|
878
|
+
readonly '@theorem.panel.trace.charts.cached': {
|
|
879
|
+
readonly defaultMessage: "Cached";
|
|
880
|
+
readonly description: "Legend: input tokens read from cache.";
|
|
881
|
+
};
|
|
882
|
+
readonly '@theorem.panel.trace.charts.input': {
|
|
883
|
+
readonly defaultMessage: "Input";
|
|
884
|
+
readonly description: "Legend: input tokens read fresh.";
|
|
885
|
+
};
|
|
886
|
+
readonly '@theorem.panel.trace.charts.output': {
|
|
887
|
+
readonly defaultMessage: "Output";
|
|
888
|
+
readonly description: "Legend: tokens the model wrote.";
|
|
889
|
+
};
|
|
890
|
+
readonly '@theorem.panel.trace.charts.slowest': {
|
|
891
|
+
readonly defaultMessage: "Slowest steps";
|
|
892
|
+
readonly description: "Chart ranking the steps that took longest.";
|
|
893
|
+
};
|
|
894
|
+
readonly '@theorem.panel.trace.charts.modelShare': {
|
|
895
|
+
readonly defaultMessage: "{share} on the model";
|
|
896
|
+
readonly description: "Beside a chart's total time: the model's share.";
|
|
897
|
+
readonly params: readonly ["share"];
|
|
898
|
+
};
|
|
899
|
+
readonly '@theorem.panel.trace.charts.cachedShare': {
|
|
900
|
+
readonly defaultMessage: "{share} of input cached";
|
|
901
|
+
readonly description: "Beside a chart's total tokens: the input read from cache.";
|
|
902
|
+
readonly params: readonly ["share"];
|
|
903
|
+
};
|
|
904
|
+
readonly '@theorem.panel.trace.charts.turnTime': {
|
|
905
|
+
readonly defaultMessage: "Time per turn";
|
|
906
|
+
readonly description: "Chart of each turn: its model, tool and other time stacked.";
|
|
907
|
+
};
|
|
908
|
+
readonly '@theorem.panel.trace.charts.callTime': {
|
|
909
|
+
readonly defaultMessage: "Time per call";
|
|
910
|
+
readonly description: "Chart of each tool call of a host's trace: its tool, check and hook time stacked.";
|
|
911
|
+
};
|
|
912
|
+
readonly '@theorem.panel.trace.charts.turnTokens': {
|
|
913
|
+
readonly defaultMessage: "Tokens per turn";
|
|
914
|
+
readonly description: "Chart of each turn: its tokens stacked as a bar.";
|
|
915
|
+
};
|
|
916
|
+
readonly '@theorem.panel.trace.charts.turn': {
|
|
917
|
+
readonly defaultMessage: "Turn {index}";
|
|
918
|
+
readonly description: "A turn, by its order in the conversation.";
|
|
919
|
+
readonly params: readonly ["index"];
|
|
920
|
+
};
|
|
921
|
+
readonly '@theorem.panel.trace.charts.hostCall': {
|
|
922
|
+
readonly defaultMessage: "Call {index}";
|
|
923
|
+
readonly description: "A tool call, by its order in a host's trace.";
|
|
924
|
+
readonly params: readonly ["index"];
|
|
925
|
+
};
|
|
926
|
+
readonly '@theorem.panel.trace.charts.call': {
|
|
927
|
+
readonly defaultMessage: "Model call {index}";
|
|
928
|
+
readonly description: "A model call, by its order in the turn.";
|
|
929
|
+
readonly params: readonly ["index"];
|
|
930
|
+
};
|
|
931
|
+
readonly '@theorem.panel.trace.charts.tokens': {
|
|
932
|
+
readonly defaultMessage: "{cached} cached · {fresh} new in · {output} out";
|
|
933
|
+
readonly description: "A model call's tokens: read from cache, read fresh, and written.";
|
|
934
|
+
readonly params: readonly ["cached", "fresh", "output"];
|
|
935
|
+
};
|
|
936
|
+
readonly '@theorem.panel.trace.story': {
|
|
937
|
+
readonly defaultMessage: "What happened";
|
|
938
|
+
readonly description: "The turn told step by step.";
|
|
939
|
+
};
|
|
940
|
+
readonly '@theorem.panel.trace.story.asked': {
|
|
941
|
+
readonly defaultMessage: "User asked";
|
|
942
|
+
readonly description: "The first step: what the user sent.";
|
|
943
|
+
};
|
|
944
|
+
readonly '@theorem.panel.trace.story.requested': {
|
|
945
|
+
readonly defaultMessage: "Asked for {count, plural, one {# tool} other {# tools}}";
|
|
946
|
+
readonly description: "A model call that answered with tool calls.";
|
|
947
|
+
readonly params: readonly ["count"];
|
|
948
|
+
};
|
|
949
|
+
readonly '@theorem.panel.trace.story.wrote': {
|
|
950
|
+
readonly defaultMessage: "Wrote a reply";
|
|
951
|
+
readonly description: "A model call that answered with text.";
|
|
952
|
+
};
|
|
953
|
+
readonly '@theorem.panel.trace.story.answered': {
|
|
954
|
+
readonly defaultMessage: "Answered";
|
|
955
|
+
readonly description: "The last step: the turn ended with this answer.";
|
|
956
|
+
};
|
|
957
|
+
readonly '@theorem.panel.trace.story.failed': {
|
|
958
|
+
readonly defaultMessage: "Ended with an error";
|
|
959
|
+
readonly description: "The last step, when the turn failed.";
|
|
960
|
+
};
|
|
961
|
+
readonly '@theorem.panel.trace.timeline': {
|
|
962
|
+
readonly defaultMessage: "Timeline";
|
|
963
|
+
readonly description: "Every span of the turn on one time axis.";
|
|
964
|
+
};
|
|
965
|
+
readonly '@theorem.panel.trace.timeline.zoom': {
|
|
966
|
+
readonly defaultMessage: "Drag across the strip to zoom";
|
|
967
|
+
readonly description: "Hint beside the activity strip that zooms the timeline.";
|
|
968
|
+
};
|
|
969
|
+
readonly '@theorem.panel.trace.timeline.reset': {
|
|
970
|
+
readonly defaultMessage: "Show the whole turn";
|
|
971
|
+
readonly description: "Zooms the timeline back out to the full turn.";
|
|
972
|
+
};
|
|
973
|
+
readonly '@theorem.panel.trace.input': {
|
|
974
|
+
readonly defaultMessage: "Input";
|
|
975
|
+
readonly description: "What a span was given.";
|
|
976
|
+
};
|
|
977
|
+
readonly '@theorem.panel.trace.output': {
|
|
978
|
+
readonly defaultMessage: "Output";
|
|
979
|
+
readonly description: "What a span gave back.";
|
|
980
|
+
};
|
|
981
|
+
readonly '@theorem.panel.trace.details': {
|
|
982
|
+
readonly defaultMessage: "All details";
|
|
983
|
+
readonly description: "A span's every attribute, event and link.";
|
|
984
|
+
};
|
|
985
|
+
readonly '@theorem.panel.trace.close': {
|
|
986
|
+
readonly defaultMessage: "Close";
|
|
987
|
+
readonly description: "Closes the open span.";
|
|
988
|
+
};
|
|
989
|
+
readonly '@theorem.panel.captions.name': {
|
|
990
|
+
readonly defaultMessage: "Captions";
|
|
991
|
+
readonly description: "Captions side panel (screen readers).";
|
|
992
|
+
};
|
|
993
|
+
readonly '@theorem.panel.captions.show': {
|
|
994
|
+
readonly defaultMessage: "Show captions";
|
|
995
|
+
readonly description: "Captions panel toggle, closed.";
|
|
996
|
+
};
|
|
997
|
+
readonly '@theorem.panel.captions.hide': {
|
|
998
|
+
readonly defaultMessage: "Hide captions";
|
|
999
|
+
readonly description: "Captions panel toggle, open.";
|
|
1000
|
+
};
|
|
1001
|
+
readonly '@theorem.panel.captions.resize': {
|
|
1002
|
+
readonly defaultMessage: "Resize captions";
|
|
1003
|
+
readonly description: "Captions panel drag handle.";
|
|
1004
|
+
};
|
|
1005
|
+
readonly '@theorem.panel.captions.empty.title': {
|
|
1006
|
+
readonly defaultMessage: "No captions yet";
|
|
1007
|
+
readonly description: "Empty captions panel.";
|
|
1008
|
+
};
|
|
1009
|
+
readonly '@theorem.panel.captions.empty.description': {
|
|
1010
|
+
readonly defaultMessage: "What you and the agent say will show here.";
|
|
1011
|
+
readonly description: "Empty captions panel.";
|
|
1012
|
+
};
|
|
1013
|
+
readonly '@theorem.live.greeting': {
|
|
1014
|
+
readonly defaultMessage: "Ready when you are.";
|
|
1015
|
+
readonly description: "Live landing heading, before a call.";
|
|
1016
|
+
};
|
|
1017
|
+
readonly '@theorem.live.start_voice_call': {
|
|
1018
|
+
readonly defaultMessage: "Start voice call";
|
|
1019
|
+
readonly description: "Live landing, voice profiles.";
|
|
1020
|
+
};
|
|
1021
|
+
readonly '@theorem.live.start_call': {
|
|
1022
|
+
readonly defaultMessage: "Start call";
|
|
1023
|
+
readonly description: "Starts or restarts a call.";
|
|
1024
|
+
};
|
|
1025
|
+
readonly '@theorem.live.start_video_call': {
|
|
1026
|
+
readonly defaultMessage: "Start video call";
|
|
1027
|
+
readonly description: "Live landing, video profiles.";
|
|
1028
|
+
};
|
|
1029
|
+
readonly '@theorem.live.microphone': {
|
|
1030
|
+
readonly defaultMessage: "Microphone";
|
|
1031
|
+
readonly description: "Mic toggle.";
|
|
1032
|
+
};
|
|
1033
|
+
readonly '@theorem.live.mute': {
|
|
1034
|
+
readonly defaultMessage: "Mute";
|
|
1035
|
+
readonly description: "Mic toggle tooltip, unmuted.";
|
|
1036
|
+
};
|
|
1037
|
+
readonly '@theorem.live.unmute': {
|
|
1038
|
+
readonly defaultMessage: "Unmute";
|
|
1039
|
+
readonly description: "Mic toggle tooltip, muted.";
|
|
1040
|
+
};
|
|
1041
|
+
readonly '@theorem.live.camera': {
|
|
1042
|
+
readonly defaultMessage: "Camera";
|
|
1043
|
+
readonly description: "Camera toggle.";
|
|
1044
|
+
};
|
|
1045
|
+
readonly '@theorem.live.camera_on': {
|
|
1046
|
+
readonly defaultMessage: "Turn camera on";
|
|
1047
|
+
readonly description: "Camera toggle tooltip, off.";
|
|
1048
|
+
};
|
|
1049
|
+
readonly '@theorem.live.camera_off': {
|
|
1050
|
+
readonly defaultMessage: "Turn camera off";
|
|
1051
|
+
readonly description: "Camera toggle tooltip, on.";
|
|
1052
|
+
};
|
|
1053
|
+
readonly '@theorem.live.flip_camera': {
|
|
1054
|
+
readonly defaultMessage: "Flip camera";
|
|
1055
|
+
readonly description: "Switches front and back camera.";
|
|
1056
|
+
};
|
|
1057
|
+
readonly '@theorem.live.end_call': {
|
|
1058
|
+
readonly defaultMessage: "End call";
|
|
1059
|
+
readonly description: "Hangs up.";
|
|
1060
|
+
};
|
|
1061
|
+
readonly '@theorem.live.controls': {
|
|
1062
|
+
readonly defaultMessage: "Call controls";
|
|
1063
|
+
readonly description: "The control toolbar (screen readers).";
|
|
1064
|
+
};
|
|
1065
|
+
readonly '@theorem.live.new_session': {
|
|
1066
|
+
readonly defaultMessage: "New session";
|
|
1067
|
+
readonly description: "Captions divider between calls.";
|
|
1068
|
+
};
|
|
1069
|
+
readonly '@theorem.live.camera_preview': {
|
|
1070
|
+
readonly defaultMessage: "Camera preview";
|
|
1071
|
+
readonly description: "Self-view (screen readers).";
|
|
1072
|
+
};
|
|
1073
|
+
readonly '@theorem.live.state.calling_tool': {
|
|
1074
|
+
readonly defaultMessage: "calling {tool}";
|
|
1075
|
+
readonly description: "Call status: a tool runs.";
|
|
1076
|
+
readonly params: readonly ["tool"];
|
|
1077
|
+
};
|
|
1078
|
+
readonly '@theorem.live.state.connecting': {
|
|
1079
|
+
readonly defaultMessage: "connecting";
|
|
1080
|
+
readonly description: "Call status.";
|
|
1081
|
+
};
|
|
1082
|
+
readonly '@theorem.live.state.requesting_mic': {
|
|
1083
|
+
readonly defaultMessage: "requesting mic";
|
|
1084
|
+
readonly description: "Call status.";
|
|
1085
|
+
};
|
|
1086
|
+
readonly '@theorem.live.state.speaking': {
|
|
1087
|
+
readonly defaultMessage: "speaking";
|
|
1088
|
+
readonly description: "Call status: the agent speaks.";
|
|
1089
|
+
};
|
|
1090
|
+
readonly '@theorem.live.state.connected': {
|
|
1091
|
+
readonly defaultMessage: "connected";
|
|
1092
|
+
readonly description: "Call status.";
|
|
1093
|
+
};
|
|
1094
|
+
readonly '@theorem.live.state.muted': {
|
|
1095
|
+
readonly defaultMessage: "muted";
|
|
1096
|
+
readonly description: "Call status.";
|
|
1097
|
+
};
|
|
1098
|
+
readonly '@theorem.live.state.listening': {
|
|
1099
|
+
readonly defaultMessage: "listening";
|
|
1100
|
+
readonly description: "Call status.";
|
|
1101
|
+
};
|
|
1102
|
+
readonly '@theorem.live.state.error': {
|
|
1103
|
+
readonly defaultMessage: "error";
|
|
1104
|
+
readonly description: "Call status.";
|
|
1105
|
+
};
|
|
1106
|
+
readonly '@theorem.live.state.ended': {
|
|
1107
|
+
readonly defaultMessage: "ended";
|
|
1108
|
+
readonly description: "Call status.";
|
|
1109
|
+
};
|
|
1110
|
+
};
|
|
1111
|
+
/** The default UI's catalog: each line's default message, description and values. */
|
|
1112
|
+
export type TheoremUiCatalog = typeof THEOREM_UI_CATALOG;
|
|
1113
|
+
/** Every line the default UI writes. */
|
|
1114
|
+
export type TheoremLabelKey = keyof TheoremUiCatalog;
|
|
1115
|
+
/** The values a label's message is formatted with; none for a plain line. */
|
|
1116
|
+
export type TheoremLabelValues<K extends TheoremLabelKey> = TheoremUiCatalog[K] extends {
|
|
1117
|
+
params: readonly (infer P extends string)[];
|
|
1118
|
+
} ? Record<P, string | number> : undefined;
|
|
1119
|
+
/** Words a label; the default UI gets one from Astryx's `useTranslator`. */
|
|
1120
|
+
export type LabelText = <K extends TheoremLabelKey>(key: K, values?: TheoremLabelValues<K>) => string;
|
|
1121
|
+
/**
|
|
1122
|
+
* One locale's replacements: any `@theorem.*` line, and any of Astryx's own
|
|
1123
|
+
* (`@astryx.*`, see `@astryxdesign/core/locales/en.json`).
|
|
1124
|
+
*/
|
|
1125
|
+
export type TheoremLabelOverrides = {
|
|
1126
|
+
readonly [K in TheoremLabelKey]?: string;
|
|
1127
|
+
} & {
|
|
1128
|
+
readonly [key: `@astryx.${string}`]: string;
|
|
1129
|
+
};
|
|
1130
|
+
/** Replacements by locale (`en`, `en-GB`, `de`, …), as Astryx's `overrides`. */
|
|
1131
|
+
export type TheoremLabels = {
|
|
1132
|
+
readonly [locale: string]: TheoremLabelOverrides | undefined;
|
|
1133
|
+
};
|
|
1134
|
+
/** A single kind is just its word ("queued"); a mix spells out each count ("2 queued · 1 attached"). */
|
|
1135
|
+
export declare function composerDrawerLabel(t: LabelText, summary: ComposerDrawerSummary): string;
|
|
1136
|
+
/** Wall-clock duration, matching Seance's builder-trace formatter: "<0.1ms", "0.4ms", "850ms", "3.2s", "12s", "1m 5s". */
|
|
1137
|
+
export declare function workDuration(t: LabelText, durationMs: number): string;
|
|
1138
|
+
/** "Working for 12s" while streaming (when the start is known), "Worked for 3.2s" after. */
|
|
1139
|
+
export declare function workStatusLabel(t: LabelText, status: WorkStatus | null): string;
|
|
1140
|
+
/** A live call's status line; `calling_tool` names the tool. */
|
|
1141
|
+
export declare function liveStateLabel(t: LabelText, state: LiveState, toolName: string | null): string;
|
|
1142
|
+
/** A voice note's name from its audio format; the unnamed line when the format is unknown. */
|
|
1143
|
+
export declare function voiceNoteName(t: LabelText, format: string | undefined): string;
|
|
1144
|
+
/**
|
|
1145
|
+
* Checks a label table before it renders: every `@theorem.*` key must exist
|
|
1146
|
+
* and its message must format with that key's values only; with `strict`
|
|
1147
|
+
* (the `labels` prop), every other key must be an `@astryx.*` line whose
|
|
1148
|
+
* message parses. A host's own Astryx overrides are checked for `@theorem.*`
|
|
1149
|
+
* keys only, since the rest may be the host app's own strings. Throws, naming
|
|
1150
|
+
* the locale and key, so a typo fails at mount instead of showing a raw key or
|
|
1151
|
+
* crashing mid-render.
|
|
1152
|
+
*/
|
|
1153
|
+
export declare function assertLabelOverrides(labels: TheoremLabels, strict: boolean): void;
|