@nuucognition/flint-cli 0.3.0-alpha.1 → 0.4.0-alpha.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.
@@ -1,297 +0,0 @@
1
- import {
2
- readFlintToml,
3
- toKebabCase
4
- } from "./chunk-KLFK7CPM.js";
5
-
6
- // ../../packages/flint/dist/chunk-7OFS4TXV.js
7
- import { join, dirname, basename } from "path";
8
- import { readFile, writeFile, mkdir, readdir, rm, stat as stat2 } from "fs/promises";
9
- import { join as join2 } from "path";
10
- import { randomUUID } from "crypto";
11
- var FLINT_DIR = ".flint";
12
- function getFlintConfigDir(flintPath) {
13
- return join(flintPath, FLINT_DIR);
14
- }
15
- function getTypePrefix(_type) {
16
- return "(Flint)";
17
- }
18
- function getMetadataDir(flintPath) {
19
- return join2(flintPath, "Mesh", "Metadata");
20
- }
21
- function getReferencesMetadataDir(flintPath) {
22
- return join2(getMetadataDir(flintPath), "Codebase References");
23
- }
24
- function getConnectionsMetadataDir(flintPath) {
25
- return join2(getMetadataDir(flintPath), "Flint Connections");
26
- }
27
- function getSourcesMetadataDir(flintPath) {
28
- return join2(getMetadataDir(flintPath), "Sources");
29
- }
30
- function getReferenceMetadataPath(flintPath, name) {
31
- const slug = toKebabCase(name);
32
- return join2(getReferencesMetadataDir(flintPath), `rf-${slug}.md`);
33
- }
34
- function getConnectionMetadataPath(flintPath, name) {
35
- const slug = toKebabCase(name);
36
- return join2(getConnectionsMetadataDir(flintPath), `con-${slug}.md`);
37
- }
38
- function getSourceMetadataPath(flintPath, importRef) {
39
- const slug = toKebabCase(importRef.replace("/", "-"));
40
- return join2(getSourcesMetadataDir(flintPath), `src-${slug}.md`);
41
- }
42
- async function fileExists(path) {
43
- try {
44
- await stat2(path);
45
- return true;
46
- } catch {
47
- return false;
48
- }
49
- }
50
- function extractId(content) {
51
- const match = content.match(/^id:\s*(.+)$/m);
52
- return match?.[1]?.trim() || null;
53
- }
54
- function extractNotesSection(content) {
55
- const body = content.replace(/^---\n[\s\S]*?\n---\n*/, "").trim();
56
- const idx = body.indexOf("## Notes");
57
- if (idx === -1) return null;
58
- return body.substring(idx).trim();
59
- }
60
- async function syncMetadataFile(filePath, buildContent) {
61
- let existingId = null;
62
- let existingNotes = null;
63
- if (await fileExists(filePath)) {
64
- const existing = await readFile(filePath, "utf-8");
65
- existingId = extractId(existing);
66
- existingNotes = extractNotesSection(existing);
67
- }
68
- const id = existingId || randomUUID();
69
- const notes = existingNotes || "## Notes\n\n(Add notes here)";
70
- const newContent = buildContent(id, notes);
71
- if (existingId) {
72
- const existing = await readFile(filePath, "utf-8");
73
- if (existing === newContent) {
74
- return "synced";
75
- }
76
- }
77
- await writeFile(filePath, newContent);
78
- return existingId ? "synced" : "created";
79
- }
80
- function buildReferenceContent(ref, id, notes) {
81
- return `---
82
- id: ${id}
83
- tags:
84
- - "#f/metadata"
85
- - "#f/reference"
86
- type: ${ref.type}
87
- ---
88
-
89
- Execute \`flint resolve codebase ${ref.name}\` to get the local path.
90
-
91
- ${notes}
92
- `;
93
- }
94
- function buildConnectionContent(declaration, id, notes) {
95
- return `---
96
- id: ${id}
97
- tags:
98
- - "#f/metadata"
99
- - "#f/connection"
100
- type: flint
101
- ---
102
-
103
- Execute \`flint resolve connection ${declaration.name}\` to get the local path.
104
-
105
- ${notes}
106
- `;
107
- }
108
- function buildSourceContent(importRef, id, notes) {
109
- return `---
110
- id: ${id}
111
- tags:
112
- - "#f/metadata"
113
- - "#f/source"
114
- type: flint-export
115
- ---
116
-
117
- Execute \`flint resolve source "${importRef}"\` to get the local path.
118
-
119
- ${notes}
120
- `;
121
- }
122
- async function generateReferenceMetadata(flintPath, ref) {
123
- const filePath = getReferenceMetadataPath(flintPath, ref.name);
124
- await mkdir(getReferencesMetadataDir(flintPath), { recursive: true });
125
- const result = await syncMetadataFile(
126
- filePath,
127
- (id, notes) => buildReferenceContent(ref, id, notes)
128
- );
129
- return result === "created";
130
- }
131
- async function generateConnectionMetadata(flintPath, declaration) {
132
- const filePath = getConnectionMetadataPath(flintPath, declaration.name);
133
- await mkdir(getConnectionsMetadataDir(flintPath), { recursive: true });
134
- const result = await syncMetadataFile(
135
- filePath,
136
- (id, notes) => buildConnectionContent(declaration, id, notes)
137
- );
138
- return result === "created";
139
- }
140
- async function generateSourceMetadata(flintPath, importRef) {
141
- const filePath = getSourceMetadataPath(flintPath, importRef);
142
- await mkdir(getSourcesMetadataDir(flintPath), { recursive: true });
143
- const result = await syncMetadataFile(
144
- filePath,
145
- (id, notes) => buildSourceContent(importRef, id, notes)
146
- );
147
- return result === "created";
148
- }
149
- async function resolveCodebase(flintPath, name) {
150
- const { readReferencesState } = await import("./workspace-local-LKB4MTN2-OY5UVN3K.js");
151
- const state = await readReferencesState(flintPath);
152
- const normalizedName = name.toLowerCase();
153
- const fulfillment = state.references.find(
154
- (r) => r.name.toLowerCase() === normalizedName
155
- );
156
- if (fulfillment?.path) {
157
- return { status: "fulfilled", name, type: "codebase", path: fulfillment.path };
158
- }
159
- return { status: "unfulfilled", name, type: "codebase" };
160
- }
161
- async function resolveConnection(flintPath, name) {
162
- const { readConnectionsState } = await import("./connections-AXGFYQOK-A6BXCAC7.js");
163
- const state = await readConnectionsState(flintPath);
164
- const normalizedName = name.toLowerCase();
165
- const fulfillment = state.connections.find(
166
- (c) => c.name.toLowerCase() === normalizedName
167
- );
168
- if (fulfillment?.path) {
169
- return { status: "fulfilled", name, type: "connection", path: fulfillment.path };
170
- }
171
- return { status: "unfulfilled", name, type: "connection" };
172
- }
173
- async function resolveSource(flintPath, importRef) {
174
- const parts = importRef.split("/");
175
- const flintName = parts[0] || importRef;
176
- const exportName = parts[1] || "";
177
- const sourcePath = join2(flintPath, "Sources", "Flints", `(Flint) ${flintName}`, `(Mesh) ${exportName}`);
178
- try {
179
- await stat2(sourcePath);
180
- return { status: "fulfilled", name: importRef, type: "source", path: sourcePath };
181
- } catch {
182
- return { status: "unfulfilled", name: importRef, type: "source", path: sourcePath };
183
- }
184
- }
185
- async function listMetadataFiles(dirPath, prefix) {
186
- try {
187
- const entries = await readdir(dirPath);
188
- return entries.filter((e) => e.startsWith(prefix) && e.endsWith(".md"));
189
- } catch {
190
- return [];
191
- }
192
- }
193
- async function syncMetadata(flintPath) {
194
- const result = { created: [], removed: [], unchanged: [] };
195
- const config = await readFlintToml(flintPath);
196
- if (!config) return result;
197
- const references = config.workspace?.references || [];
198
- const expectedRefFiles = new Set(
199
- references.map((r) => `rf-${toKebabCase(r.name)}.md`)
200
- );
201
- for (const ref of references) {
202
- const created = await generateReferenceMetadata(flintPath, ref);
203
- const fileName = `rf-${toKebabCase(ref.name)}.md`;
204
- if (created) {
205
- result.created.push(fileName);
206
- } else {
207
- result.unchanged.push(fileName);
208
- }
209
- }
210
- const existingRefFiles = await listMetadataFiles(
211
- getReferencesMetadataDir(flintPath),
212
- "rf-"
213
- );
214
- for (const file of existingRefFiles) {
215
- if (!expectedRefFiles.has(file)) {
216
- try {
217
- await rm(join2(getReferencesMetadataDir(flintPath), file));
218
- result.removed.push(file);
219
- } catch {
220
- }
221
- }
222
- }
223
- const connections = config.connections?.flints || [];
224
- const expectedConFiles = new Set(
225
- connections.map((c) => `con-${toKebabCase(c.name)}.md`)
226
- );
227
- for (const con of connections) {
228
- const created = await generateConnectionMetadata(flintPath, con);
229
- const fileName = `con-${toKebabCase(con.name)}.md`;
230
- if (created) {
231
- result.created.push(fileName);
232
- } else {
233
- result.unchanged.push(fileName);
234
- }
235
- }
236
- const existingConFiles = await listMetadataFiles(
237
- getConnectionsMetadataDir(flintPath),
238
- "con-"
239
- );
240
- for (const file of existingConFiles) {
241
- if (!expectedConFiles.has(file)) {
242
- try {
243
- await rm(join2(getConnectionsMetadataDir(flintPath), file));
244
- result.removed.push(file);
245
- } catch {
246
- }
247
- }
248
- }
249
- const imports = config.imports?.flints || config.imports?.required || [];
250
- const expectedSrcFiles = new Set(
251
- imports.map((ref) => `src-${toKebabCase(ref.replace("/", "-"))}.md`)
252
- );
253
- for (const importRef of imports) {
254
- const created = await generateSourceMetadata(flintPath, importRef);
255
- const fileName = `src-${toKebabCase(importRef.replace("/", "-"))}.md`;
256
- if (created) {
257
- result.created.push(fileName);
258
- } else {
259
- result.unchanged.push(fileName);
260
- }
261
- }
262
- const existingSrcFiles = await listMetadataFiles(
263
- getSourcesMetadataDir(flintPath),
264
- "src-"
265
- );
266
- for (const file of existingSrcFiles) {
267
- if (!expectedSrcFiles.has(file)) {
268
- try {
269
- await rm(join2(getSourcesMetadataDir(flintPath), file));
270
- result.removed.push(file);
271
- } catch {
272
- }
273
- }
274
- }
275
- return result;
276
- }
277
- async function ensureMetadataDirs(flintPath) {
278
- await mkdir(getReferencesMetadataDir(flintPath), { recursive: true });
279
- await mkdir(getConnectionsMetadataDir(flintPath), { recursive: true });
280
- await mkdir(getSourcesMetadataDir(flintPath), { recursive: true });
281
- }
282
-
283
- export {
284
- getFlintConfigDir,
285
- getTypePrefix,
286
- getReferencesMetadataDir,
287
- getConnectionsMetadataDir,
288
- getReferenceMetadataPath,
289
- getConnectionMetadataPath,
290
- generateReferenceMetadata,
291
- generateConnectionMetadata,
292
- resolveCodebase,
293
- resolveConnection,
294
- resolveSource,
295
- syncMetadata,
296
- ensureMetadataDirs
297
- };
@@ -1,303 +0,0 @@
1
- import {
2
- generateConnectionMetadata,
3
- getConnectionMetadataPath,
4
- getConnectionsMetadataDir,
5
- getFlintConfigDir
6
- } from "./chunk-KVE7WLA2.js";
7
- import {
8
- readFlintToml,
9
- writeFlintToml
10
- } from "./chunk-KLFK7CPM.js";
11
- import {
12
- findFlintByName
13
- } from "./chunk-OIXBMYAA.js";
14
-
15
- // ../../packages/flint/dist/chunk-AUWQSMUZ.js
16
- import { readFile, writeFile, mkdir, access, rm } from "fs/promises";
17
- import { join as join2 } from "path";
18
- import { stat } from "fs/promises";
19
- import { dirname, join } from "path";
20
- async function findFlintRoot(startPath) {
21
- let current = startPath;
22
- if (!current.startsWith("/")) {
23
- current = join(process.cwd(), current);
24
- }
25
- while (current !== dirname(current)) {
26
- const flintConfigDir = join(current, ".flint");
27
- const flintToml = join(current, "flint.toml");
28
- try {
29
- const configStat = await stat(flintConfigDir);
30
- if (configStat.isDirectory()) {
31
- return current;
32
- }
33
- } catch {
34
- }
35
- try {
36
- const tomlStat = await stat(flintToml);
37
- if (tomlStat.isFile()) {
38
- return current;
39
- }
40
- } catch {
41
- }
42
- current = dirname(current);
43
- }
44
- return null;
45
- }
46
- async function isInsideFlint(path) {
47
- const flintRoot = await findFlintRoot(path);
48
- return flintRoot !== null;
49
- }
50
- function getConnectionsDir(flintPath) {
51
- return getConnectionsMetadataDir(flintPath);
52
- }
53
- function getConnectionDir(flintPath, _name) {
54
- return getConnectionsMetadataDir(flintPath);
55
- }
56
- function getConnectionsStatePath(flintPath) {
57
- return join2(getFlintConfigDir(flintPath), "connections.json");
58
- }
59
- function getConnectionFilePath(flintPath, name) {
60
- return getConnectionMetadataPath(flintPath, name);
61
- }
62
- async function readConnectionsState(flintPath) {
63
- try {
64
- const content = await readFile(getConnectionsStatePath(flintPath), "utf-8");
65
- return JSON.parse(content);
66
- } catch {
67
- return { version: 1, connections: [] };
68
- }
69
- }
70
- async function writeConnectionsState(flintPath, state) {
71
- const statePath = getConnectionsStatePath(flintPath);
72
- await mkdir(getFlintConfigDir(flintPath), { recursive: true });
73
- await writeFile(statePath, JSON.stringify(state, null, 2));
74
- }
75
- async function getConnectionDeclarations(flintPath) {
76
- const config = await readFlintToml(flintPath);
77
- return config?.connections?.flints || [];
78
- }
79
- async function addConnectionDeclaration(flintPath, name) {
80
- const registeredFlint = await findFlintByName(name);
81
- if (!registeredFlint) {
82
- throw new Error(
83
- `"${name}" is not a registered Flint. Use 'flint list' to see registered Flints, or 'flint register <path>' to register it first.`
84
- );
85
- }
86
- const config = await readFlintToml(flintPath);
87
- if (!config) {
88
- throw new Error("Could not read flint.toml");
89
- }
90
- if (!config.connections) {
91
- config.connections = { flints: [] };
92
- }
93
- if (!config.connections.flints) {
94
- config.connections.flints = [];
95
- }
96
- const existing = config.connections.flints.find(
97
- (c) => c.name.toLowerCase() === name.toLowerCase()
98
- );
99
- if (existing) {
100
- throw new Error(`Connection to "${name}" is already declared`);
101
- }
102
- config.connections.flints.push({ name });
103
- await writeFlintToml(flintPath, config);
104
- }
105
- async function removeConnectionDeclaration(flintPath, name) {
106
- const config = await readFlintToml(flintPath);
107
- if (!config?.connections?.flints) return false;
108
- const normalizedName = name.toLowerCase();
109
- const index = config.connections.flints.findIndex(
110
- (c) => c.name.toLowerCase() === normalizedName
111
- );
112
- if (index === -1) return false;
113
- config.connections.flints.splice(index, 1);
114
- if (config.connections.flints.length === 0) {
115
- delete config.connections.flints;
116
- }
117
- if (Object.keys(config.connections).length === 0) {
118
- delete config.connections;
119
- }
120
- await writeFlintToml(flintPath, config);
121
- return true;
122
- }
123
- async function fulfillConnection(flintPath, name, targetPath) {
124
- const declarations = await getConnectionDeclarations(flintPath);
125
- const declaration = declarations.find(
126
- (d) => d.name.toLowerCase() === name.toLowerCase()
127
- );
128
- if (!declaration) {
129
- throw new Error(
130
- `Connection "${name}" is not declared. Use 'flint connection add "${name}"' first.`
131
- );
132
- }
133
- let resolvedPath = targetPath;
134
- if (!resolvedPath) {
135
- const registeredFlint = await findFlintByName(name);
136
- if (!registeredFlint) {
137
- throw new Error(
138
- `"${name}" is not in the registry. Provide a path explicitly or register the Flint first.`
139
- );
140
- }
141
- resolvedPath = registeredFlint.path;
142
- }
143
- const isFlint = await isInsideFlint(resolvedPath);
144
- if (!isFlint) {
145
- throw new Error(`Target is not a valid Flint: ${resolvedPath}`);
146
- }
147
- const fulfillment = {
148
- name: declaration.name,
149
- // Use declared name (proper case)
150
- path: resolvedPath,
151
- fulfilled: (/* @__PURE__ */ new Date()).toISOString()
152
- };
153
- const state = await readConnectionsState(flintPath);
154
- const existingIndex = state.connections.findIndex(
155
- (c) => c.name.toLowerCase() === name.toLowerCase()
156
- );
157
- if (existingIndex >= 0) {
158
- state.connections[existingIndex] = fulfillment;
159
- } else {
160
- state.connections.push(fulfillment);
161
- }
162
- await writeConnectionsState(flintPath, state);
163
- return fulfillment;
164
- }
165
- async function unfulfillConnection(flintPath, name) {
166
- const normalizedName = name.toLowerCase();
167
- const state = await readConnectionsState(flintPath);
168
- const index = state.connections.findIndex(
169
- (c) => c.name.toLowerCase() === normalizedName
170
- );
171
- if (index >= 0) {
172
- state.connections.splice(index, 1);
173
- await writeConnectionsState(flintPath, state);
174
- return true;
175
- }
176
- return false;
177
- }
178
- async function getConnectionStatus(flintPath) {
179
- const declarations = await getConnectionDeclarations(flintPath);
180
- const state = await readConnectionsState(flintPath);
181
- const results = [];
182
- for (const declaration of declarations) {
183
- const fulfillment = state.connections.find(
184
- (c) => c.name.toLowerCase() === declaration.name.toLowerCase()
185
- );
186
- const status = {
187
- name: declaration.name,
188
- declared: true,
189
- fulfilled: !!fulfillment
190
- };
191
- if (fulfillment) {
192
- status.path = fulfillment.path;
193
- status.fulfilledAt = fulfillment.fulfilled;
194
- try {
195
- await access(fulfillment.path);
196
- const isFlint = await isInsideFlint(fulfillment.path);
197
- status.valid = isFlint;
198
- } catch {
199
- status.valid = false;
200
- }
201
- }
202
- results.push(status);
203
- }
204
- return results;
205
- }
206
- async function getConnection(flintPath, name) {
207
- const statuses = await getConnectionStatus(flintPath);
208
- return statuses.find((s) => s.name.toLowerCase() === name.toLowerCase()) || null;
209
- }
210
- async function listConnections(flintPath) {
211
- return getConnectionStatus(flintPath);
212
- }
213
- async function getUnfulfilledConnections(flintPath) {
214
- const statuses = await getConnectionStatus(flintPath);
215
- return statuses.filter((s) => !s.fulfilled).map((s) => ({ name: s.name }));
216
- }
217
- async function addConnection(flintPath, name, autoFulfill = true) {
218
- await addConnectionDeclaration(flintPath, name);
219
- await generateConnectionMetadata(flintPath, { name });
220
- if (autoFulfill) {
221
- try {
222
- await fulfillConnection(flintPath, name);
223
- } catch {
224
- }
225
- }
226
- const status = await getConnection(flintPath, name);
227
- if (!status) {
228
- throw new Error("Failed to add connection");
229
- }
230
- return status;
231
- }
232
- async function removeConnection(flintPath, name) {
233
- await unfulfillConnection(flintPath, name);
234
- try {
235
- const metadataPath = getConnectionMetadataPath(flintPath, name);
236
- await rm(metadataPath);
237
- } catch {
238
- }
239
- return removeConnectionDeclaration(flintPath, name);
240
- }
241
- async function migrateConnections(flintPath) {
242
- const result = { migrated: 0, errors: [] };
243
- try {
244
- const oldConfigPath = getConnectionsStatePath(flintPath);
245
- const oldContent = await readFile(oldConfigPath, "utf-8");
246
- const oldConfig = JSON.parse(oldContent);
247
- if (!oldConfig.connections || oldConfig.connections.length === 0) {
248
- return result;
249
- }
250
- const firstConnection = oldConfig.connections[0];
251
- if (!firstConnection.path) {
252
- return result;
253
- }
254
- for (const oldEntry of oldConfig.connections) {
255
- try {
256
- await addConnectionDeclaration(flintPath, oldEntry.name);
257
- await generateConnectionMetadata(flintPath, { name: oldEntry.name });
258
- await fulfillConnection(flintPath, oldEntry.name, oldEntry.path);
259
- const oldConnectionDir = join2(flintPath, "Connections", oldEntry.name);
260
- const oldFolders = ["inbox", "outbox", "mirror"];
261
- for (const folder of oldFolders) {
262
- try {
263
- await rm(join2(oldConnectionDir, folder), { recursive: true });
264
- } catch {
265
- }
266
- }
267
- try {
268
- await rm(join2(oldConnectionDir, "connection.md"));
269
- } catch {
270
- }
271
- result.migrated++;
272
- } catch (err) {
273
- result.errors.push(
274
- `Failed to migrate "${oldEntry.name}": ${err instanceof Error ? err.message : String(err)}`
275
- );
276
- }
277
- }
278
- } catch {
279
- }
280
- return result;
281
- }
282
-
283
- export {
284
- findFlintRoot,
285
- getConnectionsDir,
286
- getConnectionDir,
287
- getConnectionsStatePath,
288
- getConnectionFilePath,
289
- readConnectionsState,
290
- writeConnectionsState,
291
- getConnectionDeclarations,
292
- addConnectionDeclaration,
293
- removeConnectionDeclaration,
294
- fulfillConnection,
295
- unfulfillConnection,
296
- getConnectionStatus,
297
- getConnection,
298
- listConnections,
299
- getUnfulfilledConnections,
300
- addConnection,
301
- removeConnection,
302
- migrateConnections
303
- };
@@ -1,43 +0,0 @@
1
- import {
2
- addConnection,
3
- addConnectionDeclaration,
4
- fulfillConnection,
5
- getConnection,
6
- getConnectionDeclarations,
7
- getConnectionDir,
8
- getConnectionFilePath,
9
- getConnectionStatus,
10
- getConnectionsDir,
11
- getConnectionsStatePath,
12
- getUnfulfilledConnections,
13
- listConnections,
14
- migrateConnections,
15
- readConnectionsState,
16
- removeConnection,
17
- removeConnectionDeclaration,
18
- unfulfillConnection,
19
- writeConnectionsState
20
- } from "./chunk-T7VT4BN3.js";
21
- import "./chunk-KVE7WLA2.js";
22
- import "./chunk-KLFK7CPM.js";
23
- import "./chunk-OIXBMYAA.js";
24
- export {
25
- addConnection,
26
- addConnectionDeclaration,
27
- fulfillConnection,
28
- getConnection,
29
- getConnectionDeclarations,
30
- getConnectionDir,
31
- getConnectionFilePath,
32
- getConnectionStatus,
33
- getConnectionsDir,
34
- getConnectionsStatePath,
35
- getUnfulfilledConnections,
36
- listConnections,
37
- migrateConnections,
38
- readConnectionsState,
39
- removeConnection,
40
- removeConnectionDeclaration,
41
- unfulfillConnection,
42
- writeConnectionsState
43
- };
@@ -1,70 +0,0 @@
1
- import {
2
- cloneRepository,
3
- cloneSourceRepository,
4
- createRepository,
5
- deleteReferenceFile,
6
- freshCloneRepository,
7
- getLegacyWorkspaceConfigPath,
8
- getLegacyWorkspaceDir,
9
- getReferencesStatePath,
10
- getRepositoryPath,
11
- getRepositoryStatus,
12
- getSourceRepositoryPath,
13
- getSourceRepositoryStatus,
14
- getUnfulfilledWorkspaces,
15
- getWorkspacePath,
16
- getWorkspaceReferenceFilePath,
17
- getWorkspaceReferencesDir,
18
- getWorkspaceRepositoriesDir,
19
- getWorkspaceSourceRepositoriesDir,
20
- getWorkspaceStatus,
21
- migrateWorkspaceConfig,
22
- readReferencePath,
23
- readReferencesState,
24
- removeReferenceState,
25
- removeRepositoryFolder,
26
- removeSourceRepositoryFolder,
27
- removeWorkspacePath,
28
- setWorkspacePath,
29
- updateReferenceState,
30
- updateRepository,
31
- updateSourceRepository,
32
- writeReferenceFile,
33
- writeReferencesState
34
- } from "./chunk-2Q7QG2UK.js";
35
- import "./chunk-KVE7WLA2.js";
36
- import "./chunk-KLFK7CPM.js";
37
- export {
38
- cloneRepository,
39
- cloneSourceRepository,
40
- createRepository,
41
- deleteReferenceFile,
42
- freshCloneRepository,
43
- getLegacyWorkspaceConfigPath,
44
- getLegacyWorkspaceDir,
45
- getReferencesStatePath,
46
- getRepositoryPath,
47
- getRepositoryStatus,
48
- getSourceRepositoryPath,
49
- getSourceRepositoryStatus,
50
- getUnfulfilledWorkspaces,
51
- getWorkspacePath,
52
- getWorkspaceReferenceFilePath,
53
- getWorkspaceReferencesDir,
54
- getWorkspaceRepositoriesDir,
55
- getWorkspaceSourceRepositoriesDir,
56
- getWorkspaceStatus,
57
- migrateWorkspaceConfig,
58
- readReferencePath,
59
- readReferencesState,
60
- removeReferenceState,
61
- removeRepositoryFolder,
62
- removeSourceRepositoryFolder,
63
- removeWorkspacePath,
64
- setWorkspacePath,
65
- updateReferenceState,
66
- updateRepository,
67
- updateSourceRepository,
68
- writeReferenceFile,
69
- writeReferencesState
70
- };