@hasna/economy 0.3.0 → 0.3.2
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/cli/index.js +81 -38
- package/dist/db/database.d.ts +9 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/index.js +67 -0
- package/dist/lib/store/index.d.ts +12 -0
- package/dist/lib/store/index.d.ts.map +1 -1
- package/dist/mcp/index.js +31 -4
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/server/index.js +25 -0
- package/dist/server/serve.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -574,6 +574,7 @@ __export(exports_database, {
|
|
|
574
574
|
listMachineRegistry: () => listMachineRegistry,
|
|
575
575
|
listGoals: () => listGoals,
|
|
576
576
|
listBudgets: () => listBudgets,
|
|
577
|
+
insertFeedback: () => insertFeedback,
|
|
577
578
|
getSessionDetail: () => getSessionDetail,
|
|
578
579
|
getProject: () => getProject,
|
|
579
580
|
getModelPricing: () => getModelPricing,
|
|
@@ -1739,6 +1740,9 @@ function setIngestState(db, source, key, value) {
|
|
|
1739
1740
|
function queryRequestsSince(db, since) {
|
|
1740
1741
|
return db.prepare(`SELECT * FROM requests WHERE timestamp > ? ORDER BY timestamp ASC`).all(since);
|
|
1741
1742
|
}
|
|
1743
|
+
function insertFeedback(db, record) {
|
|
1744
|
+
db.prepare(`INSERT INTO feedback (message, email, category, version, machine_id) VALUES (?, ?, ?, ?, ?)`).run(record.message, record.email ?? null, record.category ?? "general", record.version ?? null, record.machine_id ?? null);
|
|
1745
|
+
}
|
|
1742
1746
|
function upsertBillingDaily(db, row) {
|
|
1743
1747
|
db.prepare(`
|
|
1744
1748
|
INSERT OR REPLACE INTO billing_daily (date, provider, description, cost_usd, updated_at)
|
|
@@ -2173,6 +2177,24 @@ var numOr = (v, d = 0) => {
|
|
|
2173
2177
|
}, strOr = (v, d = "") => v == null ? d : String(v);
|
|
2174
2178
|
var init_database = () => {};
|
|
2175
2179
|
|
|
2180
|
+
// src/lib/package-metadata.ts
|
|
2181
|
+
import { readFileSync } from "fs";
|
|
2182
|
+
function getPackageMetadata() {
|
|
2183
|
+
if (cachedMetadata)
|
|
2184
|
+
return cachedMetadata;
|
|
2185
|
+
const raw = readFileSync(new URL("../../package.json", import.meta.url), "utf8");
|
|
2186
|
+
const parsed = JSON.parse(raw);
|
|
2187
|
+
cachedMetadata = {
|
|
2188
|
+
name: parsed.name ?? "@hasna/economy",
|
|
2189
|
+
version: parsed.version ?? "0.0.0"
|
|
2190
|
+
};
|
|
2191
|
+
return cachedMetadata;
|
|
2192
|
+
}
|
|
2193
|
+
var cachedMetadata = null, packageMetadata;
|
|
2194
|
+
var init_package_metadata = __esm(() => {
|
|
2195
|
+
packageMetadata = getPackageMetadata();
|
|
2196
|
+
});
|
|
2197
|
+
|
|
2176
2198
|
// src/lib/savings.ts
|
|
2177
2199
|
function periodWhere2(period, column) {
|
|
2178
2200
|
switch (period) {
|
|
@@ -3774,6 +3796,15 @@ class LocalStore {
|
|
|
3774
3796
|
async removeProject(path) {
|
|
3775
3797
|
deleteProject(this.db(), path);
|
|
3776
3798
|
}
|
|
3799
|
+
async sendFeedback(input) {
|
|
3800
|
+
insertFeedback(this.db(), {
|
|
3801
|
+
message: input.message,
|
|
3802
|
+
email: input.email ?? null,
|
|
3803
|
+
category: input.category ?? "general",
|
|
3804
|
+
version: packageMetadata.version,
|
|
3805
|
+
machine_id: getMachineId()
|
|
3806
|
+
});
|
|
3807
|
+
}
|
|
3777
3808
|
}
|
|
3778
3809
|
function q(params) {
|
|
3779
3810
|
const out = {};
|
|
@@ -3948,6 +3979,13 @@ class ApiStore {
|
|
|
3948
3979
|
async removeProject(path) {
|
|
3949
3980
|
await this.cloud.client.delete("project-registry", path);
|
|
3950
3981
|
}
|
|
3982
|
+
async sendFeedback(input) {
|
|
3983
|
+
await this.cloud.client.create("feedback", {
|
|
3984
|
+
message: input.message,
|
|
3985
|
+
...input.email ? { email: input.email } : {},
|
|
3986
|
+
category: input.category ?? "general"
|
|
3987
|
+
});
|
|
3988
|
+
}
|
|
3951
3989
|
}
|
|
3952
3990
|
function getStore(env = process.env) {
|
|
3953
3991
|
const cloud = economyCloudStorage(env);
|
|
@@ -3959,6 +3997,7 @@ function isCloudStore(env = process.env) {
|
|
|
3959
3997
|
var init_store = __esm(() => {
|
|
3960
3998
|
init_database();
|
|
3961
3999
|
init_pricing();
|
|
4000
|
+
init_package_metadata();
|
|
3962
4001
|
init_billing_diff();
|
|
3963
4002
|
init_brief();
|
|
3964
4003
|
init_cloud_storage();
|
|
@@ -4295,7 +4334,7 @@ var init_accounts = __esm(() => {
|
|
|
4295
4334
|
});
|
|
4296
4335
|
|
|
4297
4336
|
// src/ingest/claude.ts
|
|
4298
|
-
import { readdirSync as readdirSync2, readFileSync as
|
|
4337
|
+
import { readdirSync as readdirSync2, readFileSync as readFileSync3, existsSync as existsSync4, statSync as statSync2 } from "fs";
|
|
4299
4338
|
import { homedir as homedir3 } from "os";
|
|
4300
4339
|
import { join as join6, basename } from "path";
|
|
4301
4340
|
function autoDetectProject(cwd, projects) {
|
|
@@ -4355,7 +4394,7 @@ async function ingestJsonlProjects(db, projectsDir, agentName, verbose = false)
|
|
|
4355
4394
|
continue;
|
|
4356
4395
|
let lines;
|
|
4357
4396
|
try {
|
|
4358
|
-
lines =
|
|
4397
|
+
lines = readFileSync3(filePath, "utf-8").split(`
|
|
4359
4398
|
`).filter((l) => l.trim());
|
|
4360
4399
|
} catch {
|
|
4361
4400
|
continue;
|
|
@@ -4481,7 +4520,7 @@ var init_claude = __esm(() => {
|
|
|
4481
4520
|
});
|
|
4482
4521
|
|
|
4483
4522
|
// src/ingest/codex.ts
|
|
4484
|
-
import { existsSync as existsSync5, readFileSync as
|
|
4523
|
+
import { existsSync as existsSync5, readFileSync as readFileSync4 } from "fs";
|
|
4485
4524
|
import { homedir as homedir4 } from "os";
|
|
4486
4525
|
import { join as join7, basename as basename2 } from "path";
|
|
4487
4526
|
import { Database as BunDatabase } from "bun:sqlite";
|
|
@@ -4528,7 +4567,7 @@ function readCodexModel(configPath = codexConfigPath()) {
|
|
|
4528
4567
|
if (!existsSync5(configPath))
|
|
4529
4568
|
return "gpt-5-codex";
|
|
4530
4569
|
try {
|
|
4531
|
-
const content =
|
|
4570
|
+
const content = readFileSync4(configPath, "utf-8");
|
|
4532
4571
|
const match = content.match(/^model\s*=\s*"([^"]+)"/m);
|
|
4533
4572
|
return match?.[1] ?? "gpt-5-codex";
|
|
4534
4573
|
} catch {
|
|
@@ -4571,7 +4610,7 @@ function readTokenEvents(rolloutPath) {
|
|
|
4571
4610
|
const fallbackUsages = new Map;
|
|
4572
4611
|
let fallbackTimestamp;
|
|
4573
4612
|
let aggregate = null;
|
|
4574
|
-
for (const line of
|
|
4613
|
+
for (const line of readFileSync4(rolloutPath, "utf-8").split(`
|
|
4575
4614
|
`)) {
|
|
4576
4615
|
if (!line.trim())
|
|
4577
4616
|
continue;
|
|
@@ -4736,7 +4775,7 @@ var init_codex = __esm(() => {
|
|
|
4736
4775
|
});
|
|
4737
4776
|
|
|
4738
4777
|
// src/ingest/gemini.ts
|
|
4739
|
-
import { readdirSync as readdirSync3, readFileSync as
|
|
4778
|
+
import { readdirSync as readdirSync3, readFileSync as readFileSync5, existsSync as existsSync6, statSync as statSync3 } from "fs";
|
|
4740
4779
|
import { homedir as homedir5 } from "os";
|
|
4741
4780
|
import { join as join8, basename as basename3 } from "path";
|
|
4742
4781
|
function geminiTmpDir() {
|
|
@@ -4774,7 +4813,7 @@ function projectRoot(projectDir, chatData) {
|
|
|
4774
4813
|
const rootFile = join8(projectDir, ".project_root");
|
|
4775
4814
|
try {
|
|
4776
4815
|
if (existsSync6(rootFile))
|
|
4777
|
-
return
|
|
4816
|
+
return readFileSync5(rootFile, "utf-8").trim();
|
|
4778
4817
|
} catch {}
|
|
4779
4818
|
return "";
|
|
4780
4819
|
}
|
|
@@ -4815,7 +4854,7 @@ async function ingestGemini(db, verbose) {
|
|
|
4815
4854
|
continue;
|
|
4816
4855
|
let chatData;
|
|
4817
4856
|
try {
|
|
4818
|
-
chatData = JSON.parse(
|
|
4857
|
+
chatData = JSON.parse(readFileSync5(filePath, "utf-8"));
|
|
4819
4858
|
} catch {
|
|
4820
4859
|
continue;
|
|
4821
4860
|
}
|
|
@@ -4899,7 +4938,7 @@ var init_gemini = __esm(() => {
|
|
|
4899
4938
|
});
|
|
4900
4939
|
|
|
4901
4940
|
// src/ingest/opencode.ts
|
|
4902
|
-
import { existsSync as existsSync7, readFileSync as
|
|
4941
|
+
import { existsSync as existsSync7, readFileSync as readFileSync6, readdirSync as readdirSync4, statSync as statSync4 } from "fs";
|
|
4903
4942
|
import { homedir as homedir6 } from "os";
|
|
4904
4943
|
import { join as join9 } from "path";
|
|
4905
4944
|
function walkJsonFiles(dir, acc = []) {
|
|
@@ -4941,7 +4980,7 @@ async function ingestOpenCode(db, verbose = false) {
|
|
|
4941
4980
|
continue;
|
|
4942
4981
|
let parsed;
|
|
4943
4982
|
try {
|
|
4944
|
-
parsed = JSON.parse(
|
|
4983
|
+
parsed = JSON.parse(readFileSync6(file, "utf-8"));
|
|
4945
4984
|
} catch {
|
|
4946
4985
|
continue;
|
|
4947
4986
|
}
|
|
@@ -5137,7 +5176,7 @@ var init_cursor = __esm(() => {
|
|
|
5137
5176
|
});
|
|
5138
5177
|
|
|
5139
5178
|
// src/ingest/pi.ts
|
|
5140
|
-
import { existsSync as existsSync8, readFileSync as
|
|
5179
|
+
import { existsSync as existsSync8, readFileSync as readFileSync7, readdirSync as readdirSync5, statSync as statSync5 } from "fs";
|
|
5141
5180
|
import { homedir as homedir7 } from "os";
|
|
5142
5181
|
import { join as join10 } from "path";
|
|
5143
5182
|
function walkSessions(dir, acc = []) {
|
|
@@ -5166,7 +5205,7 @@ async function ingestPi(db, verbose = false) {
|
|
|
5166
5205
|
continue;
|
|
5167
5206
|
let data;
|
|
5168
5207
|
try {
|
|
5169
|
-
data = JSON.parse(
|
|
5208
|
+
data = JSON.parse(readFileSync7(file, "utf-8"));
|
|
5170
5209
|
} catch {
|
|
5171
5210
|
continue;
|
|
5172
5211
|
}
|
|
@@ -5330,7 +5369,7 @@ var init_hermes = __esm(() => {
|
|
|
5330
5369
|
});
|
|
5331
5370
|
|
|
5332
5371
|
// src/ingest/claude-quota.ts
|
|
5333
|
-
import { existsSync as existsSync10, readFileSync as
|
|
5372
|
+
import { existsSync as existsSync10, readFileSync as readFileSync8 } from "fs";
|
|
5334
5373
|
function readClaudeToken() {
|
|
5335
5374
|
const fromEnv = process.env["CLAUDE_OAUTH_TOKEN"] ?? process.env["ANTHROPIC_OAUTH_TOKEN"];
|
|
5336
5375
|
if (fromEnv)
|
|
@@ -5338,7 +5377,7 @@ function readClaudeToken() {
|
|
|
5338
5377
|
if (!existsSync10(CREDENTIALS_PATH))
|
|
5339
5378
|
return null;
|
|
5340
5379
|
try {
|
|
5341
|
-
const creds = JSON.parse(
|
|
5380
|
+
const creds = JSON.parse(readFileSync8(CREDENTIALS_PATH, "utf-8"));
|
|
5342
5381
|
const oauth = creds.claudeAiOauth;
|
|
5343
5382
|
if (!oauth?.accessToken)
|
|
5344
5383
|
return null;
|
|
@@ -5479,7 +5518,7 @@ var init_claude_quota = __esm(() => {
|
|
|
5479
5518
|
});
|
|
5480
5519
|
|
|
5481
5520
|
// src/ingest/codex-quota.ts
|
|
5482
|
-
import { existsSync as existsSync11, readFileSync as
|
|
5521
|
+
import { existsSync as existsSync11, readFileSync as readFileSync9 } from "fs";
|
|
5483
5522
|
function readCodexAuth() {
|
|
5484
5523
|
const fromEnv = process.env["CODEX_OAUTH_TOKEN"];
|
|
5485
5524
|
if (fromEnv)
|
|
@@ -5488,7 +5527,7 @@ function readCodexAuth() {
|
|
|
5488
5527
|
if (!existsSync11(authPath))
|
|
5489
5528
|
return null;
|
|
5490
5529
|
try {
|
|
5491
|
-
const auth = JSON.parse(
|
|
5530
|
+
const auth = JSON.parse(readFileSync9(authPath, "utf-8"));
|
|
5492
5531
|
const token = auth.tokens?.access_token;
|
|
5493
5532
|
if (!token)
|
|
5494
5533
|
return null;
|
|
@@ -5670,7 +5709,7 @@ __export(exports_billing, {
|
|
|
5670
5709
|
syncGeminiBilling: () => syncGeminiBilling,
|
|
5671
5710
|
syncAnthropicBilling: () => syncAnthropicBilling
|
|
5672
5711
|
});
|
|
5673
|
-
import { readFileSync as
|
|
5712
|
+
import { readFileSync as readFileSync10 } from "fs";
|
|
5674
5713
|
function getAnthropicAdminKey() {
|
|
5675
5714
|
return process.env["HASNAXYZ_ANTHROPIC_LIVE_ADMIN_API_KEY"] ?? process.env["ANTHROPIC_ADMIN_API_KEY"] ?? null;
|
|
5676
5715
|
}
|
|
@@ -5897,7 +5936,7 @@ async function syncGeminiBilling(db, opts = {}) {
|
|
|
5897
5936
|
const start = opts.fromDate ? new Date(opts.fromDate) : new Date(end.getTime() - days * 24 * 3600000);
|
|
5898
5937
|
const fromDateStr = toISODate(start);
|
|
5899
5938
|
const toDateStr = toISODate(end);
|
|
5900
|
-
const rows = parseBillingRows(
|
|
5939
|
+
const rows = parseBillingRows(readFileSync10(exportPath, "utf-8"));
|
|
5901
5940
|
clearBillingRange(db, "gemini", fromDateStr, toDateStr);
|
|
5902
5941
|
const updatedAt = new Date().toISOString();
|
|
5903
5942
|
let totalUsd = 0;
|
|
@@ -5923,24 +5962,6 @@ var init_billing = __esm(() => {
|
|
|
5923
5962
|
init_database();
|
|
5924
5963
|
});
|
|
5925
5964
|
|
|
5926
|
-
// src/lib/package-metadata.ts
|
|
5927
|
-
import { readFileSync as readFileSync10 } from "fs";
|
|
5928
|
-
function getPackageMetadata() {
|
|
5929
|
-
if (cachedMetadata)
|
|
5930
|
-
return cachedMetadata;
|
|
5931
|
-
const raw = readFileSync10(new URL("../../package.json", import.meta.url), "utf8");
|
|
5932
|
-
const parsed = JSON.parse(raw);
|
|
5933
|
-
cachedMetadata = {
|
|
5934
|
-
name: parsed.name ?? "@hasna/economy",
|
|
5935
|
-
version: parsed.version ?? "0.0.0"
|
|
5936
|
-
};
|
|
5937
|
-
return cachedMetadata;
|
|
5938
|
-
}
|
|
5939
|
-
var cachedMetadata = null, packageMetadata;
|
|
5940
|
-
var init_package_metadata = __esm(() => {
|
|
5941
|
-
packageMetadata = getPackageMetadata();
|
|
5942
|
-
});
|
|
5943
|
-
|
|
5944
5965
|
// src/lib/open-projects.ts
|
|
5945
5966
|
var exports_open_projects = {};
|
|
5946
5967
|
__export(exports_open_projects, {
|
|
@@ -8151,6 +8172,8 @@ function optionalAgent(value) {
|
|
|
8151
8172
|
function requiredScopesForRequest(method, path) {
|
|
8152
8173
|
if (method === "POST" && path === "/api/ingest")
|
|
8153
8174
|
return [ECONOMY_WRITE_SCOPE];
|
|
8175
|
+
if (method === "POST" && path === "/api/feedback")
|
|
8176
|
+
return [ECONOMY_WRITE_SCOPE];
|
|
8154
8177
|
return;
|
|
8155
8178
|
}
|
|
8156
8179
|
function stringArray(value) {
|
|
@@ -8621,6 +8644,26 @@ function createHandler(db, options = {}) {
|
|
|
8621
8644
|
deleteGoal(db, decodeURIComponent(goalMatch[1]));
|
|
8622
8645
|
return ok({ ok: true });
|
|
8623
8646
|
}
|
|
8647
|
+
if (path === "/api/feedback" && method === "POST") {
|
|
8648
|
+
const body = await jsonBody(req);
|
|
8649
|
+
if (!body)
|
|
8650
|
+
return err("invalid JSON body");
|
|
8651
|
+
const message = optionalString(body["message"])?.trim();
|
|
8652
|
+
if (!message)
|
|
8653
|
+
return err("message is required");
|
|
8654
|
+
const email = optionalString(body["email"])?.trim() || null;
|
|
8655
|
+
const rawCategory = optionalString(body["category"])?.trim() || "general";
|
|
8656
|
+
if (!["bug", "feature", "general"].includes(rawCategory))
|
|
8657
|
+
return err("category must be bug, feature, or general");
|
|
8658
|
+
insertFeedback(db, {
|
|
8659
|
+
message,
|
|
8660
|
+
email,
|
|
8661
|
+
category: rawCategory,
|
|
8662
|
+
version: packageMetadata.version,
|
|
8663
|
+
machine_id: getMachineId()
|
|
8664
|
+
});
|
|
8665
|
+
return ok({ ok: true });
|
|
8666
|
+
}
|
|
8624
8667
|
return err("Not found", 404);
|
|
8625
8668
|
};
|
|
8626
8669
|
}
|
|
@@ -9030,7 +9073,7 @@ ${goals.map((g) => `- ${g.period} goal (${g.project_path ?? g.agent ?? "global"}
|
|
|
9030
9073
|
|
|
9031
9074
|
// src/lib/model-config.ts
|
|
9032
9075
|
init_database();
|
|
9033
|
-
import { existsSync as existsSync2, readFileSync, writeFileSync, mkdirSync as mkdirSync2 } from "fs";
|
|
9076
|
+
import { existsSync as existsSync2, readFileSync as readFileSync2, writeFileSync, mkdirSync as mkdirSync2 } from "fs";
|
|
9034
9077
|
import { dirname, join as join2 } from "path";
|
|
9035
9078
|
var DEFAULT_MODEL = "gpt-4o-mini";
|
|
9036
9079
|
function getModelConfigPath() {
|
|
@@ -9040,7 +9083,7 @@ function loadConfig() {
|
|
|
9040
9083
|
try {
|
|
9041
9084
|
const configPath = getModelConfigPath();
|
|
9042
9085
|
if (existsSync2(configPath)) {
|
|
9043
|
-
return JSON.parse(
|
|
9086
|
+
return JSON.parse(readFileSync2(configPath, "utf-8"));
|
|
9044
9087
|
}
|
|
9045
9088
|
} catch {}
|
|
9046
9089
|
return {};
|
package/dist/db/database.d.ts
CHANGED
|
@@ -60,6 +60,15 @@ export declare function getGoalStatuses(db: Database): GoalStatus[];
|
|
|
60
60
|
export declare function getIngestState(db: Database, source: string, key: string): string | null;
|
|
61
61
|
export declare function setIngestState(db: Database, source: string, key: string, value: string): void;
|
|
62
62
|
export declare function queryRequestsSince(db: Database, since: string): EconomyRequest[];
|
|
63
|
+
export interface FeedbackRecord {
|
|
64
|
+
message: string;
|
|
65
|
+
email?: string | null;
|
|
66
|
+
category?: string | null;
|
|
67
|
+
version?: string | null;
|
|
68
|
+
machine_id?: string | null;
|
|
69
|
+
}
|
|
70
|
+
/** Persist a feedback row. Used by both the LocalStore and the serve endpoint. */
|
|
71
|
+
export declare function insertFeedback(db: Database, record: FeedbackRecord): void;
|
|
63
72
|
export interface BillingDaily {
|
|
64
73
|
date: string;
|
|
65
74
|
provider: 'anthropic' | 'openai' | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -534,9 +534,41 @@ var init_pricing = __esm(() => {
|
|
|
534
534
|
|
|
535
535
|
// src/db/database.ts
|
|
536
536
|
import { SqliteAdapter as Database } from "@hasna/cloud";
|
|
537
|
+
import { execFileSync } from "child_process";
|
|
537
538
|
import { copyFileSync, existsSync, mkdirSync, readdirSync, statSync } from "fs";
|
|
539
|
+
import { hostname, platform } from "os";
|
|
538
540
|
import { homedir } from "os";
|
|
539
541
|
import { join } from "path";
|
|
542
|
+
function normalizeMachineId(value) {
|
|
543
|
+
const id = value?.trim().toLowerCase().split(".")[0];
|
|
544
|
+
return id && id.length > 0 ? id : null;
|
|
545
|
+
}
|
|
546
|
+
function macHostMachineId() {
|
|
547
|
+
if (platform() !== "darwin")
|
|
548
|
+
return null;
|
|
549
|
+
for (const key of ["LocalHostName", "ComputerName", "HostName"]) {
|
|
550
|
+
try {
|
|
551
|
+
const value = execFileSync("/usr/sbin/scutil", ["--get", key], {
|
|
552
|
+
encoding: "utf8",
|
|
553
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
554
|
+
timeout: 1000
|
|
555
|
+
});
|
|
556
|
+
const id = normalizeMachineId(value);
|
|
557
|
+
if (id && id !== "mac" && id !== "localhost")
|
|
558
|
+
return id;
|
|
559
|
+
} catch {}
|
|
560
|
+
}
|
|
561
|
+
return null;
|
|
562
|
+
}
|
|
563
|
+
function getMachineId() {
|
|
564
|
+
const envMachine = normalizeMachineId(process.env["ECONOMY_MACHINE_ID"]);
|
|
565
|
+
if (envMachine)
|
|
566
|
+
return envMachine;
|
|
567
|
+
const hostMachine = normalizeMachineId(hostname()) ?? "unknown";
|
|
568
|
+
if (hostMachine === "mac" || hostMachine === "localhost")
|
|
569
|
+
return macHostMachineId() ?? hostMachine;
|
|
570
|
+
return hostMachine;
|
|
571
|
+
}
|
|
540
572
|
function getDataDir() {
|
|
541
573
|
const home = process.env["HOME"] || process.env["USERPROFILE"] || homedir();
|
|
542
574
|
const newDir = join(home, ".hasna", "economy");
|
|
@@ -1558,6 +1590,9 @@ function getGoalStatuses(db) {
|
|
|
1558
1590
|
function queryRequestsSince(db, since) {
|
|
1559
1591
|
return db.prepare(`SELECT * FROM requests WHERE timestamp > ? ORDER BY timestamp ASC`).all(since);
|
|
1560
1592
|
}
|
|
1593
|
+
function insertFeedback(db, record) {
|
|
1594
|
+
db.prepare(`INSERT INTO feedback (message, email, category, version, machine_id) VALUES (?, ?, ?, ?, ?)`).run(record.message, record.email ?? null, record.category ?? "general", record.version ?? null, record.machine_id ?? null);
|
|
1595
|
+
}
|
|
1561
1596
|
function queryBillingSummary(db, period) {
|
|
1562
1597
|
const where = period === "today" ? `date = DATE('now')` : period === "yesterday" ? `date = DATE('now', '-1 day')` : period === "week" ? `date >= DATE('now', 'weekday 0', '-7 days')` : period === "month" ? `date >= DATE('now', 'start of month')` : period === "year" ? `date >= DATE('now', 'start of year')` : "1=1";
|
|
1563
1598
|
const rows = db.prepare(`SELECT provider, SUM(cost_usd) as cost FROM billing_daily WHERE ${where} GROUP BY provider`).all();
|
|
@@ -1716,6 +1751,22 @@ init_database();
|
|
|
1716
1751
|
init_pricing();
|
|
1717
1752
|
import { randomUUID } from "crypto";
|
|
1718
1753
|
|
|
1754
|
+
// src/lib/package-metadata.ts
|
|
1755
|
+
import { readFileSync } from "fs";
|
|
1756
|
+
var cachedMetadata = null;
|
|
1757
|
+
function getPackageMetadata() {
|
|
1758
|
+
if (cachedMetadata)
|
|
1759
|
+
return cachedMetadata;
|
|
1760
|
+
const raw = readFileSync(new URL("../../package.json", import.meta.url), "utf8");
|
|
1761
|
+
const parsed = JSON.parse(raw);
|
|
1762
|
+
cachedMetadata = {
|
|
1763
|
+
name: parsed.name ?? "@hasna/economy",
|
|
1764
|
+
version: parsed.version ?? "0.0.0"
|
|
1765
|
+
};
|
|
1766
|
+
return cachedMetadata;
|
|
1767
|
+
}
|
|
1768
|
+
var packageMetadata = getPackageMetadata();
|
|
1769
|
+
|
|
1719
1770
|
// src/lib/savings.ts
|
|
1720
1771
|
function periodWhere2(period, column) {
|
|
1721
1772
|
switch (period) {
|
|
@@ -3292,6 +3343,15 @@ class LocalStore {
|
|
|
3292
3343
|
async removeProject(path) {
|
|
3293
3344
|
deleteProject(this.db(), path);
|
|
3294
3345
|
}
|
|
3346
|
+
async sendFeedback(input) {
|
|
3347
|
+
insertFeedback(this.db(), {
|
|
3348
|
+
message: input.message,
|
|
3349
|
+
email: input.email ?? null,
|
|
3350
|
+
category: input.category ?? "general",
|
|
3351
|
+
version: packageMetadata.version,
|
|
3352
|
+
machine_id: getMachineId()
|
|
3353
|
+
});
|
|
3354
|
+
}
|
|
3295
3355
|
}
|
|
3296
3356
|
function q(params) {
|
|
3297
3357
|
const out = {};
|
|
@@ -3466,6 +3526,13 @@ class ApiStore {
|
|
|
3466
3526
|
async removeProject(path) {
|
|
3467
3527
|
await this.cloud.client.delete("project-registry", path);
|
|
3468
3528
|
}
|
|
3529
|
+
async sendFeedback(input) {
|
|
3530
|
+
await this.cloud.client.create("feedback", {
|
|
3531
|
+
message: input.message,
|
|
3532
|
+
...input.email ? { email: input.email } : {},
|
|
3533
|
+
category: input.category ?? "general"
|
|
3534
|
+
});
|
|
3535
|
+
}
|
|
3469
3536
|
}
|
|
3470
3537
|
function getStore(env = process.env) {
|
|
3471
3538
|
const cloud = economyCloudStorage(env);
|
|
@@ -65,6 +65,13 @@ export interface EstimateInput {
|
|
|
65
65
|
cacheWrite1hTokens?: number;
|
|
66
66
|
cacheStorageTokenHours?: number;
|
|
67
67
|
}
|
|
68
|
+
/** Input for a feedback submission (backs `send_feedback`). The Store stamps the
|
|
69
|
+
* package version and machine id; the caller only supplies user-provided fields. */
|
|
70
|
+
export interface FeedbackInput {
|
|
71
|
+
message: string;
|
|
72
|
+
email?: string | null;
|
|
73
|
+
category?: 'bug' | 'feature' | 'general';
|
|
74
|
+
}
|
|
68
75
|
/** Create/update input for a subscription plan. */
|
|
69
76
|
export interface SubscriptionInput {
|
|
70
77
|
id?: string;
|
|
@@ -150,6 +157,9 @@ export interface EconomyStore {
|
|
|
150
157
|
addProject(path: string, name: string): Promise<void>;
|
|
151
158
|
renameProject(path: string, name: string): Promise<void>;
|
|
152
159
|
removeProject(path: string): Promise<void>;
|
|
160
|
+
/** Record user feedback (LocalStore -> local `feedback` table; ApiStore ->
|
|
161
|
+
* POST /v1/feedback on the shared cloud). */
|
|
162
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
153
163
|
}
|
|
154
164
|
export declare class LocalStore implements EconomyStore {
|
|
155
165
|
readonly transport: "local";
|
|
@@ -210,6 +220,7 @@ export declare class LocalStore implements EconomyStore {
|
|
|
210
220
|
addProject(path: string, name: string): Promise<void>;
|
|
211
221
|
renameProject(path: string, name: string): Promise<void>;
|
|
212
222
|
removeProject(path: string): Promise<void>;
|
|
223
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
213
224
|
}
|
|
214
225
|
export declare class ApiStore implements EconomyStore {
|
|
215
226
|
private readonly cloud;
|
|
@@ -270,6 +281,7 @@ export declare class ApiStore implements EconomyStore {
|
|
|
270
281
|
addProject(path: string, name: string): Promise<void>;
|
|
271
282
|
renameProject(path: string, name: string): Promise<void>;
|
|
272
283
|
removeProject(path: string): Promise<void>;
|
|
284
|
+
sendFeedback(input: FeedbackInput): Promise<void>;
|
|
273
285
|
}
|
|
274
286
|
/**
|
|
275
287
|
* Resolve the active {@link EconomyStore} for the current environment. Returns an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/store/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -1649,6 +1649,9 @@ function setIngestState(db, source, key, value) {
|
|
|
1649
1649
|
function queryRequestsSince(db, since) {
|
|
1650
1650
|
return db.prepare(`SELECT * FROM requests WHERE timestamp > ? ORDER BY timestamp ASC`).all(since);
|
|
1651
1651
|
}
|
|
1652
|
+
function insertFeedback(db, record) {
|
|
1653
|
+
db.prepare(`INSERT INTO feedback (message, email, category, version, machine_id) VALUES (?, ?, ?, ?, ?)`).run(record.message, record.email ?? null, record.category ?? "general", record.version ?? null, record.machine_id ?? null);
|
|
1654
|
+
}
|
|
1652
1655
|
function queryBillingSummary(db, period) {
|
|
1653
1656
|
const where = period === "today" ? `date = DATE('now')` : period === "yesterday" ? `date = DATE('now', '-1 day')` : period === "week" ? `date >= DATE('now', 'weekday 0', '-7 days')` : period === "month" ? `date >= DATE('now', 'start of month')` : period === "year" ? `date >= DATE('now', 'start of year')` : "1=1";
|
|
1654
1657
|
const rows = db.prepare(`SELECT provider, SUM(cost_usd) as cost FROM billing_daily WHERE ${where} GROUP BY provider`).all();
|
|
@@ -4927,6 +4930,15 @@ class LocalStore {
|
|
|
4927
4930
|
async removeProject(path) {
|
|
4928
4931
|
deleteProject(this.db(), path);
|
|
4929
4932
|
}
|
|
4933
|
+
async sendFeedback(input) {
|
|
4934
|
+
insertFeedback(this.db(), {
|
|
4935
|
+
message: input.message,
|
|
4936
|
+
email: input.email ?? null,
|
|
4937
|
+
category: input.category ?? "general",
|
|
4938
|
+
version: packageMetadata.version,
|
|
4939
|
+
machine_id: getMachineId()
|
|
4940
|
+
});
|
|
4941
|
+
}
|
|
4930
4942
|
}
|
|
4931
4943
|
function q(params) {
|
|
4932
4944
|
const out = {};
|
|
@@ -5101,6 +5113,13 @@ class ApiStore {
|
|
|
5101
5113
|
async removeProject(path) {
|
|
5102
5114
|
await this.cloud.client.delete("project-registry", path);
|
|
5103
5115
|
}
|
|
5116
|
+
async sendFeedback(input) {
|
|
5117
|
+
await this.cloud.client.create("feedback", {
|
|
5118
|
+
message: input.message,
|
|
5119
|
+
...input.email ? { email: input.email } : {},
|
|
5120
|
+
category: input.category ?? "general"
|
|
5121
|
+
});
|
|
5122
|
+
}
|
|
5104
5123
|
}
|
|
5105
5124
|
function getStore(env = process.env) {
|
|
5106
5125
|
const cloud = economyCloudStorage(env);
|
|
@@ -5114,8 +5133,14 @@ function isCloudStore(env = process.env) {
|
|
|
5114
5133
|
var MCP_NAME = "economy";
|
|
5115
5134
|
var DEFAULT_MCP_HTTP_PORT = 8860;
|
|
5116
5135
|
function buildServer() {
|
|
5117
|
-
|
|
5118
|
-
|
|
5136
|
+
let _db;
|
|
5137
|
+
const localDb = () => {
|
|
5138
|
+
if (!_db) {
|
|
5139
|
+
_db = openDatabase();
|
|
5140
|
+
ensurePricingSeeded(_db);
|
|
5141
|
+
}
|
|
5142
|
+
return _db;
|
|
5143
|
+
};
|
|
5119
5144
|
const store = getStore();
|
|
5120
5145
|
const server = new McpServer({
|
|
5121
5146
|
name: MCP_NAME,
|
|
@@ -5140,6 +5165,7 @@ function buildServer() {
|
|
|
5140
5165
|
"get_session_detail",
|
|
5141
5166
|
"get_usage",
|
|
5142
5167
|
"get_savings",
|
|
5168
|
+
"estimate_cost",
|
|
5143
5169
|
"list_subscriptions",
|
|
5144
5170
|
"set_subscription",
|
|
5145
5171
|
"remove_subscription",
|
|
@@ -5176,6 +5202,7 @@ function buildServer() {
|
|
|
5176
5202
|
get_session_detail: "session_id(prefix ok) -> per-request breakdown with model, tokens, cost",
|
|
5177
5203
|
get_usage: `period(today|week|month|year|all), agent?(${AGENTS.join("|")}) -> usage snapshots and all-machine summary`,
|
|
5178
5204
|
get_savings: `period(today|week|month|year|all), agent?(${AGENTS.join("|")}) -> subscription/API-equivalent savings`,
|
|
5205
|
+
estimate_cost: "model, input_tokens?, output_tokens? -> pre-flight cost estimate priced from the store pricing table",
|
|
5179
5206
|
list_subscriptions: "no params -> configured subscription plans and included usage",
|
|
5180
5207
|
set_subscription: `provider, plan, monthly_fee_usd?, included_usage_usd?, agent?(${AGENTS.join("|")}) -> create/update subscription plan`,
|
|
5181
5208
|
remove_subscription: "id -> delete subscription plan",
|
|
@@ -5425,7 +5452,7 @@ function buildServer() {
|
|
|
5425
5452
|
}
|
|
5426
5453
|
const selected = sources ?? "all";
|
|
5427
5454
|
const opts = selected === "all" ? {} : { [selected]: true };
|
|
5428
|
-
const result = await syncAll(
|
|
5455
|
+
const result = await syncAll(localDb(), opts);
|
|
5429
5456
|
return text(JSON.stringify(result, null, 2));
|
|
5430
5457
|
});
|
|
5431
5458
|
server.tool("get_usage", "Usage snapshots and fleet summary. period: today|week|month|year|all", { period: z.enum(["today", "week", "month", "year", "all"]).optional(), agent: z.enum(AGENTS).optional() }, async ({ period, agent }) => {
|
|
@@ -5530,7 +5557,7 @@ current machine: ${getMachineId()}`);
|
|
|
5530
5557
|
category: z.enum(["bug", "feature", "general"]).optional()
|
|
5531
5558
|
}, async ({ message, email, category }) => {
|
|
5532
5559
|
try {
|
|
5533
|
-
|
|
5560
|
+
await store.sendFeedback({ message, email, category });
|
|
5534
5561
|
return text("Feedback saved. Thank you!");
|
|
5535
5562
|
} catch (error) {
|
|
5536
5563
|
return textError(String(error));
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC,wBAAgB,WAAW,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC,wBAAgB,WAAW,IAAI,GAAG,CAqpBjC"}
|
package/dist/server/index.js
CHANGED
|
@@ -1519,6 +1519,9 @@ function setIngestState(db, source, key, value) {
|
|
|
1519
1519
|
function queryRequestsSince(db, since) {
|
|
1520
1520
|
return db.prepare(`SELECT * FROM requests WHERE timestamp > ? ORDER BY timestamp ASC`).all(since);
|
|
1521
1521
|
}
|
|
1522
|
+
function insertFeedback(db, record) {
|
|
1523
|
+
db.prepare(`INSERT INTO feedback (message, email, category, version, machine_id) VALUES (?, ?, ?, ?, ?)`).run(record.message, record.email ?? null, record.category ?? "general", record.version ?? null, record.machine_id ?? null);
|
|
1524
|
+
}
|
|
1522
1525
|
function upsertBillingDaily(db, row) {
|
|
1523
1526
|
db.prepare(`
|
|
1524
1527
|
INSERT OR REPLACE INTO billing_daily (date, provider, description, cost_usd, updated_at)
|
|
@@ -6933,6 +6936,8 @@ function optionalAgent(value) {
|
|
|
6933
6936
|
function requiredScopesForRequest(method, path) {
|
|
6934
6937
|
if (method === "POST" && path === "/api/ingest")
|
|
6935
6938
|
return [ECONOMY_WRITE_SCOPE];
|
|
6939
|
+
if (method === "POST" && path === "/api/feedback")
|
|
6940
|
+
return [ECONOMY_WRITE_SCOPE];
|
|
6936
6941
|
return;
|
|
6937
6942
|
}
|
|
6938
6943
|
function stringArray(value) {
|
|
@@ -7404,6 +7409,26 @@ function createHandler(db, options = {}) {
|
|
|
7404
7409
|
deleteGoal(db, decodeURIComponent(goalMatch[1]));
|
|
7405
7410
|
return ok({ ok: true });
|
|
7406
7411
|
}
|
|
7412
|
+
if (path === "/api/feedback" && method === "POST") {
|
|
7413
|
+
const body = await jsonBody(req);
|
|
7414
|
+
if (!body)
|
|
7415
|
+
return err("invalid JSON body");
|
|
7416
|
+
const message = optionalString(body["message"])?.trim();
|
|
7417
|
+
if (!message)
|
|
7418
|
+
return err("message is required");
|
|
7419
|
+
const email = optionalString(body["email"])?.trim() || null;
|
|
7420
|
+
const rawCategory = optionalString(body["category"])?.trim() || "general";
|
|
7421
|
+
if (!["bug", "feature", "general"].includes(rawCategory))
|
|
7422
|
+
return err("category must be bug, feature, or general");
|
|
7423
|
+
insertFeedback(db, {
|
|
7424
|
+
message,
|
|
7425
|
+
email,
|
|
7426
|
+
category: rawCategory,
|
|
7427
|
+
version: packageMetadata.version,
|
|
7428
|
+
machine_id: getMachineId()
|
|
7429
|
+
});
|
|
7430
|
+
return ok({ ok: true });
|
|
7431
|
+
}
|
|
7407
7432
|
return err("Not found", 404);
|
|
7408
7433
|
};
|
|
7409
7434
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AA8C7D,gFAAgF;AAChF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzD;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAC7F,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E;AAuBD,UAAU,kBAAkB;IAC1B,EAAE,CAAC,EAAE,QAAQ,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC;AA6ED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,SAAwB,IACzF,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAwB7D;AAQD,MAAM,WAAW,cAAc;IAC7B;;wEAEoE;IACpE,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,IACxC,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA2e/D;AAMD,wBAAgB,WAAW,CAAC,IAAI,SAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAkDvG"}
|
package/package.json
CHANGED