@hasna/economy 0.3.7 → 0.3.9

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.
Files changed (141) hide show
  1. package/CHANGELOG.md +33 -4
  2. package/README.md +28 -61
  3. package/dashboard/README.md +17 -64
  4. package/docs/README.md +12 -0
  5. package/docs/cli.md +88 -0
  6. package/docs/configuration.md +88 -0
  7. package/docs/ingestion.md +47 -0
  8. package/docs/mcp.md +65 -0
  9. package/docs/otel.md +53 -0
  10. package/docs/rest-api.md +89 -0
  11. package/package.json +6 -7
  12. package/dist/cli/brains.d.ts +0 -3
  13. package/dist/cli/brains.d.ts.map +0 -1
  14. package/dist/cli/commands/brief.d.ts +0 -11
  15. package/dist/cli/commands/brief.d.ts.map +0 -1
  16. package/dist/cli/commands/completion.d.ts +0 -2
  17. package/dist/cli/commands/completion.d.ts.map +0 -1
  18. package/dist/cli/commands/extras.d.ts +0 -4
  19. package/dist/cli/commands/extras.d.ts.map +0 -1
  20. package/dist/cli/commands/menubar.d.ts +0 -7
  21. package/dist/cli/commands/menubar.d.ts.map +0 -1
  22. package/dist/cli/commands/notification.d.ts +0 -8
  23. package/dist/cli/commands/notification.d.ts.map +0 -1
  24. package/dist/cli/commands/todos.d.ts +0 -29
  25. package/dist/cli/commands/todos.d.ts.map +0 -1
  26. package/dist/cli/commands/tui.d.ts +0 -26
  27. package/dist/cli/commands/tui.d.ts.map +0 -1
  28. package/dist/cli/commands/watch.d.ts +0 -10
  29. package/dist/cli/commands/watch.d.ts.map +0 -1
  30. package/dist/cli/index.d.ts +0 -3
  31. package/dist/cli/index.d.ts.map +0 -1
  32. package/dist/cli/index.js +0 -12304
  33. package/dist/db/cloud.d.ts +0 -28
  34. package/dist/db/cloud.d.ts.map +0 -1
  35. package/dist/db/database.d.ts +0 -150
  36. package/dist/db/database.d.ts.map +0 -1
  37. package/dist/db/pg-migrations.d.ts +0 -7
  38. package/dist/db/pg-migrations.d.ts.map +0 -1
  39. package/dist/db/pg-sync-worker.d.ts +0 -2
  40. package/dist/db/pg-sync-worker.d.ts.map +0 -1
  41. package/dist/db/sync-pg.d.ts +0 -43
  42. package/dist/db/sync-pg.d.ts.map +0 -1
  43. package/dist/index.d.ts +0 -3
  44. package/dist/index.d.ts.map +0 -1
  45. package/dist/index.js +0 -3729
  46. package/dist/ingest/billing.d.ts +0 -27
  47. package/dist/ingest/billing.d.ts.map +0 -1
  48. package/dist/ingest/claude-quota.d.ts +0 -5
  49. package/dist/ingest/claude-quota.d.ts.map +0 -1
  50. package/dist/ingest/claude.d.ts +0 -18
  51. package/dist/ingest/claude.d.ts.map +0 -1
  52. package/dist/ingest/codex-quota.d.ts +0 -5
  53. package/dist/ingest/codex-quota.d.ts.map +0 -1
  54. package/dist/ingest/codex.d.ts +0 -8
  55. package/dist/ingest/codex.d.ts.map +0 -1
  56. package/dist/ingest/cursor.d.ts +0 -6
  57. package/dist/ingest/cursor.d.ts.map +0 -1
  58. package/dist/ingest/gemini.d.ts +0 -6
  59. package/dist/ingest/gemini.d.ts.map +0 -1
  60. package/dist/ingest/hermes.d.ts +0 -6
  61. package/dist/ingest/hermes.d.ts.map +0 -1
  62. package/dist/ingest/loops.d.ts +0 -6
  63. package/dist/ingest/loops.d.ts.map +0 -1
  64. package/dist/ingest/opencode.d.ts +0 -7
  65. package/dist/ingest/opencode.d.ts.map +0 -1
  66. package/dist/ingest/otel.d.ts +0 -33
  67. package/dist/ingest/otel.d.ts.map +0 -1
  68. package/dist/ingest/pi.d.ts +0 -7
  69. package/dist/ingest/pi.d.ts.map +0 -1
  70. package/dist/ingest/plugin.d.ts +0 -17
  71. package/dist/ingest/plugin.d.ts.map +0 -1
  72. package/dist/lib/accounts.d.ts +0 -11
  73. package/dist/lib/accounts.d.ts.map +0 -1
  74. package/dist/lib/agents.d.ts +0 -11
  75. package/dist/lib/agents.d.ts.map +0 -1
  76. package/dist/lib/analytics.d.ts +0 -68
  77. package/dist/lib/analytics.d.ts.map +0 -1
  78. package/dist/lib/billing-diff.d.ts +0 -22
  79. package/dist/lib/billing-diff.d.ts.map +0 -1
  80. package/dist/lib/brief.d.ts +0 -72
  81. package/dist/lib/brief.d.ts.map +0 -1
  82. package/dist/lib/cloud-storage.d.ts +0 -48
  83. package/dist/lib/cloud-storage.d.ts.map +0 -1
  84. package/dist/lib/config.d.ts +0 -13
  85. package/dist/lib/config.d.ts.map +0 -1
  86. package/dist/lib/contracts-client/index.d.ts +0 -3
  87. package/dist/lib/contracts-client/index.d.ts.map +0 -1
  88. package/dist/lib/contracts-client/mode.d.ts +0 -20
  89. package/dist/lib/contracts-client/mode.d.ts.map +0 -1
  90. package/dist/lib/contracts-client/storage.d.ts +0 -83
  91. package/dist/lib/contracts-client/storage.d.ts.map +0 -1
  92. package/dist/lib/contracts-client/transport.d.ts +0 -148
  93. package/dist/lib/contracts-client/transport.d.ts.map +0 -1
  94. package/dist/lib/gatherer.d.ts +0 -21
  95. package/dist/lib/gatherer.d.ts.map +0 -1
  96. package/dist/lib/model-config.d.ts +0 -8
  97. package/dist/lib/model-config.d.ts.map +0 -1
  98. package/dist/lib/open-projects.d.ts +0 -19
  99. package/dist/lib/open-projects.d.ts.map +0 -1
  100. package/dist/lib/package-metadata.d.ts +0 -8
  101. package/dist/lib/package-metadata.d.ts.map +0 -1
  102. package/dist/lib/paths.d.ts +0 -20
  103. package/dist/lib/paths.d.ts.map +0 -1
  104. package/dist/lib/periods.d.ts +0 -6
  105. package/dist/lib/periods.d.ts.map +0 -1
  106. package/dist/lib/pricing.d.ts +0 -13
  107. package/dist/lib/pricing.d.ts.map +0 -1
  108. package/dist/lib/savings.d.ts +0 -17
  109. package/dist/lib/savings.d.ts.map +0 -1
  110. package/dist/lib/serve-auth.d.ts +0 -4
  111. package/dist/lib/serve-auth.d.ts.map +0 -1
  112. package/dist/lib/spikes.d.ts +0 -18
  113. package/dist/lib/spikes.d.ts.map +0 -1
  114. package/dist/lib/store/index.d.ts +0 -303
  115. package/dist/lib/store/index.d.ts.map +0 -1
  116. package/dist/lib/sync-all.d.ts +0 -28
  117. package/dist/lib/sync-all.d.ts.map +0 -1
  118. package/dist/lib/watch-paths.d.ts +0 -3
  119. package/dist/lib/watch-paths.d.ts.map +0 -1
  120. package/dist/lib/webhooks.d.ts +0 -3
  121. package/dist/lib/webhooks.d.ts.map +0 -1
  122. package/dist/mcp/http.d.ts +0 -14
  123. package/dist/mcp/http.d.ts.map +0 -1
  124. package/dist/mcp/index.d.ts +0 -3
  125. package/dist/mcp/index.d.ts.map +0 -1
  126. package/dist/mcp/index.js +0 -6193
  127. package/dist/mcp/server.d.ts +0 -4
  128. package/dist/mcp/server.d.ts.map +0 -1
  129. package/dist/openapi.d.ts +0 -3
  130. package/dist/openapi.d.ts.map +0 -1
  131. package/dist/otel/index.d.ts +0 -3
  132. package/dist/otel/index.d.ts.map +0 -1
  133. package/dist/otel/index.js +0 -1399
  134. package/dist/server/index.d.ts +0 -3
  135. package/dist/server/index.d.ts.map +0 -1
  136. package/dist/server/index.js +0 -7977
  137. package/dist/server/pg-sync-worker.js +0 -31
  138. package/dist/server/serve.d.ts +0 -42
  139. package/dist/server/serve.d.ts.map +0 -1
  140. package/dist/types/index.d.ts +0 -238
  141. package/dist/types/index.d.ts.map +0 -1
@@ -1,28 +0,0 @@
1
- import type { DbAdapter } from '@hasna/cloud';
2
- import type { AuthQueryClient } from '@hasna/contracts/auth';
3
- import pg from 'pg';
4
- import type { SqliteAdapter as Database } from '@hasna/cloud';
5
- /** Resolve the cloud Postgres DSN from the standard env aliases. */
6
- export declare function getCloudDatabaseUrl(): string | undefined;
7
- /** True when the serve should run in cloud (RDS-direct) mode. */
8
- export declare function isCloudMode(): boolean;
9
- /** HMAC signing secret for API-key verification (server-held, never in a token). */
10
- export declare function resolveSigningSecret(): string | undefined;
11
- /**
12
- * Open a pooled Postgres connection to the shared RDS. Returns a value typed as
13
- * the SQLite `Database` the query layer expects — safe because `PgAdapter`
14
- * implements the identical `DbAdapter` surface those functions rely on.
15
- */
16
- export declare function openCloudDatabase(dsn?: string | undefined): Database;
17
- /** A raw pg Pool for auxiliary async work (API-key store, migrations). */
18
- export declare function createCloudPool(dsn?: string | undefined): pg.Pool;
19
- /**
20
- * Adapt a pg Pool to the `@hasna/contracts/auth` `AuthQueryClient` surface
21
- * (many/get/execute). This backs the `ApiKeyStore` without pulling in the
22
- * generic vendored kit — economy's storage is the `@hasna/cloud` PG pool.
23
- */
24
- export declare function authClientFromPool(pool: pg.Pool): AuthQueryClient;
25
- /** Ordered PG migrations applied by the migration runner (index = version). */
26
- export declare function cloudMigrations(): string[];
27
- export type { DbAdapter };
28
- //# sourceMappingURL=cloud.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/db/cloud.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAI7D,oEAAoE;AACpE,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAOxD;AAED,iEAAiE;AACjE,wBAAgB,WAAW,IAAI,OAAO,CAKrC;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAOzD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,qBAAwB,GAAG,QAAQ,CASvE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,GAAG,qBAAwB,GAAG,EAAE,CAAC,IAAI,CAYpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,eAAe,CAcjE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,YAAY,EAAE,SAAS,EAAE,CAAA"}
@@ -1,150 +0,0 @@
1
- import { SqliteAdapter as Database } from '@hasna/cloud';
2
- import type { EconomyRequest, EconomySession, EconomyProject, CostCenter, CostCenterBreakdown, CostCenterKind, Budget, BudgetStatus, CostSummary, ZeroCostModelBreakdown, ModelBreakdown, ProjectBreakdown, AgentBreakdown, AccountBreakdown, Period, Agent, SessionFilter } from '../types/index.js';
3
- export declare function getMachineId(): string;
4
- export declare function getDataDir(): string;
5
- export declare function getDbPath(): string;
6
- export declare function openDatabase(dbPath?: string, skipSeed?: boolean): Database;
7
- export declare function upsertCostCenter(db: Database, center: CostCenter): void;
8
- export declare function getCostCenter(db: Database, id: string): CostCenter | null;
9
- export declare function upsertRequest(db: Database, req: EconomyRequest): void;
10
- export declare function upsertSession(db: Database, session: EconomySession): void;
11
- export declare function rollupSession(db: Database, sessionId: string): void;
12
- export declare function querySessions(db: Database, filter?: SessionFilter): EconomySession[];
13
- export declare function queryTopSessions(db: Database, n?: number, agent?: string, since?: string): EconomySession[];
14
- export declare function querySummary(db: Database, period: Period, machine?: string, allMachines?: boolean, agent?: Agent): CostSummary;
15
- export declare function queryZeroCostTokenizedModels(db: Database, limit?: number): ZeroCostModelBreakdown[];
16
- export declare function queryModelBreakdown(db: Database): ModelBreakdown[];
17
- export declare function queryAgentBreakdown(db: Database, period?: Period, machine?: string): AgentBreakdown[];
18
- export declare function queryProjectBreakdown(db: Database, period?: Period, machine?: string): ProjectBreakdown[];
19
- export declare function queryAccountBreakdown(db: Database, period?: Period, machine?: string): AccountBreakdown[];
20
- export declare function queryCostCenterBreakdown(db: Database, period?: Period, filter?: {
21
- kind?: CostCenterKind;
22
- machine?: string;
23
- since?: string;
24
- }): CostCenterBreakdown[];
25
- export declare function queryProjectBreakdownSince(db: Database, since: string): ProjectBreakdown[];
26
- export declare function queryAgentBreakdownSince(db: Database, since: string): AgentBreakdown[];
27
- export declare function queryModelBreakdownSince(db: Database, since: string): ModelBreakdown[];
28
- export declare function queryAccountBreakdownSince(db: Database, since: string): AccountBreakdown[];
29
- export declare function queryDailyBreakdown(db: Database, days?: number, machine?: string): Array<{
30
- date: string;
31
- cost_usd: number;
32
- agent: string;
33
- }>;
34
- export declare function queryHourlyBreakdown(db: Database, machine?: string, hours?: number): Array<{
35
- hour: string;
36
- cost_usd: number;
37
- agent: string;
38
- }>;
39
- export declare function upsertProject(db: Database, project: EconomyProject): void;
40
- export declare function getProject(db: Database, path: string): EconomyProject | null;
41
- export declare function listProjects(db: Database): EconomyProject[];
42
- export declare function deleteProject(db: Database, path: string): void;
43
- export declare function upsertBudget(db: Database, budget: Budget): void;
44
- export declare function listBudgets(db: Database): Budget[];
45
- export declare function deleteBudget(db: Database, id: string): void;
46
- export declare function getBudgetStatuses(db: Database): BudgetStatus[];
47
- export interface Goal {
48
- id: string;
49
- period: 'day' | 'week' | 'month' | 'year';
50
- project_path: string | null;
51
- agent: string | null;
52
- limit_usd: number;
53
- created_at: string;
54
- updated_at: string;
55
- }
56
- export interface GoalStatus extends Goal {
57
- current_spend_usd: number;
58
- percent_used: number;
59
- is_on_track: boolean;
60
- is_at_risk: boolean;
61
- is_over: boolean;
62
- }
63
- export declare function upsertGoal(db: Database, goal: Goal): void;
64
- export declare function deleteGoal(db: Database, id: string): void;
65
- export declare function listGoals(db: Database): Goal[];
66
- export declare function getGoalStatuses(db: Database): GoalStatus[];
67
- export declare function getIngestState(db: Database, source: string, key: string): string | null;
68
- export declare function setIngestState(db: Database, source: string, key: string, value: string): void;
69
- export declare function queryRequestsSince(db: Database, since: string): EconomyRequest[];
70
- export interface FeedbackRecord {
71
- message: string;
72
- email?: string | null;
73
- category?: string | null;
74
- version?: string | null;
75
- machine_id?: string | null;
76
- }
77
- /** Persist a feedback row. Used by both the LocalStore and the serve endpoint. */
78
- export declare function insertFeedback(db: Database, record: FeedbackRecord): void;
79
- export interface BillingDaily {
80
- date: string;
81
- provider: 'anthropic' | 'openai' | string;
82
- description: string;
83
- cost_usd: number;
84
- updated_at: string;
85
- }
86
- export declare function upsertBillingDaily(db: Database, row: BillingDaily): void;
87
- export declare function clearBillingRange(db: Database, provider: string, fromDate: string, toDate: string): void;
88
- export declare function queryBillingSummary(db: Database, period: Period): {
89
- total_usd: number;
90
- by_provider: Record<string, number>;
91
- };
92
- export interface SessionDetail {
93
- session: Record<string, unknown>;
94
- requests: Array<Record<string, unknown>>;
95
- }
96
- /**
97
- * Fetch a single session (by exact id or id-prefix) plus its per-request rows,
98
- * ordered oldest-first. Returns null when no session matches. Backs the CLI
99
- * `session <id>` command and the MCP `get_session_detail` tool via the Store.
100
- */
101
- export declare function getSessionDetail(db: Database, id: string): SessionDetail | null;
102
- export interface MachineInfo {
103
- machine_id: string;
104
- sessions: number;
105
- requests: number;
106
- total_cost_usd: number;
107
- last_active: string;
108
- }
109
- export declare function listMachines(db: Database, period?: Period): MachineInfo[];
110
- export interface DbModelPricing {
111
- model: string;
112
- input_per_1m: number;
113
- output_per_1m: number;
114
- cache_read_per_1m: number;
115
- cache_write_per_1m: number;
116
- cache_write_1h_per_1m?: number;
117
- cache_storage_per_1m_hour?: number;
118
- updated_at: string;
119
- }
120
- export declare function upsertModelPricing(db: Database, p: DbModelPricing): void;
121
- export declare function getModelPricing(db: Database, model: string): DbModelPricing | null;
122
- export declare function listModelPricing(db: Database): DbModelPricing[];
123
- export declare function deleteModelPricing(db: Database, model: string): void;
124
- export declare function seedModelPricing(db: Database, defaults: Record<string, {
125
- inputPer1M: number;
126
- outputPer1M: number;
127
- cacheReadPer1M: number;
128
- cacheWritePer1M: number;
129
- cacheWrite1hPer1M?: number;
130
- cacheStoragePer1MHour?: number;
131
- }>): void;
132
- export declare function upsertSubscription(db: Database, sub: import('../types/index.js').Subscription): void;
133
- export declare function listSubscriptions(db: Database): import('../types/index.js').Subscription[];
134
- export declare function deleteSubscription(db: Database, id: string): void;
135
- export declare function upsertUsageSnapshot(db: Database, snap: Omit<import('../types/index.js').UsageSnapshot, 'id' | 'updated_at'> & {
136
- id?: string;
137
- updated_at?: string;
138
- }): void;
139
- export declare function queryUsageSnapshots(db: Database, opts?: {
140
- agent?: string;
141
- date?: string;
142
- since?: string;
143
- }): import('../types/index.js').UsageSnapshot[];
144
- export declare function listMachineRegistry(db: Database): import('../types/index.js').MachineRegistry[];
145
- export declare function dedupeRequests(db: Database): number;
146
- export declare function bulkIngest(db: Database, body: Record<string, unknown>): {
147
- ingested: Record<string, number>;
148
- total: number;
149
- };
150
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAMxD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,MAAM,EACN,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,aAAa,EACd,MAAM,mBAAmB,CAAA;AAyB1B,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAkBnC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAkCD,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,QAAQ,CAwBxE;AAoSD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAUvE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAwBrE;AAID,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAmBzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA8BnE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,aAAkB,GAAG,cAAc,EAAE,CAuBxF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAOvG;AAID,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,UAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,CAuC5H;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,SAAK,GAAG,sBAAsB,EAAE,CAc/F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,cAAc,EAAE,CAUlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CA4E5G;AA2CD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8EhH;AA+FD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA+EhH;AAiFD,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,EACZ,MAAM,GAAE,MAAc,EACtB,MAAM,GAAE;IAAE,IAAI,CAAC,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE,mBAAmB,EAAE,CAqFvB;AAOD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAW1F;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAetF;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAWtF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAqG1F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,SAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAUvI;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB7I;AAID,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAKzE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAI5E;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,cAAc,EAAE,CAG3D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9D;AAID,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAW/D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,CAElD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,YAAY,EAAE,CA+B9D;AAID,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI;IACtC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CASzD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,EAAE,CAE9C;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6B1D;AAID,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGvF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7F;AAID,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAEhF;AAID,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAUzE;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAKxE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAExG;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAY5H;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAK/E;AAID,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAc,GAAG,WAAW,EAAE,CA4ChF;AAID,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI,CAexE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAElF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,cAAc,EAAE,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAkBvO;AAID,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,mBAAmB,EAAE,YAAY,GAAG,IAAI,CASpG;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,mBAAmB,EAAE,YAAY,EAAE,CAE1F;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAEjE;AAID,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,EAAE,aAAa,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAChH,IAAI,CAON;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,OAAO,mBAAmB,EAAE,aAAa,EAAE,CAQ7C;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,mBAAmB,EAAE,eAAe,EAAE,CAE/F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAqBnD;AAoJD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuC3H"}
@@ -1,7 +0,0 @@
1
- /**
2
- * PostgreSQL migrations for open-economy cloud sync.
3
- *
4
- * Equivalent to the SQLite schema in database.ts, translated for PostgreSQL.
5
- */
6
- export declare const PG_MIGRATIONS: string[];
7
- //# sourceMappingURL=pg-migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,EAwQjC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pg-sync-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pg-sync-worker.d.ts","sourceRoot":"","sources":["../../src/db/pg-sync-worker.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- import { type DbAdapter, type PreparedStatement, type RunResult } from '@hasna/cloud';
2
- /**
3
- * Translate the closed set of SQLite date/time idioms the economy query layer
4
- * uses into Postgres equivalents. Runs AFTER `translateSql` (so `?` are already
5
- * `$n`). Timestamp columns are stored as ISO-8601 TEXT in both dialects, so bare
6
- * `DATE(col)` casts through `timestamptz`. Ordered most-specific first.
7
- */
8
- export declare function translateSqliteDates(sql: string): string;
9
- /**
10
- * Connection-level failures where the query provably never executed (the pool
11
- * could not hand out or keep a live backend). These are safe to retry once —
12
- * the pg pool discards the dead client and dials a fresh one on the next query,
13
- * so a single retry transparently absorbs RDS failover / idle-drop / connect
14
- * timeout blips instead of surfacing a 500 the caller has to retry by hand.
15
- */
16
- export declare function isTransientConnError(message: string): boolean;
17
- export declare class SyncPgAdapter implements DbAdapter {
18
- private readonly worker;
19
- private readonly port;
20
- private counter;
21
- private readonly sleeper;
22
- constructor(dsn: string);
23
- /**
24
- * Drain the reply matching `expectedId`. The reply is enqueued on the port
25
- * before the worker notifies, but cross-thread delivery can lag under CPU
26
- * pressure — so poll on a wall-clock deadline (yielding via a 1ms Atomics.wait
27
- * between empty reads) rather than a fixed iteration count, which could give
28
- * up prematurely on a busy box and throw a spurious 500. Replies whose id does
29
- * not match are stale results of a previously abandoned (timed-out) query;
30
- * discard them so the port never cross-talks between requests.
31
- */
32
- private drainReply;
33
- private queryOnce;
34
- private query;
35
- run(sql: string, ...params: unknown[]): RunResult;
36
- get(sql: string, ...params: unknown[]): unknown;
37
- all(sql: string, ...params: unknown[]): unknown[];
38
- exec(sql: string): void;
39
- prepare(sql: string): PreparedStatement;
40
- transaction<T>(fn: () => T): T;
41
- close(): void;
42
- }
43
- //# sourceMappingURL=sync-pg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-pg.d.ts","sourceRoot":"","sources":["../../src/db/sync-pg.ts"],"names":[],"mappings":"AAeA,OAAO,EAAiC,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAIpH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiCxD;AAaD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAY7D;AAED,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,OAAO,CAAI;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;gBAEvD,GAAG,EAAE,MAAM;IAYvB;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,KAAK;IAcb,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS;IAIjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO;IAG/C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAGjD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAGvB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IASvC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,KAAK,IAAI,IAAI;CAGd"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './types/index.js';
2
- export * from './lib/store/index.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}