veryfront 0.1.1147 → 0.1.1149
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/esm/deno.js +1 -1
- package/esm/src/agent/runtime/load-skill-tool.d.ts.map +1 -1
- package/esm/src/agent/runtime/load-skill-tool.js +32 -13
- package/esm/src/knowledge/index.d.ts.map +1 -1
- package/esm/src/knowledge/index.js +15 -3
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +8 -4
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-skill-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/load-skill-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAchD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAG7B,yFAAyF;AACzF,eAAO,MAAM,oCAAoC,2mBACiU,CAAC;AAEnX,mDAAmD;AACnD,eAAO,MAAM,8BAA8B,4lBAC2d,CAAC;AAqEvgB,2CAA2C;AAC3C,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG;IACrE,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAClE,6BAA6B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;CACrF,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAClE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEvF,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"load-skill-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/load-skill-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAchD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAG7B,yFAAyF;AACzF,eAAO,MAAM,oCAAoC,2mBACiU,CAAC;AAEnX,mDAAmD;AACnD,eAAO,MAAM,8BAA8B,4lBAC2d,CAAC;AAqEvgB,2CAA2C;AAC3C,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG;IACrE,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAClE,6BAA6B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;CACrF,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAClE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEvF,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;GAc9C,CAAC;AAKF,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CACjD,UAAU,CAAC,OAAO,kCAAkC,CAAC,CACtD,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,mCAAmC,GAAG;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,CAAC;AA6XhC,sCAAsC;AACtC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,CAmE7D"}
|
|
@@ -61,8 +61,8 @@ function buildUnavailableCurrentRunToolsDelegationNote(availableToolNames) {
|
|
|
61
61
|
}
|
|
62
62
|
export const getRuntimeLoadSkillToolInputSchema = defineSchema((v) => v.object({
|
|
63
63
|
skillId: v.string()
|
|
64
|
-
.regex(/^[a-zA-Z0-9_-]
|
|
65
|
-
.describe('The skill ID to load (e.g., "react-components"
|
|
64
|
+
.regex(/^[a-zA-Z0-9_-]+(?:\.md)?$/, 'skillId must contain only letters, numbers, "_" or "-", with an optional lowercase ".md" suffix')
|
|
65
|
+
.describe('The skill ID to load. A lowercase ".md" suffix is accepted when it is the canonical ID or an unambiguous alias (e.g., "react-components" or "react-components.md").'),
|
|
66
66
|
file: v.string().optional().describe("Optional reference file to load. First load the skill with only skillId, then use file only for a reference path listed by that loaded skill."),
|
|
67
67
|
}));
|
|
68
68
|
/** @deprecated Use getRuntimeLoadSkillToolInputSchema() */
|
|
@@ -192,6 +192,25 @@ function getReferenceableLoadedRuntimeSkillIds(options) {
|
|
|
192
192
|
.filter((skillId) => typeof skillId === "string" && skillId.length > 0)),
|
|
193
193
|
].sort();
|
|
194
194
|
}
|
|
195
|
+
function getRuntimeSkillIdInputValues(skillIds, knownSkillIds) {
|
|
196
|
+
const knownSkillIdSet = new Set(knownSkillIds);
|
|
197
|
+
const values = skillIds.flatMap((skillId) => {
|
|
198
|
+
const alias = `${skillId}.md`;
|
|
199
|
+
return skillId.endsWith(".md") || knownSkillIdSet.has(alias) ? [skillId] : [skillId, alias];
|
|
200
|
+
});
|
|
201
|
+
return values;
|
|
202
|
+
}
|
|
203
|
+
function normalizeRuntimeLoadSkillInputSkillId(options, skillId) {
|
|
204
|
+
const knownSkillIds = getKnownRuntimeSkillIds(options);
|
|
205
|
+
if (knownSkillIds?.includes(skillId)) {
|
|
206
|
+
return skillId;
|
|
207
|
+
}
|
|
208
|
+
const aliasTarget = skillId.endsWith(".md") ? skillId.slice(0, -3) : null;
|
|
209
|
+
if (aliasTarget && (!knownSkillIds || knownSkillIds.includes(aliasTarget))) {
|
|
210
|
+
return aliasTarget;
|
|
211
|
+
}
|
|
212
|
+
return skillId;
|
|
213
|
+
}
|
|
195
214
|
function buildRuntimeLoadSkillInputSchema(options) {
|
|
196
215
|
const knownIds = getKnownRuntimeSkillIds(options);
|
|
197
216
|
if (!knownIds || knownIds.length === 0) {
|
|
@@ -205,39 +224,39 @@ function buildRuntimeLoadSkillInputSchema(options) {
|
|
|
205
224
|
const unloadedIds = knownIds.filter((skillId) => !loadedIdSet.has(skillId));
|
|
206
225
|
if (loadedIds.length > 0 && unloadedIds.length === 0 && referenceableLoadedIds.length === 0) {
|
|
207
226
|
const [firstLoaded, ...restLoaded] = loadedIds;
|
|
208
|
-
const loadedEnumValues = [firstLoaded, ...restLoaded];
|
|
227
|
+
const loadedEnumValues = getRuntimeSkillIdInputValues([firstLoaded, ...restLoaded], knownIds);
|
|
209
228
|
return defineSchema((v) => v.object({
|
|
210
|
-
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID with no advertised reference files. Calling load_skill again is a no-op. Loaded skill IDs: ${
|
|
229
|
+
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID with no advertised reference files. Calling load_skill again is a no-op. Loaded skill IDs: ${loadedEnumValues.join(", ")}`),
|
|
211
230
|
}).strict())();
|
|
212
231
|
}
|
|
213
232
|
if (referenceableLoadedIds.length > 0 && unloadedIds.length === 0) {
|
|
214
233
|
const [firstLoaded, ...restLoaded] = referenceableLoadedIds;
|
|
215
|
-
const loadedEnumValues = [firstLoaded, ...restLoaded];
|
|
234
|
+
const loadedEnumValues = getRuntimeSkillIdInputValues([firstLoaded, ...restLoaded], knownIds);
|
|
216
235
|
return defineSchema((v) => v.object({
|
|
217
|
-
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID. Body reloads are not allowed; use this only with file for listed references. Loaded skill IDs: ${
|
|
236
|
+
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID. Body reloads are not allowed; use this only with file for listed references. Loaded skill IDs: ${loadedEnumValues.join(", ")}`),
|
|
218
237
|
file: v.string().describe("Required reference file to load from an already-loaded skill. Do not call load_skill again for the skill body."),
|
|
219
238
|
}))();
|
|
220
239
|
}
|
|
221
240
|
if (referenceableLoadedIds.length > 0) {
|
|
222
241
|
const [firstUnloaded, ...restUnloaded] = unloadedIds;
|
|
223
|
-
const unloadedEnumValues = [firstUnloaded, ...restUnloaded];
|
|
242
|
+
const unloadedEnumValues = getRuntimeSkillIdInputValues([firstUnloaded, ...restUnloaded], knownIds);
|
|
224
243
|
const [firstLoaded, ...restLoaded] = referenceableLoadedIds;
|
|
225
|
-
const loadedEnumValues = [firstLoaded, ...restLoaded];
|
|
244
|
+
const loadedEnumValues = getRuntimeSkillIdInputValues([firstLoaded, ...restLoaded], knownIds);
|
|
226
245
|
return defineSchema((v) => v.union([
|
|
227
246
|
v.object({
|
|
228
|
-
skillId: v.enum(unloadedEnumValues).describe(`Unloaded skill ID to load. Available unloaded skill IDs: ${
|
|
247
|
+
skillId: v.enum(unloadedEnumValues).describe(`Unloaded skill ID to load. Available unloaded skill IDs: ${unloadedEnumValues.join(", ")}`),
|
|
229
248
|
file: v.string().optional().describe("Optional reference file to load. First load the skill with only skillId, then use file only for a reference path listed by that loaded skill."),
|
|
230
249
|
}),
|
|
231
250
|
v.object({
|
|
232
|
-
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID. Body reloads are not allowed; use this only with file for listed references. Loaded skill IDs: ${
|
|
251
|
+
skillId: v.enum(loadedEnumValues).describe(`Already-loaded skill ID. Body reloads are not allowed; use this only with file for listed references. Loaded skill IDs: ${loadedEnumValues.join(", ")}`),
|
|
233
252
|
file: v.string().describe("Required reference file to load from an already-loaded skill. Do not call load_skill again for the skill body."),
|
|
234
253
|
}),
|
|
235
254
|
]))();
|
|
236
255
|
}
|
|
237
256
|
const [first, ...rest] = unloadedIds;
|
|
238
|
-
const enumValues = [first, ...rest];
|
|
257
|
+
const enumValues = getRuntimeSkillIdInputValues([first, ...rest], knownIds);
|
|
239
258
|
return defineSchema((v) => v.object({
|
|
240
|
-
skillId: v.enum(enumValues).describe(`Unloaded skill ID to load. Available unloaded skill IDs: ${
|
|
259
|
+
skillId: v.enum(enumValues).describe(`Unloaded skill ID to load. Available unloaded skill IDs: ${enumValues.join(", ")}`),
|
|
241
260
|
file: v.string().optional().describe("Optional reference file to load. First load the skill with only skillId, then use file only for a reference path listed by that loaded skill."),
|
|
242
261
|
}))();
|
|
243
262
|
}
|
|
@@ -299,7 +318,7 @@ export function createRuntimeLoadSkillTool(options) {
|
|
|
299
318
|
detail: `Tool "load_skill" input validation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
300
319
|
});
|
|
301
320
|
}
|
|
302
|
-
skillId = parsed.skillId;
|
|
321
|
+
skillId = normalizeRuntimeLoadSkillInputSkillId(options, parsed.skillId);
|
|
303
322
|
file = parsed.file;
|
|
304
323
|
if (file) {
|
|
305
324
|
return await loadRuntimeSkillReferenceFile(options, skillId, file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/knowledge/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/knowledge/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -292,6 +292,15 @@ function decodeCursor(cursor) {
|
|
|
292
292
|
throw INPUT_VALIDATION_FAILED.create({ detail: "Invalid knowledge lookup cursor" });
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
+
function normalizeKnowledgeLookupCursor(cursor) {
|
|
296
|
+
if (cursor === undefined || cursor === null)
|
|
297
|
+
return undefined;
|
|
298
|
+
if (typeof cursor !== "string") {
|
|
299
|
+
throw INPUT_VALIDATION_FAILED.create({ detail: "Invalid knowledge lookup cursor" });
|
|
300
|
+
}
|
|
301
|
+
const normalizedCursor = cursor.trim();
|
|
302
|
+
return normalizedCursor.length > 0 ? normalizedCursor : undefined;
|
|
303
|
+
}
|
|
295
304
|
function scoreEntry(entry, query, queryTokens) {
|
|
296
305
|
const matchedFields = new Set();
|
|
297
306
|
const normalizedQuery = normalizeText(query);
|
|
@@ -454,7 +463,8 @@ async function getHostedProjectKnowledgeManifest(config, context) {
|
|
|
454
463
|
return manifest.sort((left, right) => left.path.localeCompare(right.path));
|
|
455
464
|
}
|
|
456
465
|
function lookupKnowledgeManifest(manifest, input) {
|
|
457
|
-
const
|
|
466
|
+
const normalizedCursor = normalizeKnowledgeLookupCursor(input.cursor);
|
|
467
|
+
const cursorState = normalizedCursor ? decodeCursor(normalizedCursor) : null;
|
|
458
468
|
const providedQuery = input.query?.trim() ?? "";
|
|
459
469
|
const resolvedQuery = (cursorState?.query ?? providedQuery).trim();
|
|
460
470
|
const lookupTargetPath = cursorState ? null : getLookupTargetPath(input.lookup_target);
|
|
@@ -537,7 +547,7 @@ function lookupKnowledgeManifest(manifest, input) {
|
|
|
537
547
|
mode,
|
|
538
548
|
data: pageEntries.map(({ entry, matchedFields }) => createLookupItem(entry, matchedFields)),
|
|
539
549
|
page_info: {
|
|
540
|
-
self:
|
|
550
|
+
self: normalizedCursor ?? null,
|
|
541
551
|
first: null,
|
|
542
552
|
next: nextCursor,
|
|
543
553
|
prev: null,
|
|
@@ -561,7 +571,9 @@ function coerceSearchKnowledgeInput(input) {
|
|
|
561
571
|
? value.project_reference
|
|
562
572
|
: undefined,
|
|
563
573
|
query: typeof value.query === "string" ? value.query : undefined,
|
|
564
|
-
cursor: typeof value.cursor === "string"
|
|
574
|
+
cursor: typeof value.cursor === "string"
|
|
575
|
+
? normalizeKnowledgeLookupCursor(value.cursor)
|
|
576
|
+
: undefined,
|
|
565
577
|
lookup_target: value.lookup_target,
|
|
566
578
|
limit: typeof value.limit === "number" ? value.limit : undefined,
|
|
567
579
|
shard_count: typeof value.shard_count === "number" ? value.shard_count : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA4DtE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyDrD,CAAC;AAkEF,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6czF;
|
|
1
|
+
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA4DtE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyDrD,CAAC;AAkEF,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6czF;AA8UD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGrD;AAiBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8BlE"}
|
|
@@ -605,16 +605,17 @@ async function findSourceFile(secureFs, projectDir, basePath, context, requested
|
|
|
605
605
|
".ts",
|
|
606
606
|
".jsx",
|
|
607
607
|
".js",
|
|
608
|
+
".mjs", // Already-compiled ESM (e.g. Panda's generated styled-system/*.mjs)
|
|
608
609
|
".mdx",
|
|
609
610
|
".md", // Regular sources
|
|
610
611
|
];
|
|
611
612
|
logger.debug("findSourceFile called", { projectDir, basePath });
|
|
612
|
-
const knownExtMatch = basePath.match(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/);
|
|
613
|
-
const requestedExtMatch = requestedModulePath.match(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/);
|
|
613
|
+
const knownExtMatch = basePath.match(/\.(json|tsx|ts|jsx|js|mjs|mdx|md)(\.src)?$/);
|
|
614
|
+
const requestedExtMatch = requestedModulePath.match(/\.(json|tsx|ts|jsx|js|mjs|mdx|md)(\.src)?$/);
|
|
614
615
|
const hasKnownExt = knownExtMatch !== null;
|
|
615
616
|
const requestedExt = requestedExtMatch?.[1] ?? knownExtMatch?.[1] ?? null;
|
|
616
617
|
const rawBasePathWithoutExt = hasKnownExt
|
|
617
|
-
? basePath.replace(/\.(json|tsx|ts|jsx|js|mdx|md)(\.src)?$/, "")
|
|
618
|
+
? basePath.replace(/\.(json|tsx|ts|jsx|js|mjs|mdx|md)(\.src)?$/, "")
|
|
618
619
|
: basePath;
|
|
619
620
|
let basePathWithoutExt = rawBasePathWithoutExt.replace(/^\/+/, "");
|
|
620
621
|
if (basePathWithoutExt.startsWith("_vf_modules/")) {
|
|
@@ -704,9 +705,12 @@ async function findSourceFile(secureFs, projectDir, basePath, context, requested
|
|
|
704
705
|
/* expected: file may not exist at this path */
|
|
705
706
|
}
|
|
706
707
|
}
|
|
707
|
-
const
|
|
708
|
+
const fallbackExtensions = requestedExt !== null && requestedExt !== "json"
|
|
708
709
|
? extensions.filter((ext) => ext !== ".json")
|
|
709
710
|
: extensions;
|
|
711
|
+
const projectLookupExtensions = requestedExt === "mjs"
|
|
712
|
+
? [".mjs", ...fallbackExtensions.filter((ext) => ext !== ".mjs")]
|
|
713
|
+
: fallbackExtensions;
|
|
710
714
|
// Project file lookups (using secureFs which may go through FSAdapter in proxy mode)
|
|
711
715
|
const projectFilePath = await findFirstExistingFile(secureFs, projectLookupExtensions.map((ext) => join(projectDir, basePathWithoutExt + ext)));
|
|
712
716
|
if (projectFilePath) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1149",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -332,10 +332,10 @@
|
|
|
332
332
|
"@types/react": "19.2.14",
|
|
333
333
|
"@types/react-dom": "19.2.3",
|
|
334
334
|
"ws": "8.21.0",
|
|
335
|
-
"@veryfront/ext-bundler-esbuild": "0.1.
|
|
336
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
337
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
338
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
335
|
+
"@veryfront/ext-bundler-esbuild": "0.1.1149",
|
|
336
|
+
"@veryfront/ext-content-mdx": "0.1.1149",
|
|
337
|
+
"@veryfront/ext-css-tailwind": "0.1.1149",
|
|
338
|
+
"@veryfront/ext-parser-babel": "0.1.1149"
|
|
339
339
|
},
|
|
340
340
|
"devDependencies": {
|
|
341
341
|
"@types/node": "20.9.0"
|