@agent-native/core 0.130.0 → 0.130.2

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 (108) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +12 -0
  3. package/corpus/core/package.json +1 -1
  4. package/corpus/core/src/integrations/a2a-continuation-processor.ts +481 -122
  5. package/corpus/core/src/integrations/a2a-continuations-store.ts +345 -14
  6. package/corpus/core/src/integrations/adapters/slack.ts +243 -53
  7. package/corpus/core/src/integrations/integration-campaign-recovery.ts +4 -1
  8. package/corpus/core/src/integrations/plugin.ts +39 -21
  9. package/corpus/core/src/integrations/task-queue-stats.ts +146 -0
  10. package/corpus/core/src/integrations/types.ts +25 -4
  11. package/corpus/core/src/integrations/webhook-handler.ts +18 -5
  12. package/corpus/core/src/server/email-template.ts +43 -13
  13. package/corpus/core/src/sharing/actions/share-resource.ts +26 -4
  14. package/corpus/core/src/sharing/index.ts +1 -0
  15. package/corpus/core/src/sharing/registry.ts +23 -0
  16. package/corpus/templates/clips/app/components/editor/editor-toolbar.tsx +3 -1
  17. package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
  18. package/corpus/templates/clips/app/components/meetings/day-header.tsx +1 -1
  19. package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +1 -22
  20. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +26 -1
  21. package/corpus/templates/clips/app/components/workspace/organization-identity-card.tsx +107 -0
  22. package/corpus/templates/clips/app/i18n/en-US.ts +3 -4
  23. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +0 -10
  24. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +23 -51
  25. package/corpus/templates/clips/app/routes/share.meeting.$meetingId.tsx +1 -8
  26. package/corpus/templates/clips/changelog/2026-07-29-clearing-all-recording-edits-no-longer-leaves-the-editor-unr.md +6 -0
  27. package/corpus/templates/clips/changelog/2026-07-29-clip-share-emails-now-open-with-who-shared-the-clip-add-a-su.md +6 -0
  28. package/corpus/templates/clips/changelog/2026-07-29-finished-meeting-pills-now-have-a-clear-close-button.md +6 -0
  29. package/corpus/templates/clips/changelog/2026-07-29-meeting-cards-no-longer-flicker-or-disappear-when-hovered-in.md +6 -0
  30. package/corpus/templates/clips/changelog/2026-07-29-organization-name-logo-brand-color-and-default-visibility-no.md +6 -0
  31. package/corpus/templates/clips/changelog/2026-07-29-transcript-lines-on-the-meeting-page-no-longer-jump-to-the-r.md +6 -0
  32. package/corpus/templates/clips/changelog/2026-07-29-when-a-meeting-wraps-up-the-recording-pill-now-shows-a-green.md +6 -0
  33. package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +6 -3
  34. package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +112 -32
  35. package/corpus/templates/clips/desktop/src/styles.css +42 -2
  36. package/corpus/templates/clips/server/db/index.ts +6 -0
  37. package/corpus/templates/clips/server/lib/share-email-hero.ts +33 -0
  38. package/corpus/templates/clips/shared/clips-ai-prefs.ts +0 -1
  39. package/corpus/templates/dispatch/changelog/2026-07-26-slack-replies-recover-after-connected-app-updates.md +6 -0
  40. package/corpus/templates/slides/.agents/skills/design-systems/SKILL.md +15 -0
  41. package/corpus/templates/slides/actions/delete-design-system.ts +145 -0
  42. package/corpus/templates/slides/actions/list-design-systems.ts +94 -2
  43. package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +43 -1
  44. package/corpus/templates/slides/app/hooks/use-design-systems.ts +2 -0
  45. package/corpus/templates/slides/app/i18n/en-US.ts +7 -0
  46. package/corpus/templates/slides/app/pages/DesignSystems.tsx +56 -1
  47. package/corpus/templates/slides/changelog/2026-07-28-delete-a-design-system-you-own-from-the-design-systems-page-.md +6 -0
  48. package/dist/collab/awareness.d.ts +2 -2
  49. package/dist/collab/awareness.d.ts.map +1 -1
  50. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  51. package/dist/integrations/a2a-continuation-processor.d.ts +5 -0
  52. package/dist/integrations/a2a-continuation-processor.d.ts.map +1 -1
  53. package/dist/integrations/a2a-continuation-processor.js +293 -79
  54. package/dist/integrations/a2a-continuation-processor.js.map +1 -1
  55. package/dist/integrations/a2a-continuations-store.d.ts +23 -1
  56. package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
  57. package/dist/integrations/a2a-continuations-store.js +249 -15
  58. package/dist/integrations/a2a-continuations-store.js.map +1 -1
  59. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  60. package/dist/integrations/adapters/slack.js +155 -31
  61. package/dist/integrations/adapters/slack.js.map +1 -1
  62. package/dist/integrations/integration-campaign-recovery.d.ts.map +1 -1
  63. package/dist/integrations/integration-campaign-recovery.js +3 -1
  64. package/dist/integrations/integration-campaign-recovery.js.map +1 -1
  65. package/dist/integrations/plugin.d.ts.map +1 -1
  66. package/dist/integrations/plugin.js +29 -12
  67. package/dist/integrations/plugin.js.map +1 -1
  68. package/dist/integrations/task-queue-stats.d.ts +12 -0
  69. package/dist/integrations/task-queue-stats.d.ts.map +1 -1
  70. package/dist/integrations/task-queue-stats.js +106 -0
  71. package/dist/integrations/task-queue-stats.js.map +1 -1
  72. package/dist/integrations/types.d.ts +24 -6
  73. package/dist/integrations/types.d.ts.map +1 -1
  74. package/dist/integrations/types.js.map +1 -1
  75. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  76. package/dist/integrations/webhook-handler.js +12 -3
  77. package/dist/integrations/webhook-handler.js.map +1 -1
  78. package/dist/notifications/routes.d.ts +3 -3
  79. package/dist/observability/routes.d.ts +3 -3
  80. package/dist/server/email-template.d.ts +4 -0
  81. package/dist/server/email-template.d.ts.map +1 -1
  82. package/dist/server/email-template.js +25 -8
  83. package/dist/server/email-template.js.map +1 -1
  84. package/dist/server/realtime-token.d.ts +1 -1
  85. package/dist/server/transcribe-voice.d.ts +1 -1
  86. package/dist/sharing/actions/share-resource.d.ts.map +1 -1
  87. package/dist/sharing/actions/share-resource.js +23 -4
  88. package/dist/sharing/actions/share-resource.js.map +1 -1
  89. package/dist/sharing/index.d.ts +1 -1
  90. package/dist/sharing/index.d.ts.map +1 -1
  91. package/dist/sharing/index.js.map +1 -1
  92. package/dist/sharing/registry.d.ts +23 -0
  93. package/dist/sharing/registry.d.ts.map +1 -1
  94. package/dist/sharing/registry.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/integrations/a2a-continuation-processor.ts +481 -122
  97. package/src/integrations/a2a-continuations-store.ts +345 -14
  98. package/src/integrations/adapters/slack.ts +243 -53
  99. package/src/integrations/integration-campaign-recovery.ts +4 -1
  100. package/src/integrations/plugin.ts +39 -21
  101. package/src/integrations/task-queue-stats.ts +146 -0
  102. package/src/integrations/types.ts +25 -4
  103. package/src/integrations/webhook-handler.ts +18 -5
  104. package/src/server/email-template.ts +43 -13
  105. package/src/sharing/actions/share-resource.ts +26 -4
  106. package/src/sharing/index.ts +1 -0
  107. package/src/sharing/registry.ts +23 -0
  108. package/corpus/templates/clips/app/routes/_app.settings.organization.tsx +0 -232
@@ -1,232 +0,0 @@
1
- import { useActionQuery, useSession } from "@agent-native/core/client/hooks";
2
- import { useT } from "@agent-native/core/client/i18n";
3
- import { IconMailFast, IconUsers } from "@tabler/icons-react";
4
- import { useMemo } from "react";
5
-
6
- import { PageHeader } from "@/components/library/page-header";
7
- import { Badge } from "@/components/ui/badge";
8
- import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
9
- import { Skeleton } from "@/components/ui/skeleton";
10
- import {
11
- Table,
12
- TableBody,
13
- TableCell,
14
- TableHead,
15
- TableHeader,
16
- TableRow,
17
- } from "@/components/ui/table";
18
- import {
19
- BrandingEditor,
20
- type RecordingVisibility,
21
- } from "@/components/workspace/branding-editor";
22
- import { InviteDialog } from "@/components/workspace/invite-dialog";
23
- import {
24
- MembersList,
25
- type MemberRole,
26
- } from "@/components/workspace/members-list";
27
- import enMessages from "@/i18n/en-US";
28
-
29
- export function meta() {
30
- return [{ title: enMessages.organizationSettings.pageTitle }];
31
- }
32
-
33
- interface OrganizationStateResponse {
34
- organization: {
35
- id: string;
36
- name: string;
37
- brandColor: string;
38
- brandLogoUrl: string | null;
39
- defaultVisibility: RecordingVisibility;
40
- ownerEmail?: string;
41
- } | null;
42
- members: {
43
- id: string;
44
- email: string;
45
- role: MemberRole;
46
- joinedAt: string | null;
47
- invitedAt: string | null;
48
- }[];
49
- invites: {
50
- id: string;
51
- email: string;
52
- role: MemberRole;
53
- createdAt: string;
54
- }[];
55
- }
56
-
57
- export default function OrganizationSettingsRoute() {
58
- const t = useT();
59
- const { session } = useSession();
60
- const email = session?.email ?? "";
61
-
62
- const { data, isLoading } = useActionQuery<OrganizationStateResponse>(
63
- "list-organization-state",
64
- undefined,
65
- );
66
-
67
- const organization = data?.organization ?? null;
68
- const members = data?.members ?? [];
69
- const invites = data?.invites ?? [];
70
-
71
- const isOwner = !!(
72
- organization?.ownerEmail && organization.ownerEmail === email
73
- );
74
- const currentRole: MemberRole = useMemo(() => {
75
- const me = members.find((m) => m.email === email);
76
- if (me) return me.role;
77
- if (isOwner) return "admin";
78
- return "member";
79
- }, [members, email, isOwner]);
80
-
81
- const isAdmin = currentRole === "admin" || currentRole === "owner" || isOwner;
82
-
83
- if (isLoading) {
84
- return (
85
- <>
86
- <PageHeader>
87
- <h1 className="text-base font-semibold tracking-tight truncate">
88
- {t("organizationSettings.title")}
89
- </h1>
90
- </PageHeader>
91
- <div className="p-6 max-w-3xl mx-auto space-y-4">
92
- <Skeleton className="h-10 w-64" />
93
- <Skeleton className="h-32 w-full" />
94
- <Skeleton className="h-48 w-full" />
95
- </div>
96
- </>
97
- );
98
- }
99
-
100
- if (!organization) {
101
- return (
102
- <>
103
- <PageHeader>
104
- <h1 className="text-base font-semibold tracking-tight truncate">
105
- {t("organizationSettings.title")}
106
- </h1>
107
- </PageHeader>
108
- <div className="p-6 max-w-2xl mx-auto">
109
- <Card>
110
- <CardContent className="py-12 text-center text-sm text-muted-foreground">
111
- {t("organizationSettings.noOrganization")}
112
- </CardContent>
113
- </Card>
114
- </div>
115
- </>
116
- );
117
- }
118
-
119
- return (
120
- <>
121
- <PageHeader>
122
- <h1 className="text-base font-semibold tracking-tight truncate">
123
- {t("organizationSettings.namedTitle", { name: organization.name })}
124
- </h1>
125
- </PageHeader>
126
- <div className="p-6 max-w-3xl mx-auto space-y-6">
127
- <p className="text-sm text-muted-foreground">
128
- {t("organizationSettings.description")}
129
- </p>
130
-
131
- {isAdmin ? (
132
- <BrandingEditor
133
- organizationId={organization.id}
134
- initialName={organization.name}
135
- initialBrandColor={organization.brandColor}
136
- initialBrandLogoUrl={organization.brandLogoUrl}
137
- initialDefaultVisibility={organization.defaultVisibility}
138
- />
139
- ) : (
140
- <Card>
141
- <CardHeader>
142
- <CardTitle className="text-base">
143
- {t("brandingEditor.title")}
144
- </CardTitle>
145
- </CardHeader>
146
- <CardContent>
147
- <div className="flex items-center gap-3">
148
- <div
149
- className="h-10 w-10 rounded"
150
- style={{ background: organization.brandColor }}
151
- />
152
- <div>
153
- <div className="font-medium">{organization.name}</div>
154
- <div className="text-xs text-muted-foreground">
155
- {t("organizationSettings.adminsOnlyBranding")}
156
- </div>
157
- </div>
158
- </div>
159
- </CardContent>
160
- </Card>
161
- )}
162
-
163
- <Card>
164
- <CardHeader className="flex flex-row items-center justify-between">
165
- <CardTitle className="text-base flex items-center gap-2">
166
- <IconUsers className="size-4 text-primary" />
167
- {t("organizationSettings.members")}
168
- </CardTitle>
169
- {isAdmin ? <InviteDialog organizationId={organization.id} /> : null}
170
- </CardHeader>
171
- <CardContent>
172
- <MembersList
173
- organizationId={organization.id}
174
- members={members}
175
- currentUserEmail={email}
176
- currentUserRole={currentRole}
177
- />
178
- </CardContent>
179
- </Card>
180
-
181
- <Card>
182
- <CardHeader>
183
- <CardTitle className="text-base flex items-center gap-2">
184
- <IconMailFast className="size-4 text-primary" />
185
- {t("organizationSettings.pendingInvites")}
186
- </CardTitle>
187
- </CardHeader>
188
- <CardContent>
189
- {invites.length === 0 ? (
190
- <div className="py-4 text-center text-sm text-muted-foreground">
191
- {t("organizationSettings.noPendingInvites")}
192
- </div>
193
- ) : (
194
- <div className="rounded-md border">
195
- <Table>
196
- <TableHeader>
197
- <TableRow>
198
- <TableHead>{t("organizationSettings.email")}</TableHead>
199
- <TableHead className="w-32">
200
- {t("organizationSettings.role")}
201
- </TableHead>
202
- <TableHead className="w-32">
203
- {t("organizationSettings.sent")}
204
- </TableHead>
205
- </TableRow>
206
- </TableHeader>
207
- <TableBody>
208
- {invites.map((inv) => (
209
- <TableRow key={inv.id}>
210
- <TableCell className="font-medium">
211
- {inv.email}
212
- </TableCell>
213
- <TableCell>
214
- <Badge variant="outline" className="capitalize">
215
- {inv.role.replace("-", " ")}
216
- </Badge>
217
- </TableCell>
218
- <TableCell className="text-muted-foreground text-sm">
219
- {new Date(inv.createdAt).toLocaleDateString()}
220
- </TableCell>
221
- </TableRow>
222
- ))}
223
- </TableBody>
224
- </Table>
225
- </div>
226
- )}
227
- </CardContent>
228
- </Card>
229
- </div>
230
- </>
231
- );
232
- }