ctxpkg 0.0.1 → 0.0.4

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 (242) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/daemon.js +1 -1
  3. package/dist/agent/agent.d.ts +65 -0
  4. package/dist/agent/agent.d.ts.map +1 -0
  5. package/dist/agent/agent.js +291 -0
  6. package/dist/agent/agent.js.map +1 -0
  7. package/dist/agent/agent.prompts.d.ts +13 -0
  8. package/dist/agent/agent.prompts.d.ts.map +1 -0
  9. package/{src/agent/agent.prompts.ts → dist/agent/agent.prompts.js} +11 -12
  10. package/dist/agent/agent.prompts.js.map +1 -0
  11. package/dist/agent/agent.test-runner.d.ts +73 -0
  12. package/dist/agent/agent.test-runner.d.ts.map +1 -0
  13. package/dist/agent/agent.test-runner.js +316 -0
  14. package/dist/agent/agent.test-runner.js.map +1 -0
  15. package/dist/agent/agent.test-runner.schemas.d.ts +382 -0
  16. package/dist/agent/agent.test-runner.schemas.d.ts.map +1 -0
  17. package/dist/agent/agent.test-runner.schemas.js +110 -0
  18. package/dist/agent/agent.test-runner.schemas.js.map +1 -0
  19. package/dist/agent/agent.types.d.ts +122 -0
  20. package/dist/agent/agent.types.d.ts.map +1 -0
  21. package/dist/agent/agent.types.js +19 -0
  22. package/dist/agent/agent.types.js.map +1 -0
  23. package/dist/backend/backend.d.ts +16 -0
  24. package/dist/backend/backend.d.ts.map +1 -0
  25. package/dist/backend/backend.js +79 -0
  26. package/dist/backend/backend.js.map +1 -0
  27. package/dist/backend/backend.protocol.d.ts +74 -0
  28. package/dist/backend/backend.protocol.d.ts.map +1 -0
  29. package/dist/backend/backend.protocol.js +46 -0
  30. package/dist/backend/backend.protocol.js.map +1 -0
  31. package/dist/backend/backend.schemas.d.ts +141 -0
  32. package/dist/backend/backend.schemas.d.ts.map +1 -0
  33. package/dist/backend/backend.schemas.js +59 -0
  34. package/dist/backend/backend.schemas.js.map +1 -0
  35. package/dist/backend/backend.services.d.ts +290 -0
  36. package/dist/backend/backend.services.d.ts.map +1 -0
  37. package/dist/backend/backend.services.js +103 -0
  38. package/dist/backend/backend.services.js.map +1 -0
  39. package/dist/backend/backend.types.d.ts +25 -0
  40. package/dist/backend/backend.types.d.ts.map +1 -0
  41. package/dist/backend/backend.types.js +6 -0
  42. package/dist/backend/backend.types.js.map +1 -0
  43. package/dist/cli/cli.agent.d.ts +4 -0
  44. package/dist/cli/cli.agent.d.ts.map +1 -0
  45. package/dist/cli/cli.agent.js +158 -0
  46. package/dist/cli/cli.agent.js.map +1 -0
  47. package/dist/cli/cli.chat.d.ts +4 -0
  48. package/dist/cli/cli.chat.d.ts.map +1 -0
  49. package/dist/cli/cli.chat.js +311 -0
  50. package/dist/cli/cli.chat.js.map +1 -0
  51. package/dist/cli/cli.client.d.ts +11 -0
  52. package/dist/cli/cli.client.d.ts.map +1 -0
  53. package/dist/cli/cli.client.js +40 -0
  54. package/dist/cli/cli.client.js.map +1 -0
  55. package/dist/cli/cli.collections.d.ts +4 -0
  56. package/dist/cli/cli.collections.d.ts.map +1 -0
  57. package/dist/cli/cli.collections.js +411 -0
  58. package/dist/cli/cli.collections.js.map +1 -0
  59. package/dist/cli/cli.config.d.ts +4 -0
  60. package/dist/cli/cli.config.d.ts.map +1 -0
  61. package/dist/cli/cli.config.js +192 -0
  62. package/dist/cli/cli.config.js.map +1 -0
  63. package/dist/cli/cli.d.ts +4 -0
  64. package/dist/cli/cli.d.ts.map +1 -0
  65. package/dist/cli/cli.daemon.d.ts +4 -0
  66. package/dist/cli/cli.daemon.d.ts.map +1 -0
  67. package/dist/cli/cli.daemon.js +116 -0
  68. package/dist/cli/cli.daemon.js.map +1 -0
  69. package/dist/cli/cli.documents.d.ts +4 -0
  70. package/dist/cli/cli.documents.d.ts.map +1 -0
  71. package/dist/cli/cli.documents.js +332 -0
  72. package/dist/cli/cli.documents.js.map +1 -0
  73. package/dist/cli/cli.js +23 -0
  74. package/dist/cli/cli.js.map +1 -0
  75. package/dist/cli/cli.mcp.d.ts +4 -0
  76. package/dist/cli/cli.mcp.d.ts.map +1 -0
  77. package/dist/cli/cli.mcp.js +146 -0
  78. package/dist/cli/cli.mcp.js.map +1 -0
  79. package/dist/cli/cli.utils.d.ts +51 -0
  80. package/dist/cli/cli.utils.d.ts.map +1 -0
  81. package/dist/cli/cli.utils.js +95 -0
  82. package/dist/cli/cli.utils.js.map +1 -0
  83. package/dist/client/client.adapters.d.ts +38 -0
  84. package/dist/client/client.adapters.d.ts.map +1 -0
  85. package/dist/client/client.adapters.js +233 -0
  86. package/dist/client/client.adapters.js.map +1 -0
  87. package/dist/client/client.d.ts +16 -0
  88. package/dist/client/client.d.ts.map +1 -0
  89. package/dist/client/client.js +74 -0
  90. package/dist/client/client.js.map +1 -0
  91. package/dist/client/client.types.d.ts +10 -0
  92. package/dist/client/client.types.d.ts.map +1 -0
  93. package/dist/client/client.types.js +2 -0
  94. package/dist/client/client.types.js.map +1 -0
  95. package/dist/collections/collections.d.ts +219 -0
  96. package/dist/collections/collections.d.ts.map +1 -0
  97. package/dist/collections/collections.js +933 -0
  98. package/dist/collections/collections.js.map +1 -0
  99. package/dist/collections/collections.schemas.d.ts +298 -0
  100. package/dist/collections/collections.schemas.d.ts.map +1 -0
  101. package/dist/collections/collections.schemas.js +117 -0
  102. package/dist/collections/collections.schemas.js.map +1 -0
  103. package/dist/config/config.d.ts +29 -0
  104. package/dist/config/config.d.ts.map +1 -0
  105. package/dist/config/config.js +112 -0
  106. package/dist/config/config.js.map +1 -0
  107. package/dist/daemon/daemon.config.d.ts +6 -0
  108. package/dist/daemon/daemon.config.d.ts.map +1 -0
  109. package/dist/daemon/daemon.config.js +19 -0
  110. package/dist/daemon/daemon.config.js.map +1 -0
  111. package/dist/daemon/daemon.d.ts +10 -0
  112. package/dist/daemon/daemon.d.ts.map +1 -0
  113. package/dist/daemon/daemon.js +173 -0
  114. package/dist/daemon/daemon.js.map +1 -0
  115. package/dist/daemon/daemon.manager.d.ts +20 -0
  116. package/dist/daemon/daemon.manager.d.ts.map +1 -0
  117. package/dist/daemon/daemon.manager.js +176 -0
  118. package/dist/daemon/daemon.manager.js.map +1 -0
  119. package/dist/daemon/daemon.schemas.d.ts +38 -0
  120. package/dist/daemon/daemon.schemas.d.ts.map +1 -0
  121. package/dist/daemon/daemon.schemas.js +15 -0
  122. package/dist/daemon/daemon.schemas.js.map +1 -0
  123. package/dist/database/database.d.ts +10 -0
  124. package/dist/database/database.d.ts.map +1 -0
  125. package/dist/database/database.js +52 -0
  126. package/dist/database/database.js.map +1 -0
  127. package/dist/database/migrations/migrations.001-init.d.ts +9 -0
  128. package/dist/database/migrations/migrations.001-init.d.ts.map +1 -0
  129. package/dist/database/migrations/migrations.001-init.js +46 -0
  130. package/dist/database/migrations/migrations.001-init.js.map +1 -0
  131. package/dist/database/migrations/migrations.002-fts5.d.ts +11 -0
  132. package/dist/database/migrations/migrations.002-fts5.d.ts.map +1 -0
  133. package/dist/database/migrations/migrations.002-fts5.js +29 -0
  134. package/dist/database/migrations/migrations.002-fts5.js.map +1 -0
  135. package/dist/database/migrations/migrations.d.ts +11 -0
  136. package/dist/database/migrations/migrations.d.ts.map +1 -0
  137. package/dist/database/migrations/migrations.js +14 -0
  138. package/dist/database/migrations/migrations.js.map +1 -0
  139. package/dist/database/migrations/migrations.types.d.ts +8 -0
  140. package/dist/database/migrations/migrations.types.d.ts.map +1 -0
  141. package/dist/database/migrations/migrations.types.js +2 -0
  142. package/dist/database/migrations/migrations.types.js.map +1 -0
  143. package/dist/documents/documents.d.ts +58 -0
  144. package/dist/documents/documents.d.ts.map +1 -0
  145. package/dist/documents/documents.js +597 -0
  146. package/dist/documents/documents.js.map +1 -0
  147. package/dist/documents/documents.schemas.d.ts +418 -0
  148. package/dist/documents/documents.schemas.d.ts.map +1 -0
  149. package/dist/documents/documents.schemas.js +111 -0
  150. package/dist/documents/documents.schemas.js.map +1 -0
  151. package/dist/embedder/embedder.d.ts +22 -0
  152. package/dist/embedder/embedder.d.ts.map +1 -0
  153. package/dist/embedder/embedder.js +46 -0
  154. package/dist/embedder/embedder.js.map +1 -0
  155. package/dist/exports.d.ts +2 -0
  156. package/dist/exports.d.ts.map +1 -0
  157. package/dist/exports.js +2 -0
  158. package/dist/exports.js.map +1 -0
  159. package/dist/mcp/mcp.d.ts +44 -0
  160. package/dist/mcp/mcp.d.ts.map +1 -0
  161. package/dist/mcp/mcp.js +62 -0
  162. package/dist/mcp/mcp.js.map +1 -0
  163. package/dist/tools/agent/agent.d.ts +14 -0
  164. package/dist/tools/agent/agent.d.ts.map +1 -0
  165. package/dist/tools/agent/agent.js +31 -0
  166. package/dist/tools/agent/agent.js.map +1 -0
  167. package/dist/tools/documents/documents.d.ts +28 -0
  168. package/dist/tools/documents/documents.d.ts.map +1 -0
  169. package/dist/tools/documents/documents.js +336 -0
  170. package/dist/tools/documents/documents.js.map +1 -0
  171. package/dist/tools/tools.langchain.d.ts +11 -0
  172. package/dist/tools/tools.langchain.d.ts.map +1 -0
  173. package/dist/tools/tools.langchain.js +30 -0
  174. package/dist/tools/tools.langchain.js.map +1 -0
  175. package/dist/tools/tools.mcp.d.ts +12 -0
  176. package/dist/tools/tools.mcp.d.ts.map +1 -0
  177. package/dist/tools/tools.mcp.js +38 -0
  178. package/dist/tools/tools.mcp.js.map +1 -0
  179. package/{src/tools/tools.types.ts → dist/tools/tools.types.d.ts} +10 -16
  180. package/dist/tools/tools.types.d.ts.map +1 -0
  181. package/dist/tools/tools.types.js +7 -0
  182. package/dist/tools/tools.types.js.map +1 -0
  183. package/dist/tsconfig.tsbuildinfo +1 -0
  184. package/dist/utils/utils.services.d.ts +14 -0
  185. package/dist/utils/utils.services.d.ts.map +1 -0
  186. package/dist/utils/utils.services.js +33 -0
  187. package/dist/utils/utils.services.js.map +1 -0
  188. package/package.json +5 -2
  189. package/src/agent/AGENTS.md +0 -249
  190. package/src/agent/agent.test-runner.schemas.ts +0 -158
  191. package/src/agent/agent.test-runner.ts +0 -436
  192. package/src/agent/agent.ts +0 -371
  193. package/src/agent/agent.types.ts +0 -94
  194. package/src/backend/AGENTS.md +0 -112
  195. package/src/backend/backend.protocol.ts +0 -95
  196. package/src/backend/backend.schemas.ts +0 -123
  197. package/src/backend/backend.services.ts +0 -151
  198. package/src/backend/backend.ts +0 -111
  199. package/src/backend/backend.types.ts +0 -34
  200. package/src/cli/AGENTS.md +0 -213
  201. package/src/cli/cli.agent.ts +0 -197
  202. package/src/cli/cli.chat.ts +0 -369
  203. package/src/cli/cli.client.ts +0 -55
  204. package/src/cli/cli.collections.ts +0 -491
  205. package/src/cli/cli.config.ts +0 -252
  206. package/src/cli/cli.daemon.ts +0 -160
  207. package/src/cli/cli.documents.ts +0 -413
  208. package/src/cli/cli.mcp.ts +0 -177
  209. package/src/cli/cli.ts +0 -28
  210. package/src/cli/cli.utils.ts +0 -122
  211. package/src/client/AGENTS.md +0 -135
  212. package/src/client/client.adapters.ts +0 -279
  213. package/src/client/client.ts +0 -86
  214. package/src/client/client.types.ts +0 -17
  215. package/src/collections/AGENTS.md +0 -185
  216. package/src/collections/collections.schemas.ts +0 -195
  217. package/src/collections/collections.ts +0 -1160
  218. package/src/config/config.ts +0 -118
  219. package/src/daemon/AGENTS.md +0 -168
  220. package/src/daemon/daemon.config.ts +0 -23
  221. package/src/daemon/daemon.manager.ts +0 -215
  222. package/src/daemon/daemon.schemas.ts +0 -22
  223. package/src/daemon/daemon.ts +0 -205
  224. package/src/database/AGENTS.md +0 -211
  225. package/src/database/database.ts +0 -64
  226. package/src/database/migrations/migrations.001-init.ts +0 -56
  227. package/src/database/migrations/migrations.002-fts5.ts +0 -32
  228. package/src/database/migrations/migrations.ts +0 -20
  229. package/src/database/migrations/migrations.types.ts +0 -9
  230. package/src/documents/AGENTS.md +0 -301
  231. package/src/documents/documents.schemas.ts +0 -190
  232. package/src/documents/documents.ts +0 -734
  233. package/src/embedder/embedder.ts +0 -53
  234. package/src/exports.ts +0 -0
  235. package/src/mcp/AGENTS.md +0 -264
  236. package/src/mcp/mcp.ts +0 -105
  237. package/src/tools/AGENTS.md +0 -228
  238. package/src/tools/agent/agent.ts +0 -45
  239. package/src/tools/documents/documents.ts +0 -401
  240. package/src/tools/tools.langchain.ts +0 -37
  241. package/src/tools/tools.mcp.ts +0 -46
  242. package/src/utils/utils.services.ts +0 -46
@@ -0,0 +1,74 @@
1
+ import { DirectAdapter, DaemonAdapter, WebSocketAdapter } from './client.adapters.js';
2
+ // Create a proxy that converts method calls to RPC requests
3
+ const createServiceProxy = (adapter, serviceName) => {
4
+ const target = {};
5
+ return new Proxy(target, {
6
+ get(_target, methodName) {
7
+ return async (params) => {
8
+ const method = `${serviceName}.${methodName}`;
9
+ return adapter.request(method, params ?? {});
10
+ };
11
+ },
12
+ });
13
+ };
14
+ class BackendClient {
15
+ #adapter;
16
+ #connected = false;
17
+ // Type-safe service proxies
18
+ documents;
19
+ collections;
20
+ system;
21
+ constructor(options) {
22
+ // Create appropriate adapter
23
+ switch (options.mode) {
24
+ case 'direct':
25
+ this.#adapter = new DirectAdapter();
26
+ break;
27
+ case 'daemon':
28
+ this.#adapter = new DaemonAdapter({
29
+ socketPath: options.socketPath,
30
+ autoStart: options.autoStartDaemon,
31
+ timeout: options.timeout,
32
+ });
33
+ break;
34
+ case 'websocket':
35
+ if (!options.url) {
36
+ throw new Error('WebSocket URL is required for websocket mode');
37
+ }
38
+ this.#adapter = new WebSocketAdapter(options.url, {
39
+ timeout: options.timeout,
40
+ });
41
+ break;
42
+ default:
43
+ throw new Error(`Unknown connection mode: ${options.mode}`);
44
+ }
45
+ // Create type-safe service proxies
46
+ this.documents = createServiceProxy(this.#adapter, 'documents');
47
+ this.collections = createServiceProxy(this.#adapter, 'collections');
48
+ this.system = createServiceProxy(this.#adapter, 'system');
49
+ }
50
+ async connect() {
51
+ await this.#adapter.connect();
52
+ this.#connected = true;
53
+ }
54
+ async disconnect() {
55
+ await this.#adapter.disconnect();
56
+ this.#connected = false;
57
+ }
58
+ isConnected() {
59
+ return this.#connected && this.#adapter.isConnected();
60
+ }
61
+ // Generic request method for advanced usage
62
+ async request(method, params) {
63
+ return this.#adapter.request(method, params);
64
+ }
65
+ }
66
+ // Factory function for creating a client with auto-detection
67
+ const createClient = async (options) => {
68
+ const mode = options?.mode ?? 'direct';
69
+ const client = new BackendClient({ mode, ...options });
70
+ await client.connect();
71
+ return client;
72
+ };
73
+ export { BackendClient, createClient };
74
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type { BackendAPI, GetBackendAPIResponse, GetBackendAPIParams } from '#root/backend/backend.types.js';
2
+ export type ConnectionMode = 'direct' | 'daemon' | 'websocket';
3
+ export type ClientOptions = {
4
+ mode: ConnectionMode;
5
+ url?: string;
6
+ socketPath?: string;
7
+ autoStartDaemon?: boolean;
8
+ timeout?: number;
9
+ };
10
+ //# sourceMappingURL=client.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../../src/client/client.types.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG7G,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAG/D,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,cAAc,CAAC;IAErB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../src/client/client.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,219 @@
1
+ import { type ProjectConfig, type CollectionSpec, type CollectionRecord, type Manifest, type FileEntry, type ResolvedFileEntry } from './collections.schemas.js';
2
+ import type { Services } from '#root/utils/utils.services.js';
3
+ /**
4
+ * Result of a sync operation.
5
+ */
6
+ type SyncResult = {
7
+ added: number;
8
+ updated: number;
9
+ removed: number;
10
+ total: number;
11
+ };
12
+ declare class CollectionsService {
13
+ #private;
14
+ constructor(services: Services);
15
+ /**
16
+ * Get the project config file path for a given directory.
17
+ */
18
+ getProjectConfigPath: (cwd?: string) => string;
19
+ /**
20
+ * Check if a project config file exists.
21
+ */
22
+ projectConfigExists: (cwd?: string) => boolean;
23
+ /**
24
+ * Read and parse the project config file.
25
+ */
26
+ readProjectConfig: (cwd?: string) => ProjectConfig;
27
+ /**
28
+ * Write the project config file.
29
+ */
30
+ writeProjectConfig: (projectConfig: ProjectConfig, cwd?: string) => void;
31
+ /**
32
+ * Initialize a new project config file.
33
+ */
34
+ initProjectConfig: (cwd?: string, force?: boolean) => void;
35
+ /**
36
+ * Get the global config file path.
37
+ */
38
+ getGlobalConfigPath: () => string;
39
+ /**
40
+ * Check if the global config file exists.
41
+ */
42
+ globalConfigExists: () => boolean;
43
+ /**
44
+ * Read and parse the global config file.
45
+ */
46
+ readGlobalConfig: () => ProjectConfig;
47
+ /**
48
+ * Write the global config file. Auto-creates directory if needed.
49
+ */
50
+ writeGlobalConfig: (globalConfig: ProjectConfig) => void;
51
+ /**
52
+ * Add a collection to project or global config.
53
+ */
54
+ addToConfig: (name: string, spec: CollectionSpec, options?: {
55
+ global?: boolean;
56
+ cwd?: string;
57
+ }) => void;
58
+ /**
59
+ * Remove a collection from project or global config.
60
+ */
61
+ removeFromConfig: (name: string, options?: {
62
+ global?: boolean;
63
+ cwd?: string;
64
+ }) => void;
65
+ /**
66
+ * Get a collection spec by name from project or global config.
67
+ * If global is not specified, searches local first then global.
68
+ */
69
+ getFromConfig: (name: string, options?: {
70
+ global?: boolean;
71
+ cwd?: string;
72
+ }) => CollectionSpec | null;
73
+ /**
74
+ * Get all collections from both local and global configs.
75
+ * Returns a map with collection name as key and spec + source info as value.
76
+ * Local collections take precedence over global ones with the same name.
77
+ */
78
+ getAllCollections: (cwd?: string) => Map<string, {
79
+ spec: CollectionSpec;
80
+ source: "local" | "global";
81
+ }>;
82
+ /**
83
+ * Normalize a path to its canonical absolute form.
84
+ */
85
+ normalizePath: (path: string, basePath?: string) => string;
86
+ /**
87
+ * Compute the collection ID for a given spec.
88
+ * Format: pkg:{normalized_url}
89
+ */
90
+ computeCollectionId: (spec: CollectionSpec) => string;
91
+ /**
92
+ * Get a collection record by ID.
93
+ */
94
+ getCollection: (id: string) => Promise<CollectionRecord | null>;
95
+ /**
96
+ * List all collection records.
97
+ */
98
+ listCollections: () => Promise<CollectionRecord[]>;
99
+ /**
100
+ * Create or update a collection record.
101
+ */
102
+ upsertCollection: (id: string, data: Omit<CollectionRecord, "id" | "created_at" | "updated_at">) => Promise<void>;
103
+ /**
104
+ * Delete a collection record.
105
+ */
106
+ deleteCollection: (id: string) => Promise<void>;
107
+ /**
108
+ * Update the last sync timestamp for a collection.
109
+ */
110
+ updateLastSync: (id: string) => Promise<void>;
111
+ /**
112
+ * Update the manifest hash for a collection.
113
+ */
114
+ updateManifestHash: (id: string, hash: string) => Promise<void>;
115
+ /**
116
+ * Add a collection to the project config.
117
+ */
118
+ addToProjectConfig: (name: string, spec: CollectionSpec, cwd?: string) => void;
119
+ /**
120
+ * Remove a collection from the project config.
121
+ */
122
+ removeFromProjectConfig: (name: string, cwd?: string) => void;
123
+ /**
124
+ * Get a collection spec by name from the project config.
125
+ */
126
+ getFromProjectConfig: (name: string, cwd?: string) => CollectionSpec | null;
127
+ /**
128
+ * Get sync status for a collection by computing its ID and checking the database.
129
+ */
130
+ getSyncStatus: (spec: CollectionSpec) => Promise<"synced" | "not_synced" | "stale">;
131
+ /**
132
+ * Sync a collection based on its spec.
133
+ */
134
+ syncCollection: (name: string, spec: CollectionSpec, cwd?: string, options?: {
135
+ force?: boolean;
136
+ onProgress?: (message: string) => void;
137
+ }) => Promise<SyncResult>;
138
+ /**
139
+ * Parse a manifest URL and determine its protocol.
140
+ */
141
+ parseManifestUrl: (url: string, cwd?: string) => {
142
+ protocol: "file" | "https";
143
+ path: string;
144
+ isBundle: boolean;
145
+ } | {
146
+ protocol: "git";
147
+ cloneUrl: string;
148
+ ref: string | null;
149
+ manifestPath: string;
150
+ isBundle: false;
151
+ };
152
+ /**
153
+ * Load a manifest from a file:// URL.
154
+ */
155
+ loadLocalManifest: (manifestPath: string) => Promise<Manifest>;
156
+ /**
157
+ * Resolve manifest sources to a list of file entries.
158
+ * For glob sources: expand globs relative to manifest directory.
159
+ * For files sources: resolve paths relative to manifest or baseUrl.
160
+ */
161
+ resolveManifestSources: (manifest: Manifest, manifestDir: string, protocol: "file" | "https") => Promise<ResolvedFileEntry[]>;
162
+ /**
163
+ * Resolve a single file entry to its final URL.
164
+ */
165
+ resolveFileEntry: (entry: FileEntry, manifestDir: string, baseUrl: string | undefined, protocol: "file" | "https") => ResolvedFileEntry;
166
+ /**
167
+ * Fetch content from a URL (file:// or https://).
168
+ */
169
+ fetchContent: (url: string) => Promise<string>;
170
+ /**
171
+ * Load a manifest from a remote URL.
172
+ */
173
+ loadRemoteManifest: (manifestUrl: string) => Promise<{
174
+ manifest: Manifest;
175
+ content: string;
176
+ }>;
177
+ /**
178
+ * Get the directory part of a URL.
179
+ */
180
+ getUrlDirectory: (url: string) => string;
181
+ /**
182
+ * Download a bundle to a temporary file and extract it.
183
+ * Returns the path to the extracted directory.
184
+ */
185
+ downloadAndExtractBundle: (url: string, onProgress?: (message: string) => void) => Promise<string>;
186
+ /**
187
+ * Sync a bundle collection.
188
+ */
189
+ syncBundleCollection: (name: string, spec: CollectionSpec, cwd?: string, options?: {
190
+ force?: boolean;
191
+ onProgress?: (message: string) => void;
192
+ }) => Promise<SyncResult>;
193
+ /**
194
+ * Sync a git collection.
195
+ * Clones the repository to a temp directory relative to cwd (to preserve includeIf git config),
196
+ * reads the manifest from the specified path, and syncs documents.
197
+ */
198
+ syncGitCollection: (name: string, spec: CollectionSpec, cwd?: string, options?: {
199
+ force?: boolean;
200
+ onProgress?: (message: string) => void;
201
+ }) => Promise<SyncResult>;
202
+ /**
203
+ * Sync a pkg collection.
204
+ */
205
+ syncPkgCollection: (name: string, spec: CollectionSpec, cwd?: string, options?: {
206
+ force?: boolean;
207
+ onProgress?: (message: string) => void;
208
+ }) => Promise<SyncResult>;
209
+ /**
210
+ * Sync all collections from project config.
211
+ */
212
+ syncAllCollections: (cwd?: string, options?: {
213
+ force?: boolean;
214
+ onProgress?: (name: string, message: string) => void;
215
+ }) => Promise<Map<string, SyncResult>>;
216
+ }
217
+ export { CollectionsService };
218
+ export type { SyncResult };
219
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/collections/collections.ts"],"names":[],"mappings":"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"}