@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.
- package/README.md +46 -4
- package/dist/cli.js +3013 -406
- package/dist/index.js +2800 -383
- 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
|
|
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.
|