@versatly/workgraph 0.1.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.
@@ -0,0 +1,419 @@
1
+ /**
2
+ * Workgraph type definitions.
3
+ */
4
+ interface FieldDefinition {
5
+ type: 'string' | 'number' | 'boolean' | 'list' | 'date' | 'ref' | 'any';
6
+ required?: boolean;
7
+ default?: unknown;
8
+ description?: string;
9
+ }
10
+ interface PrimitiveTypeDefinition {
11
+ name: string;
12
+ description: string;
13
+ fields: Record<string, FieldDefinition>;
14
+ /** Directory under workspace root where instances live (default: `<name>s/`). */
15
+ directory: string;
16
+ /** Whether this type was defined by an agent at runtime vs built-in. */
17
+ builtIn: boolean;
18
+ /** ISO timestamp of when this type was registered. */
19
+ createdAt: string;
20
+ /** Who registered it (agent name or "system"). */
21
+ createdBy: string;
22
+ }
23
+ interface Registry {
24
+ version: number;
25
+ types: Record<string, PrimitiveTypeDefinition>;
26
+ }
27
+ type LedgerOp = 'create' | 'update' | 'delete' | 'claim' | 'release' | 'block' | 'unblock' | 'done' | 'cancel' | 'define' | 'decompose';
28
+ interface LedgerEntry {
29
+ ts: string;
30
+ actor: string;
31
+ op: LedgerOp;
32
+ target: string;
33
+ type?: string;
34
+ data?: Record<string, unknown>;
35
+ prevHash?: string;
36
+ hash?: string;
37
+ }
38
+ interface LedgerIndex {
39
+ version: number;
40
+ lastEntryTs: string;
41
+ claims: Record<string, string>;
42
+ }
43
+ interface LedgerChainState {
44
+ version: number;
45
+ algorithm: 'sha256';
46
+ lastHash: string;
47
+ count: number;
48
+ updatedAt: string;
49
+ }
50
+ type ThreadStatus = 'open' | 'active' | 'blocked' | 'done' | 'cancelled';
51
+ declare const THREAD_STATUS_TRANSITIONS: Record<ThreadStatus, ThreadStatus[]>;
52
+ interface PrimitiveInstance {
53
+ /** File path relative to workspace root. */
54
+ path: string;
55
+ /** Primitive type name. */
56
+ type: string;
57
+ /** Frontmatter fields. */
58
+ fields: Record<string, unknown>;
59
+ /** Markdown body content. */
60
+ body: string;
61
+ }
62
+ interface WorkgraphWorkspaceConfig {
63
+ name: string;
64
+ version: string;
65
+ mode: 'workgraph';
66
+ createdAt: string;
67
+ updatedAt: string;
68
+ }
69
+
70
+ /**
71
+ * Dynamic primitive type registry.
72
+ */
73
+
74
+ declare function registryPath(workspacePath: string): string;
75
+ declare function loadRegistry(workspacePath: string): Registry;
76
+ declare function saveRegistry(workspacePath: string, registry: Registry): void;
77
+ declare function defineType(workspacePath: string, name: string, description: string, fields: Record<string, FieldDefinition>, actor: string, directory?: string): PrimitiveTypeDefinition;
78
+ declare function getType(workspacePath: string, name: string): PrimitiveTypeDefinition | undefined;
79
+ declare function listTypes(workspacePath: string): PrimitiveTypeDefinition[];
80
+ declare function extendType(workspacePath: string, name: string, newFields: Record<string, FieldDefinition>, _actor: string): PrimitiveTypeDefinition;
81
+
82
+ declare const registry_defineType: typeof defineType;
83
+ declare const registry_extendType: typeof extendType;
84
+ declare const registry_getType: typeof getType;
85
+ declare const registry_listTypes: typeof listTypes;
86
+ declare const registry_loadRegistry: typeof loadRegistry;
87
+ declare const registry_registryPath: typeof registryPath;
88
+ declare const registry_saveRegistry: typeof saveRegistry;
89
+ declare namespace registry {
90
+ export { registry_defineType as defineType, registry_extendType as extendType, registry_getType as getType, registry_listTypes as listTypes, registry_loadRegistry as loadRegistry, registry_registryPath as registryPath, registry_saveRegistry as saveRegistry };
91
+ }
92
+
93
+ /**
94
+ * Append-only event ledger.
95
+ *
96
+ * Format: one JSON object per line (.jsonl) in `.clawvault/ledger.jsonl`.
97
+ */
98
+
99
+ declare function ledgerPath(workspacePath: string): string;
100
+ declare function ledgerIndexPath(workspacePath: string): string;
101
+ declare function ledgerChainStatePath(workspacePath: string): string;
102
+ declare function append(workspacePath: string, actor: string, op: LedgerOp, target: string, type?: string, data?: Record<string, unknown>): LedgerEntry;
103
+ declare function readAll(workspacePath: string): LedgerEntry[];
104
+ declare function readSince(workspacePath: string, since: string): LedgerEntry[];
105
+ declare function loadIndex(workspacePath: string): LedgerIndex | null;
106
+ declare function loadChainState(workspacePath: string): LedgerChainState | null;
107
+ declare function rebuildIndex(workspacePath: string): LedgerIndex;
108
+ declare function rebuildHashChainState(workspacePath: string): LedgerChainState;
109
+ declare function claimsFromIndex(workspacePath: string): Map<string, string>;
110
+ interface LedgerQueryOptions {
111
+ actor?: string;
112
+ op?: LedgerOp;
113
+ target?: string;
114
+ targetIncludes?: string;
115
+ type?: string;
116
+ since?: string;
117
+ until?: string;
118
+ limit?: number;
119
+ offset?: number;
120
+ }
121
+ declare function query(workspacePath: string, options?: LedgerQueryOptions): LedgerEntry[];
122
+ interface LedgerBlameActorSummary {
123
+ actor: string;
124
+ count: number;
125
+ ops: Record<string, number>;
126
+ lastTs: string;
127
+ }
128
+ interface LedgerBlameResult {
129
+ target: string;
130
+ totalEntries: number;
131
+ actors: LedgerBlameActorSummary[];
132
+ latest: LedgerEntry | null;
133
+ }
134
+ declare function blame(workspacePath: string, target: string): LedgerBlameResult;
135
+ interface LedgerVerifyOptions {
136
+ strict?: boolean;
137
+ }
138
+ interface LedgerVerifyResult {
139
+ ok: boolean;
140
+ entries: number;
141
+ lastHash: string;
142
+ issues: string[];
143
+ warnings: string[];
144
+ chainState: LedgerChainState | null;
145
+ }
146
+ declare function verifyHashChain(workspacePath: string, options?: LedgerVerifyOptions): LedgerVerifyResult;
147
+ /** Get the current owner of a target (last claim without a subsequent release/done). */
148
+ declare function currentOwner(workspacePath: string, target: string): string | null;
149
+ /** Check if a target is currently claimed by any agent. */
150
+ declare function isClaimed(workspacePath: string, target: string): boolean;
151
+ /** Get all entries for a specific target. */
152
+ declare function historyOf(workspacePath: string, target: string): LedgerEntry[];
153
+ /** Get all entries by a specific actor. */
154
+ declare function activityOf(workspacePath: string, actor: string): LedgerEntry[];
155
+ /** Get all currently claimed targets and their owners. */
156
+ declare function allClaims(workspacePath: string): Map<string, string>;
157
+ /** Get recent ledger entries (last N). */
158
+ declare function recent(workspacePath: string, count?: number): LedgerEntry[];
159
+
160
+ type ledger_LedgerBlameActorSummary = LedgerBlameActorSummary;
161
+ type ledger_LedgerBlameResult = LedgerBlameResult;
162
+ type ledger_LedgerQueryOptions = LedgerQueryOptions;
163
+ type ledger_LedgerVerifyOptions = LedgerVerifyOptions;
164
+ type ledger_LedgerVerifyResult = LedgerVerifyResult;
165
+ declare const ledger_activityOf: typeof activityOf;
166
+ declare const ledger_allClaims: typeof allClaims;
167
+ declare const ledger_append: typeof append;
168
+ declare const ledger_blame: typeof blame;
169
+ declare const ledger_claimsFromIndex: typeof claimsFromIndex;
170
+ declare const ledger_currentOwner: typeof currentOwner;
171
+ declare const ledger_historyOf: typeof historyOf;
172
+ declare const ledger_isClaimed: typeof isClaimed;
173
+ declare const ledger_ledgerChainStatePath: typeof ledgerChainStatePath;
174
+ declare const ledger_ledgerIndexPath: typeof ledgerIndexPath;
175
+ declare const ledger_ledgerPath: typeof ledgerPath;
176
+ declare const ledger_loadChainState: typeof loadChainState;
177
+ declare const ledger_loadIndex: typeof loadIndex;
178
+ declare const ledger_query: typeof query;
179
+ declare const ledger_readAll: typeof readAll;
180
+ declare const ledger_readSince: typeof readSince;
181
+ declare const ledger_rebuildHashChainState: typeof rebuildHashChainState;
182
+ declare const ledger_rebuildIndex: typeof rebuildIndex;
183
+ declare const ledger_recent: typeof recent;
184
+ declare const ledger_verifyHashChain: typeof verifyHashChain;
185
+ declare namespace ledger {
186
+ export { type ledger_LedgerBlameActorSummary as LedgerBlameActorSummary, type ledger_LedgerBlameResult as LedgerBlameResult, type ledger_LedgerQueryOptions as LedgerQueryOptions, type ledger_LedgerVerifyOptions as LedgerVerifyOptions, type ledger_LedgerVerifyResult as LedgerVerifyResult, ledger_activityOf as activityOf, ledger_allClaims as allClaims, ledger_append as append, ledger_blame as blame, ledger_claimsFromIndex as claimsFromIndex, ledger_currentOwner as currentOwner, ledger_historyOf as historyOf, ledger_isClaimed as isClaimed, ledger_ledgerChainStatePath as ledgerChainStatePath, ledger_ledgerIndexPath as ledgerIndexPath, ledger_ledgerPath as ledgerPath, ledger_loadChainState as loadChainState, ledger_loadIndex as loadIndex, ledger_query as query, ledger_readAll as readAll, ledger_readSince as readSince, ledger_rebuildHashChainState as rebuildHashChainState, ledger_rebuildIndex as rebuildIndex, ledger_recent as recent, ledger_verifyHashChain as verifyHashChain };
187
+ }
188
+
189
+ /**
190
+ * Workgraph store — CRUD for primitive instances.
191
+ */
192
+
193
+ declare function create(workspacePath: string, typeName: string, fields: Record<string, unknown>, body: string, actor: string): PrimitiveInstance;
194
+ declare function read(workspacePath: string, relPath: string): PrimitiveInstance | null;
195
+ declare function list(workspacePath: string, typeName: string): PrimitiveInstance[];
196
+ declare function update(workspacePath: string, relPath: string, fieldUpdates: Record<string, unknown>, bodyUpdate: string | undefined, actor: string): PrimitiveInstance;
197
+ declare function remove(workspacePath: string, relPath: string, actor: string): void;
198
+ declare function findByField(workspacePath: string, typeName: string, field: string, value: unknown): PrimitiveInstance[];
199
+ declare function openThreads(workspacePath: string): PrimitiveInstance[];
200
+ declare function activeThreads(workspacePath: string): PrimitiveInstance[];
201
+ declare function blockedThreads(workspacePath: string): PrimitiveInstance[];
202
+ declare function threadsInSpace(workspacePath: string, spaceRef: string): PrimitiveInstance[];
203
+
204
+ declare const store_activeThreads: typeof activeThreads;
205
+ declare const store_blockedThreads: typeof blockedThreads;
206
+ declare const store_create: typeof create;
207
+ declare const store_findByField: typeof findByField;
208
+ declare const store_list: typeof list;
209
+ declare const store_openThreads: typeof openThreads;
210
+ declare const store_read: typeof read;
211
+ declare const store_remove: typeof remove;
212
+ declare const store_threadsInSpace: typeof threadsInSpace;
213
+ declare const store_update: typeof update;
214
+ declare namespace store {
215
+ export { store_activeThreads as activeThreads, store_blockedThreads as blockedThreads, store_create as create, store_findByField as findByField, store_list as list, store_openThreads as openThreads, store_read as read, store_remove as remove, store_threadsInSpace as threadsInSpace, store_update as update };
216
+ }
217
+
218
+ /**
219
+ * Thread lifecycle operations.
220
+ */
221
+
222
+ declare function createThread(workspacePath: string, title: string, goal: string, actor: string, opts?: {
223
+ priority?: string;
224
+ deps?: string[];
225
+ parent?: string;
226
+ space?: string;
227
+ context_refs?: string[];
228
+ tags?: string[];
229
+ }): PrimitiveInstance;
230
+ declare function isReadyForClaim(workspacePath: string, threadPathOrInstance: string | PrimitiveInstance): boolean;
231
+ declare function listReadyThreads(workspacePath: string): PrimitiveInstance[];
232
+ declare function listReadyThreadsInSpace(workspacePath: string, spaceRef: string): PrimitiveInstance[];
233
+ declare function pickNextReadyThread(workspacePath: string): PrimitiveInstance | null;
234
+ declare function pickNextReadyThreadInSpace(workspacePath: string, spaceRef: string): PrimitiveInstance | null;
235
+ declare function claimNextReady(workspacePath: string, actor: string): PrimitiveInstance | null;
236
+ declare function claimNextReadyInSpace(workspacePath: string, actor: string, spaceRef: string): PrimitiveInstance | null;
237
+ declare function claim(workspacePath: string, threadPath: string, actor: string): PrimitiveInstance;
238
+ declare function release(workspacePath: string, threadPath: string, actor: string, reason?: string): PrimitiveInstance;
239
+ declare function block(workspacePath: string, threadPath: string, actor: string, blockedBy: string, reason?: string): PrimitiveInstance;
240
+ declare function unblock(workspacePath: string, threadPath: string, actor: string): PrimitiveInstance;
241
+ declare function done(workspacePath: string, threadPath: string, actor: string, output?: string): PrimitiveInstance;
242
+ declare function cancel(workspacePath: string, threadPath: string, actor: string, reason?: string): PrimitiveInstance;
243
+ declare function decompose(workspacePath: string, parentPath: string, subthreads: Array<{
244
+ title: string;
245
+ goal: string;
246
+ deps?: string[];
247
+ }>, actor: string): PrimitiveInstance[];
248
+
249
+ declare const thread_block: typeof block;
250
+ declare const thread_cancel: typeof cancel;
251
+ declare const thread_claim: typeof claim;
252
+ declare const thread_claimNextReady: typeof claimNextReady;
253
+ declare const thread_claimNextReadyInSpace: typeof claimNextReadyInSpace;
254
+ declare const thread_createThread: typeof createThread;
255
+ declare const thread_decompose: typeof decompose;
256
+ declare const thread_done: typeof done;
257
+ declare const thread_isReadyForClaim: typeof isReadyForClaim;
258
+ declare const thread_listReadyThreads: typeof listReadyThreads;
259
+ declare const thread_listReadyThreadsInSpace: typeof listReadyThreadsInSpace;
260
+ declare const thread_pickNextReadyThread: typeof pickNextReadyThread;
261
+ declare const thread_pickNextReadyThreadInSpace: typeof pickNextReadyThreadInSpace;
262
+ declare const thread_release: typeof release;
263
+ declare const thread_unblock: typeof unblock;
264
+ declare namespace thread {
265
+ export { thread_block as block, thread_cancel as cancel, thread_claim as claim, thread_claimNextReady as claimNextReady, thread_claimNextReadyInSpace as claimNextReadyInSpace, thread_createThread as createThread, thread_decompose as decompose, thread_done as done, thread_isReadyForClaim as isReadyForClaim, thread_listReadyThreads as listReadyThreads, thread_listReadyThreadsInSpace as listReadyThreadsInSpace, thread_pickNextReadyThread as pickNextReadyThread, thread_pickNextReadyThreadInSpace as pickNextReadyThreadInSpace, thread_release as release, thread_unblock as unblock };
266
+ }
267
+
268
+ /**
269
+ * Workgraph workspace lifecycle (agent-first, no memory scaffolding).
270
+ */
271
+
272
+ interface InitWorkspaceOptions {
273
+ name?: string;
274
+ createTypeDirs?: boolean;
275
+ createReadme?: boolean;
276
+ createBases?: boolean;
277
+ }
278
+ interface InitWorkspaceResult {
279
+ workspacePath: string;
280
+ configPath: string;
281
+ config: WorkgraphWorkspaceConfig;
282
+ createdDirectories: string[];
283
+ seededTypes: string[];
284
+ generatedBases: string[];
285
+ primitiveRegistryManifestPath: string;
286
+ }
287
+ declare function workspaceConfigPath(workspacePath: string): string;
288
+ declare function isWorkgraphWorkspace(workspacePath: string): boolean;
289
+ declare function initWorkspace(targetPath: string, options?: InitWorkspaceOptions): InitWorkspaceResult;
290
+
291
+ type workspace_InitWorkspaceOptions = InitWorkspaceOptions;
292
+ type workspace_InitWorkspaceResult = InitWorkspaceResult;
293
+ declare const workspace_initWorkspace: typeof initWorkspace;
294
+ declare const workspace_isWorkgraphWorkspace: typeof isWorkgraphWorkspace;
295
+ declare const workspace_workspaceConfigPath: typeof workspaceConfigPath;
296
+ declare namespace workspace {
297
+ export { type workspace_InitWorkspaceOptions as InitWorkspaceOptions, type workspace_InitWorkspaceResult as InitWorkspaceResult, workspace_initWorkspace as initWorkspace, workspace_isWorkgraphWorkspace as isWorkgraphWorkspace, workspace_workspaceConfigPath as workspaceConfigPath };
298
+ }
299
+
300
+ /**
301
+ * Command center generator for human + agent operational visibility.
302
+ */
303
+ interface CommandCenterOptions {
304
+ outputPath?: string;
305
+ actor?: string;
306
+ recentCount?: number;
307
+ }
308
+ interface CommandCenterResult {
309
+ outputPath: string;
310
+ stats: {
311
+ totalThreads: number;
312
+ openThreads: number;
313
+ activeThreads: number;
314
+ blockedThreads: number;
315
+ doneThreads: number;
316
+ activeClaims: number;
317
+ recentEvents: number;
318
+ };
319
+ content: string;
320
+ }
321
+ declare function generateCommandCenter(workspacePath: string, options?: CommandCenterOptions): CommandCenterResult;
322
+
323
+ type commandCenter_CommandCenterOptions = CommandCenterOptions;
324
+ type commandCenter_CommandCenterResult = CommandCenterResult;
325
+ declare const commandCenter_generateCommandCenter: typeof generateCommandCenter;
326
+ declare namespace commandCenter {
327
+ export { type commandCenter_CommandCenterOptions as CommandCenterOptions, type commandCenter_CommandCenterResult as CommandCenterResult, commandCenter_generateCommandCenter as generateCommandCenter };
328
+ }
329
+
330
+ /**
331
+ * Primitive registry manifest + Obsidian Bases generation.
332
+ */
333
+ interface PrimitiveRegistryManifestField {
334
+ name: string;
335
+ type: string;
336
+ required?: boolean;
337
+ description?: string;
338
+ }
339
+ interface PrimitiveRegistryManifestPrimitive {
340
+ name: string;
341
+ directory: string;
342
+ canonical: boolean;
343
+ builtIn: boolean;
344
+ fields: PrimitiveRegistryManifestField[];
345
+ }
346
+ interface PrimitiveRegistryManifest {
347
+ version: number;
348
+ generatedAt: string;
349
+ primitives: PrimitiveRegistryManifestPrimitive[];
350
+ }
351
+ interface GenerateBasesOptions {
352
+ includeNonCanonical?: boolean;
353
+ outputDirectory?: string;
354
+ }
355
+ interface GenerateBasesResult {
356
+ outputDirectory: string;
357
+ generated: string[];
358
+ }
359
+ declare function primitiveRegistryManifestPath(workspacePath: string): string;
360
+ declare function readPrimitiveRegistryManifest(workspacePath: string): PrimitiveRegistryManifest;
361
+ declare function syncPrimitiveRegistryManifest(workspacePath: string): PrimitiveRegistryManifest;
362
+ declare function generateBasesFromPrimitiveRegistry(workspacePath: string, options?: GenerateBasesOptions): GenerateBasesResult;
363
+
364
+ type bases_GenerateBasesOptions = GenerateBasesOptions;
365
+ type bases_GenerateBasesResult = GenerateBasesResult;
366
+ type bases_PrimitiveRegistryManifest = PrimitiveRegistryManifest;
367
+ type bases_PrimitiveRegistryManifestField = PrimitiveRegistryManifestField;
368
+ type bases_PrimitiveRegistryManifestPrimitive = PrimitiveRegistryManifestPrimitive;
369
+ declare const bases_generateBasesFromPrimitiveRegistry: typeof generateBasesFromPrimitiveRegistry;
370
+ declare const bases_primitiveRegistryManifestPath: typeof primitiveRegistryManifestPath;
371
+ declare const bases_readPrimitiveRegistryManifest: typeof readPrimitiveRegistryManifest;
372
+ declare const bases_syncPrimitiveRegistryManifest: typeof syncPrimitiveRegistryManifest;
373
+ declare namespace bases {
374
+ export { type bases_GenerateBasesOptions as GenerateBasesOptions, type bases_GenerateBasesResult as GenerateBasesResult, type bases_PrimitiveRegistryManifest as PrimitiveRegistryManifest, type bases_PrimitiveRegistryManifestField as PrimitiveRegistryManifestField, type bases_PrimitiveRegistryManifestPrimitive as PrimitiveRegistryManifestPrimitive, bases_generateBasesFromPrimitiveRegistry as generateBasesFromPrimitiveRegistry, bases_primitiveRegistryManifestPath as primitiveRegistryManifestPath, bases_readPrimitiveRegistryManifest as readPrimitiveRegistryManifest, bases_syncPrimitiveRegistryManifest as syncPrimitiveRegistryManifest };
375
+ }
376
+
377
+ /**
378
+ * Skill primitive lifecycle.
379
+ */
380
+
381
+ interface WriteSkillOptions {
382
+ owner?: string;
383
+ version?: string;
384
+ status?: 'draft' | 'proposed' | 'active' | 'deprecated' | 'archived';
385
+ distribution?: string;
386
+ tailscalePath?: string;
387
+ reviewers?: string[];
388
+ tags?: string[];
389
+ }
390
+ interface ProposeSkillOptions {
391
+ proposalThread?: string;
392
+ createThreadIfMissing?: boolean;
393
+ space?: string;
394
+ reviewers?: string[];
395
+ }
396
+ interface PromoteSkillOptions {
397
+ version?: string;
398
+ }
399
+ declare function writeSkill(workspacePath: string, title: string, body: string, actor: string, options?: WriteSkillOptions): PrimitiveInstance;
400
+ declare function loadSkill(workspacePath: string, skillRef: string): PrimitiveInstance;
401
+ declare function listSkills(workspacePath: string, options?: {
402
+ status?: string;
403
+ }): PrimitiveInstance[];
404
+ declare function proposeSkill(workspacePath: string, skillRef: string, actor: string, options?: ProposeSkillOptions): PrimitiveInstance;
405
+ declare function promoteSkill(workspacePath: string, skillRef: string, actor: string, options?: PromoteSkillOptions): PrimitiveInstance;
406
+
407
+ type skill_PromoteSkillOptions = PromoteSkillOptions;
408
+ type skill_ProposeSkillOptions = ProposeSkillOptions;
409
+ type skill_WriteSkillOptions = WriteSkillOptions;
410
+ declare const skill_listSkills: typeof listSkills;
411
+ declare const skill_loadSkill: typeof loadSkill;
412
+ declare const skill_promoteSkill: typeof promoteSkill;
413
+ declare const skill_proposeSkill: typeof proposeSkill;
414
+ declare const skill_writeSkill: typeof writeSkill;
415
+ declare namespace skill {
416
+ export { type skill_PromoteSkillOptions as PromoteSkillOptions, type skill_ProposeSkillOptions as ProposeSkillOptions, type skill_WriteSkillOptions as WriteSkillOptions, skill_listSkills as listSkills, skill_loadSkill as loadSkill, skill_promoteSkill as promoteSkill, skill_proposeSkill as proposeSkill, skill_writeSkill as writeSkill };
417
+ }
418
+
419
+ export { type FieldDefinition, type LedgerChainState, type LedgerEntry, type LedgerIndex, type LedgerOp, type PrimitiveInstance, type PrimitiveTypeDefinition, type Registry, THREAD_STATUS_TRANSITIONS, type ThreadStatus, type WorkgraphWorkspaceConfig, bases, commandCenter, ledger, registry, skill, store, thread, workspace };
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ import {
2
+ THREAD_STATUS_TRANSITIONS,
3
+ bases_exports,
4
+ command_center_exports,
5
+ ledger_exports,
6
+ registry_exports,
7
+ skill_exports,
8
+ store_exports,
9
+ thread_exports,
10
+ workspace_exports
11
+ } from "./chunk-CRQXDCPR.js";
12
+ export {
13
+ THREAD_STATUS_TRANSITIONS,
14
+ bases_exports as bases,
15
+ command_center_exports as commandCenter,
16
+ ledger_exports as ledger,
17
+ registry_exports as registry,
18
+ skill_exports as skill,
19
+ store_exports as store,
20
+ thread_exports as thread,
21
+ workspace_exports as workspace
22
+ };
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@versatly/workgraph",
3
+ "version": "0.1.0",
4
+ "description": "Agent-first workgraph workspace for multi-agent coordination with dynamic primitives, append-only ledger, and markdown-native storage.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./cli": {
15
+ "types": "./dist/cli.d.ts",
16
+ "import": "./dist/cli.js"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
20
+ "bin": {
21
+ "workgraph": "bin/workgraph.js"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "bin",
26
+ "README.md",
27
+ "SKILL.md"
28
+ ],
29
+ "scripts": {
30
+ "build": "tsup src/index.ts src/cli.ts --format esm --dts --clean",
31
+ "typecheck": "tsc --noEmit",
32
+ "test": "vitest run --config vitest.config.ts",
33
+ "ci": "npm run typecheck && npm run test && npm run build",
34
+ "prepublishOnly": "npm run ci"
35
+ },
36
+ "keywords": [
37
+ "workgraph",
38
+ "multi-agent",
39
+ "agent-coordination",
40
+ "ledger",
41
+ "markdown",
42
+ "primitives"
43
+ ],
44
+ "author": "Versatly",
45
+ "license": "MIT",
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "git+https://github.com/Versatly/clawvault.git",
49
+ "directory": "packages/workgraph"
50
+ },
51
+ "homepage": "https://github.com/Versatly/clawvault/tree/main/packages/workgraph",
52
+ "bugs": {
53
+ "url": "https://github.com/Versatly/clawvault/issues"
54
+ },
55
+ "engines": {
56
+ "node": ">=18"
57
+ },
58
+ "dependencies": {
59
+ "commander": "^12.0.0",
60
+ "gray-matter": "^4.0.3",
61
+ "yaml": "^2.8.1"
62
+ },
63
+ "devDependencies": {
64
+ "@types/node": "^20.11.0",
65
+ "tsup": "^8.5.1",
66
+ "typescript": "^5.3.3",
67
+ "vitest": "^1.6.1"
68
+ }
69
+ }