@opengeni/react 1.2.1-canary.37222965366001 → 1.4.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.
Files changed (75) hide show
  1. package/README.md +52 -1
  2. package/dist/artifacts.js +2 -2
  3. package/dist/artifacts.js.map +1 -1
  4. package/dist/{chunk-ERGYJIBB.js → chunk-AWZLIMKX.js} +2 -2
  5. package/dist/{chunk-ERGYJIBB.js.map → chunk-AWZLIMKX.js.map} +1 -1
  6. package/dist/{chunk-FZCP527Y.js → chunk-CJUO7J5Z.js} +2 -2
  7. package/dist/{chunk-742CZ3L3.js → chunk-H5X55XH7.js} +16 -200
  8. package/dist/chunk-H5X55XH7.js.map +1 -0
  9. package/dist/{chunk-4OTO7KBK.js → chunk-LJ2UTJJE.js} +2737 -1580
  10. package/dist/chunk-LJ2UTJJE.js.map +1 -0
  11. package/dist/{chunk-CY7WK5FD.js → chunk-LN6TCXD3.js} +22 -1
  12. package/dist/chunk-LN6TCXD3.js.map +1 -0
  13. package/dist/{chunk-TMYGL6X5.js → chunk-MBMPHOMA.js} +71 -6
  14. package/dist/chunk-MBMPHOMA.js.map +1 -0
  15. package/dist/{chunk-RC6BZ44Q.js → chunk-OA6HFRQP.js} +2 -2
  16. package/dist/{chunk-X34BSY2R.js → chunk-WZMYFJD3.js} +242 -63
  17. package/dist/chunk-WZMYFJD3.js.map +1 -0
  18. package/dist/components/approval-surface.d.ts +11 -13
  19. package/dist/components/composer-transcription-control.d.ts +3 -0
  20. package/dist/components/open-geni-chat.d.ts +26 -7
  21. package/dist/components/session-conversation.d.ts +26 -3
  22. package/dist/components/session-list.d.ts +4 -1
  23. package/dist/components/session-proxy-scope.d.ts +16 -2
  24. package/dist/components/tool-action-review.d.ts +47 -0
  25. package/dist/components/tool-review-history.d.ts +25 -0
  26. package/dist/composer.js +1 -1
  27. package/dist/connect.js +1 -1
  28. package/dist/hooks/use-client-config-flags.d.ts +37 -0
  29. package/dist/index.d.ts +7 -4
  30. package/dist/index.js +27 -11
  31. package/dist/index.js.map +1 -1
  32. package/dist/{latest-question-YTOBHCWR.js → latest-question-GPYM2JNU.js} +3 -3
  33. package/dist/realtime/realtime-control.d.ts +2 -0
  34. package/dist/realtime.js +25 -4
  35. package/dist/realtime.js.map +1 -1
  36. package/dist/session-capability-policy.d.ts +20 -1
  37. package/dist/session-ui.d.ts +4 -1
  38. package/dist/session-ui.js +12 -6
  39. package/dist/session-ui.js.map +1 -1
  40. package/dist/session.js +6 -6
  41. package/dist/timeline/index.d.ts +2 -0
  42. package/dist/timeline/retained-loaders.d.ts +27 -0
  43. package/package.json +3 -3
  44. package/src/components/approval-surface.tsx +368 -239
  45. package/src/components/artifacts/session-artifact-viewer.tsx +4 -2
  46. package/src/components/composer-transcription-control.tsx +14 -0
  47. package/src/components/composer.tsx +1 -0
  48. package/src/components/open-geni-chat.tsx +245 -72
  49. package/src/components/session-conversation.tsx +243 -58
  50. package/src/components/session-list.tsx +9 -2
  51. package/src/components/session-proxy-scope.tsx +47 -7
  52. package/src/components/tool-action-review.tsx +649 -0
  53. package/src/components/tool-review-history.tsx +88 -0
  54. package/src/hooks/use-client-config-flags.ts +102 -0
  55. package/src/hooks/use-session-events.ts +19 -16
  56. package/src/hooks/use-transcription.ts +6 -0
  57. package/src/hooks/use-voice-input.ts +6 -0
  58. package/src/index.ts +18 -1
  59. package/src/realtime/realtime-control.tsx +28 -1
  60. package/src/session-capability-policy.ts +119 -6
  61. package/src/session-ui.ts +9 -1
  62. package/src/timeline/index.ts +10 -0
  63. package/src/timeline/retained-loaders.ts +86 -0
  64. package/src/timeline/tool-display-name.ts +5 -1
  65. package/src/timeline/tool-renderers.tsx +148 -8
  66. package/styles/compiled.css +79 -15
  67. package/styles/tokens.css +1 -1
  68. package/dist/chunk-4OTO7KBK.js.map +0 -1
  69. package/dist/chunk-742CZ3L3.js.map +0 -1
  70. package/dist/chunk-CY7WK5FD.js.map +0 -1
  71. package/dist/chunk-TMYGL6X5.js.map +0 -1
  72. package/dist/chunk-X34BSY2R.js.map +0 -1
  73. /package/dist/{chunk-FZCP527Y.js.map → chunk-CJUO7J5Z.js.map} +0 -0
  74. /package/dist/{chunk-RC6BZ44Q.js.map → chunk-OA6HFRQP.js.map} +0 -0
  75. /package/dist/{latest-question-YTOBHCWR.js.map → latest-question-GPYM2JNU.js.map} +0 -0
@@ -2,6 +2,8 @@ export { HumanInputForm } from "./components/human-input-form.js";
2
2
  export type { HumanInputAnswerDraft, HumanInputFormMessages, HumanInputFormProps, } from "./components/human-input-form.js";
3
3
  export { HumanInputSurface } from "./components/human-input-surface.js";
4
4
  export { ApprovalSurface } from "./components/approval-surface.js";
5
+ export { ToolActionReviewCard, ToolActionReviewDetails } from "./components/tool-action-review.js";
6
+ export type { ToolReviewDetailsLoader } from "./components/tool-action-review.js";
5
7
  export type { ApprovalSurfaceProps, ApprovalSurfaceMessages } from "./components/approval-surface.js";
6
8
  export type { HumanInputSurfaceProps } from "./components/human-input-surface.js";
7
9
  export { MessageTimeline, TimelineRow } from "./components/message-timeline.js";
@@ -28,7 +30,7 @@ export { SessionConversation } from "./components/session-conversation.js";
28
30
  export { SessionList } from "./components/session-list.js";
29
31
  export type { SessionListLabels, SessionListProps } from "./components/session-list.js";
30
32
  export { OpenGeniChat } from "./components/open-geni-chat.js";
31
- export type { OpenGeniChatLabels, OpenGeniChatProps } from "./components/open-geni-chat.js";
33
+ export type { OpenGeniChatCreateOptions, OpenGeniChatLabels, OpenGeniChatProps, } from "./components/open-geni-chat.js";
32
34
  export type { SessionConversationLabels, SessionConversationProps, } from "./components/session-conversation.js";
33
35
  export type { QueueSurfaceProps } from "./components/queue-surface.js";
34
36
  export { SessionChrome, sessionChromeGoalPillExplanation, sessionChromeGoalPillLabel, sessionChromeGoalPillState, } from "./components/session-chrome.js";
@@ -40,3 +42,4 @@ export type { KnowledgeActivityActions } from "./timeline/knowledge-receipt.js";
40
42
  export { StartupTimings } from "./timeline/startup-timings.js";
41
43
  export { useStartupDetails, setStartupDetails } from "./timeline/startup-preference.js";
42
44
  export type { GenieLoadingOptions } from "./timeline/genie-loading.js";
45
+ export { ToolReviewHistoryProvider } from "./components/tool-review-history.js";
@@ -14,6 +14,9 @@ import {
14
14
  SessionList,
15
15
  StartupTimings,
16
16
  TimelineRow,
17
+ ToolActionReviewCard,
18
+ ToolActionReviewDetails,
19
+ ToolReviewHistoryProvider,
17
20
  UserMessageBody,
18
21
  createDefaultToolRegistry,
19
22
  createToolRegistry,
@@ -24,21 +27,21 @@ import {
24
27
  setStartupDetails,
25
28
  useStartupDetails,
26
29
  userMessageLikelyNeedsDisclosure
27
- } from "./chunk-4OTO7KBK.js";
30
+ } from "./chunk-LJ2UTJJE.js";
28
31
  import "./chunk-UK4TINKT.js";
29
32
  import "./chunk-J2QWVSQY.js";
30
33
  import "./chunk-C5X5AJXK.js";
31
34
  import "./chunk-ZYRGEKWS.js";
32
- import "./chunk-FZCP527Y.js";
35
+ import "./chunk-CJUO7J5Z.js";
33
36
  import {
34
37
  ArtifactLabelsProvider,
35
38
  DEFAULT_ARTIFACT_LABELS
36
39
  } from "./chunk-5CVXZA3Y.js";
37
40
  import {
38
41
  createOlderHistoryLoadReceipt
39
- } from "./chunk-X34BSY2R.js";
40
- import "./chunk-RC6BZ44Q.js";
41
- import "./chunk-ERGYJIBB.js";
42
+ } from "./chunk-WZMYFJD3.js";
43
+ import "./chunk-OA6HFRQP.js";
44
+ import "./chunk-AWZLIMKX.js";
42
45
  import {
43
46
  OpenGeniProvider
44
47
  } from "./chunk-3CTRFMAK.js";
@@ -54,7 +57,7 @@ import {
54
57
  } from "./chunk-XCHWDJ22.js";
55
58
  import "./chunk-A2PI6UMY.js";
56
59
  import "./chunk-JVYQRRC4.js";
57
- import "./chunk-CY7WK5FD.js";
60
+ import "./chunk-LN6TCXD3.js";
58
61
  import "./chunk-RSI7XYXL.js";
59
62
  import "./chunk-BRM6FVZA.js";
60
63
  import "./chunk-LNIRAOA3.js";
@@ -90,6 +93,9 @@ export {
90
93
  SessionList,
91
94
  StartupTimings,
92
95
  TimelineRow,
96
+ ToolActionReviewCard,
97
+ ToolActionReviewDetails,
98
+ ToolReviewHistoryProvider,
93
99
  UserMessageBody,
94
100
  chainLinkResolvers,
95
101
  createDefaultToolRegistry,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/session-ui.ts"],"sourcesContent":["// @opengeni/react/session-ui — styled surfaces used by the session route.\n// Keep these separate from the hook-only session entry and the broad root barrel\n// so session hosts do not pay for unrelated React surfaces.\nexport { HumanInputForm } from \"./components/human-input-form\";\nexport type {\n HumanInputAnswerDraft,\n HumanInputFormMessages,\n HumanInputFormProps,\n} from \"./components/human-input-form\";\nexport { HumanInputSurface } from \"./components/human-input-surface\";\nexport { ApprovalSurface } from \"./components/approval-surface\";\nexport type { ApprovalSurfaceProps, ApprovalSurfaceMessages } from \"./components/approval-surface\";\nexport type { HumanInputSurfaceProps } from \"./components/human-input-surface\";\nexport { MessageTimeline, TimelineRow } from \"./components/message-timeline\";\nexport type { MessageTimelineProps } from \"./components/message-timeline\";\nexport type { RenderAllowanceExhausted } from \"./timeline/allowance-exhausted-row\";\nexport type { AllowanceLabels, AllowanceScope } from \"./usage/allowance-copy\";\nexport {\n OpenGeniLinkProvider,\n chainLinkResolvers,\n sessionLinkResolver,\n useOpenGeniLinkResolver,\n viewerLinkResolver,\n} from \"./components/open-geni-links\";\nexport type {\n OpenGeniLinkResolution,\n OpenGeniLinkResolver,\n OpenGeniLinkTarget,\n OpenGeniViewerTarget,\n} from \"./components/open-geni-links\";\nexport { parseOpenGeniLink } from \"@opengeni/sdk\";\nexport {\n ArtifactLabelsProvider,\n DEFAULT_ARTIFACT_LABELS,\n type ArtifactLabels,\n} from \"./components/artifacts/artifact-chrome\";\nexport type { TimelineSearchTarget } from \"./components/timeline-search\";\nexport { createOlderHistoryLoadReceipt } from \"./older-history\";\nexport type { OlderHistoryLoader, OlderHistoryLoadReceipt } from \"./older-history\";\nexport { UserMessageBody, userMessageLikelyNeedsDisclosure } from \"./components/user-message-body\";\nexport type {\n UserMessageBodyProps,\n UserMessageDisclosureLabels,\n} from \"./components/user-message-body\";\nexport { BUILT_IN_TURN_SUMMARY_FACET_IDS } from \"./timeline/turn-summary\";\nexport type {\n BuiltInTurnSummaryFacetId,\n TurnSummaryContext,\n TurnSummaryFacet,\n TurnSummaryFacetConfiguration,\n TurnSummaryFacetResult,\n TurnSummaryOptions,\n} from \"./timeline/turn-summary\";\nexport { QueueSurface } from \"./components/queue-surface\";\n// The provider too, so a host needs only this entry (the root also exports the\n// workbench, whose editors, terminal and desktop are optional peers).\nexport { OpenGeniProvider } from \"./provider\";\nexport type { OpenGeniProviderProps, ErrorMessageFormatter } from \"./provider\";\n// The tool-renderer registry, so custom tool renderers need no root import.\nexport { createDefaultToolRegistry, createToolRegistry, defaultToolRegistry } from \"./timeline\";\nexport type {\n CreateToolRegistryOptions,\n ToolRegistry,\n ToolRegistryEntry,\n ToolRenderer,\n ToolRendererProps,\n} from \"./timeline\";\nexport { SessionConversation } from \"./components/session-conversation\";\nexport { SessionList } from \"./components/session-list\";\nexport type { SessionListLabels, SessionListProps } from \"./components/session-list\";\nexport { OpenGeniChat } from \"./components/open-geni-chat\";\nexport type { OpenGeniChatLabels, OpenGeniChatProps } from \"./components/open-geni-chat\";\nexport type {\n SessionConversationLabels,\n SessionConversationProps,\n} from \"./components/session-conversation\";\nexport type { QueueSurfaceProps } from \"./components/queue-surface\";\nexport {\n SessionChrome,\n sessionChromeGoalPillExplanation,\n sessionChromeGoalPillLabel,\n sessionChromeGoalPillState,\n} from \"./components/session-chrome\";\nexport type {\n SessionChromeAgentsSignal,\n SessionChromeProps,\n SessionChromeSignalId,\n SessionChromeSignalTone,\n} from \"./components/session-chrome\";\nexport { SessionCommandsPanel } from \"./components/session-commands-panel\";\nexport { SessionCommands } from \"./components/session-commands\";\n\nexport { KnowledgeActivityProvider } from \"./timeline/knowledge-receipt\";\nexport type { KnowledgeActivityActions } from \"./timeline/knowledge-receipt\";\nexport { StartupTimings } from \"./timeline/startup-timings\";\nexport { useStartupDetails, setStartupDetails } from \"./timeline/startup-preference\";\nexport type { GenieLoadingOptions } from \"./timeline/genie-loading\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAS,yBAAyB;","names":[]}
1
+ {"version":3,"sources":["../src/session-ui.ts"],"sourcesContent":["// @opengeni/react/session-ui — styled surfaces used by the session route.\n// Keep these separate from the hook-only session entry and the broad root barrel\n// so session hosts do not pay for unrelated React surfaces.\nexport { HumanInputForm } from \"./components/human-input-form\";\nexport type {\n HumanInputAnswerDraft,\n HumanInputFormMessages,\n HumanInputFormProps,\n} from \"./components/human-input-form\";\nexport { HumanInputSurface } from \"./components/human-input-surface\";\nexport { ApprovalSurface } from \"./components/approval-surface\";\nexport { ToolActionReviewCard, ToolActionReviewDetails } from \"./components/tool-action-review\";\nexport type { ToolReviewDetailsLoader } from \"./components/tool-action-review\";\nexport type { ApprovalSurfaceProps, ApprovalSurfaceMessages } from \"./components/approval-surface\";\nexport type { HumanInputSurfaceProps } from \"./components/human-input-surface\";\nexport { MessageTimeline, TimelineRow } from \"./components/message-timeline\";\nexport type { MessageTimelineProps } from \"./components/message-timeline\";\nexport type { RenderAllowanceExhausted } from \"./timeline/allowance-exhausted-row\";\nexport type { AllowanceLabels, AllowanceScope } from \"./usage/allowance-copy\";\nexport {\n OpenGeniLinkProvider,\n chainLinkResolvers,\n sessionLinkResolver,\n useOpenGeniLinkResolver,\n viewerLinkResolver,\n} from \"./components/open-geni-links\";\nexport type {\n OpenGeniLinkResolution,\n OpenGeniLinkResolver,\n OpenGeniLinkTarget,\n OpenGeniViewerTarget,\n} from \"./components/open-geni-links\";\nexport { parseOpenGeniLink } from \"@opengeni/sdk\";\nexport {\n ArtifactLabelsProvider,\n DEFAULT_ARTIFACT_LABELS,\n type ArtifactLabels,\n} from \"./components/artifacts/artifact-chrome\";\nexport type { TimelineSearchTarget } from \"./components/timeline-search\";\nexport { createOlderHistoryLoadReceipt } from \"./older-history\";\nexport type { OlderHistoryLoader, OlderHistoryLoadReceipt } from \"./older-history\";\nexport { UserMessageBody, userMessageLikelyNeedsDisclosure } from \"./components/user-message-body\";\nexport type {\n UserMessageBodyProps,\n UserMessageDisclosureLabels,\n} from \"./components/user-message-body\";\nexport { BUILT_IN_TURN_SUMMARY_FACET_IDS } from \"./timeline/turn-summary\";\nexport type {\n BuiltInTurnSummaryFacetId,\n TurnSummaryContext,\n TurnSummaryFacet,\n TurnSummaryFacetConfiguration,\n TurnSummaryFacetResult,\n TurnSummaryOptions,\n} from \"./timeline/turn-summary\";\nexport { QueueSurface } from \"./components/queue-surface\";\n// The provider too, so a host needs only this entry (the root also exports the\n// workbench, whose editors, terminal and desktop are optional peers).\nexport { OpenGeniProvider } from \"./provider\";\nexport type { OpenGeniProviderProps, ErrorMessageFormatter } from \"./provider\";\n// The tool-renderer registry, so custom tool renderers need no root import.\nexport { createDefaultToolRegistry, createToolRegistry, defaultToolRegistry } from \"./timeline\";\nexport type {\n CreateToolRegistryOptions,\n ToolRegistry,\n ToolRegistryEntry,\n ToolRenderer,\n ToolRendererProps,\n} from \"./timeline\";\nexport { SessionConversation } from \"./components/session-conversation\";\nexport { SessionList } from \"./components/session-list\";\nexport type { SessionListLabels, SessionListProps } from \"./components/session-list\";\nexport { OpenGeniChat } from \"./components/open-geni-chat\";\nexport type {\n OpenGeniChatCreateOptions,\n OpenGeniChatLabels,\n OpenGeniChatProps,\n} from \"./components/open-geni-chat\";\nexport type {\n SessionConversationLabels,\n SessionConversationProps,\n} from \"./components/session-conversation\";\nexport type { QueueSurfaceProps } from \"./components/queue-surface\";\nexport {\n SessionChrome,\n sessionChromeGoalPillExplanation,\n sessionChromeGoalPillLabel,\n sessionChromeGoalPillState,\n} from \"./components/session-chrome\";\nexport type {\n SessionChromeAgentsSignal,\n SessionChromeProps,\n SessionChromeSignalId,\n SessionChromeSignalTone,\n} from \"./components/session-chrome\";\nexport { SessionCommandsPanel } from \"./components/session-commands-panel\";\nexport { SessionCommands } from \"./components/session-commands\";\n\nexport { KnowledgeActivityProvider } from \"./timeline/knowledge-receipt\";\nexport type { KnowledgeActivityActions } from \"./timeline/knowledge-receipt\";\nexport { StartupTimings } from \"./timeline/startup-timings\";\nexport { useStartupDetails, setStartupDetails } from \"./timeline/startup-preference\";\nexport type { GenieLoadingOptions } from \"./timeline/genie-loading\";\n\nexport { ToolReviewHistoryProvider } from \"./components/tool-review-history\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAS,yBAAyB;","names":[]}
package/dist/session.js CHANGED
@@ -1,39 +1,39 @@
1
1
  import {
2
2
  createEmbeddedSessionClient,
3
- isGoalEvent,
4
3
  isLineageRefreshEvent,
5
4
  isSessionMcpApprovalPolicyEvent,
6
- useGoal,
7
5
  useSessionLineage,
8
6
  useSessionMcpApprovalPolicy
9
- } from "./chunk-742CZ3L3.js";
7
+ } from "./chunk-H5X55XH7.js";
10
8
  import {
11
9
  approvalsFromRequiresAction,
12
10
  conversationTimeline,
13
11
  createOlderHistoryLoadReceipt,
14
12
  humanInputRequestFromEvent,
13
+ isGoalEvent,
15
14
  isHumanInputEvent,
16
15
  isTitleEvent,
17
16
  isTurnQueueEvent,
18
17
  projectPendingApprovals,
19
18
  projectPendingHumanInputRequests,
20
19
  useFileAttachments,
20
+ useGoal,
21
21
  useHumanInputRequests,
22
22
  useSession,
23
23
  useSessionControl,
24
24
  useSessionEvents,
25
25
  useTurnQueue
26
- } from "./chunk-X34BSY2R.js";
26
+ } from "./chunk-WZMYFJD3.js";
27
27
  import {
28
28
  buildTimeline,
29
29
  creditExhaustedFromEvents,
30
30
  extractSessionRef,
31
31
  groupTimeline,
32
32
  sessionStatusFromEvents
33
- } from "./chunk-RC6BZ44Q.js";
33
+ } from "./chunk-OA6HFRQP.js";
34
34
  import {
35
35
  toolDisplayName
36
- } from "./chunk-ERGYJIBB.js";
36
+ } from "./chunk-AWZLIMKX.js";
37
37
  import {
38
38
  FILE_ONLY_MESSAGE_TEXT,
39
39
  composeSendInput,
@@ -2,6 +2,8 @@ export { buildTimeline, creditExhaustedFromEvents, extractSessionRef, groupTimel
2
2
  export type { GroupTimelineOptions } from "./projection.js";
3
3
  export type { ActivityItem, AgentMessageItem, AuthNeededItem, ContextCompactionItem, FleetDecisionItem, FleetDecisionScoreItem, GoalItem, HumanInputAnswerSummary, HumanInputItem, MachineInputBatchItem, MachineInputMember, MemoryItem, KnowledgeItem, NoticeItem, ReasoningItem, SandboxItem, StartupPhase, StartupPhaseItem, SessionStatusItem, TimelineGroup, TimelineItem, TimelineAnnotationSourceDescriptor, TurnEndItem, ToolCallItem, UserMessageItem, WorkerCompletionItem, WorkerItem, } from "./types.js";
4
4
  export { createToolRegistry, rawTypeOf } from "./registry.js";
5
+ export { createSessionRetainedScreenshotLoader, createWorkspaceRetainedArtifactLoader, createWorkspaceRetainedVideoLoader, } from "./retained-loaders.js";
6
+ export type { RetainedArtifactLoaderClient, RetainedScreenshotLoaderClient, RetainedVideoLoaderClient, } from "./retained-loaders.js";
5
7
  export type { CreateToolRegistryOptions, RetainedArtifactLoader, RetainedScreenshotLoader, VideoArtifactPlaybackLoader, ToolRegistry, ToolRegistryEntry, ToolRenderer, ToolRendererProps, } from "./registry.js";
6
8
  export { createDefaultToolRegistry, defaultToolRegistry } from "./tool-renderers.js";
7
9
  export { ActivityRail } from "./activity-rail.js";
@@ -0,0 +1,27 @@
1
+ import type { OpenGeniClient } from "@opengeni/sdk";
2
+ import type { RetainedArtifactLoader, RetainedScreenshotLoader, VideoArtifactPlaybackLoader } from "./registry.js";
3
+ /** SDK methods the workspace retained-artifact loader needs. */
4
+ export type RetainedArtifactLoaderClient = Pick<OpenGeniClient, "createRetainedArtifactDownloadUrl" | "downloadRetainedArtifact">;
5
+ /** SDK method the session retained-screenshot loader needs. */
6
+ export type RetainedScreenshotLoaderClient = Pick<OpenGeniClient, "downloadRetainedScreenshot">;
7
+ /** SDK method the generated-video playback loader needs. */
8
+ export type RetainedVideoLoaderClient = Pick<OpenGeniClient, "createVideoArtifactPlaybackSource">;
9
+ /**
10
+ * Bind permanent retained-artifact retrieval (generated images, published
11
+ * files) to one authenticated workspace, for `MessageTimeline`'s
12
+ * `loadRetainedArtifact`. Images get a short-lived URL; files are assembled
13
+ * from verified byte ranges.
14
+ */
15
+ export declare function createWorkspaceRetainedArtifactLoader(client: RetainedArtifactLoaderClient, workspaceId: string): RetainedArtifactLoader;
16
+ /**
17
+ * Bind the authenticated screenshot downloader to one workspace and session,
18
+ * for `MessageTimeline`'s `loadRetainedScreenshot`. Fetched metadata must match
19
+ * the timeline receipt before bytes are handed to React; errors deliberately
20
+ * contain no storage locator or content.
21
+ */
22
+ export declare function createSessionRetainedScreenshotLoader(client: RetainedScreenshotLoaderClient, workspaceId: string, sessionId: string): RetainedScreenshotLoader;
23
+ /**
24
+ * Bind expiring generated-video playback sources to one authenticated
25
+ * workspace, for `MessageTimeline`'s `loadVideoArtifactPlayback`.
26
+ */
27
+ export declare function createWorkspaceRetainedVideoLoader(client: RetainedVideoLoaderClient, workspaceId: string): VideoArtifactPlaybackLoader;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeni/react",
3
- "version": "1.2.1-canary.37222965366001",
3
+ "version": "1.4.0",
4
4
  "description": "React hooks and styled components for OpenGeni: live session streaming, chat composer, message timeline, session status, and fleet views — token-themed (CSS variables), dark-first, built on Tailwind v4 + Radix + Motion.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -153,8 +153,8 @@
153
153
  "@dnd-kit/utilities": "3.2.2",
154
154
  "@fontsource-variable/noto-sans-arabic": "5.2.10",
155
155
  "@fontsource-variable/noto-sans-jp": "5.2.10",
156
- "@opengeni/connect": "1.2.1-canary.37222965366001",
157
- "@opengeni/sdk": "1.2.1-canary.37222965366001",
156
+ "@opengeni/connect": "1.4.0",
157
+ "@opengeni/sdk": "1.4.0",
158
158
  "clsx": "^2.1.1",
159
159
  "dequal": "2.0.3",
160
160
  "lucide-react": "^1.8.0",