@agent-native/core 0.16.1 → 0.16.3
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/README.md +21 -5
- package/dist/cli/code-agent-executor.js +1 -1
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/code.d.ts.map +1 -1
- package/dist/cli/code.js +29 -4
- package/dist/cli/code.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +9 -1
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.js +2 -2
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ConnectBuilderCard.js +1 -1
- package/dist/client/ConnectBuilderCard.js.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.js +3 -1
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/composer/AgentComposerFrame.d.ts +3 -1
- package/dist/client/composer/AgentComposerFrame.d.ts.map +1 -1
- package/dist/client/composer/AgentComposerFrame.js +3 -3
- package/dist/client/composer/AgentComposerFrame.js.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
- package/dist/client/composer/ComposerPlusMenu.js +2 -7
- package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/client/composer/PromptComposer.d.ts +4 -1
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +3 -3
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +13 -3
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/useVoiceDictation.d.ts.map +1 -1
- package/dist/client/composer/useVoiceDictation.js +16 -10
- package/dist/client/composer/useVoiceDictation.js.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +1 -1
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
- package/dist/client/settings/BackgroundAgentSection.js +9 -2
- package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
- package/dist/client/settings/BrowserSection.d.ts.map +1 -1
- package/dist/client/settings/BrowserSection.js +17 -3
- package/dist/client/settings/BrowserSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +5 -5
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.d.ts +15 -2
- package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
- package/dist/client/settings/useBuilderStatus.js +99 -11
- package/dist/client/settings/useBuilderStatus.js.map +1 -1
- package/dist/client/settings/useBuilderStatus.spec.js +12 -6
- package/dist/client/settings/useBuilderStatus.spec.js.map +1 -1
- package/dist/code-agents/background-controller.d.ts +39 -0
- package/dist/code-agents/background-controller.d.ts.map +1 -0
- package/dist/code-agents/background-controller.js +249 -0
- package/dist/code-agents/background-controller.js.map +1 -0
- package/dist/code-agents/background-run.d.ts +58 -0
- package/dist/code-agents/background-run.d.ts.map +1 -0
- package/dist/code-agents/background-run.js +58 -0
- package/dist/code-agents/background-run.js.map +1 -0
- package/dist/code-agents/index.d.ts +2 -0
- package/dist/code-agents/index.d.ts.map +1 -1
- package/dist/code-agents/index.js +2 -0
- package/dist/code-agents/index.js.map +1 -1
- package/dist/connections/index.d.ts +1 -0
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +1 -0
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/reader.d.ts +248 -0
- package/dist/connections/reader.d.ts.map +1 -0
- package/dist/connections/reader.js +461 -0
- package/dist/connections/reader.js.map +1 -0
- package/dist/credentials/index.d.ts +11 -0
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js +40 -15
- package/dist/credentials/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +18 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +57 -9
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-teams.d.ts +66 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +433 -16
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/builder-browser.d.ts +11 -0
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +45 -0
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +25 -2
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/templates/workspace-root/AGENTS.md +5 -5
- package/dist/templates/workspace-root/README.md +1 -1
- package/dist/workspace-connections/credentials.d.ts +64 -0
- package/dist/workspace-connections/credentials.d.ts.map +1 -0
- package/dist/workspace-connections/credentials.js +378 -0
- package/dist/workspace-connections/credentials.js.map +1 -0
- package/dist/workspace-connections/index.d.ts +2 -1
- package/dist/workspace-connections/index.d.ts.map +1 -1
- package/dist/workspace-connections/index.js +2 -1
- package/dist/workspace-connections/index.js.map +1 -1
- package/dist/workspace-connections/store.d.ts +16 -0
- package/dist/workspace-connections/store.d.ts.map +1 -1
- package/dist/workspace-connections/store.js +57 -1
- package/dist/workspace-connections/store.js.map +1 -1
- package/docs/content/agent-teams.md +22 -5
- package/docs/content/cloneable-saas.md +2 -2
- package/docs/content/code-agents-ui.md +103 -3
- package/docs/content/creating-templates.md +16 -0
- package/docs/content/getting-started.md +40 -14
- package/docs/content/migration-workbench.md +25 -2
- package/docs/content/multi-app-workspace.md +1 -1
- package/docs/content/template-analytics.md +17 -1
- package/docs/content/template-brain.md +57 -28
- package/docs/content/template-dispatch.md +9 -2
- package/docs/content/workspace-connections.md +63 -14
- package/docs/content/workspace-management.md +9 -2
- package/docs/content/workspace.md +12 -5
- package/package.json +1 -1
- package/src/templates/workspace-root/AGENTS.md +5 -5
- package/src/templates/workspace-root/README.md +1 -1
|
@@ -22,6 +22,7 @@ export interface WorkspaceConnection {
|
|
|
22
22
|
orgId: string | null;
|
|
23
23
|
createdAt: string;
|
|
24
24
|
updatedAt: string;
|
|
25
|
+
lastUsedAt?: string | null;
|
|
25
26
|
lastCheckedAt: string | null;
|
|
26
27
|
lastError: string | null;
|
|
27
28
|
}
|
|
@@ -39,6 +40,7 @@ export interface WorkspaceConnectionGrant {
|
|
|
39
40
|
orgId: string | null;
|
|
40
41
|
createdAt: string;
|
|
41
42
|
updatedAt: string;
|
|
43
|
+
lastUsedAt?: string | null;
|
|
42
44
|
}
|
|
43
45
|
export type SerializedWorkspaceConnectionGrant = WorkspaceConnectionGrant;
|
|
44
46
|
export interface ListWorkspaceConnectionsOptions {
|
|
@@ -107,6 +109,7 @@ export interface WorkspaceConnectionExplicitGrantSummary {
|
|
|
107
109
|
scopes: string[];
|
|
108
110
|
credentialRefs: WorkspaceConnectionPublicCredentialRef[];
|
|
109
111
|
updatedAt: string;
|
|
112
|
+
lastUsedAt: string | null;
|
|
110
113
|
}
|
|
111
114
|
export interface WorkspaceConnectionForAppSummary {
|
|
112
115
|
id: string;
|
|
@@ -120,6 +123,7 @@ export interface WorkspaceConnectionForAppSummary {
|
|
|
120
123
|
appAccess: WorkspaceConnectionAppAccess;
|
|
121
124
|
allowedApps: string[];
|
|
122
125
|
credentialRefs: WorkspaceConnectionPublicCredentialRef[];
|
|
126
|
+
lastUsedAt: string | null;
|
|
123
127
|
lastCheckedAt: string | null;
|
|
124
128
|
lastError: string | null;
|
|
125
129
|
explicitGrant: WorkspaceConnectionExplicitGrantSummary | null;
|
|
@@ -150,6 +154,7 @@ export interface WorkspaceConnectionProviderAppSummary {
|
|
|
150
154
|
hasWorkspaceConnection: boolean;
|
|
151
155
|
hasGrantedWorkspaceConnection: boolean;
|
|
152
156
|
hasActiveWorkspaceConnection: boolean;
|
|
157
|
+
lastUsedAt: string | null;
|
|
153
158
|
statuses: WorkspaceConnectionStatus[];
|
|
154
159
|
connections: WorkspaceConnectionForAppSummary[];
|
|
155
160
|
}
|
|
@@ -192,6 +197,16 @@ export interface ListWorkspaceConnectionProviderCatalogForAppOptions {
|
|
|
192
197
|
includeDisabled?: boolean;
|
|
193
198
|
includeConnections?: "all" | "granted";
|
|
194
199
|
}
|
|
200
|
+
export interface MarkWorkspaceConnectionUsedOptions {
|
|
201
|
+
connectionId: string;
|
|
202
|
+
appId?: string | null;
|
|
203
|
+
usedAt?: Date | number | string | null;
|
|
204
|
+
}
|
|
205
|
+
export interface MarkWorkspaceConnectionUsedResult {
|
|
206
|
+
connectionUpdated: boolean;
|
|
207
|
+
grantUpdated: boolean;
|
|
208
|
+
lastUsedAt: string;
|
|
209
|
+
}
|
|
195
210
|
export interface WorkspaceConnectionProviderCatalogForAppItem extends WorkspaceConnectionProvider {
|
|
196
211
|
workspaceConnection: WorkspaceConnectionProviderAppSummary;
|
|
197
212
|
readiness: WorkspaceConnectionProviderReadiness;
|
|
@@ -223,6 +238,7 @@ export declare function getWorkspaceConnection(id: string): Promise<SerializedWo
|
|
|
223
238
|
export declare function upsertWorkspaceConnection(input: UpsertWorkspaceConnectionInput): Promise<SerializedWorkspaceConnection>;
|
|
224
239
|
export declare function listWorkspaceConnectionGrants(options?: ListWorkspaceConnectionGrantsOptions): Promise<SerializedWorkspaceConnectionGrant[]>;
|
|
225
240
|
export declare function getWorkspaceConnectionGrant(connectionId: string, appId: string): Promise<SerializedWorkspaceConnectionGrant | null>;
|
|
241
|
+
export declare function markWorkspaceConnectionUsed({ connectionId, appId, usedAt, }: MarkWorkspaceConnectionUsedOptions): Promise<MarkWorkspaceConnectionUsedResult>;
|
|
226
242
|
export declare function upsertWorkspaceConnectionGrant(input: UpsertWorkspaceConnectionGrantInput): Promise<SerializedWorkspaceConnectionGrant>;
|
|
227
243
|
export declare function revokeWorkspaceConnectionGrant(connectionId: string, appId: string): Promise<boolean>;
|
|
228
244
|
export declare function deleteWorkspaceConnection(id: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/workspace-connections/store.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACpC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,yBAAyB,GACjC,WAAW,GACX,UAAU,GACV,cAAc,GACd,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,gCAAgC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,gCAAgC,EAAE,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAEhE,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,gCAAgC,EAAE,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/workspace-connections/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ async function ensureWorkspaceConnectionColumns(client, table) {
|
|
|
48
48
|
await ensureColumn(client, table, "created_at", `${intType()} NOT NULL DEFAULT 0`);
|
|
49
49
|
await ensureColumn(client, table, "updated_at", `${intType()} NOT NULL DEFAULT 0`);
|
|
50
50
|
await ensureColumn(client, table, "last_checked_at", intType());
|
|
51
|
+
await ensureColumn(client, table, "last_used_at", intType());
|
|
51
52
|
await ensureColumn(client, table, "last_error", "TEXT");
|
|
52
53
|
}
|
|
53
54
|
async function ensureWorkspaceConnectionGrantColumns(client, table) {
|
|
@@ -62,6 +63,7 @@ async function ensureWorkspaceConnectionGrantColumns(client, table) {
|
|
|
62
63
|
await ensureColumn(client, table, "org_id", "TEXT");
|
|
63
64
|
await ensureColumn(client, table, "created_at", `${intType()} NOT NULL DEFAULT 0`);
|
|
64
65
|
await ensureColumn(client, table, "updated_at", `${intType()} NOT NULL DEFAULT 0`);
|
|
66
|
+
await ensureColumn(client, table, "last_used_at", intType());
|
|
65
67
|
}
|
|
66
68
|
export async function ensureWorkspaceConnectionsTable() {
|
|
67
69
|
if (!_initPromise) {
|
|
@@ -85,6 +87,7 @@ export async function ensureWorkspaceConnectionsTable() {
|
|
|
85
87
|
org_id TEXT,
|
|
86
88
|
created_at ${intType()} NOT NULL DEFAULT 0,
|
|
87
89
|
updated_at ${intType()} NOT NULL DEFAULT 0,
|
|
90
|
+
last_used_at ${intType()},
|
|
88
91
|
last_checked_at ${intType()},
|
|
89
92
|
last_error TEXT
|
|
90
93
|
)
|
|
@@ -105,7 +108,8 @@ export async function ensureWorkspaceConnectionsTable() {
|
|
|
105
108
|
owner_email TEXT NOT NULL DEFAULT '',
|
|
106
109
|
org_id TEXT,
|
|
107
110
|
created_at ${intType()} NOT NULL DEFAULT 0,
|
|
108
|
-
updated_at ${intType()} NOT NULL DEFAULT 0
|
|
111
|
+
updated_at ${intType()} NOT NULL DEFAULT 0,
|
|
112
|
+
last_used_at ${intType()}
|
|
109
113
|
)
|
|
110
114
|
`));
|
|
111
115
|
await ensureWorkspaceConnectionGrantColumns(client, grantsTable);
|
|
@@ -255,6 +259,7 @@ function parseRow(row) {
|
|
|
255
259
|
orgId: row.org_id == null ? null : String(row.org_id),
|
|
256
260
|
createdAt: iso(row.created_at) ?? new Date(0).toISOString(),
|
|
257
261
|
updatedAt: iso(row.updated_at) ?? new Date(0).toISOString(),
|
|
262
|
+
lastUsedAt: iso(row.last_used_at),
|
|
258
263
|
lastCheckedAt: iso(row.last_checked_at),
|
|
259
264
|
lastError: row.last_error == null ? null : String(row.last_error),
|
|
260
265
|
});
|
|
@@ -273,6 +278,7 @@ function parseGrantRow(row) {
|
|
|
273
278
|
orgId: row.org_id == null ? null : String(row.org_id),
|
|
274
279
|
createdAt: iso(row.created_at) ?? new Date(0).toISOString(),
|
|
275
280
|
updatedAt: iso(row.updated_at) ?? new Date(0).toISOString(),
|
|
281
|
+
lastUsedAt: iso(row.last_used_at),
|
|
276
282
|
});
|
|
277
283
|
}
|
|
278
284
|
export function serializeWorkspaceConnection(connection) {
|
|
@@ -345,6 +351,15 @@ export function workspaceConnectionIsAvailableToApp(connection, appId, grants =
|
|
|
345
351
|
function uniqueStrings(values) {
|
|
346
352
|
return Array.from(new Set(values.map((value) => value.trim()).filter(Boolean)));
|
|
347
353
|
}
|
|
354
|
+
function latestIso(values) {
|
|
355
|
+
const latest = values.reduce((current, value) => {
|
|
356
|
+
const parsed = value ? Date.parse(value) : NaN;
|
|
357
|
+
if (!Number.isFinite(parsed))
|
|
358
|
+
return current;
|
|
359
|
+
return current == null || parsed > current ? parsed : current;
|
|
360
|
+
}, null);
|
|
361
|
+
return latest == null ? null : new Date(latest).toISOString();
|
|
362
|
+
}
|
|
348
363
|
function publicCredentialRefs(refs, source) {
|
|
349
364
|
return refs.map((ref) => ({
|
|
350
365
|
key: ref.key,
|
|
@@ -385,6 +400,7 @@ function serializeConnectionForApp(connection, appId, grants) {
|
|
|
385
400
|
appAccess,
|
|
386
401
|
allowedApps: connection.allowedApps,
|
|
387
402
|
credentialRefs: publicCredentialRefs(connection.credentialRefs, "connection"),
|
|
403
|
+
lastUsedAt: latestIso([connection.lastUsedAt, explicitGrant?.lastUsedAt]),
|
|
388
404
|
lastCheckedAt: connection.lastCheckedAt,
|
|
389
405
|
lastError: connection.lastError,
|
|
390
406
|
explicitGrant: explicitGrant
|
|
@@ -394,6 +410,7 @@ function serializeConnectionForApp(connection, appId, grants) {
|
|
|
394
410
|
scopes: explicitGrant.scopes,
|
|
395
411
|
credentialRefs: publicCredentialRefs(explicitGrant.credentialRefs, "grant"),
|
|
396
412
|
updatedAt: explicitGrant.updatedAt,
|
|
413
|
+
lastUsedAt: explicitGrant.lastUsedAt ?? null,
|
|
397
414
|
}
|
|
398
415
|
: null,
|
|
399
416
|
};
|
|
@@ -437,6 +454,11 @@ export function summarizeWorkspaceConnectionProviderForApp({ providerId, appId,
|
|
|
437
454
|
(explicitGrant?.credentialRefs.length ?? 0));
|
|
438
455
|
}, 0);
|
|
439
456
|
const visibleConnections = includeConnections === "all" ? allConnections : grantedConnections;
|
|
457
|
+
const lastUsedAt = latestIso(grantedConnections.flatMap((connection) => [
|
|
458
|
+
connection.lastUsedAt,
|
|
459
|
+
explicitGrantForConnection(connection.id, grants, normalizedAppId)
|
|
460
|
+
?.lastUsedAt,
|
|
461
|
+
]));
|
|
440
462
|
return {
|
|
441
463
|
appId: normalizedAppId,
|
|
442
464
|
provider: normalizedProviderId,
|
|
@@ -455,6 +477,7 @@ export function summarizeWorkspaceConnectionProviderForApp({ providerId, appId,
|
|
|
455
477
|
hasWorkspaceConnection: allConnections.length > 0,
|
|
456
478
|
hasGrantedWorkspaceConnection: grantedConnections.length > 0,
|
|
457
479
|
hasActiveWorkspaceConnection: connectedConnections.length > 0,
|
|
480
|
+
lastUsedAt,
|
|
458
481
|
statuses: uniqueStrings(allConnections.map((connection) => connection.status)),
|
|
459
482
|
connections: visibleConnections.map((connection) => serializeConnectionForApp(connection, normalizedAppId, grants)),
|
|
460
483
|
};
|
|
@@ -830,6 +853,39 @@ export async function getWorkspaceConnectionGrant(connectionId, appId) {
|
|
|
830
853
|
return null;
|
|
831
854
|
return parseGrantRow(rows[0]);
|
|
832
855
|
}
|
|
856
|
+
export async function markWorkspaceConnectionUsed({ connectionId, appId, usedAt, }) {
|
|
857
|
+
await ensureWorkspaceConnectionsTable();
|
|
858
|
+
const normalizedConnectionId = normalizeRequiredString(connectionId, "markWorkspaceConnectionUsed connectionId");
|
|
859
|
+
const normalizedAppId = appId?.trim();
|
|
860
|
+
const usedAtMillis = millis(usedAt) ?? Date.now();
|
|
861
|
+
const client = getDbExec();
|
|
862
|
+
const connectionsTable = workspaceConnectionsTable();
|
|
863
|
+
const grantsTable = workspaceConnectionGrantsTable();
|
|
864
|
+
const scope = requireWorkspaceConnectionScope();
|
|
865
|
+
const where = scopedWhere(scope);
|
|
866
|
+
const connectionUpdate = await client.execute({
|
|
867
|
+
sql: `UPDATE ${connectionsTable} SET last_used_at = ? WHERE id = ? AND ${where.sql}`,
|
|
868
|
+
args: [usedAtMillis, normalizedConnectionId, ...where.args],
|
|
869
|
+
});
|
|
870
|
+
let grantUpdated = false;
|
|
871
|
+
if (normalizedAppId) {
|
|
872
|
+
const grantUpdate = await client.execute({
|
|
873
|
+
sql: `UPDATE ${grantsTable} SET last_used_at = ? WHERE connection_id = ? AND app_id = ? AND ${where.sql}`,
|
|
874
|
+
args: [
|
|
875
|
+
usedAtMillis,
|
|
876
|
+
normalizedConnectionId,
|
|
877
|
+
normalizedAppId,
|
|
878
|
+
...where.args,
|
|
879
|
+
],
|
|
880
|
+
});
|
|
881
|
+
grantUpdated = grantUpdate.rowsAffected > 0;
|
|
882
|
+
}
|
|
883
|
+
return {
|
|
884
|
+
connectionUpdated: connectionUpdate.rowsAffected > 0,
|
|
885
|
+
grantUpdated,
|
|
886
|
+
lastUsedAt: new Date(usedAtMillis).toISOString(),
|
|
887
|
+
};
|
|
888
|
+
}
|
|
833
889
|
export async function upsertWorkspaceConnectionGrant(input) {
|
|
834
890
|
await ensureWorkspaceConnectionsTable();
|
|
835
891
|
const connectionId = normalizeRequiredString(input.connectionId, "upsertWorkspaceConnectionGrant connectionId");
|