ugly-app 0.1.762 → 0.1.764
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 +102 -1
- package/dist/native/bundledTools.d.ts.map +1 -1
- package/dist/native/bundledTools.js +6 -2
- package/dist/native/bundledTools.js.map +1 -1
- package/dist/native/index.d.ts +1 -1
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/native/bundledTools.ts +16 -3
- package/src/native/index.ts +1 -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.764";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -9,7 +9,108 @@ export interface BundledTool {
|
|
|
9
9
|
/** Shown in the permission prompt, like mic/camera copy. */
|
|
10
10
|
description: string;
|
|
11
11
|
}
|
|
12
|
-
export declare const BUNDLED_TOOLS: readonly
|
|
12
|
+
export declare const BUNDLED_TOOLS: readonly [{
|
|
13
|
+
readonly name: "node";
|
|
14
|
+
readonly category: "toolchain";
|
|
15
|
+
readonly shellTool: true;
|
|
16
|
+
readonly description: "Node.js runtime — runs your project and its build tools.";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "git";
|
|
19
|
+
readonly category: "toolchain";
|
|
20
|
+
readonly shellTool: true;
|
|
21
|
+
readonly description: "Git — version control for your project.";
|
|
22
|
+
}, {
|
|
23
|
+
readonly name: "pnpm";
|
|
24
|
+
readonly category: "toolchain";
|
|
25
|
+
readonly shellTool: true;
|
|
26
|
+
readonly description: "pnpm — installs your project’s dependencies.";
|
|
27
|
+
}, {
|
|
28
|
+
readonly name: "uv";
|
|
29
|
+
readonly category: "toolchain";
|
|
30
|
+
readonly shellTool: true;
|
|
31
|
+
readonly description: "uv — fast Python package manager.";
|
|
32
|
+
}, {
|
|
33
|
+
readonly name: "python";
|
|
34
|
+
readonly exe: "python3";
|
|
35
|
+
readonly category: "toolchain";
|
|
36
|
+
readonly shellTool: true;
|
|
37
|
+
readonly description: "Python runtime.";
|
|
38
|
+
}, {
|
|
39
|
+
readonly name: "rg";
|
|
40
|
+
readonly category: "toolchain";
|
|
41
|
+
readonly shellTool: true;
|
|
42
|
+
readonly description: "ripgrep — fast code search (the coding agent’s grep).";
|
|
43
|
+
}, {
|
|
44
|
+
readonly name: "curl";
|
|
45
|
+
readonly category: "net";
|
|
46
|
+
readonly shellTool: true;
|
|
47
|
+
readonly description: "curl — transfer data to/from a URL (used by shells for downloads).";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "gh";
|
|
50
|
+
readonly category: "net";
|
|
51
|
+
readonly description: "GitHub CLI — sign in and manage repositories.";
|
|
52
|
+
}, {
|
|
53
|
+
readonly name: "cloudflared";
|
|
54
|
+
readonly category: "net";
|
|
55
|
+
readonly description: "Cloudflare tunnel — exposes your local preview at a public URL.";
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "nats";
|
|
58
|
+
readonly category: "net";
|
|
59
|
+
readonly description: "NATS CLI — messaging server tooling.";
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "postgres";
|
|
62
|
+
readonly category: "data";
|
|
63
|
+
readonly description: "PostgreSQL — local database for your project.";
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "jq";
|
|
66
|
+
readonly category: "data";
|
|
67
|
+
readonly description: "jq — command-line JSON processor.";
|
|
68
|
+
}, {
|
|
69
|
+
readonly name: "yq";
|
|
70
|
+
readonly category: "data";
|
|
71
|
+
readonly description: "yq — command-line YAML processor.";
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "pup";
|
|
74
|
+
readonly category: "data";
|
|
75
|
+
readonly description: "pup — command-line HTML parser.";
|
|
76
|
+
}, {
|
|
77
|
+
readonly name: "sqlite3";
|
|
78
|
+
readonly category: "data";
|
|
79
|
+
readonly description: "SQLite — command-line database shell.";
|
|
80
|
+
}, {
|
|
81
|
+
readonly name: "ffmpeg";
|
|
82
|
+
readonly category: "media";
|
|
83
|
+
readonly description: "FFmpeg — audio/video processing.";
|
|
84
|
+
}, {
|
|
85
|
+
readonly name: "imagemagick";
|
|
86
|
+
readonly exe: "magick";
|
|
87
|
+
readonly category: "media";
|
|
88
|
+
readonly description: "ImageMagick — image conversion and editing.";
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "yt-dlp";
|
|
91
|
+
readonly category: "media";
|
|
92
|
+
readonly description: "yt-dlp — download media from the web.";
|
|
93
|
+
}, {
|
|
94
|
+
readonly name: "pandoc";
|
|
95
|
+
readonly category: "doc";
|
|
96
|
+
readonly description: "Pandoc — document format conversion.";
|
|
97
|
+
}, {
|
|
98
|
+
readonly name: "pdftotext";
|
|
99
|
+
readonly category: "doc";
|
|
100
|
+
readonly description: "pdftotext — extract text from PDFs.";
|
|
101
|
+
}, {
|
|
102
|
+
readonly name: "tesseract";
|
|
103
|
+
readonly category: "doc";
|
|
104
|
+
readonly description: "Tesseract — OCR text from images.";
|
|
105
|
+
}];
|
|
106
|
+
/**
|
|
107
|
+
* The set of tool names an app may request — a real compile-time union derived
|
|
108
|
+
* from the catalog, NOT `string`. Type your request/grant lists as
|
|
109
|
+
* `readonly BundledToolName[]` so a typo or a name that isn't actually a bundled
|
|
110
|
+
* tool (e.g. requesting 'postgress' or a non-catalog name) is a build error
|
|
111
|
+
* instead of a silent no-op on the install side.
|
|
112
|
+
*/
|
|
113
|
+
export type BundledToolName = (typeof BUNDLED_TOOLS)[number]['name'];
|
|
13
114
|
/** Look up a tool descriptor by its request/grant name. */
|
|
14
115
|
export declare function bundledTool(name: string): BundledTool | undefined;
|
|
15
116
|
//# sourceMappingURL=bundledTools.d.ts.map
|
|
@@ -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;
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BiB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAIrE,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE"}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
// permission system (like mic/camera). This is VOCABULARY ONLY — names and
|
|
3
3
|
// static metadata. Versions, download sources, install, PATH, and upgrade all
|
|
4
4
|
// live in the host (ugly-studio); ugly-app never touches a binary.
|
|
5
|
-
|
|
5
|
+
// `as const satisfies` (not `: readonly BundledTool[]`) so the `name`s stay
|
|
6
|
+
// LITERAL types — that's what lets `BundledToolName` below be a real union the
|
|
7
|
+
// compiler checks requests against, instead of a rubber-stamp `string`.
|
|
8
|
+
export const BUNDLED_TOOLS = [
|
|
6
9
|
// toolchain — needed on PATH so shells (`bash -lc 'pnpm dev'`) resolve them.
|
|
7
10
|
{ name: 'node', category: 'toolchain', shellTool: true, description: 'Node.js runtime — runs your project and its build tools.' },
|
|
8
11
|
{ name: 'git', category: 'toolchain', shellTool: true, description: 'Git — version control for your project.' },
|
|
9
12
|
{ name: 'pnpm', category: 'toolchain', shellTool: true, description: 'pnpm — installs your project’s dependencies.' },
|
|
10
13
|
{ name: 'uv', category: 'toolchain', shellTool: true, description: 'uv — fast Python package manager.' },
|
|
11
14
|
{ name: 'python', exe: 'python3', category: 'toolchain', shellTool: true, description: 'Python runtime.' },
|
|
15
|
+
{ name: 'rg', category: 'toolchain', shellTool: true, description: 'ripgrep — fast code search (the coding agent’s grep).' },
|
|
12
16
|
// net
|
|
13
17
|
{ name: 'curl', category: 'net', shellTool: true, description: 'curl — transfer data to/from a URL (used by shells for downloads).' },
|
|
14
18
|
{ name: 'gh', category: 'net', description: 'GitHub CLI — sign in and manage repositories.' },
|
|
@@ -28,7 +32,7 @@ export const BUNDLED_TOOLS = Object.freeze([
|
|
|
28
32
|
{ name: 'pandoc', category: 'doc', description: 'Pandoc — document format conversion.' },
|
|
29
33
|
{ name: 'pdftotext', category: 'doc', description: 'pdftotext — extract text from PDFs.' },
|
|
30
34
|
{ name: 'tesseract', category: 'doc', description: 'Tesseract — OCR text from images.' },
|
|
31
|
-
]
|
|
35
|
+
];
|
|
32
36
|
const BY_NAME = new Map(BUNDLED_TOOLS.map((t) => [t.name, t]));
|
|
33
37
|
/** Look up a tool descriptor by its request/grant name. */
|
|
34
38
|
export function bundledTool(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundledTools.js","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,8EAA8E;AAC9E,mEAAmE;AAcnE,MAAM,CAAC,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"bundledTools.js","sourceRoot":"","sources":["../../src/native/bundledTools.ts"],"names":[],"mappings":"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"}
|
package/dist/native/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { taskEntryUrl } from './facades/task.js';
|
|
|
20
20
|
export { defineTask, taskContext } from './defineTask.js';
|
|
21
21
|
export type { TaskDefinition, TaskContext } from './defineTask.js';
|
|
22
22
|
export { MCP_CATALOG } from './mcp-catalog.js';
|
|
23
|
-
export { BUNDLED_TOOLS, bundledTool, type BundledTool } from './bundledTools.js';
|
|
23
|
+
export { BUNDLED_TOOLS, bundledTool, type BundledTool, type BundledToolName } from './bundledTools.js';
|
|
24
24
|
export { createProxyClient, nativeSigner } from './proxyClient.js';
|
|
25
25
|
export { createProxyHost } from './proxyHost.js';
|
|
26
26
|
export type { ProxyHost, ProxyHostOpts } from './proxyHost.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAM,EACN,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
package/dist/native/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,0EAA0E;AAC1E,wFAAwF;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,0EAA0E;AAC1E,wFAAwF;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAUtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAA0C,MAAM,mBAAmB,CAAC;AAEvG,mDAAmD;AACnD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvI,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.764",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"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.",
|
|
6
6
|
"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.764";
|
|
@@ -15,13 +15,17 @@ export interface BundledTool {
|
|
|
15
15
|
description: string;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
// `as const satisfies` (not `: readonly BundledTool[]`) so the `name`s stay
|
|
19
|
+
// LITERAL types — that's what lets `BundledToolName` below be a real union the
|
|
20
|
+
// compiler checks requests against, instead of a rubber-stamp `string`.
|
|
21
|
+
export const BUNDLED_TOOLS = [
|
|
19
22
|
// toolchain — needed on PATH so shells (`bash -lc 'pnpm dev'`) resolve them.
|
|
20
23
|
{ name: 'node', category: 'toolchain', shellTool: true, description: 'Node.js runtime — runs your project and its build tools.' },
|
|
21
24
|
{ name: 'git', category: 'toolchain', shellTool: true, description: 'Git — version control for your project.' },
|
|
22
25
|
{ name: 'pnpm', category: 'toolchain', shellTool: true, description: 'pnpm — installs your project’s dependencies.' },
|
|
23
26
|
{ name: 'uv', category: 'toolchain', shellTool: true, description: 'uv — fast Python package manager.' },
|
|
24
27
|
{ name: 'python', exe: 'python3', category: 'toolchain', shellTool: true, description: 'Python runtime.' },
|
|
28
|
+
{ name: 'rg', category: 'toolchain', shellTool: true, description: 'ripgrep — fast code search (the coding agent’s grep).' },
|
|
25
29
|
// net
|
|
26
30
|
{ name: 'curl', category: 'net', shellTool: true, description: 'curl — transfer data to/from a URL (used by shells for downloads).' },
|
|
27
31
|
{ name: 'gh', category: 'net', description: 'GitHub CLI — sign in and manage repositories.' },
|
|
@@ -41,9 +45,18 @@ export const BUNDLED_TOOLS: readonly BundledTool[] = Object.freeze([
|
|
|
41
45
|
{ name: 'pandoc', category: 'doc', description: 'Pandoc — document format conversion.' },
|
|
42
46
|
{ name: 'pdftotext', category: 'doc', description: 'pdftotext — extract text from PDFs.' },
|
|
43
47
|
{ name: 'tesseract', category: 'doc', description: 'Tesseract — OCR text from images.' },
|
|
44
|
-
]
|
|
48
|
+
] as const satisfies readonly BundledTool[];
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
/**
|
|
51
|
+
* The set of tool names an app may request — a real compile-time union derived
|
|
52
|
+
* from the catalog, NOT `string`. Type your request/grant lists as
|
|
53
|
+
* `readonly BundledToolName[]` so a typo or a name that isn't actually a bundled
|
|
54
|
+
* tool (e.g. requesting 'postgress' or a non-catalog name) is a build error
|
|
55
|
+
* instead of a silent no-op on the install side.
|
|
56
|
+
*/
|
|
57
|
+
export type BundledToolName = (typeof BUNDLED_TOOLS)[number]['name'];
|
|
58
|
+
|
|
59
|
+
const BY_NAME: Map<string, BundledTool> = new Map(BUNDLED_TOOLS.map((t) => [t.name, t]));
|
|
47
60
|
|
|
48
61
|
/** Look up a tool descriptor by its request/grant name. */
|
|
49
62
|
export function bundledTool(name: string): BundledTool | undefined {
|
package/src/native/index.ts
CHANGED
|
@@ -65,7 +65,7 @@ export { defineTask, taskContext } from './defineTask.js';
|
|
|
65
65
|
export type { TaskDefinition, TaskContext } from './defineTask.js';
|
|
66
66
|
export { MCP_CATALOG } from './mcp-catalog.js';
|
|
67
67
|
|
|
68
|
-
export { BUNDLED_TOOLS, bundledTool, type BundledTool } from './bundledTools.js';
|
|
68
|
+
export { BUNDLED_TOOLS, bundledTool, type BundledTool, type BundledToolName } from './bundledTools.js';
|
|
69
69
|
|
|
70
70
|
// ── Ugly Proxy (remote UglyNative over WebRTC) ──
|
|
71
71
|
export { createProxyClient, nativeSigner } from './proxyClient.js';
|