@agent-native/dispatch 0.41.0-nightly-20261102182626 → 0.41.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 +5 -50
- package/dist/routes/pages/_index.js +1 -1
- package/dist/routes/pages/_index.js.map +1 -1
- package/dist/routes/pages/_index.test.js +4 -4
- package/dist/routes/pages/_index.test.js.map +1 -1
- package/package.json +4 -4
- package/src/routes/pages/_index.test.ts +4 -6
- package/src/routes/pages/_index.tsx +1 -1
- package/src/styles/dispatch.css +27 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @agent-native/dispatch
|
|
2
2
|
|
|
3
|
-
## 0.41.0
|
|
3
|
+
## 0.41.0
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -9,55 +9,25 @@
|
|
|
9
9
|
### Patch Changes
|
|
10
10
|
|
|
11
11
|
- 4fa3202: Add `runtime.apiBaseUrl` (`AGENT_NATIVE_CONFIG_RUNTIME_API_BASE_URL`, or `window.__AGENT_NATIVE_CONFIG__.apiBaseUrl`) so a UI served from another origin can reach the app's server. `agentNativePath()` and `appApiPath()` return URLs on that server, requests addressed to it carry credentials, relative URLs are never rewritten (a host page that embeds the app keeps its own `/api` calls), and framework and template client code now build every server URL with those helpers; and origins in `CORS_ALLOWED_ORIGINS` are matched with the same normalization for credentialed responses and are trusted by the sign-in origin check. Sign-in from such a UI happens on the server and returns to the UI page through `/_agent-native/auth/ui-return`, which redirects only to those allowlisted origins. Preflights from allowed origins now also admit any extra request headers they ask for, and cookie-writing POSTs such as consent accept an origin listed in `CORS_ALLOWED_ORIGINS`.
|
|
12
|
+
- eeef9e4: Dispatch opens on the chat home instead of the apps list, the home heading is one type step smaller with room above it, and the Connect AI card sits inside the composer edges.
|
|
12
13
|
- 828d50e: Show Builder users where to find their workspace when they visit standalone Dispatch.
|
|
14
|
+
- Release all public npm packages with a patch version bump.
|
|
13
15
|
- c57b733: Fix workspace sign-in session creation for canonical Agent-Native apps after MCP tool visibility hardening.
|
|
14
16
|
- a0356c6: Lower the default usage alert from $100 a day to $20 a month, and move defaults still at $100 a day to the new limit. `USAGE_ALERT_DEFAULT_MONTHLY_USD` replaces `USAGE_ALERT_DEFAULT_DAILY_USD`, which stays as a deprecated alias.
|
|
15
17
|
- Updated dependencies [3a2fa31]
|
|
16
|
-
- Updated dependencies [7c3cfbb]
|
|
17
|
-
- Updated dependencies [d32865c]
|
|
18
|
-
- Updated dependencies [82ca04d]
|
|
19
|
-
- Updated dependencies [3a2fa31]
|
|
20
|
-
- Updated dependencies [26745fa]
|
|
21
|
-
- Updated dependencies [2f2ea8f]
|
|
22
|
-
- Updated dependencies [3a2fa31]
|
|
23
|
-
- Updated dependencies [4fa3202]
|
|
24
|
-
- Updated dependencies [2428fde]
|
|
25
18
|
- Updated dependencies [92d54bb]
|
|
26
|
-
- Updated dependencies [3a2fa31]
|
|
27
|
-
- Updated dependencies [252c80b]
|
|
28
19
|
- Updated dependencies [23cf2ea]
|
|
29
|
-
- Updated dependencies [9a70043]
|
|
30
|
-
- Updated dependencies [17abb90]
|
|
31
|
-
- Updated dependencies [cedda31]
|
|
32
|
-
- Updated dependencies [1a4191a]
|
|
33
20
|
- Updated dependencies [92d54bb]
|
|
34
|
-
- Updated dependencies [ee6264c]
|
|
35
|
-
- Updated dependencies [2428fde]
|
|
36
21
|
- Updated dependencies [92d54bb]
|
|
37
|
-
- Updated dependencies
|
|
38
|
-
- Updated dependencies [2f2ea8f]
|
|
22
|
+
- Updated dependencies
|
|
39
23
|
- Updated dependencies [8cdee8a]
|
|
40
|
-
- Updated dependencies [7704185]
|
|
41
|
-
- Updated dependencies [d7a6890]
|
|
42
24
|
- Updated dependencies [033d9ad]
|
|
43
25
|
- Updated dependencies [7138000]
|
|
44
|
-
- Updated dependencies [7138000]
|
|
45
|
-
- Updated dependencies [3a2fa31]
|
|
46
|
-
- Updated dependencies [3a2fa31]
|
|
47
|
-
- Updated dependencies [3a2fa31]
|
|
48
|
-
- Updated dependencies [3a2fa31]
|
|
49
|
-
- Updated dependencies [3a2fa31]
|
|
50
|
-
- Updated dependencies [2bdaaca]
|
|
51
|
-
- Updated dependencies [3e1db3b]
|
|
52
26
|
- Updated dependencies [3a2fa31]
|
|
53
27
|
- Updated dependencies [3a2fa31]
|
|
54
28
|
- Updated dependencies [2428fde]
|
|
55
29
|
- Updated dependencies [2428fde]
|
|
56
30
|
- Updated dependencies [eacd478]
|
|
57
|
-
- Updated dependencies [2ab8632]
|
|
58
|
-
- Updated dependencies [3a2fa31]
|
|
59
|
-
- Updated dependencies [3a2fa31]
|
|
60
|
-
- Updated dependencies [3a2fa31]
|
|
61
31
|
- Updated dependencies [95841d4]
|
|
62
32
|
- Updated dependencies [92d54bb]
|
|
63
33
|
- Updated dependencies [f527363]
|
|
@@ -65,16 +35,8 @@
|
|
|
65
35
|
- Updated dependencies [3a2fa31]
|
|
66
36
|
- Updated dependencies [3a2fa31]
|
|
67
37
|
- Updated dependencies [d795784]
|
|
68
|
-
- Updated dependencies [ab15bf1]
|
|
69
|
-
- Updated dependencies [3a2fa31]
|
|
70
|
-
- Updated dependencies [d8f90cd]
|
|
71
|
-
- Updated dependencies [a0356c6]
|
|
72
|
-
- Updated dependencies [3a2fa31]
|
|
73
38
|
- Updated dependencies [4699487]
|
|
74
|
-
-
|
|
75
|
-
- Updated dependencies [3a2fa31]
|
|
76
|
-
- @agent-native/core@0.223.0-nightly-20261102182626
|
|
77
|
-
- @agent-native/toolkit@0.223.0-nightly-20261102182626
|
|
39
|
+
- @agent-native/toolkit@0.223.0
|
|
78
40
|
|
|
79
41
|
## 0.40.44
|
|
80
42
|
|
|
@@ -1508,11 +1470,4 @@
|
|
|
1508
1470
|
|
|
1509
1471
|
- ac3acfa: Improve provider failure recovery and remove the retired Videos template from Dispatch app creation.
|
|
1510
1472
|
|
|
1511
|
-
## 0.31.2
|
|
1512
|
-
|
|
1513
|
-
### Patch Changes
|
|
1514
|
-
|
|
1515
|
-
- Updated dependencies [60b7e74]
|
|
1516
|
-
- @agent-native/toolkit@0.16.8
|
|
1517
|
-
|
|
1518
1473
|
For the full list of releases, see the [changelog archive](./changelog/archive/CHANGELOG.md).
|
|
@@ -18,7 +18,7 @@ export function meta() {
|
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
function buildTarget(url) {
|
|
21
|
-
return appPath(`/
|
|
21
|
+
return appPath(`/chat${url.search}${url.hash}`);
|
|
22
22
|
}
|
|
23
23
|
export function loader({ url }) {
|
|
24
24
|
throw withSsrHtmlContentType(redirect(buildTarget(url)), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/routes/pages/_index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAA2B,MAAM,cAAc,CAAC;AAEjE,MAAM,SAAS,GACb,8DAA8D,CAAC;AACjE,MAAM,eAAe,GACnB,iIAAiI,CAAC;AAEpI,MAAM,UAAU,IAAI;IAClB,OAAO;QACL,EAAE,KAAK,EAAE,SAAS,EAAE;QACpB;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;SACzB;QACD,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE;QACxD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/routes/pages/_index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAA2B,MAAM,cAAc,CAAC;AAEjE,MAAM,SAAS,GACb,8DAA8D,CAAC;AACjE,MAAM,eAAe,GACnB,iIAAiI,CAAC;AAEpI,MAAM,UAAU,IAAI;IAClB,OAAO;QACL,EAAE,KAAK,EAAE,SAAS,EAAE;QACpB;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;SACzB;QACD,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE;QACxD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7C,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,GAAG,EAAsB;IAChD,MAAM,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QACvD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,GAAG,EAAsB;IACtD,MAAM,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QACvD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { appPath } from \"@agent-native/core/client/api-path\";\nimport { withSsrHtmlContentType } from \"@agent-native/core/shared\";\nimport { redirect, type LoaderFunctionArgs } from \"react-router\";\n\nconst SEO_TITLE =\n \"Dispatch - Open Source workspace control plane for AI agents\";\nconst SEO_DESCRIPTION =\n \"Open Source workspace control plane for AI agents to manage apps, secrets, approvals, messages, jobs, and cross-app delegation.\";\n\nexport function meta() {\n return [\n { title: SEO_TITLE },\n {\n name: \"description\",\n content: SEO_DESCRIPTION,\n },\n { property: \"og:title\", content: SEO_TITLE },\n { property: \"og:description\", content: SEO_DESCRIPTION },\n { name: \"twitter:card\", content: \"summary\" },\n { name: \"twitter:title\", content: SEO_TITLE },\n { name: \"twitter:description\", content: SEO_DESCRIPTION },\n ];\n}\n\nfunction buildTarget(url: URL): string {\n return appPath(`/chat${url.search}${url.hash}`);\n}\n\nexport function loader({ url }: LoaderFunctionArgs) {\n throw withSsrHtmlContentType(redirect(buildTarget(url)), {\n varyByQuery: true,\n });\n}\n\nexport function clientLoader({ url }: LoaderFunctionArgs) {\n throw withSsrHtmlContentType(redirect(buildTarget(url)), {\n varyByQuery: true,\n });\n}\n\nexport function HydrateFallback() {\n return null;\n}\n\nexport default function IndexPage() {\n return null;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SSR_QUERY_CACHE_KEY_HEADER } from "@agent-native/core/shared";
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
3
|
import { clientLoader, loader } from "./_index.js";
|
|
4
|
-
function
|
|
4
|
+
function expectChatRedirect(routeLoader) {
|
|
5
5
|
let thrown;
|
|
6
6
|
try {
|
|
7
7
|
routeLoader({
|
|
@@ -14,16 +14,16 @@ function expectOverviewRedirect(routeLoader) {
|
|
|
14
14
|
expect(thrown).toBeInstanceOf(Response);
|
|
15
15
|
const response = thrown;
|
|
16
16
|
expect(response.status).toBe(302);
|
|
17
|
-
expect(response.headers.get("location")).toBe("/
|
|
17
|
+
expect(response.headers.get("location")).toBe("/chat?thread=thread-1");
|
|
18
18
|
expect(response.headers.get("content-type")).toBe("text/html; charset=utf-8");
|
|
19
19
|
expect(response.headers.get(SSR_QUERY_CACHE_KEY_HEADER)).toBe("query");
|
|
20
20
|
}
|
|
21
21
|
describe("Dispatch root route", () => {
|
|
22
22
|
it("marks the server redirect as cacheable HTML", () => {
|
|
23
|
-
|
|
23
|
+
expectChatRedirect(loader);
|
|
24
24
|
});
|
|
25
25
|
it("marks the client redirect as cacheable HTML", () => {
|
|
26
|
-
|
|
26
|
+
expectChatRedirect(clientLoader);
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
//# sourceMappingURL=_index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_index.test.js","sourceRoot":"","sources":["../../../src/routes/pages/_index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,SAAS,
|
|
1
|
+
{"version":3,"file":"_index.test.js","sourceRoot":"","sources":["../../../src/routes/pages/_index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,SAAS,kBAAkB,CAAC,WAAgD;IAC1E,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,WAAW,CAAC;YACV,GAAG,EAAE,IAAI,GAAG,CAAC,2CAA2C,CAAC;SACjD,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAkB,CAAC;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC9E,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { SSR_QUERY_CACHE_KEY_HEADER } from \"@agent-native/core/shared\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { clientLoader, loader } from \"./_index\";\n\nfunction expectChatRedirect(routeLoader: typeof loader | typeof clientLoader) {\n let thrown: unknown;\n try {\n routeLoader({\n url: new URL(\"https://dispatch.example/?thread=thread-1\"),\n } as never);\n } catch (error) {\n thrown = error;\n }\n\n expect(thrown).toBeInstanceOf(Response);\n const response = thrown as Response;\n expect(response.status).toBe(302);\n expect(response.headers.get(\"location\")).toBe(\"/chat?thread=thread-1\");\n expect(response.headers.get(\"content-type\")).toBe(\"text/html; charset=utf-8\");\n expect(response.headers.get(SSR_QUERY_CACHE_KEY_HEADER)).toBe(\"query\");\n}\n\ndescribe(\"Dispatch root route\", () => {\n it(\"marks the server redirect as cacheable HTML\", () => {\n expectChatRedirect(loader);\n });\n\n it(\"marks the client redirect as cacheable HTML\", () => {\n expectChatRedirect(clientLoader);\n });\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/dispatch",
|
|
3
|
-
"version": "0.41.0
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "Dispatch — workspace control plane for agent-native apps. Vault, integrations, destinations, scheduled jobs, and cross-app delegation, shipped as a single drop-in package.",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"tailwind-merge": "^3.5.0",
|
|
91
91
|
"vaul": "^1.1.2",
|
|
92
92
|
"zod": "^4.3.6",
|
|
93
|
-
"@agent-native/toolkit": "0.223.0
|
|
93
|
+
"@agent-native/toolkit": "0.223.0"
|
|
94
94
|
},
|
|
95
95
|
"devDependencies": {
|
|
96
96
|
"@react-router/dev": "^8.1.0",
|
|
@@ -104,10 +104,10 @@
|
|
|
104
104
|
"typescript-7": "npm:typescript@^7.0.2",
|
|
105
105
|
"vite": "8.1.0",
|
|
106
106
|
"vitest": "^4.1.5",
|
|
107
|
-
"@agent-native/core": "0.223.0
|
|
107
|
+
"@agent-native/core": "0.223.0"
|
|
108
108
|
},
|
|
109
109
|
"peerDependencies": {
|
|
110
|
-
"@agent-native/core": "0.
|
|
110
|
+
"@agent-native/core": ">=0.222.0-0",
|
|
111
111
|
"react": ">=19.2.7",
|
|
112
112
|
"react-dom": ">=19.2.7",
|
|
113
113
|
"react-router": ">=8"
|
|
@@ -3,9 +3,7 @@ import { describe, expect, it } from "vitest";
|
|
|
3
3
|
|
|
4
4
|
import { clientLoader, loader } from "./_index";
|
|
5
5
|
|
|
6
|
-
function
|
|
7
|
-
routeLoader: typeof loader | typeof clientLoader,
|
|
8
|
-
) {
|
|
6
|
+
function expectChatRedirect(routeLoader: typeof loader | typeof clientLoader) {
|
|
9
7
|
let thrown: unknown;
|
|
10
8
|
try {
|
|
11
9
|
routeLoader({
|
|
@@ -18,17 +16,17 @@ function expectOverviewRedirect(
|
|
|
18
16
|
expect(thrown).toBeInstanceOf(Response);
|
|
19
17
|
const response = thrown as Response;
|
|
20
18
|
expect(response.status).toBe(302);
|
|
21
|
-
expect(response.headers.get("location")).toBe("/
|
|
19
|
+
expect(response.headers.get("location")).toBe("/chat?thread=thread-1");
|
|
22
20
|
expect(response.headers.get("content-type")).toBe("text/html; charset=utf-8");
|
|
23
21
|
expect(response.headers.get(SSR_QUERY_CACHE_KEY_HEADER)).toBe("query");
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
describe("Dispatch root route", () => {
|
|
27
25
|
it("marks the server redirect as cacheable HTML", () => {
|
|
28
|
-
|
|
26
|
+
expectChatRedirect(loader);
|
|
29
27
|
});
|
|
30
28
|
|
|
31
29
|
it("marks the client redirect as cacheable HTML", () => {
|
|
32
|
-
|
|
30
|
+
expectChatRedirect(clientLoader);
|
|
33
31
|
});
|
|
34
32
|
});
|
package/src/styles/dispatch.css
CHANGED
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
.dispatch-chat-intro h1 {
|
|
59
59
|
margin: 0;
|
|
60
60
|
color: hsl(var(--foreground));
|
|
61
|
-
font-size: 2.
|
|
61
|
+
font-size: 2.25rem;
|
|
62
62
|
font-weight: 600;
|
|
63
63
|
letter-spacing: 0;
|
|
64
64
|
line-height: 1.12;
|
|
@@ -107,6 +107,32 @@
|
|
|
107
107
|
line-height: 1.625rem;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/* The surface class sits on an ancestor of the AgentKit section, so the
|
|
111
|
+
centered home state is matched by descendant selectors. */
|
|
112
|
+
.dispatch-chat-panel
|
|
113
|
+
.agentkit-chat[data-empty="true"][data-empty-composer-placement="center"]
|
|
114
|
+
.dispatch-chat-intro {
|
|
115
|
+
padding-top: clamp(2rem, 8vh, 4rem);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* The card's host can be wider than the composer stack, which agentkit caps
|
|
119
|
+
at the lane width minus 2rem. The cap mirrors that stack width and then
|
|
120
|
+
subtracts the same 2rem inset the percentage term does. */
|
|
121
|
+
.dispatch-chat-panel
|
|
122
|
+
.agentkit-chat[data-empty="true"][data-empty-composer-placement="center"]
|
|
123
|
+
.agent-builder-setup-card--attached {
|
|
124
|
+
inline-size: min(
|
|
125
|
+
calc(100% - 2rem),
|
|
126
|
+
calc(
|
|
127
|
+
var(
|
|
128
|
+
--agentkit-transcript-lane-width,
|
|
129
|
+
var(--agent-kit-conversation-max-width, 47rem)
|
|
130
|
+
) -
|
|
131
|
+
4rem
|
|
132
|
+
)
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
110
136
|
@media (max-width: 767px) {
|
|
111
137
|
.dispatch-chat-panel.agentkit-chat[data-empty="true"][data-empty-composer-placement="center"] {
|
|
112
138
|
padding: 1rem;
|