@grapity/grapity 0.2.0 → 0.3.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.
@@ -191,20 +191,12 @@ interface GatewayConfigStore {
191
191
  deleteGatewayLogsOlderThan(days: number): Promise<void>;
192
192
  }
193
193
 
194
+ type DatabaseBackend = "sqlite" | "postgresql";
194
195
  interface ServerConfig {
195
196
  port: number;
196
- database: "sqlite" | "postgresql";
197
+ database: DatabaseBackend;
197
198
  sqlitePath?: string;
198
199
  postgresUrl?: string;
199
- gracePeriodDays: number;
200
- auth?: {
201
- mode: "none" | "api-key" | "jwt";
202
- apiKeyHashes?: string[];
203
- jwtSecret?: string;
204
- };
205
- audit?: {
206
- enabled: boolean;
207
- };
208
200
  }
209
201
 
210
202
  type AppEnv = {
@@ -215,4 +207,4 @@ type AppEnv = {
215
207
  };
216
208
  declare function createApp(config: ServerConfig, store: SpecStore & GatewayConfigStore): Hono<AppEnv, hono_types.BlankSchema, "/">;
217
209
 
218
- export { type AppEnv as A, type ServerConfig as S, createApp as c };
210
+ export { type AuditAction as A, type CompatReport as C, type GatewayConfigStore as G, type Provision as P, type SpecStore as S, type Spec as a, type SpecVersion as b, type SpecFilters as c, type GatewayConfig as d, type GatewayConfigVersion as e, type GatewayLog as f, type GatewayLogFilters as g, type GatewayLogStats as h, createApp as i, type ServerConfig as j };
@@ -1,3 +1,3 @@
1
- export { S as ServerConfig, c as createApp } from './index-Baj_sSgl.js';
1
+ export { j as ServerConfig, i as createApp } from './index-DUPbMrAe.js';
2
2
  import 'hono/types';
3
3
  import 'hono';
@@ -2525,8 +2525,7 @@ function switchTab(tab) {
2525
2525
  }
2526
2526
  var welcomeRoute = new Hono12().get("/", (c) => {
2527
2527
  const config = c.get("config");
2528
- const mode = config.database === "sqlite" ? "local" : "remote";
2529
- return c.html(buildPage(config.port, mode));
2528
+ return c.html(buildPage(config.port, "local"));
2530
2529
  });
2531
2530
 
2532
2531
  // src/registry/routes/push-gateway-config.ts
@@ -2867,7 +2866,6 @@ var ingestGatewayLogRoute = new Hono18().post("/ingest/:provider/:environment",
2867
2866
  await service.ingestLog(provider, environment, payload);
2868
2867
  return c.json({ status: "ok" }, 201);
2869
2868
  } catch (err) {
2870
- console.error("Gateway log ingest error:", err);
2871
2869
  return c.json({
2872
2870
  error: "bad_request",
2873
2871
  message: err instanceof Error ? err.message : "Invalid log payload",
@@ -1,7 +1,97 @@
1
- import * as hono from 'hono';
2
- import * as hono_types from 'hono/types';
3
- import { S as ServerConfig, A as AppEnv } from './index-Baj_sSgl.js';
1
+ import { ServerType } from '@hono/node-server';
2
+ import { S as SpecStore, G as GatewayConfigStore, a as Spec, b as SpecVersion, c as SpecFilters, C as CompatReport, A as AuditAction, d as GatewayConfig, e as GatewayConfigVersion, P as Provision, f as GatewayLog, g as GatewayLogFilters, h as GatewayLogStats, i as createApp, j as ServerConfig } from './index-DUPbMrAe.js';
3
+ import 'hono/types';
4
+ import 'hono';
4
5
 
5
- declare function startServer(userConfig?: Partial<ServerConfig>): Promise<hono.Hono<AppEnv, hono_types.BlankSchema, "/">>;
6
+ declare class SQLiteSpecStore implements SpecStore, GatewayConfigStore {
7
+ private db;
8
+ constructor(dbPath: string);
9
+ migrate(): Promise<void>;
10
+ getSpec(name: string): Promise<Spec | null>;
11
+ getSpecVersion(name: string, semver: string): Promise<SpecVersion | null>;
12
+ getLatestVersion(name: string): Promise<SpecVersion | null>;
13
+ listSpecs(filters?: SpecFilters): Promise<Spec[]>;
14
+ listVersions(name: string, options?: {
15
+ limit?: number;
16
+ offset?: number;
17
+ }): Promise<{
18
+ versions: SpecVersion[];
19
+ total: number;
20
+ }>;
21
+ pushSpecVersion(spec: Spec, version: SpecVersion): Promise<SpecVersion>;
22
+ deleteSpec(name: string): Promise<boolean>;
23
+ getCompatReport(name: string, semver: string): Promise<CompatReport | null>;
24
+ logAudit(action: AuditAction, actor: string, specName: string, version: string | undefined, details: Record<string, unknown> | undefined): Promise<void>;
25
+ private mapSpecRow;
26
+ private mapVersionRow;
27
+ getGatewayConfig(name: string): Promise<GatewayConfig | null>;
28
+ listGatewayConfigs(): Promise<GatewayConfig[]>;
29
+ getGatewayConfigVersion(name: string, versionId: string): Promise<GatewayConfigVersion | null>;
30
+ getLatestGatewayConfigVersion(name: string): Promise<GatewayConfigVersion | null>;
31
+ listGatewayConfigVersions(name: string): Promise<GatewayConfigVersion[]>;
32
+ pushGatewayConfigVersion(config: GatewayConfig, version: GatewayConfigVersion): Promise<GatewayConfigVersion>;
33
+ recordProvision(provision: Provision): Promise<void>;
34
+ listProvisions(gatewayConfigName?: string): Promise<Provision[]>;
35
+ private mapGatewayConfigRow;
36
+ private mapGatewayConfigVersionRow;
37
+ recordGatewayLog(log: GatewayLog): Promise<void>;
38
+ listGatewayLogs(filters: GatewayLogFilters): Promise<{
39
+ logs: GatewayLog[];
40
+ total: number;
41
+ }>;
42
+ getGatewayLog(id: string): Promise<GatewayLog | null>;
43
+ getGatewayLogStats(_filters: GatewayLogFilters): Promise<GatewayLogStats[]>;
44
+ deleteGatewayLogsOlderThan(days: number): Promise<void>;
45
+ }
6
46
 
7
- export { ServerConfig, startServer };
47
+ declare class PostgreSQLSpecStore implements SpecStore, GatewayConfigStore {
48
+ private db;
49
+ private pool;
50
+ constructor(postgresUrl: string);
51
+ migrate(): Promise<void>;
52
+ end(): Promise<void>;
53
+ getSpec(name: string): Promise<Spec | null>;
54
+ getSpecVersion(name: string, semver: string): Promise<SpecVersion | null>;
55
+ getLatestVersion(name: string): Promise<SpecVersion | null>;
56
+ listSpecs(filters?: SpecFilters): Promise<Spec[]>;
57
+ listVersions(name: string, options?: {
58
+ limit?: number;
59
+ offset?: number;
60
+ }): Promise<{
61
+ versions: SpecVersion[];
62
+ total: number;
63
+ }>;
64
+ pushSpecVersion(spec: Spec, version: SpecVersion): Promise<SpecVersion>;
65
+ deleteSpec(name: string): Promise<boolean>;
66
+ getCompatReport(name: string, semver: string): Promise<CompatReport | null>;
67
+ logAudit(action: AuditAction, actor: string, specName: string, version: string | undefined, details: Record<string, unknown> | undefined): Promise<void>;
68
+ private mapSpecRow;
69
+ private mapVersionRow;
70
+ getGatewayConfig(name: string): Promise<GatewayConfig | null>;
71
+ listGatewayConfigs(): Promise<GatewayConfig[]>;
72
+ getGatewayConfigVersion(name: string, versionId: string): Promise<GatewayConfigVersion | null>;
73
+ getLatestGatewayConfigVersion(name: string): Promise<GatewayConfigVersion | null>;
74
+ listGatewayConfigVersions(name: string): Promise<GatewayConfigVersion[]>;
75
+ pushGatewayConfigVersion(config: GatewayConfig, version: GatewayConfigVersion): Promise<GatewayConfigVersion>;
76
+ recordProvision(provision: Provision): Promise<void>;
77
+ listProvisions(gatewayConfigName?: string): Promise<Provision[]>;
78
+ private mapGatewayConfigRow;
79
+ private mapGatewayConfigVersionRow;
80
+ recordGatewayLog(log: GatewayLog): Promise<void>;
81
+ listGatewayLogs(filters: GatewayLogFilters): Promise<{
82
+ logs: GatewayLog[];
83
+ total: number;
84
+ }>;
85
+ getGatewayLog(id: string): Promise<GatewayLog | null>;
86
+ getGatewayLogStats(_filters: GatewayLogFilters): Promise<GatewayLogStats[]>;
87
+ deleteGatewayLogsOlderThan(days: number): Promise<void>;
88
+ }
89
+
90
+ interface RunningServer {
91
+ app: ReturnType<typeof createApp>;
92
+ store: SQLiteSpecStore | PostgreSQLSpecStore;
93
+ server: ServerType;
94
+ }
95
+ declare function startServer(userConfig?: Partial<ServerConfig>): Promise<RunningServer>;
96
+
97
+ export { type RunningServer, ServerConfig, startServer };