@syntero/orca-cli 1.2.10 → 1.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/useInputDispatch.d.ts.map +1 -1
- package/dist/hooks/useInputDispatch.js +35 -2
- package/dist/hooks/useInputDispatch.js.map +1 -1
- package/dist/hooks/useSyncFetchers.d.ts +3 -0
- package/dist/hooks/useSyncFetchers.d.ts.map +1 -1
- package/dist/hooks/useSyncFetchers.js +78 -73
- package/dist/hooks/useSyncFetchers.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputDispatch.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAA0B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"useInputDispatch.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAA0B,MAAM,gBAAgB,CAAC;AAYlE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAkK7F"}
|
|
@@ -2,6 +2,7 @@ import { useCallback } from 'react';
|
|
|
2
2
|
import { loadSettings, debugLog } from '../settings.js';
|
|
3
3
|
import { Colors, color } from '../utils.js';
|
|
4
4
|
import { setToken as authSetToken, loadCredentials, } from '../auth.js';
|
|
5
|
+
import { fetchLibraryFoldersStandalone, fetchUsersStandalone, fetchFoldersStandalone, } from './useSyncFetchers.js';
|
|
5
6
|
export function useInputDispatch(deps) {
|
|
6
7
|
return useCallback(async (input) => {
|
|
7
8
|
// Handle special token submission from InputFooter
|
|
@@ -49,8 +50,40 @@ export function useInputDispatch(deps) {
|
|
|
49
50
|
try {
|
|
50
51
|
const params = JSON.parse(payload);
|
|
51
52
|
if (params.scope === 'all') {
|
|
52
|
-
// Sync library
|
|
53
|
-
|
|
53
|
+
// Phase 1: Sync library with pathFilter so it won't touch workspace files
|
|
54
|
+
deps.addSystemMessage(color('Syncing library…', Colors.cyan));
|
|
55
|
+
const libFolders = await fetchLibraryFoldersStandalone(params.orgId);
|
|
56
|
+
const libPaths = libFolders.map((f) => f.id);
|
|
57
|
+
debugLog(`[syncAll] Library folders: ${libPaths.join(', ')}`);
|
|
58
|
+
if (libPaths.length > 0) {
|
|
59
|
+
await runSync({ force: params.force, pathFilter: libPaths, orgId: params.orgId });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
deps.addSystemMessage(color('No library folders found – skipping library sync.', Colors.yellow));
|
|
63
|
+
}
|
|
64
|
+
// Phase 2: Sync each user workspace
|
|
65
|
+
deps.addSystemMessage(color('Fetching user list…', Colors.cyan));
|
|
66
|
+
const users = await fetchUsersStandalone(params.orgId);
|
|
67
|
+
debugLog(`[syncAll] Users to sync: ${users.length}`);
|
|
68
|
+
for (const user of users) {
|
|
69
|
+
const label = user.email || user.id;
|
|
70
|
+
deps.addSystemMessage(color(`Syncing workspace for ${label}…`, Colors.cyan));
|
|
71
|
+
const folders = await fetchFoldersStandalone(user.id, params.orgId);
|
|
72
|
+
const folderPaths = folders.map((f) => f.path);
|
|
73
|
+
debugLog(`[syncAll] User ${label} folders: ${folderPaths.join(', ')}`);
|
|
74
|
+
if (folderPaths.length > 0) {
|
|
75
|
+
await runSync({
|
|
76
|
+
force: params.force,
|
|
77
|
+
basePath: `/workspace/users/${user.id}`,
|
|
78
|
+
pathFilter: folderPaths,
|
|
79
|
+
orgId: params.orgId,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
deps.addSystemMessage(color(` No workspace folders for ${label} – skipped.`, Colors.yellow));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
deps.addSystemMessage(color('Sync all complete.', Colors.green));
|
|
54
87
|
}
|
|
55
88
|
else if (params.scope === 'library') {
|
|
56
89
|
await runSync({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputDispatch.js","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAY,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,eAAe,GAChB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useInputDispatch.js","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export declare function fetchLibraryFoldersStandalone(orgId?: string): Promise<any>;
|
|
2
|
+
export declare function fetchUsersStandalone(orgId?: string): Promise<any[]>;
|
|
3
|
+
export declare function fetchFoldersStandalone(userId: string, orgId?: string): Promise<any>;
|
|
1
4
|
export declare function useSyncFetchers(): {
|
|
2
5
|
fetchLibraryFolders: (orgId?: string) => Promise<any>;
|
|
3
6
|
fetchUsers: (orgId?: string) => Promise<any[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncFetchers.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSyncFetchers.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"AAMA,wBAAsB,6BAA6B,CAAC,KAAK,CAAC,EAAE,MAAM,gBAejE;AAED,wBAAsB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,kBA+BxD;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,gBAqB1E;AAID,wBAAgB,eAAe;kCAElB,MAAM;yBAIN,MAAM;2BAwBN,MAAM,UAAU,MAAM;;;EAOlC"}
|
|
@@ -1,57 +1,84 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { cloudRequest, loadCredentials } from '../auth.js';
|
|
3
3
|
import { debugLog } from '../settings.js';
|
|
4
|
+
// ── Standalone fetchers (no React dependency) ──────────────────────────
|
|
5
|
+
export async function fetchLibraryFoldersStandalone(orgId) {
|
|
6
|
+
debugLog(`[fetchLibraryFolders] Starting request to /api/v2/solution-library${orgId ? ` (org=${orgId})` : ''}`);
|
|
7
|
+
try {
|
|
8
|
+
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
9
|
+
const response = await cloudRequest('GET', '/api/v2/solution-library', undefined, headers);
|
|
10
|
+
debugLog(`[fetchLibraryFolders] Response status=${response.status}, data keys=${Object.keys(response.data || {})}`);
|
|
11
|
+
const solutions = response.data?.data?.solutions ?? [];
|
|
12
|
+
debugLog(`[fetchLibraryFolders] Parsed ${solutions.length} items`);
|
|
13
|
+
const result = solutions.map((s) => ({ id: s.library_id, name: s.name || s.library_id }));
|
|
14
|
+
debugLog(`[fetchLibraryFolders] Returning ${result.length} items`);
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
debugLog(`[fetchLibraryFolders] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
19
|
+
throw e;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export async function fetchUsersStandalone(orgId) {
|
|
23
|
+
debugLog(`[fetchUsers] Starting request to /api/v1/users/organization/users${orgId ? ` (org=${orgId})` : ''}`);
|
|
24
|
+
try {
|
|
25
|
+
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
26
|
+
const response = await cloudRequest('GET', '/api/v1/users/organization/users', undefined, headers);
|
|
27
|
+
debugLog(`[fetchUsers] Response status=${response.status}`);
|
|
28
|
+
const creds = loadCredentials();
|
|
29
|
+
const currentUserId = creds?.user?.id;
|
|
30
|
+
const currentUserEmail = creds?.user?.email;
|
|
31
|
+
// When querying a different org, don't prepend the current user
|
|
32
|
+
const isSameOrg = !orgId || orgId === creds?.org_id;
|
|
33
|
+
const orgUsers = response.data?.users ?? [];
|
|
34
|
+
const users = [
|
|
35
|
+
// Current user first (only when querying own org)
|
|
36
|
+
...(isSameOrg && currentUserId && currentUserEmail ? [{
|
|
37
|
+
id: currentUserId,
|
|
38
|
+
email: currentUserEmail,
|
|
39
|
+
isCurrentUser: true,
|
|
40
|
+
}] : []),
|
|
41
|
+
...orgUsers.map((u) => ({
|
|
42
|
+
id: u.id,
|
|
43
|
+
email: u.email,
|
|
44
|
+
isCurrentUser: false,
|
|
45
|
+
})),
|
|
46
|
+
];
|
|
47
|
+
debugLog(`[fetchUsers] Returning ${users.length} users`);
|
|
48
|
+
return users;
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
debugLog(`[fetchUsers] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
52
|
+
throw e;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export async function fetchFoldersStandalone(userId, orgId) {
|
|
56
|
+
debugLog(`[fetchFolders] Starting request for user=${userId}${orgId ? ` (org=${orgId})` : ''}`);
|
|
57
|
+
try {
|
|
58
|
+
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
59
|
+
const userPath = `/workspace/users/${userId}`;
|
|
60
|
+
const response = await cloudRequest('GET', `/api/v2/workspace/tree?path=${encodeURIComponent(userPath)}`, undefined, headers);
|
|
61
|
+
debugLog(`[fetchFolders] Response status=${response.status}`);
|
|
62
|
+
const items = response.data?.items ?? [];
|
|
63
|
+
// Only include directories
|
|
64
|
+
const folders = items
|
|
65
|
+
.filter((item) => item.type === 'directory')
|
|
66
|
+
.map((item) => ({
|
|
67
|
+
path: item.name,
|
|
68
|
+
itemCount: item.items ?? 0,
|
|
69
|
+
}));
|
|
70
|
+
debugLog(`[fetchFolders] Returning ${folders.length} folders`);
|
|
71
|
+
return folders;
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
debugLog(`[fetchFolders] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// ── React hook (wraps standalone fetchers for backward compat) ─────────
|
|
4
79
|
export function useSyncFetchers() {
|
|
5
|
-
const fetchLibraryFolders = useCallback(
|
|
6
|
-
|
|
7
|
-
try {
|
|
8
|
-
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
9
|
-
const response = await cloudRequest('GET', '/api/v2/solution-library', undefined, headers);
|
|
10
|
-
debugLog(`[fetchLibraryFolders] Response status=${response.status}, data keys=${Object.keys(response.data || {})}`);
|
|
11
|
-
const solutions = response.data?.data?.solutions ?? [];
|
|
12
|
-
debugLog(`[fetchLibraryFolders] Parsed ${solutions.length} items`);
|
|
13
|
-
const result = solutions.map((s) => ({ id: s.library_id, name: s.name || s.library_id }));
|
|
14
|
-
debugLog(`[fetchLibraryFolders] Returning ${result.length} items`);
|
|
15
|
-
return result;
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
debugLog(`[fetchLibraryFolders] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
19
|
-
throw e;
|
|
20
|
-
}
|
|
21
|
-
}, []);
|
|
22
|
-
const fetchUsers = useCallback(async (orgId) => {
|
|
23
|
-
debugLog(`[fetchUsers] Starting request to /api/v1/users/organization/users${orgId ? ` (org=${orgId})` : ''}`);
|
|
24
|
-
try {
|
|
25
|
-
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
26
|
-
const response = await cloudRequest('GET', '/api/v1/users/organization/users', undefined, headers);
|
|
27
|
-
debugLog(`[fetchUsers] Response status=${response.status}`);
|
|
28
|
-
const creds = loadCredentials();
|
|
29
|
-
const currentUserId = creds?.user?.id;
|
|
30
|
-
const currentUserEmail = creds?.user?.email;
|
|
31
|
-
// When querying a different org, don't prepend the current user
|
|
32
|
-
const isSameOrg = !orgId || orgId === creds?.org_id;
|
|
33
|
-
const orgUsers = response.data?.users ?? [];
|
|
34
|
-
const users = [
|
|
35
|
-
// Current user first (only when querying own org)
|
|
36
|
-
...(isSameOrg && currentUserId && currentUserEmail ? [{
|
|
37
|
-
id: currentUserId,
|
|
38
|
-
email: currentUserEmail,
|
|
39
|
-
isCurrentUser: true,
|
|
40
|
-
}] : []),
|
|
41
|
-
...orgUsers.map((u) => ({
|
|
42
|
-
id: u.id,
|
|
43
|
-
email: u.email,
|
|
44
|
-
isCurrentUser: false,
|
|
45
|
-
})),
|
|
46
|
-
];
|
|
47
|
-
debugLog(`[fetchUsers] Returning ${users.length} users`);
|
|
48
|
-
return users;
|
|
49
|
-
}
|
|
50
|
-
catch (e) {
|
|
51
|
-
debugLog(`[fetchUsers] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
52
|
-
throw e;
|
|
53
|
-
}
|
|
54
|
-
}, []);
|
|
80
|
+
const fetchLibraryFolders = useCallback((orgId) => fetchLibraryFoldersStandalone(orgId), []);
|
|
81
|
+
const fetchUsers = useCallback((orgId) => fetchUsersStandalone(orgId), []);
|
|
55
82
|
const fetchOrganizations = useCallback(async () => {
|
|
56
83
|
debugLog('[fetchOrganizations] Starting request to /api/v1/super-admin/organizations');
|
|
57
84
|
try {
|
|
@@ -72,29 +99,7 @@ export function useSyncFetchers() {
|
|
|
72
99
|
throw e;
|
|
73
100
|
}
|
|
74
101
|
}, []);
|
|
75
|
-
const fetchFolders = useCallback(
|
|
76
|
-
debugLog(`[fetchFolders] Starting request for user=${userId}${orgId ? ` (org=${orgId})` : ''}`);
|
|
77
|
-
try {
|
|
78
|
-
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
79
|
-
const userPath = `/workspace/users/${userId}`;
|
|
80
|
-
const response = await cloudRequest('GET', `/api/v2/workspace/tree?path=${encodeURIComponent(userPath)}`, undefined, headers);
|
|
81
|
-
debugLog(`[fetchFolders] Response status=${response.status}`);
|
|
82
|
-
const items = response.data?.items ?? [];
|
|
83
|
-
// Only include directories
|
|
84
|
-
const folders = items
|
|
85
|
-
.filter((item) => item.type === 'directory')
|
|
86
|
-
.map((item) => ({
|
|
87
|
-
path: item.name,
|
|
88
|
-
itemCount: item.items ?? 0,
|
|
89
|
-
}));
|
|
90
|
-
debugLog(`[fetchFolders] Returning ${folders.length} folders`);
|
|
91
|
-
return folders;
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
debugLog(`[fetchFolders] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
95
|
-
throw e;
|
|
96
|
-
}
|
|
97
|
-
}, []);
|
|
102
|
+
const fetchFolders = useCallback((userId, orgId) => fetchFoldersStandalone(userId, orgId), []);
|
|
98
103
|
// Get user role from credentials for super_admin features
|
|
99
104
|
const userRole = loadCredentials()?.user?.role;
|
|
100
105
|
return { fetchLibraryFolders, fetchUsers, fetchFolders, fetchOrganizations, userRole };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncFetchers.js","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"useSyncFetchers.js","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"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"}
|