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