n8nac 0.9.9-next.df19681 → 0.9.9-next.e754dc0

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 (45) hide show
  1. package/README.md +12 -6
  2. package/dist/commands/list.d.ts.map +1 -1
  3. package/dist/commands/list.js +3 -9
  4. package/dist/commands/list.js.map +1 -1
  5. package/dist/commands/sync.d.ts +1 -1
  6. package/dist/commands/sync.d.ts.map +1 -1
  7. package/dist/commands/sync.js +22 -11
  8. package/dist/commands/sync.js.map +1 -1
  9. package/dist/core/index.d.ts +1 -1
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +1 -1
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/services/cli-api.d.ts +2 -1
  14. package/dist/core/services/cli-api.d.ts.map +1 -1
  15. package/dist/core/services/cli-api.js +2 -1
  16. package/dist/core/services/cli-api.js.map +1 -1
  17. package/dist/core/services/resolution-manager.d.ts +2 -2
  18. package/dist/core/services/resolution-manager.d.ts.map +1 -1
  19. package/dist/core/services/resolution-manager.js +16 -2
  20. package/dist/core/services/resolution-manager.js.map +1 -1
  21. package/dist/core/services/state-manager.d.ts +4 -3
  22. package/dist/core/services/state-manager.d.ts.map +1 -1
  23. package/dist/core/services/state-manager.js +2 -2
  24. package/dist/core/services/state-manager.js.map +1 -1
  25. package/dist/core/services/sync-engine.d.ts +2 -2
  26. package/dist/core/services/sync-engine.d.ts.map +1 -1
  27. package/dist/core/services/sync-engine.js +60 -116
  28. package/dist/core/services/sync-engine.js.map +1 -1
  29. package/dist/core/services/sync-manager.d.ts +0 -3
  30. package/dist/core/services/sync-manager.d.ts.map +1 -1
  31. package/dist/core/services/sync-manager.js +7 -19
  32. package/dist/core/services/sync-manager.js.map +1 -1
  33. package/dist/core/services/{watcher.d.ts → workflow-state-tracker.d.ts} +6 -47
  34. package/dist/core/services/workflow-state-tracker.d.ts.map +1 -0
  35. package/dist/core/services/{watcher.js → workflow-state-tracker.js} +90 -468
  36. package/dist/core/services/workflow-state-tracker.js.map +1 -0
  37. package/dist/core/types.d.ts +0 -1
  38. package/dist/core/types.d.ts.map +1 -1
  39. package/dist/core/types.js +0 -1
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/index.js +9 -4
  42. package/dist/index.js.map +1 -1
  43. package/package.json +3 -3
  44. package/dist/core/services/watcher.d.ts.map +0 -1
  45. package/dist/core/services/watcher.js.map +0 -1
package/README.md CHANGED
@@ -47,11 +47,10 @@ Status values:
47
47
 
48
48
  | Status | Meaning | Action |
49
49
  |---|---|---|
50
- | `TRACKED` | Workflow exists on both sides, no local changes detected | Nothing to do |
51
- | `MODIFIED_LOCALLY` | Local file changed since last sync | `push <workflowId>` |
52
- | `CONFLICT` | Both sides changed detected at push/pull time | `pull <workflowId>` (keep remote) or `push <workflowId>` (keep local) |
53
- | `EXIST_ONLY_LOCALLY` | New local file not yet in n8n (or remote was deleted) | `push <workflowId>` to create in n8n |
54
- | `EXIST_ONLY_REMOTELY` | Remote workflow not yet local (or local was deleted) | `pull <workflowId>` to download |
50
+ | `TRACKED` | Workflow exists on both sides, in sync | Nothing to do |
51
+ | `CONFLICT` | Both sides changed detected at push/pull time | `n8nac resolve <id> --mode keep-current` (keep local) or `keep-incoming` (keep remote) |
52
+ | `EXIST_ONLY_LOCALLY` | New local file not yet in n8n (or remote was deleted) | `n8nac push <id>` or `n8nac push --filename <file>` if brand-new |
53
+ | `EXIST_ONLY_REMOTELY` | Remote workflow not yet local (or local was deleted) | `n8nac pull <workflowId>` to download |
55
54
 
56
55
  > **Git-like sync**: Status is a point-in-time observation. Use `fetch` to update remote state cache.
57
56
  > **For agents**: always run `n8nac list` first to get workflow IDs and their current status before pulling or pushing.
@@ -83,13 +82,20 @@ n8nac pull <workflowId>
83
82
 
84
83
  ---
85
84
 
86
- ### `push <workflowId>`
85
+ ### `push`
87
86
  Upload a single local workflow file to n8n.
88
87
 
89
88
  ```bash
89
+ # Existing workflow (has an ID in n8nac list)
90
90
  n8nac push <workflowId>
91
+
92
+ # Brand-new local file never pushed before (no remote ID yet)
93
+ n8nac push --filename my-workflow.workflow.ts
91
94
  ```
92
95
 
96
+ > **Which form to use?** If `n8nac list` shows a workflow with an ID, always use `push <id>`.
97
+ > Only use `--filename` for files that have never been pushed and have no entry in `.n8n-state.json`.
98
+
93
99
  ---
94
100
 
95
101
  ### `resolve <id> --mode <mode>`
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,qBAAa,WAAY,SAAQ,WAAW;IAClC,GAAG,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2GxF,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,UAAU;CASrB"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,qBAAa,WAAY,SAAQ,WAAW;IAClC,GAAG,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGxF,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,UAAU;CAQrB"}
@@ -15,7 +15,6 @@ export class ListCommand extends BaseCommand {
15
15
  // Apply filters based on options
16
16
  if (options?.local) {
17
17
  workflows = workflows.filter(w => w.status === WorkflowSyncStatus.EXIST_ONLY_LOCALLY ||
18
- w.status === WorkflowSyncStatus.MODIFIED_LOCALLY ||
19
18
  w.status === WorkflowSyncStatus.TRACKED ||
20
19
  w.status === WorkflowSyncStatus.CONFLICT);
21
20
  }
@@ -49,10 +48,9 @@ export class ListCommand extends BaseCommand {
49
48
  // Sort workflows by status priority, then by name
50
49
  const statusPriority = {
51
50
  [WorkflowSyncStatus.CONFLICT]: 1,
52
- [WorkflowSyncStatus.MODIFIED_LOCALLY]: 2,
53
- [WorkflowSyncStatus.EXIST_ONLY_LOCALLY]: 3,
54
- [WorkflowSyncStatus.EXIST_ONLY_REMOTELY]: 4,
55
- [WorkflowSyncStatus.TRACKED]: 5
51
+ [WorkflowSyncStatus.EXIST_ONLY_LOCALLY]: 2,
52
+ [WorkflowSyncStatus.EXIST_ONLY_REMOTELY]: 3,
53
+ [WorkflowSyncStatus.TRACKED]: 4,
56
54
  };
57
55
  const sorted = workflows.sort((a, b) => {
58
56
  const priorityDiff = statusPriority[a.status] - statusPriority[b.status];
@@ -83,7 +81,6 @@ export class ListCommand extends BaseCommand {
83
81
  const summary = this.getSummary(workflows);
84
82
  console.log(chalk.bold('Summary:'));
85
83
  console.log(chalk.green(` ✔ Tracked: ${summary.tracked}`));
86
- console.log(chalk.blue(` ✏️ Modified Locally: ${summary.modifiedLocally}`));
87
84
  console.log(chalk.red(` 💥 Conflicts: ${summary.conflicts}`));
88
85
  console.log(chalk.yellow(` + Local Only: ${summary.onlyLocal}`));
89
86
  console.log(chalk.yellow(` - Remote Only: ${summary.onlyRemote}`));
@@ -98,8 +95,6 @@ export class ListCommand extends BaseCommand {
98
95
  switch (status) {
99
96
  case WorkflowSyncStatus.TRACKED:
100
97
  return { icon: '✔', color: chalk.green };
101
- case WorkflowSyncStatus.MODIFIED_LOCALLY:
102
- return { icon: '✏️', color: chalk.blue };
103
98
  case WorkflowSyncStatus.CONFLICT:
104
99
  return { icon: '💥', color: chalk.red };
105
100
  case WorkflowSyncStatus.EXIST_ONLY_LOCALLY:
@@ -113,7 +108,6 @@ export class ListCommand extends BaseCommand {
113
108
  getSummary(workflows) {
114
109
  return {
115
110
  tracked: workflows.filter(w => w.status === WorkflowSyncStatus.TRACKED).length,
116
- modifiedLocally: workflows.filter(w => w.status === WorkflowSyncStatus.MODIFIED_LOCALLY).length,
117
111
  conflicts: workflows.filter(w => w.status === WorkflowSyncStatus.CONFLICT).length,
118
112
  onlyLocal: workflows.filter(w => w.status === WorkflowSyncStatus.EXIST_ONLY_LOCALLY).length,
119
113
  onlyRemote: workflows.filter(w => w.status === WorkflowSyncStatus.EXIST_ONLY_REMOTELY).length
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BaseCommand } from './base.js';
2
2
  export declare class SyncCommand extends BaseCommand {
3
3
  pullOne(workflowId: string): Promise<void>;
4
- pushOne(workflowId: string): Promise<void>;
4
+ pushOne(workflowId?: string, filename?: string): Promise<void>;
5
5
  fetchOne(workflowId: string): Promise<void>;
6
6
  resolveOne(workflowId: string, resolution: 'keep-current' | 'keep-incoming'): Promise<void>;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,qBAAa,WAAY,SAAQ,WAAW;IAElC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC1C,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BpG"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,qBAAa,WAAY,SAAQ,WAAW;IAElC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC1C,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD9D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BpG"}
@@ -17,18 +17,15 @@ export class SyncCommand extends BaseCommand {
17
17
  const filename = syncManager.getFilenameForId(workflowId);
18
18
  if (filename) {
19
19
  const status = await syncManager.getSingleWorkflowDetailedStatus(workflowId, filename);
20
- if (status.status === WorkflowSyncStatus.CONFLICT) {
20
+ const hasConflict = status.status === WorkflowSyncStatus.CONFLICT;
21
+ const hasLocalChanges = !!(status.localHash && status.lastSyncedHash && status.localHash !== status.lastSyncedHash);
22
+ if (hasConflict || hasLocalChanges) {
21
23
  console.log(chalk.red(`💥 Conflict detected for workflow ${workflowId}.`));
22
24
  console.log(chalk.yellow(`To resolve the conflict you can either:`));
23
25
  console.log(` n8nac resolve ${workflowId} --mode keep-current`);
24
26
  console.log(` n8nac resolve ${workflowId} --mode keep-incoming`);
25
27
  return;
26
28
  }
27
- else if (status.status === WorkflowSyncStatus.MODIFIED_LOCALLY) {
28
- console.log(chalk.yellow(`⚠️ Workflow ${workflowId} has local changes. Pulling would overwrite them.`));
29
- console.log(chalk.yellow(`If you want to overwrite local changes, use n8nac resolve ${workflowId} --mode keep-incoming`));
30
- return;
31
- }
32
29
  }
33
30
  const spinner = ora(`Pulling workflow ${workflowId}...`).start();
34
31
  try {
@@ -40,17 +37,31 @@ export class SyncCommand extends BaseCommand {
40
37
  process.exit(1);
41
38
  }
42
39
  }
43
- async pushOne(workflowId) {
40
+ async pushOne(workflowId, filename) {
44
41
  const syncConfig = await this.getSyncConfig();
45
42
  const syncManager = new SyncManager(this.client, syncConfig);
46
43
  // Populate local hash cache FIRST — required for accurate status in CLI mode
47
44
  await syncManager.refreshLocalState();
45
+ if (!workflowId) {
46
+ // Brand-new file: no ID yet, push directly by filename
47
+ const label = filename ?? '(unknown)';
48
+ const spinner = ora(`Pushing new workflow "${label}"...`).start();
49
+ try {
50
+ await syncManager.push(undefined, filename);
51
+ spinner.succeed(chalk.green(`✔ Pushed "${label}" to n8n.`));
52
+ }
53
+ catch (e) {
54
+ spinner.fail(`Push failed: ${e.message}`);
55
+ process.exit(1);
56
+ }
57
+ return;
58
+ }
48
59
  // Warm up the remote cache for this specific workflow
49
60
  await syncManager.fetch(workflowId);
50
- // Get current status and mapping
51
- const filename = syncManager.getFilenameForId(workflowId);
52
- if (filename) {
53
- const status = await syncManager.getSingleWorkflowDetailedStatus(workflowId, filename);
61
+ // Conflict check before pushing
62
+ const resolvedFilename = syncManager.getFilenameForId(workflowId);
63
+ if (resolvedFilename) {
64
+ const status = await syncManager.getSingleWorkflowDetailedStatus(workflowId, resolvedFilename);
54
65
  if (status.status === WorkflowSyncStatus.CONFLICT) {
55
66
  console.log(chalk.red(`💥 Conflict detected for workflow ${workflowId}.`));
56
67
  console.log(chalk.yellow(`To resolve the conflict you can either:`));
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export * from './services/workflow-sanitizer.js';
4
4
  export * from './services/sync-manager.js';
5
5
  export * from './services/cli-api.js';
6
6
  export * from './services/sync-engine.js';
7
- export * from './services/watcher.js';
7
+ export * from './services/workflow-state-tracker.js';
8
8
  export * from './services/resolution-manager.js';
9
9
  export * from './services/state-manager.js';
10
10
  export * from './services/directory-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
@@ -4,7 +4,7 @@ export * from './services/workflow-sanitizer.js';
4
4
  export * from './services/sync-manager.js';
5
5
  export * from './services/cli-api.js';
6
6
  export * from './services/sync-engine.js';
7
- export * from './services/watcher.js';
7
+ export * from './services/workflow-state-tracker.js';
8
8
  export * from './services/resolution-manager.js';
9
9
  export * from './services/state-manager.js';
10
10
  export * from './services/directory-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
@@ -24,7 +24,8 @@ export declare class CliApi {
24
24
  * Mirrors `n8nac list`
25
25
  *
26
26
  * Returns a lightweight list of all workflows with basic status:
27
- * EXIST_ONLY_LOCALLY | EXIST_ONLY_REMOTELY | TRACKED | MODIFIED_LOCALLY | CONFLICT
27
+ * EXIST_ONLY_LOCALLY | EXIST_ONLY_REMOTELY | TRACKED | CONFLICT
28
+ * (CONFLICT is only returned by getSingleWorkflowDetailedStatus, not by list)
28
29
  *
29
30
  * Pass `{ fetchRemote: true }` to force a fresh remote metadata fetch
30
31
  * (equivalent to running `n8nac list` which always fetches remote).
@@ -1 +1 @@
1
- {"version":3,"file":"cli-api.d.ts","sourceRoot":"","sources":["../../../src/core/services/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElE,qBAAa,MAAM;IACf,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAMpC;;;;;;;;;;OAUG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAM3E;;;;;;;;OAQG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD;;;;;;;;OAQG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE;;;;OAIG;IACG,eAAe,CACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,GAAG,eAAe,GAC7C,OAAO,CAAC,IAAI,CAAC;IAKhB;;;OAGG;IACG,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;CAG7E"}
1
+ {"version":3,"file":"cli-api.d.ts","sourceRoot":"","sources":["../../../src/core/services/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElE,qBAAa,MAAM;IACf,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,WAAW;IAMpC;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAM3E;;;;;;;;OAQG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjD;;;;;;;;OAQG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE;;;;OAIG;IACG,eAAe,CACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,GAAG,eAAe,GAC7C,OAAO,CAAC,IAAI,CAAC;IAKhB;;;OAGG;IACG,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;CAG7E"}
@@ -25,7 +25,8 @@ export class CliApi {
25
25
  * Mirrors `n8nac list`
26
26
  *
27
27
  * Returns a lightweight list of all workflows with basic status:
28
- * EXIST_ONLY_LOCALLY | EXIST_ONLY_REMOTELY | TRACKED | MODIFIED_LOCALLY | CONFLICT
28
+ * EXIST_ONLY_LOCALLY | EXIST_ONLY_REMOTELY | TRACKED | CONFLICT
29
+ * (CONFLICT is only returned by getSingleWorkflowDetailedStatus, not by list)
29
30
  *
30
31
  * Pass `{ fetchRemote: true }` to force a fresh remote metadata fetch
31
32
  * (equivalent to running `n8nac list` which always fetches remote).
@@ -1 +1 @@
1
- {"version":3,"file":"cli-api.js","sourceRoot":"","sources":["../../../src/core/services/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,MAAM,OAAO,MAAM;IACP,WAAW,CAAc;IAEjC,YAAY,WAAwB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,CAAC,OAAmC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,QAAiB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,4EAA4E;IAE5E;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACjB,UAAkB,EAClB,QAAgB,EAChB,UAA4C;QAE5C,MAAM,IAAI,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,+BAA+B,CAAC,UAAkB,EAAE,QAAgB;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
1
+ {"version":3,"file":"cli-api.js","sourceRoot":"","sources":["../../../src/core/services/cli-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,MAAM,OAAO,MAAM;IACP,WAAW,CAAc;IAEjC,YAAY,WAAwB;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAC,OAAmC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI,CAAC,UAAkB,EAAE,QAAiB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,4EAA4E;IAE5E;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACjB,UAAkB,EAClB,QAAgB,EAChB,UAA4C;QAE5C,MAAM,IAAI,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,+BAA+B,CAAC,UAAkB,EAAE,QAAgB;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
1
  import { SyncEngine } from './sync-engine.js';
2
- import { Watcher } from './watcher.js';
2
+ import { WorkflowStateTracker } from './workflow-state-tracker.js';
3
3
  import { WorkflowSyncStatus } from '../types.js';
4
4
  import { N8nApiClient } from './n8n-api-client.js';
5
5
  /**
@@ -16,7 +16,7 @@ export declare class ResolutionManager {
16
16
  private watcher;
17
17
  private client;
18
18
  private directory;
19
- constructor(syncEngine: SyncEngine, watcher: Watcher, client: N8nApiClient);
19
+ constructor(syncEngine: SyncEngine, watcher: WorkflowStateTracker, client: N8nApiClient);
20
20
  /**
21
21
  * 6.1 Conflict Resolution - KEEP LOCAL
22
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resolution-manager.d.ts","sourceRoot":"","sources":["../../../src/core/services/resolution-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;IAQ1E;;;;;OAKG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7E;;;;;OAKG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;;OAKG;IACU,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,YAAY,EAAE,GAAG,CAAC;QAClB,aAAa,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IA4BF;;;;;OAKG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GAAG,QAAQ,GACjC,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;OAKG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GAAG,QAAQ,GACjC,OAAO,CAAC,MAAM,CAAC;IAYlB;;OAEG;IACU,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACxF,MAAM,EAAE,kBAAkB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAoBF,OAAO,CAAC,YAAY;CAOvB"}
1
+ {"version":3,"file":"resolution-manager.d.ts","sourceRoot":"","sources":["../../../src/core/services/resolution-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAQvF;;;;;OAKG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7E;;;;;OAKG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;;OAKG;IACU,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACjE,YAAY,EAAE,GAAG,CAAC;QAClB,aAAa,EAAE,GAAG,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IA4BF;;;;;OAKG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GAAG,QAAQ,GACjC,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;OAKG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GAAG,QAAQ,GACjC,OAAO,CAAC,MAAM,CAAC;IAYlB;;OAEG;IACU,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACxF,MAAM,EAAE,kBAAkB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAgCF,OAAO,CAAC,YAAY;CAOvB"}
@@ -2,6 +2,7 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { WorkflowSanitizer } from './workflow-sanitizer.js';
4
4
  import { HashUtils } from './hash-utils.js';
5
+ import { WorkflowTransformerAdapter } from './workflow-transformer-adapter.js';
5
6
  /**
6
7
  * Resolution & Validation Manager
7
8
  *
@@ -108,10 +109,23 @@ export class ResolutionManager {
108
109
  * Get current status for a workflow
109
110
  */
110
111
  async getSingleWorkflowDetailedStatus(workflowId, filename) {
112
+ // Recompute local hash from disk — do NOT use the in-memory cache which may be
113
+ // stale in VSCode mode (change events are suppressed by the file system watcher).
114
+ const filePath = path.join(this.directory, filename);
115
+ let localHash;
116
+ if (fs.existsSync(filePath)) {
117
+ try {
118
+ const tsContent = fs.readFileSync(filePath, 'utf-8');
119
+ localHash = await WorkflowTransformerAdapter.hashWorkflow(tsContent);
120
+ // Keep cache in sync so calculateStatus() sees the fresh value
121
+ this.watcher.localHashes?.set(filename, localHash);
122
+ }
123
+ catch {
124
+ // unparseable file — treat as no local hash
125
+ }
126
+ }
111
127
  const status = this.watcher.calculateStatus(filename, workflowId);
112
128
  const lastSyncedHash = this.watcher.getLastSyncedHash(workflowId);
113
- // Get local hash from watcher cache (already computed during scan/watch)
114
- const localHash = this.watcher.localHashes?.get(filename);
115
129
  // Get remote hash from watcher cache
116
130
  const remoteHash = this.watcher.remoteHashes?.get(workflowId);
117
131
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"resolution-manager.js","sourceRoot":"","sources":["../../../src/core/services/resolution-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolution-manager.js","sourceRoot":"","sources":["../../../src/core/services/resolution-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export interface IWorkflowState {
2
2
  lastSyncedHash: string;
3
3
  lastSyncedAt: string;
4
- filename: string;
4
+ /** @deprecated Kept for backward-compat when reading existing state files; no longer written. */
5
+ filename?: string;
5
6
  }
6
7
  export interface IInstanceState {
7
8
  workflows: Record<string, IWorkflowState>;
@@ -13,7 +14,7 @@ export interface IInstanceState {
13
14
  * 1. Read state from .n8n-state.json
14
15
  * 2. Provide read-only access to workflow states
15
16
  *
16
- * Note: Write operations are handled exclusively by Watcher component
17
+ * Note: Write operations are handled exclusively by WorkflowStateTracker component
17
18
  * to maintain single source of truth for state mutations.
18
19
  */
19
20
  export declare class StateManager {
@@ -36,7 +37,7 @@ export declare class StateManager {
36
37
  */
37
38
  isSynced(id: string, currentHash: string): boolean;
38
39
  /**
39
- * Get the entire state object (for Watcher's internal use)
40
+ * Get the entire state object (for WorkflowStateTracker's internal use)
40
41
  * @internal
41
42
  */
42
43
  getFullState(): IInstanceState;
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../../src/core/services/state-manager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACH,OAAO,CAAC,IAAI;IAgBZ;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAKxD;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAKjC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAMlD;;;OAGG;IACH,YAAY,IAAI,cAAc;CAGjC"}
1
+ {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../../src/core/services/state-manager.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,aAAa,CAAS;gBAElB,SAAS,EAAE,MAAM;IAI7B;;OAEG;IACH,OAAO,CAAC,IAAI;IAgBZ;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAKxD;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAKjC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAMlD;;;OAGG;IACH,YAAY,IAAI,cAAc;CAGjC"}
@@ -7,7 +7,7 @@ import path from 'path';
7
7
  * 1. Read state from .n8n-state.json
8
8
  * 2. Provide read-only access to workflow states
9
9
  *
10
- * Note: Write operations are handled exclusively by Watcher component
10
+ * Note: Write operations are handled exclusively by WorkflowStateTracker component
11
11
  * to maintain single source of truth for state mutations.
12
12
  */
13
13
  export class StateManager {
@@ -58,7 +58,7 @@ export class StateManager {
58
58
  return state.lastSyncedHash === currentHash;
59
59
  }
60
60
  /**
61
- * Get the entire state object (for Watcher's internal use)
61
+ * Get the entire state object (for WorkflowStateTracker's internal use)
62
62
  * @internal
63
63
  */
64
64
  getFullState() {
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../../src/core/services/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACb,aAAa,CAAS;IAE9B,YAAY,SAAiB;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,IAAI;QACR,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,iCAAiC;gBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,WAAmB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,cAAc,KAAK,WAAW,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACJ"}
1
+ {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../../src/core/services/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAcxB;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IACb,aAAa,CAAS;IAE9B,YAAY,SAAiB;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,IAAI;QACR,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,iCAAiC;gBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,WAAmB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,cAAc,KAAK,WAAW,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
1
  import { N8nApiClient } from './n8n-api-client.js';
2
- import { Watcher } from './watcher.js';
2
+ import { WorkflowStateTracker } from './workflow-state-tracker.js';
3
3
  import { WorkflowSyncStatus } from '../types.js';
4
4
  /**
5
5
  * Sync Engine - State Mutation Component
@@ -15,7 +15,7 @@ export declare class SyncEngine {
15
15
  private client;
16
16
  private watcher;
17
17
  private directory;
18
- constructor(client: N8nApiClient, watcher: Watcher, directory: string);
18
+ constructor(client: N8nApiClient, watcher: WorkflowStateTracker, directory: string);
19
19
  /**
20
20
  * PULL Strategy: Remote -> Local
21
21
  * Based on spec 5.2 PULL Strategy table
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../../src/core/services/sync-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAa,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAS;gBAGtB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM;IAOrB;;;OAGG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClG;;;OAGG;IACU,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDtG;;OAEG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3E;;;OAGG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoC7E;;;OAGG;IACU,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAchE,WAAW;YAyBX,aAAa;YA0Db,aAAa;IAwC3B,OAAO,CAAC,kBAAkB;CAO7B"}
1
+ {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../../src/core/services/sync-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAa,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAS;gBAGtB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,MAAM;IAOrB;;;OAGG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlG;;;OAGG;IACU,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BtG;;OAEG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3E;;;OAGG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B7E;;;OAGG;IACU,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKhE,WAAW;YAyBX,aAAa;YA0Db,aAAa;IAwC3B,OAAO,CAAC,kBAAkB;CAO7B"}