@axiom-lattice/pg-stores 3.1.9 → 3.1.11
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/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +17 -0
- package/dist/index.d.mts +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +88 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +88 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/PostgreSQLTaskWorkItemStore.test.ts +13 -0
- package/src/createPgStoreConfig.ts +4 -0
- package/src/migrations/user_push_subscription_migration.ts +30 -0
- package/src/stores/PostgreSQLTaskWorkItemStore.ts +5 -5
- package/src/stores/PostgreSQLUserPushSubscriptionStore.ts +61 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @axiom-lattice/pg-stores@3.1.
|
|
2
|
+
> @axiom-lattice/pg-stores@3.1.11 build /home/runner/work/agentic/agentic/packages/pg-stores
|
|
3
3
|
> tsup src/index.ts --format cjs,esm --dts --sourcemap
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
[34mCLI[39m Target: es2020
|
|
9
9
|
[34mCJS[39m Build start
|
|
10
10
|
[34mESM[39m Build start
|
|
11
|
-
[
|
|
12
|
-
[
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[
|
|
11
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m389.59 KB[39m
|
|
12
|
+
[32mESM[39m [1mdist/index.mjs.map [22m[32m725.25 KB[39m
|
|
13
|
+
[32mESM[39m ⚡️ Build success in 943ms
|
|
14
|
+
[32mCJS[39m [1mdist/index.js [22m[32m397.80 KB[39m
|
|
15
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m725.61 KB[39m
|
|
16
|
+
[32mCJS[39m ⚡️ Build success in 959ms
|
|
17
17
|
[34mDTS[39m Build start
|
|
18
|
-
[32mDTS[39m ⚡️ Build success in
|
|
19
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
20
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[
|
|
18
|
+
[32mDTS[39m ⚡️ Build success in 19109ms
|
|
19
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m81.71 KB[39m
|
|
20
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m81.71 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @axiom-lattice/pg-stores
|
|
2
2
|
|
|
3
|
+
## 3.1.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a467ced: publish new room
|
|
8
|
+
- Updated dependencies [0d39471]
|
|
9
|
+
- Updated dependencies [a467ced]
|
|
10
|
+
- @axiom-lattice/core@4.2.11
|
|
11
|
+
- @axiom-lattice/protocols@4.2.2
|
|
12
|
+
|
|
13
|
+
## 3.1.10
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [156032a]
|
|
18
|
+
- @axiom-lattice/core@4.2.10
|
|
19
|
+
|
|
3
20
|
## 3.1.9
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Pool, PoolConfig, PoolClient } from 'pg';
|
|
2
2
|
export { Pool, PoolConfig } from 'pg';
|
|
3
|
-
import { ThreadStore, Thread, CreateThreadRequest, AssistantStore, Assistant, CreateAssistantRequest, DatabaseConfigStore, DatabaseConfigEntry, CreateDatabaseConfigRequest, UpdateDatabaseConfigRequest, ConnectionStore, ConnectionEntry, MetricsServerConfigStore, MetricsServerConfigEntry, CreateMetricsServerConfigRequest, UpdateMetricsServerConfigRequest, McpServerConfigStore, McpServerConfigEntry, CreateMcpServerConfigRequest, UpdateMcpServerConfigRequest, WorkspaceStore, Workspace, CreateWorkspaceRequest, UpdateWorkspaceRequest, ProjectStore, ProjectFilter, Project, CreateProjectRequest, UpdateProjectRequest, UpdateProjectCapabilityBundlesResult, UserStore, User, CreateUserRequest, UpdateUserRequest, TenantStore, Tenant, CreateTenantRequest, UpdateTenantRequest, UserTenantLinkStore, UserTenantLink, CreateUserTenantLinkRequest, UpdateUserTenantLinkRequest, WorkflowTrackingStore, CreateWorkflowRunRequest, WorkflowRun, UpdateWorkflowRunRequest, QueryWorkflowRunsOptions, QueryWorkflowRunsResult, CreateRunStepRequest, RunStep, UpdateRunStepRequest, StepType, EvalStore, EvalProject, CreateEvalProjectRequest, EvalSuite, CreateEvalSuiteRequest, EvalCase, CreateEvalCaseRequest, EvalRun, CreateEvalRunRequest, EvalRunResult, EvalProjectReport, BindingRegistry, Binding, CreateBindingInput, BindingMutablePatch, BindingListParams, ChannelInstallationStore, ChannelInstallation, ChannelInstallationType, CreateChannelInstallationInput, UpdateChannelInstallationRequest, A2AApiKeyStore, A2AApiKeyRecord, CreateA2AApiKeyInput, UpdateA2AApiKeyInput, A2AApiKeyEntry, OpenAuditStore, OpenAuditQuery, OpenAuditRecord, OpenAuditAppendInput, AgentWebAppStore, AgentWebApp, CreateAgentWebAppInput, AgentWebAppStorePatch, AgentWebAppUpdateOptions, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ScheduleExecutionType, TaskStore, CreateTaskRequest, TaskItem, TaskListFilter, TaskDependentListQuery, UpdateTaskRequest, TaskMutationSnapshot, TaskWorkItemStore, CreateWorkItemRequest, TaskWorkItem, CreateWorkItemIfAbsentRequest, TaskWorkItemListFilter, ProjectLifecycleEventQuery, MenuRegistry, MenuItem, CreateMenuItemInput, UpdateMenuItemInput, SharedResourceStore, ShareRecord, CollectionStore, Collection, CreateCollectionRequest, UpdateCollectionRequest, VectorStoreProvider, VectorStoreCreateParams, CapabilityBundleStore, CapabilityBundle, InternalCreateCapabilityBundleInput, InternalUpdateCapabilityBundleInput, CapabilityBundleDeleteResult, ProjectRoomStore, ProjectRoom, ProjectMembershipStore, ProjectMembership, ProjectHumanRole, ProjectMembershipMutationResult, ProjectBotMembershipStore, ProjectBotMembership, ProjectRoomMessageStore, ProjectRoomMessage, ProjectRoomReadStateStore, ProjectRoomReadState, SkillStore, Skill, CreateSkillRequest } from '@axiom-lattice/protocols';
|
|
3
|
+
import { ThreadStore, Thread, CreateThreadRequest, AssistantStore, Assistant, CreateAssistantRequest, DatabaseConfigStore, DatabaseConfigEntry, CreateDatabaseConfigRequest, UpdateDatabaseConfigRequest, ConnectionStore, ConnectionEntry, MetricsServerConfigStore, MetricsServerConfigEntry, CreateMetricsServerConfigRequest, UpdateMetricsServerConfigRequest, McpServerConfigStore, McpServerConfigEntry, CreateMcpServerConfigRequest, UpdateMcpServerConfigRequest, WorkspaceStore, Workspace, CreateWorkspaceRequest, UpdateWorkspaceRequest, ProjectStore, ProjectFilter, Project, CreateProjectRequest, UpdateProjectRequest, UpdateProjectCapabilityBundlesResult, UserStore, User, CreateUserRequest, UpdateUserRequest, TenantStore, Tenant, CreateTenantRequest, UpdateTenantRequest, UserTenantLinkStore, UserTenantLink, CreateUserTenantLinkRequest, UpdateUserTenantLinkRequest, WorkflowTrackingStore, CreateWorkflowRunRequest, WorkflowRun, UpdateWorkflowRunRequest, QueryWorkflowRunsOptions, QueryWorkflowRunsResult, CreateRunStepRequest, RunStep, UpdateRunStepRequest, StepType, EvalStore, EvalProject, CreateEvalProjectRequest, EvalSuite, CreateEvalSuiteRequest, EvalCase, CreateEvalCaseRequest, EvalRun, CreateEvalRunRequest, EvalRunResult, EvalProjectReport, BindingRegistry, Binding, CreateBindingInput, BindingMutablePatch, BindingListParams, ChannelInstallationStore, ChannelInstallation, ChannelInstallationType, CreateChannelInstallationInput, UpdateChannelInstallationRequest, A2AApiKeyStore, A2AApiKeyRecord, CreateA2AApiKeyInput, UpdateA2AApiKeyInput, A2AApiKeyEntry, OpenAuditStore, OpenAuditQuery, OpenAuditRecord, OpenAuditAppendInput, AgentWebAppStore, AgentWebApp, CreateAgentWebAppInput, AgentWebAppStorePatch, AgentWebAppUpdateOptions, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ScheduleExecutionType, TaskStore, CreateTaskRequest, TaskItem, TaskListFilter, TaskDependentListQuery, UpdateTaskRequest, TaskMutationSnapshot, TaskWorkItemStore, CreateWorkItemRequest, TaskWorkItem, CreateWorkItemIfAbsentRequest, TaskWorkItemListFilter, ProjectLifecycleEventQuery, MenuRegistry, MenuItem, CreateMenuItemInput, UpdateMenuItemInput, SharedResourceStore, ShareRecord, CollectionStore, Collection, CreateCollectionRequest, UpdateCollectionRequest, VectorStoreProvider, VectorStoreCreateParams, CapabilityBundleStore, CapabilityBundle, InternalCreateCapabilityBundleInput, InternalUpdateCapabilityBundleInput, CapabilityBundleDeleteResult, ProjectRoomStore, ProjectRoom, ProjectMembershipStore, ProjectMembership, ProjectHumanRole, ProjectMembershipMutationResult, ProjectBotMembershipStore, ProjectBotMembership, ProjectRoomMessageStore, ProjectRoomMessage, ProjectRoomReadStateStore, ProjectRoomReadState, UserPushSubscriptionStore, UserPushSubscription, SkillStore, Skill, CreateSkillRequest } from '@axiom-lattice/protocols';
|
|
4
4
|
export { AgentWebApp, AgentWebAppAppearance, AgentWebAppFeatures, AgentWebAppScope, AgentWebAppStatus, AgentWebAppStore, Assistant, AssistantStore, Binding, BindingRegistry, CapabilityBundle, CapabilityBundleStore, ChannelInstallation, ChannelInstallationStore, ConnectionEntry, ConnectionStore, CreateAgentWebAppInput, CreateAssistantRequest, CreateBindingInput, CreateCapabilityBundleInput, CreateChannelInstallationInput, CreateChannelInstallationRequest, CreateDatabaseConfigRequest, CreateEvalCaseRequest, CreateEvalProjectRequest, CreateEvalRunRequest, CreateEvalSuiteRequest, CreateMcpServerConfigRequest, CreateMenuItemInput, CreateMetricsServerConfigRequest, CreateProjectRequest, CreateRunStepRequest, CreateShareRequest, CreateSkillRequest, CreateTenantRequest, CreateThreadRequest, CreateUserRequest, CreateUserTenantLinkRequest, CreateWorkflowRunRequest, CreateWorkspaceRequest, DatabaseConfig, DatabaseConfigEntry, DatabaseConfigStore, DatabaseType, EvalCase, EvalProject, EvalProjectReport, EvalRun, EvalRunResult, EvalStore, EvalSuite, LarkChannelInstallationConfig, McpServerConfigEntry, McpServerConfigStore, MenuItem, MenuRegistry, MetricsServerConfig, MetricsServerConfigEntry, MetricsServerConfigStore, Project, ProjectStore, ResourceAddress, RunStep, ScheduleExecutionType, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ShareRecord, ShareResult, ShareVisibility, SharedResourceStore, Skill, SkillStore, StorageType, Tenant, TenantStatus, TenantStore, Thread, ThreadStore, UpdateAgentWebAppInput, UpdateCapabilityBundleInput, UpdateChannelInstallationRequest, UpdateDatabaseConfigRequest, UpdateMcpServerConfigRequest, UpdateMetricsServerConfigRequest, UpdateProjectRequest, UpdateRunStepRequest, UpdateTenantRequest, UpdateUserRequest, UpdateUserTenantLinkRequest, UpdateWorkflowRunRequest, UpdateWorkspaceRequest, User, UserStore, UserTenantLink, UserTenantLinkStore, UserTenantRole, WorkflowRun, WorkflowTrackingStore, Workspace, WorkspaceStore } from '@axiom-lattice/protocols';
|
|
5
5
|
import { IMessageQueueStore, AddMessageParams, PendingMessage, QueueScope, ThreadInfo } from '@axiom-lattice/core';
|
|
6
6
|
export { AddMessageParams, PendingMessage, ThreadInfo } from '@axiom-lattice/core';
|
|
@@ -1657,6 +1657,21 @@ declare class PostgreSQLProjectRoomReadStateStore implements ProjectRoomReadStat
|
|
|
1657
1657
|
}): Promise<ProjectRoomReadState>;
|
|
1658
1658
|
}
|
|
1659
1659
|
|
|
1660
|
+
/** Persists per-user Web Push subscriptions in PostgreSQL. */
|
|
1661
|
+
declare class PostgreSQLUserPushSubscriptionStore implements UserPushSubscriptionStore {
|
|
1662
|
+
/** Creates a store using an externally managed shared pool. */
|
|
1663
|
+
constructor(options: {
|
|
1664
|
+
pool: Pool;
|
|
1665
|
+
});
|
|
1666
|
+
private readonly pool;
|
|
1667
|
+
/** Lists every subscription for a user. */
|
|
1668
|
+
list(tenantId: string, userId: string): Promise<UserPushSubscription[]>;
|
|
1669
|
+
/** Upserts a subscription keyed by tenant + user + endpoint. */
|
|
1670
|
+
save(input: Omit<UserPushSubscription, "id" | "createdAt">): Promise<UserPushSubscription>;
|
|
1671
|
+
/** Deletes one subscription by endpoint. */
|
|
1672
|
+
delete(tenantId: string, userId: string, endpoint: string): Promise<boolean>;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1660
1675
|
declare function createPgStoreConfig(connectionString: string): Promise<{
|
|
1661
1676
|
workspace: PostgreSQLWorkspaceStore;
|
|
1662
1677
|
project: PostgreSQLProjectStore;
|
|
@@ -1689,6 +1704,7 @@ declare function createPgStoreConfig(connectionString: string): Promise<{
|
|
|
1689
1704
|
projectBotMembership: PostgreSQLProjectBotMembershipStore;
|
|
1690
1705
|
projectRoomMessage: PostgreSQLProjectRoomMessageStore;
|
|
1691
1706
|
projectRoomReadState: PostgreSQLProjectRoomReadStateStore;
|
|
1707
|
+
userPushSubscription: PostgreSQLUserPushSubscriptionStore;
|
|
1692
1708
|
vectorStoreProvider: PGVectorStoreProvider;
|
|
1693
1709
|
checkpoint: PostgresSaver;
|
|
1694
1710
|
}>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Pool, PoolConfig, PoolClient } from 'pg';
|
|
2
2
|
export { Pool, PoolConfig } from 'pg';
|
|
3
|
-
import { ThreadStore, Thread, CreateThreadRequest, AssistantStore, Assistant, CreateAssistantRequest, DatabaseConfigStore, DatabaseConfigEntry, CreateDatabaseConfigRequest, UpdateDatabaseConfigRequest, ConnectionStore, ConnectionEntry, MetricsServerConfigStore, MetricsServerConfigEntry, CreateMetricsServerConfigRequest, UpdateMetricsServerConfigRequest, McpServerConfigStore, McpServerConfigEntry, CreateMcpServerConfigRequest, UpdateMcpServerConfigRequest, WorkspaceStore, Workspace, CreateWorkspaceRequest, UpdateWorkspaceRequest, ProjectStore, ProjectFilter, Project, CreateProjectRequest, UpdateProjectRequest, UpdateProjectCapabilityBundlesResult, UserStore, User, CreateUserRequest, UpdateUserRequest, TenantStore, Tenant, CreateTenantRequest, UpdateTenantRequest, UserTenantLinkStore, UserTenantLink, CreateUserTenantLinkRequest, UpdateUserTenantLinkRequest, WorkflowTrackingStore, CreateWorkflowRunRequest, WorkflowRun, UpdateWorkflowRunRequest, QueryWorkflowRunsOptions, QueryWorkflowRunsResult, CreateRunStepRequest, RunStep, UpdateRunStepRequest, StepType, EvalStore, EvalProject, CreateEvalProjectRequest, EvalSuite, CreateEvalSuiteRequest, EvalCase, CreateEvalCaseRequest, EvalRun, CreateEvalRunRequest, EvalRunResult, EvalProjectReport, BindingRegistry, Binding, CreateBindingInput, BindingMutablePatch, BindingListParams, ChannelInstallationStore, ChannelInstallation, ChannelInstallationType, CreateChannelInstallationInput, UpdateChannelInstallationRequest, A2AApiKeyStore, A2AApiKeyRecord, CreateA2AApiKeyInput, UpdateA2AApiKeyInput, A2AApiKeyEntry, OpenAuditStore, OpenAuditQuery, OpenAuditRecord, OpenAuditAppendInput, AgentWebAppStore, AgentWebApp, CreateAgentWebAppInput, AgentWebAppStorePatch, AgentWebAppUpdateOptions, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ScheduleExecutionType, TaskStore, CreateTaskRequest, TaskItem, TaskListFilter, TaskDependentListQuery, UpdateTaskRequest, TaskMutationSnapshot, TaskWorkItemStore, CreateWorkItemRequest, TaskWorkItem, CreateWorkItemIfAbsentRequest, TaskWorkItemListFilter, ProjectLifecycleEventQuery, MenuRegistry, MenuItem, CreateMenuItemInput, UpdateMenuItemInput, SharedResourceStore, ShareRecord, CollectionStore, Collection, CreateCollectionRequest, UpdateCollectionRequest, VectorStoreProvider, VectorStoreCreateParams, CapabilityBundleStore, CapabilityBundle, InternalCreateCapabilityBundleInput, InternalUpdateCapabilityBundleInput, CapabilityBundleDeleteResult, ProjectRoomStore, ProjectRoom, ProjectMembershipStore, ProjectMembership, ProjectHumanRole, ProjectMembershipMutationResult, ProjectBotMembershipStore, ProjectBotMembership, ProjectRoomMessageStore, ProjectRoomMessage, ProjectRoomReadStateStore, ProjectRoomReadState, SkillStore, Skill, CreateSkillRequest } from '@axiom-lattice/protocols';
|
|
3
|
+
import { ThreadStore, Thread, CreateThreadRequest, AssistantStore, Assistant, CreateAssistantRequest, DatabaseConfigStore, DatabaseConfigEntry, CreateDatabaseConfigRequest, UpdateDatabaseConfigRequest, ConnectionStore, ConnectionEntry, MetricsServerConfigStore, MetricsServerConfigEntry, CreateMetricsServerConfigRequest, UpdateMetricsServerConfigRequest, McpServerConfigStore, McpServerConfigEntry, CreateMcpServerConfigRequest, UpdateMcpServerConfigRequest, WorkspaceStore, Workspace, CreateWorkspaceRequest, UpdateWorkspaceRequest, ProjectStore, ProjectFilter, Project, CreateProjectRequest, UpdateProjectRequest, UpdateProjectCapabilityBundlesResult, UserStore, User, CreateUserRequest, UpdateUserRequest, TenantStore, Tenant, CreateTenantRequest, UpdateTenantRequest, UserTenantLinkStore, UserTenantLink, CreateUserTenantLinkRequest, UpdateUserTenantLinkRequest, WorkflowTrackingStore, CreateWorkflowRunRequest, WorkflowRun, UpdateWorkflowRunRequest, QueryWorkflowRunsOptions, QueryWorkflowRunsResult, CreateRunStepRequest, RunStep, UpdateRunStepRequest, StepType, EvalStore, EvalProject, CreateEvalProjectRequest, EvalSuite, CreateEvalSuiteRequest, EvalCase, CreateEvalCaseRequest, EvalRun, CreateEvalRunRequest, EvalRunResult, EvalProjectReport, BindingRegistry, Binding, CreateBindingInput, BindingMutablePatch, BindingListParams, ChannelInstallationStore, ChannelInstallation, ChannelInstallationType, CreateChannelInstallationInput, UpdateChannelInstallationRequest, A2AApiKeyStore, A2AApiKeyRecord, CreateA2AApiKeyInput, UpdateA2AApiKeyInput, A2AApiKeyEntry, OpenAuditStore, OpenAuditQuery, OpenAuditRecord, OpenAuditAppendInput, AgentWebAppStore, AgentWebApp, CreateAgentWebAppInput, AgentWebAppStorePatch, AgentWebAppUpdateOptions, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ScheduleExecutionType, TaskStore, CreateTaskRequest, TaskItem, TaskListFilter, TaskDependentListQuery, UpdateTaskRequest, TaskMutationSnapshot, TaskWorkItemStore, CreateWorkItemRequest, TaskWorkItem, CreateWorkItemIfAbsentRequest, TaskWorkItemListFilter, ProjectLifecycleEventQuery, MenuRegistry, MenuItem, CreateMenuItemInput, UpdateMenuItemInput, SharedResourceStore, ShareRecord, CollectionStore, Collection, CreateCollectionRequest, UpdateCollectionRequest, VectorStoreProvider, VectorStoreCreateParams, CapabilityBundleStore, CapabilityBundle, InternalCreateCapabilityBundleInput, InternalUpdateCapabilityBundleInput, CapabilityBundleDeleteResult, ProjectRoomStore, ProjectRoom, ProjectMembershipStore, ProjectMembership, ProjectHumanRole, ProjectMembershipMutationResult, ProjectBotMembershipStore, ProjectBotMembership, ProjectRoomMessageStore, ProjectRoomMessage, ProjectRoomReadStateStore, ProjectRoomReadState, UserPushSubscriptionStore, UserPushSubscription, SkillStore, Skill, CreateSkillRequest } from '@axiom-lattice/protocols';
|
|
4
4
|
export { AgentWebApp, AgentWebAppAppearance, AgentWebAppFeatures, AgentWebAppScope, AgentWebAppStatus, AgentWebAppStore, Assistant, AssistantStore, Binding, BindingRegistry, CapabilityBundle, CapabilityBundleStore, ChannelInstallation, ChannelInstallationStore, ConnectionEntry, ConnectionStore, CreateAgentWebAppInput, CreateAssistantRequest, CreateBindingInput, CreateCapabilityBundleInput, CreateChannelInstallationInput, CreateChannelInstallationRequest, CreateDatabaseConfigRequest, CreateEvalCaseRequest, CreateEvalProjectRequest, CreateEvalRunRequest, CreateEvalSuiteRequest, CreateMcpServerConfigRequest, CreateMenuItemInput, CreateMetricsServerConfigRequest, CreateProjectRequest, CreateRunStepRequest, CreateShareRequest, CreateSkillRequest, CreateTenantRequest, CreateThreadRequest, CreateUserRequest, CreateUserTenantLinkRequest, CreateWorkflowRunRequest, CreateWorkspaceRequest, DatabaseConfig, DatabaseConfigEntry, DatabaseConfigStore, DatabaseType, EvalCase, EvalProject, EvalProjectReport, EvalRun, EvalRunResult, EvalStore, EvalSuite, LarkChannelInstallationConfig, McpServerConfigEntry, McpServerConfigStore, MenuItem, MenuRegistry, MetricsServerConfig, MetricsServerConfigEntry, MetricsServerConfigStore, Project, ProjectStore, ResourceAddress, RunStep, ScheduleExecutionType, ScheduleStorage, ScheduledTaskDefinition, ScheduledTaskStatus, ShareRecord, ShareResult, ShareVisibility, SharedResourceStore, Skill, SkillStore, StorageType, Tenant, TenantStatus, TenantStore, Thread, ThreadStore, UpdateAgentWebAppInput, UpdateCapabilityBundleInput, UpdateChannelInstallationRequest, UpdateDatabaseConfigRequest, UpdateMcpServerConfigRequest, UpdateMetricsServerConfigRequest, UpdateProjectRequest, UpdateRunStepRequest, UpdateTenantRequest, UpdateUserRequest, UpdateUserTenantLinkRequest, UpdateWorkflowRunRequest, UpdateWorkspaceRequest, User, UserStore, UserTenantLink, UserTenantLinkStore, UserTenantRole, WorkflowRun, WorkflowTrackingStore, Workspace, WorkspaceStore } from '@axiom-lattice/protocols';
|
|
5
5
|
import { IMessageQueueStore, AddMessageParams, PendingMessage, QueueScope, ThreadInfo } from '@axiom-lattice/core';
|
|
6
6
|
export { AddMessageParams, PendingMessage, ThreadInfo } from '@axiom-lattice/core';
|
|
@@ -1657,6 +1657,21 @@ declare class PostgreSQLProjectRoomReadStateStore implements ProjectRoomReadStat
|
|
|
1657
1657
|
}): Promise<ProjectRoomReadState>;
|
|
1658
1658
|
}
|
|
1659
1659
|
|
|
1660
|
+
/** Persists per-user Web Push subscriptions in PostgreSQL. */
|
|
1661
|
+
declare class PostgreSQLUserPushSubscriptionStore implements UserPushSubscriptionStore {
|
|
1662
|
+
/** Creates a store using an externally managed shared pool. */
|
|
1663
|
+
constructor(options: {
|
|
1664
|
+
pool: Pool;
|
|
1665
|
+
});
|
|
1666
|
+
private readonly pool;
|
|
1667
|
+
/** Lists every subscription for a user. */
|
|
1668
|
+
list(tenantId: string, userId: string): Promise<UserPushSubscription[]>;
|
|
1669
|
+
/** Upserts a subscription keyed by tenant + user + endpoint. */
|
|
1670
|
+
save(input: Omit<UserPushSubscription, "id" | "createdAt">): Promise<UserPushSubscription>;
|
|
1671
|
+
/** Deletes one subscription by endpoint. */
|
|
1672
|
+
delete(tenantId: string, userId: string, endpoint: string): Promise<boolean>;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1660
1675
|
declare function createPgStoreConfig(connectionString: string): Promise<{
|
|
1661
1676
|
workspace: PostgreSQLWorkspaceStore;
|
|
1662
1677
|
project: PostgreSQLProjectStore;
|
|
@@ -1689,6 +1704,7 @@ declare function createPgStoreConfig(connectionString: string): Promise<{
|
|
|
1689
1704
|
projectBotMembership: PostgreSQLProjectBotMembershipStore;
|
|
1690
1705
|
projectRoomMessage: PostgreSQLProjectRoomMessageStore;
|
|
1691
1706
|
projectRoomReadState: PostgreSQLProjectRoomReadStateStore;
|
|
1707
|
+
userPushSubscription: PostgreSQLUserPushSubscriptionStore;
|
|
1692
1708
|
vectorStoreProvider: PGVectorStoreProvider;
|
|
1693
1709
|
checkpoint: PostgresSaver;
|
|
1694
1710
|
}>;
|
package/dist/index.js
CHANGED
|
@@ -8853,12 +8853,12 @@ var PostgreSQLTaskWorkItemStore = class {
|
|
|
8853
8853
|
tenantId: row.tenant_id,
|
|
8854
8854
|
action: row.action,
|
|
8855
8855
|
actor: row.actor,
|
|
8856
|
-
threadId: row.thread_id,
|
|
8857
|
-
summary: row.summary,
|
|
8856
|
+
threadId: row.thread_id == null ? void 0 : row.thread_id,
|
|
8857
|
+
summary: row.summary == null ? void 0 : row.summary,
|
|
8858
8858
|
detail: isRecord2(row.detail) ? row.detail : void 0,
|
|
8859
|
-
attempt: row.attempt,
|
|
8860
|
-
workspaceId: row.workspace_id,
|
|
8861
|
-
projectId: row.project_id,
|
|
8859
|
+
attempt: row.attempt == null ? void 0 : row.attempt,
|
|
8860
|
+
workspaceId: row.workspace_id == null ? void 0 : row.workspace_id,
|
|
8861
|
+
projectId: row.project_id == null ? void 0 : row.project_id,
|
|
8862
8862
|
eventKey: row.event_key == null ? void 0 : row.event_key,
|
|
8863
8863
|
createdAt: new Date(row.created_at)
|
|
8864
8864
|
};
|
|
@@ -10001,6 +10001,35 @@ var createProjectRoomReadStates = {
|
|
|
10001
10001
|
}
|
|
10002
10002
|
};
|
|
10003
10003
|
|
|
10004
|
+
// src/migrations/user_push_subscription_migration.ts
|
|
10005
|
+
var createUserPushSubscriptions = {
|
|
10006
|
+
version: 178,
|
|
10007
|
+
name: "create_user_push_subscriptions",
|
|
10008
|
+
up: async (client) => {
|
|
10009
|
+
await client.query(`
|
|
10010
|
+
CREATE TABLE IF NOT EXISTS lattice_user_push_subscriptions (
|
|
10011
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
10012
|
+
tenant_id VARCHAR(255) NOT NULL,
|
|
10013
|
+
user_id VARCHAR(255) NOT NULL,
|
|
10014
|
+
endpoint TEXT NOT NULL,
|
|
10015
|
+
p256dh TEXT NOT NULL,
|
|
10016
|
+
auth TEXT NOT NULL,
|
|
10017
|
+
user_agent TEXT,
|
|
10018
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
10019
|
+
UNIQUE (tenant_id, user_id, endpoint)
|
|
10020
|
+
)
|
|
10021
|
+
`);
|
|
10022
|
+
await client.query(`
|
|
10023
|
+
CREATE INDEX IF NOT EXISTS idx_lattice_user_push_subscriptions_user
|
|
10024
|
+
ON lattice_user_push_subscriptions (tenant_id, user_id)
|
|
10025
|
+
`);
|
|
10026
|
+
},
|
|
10027
|
+
down: async (client) => {
|
|
10028
|
+
await client.query("DROP INDEX IF EXISTS idx_lattice_user_push_subscriptions_user");
|
|
10029
|
+
await client.query("DROP TABLE IF EXISTS lattice_user_push_subscriptions");
|
|
10030
|
+
}
|
|
10031
|
+
};
|
|
10032
|
+
|
|
10004
10033
|
// src/stores/PostgreSQLCapabilityBundleStore.ts
|
|
10005
10034
|
var import_crypto4 = require("crypto");
|
|
10006
10035
|
var import_pg26 = require("pg");
|
|
@@ -10873,6 +10902,58 @@ var PostgreSQLProjectRoomReadStateStore = class {
|
|
|
10873
10902
|
}
|
|
10874
10903
|
};
|
|
10875
10904
|
|
|
10905
|
+
// src/stores/PostgreSQLUserPushSubscriptionStore.ts
|
|
10906
|
+
var import_node_crypto = require("crypto");
|
|
10907
|
+
var columns4 = "id, tenant_id, user_id, endpoint, p256dh, auth, user_agent, created_at";
|
|
10908
|
+
function mapRow7(row) {
|
|
10909
|
+
if (typeof row.id !== "string" || typeof row.tenant_id !== "string" || typeof row.user_id !== "string" || typeof row.endpoint !== "string" || typeof row.p256dh !== "string" || typeof row.auth !== "string" || !(row.created_at instanceof Date) || Number.isNaN(row.created_at.getTime())) {
|
|
10910
|
+
throw new Error("Invalid user push subscription row");
|
|
10911
|
+
}
|
|
10912
|
+
return {
|
|
10913
|
+
id: row.id,
|
|
10914
|
+
tenantId: row.tenant_id,
|
|
10915
|
+
userId: row.user_id,
|
|
10916
|
+
endpoint: row.endpoint,
|
|
10917
|
+
keys: { p256dh: row.p256dh, auth: row.auth },
|
|
10918
|
+
...typeof row.user_agent === "string" ? { userAgent: row.user_agent } : {},
|
|
10919
|
+
createdAt: row.created_at.toISOString()
|
|
10920
|
+
};
|
|
10921
|
+
}
|
|
10922
|
+
var PostgreSQLUserPushSubscriptionStore = class {
|
|
10923
|
+
/** Creates a store using an externally managed shared pool. */
|
|
10924
|
+
constructor(options) {
|
|
10925
|
+
this.pool = options.pool;
|
|
10926
|
+
}
|
|
10927
|
+
/** Lists every subscription for a user. */
|
|
10928
|
+
async list(tenantId, userId) {
|
|
10929
|
+
const result = await this.pool.query(
|
|
10930
|
+
`SELECT ${columns4} FROM lattice_user_push_subscriptions WHERE tenant_id = $1 AND user_id = $2`,
|
|
10931
|
+
[tenantId, userId]
|
|
10932
|
+
);
|
|
10933
|
+
return result.rows.map(mapRow7);
|
|
10934
|
+
}
|
|
10935
|
+
/** Upserts a subscription keyed by tenant + user + endpoint. */
|
|
10936
|
+
async save(input) {
|
|
10937
|
+
const result = await this.pool.query(
|
|
10938
|
+
`INSERT INTO lattice_user_push_subscriptions (${columns4})
|
|
10939
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, NOW())
|
|
10940
|
+
ON CONFLICT (tenant_id, user_id, endpoint) DO UPDATE
|
|
10941
|
+
SET p256dh = EXCLUDED.p256dh, auth = EXCLUDED.auth, user_agent = EXCLUDED.user_agent
|
|
10942
|
+
RETURNING ${columns4}`,
|
|
10943
|
+
[(0, import_node_crypto.randomUUID)(), input.tenantId, input.userId, input.endpoint, input.keys.p256dh, input.keys.auth, input.userAgent ?? null]
|
|
10944
|
+
);
|
|
10945
|
+
return mapRow7(result.rows[0]);
|
|
10946
|
+
}
|
|
10947
|
+
/** Deletes one subscription by endpoint. */
|
|
10948
|
+
async delete(tenantId, userId, endpoint) {
|
|
10949
|
+
const result = await this.pool.query(
|
|
10950
|
+
`DELETE FROM lattice_user_push_subscriptions WHERE tenant_id = $1 AND user_id = $2 AND endpoint = $3`,
|
|
10951
|
+
[tenantId, userId, endpoint]
|
|
10952
|
+
);
|
|
10953
|
+
return (result.rowCount ?? 0) > 0;
|
|
10954
|
+
}
|
|
10955
|
+
};
|
|
10956
|
+
|
|
10876
10957
|
// src/createPgStoreConfig.ts
|
|
10877
10958
|
async function createPgStoreConfig(connectionString) {
|
|
10878
10959
|
const pool = new import_pg27.Pool({ connectionString });
|
|
@@ -10940,6 +11021,7 @@ async function createPgStoreConfig(connectionString) {
|
|
|
10940
11021
|
mm.register(addProjectLifecycleEventIndex);
|
|
10941
11022
|
mm.register(addAgentWebAppsIdentity);
|
|
10942
11023
|
mm.register(createProjectRoomReadStates);
|
|
11024
|
+
mm.register(createUserPushSubscriptions);
|
|
10943
11025
|
await mm.migrate();
|
|
10944
11026
|
const checkpoint = import_langgraph_checkpoint_postgres.PostgresSaver.fromConnString(connectionString);
|
|
10945
11027
|
checkpoint.setup().catch((err) => {
|
|
@@ -10979,6 +11061,7 @@ async function createPgStoreConfig(connectionString) {
|
|
|
10979
11061
|
projectBotMembership: new PostgreSQLProjectBotMembershipStore(opts),
|
|
10980
11062
|
projectRoomMessage: new PostgreSQLProjectRoomMessageStore(opts),
|
|
10981
11063
|
projectRoomReadState: new PostgreSQLProjectRoomReadStateStore(opts),
|
|
11064
|
+
userPushSubscription: new PostgreSQLUserPushSubscriptionStore(opts),
|
|
10982
11065
|
vectorStoreProvider: new PGVectorStoreProvider(pool, connectionString),
|
|
10983
11066
|
checkpoint
|
|
10984
11067
|
};
|