@noodleseed/assistant 1.26.1 → 1.27.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 +25 -2
- package/dist/{app-view-element-CiFVNIke.d.cts → app-view-element-BjRkwNN1.d.cts} +1 -1
- package/dist/{app-view-element-C_ATXseu.d.ts → app-view-element-mXHvcAXc.d.ts} +1 -1
- package/dist/app-view.d.cts +3 -3
- package/dist/app-view.d.ts +3 -3
- package/dist/{appearance-C24W6BRj.d.cts → appearance-BpVu3lpk.d.cts} +1 -0
- package/dist/{appearance-C24W6BRj.d.ts → appearance-BpVu3lpk.d.ts} +1 -0
- package/dist/{chunk-OZVDL77T.js → chunk-2A3ZEYZV.js} +51 -191
- package/dist/chunk-2A3ZEYZV.js.map +1 -0
- package/dist/{chunk-FNXAVRL5.js → chunk-WJV4MJUR.js} +178 -4
- package/dist/chunk-WJV4MJUR.js.map +1 -0
- package/dist/{client-BheCOERq.d.ts → client-CPFw8tfo.d.ts} +1 -1
- package/dist/{client-BiMRVxjs.d.cts → client-_xivfs4q.d.cts} +1 -1
- package/dist/client.cjs +176 -3
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +1 -1
- package/dist/embed.global.js +41 -49
- package/dist/index.cjs +224 -189
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/react/client.cjs +176 -3
- package/dist/react/client.cjs.map +1 -1
- package/dist/react/client.d.cts +2 -2
- package/dist/react/client.d.ts +2 -2
- package/dist/react/client.js +1 -1
- package/dist/react.cjs +224 -189
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +2 -2
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-FNXAVRL5.js.map +0 -1
- package/dist/chunk-OZVDL77T.js.map +0 -1
|
@@ -4495,6 +4495,178 @@ function isRecord(value) {
|
|
|
4495
4495
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4496
4496
|
}
|
|
4497
4497
|
|
|
4498
|
+
// src/assistant-configuration-schema.ts
|
|
4499
|
+
var hexColorSchema = external_exports.string().regex(/^#[0-9A-Fa-f]{6}$/);
|
|
4500
|
+
var resolvedBorderColorSchema = external_exports.union([
|
|
4501
|
+
hexColorSchema,
|
|
4502
|
+
external_exports.string().max(64).refine(isBoundedRgbaColor, "must be a six-digit hex or bounded rgba color")
|
|
4503
|
+
]);
|
|
4504
|
+
var browserAssetUrlSchema = external_exports.string().trim().url().refine(isSecureBrowserAssetUrl, "must use https (http is allowed only for loopback testing)");
|
|
4505
|
+
var httpsUrlSchema = external_exports.string().trim().url().refine(isHttpsUrl, "must use https");
|
|
4506
|
+
var brandAssetSchema = external_exports.object({
|
|
4507
|
+
uri: browserAssetUrlSchema,
|
|
4508
|
+
darkUri: browserAssetUrlSchema.optional(),
|
|
4509
|
+
alt: external_exports.string().trim().min(1).max(240)
|
|
4510
|
+
}).strict();
|
|
4511
|
+
var brandThemeSchema = external_exports.object({
|
|
4512
|
+
surface: hexColorSchema.optional(),
|
|
4513
|
+
surfaceRaised: hexColorSchema.optional(),
|
|
4514
|
+
surfaceMuted: hexColorSchema.optional(),
|
|
4515
|
+
text: hexColorSchema.optional(),
|
|
4516
|
+
textMuted: hexColorSchema.optional(),
|
|
4517
|
+
accent: hexColorSchema.optional(),
|
|
4518
|
+
accentText: hexColorSchema.optional(),
|
|
4519
|
+
link: hexColorSchema.optional(),
|
|
4520
|
+
border: resolvedBorderColorSchema.optional(),
|
|
4521
|
+
borderStrong: resolvedBorderColorSchema.optional(),
|
|
4522
|
+
focus: hexColorSchema.optional(),
|
|
4523
|
+
success: hexColorSchema.optional(),
|
|
4524
|
+
warning: hexColorSchema.optional(),
|
|
4525
|
+
danger: hexColorSchema.optional(),
|
|
4526
|
+
code: hexColorSchema.optional()
|
|
4527
|
+
}).strict();
|
|
4528
|
+
var brandingSchema = external_exports.object({
|
|
4529
|
+
name: external_exports.string().trim().min(1).max(160).optional(),
|
|
4530
|
+
accent: hexColorSchema.optional(),
|
|
4531
|
+
surface: hexColorSchema.optional(),
|
|
4532
|
+
surfaceDark: hexColorSchema.optional(),
|
|
4533
|
+
logo: brandAssetSchema.optional(),
|
|
4534
|
+
mark: brandAssetSchema.optional(),
|
|
4535
|
+
avatar: brandAssetSchema.optional(),
|
|
4536
|
+
theme: external_exports.object({ light: brandThemeSchema.optional(), dark: brandThemeSchema.optional() }).strict().optional(),
|
|
4537
|
+
radius: external_exports.enum(["none", "sm", "md", "lg"]).optional(),
|
|
4538
|
+
density: external_exports.enum(["compact", "comfortable"]).optional(),
|
|
4539
|
+
typography: external_exports.enum(["system", "serif", "mono"]).optional(),
|
|
4540
|
+
colorScheme: external_exports.enum(["auto", "light", "dark"]).optional()
|
|
4541
|
+
}).strict();
|
|
4542
|
+
var labelsSchema = external_exports.object({
|
|
4543
|
+
welcomeHeading: external_exports.string().trim().min(1).max(160).optional(),
|
|
4544
|
+
welcomeMessage: external_exports.string().max(1e3).optional(),
|
|
4545
|
+
launcherPlaceholder: external_exports.string().trim().min(1).max(160).optional(),
|
|
4546
|
+
composerPlaceholder: external_exports.string().trim().min(1).max(160).optional(),
|
|
4547
|
+
thinking: external_exports.string().trim().min(1).max(80).optional(),
|
|
4548
|
+
send: external_exports.string().trim().min(1).max(80).optional(),
|
|
4549
|
+
stop: external_exports.string().trim().min(1).max(80).optional(),
|
|
4550
|
+
close: external_exports.string().trim().min(1).max(80).optional(),
|
|
4551
|
+
open: external_exports.string().trim().min(1).max(80).optional(),
|
|
4552
|
+
confirm: external_exports.string().trim().min(1).max(80).optional(),
|
|
4553
|
+
decline: external_exports.string().trim().min(1).max(80).optional(),
|
|
4554
|
+
cancel: external_exports.string().trim().min(1).max(80).optional(),
|
|
4555
|
+
confirmationHeading: external_exports.string().trim().min(1).max(120).optional(),
|
|
4556
|
+
additionalDetails: external_exports.string().trim().min(1).max(120).optional(),
|
|
4557
|
+
redacted: external_exports.string().trim().min(1).max(120).optional(),
|
|
4558
|
+
completed: external_exports.string().trim().min(1).max(80).optional(),
|
|
4559
|
+
stopped: external_exports.string().trim().min(1).max(80).optional(),
|
|
4560
|
+
copy: external_exports.string().trim().min(1).max(80).optional(),
|
|
4561
|
+
newMessages: external_exports.string().trim().min(1).max(80).optional(),
|
|
4562
|
+
reconnect: external_exports.string().trim().min(1).max(80).optional(),
|
|
4563
|
+
newConversation: external_exports.string().trim().min(1).max(80).optional(),
|
|
4564
|
+
retry: external_exports.string().trim().min(1).max(80).optional(),
|
|
4565
|
+
unavailable: external_exports.string().trim().min(1).max(240).optional(),
|
|
4566
|
+
sessionExpired: external_exports.string().trim().min(1).max(240).optional(),
|
|
4567
|
+
sessionIdle: external_exports.string().trim().min(1).max(120).optional(),
|
|
4568
|
+
sessionLoading: external_exports.string().trim().min(1).max(120).optional(),
|
|
4569
|
+
sessionReady: external_exports.string().trim().min(1).max(120).optional(),
|
|
4570
|
+
sessionError: external_exports.string().trim().min(1).max(120).optional(),
|
|
4571
|
+
signInHeading: external_exports.string().trim().min(1).max(120).optional(),
|
|
4572
|
+
signInBody: external_exports.string().max(240).optional(),
|
|
4573
|
+
signInAction: external_exports.string().trim().min(1).max(80).optional(),
|
|
4574
|
+
signUpAction: external_exports.string().trim().min(1).max(80).optional()
|
|
4575
|
+
}).strict();
|
|
4576
|
+
var presentationSchema = external_exports.object({
|
|
4577
|
+
panel: external_exports.object({
|
|
4578
|
+
surface: external_exports.enum(["solid", "glass"]).optional(),
|
|
4579
|
+
elevation: external_exports.enum(["soft", "dramatic"]).optional(),
|
|
4580
|
+
border: external_exports.enum(["subtle", "strong"]).optional(),
|
|
4581
|
+
radius: external_exports.number().int().min(0).max(64).optional()
|
|
4582
|
+
}).strict().optional(),
|
|
4583
|
+
launcher: external_exports.object({
|
|
4584
|
+
style: external_exports.enum(["pill", "bubble"]).optional(),
|
|
4585
|
+
icon: external_exports.enum(["brand-mark", "chat", "none"]).optional(),
|
|
4586
|
+
size: external_exports.enum(["md", "lg"]).optional(),
|
|
4587
|
+
status: external_exports.enum(["none", "session"]).optional(),
|
|
4588
|
+
effect: external_exports.enum(["none", "pulse"]).optional()
|
|
4589
|
+
}).strict().optional(),
|
|
4590
|
+
header: external_exports.object({
|
|
4591
|
+
mark: external_exports.enum(["none", "brand-mark", "status"]).optional(),
|
|
4592
|
+
badge: external_exports.object({
|
|
4593
|
+
text: external_exports.string().trim().min(1).max(80),
|
|
4594
|
+
tone: external_exports.enum(["neutral", "success", "warning", "danger"]).optional(),
|
|
4595
|
+
indicator: external_exports.boolean().optional()
|
|
4596
|
+
}).strict().optional()
|
|
4597
|
+
}).strict().optional(),
|
|
4598
|
+
composer: external_exports.object({
|
|
4599
|
+
leadingIcon: external_exports.enum(["none", "brand-mark"]).optional(),
|
|
4600
|
+
sendIcon: external_exports.enum(["arrow-up", "paper-plane"]).optional(),
|
|
4601
|
+
shape: external_exports.enum(["rounded", "pill"]).optional()
|
|
4602
|
+
}).strict().optional(),
|
|
4603
|
+
messages: external_exports.object({
|
|
4604
|
+
userStyle: external_exports.enum(["bubble", "accent"]).optional(),
|
|
4605
|
+
assistantStyle: external_exports.enum(["plain", "bubble"]).optional()
|
|
4606
|
+
}).strict().optional()
|
|
4607
|
+
}).strict();
|
|
4608
|
+
var assistantUiSchema = external_exports.object({
|
|
4609
|
+
theme: external_exports.enum(["auto", "light", "dark", "invert"]).optional(),
|
|
4610
|
+
layout: external_exports.object({
|
|
4611
|
+
mode: external_exports.enum(["floating", "inline", "drawer"]).optional(),
|
|
4612
|
+
position: external_exports.enum(["bottom-left", "bottom-center", "bottom-right"]).optional(),
|
|
4613
|
+
panelWidth: external_exports.number().int().min(280).max(1200).optional(),
|
|
4614
|
+
panelMinHeight: external_exports.number().int().min(240).max(1600).optional(),
|
|
4615
|
+
panelMaxHeight: external_exports.number().int().min(320).max(2400).optional(),
|
|
4616
|
+
edgeOffset: external_exports.number().int().min(0).max(96).optional(),
|
|
4617
|
+
zIndex: external_exports.number().int().min(0).max(2147483647).optional(),
|
|
4618
|
+
density: external_exports.enum(["compact", "comfortable"]).optional(),
|
|
4619
|
+
mobileFullscreen: external_exports.boolean().optional()
|
|
4620
|
+
}).strict().optional(),
|
|
4621
|
+
behavior: external_exports.object({
|
|
4622
|
+
startOpen: external_exports.boolean().optional(),
|
|
4623
|
+
closeOnEscape: external_exports.boolean().optional(),
|
|
4624
|
+
closeOnOutsideClick: external_exports.boolean().optional(),
|
|
4625
|
+
showLauncher: external_exports.boolean().optional(),
|
|
4626
|
+
showHeader: external_exports.boolean().optional(),
|
|
4627
|
+
showAvatars: external_exports.boolean().optional(),
|
|
4628
|
+
showTimestamps: external_exports.boolean().optional(),
|
|
4629
|
+
showPoweredBy: external_exports.boolean().optional(),
|
|
4630
|
+
showConfirmationDetails: external_exports.boolean().optional()
|
|
4631
|
+
}).strict().optional(),
|
|
4632
|
+
labels: labelsSchema.optional(),
|
|
4633
|
+
presentation: presentationSchema.optional(),
|
|
4634
|
+
suggestedPrompts: external_exports.array(external_exports.string().trim().min(1).max(240)).max(8).optional(),
|
|
4635
|
+
privacyUrl: httpsUrlSchema.optional(),
|
|
4636
|
+
termsUrl: httpsUrlSchema.optional(),
|
|
4637
|
+
locale: external_exports.string().trim().min(2).max(35).optional(),
|
|
4638
|
+
direction: external_exports.enum(["ltr", "rtl", "auto"]).optional()
|
|
4639
|
+
}).strict();
|
|
4640
|
+
var assistantConfigurationSchema = external_exports.object({ branding: brandingSchema.optional(), assistant: assistantUiSchema.optional() }).strict();
|
|
4641
|
+
function parseAssistantConfiguration(value) {
|
|
4642
|
+
const parsed = assistantConfigurationSchema.safeParse(value);
|
|
4643
|
+
return parsed.success ? parsed.data : void 0;
|
|
4644
|
+
}
|
|
4645
|
+
function isHttpsUrl(value) {
|
|
4646
|
+
try {
|
|
4647
|
+
return new URL(value).protocol === "https:";
|
|
4648
|
+
} catch {
|
|
4649
|
+
return false;
|
|
4650
|
+
}
|
|
4651
|
+
}
|
|
4652
|
+
function isSecureBrowserAssetUrl(value) {
|
|
4653
|
+
try {
|
|
4654
|
+
const url = new URL(value);
|
|
4655
|
+
if (url.protocol === "https:") return true;
|
|
4656
|
+
if (url.protocol !== "http:") return false;
|
|
4657
|
+
return url.hostname === "localhost" || url.hostname === "127.0.0.1" || url.hostname === "[::1]";
|
|
4658
|
+
} catch {
|
|
4659
|
+
return false;
|
|
4660
|
+
}
|
|
4661
|
+
}
|
|
4662
|
+
function isBoundedRgbaColor(value) {
|
|
4663
|
+
const match = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0(?:\.\d{1,6})?|1(?:\.0{1,6})?)\s*\)$/.exec(
|
|
4664
|
+
value
|
|
4665
|
+
);
|
|
4666
|
+
if (match === null) return false;
|
|
4667
|
+
return match.slice(1, 4).every((channel) => Number(channel) <= 255);
|
|
4668
|
+
}
|
|
4669
|
+
|
|
4498
4670
|
// src/client-errors.ts
|
|
4499
4671
|
async function refusalCode(response) {
|
|
4500
4672
|
try {
|
|
@@ -4528,6 +4700,7 @@ function parseSession(value) {
|
|
|
4528
4700
|
if (typeof value.token !== "string" || typeof value.expiresAt !== "string" || typeof value.endpoints.turns !== "string" || typeof value.endpoints.toolConfirmations !== "string" || interactions !== void 0 && typeof interactions !== "string" || apps !== void 0 && typeof apps !== "string" || sandbox !== void 0 && typeof sandbox !== "string" || transcript !== void 0 && typeof transcript !== "string") {
|
|
4529
4701
|
throw clientError("session_failed", "Assistant session response is invalid", true);
|
|
4530
4702
|
}
|
|
4703
|
+
const configuration = parseAssistantConfiguration(value.configuration);
|
|
4531
4704
|
return {
|
|
4532
4705
|
token: value.token,
|
|
4533
4706
|
expiresAt: value.expiresAt,
|
|
@@ -4539,7 +4712,7 @@ function parseSession(value) {
|
|
|
4539
4712
|
...typeof sandbox === "string" ? { sandbox } : {},
|
|
4540
4713
|
...typeof transcript === "string" ? { transcript } : {}
|
|
4541
4714
|
},
|
|
4542
|
-
...
|
|
4715
|
+
...configuration === void 0 ? {} : { configuration },
|
|
4543
4716
|
...isRecord2(value.resume) && typeof value.resume.tool === "string" ? { resume: { tool: value.resume.tool } } : {}
|
|
4544
4717
|
};
|
|
4545
4718
|
}
|
|
@@ -4633,9 +4806,9 @@ function toAssistantClientEvent(event) {
|
|
|
4633
4806
|
return { event: "unrecognized", data: { name: event.event, payload: value } };
|
|
4634
4807
|
}
|
|
4635
4808
|
function isViewAvailableDetail(value) {
|
|
4636
|
-
return hasString(value, "id") && hasString(value, "tool") && typeof value.resourceUri === "string" && value.resourceUri.startsWith("ui://") && hasOptionalString(value.title) && (value.replayed === void 0 || value.replayed === true) && isJsonValue(value.result, 0) && hasOptionalJson(value.arguments) && hasOptionalString(value.html) && (value.resourceMeta === void 0 || isRecord3(value.resourceMeta)) && (value.allowedOpenDomains === void 0 || Array.isArray(value.allowedOpenDomains) && value.allowedOpenDomains.every(
|
|
4809
|
+
return hasString(value, "id") && hasString(value, "tool") && typeof value.resourceUri === "string" && value.resourceUri.startsWith("ui://") && hasOptionalString(value.title) && (value.replayed === void 0 || value.replayed === true) && isJsonValue(value.result, 0) && hasOptionalJson(value.arguments) && hasOptionalString(value.html) && (value.resourceMeta === void 0 || isRecord3(value.resourceMeta)) && (value.allowedOpenDomains === void 0 || Array.isArray(value.allowedOpenDomains) && value.allowedOpenDomains.every(isHttpsUrl2)) && hasOptionalTurnId(value);
|
|
4637
4810
|
}
|
|
4638
|
-
function
|
|
4811
|
+
function isHttpsUrl2(value) {
|
|
4639
4812
|
if (typeof value !== "string") return false;
|
|
4640
4813
|
try {
|
|
4641
4814
|
return new URL(value).protocol === "https:";
|
|
@@ -5509,9 +5682,10 @@ function appInteractionStopped(action) {
|
|
|
5509
5682
|
export {
|
|
5510
5683
|
copyAssistantModelContext,
|
|
5511
5684
|
copyAssistantPageContext,
|
|
5685
|
+
parseAssistantConfiguration,
|
|
5512
5686
|
AssistantClientError,
|
|
5513
5687
|
publicConfigurationUrl,
|
|
5514
5688
|
sessionSourceKey,
|
|
5515
5689
|
createAssistantClient
|
|
5516
5690
|
};
|
|
5517
|
-
//# sourceMappingURL=chunk-
|
|
5691
|
+
//# sourceMappingURL=chunk-WJV4MJUR.js.map
|