@agent-native/core 0.209.1 → 0.209.2-nightly-20261015213030

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 (89) hide show
  1. package/dist/agent/actions/list-model-providers.js +15 -2
  2. package/dist/agent/app-model-defaults.d.ts +9 -13
  3. package/dist/agent/app-model-defaults.js +23 -5
  4. package/dist/agent/default-agent-engine.d.ts +5 -3
  5. package/dist/agent/default-agent-engine.js +38 -8
  6. package/dist/agent/durable-background.d.ts +2 -0
  7. package/dist/agent/durable-background.js +2 -0
  8. package/dist/agent/engine/registry.js +6 -0
  9. package/dist/agent/production-agent.js +58 -5
  10. package/dist/automations/service.d.ts +2 -0
  11. package/dist/automations/service.js +4 -1
  12. package/dist/client/analytics.js +48 -1
  13. package/dist/client/application-state.js +7 -2
  14. package/dist/client/chat/agentkit-protocol.js +12 -3
  15. package/dist/client/client-bootstrap.js +2 -0
  16. package/dist/client/problem-report.d.ts +11 -0
  17. package/dist/client/problem-report.js +19 -0
  18. package/dist/client/recorder.d.ts +88 -0
  19. package/dist/client/recorder.js +585 -0
  20. package/dist/client/route-chunk-recovery.js +4 -1
  21. package/dist/client/sign-out.js +2 -0
  22. package/dist/client/use-action.js +3 -0
  23. package/dist/collab/routes.d.ts +1 -1
  24. package/dist/collab/struct-routes.d.ts +1 -1
  25. package/dist/file-upload/actions/upload-image.d.ts +2 -2
  26. package/dist/integrations/google-docs-poller.js +12 -5
  27. package/dist/integrations/plugin.js +86 -19
  28. package/dist/integrations/request-scope.d.ts +16 -0
  29. package/dist/integrations/request-scope.js +27 -0
  30. package/dist/integrations/webhook-handler.d.ts +2 -0
  31. package/dist/integrations/webhook-handler.js +38 -18
  32. package/dist/jobs/background-automation-runner.d.ts +2 -0
  33. package/dist/jobs/background-automation-runner.js +25 -2
  34. package/dist/jobs/scheduler.js +36 -22
  35. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  36. package/dist/org/context.d.ts +12 -0
  37. package/dist/org/context.js +26 -11
  38. package/dist/org/index.d.ts +1 -1
  39. package/dist/problem-report/actions/read-problem-report.d.ts +27 -0
  40. package/dist/problem-report/actions/read-problem-report.js +103 -0
  41. package/dist/problem-report/actions/save-problem-report.d.ts +35 -0
  42. package/dist/problem-report/actions/save-problem-report.js +36 -0
  43. package/dist/problem-report/format.d.ts +7 -0
  44. package/dist/problem-report/format.js +110 -0
  45. package/dist/problem-report/schema.d.ts +41 -0
  46. package/dist/problem-report/schema.js +34 -0
  47. package/dist/progress/routes.d.ts +1 -1
  48. package/dist/provider-api/actions/custom-provider-registration.d.ts +8 -8
  49. package/dist/provider-api/actions/provider-api.d.ts +14 -14
  50. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  51. package/dist/resources/handlers.d.ts +1 -1
  52. package/dist/scripts/agent-engines/manage-agent-engine.js +9 -4
  53. package/dist/scripts/agent-engines/set-agent-engine.js +7 -1
  54. package/dist/server/action-discovery.js +11 -0
  55. package/dist/server/action-routes.js +2 -0
  56. package/dist/server/agent-chat-ai-setup.d.ts +2 -3
  57. package/dist/server/agent-chat-ai-setup.js +18 -4
  58. package/dist/server/agent-chat-plugin.js +97 -22
  59. package/dist/server/agent-chat-stream.d.ts +17 -5
  60. package/dist/server/agent-chat-stream.js +15 -0
  61. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  62. package/dist/server/agent-engine-default-model-route.d.ts +2 -2
  63. package/dist/server/agent-engine-default-model-route.js +39 -6
  64. package/dist/server/agent-engine-ollama-models-route.d.ts +2 -2
  65. package/dist/server/agent-engine-status-cache.d.ts +4 -0
  66. package/dist/server/agent-engine-status-cache.js +2 -0
  67. package/dist/server/agent-run-context.d.ts +9 -0
  68. package/dist/server/agent-run-context.js +82 -17
  69. package/dist/server/builder-browser.js +18 -3
  70. package/dist/server/chatgpt-subscription-oauth.js +12 -17
  71. package/dist/server/core-routes-plugin.d.ts +1 -0
  72. package/dist/server/core-routes-plugin.js +46 -9
  73. package/dist/server/loopback.d.ts +1 -0
  74. package/dist/server/loopback.js +30 -0
  75. package/dist/server/origin-allowlist.d.ts +2 -0
  76. package/dist/server/origin-allowlist.js +13 -1
  77. package/dist/server/realtime-token.d.ts +1 -1
  78. package/dist/server/request-context.d.ts +4 -0
  79. package/dist/templates/chat/app/components/layout/Sidebar.tsx +11 -1
  80. package/dist/templates/factory/.agents/skills/review-latest-feedback/SKILL.md +2 -2
  81. package/dist/templates/factory/.agents/skills/review-latest-feedback/references/channel-inventory.md +31 -0
  82. package/dist/triggers/dispatcher.js +117 -31
  83. package/docs/content/recorder.mdx +259 -0
  84. package/docs/content/template-clips-developers.mdx +9 -8
  85. package/docs/content/template-clips-features.mdx +8 -7
  86. package/package.json +5 -3
  87. package/src/templates/chat/app/components/layout/Sidebar.tsx +11 -1
  88. package/src/templates/factory/.agents/skills/review-latest-feedback/SKILL.md +2 -2
  89. package/src/templates/factory/.agents/skills/review-latest-feedback/references/channel-inventory.md +31 -0
@@ -138,14 +138,15 @@ Every operation is a TypeScript file in `templates/clips/actions/`, auto-mounted
138
138
 
139
139
  The Chrome extension attaches console and network diagnostics to a recording, and `save-browser-diagnostics` stores them. Every console and network entry carries a `tabId`.
140
140
 
141
- | Topic | Behavior |
142
- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
143
- | Tabs | Up to five per recording: the start tab, then tabs active in the last 10 minutes, most recent first. A tab the user switches to during the recording is attached too. |
144
- | Over five | The least recently active tab other than the focused one is detached. Its entries so far stay in the recording. |
145
- | Lookback | Up to 30 seconds before the recording started, limited by the page's own console history and resource timing list. These entries have negative `elapsedMs`. |
146
- | `tabId` | Set on every console and network entry. |
147
- | `method` | `"UNKNOWN"` on lookback network entries, which come from resource timing and have no HTTP method. Live requests report the method. |
148
- | Not collected | Request and response bodies and headers. Console and network entries are redacted before upload. |
141
+ | Topic | Behavior |
142
+ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
143
+ | Tabs | Up to five per recording: the start tab, then tabs active in the last 10 minutes, most recent first. A tab the user switches to during the recording is attached too. |
144
+ | Over five | The least recently active tab other than the focused one is detached. Its entries so far stay in the recording. |
145
+ | Lookback | Up to 30 seconds before the recording started, limited by the page's own console history and resource timing list. These entries have negative `elapsedMs`. |
146
+ | `tabId` | Set on every console and network entry. |
147
+ | `method` | `"UNKNOWN"` on lookback network entries, which come from resource timing and have no HTTP method. Live requests report the method. |
148
+ | App activity | On Agent-Native apps, the [recorder](/docs/recorder) events from the recorded tab. `save-recording-app-activity` stores them as a private file with a summary on the diagnostics row, and `get-recording-app-activity` reads them by time range. |
149
+ | Not collected | Request and response bodies and headers. Console and network entries are redacted before upload. |
149
150
 
150
151
  ## Data model
151
152
 
@@ -169,13 +169,14 @@ Earlier screen time attaches up to five minutes of local screen history from bef
169
169
 
170
170
  Install the Clips Chrome extension for a recording plus the browser logs and network activity from the tab you're debugging, useful for reporting product bugs and browser-only repros.
171
171
 
172
- | Topic | Behavior |
173
- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
174
- | Tabs | Up to five: the tab you started the recording from, then tabs you used in the last 10 minutes, most recent first. |
175
- | Switching | A tab you switch to during the recording is captured too. If more than five tabs are attached, the least recently used tab other than the one in focus is detached, and its logs so far stay in the recording. |
176
- | Lookback | Up to 30 seconds before the recording started, as far as the page still keeps its console history and resource timing. These entries have negative time offsets. |
177
- | Saved | Console messages, and fetch/XHR request info: method, a redacted URL, status, duration, and whether it failed. Each entry records the tab it came from. |
178
- | Never saved | Request or response bodies, headers, or cookies. |
172
+ | Topic | Behavior |
173
+ | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
174
+ | Tabs | Up to five: the tab you started the recording from, then tabs you used in the last 10 minutes, most recent first. |
175
+ | Switching | A tab you switch to during the recording is captured too. If more than five tabs are attached, the least recently used tab other than the one in focus is detached, and its logs so far stay in the recording. |
176
+ | Lookback | Up to 30 seconds before the recording started, as far as the page still keeps its console history and resource timing. These entries have negative time offsets. |
177
+ | Saved | Console messages, and fetch/XHR request info: method, a redacted URL, status, duration, and whether it failed. Each entry records the tab it came from. |
178
+ | App activity | On Agent-Native apps, the recorded tab's own actions, state changes, navigation, and errors from the [recorder](/docs/recorder), including the 30 seconds before the recording started. |
179
+ | Never saved | Request or response bodies, headers, or cookies. |
179
180
 
180
181
  Lookback network entries have no HTTP method, so their method is recorded as `UNKNOWN`. Requests made during the recording include the method. Tabs are tracked while the extension is running, so for the first 10 minutes after it starts, fewer than five tabs may qualify.
181
182
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.209.1",
3
+ "version": "0.209.2-nightly-20261015213030",
4
4
  "description": "The agentic application framework for building autonomous agents with intuitive UIs",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -216,6 +216,7 @@
216
216
  "./client/sign-in-landing": "./dist/client/sign-in-landing.js",
217
217
  "./client/oauth-popup": "./dist/client/oauth-popup.js",
218
218
  "./client/route-state": "./dist/client/route-state.js",
219
+ "./client/recorder": "./dist/client/recorder.js",
219
220
  "./observability/actions/list-observability-reviews": "./dist/observability/actions/list-observability-reviews.js",
220
221
  "./observability/actions/get-observability-review-app": "./dist/observability/actions/get-observability-review-app.js",
221
222
  "./observability/actions/get-observability-review-detail": "./dist/observability/actions/get-observability-review-detail.js",
@@ -469,6 +470,7 @@
469
470
  "./client/notifications": "./dist/client/notifications/index.js",
470
471
  "./progress": "./dist/progress/index.js",
471
472
  "./client/progress": "./dist/client/progress/index.js",
473
+ "./client/problem-report": "./dist/client/problem-report.js",
472
474
  "./triggers": "./dist/triggers/index.js",
473
475
  "./terminal": "./dist/client/terminal/index.js",
474
476
  "./terminal/server": "./dist/terminal/index.js",
@@ -704,7 +706,7 @@
704
706
  "yaml": "^2.9.0",
705
707
  "yjs": "^13.6.33",
706
708
  "zod": "^4.3.6",
707
- "@agent-native/agentkit": "^0.209.1",
709
+ "@agent-native/agentkit": "^0.209.2-nightly-20261015213030",
708
710
  "@agent-native/recap-cli": "^0.5.73"
709
711
  },
710
712
  "devDependencies": {
@@ -775,7 +777,7 @@
775
777
  "xlsx": "^0.18.5"
776
778
  },
777
779
  "peerDependencies": {
778
- "@agent-native/core-corpus": ">=0.196.0",
780
+ "@agent-native/core-corpus": "0.209.2-nightly-20261015213030",
779
781
  "@ai-sdk/anthropic": ">=3",
780
782
  "@ai-sdk/cohere": ">=3",
781
783
  "@ai-sdk/google": ">=3",
@@ -5,6 +5,7 @@ import {
5
5
  useChatThreads,
6
6
  type ChatThreadSummary,
7
7
  } from "@agent-native/toolkit/app/chat/agentkit-chat/rail";
8
+ import { ReportProblemButton } from "@agent-native/toolkit/app/feedback";
8
9
  import { OrgSwitcher } from "@agent-native/toolkit/app/org";
9
10
  import { openCommandMenu } from "@agent-native/toolkit/app/shared";
10
11
  import { AgentNativeIcon } from "@agent-native/toolkit/app/shared/AgentNativeIcon";
@@ -567,7 +568,16 @@ export function Sidebar({
567
568
  <ChatThreadsSection collapsed={collapsed} />
568
569
  </nav>
569
570
 
570
- <div className="mt-auto shrink-0 border-t border-sidebar-border p-2">
571
+ <div
572
+ className={cn(
573
+ "mt-auto shrink-0 px-2 pb-1",
574
+ collapsed && "flex justify-center",
575
+ )}
576
+ >
577
+ <ReportProblemButton variant={collapsed ? "icon" : "sidebar"} />
578
+ </div>
579
+
580
+ <div className="shrink-0 border-t border-sidebar-border p-2">
571
581
  <div
572
582
  className={cn(
573
583
  collapsed
@@ -126,8 +126,8 @@ record source, target, owner, exact action, and verification. Don't reopen
126
126
  closed fixes.
127
127
  **Clustered** closes one row but retains it.
128
128
 
129
- Enumerate channel parents newest backward through `next_cursor` until older
130
- than 5 days. Check reactions first; skip marked messages.
129
+ Enumerate channel parents newest-first for five days. For a permalink plus
130
+ newer scope, follow the [checked inventory procedure](references/channel-inventory.md).
131
131
 
132
132
  **`slack_search` can rank and truncate.** Use channel reads to enumerate parents
133
133
  and put their count in the recap. Sort targeted searches oldest-first and follow
@@ -0,0 +1,31 @@
1
+ # Channel parent inventory
2
+
3
+ Use this procedure before investigating, claiming, or using a CI rollup in
4
+ place of Slack source messages.
5
+
6
+ - Read each scoped channel newest-first, following `next_cursor` until the
7
+ five-day boundary, the inclusive permalink cutoff, or Slack exhaustion.
8
+ - For “this permalink and newer,” use the parent message's `ts` as the inclusive
9
+ `cutoffTs` and `permalinkTs`. Slack's `oldest` parameter is exclusive, so
10
+ query from at least one second earlier and filter locally by `ts >= cutoff`.
11
+ - Record every top-level parent returned in every fetched page before filtering
12
+ or triage. This includes duplicates, owned items, bots, and boundary overlap.
13
+ Reactions and ownership determine what to investigate, not what to inventory.
14
+ - Save `.tmp/feedback-inventory.json` with `cutoffTs`, optional `permalinkTs`,
15
+ and `channels`. Set `permalinkTs` when a supplied message anchors the scan. A channel
16
+ has `channelId`, `oldestQuery`, and `pages`. A page has its requested `cursor`,
17
+ returned `nextCursor`, `exhausted`, the full Slack `parentCount`, the complete
18
+ `sourceTimestamps` list copied from that response, and `parents`. Each parent
19
+ records `ts`, `reactionChecked: true`, `reactionSummary` (`none` if empty),
20
+ and `disposition`.
21
+ - Keep the source manifest separate from disposition rows. Copy every timestamp
22
+ and the count from the full Slack response before filtering; the checker
23
+ compares both lists, catches missing parents and requires the requested
24
+ permalink timestamp to appear. Continue until a fetched page contains a
25
+ parent older than cutoff or Slack reports exhaustion.
26
+ - Run `pnpm feedback:inventory-check -- .tmp/feedback-inventory.json`. It checks
27
+ boundary overlap, page/cursor order, count parity, timestamps, reaction state,
28
+ and dispositions. Include each channel's parent and page counts in the recap.
29
+
30
+ A grouped CI report or attachment is a discovery index, never a replacement for
31
+ the channel-parent inventory.