@elqnt/agents 3.2.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.mts +16 -1
- package/dist/api/index.d.ts +16 -1
- package/dist/api/index.js +8 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +7 -1
- package/dist/api/server.d.mts +7 -1
- package/dist/api/server.d.ts +7 -1
- package/dist/api/server.js +8 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/server.mjs +7 -0
- package/dist/api/server.mjs.map +1 -1
- package/dist/{chunk-GOHHT3ET.mjs → chunk-BT33DRUI.mjs} +20 -1
- package/dist/chunk-BT33DRUI.mjs.map +1 -0
- package/dist/{chunk-ZK27UGO6.mjs → chunk-JCPMUFOP.mjs} +1 -1
- package/dist/{chunk-BH2FIDFK.js → chunk-KA7N4YTF.js} +22 -3
- package/dist/chunk-KA7N4YTF.js.map +1 -0
- package/dist/{chunk-2QL3LLC3.mjs → chunk-MNFZXJ2Y.mjs} +72 -33
- package/dist/chunk-MNFZXJ2Y.mjs.map +1 -0
- package/dist/{chunk-AF4QJD73.js → chunk-PKLT6GDN.js} +124 -85
- package/dist/chunk-PKLT6GDN.js.map +1 -0
- package/dist/{chunk-3VM5TCJR.js → chunk-VGWUFWOE.js} +1 -1
- package/dist/{chunk-3VM5TCJR.js.map → chunk-VGWUFWOE.js.map} +1 -1
- package/dist/hooks/index.d.mts +32 -1
- package/dist/hooks/index.d.ts +32 -1
- package/dist/hooks/index.js +5 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +4 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -3
- package/dist/models/index.d.mts +1 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +2 -2
- package/dist/models/index.mjs +1 -1
- package/dist/structured-Bs0IjwLD.d.mts +35 -0
- package/dist/structured-Bs0IjwLD.d.ts +35 -0
- package/package.json +2 -2
- package/dist/chunk-2QL3LLC3.mjs.map +0 -1
- package/dist/chunk-AF4QJD73.js.map +0 -1
- package/dist/chunk-BH2FIDFK.js.map +0 -1
- package/dist/chunk-GOHHT3ET.mjs.map +0 -1
- /package/dist/{chunk-ZK27UGO6.mjs.map → chunk-JCPMUFOP.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-PKLT6GDN.js","../hooks/use-agents.ts","../hooks/use-options-ref.ts","../hooks/use-skills.ts","../hooks/use-sub-agents.ts","../hooks/use-tool-definitions.ts","../hooks/use-agent-jobs.ts","../hooks/use-widgets.ts","../hooks/use-skill-user-config.ts","../hooks/use-analytics.ts","../hooks/use-integrations.ts","../hooks/use-sandbox.ts","../hooks/use-structured-output.ts","../hooks/use-scheduler-tasks.ts","../hooks/use-scheduler-schedules.ts","../hooks/use-background-agents.ts"],"names":["useMemo","useRef","bgStatus","bgMessage"],"mappings":"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","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-PKLT6GDN.js","sourcesContent":[null,"\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport type { Agent, AgentSummary } from \"../models\";\nimport {\n listAgentsApi,\n listAgentsSummaryApi,\n getAgentApi,\n createAgentApi,\n updateAgentApi,\n deleteAgentApi,\n getDefaultAgentApi,\n exportAgentApi,\n importAgentApi,\n} from \"../api\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAgentsOptions = ApiClientOptions;\n\n/**\n * Hook for agent CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listAgents, createAgent } = useAgents({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const agents = await listAgents();\n * ```\n */\nexport function useAgents(options: UseAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listAgents, loading: listLoading, error: listError } = useApiAsync(\n () => listAgentsApi(optionsRef.current),\n (data) => data.agents,\n [] as Agent[]\n );\n\n const { execute: listAgentSummaries, loading: listSummaryLoading, error: listSummaryError } = useApiAsync(\n () => listAgentsSummaryApi(optionsRef.current),\n (data) => data.agents,\n [] as AgentSummary[]\n );\n\n const { execute: getAgent, loading: getLoading, error: getError } = useApiAsync(\n (agentId: string) => getAgentApi(agentId, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: createAgent, loading: createLoading, error: createError } = useApiAsync(\n (agent: Partial<Agent>) => createAgentApi(agent, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: updateAgent, loading: updateLoading, error: updateError } = useApiAsync(\n (agentId: string, agent: Partial<Agent>) => updateAgentApi(agentId, agent, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: deleteAgent, loading: deleteLoading, error: deleteError } = useApiAsync(\n (agentId: string) => deleteAgentApi(agentId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: getDefaultAgent, loading: defaultLoading, error: defaultError } = useApiAsync(\n () => getDefaultAgentApi(optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const exportAgent = async (agentId: string) => {\n const agent = await exportAgentApi(agentId, optionsRef.current);\n const json = JSON.stringify(agent, null, 2);\n const blob = new Blob([json], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = `${agent.name || \"agent\"}.agent.json`;\n a.click();\n URL.revokeObjectURL(url);\n return agent;\n };\n\n const { execute: importAgent, loading: importLoading, error: importError } = useApiAsync(\n (agent: Agent) => importAgentApi(agent, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const loading = listLoading || listSummaryLoading || getLoading || createLoading || updateLoading || deleteLoading || defaultLoading || importLoading;\n const error = listError || listSummaryError || getError || createError || updateError || deleteError || defaultError || importError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listAgents,\n listAgentSummaries,\n getAgent,\n createAgent,\n updateAgent,\n deleteAgent,\n getDefaultAgent,\n exportAgent,\n importAgent,\n }),\n [loading, error, listAgents, listAgentSummaries, getAgent, createAgent, updateAgent, deleteAgent, getDefaultAgent, exportAgent, importAgent]\n );\n}\n","\"use client\";\n\n/**\n * Options reference utility for React hooks\n *\n * Keeps a mutable ref synchronized with options to avoid\n * stale closures in callbacks while preventing unnecessary re-renders.\n */\n\nimport { useRef, useEffect } from \"react\";\n\n/**\n * Creates a ref that stays synchronized with the provided options.\n * Useful for accessing current options values in callbacks without\n * causing re-renders or stale closure issues.\n *\n * @param options - The options object to track\n * @returns A ref that always contains the latest options\n *\n * @example\n * ```tsx\n * const optionsRef = useOptionsRef(options);\n *\n * const fetchData = useCallback(async () => {\n * // Always has the latest options, no stale closure\n * const result = await api.fetch(optionsRef.current);\n * }, []); // No need to include options in deps\n * ```\n */\nexport function useOptionsRef<T>(options: T): React.MutableRefObject<T> {\n const optionsRef = useRef(options);\n\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n return optionsRef;\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { Skill } from \"../models\";\nimport {\n listSkillsApi,\n getSkillApi,\n createSkillApi,\n updateSkillApi,\n deleteSkillApi,\n getSkillCategoriesApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSkillsOptions = ApiClientOptions;\n\n/**\n * Hook for skill CRUD operations\n */\nexport function useSkills(options: UseSkillsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSkills, loading: listLoading, error: listError } = useApiAsync(\n () => listSkillsApi(optionsRef.current),\n (data) => data.skills,\n [] as Skill[]\n );\n\n const { execute: getSkill, loading: getLoading, error: getError } = useApiAsync(\n (skillId: string) => getSkillApi(skillId, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: createSkill, loading: createLoading, error: createError } = useApiAsync(\n (skill: Partial<Skill>) => createSkillApi(skill, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: updateSkill, loading: updateLoading, error: updateError } = useApiAsync(\n (skillId: string, skill: Partial<Skill>) => updateSkillApi(skillId, skill, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: deleteSkill, loading: deleteLoading, error: deleteError } = useApiAsync(\n (skillId: string) => deleteSkillApi(skillId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: getCategories, loading: categoriesLoading, error: categoriesError } = useApiAsync(\n () => getSkillCategoriesApi(optionsRef.current),\n (data) => data.categories,\n [] as string[]\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading || categoriesLoading;\n const error = listError || getError || createError || updateError || deleteError || categoriesError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSkills,\n getSkill,\n createSkill,\n updateSkill,\n deleteSkill,\n getCategories,\n }),\n [loading, error, listSkills, getSkill, createSkill, updateSkill, deleteSkill, getCategories]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { SubAgent } from \"../models\";\nimport {\n listSubAgentsApi,\n getSubAgentApi,\n createSubAgentApi,\n updateSubAgentApi,\n deleteSubAgentApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSubAgentsOptions = ApiClientOptions;\n\n/**\n * Hook for sub-agent CRUD operations\n */\nexport function useSubAgents(options: UseSubAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSubAgents, loading: listLoading, error: listError } = useApiAsync(\n () => listSubAgentsApi(optionsRef.current),\n (data) => data.subAgents,\n [] as SubAgent[]\n );\n\n const { execute: getSubAgent, loading: getLoading, error: getError } = useApiAsync(\n (subAgentId: string) => getSubAgentApi(subAgentId, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: createSubAgent, loading: createLoading, error: createError } = useApiAsync(\n (subAgent: Partial<SubAgent>) => createSubAgentApi(subAgent, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: updateSubAgent, loading: updateLoading, error: updateError } = useApiAsync(\n (subAgentId: string, subAgent: Partial<SubAgent>) => updateSubAgentApi(subAgentId, subAgent, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: deleteSubAgent, loading: deleteLoading, error: deleteError } = useApiAsync(\n (subAgentId: string) => deleteSubAgentApi(subAgentId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading;\n const error = listError || getError || createError || updateError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSubAgents,\n getSubAgent,\n createSubAgent,\n updateSubAgent,\n deleteSubAgent,\n }),\n [loading, error, listSubAgents, getSubAgent, createSubAgent, updateSubAgent, deleteSubAgent]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ToolDefinition } from \"../models\";\nimport {\n listToolDefinitionsApi,\n getToolDefinitionApi,\n createToolDefinitionApi,\n updateToolDefinitionApi,\n deleteToolDefinitionApi,\n getToolDefinitionsByIdsApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseToolDefinitionsOptions = ApiClientOptions;\n\n/**\n * Hook for tool definition CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listToolDefinitions, createToolDefinition } = useToolDefinitions({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const toolDefs = await listToolDefinitions();\n * ```\n */\nexport function useToolDefinitions(options: UseToolDefinitionsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listToolDefinitions, loading: listLoading, error: listError } = useApiAsync(\n () => listToolDefinitionsApi(optionsRef.current),\n (data) => data.toolDefinitions,\n [] as ToolDefinition[]\n );\n\n const { execute: getToolDefinition, loading: getLoading, error: getError } = useApiAsync(\n (toolDefId: string) => getToolDefinitionApi(toolDefId, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: getToolDefinitionsByIds, loading: getByIdsLoading, error: getByIdsError } = useApiAsync(\n (ids: string[]) => getToolDefinitionsByIdsApi(ids, optionsRef.current),\n (data) => data.toolDefinitions,\n [] as ToolDefinition[]\n );\n\n const { execute: createToolDefinition, loading: createLoading, error: createError } = useApiAsync(\n (toolDefinition: Partial<ToolDefinition>) => createToolDefinitionApi(toolDefinition, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: updateToolDefinition, loading: updateLoading, error: updateError } = useApiAsync(\n (toolDefId: string, toolDefinition: Partial<ToolDefinition>) => updateToolDefinitionApi(toolDefId, toolDefinition, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: deleteToolDefinition, loading: deleteLoading, error: deleteError } = useApiAsync(\n (toolDefId: string) => deleteToolDefinitionApi(toolDefId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || getByIdsLoading || createLoading || updateLoading || deleteLoading;\n const error = listError || getError || getByIdsError || createError || updateError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listToolDefinitions,\n getToolDefinition,\n getToolDefinitionsByIds,\n createToolDefinition,\n updateToolDefinition,\n deleteToolDefinition,\n }),\n [loading, error, listToolDefinitions, getToolDefinition, getToolDefinitionsByIds, createToolDefinition, updateToolDefinition, deleteToolDefinition]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentJob } from \"../models\";\nimport {\n listAgentJobsApi,\n getAgentJobApi,\n createAgentJobApi,\n updateAgentJobApi,\n deleteAgentJobApi,\n pauseAgentJobApi,\n resumeAgentJobApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAgentJobsOptions = ApiClientOptions;\n\n/**\n * Hook for agent job CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listAgentJobs, createAgentJob, pauseAgentJob } = useAgentJobs({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const jobs = await listAgentJobs();\n * await pauseAgentJob(jobId);\n * ```\n */\nexport function useAgentJobs(options: UseAgentJobsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listAgentJobs, loading: listLoading, error: listError } = useApiAsync(\n () => listAgentJobsApi(optionsRef.current),\n (data) => data.jobs,\n [] as AgentJob[]\n );\n\n const { execute: getAgentJob, loading: getLoading, error: getError } = useApiAsync(\n (jobId: string) => getAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: createAgentJob, loading: createLoading, error: createError } = useApiAsync(\n (job: Partial<AgentJob>) => createAgentJobApi(job, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: updateAgentJob, loading: updateLoading, error: updateError } = useApiAsync(\n (jobId: string, job: Partial<AgentJob>) => updateAgentJobApi(jobId, job, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: deleteAgentJob, loading: deleteLoading, error: deleteError } = useApiAsync(\n (jobId: string) => deleteAgentJobApi(jobId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: pauseAgentJob, loading: pauseLoading, error: pauseError } = useApiAsync(\n (jobId: string) => pauseAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: resumeAgentJob, loading: resumeLoading, error: resumeError } = useApiAsync(\n (jobId: string) => resumeAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading || pauseLoading || resumeLoading;\n const error = listError || getError || createError || updateError || deleteError || pauseError || resumeError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listAgentJobs,\n getAgentJob,\n createAgentJob,\n updateAgentJob,\n deleteAgentJob,\n pauseAgentJob,\n resumeAgentJob,\n }),\n [loading, error, listAgentJobs, getAgentJob, createAgentJob, updateAgentJob, deleteAgentJob, pauseAgentJob, resumeAgentJob]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentWidget } from \"../models\";\nimport {\n listWidgetsApi,\n getWidgetApi,\n createWidgetApi,\n updateWidgetApi,\n deleteWidgetApi,\n getDefaultWidgetApi,\n setDefaultWidgetApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport interface UseWidgetsOptions extends ApiClientOptions {\n agentId: string;\n}\n\n/**\n * Hook for widget CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listWidgets, createWidget } = useWidgets({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * agentId: selectedAgentId,\n * });\n *\n * const widgets = await listWidgets();\n * ```\n */\nexport function useWidgets(options: UseWidgetsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listWidgets, loading: listLoading, error: listError } = useApiAsync(\n () => listWidgetsApi(optionsRef.current.agentId, optionsRef.current),\n (data) => data.widgets,\n [] as AgentWidget[]\n );\n\n const { execute: getWidget, loading: getLoading, error: getError } = useApiAsync(\n (widgetId: string) => getWidgetApi(widgetId, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: getDefaultWidget, loading: defaultLoading, error: defaultError } = useApiAsync(\n () => getDefaultWidgetApi(optionsRef.current.agentId, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: createWidget, loading: createLoading, error: createError } = useApiAsync(\n (widget: Partial<AgentWidget>) => createWidgetApi(optionsRef.current.agentId, widget, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: updateWidget, loading: updateLoading, error: updateError } = useApiAsync(\n (widgetId: string, widget: Partial<AgentWidget>) => updateWidgetApi(widgetId, widget, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: deleteWidget, loading: deleteLoading, error: deleteError } = useApiAsync(\n (widgetId: string) => deleteWidgetApi(widgetId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: setDefaultWidget, loading: setDefaultLoading, error: setDefaultError } = useApiAsync(\n (widgetId: string) => setDefaultWidgetApi(widgetId, optionsRef.current.agentId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || defaultLoading || createLoading || updateLoading || deleteLoading || setDefaultLoading;\n const error = listError || getError || defaultError || createError || updateError || deleteError || setDefaultError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listWidgets,\n getWidget,\n getDefaultWidget,\n createWidget,\n updateWidget,\n deleteWidget,\n setDefaultWidget,\n }),\n [loading, error, listWidgets, getWidget, getDefaultWidget, createWidget, updateWidget, deleteWidget, setDefaultWidget]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { SkillUserConfig, ResolveSkillConfigResponse } from \"../models\";\nimport {\n getSkillUserConfigApi,\n updateSkillUserConfigApi,\n deleteSkillUserConfigApi,\n listSkillUserConfigsApi,\n resolveSkillConfigApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSkillUserConfigOptions = ApiClientOptions;\n\n/**\n * Hook for skill user configuration operations\n *\n * @example\n * ```tsx\n * const { loading, error, getSkillUserConfig, updateSkillUserConfig } = useSkillUserConfig({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const config = await getSkillUserConfig(skillId);\n * await updateSkillUserConfig(skillId, { enabled: true });\n * ```\n */\nexport function useSkillUserConfig(options: UseSkillUserConfigOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: getSkillUserConfig, loading: getLoading, error: getError } = useApiAsync(\n (skillId: string, agentId?: string) =>\n getSkillUserConfigApi(skillId, { ...optionsRef.current, agentId }),\n (data) => data.userConfig || null,\n null as SkillUserConfig | null\n );\n\n const { execute: updateSkillUserConfig, loading: updateLoading, error: updateError } = useApiAsync(\n (\n skillId: string,\n data: { enabled?: boolean; displayOrder?: number; config?: Record<string, unknown>; agentId?: string }\n ) => updateSkillUserConfigApi(skillId, data, optionsRef.current),\n (data) => data.userConfig || null,\n null as SkillUserConfig | null\n );\n\n const { execute: deleteSkillUserConfig, loading: deleteLoading, error: deleteError } = useApiAsync(\n (skillId: string, agentId?: string) =>\n deleteSkillUserConfigApi(skillId, { ...optionsRef.current, agentId }),\n () => true,\n false\n );\n\n const { execute: listSkillUserConfigs, loading: listLoading, error: listError } = useApiAsync(\n (params?: { agentId?: string; limit?: number; offset?: number }) =>\n listSkillUserConfigsApi({ ...optionsRef.current, ...params }),\n (data) => data.userConfigs || [],\n [] as SkillUserConfig[]\n );\n\n const { execute: resolveSkillConfig, loading: resolveLoading, error: resolveError } = useApiAsync(\n (skillId: string, agentId: string) => resolveSkillConfigApi(skillId, agentId, optionsRef.current),\n (data) => data,\n null as ResolveSkillConfigResponse | null\n );\n\n const loading = getLoading || updateLoading || deleteLoading || listLoading || resolveLoading;\n const error = getError || updateError || deleteError || listError || resolveError;\n\n return useMemo(\n () => ({\n loading,\n error,\n getSkillUserConfig,\n updateSkillUserConfig,\n deleteSkillUserConfig,\n listSkillUserConfigs,\n resolveSkillConfig,\n }),\n [loading, error, getSkillUserConfig, updateSkillUserConfig, deleteSkillUserConfig, listSkillUserConfigs, resolveSkillConfig]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n getAgentChatsAnalyticsApi,\n getAgentCSATAnalyticsApi,\n getAgentListAnalyticsApi,\n getTaskOutcomesApi,\n type DateFilter,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAnalyticsOptions = ApiClientOptions;\n\n/**\n * Hook for agent analytics operations\n *\n * @example\n * ```tsx\n * const { loading, error, getAgentChatsAnalytics, getAgentCSATAnalytics } = useAnalytics({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const chatsData = await getAgentChatsAnalytics({ from: '2024-01-01', to: '2024-12-31' });\n * ```\n */\nexport function useAnalytics(options: UseAnalyticsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: getAgentChatsAnalytics, loading: chatsLoading, error: chatsError } = useApiAsync(\n (params: { date_filter: DateFilter; agent_id?: string }) =>\n getAgentChatsAnalyticsApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getAgentCSATAnalytics, loading: csatLoading, error: csatError } = useApiAsync(\n (params: { date_filter: DateFilter; agent_id?: string }) =>\n getAgentCSATAnalyticsApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getAgentListAnalytics, loading: listLoading, error: listError } = useApiAsync(\n () => getAgentListAnalyticsApi(optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getTaskOutcomes, loading: taskLoading, error: taskError } = useApiAsync(\n (params: { date_filter: DateFilter }) => getTaskOutcomesApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const loading = chatsLoading || csatLoading || listLoading || taskLoading;\n const error = chatsError || csatError || listError || taskError;\n\n return useMemo(\n () => ({\n loading,\n error,\n getAgentChatsAnalytics,\n getAgentCSATAnalytics,\n getAgentListAnalytics,\n getTaskOutcomes,\n }),\n [loading, error, getAgentChatsAnalytics, getAgentCSATAnalytics, getAgentListAnalytics, getTaskOutcomes]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { UserIntegration, IntegrationProviderTS, IntegrationTypeTS } from \"../models\";\nimport {\n listIntegrationsApi,\n getIntegrationApi,\n connectIntegrationApi,\n disconnectIntegrationApi,\n refreshIntegrationApi,\n updateIntegrationTriageApi,\n runEmailTriageApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseIntegrationsOptions = ApiClientOptions;\n\n/**\n * Hook for user integration operations (OAuth connections)\n *\n * @example\n * ```tsx\n * const { loading, error, listIntegrations, connectIntegration, disconnectIntegration } = useIntegrations({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const integrations = await listIntegrations();\n * const { auth_url } = await connectIntegration({ provider: 'google', integrationType: 'email', redirectUri: '/callback' });\n * ```\n */\nexport function useIntegrations(options: UseIntegrationsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listIntegrations, loading: listLoading, error: listError } = useApiAsync(\n () => listIntegrationsApi(optionsRef.current),\n (data) => data.integrations,\n [] as UserIntegration[]\n );\n\n const { execute: getIntegration, loading: getLoading, error: getError } = useApiAsync(\n (provider: IntegrationProviderTS, integrationType: IntegrationTypeTS) =>\n getIntegrationApi(provider, integrationType, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: connectIntegration, loading: connectLoading, error: connectError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS; redirectUri: string }) =>\n connectIntegrationApi(params, optionsRef.current),\n (data) => ({ authUrl: data.auth_url, state: data.state }),\n null as { authUrl: string; state: string } | null\n );\n\n const { execute: disconnectIntegration, loading: disconnectLoading, error: disconnectError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS }) =>\n disconnectIntegrationApi(params, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: refreshIntegration, loading: refreshLoading, error: refreshError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS }) =>\n refreshIntegrationApi(params, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: updateTriage, loading: updateTriageLoading, error: updateTriageError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS; triageEnabled: boolean }) =>\n updateIntegrationTriageApi(params, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: runEmailTriage, loading: runTriageLoading, error: runTriageError } = useApiAsync(\n () => runEmailTriageApi(optionsRef.current),\n (data) => ({ success: data.success, emailsFound: data.emails_found, instancesCreated: data.instances_created }),\n null as { success: boolean; emailsFound: number; instancesCreated: number } | null\n );\n\n const loading = listLoading || getLoading || connectLoading || disconnectLoading || refreshLoading || updateTriageLoading || runTriageLoading;\n const error = listError || getError || connectError || disconnectError || refreshError || updateTriageError || runTriageError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listIntegrations,\n getIntegration,\n connectIntegration,\n disconnectIntegration,\n refreshIntegration,\n updateTriage,\n runEmailTriage,\n }),\n [loading, error, listIntegrations, getIntegration, connectIntegration, disconnectIntegration, refreshIntegration, updateTriage, runEmailTriage]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { Sandbox, CreateSandboxRequest } from \"../models\";\nimport {\n createSandboxApi,\n getSandboxApi,\n updateSandboxApi,\n listSandboxesApi,\n deleteSandboxApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSandboxOptions = ApiClientOptions;\n\n/**\n * Hook for sandbox operations (AI-generated HTML sandboxes)\n *\n * @example\n * ```tsx\n * const { createSandbox, getSandbox, listSandboxes, loading, error } = useSandbox({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const result = await createSandbox({ prompt: \"Create a bar chart showing sales data\" });\n * console.log(result.url); // sandbox URL\n * ```\n */\nexport function useSandbox(options: UseSandboxOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: createSandbox, loading: createLoading, error: createError } = useApiAsync(\n (request: Omit<CreateSandboxRequest, \"orgId\">) => createSandboxApi(request, optionsRef.current),\n (data) => ({ id: data.id, url: data.url, sandbox: data.sandbox }),\n null as { id: string; url: string; sandbox?: Sandbox } | null\n );\n\n const { execute: getSandbox, loading: getLoading, error: getError } = useApiAsync(\n (sandboxId: string) => getSandboxApi(sandboxId, optionsRef.current),\n (data) => data.sandbox || null,\n null as Sandbox | null\n );\n\n const { execute: updateSandbox, loading: updateLoading, error: updateError } = useApiAsync(\n (sandboxId: string, request: { prompt: string; title?: string }) =>\n updateSandboxApi(sandboxId, request, optionsRef.current),\n (data) => ({ id: data.id, url: data.url, sandbox: data.sandbox }),\n null as { id: string; url: string; sandbox?: Sandbox } | null\n );\n\n const { execute: listSandboxes, loading: listLoading, error: listError } = useApiAsync(\n (limit?: number) => listSandboxesApi({ ...optionsRef.current, limit }),\n (data) => ({ sandboxes: data.sandboxes, total: data.total }),\n { sandboxes: [] as Sandbox[], total: 0 }\n );\n\n const { execute: deleteSandbox, loading: deleteLoading, error: deleteError } = useApiAsync(\n (sandboxId: string) => deleteSandboxApi(sandboxId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const loading = createLoading || getLoading || updateLoading || listLoading || deleteLoading;\n const error = createError || getError || updateError || listError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n createSandbox,\n getSandbox,\n updateSandbox,\n listSandboxes,\n deleteSandbox,\n }),\n [loading, error, createSandbox, getSandbox, updateSandbox, listSandboxes, deleteSandbox]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { structuredOutputApi } from \"../api\";\nimport type { StructuredOutputRequest, StructuredOutputResponse } from \"../models\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseStructuredOutputOptions = ApiClientOptions;\n\n/**\n * Hook for the one-shot structured-output LLM primitive.\n *\n * @example\n * ```tsx\n * const { run, loading, error, data } = useStructuredOutput<{ title: string }>({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * await run({\n * provider: \"anthropic\",\n * model: \"claude-sonnet-4-6\",\n * userPrompt: \"Give me a title for a slide about onboarding.\",\n * schema: { type: \"object\", properties: { title: { type: \"string\" } }, required: [\"title\"] },\n * schemaName: \"slide_title\",\n * maxTokens: 256,\n * });\n * ```\n */\nexport function useStructuredOutput<T = unknown>(options: UseStructuredOutputOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: run, loading, error, clearError } = useApiAsync(\n (request: StructuredOutputRequest) => structuredOutputApi<T>(request, optionsRef.current),\n (resp: StructuredOutputResponse<T>) => resp,\n null as StructuredOutputResponse<T> | null\n );\n\n return useMemo(\n () => ({ run, loading, error, clearError }),\n [run, loading, error, clearError]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n listSchedulerTasksApi,\n createSchedulerTaskApi,\n getSchedulerTaskApi,\n updateSchedulerTaskApi,\n deleteSchedulerTaskApi,\n snoozeSchedulerTaskApi,\n completeSchedulerTaskApi,\n startSchedulerTaskApi,\n type SchedulerTask,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSchedulerTasksOptions = ApiClientOptions;\n\n/**\n * Hook for scheduler task operations\n *\n * @example\n * ```tsx\n * const { listTasks, createTask, snoozeTask, loading, error } = useSchedulerTasks({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const tasks = await listTasks();\n * await snoozeTask(taskId, { amount: 30, unit: \"minutes\" });\n * ```\n */\nexport function useSchedulerTasks(options: UseSchedulerTasksOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listTasks, loading: listLoading, error: listError } = useApiAsync(\n (params?: { status?: string; limit?: number; offset?: number }) =>\n listSchedulerTasksApi({ ...optionsRef.current, ...params }),\n (data) => data.tasks,\n [] as SchedulerTask[]\n );\n\n const { execute: createTask, loading: createLoading, error: createError } = useApiAsync(\n (task: Partial<SchedulerTask>) => createSchedulerTaskApi(task, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: getTask, loading: getLoading, error: getError } = useApiAsync(\n (taskId: string) => getSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: updateTask, loading: updateLoading, error: updateError } = useApiAsync(\n (taskId: string, task: Partial<SchedulerTask>) =>\n updateSchedulerTaskApi(taskId, task, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: deleteTask, loading: deleteLoading, error: deleteError } = useApiAsync(\n (taskId: string) => deleteSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const { execute: snoozeTask, loading: snoozeLoading, error: snoozeError } = useApiAsync(\n (taskId: string, delay: { amount: number; unit: string }) =>\n snoozeSchedulerTaskApi(taskId, delay, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: completeTask, loading: completeLoading, error: completeError } = useApiAsync(\n (taskId: string) => completeSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: startTask, loading: startLoading, error: startError } = useApiAsync(\n (taskId: string) => startSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const loading = listLoading || createLoading || getLoading || updateLoading || deleteLoading || snoozeLoading || completeLoading || startLoading;\n const error = listError || createError || getError || updateError || deleteError || snoozeError || completeError || startError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listTasks,\n createTask,\n getTask,\n updateTask,\n deleteTask,\n snoozeTask,\n completeTask,\n startTask,\n }),\n [loading, error, listTasks, createTask, getTask, updateTask, deleteTask, snoozeTask, completeTask, startTask]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n listSchedulesApi,\n createScheduleApi,\n getScheduleApi,\n updateScheduleApi,\n deleteScheduleApi,\n pauseScheduleApi,\n resumeScheduleApi,\n runScheduleApi,\n type SchedulerSchedule,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSchedulerSchedulesOptions = ApiClientOptions;\n\n/**\n * Hook for scheduler schedule operations (recurring jobs)\n *\n * @example\n * ```tsx\n * const { listSchedules, createSchedule, pauseSchedule, loading, error } = useSchedulerSchedules({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const schedules = await listSchedules();\n * await pauseSchedule(scheduleId);\n * ```\n */\nexport function useSchedulerSchedules(options: UseSchedulerSchedulesOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSchedules, loading: listLoading, error: listError } = useApiAsync(\n (params?: { status?: string; limit?: number; offset?: number }) =>\n listSchedulesApi({ ...optionsRef.current, ...params }),\n (data) => data.schedules,\n [] as SchedulerSchedule[]\n );\n\n const { execute: createSchedule, loading: createLoading, error: createError } = useApiAsync(\n (schedule: Partial<SchedulerSchedule>) => createScheduleApi(schedule, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: getSchedule, loading: getLoading, error: getError } = useApiAsync(\n (scheduleId: string) => getScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: updateSchedule, loading: updateLoading, error: updateError } = useApiAsync(\n (scheduleId: string, schedule: Partial<SchedulerSchedule>) =>\n updateScheduleApi(scheduleId, schedule, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: deleteSchedule, loading: deleteLoading, error: deleteError } = useApiAsync(\n (scheduleId: string) => deleteScheduleApi(scheduleId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const { execute: pauseSchedule, loading: pauseLoading, error: pauseError } = useApiAsync(\n (scheduleId: string) => pauseScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: resumeSchedule, loading: resumeLoading, error: resumeError } = useApiAsync(\n (scheduleId: string) => resumeScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: runSchedule, loading: runLoading, error: runError } = useApiAsync(\n (scheduleId: string) => runScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const loading = listLoading || createLoading || getLoading || updateLoading || deleteLoading || pauseLoading || resumeLoading || runLoading;\n const error = listError || createError || getError || updateError || deleteError || pauseError || resumeError || runError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSchedules,\n createSchedule,\n getSchedule,\n updateSchedule,\n deleteSchedule,\n pauseSchedule,\n resumeSchedule,\n runSchedule,\n }),\n [loading, error, listSchedules, createSchedule, getSchedule, updateSchedule, deleteSchedule, pauseSchedule, resumeSchedule, runSchedule]\n );\n}\n","\"use client\";\n\nimport { useState, useEffect, useRef, useCallback, useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentSummary, TriggerBackgroundAgentRequest, TriggerBackgroundAgentResponse, BackgroundAgentStatusResponse, AgentStatusUpdate } from \"../models\";\nimport {\n listAgentsSummaryApi,\n triggerBackgroundAgentApi,\n checkBackgroundAgentStatusApi,\n} from \"../api\";\nimport type { ChatMessage, Attachment } from \"@elqnt/chat/models\";\nimport { createBGAgentTransport } from \"../transport/sse\";\nimport type { BGAgentTransport, BackgroundAgentProgressEvent } from \"../transport/types\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\n/** Live state accumulated from SSE events for a single background agent */\nexport interface BGAgentLiveState {\n status: \"running\" | \"completed\" | \"failed\";\n progressLog: string[];\n latestMessage: string;\n result?: string;\n error?: string;\n}\n\n/** Options for useBackgroundAgents hook */\nexport interface UseBackgroundAgentsOptions extends ApiClientOptions {\n /** Chat service URL for SSE streaming (e.g., wss://chat.example.com or https://chat.example.com) */\n chatServiceUrl?: string;\n /** User ID (typically email) for chat operations */\n userId?: string;\n}\n\n/** Background status reported by the agent via report_status tool */\nexport type BackgroundStatus = \"processing\" | \"completed\" | \"failed\";\n\n/** Watched chat state with messages */\nexport interface WatchedChatState {\n chatKey: string;\n messages: ChatMessage[];\n status: \"loading\" | \"active\" | \"completed\" | \"error\";\n /** Background agent status (from report_status tool) */\n backgroundStatus?: BackgroundStatus;\n /** Background agent status message (from report_status tool) */\n backgroundStatusMessage?: string;\n /** History of all status updates for inline display */\n statusHistory: AgentStatusUpdate[];\n title?: string;\n metadata?: Record<string, unknown>;\n error?: string;\n}\n\n/**\n * Hook for triggering background agents, streaming progress via SSE, and checking status.\n *\n * @example\n * ```tsx\n * const { startChat, sendMessage } = useChatContext();\n * const { liveStates, createTask, streamJob, checkStatus } = useBackgroundAgents({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * startChat,\n * sendMessage,\n * });\n *\n * // Create a background task (simplified flow using chat)\n * const chatKey = await createTask(\"Analyze the quarterly report\");\n *\n * // Or trigger via jobs API (PostgreSQL-backed)\n * const result = await triggerAgent({ name: \"Analysis\", prompt: \"...\", agentName: \"Research Agent\" });\n * if (result?.jobId) streamJob(result.jobId);\n * ```\n */\nexport function useBackgroundAgents(options: UseBackgroundAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n const [liveStates, setLiveStates] = useState<Record<string, BGAgentLiveState>>({});\n const [watchedChats, setWatchedChats] = useState<Record<string, WatchedChatState>>({});\n const transportRef = useRef<BGAgentTransport | null>(null);\n const sseRef = useRef<EventSource | null>(null);\n const watchedChatKeyRef = useRef<string | null>(null);\n\n // Initialize transport once\n useEffect(() => {\n const transport = createBGAgentTransport();\n transport.connect({ streamBaseUrl: optionsRef.current.baseUrl });\n transportRef.current = transport;\n return () => {\n transport.disconnect();\n transportRef.current = null;\n };\n }, []);\n\n // Track which jobIds already have handlers registered\n const subscribedJobsRef = useRef<Set<string>>(new Set());\n\n // Stream a job's progress via SSE\n const streamJob = useCallback((jobId: string) => {\n const transport = transportRef.current;\n if (!transport) return;\n\n // Skip if already subscribed (prevents duplicate handlers)\n if (subscribedJobsRef.current.has(jobId)) return;\n subscribedJobsRef.current.add(jobId);\n\n // Initialize live state\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: prev[jobId] || { status: \"running\", progressLog: [], latestMessage: \"Starting...\" },\n }));\n\n // Subscribe to events for this job\n transport.on(\"bg_agent.round\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId || !event.content) return;\n setLiveStates((prev) => {\n const cur = prev[jobId] || { status: \"running\" as const, progressLog: [], latestMessage: \"\" };\n return {\n ...prev,\n [jobId]: { ...cur, status: \"running\", progressLog: [...cur.progressLog, event.content!], latestMessage: event.content! },\n };\n });\n });\n\n transport.on(\"bg_agent.completed\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId) return;\n subscribedJobsRef.current.delete(jobId);\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: { ...(prev[jobId] || { progressLog: [], latestMessage: \"\" }), status: \"completed\", result: event.result, latestMessage: event.result || \"Completed\" },\n }));\n });\n\n transport.on(\"bg_agent.failed\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId) return;\n subscribedJobsRef.current.delete(jobId);\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: { ...(prev[jobId] || { progressLog: [], latestMessage: \"\" }), status: \"failed\", error: event.error, latestMessage: event.error || \"Failed\" },\n }));\n });\n\n // Open the SSE stream\n transport.streamJob(jobId);\n }, []);\n\n // Trigger a background agent\n const { execute: triggerAgent, loading: triggerLoading, error: triggerError } = useApiAsync(\n (request: Pick<TriggerBackgroundAgentRequest, \"name\" | \"prompt\" | \"agentName\" | \"context\" | \"enableSSE\" | \"description\">) =>\n triggerBackgroundAgentApi(request, optionsRef.current),\n (data) => data as TriggerBackgroundAgentResponse,\n null as TriggerBackgroundAgentResponse | null\n );\n\n // Check status\n const { execute: checkStatus, loading: statusLoading, error: statusError } = useApiAsync(\n (jobId: string) => checkBackgroundAgentStatusApi(jobId, optionsRef.current),\n (data) => data as BackgroundAgentStatusResponse,\n null as BackgroundAgentStatusResponse | null\n );\n\n // List agent summaries (for agent picker in \"New\" dialog)\n const { execute: listAgentSummaries, loading: summaryLoading, error: summaryError } = useApiAsync(\n () => listAgentsSummaryApi(optionsRef.current),\n (data) => data.agents || [],\n [] as AgentSummary[]\n );\n\n // Create a background task using the chat system (simplified flow, no PostgreSQL)\n // Calls the chat service directly (not through API Gateway)\n const createTask = useCallback(async (prompt: string, attachments?: Attachment[]): Promise<string | null> => {\n const { chatServiceUrl, orgId, userId } = optionsRef.current;\n if (!chatServiceUrl) {\n console.error(\"chatServiceUrl is required for createTask\");\n return null;\n }\n if (!userId) {\n console.error(\"userId is required for createTask\");\n return null;\n }\n\n try {\n // Create chat with background_agent by name and background flag\n // Direct call to chat service (same pattern as regular chat)\n // Include userId and userEmail in metadata for integration tools (email, calendar, etc.)\n const createResponse = await fetch(`${chatServiceUrl}/create`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n orgId,\n userId,\n metadata: {\n agentName: \"background_agent\",\n background: true,\n userId: userId,\n userEmail: userId,\n originalPrompt: prompt,\n },\n }),\n });\n\n if (!createResponse.ok) {\n const errorText = await createResponse.text();\n console.error(\"Failed to create background chat:\", errorText);\n return null;\n }\n\n const createData = await createResponse.json();\n // Chat service wraps response in { success: true, data: { chatKey: \"...\" } }\n const chatKey = createData.data?.chatKey || createData.chatKey;\n\n if (!chatKey) {\n console.error(\"No chatKey returned from create\");\n return null;\n }\n\n // Send the user's prompt as the first message\n // Direct call to chat service\n const sendResponse = await fetch(`${chatServiceUrl}/send`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n orgId,\n userId,\n chatKey,\n message: {\n role: \"user\",\n content: prompt,\n attachments: attachments || undefined,\n },\n }),\n });\n\n if (!sendResponse.ok) {\n const errorText = await sendResponse.text();\n console.error(\"Failed to send message:\", errorText);\n // Still return chatKey since chat was created\n }\n\n return chatKey;\n } catch (err) {\n console.error(\"Failed to create background task:\", err);\n return null;\n }\n }, []);\n\n // Watch a chat for updates via SSE\n // Calls the chat service directly (not through API Gateway)\n const watchChat = useCallback(async (chatKey: string): Promise<void> => {\n const { chatServiceUrl, orgId, userId } = optionsRef.current;\n\n if (!chatServiceUrl) {\n console.error(\"chatServiceUrl is required for watchChat\");\n return;\n }\n if (!userId) {\n console.error(\"userId is required for watchChat\");\n return;\n }\n\n // Close existing SSE connection if watching a different chat\n if (sseRef.current && watchedChatKeyRef.current !== chatKey) {\n sseRef.current.close();\n sseRef.current = null;\n }\n\n watchedChatKeyRef.current = chatKey;\n\n // Set loading state\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"loading\", statusHistory: [] },\n }));\n\n try {\n // Load the chat data directly from chat service (same pattern as regular chat)\n const loadResponse = await fetch(`${chatServiceUrl}/load`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ orgId, chatKey, userId }),\n });\n\n if (!loadResponse.ok) {\n const errorText = await loadResponse.text();\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: errorText || \"Failed to load chat\" },\n }));\n return;\n }\n\n const loadData = await loadResponse.json();\n // Chat service wraps response in { success: true, data: { chat: {...} } }\n const chat = loadData.data?.chat || loadData.chat;\n\n if (!chat) {\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: \"No chat data returned\" },\n }));\n return;\n }\n\n // Extract background status from chat metadata if available\n const bgStatus = chat.metadata?.backgroundStatus as BackgroundStatus | undefined;\n const bgMessage = chat.metadata?.backgroundStatusMessage as string | undefined;\n\n // Determine initial status based on background status\n let initialStatus: WatchedChatState[\"status\"] = \"active\";\n if (bgStatus === \"completed\") initialStatus = \"completed\";\n else if (bgStatus === \"failed\") initialStatus = \"error\";\n\n // Initialize status history (will be populated from SSE events)\n const initialStatusHistory: AgentStatusUpdate[] = [];\n\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: {\n chatKey,\n messages: chat.messages || [],\n status: initialStatus,\n title: chat.title,\n metadata: chat.metadata as Record<string, unknown>,\n backgroundStatus: bgStatus,\n backgroundStatusMessage: bgMessage,\n statusHistory: initialStatusHistory,\n },\n }));\n\n // Connect to SSE for real-time updates (direct to chat service)\n const sseUrl = `${chatServiceUrl}/stream?orgId=${orgId}&userId=${userId}&chatId=${chatKey}&clientType=customer`;\n const sse = new EventSource(sseUrl);\n sseRef.current = sse;\n\n // Helper to process SSE event data\n const processEventData = (data: Record<string, unknown>) => {\n console.log(\"[useBackgroundAgents] SSE event received:\", data.type, data);\n // Handle new message events\n if (data.type === \"message\" && data.message) {\n setWatchedChats((prev) => {\n const current = prev[chatKey];\n if (!current) return prev;\n // Avoid duplicate messages\n const msg = data.message as ChatMessage;\n const exists = current.messages.some((m) => m.id === msg.id);\n if (exists) return prev;\n return {\n ...prev,\n [chatKey]: {\n ...current,\n messages: [...current.messages, msg],\n },\n };\n });\n }\n // Handle background status updates from report_status tool\n const eventData = data.data as Record<string, unknown> | undefined;\n if (data.type === \"agent_context_update\" && eventData?.backgroundStatus) {\n const bgStatus = eventData.backgroundStatus as BackgroundStatus;\n const bgMessage = eventData.backgroundStatusMessage as string | undefined;\n const timestamp = Date.now();\n console.log(\"[useBackgroundAgents] Background status update:\", bgStatus, bgMessage);\n setWatchedChats((prev) => {\n const current = prev[chatKey];\n if (!current) return prev;\n // Update background status and auto-set completion status\n const newStatus: WatchedChatState[\"status\"] =\n bgStatus === \"completed\" ? \"completed\" :\n bgStatus === \"failed\" ? \"error\" :\n current.status;\n // Add to status history (avoid duplicates by checking last entry)\n const newHistory = [...current.statusHistory];\n const lastEntry = newHistory[newHistory.length - 1];\n if (!lastEntry || lastEntry.message !== bgMessage || lastEntry.status !== bgStatus) {\n newHistory.push({\n status: bgStatus,\n message: bgMessage || \"\",\n timestamp,\n });\n }\n return {\n ...prev,\n [chatKey]: {\n ...current,\n status: newStatus,\n backgroundStatus: bgStatus,\n backgroundStatusMessage: bgMessage,\n statusHistory: newHistory,\n },\n };\n });\n }\n // Handle explicit chat completion (fallback)\n if (data.type === \"chat_ended\" || data.type === \"agent_done\") {\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { ...prev[chatKey], status: \"completed\" },\n }));\n }\n };\n\n // Default message handler (for events without custom event type)\n sse.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n processEventData(data);\n } catch (err) {\n console.error(\"Failed to parse SSE event:\", err);\n }\n };\n\n // Handler for custom event types (backend sends events with `event: agent_context_update`)\n // Note: EventSource requires separate listeners for custom event types\n const customEventTypes = [\"agent_context_update\", \"message\", \"chat_ended\", \"agent_done\"];\n for (const eventType of customEventTypes) {\n sse.addEventListener(eventType, (event) => {\n try {\n const data = JSON.parse((event as MessageEvent).data);\n processEventData(data);\n } catch (err) {\n console.error(`Failed to parse SSE ${eventType} event:`, err);\n }\n });\n }\n\n sse.onerror = () => {\n // SSE will auto-reconnect, but log the error\n console.warn(\"SSE connection error for chat:\", chatKey);\n };\n } catch (err) {\n console.error(\"Failed to watch chat:\", err);\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: String(err) },\n }));\n }\n }, []);\n\n // Stop watching a chat\n const unwatchChat = useCallback((chatKey: string) => {\n if (watchedChatKeyRef.current === chatKey && sseRef.current) {\n sseRef.current.close();\n sseRef.current = null;\n watchedChatKeyRef.current = null;\n }\n setWatchedChats((prev) => {\n const next = { ...prev };\n delete next[chatKey];\n return next;\n });\n }, []);\n\n // Cleanup SSE on unmount\n useEffect(() => {\n return () => {\n if (sseRef.current) {\n sseRef.current.close();\n sseRef.current = null;\n }\n };\n }, []);\n\n const loading = triggerLoading || statusLoading || summaryLoading;\n const error = triggerError || statusError || summaryError;\n\n return useMemo(() => ({\n liveStates,\n streamJob,\n createTask,\n watchChat,\n unwatchChat,\n watchedChats,\n triggerAgent,\n checkStatus,\n listAgentSummaries,\n loading,\n error,\n }), [liveStates, streamJob, createTask, watchChat, unwatchChat, watchedChats, triggerAgent, checkStatus, listAgentSummaries, loading, error]);\n}\n"]}
|
|
@@ -505,4 +505,4 @@ var SettingsSubjects = {
|
|
|
505
505
|
|
|
506
506
|
|
|
507
507
|
exports.ExecutionStatusPending = ExecutionStatusPending; exports.ExecutionStatusRunning = ExecutionStatusRunning; exports.ExecutionStatusCompleted = ExecutionStatusCompleted; exports.ExecutionStatusFailed = ExecutionStatusFailed; exports.ExecutionStatusSkipped = ExecutionStatusSkipped; exports.MergeStrategyReplace = MergeStrategyReplace; exports.MergeStrategyMerge = MergeStrategyMerge; exports.MergeStrategyAppend = MergeStrategyAppend; exports.MaxExecutions = MaxExecutions; exports.ExecutionTTLHours = ExecutionTTLHours; exports.PlanStatusPendingApproval = PlanStatusPendingApproval; exports.PlanStatusApproved = PlanStatusApproved; exports.PlanStatusExecuting = PlanStatusExecuting; exports.PlanStatusCompleted = PlanStatusCompleted; exports.PlanStatusRejected = PlanStatusRejected; exports.PlanStatusCancelled = PlanStatusCancelled; exports.AgentScopeOrg = AgentScopeOrg; exports.AgentScopeTeam = AgentScopeTeam; exports.AgentScopeUser = AgentScopeUser; exports.AgentScopeCustom = AgentScopeCustom; exports.SkillCategoryProductivity = SkillCategoryProductivity; exports.SkillCategoryCreative = SkillCategoryCreative; exports.SkillCategoryIntegration = SkillCategoryIntegration; exports.SkillCategoryAnalysis = SkillCategoryAnalysis; exports.SkillCategoryCommunication = SkillCategoryCommunication; exports.SkillCategoryCustom = SkillCategoryCustom; exports.AgentTypeChat = AgentTypeChat; exports.AgentTypeReact = AgentTypeReact; exports.AgentSubTypeChat = AgentSubTypeChat; exports.AgentSubTypeReact = AgentSubTypeReact; exports.AgentSubTypeWorkflow = AgentSubTypeWorkflow; exports.AgentSubTypeDocument = AgentSubTypeDocument; exports.AgentStatusDraft = AgentStatusDraft; exports.AgentStatusActive = AgentStatusActive; exports.AgentStatusInactive = AgentStatusInactive; exports.AgentStatusArchived = AgentStatusArchived; exports.ToolExecutionStatusStarted = ToolExecutionStatusStarted; exports.ToolExecutionStatusExecuting = ToolExecutionStatusExecuting; exports.ToolExecutionStatusCompleted = ToolExecutionStatusCompleted; exports.ToolExecutionStatusFailed = ToolExecutionStatusFailed; exports.ToolExecutionStatusTimeout = ToolExecutionStatusTimeout; exports.ToolExecutionStatusSkipped = ToolExecutionStatusSkipped; exports.ExecutionModeSync = ExecutionModeSync; exports.ExecutionModeAsync = ExecutionModeAsync; exports.ExecutionModeAsyncClient = ExecutionModeAsyncClient; exports.JobScopePrivate = JobScopePrivate; exports.JobScopeTeam = JobScopeTeam; exports.JobScopeOrg = JobScopeOrg; exports.JobStatusActive = JobStatusActive; exports.JobStatusExecuting = JobStatusExecuting; exports.JobStatusPaused = JobStatusPaused; exports.JobStatusDisabled = JobStatusDisabled; exports.JobFrequencyOneTime = JobFrequencyOneTime; exports.JobFrequencySchedule = JobFrequencySchedule; exports.JobExecutionStatusRunning = JobExecutionStatusRunning; exports.JobExecutionStatusSuccess = JobExecutionStatusSuccess; exports.JobExecutionStatusFailed = JobExecutionStatusFailed; exports.JobExecutionStatusTimedOut = JobExecutionStatusTimedOut; exports.AgentCreateSubject = AgentCreateSubject; exports.AgentCreatedSubject = AgentCreatedSubject; exports.AgentGetSubject = AgentGetSubject; exports.AgentUpdateSubject = AgentUpdateSubject; exports.AgentUpdatedSubject = AgentUpdatedSubject; exports.AgentDeleteSubject = AgentDeleteSubject; exports.AgentDeletedSubject = AgentDeletedSubject; exports.AgentListSubject = AgentListSubject; exports.AgentListSummarySubject = AgentListSummarySubject; exports.AgentSearchSubject = AgentSearchSubject; exports.AgentChatCreateSubject = AgentChatCreateSubject; exports.AgentChatUpdateSubject = AgentChatUpdateSubject; exports.AgentChatGetSubject = AgentChatGetSubject; exports.AgentChatValidateSubject = AgentChatValidateSubject; exports.AgentReactCreateSubject = AgentReactCreateSubject; exports.AgentReactUpdateSubject = AgentReactUpdateSubject; exports.AgentReactGetSubject = AgentReactGetSubject; exports.AgentReactValidateSubject = AgentReactValidateSubject; exports.AgentExecuteSubject = AgentExecuteSubject; exports.AgentExecuteStatusSubject = AgentExecuteStatusSubject; exports.AgentExecuteStopSubject = AgentExecuteStopSubject; exports.AgentVersionCreateSubject = AgentVersionCreateSubject; exports.AgentVersionCreatedSubject = AgentVersionCreatedSubject; exports.AgentVersionGetSubject = AgentVersionGetSubject; exports.AgentVersionListSubject = AgentVersionListSubject; exports.AgentVersionActivateSubject = AgentVersionActivateSubject; exports.AgentVersionActivatedSubject = AgentVersionActivatedSubject; exports.AgentEnsureDefaultSubject = AgentEnsureDefaultSubject; exports.AgentGetDefaultSubject = AgentGetDefaultSubject; exports.AgentGetByOrgSubject = AgentGetByOrgSubject; exports.AgentCloneSubject = AgentCloneSubject; exports.AgentExportSubject = AgentExportSubject; exports.AgentImportSubject = AgentImportSubject; exports.AgentUpdateOrgSubject = AgentUpdateOrgSubject; exports.AgentTemplateListSubject = AgentTemplateListSubject; exports.AgentTemplateGetSubject = AgentTemplateGetSubject; exports.AgentFromTemplateSubject = AgentFromTemplateSubject; exports.ChatAgentExecuteSubject = ChatAgentExecuteSubject; exports.ChatAgentStatusSubject = ChatAgentStatusSubject; exports.ReactAgentExecuteSubject = ReactAgentExecuteSubject; exports.ReactAgentStatusSubject = ReactAgentStatusSubject; exports.ReactAgentStopSubject = ReactAgentStopSubject; exports.WorkflowAgentGetSubject = WorkflowAgentGetSubject; exports.WorkflowAgentUpdateSubject = WorkflowAgentUpdateSubject; exports.ToolDefinitionsCreateSubject = ToolDefinitionsCreateSubject; exports.ToolDefinitionsCreatedSubject = ToolDefinitionsCreatedSubject; exports.ToolDefinitionsGetSubject = ToolDefinitionsGetSubject; exports.ToolDefinitionsUpdateSubject = ToolDefinitionsUpdateSubject; exports.ToolDefinitionsUpdatedSubject = ToolDefinitionsUpdatedSubject; exports.ToolDefinitionsDeleteSubject = ToolDefinitionsDeleteSubject; exports.ToolDefinitionsDeletedSubject = ToolDefinitionsDeletedSubject; exports.ToolDefinitionsListSubject = ToolDefinitionsListSubject; exports.ToolDefinitionsGetByIDsSubject = ToolDefinitionsGetByIDsSubject; exports.ToolDefinitionsExecuteSubject = ToolDefinitionsExecuteSubject; exports.ToolDefinitionsValidateSubject = ToolDefinitionsValidateSubject; exports.SubAgentsCreateSubject = SubAgentsCreateSubject; exports.SubAgentsCreatedSubject = SubAgentsCreatedSubject; exports.SubAgentsGetSubject = SubAgentsGetSubject; exports.SubAgentsUpdateSubject = SubAgentsUpdateSubject; exports.SubAgentsUpdatedSubject = SubAgentsUpdatedSubject; exports.SubAgentsDeleteSubject = SubAgentsDeleteSubject; exports.SubAgentsDeletedSubject = SubAgentsDeletedSubject; exports.SubAgentsListSubject = SubAgentsListSubject; exports.SubAgentsGetByIDsSubject = SubAgentsGetByIDsSubject; exports.SubAgentsExecuteSubject = SubAgentsExecuteSubject; exports.SubAgentsValidateSubject = SubAgentsValidateSubject; exports.SkillsCreateSubject = SkillsCreateSubject; exports.SkillsCreatedSubject = SkillsCreatedSubject; exports.SkillsGetSubject = SkillsGetSubject; exports.SkillsUpdateSubject = SkillsUpdateSubject; exports.SkillsUpdatedSubject = SkillsUpdatedSubject; exports.SkillsDeleteSubject = SkillsDeleteSubject; exports.SkillsDeletedSubject = SkillsDeletedSubject; exports.SkillsListSubject = SkillsListSubject; exports.SkillsGetByIDsSubject = SkillsGetByIDsSubject; exports.SkillsUpdateOrgConfigSubject = SkillsUpdateOrgConfigSubject; exports.AgentSkillUpdateConfigSubject = AgentSkillUpdateConfigSubject; exports.AgentSkillGetConfigSubject = AgentSkillGetConfigSubject; exports.SkillUserConfigGetSubject = SkillUserConfigGetSubject; exports.SkillUserConfigUpdateSubject = SkillUserConfigUpdateSubject; exports.SkillUserConfigDeleteSubject = SkillUserConfigDeleteSubject; exports.SkillUserConfigListSubject = SkillUserConfigListSubject; exports.SkillResolveConfigSubject = SkillResolveConfigSubject; exports.WidgetConfigGetByAgentSubject = WidgetConfigGetByAgentSubject; exports.WidgetConfigSaveSubject = WidgetConfigSaveSubject; exports.AgentJobCreateSubject = AgentJobCreateSubject; exports.AgentJobGetSubject = AgentJobGetSubject; exports.AgentJobUpdateSubject = AgentJobUpdateSubject; exports.AgentJobDeleteSubject = AgentJobDeleteSubject; exports.AgentJobListSubject = AgentJobListSubject; exports.AgentJobPauseSubject = AgentJobPauseSubject; exports.AgentJobResumeSubject = AgentJobResumeSubject; exports.AgentJobTriggerSubject = AgentJobTriggerSubject; exports.TriggerBackgroundAgentToolSubject = TriggerBackgroundAgentToolSubject; exports.CheckBackgroundAgentStatusToolSubject = CheckBackgroundAgentStatusToolSubject; exports.JobExecutionGetSubject = JobExecutionGetSubject; exports.JobExecutionListSubject = JobExecutionListSubject; exports.RuntimeJobExecuteSubject = RuntimeJobExecuteSubject; exports.RuntimeJobCompletedSubject = RuntimeJobCompletedSubject; exports.ExecutionsTTLCleanupSubject = ExecutionsTTLCleanupSubject; exports.AgentInstanceCreateSubject = AgentInstanceCreateSubject; exports.AgentInstanceCreatedSubject = AgentInstanceCreatedSubject; exports.AgentInstanceGetSubject = AgentInstanceGetSubject; exports.AgentInstanceUpdateSubject = AgentInstanceUpdateSubject; exports.AgentInstanceUpdatedSubject = AgentInstanceUpdatedSubject; exports.AgentInstanceListSubject = AgentInstanceListSubject; exports.AgentInstanceDeleteSubject = AgentInstanceDeleteSubject; exports.AgentInstanceDeletedSubject = AgentInstanceDeletedSubject; exports.AgentInstanceCreatePlanSubject = AgentInstanceCreatePlanSubject; exports.AgentInstanceExecutePlanSubject = AgentInstanceExecutePlanSubject; exports.AgentInstancePausePlanSubject = AgentInstancePausePlanSubject; exports.AgentInstanceResumePlanSubject = AgentInstanceResumePlanSubject; exports.AgentInstanceCancelPlanSubject = AgentInstanceCancelPlanSubject; exports.AgentInstanceGetHistorySubject = AgentInstanceGetHistorySubject; exports.AgentInstanceClearHistorySubject = AgentInstanceClearHistorySubject; exports.AgentCategorySupport = AgentCategorySupport; exports.AgentCategorySales = AgentCategorySales; exports.AgentCategoryResearch = AgentCategoryResearch; exports.AgentCategoryWriting = AgentCategoryWriting; exports.AgentCategoryProductivity = AgentCategoryProductivity; exports.AgentCategoryDevelopment = AgentCategoryDevelopment; exports.AgentCategoryMarketing = AgentCategoryMarketing; exports.AgentCategoryHR = AgentCategoryHR; exports.AgentCategoryFinance = AgentCategoryFinance; exports.AgentCategoryGeneral = AgentCategoryGeneral; exports.TemplateStatusPublished = TemplateStatusPublished; exports.TemplateStatusDraft = TemplateStatusDraft; exports.PublisherTypeEloquent = PublisherTypeEloquent; exports.PublisherTypePartner = PublisherTypePartner; exports.AgentWidgetsCreateSubject = AgentWidgetsCreateSubject; exports.AgentWidgetsGetSubject = AgentWidgetsGetSubject; exports.AgentWidgetsGetByWidgetID = AgentWidgetsGetByWidgetID; exports.AgentWidgetsUpdateSubject = AgentWidgetsUpdateSubject; exports.AgentWidgetsDeleteSubject = AgentWidgetsDeleteSubject; exports.AgentWidgetsListSubject = AgentWidgetsListSubject; exports.AgentWidgetsSetDefaultSubject = AgentWidgetsSetDefaultSubject; exports.AgentWidgetsGetDefaultSubject = AgentWidgetsGetDefaultSubject; exports.HubAnalyticsGetTaskOutcomes = HubAnalyticsGetTaskOutcomes; exports.HubAnalyticsGetTaskMetrics = HubAnalyticsGetTaskMetrics; exports.HubEventsInsertTaskOutcomes = HubEventsInsertTaskOutcomes; exports.HubEventsUpdateTaskOutcomeStatus = HubEventsUpdateTaskOutcomeStatus; exports.IntegrationProviderGoogle = IntegrationProviderGoogle; exports.IntegrationProviderMicrosoft = IntegrationProviderMicrosoft; exports.IntegrationTypeEmail = IntegrationTypeEmail; exports.IntegrationTypeCalendar = IntegrationTypeCalendar; exports.IntegrationTypeDrive = IntegrationTypeDrive; exports.IntegrationStatusActive = IntegrationStatusActive; exports.IntegrationStatusExpired = IntegrationStatusExpired; exports.IntegrationStatusRevoked = IntegrationStatusRevoked; exports.IntegrationStatusError = IntegrationStatusError; exports.IntegrationModeServicePrincipal = IntegrationModeServicePrincipal; exports.IntegrationModeDomainDelegation = IntegrationModeDomainDelegation; exports.HubIntegrationUserList = HubIntegrationUserList; exports.HubIntegrationUserGet = HubIntegrationUserGet; exports.HubIntegrationUserConnect = HubIntegrationUserConnect; exports.HubIntegrationUserCallback = HubIntegrationUserCallback; exports.HubIntegrationUserDisconnect = HubIntegrationUserDisconnect; exports.HubIntegrationUserRefresh = HubIntegrationUserRefresh; exports.HubIntegrationUserUpdateTriage = HubIntegrationUserUpdateTriage; exports.HubIntegrationOrgList = HubIntegrationOrgList; exports.HubIntegrationOrgConfigure = HubIntegrationOrgConfigure; exports.HubIntegrationOrgDisable = HubIntegrationOrgDisable; exports.HubIntegrationEmailSearch = HubIntegrationEmailSearch; exports.HubIntegrationEmailGet = HubIntegrationEmailGet; exports.HubIntegrationEmailThread = HubIntegrationEmailThread; exports.HubIntegrationEmailSend = HubIntegrationEmailSend; exports.HubIntegrationEmailArchive = HubIntegrationEmailArchive; exports.HubIntegrationEmailMarkRead = HubIntegrationEmailMarkRead; exports.HubIntegrationEmailForward = HubIntegrationEmailForward; exports.HubEmailTriageRunNow = HubEmailTriageRunNow; exports.HubIntegrationCalendarList = HubIntegrationCalendarList; exports.HubIntegrationCalendarGet = HubIntegrationCalendarGet; exports.HubIntegrationCalendarCreate = HubIntegrationCalendarCreate; exports.HubIntegrationCalendarUpdate = HubIntegrationCalendarUpdate; exports.HubIntegrationCalendarDelete = HubIntegrationCalendarDelete; exports.HubIntegrationCalendarRSVP = HubIntegrationCalendarRSVP; exports.HubIntegrationDriveSearch = HubIntegrationDriveSearch; exports.HubIntegrationDriveGet = HubIntegrationDriveGet; exports.HubIntegrationSetupOrg = HubIntegrationSetupOrg; exports.CreateSandboxSubject = CreateSandboxSubject; exports.GetSandboxSubject = GetSandboxSubject; exports.UpdateSandboxSubject = UpdateSandboxSubject; exports.ListSandboxSubject = ListSandboxSubject; exports.DeleteSandboxSubject = DeleteSandboxSubject; exports.SettingsSubjects = SettingsSubjects;
|
|
508
|
-
//# sourceMappingURL=chunk-
|
|
508
|
+
//# sourceMappingURL=chunk-VGWUFWOE.js.map
|