@agent-native/core 0.19.3 → 0.20.1

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 (144) hide show
  1. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  2. package/dist/agent/engine/builder-engine.js +12 -1
  3. package/dist/agent/engine/builder-engine.js.map +1 -1
  4. package/dist/agent/production-agent.d.ts.map +1 -1
  5. package/dist/agent/production-agent.js +5 -0
  6. package/dist/agent/production-agent.js.map +1 -1
  7. package/dist/agent/thread-data-builder.d.ts +17 -0
  8. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  9. package/dist/agent/thread-data-builder.js +210 -0
  10. package/dist/agent/thread-data-builder.js.map +1 -1
  11. package/dist/cli/code-agent-executor.d.ts +2 -0
  12. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  13. package/dist/cli/code-agent-executor.js +39 -1
  14. package/dist/cli/code-agent-executor.js.map +1 -1
  15. package/dist/cli/code-agent-runs.d.ts +3 -0
  16. package/dist/cli/code-agent-runs.d.ts.map +1 -1
  17. package/dist/cli/code-agent-runs.js +3 -0
  18. package/dist/cli/code-agent-runs.js.map +1 -1
  19. package/dist/client/AgentPanel.d.ts.map +1 -1
  20. package/dist/client/AgentPanel.js +8 -3
  21. package/dist/client/AgentPanel.js.map +1 -1
  22. package/dist/client/AssistantChat.d.ts +58 -0
  23. package/dist/client/AssistantChat.d.ts.map +1 -1
  24. package/dist/client/AssistantChat.js +122 -50
  25. package/dist/client/AssistantChat.js.map +1 -1
  26. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  27. package/dist/client/agent-chat-adapter.js +172 -13
  28. package/dist/client/agent-chat-adapter.js.map +1 -1
  29. package/dist/client/agent-sidebar-state.d.ts +2 -0
  30. package/dist/client/agent-sidebar-state.d.ts.map +1 -1
  31. package/dist/client/agent-sidebar-state.js +32 -0
  32. package/dist/client/agent-sidebar-state.js.map +1 -1
  33. package/dist/client/code-agent-chat-adapter.d.ts +81 -0
  34. package/dist/client/code-agent-chat-adapter.d.ts.map +1 -0
  35. package/dist/client/code-agent-chat-adapter.js +297 -0
  36. package/dist/client/code-agent-chat-adapter.js.map +1 -0
  37. package/dist/client/composer/PromptComposer.d.ts +11 -0
  38. package/dist/client/composer/PromptComposer.d.ts.map +1 -1
  39. package/dist/client/composer/PromptComposer.js +7 -3
  40. package/dist/client/composer/PromptComposer.js.map +1 -1
  41. package/dist/client/composer/TiptapComposer.d.ts +12 -1
  42. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  43. package/dist/client/composer/TiptapComposer.js +16 -7
  44. package/dist/client/composer/TiptapComposer.js.map +1 -1
  45. package/dist/client/composer/index.d.ts +1 -0
  46. package/dist/client/composer/index.d.ts.map +1 -1
  47. package/dist/client/composer/index.js +1 -0
  48. package/dist/client/composer/index.js.map +1 -1
  49. package/dist/client/composer/prompt-attachments.d.ts +11 -0
  50. package/dist/client/composer/prompt-attachments.d.ts.map +1 -0
  51. package/dist/client/composer/prompt-attachments.js +45 -0
  52. package/dist/client/composer/prompt-attachments.js.map +1 -0
  53. package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
  54. package/dist/client/conversation/AgentConversation.js +124 -1
  55. package/dist/client/conversation/AgentConversation.js.map +1 -1
  56. package/dist/client/conversation/code-agent-transcript.d.ts +25 -0
  57. package/dist/client/conversation/code-agent-transcript.d.ts.map +1 -0
  58. package/dist/client/conversation/code-agent-transcript.js +200 -0
  59. package/dist/client/conversation/code-agent-transcript.js.map +1 -0
  60. package/dist/client/conversation/index.d.ts +2 -1
  61. package/dist/client/conversation/index.d.ts.map +1 -1
  62. package/dist/client/conversation/index.js +1 -0
  63. package/dist/client/conversation/index.js.map +1 -1
  64. package/dist/client/conversation/types.d.ts +8 -0
  65. package/dist/client/conversation/types.d.ts.map +1 -1
  66. package/dist/client/conversation/types.js.map +1 -1
  67. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts.map +1 -1
  68. package/dist/client/conversation/use-near-bottom-autoscroll.js +26 -9
  69. package/dist/client/conversation/use-near-bottom-autoscroll.js.map +1 -1
  70. package/dist/client/index.d.ts +5 -2
  71. package/dist/client/index.d.ts.map +1 -1
  72. package/dist/client/index.js +5 -2
  73. package/dist/client/index.js.map +1 -1
  74. package/dist/client/settings/useBuilderStatus.d.ts +2 -0
  75. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  76. package/dist/client/settings/useBuilderStatus.js +21 -3
  77. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  78. package/dist/client/settings/useBuilderStatus.spec.js +16 -2
  79. package/dist/client/settings/useBuilderStatus.spec.js.map +1 -1
  80. package/dist/client/sse-event-processor.d.ts.map +1 -1
  81. package/dist/client/sse-event-processor.js +3 -0
  82. package/dist/client/sse-event-processor.js.map +1 -1
  83. package/dist/client/use-chat-models.d.ts +6 -1
  84. package/dist/client/use-chat-models.d.ts.map +1 -1
  85. package/dist/client/use-chat-models.js +7 -3
  86. package/dist/client/use-chat-models.js.map +1 -1
  87. package/dist/client/use-chat-models.spec.d.ts +2 -0
  88. package/dist/client/use-chat-models.spec.d.ts.map +1 -0
  89. package/dist/client/use-chat-models.spec.js +39 -0
  90. package/dist/client/use-chat-models.spec.js.map +1 -0
  91. package/dist/code-agents/background-controller.d.ts.map +1 -1
  92. package/dist/code-agents/background-controller.js +16 -0
  93. package/dist/code-agents/background-controller.js.map +1 -1
  94. package/dist/code-agents/index.d.ts +2 -0
  95. package/dist/code-agents/index.d.ts.map +1 -1
  96. package/dist/code-agents/index.js +2 -0
  97. package/dist/code-agents/index.js.map +1 -1
  98. package/dist/code-agents/prompt-attachments.d.ts +11 -0
  99. package/dist/code-agents/prompt-attachments.d.ts.map +1 -0
  100. package/dist/code-agents/prompt-attachments.js +23 -0
  101. package/dist/code-agents/prompt-attachments.js.map +1 -0
  102. package/dist/code-agents/transcript-normalizer.js +14 -5
  103. package/dist/code-agents/transcript-normalizer.js.map +1 -1
  104. package/dist/code-agents/transcript-order.d.ts +16 -0
  105. package/dist/code-agents/transcript-order.d.ts.map +1 -0
  106. package/dist/code-agents/transcript-order.js +47 -0
  107. package/dist/code-agents/transcript-order.js.map +1 -0
  108. package/dist/db/client.d.ts.map +1 -1
  109. package/dist/db/client.js +1 -0
  110. package/dist/db/client.js.map +1 -1
  111. package/dist/extensions/routes.d.ts.map +1 -1
  112. package/dist/extensions/routes.js +18 -14
  113. package/dist/extensions/routes.js.map +1 -1
  114. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
  115. package/dist/integrations/pending-tasks-retry-job.js +11 -1
  116. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  117. package/dist/integrations/plugin.d.ts.map +1 -1
  118. package/dist/integrations/plugin.js +6 -1
  119. package/dist/integrations/plugin.js.map +1 -1
  120. package/dist/mcp/build-server.d.ts.map +1 -1
  121. package/dist/mcp/build-server.js +6 -2
  122. package/dist/mcp/build-server.js.map +1 -1
  123. package/dist/secrets/substitution.d.ts +18 -0
  124. package/dist/secrets/substitution.d.ts.map +1 -1
  125. package/dist/secrets/substitution.js +74 -0
  126. package/dist/secrets/substitution.js.map +1 -1
  127. package/dist/server/deep-link.d.ts +0 -18
  128. package/dist/server/deep-link.d.ts.map +1 -1
  129. package/dist/server/deep-link.js +2 -1
  130. package/dist/server/deep-link.js.map +1 -1
  131. package/dist/server/open-route.d.ts.map +1 -1
  132. package/dist/server/open-route.js +23 -4
  133. package/dist/server/open-route.js.map +1 -1
  134. package/dist/shared/agent-sidebar-url.d.ts +6 -0
  135. package/dist/shared/agent-sidebar-url.d.ts.map +1 -0
  136. package/dist/shared/agent-sidebar-url.js +37 -0
  137. package/dist/shared/agent-sidebar-url.js.map +1 -0
  138. package/dist/shared/index.d.ts +1 -0
  139. package/dist/shared/index.d.ts.map +1 -1
  140. package/dist/shared/index.js +1 -0
  141. package/dist/shared/index.js.map +1 -1
  142. package/dist/styles/agent-conversation.css +403 -0
  143. package/dist/styles/agent-native.css +2 -0
  144. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-sidebar-url.js","sourceRoot":"","sources":["../../src/shared/agent-sidebar-url.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AACxD,MAAM,CAAC,MAAM,gCAAgC,GAAG,QAAQ,CAAC;AAEzD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAExD,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ;YAClB,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;YACpB,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,GAAG,CAAC,QAAQ,KAAK,sBAAsB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,SAAiB;IAC9D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ;YAClB,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;YACpB,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAClB,yBAAyB,EACzB,gCAAgC,CACjC,CAAC;QACF,IAAI,QAAQ;YAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["export const AGENT_NATIVE_OPEN_PATH = \"/_agent-native/open\";\nexport const AGENT_SIDEBAR_QUERY_PARAM = \"agentSidebar\";\nexport const AGENT_SIDEBAR_QUERY_VALUE_CLOSED = \"closed\";\n\nconst RELATIVE_URL_BASE = \"http://agent-native.invalid\";\n\nfunction hasUrlScheme(urlOrPath: string): boolean {\n return /^[a-z][a-z0-9+.-]*:/i.test(urlOrPath);\n}\n\nexport function isAgentNativeOpenDeepLink(urlOrPath: string): boolean {\n try {\n const absolute = hasUrlScheme(urlOrPath);\n const url = absolute\n ? new URL(urlOrPath)\n : new URL(urlOrPath, RELATIVE_URL_BASE);\n if (url.protocol === \"agentnative:\" && url.host === \"open\") return true;\n return url.pathname === AGENT_NATIVE_OPEN_PATH;\n } catch {\n return false;\n }\n}\n\nexport function withCollapsedAgentSidebarParam(urlOrPath: string): string {\n try {\n const absolute = hasUrlScheme(urlOrPath);\n const url = absolute\n ? new URL(urlOrPath)\n : new URL(urlOrPath, RELATIVE_URL_BASE);\n url.searchParams.set(\n AGENT_SIDEBAR_QUERY_PARAM,\n AGENT_SIDEBAR_QUERY_VALUE_CLOSED,\n );\n if (absolute) return url.toString();\n return `${url.pathname}${url.search}${url.hash}`;\n } catch {\n return urlOrPath;\n }\n}\n"]}
@@ -5,4 +5,5 @@ export { truncate } from "./truncate.js";
5
5
  export { llmConnectionTrackingProperties, normalizeLlmConnection, type LlmConnectionStatus, } from "./llm-connection.js";
6
6
  export { DISPATCH_WORKSPACE_ROOT_REDIRECTS, RESERVED_WORKSPACE_APP_IDS, assertValidWorkspaceAppId, getWorkspaceAppIdValidationError, isValidWorkspaceAppIdFormat, } from "./workspace-app-id.js";
7
7
  export { DEFAULT_WORKSPACE_APP_AUDIENCE, WORKSPACE_APP_AUDIENCES, normalizeWorkspaceAppAudience, normalizeWorkspaceAppPathList, workspaceAppAudienceFromEnv, workspaceAppAudienceFromPackageJson, workspaceAppRouteAccessFromEnv, workspaceAppRouteAccessFromPackageJson, type WorkspaceAppRouteAccess, type WorkspaceAppRouteAccessFromConfig, type WorkspaceAppAudience, } from "./workspace-app-audience.js";
8
+ export { AGENT_NATIVE_OPEN_PATH, AGENT_SIDEBAR_QUERY_PARAM, AGENT_SIDEBAR_QUERY_VALUE_CLOSED, isAgentNativeOpenDeepLink, withCollapsedAgentSidebarParam, } from "./agent-sidebar-url.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,sCAAsC,EACtC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,sCAAsC,EACtC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC"}
@@ -5,4 +5,5 @@ export { truncate } from "./truncate.js";
5
5
  export { llmConnectionTrackingProperties, normalizeLlmConnection, } from "./llm-connection.js";
6
6
  export { DISPATCH_WORKSPACE_ROOT_REDIRECTS, RESERVED_WORKSPACE_APP_IDS, assertValidWorkspaceAppId, getWorkspaceAppIdValidationError, isValidWorkspaceAppIdFormat, } from "./workspace-app-id.js";
7
7
  export { DEFAULT_WORKSPACE_APP_AUDIENCE, WORKSPACE_APP_AUDIENCES, normalizeWorkspaceAppAudience, normalizeWorkspaceAppPathList, workspaceAppAudienceFromEnv, workspaceAppAudienceFromPackageJson, workspaceAppRouteAccessFromEnv, workspaceAppRouteAccessFromPackageJson, } from "./workspace-app-audience.js";
8
+ export { AGENT_NATIVE_OPEN_PATH, AGENT_SIDEBAR_QUERY_PARAM, AGENT_SIDEBAR_QUERY_VALUE_CLOSED, isAgentNativeOpenDeepLink, withCollapsedAgentSidebarParam, } from "./agent-sidebar-url.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,sCAAsC,GAIvC,MAAM,6BAA6B,CAAC","sourcesContent":["export {\n agentChat,\n type AgentChatMessage,\n type AgentChatCallOptions,\n type AgentChatResponse,\n} from \"./agent-chat.js\";\nexport { agentEnv, type EnvVar } from \"./agent-env.js\";\nexport { extractOAuthStateAppId } from \"./oauth-state.js\";\nexport { truncate } from \"./truncate.js\";\nexport {\n llmConnectionTrackingProperties,\n normalizeLlmConnection,\n type LlmConnectionStatus,\n} from \"./llm-connection.js\";\nexport {\n DISPATCH_WORKSPACE_ROOT_REDIRECTS,\n RESERVED_WORKSPACE_APP_IDS,\n assertValidWorkspaceAppId,\n getWorkspaceAppIdValidationError,\n isValidWorkspaceAppIdFormat,\n} from \"./workspace-app-id.js\";\nexport {\n DEFAULT_WORKSPACE_APP_AUDIENCE,\n WORKSPACE_APP_AUDIENCES,\n normalizeWorkspaceAppAudience,\n normalizeWorkspaceAppPathList,\n workspaceAppAudienceFromEnv,\n workspaceAppAudienceFromPackageJson,\n workspaceAppRouteAccessFromEnv,\n workspaceAppRouteAccessFromPackageJson,\n type WorkspaceAppRouteAccess,\n type WorkspaceAppRouteAccessFromConfig,\n type WorkspaceAppAudience,\n} from \"./workspace-app-audience.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAe,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,sCAAsC,GAIvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC","sourcesContent":["export {\n agentChat,\n type AgentChatMessage,\n type AgentChatCallOptions,\n type AgentChatResponse,\n} from \"./agent-chat.js\";\nexport { agentEnv, type EnvVar } from \"./agent-env.js\";\nexport { extractOAuthStateAppId } from \"./oauth-state.js\";\nexport { truncate } from \"./truncate.js\";\nexport {\n llmConnectionTrackingProperties,\n normalizeLlmConnection,\n type LlmConnectionStatus,\n} from \"./llm-connection.js\";\nexport {\n DISPATCH_WORKSPACE_ROOT_REDIRECTS,\n RESERVED_WORKSPACE_APP_IDS,\n assertValidWorkspaceAppId,\n getWorkspaceAppIdValidationError,\n isValidWorkspaceAppIdFormat,\n} from \"./workspace-app-id.js\";\nexport {\n DEFAULT_WORKSPACE_APP_AUDIENCE,\n WORKSPACE_APP_AUDIENCES,\n normalizeWorkspaceAppAudience,\n normalizeWorkspaceAppPathList,\n workspaceAppAudienceFromEnv,\n workspaceAppAudienceFromPackageJson,\n workspaceAppRouteAccessFromEnv,\n workspaceAppRouteAccessFromPackageJson,\n type WorkspaceAppRouteAccess,\n type WorkspaceAppRouteAccessFromConfig,\n type WorkspaceAppAudience,\n} from \"./workspace-app-audience.js\";\nexport {\n AGENT_NATIVE_OPEN_PATH,\n AGENT_SIDEBAR_QUERY_PARAM,\n AGENT_SIDEBAR_QUERY_VALUE_CLOSED,\n isAgentNativeOpenDeepLink,\n withCollapsedAgentSidebarParam,\n} from \"./agent-sidebar-url.js\";\n"]}
@@ -0,0 +1,403 @@
1
+ /* Shared conversation surface used by Code chat and other host-owned chats. */
2
+ .agent-conversation {
3
+ position: relative;
4
+ }
5
+
6
+ .agent-conversation__error {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: 8px;
10
+ padding: 8px 10px;
11
+ border: 1px solid hsl(var(--destructive) / 0.24);
12
+ border-radius: var(--radius);
13
+ background: hsl(var(--destructive) / 0.08);
14
+ color: hsl(var(--destructive-foreground));
15
+ font-size: 12px;
16
+ }
17
+
18
+ .agent-conversation__empty {
19
+ min-height: 180px;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ gap: 6px;
24
+ color: hsl(var(--muted-foreground));
25
+ font-size: 12px;
26
+ }
27
+
28
+ .agent-conversation__empty span {
29
+ color: hsl(var(--muted-foreground));
30
+ }
31
+
32
+ .agent-conversation__scroll-bottom {
33
+ position: absolute;
34
+ right: 18px;
35
+ bottom: 92px;
36
+ z-index: 2;
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ width: 28px;
41
+ height: 28px;
42
+ border: 1px solid hsl(var(--border));
43
+ border-radius: 999px;
44
+ background: hsl(var(--popover));
45
+ color: hsl(var(--foreground));
46
+ box-shadow: 0 10px 30px hsl(var(--background) / 0.28);
47
+ cursor: pointer;
48
+ }
49
+
50
+ .agent-conversation-message {
51
+ display: flex;
52
+ width: 100%;
53
+ }
54
+
55
+ .agent-conversation-message--user {
56
+ justify-content: flex-end;
57
+ }
58
+
59
+ .agent-conversation-message--assistant,
60
+ .agent-conversation-message--system {
61
+ justify-content: flex-start;
62
+ }
63
+
64
+ .agent-conversation-message__body {
65
+ min-width: 0;
66
+ max-width: min(100%, 880px);
67
+ }
68
+
69
+ .agent-conversation-message--user .agent-conversation-message__body {
70
+ max-width: min(78%, 720px);
71
+ padding: 9px 11px;
72
+ border-radius: calc(var(--radius) + 4px);
73
+ background: hsl(var(--muted));
74
+ }
75
+
76
+ .agent-conversation-message--pending .agent-conversation-message__body {
77
+ opacity: 0.72;
78
+ }
79
+
80
+ .agent-conversation-message__part + .agent-conversation-message__part {
81
+ margin-top: 10px;
82
+ }
83
+
84
+ .agent-conversation-message__part--tool,
85
+ .agent-conversation-message__part--notice,
86
+ .agent-conversation-message__part--artifact {
87
+ display: block;
88
+ }
89
+
90
+ .agent-conversation-markdown {
91
+ color: hsl(var(--foreground) / 0.82);
92
+ font-size: 13px;
93
+ line-height: 1.6;
94
+ overflow-wrap: anywhere;
95
+ }
96
+
97
+ .agent-conversation-message--user .agent-conversation-markdown {
98
+ color: hsl(var(--foreground) / 0.92);
99
+ }
100
+
101
+ .agent-conversation-markdown > :first-child {
102
+ margin-top: 0;
103
+ }
104
+
105
+ .agent-conversation-markdown > :last-child {
106
+ margin-bottom: 0;
107
+ }
108
+
109
+ .agent-conversation-markdown p,
110
+ .agent-conversation-markdown ul,
111
+ .agent-conversation-markdown ol,
112
+ .agent-conversation-markdown pre {
113
+ margin: 0 0 10px;
114
+ }
115
+
116
+ .agent-conversation-markdown ul,
117
+ .agent-conversation-markdown ol {
118
+ padding-left: 20px;
119
+ }
120
+
121
+ .agent-conversation-markdown li {
122
+ margin: 3px 0;
123
+ padding-left: 2px;
124
+ }
125
+
126
+ .agent-conversation-markdown li > p {
127
+ margin: 0;
128
+ }
129
+
130
+ .agent-conversation-markdown strong {
131
+ color: hsl(var(--foreground) / 0.92);
132
+ font-weight: 650;
133
+ }
134
+
135
+ .agent-conversation-markdown a {
136
+ color: #60a5fa;
137
+ text-decoration: underline;
138
+ text-underline-offset: 2px;
139
+ cursor: pointer;
140
+ }
141
+
142
+ .agent-conversation-markdown a:hover {
143
+ color: #93c5fd;
144
+ }
145
+
146
+ .agent-conversation-markdown code {
147
+ border-radius: 4px;
148
+ background: hsl(var(--muted));
149
+ padding: 1px 4px;
150
+ font-size: 12px;
151
+ }
152
+
153
+ .agent-conversation-markdown pre {
154
+ max-width: 100%;
155
+ overflow: auto;
156
+ padding: 10px;
157
+ border-radius: var(--radius);
158
+ background: hsl(var(--muted) / 0.72);
159
+ }
160
+
161
+ .agent-conversation-markdown pre code {
162
+ display: block;
163
+ padding: 0;
164
+ background: transparent;
165
+ white-space: pre;
166
+ }
167
+
168
+ .agent-conversation-shiki {
169
+ margin: 0 0 10px;
170
+ border-radius: var(--radius);
171
+ overflow: hidden;
172
+ font-size: 12px;
173
+ }
174
+
175
+ .agent-conversation-shiki pre {
176
+ margin: 0;
177
+ padding: 10px 12px;
178
+ overflow-x: auto;
179
+ background: var(--shiki-light-bg, hsl(var(--muted) / 0.72));
180
+ color: var(--shiki-light, hsl(var(--foreground)));
181
+ }
182
+
183
+ .agent-conversation-shiki pre code {
184
+ background: transparent;
185
+ padding: 0;
186
+ font-size: inherit;
187
+ color: inherit;
188
+ white-space: pre;
189
+ }
190
+
191
+ .agent-conversation-shiki pre span {
192
+ color: var(--shiki-light);
193
+ background: var(--shiki-light-bg);
194
+ }
195
+
196
+ .dark .agent-conversation-shiki pre {
197
+ background: var(--shiki-dark-bg, hsl(var(--muted) / 0.72));
198
+ color: var(--shiki-dark, hsl(var(--foreground)));
199
+ }
200
+
201
+ .dark .agent-conversation-shiki pre span {
202
+ color: var(--shiki-dark);
203
+ background: var(--shiki-dark-bg);
204
+ }
205
+
206
+ @media (prefers-color-scheme: dark) {
207
+ :root:not(.light) .agent-conversation-shiki pre {
208
+ background: var(--shiki-dark-bg, hsl(var(--muted) / 0.72));
209
+ color: var(--shiki-dark, hsl(var(--foreground)));
210
+ }
211
+ :root:not(.light) .agent-conversation-shiki pre span {
212
+ color: var(--shiki-dark);
213
+ background: var(--shiki-dark-bg);
214
+ }
215
+ }
216
+
217
+ .agent-conversation-tool {
218
+ width: 100%;
219
+ border: 1px solid hsl(var(--border) / 0.9);
220
+ border-radius: var(--radius);
221
+ background: hsl(var(--card) / 0.58);
222
+ color: hsl(var(--muted-foreground));
223
+ font-size: 12px;
224
+ box-sizing: border-box;
225
+ }
226
+
227
+ .agent-conversation-tool summary,
228
+ .agent-conversation-tool:not(details) {
229
+ display: flex;
230
+ align-items: center;
231
+ gap: 8px;
232
+ min-height: 32px;
233
+ padding: 0 10px;
234
+ }
235
+
236
+ .agent-conversation-tool summary {
237
+ cursor: pointer;
238
+ }
239
+
240
+ .agent-conversation-tool__icon {
241
+ display: inline-flex;
242
+ color: hsl(var(--foreground) / 0.7);
243
+ }
244
+
245
+ .agent-conversation-tool__name {
246
+ color: hsl(var(--foreground) / 0.82);
247
+ font-weight: 500;
248
+ }
249
+
250
+ .agent-conversation-tool__summary {
251
+ margin-left: auto;
252
+ font-size: 11px;
253
+ }
254
+
255
+ .agent-conversation-tool__chevron {
256
+ transition: transform 140ms ease;
257
+ }
258
+
259
+ .agent-conversation-tool[open] .agent-conversation-tool__chevron {
260
+ transform: rotate(180deg);
261
+ }
262
+
263
+ .agent-conversation-tool__details {
264
+ display: grid;
265
+ gap: 8px;
266
+ padding: 0 10px 10px;
267
+ }
268
+
269
+ .agent-conversation-tool__details pre {
270
+ max-height: 220px;
271
+ overflow: auto;
272
+ margin: 0;
273
+ padding: 8px;
274
+ border-radius: calc(var(--radius) - 2px);
275
+ background: hsl(var(--muted));
276
+ color: hsl(var(--foreground) / 0.72);
277
+ font-size: 11px;
278
+ line-height: 1.45;
279
+ white-space: pre-wrap;
280
+ }
281
+
282
+ .agent-conversation-tool__details strong {
283
+ display: block;
284
+ margin-bottom: 5px;
285
+ color: hsl(var(--foreground) / 0.86);
286
+ font-size: 10px;
287
+ }
288
+
289
+ .agent-conversation-notice,
290
+ .agent-conversation-artifact {
291
+ display: flex;
292
+ align-items: flex-start;
293
+ gap: 8px;
294
+ max-width: min(100%, 760px);
295
+ padding: 9px 10px;
296
+ border-radius: var(--radius);
297
+ font-size: 12px;
298
+ }
299
+
300
+ .agent-conversation-notice {
301
+ border: 1px solid hsl(var(--border));
302
+ background: hsl(var(--muted) / 0.55);
303
+ color: hsl(var(--foreground) / 0.78);
304
+ }
305
+
306
+ .agent-conversation-notice--warning {
307
+ border-color: hsl(45 90% 50% / 0.22);
308
+ background: hsl(45 90% 50% / 0.07);
309
+ }
310
+
311
+ .agent-conversation-notice--error {
312
+ border-color: hsl(var(--destructive) / 0.24);
313
+ background: hsl(var(--destructive) / 0.08);
314
+ }
315
+
316
+ .agent-conversation-notice strong {
317
+ display: block;
318
+ margin-bottom: 2px;
319
+ color: hsl(var(--foreground) / 0.88);
320
+ }
321
+
322
+ .agent-conversation-artifact {
323
+ border: 1px solid hsl(var(--border));
324
+ background: hsl(var(--card) / 0.58);
325
+ color: hsl(var(--muted-foreground));
326
+ }
327
+
328
+ .agent-conversation-artifact code {
329
+ min-width: 0;
330
+ overflow: hidden;
331
+ text-overflow: ellipsis;
332
+ white-space: nowrap;
333
+ }
334
+
335
+ .agent-conversation-artifact a {
336
+ display: inline-flex;
337
+ align-items: center;
338
+ gap: 5px;
339
+ margin-left: auto;
340
+ color: hsl(var(--muted-foreground));
341
+ text-decoration: none;
342
+ }
343
+
344
+ .agent-conversation-message__attachments {
345
+ display: flex;
346
+ flex-wrap: wrap;
347
+ gap: 6px;
348
+ margin-bottom: 6px;
349
+ }
350
+
351
+ .agent-conversation-attachment {
352
+ display: inline-flex;
353
+ align-items: center;
354
+ gap: 6px;
355
+ padding: 4px 8px;
356
+ border-radius: calc(var(--radius) - 2px);
357
+ background: hsl(var(--muted));
358
+ font-size: 11px;
359
+ color: hsl(var(--muted-foreground));
360
+ max-width: 220px;
361
+ overflow: hidden;
362
+ }
363
+
364
+ .agent-conversation-attachment--image {
365
+ flex-direction: column;
366
+ align-items: flex-start;
367
+ padding: 4px;
368
+ gap: 4px;
369
+ }
370
+
371
+ .agent-conversation-attachment__image {
372
+ display: block;
373
+ max-width: 200px;
374
+ max-height: 140px;
375
+ border-radius: calc(var(--radius) - 4px);
376
+ object-fit: contain;
377
+ }
378
+
379
+ .agent-conversation-attachment__name {
380
+ overflow: hidden;
381
+ text-overflow: ellipsis;
382
+ white-space: nowrap;
383
+ max-width: 200px;
384
+ }
385
+
386
+ .agent-conversation-attachment--image .agent-conversation-attachment__name {
387
+ padding: 0 4px 2px;
388
+ }
389
+
390
+ .agent-conversation-attachment__size {
391
+ flex-shrink: 0;
392
+ color: hsl(var(--muted-foreground) / 0.7);
393
+ }
394
+
395
+ .agent-conversation-spin {
396
+ animation: agent-conversation-spin 1s linear infinite;
397
+ }
398
+
399
+ @keyframes agent-conversation-spin {
400
+ to {
401
+ transform: rotate(360deg);
402
+ }
403
+ }
@@ -22,6 +22,8 @@
22
22
  * file maps those to Tailwind utilities like `bg-background`, `text-foreground`.
23
23
  */
24
24
 
25
+ @import "./agent-conversation.css";
26
+
25
27
  /* Scan @agent-native/core's compiled client output for Tailwind classes.
26
28
  Path is resolved relative to THIS file. After build, this CSS lives at
27
29
  dist/styles/agent-native.css, so `../client/**` resolves to dist/client/**. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.19.3",
3
+ "version": "0.20.1",
4
4
  "type": "module",
5
5
  "description": "Framework for agent-native application development — where AI agents and UI share state via files",
6
6
  "license": "MIT",