@codemem/core 0.21.2 → 0.22.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-types.d.ts +40 -2
- package/dist/api-types.d.ts.map +1 -1
- package/dist/better-sqlite-coordinator-runtime.d.ts +7 -0
- package/dist/better-sqlite-coordinator-runtime.d.ts.map +1 -0
- package/dist/better-sqlite-coordinator-store.d.ts +42 -0
- package/dist/better-sqlite-coordinator-store.d.ts.map +1 -0
- package/dist/coordinator-actions.d.ts +40 -2
- package/dist/coordinator-actions.d.ts.map +1 -1
- package/dist/coordinator-api-By9BNOCL.js +2397 -0
- package/dist/coordinator-api-By9BNOCL.js.map +1 -0
- package/dist/coordinator-api.d.ts +10 -3
- package/dist/coordinator-api.d.ts.map +1 -1
- package/dist/coordinator-runtime.d.ts.map +1 -1
- package/dist/coordinator-store-contract.d.ts +112 -0
- package/dist/coordinator-store-contract.d.ts.map +1 -0
- package/dist/coordinator-store-test-harness.d.ts +7 -0
- package/dist/coordinator-store-test-harness.d.ts.map +1 -0
- package/dist/coordinator-store.d.ts +2 -66
- package/dist/coordinator-store.d.ts.map +1 -1
- package/dist/d1-coordinator-runtime.d.ts +9 -0
- package/dist/d1-coordinator-runtime.d.ts.map +1 -0
- package/dist/d1-coordinator-store.d.ts +46 -0
- package/dist/d1-coordinator-store.d.ts.map +1 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2652 -4697
- package/dist/index.js.map +1 -1
- package/dist/internal/cloudflare-coordinator.d.ts +5 -0
- package/dist/internal/cloudflare-coordinator.d.ts.map +1 -0
- package/dist/internal/cloudflare-coordinator.js +193 -0
- package/dist/internal/cloudflare-coordinator.js.map +1 -0
- package/dist/schema.d.ts +38 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/store.d.ts +9 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/sync-bootstrap.d.ts +50 -0
- package/dist/sync-bootstrap.d.ts.map +1 -0
- package/dist/sync-daemon.d.ts +11 -0
- package/dist/sync-daemon.d.ts.map +1 -1
- package/dist/sync-http-client.d.ts.map +1 -1
- package/dist/sync-pass.d.ts.map +1 -1
- package/dist/test-schema.generated.d.ts +1 -1
- package/dist/test-schema.generated.d.ts.map +1 -1
- package/package.json +6 -1
|
@@ -5,7 +5,14 @@
|
|
|
5
5
|
* Ported from codemem/coordinator_api.py.
|
|
6
6
|
*/
|
|
7
7
|
import { Hono } from "hono";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import type { CoordinatorStore } from "./coordinator-store-contract.js";
|
|
9
|
+
export interface CoordinatorRuntimeDeps {
|
|
10
|
+
adminSecret(): string | null;
|
|
11
|
+
now(): string;
|
|
12
|
+
}
|
|
13
|
+
export interface CreateCoordinatorAppOptions {
|
|
14
|
+
storeFactory?: () => CoordinatorStore;
|
|
15
|
+
runtime?: CoordinatorRuntimeDeps;
|
|
16
|
+
}
|
|
17
|
+
export declare function createCoordinatorApp(opts?: CreateCoordinatorAppOptions): InstanceType<typeof Hono>;
|
|
11
18
|
//# sourceMappingURL=coordinator-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator-api.d.ts","sourceRoot":"","sources":["../src/coordinator-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator-api.d.ts","sourceRoot":"","sources":["../src/coordinator-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAU/F,MAAM,WAAW,sBAAsB;IACtC,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,IAAI,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA2B;IAC3C,YAAY,CAAC,EAAE,MAAM,gBAAgB,CAAC;IACtC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CACjC;AA6GD,wBAAgB,oBAAoB,CACnC,IAAI,CAAC,EAAE,2BAA2B,GAChC,YAAY,CAAC,OAAO,IAAI,CAAC,CA2f3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator-runtime.d.ts","sourceRoot":"","sources":["../src/coordinator-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuC5C,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,2BAA2B,EAAE,MAAM,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;CACnC;AA6BD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,qBAAqB,CAmCtF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEzE;AAyBD,wBAAsB,2BAA2B,CAChD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAgC5E;AAED,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CA+DpC;AAED,wBAAsB,yBAAyB,CAC9C,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"coordinator-runtime.d.ts","sourceRoot":"","sources":["../src/coordinator-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuC5C,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,2BAA2B,EAAE,MAAM,CAAC;IACpC,0BAA0B,EAAE,MAAM,CAAC;CACnC;AA6BD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,qBAAqB,CAmCtF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEzE;AAyBD,wBAAsB,2BAA2B,CAChD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAgC5E;AAED,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CA+DpC;AAED,wBAAsB,yBAAyB,CAC9C,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsFlC;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAcpC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export interface CoordinatorGroup {
|
|
2
|
+
group_id: string;
|
|
3
|
+
display_name: string | null;
|
|
4
|
+
created_at: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CoordinatorEnrollment {
|
|
7
|
+
group_id: string;
|
|
8
|
+
device_id: string;
|
|
9
|
+
public_key: string;
|
|
10
|
+
fingerprint: string;
|
|
11
|
+
display_name: string | null;
|
|
12
|
+
enabled: number;
|
|
13
|
+
created_at: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CoordinatorInvite {
|
|
16
|
+
invite_id: string;
|
|
17
|
+
group_id: string;
|
|
18
|
+
token: string;
|
|
19
|
+
policy: string;
|
|
20
|
+
expires_at: string;
|
|
21
|
+
created_at: string;
|
|
22
|
+
created_by: string | null;
|
|
23
|
+
team_name_snapshot: string | null;
|
|
24
|
+
revoked_at: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface CoordinatorJoinRequest {
|
|
27
|
+
request_id: string;
|
|
28
|
+
group_id: string;
|
|
29
|
+
device_id: string;
|
|
30
|
+
public_key: string;
|
|
31
|
+
fingerprint: string;
|
|
32
|
+
display_name: string | null;
|
|
33
|
+
token: string;
|
|
34
|
+
status: string;
|
|
35
|
+
created_at: string;
|
|
36
|
+
reviewed_at: string | null;
|
|
37
|
+
reviewed_by: string | null;
|
|
38
|
+
}
|
|
39
|
+
export interface CoordinatorJoinRequestReviewResult extends CoordinatorJoinRequest {
|
|
40
|
+
_no_transition?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface CoordinatorPresenceRecord {
|
|
43
|
+
group_id: string;
|
|
44
|
+
device_id: string;
|
|
45
|
+
addresses: string[];
|
|
46
|
+
expires_at: string;
|
|
47
|
+
}
|
|
48
|
+
export interface CoordinatorPeerRecord {
|
|
49
|
+
device_id: string;
|
|
50
|
+
fingerprint: string;
|
|
51
|
+
display_name: string | null;
|
|
52
|
+
addresses: string[];
|
|
53
|
+
last_seen_at: string | null;
|
|
54
|
+
expires_at: string | null;
|
|
55
|
+
stale: boolean;
|
|
56
|
+
capabilities: Record<string, unknown>;
|
|
57
|
+
}
|
|
58
|
+
export interface CoordinatorEnrollDeviceInput {
|
|
59
|
+
deviceId: string;
|
|
60
|
+
fingerprint: string;
|
|
61
|
+
publicKey: string;
|
|
62
|
+
displayName?: string | null;
|
|
63
|
+
}
|
|
64
|
+
export interface CoordinatorCreateInviteInput {
|
|
65
|
+
groupId: string;
|
|
66
|
+
policy: string;
|
|
67
|
+
expiresAt: string;
|
|
68
|
+
createdBy?: string | null;
|
|
69
|
+
}
|
|
70
|
+
export interface CoordinatorCreateJoinRequestInput {
|
|
71
|
+
groupId: string;
|
|
72
|
+
deviceId: string;
|
|
73
|
+
publicKey: string;
|
|
74
|
+
fingerprint: string;
|
|
75
|
+
displayName?: string | null;
|
|
76
|
+
token: string;
|
|
77
|
+
}
|
|
78
|
+
export interface CoordinatorReviewJoinRequestInput {
|
|
79
|
+
requestId: string;
|
|
80
|
+
approved: boolean;
|
|
81
|
+
reviewedBy?: string | null;
|
|
82
|
+
}
|
|
83
|
+
export interface CoordinatorUpsertPresenceInput {
|
|
84
|
+
groupId: string;
|
|
85
|
+
deviceId: string;
|
|
86
|
+
addresses: string[];
|
|
87
|
+
ttlS: number;
|
|
88
|
+
capabilities?: Record<string, unknown> | null;
|
|
89
|
+
}
|
|
90
|
+
export interface CoordinatorStore {
|
|
91
|
+
close(): Promise<void>;
|
|
92
|
+
createGroup(groupId: string, displayName?: string | null): Promise<void>;
|
|
93
|
+
getGroup(groupId: string): Promise<CoordinatorGroup | null>;
|
|
94
|
+
listGroups(): Promise<CoordinatorGroup[]>;
|
|
95
|
+
enrollDevice(groupId: string, opts: CoordinatorEnrollDeviceInput): Promise<void>;
|
|
96
|
+
listEnrolledDevices(groupId: string, includeDisabled?: boolean): Promise<CoordinatorEnrollment[]>;
|
|
97
|
+
getEnrollment(groupId: string, deviceId: string): Promise<CoordinatorEnrollment | null>;
|
|
98
|
+
renameDevice(groupId: string, deviceId: string, displayName: string): Promise<boolean>;
|
|
99
|
+
setDeviceEnabled(groupId: string, deviceId: string, enabled: boolean): Promise<boolean>;
|
|
100
|
+
removeDevice(groupId: string, deviceId: string): Promise<boolean>;
|
|
101
|
+
recordNonce(deviceId: string, nonce: string, createdAt: string): Promise<boolean>;
|
|
102
|
+
cleanupNonces(cutoff: string): Promise<void>;
|
|
103
|
+
createInvite(opts: CoordinatorCreateInviteInput): Promise<CoordinatorInvite>;
|
|
104
|
+
getInviteByToken(token: string): Promise<CoordinatorInvite | null>;
|
|
105
|
+
listInvites(groupId: string): Promise<CoordinatorInvite[]>;
|
|
106
|
+
createJoinRequest(opts: CoordinatorCreateJoinRequestInput): Promise<CoordinatorJoinRequest>;
|
|
107
|
+
listJoinRequests(groupId: string, status?: string): Promise<CoordinatorJoinRequest[]>;
|
|
108
|
+
reviewJoinRequest(opts: CoordinatorReviewJoinRequestInput): Promise<CoordinatorJoinRequestReviewResult | null>;
|
|
109
|
+
upsertPresence(opts: CoordinatorUpsertPresenceInput): Promise<CoordinatorPresenceRecord>;
|
|
110
|
+
listGroupPeers(groupId: string, requestingDeviceId: string): Promise<CoordinatorPeerRecord[]>;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=coordinator-store-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-store-contract.d.ts","sourceRoot":"","sources":["../src/coordinator-store-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CoordinatorStore } from "./coordinator-store-contract.js";
|
|
2
|
+
export interface CoordinatorStoreHarnessContext<TStore extends CoordinatorStore = CoordinatorStore> {
|
|
3
|
+
store: TStore;
|
|
4
|
+
cleanup: () => Promise<void> | void;
|
|
5
|
+
}
|
|
6
|
+
export declare function runCoordinatorStoreContract<TStore extends CoordinatorStore>(label: string, setup: () => CoordinatorStoreHarnessContext<TStore>): void;
|
|
7
|
+
//# sourceMappingURL=coordinator-store-test-harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator-store-test-harness.d.ts","sourceRoot":"","sources":["../src/coordinator-store-test-harness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,WAAW,8BAA8B,CAC9C,MAAM,SAAS,gBAAgB,GAAG,gBAAgB;IAElD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,gBAAgB,EAC1E,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,8BAA8B,CAAC,MAAM,CAAC,GACjD,IAAI,CAqaN"}
|
|
@@ -1,67 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* The coordinator is a cloud relay that manages group membership, device
|
|
5
|
-
* enrollment, presence, invites, and join requests for sync between devices.
|
|
6
|
-
*
|
|
7
|
-
* This store uses its OWN database (separate from the main codemem DB) and
|
|
8
|
-
* owns its own schema — the TS side creates tables directly.
|
|
9
|
-
*
|
|
10
|
-
* Ported from codemem/coordinator_store.py.
|
|
11
|
-
*/
|
|
12
|
-
import type { Database as DatabaseType } from "better-sqlite3";
|
|
13
|
-
export declare const DEFAULT_COORDINATOR_DB_PATH: string;
|
|
14
|
-
export declare function connectCoordinator(path?: string): DatabaseType;
|
|
15
|
-
export declare class CoordinatorStore {
|
|
16
|
-
readonly path: string;
|
|
17
|
-
readonly db: DatabaseType;
|
|
18
|
-
constructor(path?: string);
|
|
19
|
-
close(): void;
|
|
20
|
-
createGroup(groupId: string, displayName?: string | null): void;
|
|
21
|
-
getGroup(groupId: string): Record<string, unknown> | null;
|
|
22
|
-
listGroups(): Record<string, unknown>[];
|
|
23
|
-
enrollDevice(groupId: string, opts: {
|
|
24
|
-
deviceId: string;
|
|
25
|
-
fingerprint: string;
|
|
26
|
-
publicKey: string;
|
|
27
|
-
displayName?: string | null;
|
|
28
|
-
}): void;
|
|
29
|
-
listEnrolledDevices(groupId: string, includeDisabled?: boolean): Record<string, unknown>[];
|
|
30
|
-
getEnrollment(groupId: string, deviceId: string): Record<string, unknown> | null;
|
|
31
|
-
renameDevice(groupId: string, deviceId: string, displayName: string): boolean;
|
|
32
|
-
setDeviceEnabled(groupId: string, deviceId: string, enabled: boolean): boolean;
|
|
33
|
-
removeDevice(groupId: string, deviceId: string): boolean;
|
|
34
|
-
createInvite(opts: {
|
|
35
|
-
groupId: string;
|
|
36
|
-
policy: string;
|
|
37
|
-
expiresAt: string;
|
|
38
|
-
createdBy?: string | null;
|
|
39
|
-
}): Record<string, unknown>;
|
|
40
|
-
getInviteByToken(token: string): Record<string, unknown> | null;
|
|
41
|
-
listInvites(groupId: string): Record<string, unknown>[];
|
|
42
|
-
createJoinRequest(opts: {
|
|
43
|
-
groupId: string;
|
|
44
|
-
deviceId: string;
|
|
45
|
-
publicKey: string;
|
|
46
|
-
fingerprint: string;
|
|
47
|
-
displayName?: string | null;
|
|
48
|
-
token: string;
|
|
49
|
-
}): Record<string, unknown>;
|
|
50
|
-
listJoinRequests(groupId: string, status?: string): Record<string, unknown>[];
|
|
51
|
-
reviewJoinRequest(opts: {
|
|
52
|
-
requestId: string;
|
|
53
|
-
approved: boolean;
|
|
54
|
-
reviewedBy?: string | null;
|
|
55
|
-
}): (Record<string, unknown> & {
|
|
56
|
-
_no_transition?: boolean;
|
|
57
|
-
}) | null;
|
|
58
|
-
upsertPresence(opts: {
|
|
59
|
-
groupId: string;
|
|
60
|
-
deviceId: string;
|
|
61
|
-
addresses: string[];
|
|
62
|
-
ttlS: number;
|
|
63
|
-
capabilities?: Record<string, unknown> | null;
|
|
64
|
-
}): Record<string, unknown>;
|
|
65
|
-
listGroupPeers(groupId: string, requestingDeviceId: string): Record<string, unknown>[];
|
|
66
|
-
}
|
|
1
|
+
export { BetterSqliteCoordinatorStore, connectCoordinator, DEFAULT_COORDINATOR_DB_PATH, } from "./better-sqlite-coordinator-store.js";
|
|
2
|
+
export type { CoordinatorCreateInviteInput, CoordinatorCreateJoinRequestInput, CoordinatorEnrollDeviceInput, CoordinatorEnrollment, CoordinatorGroup, CoordinatorInvite, CoordinatorJoinRequest, CoordinatorJoinRequestReviewResult, CoordinatorPeerRecord, CoordinatorPresenceRecord, CoordinatorReviewJoinRequestInput, CoordinatorStore, CoordinatorStore as CoordinatorStoreInterface, CoordinatorUpsertPresenceInput, } from "./coordinator-store-contract.js";
|
|
67
3
|
//# sourceMappingURL=coordinator-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator-store.d.ts","sourceRoot":"","sources":["../src/coordinator-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"coordinator-store.d.ts","sourceRoot":"","sources":["../src/coordinator-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACX,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,kCAAkC,EAClC,qBAAqB,EACrB,yBAAyB,EACzB,iCAAiC,EACjC,gBAAgB,EAChB,gBAAgB,IAAI,yBAAyB,EAC7C,8BAA8B,GAC9B,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createCoordinatorApp } from "./coordinator-api.js";
|
|
2
|
+
import { type D1DatabaseLike } from "./d1-coordinator-store.js";
|
|
3
|
+
export interface CreateD1CoordinatorAppOptions {
|
|
4
|
+
db: D1DatabaseLike;
|
|
5
|
+
adminSecret?: string | null;
|
|
6
|
+
now?: () => string;
|
|
7
|
+
}
|
|
8
|
+
export declare function createD1CoordinatorApp(opts: CreateD1CoordinatorAppOptions): ReturnType<typeof createCoordinatorApp>;
|
|
9
|
+
//# sourceMappingURL=d1-coordinator-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"d1-coordinator-runtime.d.ts","sourceRoot":"","sources":["../src/d1-coordinator-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEpF,MAAM,WAAW,6BAA6B;IAC7C,EAAE,EAAE,cAAc,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,6BAA6B,GACjC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CASzC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { CoordinatorCreateInviteInput, CoordinatorCreateJoinRequestInput, CoordinatorEnrollDeviceInput, CoordinatorEnrollment, CoordinatorGroup, CoordinatorInvite, CoordinatorJoinRequest, CoordinatorJoinRequestReviewResult, CoordinatorPeerRecord, CoordinatorPresenceRecord, CoordinatorReviewJoinRequestInput, CoordinatorStore, CoordinatorUpsertPresenceInput } from "./coordinator-store-contract.js";
|
|
2
|
+
/**
|
|
3
|
+
* Experimental D1 adapter scaffold.
|
|
4
|
+
*
|
|
5
|
+
* This is intentionally internal for now while the sync-only store contract
|
|
6
|
+
* is still being validated against an async backend shape.
|
|
7
|
+
*/
|
|
8
|
+
export interface D1PreparedStatementLike {
|
|
9
|
+
bind(...values: unknown[]): D1PreparedStatementLike;
|
|
10
|
+
first<T = unknown>(): Promise<T | null>;
|
|
11
|
+
run(): Promise<unknown>;
|
|
12
|
+
all<T = unknown>(): Promise<{
|
|
13
|
+
results?: T[];
|
|
14
|
+
}>;
|
|
15
|
+
raw<T = unknown>(): Promise<T[]>;
|
|
16
|
+
}
|
|
17
|
+
export interface D1DatabaseLike {
|
|
18
|
+
prepare(query: string): D1PreparedStatementLike;
|
|
19
|
+
batch?(statements: D1PreparedStatementLike[]): Promise<unknown[]>;
|
|
20
|
+
exec?(query: string): Promise<unknown>;
|
|
21
|
+
}
|
|
22
|
+
export declare class D1CoordinatorStore implements CoordinatorStore {
|
|
23
|
+
readonly db: D1DatabaseLike;
|
|
24
|
+
constructor(db: D1DatabaseLike);
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
createGroup(_groupId: string, _displayName?: string | null): Promise<void>;
|
|
27
|
+
getGroup(_groupId: string): Promise<CoordinatorGroup | null>;
|
|
28
|
+
listGroups(): Promise<CoordinatorGroup[]>;
|
|
29
|
+
enrollDevice(_groupId: string, _opts: CoordinatorEnrollDeviceInput): Promise<void>;
|
|
30
|
+
listEnrolledDevices(_groupId: string, _includeDisabled?: boolean): Promise<CoordinatorEnrollment[]>;
|
|
31
|
+
getEnrollment(_groupId: string, _deviceId: string): Promise<CoordinatorEnrollment | null>;
|
|
32
|
+
renameDevice(_groupId: string, _deviceId: string, _displayName: string): Promise<boolean>;
|
|
33
|
+
setDeviceEnabled(_groupId: string, _deviceId: string, _enabled: boolean): Promise<boolean>;
|
|
34
|
+
removeDevice(_groupId: string, _deviceId: string): Promise<boolean>;
|
|
35
|
+
recordNonce(_deviceId: string, _nonce: string, _createdAt: string): Promise<boolean>;
|
|
36
|
+
cleanupNonces(_cutoff: string): Promise<void>;
|
|
37
|
+
createInvite(_opts: CoordinatorCreateInviteInput): Promise<CoordinatorInvite>;
|
|
38
|
+
getInviteByToken(_token: string): Promise<CoordinatorInvite | null>;
|
|
39
|
+
listInvites(_groupId: string): Promise<CoordinatorInvite[]>;
|
|
40
|
+
createJoinRequest(_opts: CoordinatorCreateJoinRequestInput): Promise<CoordinatorJoinRequest>;
|
|
41
|
+
listJoinRequests(_groupId: string, _status?: string): Promise<CoordinatorJoinRequest[]>;
|
|
42
|
+
reviewJoinRequest(_opts: CoordinatorReviewJoinRequestInput): Promise<CoordinatorJoinRequestReviewResult | null>;
|
|
43
|
+
upsertPresence(_opts: CoordinatorUpsertPresenceInput): Promise<CoordinatorPresenceRecord>;
|
|
44
|
+
listGroupPeers(_groupId: string, _requestingDeviceId: string): Promise<CoordinatorPeerRecord[]>;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=d1-coordinator-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"d1-coordinator-store.d.ts","sourceRoot":"","sources":["../src/d1-coordinator-store.ts"],"names":[],"mappings":"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"}
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM/D,YAAY,EAAE,YAAY,IAAI,QAAQ,EAAE,CAAC;AAEzC,gEAAgE;AAChE,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA2EvC,gEAAgE;AAChE,eAAO,MAAM,eAAe,QAA4C,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvD;AA2CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASxD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,GAAE,MAAwB,GAAG,YAAY,CAmBtE;AAUD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAQzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAWpD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAGzD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA2GxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAqCxD;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMrF;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM/D,YAAY,EAAE,YAAY,IAAI,QAAQ,EAAE,CAAC;AAEzC,gEAAgE;AAChE,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA2EvC,gEAAgE;AAChE,eAAO,MAAM,eAAe,QAA4C,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvD;AA2CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CASxD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,GAAE,MAAwB,GAAG,YAAY,CAmBtE;AAUD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAQzD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAWpD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAGzD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA2GxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAqCxD;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMrF;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAkDxE;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYjF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASvF;AAED,oEAAoE;AACpE,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAW3D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,16 +4,20 @@
|
|
|
4
4
|
* This package owns the SQLite store, embedding worker interface,
|
|
5
5
|
* and type definitions shared across the codemem TS backend.
|
|
6
6
|
*/
|
|
7
|
-
export declare const VERSION = "0.
|
|
7
|
+
export declare const VERSION = "0.22.0-alpha.2";
|
|
8
8
|
export * as Api from "./api-types.js";
|
|
9
|
+
export type { CreateBetterSqliteCoordinatorAppOptions } from "./better-sqlite-coordinator-runtime.js";
|
|
10
|
+
export { createBetterSqliteCoordinatorApp } from "./better-sqlite-coordinator-runtime.js";
|
|
9
11
|
export type { ClaudeHookAdapterEvent, ClaudeHookRawEventEnvelope } from "./claude-hooks.js";
|
|
10
12
|
export { buildIngestPayloadFromHook, buildRawEventEnvelopeFromHook, MAPPABLE_CLAUDE_HOOK_EVENTS, mapClaudeHookPayload, normalizeProjectLabel, resolveHookProject, } from "./claude-hooks.js";
|
|
11
|
-
export { coordinatorCreateInviteAction, coordinatorImportInviteAction, coordinatorListJoinRequestsAction, coordinatorReviewJoinRequestAction, } from "./coordinator-actions.js";
|
|
13
|
+
export { coordinatorCreateGroupAction, coordinatorCreateInviteAction, coordinatorDisableDeviceAction, coordinatorEnrollDeviceAction, coordinatorImportInviteAction, coordinatorListDevicesAction, coordinatorListGroupsAction, coordinatorListJoinRequestsAction, coordinatorRemoveDeviceAction, coordinatorRenameDeviceAction, coordinatorReviewJoinRequestAction, } from "./coordinator-actions.js";
|
|
14
|
+
export type { CoordinatorRuntimeDeps, CreateCoordinatorAppOptions } from "./coordinator-api.js";
|
|
12
15
|
export { createCoordinatorApp } from "./coordinator-api.js";
|
|
13
16
|
export type { InvitePayload } from "./coordinator-invites.js";
|
|
14
17
|
export { decodeInvitePayload, encodeInvitePayload, extractInvitePayload, inviteLink, } from "./coordinator-invites.js";
|
|
15
18
|
export { coordinatorEnabled, coordinatorStatusSnapshot, listCoordinatorJoinRequests, lookupCoordinatorPeers, readCoordinatorSyncConfig, registerCoordinatorPresence, } from "./coordinator-runtime.js";
|
|
16
|
-
export { CoordinatorStore,
|
|
19
|
+
export type { CoordinatorCreateInviteInput, CoordinatorCreateJoinRequestInput, CoordinatorEnrollDeviceInput, CoordinatorEnrollment, CoordinatorGroup, CoordinatorInvite, CoordinatorJoinRequest, CoordinatorJoinRequestReviewResult, CoordinatorPeerRecord, CoordinatorPresenceRecord, CoordinatorReviewJoinRequestInput, CoordinatorStore, CoordinatorStoreInterface, CoordinatorUpsertPresenceInput, } from "./coordinator-store.js";
|
|
20
|
+
export { BetterSqliteCoordinatorStore, connectCoordinator, DEFAULT_COORDINATOR_DB_PATH, } from "./coordinator-store.js";
|
|
17
21
|
export type { Database } from "./db.js";
|
|
18
22
|
export { assertSchemaReady, connect, DEFAULT_DB_PATH, fromJson, fromJsonStrict, getSchemaVersion, isEmbeddingDisabled, loadSqliteVec, MIN_COMPATIBLE_SCHEMA, migrateLegacyDbPath, resolveDbPath, SCHEMA_VERSION, tableExists, toJson, toJsonNullable, } from "./db.js";
|
|
19
23
|
export type { EmbeddingClient } from "./embeddings.js";
|
|
@@ -49,8 +53,10 @@ export { dedupeOrderedIds, expandQuery, explain, kindBonus, recencyScore, rerank
|
|
|
49
53
|
export { MemoryStore } from "./store.js";
|
|
50
54
|
export type { BuildAuthHeadersOptions, SignRequestOptions, VerifySignatureOptions, } from "./sync-auth.js";
|
|
51
55
|
export { buildAuthHeaders, buildCanonicalRequest, cleanupNonces, DEFAULT_TIME_WINDOW_S, recordNonce, SIGNATURE_VERSION, signRequest, verifySignature, } from "./sync-auth.js";
|
|
52
|
-
export type {
|
|
53
|
-
export {
|
|
56
|
+
export type { BootstrapOptions, BootstrapResult } from "./sync-bootstrap.js";
|
|
57
|
+
export { applyBootstrapSnapshot, fetchAllSnapshotPages } from "./sync-bootstrap.js";
|
|
58
|
+
export type { SyncDaemonOptions, SyncDaemonPhase, SyncTickResult } from "./sync-daemon.js";
|
|
59
|
+
export { getSyncDaemonPhase, runSyncDaemon, setSyncDaemonError, setSyncDaemonOk, setSyncDaemonPhase, syncDaemonTick, } from "./sync-daemon.js";
|
|
54
60
|
export type { MdnsEntry } from "./sync-discovery.js";
|
|
55
61
|
export { addressDedupeKey, advertiseMdns, DEFAULT_SERVICE_TYPE, discoverPeersViaMdns, loadPeerAddresses, mdnsAddressesForPeer, mdnsEnabled, mergeAddresses, normalizeAddress, recordPeerSuccess, recordSyncAttempt, selectDialAddresses, setPeerLocalActorClaim, setPeerProjectFilter, updatePeerAddresses, } from "./sync-discovery.js";
|
|
56
62
|
export type { RequestJsonOptions } from "./sync-http-client.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|