@agent-native/core 0.24.7 → 0.24.9

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.
Files changed (56) hide show
  1. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  2. package/dist/agent/engine/anthropic-engine.js +7 -2
  3. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  4. package/dist/agent/engine/translate-anthropic.d.ts +23 -1
  5. package/dist/agent/engine/translate-anthropic.d.ts.map +1 -1
  6. package/dist/agent/engine/translate-anthropic.js +43 -5
  7. package/dist/agent/engine/translate-anthropic.js.map +1 -1
  8. package/dist/agent/production-agent.d.ts.map +1 -1
  9. package/dist/agent/production-agent.js +28 -3
  10. package/dist/agent/production-agent.js.map +1 -1
  11. package/dist/agent/run-manager.d.ts +38 -6
  12. package/dist/agent/run-manager.d.ts.map +1 -1
  13. package/dist/agent/run-manager.js +81 -12
  14. package/dist/agent/run-manager.js.map +1 -1
  15. package/dist/agent/run-store.d.ts +33 -5
  16. package/dist/agent/run-store.d.ts.map +1 -1
  17. package/dist/agent/run-store.js +105 -13
  18. package/dist/agent/run-store.js.map +1 -1
  19. package/dist/agent/thread-data-builder.d.ts +27 -0
  20. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  21. package/dist/agent/thread-data-builder.js +178 -8
  22. package/dist/agent/thread-data-builder.js.map +1 -1
  23. package/dist/agent/types.d.ts +8 -0
  24. package/dist/agent/types.d.ts.map +1 -1
  25. package/dist/agent/types.js.map +1 -1
  26. package/dist/client/PoweredByBadge.d.ts +1 -1
  27. package/dist/client/PoweredByBadge.js +2 -2
  28. package/dist/client/PoweredByBadge.js.map +1 -1
  29. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  30. package/dist/client/agent-chat-adapter.js +20 -0
  31. package/dist/client/agent-chat-adapter.js.map +1 -1
  32. package/dist/client/api-path.d.ts.map +1 -1
  33. package/dist/client/api-path.js +37 -2
  34. package/dist/client/api-path.js.map +1 -1
  35. package/dist/client/composer/TiptapComposer.d.ts +2 -0
  36. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  37. package/dist/client/composer/TiptapComposer.js +13 -1
  38. package/dist/client/composer/TiptapComposer.js.map +1 -1
  39. package/dist/deploy/build.d.ts.map +1 -1
  40. package/dist/deploy/build.js +31 -9
  41. package/dist/deploy/build.js.map +1 -1
  42. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  43. package/dist/server/agent-chat-plugin.js +13 -3
  44. package/dist/server/agent-chat-plugin.js.map +1 -1
  45. package/dist/server/ssr-handler.d.ts.map +1 -1
  46. package/dist/server/ssr-handler.js +24 -8
  47. package/dist/server/ssr-handler.js.map +1 -1
  48. package/dist/shared/index.d.ts +1 -0
  49. package/dist/shared/index.d.ts.map +1 -1
  50. package/dist/shared/index.js +1 -0
  51. package/dist/shared/index.js.map +1 -1
  52. package/dist/shared/social-meta.d.ts +13 -0
  53. package/dist/shared/social-meta.d.ts.map +1 -0
  54. package/dist/shared/social-meta.js +26 -0
  55. package/dist/shared/social-meta.js.map +1 -0
  56. package/package.json +1 -1
@@ -9,10 +9,17 @@ function normalizeBasePath(value) {
9
9
  return `/${trimmed.replace(/^\/+/, "").replace(/\/+$/, "")}`;
10
10
  }
11
11
  function configuredBasePath() {
12
- const env = import.meta.env;
12
+ const env = clientEnv();
13
13
  const value = env?.VITE_APP_BASE_PATH ?? env?.APP_BASE_PATH ?? env?.BASE_URL;
14
14
  return typeof value === "string" ? normalizeBasePath(value) : "";
15
15
  }
16
+ function clientEnv() {
17
+ const importMetaEnv = import.meta.env;
18
+ const processEnv = globalThis.process?.env;
19
+ if (importMetaEnv && processEnv)
20
+ return { ...processEnv, ...importMetaEnv };
21
+ return importMetaEnv ?? processEnv;
22
+ }
16
23
  function pathDerivedBasePath() {
17
24
  if (typeof window === "undefined")
18
25
  return "";
@@ -22,9 +29,37 @@ function pathDerivedBasePath() {
22
29
  return "";
23
30
  return normalizeBasePath(pathname.slice(0, markerIndex));
24
31
  }
32
+ function pathMatchesBasePath(pathname, basePath) {
33
+ return pathname === basePath || pathname.startsWith(`${basePath}/`);
34
+ }
35
+ function isWorkspaceRuntime() {
36
+ const env = clientEnv();
37
+ return (env?.VITE_AGENT_NATIVE_WORKSPACE === "1" ||
38
+ env?.AGENT_NATIVE_WORKSPACE === "1" ||
39
+ typeof env?.VITE_AGENT_NATIVE_WORKSPACE_APPS_JSON === "string");
40
+ }
41
+ function workspacePathBasePath() {
42
+ if (typeof window === "undefined" || !isWorkspaceRuntime())
43
+ return "";
44
+ const segment = window.location.pathname.split("/").find(Boolean);
45
+ if (!segment || segment === "_agent-native" || segment === "api")
46
+ return "";
47
+ return normalizeBasePath(segment);
48
+ }
25
49
  export function appBasePath() {
26
50
  ensureEmbedAuthFetchInterceptor();
27
- return configuredBasePath() || pathDerivedBasePath();
51
+ const configured = configuredBasePath();
52
+ const derived = pathDerivedBasePath();
53
+ if (!configured)
54
+ return derived;
55
+ if (typeof window === "undefined")
56
+ return configured;
57
+ const pathname = window.location.pathname;
58
+ if (pathMatchesBasePath(pathname, configured))
59
+ return configured;
60
+ // In a multi-app workspace, a globally configured base can bleed from one
61
+ // app build into another. Prefer the live mount path when they disagree.
62
+ return derived || workspacePathBasePath() || configured;
28
63
  }
29
64
  export function appPath(path) {
30
65
  if (!path.startsWith("/"))
@@ -1 +1 @@
1
- {"version":3,"file":"api-path.js","sourceRoot":"","sources":["../../src/client/api-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEhD,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,GAAG,GACP,MAAM,CAAC,IAGR,CAAC,GAAG,CAAC;IACN,MAAM,KAAK,GAAG,GAAG,EAAE,kBAAkB,IAAI,GAAG,EAAE,aAAa,IAAI,GAAG,EAAE,QAAQ,CAAC;IAC7E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7D,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,+BAA+B,EAAE,CAAC;IAClC,OAAO,kBAAkB,EAAE,IAAI,mBAAmB,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GACd,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC","sourcesContent":["import { ensureEmbedAuthFetchInterceptor } from \"./embed-auth.js\";\n\nconst FRAMEWORK_ROUTE_PREFIX = \"/_agent-native\";\n\nfunction normalizeBasePath(value: string | undefined): string {\n if (!value || value === \"/\") return \"\";\n const trimmed = value.trim();\n if (!trimmed || trimmed === \"/\") return \"\";\n return `/${trimmed.replace(/^\\/+/, \"\").replace(/\\/+$/, \"\")}`;\n}\n\nfunction configuredBasePath(): string {\n const env = (\n import.meta as unknown as {\n env?: Record<string, string | boolean | undefined>;\n }\n ).env;\n const value = env?.VITE_APP_BASE_PATH ?? env?.APP_BASE_PATH ?? env?.BASE_URL;\n return typeof value === \"string\" ? normalizeBasePath(value) : \"\";\n}\n\nfunction pathDerivedBasePath(): string {\n if (typeof window === \"undefined\") return \"\";\n const pathname = window.location.pathname;\n const markerIndex = pathname.indexOf(FRAMEWORK_ROUTE_PREFIX);\n if (markerIndex <= 0) return \"\";\n return normalizeBasePath(pathname.slice(0, markerIndex));\n}\n\nexport function appBasePath(): string {\n ensureEmbedAuthFetchInterceptor();\n return configuredBasePath() || pathDerivedBasePath();\n}\n\nexport function appPath(path: string): string {\n if (!path.startsWith(\"/\")) return path;\n const basePath = appBasePath();\n if (!basePath) return path;\n if (path === basePath || path.startsWith(`${basePath}/`)) return path;\n return `${basePath}${path}`;\n}\n\nexport function appApiPath(path: string): string {\n const normalized =\n path === \"/api\" || path.startsWith(\"/api/\")\n ? path\n : `/api/${path.replace(/^\\/+/, \"\")}`;\n return appPath(normalized);\n}\n\nexport function agentNativePath(path: string): string {\n if (!path.startsWith(FRAMEWORK_ROUTE_PREFIX)) return path;\n return appPath(path);\n}\n"]}
1
+ {"version":3,"file":"api-path.js","sourceRoot":"","sources":["../../src/client/api-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEhD,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,EAAE,kBAAkB,IAAI,GAAG,EAAE,aAAa,IAAI,GAAG,EAAE,QAAQ,CAAC;IAC7E,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,aAAa,GACjB,MAAM,CAAC,IAGR,CAAC,GAAG,CAAC;IACN,MAAM,UAAU,GACd,UAGD,CAAC,OAAO,EAAE,GAAG,CAAC;IAEf,IAAI,aAAa,IAAI,UAAU;QAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5E,OAAO,aAAa,IAAI,UAAU,CAAC;AACrC,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7D,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;IAC7D,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,OAAO,CACL,GAAG,EAAE,2BAA2B,KAAK,GAAG;QACxC,GAAG,EAAE,sBAAsB,KAAK,GAAG;QACnC,OAAO,GAAG,EAAE,qCAAqC,KAAK,QAAQ,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAC5E,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,+BAA+B,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1C,IAAI,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAEjE,0EAA0E;IAC1E,yEAAyE;IACzE,OAAO,OAAO,IAAI,qBAAqB,EAAE,IAAI,UAAU,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,UAAU,GACd,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC","sourcesContent":["import { ensureEmbedAuthFetchInterceptor } from \"./embed-auth.js\";\n\nconst FRAMEWORK_ROUTE_PREFIX = \"/_agent-native\";\n\nfunction normalizeBasePath(value: string | undefined): string {\n if (!value || value === \"/\") return \"\";\n const trimmed = value.trim();\n if (!trimmed || trimmed === \"/\") return \"\";\n return `/${trimmed.replace(/^\\/+/, \"\").replace(/\\/+$/, \"\")}`;\n}\n\nfunction configuredBasePath(): string {\n const env = clientEnv();\n const value = env?.VITE_APP_BASE_PATH ?? env?.APP_BASE_PATH ?? env?.BASE_URL;\n return typeof value === \"string\" ? normalizeBasePath(value) : \"\";\n}\n\nfunction clientEnv(): Record<string, string | boolean | undefined> | undefined {\n const importMetaEnv = (\n import.meta as unknown as {\n env?: Record<string, string | boolean | undefined>;\n }\n ).env;\n const processEnv = (\n globalThis as typeof globalThis & {\n process?: { env?: Record<string, string | boolean | undefined> };\n }\n ).process?.env;\n\n if (importMetaEnv && processEnv) return { ...processEnv, ...importMetaEnv };\n return importMetaEnv ?? processEnv;\n}\n\nfunction pathDerivedBasePath(): string {\n if (typeof window === \"undefined\") return \"\";\n const pathname = window.location.pathname;\n const markerIndex = pathname.indexOf(FRAMEWORK_ROUTE_PREFIX);\n if (markerIndex <= 0) return \"\";\n return normalizeBasePath(pathname.slice(0, markerIndex));\n}\n\nfunction pathMatchesBasePath(pathname: string, basePath: string): boolean {\n return pathname === basePath || pathname.startsWith(`${basePath}/`);\n}\n\nfunction isWorkspaceRuntime(): boolean {\n const env = clientEnv();\n return (\n env?.VITE_AGENT_NATIVE_WORKSPACE === \"1\" ||\n env?.AGENT_NATIVE_WORKSPACE === \"1\" ||\n typeof env?.VITE_AGENT_NATIVE_WORKSPACE_APPS_JSON === \"string\"\n );\n}\n\nfunction workspacePathBasePath(): string {\n if (typeof window === \"undefined\" || !isWorkspaceRuntime()) return \"\";\n const segment = window.location.pathname.split(\"/\").find(Boolean);\n if (!segment || segment === \"_agent-native\" || segment === \"api\") return \"\";\n return normalizeBasePath(segment);\n}\n\nexport function appBasePath(): string {\n ensureEmbedAuthFetchInterceptor();\n const configured = configuredBasePath();\n const derived = pathDerivedBasePath();\n if (!configured) return derived;\n if (typeof window === \"undefined\") return configured;\n\n const pathname = window.location.pathname;\n if (pathMatchesBasePath(pathname, configured)) return configured;\n\n // In a multi-app workspace, a globally configured base can bleed from one\n // app build into another. Prefer the live mount path when they disagree.\n return derived || workspacePathBasePath() || configured;\n}\n\nexport function appPath(path: string): string {\n if (!path.startsWith(\"/\")) return path;\n const basePath = appBasePath();\n if (!basePath) return path;\n if (path === basePath || path.startsWith(`${basePath}/`)) return path;\n return `${basePath}${path}`;\n}\n\nexport function appApiPath(path: string): string {\n const normalized =\n path === \"/api\" || path.startsWith(\"/api/\")\n ? path\n : `/api/${path.replace(/^\\/+/, \"\")}`;\n return appPath(normalized);\n}\n\nexport function agentNativePath(path: string): string {\n if (!path.startsWith(FRAMEWORK_ROUTE_PREFIX)) return path;\n return appPath(path);\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import type { EditorView } from "@tiptap/pm/view";
2
3
  import type { SkillResult, Reference, SlashCommand, AgentComposerLayoutVariant } from "./types.js";
3
4
  import { type ReasoningEffort } from "../../shared/reasoning-effort.js";
4
5
  export interface TiptapComposerHandle {
@@ -14,6 +15,7 @@ export declare function canSubmitComposerContent(options: {
14
15
  disabled?: boolean;
15
16
  }): boolean;
16
17
  export declare function getComposerSubmitIntentForEnterKey(event: Pick<KeyboardEvent, "key" | "shiftKey" | "metaKey" | "ctrlKey">, isMac: boolean): ComposerSubmitIntent | null;
18
+ export declare function insertComposerHardBreakAndScrollIntoView(view: Pick<EditorView, "state" | "dispatch">): boolean;
17
19
  export declare function displayableComposerModeMessage(options: {
18
20
  messagePrefix: string;
19
21
  trimmedText: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapComposer.d.ts","sourceRoot":"","sources":["../../../src/client/composer/TiptapComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiptapComposer.d.ts","sourceRoot":"","sources":["../../../src/client/composer/TiptapComposer.tsx"],"names":[],"mappings":"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"}
@@ -36,6 +36,13 @@ export function getComposerSubmitIntentForEnterKey(event, isMac) {
36
36
  return "immediate";
37
37
  return null;
38
38
  }
39
+ export function insertComposerHardBreakAndScrollIntoView(view) {
40
+ const hardBreak = view.state.schema.nodes.hardBreak;
41
+ if (!hardBreak)
42
+ return false;
43
+ view.dispatch(view.state.tr.replaceSelectionWith(hardBreak.create()).scrollIntoView());
44
+ return true;
45
+ }
39
46
  export function displayableComposerModeMessage(options) {
40
47
  const modePrompt = options.trimmedText ||
41
48
  (options.attachmentCount > 0 ? "Use the attached context." : "");
@@ -685,8 +692,13 @@ export function TiptapComposer({ placeholder = "Message agent...", disabled = fa
685
692
  }
686
693
  return true;
687
694
  }
688
- // Submit on Enter. Shift+Enter falls through to Tiptap for a newline;
695
+ // Submit on Enter. Shift+Enter inserts a newline and keeps the
696
+ // composer scrolled to the caret.
689
697
  // Cmd+Enter on macOS / Ctrl+Enter elsewhere marks the submit queued.
698
+ if (event.key === "Enter" && event.shiftKey) {
699
+ event.preventDefault();
700
+ return insertComposerHardBreakAndScrollIntoView(view);
701
+ }
690
702
  const submitIntent = getComposerSubmitIntentForEnterKey(event, isMac);
691
703
  if (submitIntent) {
692
704
  event.preventDefault();