centy 0.0.10 → 0.0.12
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/README.md +2 -14
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +3 -0
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/list/projects.d.ts.map +1 -1
- package/dist/commands/list/projects.js +11 -2
- package/dist/commands/list/projects.js.map +1 -1
- package/dist/commands/project/favorite.d.ts +16 -0
- package/dist/commands/project/favorite.d.ts.map +1 -0
- package/dist/commands/project/favorite.js +39 -0
- package/dist/commands/project/favorite.js.map +1 -0
- package/dist/daemon/daemon-set-project-favorite.d.ts +6 -0
- package/dist/daemon/daemon-set-project-favorite.d.ts.map +1 -0
- package/dist/daemon/daemon-set-project-favorite.js +17 -0
- package/dist/daemon/daemon-set-project-favorite.js.map +1 -0
- package/dist/daemon/load-proto.d.ts +2 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/types.d.ts +10 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +40 -4
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/domain/AssetList.d.ts +2 -0
- package/dist/tui/components/domain/AssetList.d.ts.map +1 -0
- package/dist/tui/components/domain/AssetList.js +58 -0
- package/dist/tui/components/domain/AssetList.js.map +1 -0
- package/dist/tui/components/domain/ConfigPanel.d.ts +2 -0
- package/dist/tui/components/domain/ConfigPanel.d.ts.map +1 -0
- package/dist/tui/components/domain/ConfigPanel.js +44 -0
- package/dist/tui/components/domain/ConfigPanel.js.map +1 -0
- package/dist/tui/components/domain/DocDetail.d.ts +2 -0
- package/dist/tui/components/domain/DocDetail.d.ts.map +1 -0
- package/dist/tui/components/domain/DocDetail.js +56 -0
- package/dist/tui/components/domain/DocDetail.js.map +1 -0
- package/dist/tui/components/domain/DocList.d.ts +2 -0
- package/dist/tui/components/domain/DocList.d.ts.map +1 -0
- package/dist/tui/components/domain/DocList.js +60 -0
- package/dist/tui/components/domain/DocList.js.map +1 -0
- package/dist/tui/components/domain/IssueDetail.d.ts +2 -0
- package/dist/tui/components/domain/IssueDetail.d.ts.map +1 -0
- package/dist/tui/components/domain/IssueDetail.js +106 -0
- package/dist/tui/components/domain/IssueDetail.js.map +1 -0
- package/dist/tui/components/domain/IssueList.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueList.js +33 -8
- package/dist/tui/components/domain/IssueList.js.map +1 -1
- package/dist/tui/components/domain/ProjectList.d.ts.map +1 -1
- package/dist/tui/components/domain/ProjectList.js +45 -9
- package/dist/tui/components/domain/ProjectList.js.map +1 -1
- package/dist/tui/hooks/useAssets.d.ts +7 -0
- package/dist/tui/hooks/useAssets.d.ts.map +1 -0
- package/dist/tui/hooks/useAssets.js +35 -0
- package/dist/tui/hooks/useAssets.js.map +1 -0
- package/dist/tui/hooks/useConfig.d.ts +6 -0
- package/dist/tui/hooks/useConfig.d.ts.map +1 -0
- package/dist/tui/hooks/useConfig.js +31 -0
- package/dist/tui/hooks/useConfig.js.map +1 -0
- package/dist/tui/hooks/useDocs.d.ts +12 -0
- package/dist/tui/hooks/useDocs.d.ts.map +1 -0
- package/dist/tui/hooks/useDocs.js +54 -0
- package/dist/tui/hooks/useDocs.js.map +1 -0
- package/dist/tui/hooks/useProjects.d.ts +1 -0
- package/dist/tui/hooks/useProjects.d.ts.map +1 -1
- package/dist/tui/hooks/useProjects.js +8 -0
- package/dist/tui/hooks/useProjects.js.map +1 -1
- package/dist/tui/services/daemon-service.d.ts +8 -1
- package/dist/tui/services/daemon-service.d.ts.map +1 -1
- package/dist/tui/services/daemon-service.js +64 -0
- package/dist/tui/services/daemon-service.js.map +1 -1
- package/dist/tui/state/app-state.d.ts +3 -0
- package/dist/tui/state/app-state.d.ts.map +1 -1
- package/dist/tui/state/app-state.js +5 -0
- package/dist/tui/state/app-state.js.map +1 -1
- package/oclif.manifest.json +40 -1
- package/package.json +1 -1
- package/proto/centy.proto +39 -9
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useAppState } from '../state/app-state.js';
|
|
3
|
+
import { daemonService } from '../services/daemon-service.js';
|
|
4
|
+
export function useDocs() {
|
|
5
|
+
const { state, dispatch } = useAppState();
|
|
6
|
+
const [selectedDoc, setSelectedDoc] = useState(null);
|
|
7
|
+
const [isLoadingDoc, setIsLoadingDoc] = useState(false);
|
|
8
|
+
const loadDocs = useCallback(async () => {
|
|
9
|
+
if (!state.daemonConnected || !state.selectedProjectPath)
|
|
10
|
+
return;
|
|
11
|
+
dispatch({ type: 'SET_LOADING', loading: true });
|
|
12
|
+
const result = await daemonService.listDocs(state.selectedProjectPath);
|
|
13
|
+
dispatch({ type: 'SET_LOADING', loading: false });
|
|
14
|
+
if (result.success && result.data) {
|
|
15
|
+
dispatch({ type: 'SET_DOCS', docs: result.data });
|
|
16
|
+
}
|
|
17
|
+
else if (result.error) {
|
|
18
|
+
dispatch({ type: 'SET_ERROR', error: result.error });
|
|
19
|
+
}
|
|
20
|
+
}, [state.daemonConnected, state.selectedProjectPath, dispatch]);
|
|
21
|
+
const selectDoc = useCallback((slug) => {
|
|
22
|
+
dispatch({ type: 'SELECT_DOC', slug });
|
|
23
|
+
}, [dispatch]);
|
|
24
|
+
const loadDoc = useCallback(async (slug) => {
|
|
25
|
+
if (!state.daemonConnected || !state.selectedProjectPath)
|
|
26
|
+
return;
|
|
27
|
+
setIsLoadingDoc(true);
|
|
28
|
+
const result = await daemonService.getDoc(state.selectedProjectPath, slug);
|
|
29
|
+
setIsLoadingDoc(false);
|
|
30
|
+
if (result.success && result.data) {
|
|
31
|
+
setSelectedDoc(result.data);
|
|
32
|
+
}
|
|
33
|
+
else if (result.error) {
|
|
34
|
+
dispatch({ type: 'SET_ERROR', error: result.error });
|
|
35
|
+
}
|
|
36
|
+
}, [state.daemonConnected, state.selectedProjectPath, dispatch]);
|
|
37
|
+
// Load docs when project is selected
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (state.selectedProjectPath) {
|
|
40
|
+
loadDocs();
|
|
41
|
+
}
|
|
42
|
+
}, [state.selectedProjectPath, loadDocs]);
|
|
43
|
+
return {
|
|
44
|
+
docs: state.docs,
|
|
45
|
+
selectedDocSlug: state.selectedDocSlug,
|
|
46
|
+
selectedDoc,
|
|
47
|
+
isLoading: state.isLoading,
|
|
48
|
+
isLoadingDoc,
|
|
49
|
+
loadDocs,
|
|
50
|
+
selectDoc,
|
|
51
|
+
loadDoc,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=useDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDocs.js","sourceRoot":"","sources":["../../../src/tui/hooks/useDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAG7D,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IACzC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,OAAM;QAEhE,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtE,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEhE,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,IAAmB,EAAE,EAAE;QACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,IAAY,EAAE,EAAE;QACrB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,OAAM;QAEhE,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;QAC1E,eAAe,CAAC,KAAK,CAAC,CAAA;QAEtB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAC7D,CAAA;IAED,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC9B,QAAQ,EAAE,CAAA;QACZ,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEzC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,WAAW;QACX,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjects.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useProjects.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW;;;;;0BAkBhB,MAAM;
|
|
1
|
+
{"version":3,"file":"useProjects.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useProjects.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW;;;;;0BAkBhB,MAAM;2BAOA,MAAM,cAAc,OAAO;EAyB3C"}
|
|
@@ -19,6 +19,13 @@ export function useProjects() {
|
|
|
19
19
|
const selectProject = useCallback((path) => {
|
|
20
20
|
dispatch({ type: 'SELECT_PROJECT', path });
|
|
21
21
|
}, [dispatch]);
|
|
22
|
+
const toggleFavorite = useCallback(async (path, isFavorite) => {
|
|
23
|
+
const result = await daemonService.setProjectFavorite(path, isFavorite);
|
|
24
|
+
if (result.success && result.data) {
|
|
25
|
+
// Update the project in the list
|
|
26
|
+
dispatch({ type: 'UPDATE_PROJECT', project: result.data });
|
|
27
|
+
}
|
|
28
|
+
}, [dispatch]);
|
|
22
29
|
// Load projects when daemon connects
|
|
23
30
|
useEffect(() => {
|
|
24
31
|
if (state.daemonConnected && state.projects.length === 0) {
|
|
@@ -31,6 +38,7 @@ export function useProjects() {
|
|
|
31
38
|
isLoading: state.isLoading,
|
|
32
39
|
loadProjects,
|
|
33
40
|
selectProject,
|
|
41
|
+
toggleFavorite,
|
|
34
42
|
};
|
|
35
43
|
}
|
|
36
44
|
//# sourceMappingURL=useProjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjects.js","sourceRoot":"","sources":["../../../src/tui/hooks/useProjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAEzC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAM;QAElC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACrD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAAY,EAAE,EAAE;QACf,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAEhE,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY;QACZ,aAAa;
|
|
1
|
+
{"version":3,"file":"useProjects.js","sourceRoot":"","sources":["../../../src/tui/hooks/useProjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAEzC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAM;QAElC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACrD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,IAAY,EAAE,EAAE;QACf,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,EAAE,IAAY,EAAE,UAAmB,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACvE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,iCAAiC;YACjC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAEhE,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY;QACZ,aAAa;QACb,cAAc;KACf,CAAA;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Unified daemon service layer for TUI
|
|
3
3
|
* Wraps existing daemon functions with a cleaner API
|
|
4
4
|
*/
|
|
5
|
-
import type { ProjectInfo, Issue, Doc, Config, DaemonInfo, ShutdownResponse, RestartResponse } from '../../daemon/types.js';
|
|
5
|
+
import type { ProjectInfo, Issue, Doc, Config, DaemonInfo, ShutdownResponse, RestartResponse, Asset } from '../../daemon/types.js';
|
|
6
6
|
export interface DaemonServiceResult<T> {
|
|
7
7
|
success: boolean;
|
|
8
8
|
data?: T;
|
|
@@ -23,6 +23,13 @@ export declare class DaemonService {
|
|
|
23
23
|
getDaemonInfo(): Promise<DaemonServiceResult<DaemonInfo>>;
|
|
24
24
|
shutdown(delaySeconds?: number): Promise<DaemonServiceResult<ShutdownResponse>>;
|
|
25
25
|
restart(delaySeconds?: number): Promise<DaemonServiceResult<RestartResponse>>;
|
|
26
|
+
setProjectFavorite(projectPath: string, isFavorite: boolean): Promise<DaemonServiceResult<ProjectInfo>>;
|
|
27
|
+
listAssets(projectPath: string, options?: {
|
|
28
|
+
issueId?: string;
|
|
29
|
+
includeShared?: boolean;
|
|
30
|
+
}): Promise<DaemonServiceResult<Asset[]>>;
|
|
31
|
+
getDoc(projectPath: string, slug: string): Promise<DaemonServiceResult<Doc>>;
|
|
32
|
+
getIssue(projectPath: string, issueId: string): Promise<DaemonServiceResult<Issue>>;
|
|
26
33
|
}
|
|
27
34
|
export declare const daemonService: DaemonService;
|
|
28
35
|
//# sourceMappingURL=daemon-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-service.d.ts","sourceRoot":"","sources":["../../../src/tui/services/daemon-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"daemon-service.d.ts","sourceRoot":"","sources":["../../../src/tui/services/daemon-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EACL,GAAG,EACH,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,uBAAuB,CAAA;AAE9B,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,aAAa;IAClB,eAAe,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlE,YAAY,CAChB,YAAY,UAAQ,GACnB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;IAaxC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;IAgBlC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC;IAYlE,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAYpE,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAazD,QAAQ,CACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAI3C,OAAO,CACX,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAI1C,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAqBtC,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACtD,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;IAgBlC,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAY9B,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;CAWvC;AAED,eAAO,MAAM,aAAa,eAAsB,CAAA"}
|
|
@@ -5,10 +5,14 @@
|
|
|
5
5
|
import { daemonListProjects } from '../../daemon/daemon-list-projects.js';
|
|
6
6
|
import { daemonListIssues } from '../../daemon/daemon-list-issues.js';
|
|
7
7
|
import { daemonListDocs } from '../../daemon/daemon-list-docs.js';
|
|
8
|
+
import { daemonListAssets } from '../../daemon/daemon-list-assets.js';
|
|
8
9
|
import { daemonGetConfig } from '../../daemon/daemon-get-config.js';
|
|
9
10
|
import { daemonGetDaemonInfo } from '../../daemon/daemon-get-daemon-info.js';
|
|
10
11
|
import { daemonControlService } from '../../daemon/daemon-control-service.js';
|
|
11
12
|
import { checkDaemonConnection } from '../../daemon/check-daemon-connection.js';
|
|
13
|
+
import { daemonSetProjectFavorite } from '../../daemon/daemon-set-project-favorite.js';
|
|
14
|
+
import { daemonGetDoc } from '../../daemon/daemon-get-doc.js';
|
|
15
|
+
import { daemonGetIssue } from '../../daemon/daemon-get-issue.js';
|
|
12
16
|
export class DaemonService {
|
|
13
17
|
async checkConnection() {
|
|
14
18
|
return checkDaemonConnection();
|
|
@@ -83,6 +87,66 @@ export class DaemonService {
|
|
|
83
87
|
async restart(delaySeconds) {
|
|
84
88
|
return daemonControlService.restart({ delaySeconds });
|
|
85
89
|
}
|
|
90
|
+
async setProjectFavorite(projectPath, isFavorite) {
|
|
91
|
+
try {
|
|
92
|
+
const response = await daemonSetProjectFavorite({
|
|
93
|
+
projectPath,
|
|
94
|
+
isFavorite,
|
|
95
|
+
});
|
|
96
|
+
if (!response.success) {
|
|
97
|
+
return { success: false, error: response.error };
|
|
98
|
+
}
|
|
99
|
+
return { success: true, data: response.project };
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
return {
|
|
103
|
+
success: false,
|
|
104
|
+
error: error instanceof Error
|
|
105
|
+
? error.message
|
|
106
|
+
: 'Failed to set project favorite',
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async listAssets(projectPath, options) {
|
|
111
|
+
try {
|
|
112
|
+
const response = await daemonListAssets({
|
|
113
|
+
projectPath,
|
|
114
|
+
issueId: options?.issueId,
|
|
115
|
+
includeShared: options?.includeShared ?? true,
|
|
116
|
+
});
|
|
117
|
+
return { success: true, data: response.assets };
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return {
|
|
121
|
+
success: false,
|
|
122
|
+
error: error instanceof Error ? error.message : 'Failed to list assets',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async getDoc(projectPath, slug) {
|
|
127
|
+
try {
|
|
128
|
+
const response = await daemonGetDoc({ projectPath, slug });
|
|
129
|
+
return { success: true, data: response };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
error: error instanceof Error ? error.message : 'Failed to get doc',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async getIssue(projectPath, issueId) {
|
|
139
|
+
try {
|
|
140
|
+
const response = await daemonGetIssue({ projectPath, issueId });
|
|
141
|
+
return { success: true, data: response };
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
return {
|
|
145
|
+
success: false,
|
|
146
|
+
error: error instanceof Error ? error.message : 'Failed to get issue',
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
86
150
|
}
|
|
87
151
|
export const daemonService = new DaemonService();
|
|
88
152
|
//# sourceMappingURL=daemon-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-service.js","sourceRoot":"","sources":["../../../src/tui/services/daemon-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"daemon-service.js","sourceRoot":"","sources":["../../../src/tui/services/daemon-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,KAAK,EACL,GAAG,EACH,WAAW,EACX,MAAM,EACN,UAAU,EACX,MAAM,uBAAuB,CAAA;AAE9B,MAAM,WAAW,QAAQ;IAEvB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;IAGxD,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAGlC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAG7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;IAGpB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAGpB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,11 @@ function appReducer(state, action) {
|
|
|
42
42
|
}
|
|
43
43
|
case 'SET_PROJECTS':
|
|
44
44
|
return { ...state, projects: action.projects };
|
|
45
|
+
case 'UPDATE_PROJECT':
|
|
46
|
+
return {
|
|
47
|
+
...state,
|
|
48
|
+
projects: state.projects.map(p => p.path === action.project.path ? action.project : p),
|
|
49
|
+
};
|
|
45
50
|
case 'SELECT_PROJECT':
|
|
46
51
|
return {
|
|
47
52
|
...state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,GAGX,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1051,6 +1051,45 @@
|
|
|
1051
1051
|
"projects.js"
|
|
1052
1052
|
]
|
|
1053
1053
|
},
|
|
1054
|
+
"project:favorite": {
|
|
1055
|
+
"aliases": [],
|
|
1056
|
+
"args": {
|
|
1057
|
+
"path": {
|
|
1058
|
+
"description": "Path to the project (defaults to current directory)",
|
|
1059
|
+
"name": "path",
|
|
1060
|
+
"required": false
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
"description": "Mark a project as favorite or unfavorite",
|
|
1064
|
+
"examples": [
|
|
1065
|
+
"<%= config.bin %> project favorite",
|
|
1066
|
+
"<%= config.bin %> project favorite /path/to/project",
|
|
1067
|
+
"<%= config.bin %> project favorite --off"
|
|
1068
|
+
],
|
|
1069
|
+
"flags": {
|
|
1070
|
+
"off": {
|
|
1071
|
+
"description": "Remove from favorites",
|
|
1072
|
+
"name": "off",
|
|
1073
|
+
"allowNo": false,
|
|
1074
|
+
"type": "boolean"
|
|
1075
|
+
}
|
|
1076
|
+
},
|
|
1077
|
+
"hasDynamicHelp": false,
|
|
1078
|
+
"hiddenAliases": [],
|
|
1079
|
+
"id": "project:favorite",
|
|
1080
|
+
"pluginAlias": "centy",
|
|
1081
|
+
"pluginName": "centy",
|
|
1082
|
+
"pluginType": "core",
|
|
1083
|
+
"strict": true,
|
|
1084
|
+
"enableJsonFlag": false,
|
|
1085
|
+
"isESM": true,
|
|
1086
|
+
"relativePath": [
|
|
1087
|
+
"dist",
|
|
1088
|
+
"commands",
|
|
1089
|
+
"project",
|
|
1090
|
+
"favorite.js"
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1054
1093
|
"register:project": {
|
|
1055
1094
|
"aliases": [],
|
|
1056
1095
|
"args": {
|
|
@@ -1244,5 +1283,5 @@
|
|
|
1244
1283
|
]
|
|
1245
1284
|
}
|
|
1246
1285
|
},
|
|
1247
|
-
"version": "0.0.
|
|
1286
|
+
"version": "0.0.12"
|
|
1248
1287
|
}
|
package/package.json
CHANGED
package/proto/centy.proto
CHANGED
|
@@ -40,6 +40,9 @@ service CentyDaemon {
|
|
|
40
40
|
// Read configuration
|
|
41
41
|
rpc GetConfig(GetConfigRequest) returns (Config);
|
|
42
42
|
|
|
43
|
+
// Update configuration
|
|
44
|
+
rpc UpdateConfig(UpdateConfigRequest) returns (UpdateConfigResponse);
|
|
45
|
+
|
|
43
46
|
// Check if centy is initialized in a directory
|
|
44
47
|
rpc IsInitialized(IsInitializedRequest) returns (IsInitializedResponse);
|
|
45
48
|
|
|
@@ -91,6 +94,9 @@ service CentyDaemon {
|
|
|
91
94
|
// Get info about a specific project
|
|
92
95
|
rpc GetProjectInfo(GetProjectInfoRequest) returns (GetProjectInfoResponse);
|
|
93
96
|
|
|
97
|
+
// Set project favorite status
|
|
98
|
+
rpc SetProjectFavorite(SetProjectFavoriteRequest) returns (SetProjectFavoriteResponse);
|
|
99
|
+
|
|
94
100
|
// ============ Version RPCs ============
|
|
95
101
|
|
|
96
102
|
// Get daemon version info
|
|
@@ -306,15 +312,6 @@ message Manifest {
|
|
|
306
312
|
string centy_version = 2;
|
|
307
313
|
string created_at = 3;
|
|
308
314
|
string updated_at = 4;
|
|
309
|
-
repeated ManagedFile managed_files = 5;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
message ManagedFile {
|
|
313
|
-
string path = 1;
|
|
314
|
-
string hash = 2;
|
|
315
|
-
string version = 3;
|
|
316
|
-
string created_at = 4;
|
|
317
|
-
FileType file_type = 5;
|
|
318
315
|
}
|
|
319
316
|
|
|
320
317
|
enum FileType {
|
|
@@ -343,6 +340,9 @@ message Config {
|
|
|
343
340
|
repeated string allowed_states = 4; // Allowed status values (default: ["open", "in-progress", "closed"])
|
|
344
341
|
string default_state = 5; // Default state for new issues (default: "open")
|
|
345
342
|
string version = 6; // Project version (semver, empty = daemon default)
|
|
343
|
+
map<string, string> state_colors = 7; // State name → hex color (e.g., "open" → "#10b981")
|
|
344
|
+
map<string, string> priority_colors = 8; // Priority level → hex color (e.g., "1" → "#ef4444")
|
|
345
|
+
LlmConfig llm = 9; // LLM-related settings
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
message CustomFieldDefinition {
|
|
@@ -353,6 +353,23 @@ message CustomFieldDefinition {
|
|
|
353
353
|
repeated string enum_values = 5; // For enum type
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
+
message LlmConfig {
|
|
357
|
+
bool auto_close_on_complete = 1; // Auto-close issues when marked complete by LLM
|
|
358
|
+
bool update_status_on_start = 2; // Update status to in-progress when LLM starts work
|
|
359
|
+
bool allow_direct_edits = 3; // Allow LLM to directly edit issue files
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
message UpdateConfigRequest {
|
|
363
|
+
string project_path = 1;
|
|
364
|
+
Config config = 2;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
message UpdateConfigResponse {
|
|
368
|
+
bool success = 1;
|
|
369
|
+
string error = 2;
|
|
370
|
+
Config config = 3; // The saved config (with any normalization applied)
|
|
371
|
+
}
|
|
372
|
+
|
|
356
373
|
// ============ Utility Messages ============
|
|
357
374
|
|
|
358
375
|
message IsInitializedRequest {
|
|
@@ -520,6 +537,7 @@ message ProjectInfo {
|
|
|
520
537
|
uint32 doc_count = 5; // Fetched live from .centy/docs/
|
|
521
538
|
bool initialized = 6; // Fetched live (manifest exists)
|
|
522
539
|
string name = 7; // Fetched live (directory name)
|
|
540
|
+
bool is_favorite = 8; // User-marked favorite status
|
|
523
541
|
}
|
|
524
542
|
|
|
525
543
|
message ListProjectsRequest {
|
|
@@ -559,6 +577,17 @@ message GetProjectInfoResponse {
|
|
|
559
577
|
ProjectInfo project = 2;
|
|
560
578
|
}
|
|
561
579
|
|
|
580
|
+
message SetProjectFavoriteRequest {
|
|
581
|
+
string project_path = 1;
|
|
582
|
+
bool is_favorite = 2;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
message SetProjectFavoriteResponse {
|
|
586
|
+
bool success = 1;
|
|
587
|
+
string error = 2;
|
|
588
|
+
ProjectInfo project = 3; // The updated project info
|
|
589
|
+
}
|
|
590
|
+
|
|
562
591
|
// ============ Version Messages ============
|
|
563
592
|
|
|
564
593
|
message GetDaemonInfoRequest {}
|
|
@@ -566,6 +595,7 @@ message GetDaemonInfoRequest {}
|
|
|
566
595
|
message DaemonInfo {
|
|
567
596
|
string version = 1; // Current daemon version (e.g., "0.1.0")
|
|
568
597
|
repeated string available_versions = 2; // All versions we can migrate to
|
|
598
|
+
string binary_path = 3; // Absolute path to the running daemon binary
|
|
569
599
|
}
|
|
570
600
|
|
|
571
601
|
message GetProjectVersionRequest {
|