@agent-native/core 0.109.2 → 0.109.4
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +16 -0
- package/corpus/core/docs/content/agent-native-toolkit.mdx +46 -13
- package/corpus/core/docs/content/locales/ar-SA/agent-native-toolkit.mdx +79 -55
- package/corpus/core/docs/content/locales/ar-SA/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/ar-SA/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/ar-SA/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/de-DE/agent-native-toolkit.mdx +82 -54
- package/corpus/core/docs/content/locales/de-DE/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/de-DE/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/de-DE/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/es-ES/agent-native-toolkit.mdx +81 -52
- package/corpus/core/docs/content/locales/es-ES/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/es-ES/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/es-ES/toolkit-editors-canvases.mdx +21 -0
- package/corpus/core/docs/content/locales/fr-FR/agent-native-toolkit.mdx +84 -54
- package/corpus/core/docs/content/locales/fr-FR/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/fr-FR/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/fr-FR/toolkit-editors-canvases.mdx +21 -0
- package/corpus/core/docs/content/locales/hi-IN/agent-native-toolkit.mdx +69 -62
- package/corpus/core/docs/content/locales/hi-IN/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/hi-IN/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/hi-IN/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/ja-JP/agent-native-toolkit.mdx +69 -62
- package/corpus/core/docs/content/locales/ja-JP/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/ja-JP/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/ja-JP/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/ko-KR/agent-native-toolkit.mdx +69 -62
- package/corpus/core/docs/content/locales/ko-KR/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/ko-KR/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/ko-KR/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/pt-BR/agent-native-toolkit.mdx +82 -54
- package/corpus/core/docs/content/locales/pt-BR/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/pt-BR/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/pt-BR/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/zh-CN/agent-native-toolkit.mdx +69 -62
- package/corpus/core/docs/content/locales/zh-CN/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/zh-CN/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/zh-CN/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/locales/zh-TW/agent-native-toolkit.mdx +69 -62
- package/corpus/core/docs/content/locales/zh-TW/toolkit-capability-packages.mdx +21 -0
- package/corpus/core/docs/content/locales/zh-TW/toolkit-context-knowledge.mdx +12 -0
- package/corpus/core/docs/content/locales/zh-TW/toolkit-editors-canvases.mdx +17 -0
- package/corpus/core/docs/content/toolkit-capability-packages.mdx +52 -0
- package/corpus/core/docs/content/toolkit-context-knowledge.mdx +46 -0
- package/corpus/core/docs/content/toolkit-editors-canvases.mdx +55 -0
- package/corpus/core/package.json +35 -34
- package/corpus/core/src/cli/create.ts +57 -15
- package/corpus/core/src/cli/package-lifecycle.ts +2 -0
- package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +2 -0
- package/corpus/core/src/client/context-xray/ContextMeter.tsx +31 -111
- package/corpus/core/src/client/context-xray/ContextSegmentRow.tsx +8 -111
- package/corpus/core/src/client/context-xray/ContextTreemap.tsx +6 -111
- package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +31 -391
- package/corpus/core/src/client/context-xray/SegmentProvenancePopover.tsx +4 -52
- package/corpus/core/src/client/context-xray/format.ts +0 -33
- package/corpus/core/src/client/require-session.tsx +19 -3
- package/corpus/core/src/client/rich-markdown-editor/index.ts +42 -57
- package/corpus/core/src/client/rich-markdown-editor/uploadEditorImage.ts +2 -1
- package/corpus/core/src/client/use-action.ts +145 -2
- package/corpus/core/src/client/use-session.ts +79 -48
- package/corpus/core/src/client/visual-style-controls.tsx +1 -1088
- package/corpus/core/src/collab/agent-identity.ts +5 -22
- package/corpus/core/src/collab/client.ts +1 -53
- package/corpus/core/src/db/client.ts +13 -7
- package/corpus/core/src/db/create-get-db.ts +20 -13
- package/corpus/core/src/db/request-telemetry.ts +154 -0
- package/corpus/core/src/integrations/index.ts +1 -0
- package/corpus/core/src/integrations/plugin.ts +9 -3
- package/corpus/core/src/integrations/remote-push-delivery-job.ts +48 -0
- package/corpus/core/src/integrations/remote-push-delivery.ts +370 -0
- package/corpus/core/src/integrations/remote-push-store.ts +275 -26
- package/corpus/core/src/server/better-auth-instance.ts +11 -3
- package/corpus/core/src/server/core-routes-plugin.ts +36 -14
- package/corpus/core/src/server/framework-request-handler.ts +11 -1
- package/corpus/core/src/server/http-response-telemetry.ts +233 -31
- package/corpus/core/src/styles/rich-markdown-editor.css +1 -510
- package/corpus/core/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +19 -0
- package/corpus/core/src/testing.ts +1 -1
- package/corpus/core/src/vite/client.ts +3 -0
- package/corpus/templates/clips/actions/finalize-recording.ts +3 -1
- package/corpus/templates/clips/actions/set-mobile-capture-state.ts +4 -1
- package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -6
- package/corpus/templates/clips/changelog/2026-07-18-new-recording-is-now-emphasized-as-the-primary-action-in-the.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-18-recordings-now-remain-safely-recoverable-until-the-stored-me.md +6 -0
- package/corpus/templates/content/app/components/editor/VisualEditor.tsx +5 -3
- package/corpus/templates/content/app/components/editor/extensions/DragHandle.tsx +4 -4
- package/corpus/templates/content/package.json +25 -25
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +2 -1
- package/corpus/templates/design/package.json +1 -1
- package/corpus/templates/mail/package.json +9 -9
- package/corpus/templates/plan/.agents/skills/visual-plan/SKILL.md +2 -0
- package/corpus/templates/plan/app/components/editor/PlanDocumentEditor.tsx +8 -8
- package/corpus/templates/plan/app/components/editor/planSlashCommands.ts +6 -6
- package/corpus/templates/plan/app/components/plan/PlanImageNode.tsx +4 -7
- package/corpus/templates/plan/app/components/plan/PlanMarkdownEditor.tsx +6 -4
- package/corpus/templates/plan/app/components/plan/PlanVisualSurface.tsx +1 -1
- package/corpus/templates/plan/changelog/2026-07-18-visual-plans-now-open-on-wireframes-by-default-when-a-protot.md +6 -0
- package/corpus/templates/plan/package.json +3 -3
- package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +2 -2
- package/corpus/templates/slides/app/components/editor/TweaksPanel.tsx +2 -2
- package/corpus/templates/slides/package.json +13 -13
- package/corpus/templates/tasks/AGENTS.md +3 -0
- package/corpus/templates/tasks/actions/render-task-list-inline.ts +202 -0
- package/corpus/templates/tasks/changelog/2026-07-18-task-lists-can-now-appear-as-interactive-widgets-inline-in-c.md +6 -0
- package/corpus/templates/tasks/docs/features/f8-chat.mdx +2 -0
- package/corpus/templates/tasks/server/plugins/agent-chat.ts +2 -0
- package/dist/catalog.json +39 -1
- package/dist/cli/create.d.ts +10 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +49 -16
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/package-lifecycle.d.ts.map +1 -1
- package/dist/cli/package-lifecycle.js +2 -0
- package/dist/cli/package-lifecycle.js.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.js +2 -0
- package/dist/cli/skills-content/visual-plan-skill.js.map +1 -1
- package/dist/client/context-xray/ContextMeter.d.ts.map +1 -1
- package/dist/client/context-xray/ContextMeter.js +8 -23
- package/dist/client/context-xray/ContextMeter.js.map +1 -1
- package/dist/client/context-xray/ContextSegmentRow.d.ts.map +1 -1
- package/dist/client/context-xray/ContextSegmentRow.js +3 -19
- package/dist/client/context-xray/ContextSegmentRow.js.map +1 -1
- package/dist/client/context-xray/ContextTreemap.d.ts.map +1 -1
- package/dist/client/context-xray/ContextTreemap.js +3 -54
- package/dist/client/context-xray/ContextTreemap.js.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
- package/dist/client/context-xray/ContextXRayPanel.js +21 -163
- package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
- package/dist/client/context-xray/SegmentProvenancePopover.d.ts.map +1 -1
- package/dist/client/context-xray/SegmentProvenancePopover.js +3 -4
- package/dist/client/context-xray/SegmentProvenancePopover.js.map +1 -1
- package/dist/client/context-xray/format.d.ts +0 -4
- package/dist/client/context-xray/format.d.ts.map +1 -1
- package/dist/client/context-xray/format.js +0 -49
- package/dist/client/context-xray/format.js.map +1 -1
- package/dist/client/require-session.d.ts.map +1 -1
- package/dist/client/require-session.js +6 -3
- package/dist/client/require-session.js.map +1 -1
- package/dist/client/rich-markdown-editor/index.d.ts +1 -12
- package/dist/client/rich-markdown-editor/index.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/index.js +1 -12
- package/dist/client/rich-markdown-editor/index.js.map +1 -1
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts +1 -1
- package/dist/client/rich-markdown-editor/uploadEditorImage.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/uploadEditorImage.js.map +1 -1
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +117 -1
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-session.d.ts.map +1 -1
- package/dist/client/use-session.js +72 -50
- package/dist/client/use-session.js.map +1 -1
- package/dist/client/visual-style-controls.d.ts +1 -89
- package/dist/client/visual-style-controls.d.ts.map +1 -1
- package/dist/client/visual-style-controls.js +1 -498
- package/dist/client/visual-style-controls.js.map +1 -1
- package/dist/collab/agent-identity.d.ts +1 -14
- package/dist/collab/agent-identity.d.ts.map +1 -1
- package/dist/collab/agent-identity.js +1 -13
- package/dist/collab/agent-identity.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/client.d.ts +1 -19
- package/dist/collab/client.d.ts.map +1 -1
- package/dist/collab/client.js +1 -53
- package/dist/collab/client.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +7 -1
- package/dist/db/client.js.map +1 -1
- package/dist/db/create-get-db.d.ts +3 -6
- package/dist/db/create-get-db.d.ts.map +1 -1
- package/dist/db/create-get-db.js +9 -2
- package/dist/db/create-get-db.js.map +1 -1
- package/dist/db/request-telemetry.d.ts +23 -0
- package/dist/db/request-telemetry.d.ts.map +1 -0
- package/dist/db/request-telemetry.js +95 -0
- package/dist/db/request-telemetry.js.map +1 -0
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +8 -3
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/remote-push-delivery-job.d.ts +4 -0
- package/dist/integrations/remote-push-delivery-job.d.ts.map +1 -0
- package/dist/integrations/remote-push-delivery-job.js +44 -0
- package/dist/integrations/remote-push-delivery-job.js.map +1 -0
- package/dist/integrations/remote-push-delivery.d.ts +11 -0
- package/dist/integrations/remote-push-delivery.d.ts.map +1 -0
- package/dist/integrations/remote-push-delivery.js +265 -0
- package/dist/integrations/remote-push-delivery.js.map +1 -0
- package/dist/integrations/remote-push-store.d.ts +33 -0
- package/dist/integrations/remote-push-store.d.ts.map +1 -1
- package/dist/integrations/remote-push-store.js +195 -26
- package/dist/integrations/remote-push-store.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/better-auth-instance.js +7 -3
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts +8 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +23 -8
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +9 -1
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/http-response-telemetry.d.ts +3 -2
- package/dist/server/http-response-telemetry.d.ts.map +1 -1
- package/dist/server/http-response-telemetry.js +160 -27
- package/dist/server/http-response-telemetry.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/rich-markdown-editor.css +1 -510
- package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +19 -0
- package/dist/testing.d.ts +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +3 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/agent-native-toolkit.mdx +46 -13
- package/docs/content/locales/ar-SA/agent-native-toolkit.mdx +79 -55
- package/docs/content/locales/ar-SA/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/ar-SA/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/ar-SA/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/de-DE/agent-native-toolkit.mdx +82 -54
- package/docs/content/locales/de-DE/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/de-DE/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/de-DE/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/es-ES/agent-native-toolkit.mdx +81 -52
- package/docs/content/locales/es-ES/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/es-ES/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/es-ES/toolkit-editors-canvases.mdx +21 -0
- package/docs/content/locales/fr-FR/agent-native-toolkit.mdx +84 -54
- package/docs/content/locales/fr-FR/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/fr-FR/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/fr-FR/toolkit-editors-canvases.mdx +21 -0
- package/docs/content/locales/hi-IN/agent-native-toolkit.mdx +69 -62
- package/docs/content/locales/hi-IN/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/hi-IN/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/hi-IN/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/ja-JP/agent-native-toolkit.mdx +69 -62
- package/docs/content/locales/ja-JP/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/ja-JP/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/ja-JP/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/ko-KR/agent-native-toolkit.mdx +69 -62
- package/docs/content/locales/ko-KR/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/ko-KR/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/ko-KR/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/pt-BR/agent-native-toolkit.mdx +82 -54
- package/docs/content/locales/pt-BR/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/pt-BR/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/pt-BR/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/zh-CN/agent-native-toolkit.mdx +69 -62
- package/docs/content/locales/zh-CN/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/zh-CN/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/zh-CN/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/locales/zh-TW/agent-native-toolkit.mdx +69 -62
- package/docs/content/locales/zh-TW/toolkit-capability-packages.mdx +21 -0
- package/docs/content/locales/zh-TW/toolkit-context-knowledge.mdx +12 -0
- package/docs/content/locales/zh-TW/toolkit-editors-canvases.mdx +17 -0
- package/docs/content/toolkit-capability-packages.mdx +52 -0
- package/docs/content/toolkit-context-knowledge.mdx +46 -0
- package/docs/content/toolkit-editors-canvases.mdx +55 -0
- package/package.json +27 -26
- package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +19 -0
- package/corpus/core/src/client/rich-markdown-editor/BubbleToolbar.tsx +0 -253
- package/corpus/core/src/client/rich-markdown-editor/CodeBlockNode.tsx +0 -258
- package/corpus/core/src/client/rich-markdown-editor/DragHandle.ts +0 -1437
- package/corpus/core/src/client/rich-markdown-editor/ImageExtension.ts +0 -306
- package/corpus/core/src/client/rich-markdown-editor/RichMarkdownEditor.tsx +0 -80
- package/corpus/core/src/client/rich-markdown-editor/RunId.ts +0 -61
- package/corpus/core/src/client/rich-markdown-editor/SharedRichEditor.tsx +0 -321
- package/corpus/core/src/client/rich-markdown-editor/SlashCommandMenu.tsx +0 -310
- package/corpus/core/src/client/rich-markdown-editor/extensions.ts +0 -402
- package/corpus/core/src/client/rich-markdown-editor/gfmDoc.ts +0 -92
- package/corpus/core/src/client/rich-markdown-editor/surgical-apply.ts +0 -192
- package/corpus/core/src/client/rich-markdown-editor/useCollabReconcile.ts +0 -590
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts +0 -37
- package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/BubbleToolbar.js +0 -171
- package/dist/client/rich-markdown-editor/BubbleToolbar.js.map +0 -1
- package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts +0 -49
- package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/CodeBlockNode.js +0 -127
- package/dist/client/rich-markdown-editor/CodeBlockNode.js.map +0 -1
- package/dist/client/rich-markdown-editor/DragHandle.d.ts +0 -97
- package/dist/client/rich-markdown-editor/DragHandle.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/DragHandle.js +0 -1066
- package/dist/client/rich-markdown-editor/DragHandle.js.map +0 -1
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts +0 -63
- package/dist/client/rich-markdown-editor/ImageExtension.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/ImageExtension.js +0 -243
- package/dist/client/rich-markdown-editor/ImageExtension.js.map +0 -1
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +0 -51
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js +0 -37
- package/dist/client/rich-markdown-editor/RichMarkdownEditor.js.map +0 -1
- package/dist/client/rich-markdown-editor/RunId.d.ts +0 -28
- package/dist/client/rich-markdown-editor/RunId.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/RunId.js +0 -60
- package/dist/client/rich-markdown-editor/RunId.js.map +0 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts +0 -110
- package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/SharedRichEditor.js +0 -144
- package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +0 -1
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts +0 -41
- package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js +0 -221
- package/dist/client/rich-markdown-editor/SlashCommandMenu.js.map +0 -1
- package/dist/client/rich-markdown-editor/extensions.d.ts +0 -178
- package/dist/client/rich-markdown-editor/extensions.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/extensions.js +0 -224
- package/dist/client/rich-markdown-editor/extensions.js.map +0 -1
- package/dist/client/rich-markdown-editor/gfmDoc.d.ts +0 -24
- package/dist/client/rich-markdown-editor/gfmDoc.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/gfmDoc.js +0 -83
- package/dist/client/rich-markdown-editor/gfmDoc.js.map +0 -1
- package/dist/client/rich-markdown-editor/surgical-apply.d.ts +0 -66
- package/dist/client/rich-markdown-editor/surgical-apply.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/surgical-apply.js +0 -147
- package/dist/client/rich-markdown-editor/surgical-apply.js.map +0 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts +0 -110
- package/dist/client/rich-markdown-editor/useCollabReconcile.d.ts.map +0 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +0 -441
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +0 -1
|
@@ -1,18 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { EventHandler, H3Event } from "h3";
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
3
2
|
|
|
3
|
+
import {
|
|
4
|
+
getHeader,
|
|
5
|
+
getMethod,
|
|
6
|
+
getResponseStatus,
|
|
7
|
+
setResponseHeader,
|
|
8
|
+
setServerTiming,
|
|
9
|
+
} from "h3";
|
|
10
|
+
import type { H3Event } from "h3";
|
|
11
|
+
|
|
12
|
+
import {
|
|
13
|
+
claimStartupDatabaseTelemetry,
|
|
14
|
+
createDatabaseRequestTelemetry,
|
|
15
|
+
enterDatabaseRequestTelemetry,
|
|
16
|
+
type DatabaseRequestTelemetry,
|
|
17
|
+
} from "../db/request-telemetry.js";
|
|
4
18
|
import { getDatabaseRuntimeFingerprint } from "../db/runtime-diagnostics.js";
|
|
5
19
|
import { isMcpPublicPath } from "../mcp/route-paths.js";
|
|
6
20
|
import { track } from "../tracking/index.js";
|
|
7
21
|
import { getAppName } from "./app-name.js";
|
|
8
22
|
|
|
9
23
|
const TELEMETRY_EVENT_NAME = "http.response";
|
|
24
|
+
const REQUEST_ID_HEADER = "x-agent-native-request-id";
|
|
10
25
|
const TRACKING_INGEST_PATHS = new Set([
|
|
11
26
|
"/track",
|
|
12
27
|
"/api/analytics/track",
|
|
13
28
|
"/api/events/track",
|
|
14
29
|
"/_agent-native/track",
|
|
15
30
|
]);
|
|
31
|
+
const PROCESS_STATE_KEY = Symbol.for(
|
|
32
|
+
"@agent-native/core/http-response-telemetry.process-state",
|
|
33
|
+
);
|
|
34
|
+
type ProcessTelemetryState = { requestSequence: number };
|
|
35
|
+
type GlobalWithProcessTelemetry = typeof globalThis & {
|
|
36
|
+
[PROCESS_STATE_KEY]?: ProcessTelemetryState;
|
|
37
|
+
};
|
|
38
|
+
const globalRef = globalThis as GlobalWithProcessTelemetry;
|
|
39
|
+
const processState =
|
|
40
|
+
globalRef[PROCESS_STATE_KEY] ??
|
|
41
|
+
(globalRef[PROCESS_STATE_KEY] = { requestSequence: 0 });
|
|
42
|
+
const REQUEST_TELEMETRY_KEY = Symbol.for(
|
|
43
|
+
"@agent-native/core/http-response-telemetry.request",
|
|
44
|
+
);
|
|
45
|
+
const installedApps = new WeakSet<object>();
|
|
46
|
+
|
|
47
|
+
interface HttpRequestTelemetryState {
|
|
48
|
+
startedAt: number;
|
|
49
|
+
requestId: string;
|
|
50
|
+
processAgeAtStartMs: number;
|
|
51
|
+
requestSequence: number;
|
|
52
|
+
frameworkReadyWaitMs: number;
|
|
53
|
+
db: DatabaseRequestTelemetry;
|
|
54
|
+
startupDb?: DatabaseRequestTelemetry;
|
|
55
|
+
}
|
|
16
56
|
|
|
17
57
|
function envValue(key: string): string | undefined {
|
|
18
58
|
const value = process.env[key]?.trim();
|
|
@@ -27,9 +67,9 @@ function boolEnv(key: string): boolean {
|
|
|
27
67
|
|
|
28
68
|
function sampleRate(): number {
|
|
29
69
|
const raw = envValue("AGENT_NATIVE_HTTP_TELEMETRY_SAMPLE_RATE");
|
|
30
|
-
if (!raw) return 1;
|
|
70
|
+
if (!raw) return 0.1;
|
|
31
71
|
const parsed = Number.parseFloat(raw);
|
|
32
|
-
if (!Number.isFinite(parsed)) return 1;
|
|
72
|
+
if (!Number.isFinite(parsed)) return 0.1;
|
|
33
73
|
return Math.max(0, Math.min(1, parsed));
|
|
34
74
|
}
|
|
35
75
|
|
|
@@ -107,31 +147,63 @@ function organizationForHost(host: string | undefined): string | undefined {
|
|
|
107
147
|
: undefined;
|
|
108
148
|
}
|
|
109
149
|
|
|
110
|
-
function shouldTrack(
|
|
150
|
+
function shouldTrack(
|
|
151
|
+
pathname: string,
|
|
152
|
+
statusCode: number,
|
|
153
|
+
state: HttpRequestTelemetryState,
|
|
154
|
+
): boolean {
|
|
111
155
|
if (shouldDisableTelemetry()) return false;
|
|
112
156
|
if (TRACKING_INGEST_PATHS.has(pathname)) return false;
|
|
113
157
|
if (pathname.startsWith("/api/analytics/replay")) return false;
|
|
114
158
|
if (statusCode >= 500) return true;
|
|
159
|
+
if (
|
|
160
|
+
statusCode >= 400 &&
|
|
161
|
+
statusCode < 500 &&
|
|
162
|
+
/(?:^|\/)_agent-native\/actions(?:\/|$)/.test(pathname)
|
|
163
|
+
) {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
if (state.requestSequence === 1) return true;
|
|
167
|
+
if (state.startupDb) return true;
|
|
168
|
+
if (Date.now() - state.startedAt >= 1_000) return true;
|
|
169
|
+
if (state.db.errorCount > 0 || state.db.timeoutCount > 0) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
115
172
|
const rate = sampleRate();
|
|
116
173
|
if (rate <= 0) return false;
|
|
117
174
|
if (rate >= 1) return true;
|
|
118
175
|
return Math.random() < rate;
|
|
119
176
|
}
|
|
120
177
|
|
|
121
|
-
function responseStatusCode(event: H3Event): number {
|
|
178
|
+
function responseStatusCode(event: H3Event, response?: Response): number {
|
|
122
179
|
const raw =
|
|
180
|
+
response?.status ??
|
|
123
181
|
(event.node?.res as any)?.statusCode ??
|
|
124
182
|
(event.node?.res as any)?.status ??
|
|
125
|
-
(event
|
|
183
|
+
getResponseStatus(event) ??
|
|
126
184
|
200;
|
|
127
185
|
const parsed = Number(raw);
|
|
128
186
|
return Number.isFinite(parsed) ? parsed : 200;
|
|
129
187
|
}
|
|
130
188
|
|
|
131
|
-
function
|
|
132
|
-
|
|
189
|
+
function runtimeProvider(): string {
|
|
190
|
+
if (process.env.NETLIFY) return "netlify";
|
|
191
|
+
if (process.env.VERCEL) return "vercel";
|
|
192
|
+
if (process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.LAMBDA_TASK_ROOT) {
|
|
193
|
+
return "aws-lambda";
|
|
194
|
+
}
|
|
195
|
+
if (process.env.CF_PAGES) return "cloudflare-pages";
|
|
196
|
+
return "node";
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function emitTelemetry(
|
|
200
|
+
event: H3Event,
|
|
201
|
+
state: HttpRequestTelemetryState,
|
|
202
|
+
response?: Response,
|
|
203
|
+
): void {
|
|
204
|
+
const statusCode = responseStatusCode(event, response);
|
|
133
205
|
const pathname = requestPath(event);
|
|
134
|
-
if (!shouldTrack(pathname, statusCode)) return;
|
|
206
|
+
if (!shouldTrack(pathname, statusCode, state)) return;
|
|
135
207
|
|
|
136
208
|
try {
|
|
137
209
|
const host = hostForEvent(event);
|
|
@@ -146,7 +218,17 @@ function emitTelemetry(event: H3Event, startedAt: number): void {
|
|
|
146
218
|
route_kind: routeKind(pathname),
|
|
147
219
|
status_code: statusCode,
|
|
148
220
|
status_class: statusClass(statusCode),
|
|
149
|
-
duration_ms: Math.max(0, Date.now() - startedAt),
|
|
221
|
+
duration_ms: Math.max(0, Date.now() - state.startedAt),
|
|
222
|
+
request_id: state.requestId,
|
|
223
|
+
measurement: "nitro_request",
|
|
224
|
+
cold_start: state.requestSequence === 1,
|
|
225
|
+
request_sequence: state.requestSequence,
|
|
226
|
+
process_age_ms: state.processAgeAtStartMs,
|
|
227
|
+
framework_ready_wait_ms: state.frameworkReadyWaitMs,
|
|
228
|
+
runtime_provider: runtimeProvider(),
|
|
229
|
+
function_name: envValue("AWS_LAMBDA_FUNCTION_NAME"),
|
|
230
|
+
function_memory_mb: envValue("AWS_LAMBDA_FUNCTION_MEMORY_SIZE"),
|
|
231
|
+
region: envValue("AWS_REGION") ?? envValue("VERCEL_REGION"),
|
|
150
232
|
host,
|
|
151
233
|
environment: envValue("NODE_ENV"),
|
|
152
234
|
deploy_context: envValue("CONTEXT") ?? envValue("VERCEL_ENV"),
|
|
@@ -161,34 +243,154 @@ function emitTelemetry(event: H3Event, startedAt: number): void {
|
|
|
161
243
|
db_url_hash: db.urlHash,
|
|
162
244
|
db_neon_endpoint: db.neon?.endpointId,
|
|
163
245
|
db_neon_pooled: db.neon?.pooled,
|
|
246
|
+
db_operation_count: state.db.operationCount,
|
|
247
|
+
db_query_count: state.db.queryCount,
|
|
248
|
+
db_connect_count: state.db.connectCount,
|
|
249
|
+
db_retry_count: state.db.retryCount,
|
|
250
|
+
db_error_count: state.db.errorCount,
|
|
251
|
+
db_timeout_count: state.db.timeoutCount,
|
|
252
|
+
db_operation_total_ms: Math.round(state.db.operationTotalMs),
|
|
253
|
+
db_operation_wall_ms: Math.round(state.db.operationWallMs),
|
|
254
|
+
db_query_total_ms: Math.round(state.db.queryTotalMs),
|
|
255
|
+
db_connect_total_ms: Math.round(state.db.connectTotalMs),
|
|
256
|
+
db_slowest_operation_ms: Math.round(state.db.slowestOperationMs),
|
|
257
|
+
startup_db_operation_count: state.startupDb?.operationCount,
|
|
258
|
+
startup_db_query_count: state.startupDb?.queryCount,
|
|
259
|
+
startup_db_connect_count: state.startupDb?.connectCount,
|
|
260
|
+
startup_db_retry_count: state.startupDb?.retryCount,
|
|
261
|
+
startup_db_error_count: state.startupDb?.errorCount,
|
|
262
|
+
startup_db_timeout_count: state.startupDb?.timeoutCount,
|
|
263
|
+
startup_db_operation_total_ms: state.startupDb
|
|
264
|
+
? Math.round(state.startupDb.operationTotalMs)
|
|
265
|
+
: undefined,
|
|
266
|
+
startup_db_operation_wall_ms: state.startupDb
|
|
267
|
+
? Math.round(state.startupDb.operationWallMs)
|
|
268
|
+
: undefined,
|
|
269
|
+
startup_db_query_total_ms: state.startupDb
|
|
270
|
+
? Math.round(state.startupDb.queryTotalMs)
|
|
271
|
+
: undefined,
|
|
272
|
+
startup_db_connect_total_ms: state.startupDb
|
|
273
|
+
? Math.round(state.startupDb.connectTotalMs)
|
|
274
|
+
: undefined,
|
|
275
|
+
startup_db_slowest_operation_ms: state.startupDb
|
|
276
|
+
? Math.round(state.startupDb.slowestOperationMs)
|
|
277
|
+
: undefined,
|
|
164
278
|
});
|
|
165
279
|
} catch {
|
|
166
280
|
// Response telemetry is best-effort. Never perturb request handling.
|
|
167
281
|
}
|
|
168
282
|
}
|
|
169
283
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
284
|
+
function requestTelemetryState(
|
|
285
|
+
event: H3Event,
|
|
286
|
+
): HttpRequestTelemetryState | undefined {
|
|
287
|
+
return (event.context as Record<PropertyKey, unknown>)[
|
|
288
|
+
REQUEST_TELEMETRY_KEY
|
|
289
|
+
] as HttpRequestTelemetryState | undefined;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function appendServerTiming(
|
|
293
|
+
response: Response,
|
|
294
|
+
event: H3Event,
|
|
295
|
+
name: string,
|
|
296
|
+
durationMs: number,
|
|
297
|
+
): void {
|
|
298
|
+
const duration = Math.max(0, Math.round(durationMs));
|
|
299
|
+
try {
|
|
300
|
+
response.headers.append("server-timing", `${name};dur=${duration}`);
|
|
301
|
+
} catch {
|
|
302
|
+
try {
|
|
303
|
+
setServerTiming(event, name, { dur: duration });
|
|
304
|
+
} catch {
|
|
305
|
+
// Some adapters finalize headers eagerly. Tracking still runs.
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export function recordFrameworkReadyWait(
|
|
311
|
+
event: H3Event,
|
|
312
|
+
durationMs: number,
|
|
313
|
+
): void {
|
|
314
|
+
const state = requestTelemetryState(event);
|
|
315
|
+
if (state) {
|
|
316
|
+
state.frameworkReadyWaitMs += Math.max(0, durationMs);
|
|
317
|
+
state.startupDb ??= claimStartupDatabaseTelemetry();
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export function installHttpResponseTelemetryHooks(nitroApp: any): void {
|
|
322
|
+
if (!nitroApp || installedApps.has(nitroApp)) return;
|
|
323
|
+
const hooks = nitroApp.hooks;
|
|
324
|
+
if (!hooks?.hook) return;
|
|
325
|
+
installedApps.add(nitroApp);
|
|
326
|
+
|
|
327
|
+
hooks.hook("request", (event: H3Event) => {
|
|
328
|
+
const state: HttpRequestTelemetryState = {
|
|
329
|
+
startedAt: Date.now(),
|
|
330
|
+
requestId: randomUUID(),
|
|
331
|
+
processAgeAtStartMs: Math.max(0, Math.round(process.uptime() * 1_000)),
|
|
332
|
+
requestSequence: ++processState.requestSequence,
|
|
333
|
+
frameworkReadyWaitMs: 0,
|
|
334
|
+
db: createDatabaseRequestTelemetry(),
|
|
184
335
|
};
|
|
336
|
+
(event.context as Record<PropertyKey, unknown>)[REQUEST_TELEMETRY_KEY] =
|
|
337
|
+
state;
|
|
338
|
+
enterDatabaseRequestTelemetry(state.db);
|
|
339
|
+
});
|
|
185
340
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
341
|
+
hooks.hook("response", (response: Response, event: H3Event) => {
|
|
342
|
+
const state = requestTelemetryState(event);
|
|
343
|
+
if (!state) return;
|
|
344
|
+
|
|
345
|
+
const durationMs = Math.max(0, Date.now() - state.startedAt);
|
|
346
|
+
try {
|
|
347
|
+
response.headers.set(REQUEST_ID_HEADER, state.requestId);
|
|
348
|
+
} catch {
|
|
349
|
+
try {
|
|
350
|
+
setResponseHeader(event, REQUEST_ID_HEADER, state.requestId);
|
|
351
|
+
} catch {
|
|
352
|
+
// Some adapters finalize headers eagerly. Tracking still has the id.
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
appendServerTiming(response, event, "app", durationMs);
|
|
356
|
+
if (state.frameworkReadyWaitMs > 0) {
|
|
357
|
+
appendServerTiming(
|
|
358
|
+
response,
|
|
359
|
+
event,
|
|
360
|
+
"startup",
|
|
361
|
+
state.frameworkReadyWaitMs,
|
|
362
|
+
);
|
|
192
363
|
}
|
|
364
|
+
if (state.db.operationCount > 0) {
|
|
365
|
+
appendServerTiming(response, event, "db", state.db.operationWallMs);
|
|
366
|
+
appendServerTiming(
|
|
367
|
+
response,
|
|
368
|
+
event,
|
|
369
|
+
"db-connect",
|
|
370
|
+
state.db.connectTotalMs,
|
|
371
|
+
);
|
|
372
|
+
appendServerTiming(
|
|
373
|
+
response,
|
|
374
|
+
event,
|
|
375
|
+
"db-slowest",
|
|
376
|
+
state.db.slowestOperationMs,
|
|
377
|
+
);
|
|
378
|
+
}
|
|
379
|
+
if (state.startupDb && state.startupDb.operationCount > 0) {
|
|
380
|
+
appendServerTiming(
|
|
381
|
+
response,
|
|
382
|
+
event,
|
|
383
|
+
"startup-db",
|
|
384
|
+
state.startupDb.operationWallMs,
|
|
385
|
+
);
|
|
386
|
+
appendServerTiming(
|
|
387
|
+
response,
|
|
388
|
+
event,
|
|
389
|
+
"startup-db-connect",
|
|
390
|
+
state.startupDb.connectTotalMs,
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
emitTelemetry(event, state, response);
|
|
193
395
|
});
|
|
194
396
|
}
|