@stoneforge/quarry 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/api/quarry-api.d.ts +9 -1
- package/dist/api/quarry-api.d.ts.map +1 -1
- package/dist/api/quarry-api.js +21 -2
- package/dist/api/quarry-api.js.map +1 -1
- package/dist/api/types.d.ts +8 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/cli/commands/auto-link-helper.d.ts +33 -0
- package/dist/cli/commands/auto-link-helper.d.ts.map +1 -0
- package/dist/cli/commands/auto-link-helper.js +74 -0
- package/dist/cli/commands/auto-link-helper.js.map +1 -0
- package/dist/cli/commands/crud.d.ts +3 -0
- package/dist/cli/commands/crud.d.ts.map +1 -1
- package/dist/cli/commands/crud.js +144 -15
- package/dist/cli/commands/crud.js.map +1 -1
- package/dist/cli/commands/docs.js +2 -2
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/document.js +1 -1
- package/dist/cli/commands/document.js.map +1 -1
- package/dist/cli/commands/entity.js +1 -1
- package/dist/cli/commands/entity.js.map +1 -1
- package/dist/cli/commands/external-sync.d.ts +18 -0
- package/dist/cli/commands/external-sync.d.ts.map +1 -0
- package/dist/cli/commands/external-sync.js +2499 -0
- package/dist/cli/commands/external-sync.js.map +1 -0
- package/dist/cli/commands/library.js +1 -1
- package/dist/cli/commands/library.js.map +1 -1
- package/dist/cli/commands/message.js +2 -2
- package/dist/cli/commands/message.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +2 -0
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +7 -4
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/team.js +1 -1
- package/dist/cli/commands/team.js.map +1 -1
- package/dist/cli/commands/workflow.js +1 -1
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +3 -0
- package/dist/cli/runner.js.map +1 -1
- package/dist/cli/utils/progress.d.ts +30 -0
- package/dist/cli/utils/progress.d.ts.map +1 -0
- package/dist/cli/utils/progress.js +47 -0
- package/dist/cli/utils/progress.js.map +1 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +34 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/defaults.d.ts +13 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +22 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/file.d.ts.map +1 -1
- package/dist/config/file.js +71 -0
- package/dist/config/file.js.map +1 -1
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/merge.js +52 -1
- package/dist/config/merge.js.map +1 -1
- package/dist/config/types.d.ts +68 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +33 -0
- package/dist/config/types.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +64 -1
- package/dist/config/validation.js.map +1 -1
- package/dist/external-sync/adapters/document-sync-adapter.d.ts +150 -0
- package/dist/external-sync/adapters/document-sync-adapter.d.ts.map +1 -0
- package/dist/external-sync/adapters/document-sync-adapter.js +325 -0
- package/dist/external-sync/adapters/document-sync-adapter.js.map +1 -0
- package/dist/external-sync/adapters/task-sync-adapter.d.ts +177 -0
- package/dist/external-sync/adapters/task-sync-adapter.d.ts.map +1 -0
- package/dist/external-sync/adapters/task-sync-adapter.js +353 -0
- package/dist/external-sync/adapters/task-sync-adapter.js.map +1 -0
- package/dist/external-sync/auto-link.d.ts +66 -0
- package/dist/external-sync/auto-link.d.ts.map +1 -0
- package/dist/external-sync/auto-link.js +98 -0
- package/dist/external-sync/auto-link.js.map +1 -0
- package/dist/external-sync/conflict-resolver.d.ts +170 -0
- package/dist/external-sync/conflict-resolver.d.ts.map +1 -0
- package/dist/external-sync/conflict-resolver.js +580 -0
- package/dist/external-sync/conflict-resolver.js.map +1 -0
- package/dist/external-sync/index.d.ts +23 -0
- package/dist/external-sync/index.d.ts.map +1 -0
- package/dist/external-sync/index.js +24 -0
- package/dist/external-sync/index.js.map +1 -0
- package/dist/external-sync/provider-registry.d.ts +113 -0
- package/dist/external-sync/provider-registry.d.ts.map +1 -0
- package/dist/external-sync/provider-registry.js +205 -0
- package/dist/external-sync/provider-registry.js.map +1 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.d.ts +97 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.js +261 -0
- package/dist/external-sync/providers/folder/folder-document-adapter.js.map +1 -0
- package/dist/external-sync/providers/folder/folder-fs.d.ts +146 -0
- package/dist/external-sync/providers/folder/folder-fs.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-fs.js +300 -0
- package/dist/external-sync/providers/folder/folder-fs.js.map +1 -0
- package/dist/external-sync/providers/folder/folder-provider.d.ts +28 -0
- package/dist/external-sync/providers/folder/folder-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/folder-provider.js +87 -0
- package/dist/external-sync/providers/folder/folder-provider.js.map +1 -0
- package/dist/external-sync/providers/folder/index.d.ts +11 -0
- package/dist/external-sync/providers/folder/index.d.ts.map +1 -0
- package/dist/external-sync/providers/folder/index.js +13 -0
- package/dist/external-sync/providers/folder/index.js.map +1 -0
- package/dist/external-sync/providers/github/github-api.d.ts +271 -0
- package/dist/external-sync/providers/github/github-api.d.ts.map +1 -0
- package/dist/external-sync/providers/github/github-api.js +366 -0
- package/dist/external-sync/providers/github/github-api.js.map +1 -0
- package/dist/external-sync/providers/github/github-field-map.d.ts +76 -0
- package/dist/external-sync/providers/github/github-field-map.d.ts.map +1 -0
- package/dist/external-sync/providers/github/github-field-map.js +157 -0
- package/dist/external-sync/providers/github/github-field-map.js.map +1 -0
- package/dist/external-sync/providers/github/github-provider.d.ts +36 -0
- package/dist/external-sync/providers/github/github-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/github/github-provider.js +212 -0
- package/dist/external-sync/providers/github/github-provider.js.map +1 -0
- package/dist/external-sync/providers/github/github-task-adapter.d.ts +135 -0
- package/dist/external-sync/providers/github/github-task-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/github/github-task-adapter.js +374 -0
- package/dist/external-sync/providers/github/github-task-adapter.js.map +1 -0
- package/dist/external-sync/providers/github/index.d.ts +12 -0
- package/dist/external-sync/providers/github/index.d.ts.map +1 -0
- package/dist/external-sync/providers/github/index.js +15 -0
- package/dist/external-sync/providers/github/index.js.map +1 -0
- package/dist/external-sync/providers/index.d.ts +13 -0
- package/dist/external-sync/providers/index.d.ts.map +1 -0
- package/dist/external-sync/providers/index.js +15 -0
- package/dist/external-sync/providers/index.js.map +1 -0
- package/dist/external-sync/providers/linear/index.d.ts +19 -0
- package/dist/external-sync/providers/linear/index.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/index.js +19 -0
- package/dist/external-sync/providers/linear/index.js.map +1 -0
- package/dist/external-sync/providers/linear/linear-api.d.ts +252 -0
- package/dist/external-sync/providers/linear/linear-api.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/linear-api.js +522 -0
- package/dist/external-sync/providers/linear/linear-api.js.map +1 -0
- package/dist/external-sync/providers/linear/linear-field-map.d.ts +135 -0
- package/dist/external-sync/providers/linear/linear-field-map.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/linear-field-map.js +338 -0
- package/dist/external-sync/providers/linear/linear-field-map.js.map +1 -0
- package/dist/external-sync/providers/linear/linear-provider.d.ts +52 -0
- package/dist/external-sync/providers/linear/linear-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/linear-provider.js +169 -0
- package/dist/external-sync/providers/linear/linear-provider.js.map +1 -0
- package/dist/external-sync/providers/linear/linear-task-adapter.d.ts +190 -0
- package/dist/external-sync/providers/linear/linear-task-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/linear-task-adapter.js +521 -0
- package/dist/external-sync/providers/linear/linear-task-adapter.js.map +1 -0
- package/dist/external-sync/providers/linear/linear-types.d.ts +114 -0
- package/dist/external-sync/providers/linear/linear-types.d.ts.map +1 -0
- package/dist/external-sync/providers/linear/linear-types.js +10 -0
- package/dist/external-sync/providers/linear/linear-types.js.map +1 -0
- package/dist/external-sync/providers/notion/index.d.ts +19 -0
- package/dist/external-sync/providers/notion/index.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/index.js +20 -0
- package/dist/external-sync/providers/notion/index.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-api.d.ts +253 -0
- package/dist/external-sync/providers/notion/notion-api.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-api.js +492 -0
- package/dist/external-sync/providers/notion/notion-api.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-blocks.d.ts +93 -0
- package/dist/external-sync/providers/notion/notion-blocks.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-blocks.js +773 -0
- package/dist/external-sync/providers/notion/notion-blocks.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.d.ts +176 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.js +413 -0
- package/dist/external-sync/providers/notion/notion-document-adapter.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-provider.d.ts +57 -0
- package/dist/external-sync/providers/notion/notion-provider.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-provider.js +159 -0
- package/dist/external-sync/providers/notion/notion-provider.js.map +1 -0
- package/dist/external-sync/providers/notion/notion-types.d.ts +388 -0
- package/dist/external-sync/providers/notion/notion-types.d.ts.map +1 -0
- package/dist/external-sync/providers/notion/notion-types.js +47 -0
- package/dist/external-sync/providers/notion/notion-types.js.map +1 -0
- package/dist/external-sync/sync-engine.d.ts +364 -0
- package/dist/external-sync/sync-engine.d.ts.map +1 -0
- package/dist/external-sync/sync-engine.js +1154 -0
- package/dist/external-sync/sync-engine.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/index.js.map +1 -1
- package/dist/services/inbox.js +1 -1
- package/dist/sync/hash.d.ts +5 -0
- package/dist/sync/hash.d.ts.map +1 -1
- package/dist/sync/hash.js +21 -2
- package/dist/sync/hash.js.map +1 -1
- package/package.json +10 -12
package/dist/config/types.d.ts
CHANGED
|
@@ -61,6 +61,45 @@ export interface IdentityConfigSection {
|
|
|
61
61
|
/** Time tolerance for signature expiry (default: 5 minutes) */
|
|
62
62
|
timeTolerance: Duration;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Conflict resolution strategy for external sync
|
|
66
|
+
*/
|
|
67
|
+
export type ExternalSyncConflictStrategy = 'last_write_wins' | 'local_wins' | 'remote_wins' | 'manual';
|
|
68
|
+
/**
|
|
69
|
+
* Sync direction for external sync
|
|
70
|
+
*/
|
|
71
|
+
export type SyncDirection = 'push' | 'pull' | 'bidirectional';
|
|
72
|
+
/**
|
|
73
|
+
* External sync configuration
|
|
74
|
+
*/
|
|
75
|
+
export interface ExternalSyncConfig {
|
|
76
|
+
/** Whether external sync is enabled (default: false) */
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
/** Polling interval in ms (default: 60000) */
|
|
79
|
+
pollInterval: Duration;
|
|
80
|
+
/** Conflict resolution strategy (default: 'last_write_wins') */
|
|
81
|
+
conflictStrategy: ExternalSyncConflictStrategy;
|
|
82
|
+
/** Default sync direction (default: 'bidirectional') */
|
|
83
|
+
defaultDirection: SyncDirection;
|
|
84
|
+
/** Whether to auto-create external issues for new tasks (default: false) */
|
|
85
|
+
autoLink: boolean;
|
|
86
|
+
/** Which provider to auto-link tasks to (e.g., 'github', 'linear') */
|
|
87
|
+
autoLinkProvider?: string;
|
|
88
|
+
/** Which provider to auto-link documents to (e.g., 'folder', 'notion') */
|
|
89
|
+
autoLinkDocumentProvider?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Valid conflict strategy values
|
|
93
|
+
*/
|
|
94
|
+
export declare const VALID_CONFLICT_STRATEGIES: readonly ExternalSyncConflictStrategy[];
|
|
95
|
+
/**
|
|
96
|
+
* Valid sync direction values
|
|
97
|
+
*/
|
|
98
|
+
export declare const VALID_SYNC_DIRECTIONS: readonly SyncDirection[];
|
|
99
|
+
/**
|
|
100
|
+
* Valid auto-link provider names
|
|
101
|
+
*/
|
|
102
|
+
export declare const VALID_AUTO_LINK_PROVIDERS: readonly string[];
|
|
64
103
|
/**
|
|
65
104
|
* Complete Stoneforge configuration
|
|
66
105
|
*/
|
|
@@ -81,6 +120,8 @@ export interface Configuration {
|
|
|
81
120
|
identity: IdentityConfigSection;
|
|
82
121
|
/** CLI plugins settings */
|
|
83
122
|
plugins: PluginsConfig;
|
|
123
|
+
/** External sync settings */
|
|
124
|
+
externalSync: ExternalSyncConfig;
|
|
84
125
|
}
|
|
85
126
|
/**
|
|
86
127
|
* Partial configuration for merging
|
|
@@ -94,6 +135,7 @@ export type PartialConfiguration = {
|
|
|
94
135
|
tombstone?: Partial<TombstoneConfig>;
|
|
95
136
|
identity?: Partial<IdentityConfigSection>;
|
|
96
137
|
plugins?: Partial<PluginsConfig>;
|
|
138
|
+
externalSync?: Partial<ExternalSyncConfig>;
|
|
97
139
|
};
|
|
98
140
|
/**
|
|
99
141
|
* Source of a configuration value
|
|
@@ -145,6 +187,15 @@ export interface TrackedConfiguration {
|
|
|
145
187
|
plugins: {
|
|
146
188
|
packages: TrackedValue<string[]>;
|
|
147
189
|
};
|
|
190
|
+
externalSync: {
|
|
191
|
+
enabled: TrackedValue<boolean>;
|
|
192
|
+
pollInterval: TrackedValue<Duration>;
|
|
193
|
+
conflictStrategy: TrackedValue<ExternalSyncConflictStrategy>;
|
|
194
|
+
defaultDirection: TrackedValue<SyncDirection>;
|
|
195
|
+
autoLink: TrackedValue<boolean>;
|
|
196
|
+
autoLinkProvider?: TrackedValue<string>;
|
|
197
|
+
autoLinkDocumentProvider?: TrackedValue<string>;
|
|
198
|
+
};
|
|
148
199
|
}
|
|
149
200
|
/**
|
|
150
201
|
* YAML configuration file structure
|
|
@@ -174,6 +225,15 @@ export interface YamlConfigFile {
|
|
|
174
225
|
plugins?: {
|
|
175
226
|
packages?: string[];
|
|
176
227
|
};
|
|
228
|
+
external_sync?: {
|
|
229
|
+
enabled?: boolean;
|
|
230
|
+
poll_interval?: string | number;
|
|
231
|
+
conflict_strategy?: string;
|
|
232
|
+
default_direction?: string;
|
|
233
|
+
auto_link?: boolean;
|
|
234
|
+
auto_link_provider?: string;
|
|
235
|
+
auto_link_document_provider?: string;
|
|
236
|
+
};
|
|
177
237
|
}
|
|
178
238
|
/**
|
|
179
239
|
* Environment variable names for configuration
|
|
@@ -235,7 +295,7 @@ export interface ConfigValidationResult {
|
|
|
235
295
|
/**
|
|
236
296
|
* Valid configuration paths (as const array for runtime validation)
|
|
237
297
|
*/
|
|
238
|
-
export declare const VALID_CONFIG_PATHS: readonly ["actor", "baseBranch", "database", "sync.autoExport", "sync.exportDebounce", "sync.elementsFile", "sync.dependenciesFile", "playbooks.paths", "tombstone.ttl", "tombstone.minTtl", "identity.mode", "identity.timeTolerance", "plugins.packages"];
|
|
298
|
+
export declare const VALID_CONFIG_PATHS: readonly ["actor", "baseBranch", "database", "sync.autoExport", "sync.exportDebounce", "sync.elementsFile", "sync.dependenciesFile", "playbooks.paths", "tombstone.ttl", "tombstone.minTtl", "identity.mode", "identity.timeTolerance", "plugins.packages", "externalSync.enabled", "externalSync.pollInterval", "externalSync.conflictStrategy", "externalSync.defaultDirection", "externalSync.autoLink", "externalSync.autoLinkProvider", "externalSync.autoLinkDocumentProvider"];
|
|
239
299
|
/**
|
|
240
300
|
* Dot-notation paths for configuration values
|
|
241
301
|
*/
|
|
@@ -261,5 +321,12 @@ export interface ConfigPathTypes {
|
|
|
261
321
|
'identity.mode': IdentityMode;
|
|
262
322
|
'identity.timeTolerance': Duration;
|
|
263
323
|
'plugins.packages': string[];
|
|
324
|
+
'externalSync.enabled': boolean;
|
|
325
|
+
'externalSync.pollInterval': Duration;
|
|
326
|
+
'externalSync.conflictStrategy': ExternalSyncConflictStrategy;
|
|
327
|
+
'externalSync.defaultDirection': SyncDirection;
|
|
328
|
+
'externalSync.autoLink': boolean;
|
|
329
|
+
'externalSync.autoLinkProvider': string | undefined;
|
|
330
|
+
'externalSync.autoLinkDocumentProvider': string | undefined;
|
|
264
331
|
}
|
|
265
332
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,cAAc,EAAE,QAAQ,CAAC;IACzB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,GAAG,EAAE,QAAQ,CAAC;IACd,0DAA0D;IAC1D,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,IAAI,EAAE,YAAY,CAAC;IACnB,+DAA+D;IAC/D,aAAa,EAAE,QAAQ,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,wBAAwB;IACxB,SAAS,EAAE,cAAc,CAAC;IAC1B,yBAAyB;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,wBAAwB;IACxB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,2BAA2B;IAC3B,OAAO,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js
CHANGED
|
@@ -5,6 +5,32 @@
|
|
|
5
5
|
* Supports file-based configuration, environment variables, and CLI overrides
|
|
6
6
|
* with a clear precedence hierarchy.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Valid conflict strategy values
|
|
10
|
+
*/
|
|
11
|
+
export const VALID_CONFLICT_STRATEGIES = [
|
|
12
|
+
'last_write_wins',
|
|
13
|
+
'local_wins',
|
|
14
|
+
'remote_wins',
|
|
15
|
+
'manual',
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Valid sync direction values
|
|
19
|
+
*/
|
|
20
|
+
export const VALID_SYNC_DIRECTIONS = [
|
|
21
|
+
'push',
|
|
22
|
+
'pull',
|
|
23
|
+
'bidirectional',
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Valid auto-link provider names
|
|
27
|
+
*/
|
|
28
|
+
export const VALID_AUTO_LINK_PROVIDERS = [
|
|
29
|
+
'github',
|
|
30
|
+
'linear',
|
|
31
|
+
'notion',
|
|
32
|
+
'folder',
|
|
33
|
+
];
|
|
8
34
|
// ============================================================================
|
|
9
35
|
// Configuration Source Tracking
|
|
10
36
|
// ============================================================================
|
|
@@ -65,6 +91,13 @@ export const VALID_CONFIG_PATHS = [
|
|
|
65
91
|
'identity.mode',
|
|
66
92
|
'identity.timeTolerance',
|
|
67
93
|
'plugins.packages',
|
|
94
|
+
'externalSync.enabled',
|
|
95
|
+
'externalSync.pollInterval',
|
|
96
|
+
'externalSync.conflictStrategy',
|
|
97
|
+
'externalSync.defaultDirection',
|
|
98
|
+
'externalSync.autoLink',
|
|
99
|
+
'externalSync.autoLinkProvider',
|
|
100
|
+
'externalSync.autoLinkDocumentProvider',
|
|
68
101
|
];
|
|
69
102
|
/**
|
|
70
103
|
* Type guard to check if a string is a valid ConfigPath
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwGH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA4C;IAChF,iBAAiB;IACjB,YAAY;IACZ,aAAa;IACb,QAAQ;CACA,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,MAAM;IACN,MAAM;IACN,eAAe;CACP,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAyCX,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,SAAS;IAClB,uBAAuB;IACvB,IAAI,EAAE,MAAM;IACZ,gCAAgC;IAChC,WAAW,EAAE,aAAa;IAC1B,oBAAoB;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AA+FX,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,yBAAyB;IACzB,KAAK,EAAE,kBAAkB;IACzB,oCAAoC;IACpC,WAAW,EAAE,wBAAwB;IACrC,yBAAyB;IACzB,QAAQ,EAAE,eAAe;IACzB,gCAAgC;IAChC,MAAM,EAAE,mBAAmB;IAC3B,uBAAuB;IACvB,IAAI,EAAE,iBAAiB;IACvB,yBAAyB;IACzB,OAAO,EAAE,oBAAoB;IAC7B,+BAA+B;IAC/B,gBAAgB,EAAE,6BAA6B;IAC/C,oBAAoB;IACpB,aAAa,EAAE,0BAA0B;CACjC,CAAC;AA8CX,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO;IACP,YAAY;IACZ,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,mBAAmB;IACnB,uBAAuB;IACvB,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,wBAAwB;IACxB,kBAAkB;IAClB,sBAAsB;IACtB,2BAA2B;IAC3B,+BAA+B;IAC/B,+BAA+B;IAC/B,uBAAuB;IACvB,+BAA+B;IAC/B,uCAAuC;CAC/B,CAAC;AAOX;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAsBpB;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAuBpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAejE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA8BzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAW/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA8BvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAUpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8B3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE,CAKtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAyB9D;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,CAuMpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAejF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAiG/E"}
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ValidationError, ErrorCode } from '@stoneforge/core';
|
|
7
7
|
import { isValidIdentityMode } from '../systems/identity.js';
|
|
8
|
-
import { MIN_EXPORT_DEBOUNCE, MAX_EXPORT_DEBOUNCE, MIN_TIME_TOLERANCE, MAX_TIME_TOLERANCE, MAX_TTL, } from './defaults.js';
|
|
8
|
+
import { MIN_EXPORT_DEBOUNCE, MAX_EXPORT_DEBOUNCE, MIN_TIME_TOLERANCE, MAX_TIME_TOLERANCE, MAX_TTL, MIN_POLL_INTERVAL, MAX_POLL_INTERVAL, } from './defaults.js';
|
|
9
|
+
import { VALID_CONFLICT_STRATEGIES, VALID_SYNC_DIRECTIONS, VALID_AUTO_LINK_PROVIDERS, } from './types.js';
|
|
10
|
+
// Note: ExternalSyncConflictStrategy and SyncDirection types are validated via the VALID_* arrays
|
|
9
11
|
import { validateDurationRange, formatDuration } from './duration.js';
|
|
10
12
|
// ============================================================================
|
|
11
13
|
// Field Validators
|
|
@@ -230,6 +232,43 @@ export function validateConfiguration(config) {
|
|
|
230
232
|
throw new ValidationError('identity.timeTolerance must be a number', ErrorCode.INVALID_INPUT, { field: 'identity.timeTolerance', value: identity.timeTolerance, expected: 'number' });
|
|
231
233
|
}
|
|
232
234
|
validateDurationRange(identity.timeTolerance, MIN_TIME_TOLERANCE, MAX_TIME_TOLERANCE, 'identity.timeTolerance');
|
|
235
|
+
// Validate externalSync
|
|
236
|
+
if (typeof obj.externalSync !== 'object' || obj.externalSync === null) {
|
|
237
|
+
throw new ValidationError('Configuration must include externalSync object', ErrorCode.MISSING_REQUIRED_FIELD, { field: 'externalSync' });
|
|
238
|
+
}
|
|
239
|
+
const externalSync = obj.externalSync;
|
|
240
|
+
if (typeof externalSync.enabled !== 'boolean') {
|
|
241
|
+
throw new ValidationError('externalSync.enabled must be a boolean', ErrorCode.INVALID_INPUT, { field: 'externalSync.enabled', value: externalSync.enabled, expected: 'boolean' });
|
|
242
|
+
}
|
|
243
|
+
if (typeof externalSync.pollInterval !== 'number') {
|
|
244
|
+
throw new ValidationError('externalSync.pollInterval must be a number', ErrorCode.INVALID_INPUT, { field: 'externalSync.pollInterval', value: externalSync.pollInterval, expected: 'number' });
|
|
245
|
+
}
|
|
246
|
+
validateDurationRange(externalSync.pollInterval, MIN_POLL_INTERVAL, MAX_POLL_INTERVAL, 'externalSync.pollInterval');
|
|
247
|
+
if (!VALID_CONFLICT_STRATEGIES.includes(externalSync.conflictStrategy)) {
|
|
248
|
+
throw new ValidationError(`externalSync.conflictStrategy must be one of: ${VALID_CONFLICT_STRATEGIES.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.conflictStrategy', value: externalSync.conflictStrategy, expected: VALID_CONFLICT_STRATEGIES });
|
|
249
|
+
}
|
|
250
|
+
if (!VALID_SYNC_DIRECTIONS.includes(externalSync.defaultDirection)) {
|
|
251
|
+
throw new ValidationError(`externalSync.defaultDirection must be one of: ${VALID_SYNC_DIRECTIONS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.defaultDirection', value: externalSync.defaultDirection, expected: VALID_SYNC_DIRECTIONS });
|
|
252
|
+
}
|
|
253
|
+
if (typeof externalSync.autoLink !== 'boolean') {
|
|
254
|
+
throw new ValidationError('externalSync.autoLink must be a boolean', ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLink', value: externalSync.autoLink, expected: 'boolean' });
|
|
255
|
+
}
|
|
256
|
+
if (externalSync.autoLinkProvider !== undefined) {
|
|
257
|
+
if (typeof externalSync.autoLinkProvider !== 'string') {
|
|
258
|
+
throw new ValidationError('externalSync.autoLinkProvider must be a string', ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkProvider', value: externalSync.autoLinkProvider, expected: 'string' });
|
|
259
|
+
}
|
|
260
|
+
if (!VALID_AUTO_LINK_PROVIDERS.includes(externalSync.autoLinkProvider)) {
|
|
261
|
+
throw new ValidationError(`externalSync.autoLinkProvider must be one of: ${VALID_AUTO_LINK_PROVIDERS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkProvider', value: externalSync.autoLinkProvider, expected: VALID_AUTO_LINK_PROVIDERS });
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (externalSync.autoLinkDocumentProvider !== undefined) {
|
|
265
|
+
if (typeof externalSync.autoLinkDocumentProvider !== 'string') {
|
|
266
|
+
throw new ValidationError('externalSync.autoLinkDocumentProvider must be a string', ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkDocumentProvider', value: externalSync.autoLinkDocumentProvider, expected: 'string' });
|
|
267
|
+
}
|
|
268
|
+
if (!VALID_AUTO_LINK_PROVIDERS.includes(externalSync.autoLinkDocumentProvider)) {
|
|
269
|
+
throw new ValidationError(`externalSync.autoLinkDocumentProvider must be one of: ${VALID_AUTO_LINK_PROVIDERS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkDocumentProvider', value: externalSync.autoLinkDocumentProvider, expected: VALID_AUTO_LINK_PROVIDERS });
|
|
270
|
+
}
|
|
271
|
+
}
|
|
233
272
|
return config;
|
|
234
273
|
}
|
|
235
274
|
/**
|
|
@@ -289,5 +328,29 @@ export function validatePartialConfiguration(config) {
|
|
|
289
328
|
throw new ValidationError(`tombstone.ttl (${formatDuration(config.tombstone.ttl)}) must be >= tombstone.minTtl (${formatDuration(config.tombstone.minTtl)})`, ErrorCode.INVALID_INPUT, { field: 'tombstone.ttl', value: config.tombstone.ttl, expected: `>= ${config.tombstone.minTtl}` });
|
|
290
329
|
}
|
|
291
330
|
}
|
|
331
|
+
// Validate externalSync fields
|
|
332
|
+
if (config.externalSync?.pollInterval !== undefined) {
|
|
333
|
+
validateDurationRange(config.externalSync.pollInterval, MIN_POLL_INTERVAL, MAX_POLL_INTERVAL, 'externalSync.pollInterval');
|
|
334
|
+
}
|
|
335
|
+
if (config.externalSync?.conflictStrategy !== undefined) {
|
|
336
|
+
if (!VALID_CONFLICT_STRATEGIES.includes(config.externalSync.conflictStrategy)) {
|
|
337
|
+
throw new ValidationError(`externalSync.conflictStrategy must be one of: ${VALID_CONFLICT_STRATEGIES.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.conflictStrategy', value: config.externalSync.conflictStrategy, expected: VALID_CONFLICT_STRATEGIES });
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (config.externalSync?.defaultDirection !== undefined) {
|
|
341
|
+
if (!VALID_SYNC_DIRECTIONS.includes(config.externalSync.defaultDirection)) {
|
|
342
|
+
throw new ValidationError(`externalSync.defaultDirection must be one of: ${VALID_SYNC_DIRECTIONS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.defaultDirection', value: config.externalSync.defaultDirection, expected: VALID_SYNC_DIRECTIONS });
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (config.externalSync?.autoLinkProvider !== undefined) {
|
|
346
|
+
if (!VALID_AUTO_LINK_PROVIDERS.includes(config.externalSync.autoLinkProvider)) {
|
|
347
|
+
throw new ValidationError(`externalSync.autoLinkProvider must be one of: ${VALID_AUTO_LINK_PROVIDERS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkProvider', value: config.externalSync.autoLinkProvider, expected: VALID_AUTO_LINK_PROVIDERS });
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (config.externalSync?.autoLinkDocumentProvider !== undefined) {
|
|
351
|
+
if (!VALID_AUTO_LINK_PROVIDERS.includes(config.externalSync.autoLinkDocumentProvider)) {
|
|
352
|
+
throw new ValidationError(`externalSync.autoLinkDocumentProvider must be one of: ${VALID_AUTO_LINK_PROVIDERS.join(', ')}`, ErrorCode.INVALID_INPUT, { field: 'externalSync.autoLinkDocumentProvider', value: config.externalSync.autoLinkDocumentProvider, expected: VALID_AUTO_LINK_PROVIDERS });
|
|
353
|
+
}
|
|
354
|
+
}
|
|
292
355
|
}
|
|
293
356
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Sync Adapter Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared field mapping logic for converting between Stoneforge documents and
|
|
5
|
+
* external document representations (e.g., Notion pages, Obsidian notes).
|
|
6
|
+
*
|
|
7
|
+
* These utilities are provider-agnostic — they handle the common conversion
|
|
8
|
+
* logic that all document sync providers need.
|
|
9
|
+
*
|
|
10
|
+
* Key functions:
|
|
11
|
+
* - documentToExternalDocumentInput: Convert a Stoneforge Document → ExternalDocumentInput for push
|
|
12
|
+
* - externalDocumentToDocumentUpdates: Convert an ExternalDocument → Partial<Document> for pull
|
|
13
|
+
* - diffDocumentUpdates: Return only changed fields between existing and updated document
|
|
14
|
+
* - computeExternalDocumentHash: Deterministic hash for change detection
|
|
15
|
+
*/
|
|
16
|
+
import type { Document, ContentType, DocumentCategory, Element, ElementId, Dependency, DependencyType } from '@stoneforge/core';
|
|
17
|
+
import type { ExternalDocument, ExternalDocumentInput } from '@stoneforge/core';
|
|
18
|
+
/**
|
|
19
|
+
* Document categories that are system-managed and should be excluded from
|
|
20
|
+
* external sync. These documents are structural (task descriptions, message
|
|
21
|
+
* content) and are synced through their parent element's sync adapter.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SYSTEM_CATEGORIES: ReadonlySet<DocumentCategory>;
|
|
24
|
+
/**
|
|
25
|
+
* Checks whether a document category is a system category that should
|
|
26
|
+
* be excluded from document sync.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isSystemCategory(category: DocumentCategory): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Checks whether a document should be included in external sync operations
|
|
31
|
+
* (link-all, push, pull). A document is syncable if:
|
|
32
|
+
* - It does not have a system category (task-description, message-content)
|
|
33
|
+
* - It has a non-empty title (null, undefined, or whitespace-only titles are excluded)
|
|
34
|
+
*
|
|
35
|
+
* Documents without titles are typically system-generated (messages, task descriptions)
|
|
36
|
+
* that happen to not have the system category set, or scratch documents. They all
|
|
37
|
+
* slugify to "untitled.md" and overwrite each other, so they must be excluded.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isSyncableDocument(doc: Document): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Maps Stoneforge ContentType to external document content type.
|
|
42
|
+
*
|
|
43
|
+
* Stoneforge uses 'markdown', 'text', and 'json'.
|
|
44
|
+
* External systems use 'markdown', 'text', and 'html'.
|
|
45
|
+
* JSON content is mapped to 'text' for external systems since most
|
|
46
|
+
* document providers don't have a native JSON content type.
|
|
47
|
+
*/
|
|
48
|
+
export declare function mapContentTypeToExternal(contentType: ContentType): 'markdown' | 'html' | 'text';
|
|
49
|
+
/**
|
|
50
|
+
* Maps external document content type to Stoneforge ContentType.
|
|
51
|
+
*
|
|
52
|
+
* External systems use 'markdown', 'text', and 'html'.
|
|
53
|
+
* HTML content is mapped to 'text' since Stoneforge doesn't have an HTML
|
|
54
|
+
* content type — the content is stored as-is, just categorized as text.
|
|
55
|
+
*/
|
|
56
|
+
export declare function mapContentTypeFromExternal(contentType: 'markdown' | 'html' | 'text'): ContentType;
|
|
57
|
+
/**
|
|
58
|
+
* Minimal API interface for resolving library paths.
|
|
59
|
+
* This avoids coupling to the full QuarryAPI type while providing
|
|
60
|
+
* the dependency and element lookup methods needed for path resolution.
|
|
61
|
+
*/
|
|
62
|
+
export interface LibraryPathAPI {
|
|
63
|
+
/** Get all dependencies for an element, optionally filtered by type */
|
|
64
|
+
getDependencies(id: ElementId, types?: DependencyType[]): Promise<Dependency[]>;
|
|
65
|
+
/** Get a single element by ID */
|
|
66
|
+
get<T extends Element>(id: ElementId): Promise<T | null>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolves the library path for a document by querying its parent-child
|
|
70
|
+
* dependencies. Builds a hierarchical path from the root library down
|
|
71
|
+
* to the document's immediate parent library.
|
|
72
|
+
*
|
|
73
|
+
* For example, if a document belongs to library "API Reference" which
|
|
74
|
+
* is a child of library "Documentation", the returned path would be
|
|
75
|
+
* "documentation/api-reference".
|
|
76
|
+
*
|
|
77
|
+
* Design decisions:
|
|
78
|
+
* - If a document belongs to multiple libraries, the first one found is used
|
|
79
|
+
* - Library names are slugified for directory names
|
|
80
|
+
* - If the document has no library parent, returns undefined
|
|
81
|
+
*
|
|
82
|
+
* @param api - API for querying dependencies and elements
|
|
83
|
+
* @param documentId - The document's element ID
|
|
84
|
+
* @returns The slugified library path (e.g., 'documentation/api-reference'), or undefined if not in a library
|
|
85
|
+
*/
|
|
86
|
+
export declare function resolveDocumentLibraryPath(api: LibraryPathAPI, documentId: ElementId): Promise<string | undefined>;
|
|
87
|
+
/**
|
|
88
|
+
* Batch-resolves library paths for multiple documents.
|
|
89
|
+
* More efficient than calling resolveDocumentLibraryPath individually
|
|
90
|
+
* since it can reuse cached library lookups.
|
|
91
|
+
*
|
|
92
|
+
* @param api - API for querying dependencies and elements
|
|
93
|
+
* @param documentIds - Array of document element IDs
|
|
94
|
+
* @returns Map from document ID to library path (undefined entries omitted)
|
|
95
|
+
*/
|
|
96
|
+
export declare function resolveDocumentLibraryPaths(api: LibraryPathAPI, documentIds: ElementId[]): Promise<Map<string, string>>;
|
|
97
|
+
/**
|
|
98
|
+
* Converts a Stoneforge Document into an ExternalDocumentInput for
|
|
99
|
+
* creating/updating a page in an external system.
|
|
100
|
+
*
|
|
101
|
+
* Handles:
|
|
102
|
+
* - Title mapping (1:1, falls back to empty string if undefined)
|
|
103
|
+
* - Content mapping (1:1)
|
|
104
|
+
* - ContentType mapping (markdown/text → markdown/text, json → text)
|
|
105
|
+
* - Optional library path for directory-based organization
|
|
106
|
+
*
|
|
107
|
+
* @param doc - The Stoneforge document to convert
|
|
108
|
+
* @param libraryPath - Optional pre-computed library path for the document
|
|
109
|
+
* @returns ExternalDocumentInput ready for the provider adapter
|
|
110
|
+
*/
|
|
111
|
+
export declare function documentToExternalDocumentInput(doc: Document, libraryPath?: string): ExternalDocumentInput;
|
|
112
|
+
/**
|
|
113
|
+
* Converts an ExternalDocument into a partial Document update object for
|
|
114
|
+
* applying external changes to a local Stoneforge document.
|
|
115
|
+
*
|
|
116
|
+
* Handles:
|
|
117
|
+
* - Title mapping (1:1)
|
|
118
|
+
* - Content mapping (1:1)
|
|
119
|
+
* - ContentType mapping (markdown/text/html → markdown/text/text)
|
|
120
|
+
*
|
|
121
|
+
* If existingDoc is provided, only changed fields are returned (diff mode).
|
|
122
|
+
* If existingDoc is undefined, all mappable fields are returned (create mode).
|
|
123
|
+
*
|
|
124
|
+
* @param externalDoc - The external document to convert
|
|
125
|
+
* @param existingDoc - The existing local document (undefined for new documents)
|
|
126
|
+
* @returns Partial<Document> with only the changed fields (or all fields if no existingDoc)
|
|
127
|
+
*/
|
|
128
|
+
export declare function externalDocumentToDocumentUpdates(externalDoc: ExternalDocument, existingDoc?: Document): Partial<Document>;
|
|
129
|
+
/**
|
|
130
|
+
* Compares a full update against an existing document and returns only
|
|
131
|
+
* the fields that actually changed.
|
|
132
|
+
*
|
|
133
|
+
* This prevents unnecessary updates when pulling changes from external
|
|
134
|
+
* systems where the data hasn't actually changed.
|
|
135
|
+
*
|
|
136
|
+
* Compared fields: title, content, contentType, category, tags
|
|
137
|
+
*/
|
|
138
|
+
export declare function diffDocumentUpdates(existing: Document, updates: Partial<Document>): Partial<Document>;
|
|
139
|
+
/**
|
|
140
|
+
* Computes a deterministic hash of an ExternalDocument for change detection.
|
|
141
|
+
*
|
|
142
|
+
* The hash is based on the document's title, content, and contentType.
|
|
143
|
+
* Used by the sync engine to detect whether an external document has
|
|
144
|
+
* changed since the last sync, avoiding unnecessary pull operations.
|
|
145
|
+
*
|
|
146
|
+
* @param doc - The external document to hash
|
|
147
|
+
* @returns A hex-encoded SHA-256 hash string
|
|
148
|
+
*/
|
|
149
|
+
export declare function computeExternalDocumentHash(doc: ExternalDocument): string;
|
|
150
|
+
//# sourceMappingURL=document-sync-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-sync-adapter.d.ts","sourceRoot":"","sources":["../../../src/external-sync/adapters/document-sync-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAMhF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,gBAAgB,CAG1D,CAAC;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAIzD;AAMD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,GACvB,UAAU,GAAG,MAAM,GAAG,MAAM,CAY9B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GACxC,WAAW,CAYb;AAkBD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAChF,iCAAiC;IACjC,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CAC1D;AAqBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAuD7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,SAAS,EAAE,GACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAW9B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,QAAQ,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,qBAAqB,CASvB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,gBAAgB,EAC7B,WAAW,CAAC,EAAE,QAAQ,GACrB,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GACzB,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAQzE"}
|