@electric-ax/agents-server 0.4.18 → 0.4.20
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/dist/entrypoint.js +590 -40
- package/dist/index.cjs +576 -36
- package/dist/index.d.cts +290 -40
- package/dist/index.d.ts +290 -40
- package/dist/index.js +577 -37
- package/drizzle/0015_pg_sync_bridges.sql +14 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +6 -6
- package/src/db/schema.ts +28 -0
- package/src/entity-manager.ts +34 -29
- package/src/entity-registry.ts +144 -3
- package/src/manifest-side-effects.ts +10 -0
- package/src/pg-sync-bridge-manager.ts +552 -0
- package/src/routing/context.ts +2 -0
- package/src/routing/durable-streams-router.ts +13 -0
- package/src/routing/entities-router.ts +28 -16
- package/src/routing/global-router.ts +3 -0
- package/src/routing/hooks.ts +7 -0
- package/src/routing/internal-router.ts +2 -0
- package/src/routing/pg-sync-router.ts +113 -0
- package/src/runtime.ts +20 -1
- package/src/scheduler.ts +26 -0
- package/src/server.ts +4 -0
- package/src/standalone-runtime.ts +16 -0
- package/src/utils/server-utils.ts +97 -1
- package/src/wake-registry.ts +27 -2
package/dist/index.d.cts
CHANGED
|
@@ -238,9 +238,20 @@ import * as drizzle_orm_pg_core289 from "drizzle-orm/pg-core";
|
|
|
238
238
|
import * as drizzle_orm_pg_core290 from "drizzle-orm/pg-core";
|
|
239
239
|
import * as drizzle_orm_pg_core291 from "drizzle-orm/pg-core";
|
|
240
240
|
import * as drizzle_orm_pg_core292 from "drizzle-orm/pg-core";
|
|
241
|
+
import * as drizzle_orm_pg_core293 from "drizzle-orm/pg-core";
|
|
242
|
+
import * as drizzle_orm_pg_core294 from "drizzle-orm/pg-core";
|
|
243
|
+
import * as drizzle_orm_pg_core295 from "drizzle-orm/pg-core";
|
|
244
|
+
import * as drizzle_orm_pg_core296 from "drizzle-orm/pg-core";
|
|
245
|
+
import * as drizzle_orm_pg_core297 from "drizzle-orm/pg-core";
|
|
246
|
+
import * as drizzle_orm_pg_core298 from "drizzle-orm/pg-core";
|
|
247
|
+
import * as drizzle_orm_pg_core299 from "drizzle-orm/pg-core";
|
|
248
|
+
import * as drizzle_orm_pg_core300 from "drizzle-orm/pg-core";
|
|
249
|
+
import * as drizzle_orm_pg_core301 from "drizzle-orm/pg-core";
|
|
250
|
+
import * as drizzle_orm_pg_core302 from "drizzle-orm/pg-core";
|
|
251
|
+
import * as drizzle_orm_pg_core303 from "drizzle-orm/pg-core";
|
|
241
252
|
import * as drizzle_orm74 from "drizzle-orm";
|
|
242
253
|
import * as drizzle_orm75 from "drizzle-orm";
|
|
243
|
-
import { EntityTags, EventPointer, EventSourceBucket, EventSourceContract, EventSourceContract as EventSourceContract$1, EventSourceFilter, EventSourceSubscription, EventSourceSubscription as EventSourceSubscription$1, EventSourceSubscriptionInput, SlashCommandDefinition, SubscriptionLifetime, WebhookNotification, WebhookSignatureVerifierConfig } from "@electric-ax/agents-runtime";
|
|
254
|
+
import { EntityTags, EventPointer, EventSourceBucket, EventSourceContract, EventSourceContract as EventSourceContract$1, EventSourceFilter, EventSourceSubscription, EventSourceSubscription as EventSourceSubscription$1, EventSourceSubscriptionInput, PgSyncOptions, PgSyncRequestMetadata, SlashCommandDefinition, SubscriptionLifetime, WebhookNotification, WebhookSignatureVerifierConfig } from "@electric-ax/agents-runtime";
|
|
244
255
|
import "@sinclair/typebox";
|
|
245
256
|
import { MaybePromise } from "@durable-streams/client";
|
|
246
257
|
import { AutoRouterType, IRequest } from "itty-router";
|
|
@@ -249,7 +260,7 @@ import { JsonWebKey, KeyObject } from "node:crypto";
|
|
|
249
260
|
|
|
250
261
|
//#region rolldown:runtime
|
|
251
262
|
declare namespace schema_d_exports {
|
|
252
|
-
export { consumerCallbacks, consumerClaims, entities, entityBridges, entityDispatchState, entityEffectivePermissions, entityLineage, entityManifestSources, entityPermissionGrants, entityTypePermissionGrants, entityTypes, runnerRuntimeDiagnostics, runners, scheduledTasks, sharedStateLinks, subscriptionWebhooks, tagStreamOutbox, users, wakeNotifications, wakeRegistrations };
|
|
263
|
+
export { consumerCallbacks, consumerClaims, entities, entityBridges, entityDispatchState, entityEffectivePermissions, entityLineage, entityManifestSources, entityPermissionGrants, entityTypePermissionGrants, entityTypes, pgSyncBridges, runnerRuntimeDiagnostics, runners, scheduledTasks, sharedStateLinks, subscriptionWebhooks, tagStreamOutbox, users, wakeNotifications, wakeRegistrations };
|
|
253
264
|
}
|
|
254
265
|
declare const entityTypes: drizzle_orm_pg_core65.PgTableWithColumns<{
|
|
255
266
|
name: "entity_types";
|
|
@@ -3575,13 +3586,13 @@ declare const scheduledTasks: drizzle_orm_pg_core259.PgTableWithColumns<{
|
|
|
3575
3586
|
};
|
|
3576
3587
|
dialect: "pg";
|
|
3577
3588
|
}>;
|
|
3578
|
-
declare const
|
|
3579
|
-
name: "
|
|
3589
|
+
declare const pgSyncBridges: drizzle_orm_pg_core270.PgTableWithColumns<{
|
|
3590
|
+
name: "pg_sync_bridges";
|
|
3580
3591
|
schema: undefined;
|
|
3581
3592
|
columns: {
|
|
3582
3593
|
tenantId: drizzle_orm_pg_core260.PgColumn<{
|
|
3583
3594
|
name: "tenant_id";
|
|
3584
|
-
tableName: "
|
|
3595
|
+
tableName: "pg_sync_bridges";
|
|
3585
3596
|
dataType: "string";
|
|
3586
3597
|
columnType: "PgText";
|
|
3587
3598
|
data: string;
|
|
@@ -3597,6 +3608,183 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3597
3608
|
generated: undefined;
|
|
3598
3609
|
}, {}, {}>;
|
|
3599
3610
|
sourceRef: drizzle_orm_pg_core261.PgColumn<{
|
|
3611
|
+
name: "source_ref";
|
|
3612
|
+
tableName: "pg_sync_bridges";
|
|
3613
|
+
dataType: "string";
|
|
3614
|
+
columnType: "PgText";
|
|
3615
|
+
data: string;
|
|
3616
|
+
driverParam: string;
|
|
3617
|
+
notNull: true;
|
|
3618
|
+
hasDefault: false;
|
|
3619
|
+
isPrimaryKey: false;
|
|
3620
|
+
isAutoincrement: false;
|
|
3621
|
+
hasRuntimeDefault: false;
|
|
3622
|
+
enumValues: [string, ...string[]];
|
|
3623
|
+
baseColumn: never;
|
|
3624
|
+
identity: undefined;
|
|
3625
|
+
generated: undefined;
|
|
3626
|
+
}, {}, {}>;
|
|
3627
|
+
options: drizzle_orm_pg_core262.PgColumn<{
|
|
3628
|
+
name: "options";
|
|
3629
|
+
tableName: "pg_sync_bridges";
|
|
3630
|
+
dataType: "json";
|
|
3631
|
+
columnType: "PgJsonb";
|
|
3632
|
+
data: unknown;
|
|
3633
|
+
driverParam: unknown;
|
|
3634
|
+
notNull: true;
|
|
3635
|
+
hasDefault: false;
|
|
3636
|
+
isPrimaryKey: false;
|
|
3637
|
+
isAutoincrement: false;
|
|
3638
|
+
hasRuntimeDefault: false;
|
|
3639
|
+
enumValues: undefined;
|
|
3640
|
+
baseColumn: never;
|
|
3641
|
+
identity: undefined;
|
|
3642
|
+
generated: undefined;
|
|
3643
|
+
}, {}, {}>;
|
|
3644
|
+
streamUrl: drizzle_orm_pg_core263.PgColumn<{
|
|
3645
|
+
name: "stream_url";
|
|
3646
|
+
tableName: "pg_sync_bridges";
|
|
3647
|
+
dataType: "string";
|
|
3648
|
+
columnType: "PgText";
|
|
3649
|
+
data: string;
|
|
3650
|
+
driverParam: string;
|
|
3651
|
+
notNull: true;
|
|
3652
|
+
hasDefault: false;
|
|
3653
|
+
isPrimaryKey: false;
|
|
3654
|
+
isAutoincrement: false;
|
|
3655
|
+
hasRuntimeDefault: false;
|
|
3656
|
+
enumValues: [string, ...string[]];
|
|
3657
|
+
baseColumn: never;
|
|
3658
|
+
identity: undefined;
|
|
3659
|
+
generated: undefined;
|
|
3660
|
+
}, {}, {}>;
|
|
3661
|
+
shapeHandle: drizzle_orm_pg_core264.PgColumn<{
|
|
3662
|
+
name: "shape_handle";
|
|
3663
|
+
tableName: "pg_sync_bridges";
|
|
3664
|
+
dataType: "string";
|
|
3665
|
+
columnType: "PgText";
|
|
3666
|
+
data: string;
|
|
3667
|
+
driverParam: string;
|
|
3668
|
+
notNull: false;
|
|
3669
|
+
hasDefault: false;
|
|
3670
|
+
isPrimaryKey: false;
|
|
3671
|
+
isAutoincrement: false;
|
|
3672
|
+
hasRuntimeDefault: false;
|
|
3673
|
+
enumValues: [string, ...string[]];
|
|
3674
|
+
baseColumn: never;
|
|
3675
|
+
identity: undefined;
|
|
3676
|
+
generated: undefined;
|
|
3677
|
+
}, {}, {}>;
|
|
3678
|
+
shapeOffset: drizzle_orm_pg_core265.PgColumn<{
|
|
3679
|
+
name: "shape_offset";
|
|
3680
|
+
tableName: "pg_sync_bridges";
|
|
3681
|
+
dataType: "string";
|
|
3682
|
+
columnType: "PgText";
|
|
3683
|
+
data: string;
|
|
3684
|
+
driverParam: string;
|
|
3685
|
+
notNull: false;
|
|
3686
|
+
hasDefault: false;
|
|
3687
|
+
isPrimaryKey: false;
|
|
3688
|
+
isAutoincrement: false;
|
|
3689
|
+
hasRuntimeDefault: false;
|
|
3690
|
+
enumValues: [string, ...string[]];
|
|
3691
|
+
baseColumn: never;
|
|
3692
|
+
identity: undefined;
|
|
3693
|
+
generated: undefined;
|
|
3694
|
+
}, {}, {}>;
|
|
3695
|
+
initialSnapshotComplete: drizzle_orm_pg_core266.PgColumn<{
|
|
3696
|
+
name: "initial_snapshot_complete";
|
|
3697
|
+
tableName: "pg_sync_bridges";
|
|
3698
|
+
dataType: "boolean";
|
|
3699
|
+
columnType: "PgBoolean";
|
|
3700
|
+
data: boolean;
|
|
3701
|
+
driverParam: boolean;
|
|
3702
|
+
notNull: true;
|
|
3703
|
+
hasDefault: true;
|
|
3704
|
+
isPrimaryKey: false;
|
|
3705
|
+
isAutoincrement: false;
|
|
3706
|
+
hasRuntimeDefault: false;
|
|
3707
|
+
enumValues: undefined;
|
|
3708
|
+
baseColumn: never;
|
|
3709
|
+
identity: undefined;
|
|
3710
|
+
generated: undefined;
|
|
3711
|
+
}, {}, {}>;
|
|
3712
|
+
lastTouchedAt: drizzle_orm_pg_core267.PgColumn<{
|
|
3713
|
+
name: "last_touched_at";
|
|
3714
|
+
tableName: "pg_sync_bridges";
|
|
3715
|
+
dataType: "date";
|
|
3716
|
+
columnType: "PgTimestamp";
|
|
3717
|
+
data: Date;
|
|
3718
|
+
driverParam: string;
|
|
3719
|
+
notNull: true;
|
|
3720
|
+
hasDefault: true;
|
|
3721
|
+
isPrimaryKey: false;
|
|
3722
|
+
isAutoincrement: false;
|
|
3723
|
+
hasRuntimeDefault: false;
|
|
3724
|
+
enumValues: undefined;
|
|
3725
|
+
baseColumn: never;
|
|
3726
|
+
identity: undefined;
|
|
3727
|
+
generated: undefined;
|
|
3728
|
+
}, {}, {}>;
|
|
3729
|
+
createdAt: drizzle_orm_pg_core268.PgColumn<{
|
|
3730
|
+
name: "created_at";
|
|
3731
|
+
tableName: "pg_sync_bridges";
|
|
3732
|
+
dataType: "date";
|
|
3733
|
+
columnType: "PgTimestamp";
|
|
3734
|
+
data: Date;
|
|
3735
|
+
driverParam: string;
|
|
3736
|
+
notNull: true;
|
|
3737
|
+
hasDefault: true;
|
|
3738
|
+
isPrimaryKey: false;
|
|
3739
|
+
isAutoincrement: false;
|
|
3740
|
+
hasRuntimeDefault: false;
|
|
3741
|
+
enumValues: undefined;
|
|
3742
|
+
baseColumn: never;
|
|
3743
|
+
identity: undefined;
|
|
3744
|
+
generated: undefined;
|
|
3745
|
+
}, {}, {}>;
|
|
3746
|
+
updatedAt: drizzle_orm_pg_core269.PgColumn<{
|
|
3747
|
+
name: "updated_at";
|
|
3748
|
+
tableName: "pg_sync_bridges";
|
|
3749
|
+
dataType: "date";
|
|
3750
|
+
columnType: "PgTimestamp";
|
|
3751
|
+
data: Date;
|
|
3752
|
+
driverParam: string;
|
|
3753
|
+
notNull: true;
|
|
3754
|
+
hasDefault: true;
|
|
3755
|
+
isPrimaryKey: false;
|
|
3756
|
+
isAutoincrement: false;
|
|
3757
|
+
hasRuntimeDefault: false;
|
|
3758
|
+
enumValues: undefined;
|
|
3759
|
+
baseColumn: never;
|
|
3760
|
+
identity: undefined;
|
|
3761
|
+
generated: undefined;
|
|
3762
|
+
}, {}, {}>;
|
|
3763
|
+
};
|
|
3764
|
+
dialect: "pg";
|
|
3765
|
+
}>;
|
|
3766
|
+
declare const entityBridges: drizzle_orm_pg_core282.PgTableWithColumns<{
|
|
3767
|
+
name: "entity_bridges";
|
|
3768
|
+
schema: undefined;
|
|
3769
|
+
columns: {
|
|
3770
|
+
tenantId: drizzle_orm_pg_core271.PgColumn<{
|
|
3771
|
+
name: "tenant_id";
|
|
3772
|
+
tableName: "entity_bridges";
|
|
3773
|
+
dataType: "string";
|
|
3774
|
+
columnType: "PgText";
|
|
3775
|
+
data: string;
|
|
3776
|
+
driverParam: string;
|
|
3777
|
+
notNull: true;
|
|
3778
|
+
hasDefault: true;
|
|
3779
|
+
isPrimaryKey: false;
|
|
3780
|
+
isAutoincrement: false;
|
|
3781
|
+
hasRuntimeDefault: false;
|
|
3782
|
+
enumValues: [string, ...string[]];
|
|
3783
|
+
baseColumn: never;
|
|
3784
|
+
identity: undefined;
|
|
3785
|
+
generated: undefined;
|
|
3786
|
+
}, {}, {}>;
|
|
3787
|
+
sourceRef: drizzle_orm_pg_core272.PgColumn<{
|
|
3600
3788
|
name: "source_ref";
|
|
3601
3789
|
tableName: "entity_bridges";
|
|
3602
3790
|
dataType: "string";
|
|
@@ -3613,7 +3801,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3613
3801
|
identity: undefined;
|
|
3614
3802
|
generated: undefined;
|
|
3615
3803
|
}, {}, {}>;
|
|
3616
|
-
tags:
|
|
3804
|
+
tags: drizzle_orm_pg_core273.PgColumn<{
|
|
3617
3805
|
name: "tags";
|
|
3618
3806
|
tableName: "entity_bridges";
|
|
3619
3807
|
dataType: "json";
|
|
@@ -3630,7 +3818,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3630
3818
|
identity: undefined;
|
|
3631
3819
|
generated: undefined;
|
|
3632
3820
|
}, {}, {}>;
|
|
3633
|
-
streamUrl:
|
|
3821
|
+
streamUrl: drizzle_orm_pg_core274.PgColumn<{
|
|
3634
3822
|
name: "stream_url";
|
|
3635
3823
|
tableName: "entity_bridges";
|
|
3636
3824
|
dataType: "string";
|
|
@@ -3647,7 +3835,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3647
3835
|
identity: undefined;
|
|
3648
3836
|
generated: undefined;
|
|
3649
3837
|
}, {}, {}>;
|
|
3650
|
-
principalUrl:
|
|
3838
|
+
principalUrl: drizzle_orm_pg_core275.PgColumn<{
|
|
3651
3839
|
name: "principal_url";
|
|
3652
3840
|
tableName: "entity_bridges";
|
|
3653
3841
|
dataType: "string";
|
|
@@ -3664,7 +3852,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3664
3852
|
identity: undefined;
|
|
3665
3853
|
generated: undefined;
|
|
3666
3854
|
}, {}, {}>;
|
|
3667
|
-
principalKind:
|
|
3855
|
+
principalKind: drizzle_orm_pg_core276.PgColumn<{
|
|
3668
3856
|
name: "principal_kind";
|
|
3669
3857
|
tableName: "entity_bridges";
|
|
3670
3858
|
dataType: "string";
|
|
@@ -3681,7 +3869,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3681
3869
|
identity: undefined;
|
|
3682
3870
|
generated: undefined;
|
|
3683
3871
|
}, {}, {}>;
|
|
3684
|
-
shapeHandle:
|
|
3872
|
+
shapeHandle: drizzle_orm_pg_core277.PgColumn<{
|
|
3685
3873
|
name: "shape_handle";
|
|
3686
3874
|
tableName: "entity_bridges";
|
|
3687
3875
|
dataType: "string";
|
|
@@ -3698,7 +3886,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3698
3886
|
identity: undefined;
|
|
3699
3887
|
generated: undefined;
|
|
3700
3888
|
}, {}, {}>;
|
|
3701
|
-
shapeOffset:
|
|
3889
|
+
shapeOffset: drizzle_orm_pg_core278.PgColumn<{
|
|
3702
3890
|
name: "shape_offset";
|
|
3703
3891
|
tableName: "entity_bridges";
|
|
3704
3892
|
dataType: "string";
|
|
@@ -3715,7 +3903,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3715
3903
|
identity: undefined;
|
|
3716
3904
|
generated: undefined;
|
|
3717
3905
|
}, {}, {}>;
|
|
3718
|
-
lastObserverActivityAt:
|
|
3906
|
+
lastObserverActivityAt: drizzle_orm_pg_core279.PgColumn<{
|
|
3719
3907
|
name: "last_observer_activity_at";
|
|
3720
3908
|
tableName: "entity_bridges";
|
|
3721
3909
|
dataType: "date";
|
|
@@ -3732,7 +3920,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3732
3920
|
identity: undefined;
|
|
3733
3921
|
generated: undefined;
|
|
3734
3922
|
}, {}, {}>;
|
|
3735
|
-
createdAt:
|
|
3923
|
+
createdAt: drizzle_orm_pg_core280.PgColumn<{
|
|
3736
3924
|
name: "created_at";
|
|
3737
3925
|
tableName: "entity_bridges";
|
|
3738
3926
|
dataType: "date";
|
|
@@ -3749,7 +3937,7 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3749
3937
|
identity: undefined;
|
|
3750
3938
|
generated: undefined;
|
|
3751
3939
|
}, {}, {}>;
|
|
3752
|
-
updatedAt:
|
|
3940
|
+
updatedAt: drizzle_orm_pg_core281.PgColumn<{
|
|
3753
3941
|
name: "updated_at";
|
|
3754
3942
|
tableName: "entity_bridges";
|
|
3755
3943
|
dataType: "date";
|
|
@@ -3769,11 +3957,11 @@ declare const entityBridges: drizzle_orm_pg_core271.PgTableWithColumns<{
|
|
|
3769
3957
|
};
|
|
3770
3958
|
dialect: "pg";
|
|
3771
3959
|
}>;
|
|
3772
|
-
declare const entityManifestSources:
|
|
3960
|
+
declare const entityManifestSources: drizzle_orm_pg_core289.PgTableWithColumns<{
|
|
3773
3961
|
name: "entity_manifest_sources";
|
|
3774
3962
|
schema: undefined;
|
|
3775
3963
|
columns: {
|
|
3776
|
-
tenantId:
|
|
3964
|
+
tenantId: drizzle_orm_pg_core283.PgColumn<{
|
|
3777
3965
|
name: "tenant_id";
|
|
3778
3966
|
tableName: "entity_manifest_sources";
|
|
3779
3967
|
dataType: "string";
|
|
@@ -3790,7 +3978,7 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3790
3978
|
identity: undefined;
|
|
3791
3979
|
generated: undefined;
|
|
3792
3980
|
}, {}, {}>;
|
|
3793
|
-
ownerEntityUrl:
|
|
3981
|
+
ownerEntityUrl: drizzle_orm_pg_core284.PgColumn<{
|
|
3794
3982
|
name: "owner_entity_url";
|
|
3795
3983
|
tableName: "entity_manifest_sources";
|
|
3796
3984
|
dataType: "string";
|
|
@@ -3807,7 +3995,7 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3807
3995
|
identity: undefined;
|
|
3808
3996
|
generated: undefined;
|
|
3809
3997
|
}, {}, {}>;
|
|
3810
|
-
manifestKey:
|
|
3998
|
+
manifestKey: drizzle_orm_pg_core285.PgColumn<{
|
|
3811
3999
|
name: "manifest_key";
|
|
3812
4000
|
tableName: "entity_manifest_sources";
|
|
3813
4001
|
dataType: "string";
|
|
@@ -3824,7 +4012,7 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3824
4012
|
identity: undefined;
|
|
3825
4013
|
generated: undefined;
|
|
3826
4014
|
}, {}, {}>;
|
|
3827
|
-
sourceRef:
|
|
4015
|
+
sourceRef: drizzle_orm_pg_core286.PgColumn<{
|
|
3828
4016
|
name: "source_ref";
|
|
3829
4017
|
tableName: "entity_manifest_sources";
|
|
3830
4018
|
dataType: "string";
|
|
@@ -3841,7 +4029,7 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3841
4029
|
identity: undefined;
|
|
3842
4030
|
generated: undefined;
|
|
3843
4031
|
}, {}, {}>;
|
|
3844
|
-
createdAt:
|
|
4032
|
+
createdAt: drizzle_orm_pg_core287.PgColumn<{
|
|
3845
4033
|
name: "created_at";
|
|
3846
4034
|
tableName: "entity_manifest_sources";
|
|
3847
4035
|
dataType: "date";
|
|
@@ -3858,7 +4046,7 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3858
4046
|
identity: undefined;
|
|
3859
4047
|
generated: undefined;
|
|
3860
4048
|
}, {}, {}>;
|
|
3861
|
-
updatedAt:
|
|
4049
|
+
updatedAt: drizzle_orm_pg_core288.PgColumn<{
|
|
3862
4050
|
name: "updated_at";
|
|
3863
4051
|
tableName: "entity_manifest_sources";
|
|
3864
4052
|
dataType: "date";
|
|
@@ -3878,11 +4066,11 @@ declare const entityManifestSources: drizzle_orm_pg_core278.PgTableWithColumns<{
|
|
|
3878
4066
|
};
|
|
3879
4067
|
dialect: "pg";
|
|
3880
4068
|
}>;
|
|
3881
|
-
declare const tagStreamOutbox:
|
|
4069
|
+
declare const tagStreamOutbox: drizzle_orm_pg_core303.PgTableWithColumns<{
|
|
3882
4070
|
name: "tag_stream_outbox";
|
|
3883
4071
|
schema: undefined;
|
|
3884
4072
|
columns: {
|
|
3885
|
-
id:
|
|
4073
|
+
id: drizzle_orm_pg_core290.PgColumn<{
|
|
3886
4074
|
name: "id";
|
|
3887
4075
|
tableName: "tag_stream_outbox";
|
|
3888
4076
|
dataType: "number";
|
|
@@ -3899,7 +4087,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3899
4087
|
identity: undefined;
|
|
3900
4088
|
generated: undefined;
|
|
3901
4089
|
}, {}, {}>;
|
|
3902
|
-
tenantId:
|
|
4090
|
+
tenantId: drizzle_orm_pg_core291.PgColumn<{
|
|
3903
4091
|
name: "tenant_id";
|
|
3904
4092
|
tableName: "tag_stream_outbox";
|
|
3905
4093
|
dataType: "string";
|
|
@@ -3916,7 +4104,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3916
4104
|
identity: undefined;
|
|
3917
4105
|
generated: undefined;
|
|
3918
4106
|
}, {}, {}>;
|
|
3919
|
-
entityUrl:
|
|
4107
|
+
entityUrl: drizzle_orm_pg_core292.PgColumn<{
|
|
3920
4108
|
name: "entity_url";
|
|
3921
4109
|
tableName: "tag_stream_outbox";
|
|
3922
4110
|
dataType: "string";
|
|
@@ -3933,7 +4121,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3933
4121
|
identity: undefined;
|
|
3934
4122
|
generated: undefined;
|
|
3935
4123
|
}, {}, {}>;
|
|
3936
|
-
collection:
|
|
4124
|
+
collection: drizzle_orm_pg_core293.PgColumn<{
|
|
3937
4125
|
name: "collection";
|
|
3938
4126
|
tableName: "tag_stream_outbox";
|
|
3939
4127
|
dataType: "string";
|
|
@@ -3950,7 +4138,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3950
4138
|
identity: undefined;
|
|
3951
4139
|
generated: undefined;
|
|
3952
4140
|
}, {}, {}>;
|
|
3953
|
-
op:
|
|
4141
|
+
op: drizzle_orm_pg_core294.PgColumn<{
|
|
3954
4142
|
name: "op";
|
|
3955
4143
|
tableName: "tag_stream_outbox";
|
|
3956
4144
|
dataType: "string";
|
|
@@ -3967,7 +4155,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3967
4155
|
identity: undefined;
|
|
3968
4156
|
generated: undefined;
|
|
3969
4157
|
}, {}, {}>;
|
|
3970
|
-
key:
|
|
4158
|
+
key: drizzle_orm_pg_core295.PgColumn<{
|
|
3971
4159
|
name: "key";
|
|
3972
4160
|
tableName: "tag_stream_outbox";
|
|
3973
4161
|
dataType: "string";
|
|
@@ -3984,7 +4172,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
3984
4172
|
identity: undefined;
|
|
3985
4173
|
generated: undefined;
|
|
3986
4174
|
}, {}, {}>;
|
|
3987
|
-
rowData:
|
|
4175
|
+
rowData: drizzle_orm_pg_core296.PgColumn<{
|
|
3988
4176
|
name: "row_data";
|
|
3989
4177
|
tableName: "tag_stream_outbox";
|
|
3990
4178
|
dataType: "json";
|
|
@@ -4001,7 +4189,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4001
4189
|
identity: undefined;
|
|
4002
4190
|
generated: undefined;
|
|
4003
4191
|
}, {}, {}>;
|
|
4004
|
-
attemptCount:
|
|
4192
|
+
attemptCount: drizzle_orm_pg_core297.PgColumn<{
|
|
4005
4193
|
name: "attempt_count";
|
|
4006
4194
|
tableName: "tag_stream_outbox";
|
|
4007
4195
|
dataType: "number";
|
|
@@ -4018,7 +4206,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4018
4206
|
identity: undefined;
|
|
4019
4207
|
generated: undefined;
|
|
4020
4208
|
}, {}, {}>;
|
|
4021
|
-
lastError:
|
|
4209
|
+
lastError: drizzle_orm_pg_core298.PgColumn<{
|
|
4022
4210
|
name: "last_error";
|
|
4023
4211
|
tableName: "tag_stream_outbox";
|
|
4024
4212
|
dataType: "string";
|
|
@@ -4035,7 +4223,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4035
4223
|
identity: undefined;
|
|
4036
4224
|
generated: undefined;
|
|
4037
4225
|
}, {}, {}>;
|
|
4038
|
-
claimedBy:
|
|
4226
|
+
claimedBy: drizzle_orm_pg_core299.PgColumn<{
|
|
4039
4227
|
name: "claimed_by";
|
|
4040
4228
|
tableName: "tag_stream_outbox";
|
|
4041
4229
|
dataType: "string";
|
|
@@ -4052,7 +4240,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4052
4240
|
identity: undefined;
|
|
4053
4241
|
generated: undefined;
|
|
4054
4242
|
}, {}, {}>;
|
|
4055
|
-
claimedAt:
|
|
4243
|
+
claimedAt: drizzle_orm_pg_core300.PgColumn<{
|
|
4056
4244
|
name: "claimed_at";
|
|
4057
4245
|
tableName: "tag_stream_outbox";
|
|
4058
4246
|
dataType: "date";
|
|
@@ -4069,7 +4257,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4069
4257
|
identity: undefined;
|
|
4070
4258
|
generated: undefined;
|
|
4071
4259
|
}, {}, {}>;
|
|
4072
|
-
deadLetteredAt:
|
|
4260
|
+
deadLetteredAt: drizzle_orm_pg_core301.PgColumn<{
|
|
4073
4261
|
name: "dead_lettered_at";
|
|
4074
4262
|
tableName: "tag_stream_outbox";
|
|
4075
4263
|
dataType: "date";
|
|
@@ -4086,7 +4274,7 @@ declare const tagStreamOutbox: drizzle_orm_pg_core292.PgTableWithColumns<{
|
|
|
4086
4274
|
identity: undefined;
|
|
4087
4275
|
generated: undefined;
|
|
4088
4276
|
}, {}, {}>;
|
|
4089
|
-
createdAt:
|
|
4277
|
+
createdAt: drizzle_orm_pg_core302.PgColumn<{
|
|
4090
4278
|
name: "created_at";
|
|
4091
4279
|
tableName: "tag_stream_outbox";
|
|
4092
4280
|
dataType: "date";
|
|
@@ -4526,6 +4714,18 @@ interface EntityBridgeRow {
|
|
|
4526
4714
|
createdAt: Date;
|
|
4527
4715
|
updatedAt: Date;
|
|
4528
4716
|
}
|
|
4717
|
+
interface PgSyncBridgeRow {
|
|
4718
|
+
tenantId: string;
|
|
4719
|
+
sourceRef: string;
|
|
4720
|
+
options: PgSyncOptions;
|
|
4721
|
+
streamUrl: string;
|
|
4722
|
+
shapeHandle?: string;
|
|
4723
|
+
shapeOffset?: string;
|
|
4724
|
+
initialSnapshotComplete: boolean;
|
|
4725
|
+
lastTouchedAt: Date;
|
|
4726
|
+
createdAt: Date;
|
|
4727
|
+
updatedAt: Date;
|
|
4728
|
+
}
|
|
4529
4729
|
interface TagStreamOutboxRow {
|
|
4530
4730
|
id: number;
|
|
4531
4731
|
tenantId: string;
|
|
@@ -4656,6 +4856,7 @@ declare class PostgresRegistry {
|
|
|
4656
4856
|
private entityTypeWhere;
|
|
4657
4857
|
private entityWhere;
|
|
4658
4858
|
private entityBridgeWhere;
|
|
4859
|
+
private pgSyncBridgeWhere;
|
|
4659
4860
|
createEntityType(et: ElectricAgentsEntityType): Promise<void>;
|
|
4660
4861
|
ensureEntityType(et: ElectricAgentsEntityType): Promise<ElectricAgentsEntityType>;
|
|
4661
4862
|
getEntityType(name: string): Promise<ElectricAgentsEntityType | null>;
|
|
@@ -4712,12 +4913,24 @@ declare class PostgresRegistry {
|
|
|
4712
4913
|
entity: ElectricAgentsEntity | null;
|
|
4713
4914
|
changed: boolean;
|
|
4714
4915
|
op?: `insert` | `update` | `delete`;
|
|
4916
|
+
txid?: number;
|
|
4715
4917
|
}>;
|
|
4716
4918
|
removeEntityTag(url: string, key: string): Promise<{
|
|
4717
4919
|
entity: ElectricAgentsEntity | null;
|
|
4718
4920
|
changed: boolean;
|
|
4921
|
+
txid?: number;
|
|
4719
4922
|
}>;
|
|
4720
4923
|
private mutateEntityTags;
|
|
4924
|
+
upsertPgSyncBridge(row: {
|
|
4925
|
+
sourceRef: string;
|
|
4926
|
+
options: PgSyncOptions;
|
|
4927
|
+
streamUrl: string;
|
|
4928
|
+
}): Promise<PgSyncBridgeRow>;
|
|
4929
|
+
getPgSyncBridge(sourceRef: string): Promise<PgSyncBridgeRow | null>;
|
|
4930
|
+
listPgSyncBridges(tenantId?: string | null): Promise<Array<PgSyncBridgeRow>>;
|
|
4931
|
+
touchPgSyncBridge(sourceRef: string): Promise<void>;
|
|
4932
|
+
updatePgSyncBridgeCursor(sourceRef: string, shapeHandle: string, shapeOffset: string, initialSnapshotComplete?: boolean): Promise<void>;
|
|
4933
|
+
clearPgSyncBridgeCursor(sourceRef: string): Promise<void>;
|
|
4721
4934
|
upsertEntityBridge(row: {
|
|
4722
4935
|
sourceRef: string;
|
|
4723
4936
|
tags: EntityTags;
|
|
@@ -4747,6 +4960,7 @@ declare class PostgresRegistry {
|
|
|
4747
4960
|
private rowToEntityTypePermissionGrant;
|
|
4748
4961
|
private rowToEntityPermissionGrant;
|
|
4749
4962
|
private rowToEntity;
|
|
4963
|
+
private rowToPgSyncBridge;
|
|
4750
4964
|
private rowToEntityBridge;
|
|
4751
4965
|
private rowToTagStreamOutbox;
|
|
4752
4966
|
private rowToRunner;
|
|
@@ -5088,6 +5302,8 @@ interface WakeEvalResult {
|
|
|
5088
5302
|
collection: string;
|
|
5089
5303
|
kind: `insert` | `update` | `delete`;
|
|
5090
5304
|
key: string;
|
|
5305
|
+
value?: unknown;
|
|
5306
|
+
oldValue?: unknown;
|
|
5091
5307
|
from?: string;
|
|
5092
5308
|
from_principal?: string;
|
|
5093
5309
|
from_agent?: string;
|
|
@@ -5411,14 +5627,20 @@ declare class EntityManager {
|
|
|
5411
5627
|
*/
|
|
5412
5628
|
send(entityUrl: string, req: SendRequest, opts?: {
|
|
5413
5629
|
producerId?: string;
|
|
5414
|
-
}): Promise<
|
|
5630
|
+
}): Promise<{
|
|
5631
|
+
txid: string;
|
|
5632
|
+
}>;
|
|
5415
5633
|
updateInboxMessage(entityUrl: string, key: string, req: {
|
|
5416
5634
|
payload?: unknown;
|
|
5417
5635
|
position?: string;
|
|
5418
5636
|
mode?: `immediate` | `queued` | `paused` | `steer`;
|
|
5419
5637
|
status?: `pending` | `processed` | `cancelled`;
|
|
5420
|
-
}): Promise<
|
|
5421
|
-
|
|
5638
|
+
}): Promise<{
|
|
5639
|
+
txid: string;
|
|
5640
|
+
}>;
|
|
5641
|
+
deleteInboxMessage(entityUrl: string, key: string): Promise<{
|
|
5642
|
+
txid: string;
|
|
5643
|
+
}>;
|
|
5422
5644
|
isAttachmentStreamPath(path: string): boolean;
|
|
5423
5645
|
createAttachment(entityUrl: string, req: CreateAttachmentRequest): Promise<{
|
|
5424
5646
|
txid: string;
|
|
@@ -5429,8 +5651,12 @@ declare class EntityManager {
|
|
|
5429
5651
|
deleteAttachment(entityUrl: string, id: string): Promise<{
|
|
5430
5652
|
txid: string;
|
|
5431
5653
|
}>;
|
|
5432
|
-
setTag(entityUrl: string, key: string, req: SetTagRequest
|
|
5433
|
-
|
|
5654
|
+
setTag(entityUrl: string, key: string, req: SetTagRequest): Promise<ElectricAgentsEntity & {
|
|
5655
|
+
txid?: number;
|
|
5656
|
+
}>;
|
|
5657
|
+
deleteTag(entityUrl: string, key: string): Promise<ElectricAgentsEntity & {
|
|
5658
|
+
txid?: number;
|
|
5659
|
+
}>;
|
|
5434
5660
|
ensureEntitiesMembershipStream(tags: Record<string, string>, principal: {
|
|
5435
5661
|
url: string;
|
|
5436
5662
|
kind: string;
|
|
@@ -5554,6 +5780,26 @@ declare class EntityManager {
|
|
|
5554
5780
|
shutdown(): Promise<void>;
|
|
5555
5781
|
}
|
|
5556
5782
|
|
|
5783
|
+
//#endregion
|
|
5784
|
+
//#region src/pg-sync-bridge-manager.d.ts
|
|
5785
|
+
interface PgSyncBridgeManagerOptions {
|
|
5786
|
+
url?: string;
|
|
5787
|
+
retry?: {
|
|
5788
|
+
initialDelayMs?: number;
|
|
5789
|
+
maxDelayMs?: number;
|
|
5790
|
+
random?: () => number;
|
|
5791
|
+
sleep?: (ms: number) => Promise<void>;
|
|
5792
|
+
};
|
|
5793
|
+
}
|
|
5794
|
+
interface PgSyncBridgeCoordinator {
|
|
5795
|
+
start?(): Promise<void>;
|
|
5796
|
+
register(options: PgSyncOptions, metadata?: PgSyncRequestMetadata): Promise<{
|
|
5797
|
+
sourceRef: string;
|
|
5798
|
+
streamUrl: string;
|
|
5799
|
+
}>;
|
|
5800
|
+
stop(): Promise<void>;
|
|
5801
|
+
}
|
|
5802
|
+
|
|
5557
5803
|
//#endregion
|
|
5558
5804
|
//#region src/runtime.d.ts
|
|
5559
5805
|
interface ElectricAgentsTenantRuntimeOptions {
|
|
@@ -5567,6 +5813,8 @@ interface ElectricAgentsTenantRuntimeOptions {
|
|
|
5567
5813
|
wakeRegistry: WakeRegistry;
|
|
5568
5814
|
scheduler: SchedulerClient;
|
|
5569
5815
|
entityBridgeManager: EntityBridgeCoordinator;
|
|
5816
|
+
pgSyncBridgeManager?: PgSyncBridgeCoordinator;
|
|
5817
|
+
pgSync?: PgSyncBridgeManagerOptions;
|
|
5570
5818
|
claimWriteTokens?: ClaimWriteTokenStore;
|
|
5571
5819
|
stopWakeRegistryOnShutdown?: boolean;
|
|
5572
5820
|
}
|
|
@@ -5579,6 +5827,7 @@ declare class ElectricAgentsTenantRuntime {
|
|
|
5579
5827
|
readonly wakeRegistry: WakeRegistry;
|
|
5580
5828
|
readonly scheduler: SchedulerClient;
|
|
5581
5829
|
readonly entityBridgeManager: EntityBridgeCoordinator;
|
|
5830
|
+
readonly pgSyncBridgeManager: PgSyncBridgeCoordinator;
|
|
5582
5831
|
readonly claimWriteTokens: ClaimWriteTokenStore;
|
|
5583
5832
|
readonly manager: EntityManager;
|
|
5584
5833
|
constructor(options: ElectricAgentsTenantRuntimeOptions);
|
|
@@ -5761,6 +6010,7 @@ interface TenantContext {
|
|
|
5761
6010
|
streamClient: StreamClient;
|
|
5762
6011
|
runtime: ElectricAgentsTenantRuntime;
|
|
5763
6012
|
entityBridgeManager: EntityBridgeCoordinator;
|
|
6013
|
+
pgSyncBridgeManager?: PgSyncBridgeCoordinator;
|
|
5764
6014
|
eventSources?: EventSourceCatalog;
|
|
5765
6015
|
ensureEventSourceWakeSource?: (sourceUrl: string) => Promise<void> | void;
|
|
5766
6016
|
authorizeRequest?: AuthorizeRequest;
|