@deleted-ai/deleted 0.1.349 → 0.1.353
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/README.md +45 -4
- package/bin/deleted.js +26 -1
- package/bundled/linux-arm64.tar.gz +0 -0
- package/bundled/linux-x64.tar.gz +0 -0
- package/package.json +1 -1
- package/release-manifest.json +4 -4
package/README.md
CHANGED
|
@@ -16,10 +16,51 @@ npx @deleted-ai/deleted init my-box
|
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
`--starter` runs a pre-signed bundle from `share/starter/` (`chat-tools` or
|
|
19
|
-
`chat-echo`).
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
`chat-echo`).
|
|
20
|
+
|
|
21
|
+
## Type `deleted` instead of `npx @deleted-ai/deleted`
|
|
22
|
+
|
|
23
|
+
`npx` runs the CLI without installing it, but leaves nothing on your `PATH`.
|
|
24
|
+
Optionally install once to get the short command used throughout the docs:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g @deleted-ai/deleted
|
|
28
|
+
deleted --version
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If that fails with `EACCES`, your Node keeps global packages in a root-owned
|
|
32
|
+
directory. Keep using `npx @deleted-ai/deleted` — it needs no install and every
|
|
33
|
+
command below works with it. If you would rather have the short command, point
|
|
34
|
+
npm at a directory you own (`npm config set prefix ~/.npm-global`, then add
|
|
35
|
+
`~/.npm-global/bin` to your `PATH`) or use a Node version manager. Installing
|
|
36
|
+
with `sudo` would run this package's install script as root; nothing here needs
|
|
37
|
+
that.
|
|
38
|
+
|
|
39
|
+
Either form works everywhere below. The CLI prints next-step commands in
|
|
40
|
+
whichever form you used, so you can always paste what it shows you.
|
|
41
|
+
|
|
42
|
+
## Your own harness, still without Rust
|
|
43
|
+
|
|
44
|
+
`deleted sample` copies a shipped sample into a directory with its pre-built
|
|
45
|
+
guests already staged, so you can write and sign your own lock immediately:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
deleted sample # list what ships
|
|
49
|
+
deleted sample echo
|
|
50
|
+
cd echo
|
|
51
|
+
deleted lock create chat-echo.recipe.yaml -o bundle
|
|
52
|
+
deleted lock sign --dev-operator bundle
|
|
53
|
+
deleted run --dev-operator bundle --entry /boxes/chat-cli -- "hello"
|
|
54
|
+
# → completed: echo:hello
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`deleted sample deepseek` is the same flow against a real model: export your own
|
|
58
|
+
`DEEPSEEK_API_KEY`, point the recipe's `credential_id` at it, and sign. Signing
|
|
59
|
+
is the operator approving that recipe's egress pin.
|
|
60
|
+
|
|
61
|
+
Each sample also ships its guest sources. Rebuilding them with `deleted pack
|
|
62
|
+
build` (Rust + `wasm-tools` 1.235.x) reproduces the staged binaries byte for
|
|
63
|
+
byte — `deleted doctor` lists what that needs.
|
|
23
64
|
|
|
24
65
|
On install (or first run), the package extracts the bundled release binary for
|
|
25
66
|
your host — it ships one tarball per support-floor target and picks the match (or downloads from GitHub Releases when authenticated). No kernel source
|
package/bin/deleted.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawnSync } from 'node:child_process';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
+
import fs from 'node:fs';
|
|
4
5
|
import { ensureInstalled } from '../lib/install.js';
|
|
5
6
|
import { nativeBinaryPath } from '../lib/paths.js';
|
|
6
7
|
|
|
@@ -12,10 +13,34 @@ try {
|
|
|
12
13
|
process.exit(1);
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
// Next-step hints the binary prints must be commands this user can actually
|
|
17
|
+
// run. A global install puts `deleted` on PATH; `npx` and a local dependency
|
|
18
|
+
// install do not, so ask PATH rather than guessing from how we were launched.
|
|
19
|
+
function shortCommandAvailable() {
|
|
20
|
+
const entries = (process.env.PATH ?? '')
|
|
21
|
+
.split(path.delimiter)
|
|
22
|
+
.filter(Boolean)
|
|
23
|
+
// npx and npm scripts prepend node_modules/.bin for the child process only.
|
|
24
|
+
// That shim is not on the user's own PATH, so it must not count here.
|
|
25
|
+
.filter((dir) => !dir.split(path.sep).includes('node_modules'));
|
|
26
|
+
return entries.some((dir) => {
|
|
27
|
+
try {
|
|
28
|
+
fs.accessSync(path.join(dir, 'deleted'), fs.constants.X_OK);
|
|
29
|
+
return true;
|
|
30
|
+
} catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
15
36
|
const binary = nativeBinaryPath(cacheDir);
|
|
16
37
|
const result = spawnSync(binary, process.argv.slice(2), {
|
|
17
38
|
stdio: 'inherit',
|
|
18
|
-
env:
|
|
39
|
+
env: {
|
|
40
|
+
...process.env,
|
|
41
|
+
// A selector, not display text: the binary owns the wording it prints.
|
|
42
|
+
DELETED_LAUNCHER: shortCommandAvailable() ? 'path' : 'npx',
|
|
43
|
+
},
|
|
19
44
|
});
|
|
20
45
|
|
|
21
46
|
if (result.error) {
|
|
Binary file
|
package/bundled/linux-x64.tar.gz
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/release-manifest.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Placeholder in git; scripts/publish-deleted-npm.sh stamps version, gitSha, and a tarballSha256 per target at publish. Install fails closed while a target's tarballSha256 is the zero sentinel.",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"gitSha": "
|
|
3
|
+
"version": "0.1.353",
|
|
4
|
+
"gitSha": "c5de4a7",
|
|
5
5
|
"repo": "cdlconsultants/deleted-ai",
|
|
6
6
|
"releaseTagPrefix": "npm-v",
|
|
7
7
|
"targets": {
|
|
8
8
|
"linux-arm64": {
|
|
9
|
-
"tarballSha256": "
|
|
9
|
+
"tarballSha256": "570060c9e8a3e9d93e97e9129c2c36751623a216d83d2ec552d91d3fb87f524f"
|
|
10
10
|
},
|
|
11
11
|
"linux-x64": {
|
|
12
|
-
"tarballSha256": "
|
|
12
|
+
"tarballSha256": "01994d30d2ccbaec7873af8fe76ee2f7efcf07606ca0df6c1307fde1de9975e8"
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
}
|