@stigmer/react 3.5.3 → 3.7.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/agent/AgentPicker.d.ts +10 -1
- package/agent/AgentPicker.d.ts.map +1 -1
- package/agent/AgentPicker.js +2 -2
- package/agent/AgentPicker.js.map +1 -1
- package/billing/CreditLedgerTable.d.ts.map +1 -1
- package/billing/CreditLedgerTable.js +2 -7
- package/billing/CreditLedgerTable.js.map +1 -1
- package/channel/AgentChannelsPanel.d.ts.map +1 -1
- package/channel/AgentChannelsPanel.js +22 -5
- package/channel/AgentChannelsPanel.js.map +1 -1
- package/channel/ChannelTemplatesDialog.d.ts +53 -0
- package/channel/ChannelTemplatesDialog.d.ts.map +1 -0
- package/channel/ChannelTemplatesDialog.js +150 -0
- package/channel/ChannelTemplatesDialog.js.map +1 -0
- package/channel/index.d.ts +8 -0
- package/channel/index.d.ts.map +1 -1
- package/channel/index.js +4 -0
- package/channel/index.js.map +1 -1
- package/channel/providers.d.ts +12 -0
- package/channel/providers.d.ts.map +1 -1
- package/channel/providers.js +14 -2
- package/channel/providers.js.map +1 -1
- package/channel/templatePresentation.d.ts +37 -0
- package/channel/templatePresentation.d.ts.map +1 -0
- package/channel/templatePresentation.js +69 -0
- package/channel/templatePresentation.js.map +1 -0
- package/channel/useChannelTemplateList.d.ts +64 -0
- package/channel/useChannelTemplateList.d.ts.map +1 -0
- package/channel/useChannelTemplateList.js +69 -0
- package/channel/useChannelTemplateList.js.map +1 -0
- package/channel/useChannelTemplateReadiness.d.ts +53 -0
- package/channel/useChannelTemplateReadiness.d.ts.map +1 -0
- package/channel/useChannelTemplateReadiness.js +42 -0
- package/channel/useChannelTemplateReadiness.js.map +1 -0
- package/composer/ComposerToolbar.d.ts +6 -1
- package/composer/ComposerToolbar.d.ts.map +1 -1
- package/composer/ComposerToolbar.js +2 -2
- package/composer/ComposerToolbar.js.map +1 -1
- package/composer/SessionComposer.d.ts +9 -0
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +13 -2
- package/composer/SessionComposer.js.map +1 -1
- package/dashboard/useDashboardFailedRuns.d.ts.map +1 -1
- package/dashboard/useDashboardFailedRuns.js +2 -0
- package/dashboard/useDashboardFailedRuns.js.map +1 -1
- package/execution/useCreateAgentExecution.d.ts +14 -0
- package/execution/useCreateAgentExecution.d.ts.map +1 -1
- package/execution/useCreateAgentExecution.js +5 -0
- package/execution/useCreateAgentExecution.js.map +1 -1
- package/index.d.ts +4 -2
- package/index.d.ts.map +1 -1
- package/index.js +10 -1
- package/index.js.map +1 -1
- package/internal/Pagination.d.ts +15 -0
- package/internal/Pagination.d.ts.map +1 -0
- package/internal/Pagination.js +20 -0
- package/internal/Pagination.js.map +1 -0
- package/library/useExportResource.d.ts +4 -3
- package/library/useExportResource.d.ts.map +1 -1
- package/library/useExportResource.js +1 -1
- package/library/useExportResource.js.map +1 -1
- package/models/ModelSelector.d.ts +26 -1
- package/models/ModelSelector.d.ts.map +1 -1
- package/models/ModelSelector.js +27 -6
- package/models/ModelSelector.js.map +1 -1
- package/models/index.d.ts +2 -0
- package/models/index.d.ts.map +1 -1
- package/models/index.js +1 -0
- package/models/index.js.map +1 -1
- package/models/registry.d.ts +10 -0
- package/models/registry.d.ts.map +1 -1
- package/models/registry.js +3 -0
- package/models/registry.js.map +1 -1
- package/models/service-tier.d.ts +27 -0
- package/models/service-tier.d.ts.map +1 -0
- package/models/service-tier.js +34 -0
- package/models/service-tier.js.map +1 -0
- package/organization/OrgProvider.d.ts +11 -4
- package/organization/OrgProvider.d.ts.map +1 -1
- package/organization/OrgProvider.js +28 -4
- package/organization/OrgProvider.js.map +1 -1
- package/package.json +4 -4
- package/resource-detail/useDeleteResource.d.ts +1 -1
- package/resource-detail/useDeleteResource.d.ts.map +1 -1
- package/resource-detail/useDeleteResource.js +5 -0
- package/resource-detail/useDeleteResource.js.map +1 -1
- package/resource-workbench/components/ResourceWorkbench.d.ts +10 -1
- package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -1
- package/resource-workbench/components/ResourceWorkbench.js +6 -2
- package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
- package/resource-workbench/hooks/useResourceCollection.d.ts +8 -0
- package/resource-workbench/hooks/useResourceCollection.d.ts.map +1 -1
- package/resource-workbench/hooks/useResourceCollection.js +2 -2
- package/resource-workbench/hooks/useResourceCollection.js.map +1 -1
- package/schedule/CadenceField.d.ts +31 -0
- package/schedule/CadenceField.d.ts.map +1 -0
- package/schedule/CadenceField.js +116 -0
- package/schedule/CadenceField.js.map +1 -0
- package/schedule/ScheduleDetailView.d.ts +81 -0
- package/schedule/ScheduleDetailView.d.ts.map +1 -0
- package/schedule/ScheduleDetailView.js +648 -0
- package/schedule/ScheduleDetailView.js.map +1 -0
- package/schedule/ScheduleForm.d.ts +46 -0
- package/schedule/ScheduleForm.d.ts.map +1 -0
- package/schedule/ScheduleForm.js +214 -0
- package/schedule/ScheduleForm.js.map +1 -0
- package/schedule/ScheduleRowActions.d.ts +20 -0
- package/schedule/ScheduleRowActions.d.ts.map +1 -0
- package/schedule/ScheduleRowActions.js +54 -0
- package/schedule/ScheduleRowActions.js.map +1 -0
- package/schedule/ScheduleRunsTable.d.ts +72 -0
- package/schedule/ScheduleRunsTable.d.ts.map +1 -0
- package/schedule/ScheduleRunsTable.js +161 -0
- package/schedule/ScheduleRunsTable.js.map +1 -0
- package/schedule/TimeZoneField.d.ts +32 -0
- package/schedule/TimeZoneField.d.ts.map +1 -0
- package/schedule/TimeZoneField.js +104 -0
- package/schedule/TimeZoneField.js.map +1 -0
- package/schedule/cadence.d.ts +95 -0
- package/schedule/cadence.d.ts.map +1 -0
- package/schedule/cadence.js +242 -0
- package/schedule/cadence.js.map +1 -0
- package/schedule/index.d.ts +37 -0
- package/schedule/index.d.ts.map +1 -0
- package/schedule/index.js +19 -0
- package/schedule/index.js.map +1 -0
- package/schedule/scheduleColumns.d.ts +26 -0
- package/schedule/scheduleColumns.d.ts.map +1 -0
- package/schedule/scheduleColumns.js +77 -0
- package/schedule/scheduleColumns.js.map +1 -0
- package/schedule/scheduleListFn.d.ts +50 -0
- package/schedule/scheduleListFn.d.ts.map +1 -0
- package/schedule/scheduleListFn.js +65 -0
- package/schedule/scheduleListFn.js.map +1 -0
- package/schedule/scheduleState.d.ts +43 -0
- package/schedule/scheduleState.d.ts.map +1 -0
- package/schedule/scheduleState.js +67 -0
- package/schedule/scheduleState.js.map +1 -0
- package/schedule/useCreateSchedule.d.ts +57 -0
- package/schedule/useCreateSchedule.d.ts.map +1 -0
- package/schedule/useCreateSchedule.js +61 -0
- package/schedule/useCreateSchedule.js.map +1 -0
- package/schedule/useResumeSchedule.d.ts +30 -0
- package/schedule/useResumeSchedule.d.ts.map +1 -0
- package/schedule/useResumeSchedule.js +45 -0
- package/schedule/useResumeSchedule.js.map +1 -0
- package/schedule/useSchedule.d.ts +39 -0
- package/schedule/useSchedule.d.ts.map +1 -0
- package/schedule/useSchedule.js +44 -0
- package/schedule/useSchedule.js.map +1 -0
- package/schedule/useScheduleCount.d.ts +38 -0
- package/schedule/useScheduleCount.d.ts.map +1 -0
- package/schedule/useScheduleCount.js +30 -0
- package/schedule/useScheduleCount.js.map +1 -0
- package/schedule/useScheduleList.d.ts +48 -0
- package/schedule/useScheduleList.d.ts.map +1 -0
- package/schedule/useScheduleList.js +43 -0
- package/schedule/useScheduleList.js.map +1 -0
- package/schedule/useScheduleRuns.d.ts +44 -0
- package/schedule/useScheduleRuns.d.ts.map +1 -0
- package/schedule/useScheduleRuns.js +48 -0
- package/schedule/useScheduleRuns.js.map +1 -0
- package/schedule/useSetScheduleEnabled.d.ts +31 -0
- package/schedule/useSetScheduleEnabled.d.ts.map +1 -0
- package/schedule/useSetScheduleEnabled.js +53 -0
- package/schedule/useSetScheduleEnabled.js.map +1 -0
- package/schedule/useTriggerSchedule.d.ts +41 -0
- package/schedule/useTriggerSchedule.d.ts.map +1 -0
- package/schedule/useTriggerSchedule.js +62 -0
- package/schedule/useTriggerSchedule.js.map +1 -0
- package/schedule/useUpdateScheduleSpec.d.ts +49 -0
- package/schedule/useUpdateScheduleSpec.d.ts.map +1 -0
- package/schedule/useUpdateScheduleSpec.js +70 -0
- package/schedule/useUpdateScheduleSpec.js.map +1 -0
- package/search/useResourceCount.d.ts +2 -1
- package/search/useResourceCount.d.ts.map +1 -1
- package/search/useResourceCount.js +6 -1
- package/search/useResourceCount.js.map +1 -1
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +1 -0
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSessionConversation.d.ts +11 -0
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +1 -0
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +1 -0
- package/session/useSessionPageFlow.js.map +1 -1
- package/src/agent/AgentPicker.tsx +13 -1
- package/src/billing/CreditLedgerTable.tsx +3 -42
- package/src/channel/AgentChannelsPanel.tsx +43 -1
- package/src/channel/ChannelTemplatesDialog.tsx +433 -0
- package/src/channel/__tests__/AgentChannelsPanel.test.tsx +73 -0
- package/src/channel/__tests__/ChannelTemplatesDialog.test.tsx +292 -0
- package/src/channel/__tests__/providers.test.ts +9 -0
- package/src/channel/__tests__/templatePresentation.test.ts +96 -0
- package/src/channel/__tests__/useChannelTemplateList.test.tsx +216 -0
- package/src/channel/__tests__/useChannelTemplateReadiness.test.tsx +124 -0
- package/src/channel/index.ts +15 -0
- package/src/channel/providers.ts +26 -2
- package/src/channel/templatePresentation.ts +82 -0
- package/src/channel/useChannelTemplateList.ts +123 -0
- package/src/channel/useChannelTemplateReadiness.ts +69 -0
- package/src/composer/ComposerToolbar.tsx +9 -0
- package/src/composer/SessionComposer.tsx +24 -1
- package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +156 -0
- package/src/dashboard/__tests__/useDashboardFailedRuns.test.tsx +106 -0
- package/src/dashboard/useDashboardFailedRuns.ts +2 -0
- package/src/execution/useCreateAgentExecution.ts +18 -0
- package/src/index.ts +70 -0
- package/src/internal/Pagination.tsx +72 -0
- package/src/library/useExportResource.ts +4 -3
- package/src/models/ModelSelector.tsx +100 -3
- package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +172 -0
- package/src/models/__tests__/useModelRegistry.test.tsx +15 -0
- package/src/models/index.ts +2 -0
- package/src/models/registry.ts +16 -0
- package/src/models/service-tier.ts +49 -0
- package/src/organization/OrgProvider.tsx +29 -4
- package/src/organization/__tests__/OrgProvider.orgSwitch.test.tsx +89 -0
- package/src/resource-detail/useDeleteResource.ts +11 -1
- package/src/resource-workbench/__tests__/ResourceWorkbench.test.tsx +112 -0
- package/src/resource-workbench/components/ResourceWorkbench.tsx +32 -15
- package/src/resource-workbench/hooks/useResourceCollection.ts +11 -1
- package/src/schedule/CadenceField.tsx +365 -0
- package/src/schedule/ScheduleDetailView.tsx +1651 -0
- package/src/schedule/ScheduleForm.tsx +615 -0
- package/src/schedule/ScheduleRowActions.tsx +124 -0
- package/src/schedule/ScheduleRunsTable.tsx +424 -0
- package/src/schedule/TimeZoneField.tsx +199 -0
- package/src/schedule/__tests__/ScheduleDetailView.test.tsx +683 -0
- package/src/schedule/__tests__/cadence.test.ts +278 -0
- package/src/schedule/__tests__/scheduleColumnsRowActions.test.tsx +176 -0
- package/src/schedule/__tests__/scheduleCreation.test.tsx +537 -0
- package/src/schedule/__tests__/scheduleHooks.test.tsx +399 -0
- package/src/schedule/__tests__/scheduleListFn.test.ts +128 -0
- package/src/schedule/__tests__/scheduleState.test.ts +133 -0
- package/src/schedule/cadence.ts +298 -0
- package/src/schedule/index.ts +69 -0
- package/src/schedule/scheduleColumns.tsx +118 -0
- package/src/schedule/scheduleListFn.ts +108 -0
- package/src/schedule/scheduleState.ts +96 -0
- package/src/schedule/useCreateSchedule.ts +88 -0
- package/src/schedule/useResumeSchedule.ts +67 -0
- package/src/schedule/useSchedule.ts +67 -0
- package/src/schedule/useScheduleCount.ts +57 -0
- package/src/schedule/useScheduleList.ts +83 -0
- package/src/schedule/useScheduleRuns.ts +93 -0
- package/src/schedule/useSetScheduleEnabled.ts +84 -0
- package/src/schedule/useTriggerSchedule.ts +90 -0
- package/src/schedule/useUpdateScheduleSpec.ts +108 -0
- package/src/search/__tests__/useResourceCount.test.tsx +89 -0
- package/src/search/useResourceCount.ts +8 -2
- package/src/session/useNewSessionFlow.ts +1 -0
- package/src/session/useSessionConversation.ts +12 -0
- package/src/session/useSessionPageFlow.ts +1 -0
- package/src/workflow/WorkflowDashboard.tsx +1 -0
- package/src/workflow/__tests__/inspector-forms.test.tsx +119 -2
- package/src/workflow/inspector/forms/AgentCallForm.tsx +260 -37
- package/src/workflow/inspector/tabs/RuntimeTab.tsx +72 -33
- package/src/workflow/starter-workflow-yaml.ts +2 -1
- package/src/workflow/useWorkflowExecutionList.ts +13 -2
- package/styles.css +1 -1
- package/workflow/CanvasTransitionEdge.d.ts +1 -1
- package/workflow/WorkflowDashboard.d.ts.map +1 -1
- package/workflow/WorkflowDashboard.js +1 -0
- package/workflow/WorkflowDashboard.js.map +1 -1
- package/workflow/inspector/forms/AgentCallForm.d.ts +18 -2
- package/workflow/inspector/forms/AgentCallForm.d.ts.map +1 -1
- package/workflow/inspector/forms/AgentCallForm.js +87 -9
- package/workflow/inspector/forms/AgentCallForm.js.map +1 -1
- package/workflow/inspector/tabs/RuntimeTab.d.ts +2 -1
- package/workflow/inspector/tabs/RuntimeTab.d.ts.map +1 -1
- package/workflow/inspector/tabs/RuntimeTab.js +31 -5
- package/workflow/inspector/tabs/RuntimeTab.js.map +1 -1
- package/workflow/starter-workflow-yaml.d.ts +1 -1
- package/workflow/starter-workflow-yaml.d.ts.map +1 -1
- package/workflow/starter-workflow-yaml.js +2 -1
- package/workflow/starter-workflow-yaml.js.map +1 -1
- package/workflow/useWorkflowExecutionList.d.ts +10 -0
- package/workflow/useWorkflowExecutionList.d.ts.map +1 -1
- package/workflow/useWorkflowExecutionList.js +3 -2
- package/workflow/useWorkflowExecutionList.js.map +1 -1
package/channel/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { useAgentChannelList } from "./useAgentChannelList.js";
|
|
|
2
2
|
export { useOrgAgentChannelList } from "./useOrgAgentChannelList.js";
|
|
3
3
|
export { CHANNEL_PROVIDERS, channelProviderOf } from "./providers.js";
|
|
4
4
|
export { channelPresentationOf, DEFAULT_CHANNEL_PRESENTATION, } from "./providerPresentation.js";
|
|
5
|
+
export { templateStatusPhase, splitTemplateBody } from "./templatePresentation.js";
|
|
5
6
|
export { useAgentChannel } from "./useAgentChannel.js";
|
|
6
7
|
export { useSaveAgentChannel, agentChannelToInput } from "./useSaveAgentChannel.js";
|
|
7
8
|
export { useCreateAgentChannel } from "./useCreateAgentChannel.js";
|
|
@@ -9,11 +10,14 @@ export { useDeleteAgentChannel } from "./useDeleteAgentChannel.js";
|
|
|
9
10
|
export { useConnectSlackChannel } from "./useConnectSlackChannel.js";
|
|
10
11
|
export { useInstallChannel } from "./useInstallChannel.js";
|
|
11
12
|
export { useChannelToolReadiness } from "./useChannelToolReadiness.js";
|
|
13
|
+
export { useChannelTemplateReadiness } from "./useChannelTemplateReadiness.js";
|
|
12
14
|
export { useChannelSessions } from "./useChannelSessions.js";
|
|
15
|
+
export { useChannelTemplateList } from "./useChannelTemplateList.js";
|
|
13
16
|
export { AgentChannelsPanel } from "./AgentChannelsPanel.js";
|
|
14
17
|
export { ConnectSlackDialog } from "./ConnectSlackDialog.js";
|
|
15
18
|
export { ConnectWhatsAppDialog } from "./ConnectWhatsAppDialog.js";
|
|
16
19
|
export { ChannelCredentialsDialog } from "./ChannelCredentialsDialog.js";
|
|
17
20
|
export { ChannelToolCredentials } from "./ChannelToolCredentials.js";
|
|
18
21
|
export { ChannelConversationsDialog } from "./ChannelConversationsDialog.js";
|
|
22
|
+
export { ChannelTemplatesDialog } from "./ChannelTemplatesDialog.js";
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
package/channel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOtE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOtE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/channel/providers.d.ts
CHANGED
|
@@ -40,6 +40,18 @@ export interface ChannelProviderDescriptor {
|
|
|
40
40
|
}>;
|
|
41
41
|
/** How this provider's install flow runs. */
|
|
42
42
|
readonly installStyle: ChannelInstallStyle;
|
|
43
|
+
/**
|
|
44
|
+
* Whether this provider has a message-template registry the console
|
|
45
|
+
* can list (`listTemplates`). Mirrors the server's proactive-sender
|
|
46
|
+
* registry, which is the de-facto provider filter behind that RPC —
|
|
47
|
+
* a provider with no registered sender answers `PROVIDER_UNSUPPORTED`.
|
|
48
|
+
*
|
|
49
|
+
* `false` for Slack is not a gap: Slack has no template concept at
|
|
50
|
+
* all, so consumers hide the Templates affordance entirely rather
|
|
51
|
+
* than disable it — a disabled item would falsely imply it may work
|
|
52
|
+
* there one day.
|
|
53
|
+
*/
|
|
54
|
+
readonly supportsMessageTemplates: boolean;
|
|
43
55
|
}
|
|
44
56
|
/**
|
|
45
57
|
* All channel providers this UI can render, in display order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,yBAAyB,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,yBAAyB,EAejE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,yBAAyB,GAAG,IAAI,CAElC"}
|
package/channel/providers.js
CHANGED
|
@@ -10,8 +10,20 @@ import { WhatsAppMarkIcon } from "./WhatsAppMarkIcon.js";
|
|
|
10
10
|
* demos. A third entry is the signal to fold these into a provider menu.
|
|
11
11
|
*/
|
|
12
12
|
export const CHANNEL_PROVIDERS = [
|
|
13
|
-
{
|
|
14
|
-
|
|
13
|
+
{
|
|
14
|
+
id: "slack",
|
|
15
|
+
label: "Slack",
|
|
16
|
+
Icon: SlackMarkIcon,
|
|
17
|
+
installStyle: "redirect",
|
|
18
|
+
supportsMessageTemplates: false,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "whatsapp",
|
|
22
|
+
label: "WhatsApp",
|
|
23
|
+
Icon: WhatsAppMarkIcon,
|
|
24
|
+
installStyle: "direct",
|
|
25
|
+
supportsMessageTemplates: true,
|
|
26
|
+
},
|
|
15
27
|
];
|
|
16
28
|
/**
|
|
17
29
|
* Resolve a provider descriptor from a `provider_config` oneof case name.
|
package/channel/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/channel/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAyDzD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,UAAU;QACxB,wBAAwB,EAAE,KAAK;KAChC;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,QAAQ;QACtB,wBAAwB,EAAE,IAAI;KAC/B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAgC;IAEhC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { StatusPhase } from "../resource-workbench/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Display helpers for provider message templates — the template
|
|
4
|
+
* counterpart of {@link ChannelProviderPresentation}'s module split:
|
|
5
|
+
* `ChannelTemplatesDialog` renders, this module decides how a
|
|
6
|
+
* provider-verbatim template projects onto the SDK's display
|
|
7
|
+
* vocabulary. Pure functions, one writer each.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Map a provider-verbatim template status onto a {@link StatusPhase}
|
|
11
|
+
* for `StatusBadge` coloring.
|
|
12
|
+
*
|
|
13
|
+
* The wire carries the provider's own vocabulary, never a Stigmer enum
|
|
14
|
+
* (DD-003 D6) — so the caller renders the verbatim status string as the
|
|
15
|
+
* badge label and uses this phase only for the color. WhatsApp's
|
|
16
|
+
* observed set exceeds the documented five (IN_APPEAL, LIMIT_EXCEEDED,
|
|
17
|
+
* PENDING_DELETION, DELETED occur, and Meta can add more), so unknown
|
|
18
|
+
* statuses deliberately land on `draft` — a neutral tone that renders
|
|
19
|
+
* the provider's word without claiming to understand it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function templateStatusPhase(status: string): StatusPhase;
|
|
22
|
+
/** One segment of a template body: literal text or a `{{...}}` placeholder. */
|
|
23
|
+
export interface TemplateBodySegment {
|
|
24
|
+
readonly kind: "text" | "placeholder";
|
|
25
|
+
/** The verbatim slice, braces included for placeholders (`"{{1}}"`). */
|
|
26
|
+
readonly value: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Split a template body into text and placeholder segments so the
|
|
30
|
+
* placeholders — the parts the agent fills at send time — can render
|
|
31
|
+
* visually distinct from the literal copy.
|
|
32
|
+
*
|
|
33
|
+
* The concatenation of all segment values is always the input,
|
|
34
|
+
* verbatim: this function classifies, it never rewrites.
|
|
35
|
+
*/
|
|
36
|
+
export declare function splitTemplateBody(body: string): readonly TemplateBodySegment[];
|
|
37
|
+
//# sourceMappingURL=templatePresentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templatePresentation.d.ts","sourceRoot":"","sources":["../../src/channel/templatePresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAmB/D;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,SAAS,mBAAmB,EAAE,CAchC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display helpers for provider message templates — the template
|
|
3
|
+
* counterpart of {@link ChannelProviderPresentation}'s module split:
|
|
4
|
+
* `ChannelTemplatesDialog` renders, this module decides how a
|
|
5
|
+
* provider-verbatim template projects onto the SDK's display
|
|
6
|
+
* vocabulary. Pure functions, one writer each.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Map a provider-verbatim template status onto a {@link StatusPhase}
|
|
10
|
+
* for `StatusBadge` coloring.
|
|
11
|
+
*
|
|
12
|
+
* The wire carries the provider's own vocabulary, never a Stigmer enum
|
|
13
|
+
* (DD-003 D6) — so the caller renders the verbatim status string as the
|
|
14
|
+
* badge label and uses this phase only for the color. WhatsApp's
|
|
15
|
+
* observed set exceeds the documented five (IN_APPEAL, LIMIT_EXCEEDED,
|
|
16
|
+
* PENDING_DELETION, DELETED occur, and Meta can add more), so unknown
|
|
17
|
+
* statuses deliberately land on `draft` — a neutral tone that renders
|
|
18
|
+
* the provider's word without claiming to understand it.
|
|
19
|
+
*/
|
|
20
|
+
export function templateStatusPhase(status) {
|
|
21
|
+
switch (status) {
|
|
22
|
+
case "APPROVED":
|
|
23
|
+
return "ready";
|
|
24
|
+
case "PENDING":
|
|
25
|
+
case "IN_APPEAL":
|
|
26
|
+
return "pending";
|
|
27
|
+
case "PAUSED":
|
|
28
|
+
case "LIMIT_EXCEEDED":
|
|
29
|
+
return "degraded";
|
|
30
|
+
case "REJECTED":
|
|
31
|
+
case "DISABLED":
|
|
32
|
+
return "failed";
|
|
33
|
+
case "PENDING_DELETION":
|
|
34
|
+
case "DELETED":
|
|
35
|
+
return "disabled";
|
|
36
|
+
default:
|
|
37
|
+
return "draft";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The provider's placeholder shape: `{{1}}` (positional) or
|
|
42
|
+
* `{{customer_name}}` (named). Single braces and unbalanced braces are
|
|
43
|
+
* literal text — the provider would not have accepted them either.
|
|
44
|
+
*/
|
|
45
|
+
const PLACEHOLDER = /\{\{\s*[A-Za-z0-9_]+\s*\}\}/g;
|
|
46
|
+
/**
|
|
47
|
+
* Split a template body into text and placeholder segments so the
|
|
48
|
+
* placeholders — the parts the agent fills at send time — can render
|
|
49
|
+
* visually distinct from the literal copy.
|
|
50
|
+
*
|
|
51
|
+
* The concatenation of all segment values is always the input,
|
|
52
|
+
* verbatim: this function classifies, it never rewrites.
|
|
53
|
+
*/
|
|
54
|
+
export function splitTemplateBody(body) {
|
|
55
|
+
const segments = [];
|
|
56
|
+
let lastIndex = 0;
|
|
57
|
+
for (const match of body.matchAll(PLACEHOLDER)) {
|
|
58
|
+
if (match.index > lastIndex) {
|
|
59
|
+
segments.push({ kind: "text", value: body.slice(lastIndex, match.index) });
|
|
60
|
+
}
|
|
61
|
+
segments.push({ kind: "placeholder", value: match[0] });
|
|
62
|
+
lastIndex = match.index + match[0].length;
|
|
63
|
+
}
|
|
64
|
+
if (lastIndex < body.length) {
|
|
65
|
+
segments.push({ kind: "text", value: body.slice(lastIndex) });
|
|
66
|
+
}
|
|
67
|
+
return segments;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=templatePresentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templatePresentation.js","sourceRoot":"","sources":["../../src/channel/templatePresentation.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AASD;;;;GAIG;AACH,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY;IAEZ,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { ChannelTemplate } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/message_io_pb";
|
|
2
|
+
/** Options for {@link useChannelTemplateList}. */
|
|
3
|
+
export interface UseChannelTemplateListOptions {
|
|
4
|
+
/**
|
|
5
|
+
* When `true`, only templates the provider will accept for sending
|
|
6
|
+
* are returned (WhatsApp: status APPROVED). The console leaves it
|
|
7
|
+
* unset to render every status with its badge; agent-composition
|
|
8
|
+
* surfaces set it so a model never drafts against a paused or
|
|
9
|
+
* pending template.
|
|
10
|
+
*/
|
|
11
|
+
readonly approvedOnly?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/** Return value of {@link useChannelTemplateList}. */
|
|
14
|
+
export interface UseChannelTemplateListReturn {
|
|
15
|
+
/**
|
|
16
|
+
* The channel provider's templates, verbatim, in provider order.
|
|
17
|
+
* Empty while loading, on error, and when the registry answered with
|
|
18
|
+
* no templates — `templates.length === 0 && !isLoading && !error`
|
|
19
|
+
* means the provider reported none, which callers should phrase as
|
|
20
|
+
* "none found" rather than "none exist" (an empty success is
|
|
21
|
+
* indistinguishable from a filtered or truncated one).
|
|
22
|
+
*/
|
|
23
|
+
readonly templates: readonly ChannelTemplate[];
|
|
24
|
+
/** `true` while the initial fetch is in flight and no data is shown. */
|
|
25
|
+
readonly isLoading: boolean;
|
|
26
|
+
/** `true` while a background refetch is in flight and stale data is shown. */
|
|
27
|
+
readonly isRefetching: boolean;
|
|
28
|
+
/** Error from the last failed request, or `null` when healthy. */
|
|
29
|
+
readonly error: Error | null;
|
|
30
|
+
/** Re-fetch the templates from the server. */
|
|
31
|
+
readonly refetch: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Data hook that lists a channel's message templates as the channel's
|
|
35
|
+
* provider registry reports them (`listTemplates`) — every field
|
|
36
|
+
* provider-verbatim, including approval `status`, the provider's
|
|
37
|
+
* `rejectionReason`, and Stigmer's own `unsupportedReason` (why this
|
|
38
|
+
* platform version cannot send an otherwise-approved template).
|
|
39
|
+
*
|
|
40
|
+
* The channel is addressed by `slug` + `org` (not id), because that is
|
|
41
|
+
* the RPC's key — the provider registry is derived from the channel's
|
|
42
|
+
* phone number, not stored on any Stigmer resource. Pass an empty
|
|
43
|
+
* `channelSlug` or `org` to skip fetching (stable no-op).
|
|
44
|
+
*
|
|
45
|
+
* While any entry is PENDING the hook polls every 60 seconds — the
|
|
46
|
+
* server's registry-cache TTL, so a faster interval would only re-read
|
|
47
|
+
* a cached answer. There is deliberately no `refetchInterval` option:
|
|
48
|
+
* the pending-only conditional poll is the hook's policy, and
|
|
49
|
+
* `approvedOnly` (a wire field) is the only knob exposed.
|
|
50
|
+
*
|
|
51
|
+
* Results are never cached across mounts: a template's approval status
|
|
52
|
+
* can change on the provider's side at any time, and rendering a stale
|
|
53
|
+
* "APPROVED" is exactly what this surface must not do.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* const { templates, isLoading, error } = useChannelTemplateList(
|
|
58
|
+
* channel.metadata?.slug ?? "",
|
|
59
|
+
* channel.metadata?.org ?? "",
|
|
60
|
+
* );
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function useChannelTemplateList(channelSlug: string, org: string, options?: UseChannelTemplateListOptions): UseChannelTemplateListReturn;
|
|
64
|
+
//# sourceMappingURL=useChannelTemplateList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelTemplateList.d.ts","sourceRoot":"","sources":["../../src/channel/useChannelTemplateList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AAKxG,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,sDAAsD;AACtD,MAAM,WAAW,4BAA4B;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,6BAA6B,GACtC,4BAA4B,CAuC9B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { create } from "@bufbuild/protobuf";
|
|
4
|
+
import { ListChannelTemplatesInputSchema } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/message_io_pb";
|
|
5
|
+
import { useStigmer } from "../hooks.js";
|
|
6
|
+
import { useFetch } from "../internal/useFetch.js";
|
|
7
|
+
/**
|
|
8
|
+
* How often to re-read the registry while any template is PENDING.
|
|
9
|
+
* Matches the server's template-cache TTL (60s) — polling faster only
|
|
10
|
+
* re-reads a cached answer.
|
|
11
|
+
*/
|
|
12
|
+
const PENDING_POLL_INTERVAL_MS = 60_000;
|
|
13
|
+
/**
|
|
14
|
+
* Data hook that lists a channel's message templates as the channel's
|
|
15
|
+
* provider registry reports them (`listTemplates`) — every field
|
|
16
|
+
* provider-verbatim, including approval `status`, the provider's
|
|
17
|
+
* `rejectionReason`, and Stigmer's own `unsupportedReason` (why this
|
|
18
|
+
* platform version cannot send an otherwise-approved template).
|
|
19
|
+
*
|
|
20
|
+
* The channel is addressed by `slug` + `org` (not id), because that is
|
|
21
|
+
* the RPC's key — the provider registry is derived from the channel's
|
|
22
|
+
* phone number, not stored on any Stigmer resource. Pass an empty
|
|
23
|
+
* `channelSlug` or `org` to skip fetching (stable no-op).
|
|
24
|
+
*
|
|
25
|
+
* While any entry is PENDING the hook polls every 60 seconds — the
|
|
26
|
+
* server's registry-cache TTL, so a faster interval would only re-read
|
|
27
|
+
* a cached answer. There is deliberately no `refetchInterval` option:
|
|
28
|
+
* the pending-only conditional poll is the hook's policy, and
|
|
29
|
+
* `approvedOnly` (a wire field) is the only knob exposed.
|
|
30
|
+
*
|
|
31
|
+
* Results are never cached across mounts: a template's approval status
|
|
32
|
+
* can change on the provider's side at any time, and rendering a stale
|
|
33
|
+
* "APPROVED" is exactly what this surface must not do.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* const { templates, isLoading, error } = useChannelTemplateList(
|
|
38
|
+
* channel.metadata?.slug ?? "",
|
|
39
|
+
* channel.metadata?.org ?? "",
|
|
40
|
+
* );
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export function useChannelTemplateList(channelSlug, org, options) {
|
|
44
|
+
const stigmer = useStigmer();
|
|
45
|
+
const approvedOnly = options?.approvedOnly ?? false;
|
|
46
|
+
// The pending-only poll rides useFetch's own guarded interval (the
|
|
47
|
+
// ONE polling implementation) rather than a second setInterval here.
|
|
48
|
+
// The interval cannot be derived inline — it depends on the data the
|
|
49
|
+
// same useFetch call returns — so it round-trips through state: data
|
|
50
|
+
// arrives, the effect below flips the interval, useFetch re-arms.
|
|
51
|
+
const [pollInterval, setPollInterval] = useState(false);
|
|
52
|
+
const fetchFn = channelSlug && org
|
|
53
|
+
? async () => {
|
|
54
|
+
const result = await stigmer.agentChannel.listTemplates(create(ListChannelTemplatesInputSchema, {
|
|
55
|
+
channel: channelSlug,
|
|
56
|
+
org,
|
|
57
|
+
approvedOnly,
|
|
58
|
+
}));
|
|
59
|
+
return result.entries;
|
|
60
|
+
}
|
|
61
|
+
: null;
|
|
62
|
+
const { data: templates, isLoading, isRefetching, error, refetch } = useFetch(fetchFn, [channelSlug, org, approvedOnly, stigmer], [], { refetchInterval: pollInterval });
|
|
63
|
+
const hasPending = templates.some((t) => t.status === "PENDING");
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
setPollInterval(hasPending ? PENDING_POLL_INTERVAL_MS : false);
|
|
66
|
+
}, [hasPending]);
|
|
67
|
+
return { templates, isLoading, isRefetching, error, refetch };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=useChannelTemplateList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelTemplateList.js","sourceRoot":"","sources":["../../src/channel/useChannelTemplateList.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAmCnD;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,GAAW,EACX,OAAuC;IAEvC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;IAEpD,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,KAAK,CAAC,CAAC;IAExE,MAAM,OAAO,GACX,WAAW,IAAI,GAAG;QAChB,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CACrD,MAAM,CAAC,+BAA+B,EAAE;gBACtC,OAAO,EAAE,WAAW;gBACpB,GAAG;gBACH,YAAY;aACb,CAAC,CACH,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAChE,QAAQ,CACN,OAAO,EACP,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EACzC,EAAuB,EACvB,EAAE,eAAe,EAAE,YAAY,EAAE,CAClC,CAAC;IAEJ,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { AgentChannel } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/api_pb";
|
|
2
|
+
/**
|
|
3
|
+
* Whether a channel can answer a template-registry read
|
|
4
|
+
* (`listTemplates`), and if not, which precondition fails first.
|
|
5
|
+
*
|
|
6
|
+
* - `cloud-only` — the deployment is not cloud; the template registry
|
|
7
|
+
* is part of the cloud channel runtime.
|
|
8
|
+
* - `not-installed` — the provider install has not completed (covers
|
|
9
|
+
* both pending and revoked; render the per-provider
|
|
10
|
+
* `describeChannel` sentence, which already distinguishes them).
|
|
11
|
+
* - `channel-off` — the owner's serving switch (`spec.enabled`) is off.
|
|
12
|
+
* - `not-proactive` — `spec.proactive_messaging_enabled` is not set;
|
|
13
|
+
* business-initiated messaging (and with it the template surface)
|
|
14
|
+
* is not granted on this channel.
|
|
15
|
+
* - `ready` — the read can be made.
|
|
16
|
+
*/
|
|
17
|
+
export type ChannelTemplateReadiness = {
|
|
18
|
+
readonly status: "cloud-only";
|
|
19
|
+
} | {
|
|
20
|
+
readonly status: "not-installed";
|
|
21
|
+
} | {
|
|
22
|
+
readonly status: "channel-off";
|
|
23
|
+
} | {
|
|
24
|
+
readonly status: "not-proactive";
|
|
25
|
+
} | {
|
|
26
|
+
readonly status: "ready";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Resolve whether a channel's template registry can be read, without a
|
|
30
|
+
* network call — the courtesy pre-check for the Templates surface.
|
|
31
|
+
*
|
|
32
|
+
* Mirrors the server's own gate order for `listTemplates`
|
|
33
|
+
* (`ChannelMessagingReach.resolveDirect`: installed → enabled →
|
|
34
|
+
* proactive grant), answering from fields already on the fetched
|
|
35
|
+
* {@link AgentChannel}. The server stays authoritative: a `ready`
|
|
36
|
+
* verdict here only means the call is worth making, and whatever the
|
|
37
|
+
* server then says wins.
|
|
38
|
+
*
|
|
39
|
+
* Two shape choices are deliberate. `channel-off` and `not-proactive`
|
|
40
|
+
* are split although the server collapses them into one refusal —
|
|
41
|
+
* their fixes differ (flip the card's serving switch vs. grant
|
|
42
|
+
* `proactive_messaging_enabled`). And `not-installed` stays coarse
|
|
43
|
+
* across pending/revoked, because `providerPresentation`'s
|
|
44
|
+
* `describeChannel` already renders the right sentence for each.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```tsx
|
|
48
|
+
* const readiness = useChannelTemplateReadiness(channel);
|
|
49
|
+
* if (readiness.status !== "ready") return <TeachingState ... />;
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function useChannelTemplateReadiness(channel: AgentChannel): ChannelTemplateReadiness;
|
|
53
|
+
//# sourceMappingURL=useChannelTemplateReadiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelTemplateReadiness.d.ts","sourceRoot":"","sources":["../../src/channel/useChannelTemplateReadiness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAI9F;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACpC;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,GACpB,wBAAwB,CAc1B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { AgentChannelInstallState } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/status_pb";
|
|
3
|
+
import { useDeploymentMode } from "../deployment-mode.js";
|
|
4
|
+
/**
|
|
5
|
+
* Resolve whether a channel's template registry can be read, without a
|
|
6
|
+
* network call — the courtesy pre-check for the Templates surface.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors the server's own gate order for `listTemplates`
|
|
9
|
+
* (`ChannelMessagingReach.resolveDirect`: installed → enabled →
|
|
10
|
+
* proactive grant), answering from fields already on the fetched
|
|
11
|
+
* {@link AgentChannel}. The server stays authoritative: a `ready`
|
|
12
|
+
* verdict here only means the call is worth making, and whatever the
|
|
13
|
+
* server then says wins.
|
|
14
|
+
*
|
|
15
|
+
* Two shape choices are deliberate. `channel-off` and `not-proactive`
|
|
16
|
+
* are split although the server collapses them into one refusal —
|
|
17
|
+
* their fixes differ (flip the card's serving switch vs. grant
|
|
18
|
+
* `proactive_messaging_enabled`). And `not-installed` stays coarse
|
|
19
|
+
* across pending/revoked, because `providerPresentation`'s
|
|
20
|
+
* `describeChannel` already renders the right sentence for each.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* const readiness = useChannelTemplateReadiness(channel);
|
|
25
|
+
* if (readiness.status !== "ready") return <TeachingState ... />;
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function useChannelTemplateReadiness(channel) {
|
|
29
|
+
const deploymentMode = useDeploymentMode();
|
|
30
|
+
if (deploymentMode !== "cloud")
|
|
31
|
+
return { status: "cloud-only" };
|
|
32
|
+
if (channel.status?.installState !== AgentChannelInstallState.installed) {
|
|
33
|
+
return { status: "not-installed" };
|
|
34
|
+
}
|
|
35
|
+
if (!channel.spec?.enabled)
|
|
36
|
+
return { status: "channel-off" };
|
|
37
|
+
if (!channel.spec.proactiveMessagingEnabled) {
|
|
38
|
+
return { status: "not-proactive" };
|
|
39
|
+
}
|
|
40
|
+
return { status: "ready" };
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=useChannelTemplateReadiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChannelTemplateReadiness.js","sourceRoot":"","sources":["../../src/channel/useChannelTemplateReadiness.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAwB1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAqB;IAErB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,cAAc,KAAK,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAChE,IACE,OAAO,CAAC,MAAM,EAAE,YAAY,KAAK,wBAAwB,CAAC,SAAS,EACnE,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC5C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ConfigureMenuItem } from "./ConfigureMenu.js";
|
|
2
2
|
import type { HarnessOption } from "../models/harness.js";
|
|
3
|
+
import type { ServiceTierOption } from "../models/service-tier.js";
|
|
3
4
|
import { type InteractionModeOption } from "./InteractionModePicker.js";
|
|
4
5
|
export interface ComposerToolbarProps {
|
|
5
6
|
readonly disabled: boolean;
|
|
@@ -23,6 +24,10 @@ export interface ComposerToolbarProps {
|
|
|
23
24
|
readonly showModelSelector: boolean;
|
|
24
25
|
readonly modelId?: string;
|
|
25
26
|
readonly onModelChange: (id: string) => void;
|
|
27
|
+
/** Current service tier for the selected model (#357). */
|
|
28
|
+
readonly serviceTier?: ServiceTierOption;
|
|
29
|
+
/** Enables the fast-tier toggle inside the model selector. */
|
|
30
|
+
readonly onServiceTierChange?: (tier: ServiceTierOption) => void;
|
|
26
31
|
readonly showWorkspace: boolean;
|
|
27
32
|
readonly workspaceCount: number;
|
|
28
33
|
/** Pre-built workspace editor content for the popover. */
|
|
@@ -61,5 +66,5 @@ export interface ComposerToolbarProps {
|
|
|
61
66
|
* Gestalt proximity (left = "what," right = "do"), and Nielsen H8 (minimal
|
|
62
67
|
* visual weight for secondary controls).
|
|
63
68
|
*/
|
|
64
|
-
export declare function ComposerToolbar({ disabled, isSubmitting, canSend, onSend, onStop, isStopping, showAttach, attachmentCount, onAttachClick, showWorkspace, workspaceCount, workspaceContent, onWorkspaceDirectAction, configureItems, configOpen, onConfigOpenChange, configActivePanel, onConfigActivePanelChange, renderConfigPanel, showHarnessSelector, harness, onHarnessChange, showInteractionModePicker, interactionMode, onInteractionModeChange, showModelSelector, modelId, onModelChange, }: ComposerToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export declare function ComposerToolbar({ disabled, isSubmitting, canSend, onSend, onStop, isStopping, showAttach, attachmentCount, onAttachClick, showWorkspace, workspaceCount, workspaceContent, onWorkspaceDirectAction, configureItems, configOpen, onConfigOpenChange, configActivePanel, onConfigActivePanelChange, renderConfigPanel, showHarnessSelector, harness, onHarnessChange, showInteractionModePicker, interactionMode, onInteractionModeChange, showModelSelector, modelId, onModelChange, serviceTier, onServiceTierChange, }: ComposerToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
65
70
|
//# sourceMappingURL=ComposerToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerToolbar.d.ts","sourceRoot":"","sources":["../../src/composer/ComposerToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAS/F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAI9B,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3D,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAExE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposerToolbar.d.ts","sourceRoot":"","sources":["../../src/composer/ComposerToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,9 +23,9 @@ import { PaperclipIcon, WorkspaceIcon, ArrowUpIcon, SpinnerIcon, StopIcon, } fro
|
|
|
23
23
|
* Gestalt proximity (left = "what," right = "do"), and Nielsen H8 (minimal
|
|
24
24
|
* visual weight for secondary controls).
|
|
25
25
|
*/
|
|
26
|
-
export function ComposerToolbar({ disabled, isSubmitting, canSend, onSend, onStop, isStopping = false, showAttach, attachmentCount, onAttachClick, showWorkspace, workspaceCount, workspaceContent, onWorkspaceDirectAction, configureItems, configOpen, onConfigOpenChange, configActivePanel, onConfigActivePanelChange, renderConfigPanel, showHarnessSelector, harness, onHarnessChange, showInteractionModePicker, interactionMode, onInteractionModeChange, showModelSelector, modelId, onModelChange, }) {
|
|
26
|
+
export function ComposerToolbar({ disabled, isSubmitting, canSend, onSend, onStop, isStopping = false, showAttach, attachmentCount, onAttachClick, showWorkspace, workspaceCount, workspaceContent, onWorkspaceDirectAction, configureItems, configOpen, onConfigOpenChange, configActivePanel, onConfigActivePanelChange, renderConfigPanel, showHarnessSelector, harness, onHarnessChange, showInteractionModePicker, interactionMode, onInteractionModeChange, showModelSelector, modelId, onModelChange, serviceTier, onServiceTierChange, }) {
|
|
27
27
|
const showHarnessSeparate = showHarnessSelector && !showModelSelector;
|
|
28
|
-
return (_jsxs("div", { className: "flex items-center justify-between gap-2 border-t border-border-muted px-3 py-2", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [showInteractionModePicker && (_jsx(InteractionModePicker, { value: interactionMode ?? "agent", onValueChange: onInteractionModeChange, disabled: disabled })), showHarnessSeparate && (_jsx(HarnessSelector, { value: harness ?? "native", onValueChange: onHarnessChange, disabled: disabled })), showModelSelector && (_jsx(ModelSelector, { value: modelId, onValueChange: onModelChange, harness: showHarnessSelector ? undefined : harness, initialHarness: showHarnessSelector ? harness : undefined, onHarnessChange: showHarnessSelector ? onHarnessChange : undefined, disabled: disabled }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [showWorkspace && (onWorkspaceDirectAction
|
|
28
|
+
return (_jsxs("div", { className: "flex items-center justify-between gap-2 border-t border-border-muted px-3 py-2", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [showInteractionModePicker && (_jsx(InteractionModePicker, { value: interactionMode ?? "agent", onValueChange: onInteractionModeChange, disabled: disabled })), showHarnessSeparate && (_jsx(HarnessSelector, { value: harness ?? "native", onValueChange: onHarnessChange, disabled: disabled })), showModelSelector && (_jsx(ModelSelector, { value: modelId, onValueChange: onModelChange, harness: showHarnessSelector ? undefined : harness, initialHarness: showHarnessSelector ? harness : undefined, onHarnessChange: showHarnessSelector ? onHarnessChange : undefined, serviceTier: serviceTier, onServiceTierChange: onServiceTierChange, disabled: disabled }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [showWorkspace && (onWorkspaceDirectAction
|
|
29
29
|
? _jsx("button", { type: "button", disabled: disabled, onClick: onWorkspaceDirectAction, title: "Workspace", className: cn("inline-flex h-8 w-8 items-center justify-center rounded-md text-xs transition-colors", "text-muted-foreground hover:text-foreground hover:bg-accent-hover", "disabled:pointer-events-none disabled:opacity-50"), "aria-label": "Workspace", children: _jsxs("span", { className: "relative", children: [_jsx(WorkspaceIcon, {}), workspaceCount > 0 && (_jsx("span", { className: "absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-primary px-0.5 text-[0.5rem] font-medium leading-none text-primary-foreground", children: workspaceCount }))] }) })
|
|
30
30
|
: _jsx(ContextPopover, { icon: _jsx(WorkspaceIcon, {}), label: "Workspace", count: workspaceCount, disabled: disabled, children: workspaceContent })), showAttach && (_jsx("button", { type: "button", disabled: disabled, onClick: onAttachClick, title: "Attach files", className: cn("inline-flex h-8 w-8 items-center justify-center rounded-md text-xs transition-colors", "text-muted-foreground hover:text-foreground hover:bg-accent-hover", "disabled:pointer-events-none disabled:opacity-50"), "aria-label": "Attach files", children: _jsxs("span", { className: "relative", children: [_jsx(PaperclipIcon, {}), attachmentCount > 0 && (_jsx("span", { className: "absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-primary px-0.5 text-[0.5rem] font-medium leading-none text-primary-foreground", children: attachmentCount }))] }) })), _jsx(ConfigureMenu, { open: configOpen, onOpenChange: onConfigOpenChange, activePanel: configActivePanel, onActivePanelChange: onConfigActivePanelChange, items: configureItems, renderPanel: renderConfigPanel, disabled: disabled }), onStop ? (
|
|
31
31
|
// Circular container (vs. Send's rounded-square) gives the square glyph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerToolbar.js","sourceRoot":"","sources":["../../src/composer/ComposerToolbar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAA0B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposerToolbar.js","sourceRoot":"","sources":["../../src/composer/ComposerToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AttachmentInput, type EnvVarInput, type McpServerUsageInput, type ResourceRef } from "@stigmer/sdk";
|
|
2
2
|
import type { HarnessOption } from "../models/harness.js";
|
|
3
|
+
import type { ServiceTierOption } from "../models/service-tier.js";
|
|
3
4
|
import type { InteractionModeOption } from "./InteractionModePicker.js";
|
|
4
5
|
import { type AgentResolution } from "../agent/useAgentSetup.js";
|
|
5
6
|
import type { UseSessionVariablesReturn } from "../execution/useSessionVariables.js";
|
|
@@ -103,6 +104,14 @@ export interface SessionComposerSubmitContext {
|
|
|
103
104
|
* Pass to execution creation as `execution_config.interaction_mode`.
|
|
104
105
|
*/
|
|
105
106
|
readonly interactionMode?: InteractionModeOption;
|
|
107
|
+
/**
|
|
108
|
+
* Service tier the user actively selected for this execution
|
|
109
|
+
* (stigmer/stigmer#357). Only ever `"fast"` — an untouched toggle means
|
|
110
|
+
* "platform default" and is carried as `undefined`, preserving the
|
|
111
|
+
* unspecified-vs-explicit distinction all the way to the ledger.
|
|
112
|
+
* Pass to execution creation as `execution_config.service_tier`.
|
|
113
|
+
*/
|
|
114
|
+
readonly serviceTier?: ServiceTierOption;
|
|
106
115
|
/**
|
|
107
116
|
* Workspace-relative file paths the user referenced via drag-to-reference.
|
|
108
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../src/composer/SessionComposer.tsx"],"names":[],"mappings":"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"}
|