@ravi-hq/ravi 0.5.3 → 0.5.5
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 +62 -68
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/bin/ravi-secrets.d.ts +3 -3
- package/dist/bin/ravi-secrets.js +7 -7
- package/dist/bin/ravi-secrets.js.map +1 -1
- package/dist/channels/email-trusted.d.ts.map +1 -1
- package/dist/channels/email-trusted.js +5 -7
- package/dist/channels/email-trusted.js.map +1 -1
- package/dist/channels/email-untrusted.d.ts.map +1 -1
- package/dist/channels/email-untrusted.js +5 -7
- package/dist/channels/email-untrusted.js.map +1 -1
- package/dist/channels/email.d.ts +12 -22
- package/dist/channels/email.d.ts.map +1 -1
- package/dist/channels/email.js +48 -54
- package/dist/channels/email.js.map +1 -1
- package/dist/cli.d.ts +15 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +271 -211
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +62 -22
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +75 -33
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +7 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -76
- package/dist/index.js.map +1 -1
- package/dist/sse-pool.d.ts +5 -2
- package/dist/sse-pool.d.ts.map +1 -1
- package/dist/sse-pool.js +9 -7
- package/dist/sse-pool.js.map +1 -1
- package/dist/sse.d.ts +7 -21
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +10 -33
- package/dist/sse.js.map +1 -1
- package/dist/tools/contacts.d.ts +14 -0
- package/dist/tools/contacts.d.ts.map +1 -0
- package/dist/tools/contacts.js +186 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/email-send.d.ts.map +1 -1
- package/dist/tools/email-send.js +11 -4
- package/dist/tools/email-send.js.map +1 -1
- package/dist/tools/identity.d.ts +2 -2
- package/dist/tools/identity.d.ts.map +1 -1
- package/dist/tools/identity.js +14 -6
- package/dist/tools/identity.js.map +1 -1
- package/dist/tools/inbox.js +7 -7
- package/dist/tools/inbox.js.map +1 -1
- package/dist/tools/passwords.d.ts.map +1 -1
- package/dist/tools/passwords.js +20 -7
- package/dist/tools/passwords.js.map +1 -1
- package/dist/tools/secrets.d.ts +15 -0
- package/dist/tools/secrets.d.ts.map +1 -0
- package/dist/tools/{vault.js → secrets.js} +23 -23
- package/dist/tools/secrets.js.map +1 -0
- package/dist/tools/sms-send.d.ts.map +1 -1
- package/dist/tools/sms-send.js +3 -1
- package/dist/tools/sms-send.js.map +1 -1
- package/dist/types.d.ts +18 -12
- package/dist/types.d.ts.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -13
- package/dist/channels/sms-trusted.d.ts +0 -161
- package/dist/channels/sms-trusted.d.ts.map +0 -1
- package/dist/channels/sms-trusted.js +0 -306
- package/dist/channels/sms-trusted.js.map +0 -1
- package/dist/channels/sms-untrusted.d.ts +0 -124
- package/dist/channels/sms-untrusted.d.ts.map +0 -1
- package/dist/channels/sms-untrusted.js +0 -269
- package/dist/channels/sms-untrusted.js.map +0 -1
- package/dist/channels/sms.d.ts +0 -279
- package/dist/channels/sms.d.ts.map +0 -1
- package/dist/channels/sms.js +0 -385
- package/dist/channels/sms.js.map +0 -1
- package/dist/service.d.ts +0 -107
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -211
- package/dist/service.js.map +0 -1
- package/dist/tools/vault.d.ts +0 -15
- package/dist/tools/vault.d.ts.map +0 -1
- package/dist/tools/vault.js.map +0 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contact management tools for the Ravi OpenClaw plugin.
|
|
3
|
+
*
|
|
4
|
+
* Provides tools to list, search, retrieve, create, update, and delete
|
|
5
|
+
* contacts associated with the current identity. Contacts track people
|
|
6
|
+
* the identity has interacted with via email or SMS.
|
|
7
|
+
*
|
|
8
|
+
* @module tools/contacts
|
|
9
|
+
*/
|
|
10
|
+
// ─── Contacts Tools ─────────────────────────────────────────────────────────
|
|
11
|
+
/** Tools for managing contacts in the Ravi contacts store. */
|
|
12
|
+
export const contactsTools = [
|
|
13
|
+
{
|
|
14
|
+
name: "ravi_contacts_list",
|
|
15
|
+
description: "List all contacts for the current identity. Returns contact details including email, phone number, " +
|
|
16
|
+
"display name, nickname, source (auto or manual), and interaction count. " +
|
|
17
|
+
"Use ravi_contacts_search instead for fuzzy search by name — especially when resolving a recipient's name " +
|
|
18
|
+
"to an email address or phone number before sending. " +
|
|
19
|
+
"Each contact includes an is_trusted flag indicating whether emails from this contact are routed to the trusted SSE channel.",
|
|
20
|
+
parameters: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {},
|
|
23
|
+
required: [],
|
|
24
|
+
},
|
|
25
|
+
handler: async (_params, { client }) => {
|
|
26
|
+
return client.listContacts();
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "ravi_contacts_search",
|
|
31
|
+
description: "Fuzzy search contacts by name, nickname, or email. Returns matching contacts ranked by relevance. " +
|
|
32
|
+
"IMPORTANT: Use this to resolve a person's name to their email or phone before sending email (ravi_email_compose) " +
|
|
33
|
+
"or SMS (ravi_sms_send). Example: 'email Alice' or 'text Bob' → search contacts first to find their address/number. " +
|
|
34
|
+
"When multiple contacts match, confirm with the user which one they mean before proceeding. " +
|
|
35
|
+
"For listing all contacts, use ravi_contacts_list instead.",
|
|
36
|
+
parameters: {
|
|
37
|
+
type: "object",
|
|
38
|
+
properties: {
|
|
39
|
+
query: {
|
|
40
|
+
type: "string",
|
|
41
|
+
description: "Search query — matches against display name, nickname, and email address using fuzzy search. " +
|
|
42
|
+
"Phone numbers are not fuzzy-searched — use ravi_contacts_list to find contacts by phone.",
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
required: ["query"],
|
|
46
|
+
},
|
|
47
|
+
handler: async (params, { client }) => {
|
|
48
|
+
return client.searchContacts(params.query);
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: "ravi_contacts_get",
|
|
53
|
+
description: "Get a specific contact by UUID. Returns full contact details including email, phone number, " +
|
|
54
|
+
"display name, nickname, source, interaction count, and timestamps. " +
|
|
55
|
+
"Use ravi_contacts_list or ravi_contacts_search to find the UUID.",
|
|
56
|
+
parameters: {
|
|
57
|
+
type: "object",
|
|
58
|
+
properties: {
|
|
59
|
+
uuid: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "UUID of the contact to retrieve (from ravi_contacts_list or ravi_contacts_search)",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
required: ["uuid"],
|
|
65
|
+
},
|
|
66
|
+
handler: async (params, { client }) => {
|
|
67
|
+
return client.getContact(params.uuid);
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: "ravi_contacts_create",
|
|
72
|
+
description: "Create a new contact for the current identity. At least one of email or phone_number is required. " +
|
|
73
|
+
"Use this to manually add contacts — auto-discovered contacts are created automatically from email/SMS interactions.",
|
|
74
|
+
parameters: {
|
|
75
|
+
type: "object",
|
|
76
|
+
properties: {
|
|
77
|
+
email: {
|
|
78
|
+
type: "string",
|
|
79
|
+
description: "Contact's email address",
|
|
80
|
+
},
|
|
81
|
+
phone_number: {
|
|
82
|
+
type: "string",
|
|
83
|
+
description: "Contact's phone number in E.164 format (e.g. '+14155551234')",
|
|
84
|
+
},
|
|
85
|
+
display_name: {
|
|
86
|
+
type: "string",
|
|
87
|
+
description: "Contact's display name (e.g. 'Jane Smith')",
|
|
88
|
+
},
|
|
89
|
+
nickname: {
|
|
90
|
+
type: "string",
|
|
91
|
+
description: "Short nickname for the contact (e.g. 'Jane')",
|
|
92
|
+
},
|
|
93
|
+
is_trusted: {
|
|
94
|
+
type: "boolean",
|
|
95
|
+
description: "Mark this contact as trusted. Emails from trusted contacts are routed to the email_trusted SSE channel " +
|
|
96
|
+
"instead of email_untrusted. Defaults to false.",
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
required: [],
|
|
100
|
+
},
|
|
101
|
+
handler: async (params, { client }) => {
|
|
102
|
+
const data = {};
|
|
103
|
+
if (params.email !== undefined)
|
|
104
|
+
data.email = params.email;
|
|
105
|
+
if (params.phone_number !== undefined)
|
|
106
|
+
data.phone_number = params.phone_number;
|
|
107
|
+
if (params.display_name !== undefined)
|
|
108
|
+
data.display_name = params.display_name;
|
|
109
|
+
if (params.nickname !== undefined)
|
|
110
|
+
data.nickname = params.nickname;
|
|
111
|
+
if (params.is_trusted !== undefined)
|
|
112
|
+
data.is_trusted = params.is_trusted;
|
|
113
|
+
return client.createContact(data);
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: "ravi_contacts_update",
|
|
118
|
+
description: "Update an existing contact's fields. Only provided fields are changed — omitted fields remain unchanged. " +
|
|
119
|
+
"Use ravi_contacts_list or ravi_contacts_search to find the UUID of the contact to update.",
|
|
120
|
+
parameters: {
|
|
121
|
+
type: "object",
|
|
122
|
+
properties: {
|
|
123
|
+
uuid: {
|
|
124
|
+
type: "string",
|
|
125
|
+
description: "UUID of the contact to update (from ravi_contacts_list or ravi_contacts_search)",
|
|
126
|
+
},
|
|
127
|
+
email: {
|
|
128
|
+
type: "string",
|
|
129
|
+
description: "New email address for the contact",
|
|
130
|
+
},
|
|
131
|
+
phone_number: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: "New phone number in E.164 format (e.g. '+14155551234')",
|
|
134
|
+
},
|
|
135
|
+
display_name: {
|
|
136
|
+
type: "string",
|
|
137
|
+
description: "New display name for the contact",
|
|
138
|
+
},
|
|
139
|
+
nickname: {
|
|
140
|
+
type: "string",
|
|
141
|
+
description: "New nickname for the contact",
|
|
142
|
+
},
|
|
143
|
+
is_trusted: {
|
|
144
|
+
type: "boolean",
|
|
145
|
+
description: "Set whether this contact is trusted. Emails from trusted contacts are routed to the email_trusted SSE channel.",
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
required: ["uuid"],
|
|
149
|
+
},
|
|
150
|
+
handler: async (params, { client }) => {
|
|
151
|
+
const uuid = params.uuid;
|
|
152
|
+
const data = {};
|
|
153
|
+
if (params.email !== undefined)
|
|
154
|
+
data.email = params.email;
|
|
155
|
+
if (params.phone_number !== undefined)
|
|
156
|
+
data.phone_number = params.phone_number;
|
|
157
|
+
if (params.display_name !== undefined)
|
|
158
|
+
data.display_name = params.display_name;
|
|
159
|
+
if (params.nickname !== undefined)
|
|
160
|
+
data.nickname = params.nickname;
|
|
161
|
+
if (params.is_trusted !== undefined)
|
|
162
|
+
data.is_trusted = params.is_trusted;
|
|
163
|
+
return client.updateContact(uuid, data);
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
name: "ravi_contacts_delete",
|
|
168
|
+
description: "Delete a contact by UUID. This is permanent and cannot be undone. " +
|
|
169
|
+
"Use ravi_contacts_list or ravi_contacts_search to find the UUID of the contact to delete.",
|
|
170
|
+
parameters: {
|
|
171
|
+
type: "object",
|
|
172
|
+
properties: {
|
|
173
|
+
uuid: {
|
|
174
|
+
type: "string",
|
|
175
|
+
description: "UUID of the contact to delete (from ravi_contacts_list or ravi_contacts_search)",
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
required: ["uuid"],
|
|
179
|
+
},
|
|
180
|
+
handler: async (params, { client }) => {
|
|
181
|
+
await client.deleteContact(params.uuid);
|
|
182
|
+
return { status: "deleted", uuid: params.uuid };
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
];
|
|
186
|
+
//# sourceMappingURL=contacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAwCjE,oDAAoD;AACpD,eAAO,MAAM,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAwCjE,oDAAoD;AACpD,eAAO,MAAM,cAAc,EAAE,cAAc,EA6M1C,CAAC"}
|
package/dist/tools/email-send.js
CHANGED
|
@@ -42,7 +42,9 @@ export const emailSendTools = [
|
|
|
42
42
|
{
|
|
43
43
|
name: "ravi_email_compose",
|
|
44
44
|
description: "Compose and send a new email. Body is plain text (auto-converted to HTML) — or include your own " +
|
|
45
|
-
"HTML tags (<p>, <h2>, <a href>). See
|
|
45
|
+
"HTML tags (<p>, <h2>, <a href>). See the ravi-email-writing skill for formatting tips. " +
|
|
46
|
+
"IMPORTANT: If you only have the recipient's name (e.g. 'email Alice'), use ravi_contacts_search first " +
|
|
47
|
+
"to look up their email address. If multiple contacts match, confirm with the user before sending. " +
|
|
46
48
|
"Use ravi_get_info to get your identity name for signatures. " +
|
|
47
49
|
"Rate limits: 60/hour, 500/day. Supports CC, BCC, and file attachments (max 10 MB each).",
|
|
48
50
|
parameters: {
|
|
@@ -90,6 +92,7 @@ export const emailSendTools = [
|
|
|
90
92
|
name: "ravi_email_reply",
|
|
91
93
|
description: "Reply to an existing email message (threaded with correct headers). " +
|
|
92
94
|
"Read the thread with ravi_read_email first to understand context and see CC recipients. " +
|
|
95
|
+
"If adding new recipients by name (e.g. 'reply and CC Alice'), use ravi_contacts_search to look up their email first. " +
|
|
93
96
|
"Subject is required — copy it from the thread (it's E2E encrypted on the server). " +
|
|
94
97
|
"Body is plain text (auto-converted) or HTML. Supports reply_all, CC, BCC, and file attachments.",
|
|
95
98
|
parameters: {
|
|
@@ -111,13 +114,16 @@ export const emailSendTools = [
|
|
|
111
114
|
},
|
|
112
115
|
reply_all: {
|
|
113
116
|
type: "boolean",
|
|
114
|
-
description: "If true, reply to all recipients (To + CC
|
|
117
|
+
description: "If true, reply to all original recipients (To + CC from the original message) automatically. " +
|
|
118
|
+
"Defaults to false (reply to sender only). " +
|
|
119
|
+
"The cc parameter adds additional recipients on top of those included by reply_all.",
|
|
115
120
|
},
|
|
116
121
|
cc: {
|
|
117
122
|
type: "array",
|
|
118
123
|
items: { type: "string" },
|
|
119
|
-
description: "Optional array of CC recipient email addresses. " +
|
|
120
|
-
"
|
|
124
|
+
description: "Optional array of additional CC recipient email addresses. " +
|
|
125
|
+
"With reply_all=true, original CC recipients are included automatically — " +
|
|
126
|
+
"use this to add new people to the thread. These recipients are visible to all.",
|
|
121
127
|
},
|
|
122
128
|
bcc: {
|
|
123
129
|
type: "array",
|
|
@@ -147,6 +153,7 @@ export const emailSendTools = [
|
|
|
147
153
|
name: "ravi_email_forward",
|
|
148
154
|
description: "Forward an email to a new recipient. The original message content is included automatically. " +
|
|
149
155
|
"Read the thread with ravi_read_email first to review content. " +
|
|
156
|
+
"If you only have the recipient's name (e.g. 'forward this to Bob'), use ravi_contacts_search first to look up their email. " +
|
|
150
157
|
"Subject is required — copy it from the thread (it's E2E encrypted on the server). " +
|
|
151
158
|
"Supports CC, BCC, and file attachments.",
|
|
152
159
|
parameters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAA6B,EAAE,KAAe;IAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,MAA+B,EAC/B,eAAqC;IAErC,MAAM,EAAE,GAAG,MAAM,CAAC,EAA0B,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAA2B,CAAC;IAC/C,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,IAAI,EAAE,EAAE,MAAM;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAC7B,IAAI,GAAG,EAAE,MAAM;QAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChC,IAAI,eAAe,EAAE,MAAM;QAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kGAAkG;YAClG,
|
|
1
|
+
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/identity.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Identity management tools for the Ravi OpenClaw plugin.
|
|
3
3
|
*
|
|
4
4
|
* Provides tools to list, create, and inspect Ravi identities. Each identity
|
|
5
|
-
* bundles an email address, phone number, and encrypted
|
|
5
|
+
* bundles an email address, phone number, and encrypted secrets store into a coherent
|
|
6
6
|
* persona for AI agents.
|
|
7
7
|
*
|
|
8
8
|
* @module tools/identity
|
|
@@ -30,7 +30,7 @@ export interface ToolDefinition {
|
|
|
30
30
|
*
|
|
31
31
|
* Always includes an authenticated {@link RaviClient}. The optional
|
|
32
32
|
* {@link CryptoManager} is present when the user has provided an encryption
|
|
33
|
-
* PIN, enabling E2E encrypt/decrypt operations on
|
|
33
|
+
* PIN, enabling E2E encrypt/decrypt operations on encrypted data.
|
|
34
34
|
*/
|
|
35
35
|
export interface ToolContext {
|
|
36
36
|
/** Authenticated Ravi API client. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAID,mEAAmE;AACnE,eAAO,MAAM,aAAa,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,4DAA4D;IAC5D,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAID,mEAAmE;AACnE,eAAO,MAAM,aAAa,EAAE,cAAc,EAqEzC,CAAC"}
|
package/dist/tools/identity.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Identity management tools for the Ravi OpenClaw plugin.
|
|
3
3
|
*
|
|
4
4
|
* Provides tools to list, create, and inspect Ravi identities. Each identity
|
|
5
|
-
* bundles an email address, phone number, and encrypted
|
|
5
|
+
* bundles an email address, phone number, and encrypted secrets store into a coherent
|
|
6
6
|
* persona for AI agents.
|
|
7
7
|
*
|
|
8
8
|
* @module tools/identity
|
|
@@ -13,8 +13,8 @@ export const identityTools = [
|
|
|
13
13
|
{
|
|
14
14
|
name: "ravi_identity_list",
|
|
15
15
|
description: "List all Ravi identities for the authenticated account. " +
|
|
16
|
-
"Each identity bundles a unique email address, phone number, and encrypted
|
|
17
|
-
"Returns an array of objects with uuid, name,
|
|
16
|
+
"Each identity bundles a unique email address, phone number, and encrypted secrets store into a coherent agent persona. " +
|
|
17
|
+
"Returns an array of objects with uuid, name, inbox, and phone fields. " +
|
|
18
18
|
"Account-level operation — does not require a specific identity to be configured.",
|
|
19
19
|
parameters: {
|
|
20
20
|
type: "object",
|
|
@@ -28,7 +28,9 @@ export const identityTools = [
|
|
|
28
28
|
{
|
|
29
29
|
name: "ravi_identity_create",
|
|
30
30
|
description: "Create a new Ravi identity. This provisions a unique email address, " +
|
|
31
|
-
"a phone number, and an encrypted
|
|
31
|
+
"a phone number, and an encrypted secrets store — all bundled under the given name. " +
|
|
32
|
+
"Optionally specify a custom email local part (e.g. 'shopping' → shopping@<your-domain>). " +
|
|
33
|
+
"Requires an active paid subscription — returns HTTP 402 if the account doesn't have one. " +
|
|
32
34
|
"Use the identity name (not the account owner's personal name) when filling out forms or registering on websites. " +
|
|
33
35
|
"Account-level operation — does not require an existing identity to be configured.",
|
|
34
36
|
parameters: {
|
|
@@ -38,11 +40,17 @@ export const identityTools = [
|
|
|
38
40
|
type: "string",
|
|
39
41
|
description: "Display name for the new identity (e.g. 'Research Agent', 'Customer Support')",
|
|
40
42
|
},
|
|
43
|
+
email: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Optional custom email local part (e.g. 'shopping', 'research-bot'). " +
|
|
46
|
+
"Must be 3-30 chars, lowercase alphanumeric with dots/hyphens, no consecutive dots/hyphens. " +
|
|
47
|
+
"If omitted, a random address is auto-generated. Returns 409 if already taken.",
|
|
48
|
+
},
|
|
41
49
|
},
|
|
42
50
|
required: ["name"],
|
|
43
51
|
},
|
|
44
52
|
handler: async (params, { client }) => {
|
|
45
|
-
return client.createIdentity(params.name);
|
|
53
|
+
return client.createIdentity(params.name, params.email);
|
|
46
54
|
},
|
|
47
55
|
},
|
|
48
56
|
{
|
|
@@ -52,7 +60,7 @@ export const identityTools = [
|
|
|
52
60
|
"or fill in a signup form. Returns { email: string, phone: string }. " +
|
|
53
61
|
"The phone is in E.164 format (e.g. +15551234567). " +
|
|
54
62
|
"This is NOT the account owner's info — it's the identity's provisioned contact details. " +
|
|
55
|
-
"
|
|
63
|
+
"For the identity name (e.g. for form fields or email signatures), use ravi_identity_list.",
|
|
56
64
|
parameters: {
|
|
57
65
|
type: "object",
|
|
58
66
|
properties: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsCH,+EAA+E;AAE/E,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,0DAA0D;YAC1D,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAsCH,+EAA+E;AAE/E,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,0DAA0D;YAC1D,yHAAyH;YACzH,wEAAwE;YACxE,kFAAkF;QACpF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACrC,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;QACjC,CAAC;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,sEAAsE;YACtE,qFAAqF;YACrF,2FAA2F;YAC3F,2FAA2F;YAC3F,mHAAmH;YACnH,mFAAmF;QACrF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+EAA+E;iBAC7F;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sEAAsE;wBACtE,6FAA6F;wBAC7F,+EAA+E;iBAClF;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAc,EAAE,MAAM,CAAC,KAA2B,CAAC,CAAC;QAC1F,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,iFAAiF;YACjF,iGAAiG;YACjG,sEAAsE;YACtE,oDAAoD;YACpD,0FAA0F;YAC1F,2FAA2F;QAC7F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACrC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,MAAM,CAAC,QAAQ,EAAE;gBACjB,MAAM,CAAC,QAAQ,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;KACF;CACF,CAAC"}
|
package/dist/tools/inbox.js
CHANGED
|
@@ -57,10 +57,9 @@ export const inboxTools = [
|
|
|
57
57
|
name: "ravi_inbox_sms",
|
|
58
58
|
description: "List SMS conversations grouped by phone number. Each conversation shows the latest message preview, " +
|
|
59
59
|
"message count, and unread count. Pass unread=true to filter to conversations with new messages. " +
|
|
60
|
-
"Use conversation_id with ravi_read_sms to read the full thread. " +
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"Encrypted previews are automatically decrypted.",
|
|
60
|
+
"Use conversation_id with ravi_read_sms to read the full thread and extract OTP codes. " +
|
|
61
|
+
"Encrypted previews are automatically decrypted. " +
|
|
62
|
+
"To reply to an SMS, use ravi_sms_send with the sender's phone number.",
|
|
64
63
|
parameters: {
|
|
65
64
|
type: "object",
|
|
66
65
|
properties: {
|
|
@@ -85,7 +84,7 @@ export const inboxTools = [
|
|
|
85
84
|
{
|
|
86
85
|
name: "ravi_read_email",
|
|
87
86
|
description: "Read all messages in an email thread. Returns the full conversation with each message's " +
|
|
88
|
-
"id, from_email, to_email, cc (comma-separated CC recipients), subject, text_content, html_content, is_read status, and attachments array. " +
|
|
87
|
+
"id, from_email, from_display_name, to_email, cc (comma-separated CC recipients), subject, text_content, html_content, is_read status, and attachments array. " +
|
|
89
88
|
"Check the cc field to see who else is in the conversation — use this when deciding who to include in reply CC. " +
|
|
90
89
|
"Each attachment object has uuid, filename, content_type, size (bytes), is_inline, and download_url. " +
|
|
91
90
|
"Pass download_attachments=true to download all attachments to a temp directory — each attachment " +
|
|
@@ -145,11 +144,12 @@ export const inboxTools = [
|
|
|
145
144
|
{
|
|
146
145
|
name: "ravi_read_sms",
|
|
147
146
|
description: "Read all SMS messages in a conversation. Returns each message's id, body, direction " +
|
|
148
|
-
"(
|
|
147
|
+
"(incoming/outgoing), is_read status, and timestamp. " +
|
|
149
148
|
"Tip: to extract OTP/verification codes, look for 4-8 digit numbers in the body text — " +
|
|
150
149
|
"e.g. match /[0-9]{4,8}/ against each message body. SMS delivery takes 2-10 seconds, " +
|
|
151
150
|
"so poll with a short delay if you just triggered a verification. " +
|
|
152
|
-
"Encrypted bodies are automatically decrypted."
|
|
151
|
+
"Encrypted bodies are automatically decrypted. " +
|
|
152
|
+
"To reply to an SMS, use ravi_sms_send with the sender's phone number from the conversation.",
|
|
153
153
|
parameters: {
|
|
154
154
|
type: "object",
|
|
155
155
|
properties: {
|
package/dist/tools/inbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/tools/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,sFAAsF;YACtF,uGAAuG;YACvG,iHAAiH;YACjH,qGAAqG;YACrG,+DAA+D;YAC/D,mEAAmE;QACrE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gFAAgF;iBAC9F;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;YAClF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAA6B,CAAC,CAAC;YACpF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,OAAO;wBAAE,MAAM,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAC/F,IAAI,MAAM,CAAC,OAAO;wBAAE,MAAM,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,sGAAsG;YACtG,kGAAkG;YAClG,
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/tools/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,sFAAsF;YACtF,uGAAuG;YACvG,iHAAiH;YACjH,qGAAqG;YACrG,+DAA+D;YAC/D,mEAAmE;QACrE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gFAAgF;iBAC9F;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;YAClF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAA6B,CAAC,CAAC;YACpF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,OAAO;wBAAE,MAAM,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAC/F,IAAI,MAAM,CAAC,OAAO;wBAAE,MAAM,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,sGAAsG;YACtG,kGAAkG;YAClG,wFAAwF;YACxF,kDAAkD;YAClD,uEAAuE;QACzE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,qFAAqF;iBACnG;aACF;YACD,QAAQ,EAAE,EAAE;SACb;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;YAClF,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACrD,MAAM,CAAC,MAA6B,CACrC,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,OAAO;wBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,0FAA0F;YAC1F,+JAA+J;YAC/J,iHAAiH;YACjH,sGAAsG;YACtG,mGAAmG;YACnG,wEAAwE;YACxE,gGAAgG;YAChG,0CAA0C;YAC1C,qFAAqF;YACrF,6DAA6D;YAC7D,0HAA0H;QAC5H,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,gFAAgF;wBAChF,iFAAiF;iBACpF;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;YAClF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAmB,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,YAAY,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACzF,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,GAAG,CAAC,OAAO;wBAAE,GAAG,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBACtF,IAAI,GAAG,CAAC,YAAY;wBAAE,GAAG,CAAC,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;oBAC1G,IAAI,GAAG,CAAC,YAAY;wBAAE,GAAG,CAAC,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBAC5G,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;gBACnE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;wBAClC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;4BACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAC/D,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAChC,GAA0C,CAAC,UAAU,GAAG,SAAS,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,sFAAsF;YACtF,sDAAsD;YACtD,wFAAwF;YACxF,sFAAsF;YACtF,mEAAmE;YACnE,gDAAgD;YAChD,6FAA6F;QAC/F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,iBAAiB,CAAC;SAC9B;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAe,EAAE,EAAE;YAClF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,eAAyB,CAAC,CAAC;YAChF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,GAAG,CAAC,IAAI;wBAAE,GAAG,CAAC,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwords.d.ts","sourceRoot":"","sources":["../../src/tools/passwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AAI5C,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"passwords.d.ts","sourceRoot":"","sources":["../../src/tools/passwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AAI5C,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,cAAc,EAoOzC,CAAC"}
|
package/dist/tools/passwords.js
CHANGED
|
@@ -21,7 +21,7 @@ export const passwordTools = [
|
|
|
21
21
|
description: "List all saved website credentials. Returns domain, username (decrypted), and notes for each entry. " +
|
|
22
22
|
"Passwords are intentionally hidden in list view for security — use ravi_passwords_get with a specific UUID " +
|
|
23
23
|
"to retrieve the decrypted password when you actually need it. " +
|
|
24
|
-
"For API keys and env vars, use
|
|
24
|
+
"For API keys and env vars, use ravi_secrets_list instead — passwords are for website credentials only.",
|
|
25
25
|
parameters: {
|
|
26
26
|
type: "object",
|
|
27
27
|
properties: {},
|
|
@@ -76,9 +76,10 @@ export const passwordTools = [
|
|
|
76
76
|
description: "Create a new password entry for a website. All sensitive fields (username, password, notes) " +
|
|
77
77
|
"are E2E encrypted before being sent to the server. " +
|
|
78
78
|
"Domain auto-cleaning: URLs like 'https://mail.google.com/inbox' are normalized to 'google.com'. " +
|
|
79
|
+
"If no password is provided, a strong random password is auto-generated and returned in the response. " +
|
|
79
80
|
"Best practice: store credentials immediately after signing up for a service, so you " +
|
|
80
|
-
"don't lose the password.
|
|
81
|
-
"For API keys and env vars (not website logins), use
|
|
81
|
+
"don't lose the password. " +
|
|
82
|
+
"For API keys and env vars (not website logins), use ravi_secrets_set instead.",
|
|
82
83
|
parameters: {
|
|
83
84
|
type: "object",
|
|
84
85
|
properties: {
|
|
@@ -92,11 +93,12 @@ export const passwordTools = [
|
|
|
92
93
|
},
|
|
93
94
|
password: {
|
|
94
95
|
type: "string",
|
|
95
|
-
description: "Password for the account. Will be E2E encrypted before storage."
|
|
96
|
+
description: "Password for the account. Will be E2E encrypted before storage. " +
|
|
97
|
+
"If omitted, a strong random password is auto-generated.",
|
|
96
98
|
},
|
|
97
99
|
notes: {
|
|
98
100
|
type: "string",
|
|
99
|
-
description: "Optional notes (e.g. '2FA enabled', 'recovery codes
|
|
101
|
+
description: "Optional notes (e.g. '2FA enabled', 'recovery codes stored securely')",
|
|
100
102
|
},
|
|
101
103
|
},
|
|
102
104
|
required: ["domain"],
|
|
@@ -114,13 +116,24 @@ export const passwordTools = [
|
|
|
114
116
|
if (params.username !== undefined) {
|
|
115
117
|
data.username = await crypto.encrypt(params.username);
|
|
116
118
|
}
|
|
119
|
+
// Auto-generate a strong password when none is provided
|
|
120
|
+
let generatedPassword;
|
|
117
121
|
if (params.password !== undefined) {
|
|
118
122
|
data.password = await crypto.encrypt(params.password);
|
|
119
123
|
}
|
|
124
|
+
else {
|
|
125
|
+
generatedPassword = await client.generatePassword({});
|
|
126
|
+
data.password = await crypto.encrypt(generatedPassword);
|
|
127
|
+
}
|
|
120
128
|
if (params.notes !== undefined) {
|
|
121
129
|
data.notes = await crypto.encrypt(params.notes);
|
|
122
130
|
}
|
|
123
|
-
|
|
131
|
+
const entry = await client.createPassword(data);
|
|
132
|
+
// Include the plaintext generated password so the agent can use it
|
|
133
|
+
if (generatedPassword) {
|
|
134
|
+
return { ...entry, generated_password: generatedPassword };
|
|
135
|
+
}
|
|
136
|
+
return entry;
|
|
124
137
|
},
|
|
125
138
|
},
|
|
126
139
|
{
|
|
@@ -150,7 +163,7 @@ export const passwordTools = [
|
|
|
150
163
|
},
|
|
151
164
|
notes: {
|
|
152
165
|
type: "string",
|
|
153
|
-
description: "New notes (e.g. '2FA enabled', 'recovery codes
|
|
166
|
+
description: "New notes (e.g. '2FA enabled', 'recovery codes stored securely')",
|
|
154
167
|
},
|
|
155
168
|
},
|
|
156
169
|
required: ["uuid"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwords.js","sourceRoot":"","sources":["../../src/tools/passwords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,+EAA+E;AAE/E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,sGAAsG;YACtG,6GAA6G;YAC7G,gEAAgE;YAChE,
|
|
1
|
+
{"version":3,"file":"passwords.js","sourceRoot":"","sources":["../../src/tools/passwords.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secret management tools for the Ravi OpenClaw plugin.
|
|
3
|
+
*
|
|
4
|
+
* Provides tools to list, retrieve, and store key-value secrets in the Ravi
|
|
5
|
+
* secrets store. When a {@link CryptoManager} is available in the tool context, values
|
|
6
|
+
* are automatically decrypted on read and encrypted on write using E2E
|
|
7
|
+
* NaCl SealedBox encryption.
|
|
8
|
+
*
|
|
9
|
+
* @module tools/secrets
|
|
10
|
+
*/
|
|
11
|
+
import type { ToolDefinition, ToolContext } from "./identity.js";
|
|
12
|
+
export type { ToolDefinition, ToolContext };
|
|
13
|
+
/** Tools for managing secrets in the Ravi secrets store (list, get, set). */
|
|
14
|
+
export declare const secretsTools: ToolDefinition[];
|
|
15
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/tools/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAIjE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AAI5C,6EAA6E;AAC7E,eAAO,MAAM,YAAY,EAAE,cAAc,EAiHxC,CAAC"}
|