@vibes.diy/api-svc 4.0.16 → 4.0.18

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 (60) hide show
  1. package/README.md +1 -1
  2. package/billing.d.ts +3 -0
  3. package/billing.js +10 -0
  4. package/billing.js.map +1 -1
  5. package/check-auth.d.ts +9 -0
  6. package/check-auth.js +17 -0
  7. package/check-auth.js.map +1 -1
  8. package/create-handler.js +4 -0
  9. package/create-handler.js.map +1 -1
  10. package/index.d.ts +1 -0
  11. package/index.js +1 -0
  12. package/index.js.map +1 -1
  13. package/intern/attempt-backend-fetch.js.map +1 -1
  14. package/intern/backend-db-callback.js +7 -1
  15. package/intern/backend-db-callback.js.map +1 -1
  16. package/intern/chat-persist-gate.d.ts +7 -0
  17. package/intern/chat-persist-gate.js +50 -0
  18. package/intern/chat-persist-gate.js.map +1 -0
  19. package/intern/grouped-vibe-import-map.js +1 -1
  20. package/intern/grouped-vibe-import-map.js.map +1 -1
  21. package/intern/process-access-bindings.js +216 -70
  22. package/intern/process-access-bindings.js.map +1 -1
  23. package/intern/put-access-gate.js +1 -1
  24. package/intern/put-access-gate.js.map +1 -1
  25. package/intern/render-vibe.js +12 -0
  26. package/intern/render-vibe.js.map +1 -1
  27. package/intern/resolve-backend-session-user.d.ts +6 -0
  28. package/intern/resolve-backend-session-user.js +9 -0
  29. package/intern/resolve-backend-session-user.js.map +1 -0
  30. package/intern/vibe-ssr-attempt.d.ts +4 -2
  31. package/intern/vibe-ssr-attempt.js +13 -5
  32. package/intern/vibe-ssr-attempt.js.map +1 -1
  33. package/package.json +13 -13
  34. package/peers/r2-to-s3api.d.ts +1 -0
  35. package/peers/r2-to-s3api.js +4 -1
  36. package/peers/r2-to-s3api.js.map +1 -1
  37. package/public/app-documents-read-eventos.js +5 -5
  38. package/public/app-documents-read-eventos.js.map +1 -1
  39. package/public/app-documents-write-eventos.js +59 -27
  40. package/public/app-documents-write-eventos.js.map +1 -1
  41. package/public/asset-session.js +2 -20
  42. package/public/asset-session.js.map +1 -1
  43. package/public/channel-read-filter.js +1 -1
  44. package/public/channel-read-filter.js.map +1 -1
  45. package/public/ensure-app-slug-item.js.map +1 -1
  46. package/public/get-app-by-fsid.js +17 -0
  47. package/public/get-app-by-fsid.js.map +1 -1
  48. package/public/prompt-chat-section.d.ts +3 -1
  49. package/public/prompt-chat-section.js +132 -14
  50. package/public/prompt-chat-section.js.map +1 -1
  51. package/public/who-am-i.js +7 -10
  52. package/public/who-am-i.js.map +1 -1
  53. package/usage-report/backfill-avatars.js +6 -4
  54. package/usage-report/backfill-avatars.js.map +1 -1
  55. package/usage-report/billing-reconcile-util.d.ts +25 -0
  56. package/usage-report/billing-reconcile-util.js +47 -0
  57. package/usage-report/billing-reconcile-util.js.map +1 -0
  58. package/usage-report/billing-reconcile.d.ts +1 -0
  59. package/usage-report/billing-reconcile.js +60 -0
  60. package/usage-report/billing-reconcile.js.map +1 -0
@@ -0,0 +1,60 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { Result, exception2Result } from "@adviser/cement";
3
+ import { mergeReconciliation, renderReconciliationMarkdown } from "./billing-reconcile-util.js";
4
+ import { formatError } from "./usage-report-util.js";
5
+ function arg(name) {
6
+ const i = process.argv.indexOf(name);
7
+ return i >= 0 ? process.argv[i + 1] : undefined;
8
+ }
9
+ function keyFromEnvFile(path) {
10
+ const line = readFileSync(path, "utf8")
11
+ .split("\n")
12
+ .find((l) => l.startsWith("AUTUMN_SECRET_KEY="));
13
+ return line
14
+ ?.slice("AUTUMN_SECRET_KEY=".length)
15
+ .replace(/^["']|["']$/g, "")
16
+ .trim();
17
+ }
18
+ async function run() {
19
+ const dbJsonPath = arg("--db-json");
20
+ if (dbJsonPath === undefined || dbJsonPath === "") {
21
+ return Result.Err("--db-json <rows.json> is required");
22
+ }
23
+ const envFile = arg("--env-file");
24
+ const key = process.env.AUTUMN_SECRET_KEY ?? (envFile !== undefined && envFile !== "" ? keyFromEnvFile(envFile) : undefined);
25
+ if (key === undefined || key === "") {
26
+ return Result.Err("AUTUMN_SECRET_KEY not found in env or --env-file");
27
+ }
28
+ return exception2Result(async () => {
29
+ const db = JSON.parse(readFileSync(dbJsonPath, "utf8"));
30
+ const autumn = [];
31
+ for (const row of db) {
32
+ const res = await fetch("https://api.useautumn.com/v1/balances.check", {
33
+ method: "POST",
34
+ headers: { authorization: `Bearer ${key}`, "x-api-version": "2.3.0", "content-type": "application/json" },
35
+ body: JSON.stringify({ customer_id: row.userId, feature_id: "ai_credits" }),
36
+ });
37
+ const json = (await res.json().catch(() => ({})));
38
+ if (res.status === 404 && json.code === "customer_not_found") {
39
+ autumn.push({ userId: row.userId, usage: 0 });
40
+ continue;
41
+ }
42
+ if (!res.ok) {
43
+ throw new Error(`balances.check failed for ${row.userId}: HTTP ${res.status}${json.code ? ` (${json.code})` : ""}`);
44
+ }
45
+ if (typeof json.balance?.usage !== "number") {
46
+ throw new Error(`balances.check returned no balance.usage for ${row.userId} — unexpected payload shape`);
47
+ }
48
+ autumn.push({ userId: row.userId, usage: json.balance.usage });
49
+ }
50
+ const report = mergeReconciliation(db, autumn);
51
+ console.log(renderReconciliationMarkdown(report, [250, 1000, 3250]));
52
+ });
53
+ }
54
+ run().then((result) => {
55
+ if (result.isErr()) {
56
+ console.error(formatError(result.Err()));
57
+ process.exitCode = 1;
58
+ }
59
+ });
60
+ //# sourceMappingURL=billing-reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-reconcile.js","sourceRoot":"","sources":["../../jsr/usage-report/billing-reconcile.ts"],"names":[],"mappings":"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"}