ugly-app 0.1.1062 → 0.1.1063
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/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/native/bundledTools.d.ts +4 -0
- package/dist/native/bundledTools.d.ts.map +1 -1
- package/dist/native/bundledTools.js +5 -0
- package/dist/native/bundledTools.js.map +1 -1
- package/dist/native/server/binaries/resolver.d.ts.map +1 -1
- package/dist/native/server/binaries/resolver.js +5 -1
- package/dist/native/server/binaries/resolver.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/native/bundledTools.test.ts +7 -0
- package/src/native/bundledTools.ts +6 -0
- package/src/native/server/binaries/resolver.test.ts +24 -0
- package/src/native/server/binaries/resolver.ts +6 -1
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.1063";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -114,6 +114,10 @@ export declare const BUNDLED_TOOLS: readonly [{
|
|
|
114
114
|
readonly name: "tesseract";
|
|
115
115
|
readonly category: "doc";
|
|
116
116
|
readonly description: "Tesseract — OCR text from images.";
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "ugly-sim";
|
|
119
|
+
readonly category: "data";
|
|
120
|
+
readonly description: "ugly-sim — compiles and simulates hardware designs on this machine.";
|
|
117
121
|
}];
|
|
118
122
|
/**
|
|
119
123
|
* The set of tool names an app may request — a real compile-time union derived
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundledTools.d.ts","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACzD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"bundledTools.d.ts","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACzD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuJiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAMrE,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE"}
|
|
@@ -146,6 +146,11 @@ export const BUNDLED_TOOLS = [
|
|
|
146
146
|
category: 'doc',
|
|
147
147
|
description: 'Tesseract — OCR text from images.',
|
|
148
148
|
},
|
|
149
|
+
{
|
|
150
|
+
name: 'ugly-sim',
|
|
151
|
+
category: 'data',
|
|
152
|
+
description: 'ugly-sim — compiles and simulates hardware designs on this machine.',
|
|
153
|
+
},
|
|
149
154
|
];
|
|
150
155
|
const BY_NAME = new Map(BUNDLED_TOOLS.map((t) => [t.name, t]));
|
|
151
156
|
/** Look up a tool descriptor by its request/grant name. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundledTools.js","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundledTools.js","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,8EAA8E;AAC9E,mEAAmE;AAcnE,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,6EAA6E;IAC7E;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,yCAAyC;KACvD;IACD;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,SAAS;QACd,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,uDAAuD;KACrE;IACD,MAAM;IACN;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EACT,oEAAoE;KACvE;IACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,iEAAiE;KACpE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,sCAAsC;KACpD;IACD,OAAO;IACP;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,iEAAiE;KACpE;IACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,iCAAiC;KAC/C;IACD;QACE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,uCAAuC;KACrD;IACD,QAAQ;IACR;QACE,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,OAAO;QACjB,WAAW,EACT,mEAAmE;KACtE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,uCAAuC;KACrD;IACD,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE;QACE,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,qDAAqD;KACnE;IACD,MAAM;IACN;QACE,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,qCAAqC;KACnD;IACD,6EAA6E;IAC7E,mDAAmD;IACnD;QACE,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,MAAM;QAChB,WAAW,EACT,qEAAqE;KACxE;CACwC,CAAC;AAW5C,MAAM,OAAO,GAA6B,IAAI,GAAG,CAC/C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACtC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/native/server/binaries/resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/native/server/binaries/resolver.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,QAEmB,CAAC;AAa9C,0EAA0E;AAC1E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,SAAO,GACT,MAAM,GAAG,IAAI,CAYf;AAyBD,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/C;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAazE"}
|
|
@@ -6,10 +6,14 @@
|
|
|
6
6
|
// The root is SHARED with ugly-studio (~/.ugly-studio/binaries): running
|
|
7
7
|
// `ugly-app dev` inside a Studio-managed machine reuses the binaries Studio
|
|
8
8
|
// already installed; running it standalone installs into the same place.
|
|
9
|
+
//
|
|
10
|
+
// `UGLY_BINARIES_ROOT` relocates it. End-to-end tests point it at a temp dir so
|
|
11
|
+
// an install never lands in (or reads from) the developer's real tool set.
|
|
9
12
|
import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
|
|
10
13
|
import { homedir } from 'os';
|
|
11
14
|
import { dirname, join } from 'path';
|
|
12
|
-
export const BINARIES_ROOT =
|
|
15
|
+
export const BINARIES_ROOT = process.env['UGLY_BINARIES_ROOT'] ||
|
|
16
|
+
join(homedir(), '.ugly-studio', 'binaries');
|
|
13
17
|
const PA = `${process.platform}-${process.arch}`;
|
|
14
18
|
const exeName = (exe) => process.platform === 'win32' ? `${exe}.exe` : exe;
|
|
15
19
|
function ls(d) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/native/server/binaries/resolver.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,mFAAmF;AACnF,0FAA0F;AAC1F,iEAAiE;AACjE,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,yEAAyE;AACzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/native/server/binaries/resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
3
|
"packageManager": "pnpm@10.34.5",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.1063",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
7
7
|
"files": [
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.1063";
|
|
@@ -31,6 +31,13 @@ describe('bundled tool catalog', () => {
|
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
it('makes the hardware simulator requestable', () => {
|
|
35
|
+
expect(bundledTool('ugly-sim')).toMatchObject({
|
|
36
|
+
name: 'ugly-sim',
|
|
37
|
+
category: 'data',
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
34
41
|
it('whisper.cpp is requestable under the name consumers actually spawn', () => {
|
|
35
42
|
// The Homebrew formula is `whisper-cpp`, but the executable — and what
|
|
36
43
|
// callers pass to `host.spawn(...)` — is `whisper-cli`. `checkProcess`
|
|
@@ -163,6 +163,12 @@ export const BUNDLED_TOOLS = [
|
|
|
163
163
|
category: 'doc',
|
|
164
164
|
description: 'Tesseract — OCR text from images.',
|
|
165
165
|
},
|
|
166
|
+
{
|
|
167
|
+
name: 'ugly-sim',
|
|
168
|
+
category: 'data',
|
|
169
|
+
description:
|
|
170
|
+
'ugly-sim — compiles and simulates hardware designs on this machine.',
|
|
171
|
+
},
|
|
166
172
|
] as const satisfies readonly BundledTool[];
|
|
167
173
|
|
|
168
174
|
/**
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { homedir } from 'os';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
|
|
5
|
+
describe('BINARIES_ROOT', () => {
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
vi.unstubAllEnvs();
|
|
8
|
+
vi.resetModules();
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it('defaults to the shared Studio root', async () => {
|
|
12
|
+
vi.stubEnv('UGLY_BINARIES_ROOT', '');
|
|
13
|
+
vi.resetModules();
|
|
14
|
+
const { BINARIES_ROOT } = await import('./resolver');
|
|
15
|
+
expect(BINARIES_ROOT).toBe(join(homedir(), '.ugly-studio', 'binaries'));
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('honors UGLY_BINARIES_ROOT', async () => {
|
|
19
|
+
vi.stubEnv('UGLY_BINARIES_ROOT', '/tmp/e2e-tools');
|
|
20
|
+
vi.resetModules();
|
|
21
|
+
const { BINARIES_ROOT } = await import('./resolver');
|
|
22
|
+
expect(BINARIES_ROOT).toBe('/tmp/e2e-tools');
|
|
23
|
+
});
|
|
24
|
+
});
|
|
@@ -6,11 +6,16 @@
|
|
|
6
6
|
// The root is SHARED with ugly-studio (~/.ugly-studio/binaries): running
|
|
7
7
|
// `ugly-app dev` inside a Studio-managed machine reuses the binaries Studio
|
|
8
8
|
// already installed; running it standalone installs into the same place.
|
|
9
|
+
//
|
|
10
|
+
// `UGLY_BINARIES_ROOT` relocates it. End-to-end tests point it at a temp dir so
|
|
11
|
+
// an install never lands in (or reads from) the developer's real tool set.
|
|
9
12
|
import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
|
|
10
13
|
import { homedir } from 'os';
|
|
11
14
|
import { dirname, join } from 'path';
|
|
12
15
|
|
|
13
|
-
export const BINARIES_ROOT =
|
|
16
|
+
export const BINARIES_ROOT =
|
|
17
|
+
process.env['UGLY_BINARIES_ROOT'] ||
|
|
18
|
+
join(homedir(), '.ugly-studio', 'binaries');
|
|
14
19
|
const PA = `${process.platform}-${process.arch}`;
|
|
15
20
|
const exeName = (exe: string): string =>
|
|
16
21
|
process.platform === 'win32' ? `${exe}.exe` : exe;
|