@codemem/server 0.39.1 → 0.40.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAKN,KAAK,eAAe,EAGpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuF5B,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;CAC1C;AA+OD,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,8EAiHzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAMN,KAAK,eAAe,EAGpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA4F5B,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;CAC1C;AAyPD,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,8EAiHzD"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Sync routes — status, peers, actors, attempts, pairing, mutations.
3
3
  */
4
- import type { MemoryStore } from "@codemem/core";
4
+ import type { CoordinatorConsumedTeamInvite, CoordinatorEnrollment, CoordinatorEnrollmentReconcileResult, MemoryStore, RecipientPolicyPeerCapability, RecipientPolicyReconcileResult, RecipientPolicyReconcilerEffects } from "@codemem/core";
5
+ import { coordinatorListDevicesAction, coordinatorListReviewedRecipientInviteEvidenceAction, readCoordinatorSyncConfig, reconcileCoordinatorEnrollmentSnapshot, reconcileRecipientPolicyProject } from "@codemem/core";
5
6
  import { Hono } from "hono";
6
7
  import type { InMemoryRequestRateLimiter } from "../request-rate-limit.js";
7
8
  type StoreFactory = () => MemoryStore;
@@ -18,6 +19,95 @@ interface SyncProtocolRouteOptions {
18
19
  unauthenticatedMutationLimit: number;
19
20
  };
20
21
  }
22
+ export declare function recipientPolicyCapabilityFromStatus(payload: {
23
+ sync_capability?: unknown;
24
+ sync_features?: unknown;
25
+ }): RecipientPolicyPeerCapability;
26
+ export interface AdvanceProjectShareOperationResult {
27
+ advanced: boolean;
28
+ state: "active" | "waiting_for_acceptance" | "cancelled";
29
+ }
30
+ export declare function advanceProjectShareOperation(store: MemoryStore, operationId: string): Promise<AdvanceProjectShareOperationResult>;
31
+ export interface AdvancePendingProjectSharesResult {
32
+ processed: number;
33
+ advanced: number;
34
+ waiting: number;
35
+ attention: number;
36
+ failed: number;
37
+ items: Array<{
38
+ operationId: string;
39
+ outcome: "advanced" | "waiting_for_acceptance" | "waiting_for_device" | "retry_scheduled" | "needs_attention" | "superseded" | "failed";
40
+ error?: string;
41
+ }>;
42
+ }
43
+ export declare function advancePendingProjectShares(store: MemoryStore, options?: {
44
+ limit?: number;
45
+ now?: Date;
46
+ advanceOperation?: (store: MemoryStore, operationId: string) => Promise<AdvanceProjectShareOperationResult>;
47
+ }): Promise<AdvancePendingProjectSharesResult>;
48
+ export interface ReconcileConfiguredCoordinatorEnrollmentResult {
49
+ skipped: boolean;
50
+ groupsProcessed: number;
51
+ failedGroups: number;
52
+ devicesAdded: number;
53
+ membershipsAdded: number;
54
+ identitiesAdded: number;
55
+ unchanged: number;
56
+ issues: number;
57
+ }
58
+ export declare function reconcileConfiguredCoordinatorEnrollment(store: MemoryStore, options?: {
59
+ config?: ReturnType<typeof readCoordinatorSyncConfig>;
60
+ listDevices?: (input: {
61
+ groupId: string;
62
+ remoteUrl: string;
63
+ adminSecret: string;
64
+ }) => Promise<CoordinatorEnrollment[]>;
65
+ listConsumedTeamInvites?: (input: {
66
+ groupId: string;
67
+ remoteUrl: string;
68
+ adminSecret: string;
69
+ }) => Promise<CoordinatorConsumedTeamInvite[]>;
70
+ reconcileSnapshot?: (input: Parameters<typeof reconcileCoordinatorEnrollmentSnapshot>[1]) => CoordinatorEnrollmentReconcileResult;
71
+ }): Promise<ReconcileConfiguredCoordinatorEnrollmentResult>;
72
+ export declare function createRecipientPolicyReconcilerEffects(store: MemoryStore, options?: {
73
+ config?: ReturnType<typeof readCoordinatorSyncConfig>;
74
+ now?: () => string;
75
+ listDevices?: typeof coordinatorListDevicesAction;
76
+ listReviewedRecipientInviteEvidence?: typeof coordinatorListReviewedRecipientInviteEvidenceAction;
77
+ }): RecipientPolicyReconcilerEffects;
78
+ export interface ReconcileRecipientPolicyProjectsResult {
79
+ processed: number;
80
+ active: number;
81
+ waiting: number;
82
+ attention: number;
83
+ failed: number;
84
+ items: Array<{
85
+ canonicalProjectIdentity: string;
86
+ status: RecipientPolicyReconcileResult["status"] | "failed";
87
+ safeErrorCode: string | null;
88
+ }>;
89
+ }
90
+ export declare function reconcileRecipientPolicyProjects(store: MemoryStore, options?: {
91
+ limit?: number;
92
+ now?: Date;
93
+ backoffMs?: number;
94
+ leaseOwner?: string;
95
+ effects?: RecipientPolicyReconcilerEffects;
96
+ reconcileProject?: typeof reconcileRecipientPolicyProject;
97
+ }): Promise<ReconcileRecipientPolicyProjectsResult>;
98
+ export type RecipientPolicyReconciliationReadState = "active" | "needs_attention" | "pending" | "verifying" | "waiting";
99
+ export interface RecipientPolicyReconciliationReadModel {
100
+ version: 1;
101
+ items: Array<{
102
+ canonicalProjectIdentity: string;
103
+ state: RecipientPolicyReconciliationReadState;
104
+ label: string;
105
+ explanation: string;
106
+ deliveredCopiesMayRemain: true;
107
+ revocationWarning: string;
108
+ }>;
109
+ }
110
+ export declare function listRecipientPolicyReconciliationStatus(store: MemoryStore): RecipientPolicyReconciliationReadModel;
21
111
  /**
22
112
  * Peer-to-peer sync protocol routes (/v1/*).
23
113
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/routes/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAKX,WAAW,EAIX,MAAM,eAAe,CAAC;AAyFvB,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,KAAK,YAAY,GAAG,MAAM,WAAW,CAAC;AACtC,KAAK,iBAAiB,GAAG;IACxB,KAAK,EACF,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,IAAI,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAoBF,UAAU,wBAAwB;IACjC,cAAc,CAAC,EAAE;QAChB,OAAO,EAAE,0BAA0B,CAAC;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,wBAAwB,EAAE,MAAM,CAAC;QACjC,4BAA4B,EAAE,MAAM,CAAC;KACrC,CAAC;CACF;AA6+DD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAE,wBAA6B,8EAiZ7F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,YAAY,EACtB,oBAAoB,CAAC,EAAE,MAAM,iBAAiB,GAAG,IAAI,8EAurErD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/routes/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemem/server",
3
- "version": "0.39.1",
3
+ "version": "0.40.0",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
@@ -19,7 +19,7 @@
19
19
  "drizzle-orm": "^0.45.2",
20
20
  "hono": "^4.12.25",
21
21
  "limiter": "^3.0.0",
22
- "@codemem/core": "^0.39.1"
22
+ "@codemem/core": "^0.40.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/better-sqlite3": "^7.6.13",