@vertesia/client 1.0.0-dev.20260305.083323Z → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/lib/cjs/InteractionBase.js +3 -3
  2. package/lib/cjs/InteractionBase.js.map +1 -1
  3. package/lib/cjs/InteractionsApi.js.map +1 -1
  4. package/lib/cjs/MCPOAuthApi.js +14 -7
  5. package/lib/cjs/MCPOAuthApi.js.map +1 -1
  6. package/lib/cjs/OAuthAppsApi.js +72 -0
  7. package/lib/cjs/OAuthAppsApi.js.map +1 -0
  8. package/lib/cjs/PromptsApi.js +2 -0
  9. package/lib/cjs/PromptsApi.js.map +1 -1
  10. package/lib/cjs/RunsApi.js +15 -0
  11. package/lib/cjs/RunsApi.js.map +1 -1
  12. package/lib/cjs/client.js +10 -0
  13. package/lib/cjs/client.js.map +1 -1
  14. package/lib/cjs/execute.js +38 -36
  15. package/lib/cjs/execute.js.map +1 -1
  16. package/lib/cjs/store/AgentsApi.js +639 -0
  17. package/lib/cjs/store/AgentsApi.js.map +1 -0
  18. package/lib/cjs/store/FilesApi.js +49 -2
  19. package/lib/cjs/store/FilesApi.js.map +1 -1
  20. package/lib/cjs/store/IndexingApi.js +47 -10
  21. package/lib/cjs/store/IndexingApi.js.map +1 -1
  22. package/lib/cjs/store/ObjectsApi.js +28 -5
  23. package/lib/cjs/store/ObjectsApi.js.map +1 -1
  24. package/lib/cjs/store/WorkflowsApi.js +234 -263
  25. package/lib/cjs/store/WorkflowsApi.js.map +1 -1
  26. package/lib/cjs/store/client.js +2 -0
  27. package/lib/cjs/store/client.js.map +1 -1
  28. package/lib/cjs/store/index.js +1 -0
  29. package/lib/cjs/store/index.js.map +1 -1
  30. package/lib/cjs/store/version.js +1 -1
  31. package/lib/esm/InteractionBase.js +3 -3
  32. package/lib/esm/InteractionBase.js.map +1 -1
  33. package/lib/esm/InteractionsApi.js.map +1 -1
  34. package/lib/esm/MCPOAuthApi.js +14 -7
  35. package/lib/esm/MCPOAuthApi.js.map +1 -1
  36. package/lib/esm/OAuthAppsApi.js +69 -0
  37. package/lib/esm/OAuthAppsApi.js.map +1 -0
  38. package/lib/esm/PromptsApi.js +2 -0
  39. package/lib/esm/PromptsApi.js.map +1 -1
  40. package/lib/esm/RunsApi.js +15 -0
  41. package/lib/esm/RunsApi.js.map +1 -1
  42. package/lib/esm/client.js +10 -0
  43. package/lib/esm/client.js.map +1 -1
  44. package/lib/esm/execute.js +38 -36
  45. package/lib/esm/execute.js.map +1 -1
  46. package/lib/esm/store/AgentsApi.js +635 -0
  47. package/lib/esm/store/AgentsApi.js.map +1 -0
  48. package/lib/esm/store/FilesApi.js +49 -2
  49. package/lib/esm/store/FilesApi.js.map +1 -1
  50. package/lib/esm/store/IndexingApi.js +47 -10
  51. package/lib/esm/store/IndexingApi.js.map +1 -1
  52. package/lib/esm/store/ObjectsApi.js +28 -5
  53. package/lib/esm/store/ObjectsApi.js.map +1 -1
  54. package/lib/esm/store/WorkflowsApi.js +234 -263
  55. package/lib/esm/store/WorkflowsApi.js.map +1 -1
  56. package/lib/esm/store/client.js +2 -0
  57. package/lib/esm/store/client.js.map +1 -1
  58. package/lib/esm/store/index.js +1 -0
  59. package/lib/esm/store/index.js.map +1 -1
  60. package/lib/esm/store/version.js +1 -1
  61. package/lib/tsconfig.tsbuildinfo +1 -1
  62. package/lib/types/InteractionBase.d.ts +1 -1
  63. package/lib/types/InteractionBase.d.ts.map +1 -1
  64. package/lib/types/InteractionsApi.d.ts +1 -0
  65. package/lib/types/InteractionsApi.d.ts.map +1 -1
  66. package/lib/types/MCPOAuthApi.d.ts +10 -5
  67. package/lib/types/MCPOAuthApi.d.ts.map +1 -1
  68. package/lib/types/OAuthAppsApi.d.ts +51 -0
  69. package/lib/types/OAuthAppsApi.d.ts.map +1 -0
  70. package/lib/types/PromptsApi.d.ts +1 -1
  71. package/lib/types/PromptsApi.d.ts.map +1 -1
  72. package/lib/types/RunsApi.d.ts +17 -0
  73. package/lib/types/RunsApi.d.ts.map +1 -1
  74. package/lib/types/client.d.ts +6 -0
  75. package/lib/types/client.d.ts.map +1 -1
  76. package/lib/types/execute.d.ts +2 -4
  77. package/lib/types/execute.d.ts.map +1 -1
  78. package/lib/types/store/AgentsApi.d.ts +231 -0
  79. package/lib/types/store/AgentsApi.d.ts.map +1 -0
  80. package/lib/types/store/FilesApi.d.ts +20 -1
  81. package/lib/types/store/FilesApi.d.ts.map +1 -1
  82. package/lib/types/store/IndexingApi.d.ts +25 -4
  83. package/lib/types/store/IndexingApi.d.ts.map +1 -1
  84. package/lib/types/store/ObjectsApi.d.ts +14 -4
  85. package/lib/types/store/ObjectsApi.d.ts.map +1 -1
  86. package/lib/types/store/WorkflowsApi.d.ts +34 -84
  87. package/lib/types/store/WorkflowsApi.d.ts.map +1 -1
  88. package/lib/types/store/client.d.ts +2 -0
  89. package/lib/types/store/client.d.ts.map +1 -1
  90. package/lib/types/store/index.d.ts +1 -0
  91. package/lib/types/store/index.d.ts.map +1 -1
  92. package/lib/types/store/version.d.ts +1 -1
  93. package/lib/vertesia-client.js +1 -1
  94. package/lib/vertesia-client.js.map +1 -1
  95. package/package.json +8 -5
  96. package/src/InteractionBase.ts +3 -3
  97. package/src/InteractionsApi.ts +3 -1
  98. package/src/MCPOAuthApi.ts +14 -7
  99. package/src/OAuthAppsApi.ts +87 -0
  100. package/src/PromptsApi.ts +3 -1
  101. package/src/RunsApi.ts +17 -0
  102. package/src/client.test.ts +38 -0
  103. package/src/client.ts +11 -0
  104. package/src/execute.ts +37 -34
  105. package/src/store/AgentsApi.ts +765 -0
  106. package/src/store/FilesApi.ts +62 -2
  107. package/src/store/IndexingApi.ts +56 -12
  108. package/src/store/ObjectsApi.ts +45 -8
  109. package/src/store/WorkflowsApi.ts +250 -334
  110. package/src/store/client.ts +2 -0
  111. package/src/store/index.ts +1 -0
  112. package/src/store/version.ts +1 -1
  113. package/tsconfig.dist.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { ApiTopic, ClientBase } from "@vertesia/api-fetch-client";
2
- import { ActivityCatalog, AgentEvent, AgentMessage, CompactMessage, CreateWorkflowRulePayload, DSLWorkflowDefinition, DSLWorkflowSpec, ErrorAnalyticsResponse, ExecuteWorkflowPayload, FirstResponseBehaviorAnalyticsResponse, LatencyAnalyticsResponse, ListWorkflowInteractionsResponse, ListWorkflowRunsPayload, ListWorkflowRunsResponse, PromptSizeAnalyticsResponse, RunsByAgentAnalyticsResponse, TimeToFirstResponseAnalyticsResponse, TokenUsageAnalyticsResponse, ToolAnalyticsResponse, ToolParameterAnalyticsResponse, TopPrincipalsAnalyticsResponse, WorkflowAnalyticsFilterOptionsResponse, WorkflowAnalyticsSummaryQuery, WorkflowAnalyticsSummaryResponse, WorkflowAnalyticsTimeSeriesQuery, WorkflowDefinitionRef, WorkflowRule, WorkflowRuleItem, WorkflowRunWithDetails, WorkflowToolParametersQuery } from "@vertesia/common";
2
+ import { ActiveWorkstreamsQueryResult, ActivityCatalog, AgentMessage, CompactMessage, CreateWorkflowRulePayload, DSLWorkflowDefinition, DSLWorkflowSpec, ExecuteWorkflowPayload, ListWorkflowInteractionsResponse, ListWorkflowRunsPayload, ListWorkflowRunsResponse, WorkflowDefinitionRef, WorkflowRule, WorkflowRuleItem, WorkflowRunWithDetails } from "@vertesia/common";
3
3
  export declare class WorkflowsApi extends ApiTopic {
4
4
  constructor(parent: ClientBase);
5
5
  getActivityCatalog(): Promise<ActivityCatalog>;
@@ -30,6 +30,38 @@ export declare class WorkflowsApi extends ApiTopic {
30
30
  * @returns The query result
31
31
  */
32
32
  query<T = unknown>(workflowId: string, runId: string, queryName: string): Promise<T>;
33
+ /**
34
+ * List active workstreams for a running conversation workflow.
35
+ * Each entry includes `child_workflow_id` / `child_workflow_run_id` which
36
+ * can be passed to `retrieveMessages` or `streamMessages` to fetch the
37
+ * child's own message stream.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const { running } = await client.workflows.getActiveWorkstreams(wfId, runId);
42
+ * for (const ws of running) {
43
+ * const msgs = await client.workflows.retrieveWorkstreamMessages(ws);
44
+ * console.log(ws.workstream_id, msgs.length, 'messages');
45
+ * }
46
+ * ```
47
+ */
48
+ getActiveWorkstreams(workflowId: string, runId: string): Promise<ActiveWorkstreamsQueryResult>;
49
+ /**
50
+ * Retrieve historical messages for a specific workstream (child workflow).
51
+ * Convenience wrapper — extracts child IDs from an `ActiveWorkstreamEntry`.
52
+ */
53
+ retrieveWorkstreamMessages(workstream: {
54
+ child_workflow_id: string;
55
+ child_workflow_run_id?: string;
56
+ }, since?: number): Promise<AgentMessage[]>;
57
+ /**
58
+ * Stream messages for a specific workstream (child workflow) in real-time.
59
+ * Convenience wrapper — extracts child IDs from an `ActiveWorkstreamEntry`.
60
+ */
61
+ streamWorkstreamMessages(workstream: {
62
+ child_workflow_id: string;
63
+ child_workflow_run_id?: string;
64
+ }, onMessage?: (message: AgentMessage, exitFn?: (payload: unknown) => void) => void, since?: number, signal?: AbortSignal): Promise<unknown>;
33
65
  execute(name: string, payload?: ExecuteWorkflowPayload): Promise<({
34
66
  run_id: string;
35
67
  workflow_id: string;
@@ -50,7 +82,7 @@ export declare class WorkflowsApi extends ApiTopic {
50
82
  * This approach provides better performance for conversations with large historical messages
51
83
  * since HTTP responses are compressed while SSE streams cannot be compressed.
52
84
  */
53
- streamMessages(workflowId: string, runId: string, onMessage?: (message: AgentMessage, exitFn?: (payload: unknown) => void) => void, since?: number): Promise<unknown>;
85
+ streamMessages(workflowId: string, runId: string, onMessage?: (message: AgentMessage, exitFn?: (payload: unknown) => void) => void, since?: number, signal?: AbortSignal): Promise<unknown>;
54
86
  /**
55
87
  * Stream workflow messages via WebSocket (for mobile/React Native clients)
56
88
  * @param workflowId The workflow ID
@@ -63,88 +95,6 @@ export declare class WorkflowsApi extends ApiTopic {
63
95
  cleanup: () => void;
64
96
  sendSignal: (signalName: string, data: any) => void;
65
97
  }>;
66
- /**
67
- * Ingest telemetry events for a workflow run.
68
- * Workers use this to send telemetry to zeno-server for BigQuery storage.
69
- */
70
- ingestEvents(workflowId: string, runId: string, events: AgentEvent[]): Promise<{
71
- ingested: number;
72
- status?: string;
73
- error?: string;
74
- }>;
75
- /**
76
- * Get workflow analytics summary.
77
- * Returns overall metrics including token usage, success rates, and run counts.
78
- */
79
- getAnalyticsSummary(query?: WorkflowAnalyticsSummaryQuery): Promise<WorkflowAnalyticsSummaryResponse>;
80
- /**
81
- * Get token usage analytics.
82
- * Returns token consumption metrics by model, agent, tool, or over time.
83
- */
84
- getTokenUsageAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<TokenUsageAnalyticsResponse>;
85
- /**
86
- * Get LLM latency analytics.
87
- * Returns duration/latency metrics for LLM calls.
88
- */
89
- getLlmLatencyAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<LatencyAnalyticsResponse>;
90
- /**
91
- * Get tool latency analytics.
92
- * Returns duration/latency metrics for tool calls.
93
- */
94
- getToolLatencyAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<LatencyAnalyticsResponse>;
95
- /**
96
- * Get agent/workflow latency analytics.
97
- * Returns duration metrics for complete workflow runs.
98
- */
99
- getAgentLatencyAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<LatencyAnalyticsResponse>;
100
- /**
101
- * Get error analytics.
102
- * Returns error rates, types, and trends.
103
- */
104
- getErrorAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<ErrorAnalyticsResponse>;
105
- /**
106
- * Get tool usage analytics.
107
- * Returns tool invocation counts, success rates, and performance metrics.
108
- */
109
- getToolAnalytics(query?: WorkflowAnalyticsSummaryQuery): Promise<ToolAnalyticsResponse>;
110
- /**
111
- * Get tool parameter analytics.
112
- * Returns parameter value distributions for a specific tool.
113
- */
114
- getToolParameterAnalytics(query: WorkflowToolParametersQuery): Promise<ToolParameterAnalyticsResponse>;
115
- /**
116
- * Get available filter options for analytics.
117
- * Returns unique agents, environments, and models from telemetry data.
118
- */
119
- getAnalyticsFilterOptions(query?: WorkflowAnalyticsSummaryQuery): Promise<WorkflowAnalyticsFilterOptionsResponse>;
120
- /**
121
- * Get average prompt size (input tokens) by agent for startConversation calls.
122
- * This represents the initial prompt + tools size.
123
- */
124
- getPromptSizeAnalytics(query?: WorkflowAnalyticsSummaryQuery): Promise<PromptSizeAnalyticsResponse>;
125
- /**
126
- * Get top principals (users/API keys) who started the most agent runs.
127
- * Returns the top N principals sorted by run count descending.
128
- */
129
- getTopPrincipalsAnalytics(query?: WorkflowAnalyticsSummaryQuery): Promise<TopPrincipalsAnalyticsResponse>;
130
- /**
131
- * Get agent run distribution - how many runs per agent/interaction type.
132
- * Returns the top N agents sorted by run count descending.
133
- */
134
- getRunsByAgentAnalytics(query?: WorkflowAnalyticsSummaryQuery): Promise<RunsByAgentAnalyticsResponse>;
135
- /**
136
- * Get time to first response analytics.
137
- * Measures the time from agent start to the completion of the first LLM call.
138
- * Returns average, min, max, median, p95, and p99 metrics.
139
- */
140
- getTimeToFirstResponseAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<TimeToFirstResponseAnalyticsResponse>;
141
- /**
142
- * Get first response behavior analytics.
143
- * Analyzes the agent's first LLM response behavior:
144
- * - Percentage of agents that start by making a plan
145
- * - Percentage of agents that return no tool calls at start
146
- */
147
- getFirstResponseBehaviorAnalytics(query?: WorkflowAnalyticsTimeSeriesQuery): Promise<FirstResponseBehaviorAnalyticsResponse>;
148
98
  rules: WorkflowsRulesApi;
149
99
  definitions: WorkflowsDefinitionApi;
150
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowsApi.d.ts","sourceRoot":"","sources":["../../../src/store/WorkflowsApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowsApi.d.ts","sourceRoot":"","sources":["../../../src/store/WorkflowsApi.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AbstractFetchClient } from "@vertesia/api-fetch-client";
2
2
  import { BulkOperationPayload, BulkOperationResult } from "@vertesia/common";
3
+ import { AgentsApi } from "./AgentsApi.js";
3
4
  import { CollectionsApi } from "./CollectionsApi.js";
4
5
  import { CommandsApi } from "./CommandsApi.js";
5
6
  import { DataApi } from "./DataApi.js";
@@ -33,6 +34,7 @@ export declare class ZenoClient extends AbstractFetchClient<ZenoClient> {
33
34
  "x-api-version": string;
34
35
  accept: string;
35
36
  };
37
+ agents: AgentsApi;
36
38
  objects: ObjectsApi;
37
39
  types: TypesApi;
38
40
  workflows: WorkflowsApi;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/store/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C;AASD,qBAAa,UAAW,SAAQ,mBAAmB,CAAC,UAAU,CAAC;gBAGvD,IAAI,GAAE,eAAoB;IAiB9B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS9C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMzE,IAAI,cAAc;;;MAKjB;IAED,OAAO,aAAwB;IAC/B,KAAK,WAAsB;IAC3B,SAAS,eAA0B;IACnC,SAAS,eAA0B;IACnC,KAAK,WAAsB;IAC3B,QAAQ,cAAyB;IACjC,OAAO,aAAwB;IAC/B,WAAW,iBAA4B;IACvC,UAAU,gBAA2B;IACrC,KAAK,WAAsB;IAC3B,WAAW,iBAA4B;IACvC,IAAI,UAAqB;IACzB,KAAK,WAAsB;IAC3B,QAAQ,cAAyB;IACjC,KAAK,WAAsB;IAC3B,UAAU,gBAA2B;IACrC,SAAS,eAA0B;CACtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/store/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C;AASD,qBAAa,UAAW,SAAQ,mBAAmB,CAAC,UAAU,CAAC;gBAGvD,IAAI,GAAE,eAAoB;IAiB9B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS9C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMzE,IAAI,cAAc;;;MAKjB;IAED,MAAM,YAAuB;IAC7B,OAAO,aAAwB;IAC/B,KAAK,WAAsB;IAC3B,SAAS,eAA0B;IACnC,SAAS,eAA0B;IACnC,KAAK,WAAsB;IAC3B,QAAQ,cAAyB;IACjC,OAAO,aAAwB;IAC/B,WAAW,iBAA4B;IACvC,UAAU,gBAA2B;IACrC,KAAK,WAAsB;IAC3B,WAAW,iBAA4B;IACvC,IAAI,UAAqB;IACzB,KAAK,WAAsB;IAC3B,QAAQ,cAAyB;IACjC,KAAK,WAAsB;IAC3B,UAAU,gBAA2B;IACrC,SAAS,eAA0B;CACtC"}
@@ -1,3 +1,4 @@
1
+ export * from "./AgentsApi.js";
1
2
  export * from "./client.js";
2
3
  export * from "./CommandsApi.js";
3
4
  export * from "./DataApi.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "20260210";
1
+ export declare const VERSION = "20260319";
2
2
  export declare const VERSION_HEADER = "x-api-version";
@@ -1,2 +1,2 @@
1
- import{ExecutionRunStatus as t,DataStoreApiHeaders as e,ContentObjectApiHeaders as s,canGenerateRendition as r,WorkflowExecutionStatus as n,isWorkflowTerminalStatus as i,toAgentMessage as a,AgentMessageType as o,parseMessage as l}from"@vertesia/common";export{canGenerateRendition,getSupportedRenditionFormats,supportsVisualRendition}from"@vertesia/common";class u extends Error{constructor(t,e,s,r,n=!0){super(function(t,e,s,r,n){let i=t;if(n){i+="\nRequest: "+e.method+" "+e.url+" => "+s;const t=r?.details||r?.error?.details;if(t){const e=typeof t;"string"===e?i+="\nDetails: "+t:"object"===e&&(i+="\nDetails: "+JSON.stringify(t,void 0,2))}i+="\nStack Trace: "}return i}(t,e,s,r,n)),this.original_message=t,this.request=e,this.status=s,this.payload=r,this.request_info=e.method+" "+e.url+" => "+s,this.displayDetails=n}get details(){return this.payload?.details||this.payload?.error?.details}}class c extends u{constructor(t,e,s,r,n=!0){super(t,e,s,r,n)}updateDetails(t){return t!==this.details?new c(this.original_message,this.request,this.status,{...this.payload,details:t},this.displayDetails):this}}class h extends u{constructor(t,e){super("Failed to connect to server: "+e.message,t,0,e)}}let p;if(globalThis.TextDecoderStream&&"function"==typeof globalThis.TextDecoderStream)p=globalThis.TextDecoderStream;else{class t extends TransformStream{constructor(t="utf-8",{fatal:s=!1,ignoreBOM:r=!1}={}){super(new e(new TextDecoder(t,{fatal:s,ignoreBOM:r}))),this._options={fatal:s,ignoreBOM:r,encoding:t}}get encoding(){return this._options.encoding}get fatal(){return this._options.fatal}get ignoreBOM(){return this._options.ignoreBOM}}class e{constructor(t){this.decoder=t}transform(t,e){if(!(t instanceof ArrayBuffer||ArrayBuffer.isView(t)))throw new TypeError("Input must be a compatible with: ArrayBuffer | Uint8Array");const s=this.decoder.decode(t,{stream:!0});0!==s.length&&e.enqueue(s)}flush(t){const e=this.decoder.decode();0!==e.length&&t.enqueue(e)}}p=t}const d=[239,187,191];class g extends TransformStream{constructor(){let t;super({start(e){t=function(t){let e,s,r,n,i,a,o;return l(),{feed:function(t){s=s?s+t:t,e&&function(t){return d.every((e,s)=>t.charCodeAt(s)===e)}(s)&&(s=s.slice(d.length)),e=!1;const i=s.length;let a=0,o=!1;for(;a<i;){o&&("\n"===s[a]&&++a,o=!1);let t,e=-1,l=n;for(let n=r;e<0&&n<i;++n)t=s[n],":"===t&&l<0?l=n-a:"\r"===t?(o=!0,e=n-a):"\n"===t&&(e=n-a);if(e<0){r=i-a,n=l;break}r=0,n=-1,u(s,a,l,e),a+=e+1}a===i?s="":a>0&&(s=s.slice(a))},reset:l};function l(){e=!0,s="",r=0,n=-1,i=void 0,a=void 0,o=""}function u(e,s,r,n){if(0===n)return o.length>0&&(t({type:"event",id:i,event:a||void 0,data:o.slice(0,-1)}),o="",i=void 0),void(a=void 0);const l=r<0,u=e.slice(s,s+(l?n:r));let c=0;c=l?n:" "===e[s+r+1]?r+2:r+1;const h=s+c,p=n-c,d=e.slice(h,h+p).toString();if("data"===u)o+=d?"".concat(d,"\n"):"\n";else if("event"===u)a=d;else if("id"!==u||d.includes("\0")){if("retry"===u){const e=parseInt(d,10);Number.isNaN(e)||t({type:"reconnect-interval",value:e})}}else i=d}}(t=>{"event"===t.type&&e.enqueue(t)})},transform(e){t.feed(e)}})}}function y(t){return"/"===t[t.length-1]?t.slice(0,-1):t}class m{constructor(t,e){this.errorFactory=t=>t,this.verboseErrors=!0,this.baseUrl=y(t),this._fetch=function(t){return t?Promise.resolve(t):"function"==typeof globalThis.fetch?Promise.resolve(globalThis.fetch):Promise.resolve(()=>{throw new Error("No Fetch implementation found")})}(e)}throwError(t){throw this.errorFactory(t)}getUrl(t){return y((e=this.baseUrl,s=t,e.endsWith("/")?s.startsWith("/")?e+s.substring(1):e+s:s.startsWith("/")?e+s:e+"/"+s));var e,s}get(t,e){return this.request("GET",t,e)}del(t,e){return this.request("DELETE",t,e)}delete(t,e){return this.request("DELETE",t,e)}post(t,e){return this.request("POST",t,e)}put(t,e){return this.request("PUT",t,e)}jsonParse(t){return JSON.parse(t)}createRequest(t,e){return Promise.resolve(new Request(t,e))}createServerError(t,e,s){let r="Server Error: "+e.status;return s&&(s.message?r=String(s.message):s.error&&("string"==typeof s.error?r=String(s.error):"string"==typeof s.error.message&&(r=String(s.error.message)))),new c(r,t,e.status,s,this.verboseErrors)}async readJSONPayload(t){return t.text().then(e=>{if(e)try{return this.jsonParse(e)}catch(s){return{status:t.status,error:"Not a valid JSON payload",message:s.message,text:e}}}).catch(e=>({status:t.status,error:"Unable to load response content",message:e.message}))}handleResponse(t,e,s){return e.url,s&&s.reader?"sse"===s.reader?async function(t){if(!t.ok){const e=await t.text(),s=new Error("SSE error: "+t.status+". Content:\n"+e);throw s.status=t.status,s}if(!t.body)throw new Error("No body in response");return t.body.pipeThrough(new p).pipeThrough(new g)}(e):s.reader.call(this,e):this.readJSONPayload(e).then(s=>{if(e.ok)return s;this.throwError(this.createServerError(t,e,s))})}async request(t,e,s){let r=this.getUrl(e);s?.query&&(r+="?"+function(t){const e=[];for(const s of Object.keys(t)){const r=t[s];null!=r&&e.push(encodeURIComponent(s)+"="+encodeURIComponent(String(r)))}return e.join("&")}(s.query));const n=this.headers?Object.assign({},this.headers):{},i=s?.headers;if(i)for(const t in i)n[t.toLowerCase()]=i[t];let a;const o=s?.payload;o&&(s&&!1===s.jsonPayload?a=o:(a="string"!=typeof o?JSON.stringify(o):o,"content-type"in n||(n["content-type"]="application/json")));const l={method:t,headers:n,body:a},u=await this.createRequest(r,l);return this._fetch.then(t=>t(u).catch(t=>{console.error(`Failed to connect to ${r}`,t),this.throwError(new h(u,t))}).then(t=>this.handleResponse(u,t,s)))}fetch(t,e){return this._fetch.then(s=>s(t,e))}}class f extends m{constructor(t,e){super(t,e),this.baseUrl="/"===t[t.length-1]?t.substring(0,t.length-1):t,this.headers=this.initialHeaders}get initialHeaders(){return{accept:"application/json"}}withAuthCallback(t){return this._auth=t||void 0,this}withErrorFactory(t){return this.errorFactory=t,this}withLang(t){return t?this.headers["accept-language"]=t:delete this.headers["accept-language"],this}withHeaders(t){const e=this.headers;for(const s in t){const r=t[s];null!=r&&(e[s.toLowerCase()]=r)}return this}setHeader(t,e){e?this.headers[t.toLowerCase()]=e:delete this.headers[t.toLowerCase()]}async createRequest(t,e){if(this._auth&&(!(s=e.headers)||!("authorization"in s))){const t=e.headers?e.headers:{};e.headers=t;const s=await this._auth();s&&(e.headers.authorization=s)}var s;this.response=void 0;const r=await super.createRequest(t,e);return this.onRequest&&this.onRequest(r),r}async handleResponse(t,e,s){return this.response=e,this.onResponse&&this.onResponse(e,t),super.handleResponse(t,e,s)}}class w extends m{constructor(t,e){super(t.getUrl(e),t._fetch),this.client=t,this.createServerError=t.createServerError,this.errorFactory=t.errorFactory,this.verboseErrors=t.verboseErrors}createRequest(t,e){return this.client.createRequest(t,e)}handleResponse(t,e,s){return this.client.handleResponse(t,e,s)}get headers(){return this.client.headers}}class v extends w{constructor(t){super(t,"/api/v1/account")}info(){return this.get("/")}update(t){return this.put("/",{payload:t})}projects(){return this.get("/projects").then(t=>t.data)}members(){return this.get("/members")}inviteUser(t){return this.post("/invites",{payload:t})}listInvites(){return this.get("/invites")}listInvitation(t="project"){return this.get(`/invites/${t}`)}acceptInvite(t){return this.put(`/invites/${t}`)}rejectInvite(t){return this.delete(`/invites/${t}`)}onboardingProgress(){return this.get("/onboarding")}getGoogleToken(){return this.get("/google-token")}getStripeBillingStatus(){return this.get("/stripe-billing-status")}}class $ extends w{constructor(t){super(t,"/api/v1/accounts")}create(t){return this.post("/",{payload:{name:t}})}list(){return this.get("/")}}class b extends w{constructor(t){super(t,"/api/v1/analytics")}runsSummary(t,e){const s=new URLSearchParams;t?.start&&s.set("start",t.start),t?.end&&s.set("end",t.end),e&&s.set("environment",e);const r=s.toString();return this.get("/runs/summary"+(r?"?"+r:""))}runsTimeSeries(t,e){const s=new URLSearchParams;t?.start&&s.set("start",t.start),t?.end&&s.set("end",t.end),e&&s.set("environment",e);const r=s.toString();return this.get("/runs/time-series"+(r?"?"+r:""))}runsTokenUsage(t){const e=new URLSearchParams;t?.start&&e.set("start",t.start),t?.end&&e.set("end",t.end);const s=e.toString();return this.get("/runs/token-usage"+(s?"?"+s:""))}}class S extends w{constructor(t){super(t,"/api/v1/audit-trail")}list(t){const e=new URLSearchParams;t?.actions?.length&&e.set("actions",t.actions.join(",")),t?.resourceTypes?.length&&e.set("resourceTypes",t.resourceTypes.join(",")),t?.resourceId&&e.set("resourceId",t.resourceId),t?.principalId&&e.set("principalId",t.principalId),t?.principalUserId&&e.set("principalUserId",t.principalUserId),t?.projectId&&e.set("projectId",t.projectId),t?.from&&e.set("from",t.from),t?.to&&e.set("to",t.to),t?.limit&&e.set("limit",String(t.limit)),t?.offset&&e.set("offset",String(t.offset));const s=e.toString();return this.get("/"+(s?"?"+s:""))}}class x extends w{constructor(t){super(t,"/api/v1/apikeys")}list(t="account"){return this.get("/",{query:{level:t}})}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}retrieve(t,e=!1){return e?this.get(`/${t}`,{query:{withValue:!0}}):this.get(`/${t}`)}requestPublicKey(t={}){return this.get("/pk",{query:t})}}class k extends w{constructor(t){super(t,"/api/v1/apps")}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}listAppInstallationTools(t){return this.get(`/installations/${t}/tools`)}list(){return this.get("/")}install(t,e){return this.post("/install",{payload:{app_id:t,settings:e}})}uninstall(t){return this.del(`/install/${t}`)}getAppInstallationByName(t){return this.get(`/installations/name/${t}`).catch(t=>{if(404===t.status)return null;throw t})}getAppInstallationProjects(t){if(!t.id&&!t.name)throw new Error("Invalid arguments: appId or appName must be specified");const e=t.id?{id:t.id}:{name:t.name};return this.get("/installations/projects",{query:e})}getInstalledApps(t){return this.get("/installations",{query:{kind:t}})}getAllAppInstallations(){return this.get("/installations/all")}listInstallations(){return this.get("/installations/refs")}updateInstallationSettings(t){return this.put(`/installations/settings/${t.app_id}`,{payload:{app_id:t.app_id,settings:t.settings}})}}let T=class extends w{constructor(t){super(t,"/api/v1/commands")}async isNamespaceAvailable(t){return this.get(`/namespaces/${t}/is_available`).then(t=>t.available)}async initSamples(){return this.post("/onboarding/init-samples")}};class _ extends w{constructor(t){super(t,"/api/v1/environments")}list(t=!1){const e=t?{all:!0}:void 0;return this.get("/",{query:e})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}updateConfig(t,e){return this.put("/"+t+"/config",{payload:e})}listModels(t,e){return this.get("/"+t+"/models",{query:e?{...e}:void 0})}listTrainableModels(t){return this.get(`/${t}/trainable-models`)}embeddings(t,e){return this.post("/"+t+"/embeddings",{payload:e})}migrateInteractions(t){return this.post("/migrate-interactions",{payload:t})}}class E extends w{constructor(t){super(t,"/groups")}list(t){return this.get("/",{query:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}delete(t){return this.del("/"+t)}listMembers(t){return this.get("/"+t+"/members")}addMember(t,e){return this.post("/"+t+"/members/"+e)}removeMember(t,e){return this.del("/"+t+"/members/"+e)}}class R extends w{constructor(t){super(t,"/api/v1/iam"),this.aces=new I(this),this.roles=new q(this),this.groups=new E(this)}}class q extends w{constructor(t){super(t,"/roles")}list(){return this.get("/")}}class I extends w{constructor(t){super(t,"/aces")}list(t){return this.get("/",{query:{...t}})}retrieve(t){return this.get("/"+t)}create(t){return this.post("/",{payload:t})}delete(t){return this.del("/"+t)}}async function U(){return"function"==typeof globalThis.EventSource?globalThis.EventSource:(await import("eventsource")).EventSource}async function A(e,s,r={},n){const i=!!n,a=await e.runs.create({...r,interaction:s,stream:i});if(i){if(a.status===t.failed)return a;await P(e,a.id,n)}return a}function P(t,e,s){return new Promise(async(r,n)=>{try{const i=await U(),a=new URL(t.runs.baseUrl+"/"+e+"/stream"),o=t._auth?await t._auth():void 0;if(!o)throw new Error("No auth token available");{const t=o.split(" ")[1];a.searchParams.set("access_token",t)}const l=new i(a.href);l.addEventListener("message",t=>{try{const e=JSON.parse(t.data);e&&s&&s(e)}catch(t){n(t)}}),l.addEventListener("close",t=>{try{l.close();const e=JSON.parse(t.data);r(e)}catch(t){n(t)}})}catch(t){n(t)}})}class j extends w{constructor(t){super(t,"/api/v1/interactions/catalog")}list(t={}){return this.get("/",{query:t})}listStoredInteractions(t={}){return this.get("/stored",{query:t})}listSysInteractions(t){return this.get("/sys",{query:{tag:t}})}listAppInteractions(t,e){return this.get(`/apps/${t}`,{query:{tag:e}})}listAllAppInteractions(t){return this.get("/apps",{query:{tag:t}})}resolve(t){return this.get(`/resolve/${t}`)}}const O=Symbol("InteractionOutput");function C(t){return t.result=D.from(t.result),t}function F(t){return t.result=D.from(t.result),t}class D{constructor(t){this.results=t}static from(t){return t?t[O]?t:Array.isArray(t)?M(t):M("object"==typeof t?[{type:"json",value:t}]:[{type:"text",value:String(t)}]):M([])}static isInteractionOutputArray(t){return t&&!0===t[O]}get isEmpty(){return 0===this.results.length}hasObject(){return this.results.some(t=>"json"===t.type)}hasText(){return this.results.some(t=>"text"===t.type)}hasImage(){return this.results.some(t=>"image"===t.type)}text(t="\n"){return this.results.filter(t=>"text"===t.type).map(t=>t.value).join(t)}texts(){return this.results.filter(t=>"text"===t.type).map(t=>t.value)}object(){const t=this.results.find(t=>"json"===t.type);return t?t.value:function(t){let e;for(const s of t)if("text"===s.type){const t=s.value.trim();try{return JSON.parse(t)}catch(t){e=t}}e||(e=new Error("No JSON result found and no text available to parse"));throw e}(this.results)}objects(){return this.results.filter(t=>"json"===t.type).map(t=>t.value)}objectAt(t){let e=0;for(const s of this.results)if("json"===s.type){if(e===t)return s.value;e++}throw new Error(`Object at index ${t} not found`)}image(){const t=this.results.find(t=>"image"===t.type);if(!t)throw new Error("No image result found");return t.value}images(){return this.results.filter(t=>"image"===t.type).map(t=>t.value)}stringify(t="\n",e=2){return this.results.map(t=>"json"===t.type?JSON.stringify(t.value,null,e):String(t.value)).join(t)}toString(){return this.text()}toJSON(){return this.results}}function M(t){const e=new D(t);return new Proxy(t,{get(t,s,r){if(s===O)return!0;if(s in e){const t=e[s];return"function"==typeof t?t.bind(e):t}return Reflect.get(t,s,r)}})}class N extends w{constructor(t){super(t,"/api/v1/interactions"),this.catalog=new j(t)}list(t={}){const e=t.query||{};return this.get("/",{query:{...e}})}listEndpoints(t){return this.post("/endpoints",{payload:t})}listVersionsByName(t){return this.get(`/versions/${t}`)}listTags(t){return this.get("/tags",{query:{...t}})}computeFacets(t){return this.post("/facets",{payload:t})}listNames(){return this.get("/names")}export(t){return this.post("/export",{payload:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}async execute(t,e={},s){return C(await A(this.client,t,e,s).catch(t=>{throw t instanceof c&&t.payload?.id?t.updateDetails({run_id:t.payload.id}):t}))}async executeByName(e,s={},r){const n=await async function(e,s,r={},n){const i=!!n,a=await e.post("/api/v1/execute",{payload:{...r,interaction:s,stream:i}});if(i){if(a.status===t.failed)return a;await P(e,a.id,n)}return a}(this.client,e,s,r).catch(t=>{throw t instanceof c&&t.payload?.id?t.updateDetails({run_id:t.payload.id}):t});return C(n)}executeAsync(t){return async function(t,e){return await t.post("/api/v1/execute/async",{payload:e})}(this.client,t)}publish(t,e){return this.post(`/${t}/publish`,{payload:e})}fork(t,e){return this.post(`/${t}/fork`,{payload:e})}generateInteraction(t,e){return this.post(`${t}/generate-interaction`,{payload:e})}generateTestData(t,e){return this.post(`${t}/generate-test-data`,{payload:e})}async suggestImprovements(t,e){return F(await this.post(`${t}/suggest-prompt-improvements`,{payload:e}))}async suggestPromptImprovements(t){return C(await this.post("/improve",{payload:t}))}listVersions(t){return this.get(`/${t}/versions`)}listForks(t){return this.get(`/${t}/forks`)}requestSlot(t){return async function(t,e){return await t.post("/api/v1/execute/rate-limit/request",{payload:e})}(this.client,t)}resolve(t,e){return this.get(`/resolve/${encodeURIComponent(t)}`,{query:e})}}class H extends w{constructor(t){super(t,"/api/v1/mcp/oauth")}getStatus(t){return this.get(`/status/${t}`)}getCollectionStatus(t,e){return this.get(`/status/${t}/${e}`)}getMetadata(t,e){return this.get(`/metadata/${t}/${e}`)}authorize(t,e){return this.get(`/authorize/${t}/${e}`)}disconnect(t){return this.del(`/disconnect/${encodeURIComponent(t)}`)}getToken(t){return this.post("/token",{payload:{mcp_server_url:t}})}}class L extends w{constructor(t){super(t,"/api/v1/projects"),this.integrations=new W(this)}list(t){return this.get("/",{query:{account:t}})}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}updateConfiguration(t,e){return this.put(`/${t}/configuration`,{payload:e})}getTools(t){return this.get(`/${t}/tools`)}getToolByName(t,e){return this.get(`/${t}/tools/${e}`).catch(t=>{if(404===t.status)return null;throw t})}listAppContentTypes(t,e){return this.get(`/${t}/app-types`,{query:{tag:e}})}getAppContentType(t,e){return this.get(`/${t}/app-types/${e}`)}listAppRenderingTemplates(t,e){return this.get(`/${t}/app-templates`,{query:{tag:e}})}getAppRenderingTemplate(t,e){return this.get(`/${t}/app-templates/${e}`)}getCompositeAppConfiguration(t){return this.get(`/${t}/composite-app`)}updateCompositeAppConfiguration(t,e){return this.put(`/${t}/composite-app`,{payload:e})}}class W extends w{constructor(t){super(t,"/")}list(t){return this.get(`/${t}/integrations`).then(t=>t.integrations)}retrieve(t,e){return this.get(`/${t}/integrations/${e}`).catch(t=>{if(404!==t.status)throw t})}update(t,e,s){return this.put(`/${t}/integrations/${e}`,{payload:s})}}class B extends w{constructor(t){super(t,"/api/v1/skills")}findRelevant(t,e){const s={context:t,limit:e};return this.post("/find-relevant",{payload:s})}findRelevantForTask(t,e){return this.findRelevant({task_description:t,tool_names:e})}}class J extends w{constructor(t){super(t,"/api/v1/prompts")}list(t={}){const e=t.query||{};return this.get("/",{query:{...e}})}computeFacets(t){return this.post("/facets",{payload:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}fork(t,e){return this.post(`/${t}/fork`,{payload:e})}render(t,e){return this.post(`/${t}/render`,{payload:e})}options(t){return this.get(`/options/${t}`)}listVersions(t){return this.get(`/${t}/versions`)}listInteractions(t){return this.get(`/${t}/interactions`)}listForks(t){return this.get(`/${t}/forks`)}}class V extends w{constructor(t){super(t,"/api/v1/refs")}resolve(t){return this.post("/resolve",{payload:{refs:t}})}}class z extends w{constructor(t){super(t,"/api/v1/runs")}list({limit:t,offset:e,filters:s}){const r={limit:t,offset:e,...s};return this.get("/",{query:r})}find(t){return this.post("/find",{payload:t})}async retrieve(t){return F(await this.get("/"+t))}retrievePopulated(t){return this.get("/"+t,{query:{populate:"true"}})}filterOptions(t,e){const s={...e};return this.get(`/filter-options/${t}`,{query:s})}async create(t){const e=this.client.sessionTags;if(e){let s=Array.isArray(e)?e:[e];Array.isArray(t.tags)?s=s.concat(t.tags):t.tags&&(s=s.concat([t.tags])),t={...t,tags:s}}return F(await this.post("/",{payload:t}))}sendToolResults(t){return this.post("/tool-results",{payload:t})}sendUserMessage(t){return this.post("/user-message",{payload:t})}computeFacets(t){return this.post("/facets",{payload:t})}search(t){return this.post("/search",{payload:t})}}class G extends w{constructor(t){super(t,"/api/v1/collections")}search(t){return this.post("/search",{payload:t})}computeListFacets(t){return this.post("/facets",{payload:t})}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}addMembers(t,e){return this.post(`/${t}/members`,{payload:{action:"add",members:e}})}listMembers(t,e){return this.get(`/${t}/members`,{query:{...e}})}computeFacets(t,e){return this.post(`/${t}/facets`,{payload:e})}searchMembers(t,e){return this.post(`/${t}/search`,{payload:e})}deleteMembers(t,e){return this.post(`/${t}/members`,{payload:{action:"delete",members:e}})}addChildren(t,e){return this.post(`/${t}/children`,{payload:{action:"add",children:e}})}deleteChildren(t,e){return this.post(`/${t}/children`,{payload:{action:"delete",children:e}})}searchChildren(t,e={}){return this.post(`/${t}/children/search`,{payload:e})}delete(t){return this.del(`/${t}`)}updatePermissions(t,e){return this.put(`/${t}/permissions`,{payload:e})}propagatePermissions(t){return this.post(`/${t}/propagate-permissions`)}propagateSharedProperties(t){return this.post(`/${t}/propagate-shared-props`)}}class K extends w{constructor(t,e="/api/v1/embeddings"){super(t,e)}async status(t){return this.get(t+"/status")}async activate(t,e){if(!e.environment)throw new Error("Invalid configuration: select environment");return this.post(t+"/enable",{payload:e})}async disable(t){return this.post(t+"/disable")}async recalculate(t){return this.post(t+"/recalculate")}}class Q extends w{constructor(t){super(t,"/api/v1/commands"),this.embeddings=new K(this,"/embeddings")}}class Y extends w{constructor(t,e){super(t,`/api/v1/data/${e}/dashboards`),this.storeId=e}storeHeaders(){return{[e.DATA_STORE_ID]:this.storeId}}list(t){const e=t?`?status=${t}`:"";return this.get(`/${e}`,{headers:this.storeHeaders()})}create(t){return this.post("/",{payload:t,headers:this.storeHeaders()})}retrieve(t){return this.get(`/${t}`,{headers:this.storeHeaders()})}update(t,e){return this.put(`/${t}`,{payload:e,headers:this.storeHeaders()})}delete(t){return this.del(`/${t}`,{headers:this.storeHeaders()})}bulkArchive(t){return this.post("/bulk/archive",{payload:{ids:t},headers:this.storeHeaders()})}bulkDelete(t){return this.post("/bulk/delete",{payload:{ids:t},headers:this.storeHeaders()})}listVersions(t,e){const s=new URLSearchParams;e?.snapshotsOnly&&s.set("snapshots_only","true"),e?.limit&&s.set("limit",String(e.limit));const r=s.toString()?`?${s}`:"";return this.get(`/${t}/versions${r}`,{headers:this.storeHeaders()})}getVersion(t,e){return this.get(`/${t}/versions/${e}`,{headers:this.storeHeaders()})}createSnapshot(t,e){return this.post(`/${t}/versions`,{payload:e,headers:this.storeHeaders()})}promoteVersion(t,e,s){return this.post(`/${t}/versions/${e}/promote`,{payload:s||{},headers:this.storeHeaders()})}setVersioningEnabled(t,e){return this.put(`/${t}/versioning`,{payload:{enabled:e},headers:this.storeHeaders()})}}class X extends w{constructor(t){super(t,"/api/v1/data")}storeHeaders(t){return{[e.DATA_STORE_ID]:t}}list(){return this.get("/")}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`,{headers:this.storeHeaders(t)})}delete(t){return this.del(`/${t}`,{headers:this.storeHeaders(t)})}getSchema(t,e){const s=e?`?format=${e}`:"";return this.get(`/${t}/schema${s}`,{headers:this.storeHeaders(t)})}updateSchema(t,e){return this.put(`/${t}/schema`,{payload:e,headers:this.storeHeaders(t)})}getSchemaHistory(t){return this.get(`/${t}/schema/history`,{headers:this.storeHeaders(t)})}listTables(t){return this.get(`/${t}/tables`,{headers:this.storeHeaders(t)})}createTables(t,e){return this.post(`/${t}/tables`,{payload:e,headers:this.storeHeaders(t)})}getTable(t,e,s){const r=s?"?sample=true":"";return this.get(`/${t}/tables/${e}${r}`,{headers:this.storeHeaders(t)})}alterTable(t,e,s){return this.put(`/${t}/tables/${e}`,{payload:s,headers:this.storeHeaders(t)})}dropTable(t,e){return this.del(`/${t}/tables/${e}`,{headers:this.storeHeaders(t)})}import(t,e){return this.post(`/${t}/import`,{payload:e,headers:this.storeHeaders(t)})}getImportStatus(t,e){return this.get(`/${t}/import/${e}`,{headers:this.storeHeaders(t)})}listVersions(t,e){const s=e?"?snapshots_only=true":"";return this.get(`/${t}/versions${s}`,{headers:this.storeHeaders(t)})}createSnapshot(t,e){return this.post(`/${t}/versions`,{payload:e,headers:this.storeHeaders(t)})}rollback(t,e){return this.post(`/${t}/versions/${e}/rollback`,{headers:this.storeHeaders(t)})}queryVersion(t,e,s){return this.post(`/${t}/versions/${e}/query`,{payload:s,headers:this.storeHeaders(t)})}query(t,e){return this.post(`/${t}/query`,{payload:e,headers:this.storeHeaders(t)})}validateQueries(t,e){return this.post(`/${t}/query/validate`,{payload:{queries:e},headers:this.storeHeaders(t)})}getDownloadInfo(t,e){const s=e?`?version_id=${e}`:"";return this.get(`/${t}/download${s}`,{headers:this.storeHeaders(t)})}dashboards(t){return new Y(this.client,t)}}class Z extends w{constructor(t){super(t,"/api/v1/email")}send(t){return this.post("/send",{payload:t})}resolveRoute(t){return this.post("/resolve-route",{payload:{route_key:t}})}createRoute(t){return this.post("/routes",{payload:t})}getRoute(t){return this.get(`/routes/${t}`)}updateRoute(t,e){return this.put(`/routes/${t}`,{payload:e})}forwardEmail(t,e){return this.post(`/routes/${t}/forward`,{payload:e})}}class tt extends w{constructor(t,e="/api/v1/indexing"){super(t,e)}async status(){return this.get("/status")}async reindex(t){return this.post("/reindex",{payload:{recreateIndex:t}})}async enableIndexing(){return this.post("/enable-indexing")}async disableIndexing(){return this.post("/disable-indexing")}async enableQueries(){return this.post("/enable-queries")}async disableQueries(){return this.post("/disable-queries")}index(t,e){return this.post("/internal/index",{payload:{objectId:t,document:e}})}delete(t){return this.post("/internal/delete",{payload:{objectId:t}})}bulkIndex(t,e){return this.post("/internal/bulk-index",{payload:{documents:t,targetIndex:e}})}ensureIndex(t){return this.post("/internal/ensure-index",{payload:{recreate:t}})}createReindexTarget(){return this.post("/internal/create-reindex-target",{payload:{}})}swapAlias(t,e){return this.post("/internal/swap-alias",{payload:{newIndexName:t,deleteOld:e}})}getStats(){return this.post("/internal/stats",{payload:{}})}getReindexRange(){return this.post("/internal/reindex-range",{payload:{}})}fetchBatch(t,e){return this.post("/internal/fetch-batch",{payload:{cursor:t,limit:e}})}indexBatch(t,e,s,r){return this.post("/internal/index-batch",{payload:{cursor:t,limit:e,targetIndex:s,since:r}})}triggerReindex(t){return this.post("/internal/trigger-reindex",{payload:t??{}})}fetchDocumentsByIds(t){return this.post("/internal/fetch-by-ids",{payload:{objectIds:t}})}bulkDelete(t){return this.post("/internal/bulk-delete",{payload:{objectIds:t}})}getConfiguration(){return this.post("/internal/configuration",{payload:{}})}}class et extends u{constructor(t,e){super("Resource not found: "+e.message,t,404,e.payload)}}class st{constructor(t,e,s,r){this.stream=t,this.name=e,this.type=s,this.id=r}}const rt="memories",nt="agents";function it(t){const e=t.endsWith(".tar.gz")?t:t+".tar.gz";return`${rt}/${e}`}function at(t,e){return`${nt}/${t}/${e}`}class ot extends w{constructor(t){super(t,"/api/v1/files")}async deleteFile(t,e){return(await this.delete(`/${t}`,{query:{prefix:e}})).count}getMetadata(t){return this.get("/metadata",{query:{file:t}})}setFileMetadata(t,e){const s={file:t,metadata:e};return this.put("/metadata",{payload:s})}getOrCreateBucket(){return this.post("/bucket")}getUploadUrl(t){return this.post("/upload-url",{payload:t})}getDownloadUrl(t,e,s){const r={file:t,name:e,disposition:s};return this.post("/download-url",{payload:r})}getDownloadUrlWithOptions(t){return this.post("/download-url",{payload:t})}async uploadFile(t){const e=t instanceof st,{url:s,id:r,path:n}=await this.getUploadUrl(t);return await fetch(s,{method:"PUT",body:e?t.stream:t,duplex:e?"half":void 0,headers:{"Content-Type":t.type||"application/gzip"}}).then(t=>{if(t.ok)return t;throw console.log(t),new Error(`Failed to upload file: ${t.statusText}`)}).catch(t=>{throw console.error("Failed to upload file",{err:t,url:s,id:r,path:n}),t}),r}async downloadFile(t){const e=!t.startsWith("https:"),{url:s}=e?await this.getDownloadUrl(t):{url:t},r=await fetch(s,{method:"GET"}).then(e=>{if(e.ok)return e;throw 404===e.status?new Error(`File at ${s} not found`):403===e.status?new Error(`File at ${s} is forbidden`):(console.log(e),new Error(`Failed to download file ${t}: ${e.statusText}`))}).catch(e=>{throw console.error(`Failed to download file ${t}.`,e),e});if(!r.body)throw new Error(`No body in response while downloading file ${t}`);return r.body}async copyFile(t,e){return(await this.post("/copy",{payload:{source:t,dest:e}})).dest}async uploadMemoryPack(t){const e=it(t.name),s=t.name.endsWith(".tar.gz")?t.name:t.name+".tar.gz";if(t instanceof File){let r=t;return this.uploadFile(new st(r.stream(),s,r.type,e))}return this.uploadFile(new st(t.stream,s,t.type,e))}async downloadMemoryPack(t,e=!1){let s=await this.downloadFile(it(t));if(e){const t=new DecompressionStream("gzip");s=s.pipeThrough(t)}return s}listByPrefix(t){return this.get("/list",{query:{prefix:t}})}async uploadArtifact(t,e,s){const r=at(t,e);if(s instanceof File){const t=s;return this.uploadFile(new st(t.stream(),e,t.type,r))}return this.uploadFile(new st(s.stream,e,s.type,r))}async downloadArtifact(t,e){const s=at(t,e);return this.downloadFile(s)}getArtifactDownloadUrl(t,e,s){const r=at(t,e);return this.getDownloadUrl(r,e,s)}async listArtifacts(t){const e=`${nt}/${t}/`;return(await this.listByPrefix(e)).files}}class lt extends w{constructor(t){super(t,"/api/v1/hive-memory")}list(t){const e=new URLSearchParams;t?.category&&e.set("category",t.category),t?.scope&&e.set("scope",t.scope),t?.limit&&e.set("limit",String(t.limit)),t?.offset&&e.set("offset",String(t.offset));const s=e.toString();return this.get(s?`/?${s}`:"/")}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}search(t){return this.post("/search",{payload:t})}recall(t,e){return this.post("/recall",{payload:{task_description:t,tools:e?.tools,category:e?.category,max_results:e?.maxResults}})}getFormatted(t){return this.get(`/${t}/formatted`)}recordUsage(t){return this.post(`/${t}/usage`,{})}getByCategory(t,e){const s=new URLSearchParams;e?.limit&&s.set("limit",String(e.limit)),e?.offset&&s.set("offset",String(e.offset));const r=s.toString();return this.get(`/category/${t}${r?`?${r}`:""}`)}getStats(){return this.get("/stats")}applyDecay(t){return this.post("/admin/decay",{payload:{days_threshold:t?.daysThreshold,decay_rate:t?.decayRate}})}archiveLowConfidence(t){return this.post("/admin/archive",{payload:{threshold:t}})}}class ut extends w{constructor(t,e){super(t,`/${e}/analyze`),this.objectId=e}async start(t){return this.post("/",{payload:t})}async getStatus(){return this.get("/status")}async getResults(){return this.get("/results")}async adaptTables(t){return this.post("/adapt_tables",{payload:t})}async getAdaptedTables(t,e){const s=t?`/adapt_tables/${t}`:"/adapt_tables",r={};e?.format&&(r.format=e.format),void 0!==e?.raw&&(r.raw=e.raw);const n={query:r};return"csv"===e?.format&&(n.responseType="text"),this.get(s,n)}async getXml(){return this.get("/xml")}async getTables(t){const e={};return t&&(e.query={format:t}),this.get("/tables",e)}async getImages(){return this.get("/images")}async getAnnotated(){return this.get("/annotated")}}class ct extends w{constructor(t){super(t,"/api/v1/objects")}analyze(t){return new ut(this,t)}getUploadUrl(t){return this.post("/upload-url",{payload:t})}getDownloadUrl(t,e,s){return this.post("/download-url",{payload:{file:t,name:e,disposition:s}})}getDownloadUrlWithOptions(t){return this.post("/download-url",{payload:t})}getContentSource(t){return this.get(`/${t}/content-source`)}list(t={}){const e=t.limit||100,s=t.offset||0,r=t.query||{};return this.get("/",{query:{limit:e,offset:s,...r,all_revisions:t.all_revisions,from_root:t.from_root||void 0}})}computeFacets(t){return this.post("/facets",{payload:t})}listFolders(t="/"){}find(t){return this.post("/find",{payload:t})}count(t){return this.post("/count",{payload:t})}search(t){return this.post("/search",{payload:t})}retrieve(t,e){return this.get(`/${t}`,{query:{select:e}})}getObjectText(t){return this.get(`/${t}/text`)}async upload(t){const e=t instanceof st,{url:s,id:r,mime_type:n}=await this.getUploadUrl({id:e?t.id:void 0,name:t.name,mime_type:t.type}),i=t.type||n,a=await fetch(s,{method:"PUT",body:e?t.stream:t,duplex:e?"half":void 0,headers:i?{"Content-Type":i}:void 0}).then(t=>{if(t.ok)return t;throw console.log(t),new Error(`Failed to upload file: ${t.statusText}`)}).catch(t=>{throw console.error("Failed to upload file",t),t}),o=a.headers.get("etag")?.replace(/^"(.*)"$/,"$1");return{source:r,name:t.name,type:i,etag:o}}async create(t,e){const r={...t};(t.content instanceof st||t.content instanceof File)&&(r.content=await this.upload(t.content));const n={};return e?.processing_priority&&(n[s.PROCESSING_PRIORITY]=e.processing_priority),e?.collection_id&&(n[s.COLLECTION_ID]=e.collection_id),await this.post("/",{payload:r,headers:n})}async createFromExternalSource(t,e={},r){const n=await this.client.files.getMetadata(t),i={...e,content:{source:t,name:n.name,type:n.contentType,etag:n.etag}},a={};return r?.processing_priority&&(a[s.PROCESSING_PRIORITY]=r.processing_priority),r?.collection_id&&(a[s.COLLECTION_ID]=r.collection_id),await this.post("/",{payload:i,headers:a})}async update(t,e,r){const n={...e};(e.content instanceof st||e.content instanceof File)&&(n.content=await this.upload(e.content));const i={};return r?.ifMatch&&(i["if-match"]=r.ifMatch),r?.processing_priority&&(i[s.PROCESSING_PRIORITY]=r.processing_priority),r?.createRevision&&(i[s.CREATE_REVISION]="true",r.revisionLabel&&(i[s.REVISION_LABEL]=r.revisionLabel)),r?.suppressWorkflows&&(i[s.SUPPRESS_WORKFLOWS]="true"),this.put(`/${t}`,{payload:n,headers:i})}getRevisions(t){return this.get(`/${t}/revisions`)}getCollections(t){return this.get(`/${t}/collections`)}delete(t){return this.del(`/${t}`)}listWorkflowRuns(t){return this.get(`/${t}/workflow-runs`)}listRenditions(t){return this.get(`/${t}/renditions`)}getRendition(t,e){const s={max_hw:e.max_hw,generate_if_missing:e.generate_if_missing,sign_url:e.sign_url,block_on_generation:e.block_on_generation};return this.get(`/${t}/renditions/${e.format}`,{query:s})}getRenditionSafe(t,e,s){return r(e,s.format)?this.getRendition(t,s):Promise.resolve(null)}exportProperties(t){return this.post("/export",{payload:t})}setEmbedding(t,e,s){return this.put(`/${t}/embeddings/${e}`,{payload:s})}}class ht extends w{constructor(t){super(t,"/api/v1/pending-asks")}register(t){return this.post("/",{payload:t})}resolve(t,e){return this.post(`/${t}/resolve`,{payload:e})}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}}class pt extends w{constructor(t,e="/api/v1/query"){super(t,e)}async execute(t){return this.post("/",{payload:t})}async sql(t){return this.execute({sql:t})}async esql(t){return this.execute({esql:t})}async dsl(t){return this.execute({dsl:t})}}class dt extends w{constructor(t){super(t,"/api/v1/rendering")}start(t){return this.post("/jobs",{payload:t})}getStatus(t,e){return this.get("/jobs/status",{query:{workflow_id:t,workflow_run_id:e}})}async render(t,e={}){const s=e.pollIntervalMs??1500,r=e.timeoutMs??6e5,a=await this.start(t);if(!a.workflow_id||!a.workflow_run_id)throw new Error("Failed to start rendering workflow");const o=Date.now();for(;;){const e=await this.getStatus(a.workflow_id,a.workflow_run_id);if(e.status===n.COMPLETED){if(!e.download_url&&!e.file_uri)throw new Error(e.error||"Rendering completed but no output file was produced");return{status:"success",format:t.format,download_url:e.download_url,file_uri:e.file_uri}}if(i(e.status)){const t=n[e.status]||String(e.status);throw new Error(e.error||`Rendering failed with status: ${t}`)}if(Date.now()-o>=r)throw new Error(`Rendering timed out after ${r}ms`);await gt(s)}}}function gt(t){return new Promise(e=>setTimeout(e,t))}class yt extends w{constructor(t){super(t,"/api/v1/schedules")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}trigger(t){return this.post(`/${t}/trigger`,{})}pause(t,e){return this.post(`/${t}/pause`,{payload:{note:e}})}resume(t,e){return this.post(`/${t}/resume`,{payload:{note:e}})}}class mt extends w{constructor(t){super(t,"/api/v1/tools")}getBuiltinCatalog(){return this.get("/")}}class ft extends w{constructor(t){super(t,"/api/v1/types/catalog")}list(t={}){return this.get("/",{query:t})}listSysTypes(t){return this.get("/sys",{query:{tag:t}})}listAppTypes(t){return this.get("/apps",{query:{tag:t}})}listStoredTypes(t={}){return this.get("/stored",{query:t})}resolve(t){const e="string"==typeof t?t:t.code||t.id;return this.get(`/resolve/${e}`)}}class wt extends w{constructor(t){super(t,"/api/v1/types"),this.catalog=new ft(t)}list(t={},e){const s=t.limit||2e3,r=t.offset||0,n=t.query||{};return this.get("/",{query:{limit:s,offset:r,layout:!!e?.layout,schema:!!e?.schema,...n}})}find(t){return this.post("/find",{payload:t})}retrieve(t){return this.get(`/${t}`)}getTypeByName(t){return this.get(`/name/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}}const vt="20260210",$t="x-api-version";class bt extends w{constructor(t){super(t,"/api/v1/workers")}async deploy(t){return this.post("/",{payload:t})}}class St extends w{constructor(t){super(t,"/api/v1/workflows"),this.rules=new xt(this),this.definitions=new kt(this)}getActivityCatalog(){return this.get("/activity-catalog")}listRuns(t,e,s){return this.post("/runs",{payload:{documentId:t,eventName:e,ruleId:s}})}listConversations(t){return this.post("/conversations",{payload:t})}searchRuns(t){return this.post("/runs",{payload:t})}sendSignal(t,e,s,r){return this.post(`/runs/${t}/${e}/signal/${s}`,{payload:r})}getRunDetails(t,e,s){const r={};return void 0!==s?.includeHistory&&(r.include_history=s.includeHistory),void 0!==s?.historyFormat&&(r.history_format=s.historyFormat),this.get(`/runs/${e}/${t}`,{query:r})}getRunInteraction(t,e){return this.get(`/runs/${t}/${e}/interaction`)}terminate(t,e,s){const r={reason:s};return this.post(`/runs/${t}/${e}/actions/terminate`,{payload:r})}cancel(t,e,s){const r={reason:s};return this.post(`/runs/${t}/${e}/actions/cancel`,{payload:r})}query(t,e,s){return this.get(`/runs/${t}/${e}/query/${s}`)}execute(t,e={}){return this.post(`/execute/${t}`,{payload:e})}postMessage(t,e){if(!t)throw new Error("runId is required");return this.post(`/runs/${t}/updates`,{payload:e})}async retrieveMessages(t,e,s){const r={since:s};return(await this.get(`/runs/${t}/${e}/updates`,{query:r})).messages.map(t=>a(t,e))}async streamMessages(t,e,s,r){return new Promise(async(n,i)=>{let u=0,c=r||0,h=!1,p=null,d=null;const g=10,y=t=>{const e=Math.min(1e3*Math.pow(2,t),3e4);return e+.1*Math.random()*e},m=()=>{d&&(clearInterval(d),d=null),p&&(p.close(),p=null)},f=t=>{h||(h=!0,m(),n(t))};try{const i=await this.retrieveMessages(t,e,r);for(const t of i){c=Math.max(c,t.timestamp||0),s&&s(t,f);const e=t.workstream_id||"main";if(t.type===o.TERMINATED||t.type===o.COMPLETE&&"main"===e)return console.log("Workflow already completed in historical messages"),void n(null)}}catch(t){console.warn("Failed to fetch historical messages, continuing with SSE:",t)}const w=async(r=!1)=>{if(!h)try{const v=await U(),$=this.client,b=new URL($.workflows.baseUrl+`/runs/${t}/${e}/stream`);c>0&&b.searchParams.set("since",c.toString()),b.searchParams.set("skipHistory","true");const S=$._auth?await $._auth():void 0;if(!S)return void i(new Error("No auth token available"));const x=S.split(" ")[1];b.searchParams.set("access_token",x),r&&console.log(`Reconnecting to SSE stream for run ${e} (attempt ${u+1}/10)`);const k=new v(b.href);p=k,d=setInterval(()=>{},1e3),k.onopen=()=>{r&&console.log(`Successfully reconnected to SSE stream for run ${e}`),u=0},k.onmessage=t=>{if(t.data&&!t.data.startsWith(":"))try{const r=l(t.data);if(c=r.ts?Math.max(c,r.ts):Date.now(),s){const t=a(r,e);s(t,f)}const i=r.w||"main";r.t===o.TERMINATED||r.t===o.COMPLETE&&"main"===i?(console.log("Closing stream due to COMPLETE message from main workstream"),h||(h=!0,m(),n(null))):r.t===o.COMPLETE&&console.log(`Received COMPLETE message from non-main workstream: ${i}, keeping stream open`)}catch(e){console.error("Failed to parse SSE message:",e,t.data)}else console.log("Received comment or heartbeat; ignoring it.: ",t.data)},k.onerror=t=>{if(!h)if(console.warn(`SSE stream error for run ${e}:`,t),m(),u<g){const t=y(u);console.log(`Attempting to reconnect in ${t}ms (attempt ${u+1}/10)`),u++,setTimeout(()=>{h||w(!0)},t)}else console.error(`Failed to reconnect to SSE stream for run ${e} after 10 attempts`),h=!0,i(new Error("SSE connection failed after 10 reconnection attempts"))}}catch(t){if(console.error("Error setting up SSE stream:",t),u<g){const t=y(u);u++,setTimeout(()=>{h||w(!0)},t)}else i(t)}};return w(!1),()=>{h=!0,m()}})}async streamMessagesWS(t,e,s,r){return new Promise((n,i)=>{let a=0;const u=10;let c=null,h=r||0,p=!1;const d=t=>{const e=Math.min(1e3*Math.pow(2,t),3e4);return e+.1*Math.random()*e},g=async()=>{if(!p)try{const r=this.client,y=new URL(r.workflows.baseUrl+`/runs/${t}/${e}/ws`);y.protocol=y.protocol.replace("http","ws"),h>0&&y.searchParams.set("since",h.toString());const m=r._auth?await r._auth():void 0;if(!m)return void i(new Error("No auth token available"));const f=m.split(" ")[1];y.searchParams.set("access_token",f),a>0&&console.log(`Reconnecting to WebSocket for run ${e} (attempt ${a+1}/10)`),c=new WebSocket(y.href),c.onopen=()=>{a>0&&console.log(`Successfully reconnected to WebSocket for run ${e}`),a=0,p||n({cleanup:()=>{p=!0,c&&(c.close(),c=null)},sendSignal:(t,e)=>{if(c?.readyState===WebSocket.OPEN){const s={type:"signal",signalName:t,data:e,requestId:Date.now()};c.send(JSON.stringify(s))}else console.warn("WebSocket not open, cannot send signal")}})},c.onmessage=t=>{try{const e=JSON.parse(t.data);if("type"in e&&"string"==typeof e.type){if("pong"===e.type)return void console.debug("Received pong");if("ack"===e.type)return void console.debug("Signal acknowledged",e);if("error"===e.type)return void console.error("WebSocket error message",e)}const r=l(e);h=r.ts?Math.max(h,r.ts):Date.now(),s&&s(r);const n=r.w||"main";(r.t===o.TERMINATED||r.t===o.COMPLETE&&"main"===n)&&(console.log("Closing WebSocket due to workflow completion"),p=!0,c&&(c.close(),c=null))}catch(t){console.error("Failed to parse WebSocket message",t)}},c.onerror=t=>{console.error("WebSocket error",t)},c.onclose=()=>{if(!p&&a<u){const t=d(a);console.log(`WebSocket closed, reconnecting in ${t}ms (attempt ${a+1}/10)`),a++,setTimeout(g,t)}else a>=u&&i(new Error("WebSocket connection failed after 10 attempts"))}}catch(t){if(console.error("Error setting up WebSocket",t),a<u){const t=d(a);a++,setTimeout(g,t)}else i(t)}};g()})}ingestEvents(t,e,s){return this.post(`/runs/${t}/${e}/events`,{payload:{events:s}})}getAnalyticsSummary(t={}){return this.post("/analytics/summary",{payload:t})}getTokenUsageAnalytics(t={}){return this.post("/analytics/tokens",{payload:t})}getLlmLatencyAnalytics(t={}){return this.post("/analytics/latency/llm",{payload:t})}getToolLatencyAnalytics(t={}){return this.post("/analytics/latency/tools",{payload:t})}getAgentLatencyAnalytics(t={}){return this.post("/analytics/latency/agents",{payload:t})}getErrorAnalytics(t={}){return this.post("/analytics/errors",{payload:t})}getToolAnalytics(t={}){return this.post("/analytics/tools",{payload:t})}getToolParameterAnalytics(t){return this.post("/analytics/tools/parameters",{payload:t})}getAnalyticsFilterOptions(t={}){return this.post("/analytics/filter-options",{payload:t})}getPromptSizeAnalytics(t={}){return this.post("/analytics/prompt-size",{payload:t})}getTopPrincipalsAnalytics(t={}){return this.post("/analytics/top-principals",{payload:t})}getRunsByAgentAnalytics(t={}){return this.post("/analytics/runs-by-agent",{payload:t})}getTimeToFirstResponseAnalytics(t={}){return this.post("/analytics/time-to-first-response",{payload:t})}getFirstResponseBehaviorAnalytics(t={}){return this.post("/analytics/first-response-behavior",{payload:t})}}class xt extends w{constructor(t){super(t,"/rules")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}execute(t,e,s){const r={objectIds:e,vars:s};return this.post(`/${t}/execute`,{payload:r})}}class kt extends w{constructor(t){super(t,"/definitions")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}}class Tt extends f{constructor(t={}){super(function(t){if(!t)throw new Error("zeno client serverUrl is required");return t}(t.serverUrl)),this.objects=new ct(this),this.types=new wt(this),this.workflows=new St(this),this.schedules=new yt(this),this.files=new ot(this),this.commands=new Q(this),this.workers=new bt(this),this.collections=new G(this),this.embeddings=new K(this),this.email=new Z(this),this.pendingAsks=new ht(this),this.data=new X(this),this.tools=new mt(this),this.indexing=new tt(this),this.query=new pt(this),this.hiveMemory=new lt(this),this.rendering=new dt(this),t.apikey&&this.withApiKey(t.apikey),this.onRequest=t.onRequest,this.onResponse=t.onResponse,this.errorFactory=t=>404===t.status?new et(t.request,t):t}withApiVersion(t){return t?this.headers[$t]=String(t):delete this.headers[$t],this}withApiKey(t){return this.withAuthCallback(t?()=>Promise.resolve(`Bearer ${t}`):void 0)}runOperation(t){return this.post("/api/v1/operations",{payload:t})}get initialHeaders(){return{...super.initialHeaders,[$t]:vt}}}class _t extends w{constructor(t){super(t,"/api/v1/training")}listSessions(t={}){return this.get("/",{query:t})}listSessionNames(t={}){return this.get("/names",{query:t})}createSession(t){return this.post("/",{payload:t})}getSession(t){return this.get("/"+t)}addToSession(t,e){return this.post("/"+t+"/add",{payload:{runs:e}})}listSessionRuns(t,e=100,s=0){return this.get("/"+t+"/runs",{query:{limit:e,offset:s}})}buildSession(t){return this.post("/"+t+"/build")}getDataUrl(t){return this.get("/"+t+"/url")}getDataUploadUrl(t,e=!1){return this.get("/"+t+"/upload-url",e?{query:{resumable:"true"}}:{})}startTraining(t){return this.post("/"+t+"/start")}cancelTraining(t){return this.post("/"+t+"/cancel")}getTrainingJob(t){return this.get(`/job/${t}`)}getAndSyncTrainingJob(t){return this.get(`/job/${t}`,{query:{sync:"true"}})}setDataset(t,e="default"){return this.post("/"+t+"/dataset",{payload:{dataset:e}})}}class Et extends w{constructor(t){super(t,"/api/v1/users")}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}delete(t){return this.del("/"+t)}}class Rt extends f{static async fromAuthToken(t,e,s){e||(e=qt(t));const r=s||It(e.endpoints);return await new Rt({serverUrl:r.studio,storeUrl:r.store,tokenServerUrl:r.token||e.iss}).withApiKey(t)}static decodeEndpoints(){}constructor(t={site:"api.vertesia.io"}){let e,s;if(t.serverUrl)e=t.serverUrl;else{if(!t.site)throw new Error("Parameter 'site' or 'serverUrl' is required for VertesiaClient");e=`https://${t.site}`}if(t.storeUrl)s=t.storeUrl;else{if(!t.site)throw new Error("Parameter 'site' or 'storeUrl' is required for VertesiaClient");s=`https://${t.site}`}if(super(e),this._jwt=null,this.projects=new L(this),this.environments=new _(this),this.interactions=new N(this),this.skills=new B(this),this.prompts=new J(this),this.runs=new z(this),this.account=new v(this),this.accounts=new $(this),this.apikeys=new x(this),this.analytics=new b(this),this.auditTrail=new S(this),this.training=new _t(this),this.users=new Et(this),this.iam=new R(this),this.refs=new V(this),this.commands=new T(this),this.apps=new k(this),this.mcpOAuth=new H(this),t.tokenServerUrl)this.tokenServerUrl=t.tokenServerUrl;else if(t.site)"api-preview.vertesia.io"===t.site||"api.vertesia.io"===t.site?this.tokenServerUrl="https://sts.vertesia.io":this.tokenServerUrl=`https://${t.site.replace(/^api/,"sts")}`;else if(t.serverUrl||t.storeUrl){const e=t.serverUrl||t.storeUrl||"";try{const t=new URL(e);t.hostname.includes("-production.")||t.hostname.includes("-preview.")||"api.vertesia.io"===t.hostname||"api-preview.vertesia.io"===t.hostname?this.tokenServerUrl="https://sts.vertesia.io":"api-staging.vertesia.io"===t.hostname?this.tokenServerUrl="https://sts-staging.vertesia.io":t.hostname.startsWith("api")?(t.hostname=t.hostname.replace(/^api/,"sts"),this.tokenServerUrl=t.toString()):this.tokenServerUrl="https://sts-staging.vertesia.io"}catch(t){this.tokenServerUrl="https://sts-staging.vertesia.io"}}else this.tokenServerUrl="https://sts-staging.vertesia.io";this.store=new Tt({serverUrl:s,tokenServerUrl:this.tokenServerUrl,apikey:t.apikey,onRequest:t.onRequest,onResponse:t.onResponse}),t.apikey&&this.withApiKey(t.apikey),this.onRequest=t.onRequest,this.onResponse=t.onResponse,this.sessionTags=t.sessionTags}withApiVersion(t){return t?this.headers[$t]=String(t):delete this.headers[$t],this}withAuthCallback(t){return this.store.withAuthCallback(t),super.withAuthCallback(t)}async withApiKey(t){return this.withAuthCallback(t?async()=>{if(!function(t){return t.startsWith("pk-")||t.startsWith("sk-")}(t))return`Bearer ${t}`;if(function(t){if(!t)return!0;const e=qt(t).exp;return Date.now()<=1e3*e-6e4}(this._jwt)){const e=await this.getAuthToken(t);this._jwt=e.token}return`Bearer ${this._jwt}`}:void 0)}async getRawJWT(){if(!this._jwt&&this._auth){const t=await this._auth();this._jwt||(this._jwt=t.trim().split(" ")[1])}return this._jwt||null}async getDecodedJWT(){const t=await this.getRawJWT();return t?qt(t):null}async getProject(){const t=await this.getDecodedJWT();return t?.project||null}async getAccount(){const t=await this.getDecodedJWT();return t?.account||null}get workflows(){return this.store.workflows}get objects(){return this.store.objects}get files(){return this.store.files}get types(){return this.store.types}get data(){return this.store.data}get storeUrl(){return this.store.baseUrl}async getAuthToken(t){return fetch(`${this.tokenServerUrl}/token/issue`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}).then(t=>t.json()).then(t=>t).catch(t=>{throw console.error(`Error fetching token from ${this.tokenServerUrl}:`,{error:t}),t})}get initialHeaders(){return{...super.initialHeaders,[$t]:vt}}}function qt(t){const e=function(t){const e=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(4*Math.ceil(t.length/4),"=");if("undefined"!=typeof Buffer)return Buffer.from(e,"base64").toString("utf-8");if("undefined"!=typeof atob&&"undefined"!=typeof TextDecoder){const t=atob(e),s=Uint8Array.from(t,t=>t.charCodeAt(0));return(new TextDecoder).decode(s)}throw new Error("No base64 decoder available")}(t.split(".")[1]);return JSON.parse(e)}function It(t){return t?"string"==typeof t?Ut(t):t:Ut("api.vertesia.io")}function Ut(t){if("local"===t)return{studio:"http://localhost:8091",store:"http://localhost:8092",token:process.env.STS_URL??"https://sts-staging.vertesia.io"};{const e=`https://${t}`;return{studio:e,store:e,token:e.replace("api","sts")}}}class At{constructor(t,e){this.id=t,this.client=e instanceof Rt?e:new Rt(e)}retrieve(){return this.client.interactions.retrieve(this.id)}update(t){return this.client.interactions.update(this.id,t)}render(t){}async execute(t={},e){return A(this.client,this.id,t,e)}}export{nt as ARTIFACTS_PREFIX,Q as CommandsApi,X as DataApi,Z as EmailApi,ot as FilesApi,lt as HiveMemoryApi,O as IS_INTERACTION_OUTPUT,tt as IndexingApi,At as InteractionBase,D as InteractionOutput,rt as MEMORIES_PREFIX,ct as ObjectsApi,ht as PendingAsksApi,pt as QueryApi,dt as RenderingApi,yt as SchedulesApi,st as StreamSource,ft as TypeCatalogApi,wt as TypesApi,Rt as VertesiaClient,St as WorkflowsApi,kt as WorkflowsDefinitionApi,xt as WorkflowsRulesApi,Tt as ZenoClient,et as ZenoClientNotFoundError,M as createInteractionOutput,It as decodeEndpoints,qt as decodeJWT,F as enhanceExecutionRun,C as enhanceInteractionExecutionResult,at as getAgentArtifactPath,it as getMemoryFilePath};
1
+ import{ExecutionRunStatus as t,toAgentMessage as e,AgentMessageType as r,parseMessage as s,DataStoreApiHeaders as n,ContentObjectApiHeaders as a,canGenerateRendition as i,WorkflowExecutionStatus as o,isWorkflowTerminalStatus as l}from"@vertesia/common";export{canGenerateRendition,getSupportedRenditionFormats,supportsVisualRendition}from"@vertesia/common";class u extends Error{status;payload;request;request_info;displayDetails;original_message;constructor(t,e,r,s,n=!0){super(function(t,e,r,s,n){let a=t;if(n){a+="\nRequest: "+e.method+" "+e.url+" => "+r;const t=s?.details||s?.error?.details;if(t){const e=typeof t;"string"===e?a+="\nDetails: "+t:"object"===e&&(a+="\nDetails: "+JSON.stringify(t,void 0,2))}a+="\nStack Trace: "}return a}(t,e,r,s,n)),this.original_message=t,this.request=e,this.status=r,this.payload=s,this.request_info=e.method+" "+e.url+" => "+r,this.displayDetails=n}get details(){return this.payload?.details||this.payload?.error?.details}}class c extends u{constructor(t,e,r,s,n=!0){super(t,e,r,s,n)}updateDetails(t){return t!==this.details?new c(this.original_message,this.request,this.status,{...this.payload,details:t},this.displayDetails):this}}class d extends u{constructor(t,e){super("Failed to connect to server: "+e.message,t,0,e)}}let h;if(globalThis.TextDecoderStream&&"function"==typeof globalThis.TextDecoderStream)h=globalThis.TextDecoderStream;else{class t extends TransformStream{_options;constructor(t="utf-8",{fatal:r=!1,ignoreBOM:s=!1}={}){super(new e(new TextDecoder(t,{fatal:r,ignoreBOM:s}))),this._options={fatal:r,ignoreBOM:s,encoding:t}}get encoding(){return this._options.encoding}get fatal(){return this._options.fatal}get ignoreBOM(){return this._options.ignoreBOM}}class e{decoder;constructor(t){this.decoder=t}transform(t,e){if(!(t instanceof ArrayBuffer||ArrayBuffer.isView(t)))throw new TypeError("Input must be a compatible with: ArrayBuffer | Uint8Array");const r=this.decoder.decode(t,{stream:!0});0!==r.length&&e.enqueue(r)}flush(t){const e=this.decoder.decode();0!==e.length&&t.enqueue(e)}}h=t}const p=[239,187,191];class g extends TransformStream{constructor(){let t;super({start(e){t=function(t){let e,r,s,n,a,i,o;return l(),{feed:function(t){r=r?r+t:t,e&&function(t){return p.every((e,r)=>t.charCodeAt(r)===e)}(r)&&(r=r.slice(p.length)),e=!1;const a=r.length;let i=0,o=!1;for(;i<a;){o&&("\n"===r[i]&&++i,o=!1);let t,e=-1,l=n;for(let n=s;e<0&&n<a;++n)t=r[n],":"===t&&l<0?l=n-i:"\r"===t?(o=!0,e=n-i):"\n"===t&&(e=n-i);if(e<0){s=a-i,n=l;break}s=0,n=-1,u(r,i,l,e),i+=e+1}i===a?r="":i>0&&(r=r.slice(i))},reset:l};function l(){e=!0,r="",s=0,n=-1,a=void 0,i=void 0,o=""}function u(e,r,s,n){if(0===n)return o.length>0&&(t({type:"event",id:a,event:i||void 0,data:o.slice(0,-1)}),o="",a=void 0),void(i=void 0);const l=s<0,u=e.slice(r,r+(l?n:s));let c=0;c=l?n:" "===e[r+s+1]?s+2:s+1;const d=r+c,h=n-c,p=e.slice(d,d+h).toString();if("data"===u)o+=p?"".concat(p,"\n"):"\n";else if("event"===u)i=p;else if("id"!==u||p.includes("\0")){if("retry"===u){const e=parseInt(p,10);Number.isNaN(e)||t({type:"reconnect-interval",value:e})}}else a=p}}(t=>{"event"===t.type&&e.enqueue(t)})},transform(e){t.feed(e)}})}}function y(t){return"/"===t[t.length-1]?t.slice(0,-1):t}class m{_fetch;baseUrl;errorFactory=t=>t;verboseErrors=!0;constructor(t,e){this.baseUrl=y(t),this._fetch=function(t){return t?Promise.resolve(t):"function"==typeof globalThis.fetch?Promise.resolve(globalThis.fetch):Promise.resolve(()=>{throw new Error("No Fetch implementation found")})}(e)}throwError(t){throw this.errorFactory(t)}getUrl(t){return y((e=this.baseUrl,r=t,e.endsWith("/")?r.startsWith("/")?e+r.substring(1):e+r:r.startsWith("/")?e+r:e+"/"+r));var e,r}get(t,e){return this.request("GET",t,e)}del(t,e){return this.request("DELETE",t,e)}delete(t,e){return this.request("DELETE",t,e)}post(t,e){return this.request("POST",t,e)}put(t,e){return this.request("PUT",t,e)}jsonParse(t){return JSON.parse(t)}createRequest(t,e){return Promise.resolve(new Request(t,e))}createServerError(t,e,r){let s="Server Error: "+e.status;return r&&(r.message?s=String(r.message):r.error&&("string"==typeof r.error?s=String(r.error):"string"==typeof r.error.message&&(s=String(r.error.message)))),new c(s,t,e.status,r,this.verboseErrors)}async readJSONPayload(t){return t.text().then(e=>{if(e)try{return this.jsonParse(e)}catch(r){return{status:t.status,error:"Not a valid JSON payload",message:r.message,text:e}}}).catch(e=>({status:t.status,error:"Unable to load response content",message:e.message}))}handleResponse(t,e,r){return r&&r.reader?"sse"===r.reader?async function(t){if(!t.ok){const e=await t.text(),r=new Error("SSE error: "+t.status+". Content:\n"+e);throw r.status=t.status,r}if(!t.body)throw new Error("No body in response");return t.body.pipeThrough(new h).pipeThrough(new g)}(e):r.reader.call(this,e):this.readJSONPayload(e).then(r=>{if(e.ok)return r;this.throwError(this.createServerError(t,e,r))})}async request(t,e,r){let s=this.getUrl(e);r?.query&&(s+="?"+function(t){const e=[];for(const r of Object.keys(t)){const s=t[r];null!=s&&e.push(encodeURIComponent(r)+"="+encodeURIComponent(String(s)))}return e.join("&")}(r.query));const n=this.headers?Object.assign({},this.headers):{},a=r?.headers;if(a)for(const t in a)n[t.toLowerCase()]=a[t];let i;const o=r?.payload;o&&(r&&!1===r.jsonPayload?i=o:(i="string"!=typeof o?JSON.stringify(o):o,"content-type"in n||(n["content-type"]="application/json")));const l={method:t,headers:n,body:i},u=await this.createRequest(s,l);return this._fetch.then(t=>t(u).catch(t=>{console.error(`Failed to connect to ${s}`,t),this.throwError(new d(u,t))}).then(t=>this.handleResponse(u,t,r)))}fetch(t,e){return this._fetch.then(r=>r(t,e))}}class f extends m{headers;_auth;onRequest;onResponse;response;constructor(t,e){super(t,e),this.baseUrl="/"===t[t.length-1]?t.substring(0,t.length-1):t,this.headers=this.initialHeaders}get initialHeaders(){return{accept:"application/json"}}withAuthCallback(t){return this._auth=t||void 0,this}withErrorFactory(t){return this.errorFactory=t,this}withLang(t){return t?this.headers["accept-language"]=t:delete this.headers["accept-language"],this}withHeaders(t){const e=this.headers;for(const r in t){const s=t[r];null!=s&&(e[r.toLowerCase()]=s)}return this}setHeader(t,e){e?this.headers[t.toLowerCase()]=e:delete this.headers[t.toLowerCase()]}async createRequest(t,e){if(this._auth&&(!(r=e.headers)||!("authorization"in r))){const t=e.headers?e.headers:{};e.headers=t;const r=await this._auth();r&&(e.headers.authorization=r)}var r;this.response=void 0;const s=await super.createRequest(t,e);return this.onRequest&&this.onRequest(s),s}async handleResponse(t,e,r){return this.response=e,this.onResponse&&this.onResponse(e,t),super.handleResponse(t,e,r)}}class w extends m{client;constructor(t,e){super(t.getUrl(e),t._fetch),this.client=t,this.createServerError=t.createServerError,this.errorFactory=t.errorFactory,this.verboseErrors=t.verboseErrors}createRequest(t,e){return this.client.createRequest(t,e)}handleResponse(t,e,r){return this.client.handleResponse(t,e,r)}get headers(){return this.client.headers}}class v extends w{constructor(t){super(t,"/api/v1/account")}info(){return this.get("/")}update(t){return this.put("/",{payload:t})}projects(){return this.get("/projects").then(t=>t.data)}members(){return this.get("/members")}inviteUser(t){return this.post("/invites",{payload:t})}listInvites(){return this.get("/invites")}listInvitation(t="project"){return this.get(`/invites/${t}`)}acceptInvite(t){return this.put(`/invites/${t}`)}rejectInvite(t){return this.delete(`/invites/${t}`)}onboardingProgress(){return this.get("/onboarding")}getGoogleToken(){return this.get("/google-token")}getStripeBillingStatus(){return this.get("/stripe-billing-status")}}class $ extends w{constructor(t){super(t,"/api/v1/accounts")}create(t){return this.post("/",{payload:{name:t}})}list(){return this.get("/")}}class b extends w{constructor(t){super(t,"/api/v1/analytics")}runsSummary(t,e){const r=new URLSearchParams;t?.start&&r.set("start",t.start),t?.end&&r.set("end",t.end),e&&r.set("environment",e);const s=r.toString();return this.get("/runs/summary"+(s?"?"+s:""))}runsTimeSeries(t,e){const r=new URLSearchParams;t?.start&&r.set("start",t.start),t?.end&&r.set("end",t.end),e&&r.set("environment",e);const s=r.toString();return this.get("/runs/time-series"+(s?"?"+s:""))}runsTokenUsage(t){const e=new URLSearchParams;t?.start&&e.set("start",t.start),t?.end&&e.set("end",t.end);const r=e.toString();return this.get("/runs/token-usage"+(r?"?"+r:""))}}class S extends w{constructor(t){super(t,"/api/v1/audit-trail")}list(t){const e=new URLSearchParams;t?.actions?.length&&e.set("actions",t.actions.join(",")),t?.resourceTypes?.length&&e.set("resourceTypes",t.resourceTypes.join(",")),t?.resourceId&&e.set("resourceId",t.resourceId),t?.principalId&&e.set("principalId",t.principalId),t?.principalUserId&&e.set("principalUserId",t.principalUserId),t?.projectId&&e.set("projectId",t.projectId),t?.from&&e.set("from",t.from),t?.to&&e.set("to",t.to),t?.limit&&e.set("limit",String(t.limit)),t?.offset&&e.set("offset",String(t.offset));const r=e.toString();return this.get("/"+(r?"?"+r:""))}}class _ extends w{constructor(t){super(t,"/api/v1/apikeys")}list(t="account"){return this.get("/",{query:{level:t}})}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}retrieve(t,e=!1){return e?this.get(`/${t}`,{query:{withValue:!0}}):this.get(`/${t}`)}requestPublicKey(t={}){return this.get("/pk",{query:t})}}class k extends w{constructor(t){super(t,"/api/v1/apps")}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}listAppInstallationTools(t){return this.get(`/installations/${t}/tools`)}list(){return this.get("/")}install(t,e){return this.post("/install",{payload:{app_id:t,settings:e}})}uninstall(t){return this.del(`/install/${t}`)}getAppInstallationByName(t){return this.get(`/installations/name/${t}`).catch(t=>{if(404===t.status)return null;throw t})}getAppInstallationProjects(t){if(!t.id&&!t.name)throw new Error("Invalid arguments: appId or appName must be specified");const e=t.id?{id:t.id}:{name:t.name};return this.get("/installations/projects",{query:e})}getInstalledApps(t){return this.get("/installations",{query:{kind:t}})}getAllAppInstallations(){return this.get("/installations/all")}listInstallations(){return this.get("/installations/refs")}updateInstallationSettings(t){return this.put(`/installations/settings/${t.app_id}`,{payload:{app_id:t.app_id,settings:t.settings}})}}let x=class extends w{constructor(t){super(t,"/api/v1/commands")}async isNamespaceAvailable(t){return this.get(`/namespaces/${t}/is_available`).then(t=>t.available)}async initSamples(){return this.post("/onboarding/init-samples")}};class T extends w{constructor(t){super(t,"/api/v1/environments")}list(t=!1){const e=t?{all:!0}:void 0;return this.get("/",{query:e})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}updateConfig(t,e){return this.put("/"+t+"/config",{payload:e})}listModels(t,e){return this.get("/"+t+"/models",{query:e?{...e}:void 0})}listTrainableModels(t){return this.get(`/${t}/trainable-models`)}embeddings(t,e){return this.post("/"+t+"/embeddings",{payload:e})}migrateInteractions(t){return this.post("/migrate-interactions",{payload:t})}}class E extends w{constructor(t){super(t,"/groups")}list(t){return this.get("/",{query:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}delete(t){return this.del("/"+t)}listMembers(t){return this.get("/"+t+"/members")}addMember(t,e){return this.post("/"+t+"/members/"+e)}removeMember(t,e){return this.del("/"+t+"/members/"+e)}}class R extends w{constructor(t){super(t,"/api/v1/iam")}aces=new A(this);roles=new q(this);groups=new E(this)}class q extends w{constructor(t){super(t,"/roles")}list(){return this.get("/")}}class A extends w{constructor(t){super(t,"/aces")}list(t){return this.get("/",{query:{...t}})}retrieve(t){return this.get("/"+t)}create(t){return this.post("/",{payload:t})}delete(t){return this.del("/"+t)}}async function U(){return"function"==typeof globalThis.EventSource?globalThis.EventSource:(await import("eventsource")).EventSource}async function I(e,r,s={},n){const a=!!n,i=await e.runs.create({...s,interaction:r,stream:a});if(a){if(i.status===t.failed)return i;await P(e,i.id,n)}return i}function P(t,e,r){return new Promise((s,n)=>{(async()=>{try{const a=await U(),i=new URL(t.runs.baseUrl+"/"+e+"/stream"),o=t._auth?await t._auth():void 0;if(!o)throw new Error("No auth token available");{const t=o.split(" ")[1];i.searchParams.set("access_token",t)}const l=new a(i.href);l.addEventListener("message",t=>{try{const e=JSON.parse(t.data);e&&r&&r(e)}catch(t){n(t)}}),l.addEventListener("close",t=>{try{l.close();const e=JSON.parse(t.data);s(e)}catch(t){n(t)}})}catch(t){n(t)}})()})}class j extends w{constructor(t){super(t,"/api/v1/interactions/catalog")}list(t={}){return this.get("/",{query:t})}listStoredInteractions(t={}){return this.get("/stored",{query:t})}listSysInteractions(t){return this.get("/sys",{query:{tag:t}})}listAppInteractions(t,e){return this.get(`/apps/${t}`,{query:{tag:e}})}listAllAppInteractions(t){return this.get("/apps",{query:{tag:t}})}resolve(t){return this.get(`/resolve/${t}`)}}const O=Symbol("InteractionOutput");function M(t){return t.result=D.from(t.result),t}function C(t){return t.result=D.from(t.result),t}class D{results;constructor(t){this.results=t}static from(t){return t?t[O]?t:Array.isArray(t)?F(t):F("object"==typeof t?[{type:"json",value:t}]:[{type:"text",value:String(t)}]):F([])}static isInteractionOutputArray(t){return t&&!0===t[O]}get isEmpty(){return 0===this.results.length}hasObject(){return this.results.some(t=>"json"===t.type)}hasText(){return this.results.some(t=>"text"===t.type)}hasImage(){return this.results.some(t=>"image"===t.type)}text(t="\n"){return this.results.filter(t=>"text"===t.type).map(t=>t.value).join(t)}texts(){return this.results.filter(t=>"text"===t.type).map(t=>t.value)}object(){const t=this.results.find(t=>"json"===t.type);return t?t.value:function(t){let e;for(const r of t)if("text"===r.type){const t=r.value.trim();try{return JSON.parse(t)}catch(t){e=t}}e||(e=new Error("No JSON result found and no text available to parse"));throw e}(this.results)}objects(){return this.results.filter(t=>"json"===t.type).map(t=>t.value)}objectAt(t){let e=0;for(const r of this.results)if("json"===r.type){if(e===t)return r.value;e++}throw new Error(`Object at index ${t} not found`)}image(){const t=this.results.find(t=>"image"===t.type);if(!t)throw new Error("No image result found");return t.value}images(){return this.results.filter(t=>"image"===t.type).map(t=>t.value)}stringify(t="\n",e=2){return this.results.map(t=>"json"===t.type?JSON.stringify(t.value,null,e):String(t.value)).join(t)}toString(){return this.text()}toJSON(){return this.results}}function F(t){const e=new D(t);return new Proxy(t,{get(t,r,s){if(r===O)return!0;if(r in e){const t=e[r];return"function"==typeof t?t.bind(e):t}return Reflect.get(t,r,s)}})}class N extends w{catalog;constructor(t){super(t,"/api/v1/interactions"),this.catalog=new j(t)}list(t={}){const e=t.query||{};return this.get("/",{query:{...e}})}listEndpoints(t){return this.post("/endpoints",{payload:t})}listVersionsByName(t){return this.get(`/versions/${t}`)}listTags(t){return this.get("/tags",{query:{...t}})}computeFacets(t){return this.post("/facets",{payload:t})}listNames(){return this.get("/names")}export(t){return this.post("/export",{payload:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}async execute(t,e={},r){return M(await I(this.client,t,e,r).catch(t=>{throw t instanceof c&&t.payload?.id?t.updateDetails({run_id:t.payload.id}):t}))}async executeByName(e,r={},s){const n=await async function(e,r,s={},n){const a=!!n,i=await e.post("/api/v1/execute",{payload:{...s,interaction:r,stream:a}});if(a){if(i.status===t.failed)return i;await P(e,i.id,n)}return i}(this.client,e,r,s).catch(t=>{throw t instanceof c&&t.payload?.id?t.updateDetails({run_id:t.payload.id}):t});return M(n)}executeAsync(t){return async function(t,e){return await t.post("/api/v1/execute/async",{payload:e})}(this.client,t)}publish(t,e){return this.post(`/${t}/publish`,{payload:e})}fork(t,e){return this.post(`/${t}/fork`,{payload:e})}generateInteraction(t,e){return this.post(`${t}/generate-interaction`,{payload:e})}generateTestData(t,e){return this.post(`${t}/generate-test-data`,{payload:e})}async suggestImprovements(t,e){return C(await this.post(`${t}/suggest-prompt-improvements`,{payload:e}))}async suggestPromptImprovements(t){return M(await this.post("/improve",{payload:t}))}listVersions(t){return this.get(`/${t}/versions`)}listForks(t){return this.get(`/${t}/forks`)}requestSlot(t){return async function(t,e){return await t.post("/api/v1/execute/rate-limit/request",{payload:e})}(this.client,t)}resolve(t,e){return this.get(`/resolve/${encodeURIComponent(t)}`,{query:e})}}class L extends w{constructor(t){super(t,"/api/v1/mcp/oauth")}getStatus(t){return this.get(`/status/${t}`)}getCollectionStatus(t,e){return this.get(`/status/${t}/${e}`)}getMetadata(t,e){return this.get(`/metadata/${t}/${e}`)}authorize(t,e){return this.get(`/authorize/${t}/${e}`)}disconnect(t,e){return this.del(`/disconnect/${t}/${e}`)}getToken(t,e){return this.post("/token",{payload:e?{oauth_app_name:e}:{mcp_server_url:t}})}}class H extends w{constructor(t){super(t,"/api/v1/oauth-apps")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}remove(t){return this.del(`/${t}`)}authorize(t){return this.get(`/${t}/authorize`)}exchange(t,e){return this.post("/exchange",{payload:{code:t,state:e}})}getStatus(t){return this.get(`/${t}/status`)}getToken(t){return this.post(`/${t}/token`,{payload:{}})}disconnect(t){return this.del(`/${t}/disconnect`)}}class W extends w{constructor(t){super(t,"/api/v1/projects")}list(t){return this.get("/",{query:{account:t}})}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}updateConfiguration(t,e){return this.put(`/${t}/configuration`,{payload:e})}integrations=new B(this);getTools(t){return this.get(`/${t}/tools`)}getToolByName(t,e){return this.get(`/${t}/tools/${e}`).catch(t=>{if(404===t.status)return null;throw t})}listAppContentTypes(t,e){return this.get(`/${t}/app-types`,{query:{tag:e}})}getAppContentType(t,e){return this.get(`/${t}/app-types/${e}`)}listAppRenderingTemplates(t,e){return this.get(`/${t}/app-templates`,{query:{tag:e}})}getAppRenderingTemplate(t,e){return this.get(`/${t}/app-templates/${e}`)}getCompositeAppConfiguration(t){return this.get(`/${t}/composite-app`)}updateCompositeAppConfiguration(t,e){return this.put(`/${t}/composite-app`,{payload:e})}}class B extends w{constructor(t){super(t,"/")}list(t){return this.get(`/${t}/integrations`).then(t=>t.integrations)}retrieve(t,e){return this.get(`/${t}/integrations/${e}`).catch(t=>{if(404!==t.status)throw t})}update(t,e,r){return this.put(`/${t}/integrations/${e}`,{payload:r})}}class J extends w{constructor(t){super(t,"/api/v1/skills")}findRelevant(t,e){const r={context:t,limit:e};return this.post("/find-relevant",{payload:r})}findRelevantForTask(t,e){return this.findRelevant({task_description:t,tool_names:e})}}class z extends w{constructor(t){super(t,"/api/v1/prompts")}list(t={}){const e=t.query||{};return this.get("/",{query:{...e}})}computeFacets(t){return this.post("/facets",{payload:t})}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}fork(t,e){return this.post(`/${t}/fork`,{payload:e})}render(t,e){return this.post(`/${t}/render`,{payload:e})}options(t){return this.get(`/options/${t}`)}listVersions(t){return this.get(`/${t}/versions`)}listInteractions(t){return this.get(`/${t}/interactions`)}listForks(t){return this.get(`/${t}/forks`)}}class V extends w{constructor(t){super(t,"/api/v1/refs")}resolve(t){return this.post("/resolve",{payload:{refs:t}})}}class G extends w{constructor(t){super(t,"/api/v1/runs")}list({limit:t,offset:e,filters:r}){const s={limit:t,offset:e,...r};return this.get("/",{query:s})}find(t){return this.post("/find",{payload:t})}async retrieve(t){return C(await this.get("/"+t))}retrievePopulated(t){return this.get("/"+t,{query:{populate:"true"}})}filterOptions(t,e){const r={...e};return this.get(`/filter-options/${t}`,{query:r})}async create(t){const e=this.client.sessionTags;if(e){let r=Array.isArray(e)?e:[e];Array.isArray(t.tags)?r=r.concat(t.tags):t.tags&&(r=r.concat([t.tags])),t={...t,tags:r}}return C(await this.post("/",{payload:t}))}sendToolResults(t){return this.post("/tool-results",{payload:t})}sendUserMessage(t){return this.post("/user-message",{payload:t})}computeFacets(t){return this.post("/facets",{payload:t})}search(t){return this.post("/search",{payload:t})}restart(t){return this.post(`/${t}/restart`,{})}fork(t){return this.post(`/${t}/fork`,{})}}class K extends w{constructor(t){super(t,"/api/v1/agents")}start(t){return this.post("/",{payload:t})}createRecord(t){return this.post("/record",{payload:t})}retrieve(t){return this.get(`/${t}`)}list(t){const e={};return t?.id&&(e.id=t.id),t?.status&&(e.status=Array.isArray(t.status)?t.status.join(","):t.status),t?.interaction&&(e.interaction=t.interaction),t?.started_by&&(e.started_by=t.started_by),t?.since&&(e.since=t.since.toISOString()),t?.schedule_id&&(e.schedule_id=t.schedule_id),t?.type&&(e.type=t.type),t?.limit&&(e.limit=String(t.limit)),t?.offset&&(e.offset=String(t.offset)),t?.sort&&(e.sort=t.sort),t?.order&&(e.order=t.order),this.get("/",{query:e})}search(t){const e={};return t?.query&&(e.query=t.query),t?.status&&(e.status=Array.isArray(t.status)?t.status.join(","):t.status),t?.interaction&&(e.interaction=t.interaction),t?.started_by&&(e.started_by=t.started_by),t?.categories?.length&&(e.categories=t.categories.join(",")),t?.tags?.length&&(e.tags=t.tags.join(",")),t?.content_type_name&&(e.content_type_name=t.content_type_name),t?.since&&(e.since=t.since.toISOString()),t?.limit&&(e.limit=String(t.limit)),t?.offset&&(e.offset=String(t.offset)),this.get("/search",{query:e})}terminate(t,e){const r=e?{reason:e}:void 0;return this.del(`/${t}`,{query:r})}restart(t){return this.post(`/${t}/restart`,{})}fork(t){return this.post(`/${t}/fork`,{})}updateStatus(t,e){return this.post(`/${t}/status`,{payload:e})}sendSignal(t,e,r){return this.post(`/${t}/signal/${e}`,{payload:r})}query(t,e){return this.get(`/${t}/query/${e}`)}getActiveWorkstreams(t){return this.query(t,"ActiveWorkstreams")}async retrieveMessages(t,r){const s=r?{since:r}:void 0;return(await this.get(`/${t}/updates`,{query:s})).messages.map(r=>e(r,t))}postMessage(t,e){return this.post(`/${t}/updates`,{payload:e})}async streamMessages(t,n,a,i){let o=()=>{},l=()=>{};const u=new Promise((t,e)=>{o=t,l=e});let c=0,d=a||0,h=!1,p=null,g=null,y=null,m=null;const f=t=>{const e=Math.min(1e3*Math.pow(2,t),3e4);return e+.1*Math.random()*e},w=()=>{y&&(clearTimeout(y),y=null),g&&(clearInterval(g),g=null),p&&(p.close(),p=null),i&&m&&(i.removeEventListener("abort",m),m=null)},v=t=>{h||(h=!0,w(),o(t))};if(i){if(i.aborted)return h=!0,w(),o(null),u;m=()=>{v(null)},i.addEventListener("abort",m,{once:!0})}try{if(!h){const e=await this.retrieveMessages(t,a);for(const t of e){if(h)break;if(d=Math.max(d,t.timestamp||0),n&&n(t,v),h)break;const e=t.workstream_id||"main";if(t.type===r.TERMINATED||t.type===r.COMPLETE&&"main"===e)return v(null),u}}}catch(t){h||console.warn("Failed to fetch historical messages, continuing with SSE:",t)}const $=async(a=!1)=>{if(!h)try{const i=await U();if(h)return;const o=this.client,u=new URL(o.agents.baseUrl+`/${t}/stream`);d>0&&u.searchParams.set("since",d.toString()),u.searchParams.set("skipHistory","true");const m=o._auth?await o._auth():void 0;if(h)return;if(!m)return h=!0,w(),void l(new Error("No auth token available"));const b=m.split(" ")[1];if(u.searchParams.set("access_token",b),a&&console.log(`Reconnecting to agent stream ${t} (attempt ${c+1}/10)`),h)return;const S=new i(u.href);p=S,g=setInterval(()=>{},1e3);let _=0;S.onopen=()=>{a&&console.log(`Reconnected to agent stream ${t}`),_=Date.now()},S.onmessage=a=>{if(!h&&a.data&&!a.data.startsWith(":"))try{const i=s(a.data);if(d=i.ts?Math.max(d,i.ts):Date.now(),n){const r=e(i,t);n(r,v)}const o=i.w||"main";(i.t===r.TERMINATED||i.t===r.COMPLETE&&"main"===o)&&v(null)}catch(t){console.error("Failed to parse SSE message:",t,a.data)}},S.onerror=t=>{if(h)return;w();if((_?Date.now()-_:0)>5e3&&(c=0),c<10){const t=f(c);c++,y=setTimeout(()=>{y=null,h||$(!0)},t)}else h=!0,w(),l(new Error("SSE connection failed after 10 reconnection attempts"))}}catch(t){if(h)return;if(c<10){const t=f(c);c++,y=setTimeout(()=>{y=null,h||$(!0)},t)}else h=!0,w(),l(t)}};return $(!1),u}getInternals(t){return this.get(`/${t}/internals`)}getRunDetails(t,e){const r={};return e?.includeHistory&&(r.include_history="true"),this.get(`/${t}/details`,{query:r})}async streamRunDetails(t,e,r){const s=await U(),n=this.client,a=new URL(n.agents.baseUrl+`/${t}/details/stream`),i=n._auth?await n._auth():void 0;if(!i)throw new Error("No auth token available");const o=i.split(" ")[1];return a.searchParams.set("access_token",o),new Promise((t,n)=>{const i=new s(a.href);let o=null;const l=()=>{i.close(),r&&o&&(r.removeEventListener("abort",o),o=null)};if(r){if(r.aborted)return l(),void t();o=()=>{l(),t()},r.addEventListener("abort",o,{once:!0})}i.addEventListener("history",t=>{try{const r=JSON.parse(t.data);e&&e({type:"history",data:r})}catch(t){}}),i.addEventListener("control",r=>{try{const s=JSON.parse(r.data);e&&e({type:"control",data:s}),"done"===s.type&&(l(),t())}catch(t){}}),i.addEventListener("error",t=>{try{const r=JSON.parse(t.data);e&&e({type:"error",data:r})}catch(t){}}),i.onerror=t=>{l(),n(new Error("SSE connection failed for details stream"))}})}listChildren(t){return this.get(`/${t}/children`)}listArtifacts(t){return this.get(`/${t}/artifacts`)}getArtifactUrl(t,e,r){const s={url:"1"};return r&&(s.disposition=r),this.get(`/${t}/artifacts/${e}`,{query:s})}async uploadArtifact(t,e,r,s){const n=s||"application/octet-stream",a=await this.put(`/${t}/artifacts/${e}`,{headers:{"Content-Type":n}}),i=await fetch(a.url,{method:"PUT",body:r,headers:{"Content-Type":n}});if(!i.ok)throw new Error(`Failed to upload artifact: ${i.statusText}`);return a}async downloadArtifact(t,e){const{url:r}=await this.getArtifactUrl(t,e,"attachment"),s=await fetch(r);if(!s.ok)throw new Error(`Failed to download artifact: ${s.statusText}`);if(!s.body)throw new Error("No body in artifact download response");return s.body}ingestEvents(t,e){return this.post(`/${t}/events`,{payload:{events:e}})}getAnalyticsSummary(t={}){return this.post("/analytics/summary",{payload:t})}getTokenUsageAnalytics(t={}){return this.post("/analytics/tokens",{payload:t})}getLlmLatencyAnalytics(t={}){return this.post("/analytics/latency/llm",{payload:t})}getToolLatencyAnalytics(t={}){return this.post("/analytics/latency/tools",{payload:t})}getAgentLatencyAnalytics(t={}){return this.post("/analytics/latency/agents",{payload:t})}getErrorAnalytics(t={}){return this.post("/analytics/errors",{payload:t})}getToolAnalytics(t={}){return this.post("/analytics/tools",{payload:t})}getToolParameterAnalytics(t){return this.post("/analytics/tools/parameters",{payload:t})}getAnalyticsFilterOptions(t={}){return this.post("/analytics/filter-options",{payload:t})}getPromptSizeAnalytics(t={}){return this.post("/analytics/prompt-size",{payload:t})}getTopPrincipalsAnalytics(t={}){return this.post("/analytics/top-principals",{payload:t})}getRunsByAgentAnalytics(t={}){return this.post("/analytics/runs-by-agent",{payload:t})}getTimeToFirstResponseAnalytics(t={}){return this.post("/analytics/time-to-first-response",{payload:t})}getFirstResponseBehaviorAnalytics(t={}){return this.post("/analytics/first-response-behavior",{payload:t})}}class Q extends w{constructor(t){super(t,"/api/v1/collections")}search(t){return this.post("/search",{payload:t})}computeListFacets(t){return this.post("/facets",{payload:t})}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}addMembers(t,e){return this.post(`/${t}/members`,{payload:{action:"add",members:e}})}listMembers(t,e){return this.get(`/${t}/members`,{query:{...e}})}computeFacets(t,e){return this.post(`/${t}/facets`,{payload:e})}searchMembers(t,e){return this.post(`/${t}/search`,{payload:e})}deleteMembers(t,e){return this.post(`/${t}/members`,{payload:{action:"delete",members:e}})}addChildren(t,e){return this.post(`/${t}/children`,{payload:{action:"add",children:e}})}deleteChildren(t,e){return this.post(`/${t}/children`,{payload:{action:"delete",children:e}})}searchChildren(t,e={}){return this.post(`/${t}/children/search`,{payload:e})}delete(t){return this.del(`/${t}`)}updatePermissions(t,e){return this.put(`/${t}/permissions`,{payload:e})}propagatePermissions(t){return this.post(`/${t}/propagate-permissions`)}propagateSharedProperties(t){return this.post(`/${t}/propagate-shared-props`)}}class Y extends w{constructor(t,e="/api/v1/embeddings"){super(t,e)}async status(t){return this.get(t+"/status")}async activate(t,e){if(!e.environment)throw new Error("Invalid configuration: select environment");return this.post(t+"/enable",{payload:e})}async disable(t){return this.post(t+"/disable")}async recalculate(t){return this.post(t+"/recalculate")}}class X extends w{constructor(t){super(t,"/api/v1/commands")}embeddings=new Y(this,"/embeddings")}class Z extends w{storeId;constructor(t,e){super(t,`/api/v1/data/${e}/dashboards`),this.storeId=e}storeHeaders(){return{[n.DATA_STORE_ID]:this.storeId}}list(t){const e=t?`?status=${t}`:"";return this.get(`/${e}`,{headers:this.storeHeaders()})}create(t){return this.post("/",{payload:t,headers:this.storeHeaders()})}retrieve(t){return this.get(`/${t}`,{headers:this.storeHeaders()})}update(t,e){return this.put(`/${t}`,{payload:e,headers:this.storeHeaders()})}delete(t){return this.del(`/${t}`,{headers:this.storeHeaders()})}bulkArchive(t){return this.post("/bulk/archive",{payload:{ids:t},headers:this.storeHeaders()})}bulkDelete(t){return this.post("/bulk/delete",{payload:{ids:t},headers:this.storeHeaders()})}listVersions(t,e){const r=new URLSearchParams;e?.snapshotsOnly&&r.set("snapshots_only","true"),e?.limit&&r.set("limit",String(e.limit));const s=r.toString()?`?${r}`:"";return this.get(`/${t}/versions${s}`,{headers:this.storeHeaders()})}getVersion(t,e){return this.get(`/${t}/versions/${e}`,{headers:this.storeHeaders()})}createSnapshot(t,e){return this.post(`/${t}/versions`,{payload:e,headers:this.storeHeaders()})}promoteVersion(t,e,r){return this.post(`/${t}/versions/${e}/promote`,{payload:r||{},headers:this.storeHeaders()})}setVersioningEnabled(t,e){return this.put(`/${t}/versioning`,{payload:{enabled:e},headers:this.storeHeaders()})}}class tt extends w{constructor(t){super(t,"/api/v1/data")}storeHeaders(t){return{[n.DATA_STORE_ID]:t}}list(){return this.get("/")}create(t){return this.post("/",{payload:t})}retrieve(t){return this.get(`/${t}`,{headers:this.storeHeaders(t)})}delete(t){return this.del(`/${t}`,{headers:this.storeHeaders(t)})}getSchema(t,e){const r=e?`?format=${e}`:"";return this.get(`/${t}/schema${r}`,{headers:this.storeHeaders(t)})}updateSchema(t,e){return this.put(`/${t}/schema`,{payload:e,headers:this.storeHeaders(t)})}getSchemaHistory(t){return this.get(`/${t}/schema/history`,{headers:this.storeHeaders(t)})}listTables(t){return this.get(`/${t}/tables`,{headers:this.storeHeaders(t)})}createTables(t,e){return this.post(`/${t}/tables`,{payload:e,headers:this.storeHeaders(t)})}getTable(t,e,r){const s=r?"?sample=true":"";return this.get(`/${t}/tables/${e}${s}`,{headers:this.storeHeaders(t)})}alterTable(t,e,r){return this.put(`/${t}/tables/${e}`,{payload:r,headers:this.storeHeaders(t)})}dropTable(t,e){return this.del(`/${t}/tables/${e}`,{headers:this.storeHeaders(t)})}import(t,e){return this.post(`/${t}/import`,{payload:e,headers:this.storeHeaders(t)})}getImportStatus(t,e){return this.get(`/${t}/import/${e}`,{headers:this.storeHeaders(t)})}listVersions(t,e){const r=e?"?snapshots_only=true":"";return this.get(`/${t}/versions${r}`,{headers:this.storeHeaders(t)})}createSnapshot(t,e){return this.post(`/${t}/versions`,{payload:e,headers:this.storeHeaders(t)})}rollback(t,e){return this.post(`/${t}/versions/${e}/rollback`,{headers:this.storeHeaders(t)})}queryVersion(t,e,r){return this.post(`/${t}/versions/${e}/query`,{payload:r,headers:this.storeHeaders(t)})}query(t,e){return this.post(`/${t}/query`,{payload:e,headers:this.storeHeaders(t)})}validateQueries(t,e){return this.post(`/${t}/query/validate`,{payload:{queries:e},headers:this.storeHeaders(t)})}getDownloadInfo(t,e){const r=e?`?version_id=${e}`:"";return this.get(`/${t}/download${r}`,{headers:this.storeHeaders(t)})}dashboards(t){return new Z(this.client,t)}}class et extends w{constructor(t){super(t,"/api/v1/email")}send(t){return this.post("/send",{payload:t})}resolveRoute(t){return this.post("/resolve-route",{payload:{route_key:t}})}createRoute(t){return this.post("/routes",{payload:t})}getRoute(t){return this.get(`/routes/${t}`)}updateRoute(t,e){return this.put(`/routes/${t}`,{payload:e})}forwardEmail(t,e){return this.post(`/routes/${t}/forward`,{payload:e})}}class rt extends w{constructor(t,e="/api/v1/indexing"){super(t,e)}async status(){return this.get("/status")}async reindex(t){return this.post("/reindex",{payload:{recreate_index:t}})}async analyzeDrift(){return this.post("/analyze-drift",{payload:{}})}async getDriftAnalysis(){return this.get("/drift-analysis")}async enableIndexing(){return this.post("/enable-indexing")}async disableIndexing(){return this.post("/disable-indexing")}async enableQueries(){return this.post("/enable-queries")}async disableQueries(){return this.post("/disable-queries")}index(t,e){return this.post("/internal/index",{payload:{object_id:t,document:e}})}delete(t){return this.post("/internal/delete",{payload:{object_id:t}})}bulkIndex(t,e){return this.post("/internal/bulk-index",{payload:{documents:t,target_index:e}})}ensureIndex(t){return this.post("/internal/ensure-index",{payload:{recreate:t}})}createReindexTarget(){return this.post("/internal/create-reindex-target",{payload:{}})}swapAlias(t,e){return this.post("/internal/swap-alias",{payload:{new_index_name:t,delete_old:e}})}getStats(){return this.post("/internal/stats",{payload:{}})}getReindexRange(){return this.post("/internal/reindex-range",{payload:{}})}fetchBatch(t,e){return this.post("/internal/fetch-batch",{payload:{cursor:t,limit:e}})}indexBatch(t,e,r,s,n){return this.post("/internal/index-batch",{payload:{cursor:t,limit:e,target_index:r,since:s,end_cursor:n}})}getNextIndexCursor(t,e,r){return this.post("/internal/next-cursor",{payload:{cursor:t,limit:e,count:r}})}analyzeDriftBatch(t,e){return this.post("/internal/analyze-drift-batch",{payload:{cursor:t,limit:e}})}triggerReindex(t){return this.post("/internal/trigger-reindex",{payload:t?{full_reindex:t.fullReindex,object_ids:t.objectIds,recreate_index:t.recreateIndex}:{}})}fetchDocumentsByIds(t){return this.post("/internal/fetch-by-ids",{payload:{object_ids:t}})}bulkDelete(t){return this.post("/internal/bulk-delete",{payload:{object_ids:t}})}getConfiguration(){return this.post("/internal/configuration",{payload:{}})}}class st extends u{constructor(t,e){super("Resource not found: "+e.message,t,404,e.payload)}}class nt{stream;name;type;id;constructor(t,e,r,s){this.stream=t,this.name=e,this.type=r,this.id=s}}const at="memories",it="agents";function ot(t){const e=t.endsWith(".tar.gz")?t:t+".tar.gz";return`${at}/${e}`}function lt(t,e){return`${it}/${t}/${e}`}class ut extends w{constructor(t){super(t,"/api/v1/files")}async deleteFile(t,e){return(await this.delete(`/${t}`,{query:{prefix:e}})).count}getMetadata(t){return this.get("/metadata",{query:{file:t}})}setFileMetadata(t,e){const r={file:t,metadata:e};return this.put("/metadata",{payload:r})}getOrCreateBucket(){return this.post("/bucket")}getUploadUrl(t){return this.post("/upload-url",{payload:t})}getDownloadUrl(t,e,r){const s={file:t,name:e,disposition:r};return this.post("/download-url",{payload:s})}getDownloadUrlWithOptions(t){return this.post("/download-url",{payload:t})}bulkGetUploadUrls(t){return this.post("/bulk-upload-urls",{payload:t})}async bulkUpload(t,e=10){const r=t.map(t=>({name:t.name,mime_type:t.type,id:t instanceof nt?t.id:void 0})),{files:s}=await this.bulkGetUploadUrls({files:r}),n=new Array(t.length);for(let r=0;r<t.length;r+=e){const a=t.slice(r,r+e);await Promise.all(a.map(async(t,e)=>{const a=r+e,{url:i,id:o,mime_type:l}=s[a],u=t instanceof nt,c=t.type||l,d=await fetch(i,{method:"PUT",body:u?t.stream:t,duplex:u?"half":void 0,headers:c?{"Content-Type":c}:void 0});if(!d.ok)throw new Error(`Failed to upload file ${t.name}: ${d.statusText}`);const h=d.headers.get("etag")?.replace(/^"(.*)"$/,"$1");n[a]={source:o,name:t.name,type:c,etag:h}}))}return n}async uploadFile(t){const e=t instanceof nt,{url:r,id:s,path:n}=await this.getUploadUrl(t);return await fetch(r,{method:"PUT",body:e?t.stream:t,duplex:e?"half":void 0,headers:{"Content-Type":t.type||"application/gzip"}}).then(t=>{if(t.ok)return t;throw console.log(t),new Error(`Failed to upload file: ${t.statusText}`)}).catch(t=>{throw console.error("Failed to upload file",{err:t,url:r,id:s,path:n}),t}),s}async downloadFile(t){const e=!t.startsWith("https:"),{url:r}=e?await this.getDownloadUrl(t):{url:t},s=await fetch(r,{method:"GET"}).then(e=>{if(e.ok)return e;throw 404===e.status?new Error(`File at ${r} not found`):403===e.status?new Error(`File at ${r} is forbidden`):(console.log(e),new Error(`Failed to download file ${t}: ${e.statusText}`))}).catch(e=>{throw console.error(`Failed to download file ${t}.`,e),e});if(!s.body)throw new Error(`No body in response while downloading file ${t}`);return s.body}async copyFile(t,e){return(await this.post("/copy",{payload:{source:t,dest:e}})).dest}async uploadMemoryPack(t){const e=ot(t.name),r=t.name.endsWith(".tar.gz")?t.name:t.name+".tar.gz";if(t instanceof File){const s=t;return this.uploadFile(new nt(s.stream(),r,s.type,e))}return this.uploadFile(new nt(t.stream,r,t.type,e))}async downloadMemoryPack(t,e=!1){let r=await this.downloadFile(ot(t));if(e){const t=new DecompressionStream("gzip");r=r.pipeThrough(t)}return r}listByPrefix(t){return this.get("/list",{query:{prefix:t}})}async uploadArtifact(t,e,r){const s=lt(t,e);if(r instanceof File){const t=r;return this.uploadFile(new nt(t.stream(),e,t.type,s))}return this.uploadFile(new nt(r.stream,e,r.type,s))}async downloadArtifact(t,e){const r=lt(t,e);return this.downloadFile(r)}getArtifactDownloadUrl(t,e,r){const s=lt(t,e);return this.getDownloadUrl(s,e,r)}async listArtifacts(t){const e=`${it}/${t}/`;return(await this.listByPrefix(e)).files}}class ct extends w{constructor(t){super(t,"/api/v1/hive-memory")}list(t){const e=new URLSearchParams;t?.category&&e.set("category",t.category),t?.scope&&e.set("scope",t.scope),t?.limit&&e.set("limit",String(t.limit)),t?.offset&&e.set("offset",String(t.offset));const r=e.toString();return this.get(r?`/?${r}`:"/")}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}search(t){return this.post("/search",{payload:t})}recall(t,e){return this.post("/recall",{payload:{task_description:t,tools:e?.tools,category:e?.category,max_results:e?.maxResults}})}getFormatted(t){return this.get(`/${t}/formatted`)}recordUsage(t){return this.post(`/${t}/usage`,{})}getByCategory(t,e){const r=new URLSearchParams;e?.limit&&r.set("limit",String(e.limit)),e?.offset&&r.set("offset",String(e.offset));const s=r.toString();return this.get(`/category/${t}${s?`?${s}`:""}`)}getStats(){return this.get("/stats")}applyDecay(t){return this.post("/admin/decay",{payload:{days_threshold:t?.daysThreshold,decay_rate:t?.decayRate}})}archiveLowConfidence(t){return this.post("/admin/archive",{payload:{threshold:t}})}}class dt extends w{objectId;constructor(t,e){super(t,`/${e}/analyze`),this.objectId=e}async start(t){return this.post("/",{payload:t})}async getStatus(){return this.get("/status")}async getResults(){return this.get("/results")}async adaptTables(t){return this.post("/adapt_tables",{payload:t})}async getAdaptedTables(t,e){const r=t?`/adapt_tables/${t}`:"/adapt_tables",s={};e?.format&&(s.format=e.format),void 0!==e?.raw&&(s.raw=e.raw);const n={query:s};return"csv"===e?.format&&(n.responseType="text"),this.get(r,n)}async getXml(){return this.get("/xml")}async getTables(t){const e={};return t&&(e.query={format:t}),this.get("/tables",e)}async getImages(){return this.get("/images")}async getAnnotated(){return this.get("/annotated")}}class ht extends w{constructor(t){super(t,"/api/v1/objects")}analyze(t){return new dt(this,t)}getUploadUrl(t){return this.post("/upload-url",{payload:t})}getDownloadUrl(t,e,r){return this.post("/download-url",{payload:{file:t,name:e,disposition:r}})}getDownloadUrlWithOptions(t){return this.post("/download-url",{payload:t})}getContentSource(t){return this.get(`/${t}/content-source`)}list(t={}){const e=t.limit||100,r=t.offset||0,s=t.query||{};return this.get("/",{query:{limit:e,offset:r,select:t.select,...s,all_revisions:t.all_revisions,from_root:t.from_root||void 0}})}computeFacets(t){return this.post("/facets",{payload:t})}listFolders(t="/"){throw new Error("Not implemented yet")}find(t){return this.post("/find",{payload:t})}count(t){return this.post("/count",{payload:t})}search(t){return this.post("/search",{payload:t})}retrieve(t,e){return this.get(`/${t}`,{query:{select:e}})}getObjectText(t){return this.get(`/${t}/text`)}async upload(t){const e=t instanceof nt,{url:r,id:s,mime_type:n}=await this.getUploadUrl({id:e?t.id:void 0,name:t.name,mime_type:t.type}),a=t.type||n,i=await fetch(r,{method:"PUT",body:e?t.stream:t,duplex:e?"half":void 0,headers:a?{"Content-Type":a}:void 0}).then(t=>{if(t.ok)return t;throw console.log(t),new Error(`Failed to upload file: ${t.statusText}`)}).catch(t=>{throw console.error("Failed to upload file",t),t}),o=i.headers.get("etag")?.replace(/^"(.*)"$/,"$1");return{source:s,name:t.name,type:a,etag:o}}async create(t,e){const r={...t};(t.content instanceof nt||t.content instanceof File)&&(r.content=await this.upload(t.content));const s={};return e?.processing_priority&&(s[a.PROCESSING_PRIORITY]=e.processing_priority),e?.collection_id&&(s[a.COLLECTION_ID]=e.collection_id),await this.post("/",{payload:r,headers:s})}async createFromExternalSource(t,e={},r){const s=await this.client.files.getMetadata(t),n={...e,content:{source:t,name:s.name,type:s.contentType,etag:s.etag}},i={};return r?.processing_priority&&(i[a.PROCESSING_PRIORITY]=r.processing_priority),r?.collection_id&&(i[a.COLLECTION_ID]=r.collection_id),await this.post("/",{payload:n,headers:i})}async update(t,e,r){const s={...e};(e.content instanceof nt||e.content instanceof File)&&(s.content=await this.upload(e.content));const n={};return r?.ifMatch&&(n["if-match"]=r.ifMatch),r?.processing_priority&&(n[a.PROCESSING_PRIORITY]=r.processing_priority),r?.createRevision&&(n[a.CREATE_REVISION]="true",r.revisionLabel&&(n[a.REVISION_LABEL]=r.revisionLabel)),r?.suppressWorkflows&&(n[a.SUPPRESS_WORKFLOWS]="true"),this.put(`/${t}`,{payload:s,headers:n})}getRevisions(t){return this.get(`/${t}/revisions`)}getCollections(t){return this.get(`/${t}/collections`)}delete(t){return Array.isArray(t)?this.client.runOperation({name:"delete",ids:t,params:{}}):this.del(`/${t}`)}bulkUpdate(t){const e=Object.keys(t);return this.client.runOperation({name:"update",ids:e,params:t})}bulkCreate(t,e){return this.client.runOperation({name:"create",ids:[],params:{objects:t,...e}})}listWorkflowRuns(t){return this.get(`/${t}/workflow-runs`)}listRenditions(t){return this.get(`/${t}/renditions`)}getRendition(t,e){const r={max_hw:e.max_hw,generate_if_missing:e.generate_if_missing,sign_url:e.sign_url,block_on_generation:e.block_on_generation};return this.get(`/${t}/renditions/${e.format}`,{query:r})}getRenditionSafe(t,e,r){return i(e,r.format)?this.getRendition(t,r):Promise.resolve(null)}exportProperties(t){return this.post("/export",{payload:t})}setEmbedding(t,e,r){return this.put(`/${t}/embeddings/${e}`,{payload:r})}}class pt extends w{constructor(t){super(t,"/api/v1/pending-asks")}register(t){return this.post("/",{payload:t})}resolve(t,e){return this.post(`/${t}/resolve`,{payload:e})}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}}class gt extends w{constructor(t,e="/api/v1/query"){super(t,e)}async execute(t){return this.post("/",{payload:t})}async sql(t){return this.execute({sql:t})}async esql(t){return this.execute({esql:t})}async dsl(t){return this.execute({dsl:t})}}class yt extends w{constructor(t){super(t,"/api/v1/rendering")}start(t){return this.post("/jobs",{payload:t})}getStatus(t,e){return this.get("/jobs/status",{query:{workflow_id:t,workflow_run_id:e}})}async render(t,e={}){const r=e.pollIntervalMs??1500,s=e.timeoutMs??6e5,n=await this.start(t);if(!n.workflow_id||!n.workflow_run_id)throw new Error("Failed to start rendering workflow");const a=Date.now();for(;;){const e=await this.getStatus(n.workflow_id,n.workflow_run_id);if(e.status===o.COMPLETED){if(!e.download_url&&!e.file_uri)throw new Error(e.error||"Rendering completed but no output file was produced");return{status:"success",format:t.format,download_url:e.download_url,file_uri:e.file_uri}}if(l(e.status)){const t=o[e.status]||String(e.status);throw new Error(e.error||`Rendering failed with status: ${t}`)}if(Date.now()-a>=s)throw new Error(`Rendering timed out after ${s}ms`);await mt(r)}}}function mt(t){return new Promise(e=>setTimeout(e,t))}class ft extends w{constructor(t){super(t,"/api/v1/schedules")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}create(t){return this.post("/",{payload:t})}update(t,e){return this.put(`/${t}`,{payload:e})}delete(t){return this.del(`/${t}`)}trigger(t){return this.post(`/${t}/trigger`,{})}pause(t,e){return this.post(`/${t}/pause`,{payload:{note:e}})}resume(t,e){return this.post(`/${t}/resume`,{payload:{note:e}})}}class wt extends w{constructor(t){super(t,"/api/v1/tools")}getBuiltinCatalog(){return this.get("/")}}class vt extends w{constructor(t){super(t,"/api/v1/types/catalog")}list(t={}){return this.get("/",{query:t})}listSysTypes(t){return this.get("/sys",{query:{tag:t}})}listAppTypes(t){return this.get("/apps",{query:{tag:t}})}listStoredTypes(t={}){return this.get("/stored",{query:t})}resolve(t){const e="string"==typeof t?t:t.code||t.id;return this.get(`/resolve/${e}`)}}class $t extends w{catalog;constructor(t){super(t,"/api/v1/types"),this.catalog=new vt(t)}list(t={},e){const r=t.limit||2e3,s=t.offset||0,n=t.query||{};return this.get("/",{query:{limit:r,offset:s,layout:!!e?.layout,schema:!!e?.schema,...n}})}find(t){return this.post("/find",{payload:t})}retrieve(t){return this.get(`/${t}`)}getTypeByName(t){return this.get(`/name/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}}const bt="20260319",St="x-api-version";class _t extends w{constructor(t){super(t,"/api/v1/workers")}async deploy(t){return this.post("/",{payload:t})}}class kt extends w{constructor(t){super(t,"/api/v1/workflows")}getActivityCatalog(){return this.get("/activity-catalog")}listRuns(t,e,r){return this.post("/runs",{payload:{documentId:t,eventName:e,ruleId:r}})}listConversations(t){return this.post("/conversations",{payload:t})}searchRuns(t){return this.post("/runs",{payload:t})}sendSignal(t,e,r,s){return this.post(`/runs/${t}/${e}/signal/${r}`,{payload:s})}getRunDetails(t,e,r){const s={};return void 0!==r?.includeHistory&&(s.include_history=r.includeHistory),void 0!==r?.historyFormat&&(s.history_format=r.historyFormat),this.get(`/runs/${e}/${t}`,{query:s})}getRunInteraction(t,e){return this.get(`/runs/${t}/${e}/interaction`)}terminate(t,e,r){const s={reason:r};return this.post(`/runs/${t}/${e}/actions/terminate`,{payload:s})}cancel(t,e,r){const s={reason:r};return this.post(`/runs/${t}/${e}/actions/cancel`,{payload:s})}query(t,e,r){return this.get(`/runs/${t}/${e}/query/${r}`)}getActiveWorkstreams(t,e){return this.query(t,e,"ActiveWorkstreams")}retrieveWorkstreamMessages(t,e){return t.child_workflow_run_id?this.retrieveMessages(t.child_workflow_id,t.child_workflow_run_id,e):Promise.resolve([])}streamWorkstreamMessages(t,e,r,s){return t.child_workflow_run_id?this.streamMessages(t.child_workflow_id,t.child_workflow_run_id,e,r,s):Promise.resolve(null)}execute(t,e={}){return this.post(`/execute/${t}`,{payload:e})}postMessage(t,e){if(!t)throw new Error("runId is required");return this.post(`/runs/${t}/updates`,{payload:e})}async retrieveMessages(t,r,s){const n={since:s};return(await this.get(`/runs/${t}/${r}/updates`,{query:n})).messages.map(t=>e(t,r))}async streamMessages(t,n,a,i,o){return new Promise((l,u)=>{(async()=>{let c=0,d=i||0,h=!1,p=null,g=null,y=null,m=null;const f=10,w=t=>{const e=Math.min(1e3*Math.pow(2,t),3e4);return e+.1*Math.random()*e},v=()=>{y&&(clearTimeout(y),y=null),g&&(clearInterval(g),g=null),p&&(p.close(),p=null),o&&m&&(o.removeEventListener("abort",m),m=null)},$=t=>{h||(h=!0,v(),l(t))};if(o){if(o.aborted)return h=!0,v(),void l(null);m=()=>{$(null)},o.addEventListener("abort",m,{once:!0})}try{if(h)return;const e=await this.retrieveMessages(t,n,i);if(h)return;for(const t of e){if(h)return;if(d=Math.max(d,t.timestamp||0),a&&a(t,$),h)return;const e=t.workstream_id||"main";if(t.type===r.TERMINATED||t.type===r.COMPLETE&&"main"===e)return console.log("Workflow already completed in historical messages"),void $(null)}}catch(t){if(h)return;console.warn("Failed to fetch historical messages, continuing with SSE:",t)}const b=async(i=!1)=>{if(!h)try{const o=await U();if(h)return;const l=this.client,m=new URL(l.workflows.baseUrl+`/runs/${t}/${n}/stream`);d>0&&m.searchParams.set("since",d.toString()),m.searchParams.set("skipHistory","true");const S=l._auth?await l._auth():void 0;if(h)return;if(!S)return h=!0,v(),void u(new Error("No auth token available"));const _=S.split(" ")[1];if(m.searchParams.set("access_token",_),i&&console.log(`Reconnecting to SSE stream for run ${n} (attempt ${c+1}/10)`),h)return;const k=new o(m.href);p=k,g=setInterval(()=>{},1e3),k.onopen=()=>{i&&console.log(`Successfully reconnected to SSE stream for run ${n}`),c=0},k.onmessage=t=>{if(!h&&t.data&&!t.data.startsWith(":"))try{const i=s(t.data);if(d=i.ts?Math.max(d,i.ts):Date.now(),a){const t=e(i,n);a(t,$)}const o=i.w||"main";i.t===r.TERMINATED||i.t===r.COMPLETE&&"main"===o?(console.log("Closing stream due to COMPLETE message from main workstream"),$(null)):i.t===r.COMPLETE&&console.log(`Received COMPLETE message from non-main workstream: ${o}, keeping stream open`)}catch(e){console.error("Failed to parse SSE message:",e,t.data)}},k.onerror=t=>{if(!h)if(console.warn(`SSE stream error for run ${n}:`,t),v(),c<f){const t=w(c);console.log(`Attempting to reconnect in ${t}ms (attempt ${c+1}/10)`),c++,y=setTimeout(()=>{y=null,h||b(!0)},t)}else console.error(`Failed to reconnect to SSE stream for run ${n} after 10 attempts`),h=!0,v(),u(new Error("SSE connection failed after 10 reconnection attempts"))}}catch(t){if(h)return;if(console.error("Error setting up SSE stream:",t),c<f){const t=w(c);c++,y=setTimeout(()=>{y=null,h||b(!0)},t)}else h=!0,v(),u(t)}};b(!1)})().catch(u)})}async streamMessagesWS(t,e,n,a){return new Promise((i,o)=>{let l=0;const u=10;let c=null,d=a||0,h=!1;const p=t=>{const e=Math.min(1e3*Math.pow(2,t),3e4);return e+.1*Math.random()*e},g=async()=>{if(!h)try{const a=this.client,y=new URL(a.workflows.baseUrl+`/runs/${t}/${e}/ws`);y.protocol=y.protocol.replace("http","ws"),d>0&&y.searchParams.set("since",d.toString());const m=a._auth?await a._auth():void 0;if(!m)return void o(new Error("No auth token available"));const f=m.split(" ")[1];y.searchParams.set("access_token",f),l>0&&console.log(`Reconnecting to WebSocket for run ${e} (attempt ${l+1}/10)`),c=new WebSocket(y.href),c.onopen=()=>{l>0&&console.log(`Successfully reconnected to WebSocket for run ${e}`),l=0,h||i({cleanup:()=>{h=!0,c&&(c.close(),c=null)},sendSignal:(t,e)=>{if(c?.readyState===WebSocket.OPEN){const r={type:"signal",signalName:t,data:e,requestId:Date.now()};c.send(JSON.stringify(r))}else console.warn("WebSocket not open, cannot send signal")}})},c.onmessage=t=>{try{const e=JSON.parse(t.data);if("type"in e&&"string"==typeof e.type){if("pong"===e.type)return void console.debug("Received pong");if("ack"===e.type)return void console.debug("Signal acknowledged",e);if("error"===e.type)return void console.error("WebSocket error message",e)}const a=s(e);d=a.ts?Math.max(d,a.ts):Date.now(),n&&n(a);const i=a.w||"main";(a.t===r.TERMINATED||a.t===r.COMPLETE&&"main"===i)&&(console.log("Closing WebSocket due to workflow completion"),h=!0,c&&(c.close(),c=null))}catch(t){console.error("Failed to parse WebSocket message",t)}},c.onerror=t=>{console.error("WebSocket error",t)},c.onclose=()=>{if(!h&&l<u){const t=p(l);console.log(`WebSocket closed, reconnecting in ${t}ms (attempt ${l+1}/10)`),l++,setTimeout(g,t)}else l>=u&&o(new Error("WebSocket connection failed after 10 attempts"))}}catch(t){if(console.error("Error setting up WebSocket",t),l<u){const t=p(l);l++,setTimeout(g,t)}else o(t)}};g()})}rules=new xt(this);definitions=new Tt(this)}class xt extends w{constructor(t){super(t,"/rules")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}execute(t,e,r){const s={objectIds:e,vars:r};return this.post(`/${t}/execute`,{payload:s})}}class Tt extends w{constructor(t){super(t,"/definitions")}list(){return this.get("/")}retrieve(t){return this.get(`/${t}`)}update(t,e){return this.put(`/${t}`,{payload:e})}create(t){return this.post("/",{payload:t})}delete(t){return this.del(`/${t}`)}}class Et extends f{constructor(t={}){super(function(t){if(!t)throw new Error("zeno client serverUrl is required");return t}(t.serverUrl)),t.apikey&&this.withApiKey(t.apikey),this.onRequest=t.onRequest,this.onResponse=t.onResponse,this.errorFactory=t=>404===t.status?new st(t.request,t):t}withApiVersion(t){return t?this.headers[St]=String(t):delete this.headers[St],this}withApiKey(t){return this.withAuthCallback(t?()=>Promise.resolve(`Bearer ${t}`):void 0)}runOperation(t){return this.post("/api/v1/operations",{payload:t})}get initialHeaders(){return{...super.initialHeaders,[St]:bt}}agents=new K(this);objects=new ht(this);types=new $t(this);workflows=new kt(this);schedules=new ft(this);files=new ut(this);commands=new X(this);workers=new _t(this);collections=new Q(this);embeddings=new Y(this);email=new et(this);pendingAsks=new pt(this);data=new tt(this);tools=new wt(this);indexing=new rt(this);query=new gt(this);hiveMemory=new ct(this);rendering=new yt(this)}class Rt extends w{constructor(t){super(t,"/api/v1/training")}listSessions(t={}){return this.get("/",{query:t})}listSessionNames(t={}){return this.get("/names",{query:t})}createSession(t){return this.post("/",{payload:t})}getSession(t){return this.get("/"+t)}addToSession(t,e){return this.post("/"+t+"/add",{payload:{runs:e}})}listSessionRuns(t,e=100,r=0){return this.get("/"+t+"/runs",{query:{limit:e,offset:r}})}buildSession(t){return this.post("/"+t+"/build")}getDataUrl(t){return this.get("/"+t+"/url")}getDataUploadUrl(t,e=!1){return this.get("/"+t+"/upload-url",e?{query:{resumable:"true"}}:{})}startTraining(t){return this.post("/"+t+"/start")}cancelTraining(t){return this.post("/"+t+"/cancel")}getTrainingJob(t){return this.get(`/job/${t}`)}getAndSyncTrainingJob(t){return this.get(`/job/${t}`,{query:{sync:"true"}})}setDataset(t,e="default"){return this.post("/"+t+"/dataset",{payload:{dataset:e}})}}class qt extends w{constructor(t){super(t,"/api/v1/users")}retrieve(t){return this.get("/"+t)}update(t,e){return this.put("/"+t,{payload:e})}delete(t){return this.del("/"+t)}}class At extends f{_jwt=null;store;sessionTags;tokenServerUrl;static async fromAuthToken(t,e,r){e||(e=Ut(t));const s=r||It(e.endpoints);return await new At({serverUrl:s.studio,storeUrl:s.store,tokenServerUrl:s.token||e.iss}).withApiKey(t)}static decodeEndpoints(){}constructor(t={site:"api.vertesia.io"}){let e,r;if(t.serverUrl)e=t.serverUrl;else{if(!t.site)throw new Error("Parameter 'site' or 'serverUrl' is required for VertesiaClient");e=`https://${t.site}`}if(t.storeUrl)r=t.storeUrl;else{if(!t.site)throw new Error("Parameter 'site' or 'storeUrl' is required for VertesiaClient");r=`https://${t.site}`}if(super(e),t.tokenServerUrl)this.tokenServerUrl=t.tokenServerUrl;else if(t.site)"api-preview.vertesia.io"===t.site||"api.vertesia.io"===t.site?this.tokenServerUrl="https://sts.vertesia.io":this.tokenServerUrl=`https://${t.site.replace(/^api/,"sts")}`;else if(t.serverUrl||t.storeUrl){const e=t.serverUrl||t.storeUrl||"";try{const t=new URL(e);t.hostname.includes("-production.")||t.hostname.includes("-preview.")||"api.vertesia.io"===t.hostname||"api-preview.vertesia.io"===t.hostname?this.tokenServerUrl="https://sts.vertesia.io":"api-staging.vertesia.io"===t.hostname?this.tokenServerUrl="https://sts-staging.vertesia.io":t.hostname.startsWith("api")?(t.hostname=t.hostname.replace(/^api/,"sts"),this.tokenServerUrl=t.toString()):this.tokenServerUrl="https://sts-staging.vertesia.io"}catch(t){this.tokenServerUrl="https://sts-staging.vertesia.io"}}else this.tokenServerUrl="https://sts-staging.vertesia.io";this.store=new Et({serverUrl:r,tokenServerUrl:this.tokenServerUrl,apikey:t.apikey,onRequest:t.onRequest,onResponse:t.onResponse}),t.apikey&&this.withApiKey(t.apikey),this.onRequest=t.onRequest,this.onResponse=t.onResponse,this.sessionTags=t.sessionTags}withApiVersion(t){return t?this.headers[St]=String(t):delete this.headers[St],this}withAuthCallback(t){return this.store.withAuthCallback(t),super.withAuthCallback(t)}async withApiKey(t){return this.withAuthCallback(t?async()=>{if(!function(t){return t.startsWith("pk-")||t.startsWith("sk-")}(t))return`Bearer ${t}`;if(function(t){if(!t)return!0;const e=Ut(t).exp;return Date.now()<=1e3*e-6e4}(this._jwt)){const e=await this.getAuthToken(t);this._jwt=e.token}return`Bearer ${this._jwt}`}:void 0)}async getRawJWT(){if(!this._jwt&&this._auth){const t=await this._auth();this._jwt||(this._jwt=t.trim().split(" ")[1])}return this._jwt||null}async getDecodedJWT(){const t=await this.getRawJWT();return t?Ut(t):null}async getProject(){const t=await this.getDecodedJWT();return t?.project||null}async getAccount(){const t=await this.getDecodedJWT();return t?.account||null}get agents(){return this.store.agents}get workflows(){return this.store.workflows}get objects(){return this.store.objects}get files(){return this.store.files}get types(){return this.store.types}get data(){return this.store.data}get storeUrl(){return this.store.baseUrl}async getAuthToken(t){return fetch(`${this.tokenServerUrl}/token/issue`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}).then(t=>t.json()).then(t=>t).catch(t=>{throw console.error(`Error fetching token from ${this.tokenServerUrl}:`,{error:t}),t})}get initialHeaders(){return{...super.initialHeaders,[St]:bt}}projects=new W(this);environments=new T(this);interactions=new N(this);skills=new J(this);prompts=new z(this);runs=new G(this);account=new v(this);accounts=new $(this);apikeys=new _(this);analytics=new b(this);auditTrail=new S(this);training=new Rt(this);users=new qt(this);iam=new R(this);refs=new V(this);commands=new x(this);apps=new k(this);mcpOAuth=new L(this);oauthApps=new H(this)}function Ut(t){const e=function(t){const e=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(4*Math.ceil(t.length/4),"=");if("undefined"!=typeof Buffer)return Buffer.from(e,"base64").toString("utf-8");if("undefined"!=typeof atob&&"undefined"!=typeof TextDecoder){const t=atob(e),r=Uint8Array.from(t,t=>t.charCodeAt(0));return(new TextDecoder).decode(r)}throw new Error("No base64 decoder available")}(t.split(".")[1]);return JSON.parse(e)}function It(t){return t?"string"==typeof t?Pt(t):t:Pt("api.vertesia.io")}function Pt(t){if("local"===t)return{studio:"http://localhost:8091",store:"http://localhost:8092",token:process.env.STS_URL??"https://sts-staging.vertesia.io"};{const e=`https://${t}`;return{studio:e,store:e,token:e.replace("api","sts")}}}class jt{id;client;constructor(t,e){this.id=t,this.client=e instanceof At?e:new At(e)}retrieve(){return this.client.interactions.retrieve(this.id)}update(t){return this.client.interactions.update(this.id,t)}render(t){throw new Error("Not implemented")}async execute(t={},e){return I(this.client,this.id,t,e)}}export{it as ARTIFACTS_PREFIX,K as AgentsApi,X as CommandsApi,tt as DataApi,et as EmailApi,ut as FilesApi,ct as HiveMemoryApi,O as IS_INTERACTION_OUTPUT,rt as IndexingApi,jt as InteractionBase,D as InteractionOutput,at as MEMORIES_PREFIX,ht as ObjectsApi,pt as PendingAsksApi,gt as QueryApi,yt as RenderingApi,ft as SchedulesApi,nt as StreamSource,vt as TypeCatalogApi,$t as TypesApi,At as VertesiaClient,kt as WorkflowsApi,Tt as WorkflowsDefinitionApi,xt as WorkflowsRulesApi,Et as ZenoClient,st as ZenoClientNotFoundError,F as createInteractionOutput,It as decodeEndpoints,Ut as decodeJWT,C as enhanceExecutionRun,M as enhanceInteractionExecutionResult,lt as getAgentArtifactPath,ot as getMemoryFilePath};
2
2
  //# sourceMappingURL=vertesia-client.js.map