@animalabs/agent-framework 0.1.0 → 0.3.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.
Files changed (102) hide show
  1. package/dist/src/framework.d.ts +13 -0
  2. package/dist/src/framework.d.ts.map +1 -1
  3. package/dist/src/framework.js +133 -10
  4. package/dist/src/framework.js.map +1 -1
  5. package/dist/src/gate/event-gate.d.ts +5 -0
  6. package/dist/src/gate/event-gate.d.ts.map +1 -1
  7. package/dist/src/gate/event-gate.js +104 -6
  8. package/dist/src/gate/event-gate.js.map +1 -1
  9. package/dist/src/gate/types.d.ts +31 -0
  10. package/dist/src/gate/types.d.ts.map +1 -1
  11. package/dist/src/index.d.ts +3 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +4 -0
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/mcpl/channel-registry.d.ts +16 -2
  16. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  17. package/dist/src/mcpl/channel-registry.js +101 -6
  18. package/dist/src/mcpl/channel-registry.js.map +1 -1
  19. package/dist/src/mcpl/push-handler.js +1 -1
  20. package/dist/src/mcpl/push-handler.js.map +1 -1
  21. package/dist/src/mcpl/server-connection.d.ts +17 -2
  22. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  23. package/dist/src/mcpl/server-connection.js +66 -3
  24. package/dist/src/mcpl/server-connection.js.map +1 -1
  25. package/dist/src/mcpl/tool-policy.d.ts +24 -0
  26. package/dist/src/mcpl/tool-policy.d.ts.map +1 -0
  27. package/dist/src/mcpl/tool-policy.js +46 -0
  28. package/dist/src/mcpl/tool-policy.js.map +1 -0
  29. package/dist/src/mcpl/types.d.ts +31 -0
  30. package/dist/src/mcpl/types.d.ts.map +1 -1
  31. package/dist/src/mcpl/types.js.map +1 -1
  32. package/dist/src/modules/workspace/index.d.ts +43 -1
  33. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  34. package/dist/src/modules/workspace/index.js +246 -32
  35. package/dist/src/modules/workspace/index.js.map +1 -1
  36. package/dist/src/modules/workspace/sync.d.ts +7 -2
  37. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  38. package/dist/src/modules/workspace/sync.js +2 -2
  39. package/dist/src/modules/workspace/sync.js.map +1 -1
  40. package/dist/src/modules/workspace/types.d.ts +55 -3
  41. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  42. package/dist/src/modules/workspace/types.js +8 -1
  43. package/dist/src/modules/workspace/types.js.map +1 -1
  44. package/dist/src/modules/workspace/watcher.d.ts +40 -3
  45. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  46. package/dist/src/modules/workspace/watcher.js +80 -13
  47. package/dist/src/modules/workspace/watcher.js.map +1 -1
  48. package/dist/src/types/trace.d.ts +20 -0
  49. package/dist/src/types/trace.d.ts.map +1 -1
  50. package/dist/src/usage/index.d.ts +3 -0
  51. package/dist/src/usage/index.d.ts.map +1 -0
  52. package/dist/src/usage/index.js +2 -0
  53. package/dist/src/usage/index.js.map +1 -0
  54. package/dist/src/usage/types.d.ts +28 -0
  55. package/dist/src/usage/types.d.ts.map +1 -0
  56. package/dist/src/usage/types.js +2 -0
  57. package/dist/src/usage/types.js.map +1 -0
  58. package/dist/src/usage/usage-tracker.d.ts +33 -0
  59. package/dist/src/usage/usage-tracker.d.ts.map +1 -0
  60. package/dist/src/usage/usage-tracker.js +115 -0
  61. package/dist/src/usage/usage-tracker.js.map +1 -0
  62. package/dist/test/channel-registry-typing.test.d.ts +2 -0
  63. package/dist/test/channel-registry-typing.test.d.ts.map +1 -0
  64. package/dist/test/channel-registry-typing.test.js +82 -0
  65. package/dist/test/channel-registry-typing.test.js.map +1 -0
  66. package/dist/test/event-gate.test.js +135 -16
  67. package/dist/test/event-gate.test.js.map +1 -1
  68. package/dist/test/mcpl-gate-roundtrip.test.d.ts +2 -0
  69. package/dist/test/mcpl-gate-roundtrip.test.d.ts.map +1 -0
  70. package/dist/test/mcpl-gate-roundtrip.test.js +140 -0
  71. package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -0
  72. package/dist/test/tool-policy.test.d.ts +2 -0
  73. package/dist/test/tool-policy.test.d.ts.map +1 -0
  74. package/dist/test/tool-policy.test.js +51 -0
  75. package/dist/test/tool-policy.test.js.map +1 -0
  76. package/dist/test/usage-tracker.test.d.ts +2 -0
  77. package/dist/test/usage-tracker.test.d.ts.map +1 -0
  78. package/dist/test/usage-tracker.test.js +129 -0
  79. package/dist/test/usage-tracker.test.js.map +1 -0
  80. package/dist/test/workspace-watcher.test.d.ts +2 -0
  81. package/dist/test/workspace-watcher.test.d.ts.map +1 -0
  82. package/dist/test/workspace-watcher.test.js +117 -0
  83. package/dist/test/workspace-watcher.test.js.map +1 -0
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +3 -3
  86. package/src/framework.ts +148 -10
  87. package/src/gate/event-gate.ts +106 -6
  88. package/src/gate/types.ts +28 -0
  89. package/src/index.ts +7 -0
  90. package/src/mcpl/channel-registry.ts +120 -8
  91. package/src/mcpl/push-handler.ts +1 -1
  92. package/src/mcpl/server-connection.ts +78 -3
  93. package/src/mcpl/tool-policy.ts +52 -0
  94. package/src/mcpl/types.ts +34 -0
  95. package/src/modules/workspace/index.ts +269 -38
  96. package/src/modules/workspace/sync.ts +11 -4
  97. package/src/modules/workspace/types.ts +70 -3
  98. package/src/modules/workspace/watcher.ts +104 -15
  99. package/src/types/trace.ts +26 -1
  100. package/src/usage/index.ts +2 -0
  101. package/src/usage/types.ts +27 -0
  102. package/src/usage/usage-tracker.ts +141 -0
@@ -4,8 +4,9 @@
4
4
  * Provides a unified workspace with mount-based filesystem access,
5
5
  * auto-sync between real filesystem and Chronicle, and manual materialization.
6
6
  */
7
- import { readFile, stat } from 'node:fs/promises';
8
- import { join, resolve, relative } from 'node:path';
7
+ import { readFile, stat, writeFile, unlink, mkdir } from 'node:fs/promises';
8
+ import { join, resolve, relative, dirname } from 'node:path';
9
+ import { WORKSPACE_FS_EVENT_TYPES, opToEventType } from './types.js';
9
10
  import { MountWatcher } from './watcher.js';
10
11
  import { syncFromFs, materializeToFs, hashContent, DEFAULT_MAX_FILE_SIZE } from './sync.js';
11
12
  export class WorkspaceModule {
@@ -42,6 +43,12 @@ export class WorkspaceModule {
42
43
  }
43
44
  /**
44
45
  * Inject the Chronicle store. Must be called after framework creation.
46
+ *
47
+ * Host ordering is: `AgentFramework.create()` calls `module.start(ctx)`
48
+ * before the framework is fully returned, and the host (e.g. conhost) wires
49
+ * the store via `initStore(store)` afterwards. Neither half has everything
50
+ * it needs on its own, so watcher setup runs in whichever callback fires
51
+ * second. `ensureRunning()` gates on `ctx && mounts-populated`.
45
52
  */
46
53
  initStore(store) {
47
54
  this.store = store;
@@ -67,9 +74,12 @@ export class WorkspaceModule {
67
74
  initialSyncDone: false,
68
75
  lastMaterializedBranchId: null,
69
76
  materializedHashes: new Map(),
77
+ watcherReadyAt: null,
78
+ watcherError: null,
70
79
  };
71
80
  this.mounts.set(mount.name, mountState);
72
81
  }
82
+ this.ensureRunning();
73
83
  }
74
84
  async start(ctx) {
75
85
  this.ctx = ctx;
@@ -82,28 +92,81 @@ export class WorkspaceModule {
82
92
  if (mount) {
83
93
  mount.lastMaterializedSeq = meta.lastMaterializedSeq;
84
94
  mount.lastMaterializedBranchId = meta.lastMaterializedBranchId ?? null;
95
+ // watcherReadyAt intentionally not restored — each session must
96
+ // observe its own watcher attach, otherwise a stale timestamp
97
+ // would hide a new-session attach failure.
85
98
  }
86
99
  }
87
100
  }
88
101
  }
89
- // Start watchers for 'always' mode mounts
102
+ this.ensureRunning();
103
+ }
104
+ /**
105
+ * Start chokidar watchers and emit workspace:mounted events.
106
+ * Idempotent: safe to call from both start() and initStore(), fires once
107
+ * per mount regardless of which runs second.
108
+ */
109
+ ensureRunning() {
110
+ if (!this.ctx || this.mounts.size === 0)
111
+ return;
90
112
  for (const [name, mount] of this.mounts) {
113
+ if (this.watchers.has(name))
114
+ continue;
91
115
  const watchMode = mount.config.watch ?? 'always';
92
116
  if (watchMode === 'always') {
93
- const watcher = new MountWatcher(mount.config, (paths) => {
94
- this.handleFsChanges(name, paths);
117
+ const watcher = new MountWatcher(mount.config, (changes) => {
118
+ this.handleFsChanges(name, changes);
119
+ }, {
120
+ onReady: () => {
121
+ mount.watcherReadyAt = Date.now();
122
+ mount.watcherError = null;
123
+ },
124
+ onError: (err) => {
125
+ mount.watcherError = err.message;
126
+ this.ctx?.pushEvent({
127
+ type: 'workspace:watcher-error',
128
+ mount: name,
129
+ path: mount.config.path,
130
+ error: err.message,
131
+ });
132
+ },
95
133
  });
96
134
  watcher.start();
97
135
  this.watchers.set(name, watcher);
136
+ // Chokidar is started with ignoreInitial:true, so files already on
137
+ // disk at session start would be invisible. Trigger one syncFromFs
138
+ // pass — syncFromFs diffs disk against the tree state, so only files
139
+ // new-to-this-session's-tree fire workspace:created events. Fresh
140
+ // sessions see the existing catalog; restarts only see what appeared
141
+ // while the session was down.
142
+ void this.initialScan(name);
98
143
  }
99
- // Emit mounted event
100
- this.ctx?.pushEvent({
144
+ this.ctx.pushEvent({
101
145
  type: 'workspace:mounted',
102
146
  mount: name,
103
147
  path: mount.config.path,
104
148
  });
105
149
  }
106
150
  }
151
+ async initialScan(mountName) {
152
+ const store = this.store;
153
+ const mount = this.mounts.get(mountName);
154
+ if (!store || !mount)
155
+ return;
156
+ try {
157
+ const result = await syncFromFs(store, mount);
158
+ mount.initialSyncDone = true;
159
+ this.emitFsEvents(mountName, result.synced, result.conflicts);
160
+ }
161
+ catch (err) {
162
+ const msg = err instanceof Error ? err.message : String(err);
163
+ this.ctx?.pushEvent({
164
+ type: 'workspace:initial-scan-failed',
165
+ mount: mountName,
166
+ error: msg,
167
+ });
168
+ }
169
+ }
107
170
  async stop() {
108
171
  // Persist state
109
172
  if (this.ctx) {
@@ -113,6 +176,8 @@ export class WorkspaceModule {
113
176
  state.mounts[name] = {
114
177
  lastMaterializedSeq: mount.lastMaterializedSeq,
115
178
  lastMaterializedBranchId: mount.lastMaterializedBranchId ?? undefined,
179
+ watcherReadyAt: mount.watcherReadyAt,
180
+ watcherError: mount.watcherError,
116
181
  };
117
182
  }
118
183
  this.ctx.setState(state);
@@ -276,12 +341,46 @@ export class WorkspaceModule {
276
341
  return { success: false, error: String(err), isError: true };
277
342
  }
278
343
  }
279
- async onProcess(_event, _state) {
280
- return {};
344
+ async onProcess(event, _state) {
345
+ // Wake agents on filesystem events when the originating mount opted in.
346
+ // The EventGate still has final say — gate policies can further filter by
347
+ // mount name, path glob, or op type without requiring a recipe change.
348
+ if (!WORKSPACE_FS_EVENT_TYPES.includes(event.type)) {
349
+ return {};
350
+ }
351
+ const mountName = event.mount;
352
+ if (!mountName)
353
+ return {};
354
+ const mount = this.mounts.get(mountName);
355
+ if (!mount)
356
+ return {};
357
+ const flag = mount.config.wakeOnChange;
358
+ if (!flag)
359
+ return {};
360
+ const op = event.type.slice('workspace:'.length);
361
+ const opAllowed = flag === true || (Array.isArray(flag) && flag.includes(op));
362
+ if (!opAllowed)
363
+ return {};
364
+ return { requestInference: true };
281
365
  }
282
366
  // ==========================================================================
283
367
  // Path Resolution
284
368
  // ==========================================================================
369
+ /**
370
+ * Resolve a mount-prefixed path (e.g. "tickets/2026-04-22-foo.md") to its
371
+ * absolute filesystem path. Returns null if the mount is unknown or the
372
+ * resolved path escapes the mount root (path-traversal guard). Public API
373
+ * for peer modules that need to read workspace files directly.
374
+ */
375
+ resolveAbsolutePath(mountPrefixedPath) {
376
+ try {
377
+ const { mount, relativePath } = this.parsePath(mountPrefixedPath);
378
+ return resolve(mount.config.path, relativePath);
379
+ }
380
+ catch {
381
+ return null;
382
+ }
383
+ }
285
384
  /**
286
385
  * Parse a mount-prefixed path into (mountName, relativePath).
287
386
  */
@@ -306,6 +405,56 @@ export class WorkspaceModule {
306
405
  throw new Error('WorkspaceModule: store not initialized. Call initStore() first.');
307
406
  return this.store;
308
407
  }
408
+ /**
409
+ * Persist a single write/edit/delete to disk when the mount opts in via
410
+ * `autoMaterialize`. Required for cross-agent pipelines — another agent's
411
+ * chokidar watcher on the same directory only sees real filesystem events.
412
+ * The local watcher's `suppress()` absorbs the echo so we don't self-wake.
413
+ *
414
+ * Returns an error string on failure so callers can surface it in the tool
415
+ * result. The autoMaterialize contract is specifically "disk is the source
416
+ * of truth for downstream agents", so a silent disk-write failure with a
417
+ * Chronicle commit would defeat the whole purpose. No-op cases (flag off,
418
+ * read-only mount) return null (success).
419
+ */
420
+ async autoMaterialize(mount, relativePath, op, content) {
421
+ if (!mount.config.autoMaterialize)
422
+ return null;
423
+ if (mount.config.mode === 'read-only')
424
+ return null;
425
+ const absolutePath = join(mount.config.path, relativePath);
426
+ const watcher = this.watchers.get(mount.config.name);
427
+ watcher?.suppress(relativePath);
428
+ try {
429
+ if (op === 'write' && content) {
430
+ await mkdir(dirname(absolutePath), { recursive: true });
431
+ await writeFile(absolutePath, content);
432
+ mount.materializedHashes.set(relativePath, hashContent(content));
433
+ }
434
+ else if (op === 'delete') {
435
+ try {
436
+ await unlink(absolutePath);
437
+ }
438
+ catch (err) {
439
+ if (err.code !== 'ENOENT')
440
+ throw err;
441
+ }
442
+ mount.materializedHashes.delete(relativePath);
443
+ }
444
+ return null;
445
+ }
446
+ catch (err) {
447
+ const msg = err instanceof Error ? err.message : String(err);
448
+ this.ctx?.pushEvent({
449
+ type: 'workspace:materialize-failed',
450
+ mount: mount.config.name,
451
+ path: relativePath,
452
+ op,
453
+ error: msg,
454
+ });
455
+ return msg;
456
+ }
457
+ }
309
458
  // ==========================================================================
310
459
  // Lazy Sync
311
460
  // ==========================================================================
@@ -383,12 +532,21 @@ export class WorkspaceModule {
383
532
  if (Buffer.byteLength(input.content) > maxSize) {
384
533
  return { success: false, error: `Content exceeds max file size (${maxSize} bytes)`, isError: true };
385
534
  }
386
- const blobHash = store.storeBlob(Buffer.from(input.content, 'utf-8'), 'text/plain');
535
+ const buffer = Buffer.from(input.content, 'utf-8');
536
+ const blobHash = store.storeBlob(buffer, 'text/plain');
387
537
  store.treeSet(mount.treeStateId, relativePath, {
388
538
  blobHash,
389
539
  size: Buffer.byteLength(input.content),
390
540
  mode: 0o644,
391
541
  });
542
+ const materializeError = await this.autoMaterialize(mount, relativePath, 'write', buffer);
543
+ if (materializeError) {
544
+ return {
545
+ success: false,
546
+ error: `Wrote to Chronicle but failed to materialize "${input.path}" to disk: ${materializeError}. Downstream agents will not see this change until the next materialize call.`,
547
+ isError: true,
548
+ };
549
+ }
392
550
  return {
393
551
  success: true,
394
552
  data: {
@@ -431,12 +589,21 @@ export class WorkspaceModule {
431
589
  content = input.replaceAll
432
590
  ? content.replaceAll(input.oldString, input.newString)
433
591
  : content.replace(input.oldString, input.newString);
434
- const newBlobHash = store.storeBlob(Buffer.from(content, 'utf-8'), 'text/plain');
592
+ const newBuffer = Buffer.from(content, 'utf-8');
593
+ const newBlobHash = store.storeBlob(newBuffer, 'text/plain');
435
594
  store.treeSet(mount.treeStateId, relativePath, {
436
595
  blobHash: newBlobHash,
437
596
  size: Buffer.byteLength(content),
438
597
  mode: entry.mode,
439
598
  });
599
+ const materializeError = await this.autoMaterialize(mount, relativePath, 'write', newBuffer);
600
+ if (materializeError) {
601
+ return {
602
+ success: false,
603
+ error: `Edited Chronicle but failed to materialize "${input.path}" to disk: ${materializeError}. Downstream agents will not see this change until the next materialize call.`,
604
+ isError: true,
605
+ };
606
+ }
440
607
  return {
441
608
  success: true,
442
609
  data: {
@@ -456,6 +623,14 @@ export class WorkspaceModule {
456
623
  return { success: false, error: `File not found: ${input.path}`, isError: true };
457
624
  }
458
625
  store.treeRemove(mount.treeStateId, relativePath);
626
+ const materializeError = await this.autoMaterialize(mount, relativePath, 'delete');
627
+ if (materializeError) {
628
+ return {
629
+ success: false,
630
+ error: `Removed from Chronicle but failed to unlink "${input.path}" from disk: ${materializeError}. Downstream agents will still see the stale file until manual cleanup.`,
631
+ isError: true,
632
+ };
633
+ }
459
634
  return { success: true, data: { path: input.path, deleted: true } };
460
635
  }
461
636
  async handleLs(input) {
@@ -739,19 +914,12 @@ export class WorkspaceModule {
739
914
  const result = await syncFromFs(store, mount, paths);
740
915
  mount.initialSyncDone = true;
741
916
  if (result.synced.length > 0 || result.conflicts.length > 0) {
742
- allResults.push({ mount: name, synced: result.synced, conflicts: result.conflicts });
743
- // Emit workspace:changed event
744
- if (this.ctx) {
745
- const event = {
746
- type: 'workspace:changed',
747
- paths: result.synced.map(p => `${name}/${p}`),
748
- mount: name,
749
- conflicts: result.conflicts.length > 0
750
- ? result.conflicts.map(c => `${name}/${c.path}`)
751
- : undefined,
752
- };
753
- this.ctx.pushEvent(event);
754
- }
917
+ allResults.push({
918
+ mount: name,
919
+ synced: result.synced.map(s => s.path),
920
+ conflicts: result.conflicts,
921
+ });
922
+ this.emitFsEvents(name, result.synced, result.conflicts);
755
923
  }
756
924
  }
757
925
  return {
@@ -768,21 +936,67 @@ export class WorkspaceModule {
768
936
  // ==========================================================================
769
937
  /**
770
938
  * Handle filesystem changes detected by watcher (watch: 'always' mode).
939
+ *
940
+ * The watcher carries the op per path. For created/modified we call
941
+ * syncFromFs to pull content into the tree; for deleted we strip the tree
942
+ * entry directly (the file is gone, nothing to read). We emit one event per
943
+ * op type.
771
944
  */
772
- async handleFsChanges(mountName, paths) {
945
+ async handleFsChanges(mountName, changes) {
773
946
  const store = this.store;
774
947
  const mount = this.mounts.get(mountName);
775
948
  if (!store || !mount)
776
949
  return;
777
- const result = await syncFromFs(store, mount, paths);
778
- if ((result.synced.length > 0 || result.conflicts.length > 0) && this.ctx) {
950
+ const touchedPaths = changes.filter(c => c.op !== 'deleted').map(c => c.path);
951
+ const deletedPaths = changes.filter(c => c.op === 'deleted').map(c => c.path);
952
+ const syncResult = touchedPaths.length > 0
953
+ ? await syncFromFs(store, mount, touchedPaths)
954
+ : { synced: [], conflicts: [], skipped: [] };
955
+ // Strip deleted entries from the tree so downstream consumers see a
956
+ // coherent state. syncFromFs would also do this if we passed the paths in,
957
+ // but the op from the watcher is authoritative — skip the access() probe.
958
+ for (const p of deletedPaths) {
959
+ const existing = store.treeGet(mount.treeStateId, p);
960
+ if (existing) {
961
+ store.treeRemove(mount.treeStateId, p);
962
+ syncResult.synced.push({ path: p, op: 'deleted' });
963
+ }
964
+ }
965
+ this.emitFsEvents(mountName, syncResult.synced, syncResult.conflicts);
966
+ }
967
+ /**
968
+ * Group synced paths by op and push one ProcessEvent per non-empty op.
969
+ */
970
+ emitFsEvents(mountName, synced, conflicts) {
971
+ if (!this.ctx || synced.length === 0)
972
+ return;
973
+ const byOp = new Map();
974
+ for (const { path, op } of synced) {
975
+ const list = byOp.get(op) ?? [];
976
+ list.push(`${mountName}/${path}`);
977
+ byOp.set(op, list);
978
+ }
979
+ // Conflicts by definition require a prior tree entry (sync detected that
980
+ // the agent-side version diverged from the filesystem baseline), which
981
+ // means the path is being re-synced as a modification. Attach conflicts
982
+ // only to the workspace:modified event, intersected with its paths — a
983
+ // created/deleted batch can't carry a meaningful conflict.
984
+ const conflictsByPath = new Map();
985
+ for (const c of conflicts)
986
+ conflictsByPath.set(c.path, c);
987
+ for (const [op, paths] of byOp) {
988
+ const type = opToEventType(op);
989
+ let eventConflicts;
990
+ if (op === 'modified' && conflictsByPath.size > 0) {
991
+ const matched = paths.filter(p => conflictsByPath.has(p.slice(mountName.length + 1)));
992
+ if (matched.length > 0)
993
+ eventConflicts = matched;
994
+ }
779
995
  const event = {
780
- type: 'workspace:changed',
781
- paths: result.synced.map(p => `${mountName}/${p}`),
996
+ type,
997
+ paths,
782
998
  mount: mountName,
783
- conflicts: result.conflicts.length > 0
784
- ? result.conflicts.map(c => `${mountName}/${c.path}`)
785
- : undefined,
999
+ ...(eventConflicts ? { conflicts: eventConflicts } : {}),
786
1000
  };
787
1001
  this.ctx.pushEvent(event);
788
1002
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,14 @@ export interface ConflictInfo {
19
19
  /** Blob hash of the agent's version (retrievable via store.getBlob()) */
20
20
  agentBlobHash: string;
21
21
  }
22
+ export type SyncOp = 'created' | 'modified' | 'deleted';
23
+ export interface SyncedPath {
24
+ path: string;
25
+ op: SyncOp;
26
+ }
22
27
  export interface SyncResult {
23
- /** Paths that were synced */
24
- synced: string[];
28
+ /** Paths that were synced, tagged with the op detected against tree state */
29
+ synced: SyncedPath[];
25
30
  /** Paths that conflicted (both agent and user modified) — filesystem wins */
26
31
  conflicts: ConflictInfo[];
27
32
  /** Paths that were skipped (binary, too large, etc.) */
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAerD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI5D;AAcD,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,UAAU,CAAC,CAiFrB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAuEnB"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAerD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI5D;AAcD,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,6EAA6E;IAC7E,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,wDAAwD;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,UAAU,CAAC,CAiFrB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAuEnB"}
@@ -68,7 +68,7 @@ export async function syncFromFs(store, mount, paths) {
68
68
  const existing = store.treeGet(mount.treeStateId, relativePath);
69
69
  if (existing) {
70
70
  store.treeRemove(mount.treeStateId, relativePath);
71
- result.synced.push(relativePath);
71
+ result.synced.push({ path: relativePath, op: 'deleted' });
72
72
  }
73
73
  continue;
74
74
  }
@@ -115,7 +115,7 @@ export async function syncFromFs(store, mount, paths) {
115
115
  }
116
116
  }
117
117
  store.treeSet(mount.treeStateId, relativePath, entry);
118
- result.synced.push(relativePath);
118
+ result.synced.push({ path: relativePath, op: existing ? 'modified' : 'created' });
119
119
  }
120
120
  catch {
121
121
  result.skipped.push(relativePath);
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/modules/workspace/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/modules/workspace/sync.ts"],"names":[],"mappings":"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"}