studiograph 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/agent/orchestrator.d.ts +69 -0
- package/dist/agent/orchestrator.js +211 -0
- package/dist/agent/orchestrator.js.map +1 -0
- package/dist/agent/tools/graph-tools.d.ts +30 -0
- package/dist/agent/tools/graph-tools.js +536 -0
- package/dist/agent/tools/graph-tools.js.map +1 -0
- package/dist/auth/github.d.ts +53 -0
- package/dist/auth/github.js +180 -0
- package/dist/auth/github.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +10 -0
- package/dist/cli/commands/auth.js +63 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/init.d.ts +7 -0
- package/dist/cli/commands/init.js +299 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/join.d.ts +14 -0
- package/dist/cli/commands/join.js +230 -0
- package/dist/cli/commands/join.js.map +1 -0
- package/dist/cli/commands/members.d.ts +11 -0
- package/dist/cli/commands/members.js +230 -0
- package/dist/cli/commands/members.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +17 -0
- package/dist/cli/commands/serve.js +90 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/start.d.ts +7 -0
- package/dist/cli/commands/start.js +381 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +10 -0
- package/dist/cli/commands/sync.js +121 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/graph.d.ts +169 -0
- package/dist/core/graph.js +558 -0
- package/dist/core/graph.js.map +1 -0
- package/dist/core/types.d.ts +216 -0
- package/dist/core/types.js +71 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/user-config.d.ts +31 -0
- package/dist/core/user-config.js +50 -0
- package/dist/core/user-config.js.map +1 -0
- package/dist/core/validation.d.ts +2371 -0
- package/dist/core/validation.js +432 -0
- package/dist/core/validation.js.map +1 -0
- package/dist/core/workspace-manager.d.ts +104 -0
- package/dist/core/workspace-manager.js +432 -0
- package/dist/core/workspace-manager.js.map +1 -0
- package/dist/core/workspace.d.ts +103 -0
- package/dist/core/workspace.js +306 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/server/index.d.ts +25 -0
- package/dist/server/index.js +84 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/plugin-loader.d.ts +31 -0
- package/dist/server/plugin-loader.js +81 -0
- package/dist/server/plugin-loader.js.map +1 -0
- package/dist/server/routes/chat.d.ts +11 -0
- package/dist/server/routes/chat.js +66 -0
- package/dist/server/routes/chat.js.map +1 -0
- package/dist/server/routes/graph-api.d.ts +9 -0
- package/dist/server/routes/graph-api.js +72 -0
- package/dist/server/routes/graph-api.js.map +1 -0
- package/dist/server/routes/webhook.d.ts +14 -0
- package/dist/server/routes/webhook.js +69 -0
- package/dist/server/routes/webhook.js.map +1 -0
- package/dist/services/assets/base.d.ts +69 -0
- package/dist/services/assets/base.js +113 -0
- package/dist/services/assets/base.js.map +1 -0
- package/dist/services/assets/index.d.ts +36 -0
- package/dist/services/assets/index.js +89 -0
- package/dist/services/assets/index.js.map +1 -0
- package/dist/services/assets/local.d.ts +42 -0
- package/dist/services/assets/local.js +161 -0
- package/dist/services/assets/local.js.map +1 -0
- package/dist/services/assets/r2.d.ts +36 -0
- package/dist/services/assets/r2.js +182 -0
- package/dist/services/assets/r2.js.map +1 -0
- package/dist/services/csv-service.d.ts +36 -0
- package/dist/services/csv-service.js +143 -0
- package/dist/services/csv-service.js.map +1 -0
- package/dist/services/git.d.ts +99 -0
- package/dist/services/git.js +306 -0
- package/dist/services/git.js.map +1 -0
- package/dist/services/github-provisioner.d.ts +30 -0
- package/dist/services/github-provisioner.js +89 -0
- package/dist/services/github-provisioner.js.map +1 -0
- package/dist/services/markdown.d.ts +82 -0
- package/dist/services/markdown.js +338 -0
- package/dist/services/markdown.js.map +1 -0
- package/dist/services/memory-service.d.ts +74 -0
- package/dist/services/memory-service.js +183 -0
- package/dist/services/memory-service.js.map +1 -0
- package/dist/utils/git.d.ts +28 -0
- package/dist/utils/git.js +55 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/preflight.d.ts +44 -0
- package/dist/utils/preflight.js +95 -0
- package/dist/utils/preflight.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Graph Manager
|
|
3
|
+
*
|
|
4
|
+
* Provides unified entity management across any repo type.
|
|
5
|
+
* Integrates Git, Markdown, and Asset services.
|
|
6
|
+
*/
|
|
7
|
+
import { GitUser } from '../services/git.js';
|
|
8
|
+
import { MarkdownDocument } from '../services/markdown.js';
|
|
9
|
+
import { AssetInfo, AssetConfig } from '../services/assets/index.js';
|
|
10
|
+
import { EntityType, type EntityData, type DatasetRow } from './validation.js';
|
|
11
|
+
import { type DatasetFilter } from '../services/csv-service.js';
|
|
12
|
+
export interface GraphConfig {
|
|
13
|
+
repoPath: string;
|
|
14
|
+
assetConfig?: AssetConfig;
|
|
15
|
+
gitUser: GitUser;
|
|
16
|
+
}
|
|
17
|
+
export interface EntityFile {
|
|
18
|
+
id: string;
|
|
19
|
+
path: string;
|
|
20
|
+
entityType: string;
|
|
21
|
+
data: EntityData;
|
|
22
|
+
document: MarkdownDocument;
|
|
23
|
+
}
|
|
24
|
+
export interface SearchOptions {
|
|
25
|
+
entityType?: EntityType;
|
|
26
|
+
query?: string;
|
|
27
|
+
filters?: Record<string, any>;
|
|
28
|
+
visibility?: Array<'public' | 'team' | 'admin' | 'restricted'>;
|
|
29
|
+
tags?: string[];
|
|
30
|
+
dateRange?: {
|
|
31
|
+
from: string;
|
|
32
|
+
to: string;
|
|
33
|
+
};
|
|
34
|
+
sortBy?: 'created_at' | 'updated_at' | 'relevance';
|
|
35
|
+
limit?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface CreateEntityOptions {
|
|
38
|
+
entityType: EntityType;
|
|
39
|
+
entityId: string;
|
|
40
|
+
data: Record<string, any>;
|
|
41
|
+
content?: string;
|
|
42
|
+
commitMessage?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface UpdateEntityOptions {
|
|
45
|
+
entityType: EntityType;
|
|
46
|
+
entityId: string;
|
|
47
|
+
data?: Record<string, any>;
|
|
48
|
+
content?: string;
|
|
49
|
+
commitMessage?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare class BaseGraphManager {
|
|
52
|
+
private repoPath;
|
|
53
|
+
private gitService;
|
|
54
|
+
private markdownService;
|
|
55
|
+
private assetService?;
|
|
56
|
+
private gitUser;
|
|
57
|
+
private csvService;
|
|
58
|
+
constructor(config: GraphConfig);
|
|
59
|
+
/**
|
|
60
|
+
* Ensure repository exists
|
|
61
|
+
*/
|
|
62
|
+
private ensureRepo;
|
|
63
|
+
/**
|
|
64
|
+
* Get entity file path
|
|
65
|
+
*/
|
|
66
|
+
private getEntityPath;
|
|
67
|
+
/**
|
|
68
|
+
* Get entity folder path
|
|
69
|
+
*/
|
|
70
|
+
private getEntityFolder;
|
|
71
|
+
/**
|
|
72
|
+
* Public alias for getEntityPath (used internally by dataset methods)
|
|
73
|
+
*/
|
|
74
|
+
private getEntityPathPublic;
|
|
75
|
+
/**
|
|
76
|
+
* Validate entity data against schema
|
|
77
|
+
*/
|
|
78
|
+
private validateEntity;
|
|
79
|
+
/**
|
|
80
|
+
* Create a new entity
|
|
81
|
+
*/
|
|
82
|
+
create(options: CreateEntityOptions): Promise<EntityFile>;
|
|
83
|
+
/**
|
|
84
|
+
* Get an entity by type and ID
|
|
85
|
+
*/
|
|
86
|
+
get(entityType: EntityType, entityId: string): EntityFile;
|
|
87
|
+
/**
|
|
88
|
+
* Update an existing entity
|
|
89
|
+
*/
|
|
90
|
+
update(options: UpdateEntityOptions): Promise<EntityFile>;
|
|
91
|
+
/**
|
|
92
|
+
* Delete an entity
|
|
93
|
+
*/
|
|
94
|
+
delete(entityType: EntityType, entityId: string, commitMessage?: string): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* List entities of a given type
|
|
97
|
+
*/
|
|
98
|
+
list(entityType?: EntityType, limit?: number): EntityFile[];
|
|
99
|
+
/**
|
|
100
|
+
* Search entities
|
|
101
|
+
*/
|
|
102
|
+
search(options: SearchOptions): EntityFile[];
|
|
103
|
+
/**
|
|
104
|
+
* Get entities related to a given entity (via wikilinks)
|
|
105
|
+
*/
|
|
106
|
+
getRelated(entityType: EntityType, entityId: string): EntityFile[];
|
|
107
|
+
/**
|
|
108
|
+
* Get entities that link to a given entity (backlinks)
|
|
109
|
+
*/
|
|
110
|
+
getBacklinks(entityType: EntityType, entityId: string): EntityFile[];
|
|
111
|
+
/**
|
|
112
|
+
* Validate wikilinks in an entity
|
|
113
|
+
*/
|
|
114
|
+
validateWikilinks(entityType: EntityType, entityId: string): {
|
|
115
|
+
valid: string[];
|
|
116
|
+
broken: string[];
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Refactor a wikilink (rename entity and update all references)
|
|
120
|
+
*/
|
|
121
|
+
refactorWikilink(oldId: string, newId: string, commitMessage?: string): Promise<{
|
|
122
|
+
updated: number;
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Upload asset for an entity
|
|
126
|
+
*/
|
|
127
|
+
uploadAsset(repoName: string, entityType: EntityType, entityId: string, filename: string, buffer: Buffer): Promise<AssetInfo>;
|
|
128
|
+
/**
|
|
129
|
+
* List assets for an entity
|
|
130
|
+
*/
|
|
131
|
+
listAssets(repoName: string, entityType: EntityType, entityId: string): Promise<AssetInfo[]>;
|
|
132
|
+
/**
|
|
133
|
+
* Delete an asset
|
|
134
|
+
*/
|
|
135
|
+
deleteAsset(repoName: string, entityType: EntityType, entityId: string, filename: string): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Delete all assets for an entity (when entity is deleted)
|
|
138
|
+
*/
|
|
139
|
+
deleteAllAssets(repoName: string, entityType: EntityType, entityId: string): Promise<number>;
|
|
140
|
+
/**
|
|
141
|
+
* Get dataset rows, optionally filtered
|
|
142
|
+
*/
|
|
143
|
+
getDatasetRows(entityId: string, filter?: DatasetFilter): DatasetRow[];
|
|
144
|
+
/**
|
|
145
|
+
* Append rows to a dataset entity
|
|
146
|
+
*/
|
|
147
|
+
appendDatasetRows(entityId: string, newRows: DatasetRow[], commitMessage?: string): Promise<EntityFile>;
|
|
148
|
+
/**
|
|
149
|
+
* Get repository status
|
|
150
|
+
*/
|
|
151
|
+
getStatus(): {
|
|
152
|
+
modified: string[];
|
|
153
|
+
added: string[];
|
|
154
|
+
deleted: string[];
|
|
155
|
+
untracked: string[];
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Get commit history
|
|
159
|
+
*/
|
|
160
|
+
getHistory(limit?: number): Array<{
|
|
161
|
+
hash: string;
|
|
162
|
+
message: string;
|
|
163
|
+
author: {
|
|
164
|
+
name: string;
|
|
165
|
+
email: string;
|
|
166
|
+
};
|
|
167
|
+
timestamp: number;
|
|
168
|
+
}>;
|
|
169
|
+
}
|