obsidian-accomplishments-mcp 0.1.10 → 0.1.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 +156 -184
- package/dist/index.js +207 -38
- package/dist/index.js.map +1 -1
- package/dist/integration.test.d.ts +8 -0
- package/dist/integration.test.d.ts.map +1 -0
- package/dist/integration.test.js +979 -0
- package/dist/integration.test.js.map +1 -0
- package/dist/models/types.d.ts +1 -2
- package/dist/models/types.d.ts.map +1 -1
- package/dist/models/types.js.map +1 -1
- package/dist/models/v2-types.d.ts +460 -0
- package/dist/models/v2-types.d.ts.map +1 -0
- package/dist/models/v2-types.js +137 -0
- package/dist/models/v2-types.js.map +1 -0
- package/dist/models/v2-types.test.d.ts +5 -0
- package/dist/models/v2-types.test.d.ts.map +1 -0
- package/dist/models/v2-types.test.js +133 -0
- package/dist/models/v2-types.test.js.map +1 -0
- package/dist/parsers/canvas-parser.d.ts +1 -1
- package/dist/parsers/canvas-parser.d.ts.map +1 -1
- package/dist/parsers/canvas-parser.js +1 -1
- package/dist/parsers/canvas-parser.js.map +1 -1
- package/dist/parsers/markdown-parser.js +9 -9
- package/dist/parsers/markdown-parser.js.map +1 -1
- package/dist/services/v2/archive-manager.d.ts +96 -0
- package/dist/services/v2/archive-manager.d.ts.map +1 -0
- package/dist/services/v2/archive-manager.js +281 -0
- package/dist/services/v2/archive-manager.js.map +1 -0
- package/dist/services/v2/canvas-manager.d.ts +155 -0
- package/dist/services/v2/canvas-manager.d.ts.map +1 -0
- package/dist/services/v2/canvas-manager.js +540 -0
- package/dist/services/v2/canvas-manager.js.map +1 -0
- package/dist/services/v2/canvas-manager.test.d.ts +5 -0
- package/dist/services/v2/canvas-manager.test.d.ts.map +1 -0
- package/dist/services/v2/canvas-manager.test.js +327 -0
- package/dist/services/v2/canvas-manager.test.js.map +1 -0
- package/dist/services/v2/cascade-manager.d.ts +54 -0
- package/dist/services/v2/cascade-manager.d.ts.map +1 -0
- package/dist/services/v2/cascade-manager.js +220 -0
- package/dist/services/v2/cascade-manager.js.map +1 -0
- package/dist/services/v2/cycle-detector.d.ts +76 -0
- package/dist/services/v2/cycle-detector.d.ts.map +1 -0
- package/dist/services/v2/cycle-detector.js +183 -0
- package/dist/services/v2/cycle-detector.js.map +1 -0
- package/dist/services/v2/cycle-detector.test.d.ts +7 -0
- package/dist/services/v2/cycle-detector.test.d.ts.map +1 -0
- package/dist/services/v2/cycle-detector.test.js +125 -0
- package/dist/services/v2/cycle-detector.test.js.map +1 -0
- package/dist/services/v2/entity-parser.d.ts +54 -0
- package/dist/services/v2/entity-parser.d.ts.map +1 -0
- package/dist/services/v2/entity-parser.js +418 -0
- package/dist/services/v2/entity-parser.js.map +1 -0
- package/dist/services/v2/entity-parser.test.d.ts +5 -0
- package/dist/services/v2/entity-parser.test.d.ts.map +1 -0
- package/dist/services/v2/entity-parser.test.js +637 -0
- package/dist/services/v2/entity-parser.test.js.map +1 -0
- package/dist/services/v2/entity-serializer.d.ts +94 -0
- package/dist/services/v2/entity-serializer.d.ts.map +1 -0
- package/dist/services/v2/entity-serializer.js +583 -0
- package/dist/services/v2/entity-serializer.js.map +1 -0
- package/dist/services/v2/entity-serializer.test.d.ts +5 -0
- package/dist/services/v2/entity-serializer.test.d.ts.map +1 -0
- package/dist/services/v2/entity-serializer.test.js +241 -0
- package/dist/services/v2/entity-serializer.test.js.map +1 -0
- package/dist/services/v2/entity-validator.d.ts +65 -0
- package/dist/services/v2/entity-validator.d.ts.map +1 -0
- package/dist/services/v2/entity-validator.js +573 -0
- package/dist/services/v2/entity-validator.js.map +1 -0
- package/dist/services/v2/entity-validator.test.d.ts +5 -0
- package/dist/services/v2/entity-validator.test.d.ts.map +1 -0
- package/dist/services/v2/entity-validator.test.js +519 -0
- package/dist/services/v2/entity-validator.test.js.map +1 -0
- package/dist/services/v2/file-manager.d.ts +73 -0
- package/dist/services/v2/file-manager.d.ts.map +1 -0
- package/dist/services/v2/file-manager.js +310 -0
- package/dist/services/v2/file-manager.js.map +1 -0
- package/dist/services/v2/file-manager.test.d.ts +5 -0
- package/dist/services/v2/file-manager.test.d.ts.map +1 -0
- package/dist/services/v2/file-manager.test.js +339 -0
- package/dist/services/v2/file-manager.test.js.map +1 -0
- package/dist/services/v2/index-manager.d.ts +68 -0
- package/dist/services/v2/index-manager.d.ts.map +1 -0
- package/dist/services/v2/index-manager.js +228 -0
- package/dist/services/v2/index-manager.js.map +1 -0
- package/dist/services/v2/index-manager.test.d.ts +5 -0
- package/dist/services/v2/index-manager.test.d.ts.map +1 -0
- package/dist/services/v2/index-manager.test.js +386 -0
- package/dist/services/v2/index-manager.test.js.map +1 -0
- package/dist/services/v2/index-service.d.ts +82 -0
- package/dist/services/v2/index-service.d.ts.map +1 -0
- package/dist/services/v2/index-service.js +274 -0
- package/dist/services/v2/index-service.js.map +1 -0
- package/dist/services/v2/index-service.test.d.ts +5 -0
- package/dist/services/v2/index-service.test.d.ts.map +1 -0
- package/dist/services/v2/index-service.test.js +117 -0
- package/dist/services/v2/index-service.test.js.map +1 -0
- package/dist/services/v2/lifecycle-manager.d.ts +59 -0
- package/dist/services/v2/lifecycle-manager.d.ts.map +1 -0
- package/dist/services/v2/lifecycle-manager.js +310 -0
- package/dist/services/v2/lifecycle-manager.js.map +1 -0
- package/dist/services/v2/lifecycle-manager.test.d.ts +5 -0
- package/dist/services/v2/lifecycle-manager.test.d.ts.map +1 -0
- package/dist/services/v2/lifecycle-manager.test.js +141 -0
- package/dist/services/v2/lifecycle-manager.test.js.map +1 -0
- package/dist/services/v2/path-resolver.d.ts +64 -0
- package/dist/services/v2/path-resolver.d.ts.map +1 -0
- package/dist/services/v2/path-resolver.js +174 -0
- package/dist/services/v2/path-resolver.js.map +1 -0
- package/dist/services/v2/progress-computer.d.ts +46 -0
- package/dist/services/v2/progress-computer.d.ts.map +1 -0
- package/dist/services/v2/progress-computer.js +200 -0
- package/dist/services/v2/progress-computer.js.map +1 -0
- package/dist/services/v2/search-service.d.ts +68 -0
- package/dist/services/v2/search-service.d.ts.map +1 -0
- package/dist/services/v2/search-service.js +194 -0
- package/dist/services/v2/search-service.js.map +1 -0
- package/dist/services/v2/transitive-dependency-remover.d.ts +54 -0
- package/dist/services/v2/transitive-dependency-remover.d.ts.map +1 -0
- package/dist/services/v2/transitive-dependency-remover.js +156 -0
- package/dist/services/v2/transitive-dependency-remover.js.map +1 -0
- package/dist/services/v2/transitive-dependency-remover.test.d.ts +7 -0
- package/dist/services/v2/transitive-dependency-remover.test.d.ts.map +1 -0
- package/dist/services/v2/transitive-dependency-remover.test.js +119 -0
- package/dist/services/v2/transitive-dependency-remover.test.js.map +1 -0
- package/dist/services/v2/v2-runtime.d.ts +374 -0
- package/dist/services/v2/v2-runtime.d.ts.map +1 -0
- package/dist/services/v2/v2-runtime.js +1908 -0
- package/dist/services/v2/v2-runtime.js.map +1 -0
- package/dist/services/v2/v2-runtime.test.d.ts +5 -0
- package/dist/services/v2/v2-runtime.test.d.ts.map +1 -0
- package/dist/services/v2/v2-runtime.test.js +658 -0
- package/dist/services/v2/v2-runtime.test.js.map +1 -0
- package/dist/services/v2/workstream-normalizer.d.ts +59 -0
- package/dist/services/v2/workstream-normalizer.d.ts.map +1 -0
- package/dist/services/v2/workstream-normalizer.js +137 -0
- package/dist/services/v2/workstream-normalizer.js.map +1 -0
- package/dist/services/v2/workstream-normalizer.test.d.ts +7 -0
- package/dist/services/v2/workstream-normalizer.test.d.ts.map +1 -0
- package/dist/services/v2/workstream-normalizer.test.js +130 -0
- package/dist/services/v2/workstream-normalizer.test.js.map +1 -0
- package/dist/test-runner.d.ts +4 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +44 -249
- package/dist/test-runner.js.map +1 -1
- package/dist/tools/batch-operations-tools.d.ts +54 -0
- package/dist/tools/batch-operations-tools.d.ts.map +1 -0
- package/dist/tools/batch-operations-tools.js +370 -0
- package/dist/tools/batch-operations-tools.js.map +1 -0
- package/dist/tools/decision-document-tools.d.ts +78 -0
- package/dist/tools/decision-document-tools.d.ts.map +1 -0
- package/dist/tools/decision-document-tools.js +260 -0
- package/dist/tools/decision-document-tools.js.map +1 -0
- package/dist/tools/entity-management-tools.d.ts +79 -0
- package/dist/tools/entity-management-tools.d.ts.map +1 -0
- package/dist/tools/entity-management-tools.js +851 -0
- package/dist/tools/entity-management-tools.js.map +1 -0
- package/dist/tools/entity-management-tools.test.d.ts +5 -0
- package/dist/tools/entity-management-tools.test.d.ts.map +1 -0
- package/dist/tools/entity-management-tools.test.js +530 -0
- package/dist/tools/entity-management-tools.test.js.map +1 -0
- package/dist/tools/index.d.ts +15 -331
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +510 -47
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/index.test.d.ts +8 -0
- package/dist/tools/index.test.d.ts.map +1 -0
- package/dist/tools/index.test.js +429 -0
- package/dist/tools/index.test.js.map +1 -0
- package/dist/tools/project-understanding-tools.d.ts +75 -0
- package/dist/tools/project-understanding-tools.d.ts.map +1 -0
- package/dist/tools/project-understanding-tools.js +751 -0
- package/dist/tools/project-understanding-tools.js.map +1 -0
- package/dist/tools/search-navigation-tools.d.ts +77 -0
- package/dist/tools/search-navigation-tools.d.ts.map +1 -0
- package/dist/tools/search-navigation-tools.js +379 -0
- package/dist/tools/search-navigation-tools.js.map +1 -0
- package/dist/tools/tool-types.d.ts +703 -0
- package/dist/tools/tool-types.d.ts.map +1 -0
- package/dist/tools/tool-types.js +7 -0
- package/dist/tools/tool-types.js.map +1 -0
- package/dist/utils/config.d.ts +0 -4
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +2 -19
- package/dist/utils/config.js.map +1 -1
- package/package.json +16 -1
- package/dist/services/accomplishment-service.d.ts +0 -33
- package/dist/services/accomplishment-service.d.ts.map +0 -1
- package/dist/services/accomplishment-service.js +0 -296
- package/dist/services/accomplishment-service.js.map +0 -1
- package/dist/services/canvas-service.d.ts +0 -96
- package/dist/services/canvas-service.d.ts.map +0 -1
- package/dist/services/canvas-service.js +0 -231
- package/dist/services/canvas-service.js.map +0 -1
- package/dist/services/context-doc-service.d.ts +0 -70
- package/dist/services/context-doc-service.d.ts.map +0 -1
- package/dist/services/context-doc-service.js +0 -229
- package/dist/services/context-doc-service.js.map +0 -1
- package/dist/services/dependency-service.d.ts +0 -22
- package/dist/services/dependency-service.d.ts.map +0 -1
- package/dist/services/dependency-service.js +0 -99
- package/dist/services/dependency-service.js.map +0 -1
- package/dist/services/status-indicator-service.d.ts +0 -40
- package/dist/services/status-indicator-service.d.ts.map +0 -1
- package/dist/services/status-indicator-service.js +0 -173
- package/dist/services/status-indicator-service.js.map +0 -1
- package/dist/services/task-service.d.ts +0 -32
- package/dist/services/task-service.d.ts.map +0 -1
- package/dist/services/task-service.js +0 -152
- package/dist/services/task-service.js.map +0 -1
- package/dist/test-real-vault.d.ts +0 -6
- package/dist/test-real-vault.d.ts.map +0 -1
- package/dist/test-real-vault.js +0 -30
- package/dist/test-real-vault.js.map +0 -1
- package/dist/tools/batch-operations.d.ts +0 -246
- package/dist/tools/batch-operations.d.ts.map +0 -1
- package/dist/tools/batch-operations.js +0 -235
- package/dist/tools/batch-operations.js.map +0 -1
- package/dist/tools/get-accomplishment.d.ts +0 -42
- package/dist/tools/get-accomplishment.d.ts.map +0 -1
- package/dist/tools/get-accomplishment.js +0 -93
- package/dist/tools/get-accomplishment.js.map +0 -1
- package/dist/tools/get-accomplishments-graph.d.ts +0 -26
- package/dist/tools/get-accomplishments-graph.d.ts.map +0 -1
- package/dist/tools/get-accomplishments-graph.js +0 -137
- package/dist/tools/get-accomplishments-graph.js.map +0 -1
- package/dist/tools/get-blocked-items.d.ts +0 -15
- package/dist/tools/get-blocked-items.d.ts.map +0 -1
- package/dist/tools/get-blocked-items.js +0 -73
- package/dist/tools/get-blocked-items.js.map +0 -1
- package/dist/tools/get-current-work.d.ts +0 -15
- package/dist/tools/get-current-work.d.ts.map +0 -1
- package/dist/tools/get-current-work.js +0 -68
- package/dist/tools/get-current-work.js.map +0 -1
- package/dist/tools/get-project-status.d.ts +0 -26
- package/dist/tools/get-project-status.d.ts.map +0 -1
- package/dist/tools/get-project-status.js +0 -98
- package/dist/tools/get-project-status.js.map +0 -1
- package/dist/tools/get-ready-to-start.d.ts +0 -15
- package/dist/tools/get-ready-to-start.d.ts.map +0 -1
- package/dist/tools/get-ready-to-start.js +0 -47
- package/dist/tools/get-ready-to-start.js.map +0 -1
- package/dist/tools/list-accomplishments.d.ts +0 -42
- package/dist/tools/list-accomplishments.d.ts.map +0 -1
- package/dist/tools/list-accomplishments.js +0 -40
- package/dist/tools/list-accomplishments.js.map +0 -1
- package/dist/tools/manage-accomplishment.d.ts +0 -147
- package/dist/tools/manage-accomplishment.d.ts.map +0 -1
- package/dist/tools/manage-accomplishment.js +0 -153
- package/dist/tools/manage-accomplishment.js.map +0 -1
- package/dist/tools/manage-dependency.d.ts +0 -41
- package/dist/tools/manage-dependency.d.ts.map +0 -1
- package/dist/tools/manage-dependency.js +0 -66
- package/dist/tools/manage-dependency.js.map +0 -1
- package/dist/tools/manage-task.d.ts +0 -119
- package/dist/tools/manage-task.d.ts.map +0 -1
- package/dist/tools/manage-task.js +0 -126
- package/dist/tools/manage-task.js.map +0 -1
- package/dist/tools/reconcile-canvas.d.ts +0 -33
- package/dist/tools/reconcile-canvas.d.ts.map +0 -1
- package/dist/tools/reconcile-canvas.js +0 -41
- package/dist/tools/reconcile-canvas.js.map +0 -1
- package/dist/tools/set-work-focus.d.ts +0 -48
- package/dist/tools/set-work-focus.d.ts.map +0 -1
- package/dist/tools/set-work-focus.js +0 -78
- package/dist/tools/set-work-focus.js.map +0 -1
- package/dist/tools/sync-dependencies.d.ts +0 -33
- package/dist/tools/sync-dependencies.d.ts.map +0 -1
- package/dist/tools/sync-dependencies.js +0 -144
- package/dist/tools/sync-dependencies.js.map +0 -1
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const getAccomplishmentsGraphSchema: z.ZodObject<{
|
|
4
|
-
canvas_source: z.ZodOptional<z.ZodString>;
|
|
5
|
-
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
canvas_source?: string | undefined;
|
|
7
|
-
}, {
|
|
8
|
-
canvas_source?: string | undefined;
|
|
9
|
-
}>;
|
|
10
|
-
export type GetAccomplishmentsGraphInput = z.infer<typeof getAccomplishmentsGraphSchema>;
|
|
11
|
-
export declare const getAccomplishmentsGraphDefinition: {
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
inputSchema: {
|
|
15
|
-
type: string;
|
|
16
|
-
properties: {
|
|
17
|
-
canvas_source: {
|
|
18
|
-
type: string;
|
|
19
|
-
description: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
required: never[];
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
export declare function handleGetAccomplishmentsGraph(config: Config, input: GetAccomplishmentsGraphInput): Promise<unknown>;
|
|
26
|
-
//# sourceMappingURL=get-accomplishments-graph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-accomplishments-graph.d.ts","sourceRoot":"","sources":["../../src/tools/get-accomplishments-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAK5C,eAAO,MAAM,6BAA6B;;;;;;EAExC,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEzF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;CAa7C,CAAC;AA0EF,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,OAAO,CAAC,CA+FlB"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { listAllAccomplishments } from '../services/accomplishment-service.js';
|
|
3
|
-
import { generateTaskId } from '../parsers/markdown-parser.js';
|
|
4
|
-
// Schema for the tool
|
|
5
|
-
export const getAccomplishmentsGraphSchema = z.object({
|
|
6
|
-
canvas_source: z.string().optional(),
|
|
7
|
-
});
|
|
8
|
-
export const getAccomplishmentsGraphDefinition = {
|
|
9
|
-
name: 'get_accomplishments_graph',
|
|
10
|
-
description: 'Get the dependency graph of accomplishments with connected component analysis. Returns the main (largest) connected graph and any orphaned graphs (disconnected components). Each node contains a map of task IDs to task names. Single unconnected nodes are also returned as orphaned graphs.',
|
|
11
|
-
inputSchema: {
|
|
12
|
-
type: 'object',
|
|
13
|
-
properties: {
|
|
14
|
-
canvas_source: {
|
|
15
|
-
type: 'string',
|
|
16
|
-
description: 'Canvas file path to filter by (optional, defaults to all)',
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
required: [],
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Find connected components using Union-Find algorithm
|
|
24
|
-
*/
|
|
25
|
-
function findConnectedComponents(nodeIds, edges) {
|
|
26
|
-
// Initialize: each node is its own parent
|
|
27
|
-
const parent = new Map();
|
|
28
|
-
for (const id of nodeIds) {
|
|
29
|
-
parent.set(id, id);
|
|
30
|
-
}
|
|
31
|
-
// Find root with path compression
|
|
32
|
-
function find(x) {
|
|
33
|
-
if (parent.get(x) !== x) {
|
|
34
|
-
parent.set(x, find(parent.get(x)));
|
|
35
|
-
}
|
|
36
|
-
return parent.get(x);
|
|
37
|
-
}
|
|
38
|
-
// Union two nodes
|
|
39
|
-
function union(x, y) {
|
|
40
|
-
const rootX = find(x);
|
|
41
|
-
const rootY = find(y);
|
|
42
|
-
if (rootX !== rootY) {
|
|
43
|
-
parent.set(rootX, rootY);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Union all connected nodes via edges
|
|
47
|
-
for (const edge of edges) {
|
|
48
|
-
union(edge.from, edge.to);
|
|
49
|
-
}
|
|
50
|
-
// Group nodes by their root
|
|
51
|
-
const components = new Map();
|
|
52
|
-
for (const id of nodeIds) {
|
|
53
|
-
const root = find(id);
|
|
54
|
-
if (!components.has(root)) {
|
|
55
|
-
components.set(root, new Set());
|
|
56
|
-
}
|
|
57
|
-
components.get(root).add(id);
|
|
58
|
-
}
|
|
59
|
-
return components;
|
|
60
|
-
}
|
|
61
|
-
export async function handleGetAccomplishmentsGraph(config, input) {
|
|
62
|
-
let accomplishments = await listAllAccomplishments(config);
|
|
63
|
-
// Filter by canvas source if provided
|
|
64
|
-
if (input.canvas_source) {
|
|
65
|
-
accomplishments = accomplishments.filter(a => a.frontmatter.canvas_source === input.canvas_source);
|
|
66
|
-
}
|
|
67
|
-
const allNodes = [];
|
|
68
|
-
const allEdges = [];
|
|
69
|
-
const nodeMap = new Map();
|
|
70
|
-
const nodeIds = new Set();
|
|
71
|
-
// Build nodes
|
|
72
|
-
for (const acc of accomplishments) {
|
|
73
|
-
const accId = acc.frontmatter.id;
|
|
74
|
-
nodeIds.add(accId);
|
|
75
|
-
// Build task map: task_id -> task_name
|
|
76
|
-
const tasks = {};
|
|
77
|
-
for (const task of acc.tasks) {
|
|
78
|
-
const taskId = generateTaskId(accId, task);
|
|
79
|
-
tasks[taskId] = task.name;
|
|
80
|
-
}
|
|
81
|
-
const node = {
|
|
82
|
-
id: accId,
|
|
83
|
-
title: acc.frontmatter.title,
|
|
84
|
-
status: acc.frontmatter.status,
|
|
85
|
-
priority: acc.frontmatter.priority,
|
|
86
|
-
effort: acc.frontmatter.effort,
|
|
87
|
-
is_blocked: acc.is_blocked || false,
|
|
88
|
-
in_progress: acc.frontmatter.inProgress,
|
|
89
|
-
updated: acc.frontmatter.updated,
|
|
90
|
-
tasks,
|
|
91
|
-
};
|
|
92
|
-
allNodes.push(node);
|
|
93
|
-
nodeMap.set(accId, node);
|
|
94
|
-
}
|
|
95
|
-
// Build edges from depends_on relationships
|
|
96
|
-
for (const acc of accomplishments) {
|
|
97
|
-
const blockedId = acc.frontmatter.id;
|
|
98
|
-
for (const blockerId of acc.frontmatter.depends_on) {
|
|
99
|
-
// Only add edge if both nodes exist in our filtered set
|
|
100
|
-
if (nodeIds.has(blockerId)) {
|
|
101
|
-
allEdges.push({
|
|
102
|
-
from: blockerId,
|
|
103
|
-
to: blockedId,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// Find connected components
|
|
109
|
-
const components = findConnectedComponents(Array.from(nodeIds), allEdges);
|
|
110
|
-
// Convert components to graphs and find the largest
|
|
111
|
-
const graphs = [];
|
|
112
|
-
for (const [, componentNodeIds] of components) {
|
|
113
|
-
const componentNodes = Array.from(componentNodeIds)
|
|
114
|
-
.map(id => nodeMap.get(id))
|
|
115
|
-
.filter(Boolean);
|
|
116
|
-
const componentEdges = allEdges.filter(edge => componentNodeIds.has(edge.from) && componentNodeIds.has(edge.to));
|
|
117
|
-
graphs.push({
|
|
118
|
-
node_count: componentNodes.length,
|
|
119
|
-
edge_count: componentEdges.length,
|
|
120
|
-
nodes: componentNodes,
|
|
121
|
-
edges: componentEdges,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
// Sort by node count descending to find the largest
|
|
125
|
-
graphs.sort((a, b) => b.node_count - a.node_count);
|
|
126
|
-
// The largest graph is the main graph, rest are orphaned
|
|
127
|
-
const mainGraph = graphs[0] || { node_count: 0, edge_count: 0, nodes: [], edges: [] };
|
|
128
|
-
const orphanedGraphs = graphs.slice(1);
|
|
129
|
-
return {
|
|
130
|
-
total_node_count: allNodes.length,
|
|
131
|
-
total_edge_count: allEdges.length,
|
|
132
|
-
main_graph: mainGraph,
|
|
133
|
-
orphaned_graphs: orphanedGraphs,
|
|
134
|
-
orphaned_graph_count: orphanedGraphs.length,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=get-accomplishments-graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-accomplishments-graph.js","sourceRoot":"","sources":["../../src/tools/get-accomplishments-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const getBlockedItemsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
4
|
-
export type GetBlockedItemsInput = z.infer<typeof getBlockedItemsSchema>;
|
|
5
|
-
export declare const getBlockedItemsDefinition: {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string;
|
|
8
|
-
inputSchema: {
|
|
9
|
-
type: string;
|
|
10
|
-
properties: {};
|
|
11
|
-
required: never[];
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare function handleGetBlockedItems(config: Config, _input: GetBlockedItemsInput): Promise<unknown>;
|
|
15
|
-
//# sourceMappingURL=get-blocked-items.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-blocked-items.d.ts","sourceRoot":"","sources":["../../src/tools/get-blocked-items.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,eAAO,MAAM,qBAAqB,gDAAe,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,OAAO,CAAC,CA4ElB"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { listAllAccomplishments } from '../services/accomplishment-service.js';
|
|
3
|
-
// Schema for the tool (no parameters)
|
|
4
|
-
export const getBlockedItemsSchema = z.object({});
|
|
5
|
-
export const getBlockedItemsDefinition = {
|
|
6
|
-
name: 'get_blocked_items',
|
|
7
|
-
description: 'Get all accomplishments that are blocked by incomplete dependencies. Shows what cannot be started yet and what is blocking them.',
|
|
8
|
-
inputSchema: {
|
|
9
|
-
type: 'object',
|
|
10
|
-
properties: {},
|
|
11
|
-
required: [],
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export async function handleGetBlockedItems(config, _input) {
|
|
15
|
-
const allAccomplishments = await listAllAccomplishments(config);
|
|
16
|
-
// Build a map of accomplishment IDs to their status
|
|
17
|
-
const statusMap = new Map();
|
|
18
|
-
for (const acc of allAccomplishments) {
|
|
19
|
-
statusMap.set(acc.frontmatter.id, {
|
|
20
|
-
title: acc.frontmatter.title,
|
|
21
|
-
status: acc.frontmatter.status,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
// Find blocked accomplishments
|
|
25
|
-
const blockedItems = [];
|
|
26
|
-
for (const acc of allAccomplishments) {
|
|
27
|
-
if (!acc.is_blocked)
|
|
28
|
-
continue;
|
|
29
|
-
// Find which dependencies are incomplete
|
|
30
|
-
const blockingItems = [];
|
|
31
|
-
for (const depId of acc.frontmatter.depends_on) {
|
|
32
|
-
const depInfo = statusMap.get(depId);
|
|
33
|
-
if (depInfo && depInfo.status !== 'Completed') {
|
|
34
|
-
blockingItems.push({
|
|
35
|
-
id: depId,
|
|
36
|
-
title: depInfo.title,
|
|
37
|
-
status: depInfo.status,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
else if (!depInfo) {
|
|
41
|
-
// Dependency not found - still blocking
|
|
42
|
-
blockingItems.push({
|
|
43
|
-
id: depId,
|
|
44
|
-
title: '(not found)',
|
|
45
|
-
status: 'unknown',
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
if (blockingItems.length > 0) {
|
|
50
|
-
blockedItems.push({
|
|
51
|
-
id: acc.frontmatter.id,
|
|
52
|
-
title: acc.frontmatter.title,
|
|
53
|
-
status: acc.frontmatter.status,
|
|
54
|
-
priority: acc.frontmatter.priority,
|
|
55
|
-
effort: acc.frontmatter.effort,
|
|
56
|
-
updated: acc.frontmatter.updated,
|
|
57
|
-
blocking_items: blockingItems,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// Sort by priority (Critical > High > Medium > Low)
|
|
62
|
-
const priorityOrder = { Critical: 0, High: 1, Medium: 2, Low: 3 };
|
|
63
|
-
blockedItems.sort((a, b) => {
|
|
64
|
-
const aOrder = priorityOrder[a.priority] ?? 4;
|
|
65
|
-
const bOrder = priorityOrder[b.priority] ?? 4;
|
|
66
|
-
return aOrder - bOrder;
|
|
67
|
-
});
|
|
68
|
-
return {
|
|
69
|
-
count: blockedItems.length,
|
|
70
|
-
blocked_items: blockedItems,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=get-blocked-items.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-blocked-items.js","sourceRoot":"","sources":["../../src/tools/get-blocked-items.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const getCurrentWorkSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
4
|
-
export type GetCurrentWorkInput = z.infer<typeof getCurrentWorkSchema>;
|
|
5
|
-
export declare const getCurrentWorkDefinition: {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string;
|
|
8
|
-
inputSchema: {
|
|
9
|
-
type: string;
|
|
10
|
-
properties: {};
|
|
11
|
-
required: never[];
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare function handleGetCurrentWork(config: Config, _input: GetCurrentWorkInput): Promise<unknown>;
|
|
15
|
-
//# sourceMappingURL=get-current-work.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-current-work.d.ts","sourceRoot":"","sources":["../../src/tools/get-current-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAK5C,eAAO,MAAM,oBAAoB,gDAAe,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,wBAAwB;;;;;;;;CAQpC,CAAC;AAEF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAoElB"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { listAllAccomplishments } from '../services/accomplishment-service.js';
|
|
3
|
-
import { generateTaskId } from '../parsers/markdown-parser.js';
|
|
4
|
-
// Schema for the tool (no parameters)
|
|
5
|
-
export const getCurrentWorkSchema = z.object({});
|
|
6
|
-
export const getCurrentWorkDefinition = {
|
|
7
|
-
name: 'get_current_work',
|
|
8
|
-
description: 'Get all accomplishments with inProgress=true and all tasks with status=InProgress. Shows what is currently being actively worked on.',
|
|
9
|
-
inputSchema: {
|
|
10
|
-
type: 'object',
|
|
11
|
-
properties: {},
|
|
12
|
-
required: [],
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
export async function handleGetCurrentWork(config, _input) {
|
|
16
|
-
const allAccomplishments = await listAllAccomplishments(config);
|
|
17
|
-
// Filter accomplishments that are in progress
|
|
18
|
-
const inProgressAccomplishments = allAccomplishments.filter(a => a.frontmatter.inProgress);
|
|
19
|
-
// Build response with accomplishments and their in-progress tasks
|
|
20
|
-
const accomplishments = inProgressAccomplishments.map(acc => {
|
|
21
|
-
const inProgressTasks = acc.tasks
|
|
22
|
-
.filter(t => t.status === 'InProgress')
|
|
23
|
-
.map(t => ({
|
|
24
|
-
task_id: generateTaskId(acc.frontmatter.id, t),
|
|
25
|
-
number: t.number,
|
|
26
|
-
name: t.name,
|
|
27
|
-
goal: t.goal,
|
|
28
|
-
estimate: t.estimate,
|
|
29
|
-
}));
|
|
30
|
-
return {
|
|
31
|
-
id: acc.frontmatter.id,
|
|
32
|
-
title: acc.frontmatter.title,
|
|
33
|
-
status: acc.frontmatter.status,
|
|
34
|
-
priority: acc.frontmatter.priority,
|
|
35
|
-
effort: acc.frontmatter.effort,
|
|
36
|
-
updated: acc.frontmatter.updated,
|
|
37
|
-
tasks_in_progress: inProgressTasks,
|
|
38
|
-
total_tasks: acc.tasks.length,
|
|
39
|
-
completed_tasks: acc.tasks.filter(t => t.status === 'Complete').length,
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
// Also find any InProgress tasks in accomplishments that aren't marked inProgress
|
|
43
|
-
// (edge case, but good to surface)
|
|
44
|
-
const orphanedInProgressTasks = [];
|
|
45
|
-
for (const acc of allAccomplishments) {
|
|
46
|
-
if (!acc.frontmatter.inProgress) {
|
|
47
|
-
for (const task of acc.tasks) {
|
|
48
|
-
if (task.status === 'InProgress') {
|
|
49
|
-
orphanedInProgressTasks.push({
|
|
50
|
-
accomplishment_id: acc.frontmatter.id,
|
|
51
|
-
accomplishment_title: acc.frontmatter.title,
|
|
52
|
-
task_id: generateTaskId(acc.frontmatter.id, task),
|
|
53
|
-
task_name: task.name,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
accomplishments,
|
|
61
|
-
orphaned_in_progress_tasks: orphanedInProgressTasks,
|
|
62
|
-
summary: {
|
|
63
|
-
accomplishments_in_progress: accomplishments.length,
|
|
64
|
-
total_tasks_in_progress: accomplishments.reduce((sum, a) => sum + a.tasks_in_progress.length, 0) + orphanedInProgressTasks.length,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=get-current-work.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-current-work.js","sourceRoot":"","sources":["../../src/tools/get-current-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const getProjectStatusSchema: z.ZodObject<{
|
|
4
|
-
canvas_source: z.ZodOptional<z.ZodString>;
|
|
5
|
-
}, "strip", z.ZodTypeAny, {
|
|
6
|
-
canvas_source?: string | undefined;
|
|
7
|
-
}, {
|
|
8
|
-
canvas_source?: string | undefined;
|
|
9
|
-
}>;
|
|
10
|
-
export type GetProjectStatusInput = z.infer<typeof getProjectStatusSchema>;
|
|
11
|
-
export declare const getProjectStatusDefinition: {
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
inputSchema: {
|
|
15
|
-
type: string;
|
|
16
|
-
properties: {
|
|
17
|
-
canvas_source: {
|
|
18
|
-
type: string;
|
|
19
|
-
description: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
required: never[];
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
export declare function handleGetProjectStatus(config: Config, input: GetProjectStatusInput): Promise<unknown>;
|
|
26
|
-
//# sourceMappingURL=get-project-status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-project-status.d.ts","sourceRoot":"","sources":["../../src/tools/get-project-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAatC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,OAAO,CAAC,CA2FlB"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { listAllAccomplishments } from '../services/accomplishment-service.js';
|
|
3
|
-
// Schema for the tool
|
|
4
|
-
export const getProjectStatusSchema = z.object({
|
|
5
|
-
canvas_source: z.string().optional(),
|
|
6
|
-
});
|
|
7
|
-
export const getProjectStatusDefinition = {
|
|
8
|
-
name: 'get_project_status',
|
|
9
|
-
description: 'Get project overview and statistics: counts by status, effort type, blocked items, ready to start, and task progress.',
|
|
10
|
-
inputSchema: {
|
|
11
|
-
type: 'object',
|
|
12
|
-
properties: {
|
|
13
|
-
canvas_source: {
|
|
14
|
-
type: 'string',
|
|
15
|
-
description: 'Canvas file path to filter by (optional, defaults to all)',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
required: [],
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
export async function handleGetProjectStatus(config, input) {
|
|
22
|
-
let accomplishments = await listAllAccomplishments(config);
|
|
23
|
-
// Filter by canvas source if provided
|
|
24
|
-
if (input.canvas_source) {
|
|
25
|
-
accomplishments = accomplishments.filter(a => a.frontmatter.canvas_source === input.canvas_source);
|
|
26
|
-
}
|
|
27
|
-
// Count by status
|
|
28
|
-
const byStatus = {
|
|
29
|
-
'Not Started': 0,
|
|
30
|
-
'In Progress': 0,
|
|
31
|
-
'Completed': 0,
|
|
32
|
-
'Blocked': 0,
|
|
33
|
-
};
|
|
34
|
-
// Count by effort
|
|
35
|
-
const byEffort = {
|
|
36
|
-
Business: 0,
|
|
37
|
-
Engineering: 0,
|
|
38
|
-
Infra: 0,
|
|
39
|
-
Research: 0,
|
|
40
|
-
};
|
|
41
|
-
// Count by priority
|
|
42
|
-
const byPriority = {
|
|
43
|
-
Critical: 0,
|
|
44
|
-
High: 0,
|
|
45
|
-
Medium: 0,
|
|
46
|
-
Low: 0,
|
|
47
|
-
};
|
|
48
|
-
let blockedCount = 0;
|
|
49
|
-
let readyToStartCount = 0;
|
|
50
|
-
let inProgressCount = 0;
|
|
51
|
-
let totalTasks = 0;
|
|
52
|
-
let completedTasks = 0;
|
|
53
|
-
let lastUpdated = null;
|
|
54
|
-
for (const acc of accomplishments) {
|
|
55
|
-
// Track most recent update
|
|
56
|
-
if (!lastUpdated || acc.frontmatter.updated > lastUpdated) {
|
|
57
|
-
lastUpdated = acc.frontmatter.updated;
|
|
58
|
-
}
|
|
59
|
-
// Status counts
|
|
60
|
-
byStatus[acc.frontmatter.status] = (byStatus[acc.frontmatter.status] || 0) + 1;
|
|
61
|
-
// Effort counts
|
|
62
|
-
byEffort[acc.frontmatter.effort] = (byEffort[acc.frontmatter.effort] || 0) + 1;
|
|
63
|
-
// Priority counts
|
|
64
|
-
byPriority[acc.frontmatter.priority] = (byPriority[acc.frontmatter.priority] || 0) + 1;
|
|
65
|
-
// Blocked count
|
|
66
|
-
if (acc.is_blocked) {
|
|
67
|
-
blockedCount++;
|
|
68
|
-
}
|
|
69
|
-
// Ready to start count
|
|
70
|
-
if (acc.frontmatter.status === 'Not Started' && !acc.is_blocked) {
|
|
71
|
-
readyToStartCount++;
|
|
72
|
-
}
|
|
73
|
-
// In progress count
|
|
74
|
-
if (acc.frontmatter.inProgress) {
|
|
75
|
-
inProgressCount++;
|
|
76
|
-
}
|
|
77
|
-
// Task counts
|
|
78
|
-
totalTasks += acc.tasks.length;
|
|
79
|
-
completedTasks += acc.tasks.filter(t => t.status === 'Complete').length;
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
canvas_source: input.canvas_source || config.defaultCanvas,
|
|
83
|
-
total_accomplishments: accomplishments.length,
|
|
84
|
-
by_status: byStatus,
|
|
85
|
-
by_effort: byEffort,
|
|
86
|
-
by_priority: byPriority,
|
|
87
|
-
blocked_count: blockedCount,
|
|
88
|
-
ready_to_start_count: readyToStartCount,
|
|
89
|
-
in_progress_count: inProgressCount,
|
|
90
|
-
total_tasks: totalTasks,
|
|
91
|
-
completed_tasks: completedTasks,
|
|
92
|
-
task_completion_percentage: totalTasks > 0
|
|
93
|
-
? Math.round((completedTasks / totalTasks) * 100)
|
|
94
|
-
: 0,
|
|
95
|
-
last_updated: lastUpdated,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=get-project-status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-project-status.js","sourceRoot":"","sources":["../../src/tools/get-project-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uHAAuH;IACpI,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,KAA4B;IAE5B,IAAI,eAAe,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAE3D,sCAAsC;IACtC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,eAAe,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CACzD,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAA2B;QACvC,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,kBAAkB;IAClB,MAAM,QAAQ,GAA2B;QACvC,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,oBAAoB;IACpB,MAAM,UAAU,GAA2B;QACzC,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,GAAG,EAAE,CAAC;KACP,CAAC;IAEF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,2BAA2B;QAC3B,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;YAC1D,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,CAAC;QACD,gBAAgB;QAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE/E,gBAAgB;QAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE/E,kBAAkB;QAClB,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvF,gBAAgB;QAChB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,uBAAuB;QACvB,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAChE,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,oBAAoB;QACpB,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC/B,eAAe,EAAE,CAAC;QACpB,CAAC;QAED,cAAc;QACd,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B,cAAc,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa;QAC1D,qBAAqB,EAAE,eAAe,CAAC,MAAM;QAC7C,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,YAAY;QAC3B,oBAAoB,EAAE,iBAAiB;QACvC,iBAAiB,EAAE,eAAe;QAClC,WAAW,EAAE,UAAU;QACvB,eAAe,EAAE,cAAc;QAC/B,0BAA0B,EAAE,UAAU,GAAG,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,YAAY,EAAE,WAAW;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const getReadyToStartSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
4
|
-
export type GetReadyToStartInput = z.infer<typeof getReadyToStartSchema>;
|
|
5
|
-
export declare const getReadyToStartDefinition: {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string;
|
|
8
|
-
inputSchema: {
|
|
9
|
-
type: string;
|
|
10
|
-
properties: {};
|
|
11
|
-
required: never[];
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare function handleGetReadyToStart(config: Config, _input: GetReadyToStartInput): Promise<unknown>;
|
|
15
|
-
//# sourceMappingURL=get-ready-to-start.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-ready-to-start.d.ts","sourceRoot":"","sources":["../../src/tools/get-ready-to-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5C,eAAO,MAAM,qBAAqB,gDAAe,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAoClB"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { listAllAccomplishments } from '../services/accomplishment-service.js';
|
|
3
|
-
// Schema for the tool (no parameters)
|
|
4
|
-
export const getReadyToStartSchema = z.object({});
|
|
5
|
-
export const getReadyToStartDefinition = {
|
|
6
|
-
name: 'get_ready_to_start',
|
|
7
|
-
description: 'Get accomplishments that are ready to begin work: status is "Not Started" and all dependencies are completed (or no dependencies).',
|
|
8
|
-
inputSchema: {
|
|
9
|
-
type: 'object',
|
|
10
|
-
properties: {},
|
|
11
|
-
required: [],
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export async function handleGetReadyToStart(config, _input) {
|
|
15
|
-
const allAccomplishments = await listAllAccomplishments(config);
|
|
16
|
-
// Filter for ready to start:
|
|
17
|
-
// - Status is "Not Started"
|
|
18
|
-
// - Not blocked (all dependencies completed or no dependencies)
|
|
19
|
-
const readyItems = allAccomplishments.filter(acc => {
|
|
20
|
-
if (acc.frontmatter.status !== 'Not Started') {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
// is_blocked is computed in listAllAccomplishments
|
|
24
|
-
return !acc.is_blocked;
|
|
25
|
-
});
|
|
26
|
-
// Sort by priority (Critical > High > Medium > Low)
|
|
27
|
-
const priorityOrder = { Critical: 0, High: 1, Medium: 2, Low: 3 };
|
|
28
|
-
readyItems.sort((a, b) => {
|
|
29
|
-
const aOrder = priorityOrder[a.frontmatter.priority] ?? 4;
|
|
30
|
-
const bOrder = priorityOrder[b.frontmatter.priority] ?? 4;
|
|
31
|
-
return aOrder - bOrder;
|
|
32
|
-
});
|
|
33
|
-
const items = readyItems.map(acc => ({
|
|
34
|
-
id: acc.frontmatter.id,
|
|
35
|
-
title: acc.frontmatter.title,
|
|
36
|
-
priority: acc.frontmatter.priority,
|
|
37
|
-
effort: acc.frontmatter.effort,
|
|
38
|
-
updated: acc.frontmatter.updated,
|
|
39
|
-
task_count: acc.tasks.length,
|
|
40
|
-
outcome: acc.outcome,
|
|
41
|
-
}));
|
|
42
|
-
return {
|
|
43
|
-
count: items.length,
|
|
44
|
-
ready_items: items,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=get-ready-to-start.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-ready-to-start.js","sourceRoot":"","sources":["../../src/tools/get-ready-to-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAIlD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oIAAoI;IACjJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,MAA4B;IAE5B,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEhE,6BAA6B;IAC7B,4BAA4B;IAC5B,gEAAgE;IAChE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACjD,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,mDAAmD;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAClE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,QAAsC,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,QAAsC,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE;QACtB,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK;QAC5B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ;QAClC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM;QAC9B,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO;QAChC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { Config } from '../models/types.js';
|
|
3
|
-
export declare const listAccomplishmentsSchema: z.ZodObject<{
|
|
4
|
-
status: z.ZodOptional<z.ZodEnum<["Not Started", "In Progress", "Completed", "Blocked"]>>;
|
|
5
|
-
effort: z.ZodOptional<z.ZodEnum<["Business", "Infra", "Engineering", "Research"]>>;
|
|
6
|
-
canvas_source: z.ZodOptional<z.ZodString>;
|
|
7
|
-
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
status?: "Not Started" | "In Progress" | "Completed" | "Blocked" | undefined;
|
|
9
|
-
effort?: "Business" | "Infra" | "Engineering" | "Research" | undefined;
|
|
10
|
-
canvas_source?: string | undefined;
|
|
11
|
-
}, {
|
|
12
|
-
status?: "Not Started" | "In Progress" | "Completed" | "Blocked" | undefined;
|
|
13
|
-
effort?: "Business" | "Infra" | "Engineering" | "Research" | undefined;
|
|
14
|
-
canvas_source?: string | undefined;
|
|
15
|
-
}>;
|
|
16
|
-
export type ListAccomplishmentsInput = z.infer<typeof listAccomplishmentsSchema>;
|
|
17
|
-
export declare const listAccomplishmentsDefinition: {
|
|
18
|
-
name: string;
|
|
19
|
-
description: string;
|
|
20
|
-
inputSchema: {
|
|
21
|
-
type: string;
|
|
22
|
-
properties: {
|
|
23
|
-
status: {
|
|
24
|
-
type: string;
|
|
25
|
-
enum: string[];
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
effort: {
|
|
29
|
-
type: string;
|
|
30
|
-
enum: string[];
|
|
31
|
-
description: string;
|
|
32
|
-
};
|
|
33
|
-
canvas_source: {
|
|
34
|
-
type: string;
|
|
35
|
-
description: string;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
required: never[];
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
export declare function handleListAccomplishments(config: Config, input: ListAccomplishmentsInput): Promise<unknown>;
|
|
42
|
-
//# sourceMappingURL=list-accomplishments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-accomplishments.d.ts","sourceRoot":"","sources":["../../src/tools/list-accomplishments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAgC,MAAM,oBAAoB,CAAC;AAI1E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|