vue-agent-start 0.1.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 (169) hide show
  1. package/package.json +30 -0
  2. package/pnpm-workspace.yaml +3 -0
  3. package/src/agent-flow/adapter/backend.ts +99 -0
  4. package/src/agent-flow/components/ChatIframePanel.vue +773 -0
  5. package/src/agent-flow/components/DatasetItemCard.vue +313 -0
  6. package/src/agent-flow/components/MemoryWindow.vue +104 -0
  7. package/src/agent-flow/components/PromptEditor.vue +804 -0
  8. package/src/agent-flow/components/PromptEditorTagPanel.vue +460 -0
  9. package/src/agent-flow/components/SvgIcon.vue +32 -0
  10. package/src/agent-flow/components/ToolItemCard.vue +169 -0
  11. package/src/agent-flow/components/VariableCard.vue +161 -0
  12. package/src/agent-flow/components/VariableSelector.vue +162 -0
  13. package/src/agent-flow/components/chat-iframe-types.ts +35 -0
  14. package/src/agent-flow/components/stubs/DatasetChooser.vue +70 -0
  15. package/src/agent-flow/components/stubs/Embedding.vue +22 -0
  16. package/src/agent-flow/components/stubs/ModelSelect.vue +24 -0
  17. package/src/agent-flow/components/stubs/RestfulSelectCard.vue +24 -0
  18. package/src/agent-flow/components/stubs/ToolChooser.vue +96 -0
  19. package/src/agent-flow/components/stubs/TriggersItemCard.vue +126 -0
  20. package/src/agent-flow/components/stubs/VariableModal.vue +115 -0
  21. package/src/agent-flow/index.ts +73 -0
  22. package/src/agent-flow/stores/workflow.ts +72 -0
  23. package/src/agent-flow/utils/langUtils.ts +173 -0
  24. package/src/agent-flow/workflow/Ability.vue +65 -0
  25. package/src/agent-flow/workflow/AuthorizationItem.vue +101 -0
  26. package/src/agent-flow/workflow/ConversationVar.vue +42 -0
  27. package/src/agent-flow/workflow/CustomEdge.vue +94 -0
  28. package/src/agent-flow/workflow/EnvironmentVar.vue +40 -0
  29. package/src/agent-flow/workflow/FlowDesigner.vue +2802 -0
  30. package/src/agent-flow/workflow/Icon.vue +179 -0
  31. package/src/agent-flow/workflow/NodeConfig.vue +509 -0
  32. package/src/agent-flow/workflow/NodeConfigCard.vue +460 -0
  33. package/src/agent-flow/workflow/NodeHandle.vue +147 -0
  34. package/src/agent-flow/workflow/NodeHeaderToolbar.vue +77 -0
  35. package/src/agent-flow/workflow/NodeHoverToolbar.vue +176 -0
  36. package/src/agent-flow/workflow/OutputItemCard.vue +668 -0
  37. package/src/agent-flow/workflow/ParamTableItem.vue +200 -0
  38. package/src/agent-flow/workflow/StructTable.vue +202 -0
  39. package/src/agent-flow/workflow/VarInsertField.vue +517 -0
  40. package/src/agent-flow/workflow/VarSelectField.vue +223 -0
  41. package/src/agent-flow/workflow/VariableSelectorItem.vue +48 -0
  42. package/src/agent-flow/workflow/WfField.vue +206 -0
  43. package/src/agent-flow/workflow/_config-base.css +470 -0
  44. package/src/agent-flow/workflow/composables/useNode.js +55 -0
  45. package/src/agent-flow/workflow/index.vue +53 -0
  46. package/src/agent-flow/workflow/nodeCard/AgentNodeCard.vue +180 -0
  47. package/src/agent-flow/workflow/nodeCard/AnswerNodeCard.vue +65 -0
  48. package/src/agent-flow/workflow/nodeCard/ClassifierCard.vue +152 -0
  49. package/src/agent-flow/workflow/nodeCard/CodeNodeCard.vue +139 -0
  50. package/src/agent-flow/workflow/nodeCard/ConditionNodeCard.vue +323 -0
  51. package/src/agent-flow/workflow/nodeCard/DocumentExtractorCard.vue +83 -0
  52. package/src/agent-flow/workflow/nodeCard/EndNodeCard.vue +123 -0
  53. package/src/agent-flow/workflow/nodeCard/HttpNodeCard.vue +451 -0
  54. package/src/agent-flow/workflow/nodeCard/HumanInputCard.vue +152 -0
  55. package/src/agent-flow/workflow/nodeCard/IterationCard.vue +66 -0
  56. package/src/agent-flow/workflow/nodeCard/KnowledgeRetrievalCard.vue +48 -0
  57. package/src/agent-flow/workflow/nodeCard/LLMNodeCard.vue +206 -0
  58. package/src/agent-flow/workflow/nodeCard/ListOperatorCard.vue +188 -0
  59. package/src/agent-flow/workflow/nodeCard/ParameterExtractorCard.vue +352 -0
  60. package/src/agent-flow/workflow/nodeCard/ServiceApiNodeCard.vue +188 -0
  61. package/src/agent-flow/workflow/nodeCard/StartNodeCard.vue +216 -0
  62. package/src/agent-flow/workflow/nodeCard/VariableAssignerCard.vue +125 -0
  63. package/src/agent-flow/workflow/nodeCard/VariableNodeCard.vue +121 -0
  64. package/src/agent-flow/workflow/nodes/AgentNode.vue +122 -0
  65. package/src/agent-flow/workflow/nodes/AnswerNode.vue +99 -0
  66. package/src/agent-flow/workflow/nodes/ClassifierNode.vue +199 -0
  67. package/src/agent-flow/workflow/nodes/CodeNode.vue +152 -0
  68. package/src/agent-flow/workflow/nodes/ConditionNode.vue +232 -0
  69. package/src/agent-flow/workflow/nodes/DocumentExtractorNode.vue +96 -0
  70. package/src/agent-flow/workflow/nodes/EndNode.vue +119 -0
  71. package/src/agent-flow/workflow/nodes/FileUploadNode.vue +97 -0
  72. package/src/agent-flow/workflow/nodes/HttpNode.vue +204 -0
  73. package/src/agent-flow/workflow/nodes/HumanInputNode.vue +110 -0
  74. package/src/agent-flow/workflow/nodes/IterationNode.vue +98 -0
  75. package/src/agent-flow/workflow/nodes/KnowledgeRetrievalNode.vue +253 -0
  76. package/src/agent-flow/workflow/nodes/LLMNode.vue +134 -0
  77. package/src/agent-flow/workflow/nodes/ListOperatorNode.vue +111 -0
  78. package/src/agent-flow/workflow/nodes/LoopNode.vue +94 -0
  79. package/src/agent-flow/workflow/nodes/ParameterExtractorNode.vue +147 -0
  80. package/src/agent-flow/workflow/nodes/ServiceApiNode.vue +161 -0
  81. package/src/agent-flow/workflow/nodes/StartNode.vue +199 -0
  82. package/src/agent-flow/workflow/nodes/TemplateNode.vue +103 -0
  83. package/src/agent-flow/workflow/nodes/UserInputNode.vue +92 -0
  84. package/src/agent-flow/workflow/nodes/VariableAssignerNode.vue +145 -0
  85. package/src/agent-flow/workflow/nodes/VariableNode.vue +130 -0
  86. package/src/agent-flow/workflow/nodes/_node-base.css +338 -0
  87. package/src/agent-flow/workflow/utils/node_card_form.ts +335 -0
  88. package/src/agent-flow/workflow/utils/node_config.ts +63 -0
  89. package/src/agent-flow/workflow/utils/workflow_utils.ts +151 -0
  90. package/src/agent-studio/adapters/springAgentStart.ts +390 -0
  91. package/src/agent-studio/api/index.ts +1 -0
  92. package/src/agent-studio/api/types.ts +173 -0
  93. package/src/agent-studio/components/AgentApiDocs.vue +500 -0
  94. package/src/agent-studio/components/AgentAppsPage.vue +1601 -0
  95. package/src/agent-studio/components/AgentCardGrid.vue +259 -0
  96. package/src/agent-studio/components/AgentChatPage.vue +553 -0
  97. package/src/agent-studio/components/AgentDebugPanel.vue +350 -0
  98. package/src/agent-studio/components/AgentLogsPanel.vue +391 -0
  99. package/src/agent-studio/components/AgentMonitorPanel.vue +204 -0
  100. package/src/agent-studio/components/AgentOrchestrate.vue +505 -0
  101. package/src/agent-studio/components/AgentPromptEditor.vue +237 -0
  102. package/src/agent-studio/components/AgentStudioShell.vue +227 -0
  103. package/src/agent-studio/components/AgentToolsPanel.vue +394 -0
  104. package/src/agent-studio/components/AgentVariablesPanel.vue +205 -0
  105. package/src/agent-studio/components/ApiKeyManager.vue +251 -0
  106. package/src/agent-studio/components/AppDesignDrawer.vue +3391 -0
  107. package/src/agent-studio/components/CreateAppModal.vue +737 -0
  108. package/src/agent-studio/components/SparkChart.vue +200 -0
  109. package/src/agent-studio/components/VariableEditorModal.vue +499 -0
  110. package/src/agent-studio/composables/useAgentStudio.ts +347 -0
  111. package/src/agent-studio/index.ts +60 -0
  112. package/src/agent-studio/panels/DrawerFlowDesigner.vue +203 -0
  113. package/src/agent-studio/panels/LogAnnotationPanel.vue +490 -0
  114. package/src/agent-studio/panels/MonitorPanel.vue +535 -0
  115. package/src/agent-studio/types.ts +242 -0
  116. package/src/index.ts +155 -0
  117. package/src/knowledge-hub/adapters/springAgentStart.ts +472 -0
  118. package/src/knowledge-hub/components/AddDocumentsWizard.vue +1452 -0
  119. package/src/knowledge-hub/components/CreateDatasetWizard.vue +1723 -0
  120. package/src/knowledge-hub/components/DatasetCardGrid.vue +467 -0
  121. package/src/knowledge-hub/components/DatasetDetailDrawer.vue +888 -0
  122. package/src/knowledge-hub/components/DatasetPicker.vue +65 -0
  123. package/src/knowledge-hub/components/DatasetPickerModal.vue +526 -0
  124. package/src/knowledge-hub/components/DatasetSettingsPanel.vue +908 -0
  125. package/src/knowledge-hub/components/DatasetSidebar.vue +781 -0
  126. package/src/knowledge-hub/components/DocumentChunksView.vue +802 -0
  127. package/src/knowledge-hub/components/DocumentTable.vue +552 -0
  128. package/src/knowledge-hub/components/HitTestingPanel.vue +74 -0
  129. package/src/knowledge-hub/components/KnowledgeApp.vue +66 -0
  130. package/src/knowledge-hub/components/KnowledgeHubApp.vue +504 -0
  131. package/src/knowledge-hub/components/RecallTestingPanelV2.vue +515 -0
  132. package/src/knowledge-hub/components/RetrievalConfigPopover.vue +270 -0
  133. package/src/knowledge-hub/components/RetrievalMethodPicker.vue +547 -0
  134. package/src/knowledge-hub/components/RetrievedList.vue +24 -0
  135. package/src/knowledge-hub/components/internal/KhDialog.vue +195 -0
  136. package/src/knowledge-hub/composables/useKnowledge.ts +89 -0
  137. package/src/knowledge-hub/i18n/index.ts +2 -0
  138. package/src/knowledge-hub/i18n/messages.ts +422 -0
  139. package/src/knowledge-hub/i18n/useKhI18n.ts +107 -0
  140. package/src/knowledge-hub/index.ts +46 -0
  141. package/src/knowledge-hub/styles/index.css +4 -0
  142. package/src/knowledge-hub/styles/tokens.css +138 -0
  143. package/src/knowledge-hub/types/api.ts +213 -0
  144. package/src/knowledge-hub/types/dataset.ts +88 -0
  145. package/src/knowledge-hub/types/document.ts +45 -0
  146. package/src/knowledge-hub/types/index.ts +9 -0
  147. package/src/knowledge-hub/types/retrieval.ts +46 -0
  148. package/src/provider-hub/components/CredentialForm.vue +103 -0
  149. package/src/provider-hub/components/DefaultModelsPanel.vue +270 -0
  150. package/src/provider-hub/components/GroupedModelSelect.vue +445 -0
  151. package/src/provider-hub/components/ModelCardGrid.vue +332 -0
  152. package/src/provider-hub/components/ModelParameterDrawer.vue +739 -0
  153. package/src/provider-hub/components/ModelPickerPopover.vue +1282 -0
  154. package/src/provider-hub/components/ProviderApp.vue +159 -0
  155. package/src/provider-hub/components/ProviderCredentialModal.vue +321 -0
  156. package/src/provider-hub/components/ProviderGallery.vue +131 -0
  157. package/src/provider-hub/components/ProviderHubShell.vue +1992 -0
  158. package/src/provider-hub/components/ProviderIcon.vue +130 -0
  159. package/src/provider-hub/composables/useProviderHub.ts +358 -0
  160. package/src/provider-hub/index.ts +43 -0
  161. package/src/provider-hub/svg/MiniMax.svg +1 -0
  162. package/src/provider-hub/svg/Volcengine.svg +1 -0
  163. package/src/provider-hub/svg/Zhipu.svg +1 -0
  164. package/src/provider-hub/svg/deepseek.svg +1 -0
  165. package/src/provider-hub/svg/moonshot.svg +1 -0
  166. package/src/provider-hub/svg/openai.svg +1 -0
  167. package/src/provider-hub/svg/qwen.svg +1 -0
  168. package/src/provider-hub/svg/siliconflow.svg +1 -0
  169. package/src/provider-hub/types.ts +256 -0
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Types mirror the backend REST payloads (see spring-agent-web ModelController).
3
+ * Kept minimal so consumers don't have to re-declare shapes.
4
+ */
5
+
6
+ export type ModelType =
7
+ | 'IMAGE'
8
+ | 'LLM'
9
+ | 'MODERATION'
10
+ | 'RERANK'
11
+ | 'SPEECH2TEXT'
12
+ | 'TEXT_EMBEDDING'
13
+ | 'TTS';
14
+
15
+ export interface CredentialField {
16
+ name: string;
17
+ label: string;
18
+ type: string;
19
+ required: boolean;
20
+ secret: boolean;
21
+ defaultValue?: string;
22
+ placeholder?: string;
23
+ }
24
+
25
+ export interface PredefinedModel {
26
+ model: string;
27
+ label: string;
28
+ modelType: string;
29
+ features?: string[];
30
+ contextLength?: number;
31
+ dimensions?: number;
32
+ /** Rule overrides for this specific model, when it differs from the provider default. */
33
+ parameterRules?: ModelParameterRule[];
34
+ }
35
+
36
+ /**
37
+ * Declarative parameter rule (Dify-parity). Mirrors ModelParameterRule.java. The UI
38
+ * uses this to render sliders / number inputs in the parameter drawer without
39
+ * hard-coding what any specific model exposes.
40
+ */
41
+ export interface ModelParameterRule {
42
+ name: string;
43
+ label: string;
44
+ type: 'BOOLEAN' | 'FLOAT' | 'INT' | 'STRING';
45
+ min?: number;
46
+ max?: number;
47
+ step?: number;
48
+ precision?: number;
49
+ defaultValue?: boolean | number | string;
50
+ placeholder?: string;
51
+ help?: string;
52
+ required?: boolean;
53
+ }
54
+
55
+ /** GET /models/{id}/parameters response. */
56
+ export interface ModelParameters {
57
+ rules: ModelParameterRule[];
58
+ parameters: Record<string, boolean | number | string>;
59
+ }
60
+
61
+ /**
62
+ * Dify-parity provider definition row (agent_model_provider). Read by
63
+ * GET /model-providers now via the new DB-driven path; also the payload for
64
+ * POST /model-provider-definitions when adding an external / custom provider.
65
+ */
66
+ export interface ProviderDefinition {
67
+ id?: string;
68
+ tenantId?: string;
69
+ name: string;
70
+ label: string;
71
+ description?: string;
72
+ icon?: string;
73
+ supportedModelTypes: ModelType[];
74
+ credentialSchema: CredentialField[];
75
+ defaultParameterRules?: Record<string, ModelParameterRule[]>;
76
+ implementationKey: string;
77
+ defaultBaseUrl?: string;
78
+ source?: 'builtin' | 'external' | 'custom';
79
+ sortOrder?: number;
80
+ enabled?: boolean;
81
+ supportsRemoteModelListing?: boolean;
82
+ }
83
+
84
+ /**
85
+ * One row of a provider catalog view (predefined + custom merged). Enabled /
86
+ * isDefault flags come from the tenant's settings tables. `source` tells the
87
+ * UI whether this row lives in the shared predefined catalog (edit-only for
88
+ * admins) or as a tenant custom model (delete-able).
89
+ */
90
+ export interface CatalogRow {
91
+ id: string;
92
+ model: string;
93
+ label: string;
94
+ modelType: ModelType;
95
+ contextLength?: number;
96
+ dimensions?: number;
97
+ features?: string[];
98
+ parameterRules?: ModelParameterRule[];
99
+ /**
100
+ * Where this row comes from:
101
+ * predefined — DB-seeded shipped model (from agent_predefined_model).
102
+ * custom — tenant-registered custom model (agent_model row).
103
+ * remote — transient live-fetched from vendor `/models`; not persisted
104
+ * until user explicitly enables it (then a setting row is
105
+ * inserted; no agent_predefined_model row is created).
106
+ */
107
+ source: 'custom' | 'predefined' | 'remote';
108
+ enabled: boolean;
109
+ loadBalancingEnabled?: boolean;
110
+ isDefault: boolean;
111
+ credentialId?: string;
112
+ }
113
+
114
+ /**
115
+ * One entry from a vendor's live catalog (GET /model-providers/{name}/remote-models).
116
+ * `typeInferred` = we guessed by keyword and the UI should let the user confirm.
117
+ */
118
+ export interface RemoteModel {
119
+ modelId: string;
120
+ label: string;
121
+ modelType: ModelType;
122
+ contextLength?: number;
123
+ dimensions?: number;
124
+ features?: string[];
125
+ ownedBy?: string;
126
+ typeInferred?: boolean;
127
+ }
128
+
129
+ /**
130
+ * Provider descriptor returned by /model-providers. The trailing four fields are
131
+ * tenant-scoped state added by the backend so a single request feeds the whole
132
+ * "configured / pending / installable" three-section layout.
133
+ */
134
+ export interface ProviderView {
135
+ name: string;
136
+ label: string;
137
+ supportedModelTypes: string[];
138
+ credentialSchema: CredentialField[];
139
+ predefinedModels: PredefinedModel[];
140
+ /** Provider-wide fallback rules keyed by model type name (e.g. "LLM", "TEXT_EMBEDDING"). */
141
+ defaultParameterRules?: Record<string, ModelParameterRule[]>;
142
+ supportsRemoteModelListing: boolean;
143
+
144
+ /**
145
+ * Legacy single-slot icon column on {@code agent_model_provider.icon}. May
146
+ * carry inline SVG markup, an absolute URL, or a bare key — the
147
+ * {@link providerIconProps} helper in ProviderHubShell disambiguates.
148
+ */
149
+ icon?: string;
150
+ /** Raw SVG markup for user-defined providers stored in the DB. */
151
+ svgIcon?: string;
152
+ /** CDN or backend URL that serves the icon (e.g. {@code /api/agent-start/providers/{name}/icon}). */
153
+ iconUrl?: string;
154
+
155
+ credentialConfigured: boolean;
156
+ credentialId?: string;
157
+ credentialMasked?: Record<string, unknown>;
158
+ installedModelCount: number;
159
+ }
160
+
161
+ export interface ProviderCredentialInfo {
162
+ providerName: string;
163
+ configured: boolean;
164
+ credentialId?: string;
165
+ credentialName?: string;
166
+ }
167
+
168
+ export interface ModelEntity {
169
+ id: string;
170
+ tenantId: string;
171
+ providerName: string;
172
+ modelName: string;
173
+ modelType: ModelType;
174
+ enabled: boolean;
175
+ isDefault: boolean;
176
+ credentialId?: string;
177
+ createdAt?: string;
178
+ updatedAt?: string;
179
+ }
180
+
181
+ export interface ModelRegistration {
182
+ tenantId?: string;
183
+ providerName: string;
184
+ modelName: string;
185
+ modelType: ModelType;
186
+ credentials?: Record<string, unknown>;
187
+ credentialId?: string;
188
+ asDefault?: boolean;
189
+ }
190
+
191
+ /**
192
+ * One provider entry inside a "grouped-by-type" bucket, mirroring the reference
193
+ * project's a-select-opt-group binding: provider + description drive the group
194
+ * header, declaration carries icon hints, modelList feeds the option rows.
195
+ */
196
+ export interface GroupedProviderView {
197
+ id: string;
198
+ provider: string;
199
+ label?: string;
200
+ description?: string;
201
+ declaration?: {
202
+ icon?: string;
203
+ svg_icon?: string;
204
+ icon_url?: string;
205
+ };
206
+ modelList: GroupedModelView[];
207
+ }
208
+
209
+ /**
210
+ * A single option inside {@link GroupedProviderView.modelList}. `id` is the
211
+ * composite `${providerName}::${modelName}::${modelType}` — sent back verbatim
212
+ * to identify the target of the set-default call.
213
+ */
214
+ export interface GroupedModelView {
215
+ id: string;
216
+ providerName: string;
217
+ modelName: string;
218
+ modelType: ModelType;
219
+ }
220
+
221
+ /**
222
+ * v-model payload for {@link ModelPickerPopover}. Three-tuple keys any model
223
+ * row uniquely and is the same shape the backend uses in default-model and
224
+ * enable-toggle endpoints, so callers can persist it without adaptation.
225
+ *
226
+ * The trailing fields are optional carry-throughs: {@code completionParams}
227
+ * is the parameter-tuning payload (temperature / top_p / max_tokens / …) that
228
+ * the popover now surfaces inline, while {@code provider}/{@code modelProvider}/
229
+ * {@code modelId}/{@code mode} are legacy aliases used by workflow nodes'
230
+ * `formState.model` so they can bind the same picker without a shape adapter.
231
+ * {@code modelId} is only read (never written) — the picker now emits pairs of
232
+ * {@code modelProvider}+{@code modelName} instead of a composite id.
233
+ */
234
+ export interface SelectedModel {
235
+ providerName?: string;
236
+ modelName?: string;
237
+ modelType?: ModelType;
238
+ completionParams?: Record<string, boolean | number | string>;
239
+ provider?: string;
240
+ /** Provider key alias — matches the backend column name. */
241
+ modelProvider?: string;
242
+ /** @deprecated Legacy composite id; the picker no longer writes it. */
243
+ modelId?: string;
244
+ mode?: string;
245
+ }
246
+
247
+ export interface ModelTestResult {
248
+ ok: boolean;
249
+ latencyMs: number;
250
+ kind?: string;
251
+ snippet?: string;
252
+ dimensions?: number;
253
+ error?: string;
254
+ message?: string;
255
+ }
256
+