@elizaos/app-core 2.0.0-alpha.213 → 2.0.0-alpha.215
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/apps/app-lifeops/src/actions/autofill.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/autofill.js +90 -0
- package/apps/app-lifeops/src/actions/calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/calendar.js +1 -0
- package/apps/app-lifeops/src/actions/calendly.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/calendly.js +12 -1
- package/apps/app-lifeops/src/actions/checkin.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/checkin.js +60 -0
- package/apps/app-lifeops/src/actions/life.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life.js +14 -5
- package/apps/app-lifeops/src/actions/scheduling.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/scheduling.js +30 -0
- package/apps/app-lifeops/src/actions/website-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/website-blocker.js +1 -3
- package/package.json +5 -5
- package/packages/agent/src/actions/app-control.d.ts.map +1 -1
- package/packages/agent/src/actions/app-control.js +60 -0
- package/packages/agent/src/actions/browser-session.d.ts.map +1 -1
- package/packages/agent/src/actions/browser-session.js +30 -0
- package/packages/agent/src/actions/entity-actions.d.ts.map +1 -1
- package/packages/agent/src/actions/entity-actions.js +90 -0
- package/packages/agent/src/actions/extract-page.d.ts.map +1 -1
- package/packages/agent/src/actions/extract-page.js +30 -0
- package/packages/agent/src/actions/read-channel.d.ts.map +1 -1
- package/packages/agent/src/actions/read-channel.js +30 -0
- package/packages/agent/src/actions/restart.d.ts.map +1 -1
- package/packages/agent/src/actions/restart.js +30 -0
- package/packages/agent/src/actions/search-conversations.d.ts.map +1 -1
- package/packages/agent/src/actions/search-conversations.js +30 -0
- package/packages/agent/src/actions/send-admin-message.d.ts.map +1 -1
- package/packages/agent/src/actions/send-admin-message.js +30 -0
- package/packages/agent/src/actions/send-message.d.ts.map +1 -1
- package/packages/agent/src/actions/send-message.js +30 -0
- package/packages/agent/src/actions/set-user-name.d.ts.map +1 -1
- package/packages/agent/src/actions/set-user-name.js +30 -0
- package/packages/agent/src/actions/skill-command.d.ts.map +1 -1
- package/packages/agent/src/actions/skill-command.js +1 -0
- package/packages/agent/src/actions/terminal.d.ts.map +1 -1
- package/packages/agent/src/actions/terminal.js +43 -144
- package/packages/agent/src/actions/web-search.d.ts.map +1 -1
- package/packages/agent/src/actions/web-search.js +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/autofill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAEL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"autofill.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/autofill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAC;AA2BvB,iBAAe,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAK3E;AAED,iBAAe,eAAe,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,iBAAe,kBAAkB,CAC/B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAY5B;AA2FD,eAAO,MAAM,sBAAsB,EAAE,MAsKpC,CAAC;AAOF,eAAO,MAAM,0BAA0B,EAAE,MAiHxC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MA8DzC,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC"}
|
|
@@ -232,6 +232,36 @@ export const requestFieldFillAction = {
|
|
|
232
232
|
schema: { type: "string" },
|
|
233
233
|
},
|
|
234
234
|
],
|
|
235
|
+
examples: [
|
|
236
|
+
[
|
|
237
|
+
{
|
|
238
|
+
name: "{{name1}}",
|
|
239
|
+
content: {
|
|
240
|
+
text: "Can you log me into github? I'm on the sign-in page.",
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
name: "{{agentName}}",
|
|
245
|
+
content: {
|
|
246
|
+
text: "Requested password autofill on github.com via the browser extension.",
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
[
|
|
251
|
+
{
|
|
252
|
+
name: "{{name1}}",
|
|
253
|
+
content: {
|
|
254
|
+
text: "Fill in my email on this signup form.",
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: "{{agentName}}",
|
|
259
|
+
content: {
|
|
260
|
+
text: "Requested email autofill on example.com via the browser extension.",
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
],
|
|
235
265
|
};
|
|
236
266
|
export const addAutofillWhitelistAction = {
|
|
237
267
|
name: "ADD_AUTOFILL_WHITELIST",
|
|
@@ -303,6 +333,36 @@ export const addAutofillWhitelistAction = {
|
|
|
303
333
|
schema: { type: "boolean" },
|
|
304
334
|
},
|
|
305
335
|
],
|
|
336
|
+
examples: [
|
|
337
|
+
[
|
|
338
|
+
{
|
|
339
|
+
name: "{{name1}}",
|
|
340
|
+
content: {
|
|
341
|
+
text: "Yes, trust notion.so for autofill going forward.",
|
|
342
|
+
},
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: "{{agentName}}",
|
|
346
|
+
content: {
|
|
347
|
+
text: "Added notion.so to the autofill whitelist.",
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
[
|
|
352
|
+
{
|
|
353
|
+
name: "{{name1}}",
|
|
354
|
+
content: {
|
|
355
|
+
text: "Go ahead and approve linear.app for password autofill.",
|
|
356
|
+
},
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: "{{agentName}}",
|
|
360
|
+
content: {
|
|
361
|
+
text: "Added linear.app to the autofill whitelist.",
|
|
362
|
+
},
|
|
363
|
+
},
|
|
364
|
+
],
|
|
365
|
+
],
|
|
306
366
|
};
|
|
307
367
|
export const listAutofillWhitelistAction = {
|
|
308
368
|
name: "LIST_AUTOFILL_WHITELIST",
|
|
@@ -331,6 +391,36 @@ export const listAutofillWhitelistAction = {
|
|
|
331
391
|
};
|
|
332
392
|
},
|
|
333
393
|
parameters: [],
|
|
394
|
+
examples: [
|
|
395
|
+
[
|
|
396
|
+
{
|
|
397
|
+
name: "{{name1}}",
|
|
398
|
+
content: {
|
|
399
|
+
text: "Which sites are allowed for autofill right now?",
|
|
400
|
+
},
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: "{{agentName}}",
|
|
404
|
+
content: {
|
|
405
|
+
text: "Autofill whitelist (4 entries): github.com, notion.so, linear.app, example.com",
|
|
406
|
+
},
|
|
407
|
+
},
|
|
408
|
+
],
|
|
409
|
+
[
|
|
410
|
+
{
|
|
411
|
+
name: "{{name1}}",
|
|
412
|
+
content: {
|
|
413
|
+
text: "Show me my trusted sites.",
|
|
414
|
+
},
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
name: "{{agentName}}",
|
|
418
|
+
content: {
|
|
419
|
+
text: "Autofill whitelist (3 entries): github.com, notion.so, linear.app",
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
],
|
|
423
|
+
],
|
|
334
424
|
};
|
|
335
425
|
export const __internal = {
|
|
336
426
|
effectiveWhitelist,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EACb,MAAM,EACN,KAAK,EACN,MAAM,eAAe,CAAC;AAyCvB,KAAK,iBAAiB,GAClB,MAAM,GACN,YAAY,GACZ,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,CAAC;AAuBlB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAkjDF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,SAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CA6J1B;AA2gCD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IACpC,8BAA8B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EACb,MAAM,EACN,KAAK,EACN,MAAM,eAAe,CAAC;AAyCvB,KAAK,iBAAiB,GAClB,MAAM,GACN,YAAY,GACZ,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,CAAC;AAuBlB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAkjDF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,SAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CA6J1B;AA2gCD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IACpC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAmqC1C,CAAC"}
|
|
@@ -2124,6 +2124,7 @@ export const calendarAction = {
|
|
|
2124
2124
|
"DO NOT use this action when the user is only making an observation like 'my calendar has been crazy this quarter' unless they actually ask you to inspect or change calendar state. " +
|
|
2125
2125
|
"DO NOT use this action for email inbox work, drafting or sending emails — use GMAIL_ACTION instead. " +
|
|
2126
2126
|
"DO NOT use this action for personal habits, goals, routines, or reminders — use LIFE instead. " +
|
|
2127
|
+
"DO NOT use this action for Calendly — any request that mentions Calendly by name, or passes a calendly.com / api.calendly.com URL (including an eventTypeUri), belongs to the CALENDLY action, which is a separate product from Google Calendar. " +
|
|
2127
2128
|
"This action provides the final grounded reply; do not pair it with a speculative REPLY action." +
|
|
2128
2129
|
" DO NOT use this action when the user asks to 'help schedule', 'help me schedule', 'set up a meeting with', 'find a time with', 'find us a time', 'find a slot with', or otherwise wants to negotiate a meeting with a person or team WITHOUT naming a concrete date or time — that is SCHEDULING (subaction: start). Any time the request mentions a person/team AND no specific time, route it to SCHEDULING, not here. DO NOT use this action to 'propose', 'suggest', or 'offer' meeting time slots — that is PROPOSE_MEETING_TIMES. Use CALENDAR_ACTION only when the user specifies (or intends to specify) a concrete date/time for the event.",
|
|
2129
2130
|
descriptionCompressed: "Google Calendar via LifeOps: view schedule, search events, create events, query travel. Not for email or habits.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendly.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendly.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAC;AA6GvB,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"calendly.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendly.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAC;AA6GvB,eAAO,MAAM,cAAc,EAAE,MAgP5B,CAAC"}
|
|
@@ -72,8 +72,19 @@ export const calendlyAction = {
|
|
|
72
72
|
"CALENDLY_AVAILABILITY",
|
|
73
73
|
"CALENDLY_UPCOMING",
|
|
74
74
|
"CALENDLY_BOOKING_LINK",
|
|
75
|
+
"CALENDLY_ACTION",
|
|
76
|
+
"CALENDLY_EVENT_TYPES",
|
|
77
|
+
"CALENDLY_SCHEDULED_EVENTS",
|
|
75
78
|
],
|
|
76
|
-
description: "Work with Calendly
|
|
79
|
+
description: "Work with Calendly specifically (calendly.com / api.calendly.com): " +
|
|
80
|
+
"list event types, check availability against a Calendly event type URI, " +
|
|
81
|
+
"list Calendly-scheduled events, generate Calendly single-use booking " +
|
|
82
|
+
"links. Subactions: list_event_types, availability, upcoming_events, " +
|
|
83
|
+
"single_use_link. " +
|
|
84
|
+
"Use this — NOT CALENDAR_ACTION — whenever the user mentions Calendly by " +
|
|
85
|
+
"name or passes a calendly.com / api.calendly.com URL. CALENDAR_ACTION " +
|
|
86
|
+
"is for Google Calendar; CALENDLY is its own third-party scheduling " +
|
|
87
|
+
"product with a separate API, event-type URIs, and booking-link flow.",
|
|
77
88
|
validate: async (runtime, message) => {
|
|
78
89
|
if (!readCalendlyCredentialsFromEnv())
|
|
79
90
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkin.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/checkin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"checkin.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/checkin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAqC,MAAM,eAAe,CAAC;AAuB/E,eAAO,MAAM,uBAAuB,EAAE,MA4DrC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAwDnC,CAAC"}
|
|
@@ -44,6 +44,36 @@ export const runMorningCheckinAction = {
|
|
|
44
44
|
};
|
|
45
45
|
},
|
|
46
46
|
parameters: [],
|
|
47
|
+
examples: [
|
|
48
|
+
[
|
|
49
|
+
{
|
|
50
|
+
name: "{{name1}}",
|
|
51
|
+
content: {
|
|
52
|
+
text: "Let's do my morning check-in.",
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "{{agentName}}",
|
|
57
|
+
content: {
|
|
58
|
+
text: "Here's your morning review: 2 overdue todos, 3 meetings today, and yesterday you closed out the onboarding draft.",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
{
|
|
64
|
+
name: "{{name1}}",
|
|
65
|
+
content: {
|
|
66
|
+
text: "What's on my plate this morning?",
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "{{agentName}}",
|
|
71
|
+
content: {
|
|
72
|
+
text: "Morning check-in ready: 1 overdue todo, 2 meetings today, and yesterday's wins included the PR review.",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
],
|
|
47
77
|
};
|
|
48
78
|
export const runNightCheckinAction = {
|
|
49
79
|
name: "RUN_NIGHT_CHECKIN",
|
|
@@ -69,4 +99,34 @@ export const runNightCheckinAction = {
|
|
|
69
99
|
};
|
|
70
100
|
},
|
|
71
101
|
parameters: [],
|
|
102
|
+
examples: [
|
|
103
|
+
[
|
|
104
|
+
{
|
|
105
|
+
name: "{{name1}}",
|
|
106
|
+
content: {
|
|
107
|
+
text: "Ready to wrap up for the day.",
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "{{agentName}}",
|
|
112
|
+
content: {
|
|
113
|
+
text: "Here's your night check-in: 3 meetings done, 2 wins captured, 1 todo still open for tomorrow.",
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
[
|
|
118
|
+
{
|
|
119
|
+
name: "{{name1}}",
|
|
120
|
+
content: {
|
|
121
|
+
text: "How did today go?",
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "{{agentName}}",
|
|
126
|
+
content: {
|
|
127
|
+
text: "Night recap ready: you closed 2 meetings and shipped the release notes; 1 todo rolls over.",
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
],
|
|
72
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/life.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AA44EvB,eAAO,MAAM,UAAU,EAAE,MAAM,GAAG;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/life.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AA44EvB,eAAO,MAAM,UAAU,EAAE,MAAM,GAAG;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA6sD1C,CAAC"}
|
|
@@ -2295,15 +2295,24 @@ export const lifeAction = {
|
|
|
2295
2295
|
data: toActionData(ctx),
|
|
2296
2296
|
};
|
|
2297
2297
|
}
|
|
2298
|
-
|
|
2299
|
-
|
|
2298
|
+
// The planner extracts the time window as a structured `when` param
|
|
2299
|
+
// ("today" | "tomorrow" | "this_week"), so we never re-parse the
|
|
2300
|
+
// free-form `intent` string at runtime. Default to "today" when the
|
|
2301
|
+
// caller omits it.
|
|
2302
|
+
const whenRaw = detailString(details, "when")?.toLowerCase().trim();
|
|
2303
|
+
const when = whenRaw === "tomorrow"
|
|
2304
|
+
? "tomorrow"
|
|
2305
|
+
: whenRaw === "this_week" || whenRaw === "this week" || whenRaw === "week"
|
|
2306
|
+
? "this_week"
|
|
2307
|
+
: "today";
|
|
2308
|
+
const range = when === "tomorrow"
|
|
2300
2309
|
? dayRange(1)
|
|
2301
|
-
:
|
|
2310
|
+
: when === "this_week"
|
|
2302
2311
|
? weekRange()
|
|
2303
2312
|
: dayRange(0);
|
|
2304
|
-
const label =
|
|
2313
|
+
const label = when === "tomorrow"
|
|
2305
2314
|
? "tomorrow"
|
|
2306
|
-
:
|
|
2315
|
+
: when === "this_week"
|
|
2307
2316
|
? "this week"
|
|
2308
2317
|
: "today";
|
|
2309
2318
|
const feed = await service.getCalendarFeed(INTERNAL_URL, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,OAAO,EAIL,KAAK,yBAAyB,EAG/B,MAAM,6BAA6B,CAAC;AAUrC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkGF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACzC,GAAG,mBAAmB,EAAE,CAwExB;AAiCD,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG;IAC/C,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA8J1C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,OAAO,EAIL,KAAK,yBAAyB,EAG/B,MAAM,6BAA6B,CAAC;AAUrC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkGF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACzC,GAAG,mBAAmB,EAAE,CAwExB;AAiCD,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG;IAC/C,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA8J1C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAkIrC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,GAAG;IACpD,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAqI1C,CAAC;AAsLF,eAAO,MAAM,gBAAgB,EAAE,MAyS9B,CAAC"}
|
|
@@ -412,6 +412,36 @@ export const checkAvailabilityAction = {
|
|
|
412
412
|
schema: { type: "string" },
|
|
413
413
|
},
|
|
414
414
|
],
|
|
415
|
+
examples: [
|
|
416
|
+
[
|
|
417
|
+
{
|
|
418
|
+
name: "{{name1}}",
|
|
419
|
+
content: {
|
|
420
|
+
text: "Am I free tomorrow between 2pm and 4pm?",
|
|
421
|
+
},
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
name: "{{agentName}}",
|
|
425
|
+
content: {
|
|
426
|
+
text: "You're free from Tue, Apr 20, 2:00 PM to Tue, Apr 20, 4:00 PM.",
|
|
427
|
+
},
|
|
428
|
+
},
|
|
429
|
+
],
|
|
430
|
+
[
|
|
431
|
+
{
|
|
432
|
+
name: "{{name1}}",
|
|
433
|
+
content: {
|
|
434
|
+
text: "Do I have anything on my calendar Friday afternoon?",
|
|
435
|
+
},
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
name: "{{agentName}}",
|
|
439
|
+
content: {
|
|
440
|
+
text: "You have 1 conflict in that window: Design review with the team.",
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
],
|
|
444
|
+
],
|
|
415
445
|
};
|
|
416
446
|
export const updateMeetingPreferencesAction = {
|
|
417
447
|
name: "UPDATE_MEETING_PREFERENCES",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website-blocker.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/website-blocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;AAsPvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,GAAG;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"website-blocker.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/website-blocker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;AAsPvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,GAAG;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAsQ1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAuDzC,CAAC;AAEF,eAAO,MAAM,sCAAsC,EAAE,MA6DpD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MA6FnC,CAAC;AAEF,eAAO,MAAM,8BAA8B;qCA/dR,OAAO;CA+duB,CAAC;AAClE,eAAO,MAAM,0BAA0B,QAA8B,CAAC;AACtE,eAAO,MAAM,kCAAkC,QACP,CAAC;AACzC,eAAO,MAAM,gCAAgC,QAAwB,CAAC"}
|
|
@@ -185,7 +185,6 @@ export const blockWebsitesAction = {
|
|
|
185
185
|
"WEBSITE_BLOCKER",
|
|
186
186
|
"WEBSITEBLOCKER",
|
|
187
187
|
"START_FOCUS_BLOCK",
|
|
188
|
-
"BLOCK_SITE",
|
|
189
188
|
"BLOCK_DISTRACTING_SITES",
|
|
190
189
|
],
|
|
191
190
|
description: "Admin-only. Start a local website block by editing the system hosts file. " +
|
|
@@ -478,7 +477,6 @@ export const requestWebsiteBlockingPermissionAction = {
|
|
|
478
477
|
"ENABLE_WEBSITE_BLOCKING",
|
|
479
478
|
"ALLOW_WEBSITE_BLOCKING",
|
|
480
479
|
"GRANT_WEBSITE_BLOCKING_PERMISSION",
|
|
481
|
-
"REQUEST_WEBSITE_BLOCKING_PERMISSION",
|
|
482
480
|
"REQUEST_SELFCONTROL_PERMISSION",
|
|
483
481
|
],
|
|
484
482
|
description: "Admin-only. Prepare local website blocking by requesting administrator/root approval when the machine supports it, or explain the manual change needed when it does not.",
|
|
@@ -535,9 +533,9 @@ export const unblockWebsitesAction = {
|
|
|
535
533
|
name: "UNBLOCK_WEBSITES",
|
|
536
534
|
similes: [
|
|
537
535
|
"SELFCONTROL_UNBLOCK_WEBSITES",
|
|
538
|
-
"UNBLOCK_WEBSITES",
|
|
539
536
|
"REMOVE_WEBSITE_BLOCK",
|
|
540
537
|
"STOP_BLOCKING_SITES",
|
|
538
|
+
"LIFT_WEBSITE_BLOCK",
|
|
541
539
|
],
|
|
542
540
|
description: "Admin-only. Remove the current local website block by restoring the system hosts file entries Eliza added.",
|
|
543
541
|
descriptionCompressed: "Admin: remove website block.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/app-core",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.215",
|
|
4
4
|
"description": "Shared application core for elizaOS white-label agent apps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -477,7 +477,7 @@
|
|
|
477
477
|
"@capacitor/keyboard": "8.0.3",
|
|
478
478
|
"@capacitor/preferences": "^8.0.1",
|
|
479
479
|
"@clack/prompts": "^1.0.0",
|
|
480
|
-
"@elizaos/agent": "^2.0.0-alpha.
|
|
480
|
+
"@elizaos/agent": "^2.0.0-alpha.215",
|
|
481
481
|
"@elizaos/app-companion": "^0.0.0",
|
|
482
482
|
"@elizaos/app-elizamaker": "^0.0.0",
|
|
483
483
|
"@elizaos/app-lifeops": "^0.0.0",
|
|
@@ -486,9 +486,9 @@
|
|
|
486
486
|
"@elizaos/app-task-coordinator": "^0.0.0",
|
|
487
487
|
"@elizaos/app-training": "^0.0.1",
|
|
488
488
|
"@elizaos/app-vincent": "^0.0.0",
|
|
489
|
-
"@elizaos/core": "^2.0.0-alpha.
|
|
490
|
-
"@elizaos/shared": "^2.0.0-alpha.
|
|
491
|
-
"@elizaos/ui": "^2.0.0-alpha.
|
|
489
|
+
"@elizaos/core": "^2.0.0-alpha.215",
|
|
490
|
+
"@elizaos/shared": "^2.0.0-alpha.215",
|
|
491
|
+
"@elizaos/ui": "^2.0.0-alpha.215",
|
|
492
492
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
493
493
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
494
494
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-control.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/app-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"app-control.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/app-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAyB,MAAM,eAAe,CAAC;AAuGnE,eAAO,MAAM,eAAe,EAAE,MAwH7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAmH3B,CAAC"}
|
|
@@ -140,6 +140,36 @@ export const launchAppAction = {
|
|
|
140
140
|
schema: { type: "string" },
|
|
141
141
|
},
|
|
142
142
|
],
|
|
143
|
+
examples: [
|
|
144
|
+
[
|
|
145
|
+
{
|
|
146
|
+
name: "{{name1}}",
|
|
147
|
+
content: {
|
|
148
|
+
text: "Fire up the Shopify app.",
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: "{{agentName}}",
|
|
153
|
+
content: {
|
|
154
|
+
text: "Shopify is now running. Open it here: http://localhost:2138/#/apps/shopify",
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
[
|
|
159
|
+
{
|
|
160
|
+
name: "{{name1}}",
|
|
161
|
+
content: {
|
|
162
|
+
text: "Open the companion overlay on my screen.",
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: "{{agentName}}",
|
|
167
|
+
content: {
|
|
168
|
+
text: "Companion is now running. Open it here: http://localhost:2138/#/apps/companion",
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
],
|
|
143
173
|
};
|
|
144
174
|
export const stopAppAction = {
|
|
145
175
|
name: "STOP_APP",
|
|
@@ -209,4 +239,34 @@ export const stopAppAction = {
|
|
|
209
239
|
schema: { type: "string" },
|
|
210
240
|
},
|
|
211
241
|
],
|
|
242
|
+
examples: [
|
|
243
|
+
[
|
|
244
|
+
{
|
|
245
|
+
name: "{{name1}}",
|
|
246
|
+
content: {
|
|
247
|
+
text: "Shut down Shopify, I'm done with it for now.",
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: "{{agentName}}",
|
|
252
|
+
content: {
|
|
253
|
+
text: "shopify has been stopped.",
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
],
|
|
257
|
+
[
|
|
258
|
+
{
|
|
259
|
+
name: "{{name1}}",
|
|
260
|
+
content: {
|
|
261
|
+
text: "Close the companion overlay.",
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
name: "{{agentName}}",
|
|
266
|
+
content: {
|
|
267
|
+
text: "companion has been stopped.",
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
],
|
|
271
|
+
],
|
|
212
272
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/browser-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/browser-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA+D,MAAM,eAAe,CAAC;AAmHzG,eAAO,MAAM,oBAAoB,EAAE,MA8LlC,CAAC"}
|
|
@@ -204,4 +204,34 @@ export const browserSessionAction = {
|
|
|
204
204
|
schema: { type: "string" },
|
|
205
205
|
},
|
|
206
206
|
],
|
|
207
|
+
examples: [
|
|
208
|
+
[
|
|
209
|
+
{
|
|
210
|
+
name: "{{name1}}",
|
|
211
|
+
content: {
|
|
212
|
+
text: "Open elizaos.ai in a new browser tab.",
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "{{agentName}}",
|
|
217
|
+
content: {
|
|
218
|
+
text: "open completed in desktop mode.\nelizaOS\nhttps://elizaos.ai",
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
[
|
|
223
|
+
{
|
|
224
|
+
name: "{{name1}}",
|
|
225
|
+
content: {
|
|
226
|
+
text: "Click the sign-in button on that page.",
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: "{{agentName}}",
|
|
231
|
+
content: {
|
|
232
|
+
text: "click completed in desktop mode.",
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
],
|
|
207
237
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-actions.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/entity-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"entity-actions.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/entity-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;AA+IvB,eAAO,MAAM,kBAAkB,EAAE,MAsKhC,CAAC;AAWF,eAAO,MAAM,gBAAgB,EAAE,MAuK9B,CAAC;AA8FF,eAAO,MAAM,gBAAgB,EAAE,MA2O9B,CAAC"}
|
|
@@ -217,6 +217,36 @@ export const searchEntityAction = {
|
|
|
217
217
|
schema: { type: "number" },
|
|
218
218
|
},
|
|
219
219
|
],
|
|
220
|
+
examples: [
|
|
221
|
+
[
|
|
222
|
+
{
|
|
223
|
+
name: "{{name1}}",
|
|
224
|
+
content: {
|
|
225
|
+
text: "Look up Jill in my contacts.",
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
name: "{{agentName}}",
|
|
230
|
+
content: {
|
|
231
|
+
text: 'Search results for "Jill" | 2 contacts found\n 1 | Jill Park — discord, telegram — 12 facts\n 2 | Jill Summers — slack — 3 facts',
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
[
|
|
236
|
+
{
|
|
237
|
+
name: "{{name1}}",
|
|
238
|
+
content: {
|
|
239
|
+
text: "Who do I know on Discord with the handle marco?",
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: "{{agentName}}",
|
|
244
|
+
content: {
|
|
245
|
+
text: 'Search results for "marco" | 1 contact found\n 1 | Marco Pierre — discord — 4 facts',
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
],
|
|
220
250
|
};
|
|
221
251
|
export const readEntityAction = {
|
|
222
252
|
name: "READ_ENTITY",
|
|
@@ -341,6 +371,36 @@ export const readEntityAction = {
|
|
|
341
371
|
schema: { type: "string" },
|
|
342
372
|
},
|
|
343
373
|
],
|
|
374
|
+
examples: [
|
|
375
|
+
[
|
|
376
|
+
{
|
|
377
|
+
name: "{{name1}}",
|
|
378
|
+
content: {
|
|
379
|
+
text: "Give me the full rundown on Jill Park.",
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
name: "{{agentName}}",
|
|
384
|
+
content: {
|
|
385
|
+
text: "## Identity\nName: Jill Park\nPlatforms: discord, telegram\n## Facts\n- Works at Acme on the Ops team.",
|
|
386
|
+
},
|
|
387
|
+
},
|
|
388
|
+
],
|
|
389
|
+
[
|
|
390
|
+
{
|
|
391
|
+
name: "{{name1}}",
|
|
392
|
+
content: {
|
|
393
|
+
text: "Show me everything you know about entity 9f1c3a22-...",
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
name: "{{agentName}}",
|
|
398
|
+
content: {
|
|
399
|
+
text: "## Identity\nName: Marco Pierre\nPlatforms: discord\n## Facts\n- Met at the 2025 offsite.",
|
|
400
|
+
},
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
],
|
|
344
404
|
};
|
|
345
405
|
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
346
406
|
function parseLinkEntityExtraction(text) {
|
|
@@ -573,4 +633,34 @@ export const linkEntityAction = {
|
|
|
573
633
|
schema: { type: "string" },
|
|
574
634
|
},
|
|
575
635
|
],
|
|
636
|
+
examples: [
|
|
637
|
+
[
|
|
638
|
+
{
|
|
639
|
+
name: "{{name1}}",
|
|
640
|
+
content: {
|
|
641
|
+
text: "My Telegram contact Jill and my Discord contact jill_park are the same person.",
|
|
642
|
+
},
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
name: "{{agentName}}",
|
|
646
|
+
content: {
|
|
647
|
+
text: "Proposed a link between those two entities. Confirm to apply.",
|
|
648
|
+
},
|
|
649
|
+
},
|
|
650
|
+
],
|
|
651
|
+
[
|
|
652
|
+
{
|
|
653
|
+
name: "{{name1}}",
|
|
654
|
+
content: {
|
|
655
|
+
text: "Yes, go ahead and merge those two contacts — same human.",
|
|
656
|
+
},
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
name: "{{agentName}}",
|
|
660
|
+
content: {
|
|
661
|
+
text: "Linked the two entities. Their identities and facts now share one rolodex entry.",
|
|
662
|
+
},
|
|
663
|
+
},
|
|
664
|
+
],
|
|
665
|
+
],
|
|
576
666
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-page.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/extract-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extract-page.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/extract-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA+D,MAAM,eAAe,CAAC;AAqCzG,eAAO,MAAM,iBAAiB,EAAE,MA+I/B,CAAC"}
|
|
@@ -121,4 +121,34 @@ export const extractPageAction = {
|
|
|
121
121
|
schema: { type: "number" },
|
|
122
122
|
},
|
|
123
123
|
],
|
|
124
|
+
examples: [
|
|
125
|
+
[
|
|
126
|
+
{
|
|
127
|
+
name: "{{name1}}",
|
|
128
|
+
content: {
|
|
129
|
+
text: "Pull the main content from https://example.com/blog/post-42 for me.",
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "{{agentName}}",
|
|
134
|
+
content: {
|
|
135
|
+
text: "Extracted https://example.com/blog/post-42\n\n# Post 42 — a short summary of the article body.",
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
[
|
|
140
|
+
{
|
|
141
|
+
name: "{{name1}}",
|
|
142
|
+
content: {
|
|
143
|
+
text: "Give me the text off this docs page: https://docs.elizaos.ai/guide",
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "{{agentName}}",
|
|
148
|
+
content: {
|
|
149
|
+
text: "Extracted https://docs.elizaos.ai/guide\n\n# Guide — intro paragraph and first section.",
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
],
|
|
124
154
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-channel.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/read-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"read-channel.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/read-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAsFvB,eAAO,MAAM,iBAAiB,EAAE,MA+M/B,CAAC"}
|
|
@@ -221,4 +221,34 @@ export const readChannelAction = {
|
|
|
221
221
|
schema: { type: "number" },
|
|
222
222
|
},
|
|
223
223
|
],
|
|
224
|
+
examples: [
|
|
225
|
+
[
|
|
226
|
+
{
|
|
227
|
+
name: "{{name1}}",
|
|
228
|
+
content: {
|
|
229
|
+
text: "What's been going on in the #dev-ops Discord channel lately?",
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
name: "{{agentName}}",
|
|
234
|
+
content: {
|
|
235
|
+
text: "Channel: dev-ops (discord) | 20 messages\n 1 | 2026-04-18 alice: rolling out the new deploy pipeline tomorrow",
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
[
|
|
240
|
+
{
|
|
241
|
+
name: "{{name1}}",
|
|
242
|
+
content: {
|
|
243
|
+
text: "Pull messages from the general chat between April 10 and April 15.",
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: "{{agentName}}",
|
|
248
|
+
content: {
|
|
249
|
+
text: "Channel: general (slack) | 42 messages",
|
|
250
|
+
},
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
],
|
|
224
254
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/restart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/restart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,MAAM,EAA+C,MAAM,eAAe,CAAC;AAiCzF,eAAO,MAAM,aAAa,EAAE,MAsH3B,CAAC"}
|
|
@@ -106,4 +106,34 @@ export const restartAction = {
|
|
|
106
106
|
schema: { type: "string" },
|
|
107
107
|
},
|
|
108
108
|
],
|
|
109
|
+
examples: [
|
|
110
|
+
[
|
|
111
|
+
{
|
|
112
|
+
name: "{{name1}}",
|
|
113
|
+
content: {
|
|
114
|
+
text: "Please bounce yourself — I just changed a config file.",
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "{{agentName}}",
|
|
119
|
+
content: {
|
|
120
|
+
text: "Restarting… (config reload)",
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
[
|
|
125
|
+
{
|
|
126
|
+
name: "{{name1}}",
|
|
127
|
+
content: {
|
|
128
|
+
text: "/restart",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
name: "{{agentName}}",
|
|
133
|
+
content: {
|
|
134
|
+
text: "Restarting…",
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
],
|
|
109
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-conversations.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/search-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"search-conversations.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/search-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AA4CvB,eAAO,MAAM,yBAAyB,EAAE,MAuNvC,CAAC"}
|
|
@@ -178,4 +178,34 @@ export const searchConversationsAction = {
|
|
|
178
178
|
schema: { type: "number" },
|
|
179
179
|
},
|
|
180
180
|
],
|
|
181
|
+
examples: [
|
|
182
|
+
[
|
|
183
|
+
{
|
|
184
|
+
name: "{{name1}}",
|
|
185
|
+
content: {
|
|
186
|
+
text: "Find any chats where someone mentioned the offsite budget.",
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: "{{agentName}}",
|
|
191
|
+
content: {
|
|
192
|
+
text: 'Search results for "offsite budget" | 4 messages found\n 1 | [slack] finance (2026-04-10) alice: the offsite budget came in under target',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
[
|
|
197
|
+
{
|
|
198
|
+
name: "{{name1}}",
|
|
199
|
+
content: {
|
|
200
|
+
text: "Dig up the conversation where Jill talked about the onboarding redesign.",
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: "{{agentName}}",
|
|
205
|
+
content: {
|
|
206
|
+
text: 'Search results for "onboarding redesign" | 2 messages found',
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
],
|
|
181
211
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-admin-message.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/send-admin-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"send-admin-message.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/send-admin-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AAsCvB,eAAO,MAAM,sBAAsB,EAAE,MA0IpC,CAAC"}
|
|
@@ -103,4 +103,34 @@ export const sendAdminMessageAction = {
|
|
|
103
103
|
},
|
|
104
104
|
},
|
|
105
105
|
],
|
|
106
|
+
examples: [
|
|
107
|
+
[
|
|
108
|
+
{
|
|
109
|
+
name: "{{name1}}",
|
|
110
|
+
content: {
|
|
111
|
+
text: "Let the owner know the deploy just finished cleanly.",
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: "{{agentName}}",
|
|
116
|
+
content: {
|
|
117
|
+
text: "Message sent to admin.",
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
[
|
|
122
|
+
{
|
|
123
|
+
name: "{{name1}}",
|
|
124
|
+
content: {
|
|
125
|
+
text: "Alert the owner right now — the webhook is returning 500s.",
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "{{agentName}}",
|
|
130
|
+
content: {
|
|
131
|
+
text: "Message sent to admin (URGENT).",
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
],
|
|
106
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EACb,MAAM,EACN,IAAI,EACL,MAAM,eAAe,CAAC;AAyCvB,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AA+LD,eAAO,MAAM,iBAAiB,EAAE,MAqQ/B,CAAC"}
|
|
@@ -361,4 +361,34 @@ export const sendMessageAction = {
|
|
|
361
361
|
},
|
|
362
362
|
},
|
|
363
363
|
],
|
|
364
|
+
examples: [
|
|
365
|
+
[
|
|
366
|
+
{
|
|
367
|
+
name: "{{name1}}",
|
|
368
|
+
content: {
|
|
369
|
+
text: "Tell Jill I'm running 10 minutes late.",
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
name: "{{agentName}}",
|
|
374
|
+
content: {
|
|
375
|
+
text: "Message sent to Jill Park on telegram.",
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
],
|
|
379
|
+
[
|
|
380
|
+
{
|
|
381
|
+
name: "{{name1}}",
|
|
382
|
+
content: {
|
|
383
|
+
text: "Drop a quick note in the #announcements room that the release is out.",
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
name: "{{agentName}}",
|
|
388
|
+
content: {
|
|
389
|
+
text: "Message sent to room announcements on discord.",
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
],
|
|
393
|
+
],
|
|
364
394
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-user-name.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/set-user-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"set-user-name.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/set-user-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAwC,MAAM,eAAe,CAAC;AA+BlF,eAAO,MAAM,iBAAiB,EAAE,MA2F/B,CAAC"}
|
|
@@ -79,4 +79,34 @@ export const setUserNameAction = {
|
|
|
79
79
|
schema: { type: "string" },
|
|
80
80
|
},
|
|
81
81
|
],
|
|
82
|
+
examples: [
|
|
83
|
+
[
|
|
84
|
+
{
|
|
85
|
+
name: "{{name1}}",
|
|
86
|
+
content: {
|
|
87
|
+
text: "By the way, everyone calls me Sam.",
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "{{agentName}}",
|
|
92
|
+
content: {
|
|
93
|
+
text: "Got it, Sam.",
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
{
|
|
99
|
+
name: "{{name1}}",
|
|
100
|
+
content: {
|
|
101
|
+
text: "Please call me Jordan from now on.",
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "{{agentName}}",
|
|
106
|
+
content: {
|
|
107
|
+
text: "Sure thing, Jordan.",
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
],
|
|
82
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-command.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/skill-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AAQvB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAuBD,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"skill-command.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/skill-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AAQvB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAuBD,eAAO,MAAM,kBAAkB,EAAE,MA+HhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,MAAM,EAKP,MAAM,eAAe,CAAC;AAsVvB,eAAO,MAAM,cAAc,EAAE,MAgJ5B,CAAC"}
|
|
@@ -11,41 +11,10 @@
|
|
|
11
11
|
* @module actions/terminal
|
|
12
12
|
*/
|
|
13
13
|
import { logger } from "@elizaos/core";
|
|
14
|
-
import { getValidationKeywordTerms, textIncludesKeywordTerm, } from "@elizaos/shared/validation-keywords";
|
|
15
14
|
import { hasOwnerAccess } from "../security/access.js";
|
|
16
15
|
/** API port for posting terminal requests. */
|
|
17
16
|
const API_PORT = process.env.API_PORT || process.env.SERVER_PORT || "2138";
|
|
18
17
|
const FAIL = { success: false, text: "" };
|
|
19
|
-
const TERMINAL_COMMAND_VERBS = getValidationKeywordTerms("action.terminal.commandVerb", {
|
|
20
|
-
includeAllLocales: true,
|
|
21
|
-
});
|
|
22
|
-
const TERMINAL_COMMAND_FILLERS = getValidationKeywordTerms("action.terminal.commandFiller", {
|
|
23
|
-
includeAllLocales: true,
|
|
24
|
-
});
|
|
25
|
-
const TERMINAL_UTILITY_TERMS = getValidationKeywordTerms("action.terminal.utility", {
|
|
26
|
-
includeAllLocales: true,
|
|
27
|
-
});
|
|
28
|
-
const TERMINAL_BITCOIN_TERMS = getValidationKeywordTerms("action.terminal.cryptoBitcoin", {
|
|
29
|
-
includeAllLocales: true,
|
|
30
|
-
});
|
|
31
|
-
const TERMINAL_ETHEREUM_TERMS = getValidationKeywordTerms("action.terminal.cryptoEthereum", {
|
|
32
|
-
includeAllLocales: true,
|
|
33
|
-
});
|
|
34
|
-
const TERMINAL_SOLANA_TERMS = getValidationKeywordTerms("action.terminal.cryptoSolana", {
|
|
35
|
-
includeAllLocales: true,
|
|
36
|
-
});
|
|
37
|
-
const TERMINAL_DISK_TERMS = getValidationKeywordTerms("action.terminal.disk", {
|
|
38
|
-
includeAllLocales: true,
|
|
39
|
-
});
|
|
40
|
-
const TERMINAL_UPTIME_TERMS = getValidationKeywordTerms("action.terminal.uptime", {
|
|
41
|
-
includeAllLocales: true,
|
|
42
|
-
});
|
|
43
|
-
const TERMINAL_MEMORY_TERMS = getValidationKeywordTerms("action.terminal.memory", {
|
|
44
|
-
includeAllLocales: true,
|
|
45
|
-
});
|
|
46
|
-
const TERMINAL_PROCESS_TERMS = getValidationKeywordTerms("action.terminal.process", {
|
|
47
|
-
includeAllLocales: true,
|
|
48
|
-
});
|
|
49
18
|
let cachedClipboardStoreFn;
|
|
50
19
|
function parseBooleanFlag(value) {
|
|
51
20
|
if (value === true) {
|
|
@@ -59,62 +28,6 @@ function parseBooleanFlag(value) {
|
|
|
59
28
|
function readStringValue(value) {
|
|
60
29
|
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
61
30
|
}
|
|
62
|
-
function escapePattern(value) {
|
|
63
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
64
|
-
}
|
|
65
|
-
function containsKeywordTerm(text, terms) {
|
|
66
|
-
return terms.some((term) => textIncludesKeywordTerm(text, term));
|
|
67
|
-
}
|
|
68
|
-
function stripLeadingCommandFillers(value) {
|
|
69
|
-
let trimmed = value.trim();
|
|
70
|
-
let changed = true;
|
|
71
|
-
const sortedFillers = [...TERMINAL_COMMAND_FILLERS].sort((left, right) => right.length - left.length);
|
|
72
|
-
while (changed && trimmed) {
|
|
73
|
-
changed = false;
|
|
74
|
-
for (const filler of sortedFillers) {
|
|
75
|
-
const pattern = new RegExp(`^(?:the\\s+)?${escapePattern(filler).replace(/\\ /g, "\\s+")}\\s*(.*)$`, "iu");
|
|
76
|
-
const match = trimmed.match(pattern);
|
|
77
|
-
if (!match?.[1]) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
trimmed = match[1].trim();
|
|
81
|
-
changed = true;
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return trimmed;
|
|
86
|
-
}
|
|
87
|
-
function extractTrailingCommandText(text) {
|
|
88
|
-
const sortedTerms = [...TERMINAL_COMMAND_VERBS].sort((left, right) => right.length - left.length);
|
|
89
|
-
for (const term of sortedTerms) {
|
|
90
|
-
const pattern = new RegExp(`${escapePattern(term).replace(/\\ /g, "\\s+")}\\s*(.+)$`, "iu");
|
|
91
|
-
const match = text.match(pattern);
|
|
92
|
-
const remainder = match?.[1]?.trim();
|
|
93
|
-
if (!remainder) {
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
const trimmed = stripLeadingCommandFillers(remainder)
|
|
97
|
-
.replace(/[?.!]+$/g, "")
|
|
98
|
-
.replace(/\s+(?:in|on|from|to|for|at)\s+(?:the\s+)?[\w\s]+$/i, "")
|
|
99
|
-
.trim();
|
|
100
|
-
if (trimmed) {
|
|
101
|
-
return trimmed;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
function resolveCryptoCommand(text) {
|
|
107
|
-
if (containsKeywordTerm(text, TERMINAL_BITCOIN_TERMS)) {
|
|
108
|
-
return 'curl -s "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd&include_24hr_change=true"';
|
|
109
|
-
}
|
|
110
|
-
if (containsKeywordTerm(text, TERMINAL_ETHEREUM_TERMS)) {
|
|
111
|
-
return 'curl -s "https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=usd&include_24hr_change=true"';
|
|
112
|
-
}
|
|
113
|
-
if (containsKeywordTerm(text, TERMINAL_SOLANA_TERMS)) {
|
|
114
|
-
return 'curl -s "https://api.coingecko.com/api/v3/simple/price?ids=solana&vs_currencies=usd&include_24hr_change=true"';
|
|
115
|
-
}
|
|
116
|
-
return undefined;
|
|
117
|
-
}
|
|
118
31
|
function parseJsonArguments(value) {
|
|
119
32
|
if (typeof value !== "string" || !value.trim()) {
|
|
120
33
|
return undefined;
|
|
@@ -163,40 +76,16 @@ function resolveClipboardTitle(params, argumentParams, message) {
|
|
|
163
76
|
function getCommand(options, message) {
|
|
164
77
|
const params = (options?.parameters ?? {});
|
|
165
78
|
const argumentParams = parseJsonArguments(params.arguments);
|
|
166
|
-
|
|
79
|
+
// The planner must extract the command as an explicit `command` param.
|
|
80
|
+
// We intentionally do not fall back to regex-scraping the message text or
|
|
81
|
+
// keyword-matching the request for hardcoded commands ("free -h" for
|
|
82
|
+
// "memory", etc.) — that would be intent classification in the handler
|
|
83
|
+
// instead of in the LLM planner, which bypasses the LLM's judgment on
|
|
84
|
+
// safety, scope, and argument construction.
|
|
85
|
+
return (readStringValue(params.command) ??
|
|
167
86
|
readStringValue(params.shellCommand) ??
|
|
168
87
|
readStringValue(argumentParams?.command) ??
|
|
169
|
-
readStringValue(argumentParams?.shellCommand);
|
|
170
|
-
if (explicitCommand) {
|
|
171
|
-
return explicitCommand;
|
|
172
|
-
}
|
|
173
|
-
const text = message?.content?.text;
|
|
174
|
-
if (typeof text === "string" && text.length > 0) {
|
|
175
|
-
const extracted = extractTrailingCommandText(text)
|
|
176
|
-
?.replace(/^[`'"]+|[`'".!?]+$/g, "")
|
|
177
|
-
.trim();
|
|
178
|
-
if (extracted) {
|
|
179
|
-
return extracted;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
const rawText = text ?? "";
|
|
183
|
-
const cryptoCommand = resolveCryptoCommand(rawText);
|
|
184
|
-
if (cryptoCommand) {
|
|
185
|
-
return cryptoCommand;
|
|
186
|
-
}
|
|
187
|
-
if (containsKeywordTerm(rawText, TERMINAL_DISK_TERMS)) {
|
|
188
|
-
return "df -h /home/eliza";
|
|
189
|
-
}
|
|
190
|
-
if (containsKeywordTerm(rawText, TERMINAL_UPTIME_TERMS)) {
|
|
191
|
-
return "uptime";
|
|
192
|
-
}
|
|
193
|
-
if (containsKeywordTerm(rawText, TERMINAL_MEMORY_TERMS)) {
|
|
194
|
-
return "free -h";
|
|
195
|
-
}
|
|
196
|
-
if (containsKeywordTerm(rawText, TERMINAL_PROCESS_TERMS)) {
|
|
197
|
-
return "ps aux --sort=-rss | head -15";
|
|
198
|
-
}
|
|
199
|
-
return undefined;
|
|
88
|
+
readStringValue(argumentParams?.shellCommand));
|
|
200
89
|
}
|
|
201
90
|
function resolveTerminalInput(options, message) {
|
|
202
91
|
const params = (options?.parameters ?? {});
|
|
@@ -357,31 +246,11 @@ export const terminalAction = {
|
|
|
357
246
|
"Do NOT use for building projects, creating websites, or multi-step work — use CREATE_TASK instead. " +
|
|
358
247
|
"Set addToClipboard=true to capture the command output, return it inline, and store it in bounded clipboard state.",
|
|
359
248
|
validate: async (runtime, message) => {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
return false;
|
|
366
|
-
if (/`[^`]+`/.test(text))
|
|
367
|
-
return true;
|
|
368
|
-
if (/```/.test(text))
|
|
369
|
-
return true;
|
|
370
|
-
if (extractTrailingCommandText(text))
|
|
371
|
-
return true;
|
|
372
|
-
if (containsKeywordTerm(text, TERMINAL_UTILITY_TERMS)) {
|
|
373
|
-
return true;
|
|
374
|
-
}
|
|
375
|
-
if (resolveCryptoCommand(text)) {
|
|
376
|
-
return true;
|
|
377
|
-
}
|
|
378
|
-
if (containsKeywordTerm(text, TERMINAL_DISK_TERMS) ||
|
|
379
|
-
containsKeywordTerm(text, TERMINAL_UPTIME_TERMS) ||
|
|
380
|
-
containsKeywordTerm(text, TERMINAL_MEMORY_TERMS) ||
|
|
381
|
-
containsKeywordTerm(text, TERMINAL_PROCESS_TERMS)) {
|
|
382
|
-
return true;
|
|
383
|
-
}
|
|
384
|
-
return false;
|
|
249
|
+
// Permission is the only gate here. Whether the action is relevant to the
|
|
250
|
+
// current request is the planner's job — not a regex / keyword scan in
|
|
251
|
+
// validate. The action's description + similes + examples are the
|
|
252
|
+
// contract the planner uses.
|
|
253
|
+
return hasOwnerAccess(runtime, message);
|
|
385
254
|
},
|
|
386
255
|
handler: async (runtime, message, _state, options) => {
|
|
387
256
|
if (!(await hasOwnerAccess(runtime, message))) {
|
|
@@ -450,4 +319,34 @@ export const terminalAction = {
|
|
|
450
319
|
schema: { type: "string" },
|
|
451
320
|
},
|
|
452
321
|
],
|
|
322
|
+
examples: [
|
|
323
|
+
[
|
|
324
|
+
{
|
|
325
|
+
name: "{{name1}}",
|
|
326
|
+
content: {
|
|
327
|
+
text: "Run ls -la in my home directory.",
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
name: "{{agentName}}",
|
|
332
|
+
content: {
|
|
333
|
+
text: "Running in terminal: `ls -la`",
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
[
|
|
338
|
+
{
|
|
339
|
+
name: "{{name1}}",
|
|
340
|
+
content: {
|
|
341
|
+
text: "Execute `git status` and save the output so I can look at it later.",
|
|
342
|
+
},
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: "{{agentName}}",
|
|
346
|
+
content: {
|
|
347
|
+
text: "Executed shell command: `git status`\nExit code: 0",
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
],
|
|
453
352
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,eAAe,CAAC;AAmI3E,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/actions/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,eAAe,CAAC;AAmI3E,eAAO,MAAM,eAAe,EAAE,MA8M7B,CAAC"}
|
|
@@ -235,6 +235,14 @@ export const webSearchAction = {
|
|
|
235
235
|
};
|
|
236
236
|
}
|
|
237
237
|
},
|
|
238
|
+
parameters: [
|
|
239
|
+
{
|
|
240
|
+
name: "query",
|
|
241
|
+
description: "The search query to run against the web. Supply what the user wants to learn about.",
|
|
242
|
+
required: true,
|
|
243
|
+
schema: { type: "string" },
|
|
244
|
+
},
|
|
245
|
+
],
|
|
238
246
|
examples: [
|
|
239
247
|
[
|
|
240
248
|
{
|