@ottocode/web-sdk 0.1.313 → 0.1.315
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/chat/ConfigModal.d.ts.map +1 -1
- package/dist/components/common/ProviderLogo.d.ts.map +1 -1
- package/dist/components/dashboard/UsageDashboard.d.ts.map +1 -1
- package/dist/components/index.js +416 -20
- package/dist/components/index.js.map +14 -13
- package/dist/components/sessions/LeanHeader.d.ts.map +1 -1
- package/dist/components/sessions/SessionHeader.d.ts.map +1 -1
- package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
- package/dist/hooks/index.js +82 -9
- package/dist/hooks/index.js.map +7 -6
- package/dist/hooks/tool-preview-helpers.d.ts +6 -0
- package/dist/hooks/tool-preview-helpers.d.ts.map +1 -0
- package/dist/hooks/useAgents.d.ts +2 -0
- package/dist/hooks/useAgents.d.ts.map +1 -1
- package/dist/hooks/useChatComposer.d.ts +2 -0
- package/dist/hooks/useChatComposer.d.ts.map +1 -1
- package/dist/hooks/useConfig.d.ts +8 -0
- package/dist/hooks/useConfig.d.ts.map +1 -1
- package/dist/hooks/useSessionStream.d.ts.map +1 -1
- package/dist/index.js +416 -20
- package/dist/index.js.map +14 -13
- package/dist/lib/api-client/config.d.ts +6 -0
- package/dist/lib/api-client/config.d.ts.map +1 -1
- package/dist/lib/api-client/index.d.ts +6 -0
- package/dist/lib/api-client/index.d.ts.map +1 -1
- package/dist/lib/index.js.map +2 -2
- package/dist/types/api.d.ts +4 -1
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeanHeader.d.ts","sourceRoot":"","sources":["../../../src/components/sessions/LeanHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAwB/C,UAAU,eAAe;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,UAAU,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,YAAY,EACZ,mBAAmB,GACnB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"LeanHeader.d.ts","sourceRoot":"","sources":["../../../src/components/sessions/LeanHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAwB/C,UAAU,eAAe;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,UAAU,CAAC,EAC1B,OAAO,EACP,SAAS,EACT,YAAY,EACZ,mBAAmB,GACnB,EAAE,eAAe,2CA0LjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/sessions/SessionHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAoB/C,UAAU,kBAAkB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,aAAa,CAAC,EAC7B,OAAO,EACP,YAAY,EACZ,mBAAmB,GACnB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SessionHeader.d.ts","sourceRoot":"","sources":["../../../src/components/sessions/SessionHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAoB/C,UAAU,kBAAkB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,aAAa,CAAC,EAC7B,OAAO,EACP,YAAY,EACZ,mBAAmB,GACnB,EAAE,kBAAkB,2CA4MpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebar.tsx"],"names":[],"mappings":"AAi2BA,UAAU,oBAAoB;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,4DAO1B,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -3124,6 +3124,78 @@ var useSecureInputStore = create11((set) => ({
|
|
|
3124
3124
|
clearPendingInputs: () => set({ pendingInputs: [] })
|
|
3125
3125
|
}));
|
|
3126
3126
|
|
|
3127
|
+
// src/hooks/tool-preview-helpers.ts
|
|
3128
|
+
function bestEffortUnescapeJsonString(value) {
|
|
3129
|
+
try {
|
|
3130
|
+
return JSON.parse(`"${value.replace(/\\$/, "")}"`);
|
|
3131
|
+
} catch {
|
|
3132
|
+
return value.replace(/\\n/g, `
|
|
3133
|
+
`).replace(/\\t/g, "\t").replace(/\\r/g, "\r").replace(/\\"/g, '"').replace(/\\\\/g, "\\");
|
|
3134
|
+
}
|
|
3135
|
+
}
|
|
3136
|
+
function extractJsonStringFieldAt(text, field, startIndex, requireClosed = false) {
|
|
3137
|
+
const marker = `"${field}"`;
|
|
3138
|
+
const markerIndex = text.indexOf(marker, Math.max(0, startIndex));
|
|
3139
|
+
if (markerIndex === -1)
|
|
3140
|
+
return;
|
|
3141
|
+
const colonIndex = text.indexOf(":", markerIndex + marker.length);
|
|
3142
|
+
if (colonIndex === -1)
|
|
3143
|
+
return;
|
|
3144
|
+
const quoteIndex = text.indexOf('"', colonIndex + 1);
|
|
3145
|
+
if (quoteIndex === -1)
|
|
3146
|
+
return;
|
|
3147
|
+
let escaped = "";
|
|
3148
|
+
let escaping = false;
|
|
3149
|
+
let closed = false;
|
|
3150
|
+
let endIndex = text.length;
|
|
3151
|
+
for (let i = quoteIndex + 1;i < text.length; i += 1) {
|
|
3152
|
+
const char = text[i];
|
|
3153
|
+
if (escaping) {
|
|
3154
|
+
escaped += `\\${char}`;
|
|
3155
|
+
escaping = false;
|
|
3156
|
+
continue;
|
|
3157
|
+
}
|
|
3158
|
+
if (char === "\\") {
|
|
3159
|
+
escaping = true;
|
|
3160
|
+
continue;
|
|
3161
|
+
}
|
|
3162
|
+
if (char === '"') {
|
|
3163
|
+
closed = true;
|
|
3164
|
+
endIndex = i + 1;
|
|
3165
|
+
break;
|
|
3166
|
+
}
|
|
3167
|
+
escaped += char;
|
|
3168
|
+
}
|
|
3169
|
+
if (requireClosed && !closed)
|
|
3170
|
+
return;
|
|
3171
|
+
return {
|
|
3172
|
+
value: bestEffortUnescapeJsonString(escaped),
|
|
3173
|
+
endIndex,
|
|
3174
|
+
closed
|
|
3175
|
+
};
|
|
3176
|
+
}
|
|
3177
|
+
function extractStreamingMultiEditPreviewEdits(buffer) {
|
|
3178
|
+
const editsStart = buffer.indexOf('"edits"');
|
|
3179
|
+
if (editsStart === -1)
|
|
3180
|
+
return [];
|
|
3181
|
+
const edits = [];
|
|
3182
|
+
let cursor = editsStart;
|
|
3183
|
+
const maxPreviewEdits = 50;
|
|
3184
|
+
while (cursor < buffer.length && edits.length < maxPreviewEdits) {
|
|
3185
|
+
const oldString = extractJsonStringFieldAt(buffer, "oldString", cursor, true);
|
|
3186
|
+
if (!oldString)
|
|
3187
|
+
break;
|
|
3188
|
+
const newString = extractJsonStringFieldAt(buffer, "newString", oldString.endIndex, false);
|
|
3189
|
+
if (!newString)
|
|
3190
|
+
break;
|
|
3191
|
+
edits.push({ oldString: oldString.value, newString: newString.value });
|
|
3192
|
+
cursor = Math.max(newString.endIndex, oldString.endIndex + 1);
|
|
3193
|
+
if (!newString.closed)
|
|
3194
|
+
break;
|
|
3195
|
+
}
|
|
3196
|
+
return edits;
|
|
3197
|
+
}
|
|
3198
|
+
|
|
3127
3199
|
// src/hooks/useSessionStream.ts
|
|
3128
3200
|
var TOOL_PREVIEW_THROTTLE_MS = 500;
|
|
3129
3201
|
var TOOL_PREVIEW_THROTTLE_MIN_CHARS = 8000;
|
|
@@ -3277,7 +3349,7 @@ ${value.slice(-STREAMING_TOOL_INPUT_TAIL_CHARS)}`;
|
|
|
3277
3349
|
toolInputBuffersRef.current.set(key, next);
|
|
3278
3350
|
return parseArgsRecord(next);
|
|
3279
3351
|
};
|
|
3280
|
-
const
|
|
3352
|
+
const bestEffortUnescapeJsonString2 = (value) => {
|
|
3281
3353
|
try {
|
|
3282
3354
|
return JSON.parse(`"${value.replace(/\\$/, "")}"`);
|
|
3283
3355
|
} catch {
|
|
@@ -3318,7 +3390,7 @@ ${value.slice(-STREAMING_TOOL_INPUT_TAIL_CHARS)}`;
|
|
|
3318
3390
|
}
|
|
3319
3391
|
if (requireClosed && !closed)
|
|
3320
3392
|
return;
|
|
3321
|
-
return
|
|
3393
|
+
return bestEffortUnescapeJsonString2(escaped);
|
|
3322
3394
|
};
|
|
3323
3395
|
const getBufferedToolInput = (payload) => {
|
|
3324
3396
|
const key = getToolBufferKey(payload);
|
|
@@ -3355,7 +3427,7 @@ ${argContent.slice(-STREAMING_WRITE_CONTENT_PREVIEW_CHARS)}`;
|
|
|
3355
3427
|
}
|
|
3356
3428
|
const rawTail = buffer.slice(Math.max(valueStart, buffer.length - STREAMING_WRITE_CONTENT_PREVIEW_CHARS));
|
|
3357
3429
|
return `… showing latest streamed content only …
|
|
3358
|
-
${
|
|
3430
|
+
${bestEffortUnescapeJsonString2(rawTail)}`;
|
|
3359
3431
|
};
|
|
3360
3432
|
const getStreamingPatchPreviewContent = (args, buffer) => {
|
|
3361
3433
|
const argPatch = args?.patch;
|
|
@@ -3384,9 +3456,9 @@ ${argPatch.slice(-STREAMING_PATCH_PREVIEW_TAIL_CHARS)}`;
|
|
|
3384
3456
|
}
|
|
3385
3457
|
const rawHead = buffer.slice(valueStart, valueStart + STREAMING_PATCH_PREVIEW_HEAD_CHARS);
|
|
3386
3458
|
const rawTail = buffer.slice(-STREAMING_PATCH_PREVIEW_TAIL_CHARS);
|
|
3387
|
-
return `${
|
|
3459
|
+
return `${bestEffortUnescapeJsonString2(rawHead)}
|
|
3388
3460
|
… patch preview truncated while streaming …
|
|
3389
|
-
${
|
|
3461
|
+
${bestEffortUnescapeJsonString2(rawTail)}`;
|
|
3390
3462
|
};
|
|
3391
3463
|
const getResultRecord = (payload) => payload?.result && typeof payload.result === "object" && !Array.isArray(payload.result) ? payload.result : null;
|
|
3392
3464
|
const getArtifactRecord = (payload) => {
|
|
@@ -3562,14 +3634,15 @@ ${bestEffortUnescapeJsonString(rawTail)}`;
|
|
|
3562
3634
|
return lines.join(`
|
|
3563
3635
|
`);
|
|
3564
3636
|
};
|
|
3565
|
-
const getMultiEditPreviewEdits = (args) => {
|
|
3637
|
+
const getMultiEditPreviewEdits = (args, buffer) => {
|
|
3566
3638
|
const edits = Array.isArray(args?.edits) ? args.edits : [];
|
|
3567
|
-
|
|
3639
|
+
const parsedEdits = edits.flatMap((edit) => {
|
|
3568
3640
|
if (!edit || typeof edit !== "object" || Array.isArray(edit))
|
|
3569
3641
|
return [];
|
|
3570
3642
|
const record = edit;
|
|
3571
3643
|
return typeof record.oldString === "string" && typeof record.newString === "string" ? [{ oldString: record.oldString, newString: record.newString }] : [];
|
|
3572
3644
|
});
|
|
3645
|
+
return parsedEdits.length > 0 ? parsedEdits : extractStreamingMultiEditPreviewEdits(buffer);
|
|
3573
3646
|
};
|
|
3574
3647
|
const getEditPreviewPatch = (toolName, path, args, buffer, artifact) => {
|
|
3575
3648
|
if (typeof artifact?.patch === "string")
|
|
@@ -3579,7 +3652,7 @@ ${bestEffortUnescapeJsonString(rawTail)}`;
|
|
|
3579
3652
|
const newString = getStringArg(args, buffer, "newString");
|
|
3580
3653
|
return oldString !== undefined && newString !== undefined ? buildStringEditPatchPreview(path, [{ oldString, newString }]) : undefined;
|
|
3581
3654
|
}
|
|
3582
|
-
const edits = getMultiEditPreviewEdits(args);
|
|
3655
|
+
const edits = getMultiEditPreviewEdits(args, buffer);
|
|
3583
3656
|
return buildStringEditPatchPreview(path, edits);
|
|
3584
3657
|
};
|
|
3585
3658
|
const handleReadToolActivity = (eventType, payload, delta) => {
|
|
@@ -8591,4 +8664,4 @@ export {
|
|
|
8591
8664
|
getAgentToolCount
|
|
8592
8665
|
};
|
|
8593
8666
|
|
|
8594
|
-
//# debugId=
|
|
8667
|
+
//# debugId=EA09E996DD4075CD64756E2164756E21
|