@codemem/server 0.45.0-rc.2 → 0.46.0-alpha.1
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/application/coordinator-maintenance.d.ts +45 -0
- package/dist/application/coordinator-maintenance.d.ts.map +1 -0
- package/dist/application/sync-status.d.ts +39 -0
- package/dist/application/sync-status.d.ts.map +1 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1779 -1007
- package/dist/index.js.map +1 -1
- package/dist/raw-event-inbox.d.ts +87 -0
- package/dist/raw-event-inbox.d.ts.map +1 -0
- package/dist/raw-event-processing.d.ts +5 -0
- package/dist/raw-event-processing.d.ts.map +1 -0
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/pack.d.ts.map +1 -1
- package/dist/routes/raw-events.d.ts +3 -1
- package/dist/routes/raw-events.d.ts.map +1 -1
- package/dist/routes/stats.d.ts.map +1 -1
- package/dist/routes/sync.d.ts +5 -35
- package/dist/routes/sync.d.ts.map +1 -1
- package/dist/routes/target-validation.d.ts +6 -2
- package/dist/routes/target-validation.d.ts.map +1 -1
- package/package.json +4 -3
- package/static/app.js +53 -54
- package/static/app.js.br +0 -0
- package/static/app.js.gz +0 -0
- package/static/index.html +7 -45
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type RawEventSweeper } from "@codemem/core";
|
|
2
|
+
export declare const RAW_EVENT_INBOX_FULL_CODE = "raw_event_inbox_full";
|
|
3
|
+
export interface RawEventInboxEntry {
|
|
4
|
+
request: Record<string, unknown>;
|
|
5
|
+
flushBoundary: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface RawEventInboxStatus {
|
|
8
|
+
pending: number;
|
|
9
|
+
corrupt: number;
|
|
10
|
+
draining: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface RawEventInboxOptions {
|
|
13
|
+
directory: string;
|
|
14
|
+
processEntry: (entry: RawEventInboxEntry) => Promise<void>;
|
|
15
|
+
batchSize?: number;
|
|
16
|
+
maxEntries?: number;
|
|
17
|
+
retryDelayMs?: number;
|
|
18
|
+
backlogWarningAgeMs?: number;
|
|
19
|
+
backlogWarningEntries?: number;
|
|
20
|
+
onBacklog?: (pending: number, oldestAgeMs: number) => void;
|
|
21
|
+
onBacklogRecovered?: () => void;
|
|
22
|
+
onDrainError?: (error: unknown) => void;
|
|
23
|
+
onDrainRecovered?: () => void;
|
|
24
|
+
onCorruptEntries?: (count: number) => void;
|
|
25
|
+
}
|
|
26
|
+
export interface RawEventInbox {
|
|
27
|
+
enqueue(request: Record<string, unknown>, options?: {
|
|
28
|
+
flushBoundary?: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
start(): void;
|
|
31
|
+
status(): Promise<RawEventInboxStatus>;
|
|
32
|
+
stop(): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
export declare function resolveRawEventInboxDirectory(dbPath: string, homeDir?: string): string;
|
|
35
|
+
export declare class FileRawEventInbox implements RawEventInbox {
|
|
36
|
+
private readonly batchSize;
|
|
37
|
+
private readonly backlogWarningAgeMs;
|
|
38
|
+
private readonly backlogWarningEntries;
|
|
39
|
+
private readonly directory;
|
|
40
|
+
private readonly maxEntries;
|
|
41
|
+
private readonly onDrainError;
|
|
42
|
+
private readonly onDrainRecovered;
|
|
43
|
+
private readonly onCorruptEntries;
|
|
44
|
+
private readonly onBacklog;
|
|
45
|
+
private readonly onBacklogRecovered;
|
|
46
|
+
private readonly processEntry;
|
|
47
|
+
private readonly retryDelayMs;
|
|
48
|
+
private drainPromise;
|
|
49
|
+
private degraded;
|
|
50
|
+
private backlogDegraded;
|
|
51
|
+
private enqueueChain;
|
|
52
|
+
private notedCorruptCount;
|
|
53
|
+
private pendingDrainDelayMs;
|
|
54
|
+
private nextEnqueueOrder;
|
|
55
|
+
private retryCount;
|
|
56
|
+
private timer;
|
|
57
|
+
private stopped;
|
|
58
|
+
constructor(options: RawEventInboxOptions);
|
|
59
|
+
enqueue(request: Record<string, unknown>, options?: {
|
|
60
|
+
flushBoundary?: boolean;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
private persist;
|
|
63
|
+
private allocateEnqueueOrder;
|
|
64
|
+
start(): void;
|
|
65
|
+
status(): Promise<RawEventInboxStatus>;
|
|
66
|
+
stop(): Promise<void>;
|
|
67
|
+
private scheduleDrain;
|
|
68
|
+
private loadEntries;
|
|
69
|
+
private scanCandidates;
|
|
70
|
+
private loadEntry;
|
|
71
|
+
private drain;
|
|
72
|
+
private handleDrainFailure;
|
|
73
|
+
}
|
|
74
|
+
export declare function createViewerRawEventInbox(options: {
|
|
75
|
+
dbPath: string;
|
|
76
|
+
sweeper?: RawEventSweeper | null;
|
|
77
|
+
homeDir?: string;
|
|
78
|
+
onDrainError?: (error: unknown) => void;
|
|
79
|
+
onDrainRecovered?: () => void;
|
|
80
|
+
onCorruptEntries?: (count: number) => void;
|
|
81
|
+
onBacklog?: (pending: number, oldestAgeMs: number) => void;
|
|
82
|
+
onBacklogRecovered?: () => void;
|
|
83
|
+
}): {
|
|
84
|
+
inbox: RawEventInbox;
|
|
85
|
+
stop: () => Promise<void>;
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=raw-event-inbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-event-inbox.d.ts","sourceRoot":"","sources":["../src/raw-event-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RawEventIngestSession, RawEventSweeper } from "@codemem/core";
|
|
2
|
+
export declare function nudgeRawEventSessions(sweeper: RawEventSweeper | null | undefined, sessions: Iterable<RawEventIngestSession>): void;
|
|
3
|
+
export declare function flushRawEventBoundarySessions(sweeper: RawEventSweeper | null | undefined, sessions: Iterable<RawEventIngestSession>): Promise<void>;
|
|
4
|
+
export declare function isClaudeBoundaryEnvelope(envelope: object): boolean;
|
|
5
|
+
//# sourceMappingURL=raw-event-processing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-event-processing.d.ts","sourceRoot":"","sources":["../src/raw-event-processing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5E,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,IAAI,CAQN;AAED,wBAAsB,6BAA6B,CAClD,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgBlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAQN,KAAK,eAAe,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAkH1C,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;CAC1C;AAkYD,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,8EAyBzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAyC,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,KAAK,YAAY,GAAG,MAAM,WAAW,CAAC;AAWtC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAyC,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,KAAK,YAAY,GAAG,MAAM,WAAW,CAAC;AAWtC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,8EA2BlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/routes/pack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIX,WAAW,EAMX,MAAM,eAAe,CAAC;AAYvB,OAAO,
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/routes/pack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIX,WAAW,EAMX,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAI1C,KAAK,YAAY,GAAG,MAAM,WAAW,CAAC;AAkgBtC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,8EAkEzD"}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { MemoryStore, RawEventSweeper } from "@codemem/core";
|
|
6
6
|
import { Hono } from "hono";
|
|
7
|
+
import { type RawEventInbox } from "../raw-event-inbox.js";
|
|
8
|
+
import { type ViewerTargetStore } from "./target-validation.js";
|
|
7
9
|
type StoreFactory = () => MemoryStore;
|
|
8
|
-
export declare function rawEventsRoutes(getStore: StoreFactory, sweeper?: RawEventSweeper | null): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
10
|
+
export declare function rawEventsRoutes(getStore: StoreFactory, sweeper?: RawEventSweeper | null, inbox?: RawEventInbox | null, inboxTarget?: ViewerTargetStore): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
9
11
|
export {};
|
|
10
12
|
//# sourceMappingURL=raw-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-events.d.ts","sourceRoot":"","sources":["../../src/routes/raw-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAyB,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"raw-events.d.ts","sourceRoot":"","sources":["../../src/routes/raw-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAyB,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAYzF,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAMtF,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,wBAAwB,CAAC;AAEtF,KAAK,YAAY,GAAG,MAAM,WAAW,CAAC;AAoNtC,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,EAChC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAC5B,WAAW,CAAC,EAAE,iBAAiB,8EA2J/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/routes/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/routes/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAwQ5B,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C,UAAU,eAAe;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;;;;;;;GAWG;AACH,iBAAS,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAcxF;AAgDD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,WAAW,8EA6ItD;AAYD;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;CAKjC,CAAC"}
|
package/dist/routes/sync.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Sync routes — status, peers, actors, attempts, pairing, mutations.
|
|
3
3
|
*/
|
|
4
|
-
import type { CoordinatorConsumedTeamInvite, CoordinatorEnrollment, CoordinatorEnrollmentReconcileResult, DeviceIdentityCoordinatorEvidence, MemoryStore, RecipientPolicyPeerCapability,
|
|
5
|
-
import { coordinatorListDevicesAction, coordinatorListReviewedRecipientInviteEvidenceAction, coordinatorRenameGroupAction, readCoordinatorSyncConfig, reconcileCoordinatorEnrollmentSnapshot, reconcileRecipientPolicyProject } from "@codemem/core";
|
|
4
|
+
import type { CoordinatorConsumedTeamInvite, CoordinatorEnrollment, CoordinatorEnrollmentReconcileResult, DeviceIdentityCoordinatorEvidence, MemoryStore, RecipientPolicyPeerCapability, RecipientPolicyReconcilerEffects } from "@codemem/core";
|
|
5
|
+
import { coordinatorListDevicesAction, coordinatorListReviewedRecipientInviteEvidenceAction, coordinatorRenameGroupAction, readCoordinatorSyncConfig, reconcileCoordinatorEnrollmentSnapshot, type reconcileRecipientPolicyProject } from "@codemem/core";
|
|
6
|
+
import { type AdvancePendingProjectSharesResult, type AdvanceProjectShareOperationResult, type ReconcileRecipientPolicyProjectsResult } from "../application/coordinator-maintenance.js";
|
|
7
|
+
import { type SyncRuntimeStatus } from "../application/sync-status.js";
|
|
8
|
+
export type { AdvancePendingProjectSharesResult, AdvanceProjectShareOperationResult, ReconcileRecipientPolicyProjectsResult, } from "../application/coordinator-maintenance.js";
|
|
6
9
|
import { Hono } from "hono";
|
|
7
10
|
import type { InMemoryRequestRateLimiter } from "../request-rate-limit.js";
|
|
8
11
|
type StoreFactory = () => MemoryStore;
|
|
@@ -13,10 +16,6 @@ export interface SyncRoutesOptions {
|
|
|
13
16
|
readCoordinatorConfig?: typeof readCoordinatorSyncConfig;
|
|
14
17
|
renameCoordinatorGroup?: typeof coordinatorRenameGroupAction;
|
|
15
18
|
}
|
|
16
|
-
type SyncRuntimeStatus = {
|
|
17
|
-
phase: "starting" | "running" | "stopping" | "error" | "disabled" | "rebootstrapping" | "needs_attention" | null;
|
|
18
|
-
detail?: string | null;
|
|
19
|
-
};
|
|
20
19
|
interface SyncProtocolRouteOptions {
|
|
21
20
|
routeRateLimit?: {
|
|
22
21
|
limiter: InMemoryRequestRateLimiter;
|
|
@@ -34,23 +33,7 @@ export declare function peerSupportsSyncRequirements(store: MemoryStore, deviceI
|
|
|
34
33
|
scoped: boolean;
|
|
35
34
|
reassignScope: boolean;
|
|
36
35
|
}): Promise<RecipientPolicyPeerCapability>;
|
|
37
|
-
export interface AdvanceProjectShareOperationResult {
|
|
38
|
-
advanced: boolean;
|
|
39
|
-
state: "active" | "waiting_for_acceptance" | "cancelled";
|
|
40
|
-
}
|
|
41
36
|
export declare function advanceProjectShareOperation(store: MemoryStore, operationId: string): Promise<AdvanceProjectShareOperationResult>;
|
|
42
|
-
export interface AdvancePendingProjectSharesResult {
|
|
43
|
-
processed: number;
|
|
44
|
-
advanced: number;
|
|
45
|
-
waiting: number;
|
|
46
|
-
attention: number;
|
|
47
|
-
failed: number;
|
|
48
|
-
items: Array<{
|
|
49
|
-
operationId: string;
|
|
50
|
-
outcome: "advanced" | "waiting_for_acceptance" | "waiting_for_device" | "retry_scheduled" | "needs_attention" | "superseded" | "failed";
|
|
51
|
-
error?: string;
|
|
52
|
-
}>;
|
|
53
|
-
}
|
|
54
37
|
export declare function advancePendingProjectShares(store: MemoryStore, options?: {
|
|
55
38
|
limit?: number;
|
|
56
39
|
now?: Date;
|
|
@@ -93,18 +76,6 @@ export declare function createRecipientPolicyReconcilerEffects(store: MemoryStor
|
|
|
93
76
|
listDevices?: typeof coordinatorListDevicesAction;
|
|
94
77
|
listReviewedRecipientInviteEvidence?: typeof coordinatorListReviewedRecipientInviteEvidenceAction;
|
|
95
78
|
}): RecipientPolicyReconcilerEffects;
|
|
96
|
-
export interface ReconcileRecipientPolicyProjectsResult {
|
|
97
|
-
processed: number;
|
|
98
|
-
active: number;
|
|
99
|
-
waiting: number;
|
|
100
|
-
attention: number;
|
|
101
|
-
failed: number;
|
|
102
|
-
items: Array<{
|
|
103
|
-
canonicalProjectIdentity: string;
|
|
104
|
-
status: RecipientPolicyReconcileResult["status"] | "failed";
|
|
105
|
-
safeErrorCode: string | null;
|
|
106
|
-
}>;
|
|
107
|
-
}
|
|
108
79
|
export declare function reconcileRecipientPolicyProjects(store: MemoryStore, options?: {
|
|
109
80
|
limit?: number;
|
|
110
81
|
now?: Date;
|
|
@@ -142,5 +113,4 @@ export declare function syncProtocolRoutes(getStore: StoreFactory, opts?: SyncPr
|
|
|
142
113
|
* local viewer.
|
|
143
114
|
*/
|
|
144
115
|
export declare function syncRoutes(getStore: StoreFactory, getSyncRuntimeStatus?: () => SyncRuntimeStatus | null, options?: SyncRoutesOptions): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
|
|
145
|
-
export {};
|
|
146
116
|
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/routes/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAEX,6BAA6B,EAC7B,qBAAqB,EACrB,oCAAoC,EAKpC,iCAAiC,EAEjC,WAAW,EAKX,6BAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/routes/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ViewerIdentityTarget } from "@codemem/core";
|
|
2
2
|
export type ViewerTargetValidation = {
|
|
3
3
|
ok: true;
|
|
4
4
|
} | {
|
|
@@ -11,8 +11,12 @@ export type ViewerTargetValidation = {
|
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
|
+
export interface ViewerTargetStore {
|
|
15
|
+
dbPath: string;
|
|
16
|
+
hasCurrentIdentity(): boolean;
|
|
17
|
+
}
|
|
14
18
|
export declare function currentIdentityTarget(): ViewerIdentityTarget;
|
|
15
|
-
export declare function validateViewerTarget(store:
|
|
19
|
+
export declare function validateViewerTarget(store: ViewerTargetStore, payload: Record<string, unknown>, options?: {
|
|
16
20
|
requireCurrentIdentity?: boolean;
|
|
17
21
|
requirePairedTargets?: boolean;
|
|
18
22
|
}): ViewerTargetValidation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-validation.d.ts","sourceRoot":"","sources":["../../src/routes/target-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"target-validation.d.ts","sourceRoot":"","sources":["../../src/routes/target-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAc1D,MAAM,MAAM,sBAAsB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,IAAI,OAAO,CAAC;CAC9B;AAcD,wBAAgB,qBAAqB,IAAI,oBAAoB,CAE5D;AA6BD,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChF,sBAAsB,CAgCxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemem/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0-alpha.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -15,11 +15,12 @@
|
|
|
15
15
|
"static/"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codemem/core": "^0.
|
|
18
|
+
"@codemem/core": "^0.46.0-alpha.1",
|
|
19
19
|
"@hono/node-server": "^2.1.1",
|
|
20
20
|
"drizzle-orm": "^0.45.2",
|
|
21
21
|
"hono": "^4.13.5",
|
|
22
|
-
"limiter": "^3.0.0"
|
|
22
|
+
"limiter": "^3.0.0",
|
|
23
|
+
"zod": "4.5.4"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/better-sqlite3": "^9.6.0",
|