@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 +4 -2
- package/dist/approvals/ApprovalCard.d.ts +1 -1
- package/dist/approvals/ApprovalCard.js +1 -1
- package/dist/approvals/decision.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/provider/AgentProvider.d.ts +9 -3
- package/dist/provider/AgentProvider.d.ts.map +1 -1
- package/dist/provider/AgentProvider.js +77 -14
- package/dist/provider/AgentProvider.js.map +1 -1
- package/dist/provider/attachments.js +1 -1
- package/dist/provider/conversation-summaries.d.ts +1 -1
- package/dist/provider/conversation-summaries.js +1 -1
- package/dist/provider/stored-messages.d.ts +1 -1
- package/dist/provider/stored-messages.js +1 -1
- package/dist/provider/turn-progress.d.ts +36 -0
- package/dist/provider/turn-progress.d.ts.map +1 -0
- package/dist/provider/turn-progress.js +80 -0
- package/dist/provider/turn-progress.js.map +1 -0
- package/dist/provider/types.d.ts +89 -13
- package/dist/provider/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
|
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;
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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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"}
|
package/dist/provider/types.d.ts
CHANGED
|
@@ -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
|
|
17
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 }
|
|
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
|
|
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
|
|
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":"AAAA;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhF,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AACD,OAAO,KAAK,EACV,6BAA6B,EAC7B,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,
|
|
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
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ouispec/agent-react",
|
|
3
|
-
"version": "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.
|
|
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.
|
|
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
|
|
53
|
+
"ApprovalCard": "Only the person approves an irreversible action: the assistant never operates its own approval"
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|