@ouro.bot/cli 0.1.0-alpha.313 → 0.1.0-alpha.315

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.
@@ -6,7 +6,7 @@
6
6
  <meta name="color-scheme" content="dark" />
7
7
  <title>Ouro Outlook</title>
8
8
  <meta name="description" content="The daemon-hosted shared orientation surface for agents alive on this machine." />
9
- <script type="module" crossorigin src="/assets/index-Ck8agNeO.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-BiYn3Fwj.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-LwChZTgL.css">
11
11
  </head>
12
12
  <body>
@@ -751,6 +751,7 @@ async function handleBlueBubblesNormalizedEvent(event, resolvedDeps, source) {
751
751
  messages: sessionMessages,
752
752
  sessionPath: sessPath,
753
753
  state: existing?.state,
754
+ events: existing?.events,
754
755
  }),
755
756
  },
756
757
  pendingDir,
@@ -985,6 +985,7 @@ async function main(agentName, options) {
985
985
  // Load existing session or start fresh
986
986
  const existing = (0, context_1.loadSession)(sessPath);
987
987
  let sessionState = existing?.state;
988
+ let sessionEvents = existing?.events ?? [];
988
989
  const mcpManager = await (0, mcp_manager_1.getSharedMcpManager)() ?? undefined;
989
990
  const sessionMessages = existing?.messages && existing.messages.length > 0
990
991
  ? existing.messages
@@ -1006,6 +1007,7 @@ async function main(agentName, options) {
1006
1007
  _testInputSource: options?._testInputSource,
1007
1008
  onAsyncAssistantMessage: async (messages, _assistantMessage) => {
1008
1009
  (0, context_1.postTurn)(messages, sessPath, undefined, undefined, sessionState);
1010
+ sessionEvents = (0, context_1.loadSession)(sessPath)?.events ?? sessionEvents;
1009
1011
  },
1010
1012
  runTurn: async (messages, userInput, callbacks, signal, toolContext, userContent) => {
1011
1013
  // Run the full per-turn pipeline: resolve -> gate -> session -> drain -> runAgent -> postTurn -> tokens
@@ -1044,6 +1046,7 @@ async function main(agentName, options) {
1044
1046
  messages,
1045
1047
  sessionPath: sessPath,
1046
1048
  state: sessionState,
1049
+ events: sessionEvents,
1047
1050
  }),
1048
1051
  },
1049
1052
  pendingDir,
@@ -1065,6 +1068,7 @@ async function main(agentName, options) {
1065
1068
  postTurn: (turnMessages, sessionPathArg, usage, hooks, state) => {
1066
1069
  (0, context_1.postTurn)(turnMessages, sessionPathArg, usage, hooks, state);
1067
1070
  sessionState = state;
1071
+ sessionEvents = (0, context_1.loadSession)(sessionPathArg)?.events ?? sessionEvents;
1068
1072
  },
1069
1073
  accumulateFriendTokens: tokens_1.accumulateFriendTokens,
1070
1074
  signal,
@@ -60,6 +60,7 @@ const start_of_turn_packet_1 = require("../heart/start-of-turn-packet");
60
60
  const bundle_state_1 = require("../heart/bundle-state");
61
61
  const sync_1 = require("../heart/sync");
62
62
  const config_1 = require("../heart/config");
63
+ const session_events_1 = require("../heart/session-events");
63
64
  const presence_1 = require("../arc/presence");
64
65
  const episodes_1 = require("../arc/episodes");
65
66
  const turn_context_1 = require("../heart/turn-context");
@@ -258,6 +259,7 @@ async function handleInboundTurn(input) {
258
259
  // Step 3: Load/create session
259
260
  const session = await input.sessionLoader.loadOrCreate();
260
261
  const sessionMessages = session.messages;
262
+ const sessionEvents = session.events ?? [];
261
263
  let mustResolveBeforeHandoff = (0, continuity_1.resolveMustResolveBeforeHandoff)(session.state?.mustResolveBeforeHandoff === true, input.continuityIngressTexts);
262
264
  const lastFriendActivityAt = input.channel === "inner"
263
265
  ? session.state?.lastFriendActivityAt
@@ -272,6 +274,7 @@ async function handleInboundTurn(input) {
272
274
  key: input.sessionKey ?? "session",
273
275
  sessionPath: session.sessionPath,
274
276
  };
277
+ const currentSessionTiming = (0, session_events_1.describeCurrentSessionTiming)(sessionEvents);
275
278
  // Step 3b: Pre-turn sync pull (opt-in) — MUST happen before any continuity state reads
276
279
  // so that obligations, episodes, cares, etc. reflect the latest remote state.
277
280
  let syncFailure;
@@ -384,6 +387,7 @@ async function handleInboundTurn(input) {
384
387
  primary: activeWorkFrame.primaryObligation,
385
388
  all: activeWorkFrame.pendingObligations,
386
389
  },
390
+ currentSessionTiming,
387
391
  });
388
392
  /* v8 ignore next 3 -- syncFailure propagation tested in sync.test.ts @preserve */
389
393
  if (syncFailure) {
@@ -140,6 +140,7 @@ async function runSenseTurn(options) {
140
140
  messages: sessionMessages,
141
141
  sessionPath: sessPath,
142
142
  state: sessionState,
143
+ events: existing?.events,
143
144
  }),
144
145
  },
145
146
  /* v8 ignore stop */
@@ -660,6 +660,7 @@ async function handleTeamsMessage(text, stream, conversationId, teamsContext, se
660
660
  messages,
661
661
  sessionPath: sessPath,
662
662
  state: existing?.state,
663
+ events: existing?.events,
663
664
  };
664
665
  },
665
666
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.313",
3
+ "version": "0.1.0-alpha.315",
4
4
  "main": "dist/heart/daemon/ouro-entry.js",
5
5
  "bin": {
6
6
  "cli": "dist/heart/daemon/ouro-bot-entry.js",