@hasna/economy 0.3.9 → 0.3.12
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/CHANGELOG.md +37 -0
- package/dist/cli/brains.d.ts +3 -0
- package/dist/cli/brains.d.ts.map +1 -0
- package/dist/cli/commands/brief.d.ts +11 -0
- package/dist/cli/commands/brief.d.ts.map +1 -0
- package/dist/cli/commands/completion.d.ts +2 -0
- package/dist/cli/commands/completion.d.ts.map +1 -0
- package/dist/cli/commands/extras.d.ts +4 -0
- package/dist/cli/commands/extras.d.ts.map +1 -0
- package/dist/cli/commands/menubar.d.ts +7 -0
- package/dist/cli/commands/menubar.d.ts.map +1 -0
- package/dist/cli/commands/notification.d.ts +8 -0
- package/dist/cli/commands/notification.d.ts.map +1 -0
- package/dist/cli/commands/todos.d.ts +29 -0
- package/dist/cli/commands/todos.d.ts.map +1 -0
- package/dist/cli/commands/tui.d.ts +26 -0
- package/dist/cli/commands/tui.d.ts.map +1 -0
- package/dist/cli/commands/watch.d.ts +10 -0
- package/dist/cli/commands/watch.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +12204 -0
- package/dist/db/cloud.d.ts +45 -0
- package/dist/db/cloud.d.ts.map +1 -0
- package/dist/db/database.d.ts +157 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/dialect.d.ts +13 -0
- package/dist/db/dialect.d.ts.map +1 -0
- package/dist/db/pg-migrate.d.ts +30 -0
- package/dist/db/pg-migrate.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts +7 -0
- package/dist/db/pg-migrations.d.ts.map +1 -0
- package/dist/db/pg-sync-worker.d.ts +2 -0
- package/dist/db/pg-sync-worker.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.d.ts +36 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sync-pg.d.ts +43 -0
- package/dist/db/sync-pg.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3406 -0
- package/dist/ingest/billing.d.ts +27 -0
- package/dist/ingest/billing.d.ts.map +1 -0
- package/dist/ingest/claude-quota.d.ts +5 -0
- package/dist/ingest/claude-quota.d.ts.map +1 -0
- package/dist/ingest/claude.d.ts +18 -0
- package/dist/ingest/claude.d.ts.map +1 -0
- package/dist/ingest/codex-quota.d.ts +5 -0
- package/dist/ingest/codex-quota.d.ts.map +1 -0
- package/dist/ingest/codex.d.ts +8 -0
- package/dist/ingest/codex.d.ts.map +1 -0
- package/dist/ingest/cursor.d.ts +6 -0
- package/dist/ingest/cursor.d.ts.map +1 -0
- package/dist/ingest/gemini.d.ts +6 -0
- package/dist/ingest/gemini.d.ts.map +1 -0
- package/dist/ingest/hermes.d.ts +6 -0
- package/dist/ingest/hermes.d.ts.map +1 -0
- package/dist/ingest/loops.d.ts +6 -0
- package/dist/ingest/loops.d.ts.map +1 -0
- package/dist/ingest/opencode.d.ts +7 -0
- package/dist/ingest/opencode.d.ts.map +1 -0
- package/dist/ingest/otel.d.ts +33 -0
- package/dist/ingest/otel.d.ts.map +1 -0
- package/dist/ingest/pi.d.ts +7 -0
- package/dist/ingest/pi.d.ts.map +1 -0
- package/dist/ingest/plugin.d.ts +17 -0
- package/dist/ingest/plugin.d.ts.map +1 -0
- package/dist/lib/accounts.d.ts +11 -0
- package/dist/lib/accounts.d.ts.map +1 -0
- package/dist/lib/agents.d.ts +11 -0
- package/dist/lib/agents.d.ts.map +1 -0
- package/dist/lib/analytics.d.ts +68 -0
- package/dist/lib/analytics.d.ts.map +1 -0
- package/dist/lib/billing-diff.d.ts +61 -0
- package/dist/lib/billing-diff.d.ts.map +1 -0
- package/dist/lib/brief.d.ts +72 -0
- package/dist/lib/brief.d.ts.map +1 -0
- package/dist/lib/cloud-ingest.d.ts +57 -0
- package/dist/lib/cloud-ingest.d.ts.map +1 -0
- package/dist/lib/cloud-storage.d.ts +48 -0
- package/dist/lib/cloud-storage.d.ts.map +1 -0
- package/dist/lib/config.d.ts +13 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/contracts-client/index.d.ts +3 -0
- package/dist/lib/contracts-client/index.d.ts.map +1 -0
- package/dist/lib/contracts-client/storage.d.ts +3 -0
- package/dist/lib/contracts-client/storage.d.ts.map +1 -0
- package/dist/lib/contracts-client/transport.d.ts +2 -0
- package/dist/lib/contracts-client/transport.d.ts.map +1 -0
- package/dist/lib/gatherer.d.ts +21 -0
- package/dist/lib/gatherer.d.ts.map +1 -0
- package/dist/lib/model-config.d.ts +8 -0
- package/dist/lib/model-config.d.ts.map +1 -0
- package/dist/lib/open-projects.d.ts +27 -0
- package/dist/lib/open-projects.d.ts.map +1 -0
- package/dist/lib/package-metadata.d.ts +8 -0
- package/dist/lib/package-metadata.d.ts.map +1 -0
- package/dist/lib/paths.d.ts +20 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/periods.d.ts +6 -0
- package/dist/lib/periods.d.ts.map +1 -0
- package/dist/lib/pricing.d.ts +13 -0
- package/dist/lib/pricing.d.ts.map +1 -0
- package/dist/lib/savings.d.ts +17 -0
- package/dist/lib/savings.d.ts.map +1 -0
- package/dist/lib/serve-auth.d.ts +4 -0
- package/dist/lib/serve-auth.d.ts.map +1 -0
- package/dist/lib/spikes.d.ts +18 -0
- package/dist/lib/spikes.d.ts.map +1 -0
- package/dist/lib/store/index.d.ts +303 -0
- package/dist/lib/store/index.d.ts.map +1 -0
- package/dist/lib/sync-all.d.ts +28 -0
- package/dist/lib/sync-all.d.ts.map +1 -0
- package/dist/lib/sync-maintenance.d.ts +15 -0
- package/dist/lib/sync-maintenance.d.ts.map +1 -0
- package/dist/lib/watch-paths.d.ts +3 -0
- package/dist/lib/watch-paths.d.ts.map +1 -0
- package/dist/lib/webhooks.d.ts +3 -0
- package/dist/lib/webhooks.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +14 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5997 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/openapi.d.ts +3 -0
- package/dist/openapi.d.ts.map +1 -0
- package/dist/otel/index.d.ts +3 -0
- package/dist/otel/index.d.ts.map +1 -0
- package/dist/otel/index.js +1464 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8360 -0
- package/dist/server/pg-sync-worker.js +31 -0
- package/dist/server/serve.d.ts +42 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/types/index.d.ts +240 -0
- package/dist/types/index.d.ts.map +1 -0
- package/docs/cli.md +3 -3
- package/docs/mcp.md +1 -1
- package/package.json +7 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/contracts-client/storage.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/lib/contracts-client/transport.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface TrainingMessage {
|
|
2
|
+
role: 'system' | 'user' | 'assistant';
|
|
3
|
+
content: string;
|
|
4
|
+
}
|
|
5
|
+
interface TrainingExample {
|
|
6
|
+
messages: TrainingMessage[];
|
|
7
|
+
}
|
|
8
|
+
interface GatherResult {
|
|
9
|
+
source: string;
|
|
10
|
+
examples: TrainingExample[];
|
|
11
|
+
count: number;
|
|
12
|
+
}
|
|
13
|
+
interface GathererOptions {
|
|
14
|
+
limit?: number;
|
|
15
|
+
since?: Date;
|
|
16
|
+
outputDir?: string;
|
|
17
|
+
}
|
|
18
|
+
type GatherTrainingDataFn = (options?: GathererOptions) => Promise<GatherResult>;
|
|
19
|
+
export declare const gatherTrainingData: GatherTrainingDataFn;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=gatherer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/lib/gatherer.ts"],"names":[],"mappings":"AAQA,UAAU,eAAe;IACvB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,KAAK,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;AAShF,eAAO,MAAM,kBAAkB,EAAE,oBAkNhC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const DEFAULT_MODEL = "gpt-4o-mini";
|
|
2
|
+
/** Returns the active fine-tuned model ID, or DEFAULT_MODEL if none set. */
|
|
3
|
+
export declare function getActiveModel(): string;
|
|
4
|
+
/** Persists the active fine-tuned model ID to ~/.hasna/economy/config.json. */
|
|
5
|
+
export declare function setActiveModel(id: string): void;
|
|
6
|
+
/** Clears the active model, falling back to DEFAULT_MODEL. */
|
|
7
|
+
export declare function clearActiveModel(): void;
|
|
8
|
+
//# sourceMappingURL=model-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/lib/model-config.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,gBAAgB,CAAA;AA8B1C,4EAA4E;AAC5E,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* The subset of a project-registry row economy needs. The registry renamed its
|
|
4
|
+
* filesystem-path field `path` -> `primary_path` when projects became
|
|
5
|
+
* workspaces, so both spellings are accepted and `resolveProjectPath` below
|
|
6
|
+
* picks whichever is present. Keeping both means the injectable
|
|
7
|
+
* `listActiveProjects` seam (and its tests) stays valid across that rename.
|
|
8
|
+
*/
|
|
9
|
+
interface OpenProject {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string | null;
|
|
13
|
+
path?: string | null;
|
|
14
|
+
primary_path?: string | null;
|
|
15
|
+
tags: string[];
|
|
16
|
+
created_at: string;
|
|
17
|
+
}
|
|
18
|
+
type ListOpenProjects = (options: {
|
|
19
|
+
status: 'active';
|
|
20
|
+
limit: number;
|
|
21
|
+
}) => OpenProject[];
|
|
22
|
+
export declare function syncOpenProjectsRegistry(db: Database, listActiveProjects?: ListOpenProjects): Promise<{
|
|
23
|
+
imported: number;
|
|
24
|
+
skipped: number;
|
|
25
|
+
}>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=open-projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-projects.d.ts","sourceRoot":"","sources":["../../src/lib/open-projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGxE;;;;;;GAMG;AACH,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK,WAAW,EAAE,CAAA;AAIvF,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,QAAQ,EACZ,kBAAkB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/package-metadata.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAID,wBAAgB,kBAAkB,IAAI,eAAe,CAYpD;AAED,eAAO,MAAM,eAAe,iBAAuB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Cross-platform home directory (Windows USERPROFILE, Unix HOME). */
|
|
2
|
+
export declare function getHomeDir(): string;
|
|
3
|
+
export declare function expandHome(path: string): string;
|
|
4
|
+
export declare function agentPaths(): {
|
|
5
|
+
claudeProjects: string;
|
|
6
|
+
claudeCredentials: string;
|
|
7
|
+
takumiProjects: string;
|
|
8
|
+
codexDir: string;
|
|
9
|
+
codexDb: string;
|
|
10
|
+
codexAuth: string;
|
|
11
|
+
codexConfig: string;
|
|
12
|
+
geminiTmp: string;
|
|
13
|
+
geminiHistory: string;
|
|
14
|
+
opencodeMessages: string;
|
|
15
|
+
piSessions: string;
|
|
16
|
+
hermesDir: string;
|
|
17
|
+
hermesDb: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function existingAgentPaths(): string[];
|
|
20
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAIA,sEAAsE;AACtE,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,UAAU;;;;;;;;;;;;;;EAiBzB;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"periods.d.ts","sourceRoot":"","sources":["../../src/lib/periods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAM/C,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsB9F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
import type { ModelPricing } from '../types/index.js';
|
|
3
|
+
import { type DbModelPricing } from '../db/database.js';
|
|
4
|
+
export declare const DEFAULT_PRICING: Record<string, ModelPricing>;
|
|
5
|
+
export declare function normalizeModelName(raw: string): string;
|
|
6
|
+
export declare function ensurePricingSeeded(db: Database): void;
|
|
7
|
+
export declare function getPricingFromDb(db: Database, model: string): ModelPricing | null;
|
|
8
|
+
export declare function getPricing(model: string): ModelPricing | null;
|
|
9
|
+
export declare function computeCost(model: string, inputTokens: number, outputTokens: number, cacheReadTokens?: number, cacheWriteTokens?: number, cacheWrite1hTokens?: number, cacheStorageTokenHours?: number): number;
|
|
10
|
+
export declare function computeCostFromDb(db: Database, model: string, inputTokens: number, outputTokens: number, cacheReadTokens?: number, cacheWriteTokens?: number, cacheWrite1hTokens?: number, cacheStorageTokenHours?: number): number;
|
|
11
|
+
export declare function getPricingFromRows(rows: DbModelPricing[], model: string): ModelPricing | null;
|
|
12
|
+
export declare function estimateCostFromRows(rows: DbModelPricing[], model: string, inputTokens: number, outputTokens: number, cacheReadTokens?: number, cacheWriteTokens?: number, cacheWrite1hTokens?: number, cacheStorageTokenHours?: number): number;
|
|
13
|
+
//# sourceMappingURL=pricing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/lib/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAA6E,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlI,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA+FxD,CAAA;AAqND,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOtD;AA2CD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAMtD;AA+GD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoBjF;AA4BD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG7D;AAMD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,EACnB,gBAAgB,SAAI,EACpB,kBAAkB,SAAI,EACtB,sBAAsB,SAAI,GACzB,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,EACnB,gBAAgB,SAAI,EACpB,kBAAkB,SAAI,EACtB,sBAAsB,SAAI,GACzB,MAAM,CAIR;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAW7F;AAMD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,cAAc,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,EACnB,gBAAgB,SAAI,EACpB,kBAAkB,SAAI,EACtB,sBAAsB,SAAI,GACzB,MAAM,CAIR"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
import type { Agent, CostBasis } from './agents.js';
|
|
3
|
+
import type { Period } from '../types/index.js';
|
|
4
|
+
export interface SavingsSummary {
|
|
5
|
+
period: Period;
|
|
6
|
+
api_equivalent_usd: number;
|
|
7
|
+
subscription_fee_usd: number;
|
|
8
|
+
included_consumed_usd: number;
|
|
9
|
+
on_demand_usd: number;
|
|
10
|
+
saved_usd: number;
|
|
11
|
+
by_agent: Record<string, Partial<SavingsSummary>>;
|
|
12
|
+
}
|
|
13
|
+
/** saved = max(0, api_equivalent - on_demand - prorated_subscription_fee) */
|
|
14
|
+
export declare function computeSavedUsd(apiEquivalent: number, onDemand: number, subscriptionFee: number): number;
|
|
15
|
+
export declare function querySavingsSummary(db: Database, period: Period, agent?: Agent): SavingsSummary;
|
|
16
|
+
export declare function defaultCostBasisForAgent(agent: Agent): CostBasis;
|
|
17
|
+
//# sourceMappingURL=savings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savings.d.ts","sourceRoot":"","sources":["../../src/lib/savings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,CAAA;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;CAClD;AAoCD,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,KAAK,GACZ,cAAc,CAmHhB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAIhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-auth.d.ts","sourceRoot":"","sources":["../../src/lib/serve-auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CASvE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
export interface SpikeInfo {
|
|
3
|
+
date: string;
|
|
4
|
+
cost_usd: number;
|
|
5
|
+
average_usd: number;
|
|
6
|
+
ratio: number;
|
|
7
|
+
}
|
|
8
|
+
/** Detect daily cost spikes: today > 2× rolling 7-day mean (min 7 days history). */
|
|
9
|
+
export declare function detectCostSpikes(dailyTotals: Array<{
|
|
10
|
+
date: string;
|
|
11
|
+
cost_usd: number;
|
|
12
|
+
}>, opts?: {
|
|
13
|
+
windowDays?: number;
|
|
14
|
+
multiplier?: number;
|
|
15
|
+
}): SpikeInfo[];
|
|
16
|
+
export declare function queryRecentSpikes(db: Database, days?: number): SpikeInfo[];
|
|
17
|
+
export declare function getTodaySpike(db: Database): SpikeInfo | null;
|
|
18
|
+
//# sourceMappingURL=spikes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spikes.d.ts","sourceRoot":"","sources":["../../src/lib/spikes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACtD,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,SAAS,EAAE,CAqBb;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,SAAK,GAAG,SAAS,EAAE,CAUtE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAI5D"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { type MachineInfo, type SessionDetail, type DbModelPricing, type GoalStatus } from '../../db/database.js';
|
|
2
|
+
import { type BillingDiffSummary } from '../billing-diff.js';
|
|
3
|
+
import { type EconomyBrief } from '../brief.js';
|
|
4
|
+
import { type ProjectDetail, type RangeStats, type ForecastData, type ModelEfficiency, type ExportType } from '../analytics.js';
|
|
5
|
+
import { type ActiveEconomyCloudStorage } from '../cloud-storage.js';
|
|
6
|
+
import type { Agent, AgentBreakdown, AccountBreakdown, BudgetStatus, CostCenterBreakdown, CostCenterKind, CostSummary, EconomyRequest, EconomySession, ModelBreakdown, MachineRegistry, Period, ProjectBreakdown, Subscription } from '../../types/index.js';
|
|
7
|
+
export type { MachineInfo, SessionDetail, DbModelPricing, GoalStatus } from '../../db/database.js';
|
|
8
|
+
export type { BillingDiffSummary } from '../billing-diff.js';
|
|
9
|
+
export type { EconomyBrief } from '../brief.js';
|
|
10
|
+
export type { ProjectDetail, RangeStats, ForecastData, ModelEfficiency, ExportType } from '../analytics.js';
|
|
11
|
+
/** Fleet roll-up: cross-machine summary + per-machine rows + machine registry. */
|
|
12
|
+
export interface FleetSummary {
|
|
13
|
+
summary: CostSummary;
|
|
14
|
+
machines: MachineInfo[];
|
|
15
|
+
registry: MachineRegistry[];
|
|
16
|
+
}
|
|
17
|
+
/** Options accepted by the breakdown reads. `since` (ISO date) wins over period. */
|
|
18
|
+
export interface BreakdownQuery {
|
|
19
|
+
period?: Period;
|
|
20
|
+
since?: string;
|
|
21
|
+
machine?: string;
|
|
22
|
+
}
|
|
23
|
+
/** Breakdown query for cost centers — same as `BreakdownQuery` plus a kind filter. */
|
|
24
|
+
export interface CostCenterQuery extends BreakdownQuery {
|
|
25
|
+
kind?: CostCenterKind;
|
|
26
|
+
}
|
|
27
|
+
/** Create/update input for a budget (the Store assigns id + timestamps). */
|
|
28
|
+
export interface BudgetInput {
|
|
29
|
+
project_path: string | null;
|
|
30
|
+
agent: Agent | null;
|
|
31
|
+
cost_center_id?: string | null;
|
|
32
|
+
period: 'daily' | 'weekly' | 'monthly';
|
|
33
|
+
limit_usd: number;
|
|
34
|
+
alert_at_percent: number;
|
|
35
|
+
}
|
|
36
|
+
/** Create/update input for a spending goal. */
|
|
37
|
+
export interface GoalInput {
|
|
38
|
+
period: 'day' | 'week' | 'month' | 'year';
|
|
39
|
+
project_path: string | null;
|
|
40
|
+
agent: Agent | null;
|
|
41
|
+
limit_usd: number;
|
|
42
|
+
}
|
|
43
|
+
/** Create/update input for a model pricing row (model is the key). */
|
|
44
|
+
export interface PricingInput {
|
|
45
|
+
model: string;
|
|
46
|
+
input_per_1m: number;
|
|
47
|
+
output_per_1m: number;
|
|
48
|
+
cache_read_per_1m: number;
|
|
49
|
+
cache_write_per_1m: number;
|
|
50
|
+
cache_write_1h_per_1m: number;
|
|
51
|
+
cache_storage_per_1m_hour: number;
|
|
52
|
+
}
|
|
53
|
+
/** Query for the fleet brief. `currentMachineId`/`localSyncAt` only apply to the
|
|
54
|
+
* local transport (the cloud serve computes freshness from its own dataset). */
|
|
55
|
+
export interface BriefQuery {
|
|
56
|
+
since?: string;
|
|
57
|
+
machine?: string;
|
|
58
|
+
currentMachineId?: string;
|
|
59
|
+
localSyncAt?: Date;
|
|
60
|
+
}
|
|
61
|
+
/** Token counts for a pre-flight cost estimate (backs `economy estimate` /
|
|
62
|
+
* `estimate_cost`). The Store resolves pricing from its own dataset so cloud
|
|
63
|
+
* users estimate against the SAME pricing table they edit via set/get pricing. */
|
|
64
|
+
export interface EstimateInput {
|
|
65
|
+
model: string;
|
|
66
|
+
inputTokens: number;
|
|
67
|
+
outputTokens: number;
|
|
68
|
+
cacheReadTokens?: number;
|
|
69
|
+
cacheWriteTokens?: number;
|
|
70
|
+
cacheWrite1hTokens?: number;
|
|
71
|
+
cacheStorageTokenHours?: number;
|
|
72
|
+
}
|
|
73
|
+
/** Input for a feedback submission (backs `send_feedback`). The Store stamps the
|
|
74
|
+
* package version and machine id; the caller only supplies user-provided fields. */
|
|
75
|
+
export interface FeedbackInput {
|
|
76
|
+
message: string;
|
|
77
|
+
email?: string | null;
|
|
78
|
+
category?: 'bug' | 'feature' | 'general';
|
|
79
|
+
}
|
|
80
|
+
/** Create/update input for a subscription plan. */
|
|
81
|
+
export interface SubscriptionInput {
|
|
82
|
+
id?: string;
|
|
83
|
+
provider: string;
|
|
84
|
+
plan: string;
|
|
85
|
+
agent: Agent | null;
|
|
86
|
+
monthly_fee_usd: number;
|
|
87
|
+
included_usage_usd: number;
|
|
88
|
+
billing_cycle_start: string | null;
|
|
89
|
+
reset_policy: string;
|
|
90
|
+
active: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The single data interface for economy. Both LocalStore and ApiStore implement
|
|
94
|
+
* it; callers hold an `EconomyStore` and never know (or branch on) which one.
|
|
95
|
+
*/
|
|
96
|
+
export interface EconomyStore {
|
|
97
|
+
/** Which transport backs this store (for banners/diagnostics only). */
|
|
98
|
+
readonly transport: 'local' | 'cloud-http';
|
|
99
|
+
summary(period: Period, machine?: string): Promise<CostSummary>;
|
|
100
|
+
sessions(filter: {
|
|
101
|
+
agent?: Agent;
|
|
102
|
+
project?: string;
|
|
103
|
+
account?: string;
|
|
104
|
+
machine?: string;
|
|
105
|
+
limit?: number;
|
|
106
|
+
since?: string;
|
|
107
|
+
search?: string;
|
|
108
|
+
}): Promise<EconomySession[]>;
|
|
109
|
+
topSessions(n: number, agent?: Agent, since?: string): Promise<EconomySession[]>;
|
|
110
|
+
sessionDetail(id: string): Promise<SessionDetail | null>;
|
|
111
|
+
modelBreakdown(query?: BreakdownQuery): Promise<ModelBreakdown[]>;
|
|
112
|
+
agentBreakdown(query?: BreakdownQuery): Promise<AgentBreakdown[]>;
|
|
113
|
+
projectBreakdown(query?: BreakdownQuery): Promise<ProjectBreakdown[]>;
|
|
114
|
+
accountBreakdown(query?: BreakdownQuery): Promise<AccountBreakdown[]>;
|
|
115
|
+
costCenterBreakdown(query?: CostCenterQuery): Promise<CostCenterBreakdown[]>;
|
|
116
|
+
accounts(period: Period): Promise<AccountBreakdown[]>;
|
|
117
|
+
daily(days: number, machine?: string): Promise<Array<{
|
|
118
|
+
date: string;
|
|
119
|
+
cost_usd: number;
|
|
120
|
+
agent: string;
|
|
121
|
+
}>>;
|
|
122
|
+
machines(): Promise<MachineInfo[]>;
|
|
123
|
+
/** Cross-machine fleet roll-up (backs `economy fleet`). */
|
|
124
|
+
fleet(period: Period): Promise<FleetSummary>;
|
|
125
|
+
billingSummary(period: Period): Promise<{
|
|
126
|
+
total_usd: number;
|
|
127
|
+
by_provider: Record<string, number>;
|
|
128
|
+
}>;
|
|
129
|
+
/** Estimated vs actual (provider) billing delta (backs `economy billing diff`). */
|
|
130
|
+
billingDiff(period: Period): Promise<BillingDiffSummary>;
|
|
131
|
+
usage(period: Period, agent?: Agent): Promise<unknown>;
|
|
132
|
+
savings(period: Period, agent?: Agent): Promise<unknown>;
|
|
133
|
+
listBudgets(): Promise<BudgetStatus[]>;
|
|
134
|
+
listGoals(): Promise<GoalStatus[]>;
|
|
135
|
+
listPricing(): Promise<DbModelPricing[]>;
|
|
136
|
+
listSubscriptions(): Promise<Subscription[]>;
|
|
137
|
+
listProjects(): Promise<ProjectBreakdown[]>;
|
|
138
|
+
/** Fleet-wide usage brief (backs `economy brief`). */
|
|
139
|
+
brief(query?: BriefQuery): Promise<EconomyBrief>;
|
|
140
|
+
/** Detailed breakdown for one project by name or path substring. */
|
|
141
|
+
projectDetail(nameOrPath: string): Promise<ProjectDetail | null>;
|
|
142
|
+
/** Raw rows for a CSV export of sessions or requests over a period. */
|
|
143
|
+
exportRows(type: ExportType, period: string): Promise<Array<Record<string, unknown>>>;
|
|
144
|
+
/** Cost/request/token/session totals for an inclusive [from,to] date range. */
|
|
145
|
+
rangeStats(from: string, to: string): Promise<RangeStats>;
|
|
146
|
+
/** End-of-month projection from the current burn rate. */
|
|
147
|
+
forecast(): Promise<ForecastData>;
|
|
148
|
+
/** Per-model token efficiency (output/input, cache hit%, cost/1k out). */
|
|
149
|
+
efficiency(): Promise<ModelEfficiency[]>;
|
|
150
|
+
/** Requests recorded at or after an ISO timestamp (live cost stream). */
|
|
151
|
+
recentRequests(since: string): Promise<EconomyRequest[]>;
|
|
152
|
+
/** Pre-flight cost estimate for token counts, priced from this store's dataset. */
|
|
153
|
+
estimate(input: EstimateInput): Promise<number>;
|
|
154
|
+
/** Create a budget; resolves to its id ('' if the transport does not echo one). */
|
|
155
|
+
setBudget(input: BudgetInput): Promise<string>;
|
|
156
|
+
removeBudget(id: string): Promise<void>;
|
|
157
|
+
setGoal(input: GoalInput): Promise<void>;
|
|
158
|
+
removeGoal(id: string): Promise<void>;
|
|
159
|
+
setPricing(input: PricingInput): Promise<void>;
|
|
160
|
+
removePricing(model: string): Promise<void>;
|
|
161
|
+
setSubscription(input: SubscriptionInput): Promise<Subscription>;
|
|
162
|
+
removeSubscription(id: string): Promise<void>;
|
|
163
|
+
addProject(path: string, name: string): Promise<void>;
|
|
164
|
+
renameProject(path: string, name: string): Promise<void>;
|
|
165
|
+
removeProject(path: string): Promise<void>;
|
|
166
|
+
/** Record user feedback (LocalStore -> local `feedback` table; ApiStore ->
|
|
167
|
+
* POST /v1/feedback on the shared cloud). */
|
|
168
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
169
|
+
}
|
|
170
|
+
export declare class LocalStore implements EconomyStore {
|
|
171
|
+
readonly transport: "local";
|
|
172
|
+
private _db;
|
|
173
|
+
private db;
|
|
174
|
+
summary(period: Period, machine?: string): Promise<CostSummary>;
|
|
175
|
+
sessions(filter: {
|
|
176
|
+
agent?: Agent;
|
|
177
|
+
project?: string;
|
|
178
|
+
account?: string;
|
|
179
|
+
machine?: string;
|
|
180
|
+
limit?: number;
|
|
181
|
+
since?: string;
|
|
182
|
+
search?: string;
|
|
183
|
+
}): Promise<EconomySession[]>;
|
|
184
|
+
topSessions(n: number, agent?: Agent, since?: string): Promise<EconomySession[]>;
|
|
185
|
+
sessionDetail(id: string): Promise<SessionDetail | null>;
|
|
186
|
+
modelBreakdown(query?: BreakdownQuery): Promise<ModelBreakdown[]>;
|
|
187
|
+
agentBreakdown(query?: BreakdownQuery): Promise<AgentBreakdown[]>;
|
|
188
|
+
projectBreakdown(query?: BreakdownQuery): Promise<ProjectBreakdown[]>;
|
|
189
|
+
accountBreakdown(query?: BreakdownQuery): Promise<AccountBreakdown[]>;
|
|
190
|
+
costCenterBreakdown(query?: CostCenterQuery): Promise<CostCenterBreakdown[]>;
|
|
191
|
+
accounts(period: Period): Promise<AccountBreakdown[]>;
|
|
192
|
+
daily(days: number, machine?: string): Promise<Array<{
|
|
193
|
+
date: string;
|
|
194
|
+
cost_usd: number;
|
|
195
|
+
agent: string;
|
|
196
|
+
}>>;
|
|
197
|
+
machines(): Promise<MachineInfo[]>;
|
|
198
|
+
fleet(period: Period): Promise<FleetSummary>;
|
|
199
|
+
billingSummary(period: Period): Promise<{
|
|
200
|
+
total_usd: number;
|
|
201
|
+
by_provider: Record<string, number>;
|
|
202
|
+
}>;
|
|
203
|
+
billingDiff(period: Period): Promise<BillingDiffSummary>;
|
|
204
|
+
usage(period: Period, agent?: Agent): Promise<unknown>;
|
|
205
|
+
savings(period: Period, agent?: Agent): Promise<unknown>;
|
|
206
|
+
listBudgets(): Promise<BudgetStatus[]>;
|
|
207
|
+
listGoals(): Promise<GoalStatus[]>;
|
|
208
|
+
listPricing(): Promise<DbModelPricing[]>;
|
|
209
|
+
listSubscriptions(): Promise<Subscription[]>;
|
|
210
|
+
listProjects(): Promise<ProjectBreakdown[]>;
|
|
211
|
+
brief(query?: BriefQuery): Promise<EconomyBrief>;
|
|
212
|
+
projectDetail(nameOrPath: string): Promise<ProjectDetail | null>;
|
|
213
|
+
exportRows(type: ExportType, period: string): Promise<Array<Record<string, unknown>>>;
|
|
214
|
+
rangeStats(from: string, to: string): Promise<RangeStats>;
|
|
215
|
+
forecast(): Promise<ForecastData>;
|
|
216
|
+
efficiency(): Promise<ModelEfficiency[]>;
|
|
217
|
+
recentRequests(since: string): Promise<EconomyRequest[]>;
|
|
218
|
+
estimate(input: EstimateInput): Promise<number>;
|
|
219
|
+
setBudget(input: BudgetInput): Promise<string>;
|
|
220
|
+
removeBudget(id: string): Promise<void>;
|
|
221
|
+
setGoal(input: GoalInput): Promise<void>;
|
|
222
|
+
removeGoal(id: string): Promise<void>;
|
|
223
|
+
setPricing(input: PricingInput): Promise<void>;
|
|
224
|
+
removePricing(model: string): Promise<void>;
|
|
225
|
+
setSubscription(input: SubscriptionInput): Promise<Subscription>;
|
|
226
|
+
removeSubscription(id: string): Promise<void>;
|
|
227
|
+
addProject(path: string, name: string): Promise<void>;
|
|
228
|
+
renameProject(path: string, name: string): Promise<void>;
|
|
229
|
+
removeProject(path: string): Promise<void>;
|
|
230
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
231
|
+
}
|
|
232
|
+
export declare class ApiStore implements EconomyStore {
|
|
233
|
+
private readonly cloud;
|
|
234
|
+
readonly transport: "cloud-http";
|
|
235
|
+
constructor(cloud: ActiveEconomyCloudStorage);
|
|
236
|
+
summary(period: Period, machine?: string): Promise<CostSummary>;
|
|
237
|
+
sessions(filter: {
|
|
238
|
+
agent?: Agent;
|
|
239
|
+
project?: string;
|
|
240
|
+
account?: string;
|
|
241
|
+
machine?: string;
|
|
242
|
+
limit?: number;
|
|
243
|
+
since?: string;
|
|
244
|
+
search?: string;
|
|
245
|
+
}): Promise<EconomySession[]>;
|
|
246
|
+
topSessions(n: number, agent?: Agent, since?: string): Promise<EconomySession[]>;
|
|
247
|
+
sessionDetail(id: string): Promise<SessionDetail | null>;
|
|
248
|
+
modelBreakdown(query?: BreakdownQuery): Promise<ModelBreakdown[]>;
|
|
249
|
+
agentBreakdown(query?: BreakdownQuery): Promise<AgentBreakdown[]>;
|
|
250
|
+
projectBreakdown(query?: BreakdownQuery): Promise<ProjectBreakdown[]>;
|
|
251
|
+
accountBreakdown(query?: BreakdownQuery): Promise<AccountBreakdown[]>;
|
|
252
|
+
costCenterBreakdown(query?: CostCenterQuery): Promise<CostCenterBreakdown[]>;
|
|
253
|
+
accounts(period: Period): Promise<AccountBreakdown[]>;
|
|
254
|
+
daily(days: number, machine?: string): Promise<Array<{
|
|
255
|
+
date: string;
|
|
256
|
+
cost_usd: number;
|
|
257
|
+
agent: string;
|
|
258
|
+
}>>;
|
|
259
|
+
machines(): Promise<MachineInfo[]>;
|
|
260
|
+
fleet(period: Period): Promise<FleetSummary>;
|
|
261
|
+
billingSummary(period: Period): Promise<{
|
|
262
|
+
total_usd: number;
|
|
263
|
+
by_provider: Record<string, number>;
|
|
264
|
+
}>;
|
|
265
|
+
billingDiff(period: Period): Promise<BillingDiffSummary>;
|
|
266
|
+
usage(period: Period, agent?: Agent): Promise<unknown>;
|
|
267
|
+
savings(period: Period, agent?: Agent): Promise<unknown>;
|
|
268
|
+
listBudgets(): Promise<BudgetStatus[]>;
|
|
269
|
+
listGoals(): Promise<GoalStatus[]>;
|
|
270
|
+
listPricing(): Promise<DbModelPricing[]>;
|
|
271
|
+
listSubscriptions(): Promise<Subscription[]>;
|
|
272
|
+
listProjects(): Promise<ProjectBreakdown[]>;
|
|
273
|
+
brief(query?: BriefQuery): Promise<EconomyBrief>;
|
|
274
|
+
projectDetail(nameOrPath: string): Promise<ProjectDetail | null>;
|
|
275
|
+
exportRows(type: ExportType, period: string): Promise<Array<Record<string, unknown>>>;
|
|
276
|
+
rangeStats(from: string, to: string): Promise<RangeStats>;
|
|
277
|
+
forecast(): Promise<ForecastData>;
|
|
278
|
+
efficiency(): Promise<ModelEfficiency[]>;
|
|
279
|
+
recentRequests(since: string): Promise<EconomyRequest[]>;
|
|
280
|
+
estimate(input: EstimateInput): Promise<number>;
|
|
281
|
+
setBudget(input: BudgetInput): Promise<string>;
|
|
282
|
+
removeBudget(id: string): Promise<void>;
|
|
283
|
+
setGoal(input: GoalInput): Promise<void>;
|
|
284
|
+
removeGoal(id: string): Promise<void>;
|
|
285
|
+
setPricing(input: PricingInput): Promise<void>;
|
|
286
|
+
removePricing(model: string): Promise<void>;
|
|
287
|
+
setSubscription(input: SubscriptionInput): Promise<Subscription>;
|
|
288
|
+
removeSubscription(id: string): Promise<void>;
|
|
289
|
+
addProject(path: string, name: string): Promise<void>;
|
|
290
|
+
renameProject(path: string, name: string): Promise<void>;
|
|
291
|
+
removeProject(path: string): Promise<void>;
|
|
292
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Resolve the active {@link EconomyStore} for the current environment. Returns an
|
|
296
|
+
* {@link ApiStore} when the client-flip contract resolves to cloud-http
|
|
297
|
+
* (self_hosted/cloud), else a {@link LocalStore}. Throws if cloud was requested
|
|
298
|
+
* but is misconfigured (so callers can never silently read the wrong dataset).
|
|
299
|
+
*/
|
|
300
|
+
export declare function getStore(env?: NodeJS.ProcessEnv): EconomyStore;
|
|
301
|
+
/** True when the resolved store is the cloud HTTP transport (skips local sync). */
|
|
302
|
+
export declare function isCloudStore(env?: NodeJS.ProcessEnv): boolean;
|
|
303
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
import { ingestClaude, ingestTakumi } from '../ingest/claude.js';
|
|
3
|
+
import { ingestCodex } from '../ingest/codex.js';
|
|
4
|
+
import { ingestGemini } from '../ingest/gemini.js';
|
|
5
|
+
import { ingestOpenCode } from '../ingest/opencode.js';
|
|
6
|
+
import { ingestCursor } from '../ingest/cursor.js';
|
|
7
|
+
import { ingestPi } from '../ingest/pi.js';
|
|
8
|
+
import { ingestHermes } from '../ingest/hermes.js';
|
|
9
|
+
import { ingestLoops } from '../ingest/loops.js';
|
|
10
|
+
import { ingestClaudeQuota } from '../ingest/claude-quota.js';
|
|
11
|
+
import { ingestCodexQuota } from '../ingest/codex-quota.js';
|
|
12
|
+
import type { SyncOptions } from '../types/index.js';
|
|
13
|
+
export interface SyncAllResult {
|
|
14
|
+
claude?: Awaited<ReturnType<typeof ingestClaude>>;
|
|
15
|
+
takumi?: Awaited<ReturnType<typeof ingestTakumi>>;
|
|
16
|
+
codex?: Awaited<ReturnType<typeof ingestCodex>>;
|
|
17
|
+
gemini?: Awaited<ReturnType<typeof ingestGemini>>;
|
|
18
|
+
opencode?: Awaited<ReturnType<typeof ingestOpenCode>>;
|
|
19
|
+
cursor?: Awaited<ReturnType<typeof ingestCursor>>;
|
|
20
|
+
pi?: Awaited<ReturnType<typeof ingestPi>>;
|
|
21
|
+
hermes?: Awaited<ReturnType<typeof ingestHermes>>;
|
|
22
|
+
loops?: Awaited<ReturnType<typeof ingestLoops>>;
|
|
23
|
+
claudeQuota?: Awaited<ReturnType<typeof ingestClaudeQuota>>;
|
|
24
|
+
codexQuota?: Awaited<ReturnType<typeof ingestCodexQuota>>;
|
|
25
|
+
deduped: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function syncAll(db: Database, opts?: SyncOptions): Promise<SyncAllResult>;
|
|
28
|
+
//# sourceMappingURL=sync-all.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-all.d.ts","sourceRoot":"","sources":["../../src/lib/sync-all.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;IACjD,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAA;IACzD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4B1F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SqliteAdapter as Database } from '../db/sqlite-adapter.js';
|
|
2
|
+
import type { ZeroCostModelBreakdown } from '../types/index.js';
|
|
3
|
+
/** Tag rows that carry no machine_id with the current machine id. */
|
|
4
|
+
export declare function backfillMachineId(db: Database): {
|
|
5
|
+
requests: number;
|
|
6
|
+
sessions: number;
|
|
7
|
+
};
|
|
8
|
+
export interface RecalculateResult {
|
|
9
|
+
fixed: number;
|
|
10
|
+
total: number;
|
|
11
|
+
buckets: ZeroCostModelBreakdown[];
|
|
12
|
+
}
|
|
13
|
+
/** Re-price zero-cost requests from the pricing table; re-rolls touched sessions. */
|
|
14
|
+
export declare function recalculateZeroCostRequests(db: Database): Promise<RecalculateResult>;
|
|
15
|
+
//# sourceMappingURL=sync-maintenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-maintenance.d.ts","sourceRoot":"","sources":["../../src/lib/sync-maintenance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKtF;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC;AAED,qFAAqF;AACrF,wBAAsB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsC1F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-paths.d.ts","sourceRoot":"","sources":["../../src/lib/watch-paths.ts"],"names":[],"mappings":"AAGA,+DAA+D;AAC/D,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAaxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/lib/webhooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CtE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DEFAULT_MCP_HTTP_PORT, MCP_NAME } from './server.js';
|
|
2
|
+
export { DEFAULT_MCP_HTTP_PORT, MCP_NAME };
|
|
3
|
+
export declare const MCP_HTTP_IDLE_TIMEOUT_SECONDS = 0;
|
|
4
|
+
export declare function isHttpMode(argv?: string[]): boolean;
|
|
5
|
+
export declare function isStdioMode(argv?: string[]): boolean;
|
|
6
|
+
export declare function resolveHttpPort(argv?: string[]): number;
|
|
7
|
+
export declare function handleMcpHttpRequest(req: Request): Promise<Response>;
|
|
8
|
+
export interface StartHttpServerOptions {
|
|
9
|
+
port?: number;
|
|
10
|
+
hostname?: string;
|
|
11
|
+
log?: (message: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function startHttpServer(options?: StartHttpServerOptions): ReturnType<typeof Bun.serve>;
|
|
14
|
+
//# sourceMappingURL=http.d.ts.map
|