@glyphteck/veyl 0.1.1 → 0.2.0

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.
Files changed (4) hide show
  1. package/README.md +46 -4
  2. package/dist/cli.js +3013 -406
  3. package/dist/index.js +2800 -383
  4. package/package.json +1 -1
package/README.md CHANGED
@@ -37,12 +37,28 @@ const vault = await veyl.vault.create();
37
37
  await veyl.vault.unlock();
38
38
  await veyl.chat.send('@alice', 'hello');
39
39
  const messages = await veyl.chat.read('@alice');
40
-
40
+ await veyl.chat.reply({ peer: '@alice', messageId: messages.messages[0].id }, 'got it');
41
+ await veyl.chat.react('@alice', messages.messages[0].id, '+1');
42
+ await veyl.chat.save('@alice', messages.messages[0].id);
43
+ await veyl.chat.retention('@alice', '24h');
44
+
45
+ await veyl.listen({
46
+ compact: true,
47
+ incomingOnly: true,
48
+ onEvent: async (event) => {
49
+ if (event.type !== 'message') return;
50
+ await veyl.chat.reactTo(event, '+1');
51
+ await veyl.chat.reply(event, 'thanks');
52
+ },
53
+ });
54
+
55
+ const receive = await veyl.money.receive();
56
+ const invoice = await veyl.money.invoice(1000, { memo: 'coffee' });
41
57
  await veyl.money.send('@alice', 1000);
42
58
  await veyl.money.request('@alice', 1000);
43
59
  const transactions = await veyl.money.transactions();
44
60
 
45
- console.log(account.uid, vault.vaultSecret, messages, transactions);
61
+ console.log(account.uid, vault.vaultSecret, receive.address, invoice.encodedInvoice, messages, transactions);
46
62
  ```
47
63
 
48
64
  CLI names should mirror the JS API:
@@ -51,10 +67,19 @@ CLI names should mirror the JS API:
51
67
  veyl create --passkey @runner
52
68
  veyl send @alice 1000
53
69
  veyl request @alice 1000
70
+ veyl receive
71
+ veyl claim
72
+ veyl invoice 100 "coffee"
73
+ veyl pay-invoice <invoice>
74
+ veyl withdraw <address> 1000
54
75
  veyl balance
55
76
  veyl read @alice
56
77
  veyl say @alice "hello"
57
- veyl listen
78
+ veyl reply @alice <message-id> "got it"
79
+ veyl react @alice <message-id> +1
80
+ veyl save @alice <message-id>
81
+ veyl retention @alice 24h
82
+ veyl listen --agent
58
83
 
59
84
  veyl account create @runner
60
85
  veyl account create --passkey @runner
@@ -65,16 +90,31 @@ veyl vault unlock
65
90
  veyl vault lock
66
91
  veyl chat read @alice
67
92
  veyl chat send @alice "hello"
93
+ veyl chat reply @alice <message-id> "got it"
94
+ veyl chat react @alice <message-id> +1
95
+ veyl chat react-to @alice <message-id> +1
96
+ veyl chat unreact @alice <message-id>
97
+ veyl chat save @alice <message-id>
98
+ veyl chat unsave @alice <message-id>
99
+ veyl chat delete @alice <message-id>
100
+ veyl chat delete-chat @alice
101
+ veyl chat retention @alice seen
102
+ veyl money receive
68
103
  veyl money balance
104
+ veyl money claim
105
+ veyl money invoice 100 "coffee"
106
+ veyl money pay-invoice <invoice>
69
107
  veyl money send @alice 1000
70
108
  veyl money request @alice 1000
109
+ veyl money withdraw-quote <address> 1000
110
+ veyl money withdraw <address> 1000
71
111
  veyl transactions
72
112
  veyl mcp serve
73
113
  ```
74
114
 
75
115
  The same commands are exposed as MCP tools through `veyl mcp serve`.
76
116
 
77
- `veyl listen` keeps one auth and vault session alive in the current process, then emits newline-delimited JSON events for new messages and wallet transfers. It is the terminal event-stream path for agents that do not want to speak MCP.
117
+ `veyl listen` keeps one auth and vault session alive in the current process, then emits newline-delimited JSON events for new messages and wallet transfers. It is the terminal event-stream path for agents that do not want to speak MCP. Use `veyl listen --agent` for compact peer-authored message events with `replyTo` and `reactTo` handles shaped as `{ peer, messageId }`.
78
118
 
79
119
  Passkey browser auth defaults to `https://veyl.glyphteck.com`. Use `--web-url` or `VEYL_WEB_URL` to point the CLI at another allowed passkey origin, such as a local dev host or a future dedicated auth host.
80
120
 
@@ -101,6 +141,8 @@ The backend only verifies machine-key challenges and issues Firebase custom toke
101
141
  - `POST /headless/account/credential/add/start`
102
142
  - `POST /headless/account/credential/add/finish`
103
143
 
144
+ Machine-created accounts are marked as bots on their public profile so app users can tell that the account is bot-operated. Passkey-created CLI accounts are not marked as bots.
145
+
104
146
  Vault secrets, wallet entropy, chat seeds, Spark wallet boot, and message/payment signing all run locally in this package through shared Veyl primitives.
105
147
 
106
148
  Generic unlocked-account actions live in `@veyl/shared/account/actions`; this package only wraps them with headless account auth, local profile storage, CLI commands, and MCP serving.