diff --git a/.changeset/hungry-bears-vanish.md b/.changeset/hungry-bears-vanish.md
new file mode 100644
index 000000000..010f067c7
--- /dev/null
+++ b/.changeset/hungry-bears-vanish.md
@@ -0,0 +1,5 @@
+---
+"gitbook": patch
+---
+
+AI response feedback buttons
diff --git a/bun.lock b/bun.lock
index 5488523d2..10bef11cc 100644
--- a/bun.lock
+++ b/bun.lock
@@ -246,7 +246,7 @@
"react-dom": "^19.0.0",
},
"catalog": {
- "@gitbook/api": "^0.128.0",
+ "@gitbook/api": "^0.129.0",
},
"packages": {
"@ai-sdk/provider": ["@ai-sdk/provider@1.1.0", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-0M+qjp+clUD0R1E5eWQFhxEvWLNaOtGQRUaBn8CUABnSKredagq92hUS9VjOzGsTm37xLfpaxl97AVtbeOsHew=="],
@@ -609,7 +609,7 @@
"@fortawesome/fontawesome-svg-core": ["@fortawesome/fontawesome-svg-core@6.6.0", "", { "dependencies": { "@fortawesome/fontawesome-common-types": "6.6.0" } }, "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg=="],
- "@gitbook/api": ["@gitbook/api@0.128.0", "", { "dependencies": { "event-iterator": "^2.0.0", "eventsource-parser": "^3.0.0" } }, "sha512-VO98hRGfUcFdwMplvFW49jz72/ew2waE7RCu+URKAY2AyPHAduv2zgluF5gF1VcDyuJM9PKFtsdsMtpUjI5sYg=="],
+ "@gitbook/api": ["@gitbook/api@0.129.0", "", { "dependencies": { "event-iterator": "^2.0.0", "eventsource-parser": "^3.0.0" } }, "sha512-Uh+k/BiDgdXj5a8BIlvwfEXdZNNlQMFDlGKmivUYH1gvFySqrTO6PjR/HtUOZEdNauAeWZmGoB8CLuwrVZS+YA=="],
"@gitbook/cache-tags": ["@gitbook/cache-tags@workspace:packages/cache-tags"],
diff --git a/package.json b/package.json
index e98bb9a83..b08f09e15 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,7 @@
"workspaces": {
"packages": ["packages/*"],
"catalog": {
- "@gitbook/api": "^0.128.0"
+ "@gitbook/api": "^0.129.0"
}
},
"patchedDependencies": {
diff --git a/packages/cache-tags/src/index.ts b/packages/cache-tags/src/index.ts
index a6d937792..f4350b717 100644
--- a/packages/cache-tags/src/index.ts
+++ b/packages/cache-tags/src/index.ts
@@ -90,7 +90,7 @@ export function getCacheTag(
| {
tag: 'translation';
organization: string;
- translationSettings: string;
+ translation: string;
}
): string {
switch (spec.tag) {
@@ -115,7 +115,7 @@ export function getCacheTag(
case 'openapi':
return `organization:${spec.organization}:openapi:${spec.openAPISpec}`;
case 'translation':
- return `organization:${spec.organization}:translation:${spec.translationSettings}`;
+ return `organization:${spec.organization}:translation:${spec.translation}`;
default:
assertNever(spec);
}
@@ -144,6 +144,10 @@ export function getComputedContentSourceCacheTags(
) {
const tags: string[] = [];
+ if (!('dependencies' in source)) {
+ return tags;
+ }
+
// We add the dependencies as tags, to ensure that the computed content is invalidated
// when the dependencies are updated.
const dependencies = Object.values(source.dependencies ?? {});
@@ -167,12 +171,12 @@ export function getComputedContentSourceCacheTags(
})
);
break;
- case 'translation-language':
+ case 'translation':
tags.push(
getCacheTag({
tag: 'translation',
organization: inContext.organizationId,
- translationSettings: dependency.ref.translationSettings,
+ translation: dependency.ref.translation,
})
);
break;
diff --git a/packages/gitbook/e2e/util.ts b/packages/gitbook/e2e/util.ts
index 22e6b2e1f..a38cc94f6 100644
--- a/packages/gitbook/e2e/util.ts
+++ b/packages/gitbook/e2e/util.ts
@@ -318,10 +318,6 @@ export function getCustomizationURL(partial: DeepPartial