@opengeni/react 1.4.4 → 1.4.5-canary.37485542607001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -6
- package/dist/artifacts.d.ts +1 -0
- package/dist/artifacts.js +22 -15
- package/dist/artifacts.js.map +1 -1
- package/dist/{browser-viewer-5EEAS3IU.js → browser-viewer-CV23VIHB.js} +8 -6
- package/dist/{chunk-XS67YG5R.js → chunk-4O7OE7ON.js} +45 -4
- package/dist/chunk-4O7OE7ON.js.map +1 -0
- package/dist/{chunk-JHTIMBOL.js → chunk-5JSUNNQN.js} +26 -4
- package/dist/{chunk-JHTIMBOL.js.map → chunk-5JSUNNQN.js.map} +1 -1
- package/dist/{chunk-QMMCJGFI.js → chunk-6BAMPGBV.js} +6 -3
- package/dist/chunk-6BAMPGBV.js.map +1 -0
- package/dist/{chunk-I6OY3MWC.js → chunk-6FOTSVWU.js} +2 -2
- package/dist/{chunk-LVS3MH5T.js → chunk-ATIRUHBZ.js} +128 -10
- package/dist/chunk-ATIRUHBZ.js.map +1 -0
- package/dist/chunk-BOFEQC6K.js +162 -0
- package/dist/chunk-BOFEQC6K.js.map +1 -0
- package/dist/{chunk-2OQA3CPB.js → chunk-CESBPQP5.js} +19 -5
- package/dist/chunk-CESBPQP5.js.map +1 -0
- package/dist/{chunk-YVFRBXST.js → chunk-GMNGUPMX.js} +2 -2
- package/dist/{chunk-PHBFJCEU.js → chunk-I5EGRXXG.js} +110 -7
- package/dist/chunk-I5EGRXXG.js.map +1 -0
- package/dist/{chunk-PBCZL4JP.js → chunk-INIZSNXT.js} +2 -2
- package/dist/chunk-IZV5FTJC.js +55 -0
- package/dist/chunk-IZV5FTJC.js.map +1 -0
- package/dist/chunk-JDJJMBB3.js +1883 -0
- package/dist/chunk-JDJJMBB3.js.map +1 -0
- package/dist/chunk-LHF6BVM4.js +83 -0
- package/dist/chunk-LHF6BVM4.js.map +1 -0
- package/dist/{chunk-C5BF4L26.js → chunk-LSMWZSCJ.js} +7 -7
- package/dist/chunk-LTKGTXUQ.js +174 -0
- package/dist/chunk-LTKGTXUQ.js.map +1 -0
- package/dist/chunk-N7S72EXK.js +25 -0
- package/dist/chunk-N7S72EXK.js.map +1 -0
- package/dist/{chunk-CVYCLFMH.js → chunk-PEHTX3V7.js} +19 -1
- package/dist/chunk-PEHTX3V7.js.map +1 -0
- package/dist/chunk-R5R5RQQD.js +51 -0
- package/dist/chunk-R5R5RQQD.js.map +1 -0
- package/dist/{chunk-IYQCWGU5.js → chunk-RGTZ2VDR.js} +35 -62
- package/dist/chunk-RGTZ2VDR.js.map +1 -0
- package/dist/chunk-RI42H5IU.js +326 -0
- package/dist/chunk-RI42H5IU.js.map +1 -0
- package/dist/{chunk-EAOSEIXB.js → chunk-RRRS5D5T.js} +727 -1983
- package/dist/chunk-RRRS5D5T.js.map +1 -0
- package/dist/{chunk-JH7V627O.js → chunk-SHLZMAJN.js} +2 -11
- package/dist/chunk-SHLZMAJN.js.map +1 -0
- package/dist/{chunk-IUHHPMAX.js → chunk-SZOCY5VG.js} +18 -87
- package/dist/chunk-SZOCY5VG.js.map +1 -0
- package/dist/{chunk-L2J3PU7A.js → chunk-VYIPNDUZ.js} +29 -100
- package/dist/chunk-VYIPNDUZ.js.map +1 -0
- package/dist/{chunk-G6YRCIYJ.js → chunk-YK6QMGVL.js} +55 -60
- package/dist/chunk-YK6QMGVL.js.map +1 -0
- package/dist/chunk-ZIB4H5LN.js +101 -0
- package/dist/chunk-ZIB4H5LN.js.map +1 -0
- package/dist/client.d.ts +9 -3
- package/dist/clipboard.js +1 -1
- package/dist/components/browser-viewer.d.ts +6 -0
- package/dist/components/composer.d.ts +3 -69
- package/dist/components/human-input-form.d.ts +3 -32
- package/dist/components/markdown.d.ts +8 -0
- package/dist/components/model-policy-picker.d.ts +4 -37
- package/dist/components/opper-mark.d.ts +7 -0
- package/dist/components/provider-recovery-notice.d.ts +15 -0
- package/dist/components/remark-soft-line-breaks.d.ts +38 -0
- package/dist/components/sandbox-workspace.d.ts +13 -0
- package/dist/components/session-chrome.d.ts +5 -3
- package/dist/components/session-conversation.d.ts +15 -3
- package/dist/composer-messages.d.ts +74 -0
- package/dist/composer-messages.js +9 -0
- package/dist/composer.js +15 -10
- package/dist/{computer-viewer-ELNLZGHI.js → computer-viewer-K4CKYRX6.js} +4 -4
- package/dist/connect-setup.d.ts +2 -0
- package/dist/connect.d.ts +1 -1
- package/dist/connect.js +21 -6
- package/dist/connect.js.map +1 -1
- package/dist/{embedded-voice-NIL4RDX3.js → embedded-voice-K7SOZVVZ.js} +6 -4
- package/dist/{embedded-voice-NIL4RDX3.js.map → embedded-voice-K7SOZVVZ.js.map} +1 -1
- package/dist/hooks/shared-machines-list.d.ts +4 -0
- package/dist/hooks/use-client-config-flags.d.ts +6 -0
- package/dist/hooks/use-goal.d.ts +2 -1
- package/dist/hooks/use-new-session-draft.d.ts +74 -0
- package/dist/human-input-model.d.ts +40 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +116 -73
- package/dist/index.js.map +1 -1
- package/dist/interaction.js +5 -5
- package/dist/{latest-question-2POFPYNB.js → latest-question-27HGRPVF.js} +3 -3
- package/dist/lib/clipboard.d.ts +7 -0
- package/dist/lib/provider-recovery.d.ts +49 -0
- package/dist/lib/transient-retry.d.ts +25 -0
- package/dist/machines.js +2 -2
- package/dist/model-mark-paths.d.ts +34 -0
- package/dist/model-mark-paths.js +16 -0
- package/dist/model-picker-model.d.ts +111 -0
- package/dist/model-picker-model.js +25 -0
- package/dist/model-picker-model.js.map +1 -0
- package/dist/{model-policy-picker-menu-WRNSRFQC.js → model-policy-picker-menu-I5KPC3D6.js} +6 -4
- package/dist/model-policy-picker-menu-I5KPC3D6.js.map +1 -0
- package/dist/model-policy.d.ts +10 -0
- package/dist/model-policy.js +5 -1
- package/dist/new-session-draft.d.ts +7 -0
- package/dist/new-session-draft.js +639 -0
- package/dist/new-session-draft.js.map +1 -0
- package/dist/organization-model.d.ts +32 -0
- package/dist/organization-model.js +65 -0
- package/dist/organization-model.js.map +1 -0
- package/dist/{platform-activity-row-PJJVATTZ.js → platform-activity-row-NJ47YBXW.js} +7 -84
- package/dist/platform-activity-row-NJ47YBXW.js.map +1 -0
- package/dist/queue-presentation-model.d.ts +72 -0
- package/dist/queue-presentation-model.js +38 -0
- package/dist/queue-presentation-model.js.map +1 -0
- package/dist/{queue-surface-implementation-67FS7FUI.js → queue-surface-implementation-YPJFQ3O6.js} +24 -252
- package/dist/queue-surface-implementation-YPJFQ3O6.js.map +1 -0
- package/dist/realtime.js +5 -3
- package/dist/{sandbox-files-34CJJNOY.js → sandbox-files-2DGDO6NI.js} +5 -5
- package/dist/sandbox-files-2DGDO6NI.js.map +1 -0
- package/dist/sandbox-label-model.d.ts +23 -0
- package/dist/sandbox-label-model.js +28 -0
- package/dist/sandbox-label-model.js.map +1 -0
- package/dist/session-agents-model.d.ts +10 -0
- package/dist/session-agents-model.js +25 -0
- package/dist/session-agents-model.js.map +1 -0
- package/dist/session-attention-model.d.ts +8 -0
- package/dist/session-attention-model.js +46 -0
- package/dist/session-attention-model.js.map +1 -0
- package/dist/session-feedback-model.d.ts +20 -0
- package/dist/session-feedback-model.js +56 -0
- package/dist/session-feedback-model.js.map +1 -0
- package/dist/session-list-model.d.ts +119 -0
- package/dist/session-list-model.js +244 -0
- package/dist/session-list-model.js.map +1 -0
- package/dist/session-status-model.d.ts +19 -0
- package/dist/session-ui.js +26 -17
- package/dist/session-ui.js.map +1 -1
- package/dist/session.js +8 -6
- package/dist/testing/session-scenarios.d.ts +10 -0
- package/dist/testing/session-scenarios.js +303 -0
- package/dist/testing/session-scenarios.js.map +1 -0
- package/dist/timeline/genie-copy.d.ts +3 -0
- package/dist/timeline/genie-loading.d.ts +11 -0
- package/dist/timeline/index.d.ts +1 -1
- package/dist/timeline/notice-presentation.d.ts +7 -0
- package/dist/timeline/patch-apply-command.d.ts +18 -0
- package/dist/timeline/platform-activity-presentation.d.ts +7 -0
- package/dist/timeline/presented-image.d.ts +6 -1
- package/dist/timeline/question-nav-model.d.ts +23 -0
- package/dist/timeline/registry.d.ts +10 -1
- package/dist/timeline/retained-loaders.d.ts +1 -1
- package/dist/timeline/tool-presentation.d.ts +172 -0
- package/dist/timeline/turn-summary-model.d.ts +90 -0
- package/dist/timeline/turn-summary.d.ts +4 -74
- package/dist/timeline/work-presentation.d.ts +42 -0
- package/dist/timeline-model.d.ts +24 -0
- package/dist/timeline-model.js +152 -0
- package/dist/timeline-model.js.map +1 -0
- package/package.json +55 -3
- package/src/artifacts.ts +1 -0
- package/src/client.ts +9 -3
- package/src/components/browser-viewer.tsx +23 -2
- package/src/components/claude-mark.tsx +2 -1
- package/src/components/composer.tsx +8 -146
- package/src/components/grok-mark.tsx +2 -1
- package/src/components/human-input-form.tsx +13 -124
- package/src/components/markdown.tsx +19 -1
- package/src/components/message-timeline.tsx +45 -99
- package/src/components/model-mark.tsx +2 -1
- package/src/components/model-policy-picker-menu.tsx +30 -85
- package/src/components/model-policy-picker.tsx +20 -150
- package/src/components/opper-mark.tsx +18 -0
- package/src/components/provider-recovery-notice.tsx +41 -0
- package/src/components/queue-surface-implementation.tsx +20 -349
- package/src/components/remark-soft-line-breaks.ts +166 -0
- package/src/components/sandbox-workspace.tsx +17 -1
- package/src/components/session-chrome.tsx +114 -99
- package/src/components/session-conversation.tsx +55 -6
- package/src/components/session-status.tsx +17 -16
- package/src/composer-messages.ts +150 -0
- package/src/connect-setup.tsx +45 -11
- package/src/connect.ts +1 -1
- package/src/hooks/shared-machines-list.ts +34 -1
- package/src/hooks/use-client-config-flags.ts +8 -0
- package/src/hooks/use-goal.ts +66 -10
- package/src/hooks/use-new-session-draft.ts +813 -0
- package/src/human-input-model.ts +147 -0
- package/src/index.ts +16 -0
- package/src/lib/clipboard.ts +29 -0
- package/src/lib/format.ts +7 -0
- package/src/lib/provider-recovery.ts +202 -0
- package/src/lib/transient-retry.ts +99 -0
- package/src/model-mark-paths.ts +53 -0
- package/src/model-picker-model.ts +330 -0
- package/src/model-policy.ts +75 -5
- package/src/new-session-draft.ts +22 -0
- package/src/organization-model.ts +118 -0
- package/src/queue-presentation-model.ts +464 -0
- package/src/sandbox-label-model.ts +41 -0
- package/src/session-agents-model.ts +33 -0
- package/src/session-attention-model.ts +59 -0
- package/src/session-feedback-model.ts +95 -0
- package/src/session-list-model.ts +377 -0
- package/src/session-status-model.ts +62 -0
- package/src/testing/session-scenarios.ts +326 -0
- package/src/timeline/activity-rail.tsx +54 -24
- package/src/timeline/genie-copy.ts +19 -0
- package/src/timeline/genie-loading.tsx +15 -19
- package/src/timeline/index.ts +1 -0
- package/src/timeline/notice-presentation.ts +22 -0
- package/src/timeline/patch-apply-command.tsx +135 -0
- package/src/timeline/platform-activity-presentation.ts +122 -0
- package/src/timeline/platform-activity-row.tsx +6 -96
- package/src/timeline/presented-image.ts +16 -2
- package/src/timeline/projection.ts +12 -1
- package/src/timeline/question-nav-model.ts +28 -0
- package/src/timeline/registry.ts +11 -1
- package/src/timeline/retained-loaders.ts +9 -4
- package/src/timeline/rolling-activity.tsx +7 -19
- package/src/timeline/tool-presentation.ts +1316 -0
- package/src/timeline/tool-renderers.tsx +254 -1024
- package/src/timeline/turn-summary-model.ts +338 -0
- package/src/timeline/turn-summary.tsx +21 -326
- package/src/timeline/work-presentation.ts +139 -0
- package/src/timeline-model.ts +108 -0
- package/styles/compiled.css +17 -4
- package/styles/connect.css +4 -0
- package/styles/responsive.css +11 -2
- package/dist/chunk-2OQA3CPB.js.map +0 -1
- package/dist/chunk-CVYCLFMH.js.map +0 -1
- package/dist/chunk-EAOSEIXB.js.map +0 -1
- package/dist/chunk-G6YRCIYJ.js.map +0 -1
- package/dist/chunk-HXYOSSQO.js +0 -117
- package/dist/chunk-HXYOSSQO.js.map +0 -1
- package/dist/chunk-IUHHPMAX.js.map +0 -1
- package/dist/chunk-IYQCWGU5.js.map +0 -1
- package/dist/chunk-JH7V627O.js.map +0 -1
- package/dist/chunk-L2J3PU7A.js.map +0 -1
- package/dist/chunk-LVS3MH5T.js.map +0 -1
- package/dist/chunk-PHBFJCEU.js.map +0 -1
- package/dist/chunk-QMMCJGFI.js.map +0 -1
- package/dist/chunk-XS67YG5R.js.map +0 -1
- package/dist/platform-activity-row-PJJVATTZ.js.map +0 -1
- package/dist/queue-surface-implementation-67FS7FUI.js.map +0 -1
- /package/dist/{browser-viewer-5EEAS3IU.js.map → browser-viewer-CV23VIHB.js.map} +0 -0
- /package/dist/{chunk-I6OY3MWC.js.map → chunk-6FOTSVWU.js.map} +0 -0
- /package/dist/{chunk-YVFRBXST.js.map → chunk-GMNGUPMX.js.map} +0 -0
- /package/dist/{chunk-PBCZL4JP.js.map → chunk-INIZSNXT.js.map} +0 -0
- /package/dist/{chunk-C5BF4L26.js.map → chunk-LSMWZSCJ.js.map} +0 -0
- /package/dist/{computer-viewer-ELNLZGHI.js.map → composer-messages.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-WRNSRFQC.js.map → computer-viewer-K4CKYRX6.js.map} +0 -0
- /package/dist/{latest-question-2POFPYNB.js.map → latest-question-27HGRPVF.js.map} +0 -0
- /package/dist/{sandbox-files-34CJJNOY.js.map → model-mark-paths.js.map} +0 -0
package/dist/interaction.js
CHANGED
|
@@ -8,22 +8,23 @@ import {
|
|
|
8
8
|
useBrowserSession,
|
|
9
9
|
useBrowserSessions,
|
|
10
10
|
useSiteAuthConnections
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CESBPQP5.js";
|
|
12
12
|
import {
|
|
13
13
|
ComputerViewer,
|
|
14
14
|
useComputerFrameStream,
|
|
15
15
|
useComputerSession,
|
|
16
16
|
useComputerSessions
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6FOTSVWU.js";
|
|
18
18
|
import {
|
|
19
19
|
useInteractionInterventions,
|
|
20
20
|
useInteractionInvalidation
|
|
21
21
|
} from "./chunk-BNKV5ZLF.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-PEHTX3V7.js";
|
|
23
23
|
import "./chunk-IMSUVYQB.js";
|
|
24
24
|
import "./chunk-ZUWF4NF7.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-ATIRUHBZ.js";
|
|
26
26
|
import "./chunk-TNEZNMSN.js";
|
|
27
|
+
import "./chunk-5I4VRWBB.js";
|
|
27
28
|
import "./chunk-QHUE7E4N.js";
|
|
28
29
|
import "./chunk-CM7LVUKC.js";
|
|
29
30
|
import {
|
|
@@ -32,7 +33,6 @@ import {
|
|
|
32
33
|
useEmbeddedInteraction,
|
|
33
34
|
useEmbeddedInterventions
|
|
34
35
|
} from "./chunk-XTD7TZHW.js";
|
|
35
|
-
import "./chunk-5I4VRWBB.js";
|
|
36
36
|
import "./chunk-TXS65BB2.js";
|
|
37
37
|
|
|
38
38
|
// src/hooks/use-network-routes.ts
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
isTimelineUserQuestion,
|
|
4
4
|
isTurnExecutionEvidence,
|
|
5
5
|
timelineQuestionPlacement
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6BAMPGBV.js";
|
|
7
7
|
import "./chunk-T46QZH3E.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-ATIRUHBZ.js";
|
|
9
9
|
|
|
10
10
|
// src/hooks/latest-question.ts
|
|
11
11
|
import { SESSION_EVENT_TYPES } from "@opengeni/sdk";
|
|
@@ -115,4 +115,4 @@ export {
|
|
|
115
115
|
TIMELINE_TURN_ANCHOR_EVENT_TYPES,
|
|
116
116
|
resolveLatestQuestion
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=latest-question-
|
|
118
|
+
//# sourceMappingURL=latest-question-27HGRPVF.js.map
|
package/dist/lib/clipboard.d.ts
CHANGED
|
@@ -3,5 +3,12 @@
|
|
|
3
3
|
* back to a short-lived textarea for older embeds / denied permissions.
|
|
4
4
|
*/
|
|
5
5
|
export declare function copyTextToClipboard(text: string): Promise<boolean>;
|
|
6
|
+
/**
|
|
7
|
+
* Copy text that is still being prepared, such as a command around a freshly
|
|
8
|
+
* minted URL. Safari only allows a clipboard write during the click itself, so
|
|
9
|
+
* hand the pending text to a `ClipboardItem` where supported; otherwise wait
|
|
10
|
+
* for it and copy. Resolves false when the text failed or nothing was copied.
|
|
11
|
+
*/
|
|
12
|
+
export declare function copyPendingTextToClipboard(text: Promise<string>): Promise<boolean>;
|
|
6
13
|
/** Serialize an HTML table to tab-separated values (spreadsheet-friendly). */
|
|
7
14
|
export declare function tableElementToTsv(table: HTMLTableElement | null | undefined): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { SessionEvent, SessionStatus } from "@opengeni/sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Finite same-turn provider recovery, projected for people. Presentation only:
|
|
4
|
+
* the worker owns retry authority, pacing and the recovery budget. The worker
|
|
5
|
+
* (`apps/worker/src/activities/agent-turn/provider-recovery-copy.ts`) writes
|
|
6
|
+
* the same exhausted sentence into `turn.failed.error`; keep the two in step.
|
|
7
|
+
*/
|
|
8
|
+
export type ProviderRecoveryCondition = "overloaded" | "unavailable" | "unresponsive" | "rate_limited";
|
|
9
|
+
export type ProviderRecoveryFacts = {
|
|
10
|
+
/** Recorded worker failure code (`provider_unavailable`, `mcp_transport_timeout`, ...). */
|
|
11
|
+
code: string;
|
|
12
|
+
condition: ProviderRecoveryCondition | null;
|
|
13
|
+
/** Display label of the affected model, when the route was recorded. */
|
|
14
|
+
modelLabel: string | null;
|
|
15
|
+
/** Display label of the serving provider, when the route was recorded. */
|
|
16
|
+
providerLabel: string | null;
|
|
17
|
+
/** Automatic retries scheduled (live) or spent (exhausted). */
|
|
18
|
+
attempt: number | null;
|
|
19
|
+
/** Finite automatic retry budget. */
|
|
20
|
+
maxAttempts: number | null;
|
|
21
|
+
/** True when the model route itself is affected, so another model may help. */
|
|
22
|
+
modelRoute: boolean;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Read a retryable `turn.recovery.requested` payload or an exhausted
|
|
26
|
+
* `turn.failed` payload. Returns null for every other recovery reason (human
|
|
27
|
+
* Retry, worker shutdown, credential rotation, capacity waits, ...).
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseProviderRecovery(payload: unknown): ProviderRecoveryFacts | null;
|
|
30
|
+
/** One present-tense clause naming what is unavailable, without a trailing period. */
|
|
31
|
+
export declare function providerRecoverySubject(facts: ProviderRecoveryFacts): string;
|
|
32
|
+
/** Live status while the same turn waits for its next automatic retry. */
|
|
33
|
+
export declare function providerRecoveryRetryingText(facts: ProviderRecoveryFacts): string;
|
|
34
|
+
/** Terminal sentence once the automatic budget is spent. */
|
|
35
|
+
export declare function providerRecoveryExhaustedText(facts: ProviderRecoveryFacts): string;
|
|
36
|
+
/**
|
|
37
|
+
* The active turn's current automatic provider retry, or null. Only a
|
|
38
|
+
* `recovering`, unpaused session qualifies, and only the newest boundary of its
|
|
39
|
+
* exact active turn counts, so merged or replayed pages never borrow another
|
|
40
|
+
* turn's diagnosis.
|
|
41
|
+
*/
|
|
42
|
+
export declare function currentProviderRecovery(session: {
|
|
43
|
+
id: string;
|
|
44
|
+
status: SessionStatus | null | undefined;
|
|
45
|
+
activeTurnId: string | null | undefined;
|
|
46
|
+
effectiveControl?: {
|
|
47
|
+
state: string;
|
|
48
|
+
} | null | undefined;
|
|
49
|
+
}, events: readonly SessionEvent[]): ProviderRecoveryFacts | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Backoff between attempts: about ten seconds in all before anything is shown. */
|
|
2
|
+
export declare const TRANSIENT_RETRY_DELAYS_MS: readonly number[];
|
|
3
|
+
/** After the quiet retries give up, try once at this pace until Opengeni answers. */
|
|
4
|
+
export declare const TRANSIENT_RECONNECT_INTERVAL_MS = 3000;
|
|
5
|
+
/** The one line shown while Opengeni is briefly unreachable. */
|
|
6
|
+
export declare const OPENGENI_UPDATING_NOTICE = "Opengeni is updating. We'll reconnect automatically.";
|
|
7
|
+
/**
|
|
8
|
+
* True for a failure that says the service is briefly unreachable, not that
|
|
9
|
+
* the request was wrong: a gateway or availability status, a 500 the API marks
|
|
10
|
+
* retryable, or a request that never got a response.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isTransientServiceFailure(error: unknown): boolean;
|
|
13
|
+
export type RetryTransientOptions = {
|
|
14
|
+
/** Stop waiting (and rethrow the last failure) once this returns false. */
|
|
15
|
+
shouldContinue?: () => boolean;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
delaysMs?: readonly number[];
|
|
18
|
+
sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Run a read, retrying only transient service failures with backoff. Never use
|
|
22
|
+
* this for a request whose repeat could apply twice: it is for reads and for
|
|
23
|
+
* writes that are idempotent by construction.
|
|
24
|
+
*/
|
|
25
|
+
export declare function retryTransient<T>(operation: () => Promise<T>, options?: RetryTransientOptions): Promise<T>;
|
package/dist/machines.js
CHANGED
|
@@ -29,9 +29,9 @@ import {
|
|
|
29
29
|
healthPulses,
|
|
30
30
|
pointsFor,
|
|
31
31
|
useMachines
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-5JSUNNQN.js";
|
|
33
33
|
import "./chunk-PKCAYHDC.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-ATIRUHBZ.js";
|
|
35
35
|
import "./chunk-QHUE7E4N.js";
|
|
36
36
|
import "./chunk-CM7LVUKC.js";
|
|
37
37
|
import "./chunk-XTD7TZHW.js";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ModelDisplayInput, type ModelVendor } from "@opengeni/sdk/model-display";
|
|
2
|
+
/** ChatGPT / OpenAI mark (Simple Icons, CC0). */
|
|
3
|
+
export declare const CHATGPT_MARK_PATH = "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3653-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8414 3.3698-2.02 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.783-2.7622a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z";
|
|
4
|
+
/** Claude mark (Simple Icons, CC0; https://github.com/simple-icons/simple-icons). */
|
|
5
|
+
export declare const CLAUDE_MARK_PATH = "m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z";
|
|
6
|
+
/**
|
|
7
|
+
* MIT License
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2023 LobeHub
|
|
10
|
+
*
|
|
11
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
* in the Software without restriction, including without limitation the rights
|
|
14
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
* furnished to do so, subject to the following conditions:
|
|
17
|
+
*
|
|
18
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
19
|
+
* copies or substantial portions of the Software.
|
|
20
|
+
*
|
|
21
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
|
+
* SOFTWARE.
|
|
28
|
+
* Source: https://raw.githubusercontent.com/lobehub/lobe-icons/master/src/Grok/components/Mono.tsx
|
|
29
|
+
*/
|
|
30
|
+
export declare const GROK_MARK_PATH = "M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815";
|
|
31
|
+
export type MarkedModelVendor = Extract<ModelVendor, "openai" | "anthropic" | "xai">;
|
|
32
|
+
export declare const MODEL_MARK_PATHS: Record<MarkedModelVendor, string>;
|
|
33
|
+
/** The maker whose logo marks this model, or null for the neutral fallback. */
|
|
34
|
+
export declare function modelMarkVendor(model: ModelDisplayInput): MarkedModelVendor | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
CHATGPT_MARK_PATH,
|
|
4
|
+
CLAUDE_MARK_PATH,
|
|
5
|
+
GROK_MARK_PATH,
|
|
6
|
+
MODEL_MARK_PATHS,
|
|
7
|
+
modelMarkVendor
|
|
8
|
+
} from "./chunk-N7S72EXK.js";
|
|
9
|
+
export {
|
|
10
|
+
CHATGPT_MARK_PATH,
|
|
11
|
+
CLAUDE_MARK_PATH,
|
|
12
|
+
GROK_MARK_PATH,
|
|
13
|
+
MODEL_MARK_PATHS,
|
|
14
|
+
modelMarkVendor
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=model-mark-paths.js.map
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The model picker's presentation logic, free of any renderer: which rows show,
|
|
3
|
+
* how they group and filter, and which thinking/latency controls apply. The web
|
|
4
|
+
* menu and native sheets both render from this.
|
|
5
|
+
*/
|
|
6
|
+
import type { ClientModel, LatencyMode, ReasoningEffort } from "@opengeni/sdk";
|
|
7
|
+
import { type PickerBillingClass, type PickerModelRow } from "./model-policy.js";
|
|
8
|
+
type ClientPickerModelRow = PickerModelRow<ClientModel>;
|
|
9
|
+
export type ModelPolicyPickerMessages = {
|
|
10
|
+
label: string;
|
|
11
|
+
loading: string;
|
|
12
|
+
noModels: string;
|
|
13
|
+
connectTitle: string;
|
|
14
|
+
connectBody: string;
|
|
15
|
+
connectAction: string;
|
|
16
|
+
thinking: string;
|
|
17
|
+
fast: string;
|
|
18
|
+
fastRateHint: string;
|
|
19
|
+
codexOnly: string;
|
|
20
|
+
searchLabel?: string;
|
|
21
|
+
searchPlaceholder?: string;
|
|
22
|
+
currentModel?: string;
|
|
23
|
+
noMatches?: string;
|
|
24
|
+
unsupportedAttachments?: string;
|
|
25
|
+
thinkingEffort?: string;
|
|
26
|
+
selected?: string;
|
|
27
|
+
free?: string;
|
|
28
|
+
billingHints: Record<PickerBillingClass, string>;
|
|
29
|
+
};
|
|
30
|
+
export declare const defaultModelPolicyPickerMessages: ModelPolicyPickerMessages;
|
|
31
|
+
/** Host branding for one payment group; the icon type belongs to the renderer. */
|
|
32
|
+
export type ModelPickerGroupBranding<TIcon = unknown> = {
|
|
33
|
+
label?: string | undefined;
|
|
34
|
+
/** Omit to preserve the default; null hides the supporting text. */
|
|
35
|
+
description?: string | null | undefined;
|
|
36
|
+
/** Decorative, non-interactive content. Omit for the default; null hides it. */
|
|
37
|
+
icon?: TIcon | undefined;
|
|
38
|
+
};
|
|
39
|
+
export type ModelPickerGroupPresentation<TIcon = unknown> = Partial<Record<PickerBillingClass, ModelPickerGroupBranding<TIcon>>>;
|
|
40
|
+
/** The renderer-neutral inputs every picker surface shares. */
|
|
41
|
+
export type ModelPickerInput<TIcon = unknown> = {
|
|
42
|
+
groupPresentation?: ModelPickerGroupPresentation<TIcon> | undefined;
|
|
43
|
+
models?: ClientModel[] | undefined;
|
|
44
|
+
rows?: PickerModelRow[] | undefined;
|
|
45
|
+
hasImageAttachments?: boolean | undefined;
|
|
46
|
+
model: string;
|
|
47
|
+
effort: ReasoningEffort;
|
|
48
|
+
latencyMode: LatencyMode;
|
|
49
|
+
codexOnly?: boolean | undefined;
|
|
50
|
+
collapseScopes?: boolean | undefined;
|
|
51
|
+
allowLatencyMode?: boolean | undefined;
|
|
52
|
+
messages?: Partial<ModelPolicyPickerMessages> | undefined;
|
|
53
|
+
};
|
|
54
|
+
/** Models settings keeps naming who is billed for a key. */
|
|
55
|
+
export declare const SCOPED_BILLING_HINTS: Partial<Record<PickerBillingClass, string>>;
|
|
56
|
+
export declare function isCodexPickerModel(model: ClientModel): boolean;
|
|
57
|
+
/** The payment group a selection the catalog no longer lists most likely belonged to. */
|
|
58
|
+
export declare function billingClassForMissingSelection(modelId: string): PickerBillingClass;
|
|
59
|
+
/**
|
|
60
|
+
* Host branding for a payment group. While scopes are collapsed, API keys are
|
|
61
|
+
* one group, so either API-key presentation serves both.
|
|
62
|
+
*/
|
|
63
|
+
export declare function groupPresentationFor<TIcon>(props: {
|
|
64
|
+
groupPresentation?: ModelPickerGroupPresentation<TIcon> | undefined;
|
|
65
|
+
collapseScopes?: boolean | undefined;
|
|
66
|
+
}, billingClass: PickerBillingClass): ModelPickerGroupBranding<TIcon> | undefined;
|
|
67
|
+
export declare function effectiveRows<TIcon>(props: ModelPickerInput<TIcon>): ClientPickerModelRow[];
|
|
68
|
+
export type ModelPickerMenuGroup = {
|
|
69
|
+
billingClass: PickerBillingClass;
|
|
70
|
+
label: string;
|
|
71
|
+
description: string | null;
|
|
72
|
+
rows: ClientPickerModelRow[];
|
|
73
|
+
};
|
|
74
|
+
export type ModelPickerThinking = {
|
|
75
|
+
efforts: ReasoningEffort[];
|
|
76
|
+
value: ReasoningEffort;
|
|
77
|
+
showThinking: boolean;
|
|
78
|
+
showFast: boolean;
|
|
79
|
+
/** The selected row cannot run, so its controls are read-only. */
|
|
80
|
+
disabled: boolean;
|
|
81
|
+
};
|
|
82
|
+
export type ModelPickerMenuView = {
|
|
83
|
+
messages: ModelPolicyPickerMessages;
|
|
84
|
+
rows: ClientPickerModelRow[];
|
|
85
|
+
selected: ClientPickerModelRow | null;
|
|
86
|
+
/** Any row can run; otherwise the surface offers to connect models instead. */
|
|
87
|
+
anySelectable: boolean;
|
|
88
|
+
/** Whether the query is non-empty (decides "no matches" versus "no models"). */
|
|
89
|
+
searching: boolean;
|
|
90
|
+
groups: ModelPickerMenuGroup[];
|
|
91
|
+
matchCount: number;
|
|
92
|
+
/** Thinking and Fast controls for the selected model, or null when it has none. */
|
|
93
|
+
thinking: ModelPickerThinking | null;
|
|
94
|
+
/** The selected model cannot view images the draft carries. */
|
|
95
|
+
unsupportedAttachments: boolean;
|
|
96
|
+
};
|
|
97
|
+
/** Everything a picker menu shows for this input and search query. */
|
|
98
|
+
export declare function modelPickerMenuView<TIcon>(props: ModelPickerInput<TIcon>, query: string): ModelPickerMenuView;
|
|
99
|
+
export type ModelPickerChoice = {
|
|
100
|
+
/** The new model, or null when the row is already selected. */
|
|
101
|
+
model: string | null;
|
|
102
|
+
/** Always reported, so hosts can commit model and effort together. */
|
|
103
|
+
effort: ReasoningEffort;
|
|
104
|
+
/** Fast falls back to standard when the new model cannot run it. */
|
|
105
|
+
latencyMode: LatencyMode | null;
|
|
106
|
+
};
|
|
107
|
+
/** What choosing a row changes, or null when the row cannot be chosen. */
|
|
108
|
+
export declare function modelPickerChoice(props: Pick<ModelPickerInput, "model" | "effort" | "latencyMode">, row: ClientPickerModelRow): ModelPickerChoice | null;
|
|
109
|
+
/** The web segmented control's short labels ("X-high" fits a phone row). */
|
|
110
|
+
export declare function compactEffortLabel(effort: ReasoningEffort, label: string): string;
|
|
111
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
SCOPED_BILLING_HINTS,
|
|
4
|
+
billingClassForMissingSelection,
|
|
5
|
+
compactEffortLabel,
|
|
6
|
+
defaultModelPolicyPickerMessages,
|
|
7
|
+
effectiveRows,
|
|
8
|
+
groupPresentationFor,
|
|
9
|
+
isCodexPickerModel,
|
|
10
|
+
modelPickerChoice,
|
|
11
|
+
modelPickerMenuView
|
|
12
|
+
} from "./chunk-LTKGTXUQ.js";
|
|
13
|
+
import "./chunk-4O7OE7ON.js";
|
|
14
|
+
export {
|
|
15
|
+
SCOPED_BILLING_HINTS,
|
|
16
|
+
billingClassForMissingSelection,
|
|
17
|
+
compactEffortLabel,
|
|
18
|
+
defaultModelPolicyPickerMessages,
|
|
19
|
+
effectiveRows,
|
|
20
|
+
groupPresentationFor,
|
|
21
|
+
isCodexPickerModel,
|
|
22
|
+
modelPickerChoice,
|
|
23
|
+
modelPickerMenuView
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=model-picker-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ModelPolicyPickerMenu,
|
|
4
4
|
ModelPolicyPickerPopover
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-RGTZ2VDR.js";
|
|
6
|
+
import "./chunk-VYIPNDUZ.js";
|
|
7
7
|
import "./chunk-PMV53IMM.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-N7S72EXK.js";
|
|
9
|
+
import "./chunk-LTKGTXUQ.js";
|
|
9
10
|
import "./chunk-XEA5BCMA.js";
|
|
11
|
+
import "./chunk-4O7OE7ON.js";
|
|
10
12
|
import "./chunk-TXS65BB2.js";
|
|
11
13
|
export {
|
|
12
14
|
ModelPolicyPickerMenu,
|
|
13
15
|
ModelPolicyPickerPopover
|
|
14
16
|
};
|
|
15
|
-
//# sourceMappingURL=model-policy-picker-menu-
|
|
17
|
+
//# sourceMappingURL=model-policy-picker-menu-I5KPC3D6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/model-policy.d.ts
CHANGED
|
@@ -24,6 +24,16 @@ export declare function availabilityReasonLabel(reason: WorkspaceModelCatalogMod
|
|
|
24
24
|
export declare function effortOptionsForModel(model: ClientModel): ReasoningEffort[];
|
|
25
25
|
export declare function defaultEffortForModel(model: ClientModel): ReasoningEffort;
|
|
26
26
|
export declare function coerceReasoningEffortForModel(model: ClientModel, effort: ReasoningEffort): ReasoningEffort;
|
|
27
|
+
/** Whether the composer offers (and therefore labels) a reasoning-effort choice. */
|
|
28
|
+
export declare function modelOffersEffortChoice(model: ClientModel): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The composer model pill at phone width: the catalog's compact name (falling
|
|
31
|
+
* back to the display name) and the effort label when effort is a choice.
|
|
32
|
+
*/
|
|
33
|
+
export declare function compactModelPill(models: readonly ClientModel[], modelId: string, effort: ReasoningEffort | null | undefined): {
|
|
34
|
+
name: string;
|
|
35
|
+
effort: string | null;
|
|
36
|
+
};
|
|
27
37
|
export declare function runnableLatencyModesForModel(model: ClientModel): LatencyModeId[];
|
|
28
38
|
export declare function labelLatencyMode(mode: LatencyModeId): string;
|
|
29
39
|
export declare function labelReasoningEffort(effort: ReasoningEffort): string;
|
package/dist/model-policy.js
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
billingClassForModel,
|
|
6
6
|
billingClassLabel,
|
|
7
7
|
coerceReasoningEffortForModel,
|
|
8
|
+
compactModelPill,
|
|
8
9
|
defaultEffortForModel,
|
|
9
10
|
effortOptionsForModel,
|
|
10
11
|
findPickerRow,
|
|
@@ -12,6 +13,7 @@ import {
|
|
|
12
13
|
labelLatencyMode,
|
|
13
14
|
labelReasoningEffort,
|
|
14
15
|
modelDisplayName,
|
|
16
|
+
modelOffersEffortChoice,
|
|
15
17
|
modelUsesCredits,
|
|
16
18
|
modelVendor,
|
|
17
19
|
payerSummaryForModel,
|
|
@@ -20,13 +22,14 @@ import {
|
|
|
20
22
|
runnableLatencyModesForModel,
|
|
21
23
|
scopedBillingClassLabel,
|
|
22
24
|
sortPickerRows
|
|
23
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-4O7OE7ON.js";
|
|
24
26
|
export {
|
|
25
27
|
advancedSourceSummary,
|
|
26
28
|
availabilityReasonLabel,
|
|
27
29
|
billingClassForModel,
|
|
28
30
|
billingClassLabel,
|
|
29
31
|
coerceReasoningEffortForModel,
|
|
32
|
+
compactModelPill,
|
|
30
33
|
defaultEffortForModel,
|
|
31
34
|
effortOptionsForModel,
|
|
32
35
|
findPickerRow,
|
|
@@ -34,6 +37,7 @@ export {
|
|
|
34
37
|
labelLatencyMode,
|
|
35
38
|
labelReasoningEffort,
|
|
36
39
|
modelDisplayName,
|
|
40
|
+
modelOffersEffortChoice,
|
|
37
41
|
modelUsesCredits,
|
|
38
42
|
modelVendor,
|
|
39
43
|
payerSummaryForModel,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The new-session composer's server-authoritative draft (text, model, options,
|
|
3
|
+
* project, attachments), shared by the web app and native apps so a draft
|
|
4
|
+
* started on one device continues on another.
|
|
5
|
+
*/
|
|
6
|
+
export { isNewSessionDraftConflict, useNewSessionDraft, type AcknowledgeConsumedNewSessionDraftResult, type FlushedNewSessionDraft, type NewSessionDraftEditable, type UseNewSessionDraftOptions, type UseNewSessionDraftResult, } from "./hooks/use-new-session-draft.js";
|
|
7
|
+
export { isTransientServiceFailure, OPENGENI_UPDATING_NOTICE, retryTransient, TRANSIENT_RECONNECT_INTERVAL_MS, TRANSIENT_RETRY_DELAYS_MS, type RetryTransientOptions, } from "./lib/transient-retry.js";
|