@sudocode-ai/cli 0.1.12 → 0.1.13

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 (88) hide show
  1. package/dist/cli/init-commands.d.ts.map +1 -1
  2. package/dist/cli/init-commands.js +6 -2
  3. package/dist/cli/init-commands.js.map +1 -1
  4. package/dist/cli/plugin-commands.d.ts +62 -0
  5. package/dist/cli/plugin-commands.d.ts.map +1 -0
  6. package/dist/cli/plugin-commands.js +595 -0
  7. package/dist/cli/plugin-commands.js.map +1 -0
  8. package/dist/cli.js +73 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +40 -0
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +35 -0
  13. package/dist/config.js.map +1 -1
  14. package/dist/export.d.ts +10 -5
  15. package/dist/export.d.ts.map +1 -1
  16. package/dist/export.js +88 -18
  17. package/dist/export.js.map +1 -1
  18. package/dist/import.d.ts.map +1 -1
  19. package/dist/import.js +20 -0
  20. package/dist/import.js.map +1 -1
  21. package/dist/integrations/base-provider.d.ts +108 -0
  22. package/dist/integrations/base-provider.d.ts.map +1 -0
  23. package/dist/integrations/base-provider.js +80 -0
  24. package/dist/integrations/base-provider.js.map +1 -0
  25. package/dist/integrations/config-resolver.d.ts +62 -0
  26. package/dist/integrations/config-resolver.d.ts.map +1 -0
  27. package/dist/integrations/config-resolver.js +69 -0
  28. package/dist/integrations/config-resolver.js.map +1 -0
  29. package/dist/integrations/config-validator.d.ts +75 -0
  30. package/dist/integrations/config-validator.d.ts.map +1 -0
  31. package/dist/integrations/config-validator.js +129 -0
  32. package/dist/integrations/config-validator.js.map +1 -0
  33. package/dist/integrations/index.d.ts +14 -0
  34. package/dist/integrations/index.d.ts.map +1 -0
  35. package/dist/integrations/index.js +20 -0
  36. package/dist/integrations/index.js.map +1 -0
  37. package/dist/integrations/plugin-loader.d.ts +69 -0
  38. package/dist/integrations/plugin-loader.d.ts.map +1 -0
  39. package/dist/integrations/plugin-loader.js +172 -0
  40. package/dist/integrations/plugin-loader.js.map +1 -0
  41. package/dist/integrations/registry.d.ts +67 -0
  42. package/dist/integrations/registry.d.ts.map +1 -0
  43. package/dist/integrations/registry.js +77 -0
  44. package/dist/integrations/registry.js.map +1 -0
  45. package/dist/integrations/sync-coordinator.d.ts +186 -0
  46. package/dist/integrations/sync-coordinator.d.ts.map +1 -0
  47. package/dist/integrations/sync-coordinator.js +776 -0
  48. package/dist/integrations/sync-coordinator.js.map +1 -0
  49. package/dist/integrations/types.d.ts +142 -0
  50. package/dist/integrations/types.d.ts.map +1 -0
  51. package/dist/integrations/types.js +6 -0
  52. package/dist/integrations/types.js.map +1 -0
  53. package/dist/integrations/utils/conflict-resolver.d.ts +79 -0
  54. package/dist/integrations/utils/conflict-resolver.d.ts.map +1 -0
  55. package/dist/integrations/utils/conflict-resolver.js +106 -0
  56. package/dist/integrations/utils/conflict-resolver.js.map +1 -0
  57. package/dist/operations/external-links.d.ts +106 -0
  58. package/dist/operations/external-links.d.ts.map +1 -0
  59. package/dist/operations/external-links.js +300 -0
  60. package/dist/operations/external-links.js.map +1 -0
  61. package/dist/operations/feedback.d.ts.map +1 -1
  62. package/dist/operations/feedback.js +3 -1
  63. package/dist/operations/feedback.js.map +1 -1
  64. package/dist/operations/index.d.ts +1 -0
  65. package/dist/operations/index.d.ts.map +1 -1
  66. package/dist/operations/index.js +1 -0
  67. package/dist/operations/index.js.map +1 -1
  68. package/dist/operations/issues.d.ts +2 -0
  69. package/dist/operations/issues.d.ts.map +1 -1
  70. package/dist/operations/issues.js +34 -5
  71. package/dist/operations/issues.js.map +1 -1
  72. package/dist/operations/relationships.d.ts.map +1 -1
  73. package/dist/operations/relationships.js +6 -2
  74. package/dist/operations/relationships.js.map +1 -1
  75. package/dist/operations/specs.d.ts +2 -0
  76. package/dist/operations/specs.d.ts.map +1 -1
  77. package/dist/operations/specs.js +32 -4
  78. package/dist/operations/specs.js.map +1 -1
  79. package/dist/sync.d.ts +3 -3
  80. package/dist/sync.d.ts.map +1 -1
  81. package/dist/sync.js +2 -0
  82. package/dist/sync.js.map +1 -1
  83. package/dist/types.d.ts +1 -1
  84. package/dist/types.d.ts.map +1 -1
  85. package/dist/watcher.d.ts.map +1 -1
  86. package/dist/watcher.js +11 -6
  87. package/dist/watcher.js.map +1 -1
  88. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-coordinator.js","sourceRoot":"","sources":["../../src/integrations/sync-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Integration provider types for sudocode
3
+ * Defines interfaces for integration providers and the provider registry
4
+ */
5
+ import type { Spec, Issue, ExternalEntity, ExternalChange, IntegrationConfig } from "@sudocode-ai/types";
6
+ /**
7
+ * Interface that all integration providers must implement
8
+ *
9
+ * Providers handle communication with external systems (Jira, Beads, etc.)
10
+ * and provide bidirectional sync capabilities.
11
+ */
12
+ export interface IntegrationProvider {
13
+ /** Unique name of this provider (e.g., "jira", "beads") */
14
+ readonly name: string;
15
+ /** Whether this provider supports real-time watching for changes */
16
+ readonly supportsWatch: boolean;
17
+ /** Whether this provider supports polling for changes */
18
+ readonly supportsPolling: boolean;
19
+ /**
20
+ * Initialize the provider with configuration
21
+ * Called once before any other methods are used
22
+ */
23
+ initialize(config: IntegrationConfig): Promise<void>;
24
+ /**
25
+ * Validate that the provider is properly configured and can connect
26
+ * @returns Validation result with validity flag and any errors
27
+ */
28
+ validate(): Promise<{
29
+ valid: boolean;
30
+ errors: string[];
31
+ }>;
32
+ /**
33
+ * Clean up resources when the provider is no longer needed
34
+ */
35
+ dispose(): Promise<void>;
36
+ /**
37
+ * Fetch a single entity from the external system
38
+ * @param externalId - The ID in the external system
39
+ * @returns The external entity, or null if not found
40
+ */
41
+ fetchEntity(externalId: string): Promise<ExternalEntity | null>;
42
+ /**
43
+ * Search for entities in the external system
44
+ * @param query - Optional search query
45
+ * @returns Array of matching external entities
46
+ */
47
+ searchEntities(query?: string): Promise<ExternalEntity[]>;
48
+ /**
49
+ * Create a new entity in the external system
50
+ * @param entity - The sudocode entity to create externally
51
+ * @returns The ID of the newly created external entity
52
+ */
53
+ createEntity(entity: Partial<Spec | Issue>): Promise<string>;
54
+ /**
55
+ * Update an existing entity in the external system
56
+ * @param externalId - The ID in the external system
57
+ * @param entity - The updated sudocode entity data
58
+ */
59
+ updateEntity(externalId: string, entity: Partial<Spec | Issue>): Promise<void>;
60
+ /**
61
+ * Delete an entity from the external system (optional)
62
+ * @param externalId - The ID in the external system
63
+ */
64
+ deleteEntity?(externalId: string): Promise<void>;
65
+ /**
66
+ * Get changes that have occurred since a given timestamp
67
+ * Used for polling-based sync
68
+ * @param timestamp - Get changes after this time
69
+ * @returns Array of changes detected
70
+ */
71
+ getChangesSince(timestamp: Date): Promise<ExternalChange[]>;
72
+ /**
73
+ * Start watching for real-time changes (optional)
74
+ * @param callback - Function to call when changes are detected
75
+ */
76
+ startWatching?(callback: (changes: ExternalChange[]) => void): void;
77
+ /**
78
+ * Stop watching for real-time changes (optional)
79
+ */
80
+ stopWatching?(): void;
81
+ /**
82
+ * Map an external entity to sudocode format
83
+ * @param external - The external entity
84
+ * @returns Partial spec and/or issue data
85
+ */
86
+ mapToSudocode(external: ExternalEntity): {
87
+ spec?: Partial<Spec>;
88
+ issue?: Partial<Issue>;
89
+ };
90
+ /**
91
+ * Map a sudocode entity to external format
92
+ * @param entity - The sudocode spec or issue
93
+ * @returns Partial external entity data
94
+ */
95
+ mapFromSudocode(entity: Spec | Issue): Partial<ExternalEntity>;
96
+ /**
97
+ * Parse an external ID into provider and ID components
98
+ * @param id - The external ID (may include provider prefix)
99
+ * @returns Object with provider name and ID
100
+ */
101
+ parseExternalId(id: string): {
102
+ provider: string;
103
+ id: string;
104
+ };
105
+ /**
106
+ * Format an ID with the provider prefix
107
+ * @param id - The raw external ID
108
+ * @returns Formatted ID with provider prefix (e.g., "jira:PROJ-123")
109
+ */
110
+ formatExternalId(id: string): string;
111
+ }
112
+ /**
113
+ * Registry for managing integration providers
114
+ *
115
+ * Provides a central place to register and look up providers by name.
116
+ */
117
+ export interface ProviderRegistry {
118
+ /**
119
+ * Register a provider in the registry
120
+ * @param provider - The provider to register
121
+ * @throws Error if a provider with the same name is already registered
122
+ */
123
+ register(provider: IntegrationProvider): void;
124
+ /**
125
+ * Get a provider by name
126
+ * @param name - The provider name
127
+ * @returns The provider, or undefined if not found
128
+ */
129
+ get(name: string): IntegrationProvider | undefined;
130
+ /**
131
+ * Get all registered providers
132
+ * @returns Array of all providers
133
+ */
134
+ getAll(): IntegrationProvider[];
135
+ /**
136
+ * Check if a provider is registered
137
+ * @param name - The provider name
138
+ * @returns True if registered
139
+ */
140
+ has(name: string): boolean;
141
+ }
142
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/integrations/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAMlC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAE1D;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAMzB;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAEhE;;;;OAIG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE1D;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7D;;;;OAIG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjD;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAM5D;;;OAGG;IACH,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAEpE;;OAEG;IACH,YAAY,CAAC,IAAI,IAAI,CAAC;IAMtB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG;QACvC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KACxB,CAAC;IAEF;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAM/D;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAE9D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,MAAM,IAAI,mBAAmB,EAAE,CAAC;IAEhC;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Integration provider types for sudocode
3
+ * Defines interfaces for integration providers and the provider registry
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/integrations/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Conflict resolution utilities for sync operations
3
+ *
4
+ * Provides strategies for resolving conflicts when both sudocode
5
+ * and an external system have modified the same entity since last sync.
6
+ */
7
+ import type { SyncConflict, ConflictResolution } from "@sudocode-ai/types";
8
+ /**
9
+ * Log entry for conflict resolution audit trail
10
+ */
11
+ export interface ConflictLog {
12
+ /** When the conflict was resolved */
13
+ timestamp: string;
14
+ /** The conflict details */
15
+ conflict: SyncConflict;
16
+ /** How the conflict was resolved */
17
+ resolution: "sudocode" | "external" | "skip";
18
+ /** The strategy used to resolve */
19
+ strategy: ConflictResolution;
20
+ }
21
+ /**
22
+ * Resolve a conflict using the specified strategy
23
+ *
24
+ * @param conflict - The sync conflict to resolve
25
+ * @param strategy - The resolution strategy to use
26
+ * @returns The resolution decision
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const conflict = {
31
+ * sudocode_entity_id: 'i-abc',
32
+ * external_id: 'PROJ-123',
33
+ * provider: 'jira',
34
+ * sudocode_updated_at: '2025-01-01T12:00:00Z',
35
+ * external_updated_at: '2025-01-01T11:00:00Z',
36
+ * };
37
+ *
38
+ * // Sudocode is newer, so newest-wins returns 'sudocode'
39
+ * const resolution = resolveByStrategy(conflict, 'newest-wins');
40
+ * console.log(resolution); // 'sudocode'
41
+ * ```
42
+ */
43
+ export declare function resolveByStrategy(conflict: SyncConflict, strategy: ConflictResolution): "sudocode" | "external" | "skip";
44
+ /**
45
+ * Log a conflict resolution for audit purposes
46
+ *
47
+ * @param log - The conflict log entry
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * logConflict({
52
+ * timestamp: new Date().toISOString(),
53
+ * conflict: { ... },
54
+ * resolution: 'sudocode',
55
+ * strategy: 'newest-wins',
56
+ * });
57
+ * ```
58
+ */
59
+ export declare function logConflict(log: ConflictLog): void;
60
+ /**
61
+ * Create a conflict log entry
62
+ *
63
+ * @param conflict - The sync conflict
64
+ * @param resolution - The resolution decision
65
+ * @param strategy - The strategy used
66
+ * @returns A complete conflict log entry
67
+ */
68
+ export declare function createConflictLog(conflict: SyncConflict, resolution: "sudocode" | "external" | "skip", strategy: ConflictResolution): ConflictLog;
69
+ /**
70
+ * Determine if two timestamps represent a conflict
71
+ * (both updated since a reference time)
72
+ *
73
+ * @param sudocodeUpdated - When sudocode entity was updated
74
+ * @param externalUpdated - When external entity was updated
75
+ * @param lastSynced - When entities were last synced
76
+ * @returns True if both were updated since last sync
77
+ */
78
+ export declare function isConflict(sudocodeUpdated: Date | string, externalUpdated: Date | string, lastSynced: Date | string): boolean;
79
+ //# sourceMappingURL=conflict-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-resolver.d.ts","sourceRoot":"","sources":["../../../src/integrations/utils/conflict-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,oCAAoC;IACpC,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,mCAAmC;IACnC,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,GAAG,UAAU,GAAG,MAAM,CAqBlC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAYlD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,EAC5C,QAAQ,EAAE,kBAAkB,GAC3B,WAAW,CAOb;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,eAAe,EAAE,IAAI,GAAG,MAAM,EAC9B,eAAe,EAAE,IAAI,GAAG,MAAM,EAC9B,UAAU,EAAE,IAAI,GAAG,MAAM,GACxB,OAAO,CAMT"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Conflict resolution utilities for sync operations
3
+ *
4
+ * Provides strategies for resolving conflicts when both sudocode
5
+ * and an external system have modified the same entity since last sync.
6
+ */
7
+ /**
8
+ * Resolve a conflict using the specified strategy
9
+ *
10
+ * @param conflict - The sync conflict to resolve
11
+ * @param strategy - The resolution strategy to use
12
+ * @returns The resolution decision
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const conflict = {
17
+ * sudocode_entity_id: 'i-abc',
18
+ * external_id: 'PROJ-123',
19
+ * provider: 'jira',
20
+ * sudocode_updated_at: '2025-01-01T12:00:00Z',
21
+ * external_updated_at: '2025-01-01T11:00:00Z',
22
+ * };
23
+ *
24
+ * // Sudocode is newer, so newest-wins returns 'sudocode'
25
+ * const resolution = resolveByStrategy(conflict, 'newest-wins');
26
+ * console.log(resolution); // 'sudocode'
27
+ * ```
28
+ */
29
+ export function resolveByStrategy(conflict, strategy) {
30
+ switch (strategy) {
31
+ case "sudocode-wins":
32
+ return "sudocode";
33
+ case "external-wins":
34
+ return "external";
35
+ case "newest-wins": {
36
+ const sudocodeTime = new Date(conflict.sudocode_updated_at).getTime();
37
+ const externalTime = new Date(conflict.external_updated_at).getTime();
38
+ // If timestamps are equal, prefer sudocode (arbitrary but consistent)
39
+ return sudocodeTime >= externalTime ? "sudocode" : "external";
40
+ }
41
+ case "manual":
42
+ default:
43
+ // Manual resolution requires external callback; skip by default
44
+ return "skip";
45
+ }
46
+ }
47
+ /**
48
+ * Log a conflict resolution for audit purposes
49
+ *
50
+ * @param log - The conflict log entry
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * logConflict({
55
+ * timestamp: new Date().toISOString(),
56
+ * conflict: { ... },
57
+ * resolution: 'sudocode',
58
+ * strategy: 'newest-wins',
59
+ * });
60
+ * ```
61
+ */
62
+ export function logConflict(log) {
63
+ // In a production system, this could write to a log file or emit events
64
+ // For now, just log to console in a structured format
65
+ console.warn("[Sync Conflict]", {
66
+ provider: log.conflict.provider,
67
+ entity: log.conflict.sudocode_entity_id,
68
+ external: log.conflict.external_id,
69
+ resolution: log.resolution,
70
+ strategy: log.strategy,
71
+ sudocode_updated: log.conflict.sudocode_updated_at,
72
+ external_updated: log.conflict.external_updated_at,
73
+ });
74
+ }
75
+ /**
76
+ * Create a conflict log entry
77
+ *
78
+ * @param conflict - The sync conflict
79
+ * @param resolution - The resolution decision
80
+ * @param strategy - The strategy used
81
+ * @returns A complete conflict log entry
82
+ */
83
+ export function createConflictLog(conflict, resolution, strategy) {
84
+ return {
85
+ timestamp: new Date().toISOString(),
86
+ conflict,
87
+ resolution,
88
+ strategy,
89
+ };
90
+ }
91
+ /**
92
+ * Determine if two timestamps represent a conflict
93
+ * (both updated since a reference time)
94
+ *
95
+ * @param sudocodeUpdated - When sudocode entity was updated
96
+ * @param externalUpdated - When external entity was updated
97
+ * @param lastSynced - When entities were last synced
98
+ * @returns True if both were updated since last sync
99
+ */
100
+ export function isConflict(sudocodeUpdated, externalUpdated, lastSynced) {
101
+ const sudocodeTime = new Date(sudocodeUpdated).getTime();
102
+ const externalTime = new Date(externalUpdated).getTime();
103
+ const syncTime = new Date(lastSynced).getTime();
104
+ return sudocodeTime > syncTime && externalTime > syncTime;
105
+ }
106
+ //# sourceMappingURL=conflict-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../../../src/integrations/utils/conflict-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsB,EACtB,QAA4B;IAE5B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,UAAU,CAAC;QAEpB,KAAK,eAAe;YAClB,OAAO,UAAU,CAAC;QAEpB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;YAEtE,sEAAsE;YACtE,OAAO,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAChE,CAAC;QAED,KAAK,QAAQ,CAAC;QACd;YACE,gEAAgE;YAChE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,GAAgB;IAC1C,wEAAwE;IACxE,sDAAsD;IACtD,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ;QAC/B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,kBAAkB;QACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW;QAClC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB;QAClD,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB;KACnD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsB,EACtB,UAA4C,EAC5C,QAA4B;IAE5B,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ;QACR,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,eAA8B,EAC9B,eAA8B,EAC9B,UAAyB;IAEzB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAEhD,OAAO,YAAY,GAAG,QAAQ,IAAI,YAAY,GAAG,QAAQ,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * External link operations for Specs and Issues
3
+ * External links are stored in JSONL (not SQLite), so these operations
4
+ * work directly with JSONL files.
5
+ */
6
+ import type { ExternalLink, SpecJSONL, IssueJSONL, IntegrationProviderName, IssueStatus, SyncDirection } from "../types.js";
7
+ /**
8
+ * Get a spec from JSONL by ID
9
+ */
10
+ export declare function getSpecFromJsonl(sudocodeDir: string, specId: string): SpecJSONL | null;
11
+ /**
12
+ * Add an external link to a spec
13
+ */
14
+ export declare function addExternalLinkToSpec(sudocodeDir: string, specId: string, link: ExternalLink): SpecJSONL;
15
+ /**
16
+ * Remove an external link from a spec
17
+ */
18
+ export declare function removeExternalLinkFromSpec(sudocodeDir: string, specId: string, externalId: string): SpecJSONL;
19
+ /**
20
+ * Update sync metadata for an external link on a spec
21
+ */
22
+ export declare function updateSpecExternalLinkSync(sudocodeDir: string, specId: string, externalId: string, updates: Partial<Pick<ExternalLink, "last_synced_at" | "external_updated_at" | "sync_enabled">>): SpecJSONL;
23
+ /**
24
+ * Find specs by external link
25
+ */
26
+ export declare function findSpecsByExternalLink(sudocodeDir: string, provider: IntegrationProviderName, externalId: string): SpecJSONL[];
27
+ /**
28
+ * Get all external links for a spec
29
+ */
30
+ export declare function getSpecExternalLinks(sudocodeDir: string, specId: string): ExternalLink[];
31
+ /**
32
+ * Get an issue from JSONL by ID
33
+ */
34
+ export declare function getIssueFromJsonl(sudocodeDir: string, issueId: string): IssueJSONL | null;
35
+ /**
36
+ * Add an external link to an issue
37
+ */
38
+ export declare function addExternalLinkToIssue(sudocodeDir: string, issueId: string, link: ExternalLink): IssueJSONL;
39
+ /**
40
+ * Remove an external link from an issue
41
+ */
42
+ export declare function removeExternalLinkFromIssue(sudocodeDir: string, issueId: string, externalId: string): IssueJSONL;
43
+ /**
44
+ * Update sync metadata for an external link on an issue
45
+ */
46
+ export declare function updateIssueExternalLinkSync(sudocodeDir: string, issueId: string, externalId: string, updates: Partial<Pick<ExternalLink, "last_synced_at" | "external_updated_at" | "sync_enabled">>): IssueJSONL;
47
+ /**
48
+ * Find issues by external link
49
+ */
50
+ export declare function findIssuesByExternalLink(sudocodeDir: string, provider: IntegrationProviderName, externalId: string): IssueJSONL[];
51
+ /**
52
+ * Get all external links for an issue
53
+ */
54
+ export declare function getIssueExternalLinks(sudocodeDir: string, issueId: string): ExternalLink[];
55
+ /**
56
+ * Find all entities (specs and issues) by external link
57
+ */
58
+ export declare function findEntitiesByExternalLink(sudocodeDir: string, provider: IntegrationProviderName, externalId: string): {
59
+ specs: SpecJSONL[];
60
+ issues: IssueJSONL[];
61
+ };
62
+ /**
63
+ * Input for creating an issue from an external entity
64
+ */
65
+ export interface CreateIssueFromExternalInput {
66
+ /** Issue title */
67
+ title: string;
68
+ /** Issue content/description */
69
+ content?: string;
70
+ /** Issue status */
71
+ status?: IssueStatus;
72
+ /** Priority (0-4) */
73
+ priority?: number;
74
+ /** External system info for auto-linking */
75
+ external: {
76
+ provider: IntegrationProviderName;
77
+ external_id: string;
78
+ sync_direction?: SyncDirection;
79
+ };
80
+ }
81
+ /**
82
+ * Create a new sudocode issue from an external entity
83
+ * Automatically establishes the external_link
84
+ *
85
+ * @param sudocodeDir - Path to .sudocode directory
86
+ * @param input - Issue data and external link info
87
+ * @returns The created issue
88
+ */
89
+ export declare function createIssueFromExternal(sudocodeDir: string, input: CreateIssueFromExternalInput): IssueJSONL;
90
+ /**
91
+ * Delete an issue by ID
92
+ *
93
+ * @param sudocodeDir - Path to .sudocode directory
94
+ * @param issueId - ID of issue to delete
95
+ * @returns true if deleted, false if not found
96
+ */
97
+ export declare function deleteIssueFromJsonl(sudocodeDir: string, issueId: string): boolean;
98
+ /**
99
+ * Close an issue (set status to 'closed')
100
+ *
101
+ * @param sudocodeDir - Path to .sudocode directory
102
+ * @param issueId - ID of issue to close
103
+ * @returns The closed issue, or null if not found
104
+ */
105
+ export declare function closeIssueInJsonl(sudocodeDir: string, issueId: string): IssueJSONL | null;
106
+ //# sourceMappingURL=external-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-links.d.ts","sourceRoot":"","sources":["../../src/operations/external-links.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AA2BrB;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,SAAS,GAAG,IAAI,CAIlB;AA0BD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,GACjB,SAAS,CAmBX;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,SAAS,CAOX;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CACd,IAAI,CACF,YAAY,EACZ,gBAAgB,GAAG,qBAAqB,GAAG,cAAc,CAC1D,CACF,GACA,SAAS,CAUX;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,MAAM,GACjB,SAAS,EAAE,CAQb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,YAAY,EAAE,CAMhB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,UAAU,GAAG,IAAI,CAInB;AA0BD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,GACjB,UAAU,CAmBZ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,UAAU,CAOZ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CACd,IAAI,CACF,YAAY,EACZ,gBAAgB,GAAG,qBAAqB,GAAG,cAAc,CAC1D,CACF,GACA,UAAU,CAUZ;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,MAAM,GACjB,UAAU,EAAE,CAQd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,YAAY,EAAE,CAMhB;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAK9C;AAoCD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE;QACR,QAAQ,EAAE,uBAAuB,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,aAAa,CAAC;KAChC,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,4BAA4B,GAClC,UAAU,CAiCZ;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAYT;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,UAAU,GAAG,IAAI,CAmBnB"}