@ouispec/agent-react 0.10.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,9 +7,11 @@ npm install @ouispec/agent-react
7
7
  ```
8
8
 
9
9
  - `AgentProvider` and `useAgent`: the conversation, its messages and tool calls, sending a turn, and the turn's stream. The socket is a seam (`realtime.createSocket`), so a product supplies its own connection and credentials.
10
+ - `useAgentStatus()`: the assistant's status in one value, for a panel's header, a pill or a title bar: `idle`, `working`, `needs-you` (an approval or a choice waits on the person), `done` (the last turn answered, until `clearDone()` or the next message) or `problem` (the turn failed, was cut off at the output limit, used every step or ran out of time, until the next message; `error` says what went wrong when the turn said). While it works, `activity` says what it is doing in one line: `config.planningText` ("Planning…") while the model thinks before it acts, then the step of its latest call, named by `config.toolLabels` or from the tool's name ("Draw a shape · 12"). Every view reads this one value.
11
+ - `reasoning` on `useAgent`: the model's thinking in the conversation's turns since it was opened in the tab, each block with its summary as it streamed (only when the platform's worker asks the model for one, `modelProviderOptions`) and when it started and ended. It is never stored with the conversation; an exported session carries it.
10
12
  - `stopTurn`, `isStopping` and `acceptedTurnId` on `useAgent`: the person's Stop for the turn in progress, and the turn whose UI requests the tab runs now (give it to the tab's OUI runtime: `accept: acceptCurrentTurn(agent.acceptedTurnId)`). A message sent while a turn runs supersedes it; a stopped turn's message keeps what it had said, marked `stopped`.
11
- - `sendMessage(content, options?)` on `useAgent`: sends the person's message. `options.attachments` gives the message's files by reference (an array alone as the second argument does the same); without them it carries the composer's ready files. `options.input` says how a message was entered when it was not typed: `{ mode: 'voice', language }` for one the person spoke, with the language the recogniser detected (ADR-0259 §2.6). It reaches `config.sendMessage` as `context.input`, for the platform to pass to the worker and store on the message; the message keeps it as `AgentMessage.input`, and a restored one from `AgentStoredMessage.input`. A spoken message sent while a turn runs supersedes it, as a typed one does. An input `readMessageInput` does not recognise is not sent.
12
- - `history` on `useAgent`: the person's earlier conversations, from `config.listConversations`. A listed conversation keeps `previewInput`, how the message its preview is taken from was entered, and each search match its `input`, when the person spoke it (ADR-0259 §2.6), so a list can mark it; what `readMessageInput` does not recognise is dropped (`readConversationSummary`).
13
+ - `sendMessage(content, options?)` on `useAgent`: sends the person's message. `options.attachments` gives the message's files by reference (an array alone as the second argument does the same); without them it carries the composer's ready files. `options.input` says how a message was entered when it was not typed: `{ mode: 'voice', language }` for one the person spoke, with the language the recogniser detected. It reaches `config.sendMessage` as `context.input`, for the platform to pass to the worker and store on the message; the message keeps it as `AgentMessage.input`, and a restored one from `AgentStoredMessage.input`. A spoken message sent while a turn runs supersedes it, as a typed one does. An input `readMessageInput` does not recognise is not sent.
14
+ - `history` on `useAgent`: the person's earlier conversations, from `config.listConversations`. A listed conversation keeps `previewInput`, how the message its preview is taken from was entered, and each search match its `input`, when the person spoke it, so a list can mark it; what `readMessageInput` does not recognise is dropped (`readConversationSummary`).
13
15
  - `attachments` on `useAgent`: the files on the message being written. `attach(files)` checks each against the platform's limits and uploads it at once through `config.attachments.upload` (into the conversation, made then if there is none yet); each item shows its progress, or why it was refused; `remove(key)` cancels an upload or removes the file. `sendMessage` waits for uploads still running and sends the ready files' references; `waitingToSend` is true meanwhile. It sends nothing, and resolves `notSent: { reason, content }` so the composer keeps the draft, when a file on the message is refused, when a send already waits, or when the conversation changes or `stopTurn` gives the waiting send up. A file uploaded for a message that is not sent is removed through `config.attachments.remove`. A message's files are on `AgentMessage.attachments`.
14
16
  - `ApprovalCard`: shows what an irreversible call will do and takes the person's decision. It can't be bound to the agent: only a person's click approves.
15
17
  - `useFeedback`, `storedToAgentMessages`, and the view annotations.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * ApprovalCard — where the user approves, or declines, the one irreversible
3
- * call a turn stopped at (ADR-0228 §2.2.3).
3
+ * call a turn stopped at.
4
4
  *
5
5
  * It shows what the call does in the action's own declared words (its title,
6
6
  * what it does, its arguments by their labels), never the assistant's. A
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * ApprovalCard — where the user approves, or declines, the one irreversible
4
- * call a turn stopped at (ADR-0228 §2.2.3).
4
+ * call a turn stopped at.
5
5
  *
6
6
  * It shows what the call does in the action's own declared words (its title,
7
7
  * what it does, its arguments by their labels), never the assistant's. A
@@ -2,7 +2,7 @@
2
2
  * The approval card's own channel to the provider: the pending approval and
3
3
  * the user's decision on it. Deliberately not part of `useAgent()` and not
4
4
  * exported from the package, so the only thing in a page that can approve is
5
- * `ApprovalCard`, which no build may bind for the assistant (ADR-0228 §2.2.3).
5
+ * `ApprovalCard`, which no build may bind for the assistant.
6
6
  */
7
7
  import { createContext } from 'react';
8
8
  export const ApprovalDecisionContext = createContext(null);
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- export { AgentProvider, useAgent, STOP_CONFIRM_TIMEOUT_MS } from './provider/AgentProvider.js';
1
+ export { AgentProvider, useAgent, useAgentStatus, STOP_CONFIRM_TIMEOUT_MS } from './provider/AgentProvider.js';
2
+ export { DEFAULT_PLANNING_TEXT } from './provider/turn-progress.js';
2
3
  export { useFeedback } from './hooks/useFeedback.js';
3
4
  export { storedToAgentMessages } from './provider/stored-messages.js';
4
5
  export { readConversationSummary, readConversationSummaries } from './provider/conversation-summaries.js';
5
6
  export type { ComposerAttachment, ComposerAttachmentsState, NotSentReason } from './provider/attachments.js';
6
7
  export { ApprovalCard } from './approvals/ApprovalCard.js';
7
8
  export type { ApprovalCardProps, ApprovalCardParts, ApprovalCardFrameProps, ApprovalCardButtonProps, ApprovalCardLabels, } from './approvals/ApprovalCard.js';
8
- export type { AgentApprovalRequest, AgentClientConfig, AgentContextValue, AgentHistoryState, AgentMessage, AgentToolCallState, AgentDebugState, AgentSessionRecord, DebugLogEntry, DebugLogLevel, DebugLogNamespace, SendMessageOptions, SendMessageResult, } from './provider/types.js';
9
+ export type { AgentApprovalRequest, AgentClientConfig, AgentContextValue, AgentHistoryState, AgentMessage, AgentReasoning, AgentStatus, AgentStatusState, AgentTurnEnd, AgentToolCallState, AgentDebugState, AgentSessionRecord, DebugLogEntry, DebugLogLevel, DebugLogNamespace, SendMessageOptions, SendMessageResult, } from './provider/types.js';
9
10
  export { AgentEntityComponent, defineAgentEntity, AgentEntity, asAgentEntity, useViewAnnotation, } from './entity/index.js';
10
11
  export type { AgentEntityRenderContext, DefineAgentEntityConfig, AgentEntityProps, AgentEntityChildContext, AsAgentEntityConfig, InjectedAgentEntityProps, UseViewAnnotationOptions, UseViewAnnotationReturn, } from './entity/index.js';
11
12
  export { AnnotationRegistry } from './annotations/AnnotationRegistry.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAE1G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE7G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAE1G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE7G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,10 @@
1
- export { AgentProvider, useAgent, STOP_CONFIRM_TIMEOUT_MS } from './provider/AgentProvider.js';
1
+ export { AgentProvider, useAgent, useAgentStatus, STOP_CONFIRM_TIMEOUT_MS } from './provider/AgentProvider.js';
2
+ export { DEFAULT_PLANNING_TEXT } from './provider/turn-progress.js';
2
3
  export { useFeedback } from './hooks/useFeedback.js';
3
4
  export { storedToAgentMessages } from './provider/stored-messages.js';
4
- // A listed conversation's spoken marks, as the history hands them on (ADR-0259 §2.6).
5
+ // A listed conversation's spoken marks, as the history hands them on.
5
6
  export { readConversationSummary, readConversationSummaries } from './provider/conversation-summaries.js';
6
- // Approvals (ADR-0228): the card where the person approves an irreversible call.
7
+ // Approvals: the card where the person approves an irreversible call.
7
8
  export { ApprovalCard } from './approvals/ApprovalCard.js';
8
9
  // Entity integration patterns
9
10
  export { AgentEntityComponent, defineAgentEntity, AgentEntity, asAgentEntity, useViewAnnotation, } from './entity/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,sFAAsF;AACtF,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAG1G,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAyB3D,8BAA8B;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAa3B,2CAA2C;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,sEAAsE;AACtE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAG1G,sEAAsE;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AA6B3D,8BAA8B;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAa3B,2CAA2C;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { AgentClientConfig } from '@ouispec/agent-core';
3
- import type { AgentContextValue } from './types.js';
4
- /** How long a stop may go unconfirmed by the turn's end before the turn is shown as stopped (ADR-0252 §2.14). */
3
+ import type { AgentContextValue, AgentStatus } from './types.js';
4
+ /** How long a stop may go unconfirmed by the turn's end before the turn is shown as stopped. */
5
5
  export declare const STOP_CONFIRM_TIMEOUT_MS = 10000;
6
6
  /**
7
7
  * AgentProvider — turnkey provider that handles the complete agent lifecycle.
@@ -17,11 +17,17 @@ export declare const STOP_CONFIRM_TIMEOUT_MS = 10000;
17
17
  * - Streaming state, message history, keyboard shortcuts
18
18
  *
19
19
  * UI actions are not dispatched here: the client's OUI surface runtime answers
20
- * them on the same socket (ADR-0209).
20
+ * them on the same socket.
21
21
  */
22
22
  export declare function AgentProvider({ config, children }: {
23
23
  config: AgentClientConfig;
24
24
  children: React.ReactNode;
25
25
  }): React.FunctionComponentElement<React.ProviderProps<AgentContextValue | null>>;
26
26
  export declare function useAgent(): AgentContextValue;
27
+ /**
28
+ * The assistant's status, for a view that shows it in one place (a panel's
29
+ * header, a pill, a title bar): working with what it is doing, waiting on the
30
+ * person, done until seen, or in trouble. Every view reads this one value.
31
+ */
32
+ export declare function useAgentStatus(): AgentStatus;
27
33
  //# sourceMappingURL=AgentProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../../src/provider/AgentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AACnG,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAEV,iBAAiB,EASlB,MAAM,YAAY,CAAC;AAgBpB,iHAAiH;AACjH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAiE9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,iFAsjC3G;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAI5C"}
1
+ {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../../src/provider/AgentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAC5G,OAAO,KAAK,EACV,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAEV,iBAAiB,EAGjB,WAAW,EASZ,MAAM,YAAY,CAAC;AAiBpB,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAiE9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,iFAknC3G;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAI5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext, useState, useCallback, useEffect, useRef } from 'react';
1
+ import React, { createContext, useContext, useState, useCallback, useEffect, useMemo, useRef } from 'react';
2
2
  import { APPROVAL_DECIDE_EVENT, TURN_STOP_EVENT, readMessageInput } from '@ouispec/agent-core';
3
3
  import { useComposerAttachments } from './attachments.js';
4
4
  import { ALL_AGENT_SOCKET_EVENTS, parseSocketEvent } from '@ouispec/agent-core';
@@ -7,6 +7,7 @@ import { createSocketIOSocket } from './socketio.js';
7
7
  import { ApprovalDecisionContext, approvalRefusalText } from '../approvals/decision.js';
8
8
  import { annotationRegistry } from '../annotations/singleton.js';
9
9
  import { storedToAgentMessages } from './stored-messages.js';
10
+ import { agentStatusOf, applyReasoningEvent, endOpenReasoning, turnEndOf } from './turn-progress.js';
10
11
  import { readConversationSummaries, readConversationSummary } from './conversation-summaries.js';
11
12
  import { SDK_PACKAGE, SDK_VERSION } from '../version.js';
12
13
  const AgentContext = createContext(null);
@@ -17,7 +18,7 @@ const HISTORY_PAGE_SIZE = 20;
17
18
  const APPROVAL_DECIDE_TIMEOUT_MS = 10_000;
18
19
  /** How long the server's answer to a Stop is waited for before the platform's API is asked instead. */
19
20
  const STOP_ACK_TIMEOUT_MS = 3_000;
20
- /** How long a stop may go unconfirmed by the turn's end before the turn is shown as stopped (ADR-0252 §2.14). */
21
+ /** How long a stop may go unconfirmed by the turn's end before the turn is shown as stopped. */
21
22
  export const STOP_CONFIRM_TIMEOUT_MS = 10_000;
22
23
  /** How many ended turns the tab remembers, to ignore what they still send. */
23
24
  const ENDED_TURNS_REMEMBERED = 20;
@@ -97,7 +98,7 @@ function createDebugEntry(level, ns, message, data) {
97
98
  * - Streaming state, message history, keyboard shortcuts
98
99
  *
99
100
  * UI actions are not dispatched here: the client's OUI surface runtime answers
100
- * them on the same socket (ADR-0209).
101
+ * them on the same socket.
101
102
  */
102
103
  export function AgentProvider({ config, children }) {
103
104
  const [isOpen, setIsOpen] = useState(false);
@@ -125,11 +126,14 @@ export function AgentProvider({ config, children }) {
125
126
  const [debugEnabled, setDebugEnabled] = useState(false);
126
127
  const [debugLogs, setDebugLogs] = useState([]);
127
128
  const [presentedOptions, setPresentedOptions] = useState(null);
128
- // The call a turn stopped at for the user's approval (ADR-0228), until they decide.
129
+ // The call a turn stopped at for the user's approval, until they decide.
129
130
  const [pendingApproval, setPendingApproval] = useState(null);
131
+ // The model's thinking in this conversation's turns, and how the last turn ended: the status a view shows.
132
+ const [reasoning, setReasoning] = useState([]);
133
+ const [lastTurnEnd, setLastTurnEnd] = useState(null);
130
134
  const [approvalDeciding, setApprovalDeciding] = useState(false);
131
135
  const [approvalError, setApprovalError] = useState(null);
132
- // The turn the person asked to stop, from their Stop until its end arrives (ADR-0252 §2.14).
136
+ // The turn the person asked to stop, from their Stop until its end arrives.
133
137
  const [isStopping, setIsStopping] = useState(false);
134
138
  const stoppingRef = useRef(null);
135
139
  const socketRef = useRef(null);
@@ -189,7 +193,7 @@ export function AgentProvider({ config, children }) {
189
193
  }
190
194
  return creatingRef.current;
191
195
  }, [addDebugLog, setActiveConversation]);
192
- // The files on the message being written (ADR-0252 §2.14).
196
+ // The files on the message being written.
193
197
  const messagesRef = useRef([]);
194
198
  messagesRef.current = messages;
195
199
  const composer = useComposerAttachments({
@@ -268,7 +272,7 @@ export function AgentProvider({ config, children }) {
268
272
  /**
269
273
  * Whether an event of turn `turnId` belongs to the turn the tab is running. While a new turn has
270
274
  * no id yet, nothing does: whatever still arrives is the turn before it, which a new message has
271
- * superseded (ADR-0252 §2.5), and its text and calls are no longer shown as in progress.
275
+ * superseded, and its text and calls are no longer shown as in progress.
272
276
  */
273
277
  const ofLiveTurn = (turnId) => {
274
278
  const { starting, turnId: live } = liveTurnRef.current;
@@ -338,6 +342,8 @@ export function AgentProvider({ config, children }) {
338
342
  // Text a superseded turn still sends is not the turn in progress's.
339
343
  if (!ofLiveTurn(event.turnId))
340
344
  break;
345
+ // It is saying something: it is no longer only thinking.
346
+ setReasoning(prev => endOpenReasoning(prev, event.turnId, Date.now()));
341
347
  streamBufferRef.current += event.content;
342
348
  // Snapshot the accumulated content BEFORE enqueueing the state update.
343
349
  // React batches updates and runs the setMessages callback later; if the
@@ -381,6 +387,8 @@ export function AgentProvider({ config, children }) {
381
387
  case 'intent_call':
382
388
  if (!ofLiveTurn(event.turnId))
383
389
  break;
390
+ // It is acting: it is no longer only thinking.
391
+ setReasoning(prev => endOpenReasoning(prev, event.turnId, Date.now()));
384
392
  setMessages(prev => [...prev, {
385
393
  id: `tool_${event.id}`,
386
394
  role: 'tool',
@@ -403,6 +411,11 @@ export function AgentProvider({ config, children }) {
403
411
  ? { ...m, toolCall: { ...m.toolCall, status: event.success ? 'complete' : 'error', result: event.result } }
404
412
  : m));
405
413
  break;
414
+ case 'reasoning':
415
+ if (!ofLiveTurn(event.turnId))
416
+ break;
417
+ setReasoning(prev => applyReasoningEvent(prev, event, Date.now()));
418
+ break;
406
419
  case 'approval_required': {
407
420
  // A card for a turn the person has moved on from is not shown: its approval is withdrawn.
408
421
  if (!ofLiveTurn(event.turnId))
@@ -433,6 +446,8 @@ export function AgentProvider({ config, children }) {
433
446
  const reason = event.stopReason;
434
447
  const asked = stoppingRef.current?.turnId === event.turnId;
435
448
  rememberEnded(event.turnId);
449
+ setReasoning(prev => endOpenReasoning(prev, event.turnId, Date.now()));
450
+ setLastTurnEnd(turnEndOf(event.turnId, event, Date.now()));
436
451
  streamBufferRef.current = '';
437
452
  roundPrefixRef.current = '';
438
453
  setMessages(prev => markStopped(prev, event.turnId, reason));
@@ -453,6 +468,8 @@ export function AgentProvider({ config, children }) {
453
468
  }
454
469
  clearStopping();
455
470
  rememberEnded(event.turnId);
471
+ setReasoning(prev => endOpenReasoning(prev, event.turnId, Date.now()));
472
+ setLastTurnEnd(turnEndOf(event.turnId, event, Date.now()));
456
473
  // Finalize all streaming messages. Drop any assistant streaming bubble
457
474
  // that ended up truly empty (e.g. token_clear wiped it and no text was
458
475
  // re-emitted). Preserve tool messages (which legitimately have null content).
@@ -492,6 +509,8 @@ export function AgentProvider({ config, children }) {
492
509
  }
493
510
  streamBufferRef.current = '';
494
511
  roundPrefixRef.current = '';
512
+ setReasoning(prev => endOpenReasoning(prev, event.turnId, Date.now()));
513
+ setLastTurnEnd({ turnId: event.turnId, kind: 'problem', error: event.message || 'An error occurred.', at: Date.now() });
495
514
  setMessages(prev => {
496
515
  const last = prev[prev.length - 1];
497
516
  if (last?.isStreaming) {
@@ -616,9 +635,10 @@ export function AgentProvider({ config, children }) {
616
635
  // A new message moves on: a card still waiting belongs to the previous turn.
617
636
  setPendingApproval(null);
618
637
  }
619
- // Any choice still on screen belongs to the previous turn.
638
+ // Any choice still on screen belongs to the previous turn, and so does how it ended.
620
639
  setPresentedOptions(null);
621
- // A message sent while a turn runs supersedes it (ADR-0252 §2.5): the platform stops that turn,
640
+ setLastTurnEnd(null);
641
+ // A message sent while a turn runs supersedes it: the platform stops that turn,
622
642
  // and here it is shown as stopped at once. Its room is left when the new turn's is joined, so
623
643
  // its own end may never arrive to say so.
624
644
  const superseded = approval ? null : liveTurnRef.current.turnId;
@@ -635,7 +655,7 @@ export function AgentProvider({ config, children }) {
635
655
  liveTurnRef.current = { starting: true, turnId: null };
636
656
  streamBufferRef.current = '';
637
657
  try {
638
- // A spoken message says so on its context (ADR-0259 §2.6); a typed one, and a card's click, say nothing.
658
+ // A spoken message says so on its context; a typed one, and a card's click, say nothing.
639
659
  const context = { ...collectContext(), ...(input && !approval ? { input } : {}) };
640
660
  addDebugLog('info', 'agent:api', approval ? 'Continuing after an approval decision...' : 'Sending message...', {
641
661
  conversationId: convId,
@@ -682,6 +702,12 @@ export function AgentProvider({ config, children }) {
682
702
  for (const held of heldEndsRef.current.splice(0))
683
703
  handleProtocolEvent(held);
684
704
  setIsStreaming(false);
705
+ setLastTurnEnd({
706
+ turnId: null,
707
+ kind: 'problem',
708
+ error: err instanceof Error ? err.message : 'Failed to send message.',
709
+ at: Date.now(),
710
+ });
685
711
  }
686
712
  setMessages(prev => [...prev, {
687
713
  id: `err_${Date.now()}`,
@@ -694,7 +720,7 @@ export function AgentProvider({ config, children }) {
694
720
  }, [collectContext, subscribeToRoom, addDebugLog, ensureConversation, handleProtocolEvent]);
695
721
  // A message carries the composer's ready files, once the uploads still running have finished.
696
722
  // Nothing is sent when the files say not to: why, with the text, so the composer keeps the draft.
697
- // A spoken message is sent the same way, and says how it was entered (ADR-0259 §2.6).
723
+ // A spoken message is sent the same way, and says how it was entered.
698
724
  const sendMessage = useCallback((content, options) => {
699
725
  const { attachments, input: given } = Array.isArray(options) ? { attachments: options, input: undefined } : (options ?? {});
700
726
  // Only an input the worker and the platform recognise is sent: a typed message says nothing.
@@ -713,7 +739,7 @@ export function AgentProvider({ config, children }) {
713
739
  const taken = takeForSend();
714
740
  return 'then' in taken ? taken.then(go) : Promise.resolve(go(taken));
715
741
  }, [startTurn, takeForSend, addDebugLog]);
716
- // --- The person's Stop (ADR-0252 §2.14) ---
742
+ // --- The person's Stop ---
717
743
  // Asked over the socket, from the turn's room: the server takes it only from there. The turn's
718
744
  // worker hears it, stores what it had, and sends the turn's end with why. If the socket cannot
719
745
  // ask, or the end has not arrived in time, the platform's API is asked instead and the turn is
@@ -779,7 +805,7 @@ export function AgentProvider({ config, children }) {
779
805
  return null;
780
806
  return stoppingRef.current?.turnId === turnId ? null : turnId;
781
807
  }, []);
782
- // --- The user's decision on an approval card (ADR-0228 §2.2.3) ---
808
+ // --- The user's decision on an approval card ---
783
809
  // Only the card calls this: it is not on the context `useAgent` returns, so
784
810
  // nothing an app binds for the assistant can reach it.
785
811
  const pendingApprovalRef = useRef(null);
@@ -868,6 +894,8 @@ export function AgentProvider({ config, children }) {
868
894
  return;
869
895
  setActiveConversation(stored.conversationId);
870
896
  setMessages(storedToAgentMessages(stored.messages));
897
+ setReasoning([]);
898
+ setLastTurnEnd(null);
871
899
  setPresentedOptions(null);
872
900
  setPendingApproval(null);
873
901
  setHistoryError(null);
@@ -997,6 +1025,8 @@ export function AgentProvider({ config, children }) {
997
1025
  leaveTurn();
998
1026
  setActiveConversation(null);
999
1027
  setMessages([]);
1028
+ setReasoning([]);
1029
+ setLastTurnEnd(null);
1000
1030
  clearComposer();
1001
1031
  setPresentedOptions(null);
1002
1032
  setPendingApproval(null);
@@ -1043,6 +1073,13 @@ export function AgentProvider({ config, children }) {
1043
1073
  toolCall: m.toolCall,
1044
1074
  ...(m.input ? { input: m.input } : {}),
1045
1075
  })),
1076
+ reasoning: reasoning.map(r => ({
1077
+ id: r.id,
1078
+ turnId: r.turnId,
1079
+ text: r.text,
1080
+ startedAt: new Date(r.startedAt).toISOString(),
1081
+ ...(r.endedAt !== undefined ? { endedAt: new Date(r.endedAt).toISOString() } : {}),
1082
+ })),
1046
1083
  },
1047
1084
  debug: {
1048
1085
  enabled: debugEnabled,
@@ -1055,7 +1092,7 @@ export function AgentProvider({ config, children }) {
1055
1092
  realtimeUrl: config.realtime.url,
1056
1093
  },
1057
1094
  };
1058
- }, [conversationId, currentTurnId, connected, isStreaming, messages, debugEnabled, debugLogs, config.realtime.url]);
1095
+ }, [conversationId, currentTurnId, connected, isStreaming, messages, reasoning, debugEnabled, debugLogs, config.realtime.url]);
1059
1096
  const exportSession = useCallback(() => {
1060
1097
  const blob = new Blob([JSON.stringify(sessionRecord(), null, 2)], { type: 'application/json' });
1061
1098
  const url = URL.createObjectURL(blob);
@@ -1084,6 +1121,20 @@ export function AgentProvider({ config, children }) {
1084
1121
  const dismissOptions = useCallback(() => {
1085
1122
  setPresentedOptions(null);
1086
1123
  }, []);
1124
+ const clearDone = useCallback(() => {
1125
+ setLastTurnEnd(prev => (prev?.kind === 'done' && !prev.acknowledged ? { ...prev, acknowledged: true } : prev));
1126
+ }, []);
1127
+ const statusValue = useMemo(() => agentStatusOf({
1128
+ isStreaming,
1129
+ currentTurnId,
1130
+ messages,
1131
+ reasoning,
1132
+ waitingOnPerson: pendingApproval !== null || presentedOptions !== null,
1133
+ lastEnd: lastTurnEnd,
1134
+ toolLabels: config.toolLabels,
1135
+ planningText: config.planningText,
1136
+ }), [isStreaming, currentTurnId, messages, reasoning, pendingApproval, presentedOptions, lastTurnEnd, config.toolLabels, config.planningText]);
1137
+ const status = useMemo(() => ({ ...statusValue, clearDone }), [statusValue, clearDone]);
1087
1138
  const contextValue = {
1088
1139
  isOpen,
1089
1140
  toggle: useCallback(() => setIsOpen(p => !p), []),
@@ -1128,6 +1179,10 @@ export function AgentProvider({ config, children }) {
1128
1179
  isLoadingConversation,
1129
1180
  switchConversation,
1130
1181
  startNewConversation,
1182
+ reasoning,
1183
+ lastTurnEnd,
1184
+ clearDone,
1185
+ status,
1131
1186
  };
1132
1187
  const approvalDecision = {
1133
1188
  pending: pendingApproval,
@@ -1144,4 +1199,12 @@ export function useAgent() {
1144
1199
  throw new Error('useAgent must be used within an AgentProvider');
1145
1200
  return ctx;
1146
1201
  }
1202
+ /**
1203
+ * The assistant's status, for a view that shows it in one place (a panel's
1204
+ * header, a pill, a title bar): working with what it is doing, waiting on the
1205
+ * person, done until seen, or in trouble. Every view reads this one value.
1206
+ */
1207
+ export function useAgentStatus() {
1208
+ return useAgent().status;
1209
+ }
1147
1210
  //# sourceMappingURL=AgentProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../../src/provider/AgentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../../src/provider/AgentProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The composer's files (ADR-0252 §2.14): what the person attached to the
2
+ * The composer's files: what the person attached to the
3
3
  * message they are writing, each uploaded as soon as it is attached.
4
4
  *
5
5
  * Headless: the SDK holds the state and the platform's seam does the work
@@ -1,6 +1,6 @@
1
1
  import { type AgentConversationSummary } from '@ouispec/agent-core';
2
2
  /**
3
- * A listed conversation as the SDK hands it on (ADR-0259 §2.6): how its
3
+ * A listed conversation as the SDK hands it on: how its
4
4
  * preview's message was entered (`previewInput`), and each search match's
5
5
  * message (`input`), kept only when the SDK recognises it, as a stored
6
6
  * message's `input` is. The platform stored it from what a browser sent, so an
@@ -5,7 +5,7 @@ function inputField(key, value) {
5
5
  return input ? { [key]: input } : {};
6
6
  }
7
7
  /**
8
- * A listed conversation as the SDK hands it on (ADR-0259 §2.6): how its
8
+ * A listed conversation as the SDK hands it on: how its
9
9
  * preview's message was entered (`previewInput`), and each search match's
10
10
  * message (`input`), kept only when the SDK recognises it, as a stored
11
11
  * message's `input` is. The platform stored it from what a browser sent, so an
@@ -4,7 +4,7 @@ import type { AgentMessage } from './types.js';
4
4
  * A stored conversation's messages as the panel shows a live one:
5
5
  *
6
6
  * - a user or assistant message with text becomes that message; a user
7
- * message the person spoke keeps how it was entered (`input`, ADR-0259 §2.6);
7
+ * message the person spoke keeps how it was entered (`input`);
8
8
  * - each tool an assistant message called becomes a completed tool message,
9
9
  * in call order, as `intent_call` added it live: a UI action run through
10
10
  * `ui_act` is shown as that action, as the live stream named it;
@@ -14,7 +14,7 @@ function parseResult(content) {
14
14
  * A stored conversation's messages as the panel shows a live one:
15
15
  *
16
16
  * - a user or assistant message with text becomes that message; a user
17
- * message the person spoke keeps how it was entered (`input`, ADR-0259 §2.6);
17
+ * message the person spoke keeps how it was entered (`input`);
18
18
  * - each tool an assistant message called becomes a completed tool message,
19
19
  * in call order, as `intent_call` added it live: a UI action run through
20
20
  * `ui_act` is shown as that action, as the live stream named it;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A turn's progress as a view shows it: the model's thinking as it streams,
3
+ * and one status for the assistant (working, waiting on the person, done, or
4
+ * in trouble) with a line saying what it is doing. Pure: the provider holds the
5
+ * state and feeds these the events.
6
+ */
7
+ import { type ReasoningEvent, type TurnEndReason, type TurnStoppedReason } from '@ouispec/agent-core';
8
+ import type { AgentMessage, AgentReasoning, AgentStatus, AgentTurnEnd } from './types.js';
9
+ export declare const DEFAULT_PLANNING_TEXT = "Planning\u2026";
10
+ /** The thinking blocks, after one event of a block. A piece or an end of a block never started changes nothing. */
11
+ export declare function applyReasoningEvent(list: readonly AgentReasoning[], event: ReasoningEvent, now: number): AgentReasoning[];
12
+ /**
13
+ * Ends a turn's open blocks: its text or a call has arrived, so it is no
14
+ * longer only thinking. Their own ends may come later (they are sent in order,
15
+ * not with the reply's text); they then change nothing.
16
+ */
17
+ export declare function endOpenReasoning(list: readonly AgentReasoning[], turnId: string | null, now: number): AgentReasoning[];
18
+ /** How a turn's end reads for the status: a problem, or done. A stop the person asked for is neither. */
19
+ export declare function turnEndOf(turnId: string | null, ended: {
20
+ endReason?: TurnEndReason;
21
+ stopReason?: TurnStoppedReason;
22
+ }, now: number): AgentTurnEnd | null;
23
+ /** The messages of the turn in progress: from the person's latest message on. */
24
+ export declare function liveTurnMessages(messages: readonly AgentMessage[]): AgentMessage[];
25
+ export interface AgentStatusInput {
26
+ isStreaming: boolean;
27
+ currentTurnId: string | null;
28
+ messages: readonly AgentMessage[];
29
+ reasoning: readonly AgentReasoning[];
30
+ waitingOnPerson: boolean;
31
+ lastEnd: AgentTurnEnd | null;
32
+ toolLabels?: Readonly<Record<string, string>>;
33
+ planningText?: string;
34
+ }
35
+ export declare function agentStatusOf(input: AgentStatusInput): Omit<AgentStatus, 'clearDone'>;
36
+ //# sourceMappingURL=turn-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-progress.d.ts","sourceRoot":"","sources":["../../src/provider/turn-progress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAmC,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvI,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1F,eAAO,MAAM,qBAAqB,mBAAc,CAAC;AAEjD,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkBzH;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAGtH;AAED,yGAAyG;AACzG,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,aAAa,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAKvJ;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE,CAKlF;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAiBrF"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * A turn's progress as a view shows it: the model's thinking as it streams,
3
+ * and one status for the assistant (working, waiting on the person, done, or
4
+ * in trouble) with a line saying what it is doing. Pure: the provider holds the
5
+ * state and feeds these the events.
6
+ */
7
+ import { currentWorkStep, formatWorkStep } from '@ouispec/agent-core';
8
+ export const DEFAULT_PLANNING_TEXT = 'Planning…';
9
+ /** The thinking blocks, after one event of a block. A piece or an end of a block never started changes nothing. */
10
+ export function applyReasoningEvent(list, event, now) {
11
+ const at = list.findIndex((r) => r.id === event.id);
12
+ if (event.phase === 'start') {
13
+ if (at !== -1)
14
+ return list;
15
+ return [...list, { id: event.id, turnId: event.turnId, text: '', startedAt: now }];
16
+ }
17
+ if (at === -1)
18
+ return list;
19
+ const block = list[at];
20
+ const next = event.phase === 'delta'
21
+ ? { ...block, text: block.text + (event.text ?? '') }
22
+ : block.endedAt === undefined
23
+ ? { ...block, endedAt: now }
24
+ : block;
25
+ if (next === block)
26
+ return list;
27
+ const updated = [...list];
28
+ updated[at] = next;
29
+ return updated;
30
+ }
31
+ /**
32
+ * Ends a turn's open blocks: its text or a call has arrived, so it is no
33
+ * longer only thinking. Their own ends may come later (they are sent in order,
34
+ * not with the reply's text); they then change nothing.
35
+ */
36
+ export function endOpenReasoning(list, turnId, now) {
37
+ if (!list.some((r) => r.endedAt === undefined && (turnId === null || r.turnId === turnId)))
38
+ return list;
39
+ return list.map((r) => (r.endedAt === undefined && (turnId === null || r.turnId === turnId) ? { ...r, endedAt: now } : r));
40
+ }
41
+ /** How a turn's end reads for the status: a problem, or done. A stop the person asked for is neither. */
42
+ export function turnEndOf(turnId, ended, now) {
43
+ if (ended.stopReason === 'user_stop' || ended.stopReason === 'superseded')
44
+ return null;
45
+ if (ended.stopReason === 'deadline')
46
+ return { turnId, kind: 'problem', reason: 'deadline', at: now };
47
+ if (ended.endReason === 'output_limit' || ended.endReason === 'step_count')
48
+ return { turnId, kind: 'problem', reason: ended.endReason, at: now };
49
+ return { turnId, kind: 'done', ...(ended.endReason ? { reason: ended.endReason } : {}), at: now };
50
+ }
51
+ /** The messages of the turn in progress: from the person's latest message on. */
52
+ export function liveTurnMessages(messages) {
53
+ for (let i = messages.length - 1; i >= 0; i--) {
54
+ if (messages[i].role === 'user' && !messages[i].toolCall)
55
+ return messages.slice(i);
56
+ }
57
+ return [...messages];
58
+ }
59
+ export function agentStatusOf(input) {
60
+ if (input.waitingOnPerson)
61
+ return { state: 'needs-you', turnId: input.currentTurnId ?? input.lastEnd?.turnId ?? null, activity: null, planning: false };
62
+ if (input.isStreaming) {
63
+ const turnId = input.currentTurnId;
64
+ const planning = input.reasoning.some((r) => r.endedAt === undefined && (turnId === null || r.turnId === turnId));
65
+ const step = planning ? null : currentWorkStep(liveTurnMessages(input.messages), { toolLabels: input.toolLabels });
66
+ return {
67
+ state: 'working',
68
+ turnId,
69
+ planning,
70
+ activity: planning ? (input.planningText ?? DEFAULT_PLANNING_TEXT) : step ? formatWorkStep(step) : null,
71
+ };
72
+ }
73
+ const end = input.lastEnd;
74
+ if (end?.kind === 'problem')
75
+ return { state: 'problem', turnId: end.turnId, activity: null, planning: false, ...(end.error ? { error: end.error } : {}) };
76
+ if (end?.kind === 'done' && !end.acknowledged)
77
+ return { state: 'done', turnId: end.turnId, activity: null, planning: false };
78
+ return { state: 'idle', turnId: null, activity: null, planning: false };
79
+ }
80
+ //# sourceMappingURL=turn-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-progress.js","sourceRoot":"","sources":["../../src/provider/turn-progress.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export interface SendMessageOptions {
13
13
  */
14
14
  attachments?: AttachmentRef[];
15
15
  /**
16
- * How the person entered the message, when they did not type it (ADR-0259
17
- * §2.6): `{ mode: 'voice', language }` for one they spoke, with the language
16
+ * How the person entered the message, when they did not type it: `{ mode:
17
+ * 'voice', language }` for one they spoke, with the language
18
18
  * the recogniser detected. It reaches `config.sendMessage` as
19
19
  * `context.input`, and the message keeps it (`AgentMessage.input`). One that
20
20
  * `readMessageInput` does not recognise is not sent.
@@ -30,11 +30,11 @@ export interface SendMessageResult {
30
30
  content: string;
31
31
  };
32
32
  }
33
- import type { ApprovalRequiredProtocolEvent, SocketLike, AgentConversationChanges, AgentConversationFilter, AgentConversationSummary, TurnStoppedReason } from '@ouispec/agent-core';
33
+ import type { ApprovalRequiredProtocolEvent, SocketLike, AgentConversationChanges, AgentConversationFilter, AgentConversationSummary, TurnStoppedReason, TurnEndReason } from '@ouispec/agent-core';
34
34
  export interface AgentToolCallState {
35
35
  id: string;
36
36
  name: string;
37
- /** What the assistant called it with: a session's record can be replayed from it (ADR-0244 §2.7). */
37
+ /** What the assistant called it with: a session's record can be replayed from it. */
38
38
  arguments?: Record<string, unknown>;
39
39
  /** `stopped`: the turn was stopped before this call's result arrived here. */
40
40
  status: 'running' | 'complete' | 'error' | 'stopped';
@@ -48,15 +48,71 @@ export interface AgentMessage {
48
48
  toolCall?: AgentToolCallState;
49
49
  isStreaming?: boolean;
50
50
  /**
51
- * Set on the assistant message of a turn that was stopped (ADR-0252): by
51
+ * Set on the assistant message of a turn that was stopped: by
52
52
  * the person, or by a newer message. What it had said is kept.
53
53
  */
54
54
  stopped?: TurnStoppedReason;
55
- /** The files the person attached to this message (ADR-0252 §2.8), by reference. */
55
+ /** The files the person attached to this message, by reference. */
56
56
  attachments?: AttachmentRef[];
57
- /** How the person entered this message, when they did not type it: set on one they spoke (ADR-0259 §2.6). */
57
+ /** How the person entered this message, when they did not type it: set on one they spoke. */
58
58
  input?: MessageInput;
59
59
  }
60
+ /**
61
+ * One block of the model's thinking in a turn: its summary as it streamed,
62
+ * when the platform's worker asks the model for one (otherwise `text` stays
63
+ * empty), and when it started and ended. Kept for the conversation while it is
64
+ * open in this tab; never stored with it.
65
+ */
66
+ export interface AgentReasoning {
67
+ id: string;
68
+ turnId: string;
69
+ text: string;
70
+ /** Epoch ms. */
71
+ startedAt: number;
72
+ /** Epoch ms; absent while the model is still thinking. */
73
+ endedAt?: number;
74
+ }
75
+ /** How the last turn ended, as far as the status is concerned. */
76
+ export interface AgentTurnEnd {
77
+ /** Null for a message that could not be sent, so no turn started. */
78
+ turnId: string | null;
79
+ kind: 'done' | 'problem';
80
+ /** How it ended: the worker's end reason, or `deadline` for a turn that ran out of time. */
81
+ reason?: TurnEndReason | 'deadline';
82
+ /** What went wrong, for a turn that failed. */
83
+ error?: string;
84
+ /** Epoch ms. */
85
+ at: number;
86
+ /** A `done` the person has seen (`clearDone`). */
87
+ acknowledged?: boolean;
88
+ }
89
+ /**
90
+ * - `idle`: nothing to say.
91
+ * - `working`: a turn is running.
92
+ * - `needs-you`: the assistant waits on the person: an approval, or a choice.
93
+ * - `done`: the last turn answered; until the person has seen it (`clearDone`) or sends again.
94
+ * - `problem`: the last turn failed, was cut off at the output limit, used every step, or ran out of time; until the person sends again.
95
+ */
96
+ export type AgentStatusState = 'idle' | 'working' | 'needs-you' | 'done' | 'problem';
97
+ /** The assistant's status, for a view that shows it in one place: a panel's header, a pill, a title bar. */
98
+ export interface AgentStatus {
99
+ state: AgentStatusState;
100
+ /** The turn in progress, or the one the status is about. */
101
+ turnId: string | null;
102
+ /**
103
+ * What the assistant is doing, in one line, while it works: the config's
104
+ * `planningText` while it thinks before it acts, then the step of its latest
105
+ * call ("Draw a shape · 12"). Null when it is saying something, and in every
106
+ * other state.
107
+ */
108
+ activity: string | null;
109
+ /** True while the turn's model is thinking before it acts. */
110
+ planning: boolean;
111
+ /** What went wrong, when `state` is `problem` and the turn said. */
112
+ error?: string;
113
+ /** The person has seen the last turn's answer: `done` becomes `idle`. Does nothing in any other state. */
114
+ clearDone: () => void;
115
+ }
60
116
  export type DebugLogLevel = 'info' | 'warn' | 'error' | 'event' | 'socket';
61
117
  /**
62
118
  * Debug log namespaces — mirrors server-side for consistent filtering.
@@ -95,7 +151,7 @@ export interface AgentDebugState {
95
151
  */
96
152
  exportSession: () => void;
97
153
  }
98
- /** A session as it is exported (ADR-0244 §2.7). */
154
+ /** A session as it is exported. */
99
155
  export interface AgentSessionRecord {
100
156
  exportedAt: string;
101
157
  /** The package that wrote it, and its version. */
@@ -116,6 +172,14 @@ export interface AgentSessionRecord {
116
172
  toolCall?: AgentToolCallState;
117
173
  input?: MessageInput;
118
174
  }>;
175
+ /** The model's thinking in the session's turns (`AgentContextValue.reasoning`), with ISO times. */
176
+ reasoning: Array<{
177
+ id: string;
178
+ turnId: string;
179
+ text: string;
180
+ startedAt: string;
181
+ endedAt?: string;
182
+ }>;
119
183
  };
120
184
  debug: {
121
185
  enabled: boolean;
@@ -129,7 +193,7 @@ export interface AgentSessionRecord {
129
193
  };
130
194
  }
131
195
  /**
132
- * A call a turn stopped at for the user's approval (ADR-0228): what the
196
+ * A call a turn stopped at for the user's approval: what the
133
197
  * approval card shows. Its words come from the action's declaration.
134
198
  */
135
199
  export type AgentApprovalRequest = Omit<ApprovalRequiredProtocolEvent, 'type'>;
@@ -205,7 +269,7 @@ export interface AgentContextValue {
205
269
  close: () => void;
206
270
  /**
207
271
  * Sends the person's message. While a turn is running this is a barge-in
208
- * (ADR-0252 §2.5): the platform stops the running turn and this message
272
+ *: the platform stops the running turn and this message
209
273
  * runs next. The tab's turn is the new one from this call on.
210
274
  *
211
275
  * The message carries the composer's ready files (`attachments`), after
@@ -213,7 +277,7 @@ export interface AgentContextValue {
213
277
  * `options.attachments`, or as the second argument itself (an array).
214
278
  *
215
279
  * A message the person spoke says so with `options.input`
216
- * (`{ mode: 'voice', language }`, ADR-0259 §2.6). It is sent like a typed
280
+ * (`{ mode: 'voice', language }`). It is sent like a typed
217
281
  * one, and supersedes a running turn the same way.
218
282
  *
219
283
  * It is not sent, and `notSent` says why and hands back `content` for the
@@ -223,12 +287,12 @@ export interface AgentContextValue {
223
287
  */
224
288
  sendMessage: (content: string, options?: SendMessageOptions | AttachmentRef[]) => Promise<SendMessageResult>;
225
289
  /**
226
- * The files on the message being written (ADR-0252 §2.14): attach, watch
290
+ * The files on the message being written: attach, watch
227
291
  * each upload, remove. `enabled` is false when the platform takes no files.
228
292
  */
229
293
  attachments: ComposerAttachmentsState;
230
294
  /**
231
- * Stops the turn in progress (ADR-0252 §2.14). What it had produced is
295
+ * Stops the turn in progress. What it had produced is
232
296
  * kept. Does nothing when no turn is running or a stop is already asked.
233
297
  */
234
298
  stopTurn: () => Promise<void>;
@@ -270,5 +334,17 @@ export interface AgentContextValue {
270
334
  switchConversation: (conversationId: string) => Promise<void>;
271
335
  /** Start over: the next message creates a new conversation. Does nothing while a turn is streaming. */
272
336
  startNewConversation: () => void;
337
+ /**
338
+ * The model's thinking in this conversation's turns since it was opened in
339
+ * this tab, in order. A summary is there only where the platform's worker
340
+ * asks the model for one.
341
+ */
342
+ reasoning: AgentReasoning[];
343
+ /** How the last turn ended; null before any, and after a stop the person asked for. */
344
+ lastTurnEnd: AgentTurnEnd | null;
345
+ /** The person has seen the last turn's answer. `useAgentStatus().clearDone`. */
346
+ clearDone: () => void;
347
+ /** The assistant's status, with what it is doing (`useAgentStatus`). */
348
+ status: AgentStatus;
273
349
  }
274
350
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/provider/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export declare const SDK_PACKAGE = "@ouispec/agent-react";
2
- export declare const SDK_VERSION = "0.10.0";
2
+ export declare const SDK_VERSION = "0.14.0";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // Written by scripts/write-version.mjs from package.json. Not committed.
2
2
  export const SDK_PACKAGE = "@ouispec/agent-react";
3
- export const SDK_VERSION = "0.10.0";
3
+ export const SDK_VERSION = "0.14.0";
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouispec/agent-react",
3
- "version": "0.10.0",
3
+ "version": "0.14.0",
4
4
  "description": "React bindings — view annotations, execution engine, agent UI components",
5
5
  "homepage": "https://github.com/wesreid/oui/tree/main/packages/agent-react#readme",
6
6
  "bugs": {
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "socket.io-client": "^4.7.0",
35
- "@ouispec/agent-core": "^0.10.0"
35
+ "@ouispec/agent-core": "^0.14.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@testing-library/react": "^16",
@@ -42,7 +42,7 @@
42
42
  "react-dom": "^19.0.0",
43
43
  "typescript": "^5.8.0",
44
44
  "vitest": "^3.2.0",
45
- "oui-spec": "0.11.0"
45
+ "oui-spec": "0.11.1"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "oui": {
52
52
  "personOnly": {
53
- "ApprovalCard": "Only the person approves an irreversible action (ADR-0228): the assistant never operates its own approval"
53
+ "ApprovalCard": "Only the person approves an irreversible action: the assistant never operates its own approval"
54
54
  }
55
55
  },
56
56
  "scripts": {