@ouro.bot/cli 0.1.0-alpha.450 → 0.1.0-alpha.452
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/changelog.json +16 -0
- package/dist/heart/daemon/cli-exec.js +222 -1
- package/dist/heart/daemon/cli-help.js +19 -2
- package/dist/heart/daemon/cli-parse.js +44 -3
- package/dist/heart/daemon/doctor.js +18 -10
- package/dist/heart/daemon/sense-manager.js +29 -2
- package/dist/heart/identity.js +4 -1
- package/dist/heart/outlook/outlook-http-hooks.js +2 -0
- package/dist/heart/outlook/outlook-http-routes.js +14 -2
- package/dist/heart/outlook/outlook-read.js +4 -1
- package/dist/heart/outlook/readers/mail.js +203 -0
- package/dist/heart/sense-truth.js +8 -4
- package/dist/heart/turn-context.js +14 -4
- package/dist/mailroom/blob-store.js +154 -0
- package/dist/mailroom/core.js +387 -0
- package/dist/mailroom/entry.js +160 -0
- package/dist/mailroom/file-store.js +230 -0
- package/dist/mailroom/mbox-import.js +105 -0
- package/dist/mailroom/reader.js +150 -0
- package/dist/mailroom/smtp-ingress.js +176 -0
- package/dist/mind/friends/channel.js +9 -0
- package/dist/mind/friends/types.js +1 -1
- package/dist/mind/prompt.js +16 -4
- package/dist/outlook-ui/assets/index-BXw3xmUo.js +61 -0
- package/dist/outlook-ui/assets/index-D4Wg-o8Z.css +1 -0
- package/dist/outlook-ui/index.html +2 -2
- package/dist/repertoire/tools-mail.js +209 -0
- package/dist/senses/commands.js +1 -1
- package/package.json +6 -1
- package/dist/outlook-ui/assets/index-BAcU08c-.css +0 -1
- package/dist/outlook-ui/assets/index-D7l3l4vY.js +0 -61
package/dist/mind/prompt.js
CHANGED
|
@@ -338,6 +338,7 @@ const PROCESS_TYPE_LABELS = {
|
|
|
338
338
|
inner: "inner session",
|
|
339
339
|
teams: "teams handler",
|
|
340
340
|
bluebubbles: "bluebubbles handler",
|
|
341
|
+
mail: "mail handler",
|
|
341
342
|
mcp: "mcp bridge",
|
|
342
343
|
};
|
|
343
344
|
function processTypeLabel(channel) {
|
|
@@ -412,18 +413,24 @@ function localSenseStatusLines() {
|
|
|
412
413
|
return [..._senseStatusLinesCache];
|
|
413
414
|
}
|
|
414
415
|
const config = (0, identity_1.loadAgentConfig)();
|
|
415
|
-
const
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
416
|
+
const configuredSenses = config.senses ?? {};
|
|
417
|
+
const senses = {
|
|
418
|
+
...configuredSenses,
|
|
419
|
+
cli: configuredSenses.cli ?? { enabled: true },
|
|
420
|
+
teams: configuredSenses.teams ?? { enabled: false },
|
|
421
|
+
bluebubbles: configuredSenses.bluebubbles ?? { enabled: false },
|
|
422
|
+
mail: configuredSenses.mail ?? { enabled: false },
|
|
419
423
|
};
|
|
420
424
|
const payload = (0, config_1.loadConfig)();
|
|
421
425
|
const teams = payload.teams;
|
|
422
426
|
const bluebubbles = payload.bluebubbles;
|
|
427
|
+
const mailroom = payload.mailroom;
|
|
428
|
+
const privateKeys = mailroom?.privateKeys;
|
|
423
429
|
const configured = {
|
|
424
430
|
cli: true,
|
|
425
431
|
teams: hasTextField(teams, "clientId") && hasTextField(teams, "clientSecret") && hasTextField(teams, "tenantId"),
|
|
426
432
|
bluebubbles: hasTextField(bluebubbles, "serverUrl") && hasTextField(bluebubbles, "password"),
|
|
433
|
+
mail: hasTextField(mailroom, "mailboxAddress") && !!privateKeys && typeof privateKeys === "object" && !Array.isArray(privateKeys),
|
|
427
434
|
};
|
|
428
435
|
const rows = [
|
|
429
436
|
{ label: "CLI", status: "interactive" },
|
|
@@ -435,6 +442,10 @@ function localSenseStatusLines() {
|
|
|
435
442
|
label: "BlueBubbles",
|
|
436
443
|
status: !senses.bluebubbles.enabled ? "disabled" : configured.bluebubbles ? "ready" : "not_attached",
|
|
437
444
|
},
|
|
445
|
+
{
|
|
446
|
+
label: "Mail",
|
|
447
|
+
status: !senses.mail.enabled ? "disabled" : configured.mail ? "ready" : "needs_config",
|
|
448
|
+
},
|
|
438
449
|
];
|
|
439
450
|
_senseStatusLinesCache = rows.map((row) => `- ${row.label}: ${row.status}`);
|
|
440
451
|
return [..._senseStatusLinesCache];
|
|
@@ -453,6 +464,7 @@ function senseRuntimeGuidance(channel, preReadStatusLines) {
|
|
|
453
464
|
lines.push("If asked how to enable another sense, I explain the relevant agent.json senses entry and required agent-vault runtime/config fields instead of guessing.");
|
|
454
465
|
lines.push("teams setup truth: run `ouro connect teams --agent <agent>` from the connect bay; it stores Teams runtime/config fields and enables `senses.teams.enabled`.");
|
|
455
466
|
lines.push("bluebubbles setup truth: run `ouro connect bluebubbles --agent <agent>` from the connect bay; it stores this machine's BlueBubbles URL/password/listener config in the agent vault machine runtime item.");
|
|
467
|
+
lines.push("mail setup truth: run `ouro connect mail --agent <agent>` from the connect bay; it provisions Mailroom coordinates, stores private mail keys in the agent vault runtime/config item, and enables `senses.mail.enabled`. For HEY bootstrap, ask the human for the browser-exported MBOX path and run `ouro mail import-mbox --file <path> --owner-email <email> --source hey --agent <agent>`; HEY forwarding/DNS/MX remain human-confirmed steps.");
|
|
456
468
|
if (channel === "cli") {
|
|
457
469
|
lines.push("cli is interactive: it is available when the user opens it, not something `ouro up` daemonizes.");
|
|
458
470
|
}
|