@tidegap/cli 0.0.0-stage → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +125 -2
  3. package/dist/commands/env-file.d.ts +53 -0
  4. package/dist/commands/env-file.d.ts.map +1 -0
  5. package/dist/commands/env-file.js +127 -0
  6. package/dist/commands/env-file.js.map +1 -0
  7. package/dist/commands/install.d.ts +84 -0
  8. package/dist/commands/install.d.ts.map +1 -0
  9. package/dist/commands/install.js +299 -0
  10. package/dist/commands/install.js.map +1 -0
  11. package/dist/commands/queue.d.ts +139 -0
  12. package/dist/commands/queue.d.ts.map +1 -0
  13. package/dist/commands/queue.js +491 -0
  14. package/dist/commands/queue.js.map +1 -0
  15. package/dist/commands/receipts.d.ts +15 -0
  16. package/dist/commands/receipts.d.ts.map +1 -0
  17. package/dist/commands/receipts.js +70 -0
  18. package/dist/commands/receipts.js.map +1 -0
  19. package/dist/commands/register-wake.d.ts +21 -0
  20. package/dist/commands/register-wake.d.ts.map +1 -0
  21. package/dist/commands/register-wake.js +76 -0
  22. package/dist/commands/register-wake.js.map +1 -0
  23. package/dist/commands/stats.d.ts +31 -0
  24. package/dist/commands/stats.d.ts.map +1 -0
  25. package/dist/commands/stats.js +165 -0
  26. package/dist/commands/stats.js.map +1 -0
  27. package/dist/commands/tick.d.ts +73 -0
  28. package/dist/commands/tick.d.ts.map +1 -0
  29. package/dist/commands/tick.js +294 -0
  30. package/dist/commands/tick.js.map +1 -0
  31. package/dist/commands/ui.d.ts +25 -0
  32. package/dist/commands/ui.d.ts.map +1 -0
  33. package/dist/commands/ui.js +83 -0
  34. package/dist/commands/ui.js.map +1 -0
  35. package/dist/commands/verify.d.ts +32 -0
  36. package/dist/commands/verify.d.ts.map +1 -0
  37. package/dist/commands/verify.js +135 -0
  38. package/dist/commands/verify.js.map +1 -0
  39. package/dist/env.d.ts +55 -0
  40. package/dist/env.d.ts.map +1 -0
  41. package/dist/env.js +90 -0
  42. package/dist/env.js.map +1 -0
  43. package/dist/index.d.ts +31 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +351 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/platform/index.d.ts +30 -0
  48. package/dist/platform/index.d.ts.map +1 -0
  49. package/dist/platform/index.js +66 -0
  50. package/dist/platform/index.js.map +1 -0
  51. package/dist/platform/linux.d.ts +81 -0
  52. package/dist/platform/linux.d.ts.map +1 -0
  53. package/dist/platform/linux.js +158 -0
  54. package/dist/platform/linux.js.map +1 -0
  55. package/dist/platform/macos.d.ts +69 -0
  56. package/dist/platform/macos.d.ts.map +1 -0
  57. package/dist/platform/macos.js +151 -0
  58. package/dist/platform/macos.js.map +1 -0
  59. package/dist/platform/windows.d.ts +31 -0
  60. package/dist/platform/windows.d.ts.map +1 -0
  61. package/dist/platform/windows.js +58 -0
  62. package/dist/platform/windows.js.map +1 -0
  63. package/dist/ui/api.d.ts +59 -0
  64. package/dist/ui/api.d.ts.map +1 -0
  65. package/dist/ui/api.js +459 -0
  66. package/dist/ui/api.js.map +1 -0
  67. package/dist/ui/dispatcher.d.ts +84 -0
  68. package/dist/ui/dispatcher.d.ts.map +1 -0
  69. package/dist/ui/dispatcher.js +150 -0
  70. package/dist/ui/dispatcher.js.map +1 -0
  71. package/dist/ui/events.d.ts +27 -0
  72. package/dist/ui/events.d.ts.map +1 -0
  73. package/dist/ui/events.js +85 -0
  74. package/dist/ui/events.js.map +1 -0
  75. package/dist/ui/server.d.ts +69 -0
  76. package/dist/ui/server.d.ts.map +1 -0
  77. package/dist/ui/server.js +258 -0
  78. package/dist/ui/server.js.map +1 -0
  79. package/package.json +54 -3
  80. package/ui/agenda.js +256 -0
  81. package/ui/api.js +111 -0
  82. package/ui/app.css +707 -0
  83. package/ui/app.js +597 -0
  84. package/ui/detail.js +431 -0
  85. package/ui/dialog.js +279 -0
  86. package/ui/dnd.js +131 -0
  87. package/ui/dom.js +255 -0
  88. package/ui/index.html +37 -0
  89. package/ui/journal.js +207 -0
  90. package/ui/keys.js +92 -0
  91. package/ui/row.js +153 -0
  92. package/ui/state.js +412 -0
  93. package/ui/timeline.js +202 -0
  94. package/ui/toast.js +69 -0
  95. package/ui/tokens.css +106 -0
  96. package/ui/views.js +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `tidegap ui` — serve the local task page (timeline, inbox, task detail) on
3
+ * 127.0.0.1 with a per-run bearer token. The page can cancel, reschedule,
4
+ * run now and reply (ui v2): each action writes the ledger through a
5
+ * Scheduler with no adapters. It never dispatches; `tidegap tick` (or the
6
+ * OpenClaw loop) does, and the page can start `tidegap tick --daemon` when no
7
+ * dispatcher is running.
8
+ */
9
+ import { type UiServer } from "../ui/server.js";
10
+ export interface UiCommandOptions {
11
+ db?: string;
12
+ port?: number;
13
+ /** `false` (`--no-open`) only prints the URL. */
14
+ open?: boolean;
15
+ region?: string;
16
+ }
17
+ /** Open a URL in the default browser; failure is silent (the URL is printed). */
18
+ export declare function openBrowser(url: string, platform?: NodeJS.Platform): void;
19
+ export declare function newToken(): string;
20
+ export declare function startUi(opts?: UiCommandOptions): Promise<{
21
+ server: UiServer;
22
+ link: string;
23
+ }>;
24
+ export declare function runUi(opts?: UiCommandOptions): Promise<number>;
25
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAM/D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CAc3F;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED,wBAAsB,OAAO,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BtG;AAED,wBAAsB,KAAK,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBxE"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * `tidegap ui` — serve the local task page (timeline, inbox, task detail) on
3
+ * 127.0.0.1 with a per-run bearer token. The page can cancel, reschedule,
4
+ * run now and reply (ui v2): each action writes the ledger through a
5
+ * Scheduler with no adapters. It never dispatches; `tidegap tick` (or the
6
+ * OpenClaw loop) does, and the page can start `tidegap tick --daemon` when no
7
+ * dispatcher is running.
8
+ */
9
+ import { spawn } from "node:child_process";
10
+ import { randomBytes } from "node:crypto";
11
+ import { buildDefaultGridFeed, loadQuotaResetConfig, resolveRegion, } from "@tidegap/core";
12
+ import { readEnvCredentials } from "../env.js";
13
+ import { daemonStatus } from "../platform/index.js";
14
+ import { startUiServer } from "../ui/server.js";
15
+ import { loadEnvFileIntoProcess } from "./env-file.js";
16
+ import { resolveLauncher } from "./install.js";
17
+ import { actionScheduler } from "./queue.js";
18
+ import { defaultDbPath } from "./tick.js";
19
+ /** Open a URL in the default browser; failure is silent (the URL is printed). */
20
+ export function openBrowser(url, platform = process.platform) {
21
+ const [cmd, args] = platform === "darwin"
22
+ ? ["open", [url]]
23
+ : platform === "win32"
24
+ ? ["cmd", ["/c", "start", "", url]]
25
+ : ["xdg-open", [url]];
26
+ try {
27
+ const child = spawn(cmd, args, { stdio: "ignore", detached: true });
28
+ child.on("error", () => { });
29
+ child.unref();
30
+ }
31
+ catch {
32
+ // ignore: the URL is on the terminal
33
+ }
34
+ }
35
+ export function newToken() {
36
+ return randomBytes(32).toString("base64url");
37
+ }
38
+ export async function startUi(opts = {}) {
39
+ // Grid-feed credentials live in the same secrets file the tick reads.
40
+ loadEnvFileIntoProcess();
41
+ const env = readEnvCredentials();
42
+ const token = newToken();
43
+ const dbPath = opts.db ?? defaultDbPath();
44
+ const feed = buildDefaultGridFeed(env.grid);
45
+ const defaultRegion = resolveRegion(undefined, opts.region).region;
46
+ const scheduler = actionScheduler({ dbPath, feed, region: defaultRegion });
47
+ const server = await startUiServer({
48
+ token,
49
+ port: opts.port ?? 0,
50
+ dbPath,
51
+ feed,
52
+ defaultRegion,
53
+ quota: () => loadQuotaResetConfig(),
54
+ daemonStatus: () => daemonStatus(),
55
+ // Writes only: this scheduler has no adapters and never dispatches.
56
+ scheduler,
57
+ // Start dispatcher spawns this same binary: `<launcher> tick --daemon`.
58
+ launcher: resolveLauncher(undefined, []),
59
+ });
60
+ const close = server.close.bind(server);
61
+ server.close = async () => {
62
+ await close();
63
+ scheduler.shutdown();
64
+ };
65
+ return { server, link: `${server.url}#token=${token}` };
66
+ }
67
+ export async function runUi(opts = {}) {
68
+ const { server, link } = await startUi(opts);
69
+ // eslint-disable-next-line no-console
70
+ console.log(`tidegap ui: ${link}\n` +
71
+ `Serving on 127.0.0.1 only. The link carries a one-run access token; ` +
72
+ `do not share it. Press Ctrl-C to stop.`);
73
+ if (opts.open !== false)
74
+ openBrowser(link);
75
+ await new Promise((resolve) => {
76
+ const stop = () => resolve();
77
+ process.once("SIGINT", stop);
78
+ process.once("SIGTERM", stop);
79
+ });
80
+ await server.close();
81
+ return 0;
82
+ }
83
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `tidegap verify <task-id | --file path>` — verify the Ed25519 signature
3
+ * on a carbon receipt.
4
+ *
5
+ * - From the local ledger: `tidegap verify <task_id>` (looks up
6
+ * `~/.tidegap/queue.db`, or `--db` if set).
7
+ * - From a JSON receipt: `tidegap verify --file ./receipt.json`.
8
+ *
9
+ * Exit code reflects the outcome so CI / batch jobs can branch:
10
+ * 0 = valid; 1 = tampered; 2 = legacy-unsigned; 3 = key-mismatch;
11
+ * 4 = not-found / parse error.
12
+ */
13
+ export interface VerifyOptions {
14
+ taskId?: string;
15
+ file?: string;
16
+ db?: string;
17
+ trustedPublicKey?: string;
18
+ json?: boolean;
19
+ }
20
+ export interface VerifyResult {
21
+ exitCode: number;
22
+ rendered: string;
23
+ /** Structured payload returned when `--json` is set. */
24
+ payload: {
25
+ taskId?: string;
26
+ outcome: string;
27
+ signerPublicKey?: string;
28
+ reason: string;
29
+ };
30
+ }
31
+ export declare function runVerify(opts: VerifyOptions): Promise<VerifyResult>;
32
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA2C1E"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * `tidegap verify <task-id | --file path>` — verify the Ed25519 signature
3
+ * on a carbon receipt.
4
+ *
5
+ * - From the local ledger: `tidegap verify <task_id>` (looks up
6
+ * `~/.tidegap/queue.db`, or `--db` if set).
7
+ * - From a JSON receipt: `tidegap verify --file ./receipt.json`.
8
+ *
9
+ * Exit code reflects the outcome so CI / batch jobs can branch:
10
+ * 0 = valid; 1 = tampered; 2 = legacy-unsigned; 3 = key-mismatch;
11
+ * 4 = not-found / parse error.
12
+ */
13
+ import { readFileSync } from "node:fs";
14
+ import { TaskStore, verifyReceipt } from "@tidegap/core";
15
+ import { defaultDbPath } from "./tick.js";
16
+ export async function runVerify(opts) {
17
+ const receipt = loadReceipt(opts);
18
+ if (!receipt) {
19
+ const reason = opts.file
20
+ ? `verify: file ${opts.file} did not contain a valid CarbonReceipt JSON object`
21
+ : `verify: no receipt found for task ${opts.taskId ?? "<missing>"} in ${opts.db ?? defaultDbPath()}`;
22
+ return {
23
+ exitCode: 4,
24
+ rendered: reason,
25
+ payload: { taskId: opts.taskId, outcome: "not-found", reason },
26
+ };
27
+ }
28
+ const res = verifyReceipt(receipt, {
29
+ trustedPublicKey: opts.trustedPublicKey,
30
+ });
31
+ const exitCode = res.outcome === "valid"
32
+ ? 0
33
+ : res.outcome === "tampered"
34
+ ? 1
35
+ : res.outcome === "legacy-unsigned"
36
+ ? 2
37
+ : /* key-mismatch */ 3;
38
+ const payload = {
39
+ taskId: receipt.taskId,
40
+ outcome: res.outcome,
41
+ signerPublicKey: res.signerPublicKey,
42
+ reason: res.reason,
43
+ };
44
+ if (opts.json) {
45
+ return {
46
+ exitCode,
47
+ rendered: JSON.stringify(payload, null, 2),
48
+ payload,
49
+ };
50
+ }
51
+ const rendered = renderHuman(receipt, res);
52
+ return { exitCode, rendered, payload };
53
+ }
54
+ function loadReceipt(opts) {
55
+ if (opts.file) {
56
+ try {
57
+ const raw = readFileSync(opts.file, "utf8");
58
+ const parsed = JSON.parse(raw);
59
+ // Accept either a bare receipt or a wrapper {receipt: ...} shape
60
+ // (matches what `writeOutputFile` emits in the scheduler).
61
+ const receipt = parsed && typeof parsed === "object" && "receipt" in parsed
62
+ ? parsed.receipt
63
+ : parsed;
64
+ if (!receipt || typeof receipt.taskId !== "string")
65
+ return undefined;
66
+ return receipt;
67
+ }
68
+ catch {
69
+ return undefined;
70
+ }
71
+ }
72
+ if (!opts.taskId)
73
+ return undefined;
74
+ const store = new TaskStore({ dbPath: opts.db ?? defaultDbPath() });
75
+ try {
76
+ const record = store.get(opts.taskId);
77
+ return record?.receipt;
78
+ }
79
+ finally {
80
+ store.close();
81
+ }
82
+ }
83
+ function renderHuman(receipt, res) {
84
+ const status = res.outcome === "valid"
85
+ ? "✓ VALID"
86
+ : res.outcome === "tampered"
87
+ ? "✗ TAMPERED"
88
+ : res.outcome === "key-mismatch"
89
+ ? "✗ KEY MISMATCH"
90
+ : "○ LEGACY UNSIGNED";
91
+ const lines = [
92
+ status,
93
+ ];
94
+ if (receipt.gridSource === "mock") {
95
+ lines.push("!! MOCK DATA — grid intensity is synthetic, not from a real feed");
96
+ }
97
+ lines.push("", `task_id ${receipt.taskId}`, `region ${receipt.region}`, `ran_at ${receipt.ranAt}`);
98
+ if (receipt.actualCarbonGCo2 !== undefined) {
99
+ lines.push(`actual_g_co2 ${receipt.actualCarbonGCo2}`);
100
+ }
101
+ if (receipt.estimatedCarbonGCo2 !== undefined) {
102
+ lines.push(`estimated_g_co2 ${receipt.estimatedCarbonGCo2}`);
103
+ }
104
+ if (receipt.deltaPct !== undefined) {
105
+ lines.push(`delta_pct ${receipt.deltaPct >= 0 ? "+" : ""}${receipt.deltaPct}`);
106
+ }
107
+ if (receipt.intensityGCo2PerKwh !== undefined) {
108
+ lines.push(`intensity_g_kwh ${receipt.intensityGCo2PerKwh}`);
109
+ }
110
+ if (receipt.gridSource !== undefined) {
111
+ const mock = receipt.gridSource === "mock";
112
+ const marginal = receipt.signalType === "marginal"
113
+ ? " (marginal-emissions signal — not an average-grid figure)"
114
+ : "";
115
+ lines.push(`grid_source ${receipt.gridSource}${mock ? " !! MOCK DATA (synthetic — carbon is illustrative, not measured)" : ""}${marginal}`);
116
+ }
117
+ if (receipt.energySource !== undefined) {
118
+ lines.push(`energy_source ${receipt.energySource}`);
119
+ }
120
+ if (receipt.energyResolution !== undefined) {
121
+ lines.push(`energy_resolution ${receipt.energyResolution}`);
122
+ }
123
+ if (receipt.model)
124
+ lines.push(`model ${receipt.model}`);
125
+ if (receipt.provider)
126
+ lines.push(`provider ${receipt.provider}`);
127
+ if (res.signerPublicKey) {
128
+ lines.push("", `signer_public_key ${res.signerPublicKey}`);
129
+ }
130
+ if (receipt.signedAt)
131
+ lines.push(`signed_at ${receipt.signedAt}`);
132
+ lines.push("", res.reason);
133
+ return lines.join("\n");
134
+ }
135
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ /**
2
+ * The `tidegap` CLI's environment boundary.
3
+ *
4
+ * `@tidegap/core` is an environment-pure library: it reads no environment
5
+ * variables and takes every credential as an explicit argument. The CLI is a
6
+ * HOST, so reading the environment is its job — and this module is the single
7
+ * place it happens. Every variable is read BY NAME into a closed shape; the
8
+ * whole `process` environment object is never bound to a local or handed to
9
+ * core.
10
+ *
11
+ * Behaviour is unchanged from before core became environment-pure: the same
12
+ * variables, the same precedence (GEMINI_API_KEY before GOOGLE_API_KEY).
13
+ *
14
+ * Since 0.18 the Tidegap variables are named `TIDEGAP_*`. Each 0.17 `EBB_*`
15
+ * twin is still read when the `TIDEGAP_*` one is unset, and the process
16
+ * prints one deprecation line to stderr naming the variables it fell back on.
17
+ * The fallback is removed in 0.19.
18
+ *
19
+ * See also: `packages/mcp-server/src/env.ts` (the MCP server's copy of this
20
+ * boundary) and `packages/openclaw-plugin` — which has NO environment
21
+ * boundary at all, taking everything from OpenClaw plugin config so its
22
+ * published bundle contains zero environment reads.
23
+ */
24
+ import type { CarbonBudgetEnv, GridFeedCredentials } from "@tidegap/core";
25
+ /** Provider credentials the CLI forwards to `@tidegap/core`'s adapters. */
26
+ export interface ProviderCredentials {
27
+ /** `ANTHROPIC_API_KEY` */
28
+ anthropicApiKey?: string;
29
+ /** `OPENAI_API_KEY` */
30
+ openaiApiKey?: string;
31
+ /** `GEMINI_API_KEY`, else `GOOGLE_API_KEY` */
32
+ geminiApiKey?: string;
33
+ /** `OLLAMA_HOST` (opt-in: unset means "do not register the Ollama adapter") */
34
+ ollamaHost?: string;
35
+ }
36
+ export interface EnvCredentials extends ProviderCredentials {
37
+ /** Grid-feed credentials for `buildDefaultGridFeed`. */
38
+ grid: GridFeedCredentials;
39
+ /** Aggregate carbon-budget overrides for `loadCarbonBudgetConfig`. */
40
+ carbonBudget: CarbonBudgetEnv;
41
+ /** `TIDEGAP_BINARY`: launcher override for `tidegap install`. */
42
+ binary?: string;
43
+ /** `TIDEGAP_NO_NOTIFY=1` (or true/yes/on): `tidegap tick` posts no OS notification. */
44
+ noNotify: boolean;
45
+ }
46
+ /** Receives the one deprecation line about `EBB_*` fallbacks. */
47
+ export type DeprecationWriter = (line: string) => void;
48
+ /**
49
+ * Snapshot every environment variable the CLI recognizes, by name.
50
+ * Call this at an entry point and pass the result down — never re-read the
51
+ * environment deeper in the call tree. A fallback to an `EBB_*` name goes to
52
+ * `write` (default: one stderr line per process).
53
+ */
54
+ export declare function readEnvCredentials(write?: DeprecationWriter): EnvCredentials;
55
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE1E,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,wDAAwD;IACxD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,sEAAsE;IACtE,YAAY,EAAE,eAAe,CAAC;IAC9B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAQD,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAiCvD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,iBAA6B,GAAG,cAAc,CAiCvF"}
package/dist/env.js ADDED
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The `tidegap` CLI's environment boundary.
3
+ *
4
+ * `@tidegap/core` is an environment-pure library: it reads no environment
5
+ * variables and takes every credential as an explicit argument. The CLI is a
6
+ * HOST, so reading the environment is its job — and this module is the single
7
+ * place it happens. Every variable is read BY NAME into a closed shape; the
8
+ * whole `process` environment object is never bound to a local or handed to
9
+ * core.
10
+ *
11
+ * Behaviour is unchanged from before core became environment-pure: the same
12
+ * variables, the same precedence (GEMINI_API_KEY before GOOGLE_API_KEY).
13
+ *
14
+ * Since 0.18 the Tidegap variables are named `TIDEGAP_*`. Each 0.17 `EBB_*`
15
+ * twin is still read when the `TIDEGAP_*` one is unset, and the process
16
+ * prints one deprecation line to stderr naming the variables it fell back on.
17
+ * The fallback is removed in 0.19.
18
+ *
19
+ * See also: `packages/mcp-server/src/env.ts` (the MCP server's copy of this
20
+ * boundary) and `packages/openclaw-plugin` — which has NO environment
21
+ * boundary at all, taking everything from OpenClaw plugin config so its
22
+ * published bundle contains zero environment reads.
23
+ */
24
+ /** Trim and collapse an empty string to `undefined`. */
25
+ function val(raw) {
26
+ const v = raw?.trim();
27
+ return v ? v : undefined;
28
+ }
29
+ let fallbackReported = false;
30
+ /** Default writer: stderr, once per process. */
31
+ const writeOnce = (line) => {
32
+ if (fallbackReported)
33
+ return;
34
+ fallbackReported = true;
35
+ process.stderr.write(`${line}\n`);
36
+ };
37
+ /**
38
+ * Collects the 0.17 names a read fell back on. `pick(current, legacy, name)`
39
+ * returns the `TIDEGAP_<name>` value, else the `EBB_<name>` value (recording
40
+ * `EBB_<name>`), else `undefined`.
41
+ */
42
+ class Fallbacks {
43
+ used = [];
44
+ pick(current, legacy, name) {
45
+ if (current !== undefined && current.trim() !== "")
46
+ return current;
47
+ if (legacy !== undefined && legacy.trim() !== "") {
48
+ this.used.push(`EBB_${name}`);
49
+ return legacy;
50
+ }
51
+ return current;
52
+ }
53
+ report(write) {
54
+ if (this.used.length === 0)
55
+ return;
56
+ const renamed = this.used.map((n) => `${n} -> TIDEGAP_${n.slice(4)}`).join(", ");
57
+ write(`tidegap: rename ${renamed}; the EBB_* names stop working in 0.19.`);
58
+ }
59
+ }
60
+ /**
61
+ * Snapshot every environment variable the CLI recognizes, by name.
62
+ * Call this at an entry point and pass the result down — never re-read the
63
+ * environment deeper in the call tree. A fallback to an `EBB_*` name goes to
64
+ * `write` (default: one stderr line per process).
65
+ */
66
+ export function readEnvCredentials(write = writeOnce) {
67
+ const f = new Fallbacks();
68
+ const out = {
69
+ anthropicApiKey: val(process.env.ANTHROPIC_API_KEY),
70
+ openaiApiKey: val(process.env.OPENAI_API_KEY),
71
+ geminiApiKey: val(process.env.GEMINI_API_KEY) ?? val(process.env.GOOGLE_API_KEY),
72
+ ollamaHost: val(process.env.OLLAMA_HOST),
73
+ grid: {
74
+ electricityMapsApiKey: val(f.pick(process.env.TIDEGAP_ELECTRICITY_MAPS_API_KEY, process.env.EBB_ELECTRICITY_MAPS_API_KEY, "ELECTRICITY_MAPS_API_KEY")),
75
+ eiaApiKey: val(f.pick(process.env.TIDEGAP_EIA_API_KEY, process.env.EBB_EIA_API_KEY, "EIA_API_KEY")),
76
+ entsoeSecurityToken: val(f.pick(process.env.TIDEGAP_ENTSOE_SECURITY_TOKEN, process.env.EBB_ENTSOE_SECURITY_TOKEN, "ENTSOE_SECURITY_TOKEN")),
77
+ wattTimeUsername: val(process.env.WATTTIME_USERNAME),
78
+ wattTimePassword: val(process.env.WATTTIME_PASSWORD),
79
+ },
80
+ carbonBudget: {
81
+ TIDEGAP_CARBON_BUDGET_G: f.pick(process.env.TIDEGAP_CARBON_BUDGET_G, process.env.EBB_CARBON_BUDGET_G, "CARBON_BUDGET_G"),
82
+ TIDEGAP_CARBON_BUDGET_WINDOW: f.pick(process.env.TIDEGAP_CARBON_BUDGET_WINDOW, process.env.EBB_CARBON_BUDGET_WINDOW, "CARBON_BUDGET_WINDOW"),
83
+ },
84
+ binary: val(f.pick(process.env.TIDEGAP_BINARY, process.env.EBB_BINARY, "BINARY")),
85
+ noNotify: /^(1|true|yes|on)$/i.test(val(f.pick(process.env.TIDEGAP_NO_NOTIFY, process.env.EBB_NO_NOTIFY, "NO_NOTIFY")) ?? ""),
86
+ };
87
+ f.report(write);
88
+ return out;
89
+ }
90
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `tidegap` — CLI entry point.
4
+ *
5
+ * tidegap tick drain due tasks (one-shot or --daemon)
6
+ * tidegap install write launchd plist or print systemd/schtasks templates
7
+ * tidegap queue list print queued/scheduled/running/completed tasks
8
+ * tidegap queue cancel | reschedule | run-now | reply change a task (the
9
+ * next tick runs it; these commands never dispatch)
10
+ * tidegap receipts list print carbon receipts for completed tasks
11
+ * tidegap stats local-only personal-impact summary
12
+ * tidegap register-wake schedule a macOS wake event 30s before a task
13
+ * tidegap ui local task page (timeline, inbox, detail, actions) on 127.0.0.1
14
+ */
15
+ import { Command } from "commander";
16
+ /**
17
+ * CLI version — read from this package's own `package.json` so there is
18
+ * a single source of truth and `tidegap --version` never drifts from the
19
+ * published version. `createRequire` resolves relative to this module,
20
+ * so it works from both `src` (tests) and `dist` (published bin).
21
+ */
22
+ export declare function readCliVersion(): string;
23
+ export declare function buildProgram(): Command;
24
+ /**
25
+ * The deprecation line for the 0.18 `ebb` bin alias, or `undefined` when the
26
+ * program was started under any other name. npm links both bins to this file,
27
+ * so the name the user typed is the basename of `argv[1]`. The alias goes
28
+ * away in 0.19.
29
+ */
30
+ export declare function binAliasDeprecation(argv1: string | undefined): string | undefined;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAID,wBAAgB,YAAY,IAAI,OAAO,CAoStC;AAYD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKjF"}