agent-web-os 0.1.4 → 0.1.6
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/index.cjs +105 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -9
- package/dist/index.d.ts +0 -9
- package/dist/index.js +105 -54
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -130,14 +130,6 @@ declare class AlmostNodeSession {
|
|
|
130
130
|
* package directory directly.
|
|
131
131
|
*/
|
|
132
132
|
private resolveBarePkgEntryCache;
|
|
133
|
-
/**
|
|
134
|
-
* Packages whose imports are handled by the browser import map.
|
|
135
|
-
* These are NOT rewritten to /node_modules/... paths.
|
|
136
|
-
* Now empty: react/react-dom are served from node_modules via our
|
|
137
|
-
* CJS→ESM shim, which supports the actual installed version rather
|
|
138
|
-
* than the outdated esm.sh CDN pinned in almostnode's import map.
|
|
139
|
-
*/
|
|
140
|
-
private importMapPackages;
|
|
141
133
|
private parseCachedPackageJson;
|
|
142
134
|
private transformTextWithCache;
|
|
143
135
|
private resolveBarePkgEntry;
|
|
@@ -171,7 +163,6 @@ declare class AlmostNodeSession {
|
|
|
171
163
|
private resolveBinFromPackageJson;
|
|
172
164
|
private resolveNpmBinPath;
|
|
173
165
|
private resolveGlobalBinPath;
|
|
174
|
-
private extractBinNames;
|
|
175
166
|
private registerGlobalBinCommands;
|
|
176
167
|
private resolveAndRegisterBinCommands;
|
|
177
168
|
private trackOperation;
|
package/dist/index.d.ts
CHANGED
|
@@ -130,14 +130,6 @@ declare class AlmostNodeSession {
|
|
|
130
130
|
* package directory directly.
|
|
131
131
|
*/
|
|
132
132
|
private resolveBarePkgEntryCache;
|
|
133
|
-
/**
|
|
134
|
-
* Packages whose imports are handled by the browser import map.
|
|
135
|
-
* These are NOT rewritten to /node_modules/... paths.
|
|
136
|
-
* Now empty: react/react-dom are served from node_modules via our
|
|
137
|
-
* CJS→ESM shim, which supports the actual installed version rather
|
|
138
|
-
* than the outdated esm.sh CDN pinned in almostnode's import map.
|
|
139
|
-
*/
|
|
140
|
-
private importMapPackages;
|
|
141
133
|
private parseCachedPackageJson;
|
|
142
134
|
private transformTextWithCache;
|
|
143
135
|
private resolveBarePkgEntry;
|
|
@@ -171,7 +163,6 @@ declare class AlmostNodeSession {
|
|
|
171
163
|
private resolveBinFromPackageJson;
|
|
172
164
|
private resolveNpmBinPath;
|
|
173
165
|
private resolveGlobalBinPath;
|
|
174
|
-
private extractBinNames;
|
|
175
166
|
private registerGlobalBinCommands;
|
|
176
167
|
private resolveAndRegisterBinCommands;
|
|
177
168
|
private trackOperation;
|
package/dist/index.js
CHANGED
|
@@ -36543,19 +36543,6 @@ function assertObservableInMemoryFs(value) {
|
|
|
36543
36543
|
}
|
|
36544
36544
|
return value;
|
|
36545
36545
|
}
|
|
36546
|
-
function formatChangeEventForLog(event) {
|
|
36547
|
-
const previousPathSuffix = event.previousPath ? ` (from ${event.previousPath})` : "";
|
|
36548
|
-
return `[ObservableInMemoryFs] ${event.event} ${event.entryType} ${event.path}${previousPathSuffix}`;
|
|
36549
|
-
}
|
|
36550
|
-
function normalizeEntryType(stat) {
|
|
36551
|
-
if (stat.isDirectory) {
|
|
36552
|
-
return "directory";
|
|
36553
|
-
}
|
|
36554
|
-
if (stat.isSymbolicLink) {
|
|
36555
|
-
return "symlink";
|
|
36556
|
-
}
|
|
36557
|
-
return "file";
|
|
36558
|
-
}
|
|
36559
36546
|
async function readPathState(fs, path2) {
|
|
36560
36547
|
const exists = await fs.exists(path2);
|
|
36561
36548
|
if (!exists) {
|
|
@@ -36568,35 +36555,19 @@ async function readPathState(fs, path2) {
|
|
|
36568
36555
|
};
|
|
36569
36556
|
}
|
|
36570
36557
|
const stat = await fs.lstat(path2);
|
|
36558
|
+
const entryType = stat.isDirectory ? "directory" : stat.isSymbolicLink ? "symlink" : "file";
|
|
36571
36559
|
return {
|
|
36572
36560
|
exists: true,
|
|
36573
|
-
entryType
|
|
36561
|
+
entryType
|
|
36574
36562
|
};
|
|
36575
36563
|
}
|
|
36576
36564
|
function mapAddEvent(entryType) {
|
|
36577
36565
|
return entryType === "directory" ? "addDir" : "add";
|
|
36578
36566
|
}
|
|
36579
|
-
function mapUnlinkEvent(entryType) {
|
|
36580
|
-
return entryType === "directory" ? "unlinkDir" : "unlink";
|
|
36581
|
-
}
|
|
36582
36567
|
function normalizeFsPathForLogScope(fsPath) {
|
|
36583
36568
|
const normalized = posixPath.normalize(fsPath);
|
|
36584
36569
|
return normalized === "." ? "/" : normalized;
|
|
36585
36570
|
}
|
|
36586
|
-
function createWorkspacePathFilter(workspaceRoot) {
|
|
36587
|
-
const normalizedWorkspaceRoot = normalizeFsPathForLogScope(workspaceRoot);
|
|
36588
|
-
return (fsPath) => {
|
|
36589
|
-
const normalizedPath = normalizeFsPathForLogScope(fsPath);
|
|
36590
|
-
if (normalizedPath !== normalizedWorkspaceRoot && !normalizedPath.startsWith(`${normalizedWorkspaceRoot}/`)) {
|
|
36591
|
-
return false;
|
|
36592
|
-
}
|
|
36593
|
-
const relativePath = posixPath.relative(normalizedWorkspaceRoot, normalizedPath);
|
|
36594
|
-
if (!relativePath || relativePath === ".") {
|
|
36595
|
-
return true;
|
|
36596
|
-
}
|
|
36597
|
-
return relativePath.split("/").every((segment) => segment.length > 0 && !segment.startsWith("."));
|
|
36598
|
-
};
|
|
36599
|
-
}
|
|
36600
36571
|
var ObservableInMemoryFs = class extends Ir {
|
|
36601
36572
|
listeners;
|
|
36602
36573
|
lazyPaths = /* @__PURE__ */ new Set();
|
|
@@ -36608,7 +36579,18 @@ var ObservableInMemoryFs = class extends Ir {
|
|
|
36608
36579
|
constructor(options2) {
|
|
36609
36580
|
super();
|
|
36610
36581
|
this.consoleLogChanges = options2?.consoleLogChanges ?? false;
|
|
36611
|
-
|
|
36582
|
+
const normalizedWorkspaceRoot = normalizeFsPathForLogScope(options2?.workspaceRoot ?? "/");
|
|
36583
|
+
this.isLoggableWorkspacePath = (fsPath) => {
|
|
36584
|
+
const normalizedPath = normalizeFsPathForLogScope(fsPath);
|
|
36585
|
+
if (normalizedPath !== normalizedWorkspaceRoot && !normalizedPath.startsWith(`${normalizedWorkspaceRoot}/`)) {
|
|
36586
|
+
return false;
|
|
36587
|
+
}
|
|
36588
|
+
const relativePath = posixPath.relative(normalizedWorkspaceRoot, normalizedPath);
|
|
36589
|
+
if (!relativePath || relativePath === ".") {
|
|
36590
|
+
return true;
|
|
36591
|
+
}
|
|
36592
|
+
return relativePath.split("/").every((segment) => segment.length > 0 && !segment.startsWith("."));
|
|
36593
|
+
};
|
|
36612
36594
|
}
|
|
36613
36595
|
isPathLazy(filePath) {
|
|
36614
36596
|
return this.lazyPaths.has(normalizeFsPathForLogScope(filePath));
|
|
@@ -36680,7 +36662,7 @@ var ObservableInMemoryFs = class extends Ir {
|
|
|
36680
36662
|
emit(event, options2) {
|
|
36681
36663
|
const shouldConsoleLog = options2?.shouldConsoleLog ?? this.shouldConsoleLogChangeEvent(event);
|
|
36682
36664
|
if (this.consoleLogChanges && shouldConsoleLog && !this.areConsoleLogsSuppressed()) {
|
|
36683
|
-
console.log(
|
|
36665
|
+
console.log(`[ObservableInMemoryFs] ${event.event} ${event.entryType} ${event.path}${event.previousPath ? ` (from ${event.previousPath})` : ""}`);
|
|
36684
36666
|
}
|
|
36685
36667
|
if (!this.listeners) {
|
|
36686
36668
|
return;
|
|
@@ -36757,7 +36739,7 @@ var ObservableInMemoryFs = class extends Ir {
|
|
|
36757
36739
|
return;
|
|
36758
36740
|
}
|
|
36759
36741
|
this.emit({
|
|
36760
|
-
event:
|
|
36742
|
+
event: previous.entryType === "directory" ? "unlinkDir" : "unlink",
|
|
36761
36743
|
path: path2,
|
|
36762
36744
|
entryType: previous.entryType
|
|
36763
36745
|
}, options2);
|
|
@@ -54772,6 +54754,86 @@ var AlmostNodeSession = class {
|
|
|
54772
54754
|
constructor(fs) {
|
|
54773
54755
|
this.fs = fs;
|
|
54774
54756
|
this._vfs.mkdirSync(ALMOSTNODE_INTERNAL_ROOT, { recursive: true });
|
|
54757
|
+
this._vfs.mkdirSync("/node_modules/constants", { recursive: true });
|
|
54758
|
+
this._vfs.writeFileSync("/node_modules/constants/package.json", JSON.stringify({
|
|
54759
|
+
name: "constants",
|
|
54760
|
+
version: "0.0.1",
|
|
54761
|
+
main: "index.js"
|
|
54762
|
+
}));
|
|
54763
|
+
this._vfs.writeFileSync("/node_modules/constants/index.js", [
|
|
54764
|
+
"// Node.js `constants` shim (os.constants + fs.constants)",
|
|
54765
|
+
"var os = require('os');",
|
|
54766
|
+
"var constants = {};",
|
|
54767
|
+
"if (os.constants) {",
|
|
54768
|
+
" if (os.constants.signals) Object.assign(constants, os.constants.signals);",
|
|
54769
|
+
" if (os.constants.errno) Object.assign(constants, os.constants.errno);",
|
|
54770
|
+
" if (os.constants.priority) Object.assign(constants, os.constants.priority);",
|
|
54771
|
+
"}",
|
|
54772
|
+
"// Common fs.constants used by npm packages",
|
|
54773
|
+
"constants.O_RDONLY = 0;",
|
|
54774
|
+
"constants.O_WRONLY = 1;",
|
|
54775
|
+
"constants.O_RDWR = 2;",
|
|
54776
|
+
"constants.O_CREAT = 64;",
|
|
54777
|
+
"constants.O_EXCL = 128;",
|
|
54778
|
+
"constants.O_TRUNC = 512;",
|
|
54779
|
+
"constants.O_APPEND = 1024;",
|
|
54780
|
+
"constants.O_DIRECTORY = 65536;",
|
|
54781
|
+
"constants.O_NOFOLLOW = 131072;",
|
|
54782
|
+
"constants.O_SYNC = 1052672;",
|
|
54783
|
+
"constants.O_SYMLINK = 2097152;",
|
|
54784
|
+
"constants.O_NONBLOCK = 2048;",
|
|
54785
|
+
"constants.S_IFMT = 61440;",
|
|
54786
|
+
"constants.S_IFREG = 32768;",
|
|
54787
|
+
"constants.S_IFDIR = 16384;",
|
|
54788
|
+
"constants.S_IFCHR = 8192;",
|
|
54789
|
+
"constants.S_IFBLK = 24576;",
|
|
54790
|
+
"constants.S_IFIFO = 4096;",
|
|
54791
|
+
"constants.S_IFLNK = 40960;",
|
|
54792
|
+
"constants.S_IFSOCK = 49152;",
|
|
54793
|
+
"constants.S_IRWXU = 448;",
|
|
54794
|
+
"constants.S_IRUSR = 256;",
|
|
54795
|
+
"constants.S_IWUSR = 128;",
|
|
54796
|
+
"constants.S_IXUSR = 64;",
|
|
54797
|
+
"constants.S_IRWXG = 56;",
|
|
54798
|
+
"constants.S_IRGRP = 32;",
|
|
54799
|
+
"constants.S_IWGRP = 16;",
|
|
54800
|
+
"constants.S_IXGRP = 8;",
|
|
54801
|
+
"constants.S_IRWXO = 7;",
|
|
54802
|
+
"constants.S_IROTH = 4;",
|
|
54803
|
+
"constants.S_IWOTH = 2;",
|
|
54804
|
+
"constants.S_IXOTH = 1;",
|
|
54805
|
+
"constants.F_OK = 0;",
|
|
54806
|
+
"constants.R_OK = 4;",
|
|
54807
|
+
"constants.W_OK = 2;",
|
|
54808
|
+
"constants.X_OK = 1;",
|
|
54809
|
+
"constants.COPYFILE_EXCL = 1;",
|
|
54810
|
+
"constants.COPYFILE_FICLONE = 2;",
|
|
54811
|
+
"constants.COPYFILE_FICLONE_FORCE = 4;",
|
|
54812
|
+
"constants.UV_FS_COPYFILE_EXCL = 1;",
|
|
54813
|
+
"constants.UV_FS_COPYFILE_FICLONE = 2;",
|
|
54814
|
+
"constants.UV_FS_COPYFILE_FICLONE_FORCE = 4;",
|
|
54815
|
+
"module.exports = constants;"
|
|
54816
|
+
].join("\n"));
|
|
54817
|
+
this._vfs.mkdirSync("/node_modules/stream", { recursive: true });
|
|
54818
|
+
this._vfs.writeFileSync("/node_modules/stream/package.json", JSON.stringify({
|
|
54819
|
+
name: "stream",
|
|
54820
|
+
version: "0.0.1",
|
|
54821
|
+
main: "index.js"
|
|
54822
|
+
}));
|
|
54823
|
+
this._vfs.writeFileSync(
|
|
54824
|
+
"/node_modules/stream/index.js",
|
|
54825
|
+
"module.exports = require('stream');"
|
|
54826
|
+
);
|
|
54827
|
+
this._vfs.mkdirSync("/node_modules/stream/promises", { recursive: true });
|
|
54828
|
+
this._vfs.writeFileSync("/node_modules/stream/promises/package.json", JSON.stringify({
|
|
54829
|
+
name: "stream-promises",
|
|
54830
|
+
version: "0.0.1",
|
|
54831
|
+
main: "index.js"
|
|
54832
|
+
}));
|
|
54833
|
+
this._vfs.writeFileSync(
|
|
54834
|
+
"/node_modules/stream/promises/index.js",
|
|
54835
|
+
"var stream = require('stream');\nmodule.exports = stream.promises || {};"
|
|
54836
|
+
);
|
|
54775
54837
|
this.disposeObservableSubscription = this.fs.subscribe((event) => {
|
|
54776
54838
|
void this.trackOperation((async () => {
|
|
54777
54839
|
if (!this.initialized || this.suppressObservableMirrorCount > 0) {
|
|
@@ -54844,14 +54906,6 @@ var AlmostNodeSession = class {
|
|
|
54844
54906
|
* package directory directly.
|
|
54845
54907
|
*/
|
|
54846
54908
|
resolveBarePkgEntryCache = /* @__PURE__ */ new Map();
|
|
54847
|
-
/**
|
|
54848
|
-
* Packages whose imports are handled by the browser import map.
|
|
54849
|
-
* These are NOT rewritten to /node_modules/... paths.
|
|
54850
|
-
* Now empty: react/react-dom are served from node_modules via our
|
|
54851
|
-
* CJS→ESM shim, which supports the actual installed version rather
|
|
54852
|
-
* than the outdated esm.sh CDN pinned in almostnode's import map.
|
|
54853
|
-
*/
|
|
54854
|
-
importMapPackages = /* @__PURE__ */ new Set();
|
|
54855
54909
|
parseCachedPackageJson(packageJsonPath, raw) {
|
|
54856
54910
|
const cached = this.parsedPackageJsonCache.get(packageJsonPath);
|
|
54857
54911
|
if (cached && cached.raw === raw) {
|
|
@@ -54900,7 +54954,6 @@ var AlmostNodeSession = class {
|
|
|
54900
54954
|
subPath = specifier.slice(slashIdx + 1);
|
|
54901
54955
|
}
|
|
54902
54956
|
}
|
|
54903
|
-
if (this.importMapPackages.has(pkgName)) return null;
|
|
54904
54957
|
const nodeModulesPath = `${root2}/node_modules/${pkgName}`;
|
|
54905
54958
|
const pkgJsonPath = `${nodeModulesPath}/package.json`;
|
|
54906
54959
|
let pkgJson = null;
|
|
@@ -55207,16 +55260,6 @@ var AlmostNodeSession = class {
|
|
|
55207
55260
|
}
|
|
55208
55261
|
return null;
|
|
55209
55262
|
}
|
|
55210
|
-
extractBinNames(pkgJson) {
|
|
55211
|
-
if (typeof pkgJson.bin === "string") {
|
|
55212
|
-
const name = typeof pkgJson.name === "string" ? pkgJson.name.split("/").pop() ?? "" : "";
|
|
55213
|
-
return name ? [name] : [];
|
|
55214
|
-
}
|
|
55215
|
-
if (typeof pkgJson.bin === "object" && pkgJson.bin !== null) {
|
|
55216
|
-
return Object.keys(pkgJson.bin);
|
|
55217
|
-
}
|
|
55218
|
-
return [];
|
|
55219
|
-
}
|
|
55220
55263
|
async registerGlobalBinCommands(packageName) {
|
|
55221
55264
|
if (!this.binCommandRegistrar) return;
|
|
55222
55265
|
const pkgJsonPath = normalizePath(posixPath.join(GLOBAL_NODE_MODULES_ROOT, packageName, "package.json"));
|
|
@@ -55225,7 +55268,15 @@ var AlmostNodeSession = class {
|
|
|
55225
55268
|
const raw = this._vfs.readFileSync(pkgJsonPath, "utf8");
|
|
55226
55269
|
const pkgJson = this.parseCachedPackageJson(pkgJsonPath, raw);
|
|
55227
55270
|
if (!pkgJson) return;
|
|
55228
|
-
|
|
55271
|
+
let binNames;
|
|
55272
|
+
if (typeof pkgJson.bin === "string") {
|
|
55273
|
+
const name = typeof pkgJson.name === "string" ? pkgJson.name.split("/").pop() ?? "" : "";
|
|
55274
|
+
binNames = name ? [name] : [];
|
|
55275
|
+
} else if (typeof pkgJson.bin === "object" && pkgJson.bin !== null) {
|
|
55276
|
+
binNames = Object.keys(pkgJson.bin);
|
|
55277
|
+
} else {
|
|
55278
|
+
binNames = [];
|
|
55279
|
+
}
|
|
55229
55280
|
for (const binName of binNames) {
|
|
55230
55281
|
if (this.registeredBinCommands.has(binName)) continue;
|
|
55231
55282
|
this.registeredBinCommands.add(binName);
|