@object-ui/plugin-chatbot 5.4.1 → 6.0.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/CHANGELOG.md +37 -0
- package/README.md +43 -0
- package/dist/index.js +1401 -616
- package/dist/index.umd.cjs +2 -2
- package/dist/packages/plugin-chatbot/src/AiPendingActionsInbox.d.ts +38 -0
- package/dist/packages/plugin-chatbot/src/AiPendingActionsInbox.d.ts.map +1 -0
- package/dist/packages/plugin-chatbot/src/ChatbotEnhanced.d.ts +56 -0
- package/dist/packages/plugin-chatbot/src/ChatbotEnhanced.d.ts.map +1 -1
- package/dist/packages/plugin-chatbot/src/index.d.ts +9 -0
- package/dist/packages/plugin-chatbot/src/index.d.ts.map +1 -1
- package/dist/packages/plugin-chatbot/src/mapMessages.d.ts +45 -0
- package/dist/packages/plugin-chatbot/src/mapMessages.d.ts.map +1 -0
- package/dist/packages/plugin-chatbot/src/useHitlInChat.d.ts +66 -0
- package/dist/packages/plugin-chatbot/src/useHitlInChat.d.ts.map +1 -0
- package/dist/packages/plugin-chatbot/src/useObjectChat.d.ts.map +1 -1
- package/dist/packages/plugin-chatbot/src/usePendingActions.d.ts +120 -0
- package/dist/packages/plugin-chatbot/src/usePendingActions.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ChatMessage, ToolDecisionState } from './ChatbotEnhanced';
|
|
2
|
+
import { ApproveOutcome, RejectOutcome } from './usePendingActions';
|
|
3
|
+
export type { ToolDecisionState };
|
|
4
|
+
export interface UseHitlInChatOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Chat message list (already-mapped `ChatMessage[]` from `useObjectChat`
|
|
7
|
+
* or `uiMessagesToChatMessages`). The hook scans `toolInvocations[*]`
|
|
8
|
+
* looking for entries with `pendingActionId` and indexes them.
|
|
9
|
+
*/
|
|
10
|
+
messages: ChatMessage[];
|
|
11
|
+
/**
|
|
12
|
+
* Framework AI base URL — for example `http://localhost:3004/api/v1/ai`.
|
|
13
|
+
* Defaults to `/api/v1/ai` (same-origin) to match `usePendingActions`.
|
|
14
|
+
*/
|
|
15
|
+
apiBase?: string;
|
|
16
|
+
/** Extra headers (e.g. `X-Environment-Id`, `Authorization`). */
|
|
17
|
+
headers?: Record<string, string>;
|
|
18
|
+
/**
|
|
19
|
+
* Optional callback fired after a decision completes (regardless of
|
|
20
|
+
* success/failure). Useful for refreshing the inbox view if it is also
|
|
21
|
+
* mounted on the same page.
|
|
22
|
+
*/
|
|
23
|
+
onDecided?: (toolCallId: string, outcome: ApproveOutcome | RejectOutcome) => void;
|
|
24
|
+
/**
|
|
25
|
+
* When set, on a *successful* decision the hook synthesizes a short
|
|
26
|
+
* follow-up prompt (e.g. "Operator approved pa_xxx. Result: {...}.
|
|
27
|
+
* Continue.") and invokes this callback. Wire to `useObjectChat`'s
|
|
28
|
+
* `sendMessage` to close the conversation loop — the LLM then continues
|
|
29
|
+
* reasoning with full awareness of the executed action's outcome.
|
|
30
|
+
*
|
|
31
|
+
* Failures (`status: 'failed'`, transport errors) still surface in
|
|
32
|
+
* `decisions[toolCallId]` but do NOT trigger a continuation prompt — the
|
|
33
|
+
* operator is expected to read the error and decide what to do next.
|
|
34
|
+
*/
|
|
35
|
+
continueConversation?: (prompt: string, context: ContinueContext) => void;
|
|
36
|
+
}
|
|
37
|
+
/** Argument passed to {@link UseHitlInChatOptions.continueConversation}. */
|
|
38
|
+
export interface ContinueContext {
|
|
39
|
+
toolCallId: string;
|
|
40
|
+
pendingActionId: string;
|
|
41
|
+
decision: 'approved' | 'rejected';
|
|
42
|
+
/** Raw REST payload — `{ status, result?, error?, … }`. */
|
|
43
|
+
outcome: ApproveOutcome | RejectOutcome;
|
|
44
|
+
/** Tool name as it appeared in the message part (e.g. `action_delete_task`). */
|
|
45
|
+
toolName?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface UseHitlInChatReturn {
|
|
48
|
+
/**
|
|
49
|
+
* Map keyed by toolCallId. Pass directly to `<ChatbotEnhanced
|
|
50
|
+
* toolDecisions={…}>` to render inline status under each pending tool.
|
|
51
|
+
*/
|
|
52
|
+
decisions: Record<string, ToolDecisionState>;
|
|
53
|
+
/**
|
|
54
|
+
* Approve / reject handler — wire to `onToolApprove`. Looks up the
|
|
55
|
+
* `pendingActionId` registered by `mapMessages` for the given toolCallId
|
|
56
|
+
* and calls the matching REST endpoint.
|
|
57
|
+
*/
|
|
58
|
+
decide: (toolCallId: string, approved: boolean, reason?: string) => Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* True while at least one in-flight REST call is outstanding.
|
|
61
|
+
* (Useful for disabling chat input while approvals settle, if desired.)
|
|
62
|
+
*/
|
|
63
|
+
isDeciding: boolean;
|
|
64
|
+
}
|
|
65
|
+
export declare function useHitlInChat(options: UseHitlInChatOptions): UseHitlInChatReturn;
|
|
66
|
+
//# sourceMappingURL=useHitlInChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHitlInChat.d.ts","sourceRoot":"","sources":["../../../../src/useHitlInChat.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,KAAK,IAAI,CAAC;IAClF;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3E;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,2DAA2D;IAC3D,OAAO,EAAE,cAAc,GAAG,aAAa,CAAC;IACxC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AA0BD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAiJhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useObjectChat.d.ts","sourceRoot":"","sources":["../../../../src/useObjectChat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useObjectChat.d.ts","sourceRoot":"","sources":["../../../../src/useObjectChat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMtE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,8BAA8B;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACvD,0CAA0C;IAC1C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,yBAAyB;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gCAAgC;IAChC,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,IAAI,CAAC;CAC3F;AAmBD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CA6NrF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
export type PendingActionStatus = 'pending' | 'approved' | 'executed' | 'failed' | 'rejected';
|
|
9
|
+
/**
|
|
10
|
+
* Wire-format row returned by
|
|
11
|
+
* `GET /api/v1/ai/pending-actions` and friends. Mirrors the
|
|
12
|
+
* `ai_pending_action` object schema declared in
|
|
13
|
+
* `@objectstack/service-ai`.
|
|
14
|
+
*/
|
|
15
|
+
export interface PendingActionRow {
|
|
16
|
+
id: string;
|
|
17
|
+
conversation_id?: string | null;
|
|
18
|
+
message_id?: string | null;
|
|
19
|
+
object_name: string;
|
|
20
|
+
action_name: string;
|
|
21
|
+
tool_name: string;
|
|
22
|
+
/** JSON-encoded string. Consumers typically `JSON.parse` to render. */
|
|
23
|
+
tool_input: string;
|
|
24
|
+
status: PendingActionStatus | string;
|
|
25
|
+
result?: string | null;
|
|
26
|
+
error?: string | null;
|
|
27
|
+
rejection_reason?: string | null;
|
|
28
|
+
proposed_by?: string | null;
|
|
29
|
+
decided_by?: string | null;
|
|
30
|
+
proposed_at?: string;
|
|
31
|
+
decided_at?: string | null;
|
|
32
|
+
created_at?: string;
|
|
33
|
+
updated_at?: string;
|
|
34
|
+
[k: string]: unknown;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Successful approval outcome returned by
|
|
38
|
+
* `POST /api/v1/ai/pending-actions/:id/approve`.
|
|
39
|
+
*
|
|
40
|
+
* The HTTP status is 200 when `status === 'executed'` and 500 when the
|
|
41
|
+
* downstream dispatcher failed (`status === 'failed'`). The hook surfaces
|
|
42
|
+
* both as a normal resolved value so the UI can show the error inline
|
|
43
|
+
* without throwing.
|
|
44
|
+
*/
|
|
45
|
+
export interface ApproveOutcome {
|
|
46
|
+
id: string;
|
|
47
|
+
status: 'executed' | 'failed' | string;
|
|
48
|
+
result?: unknown;
|
|
49
|
+
error?: string;
|
|
50
|
+
[k: string]: unknown;
|
|
51
|
+
}
|
|
52
|
+
export interface RejectOutcome {
|
|
53
|
+
id: string;
|
|
54
|
+
status: 'rejected' | string;
|
|
55
|
+
}
|
|
56
|
+
export interface UsePendingActionsOptions {
|
|
57
|
+
/**
|
|
58
|
+
* Base URL of the AI service, e.g. `http://localhost:3000/api/v1/ai`.
|
|
59
|
+
* Falls back to `/api/v1/ai` (same-origin) when unset.
|
|
60
|
+
*/
|
|
61
|
+
apiBase?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Status filter forwarded as `?status=` to the list endpoint. Set to
|
|
64
|
+
* `'all'` (or undefined) to fetch every row.
|
|
65
|
+
*/
|
|
66
|
+
status?: PendingActionStatus | 'all';
|
|
67
|
+
/**
|
|
68
|
+
* Conversation filter forwarded as `?conversationId=`. Useful for
|
|
69
|
+
* scoping the inbox to a specific chat thread.
|
|
70
|
+
*/
|
|
71
|
+
conversationId?: string;
|
|
72
|
+
/** Hard limit forwarded as `?limit=`. */
|
|
73
|
+
limit?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Extra headers merged into every request (e.g. `X-Environment-Id`,
|
|
76
|
+
* `Authorization`). Cookies are always sent via `credentials: 'include'`.
|
|
77
|
+
*/
|
|
78
|
+
headers?: Record<string, string>;
|
|
79
|
+
/**
|
|
80
|
+
* Polling interval in ms. `0` disables polling (caller must invoke
|
|
81
|
+
* `refresh()` manually). Default: 5000.
|
|
82
|
+
*/
|
|
83
|
+
pollInterval?: number;
|
|
84
|
+
/** Disable the hook entirely (skips initial fetch + polling). */
|
|
85
|
+
enabled?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface UsePendingActionsReturn {
|
|
88
|
+
items: PendingActionRow[];
|
|
89
|
+
total: number;
|
|
90
|
+
isLoading: boolean;
|
|
91
|
+
error: Error | undefined;
|
|
92
|
+
/** Re-fetch the list. Awaitable. */
|
|
93
|
+
refresh: () => Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Approve a row. Resolves with the dispatcher outcome (success or
|
|
96
|
+
* failed). Re-fetches the list on completion. Throws on transport,
|
|
97
|
+
* 404, or 409 errors.
|
|
98
|
+
*/
|
|
99
|
+
approve: (id: string) => Promise<ApproveOutcome>;
|
|
100
|
+
/**
|
|
101
|
+
* Reject a row with an optional reason. Re-fetches the list on
|
|
102
|
+
* completion. Throws on transport, 404, or 409 errors.
|
|
103
|
+
*/
|
|
104
|
+
reject: (id: string, reason?: string) => Promise<RejectOutcome>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Hook that drives the HITL pending-actions inbox.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```tsx
|
|
111
|
+
* const { items, isLoading, error, approve, reject, refresh } =
|
|
112
|
+
* usePendingActions({
|
|
113
|
+
* apiBase: 'http://localhost:3004/api/v1/ai',
|
|
114
|
+
* status: 'pending',
|
|
115
|
+
* headers: { 'X-Environment-Id': 'env_local' },
|
|
116
|
+
* });
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function usePendingActions(options?: UsePendingActionsOptions): UsePendingActionsReturn;
|
|
120
|
+
//# sourceMappingURL=usePendingActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePendingActions.d.ts","sourceRoot":"","sources":["../../../../src/usePendingActions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,UAAU,CAAC;AAEf;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACrC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,oCAAoC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD;;;OAGG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACjE;AAgDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAiFzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@object-ui/plugin-chatbot",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Chatbot interface plugin for Object UI",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"shiki": "^4.0.2",
|
|
39
39
|
"streamdown": "^1.4.1",
|
|
40
40
|
"use-stick-to-bottom": "^1.1.1",
|
|
41
|
-
"@object-ui/
|
|
42
|
-
"@object-ui/
|
|
43
|
-
"@object-ui/react": "
|
|
44
|
-
"@object-ui/types": "
|
|
41
|
+
"@object-ui/core": "6.0.0",
|
|
42
|
+
"@object-ui/components": "6.0.0",
|
|
43
|
+
"@object-ui/react": "6.0.0",
|
|
44
|
+
"@object-ui/types": "6.0.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"react": "^18.0.0 || ^19.0.0",
|