hexdag 0.5.0.dev2__py3-none-any.whl → 0.5.0.dev4__py3-none-any.whl

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.
@@ -65,7 +65,16 @@ async function apiRequest<T>(
65
65
 
66
66
  // File operations
67
67
  export async function listFiles(path: string = '.'): Promise<FileInfo[]> {
68
- return apiRequest<FileInfo[]>(`/files?path=${encodeURIComponent(path)}`)
68
+ const response = await apiRequest<FileInfo[] | { files: FileInfo[]; root?: string }>(`/files?path=${encodeURIComponent(path)}`)
69
+ // Handle both array response and object with files property
70
+ if (Array.isArray(response)) {
71
+ return response
72
+ }
73
+ if (response && typeof response === 'object' && 'files' in response && Array.isArray(response.files)) {
74
+ return response.files
75
+ }
76
+ console.warn('Unexpected files response format:', response)
77
+ return []
69
78
  }
70
79
 
71
80
  export async function readFile(path: string): Promise<FileContent> {
@@ -148,14 +157,15 @@ export async function getAllPluginNodes(): Promise<PluginNode[]> {
148
157
  const plugins = await listPlugins()
149
158
  const nodes: PluginNode[] = []
150
159
 
151
- plugins.forEach((plugin) => {
152
- plugin.nodes.forEach((node) => {
160
+ for (const plugin of plugins) {
161
+ const pluginNodes = Array.isArray(plugin.nodes) ? plugin.nodes : []
162
+ for (const node of pluginNodes) {
153
163
  nodes.push({
154
164
  ...node,
155
165
  plugin: plugin.name,
156
166
  })
157
- })
158
- })
167
+ }
168
+ }
159
169
 
160
170
  return nodes
161
171
  } catch (error) {
@@ -169,14 +179,15 @@ export async function getAllPluginAdapters(): Promise<PluginAdapter[]> {
169
179
  const plugins = await listPlugins()
170
180
  const adapters: PluginAdapter[] = []
171
181
 
172
- plugins.forEach((plugin) => {
173
- plugin.adapters.forEach((adapter) => {
182
+ for (const plugin of plugins) {
183
+ const pluginAdapters = Array.isArray(plugin.adapters) ? plugin.adapters : []
184
+ for (const adapter of pluginAdapters) {
174
185
  adapters.push({
175
186
  ...adapter,
176
187
  plugin: plugin.name,
177
188
  })
178
- })
179
- })
189
+ }
190
+ }
180
191
 
181
192
  return adapters
182
193
  } catch (error) {
@@ -187,7 +198,16 @@ export async function getAllPluginAdapters(): Promise<PluginAdapter[]> {
187
198
 
188
199
  export async function listPlugins(): Promise<PluginInfo[]> {
189
200
  try {
190
- return await apiRequest<PluginInfo[]>('/plugins')
201
+ const response = await apiRequest<PluginInfo[] | { plugins: PluginInfo[] }>('/plugins')
202
+ // Handle both array response and object with plugins property
203
+ if (Array.isArray(response)) {
204
+ return response
205
+ }
206
+ if (response && typeof response === 'object' && 'plugins' in response && Array.isArray(response.plugins)) {
207
+ return response.plugins
208
+ }
209
+ console.warn('Unexpected plugins response format:', response)
210
+ return []
191
211
  } catch (error) {
192
212
  console.error('Failed to list plugins:', error)
193
213
  return []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexdag
3
- Version: 0.5.0.dev2
3
+ Version: 0.5.0.dev4
4
4
  Summary: Lightweight DAG orchestration framework with enterprise pipeline capabilities
5
5
  Project-URL: Homepage, https://hexdag.ai
6
6
  Project-URL: Repository, https://github.com/omniviser/hexdag
@@ -194,7 +194,7 @@ hexdag/studio/ui/src/components/PythonEditor.tsx,sha256=vJ7sgZ6s75651EI7Y-GTv2s5
194
194
  hexdag/studio/ui/src/components/ValidationPanel.tsx,sha256=lzRIgwso2j-_NLFOu8j9GCQWkn6KB-d-6eWG9x4nmHs,4157
195
195
  hexdag/studio/ui/src/components/YamlEditor.tsx,sha256=naD2dSq9rw6hxbA6Fkj9-8fmU0vRF1Rk1_FfpPqksfU,6781
196
196
  hexdag/studio/ui/src/components/index.ts,sha256=fjXeu-PS5GD5m-My52619toCqWqQRuZHDPfJ_rQ4ZIk,428
197
- hexdag/studio/ui/src/lib/api.ts,sha256=s6pO1mzmNR7EpLHdHrrjXHwP2pCMyHKBUCwXvhF8y0c,4960
197
+ hexdag/studio/ui/src/lib/api.ts,sha256=G-nHJiTTU6r0otYE_TJDN2dNRnlthXhgUrj8-DSR9r0,5900
198
198
  hexdag/studio/ui/src/lib/nodeTemplates.ts,sha256=s8zOfsQGhpCG7foPdrsFtQ_CGwN6jcZTXe_fCbTno5M,4743
199
199
  hexdag/studio/ui/src/lib/store.ts,sha256=aynI_K5oioi7Zq0WhC_oIrhSNximBSnD54xPe6JTgi4,6902
200
200
  hexdag/studio/ui/src/types/index.ts,sha256=ZWKo_eHfPnMGVXqMa0SZuB5VSOdDDLQy7RkhkVA1qPo,2592
@@ -257,8 +257,8 @@ hexdag_plugins/storage/vector/__init__.py,sha256=uMI7dYdgMpm5b-Kay3Z9OehTC8kfqvJ
257
257
  hexdag_plugins/storage/vector/chromadb.py,sha256=CZBtp4EAw6WGwJ4M8WYc0KYVdbTJLiP74pF3JxSZIgI,7103
258
258
  hexdag_plugins/storage/vector/in_memory.py,sha256=j_7FAXj8nQPxPAIksaeOyU5yFJijOXxYEJCRibwttB8,8390
259
259
  hexdag_plugins/storage/vector/pgvector.py,sha256=830TWR4JrwbpzYultCIfb7Tll_D0te3xJM3PXCHyH94,18262
260
- hexdag-0.5.0.dev2.dist-info/METADATA,sha256=3xMVd05Np-dSbZNKwCrpqni03ZoRS0f6r0ons3_p3aM,13940
261
- hexdag-0.5.0.dev2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
262
- hexdag-0.5.0.dev2.dist-info/entry_points.txt,sha256=HVVYo840xI_sDh7Ld4V6JikuEKykjCv-hdB8lND48FU,144
263
- hexdag-0.5.0.dev2.dist-info/licenses/LICENSE,sha256=ha-Tqaxjm6OqBpizGHUnQk1XxuU9_M9xMFTSz_kJzxk,10760
264
- hexdag-0.5.0.dev2.dist-info/RECORD,,
260
+ hexdag-0.5.0.dev4.dist-info/METADATA,sha256=m1bnJVxR5kn-4HxWKzA0FucOCgqgMzM9or0jS6uCwUM,13940
261
+ hexdag-0.5.0.dev4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
262
+ hexdag-0.5.0.dev4.dist-info/entry_points.txt,sha256=HVVYo840xI_sDh7Ld4V6JikuEKykjCv-hdB8lND48FU,144
263
+ hexdag-0.5.0.dev4.dist-info/licenses/LICENSE,sha256=ha-Tqaxjm6OqBpizGHUnQk1XxuU9_M9xMFTSz_kJzxk,10760
264
+ hexdag-0.5.0.dev4.dist-info/RECORD,,