@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 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.0",
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.0",
41127
+ version: "0.58.1",
41128
41128
  private: true,
41129
41129
  license: "UNLICENSED",
41130
41130
  workspaces: {
package/package.json CHANGED
@@ -41,5 +41,5 @@
41
41
  "start": "node src/cli.js",
42
42
  "lint": "eslint src --quiet"
43
43
  },
44
- "version": "0.58.0"
44
+ "version": "0.58.1"
45
45
  }
package/readme.md CHANGED
@@ -1,108 +1,61 @@
1
1
  # @glyphteck/veyl
2
2
 
3
- Programmable Veyl SDK with a high-level Node.js 22+ runtime and provider-neutral auth/passkey and account/vault entries for graphical clients. It exposes account, vault, profile, peer, encrypted chat, wallet, Lightning, withdrawal, invite-link, passkey, support, cache, settings, and fleet operations through one JavaScript client and a JSON CLI. A separate read-only MCP resource server exposes the packaged documentation.
3
+ Use a Veyl account from Node.js or the shell. The package provides:
4
4
 
5
- The SDK is a real client, not an admin API. It uses the same shared account, vault, peer, chat, encrypted-cache, and Spark wallet owners as web and iOS. Authentication, vault decryption, message encryption/signing, attachment encryption, and wallet signing remain local.
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
- The public `open()` factory selects the Node runtime ports for filesystem profiles, Firebase transport, Spark, machine credentials, browser-assisted passkeys, and local encrypted cache. Official web and iOS clients use the `@glyphteck/veyl/auth` and `@glyphteck/veyl/account` entries with platform ports for the same passkey orchestration, authenticated user, encrypted settings, public-profile mutation, vault, network, presence, wallet, transfer, transaction, public Bitcoin data, chat-session, peer-directory, profile-search, support/reporting, authenticated push leases, account deletion, and teardown owners. They do not carry separate auth, passkey, account, profile, peer, search, chat, wallet, Bitcoin, transfer, transaction, settings, support, or deletion state machines. The browser/native credential ceremony, native notification presentation, and device-local credential cleanup remain platform behavior.
10
+ Requires Node.js 22 or newer.
8
11
 
9
- ## Install the SDK
12
+ ## install
10
13
 
11
14
  ```bash
12
- npm install @glyphteck/veyl
13
- # or: pnpm add @glyphteck/veyl
14
- # or: bun add @glyphteck/veyl
15
+ bun add @glyphteck/veyl
16
+ # or: npm install @glyphteck/veyl
15
17
  ```
16
18
 
17
- ## JavaScript quick start
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
- `account.create()` returns the account key used to authenticate the machine. `vault.create()` returns the vault key that unlocks every vaulted feature. Both keys are saved in the local profile by default and must never be logged or committed.
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
- ## Optional CLI
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
- The package also ships a CLI for one-off shell work:
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
- To create or log into a normal passkey account from a browser-capable terminal, add `--passkey` to `account create` or `account login`.
39
+ ## CLI
48
40
 
49
- Glyphteck's owner-only reserved namespace uses one local key:
41
+ The CLI prints JSON, which makes it suitable for shell scripts and agents.
50
42
 
51
43
  ```bash
52
- npx veyl namespace init
53
- npx veyl --network REGTEST account create @faucet --reserved
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
- Use `REGTEST` for development and disposable accounts. Use `MAINNET` only for real funds.
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
- ## Documentation
52
+ ## documentation
99
53
 
100
- - [CLI](docs/cli.md)
101
54
  - [JavaScript API](docs/api.md)
102
- - [Agent operation](docs/agents.md)
103
- - [Documentation discovery](docs/discovery.md)
104
- - [Parity and validation](docs/validation.md)
55
+ - [CLI reference](docs/cli.md)
56
+ - [agent operation](docs/agents.md)
57
+ - [MCP documentation discovery](docs/discovery.md)
105
58
 
106
- ## License
59
+ ## license
107
60
 
108
- The official Veyl JavaScript SDK is distributed under its [proprietary SDK license](LICENSE); it is not currently open source. The license permits use of the unmodified SDK with Veyl, including normal compiled or bundled use, but not modified or standalone redistribution.
61
+ This package is proprietary. The unmodified SDK may be used with Veyl; see the [license](LICENSE) for terms.