@glyphteck/veyl 0.58.0 → 0.58.1
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.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/readme.md +28 -75
package/dist/cli.js
CHANGED
|
@@ -41125,7 +41125,7 @@ var package_default;
|
|
|
41125
41125
|
var init_package = __esm(() => {
|
|
41126
41126
|
package_default = {
|
|
41127
41127
|
name: "veyl",
|
|
41128
|
-
version: "0.58.
|
|
41128
|
+
version: "0.58.1",
|
|
41129
41129
|
private: true,
|
|
41130
41130
|
license: "UNLICENSED",
|
|
41131
41131
|
workspaces: {
|
package/dist/index.js
CHANGED
|
@@ -41124,7 +41124,7 @@ var package_default;
|
|
|
41124
41124
|
var init_package = __esm(() => {
|
|
41125
41125
|
package_default = {
|
|
41126
41126
|
name: "veyl",
|
|
41127
|
-
version: "0.58.
|
|
41127
|
+
version: "0.58.1",
|
|
41128
41128
|
private: true,
|
|
41129
41129
|
license: "UNLICENSED",
|
|
41130
41130
|
workspaces: {
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,108 +1,61 @@
|
|
|
1
1
|
# @glyphteck/veyl
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Use a Veyl account from Node.js or the shell. The package provides:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- account, profile, and peer management
|
|
6
|
+
- end-to-end encrypted 1:1 chat, files, reactions, and payment requests
|
|
7
|
+
- a self-custodial Spark wallet for peer payments, Lightning, and Bitcoin withdrawals
|
|
8
|
+
- a JavaScript API, JSON CLI, and live events for agents and automations
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
Requires Node.js 22 or newer.
|
|
8
11
|
|
|
9
|
-
##
|
|
12
|
+
## install
|
|
10
13
|
|
|
11
14
|
```bash
|
|
12
|
-
|
|
13
|
-
# or:
|
|
14
|
-
# or: bun add @glyphteck/veyl
|
|
15
|
+
bun add @glyphteck/veyl
|
|
16
|
+
# or: npm install @glyphteck/veyl
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-
Creating an account accepts Veyl's [Terms](https://veyl.glyphteck.com/legal#terms) and [Community Rules](https://veyl.glyphteck.com/community-rules).
|
|
19
|
+
## quick start
|
|
20
20
|
|
|
21
21
|
```js
|
|
22
22
|
import { open } from '@glyphteck/veyl';
|
|
23
23
|
|
|
24
|
-
const veyl = await open({ network: 'REGTEST' });
|
|
24
|
+
const veyl = await open({ profile: 'runner', network: 'REGTEST' });
|
|
25
25
|
const accountKey = await veyl.account.create({ username: 'runner' });
|
|
26
26
|
const vaultKey = await veyl.vault.create();
|
|
27
|
+
|
|
27
28
|
await veyl.chat.send('@alice', 'hello');
|
|
28
29
|
console.log(await veyl.wallet.balance());
|
|
29
30
|
await veyl.close();
|
|
30
31
|
```
|
|
31
32
|
|
|
32
|
-
`
|
|
33
|
-
|
|
34
|
-
Machine credentials and passkeys describe authentication capability, not whether a person or agent operates the account. Third-party agents use ordinary public profiles; only namespace-authorized Glyphteck services carry the managed bot marker. Use `REGTEST` for disposable automation and `MAINNET` only for real funds.
|
|
33
|
+
`accountKey` authenticates the account. `vaultKey` unlocks its chat and wallet. By default, both are saved in `~/.veyl/profiles/runner.json` with owner-only permissions so later runs can call `account.login()` and `vault.unlock()` without passing them again.
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
To store the keys in your own secret manager, pass `saveKey: false` to both creation calls and provide them later through `open({ accountKey, vaultKey })`, `VEYL_ACCOUNT_KEY`, and `VEYL_VAULT_KEY`. Never log or commit either key.
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npx veyl --network REGTEST account create @runner
|
|
42
|
-
npx veyl vault create
|
|
43
|
-
npx veyl account show
|
|
44
|
-
npx veyl wallet address
|
|
45
|
-
```
|
|
37
|
+
Use `REGTEST` for development and disposable accounts. `MAINNET` uses real funds. Creating an account accepts Veyl's [Terms](https://veyl.glyphteck.com/legal#terms) and [Community Rules](https://veyl.glyphteck.com/community-rules).
|
|
46
38
|
|
|
47
|
-
|
|
39
|
+
## CLI
|
|
48
40
|
|
|
49
|
-
|
|
41
|
+
The CLI prints JSON, which makes it suitable for shell scripts and agents.
|
|
50
42
|
|
|
51
43
|
```bash
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Initialization writes the private seed only to `~/.veyl/namespace.seed` with mode `0600` and prints its public identity. The explicit `--reserved` account flow and Glyphteck fleet provisioning sign an exact, short-lived reserved-name claim when that file exists. General users do not possess the key and remain unable to claim reserved names.
|
|
57
|
-
|
|
58
|
-
Long-running agents should keep one unlocked client or foreground session alive. This reuses the same wallet, peer, chat, cache, and live-listener owners instead of paying cold login and wallet boot cost for every command.
|
|
59
|
-
|
|
60
|
-
Agents can also mount one conversation through `veyl.chat.enter('@alice')`, or run one local `openFleetOwner(...)` for many accounts. A versioned fleet root derives isolated account keys, vault keys, and Veyl master seeds by monotonically allocated account index, so the operator backs up one root for an unbounded fleet. Fleet policies remain normal API consumers; they receive no Firebase Admin or wallet shortcuts.
|
|
61
|
-
|
|
62
|
-
The public SDK keeps ordinary errors simple. Only an ambiguous money mutation has a stable `operation_outcome_unknown` contract, including its caller correlation id and whether an identical retry is safe. This prevents an agent from self-correcting a network error into a duplicate spend without building a large error taxonomy.
|
|
63
|
-
|
|
64
|
-
The [SDK bot fleet example](examples/bot-fleet/readme.md) is a complete public-client policy with replay checkpoints and a durable effect journal. The Glyphteck runtime consumes that same reference policy without receiving privileged backend or wallet access.
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
veyl --profile runner session start
|
|
68
|
-
# another shell
|
|
69
|
-
veyl --profile runner --session default wallet balance
|
|
70
|
-
veyl --profile runner --session default chat enter @alice
|
|
71
|
-
veyl --profile runner --session default session events
|
|
72
|
-
veyl --profile runner --session default session stop
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Documentation discovery
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
veyl docs mcp
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
The local stdio server advertises packaged Markdown as read-only MCP resources. It cannot access accounts, credentials, chats, or wallets. Agents that control their runtime should import the SDK directly.
|
|
82
|
-
|
|
83
|
-
## Local state
|
|
84
|
-
|
|
85
|
-
Profiles live under `~/.veyl` by default. The directory and sensitive files use owner-only permissions.
|
|
86
|
-
|
|
87
|
-
```text
|
|
88
|
-
VEYL_HOME=/secure/veyl-home
|
|
89
|
-
VEYL_PROFILE=runner
|
|
90
|
-
VEYL_NETWORK=REGTEST
|
|
91
|
-
VEYL_ACCOUNT_KEY=...
|
|
92
|
-
VEYL_VAULT_KEY=...
|
|
93
|
-
VEYL_WEB_URL=https://veyl.glyphteck.com
|
|
44
|
+
bunx veyl --network REGTEST account create @runner
|
|
45
|
+
bunx veyl vault create
|
|
46
|
+
bunx veyl chat send @alice "hello"
|
|
47
|
+
bunx veyl wallet balance
|
|
94
48
|
```
|
|
95
49
|
|
|
96
|
-
|
|
50
|
+
Run `bunx veyl help` for the full command list. Long-running agents should keep one JavaScript client or persistent CLI session open instead of starting a new wallet and chat session for every action.
|
|
97
51
|
|
|
98
|
-
##
|
|
52
|
+
## documentation
|
|
99
53
|
|
|
100
|
-
- [CLI](docs/cli.md)
|
|
101
54
|
- [JavaScript API](docs/api.md)
|
|
102
|
-
- [
|
|
103
|
-
- [
|
|
104
|
-
- [
|
|
55
|
+
- [CLI reference](docs/cli.md)
|
|
56
|
+
- [agent operation](docs/agents.md)
|
|
57
|
+
- [MCP documentation discovery](docs/discovery.md)
|
|
105
58
|
|
|
106
|
-
##
|
|
59
|
+
## license
|
|
107
60
|
|
|
108
|
-
|
|
61
|
+
This package is proprietary. The unmodified SDK may be used with Veyl; see the [license](LICENSE) for terms.
|