@buoy-gg/ask-buoy 7.0.36 → 7.0.39
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 +58 -27
- package/lib/commonjs/components/ApprovalCard.js +56 -3
- package/lib/commonjs/components/ApprovalCard.js.map +1 -1
- package/lib/commonjs/components/AskBuoySettings.js +63 -1
- package/lib/commonjs/components/AskBuoySettings.js.map +1 -1
- package/lib/commonjs/components/MessageList.js +42 -2
- package/lib/commonjs/components/MessageList.js.map +1 -1
- package/lib/commonjs/components/QueuedMessages.js +1 -1
- package/lib/commonjs/components/QueuedMessages.js.map +1 -1
- package/lib/commonjs/preset.js +4 -3
- package/lib/commonjs/preset.js.map +1 -1
- package/lib/commonjs/store/askBuoyStore.js +46 -4
- package/lib/commonjs/store/askBuoyStore.js.map +1 -1
- package/lib/commonjs/store/useAskBuoy.js +36 -7
- package/lib/commonjs/store/useAskBuoy.js.map +1 -1
- package/lib/commonjs/sync/askBuoySyncAdapter.js +13 -0
- package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -1
- package/lib/module/components/ApprovalCard.js +57 -4
- package/lib/module/components/ApprovalCard.js.map +1 -1
- package/lib/module/components/AskBuoySettings.js +64 -2
- package/lib/module/components/AskBuoySettings.js.map +1 -1
- package/lib/module/components/MessageList.js +42 -2
- package/lib/module/components/MessageList.js.map +1 -1
- package/lib/module/components/QueuedMessages.js +1 -1
- package/lib/module/components/QueuedMessages.js.map +1 -1
- package/lib/module/preset.js +4 -3
- package/lib/module/preset.js.map +1 -1
- package/lib/module/store/askBuoyStore.js +46 -4
- package/lib/module/store/askBuoyStore.js.map +1 -1
- package/lib/module/store/useAskBuoy.js +36 -6
- package/lib/module/store/useAskBuoy.js.map +1 -1
- package/lib/module/sync/askBuoySyncAdapter.js +13 -0
- package/lib/module/sync/askBuoySyncAdapter.js.map +1 -1
- package/lib/typescript/components/ApprovalCard.d.ts +9 -1
- package/lib/typescript/components/ApprovalCard.d.ts.map +1 -1
- package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -1
- package/lib/typescript/components/MessageList.d.ts.map +1 -1
- package/lib/typescript/preset.d.ts +4 -2
- package/lib/typescript/preset.d.ts.map +1 -1
- package/lib/typescript/store/askBuoyStore.d.ts +32 -4
- package/lib/typescript/store/askBuoyStore.d.ts.map +1 -1
- package/lib/typescript/store/useAskBuoy.d.ts +3 -2
- package/lib/typescript/store/useAskBuoy.d.ts.map +1 -1
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts +3 -0
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -25,6 +25,19 @@ import { askBuoyStore } from "../store/askBuoyStore";
|
|
|
25
25
|
export const ASK_BUOY_ADAPTER_VERSION = 1;
|
|
26
26
|
export const askBuoySyncAdapter = {
|
|
27
27
|
version: ASK_BUOY_ADAPTER_VERSION,
|
|
28
|
+
async dispose(cleanup) {
|
|
29
|
+
const ledger = askBuoyStore.getLedger();
|
|
30
|
+
for (const entry of ledger?.list() ?? []) {
|
|
31
|
+
if (entry.undoneAt) continue;
|
|
32
|
+
if (entry.effect.kind === "network-override") {
|
|
33
|
+
await cleanup("network", "deleteOverrideRule", {
|
|
34
|
+
id: entry.effect.ruleId
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// Impersonation removes its own header without clearing host caches.
|
|
38
|
+
// Completed storage/query/state writes remain deliberate developer edits.
|
|
39
|
+
}
|
|
40
|
+
},
|
|
28
41
|
getSnapshot() {
|
|
29
42
|
const state = askBuoyStore.getState();
|
|
30
43
|
const ledger = askBuoyStore.getLedger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resetConversation","dispatchToolAction","redactForWire","isReversible","askBuoyStore","ASK_BUOY_ADAPTER_VERSION","askBuoySyncAdapter","version","
|
|
1
|
+
{"version":3,"names":["resetConversation","dispatchToolAction","redactForWire","isReversible","askBuoyStore","ASK_BUOY_ADAPTER_VERSION","askBuoySyncAdapter","version","dispose","cleanup","ledger","getLedger","entry","list","undoneAt","effect","kind","id","ruleId","getSnapshot","state","getState","entries","outstanding","filter","e","busy","configured","notice","messageCount","messages","length","map","m","role","text","streaming","toolCalls","c","toolId","action","status","usage","pendingApproval","pending","label","changes","reversible","permanent","transients","items","subscribe","onChange","offStore","offLedger","actions","listChanges","at","undoAll","ok","error","outcome","revertAll","reset","dispatch","undoFirst","cleared","failed","reverted"],"sourceRoot":"../../../src","sources":["sync/askBuoySyncAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import type { ApprovalAnswer } from "@buoy-gg/agent-core";
|
|
1
2
|
import type { PendingApproval } from "../store/askBuoyStore";
|
|
2
3
|
export interface ApprovalCardProps {
|
|
3
4
|
pending: PendingApproval;
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The answer in full. A note typed before "Not now" goes to the model
|
|
7
|
+
* verbatim — "just the second line", not another round of "what would you
|
|
8
|
+
* prefer?". "Allow for this chat" is `trust`: no card for this action again
|
|
9
|
+
* this conversation (the settings sheet lists it and can forget it). Never
|
|
10
|
+
* offered on a restored card: there is no live turn to trust.
|
|
11
|
+
*/
|
|
12
|
+
onAnswer: (answer: ApprovalAnswer) => void;
|
|
5
13
|
}
|
|
6
14
|
export declare function ApprovalCard({ pending, onAnswer }: ApprovalCardProps): import("react").JSX.Element;
|
|
7
15
|
//# sourceMappingURL=ApprovalCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../../src/components/ApprovalCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../../src/components/ApprovalCard.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAkEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskBuoySettings.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoySettings.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AskBuoySettings.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoySettings.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,eAAe,gCA8F9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList.tsx"],"names":[],"mappings":"AAkEA,OAAO,EAAgB,KAAK,WAAW,EAAuC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList.tsx"],"names":[],"mappings":"AAkEA,OAAO,EAAgB,KAAK,WAAW,EAAuC,MAAM,uBAAuB,CAAC;AA4Y5G;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,UAAQ,GAAG,MAAM,CA2BnF;AAqFD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAChD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EACP,aAAa,GACd,EAAE,gBAAgB,+BAkFlB"}
|
|
@@ -20,8 +20,9 @@ export declare const askBuoyToolPreset: {
|
|
|
20
20
|
description: string;
|
|
21
21
|
slot: "both";
|
|
22
22
|
color: string;
|
|
23
|
-
icon: ({ size,
|
|
23
|
+
icon: ({ size, slot }: {
|
|
24
24
|
size: number;
|
|
25
|
+
slot?: string;
|
|
25
26
|
color?: string;
|
|
26
27
|
}) => import("react").JSX.Element;
|
|
27
28
|
component: typeof AskBuoyModal;
|
|
@@ -53,8 +54,9 @@ export declare function createAskBuoyTool(config: AskBuoyToolConfig): {
|
|
|
53
54
|
id: string;
|
|
54
55
|
slot: "both";
|
|
55
56
|
color: string;
|
|
56
|
-
icon: ({ size,
|
|
57
|
+
icon: ({ size, slot }: {
|
|
57
58
|
size: number;
|
|
59
|
+
slot?: string;
|
|
58
60
|
color?: string;
|
|
59
61
|
}) => import("react").JSX.Element;
|
|
60
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AAE5C,eAAO,MAAM,iBAAiB;;;;;;
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AAE5C,eAAO,MAAM,iBAAiB;;;;;;2BAYL;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;CAIvE,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;;;uBAOpC,iBAAiB;;;;2BAlCf;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;EAsCvE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Block, BlockAnswer, AskBuoySession, EffectLedger, TurnEvent } from "@buoy-gg/agent-core";
|
|
1
|
+
import type { ApprovalAnswer, Block, BlockAnswer, AskBuoySession, EffectLedger, TurnEvent } from "@buoy-gg/agent-core";
|
|
2
2
|
/** A block in a message, and (for receipts) the tool call that produced it. */
|
|
3
3
|
export interface PlacedBlock {
|
|
4
4
|
block: Block;
|
|
@@ -24,6 +24,11 @@ export interface ChatToolCall {
|
|
|
24
24
|
status: "running" | "ok" | "failed" | "refused" | "declined" | "stopped";
|
|
25
25
|
/** Trailing status word once finished — "12 items", "Not found", "Done". */
|
|
26
26
|
summary?: string;
|
|
27
|
+
/** The outcome check, when the action has one — see agent-core engine/verify.ts. */
|
|
28
|
+
verification?: {
|
|
29
|
+
status: "verified" | "unverified" | "failed";
|
|
30
|
+
detail: string;
|
|
31
|
+
};
|
|
27
32
|
/**
|
|
28
33
|
* What the model asked this step to do, serialised and capped. Shown only in
|
|
29
34
|
* the thinking view — it is the difference between "a storage write ran" and
|
|
@@ -77,6 +82,13 @@ export interface ChatMessage {
|
|
|
77
82
|
};
|
|
78
83
|
/** Set while the assistant is still streaming this message. */
|
|
79
84
|
streaming?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* What the engine is waiting on right now, when it is not the model —
|
|
87
|
+
* "Endpoint busy — retrying in 2 s". Shown next to the typing dots and
|
|
88
|
+
* cleared by the next thing that arrives, so a retry never reads as a
|
|
89
|
+
* hang. Never persisted: it is only true while the turn is live.
|
|
90
|
+
*/
|
|
91
|
+
waiting?: string;
|
|
80
92
|
error?: string;
|
|
81
93
|
/**
|
|
82
94
|
* The user pressed Stop.
|
|
@@ -138,7 +150,7 @@ export interface PendingApproval {
|
|
|
138
150
|
* hash, so nothing of the value itself is persisted.
|
|
139
151
|
*/
|
|
140
152
|
targetDigest?: string;
|
|
141
|
-
resolve: (
|
|
153
|
+
resolve: (answer: ApprovalAnswer) => void;
|
|
142
154
|
}
|
|
143
155
|
/**
|
|
144
156
|
* A message typed while a turn was running.
|
|
@@ -168,6 +180,15 @@ export interface AskBuoyState {
|
|
|
168
180
|
/** Stop was pressed and the turn has not yet wound down. See TurnPhase. */
|
|
169
181
|
stopping: boolean;
|
|
170
182
|
pending: PendingApproval | null;
|
|
183
|
+
/**
|
|
184
|
+
* Actions the user answered with "Allow for this chat" — the card is not
|
|
185
|
+
* shown for them again this conversation. Mirrors the session's set for
|
|
186
|
+
* display; `untrust` removes from both. Cleared with the conversation.
|
|
187
|
+
*/
|
|
188
|
+
trusted: {
|
|
189
|
+
key: string;
|
|
190
|
+
label: string;
|
|
191
|
+
}[];
|
|
171
192
|
/** Set when the tool is unconfigured or the endpoint keeps failing. */
|
|
172
193
|
notice: string | null;
|
|
173
194
|
/** Whether the host app wired an endpoint + model. Set by the sheet's hook. */
|
|
@@ -258,8 +279,15 @@ export declare const askBuoyStore: {
|
|
|
258
279
|
/** The user pressed Stop on this turn. See `ChatMessage.stopped`. */
|
|
259
280
|
markStopped(messageId: string): void;
|
|
260
281
|
finishAssistant(messageId: string): void;
|
|
261
|
-
askApproval(input: Omit<PendingApproval, "resolve">): Promise<
|
|
262
|
-
|
|
282
|
+
askApproval(input: Omit<PendingApproval, "resolve">): Promise<ApprovalAnswer>;
|
|
283
|
+
/**
|
|
284
|
+
* The user's answer, in full: yes/no, an optional note on a no (it goes to
|
|
285
|
+
* the model verbatim), and on a yes whether to stop asking about this
|
|
286
|
+
* action for the rest of the conversation. A bare boolean still works.
|
|
287
|
+
*/
|
|
288
|
+
answerApproval(answer: ApprovalAnswer): void;
|
|
289
|
+
/** Ask again for this action. Removes it from the session's waiver set too. */
|
|
290
|
+
untrust(key: string): void;
|
|
263
291
|
/**
|
|
264
292
|
* Put an unanswered approval back after a restart.
|
|
265
293
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askBuoyStore.d.ts","sourceRoot":"","sources":["../../../src/store/askBuoyStore.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"askBuoyStore.d.ts","sourceRoot":"","sources":["../../../src/store/askBuoyStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BlockAction, type BlockAnswer } from "@buoy-gg/agent-core";
|
|
1
|
+
import { type ApprovalAnswer, type BlockAction, type BlockAnswer } from "@buoy-gg/agent-core";
|
|
2
2
|
import { type AskBuoyState } from "./askBuoyStore";
|
|
3
3
|
import { type ResetOutcome } from "./resetConversation";
|
|
4
4
|
import type { AskBuoyConfig } from "../types";
|
|
@@ -15,7 +15,8 @@ export interface AskBuoyController {
|
|
|
15
15
|
* through this; see resetConversation.ts for why there is only one path.
|
|
16
16
|
*/
|
|
17
17
|
undoThenReset: () => Promise<ResetOutcome>;
|
|
18
|
-
|
|
18
|
+
/** Answer the pending approval card — a boolean, or the full answer with a note / "allow for this chat". */
|
|
19
|
+
approve: (answer: ApprovalAnswer) => void;
|
|
19
20
|
/**
|
|
20
21
|
* Run the last user message again after a failed or stopped turn.
|
|
21
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAskBuoy.d.ts","sourceRoot":"","sources":["../../../src/store/useAskBuoy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAskBuoy.d.ts","sourceRoot":"","sources":["../../../src/store/useAskBuoy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAwC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA6D9C,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,mFAAmF;IACnF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,4GAA4G;IAC5G,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,6BAA6B;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8EAA8E;IAC9E,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,2EAA2E;IAC3E,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,iBAAiB,CA8kB/E"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { dispatchToolAction } from "./wire";
|
|
1
2
|
export declare const ASK_BUOY_ADAPTER_VERSION = 1;
|
|
2
3
|
export declare const askBuoySyncAdapter: {
|
|
3
4
|
version: number;
|
|
5
|
+
dispose(cleanup: typeof dispatchToolAction): Promise<void>;
|
|
4
6
|
getSnapshot(): {
|
|
5
7
|
version: number;
|
|
6
8
|
busy: boolean;
|
|
@@ -61,6 +63,7 @@ export declare const askBuoySyncAdapter: {
|
|
|
61
63
|
error: string;
|
|
62
64
|
}[];
|
|
63
65
|
skippedTransients: number;
|
|
66
|
+
permanent: number;
|
|
64
67
|
ok: boolean;
|
|
65
68
|
error?: undefined;
|
|
66
69
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askBuoySyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/askBuoySyncAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"askBuoySyncAdapter.d.ts","sourceRoot":"","sources":["../../../src/sync/askBuoySyncAdapter.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,QAAQ,CAAC;AAI3D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,kBAAkB;;qBAEN,OAAO,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0D5B,MAAM,IAAI;;QAU5B,8DAA8D;;;;;;;;;;QAgB9D,qEAAqE;;;;;;;;;;;;;;;QAQrE;;;;;;;;;WASG;;;;;;;;;;;;;;;;CAaN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/ask-buoy",
|
|
3
|
-
"version": "7.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "7.0.39",
|
|
4
|
+
"description": "In-app AI chat for supported Buoy inspection and action tools, using a configured model endpoint.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
7
7
|
"types": "lib/typescript/index.d.ts",
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
"buoy"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@buoy-gg/agent-core": "^7.0.
|
|
28
|
-
"@buoy-gg/floating-tools-core": "^7.0.
|
|
29
|
-
"@buoy-gg/shared-ui": "^7.0.
|
|
27
|
+
"@buoy-gg/agent-core": "^7.0.39",
|
|
28
|
+
"@buoy-gg/floating-tools-core": "^7.0.39",
|
|
29
|
+
"@buoy-gg/shared-ui": "^7.0.39"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@buoy-gg/license": "7.0.
|
|
32
|
+
"@buoy-gg/license": "7.0.39",
|
|
33
33
|
"react": "*",
|
|
34
34
|
"react-native": "*",
|
|
35
|
-
"@buoy-gg/core": "^7.0.
|
|
35
|
+
"@buoy-gg/core": "^7.0.39"
|
|
36
36
|
},
|
|
37
37
|
"peerDependenciesMeta": {
|
|
38
38
|
"@buoy-gg/core": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@types/react": "^19.1.0",
|
|
44
44
|
"@types/react-native": "^0.73.0",
|
|
45
45
|
"typescript": "~5.8.3",
|
|
46
|
-
"@buoy-gg/license": "^7.0.
|
|
47
|
-
"@buoy-gg/core": "^7.0.
|
|
46
|
+
"@buoy-gg/license": "^7.0.39",
|
|
47
|
+
"@buoy-gg/core": "^7.0.39"
|
|
48
48
|
},
|
|
49
49
|
"react-native-builder-bob": {
|
|
50
50
|
"source": "src",
|