@bendyline/gezel 1.0.6 → 1.1.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/dist/checks/index.d.ts +101 -2
- package/dist/checks/index.js +433 -21
- package/dist/{index-D82l7pAm.d.ts → index-C7jST61L.d.ts} +11757 -879
- package/dist/index.d.ts +1075 -15
- package/dist/index.js +23373 -6890
- package/dist/markdown/index.d.ts +1 -1
- package/dist/markdown/index.js +1309 -872
- package/dist/native/index.d.ts +121 -11
- package/dist/native/index.js +80 -7
- package/dist/paths.d.ts +108 -4
- package/dist/paths.js +374 -0
- package/dist/{report-action-ClXIBtpU.d.ts → report-action-Dn_QrwwK.d.ts} +1000 -4
- package/dist/schemas/index.d.ts +3 -2
- package/dist/schemas/index.js +9722 -5813
- package/package.json +2 -1
package/dist/paths.js
CHANGED
|
@@ -42,6 +42,280 @@ function assertSafeEntityId(value, label = "entity id") {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
// src/schemas/knowledge.ts
|
|
46
|
+
import {
|
|
47
|
+
KnowledgeIdSchema,
|
|
48
|
+
KnowledgeVersionSchema,
|
|
49
|
+
Sha256HexSchema
|
|
50
|
+
} from "@bendyline/gezk";
|
|
51
|
+
import { z } from "zod";
|
|
52
|
+
import {
|
|
53
|
+
ArtifactDigestSchema,
|
|
54
|
+
CatalogDocumentSchema,
|
|
55
|
+
DEFAULT_EMBEDDING_ONNX_FILE,
|
|
56
|
+
DEFAULT_EMBEDDING_TOKENIZER_FILE,
|
|
57
|
+
GEZK_APPLICATION_ID,
|
|
58
|
+
GEZK_FORMAT_VERSION,
|
|
59
|
+
GEZK_INDEX_SCHEMA_VERSION,
|
|
60
|
+
GEZK_MANIFEST_KIND,
|
|
61
|
+
GEZK_MIME_TYPE,
|
|
62
|
+
GEZK_REGISTRY_KIND,
|
|
63
|
+
KNOWLEDGE_ID_PATTERN,
|
|
64
|
+
KNOWLEDGE_VERSION_PATTERN,
|
|
65
|
+
KnowledgeCatalogManifestSchema,
|
|
66
|
+
KnowledgeChunkUidSchema,
|
|
67
|
+
KnowledgeChunkingProfileSchema,
|
|
68
|
+
KnowledgeDocumentIdSchema,
|
|
69
|
+
KnowledgeEmbeddingProfileSchema,
|
|
70
|
+
KnowledgeIdSchema as KnowledgeIdSchema2,
|
|
71
|
+
KnowledgeManifestFileSchema,
|
|
72
|
+
KnowledgeRegistryEntrySchema as KnowledgeRegistryEntrySchema2,
|
|
73
|
+
KnowledgeRegistryIndexSchema,
|
|
74
|
+
KnowledgeSignatureSchema,
|
|
75
|
+
KnowledgeVectorEncodingSchema,
|
|
76
|
+
KnowledgeVersionSchema as KnowledgeVersionSchema2,
|
|
77
|
+
LICENSE_NOTICE_PATH,
|
|
78
|
+
MANIFEST_PATH,
|
|
79
|
+
MIMETYPE_PATH,
|
|
80
|
+
README_PATH,
|
|
81
|
+
ROUTER_DB_PATH,
|
|
82
|
+
RepoRelativePathSchema,
|
|
83
|
+
SOURCE_NOTICES_PATH,
|
|
84
|
+
Sha256HexSchema as Sha256HexSchema2,
|
|
85
|
+
SourceNoticesSchema,
|
|
86
|
+
embeddingProfileArtifacts,
|
|
87
|
+
formatKnowledgeUri,
|
|
88
|
+
parseKnowledgeUri,
|
|
89
|
+
sameVectorSpace
|
|
90
|
+
} from "@bendyline/gezk";
|
|
91
|
+
var KnowledgeStorageScopeSchema = z.enum(["machine-shared", "user"]);
|
|
92
|
+
var KnowledgeInstallSourceKindSchema = z.enum(["gilde", "file", "url"]);
|
|
93
|
+
var KnowledgeCatalogRefSchema = z.object({
|
|
94
|
+
publisherId: KnowledgeIdSchema,
|
|
95
|
+
catalogId: KnowledgeIdSchema,
|
|
96
|
+
version: KnowledgeVersionSchema,
|
|
97
|
+
contentDigest: Sha256HexSchema,
|
|
98
|
+
storageScope: KnowledgeStorageScopeSchema
|
|
99
|
+
});
|
|
100
|
+
var KnowledgeUserRegistrySchema = z.object({
|
|
101
|
+
version: z.literal(1),
|
|
102
|
+
catalogs: z.array(
|
|
103
|
+
z.object({
|
|
104
|
+
ref: KnowledgeCatalogRefSchema,
|
|
105
|
+
enabled: z.boolean(),
|
|
106
|
+
addedAt: z.string(),
|
|
107
|
+
autoUpdate: z.boolean().optional(),
|
|
108
|
+
/** Where the install came from; entries written before it was recorded carry none. */
|
|
109
|
+
source: KnowledgeInstallSourceKindSchema.optional(),
|
|
110
|
+
/** Set when the manager quarantined this catalog (with the reason). */
|
|
111
|
+
disabledReason: z.string().optional()
|
|
112
|
+
})
|
|
113
|
+
)
|
|
114
|
+
});
|
|
115
|
+
var KnowledgeMachineInventorySchema = z.object({
|
|
116
|
+
version: z.literal(1),
|
|
117
|
+
catalogs: z.array(
|
|
118
|
+
z.object({
|
|
119
|
+
publisherId: KnowledgeIdSchema,
|
|
120
|
+
catalogId: KnowledgeIdSchema,
|
|
121
|
+
version: KnowledgeVersionSchema,
|
|
122
|
+
contentDigest: Sha256HexSchema,
|
|
123
|
+
publishedAt: z.string(),
|
|
124
|
+
bytes: z.number().int().nonnegative()
|
|
125
|
+
})
|
|
126
|
+
)
|
|
127
|
+
});
|
|
128
|
+
var TrustedKnowledgeCoordinateSchema = z.object({
|
|
129
|
+
publisherId: KnowledgeIdSchema,
|
|
130
|
+
catalogId: KnowledgeIdSchema,
|
|
131
|
+
version: KnowledgeVersionSchema,
|
|
132
|
+
expectedDigest: Sha256HexSchema
|
|
133
|
+
});
|
|
134
|
+
var ProjectKnowledgeCatalogsSchema = z.object({
|
|
135
|
+
mode: z.enum(["inherit", "selected", "off"]),
|
|
136
|
+
/**
|
|
137
|
+
* Only for mode 'selected'. Unresolvable refs are RETAINED (not stripped)
|
|
138
|
+
* so a restored project regains its selection when the catalog returns.
|
|
139
|
+
*/
|
|
140
|
+
refs: z.array(z.object({ publisherId: KnowledgeIdSchema, catalogId: KnowledgeIdSchema })).optional()
|
|
141
|
+
});
|
|
142
|
+
var KnowledgeHuggingfaceFileSchema = z.object({
|
|
143
|
+
repo: z.string(),
|
|
144
|
+
/** A 40-hex commit sha, so the pinned URL is immutable. */
|
|
145
|
+
revision: z.string(),
|
|
146
|
+
path: z.string()
|
|
147
|
+
});
|
|
148
|
+
var KnowledgeUpdateCandidateSchema = z.object({
|
|
149
|
+
publisherId: KnowledgeIdSchema,
|
|
150
|
+
catalogId: KnowledgeIdSchema,
|
|
151
|
+
name: z.string(),
|
|
152
|
+
installedVersion: z.string(),
|
|
153
|
+
availableVersion: z.string(),
|
|
154
|
+
releasedAt: z.string(),
|
|
155
|
+
archiveBytes: z.number().int().nonnegative(),
|
|
156
|
+
contentDigest: Sha256HexSchema,
|
|
157
|
+
huggingface: KnowledgeHuggingfaceFileSchema
|
|
158
|
+
});
|
|
159
|
+
var KnowledgeUpdatesResponseSchema = z.object({
|
|
160
|
+
source: z.literal("gilde"),
|
|
161
|
+
checkedAt: z.string(),
|
|
162
|
+
updates: z.array(KnowledgeUpdateCandidateSchema)
|
|
163
|
+
});
|
|
164
|
+
var KnowledgeSemanticSearchModeSchema = z.enum(["shared", "profile", "keyword-only"]);
|
|
165
|
+
var KnowledgeCatalogStatusSchema = z.object({
|
|
166
|
+
ref: KnowledgeCatalogRefSchema,
|
|
167
|
+
enabled: z.boolean(),
|
|
168
|
+
addedAt: z.string(),
|
|
169
|
+
disabledReason: z.string().optional(),
|
|
170
|
+
mounted: z.boolean(),
|
|
171
|
+
name: z.string().optional(),
|
|
172
|
+
description: z.string().optional(),
|
|
173
|
+
language: z.string().optional(),
|
|
174
|
+
license: z.string().optional(),
|
|
175
|
+
documents: z.number().int().nonnegative().optional(),
|
|
176
|
+
chunks: z.number().int().nonnegative().optional(),
|
|
177
|
+
sizeBytes: z.number().int().nonnegative().optional(),
|
|
178
|
+
/** False only for `keyword-only` catalogs (an unregistered embedding profile). */
|
|
179
|
+
vectorCompatible: z.boolean().optional(),
|
|
180
|
+
/**
|
|
181
|
+
* `shared` — queries reuse the daemon's own embedder; `profile` — the
|
|
182
|
+
* catalog's model is loaded to embed queries; `keyword-only` — no model
|
|
183
|
+
* gezel can run matches the profile, so only full-text search applies.
|
|
184
|
+
*/
|
|
185
|
+
semanticSearch: KnowledgeSemanticSearchModeSchema.optional(),
|
|
186
|
+
source: KnowledgeInstallSourceKindSchema,
|
|
187
|
+
/** A strictly newer version exists in the shipped catalog content. */
|
|
188
|
+
updateAvailable: z.boolean(),
|
|
189
|
+
availableVersion: z.string().optional()
|
|
190
|
+
});
|
|
191
|
+
var KnowledgeAvailableCatalogSchema = z.object({
|
|
192
|
+
id: KnowledgeIdSchema,
|
|
193
|
+
publisherId: KnowledgeIdSchema,
|
|
194
|
+
name: z.string(),
|
|
195
|
+
description: z.string(),
|
|
196
|
+
tags: z.array(z.string()),
|
|
197
|
+
language: z.string(),
|
|
198
|
+
category: z.string().optional(),
|
|
199
|
+
license: z.string().optional(),
|
|
200
|
+
licenseUrl: z.string().optional(),
|
|
201
|
+
version: z.string(),
|
|
202
|
+
releasedAt: z.string(),
|
|
203
|
+
formatVersion: z.string(),
|
|
204
|
+
huggingface: KnowledgeHuggingfaceFileSchema,
|
|
205
|
+
upstream: z.string().optional(),
|
|
206
|
+
parquet: z.object({ repo: z.string(), revision: z.string(), dir: z.string() }).optional(),
|
|
207
|
+
sha256: Sha256HexSchema,
|
|
208
|
+
archiveBytes: z.number().int().nonnegative(),
|
|
209
|
+
uncompressedBytes: z.number().int().nonnegative(),
|
|
210
|
+
documents: z.number().int().nonnegative(),
|
|
211
|
+
chunks: z.number().int().nonnegative(),
|
|
212
|
+
embeddingProfile: z.object({ id: z.string(), modelRepo: z.string() }),
|
|
213
|
+
topics: z.array(z.object({ id: z.string(), name: z.string() })),
|
|
214
|
+
minGezelVersion: z.string().optional(),
|
|
215
|
+
/** Present when this user's registry holds a version of the catalog. */
|
|
216
|
+
installed: z.object({
|
|
217
|
+
version: z.string(),
|
|
218
|
+
contentDigest: Sha256HexSchema,
|
|
219
|
+
storageScope: KnowledgeStorageScopeSchema,
|
|
220
|
+
enabled: z.boolean(),
|
|
221
|
+
updateAvailable: z.boolean()
|
|
222
|
+
}).optional(),
|
|
223
|
+
/** The pinned bytes already sit in the machine-shared asset store. */
|
|
224
|
+
sharedOnDevice: z.boolean(),
|
|
225
|
+
installing: z.boolean(),
|
|
226
|
+
/** A resumable partial download of the pinned archive exists. */
|
|
227
|
+
incompleteDownload: z.boolean()
|
|
228
|
+
});
|
|
229
|
+
var KnowledgeInstallPhaseSchema = z.enum(["download", "extract", "embedder"]);
|
|
230
|
+
var KnowledgeInstallEventSchema = z.discriminatedUnion("type", [
|
|
231
|
+
z.object({
|
|
232
|
+
type: z.literal("progress"),
|
|
233
|
+
phase: KnowledgeInstallPhaseSchema,
|
|
234
|
+
bytesDone: z.number().nonnegative(),
|
|
235
|
+
bytesTotal: z.number().nonnegative()
|
|
236
|
+
}),
|
|
237
|
+
z.object({ type: z.literal("verifying") }),
|
|
238
|
+
z.object({
|
|
239
|
+
type: z.literal("retrying"),
|
|
240
|
+
attempt: z.number().int(),
|
|
241
|
+
maxAttempts: z.number().int(),
|
|
242
|
+
delayMs: z.number().nonnegative(),
|
|
243
|
+
reason: z.string()
|
|
244
|
+
}),
|
|
245
|
+
z.object({
|
|
246
|
+
type: z.literal("done"),
|
|
247
|
+
ref: KnowledgeCatalogRefSchema,
|
|
248
|
+
rootDir: z.string(),
|
|
249
|
+
storageScope: KnowledgeStorageScopeSchema,
|
|
250
|
+
/** Installed and mounted, but an optional step (the query embedder) did not complete. */
|
|
251
|
+
warning: z.string().optional()
|
|
252
|
+
}),
|
|
253
|
+
z.object({
|
|
254
|
+
type: z.literal("error"),
|
|
255
|
+
error: z.string(),
|
|
256
|
+
/** Set when the downloaded bytes did not match the pinned digest. */
|
|
257
|
+
mismatch: z.object({ expected: Sha256HexSchema, actual: Sha256HexSchema }).optional()
|
|
258
|
+
})
|
|
259
|
+
]);
|
|
260
|
+
var KnowledgeInstallJobSchema = z.object({
|
|
261
|
+
id: z.string(),
|
|
262
|
+
startedAt: z.string(),
|
|
263
|
+
finished: z.boolean(),
|
|
264
|
+
error: z.string().optional(),
|
|
265
|
+
/** The latest progress event and, once finished, the terminal event. */
|
|
266
|
+
events: z.array(KnowledgeInstallEventSchema)
|
|
267
|
+
});
|
|
268
|
+
var KnowledgeActiveInstallSchema = z.object({
|
|
269
|
+
jobId: z.string(),
|
|
270
|
+
/** Known up front for catalog installs; a file/URL install learns it at `done`. */
|
|
271
|
+
catalogId: KnowledgeIdSchema.optional(),
|
|
272
|
+
startedAt: z.string(),
|
|
273
|
+
phase: z.enum(["download", "verifying", "extract", "embedder", "retrying"]),
|
|
274
|
+
bytesDone: z.number().nonnegative(),
|
|
275
|
+
bytesTotal: z.number().nonnegative()
|
|
276
|
+
});
|
|
277
|
+
var IncompleteKnowledgeDownloadSchema = z.object({
|
|
278
|
+
/** The temp-file stem: the pinned sha256's first 16 hex chars, or a hash of the URL. */
|
|
279
|
+
key: z.string().regex(/^[0-9a-f]{16}$/),
|
|
280
|
+
bytes: z.number().int().nonnegative(),
|
|
281
|
+
updatedAt: z.string(),
|
|
282
|
+
/** True when the key still matches a catalog entry, so a re-install resumes it. */
|
|
283
|
+
resumable: z.boolean(),
|
|
284
|
+
catalogId: KnowledgeIdSchema.optional(),
|
|
285
|
+
name: z.string().optional(),
|
|
286
|
+
archiveBytes: z.number().int().nonnegative().optional()
|
|
287
|
+
});
|
|
288
|
+
var KnowledgeInstallRequestSchema = z.object({
|
|
289
|
+
source: z.discriminatedUnion("kind", [
|
|
290
|
+
z.object({ kind: z.literal("file"), path: z.string().min(1) }),
|
|
291
|
+
z.object({
|
|
292
|
+
kind: z.literal("url"),
|
|
293
|
+
url: z.string().url(),
|
|
294
|
+
/** Optional out-of-band identity for remote imports. When present, the
|
|
295
|
+
* daemon rejects bytes that do not match before extracting the archive. */
|
|
296
|
+
expectedSha256: z.string().regex(/^[0-9a-fA-F]{64}$/).optional()
|
|
297
|
+
}),
|
|
298
|
+
z.object({
|
|
299
|
+
kind: z.literal("catalog"),
|
|
300
|
+
/** A gilde `knowledge-catalog` id; its pinned sha256 + commit are the trust root. */
|
|
301
|
+
id: KnowledgeIdSchema,
|
|
302
|
+
version: z.string().optional(),
|
|
303
|
+
/** `auto` (default) prefers the machine-shared store when a machine engine is adopted. */
|
|
304
|
+
placement: z.enum(["auto", "user"]).optional()
|
|
305
|
+
})
|
|
306
|
+
])
|
|
307
|
+
});
|
|
308
|
+
var UpdateKnowledgeCatalogRequestSchema = z.object({
|
|
309
|
+
enabled: z.boolean().optional(),
|
|
310
|
+
autoUpdate: z.boolean().optional()
|
|
311
|
+
});
|
|
312
|
+
var KnowledgeSearchRequestSchema = z.object({
|
|
313
|
+
query: z.string().min(1),
|
|
314
|
+
maxResults: z.number().int().min(1).max(50).optional(),
|
|
315
|
+
/** Restrict to these catalog ids (default: every enabled catalog). */
|
|
316
|
+
catalogs: z.array(KnowledgeIdSchema).optional()
|
|
317
|
+
});
|
|
318
|
+
|
|
45
319
|
// src/paths.ts
|
|
46
320
|
var MACHINE_SHARED_MARKER = ".gezel-machine-shared-v1.json";
|
|
47
321
|
function machineSharedHome(platform = process.platform, env = process.env) {
|
|
@@ -93,6 +367,9 @@ function userProjectDir(root, projectId) {
|
|
|
93
367
|
function projectPrivateDir(root, projectId) {
|
|
94
368
|
return userProjectDir(root, projectId);
|
|
95
369
|
}
|
|
370
|
+
function projectTypeOverlayFile(root, projectId) {
|
|
371
|
+
return join(projectPrivateDir(root, projectId), "project-type-overlay.json");
|
|
372
|
+
}
|
|
96
373
|
function machineSharedGezelDir(gezelId) {
|
|
97
374
|
assertSafeEntityId(gezelId, "gezel id");
|
|
98
375
|
const shared = activeMachineSharedHome();
|
|
@@ -222,6 +499,9 @@ function projectBoekwachterIssuesFile(root, projectId) {
|
|
|
222
499
|
function projectCodeReviewsFile(root, projectId) {
|
|
223
500
|
return join(projectPrivateDir(root, projectId), "code-reviews.json");
|
|
224
501
|
}
|
|
502
|
+
function projectDiffpacksFile(root, projectId) {
|
|
503
|
+
return join(projectPrivateDir(root, projectId), "diffpacks.json");
|
|
504
|
+
}
|
|
225
505
|
function projectReportActionsFile(root, projectId) {
|
|
226
506
|
return join(projectPrivateDir(root, projectId), "report-actions.json");
|
|
227
507
|
}
|
|
@@ -235,6 +515,29 @@ var PROJECT_SHADOW_DIR_NAME = "shadow";
|
|
|
235
515
|
function projectShadowDir(root, projectId, external) {
|
|
236
516
|
return join(projectArtifactsDir(root, projectId, external), PROJECT_SHADOW_DIR_NAME);
|
|
237
517
|
}
|
|
518
|
+
var PROJECT_TABULAR_DIR_NAME = "tabular";
|
|
519
|
+
var TABULAR_COMPANION_SUFFIX = "_tables";
|
|
520
|
+
function projectTabularDir(root, projectId, external) {
|
|
521
|
+
return join(projectArtifactsDir(root, projectId, external), PROJECT_TABULAR_DIR_NAME);
|
|
522
|
+
}
|
|
523
|
+
var CONNECTOR_TABLES_DIR_NAME = "tables";
|
|
524
|
+
var CONNECTOR_ROLLUPS_DIR_NAME = "rollups";
|
|
525
|
+
var OBSERVATION_TABLE_MANIFEST_FILE = "manifest.json";
|
|
526
|
+
var OBSERVATION_TABLE_STATE_FILE = "state.json";
|
|
527
|
+
var PROJECT_DIFFPACKS_DIR_NAME = "diffpacks";
|
|
528
|
+
function projectDiffpacksDir(root, projectId, external) {
|
|
529
|
+
return join(projectArtifactsDir(root, projectId, external), PROJECT_DIFFPACKS_DIR_NAME);
|
|
530
|
+
}
|
|
531
|
+
function projectDiffpackDir(root, projectId, packId, external) {
|
|
532
|
+
return join(projectDiffpacksDir(root, projectId, external), packId);
|
|
533
|
+
}
|
|
534
|
+
var PROJECT_PROMPTS_DIR_NAME = "prompts";
|
|
535
|
+
function projectPromptsDir(root, projectId, external) {
|
|
536
|
+
return join(projectArtifactsDir(root, projectId, external), PROJECT_PROMPTS_DIR_NAME);
|
|
537
|
+
}
|
|
538
|
+
function projectPromptDraftDir(root, projectId, draftId, external) {
|
|
539
|
+
return join(projectPromptsDir(root, projectId, external), draftId);
|
|
540
|
+
}
|
|
238
541
|
function projectMemoriesDir(root, projectId, external) {
|
|
239
542
|
return join(projectDir(root, projectId, external), "memories");
|
|
240
543
|
}
|
|
@@ -262,6 +565,9 @@ function projectTerminalFile(root, projectId, threadId) {
|
|
|
262
565
|
function globalHistoryFile(root) {
|
|
263
566
|
return join(root, "history.jsonl");
|
|
264
567
|
}
|
|
568
|
+
function pendingHandoffsFile(root) {
|
|
569
|
+
return join(root, "pending-handoffs.json");
|
|
570
|
+
}
|
|
265
571
|
function globalIndexDir(root) {
|
|
266
572
|
return join(root, "index");
|
|
267
573
|
}
|
|
@@ -271,6 +577,33 @@ function globalIndexDbFile(root) {
|
|
|
271
577
|
function projectHistoryFile(root, projectId) {
|
|
272
578
|
return join(projectPrivateDir(root, projectId), "history.jsonl");
|
|
273
579
|
}
|
|
580
|
+
function knowledgeDir(root) {
|
|
581
|
+
return join(root, "knowledge");
|
|
582
|
+
}
|
|
583
|
+
function knowledgeRegistryFile(root) {
|
|
584
|
+
return join(knowledgeDir(root), "registry.json");
|
|
585
|
+
}
|
|
586
|
+
function knowledgeCatalogsDir(root) {
|
|
587
|
+
return join(knowledgeDir(root), "catalogs");
|
|
588
|
+
}
|
|
589
|
+
function knowledgeCatalogVersionDir(root, publisherId, catalogId, version, contentDigest) {
|
|
590
|
+
const publisher = KnowledgeIdSchema2.parse(publisherId);
|
|
591
|
+
const catalog = KnowledgeIdSchema2.parse(catalogId);
|
|
592
|
+
const catalogVersion = KnowledgeVersionSchema2.parse(version);
|
|
593
|
+
if (!/^[0-9a-f]{64}$/i.test(contentDigest)) {
|
|
594
|
+
throw new Error("knowledge catalog content digest must be a sha256");
|
|
595
|
+
}
|
|
596
|
+
return join(
|
|
597
|
+
knowledgeCatalogsDir(root),
|
|
598
|
+
publisher,
|
|
599
|
+
catalog,
|
|
600
|
+
catalogVersion,
|
|
601
|
+
contentDigest.slice(0, 16)
|
|
602
|
+
);
|
|
603
|
+
}
|
|
604
|
+
function knowledgeDownloadsDir(root) {
|
|
605
|
+
return join(knowledgeDir(root), "downloads");
|
|
606
|
+
}
|
|
274
607
|
function projectQuestionsFile(root, projectId) {
|
|
275
608
|
return join(projectPrivateDir(root, projectId), "questions.json");
|
|
276
609
|
}
|
|
@@ -358,6 +691,21 @@ function craftbookTemplateScriptFile(root, prefix, id, version, name) {
|
|
|
358
691
|
function craftbookShardPrefix(id) {
|
|
359
692
|
return id.slice(0, 2).toLowerCase();
|
|
360
693
|
}
|
|
694
|
+
function aiAppsRoot(root) {
|
|
695
|
+
return join(root, "ai-apps");
|
|
696
|
+
}
|
|
697
|
+
function aiAppsRegistryFile(root) {
|
|
698
|
+
return join(aiAppsRoot(root), "registry.json");
|
|
699
|
+
}
|
|
700
|
+
function aiAppVersionDir(root, appId, version) {
|
|
701
|
+
return join(aiAppsRoot(root), appId, version);
|
|
702
|
+
}
|
|
703
|
+
function aiAppItemsDir(root, appId, version) {
|
|
704
|
+
return join(aiAppVersionDir(root, appId, version), "items");
|
|
705
|
+
}
|
|
706
|
+
function aiAppReceiptFile(root, appId, version) {
|
|
707
|
+
return join(aiAppVersionDir(root, appId, version), "receipt.json");
|
|
708
|
+
}
|
|
361
709
|
function projectTypesRoot(root) {
|
|
362
710
|
return join(root, "project-types");
|
|
363
711
|
}
|
|
@@ -525,9 +873,22 @@ async function readConfigRaw(root) {
|
|
|
525
873
|
}
|
|
526
874
|
}
|
|
527
875
|
export {
|
|
876
|
+
CONNECTOR_ROLLUPS_DIR_NAME,
|
|
877
|
+
CONNECTOR_TABLES_DIR_NAME,
|
|
528
878
|
MACHINE_SHARED_MARKER,
|
|
879
|
+
OBSERVATION_TABLE_MANIFEST_FILE,
|
|
880
|
+
OBSERVATION_TABLE_STATE_FILE,
|
|
881
|
+
PROJECT_DIFFPACKS_DIR_NAME,
|
|
882
|
+
PROJECT_PROMPTS_DIR_NAME,
|
|
529
883
|
PROJECT_SHADOW_DIR_NAME,
|
|
884
|
+
PROJECT_TABULAR_DIR_NAME,
|
|
885
|
+
TABULAR_COMPANION_SUFFIX,
|
|
530
886
|
activeMachineSharedHome,
|
|
887
|
+
aiAppItemsDir,
|
|
888
|
+
aiAppReceiptFile,
|
|
889
|
+
aiAppVersionDir,
|
|
890
|
+
aiAppsRegistryFile,
|
|
891
|
+
aiAppsRoot,
|
|
531
892
|
ambientDashboardLatestFile,
|
|
532
893
|
ambientDashboardStateFile,
|
|
533
894
|
ambientDir,
|
|
@@ -573,6 +934,11 @@ export {
|
|
|
573
934
|
keurmeesterDigestStatePath,
|
|
574
935
|
keurmeesterDigestsDir,
|
|
575
936
|
keurmeesterDir,
|
|
937
|
+
knowledgeCatalogVersionDir,
|
|
938
|
+
knowledgeCatalogsDir,
|
|
939
|
+
knowledgeDir,
|
|
940
|
+
knowledgeDownloadsDir,
|
|
941
|
+
knowledgeRegistryFile,
|
|
576
942
|
machineSharedGezelDir,
|
|
577
943
|
machineSharedHome,
|
|
578
944
|
machineSharedMarkerFile,
|
|
@@ -581,6 +947,7 @@ export {
|
|
|
581
947
|
meesterStatusFile,
|
|
582
948
|
meesterStatusStateFile,
|
|
583
949
|
pendingGrantsFile,
|
|
950
|
+
pendingHandoffsFile,
|
|
584
951
|
playwrightBrowsersDir,
|
|
585
952
|
projectActivityFile,
|
|
586
953
|
projectArtifactsDir,
|
|
@@ -589,6 +956,9 @@ export {
|
|
|
589
956
|
projectCodeReviewsFile,
|
|
590
957
|
projectContentIndexDbFile,
|
|
591
958
|
projectCreateTransactionsRoot,
|
|
959
|
+
projectDiffpackDir,
|
|
960
|
+
projectDiffpacksDir,
|
|
961
|
+
projectDiffpacksFile,
|
|
592
962
|
projectDir,
|
|
593
963
|
projectDocsDir,
|
|
594
964
|
projectFindingLifecycleFile,
|
|
@@ -613,6 +983,8 @@ export {
|
|
|
613
983
|
projectMemoryIndexDir,
|
|
614
984
|
projectMetaFile,
|
|
615
985
|
projectPrivateDir,
|
|
986
|
+
projectPromptDraftDir,
|
|
987
|
+
projectPromptsDir,
|
|
616
988
|
projectQuestionsFile,
|
|
617
989
|
projectReportActionsFile,
|
|
618
990
|
projectScriptFile,
|
|
@@ -622,6 +994,7 @@ export {
|
|
|
622
994
|
projectShadowDir,
|
|
623
995
|
projectStorageDir,
|
|
624
996
|
projectStorageScope,
|
|
997
|
+
projectTabularDir,
|
|
625
998
|
projectTaskAboutFile,
|
|
626
999
|
projectTaskDir,
|
|
627
1000
|
projectTaskFile,
|
|
@@ -634,6 +1007,7 @@ export {
|
|
|
634
1007
|
projectToolsetsInstallDir,
|
|
635
1008
|
projectTypeDir,
|
|
636
1009
|
projectTypeManifestFile,
|
|
1010
|
+
projectTypeOverlayFile,
|
|
637
1011
|
projectTypeShardPrefix,
|
|
638
1012
|
projectTypeVersionDir,
|
|
639
1013
|
projectTypeVersionManifestFile,
|