opencandle 0.7.0 → 0.9.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.
- package/README.md +34 -21
- package/dist/cli-main.d.ts +1 -0
- package/dist/cli-main.js +224 -0
- package/dist/cli-main.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +13 -229
- package/dist/cli.js.map +1 -1
- package/dist/doctor/cli-command.d.ts +1 -0
- package/dist/doctor/cli-command.js +69 -0
- package/dist/doctor/cli-command.js.map +1 -0
- package/dist/doctor/render.d.ts +2 -0
- package/dist/doctor/render.js +32 -0
- package/dist/doctor/render.js.map +1 -0
- package/dist/doctor/report.d.ts +63 -0
- package/dist/doctor/report.js +500 -0
- package/dist/doctor/report.js.map +1 -0
- package/dist/infra/native-dependencies.d.ts +8 -0
- package/dist/infra/native-dependencies.js +49 -0
- package/dist/infra/native-dependencies.js.map +1 -1
- package/dist/infra/node-version.js +2 -5
- package/dist/infra/node-version.js.map +1 -1
- package/dist/monitor.d.ts +1 -1
- package/dist/monitor.js +2 -1
- package/dist/monitor.js.map +1 -1
- package/dist/onboarding/provider-status.d.ts +3 -5
- package/dist/onboarding/provider-status.js +5 -34
- package/dist/onboarding/provider-status.js.map +1 -1
- package/dist/pi/session-writer-lock.d.ts +30 -0
- package/dist/pi/session-writer-lock.js +111 -0
- package/dist/pi/session-writer-lock.js.map +1 -0
- package/dist/pi/session.d.ts +0 -1
- package/dist/pi/session.js +2 -1
- package/dist/pi/session.js.map +1 -1
- package/dist/prompts/policy-cards.js +8 -4
- package/dist/prompts/policy-cards.js.map +1 -1
- package/dist/prompts/workflow-prompts.js +25 -6
- package/dist/prompts/workflow-prompts.js.map +1 -1
- package/dist/providers/external-tool-command.d.ts +17 -0
- package/dist/providers/external-tool-command.js +114 -0
- package/dist/providers/external-tool-command.js.map +1 -0
- package/dist/providers/reddit-cli.d.ts +2 -6
- package/dist/providers/reddit-cli.js +4 -33
- package/dist/providers/reddit-cli.js.map +1 -1
- package/dist/providers/twitter-cli.d.ts +2 -6
- package/dist/providers/twitter-cli.js +4 -33
- package/dist/providers/twitter-cli.js.map +1 -1
- package/dist/routing/classify-intent.js +15 -12
- package/dist/routing/classify-intent.js.map +1 -1
- package/dist/routing/entity-extractor.js +1 -1
- package/dist/routing/entity-extractor.js.map +1 -1
- package/dist/routing/planning.js +9 -6
- package/dist/routing/planning.js.map +1 -1
- package/dist/routing/router-llm-client.d.ts +1 -1
- package/dist/routing/router-llm-client.js +1 -1
- package/dist/routing/router-llm-client.js.map +1 -1
- package/dist/routing/router.js +44 -3
- package/dist/routing/router.js.map +1 -1
- package/dist/workflows/compare-assets.js +4 -1
- package/dist/workflows/compare-assets.js.map +1 -1
- package/gui/server/ask-user-bridge.ts +26 -19
- package/gui/server/chat-event-adapter.ts +49 -3
- package/gui/server/http-routes.ts +577 -0
- package/gui/server/invoke-tool.ts +102 -7
- package/gui/server/live-chat-event-adapter.ts +16 -4
- package/gui/server/server.ts +70 -296
- package/gui/server/session-actions.ts +7 -1
- package/gui/server/session-entry-wait.ts +79 -0
- package/gui/server/writer-lock.ts +1 -122
- package/gui/server/ws-hub.ts +25 -0
- package/gui/shared/chat-events.ts +42 -19
- package/gui/shared/event-reducer.ts +41 -26
- package/gui/web/dist/assets/CatalogOverlay-DcTXLc7u.js +1 -0
- package/gui/web/dist/assets/index-DdMnIvZ7.css +2 -0
- package/gui/web/dist/assets/index-YlMaahAS.js +65 -0
- package/gui/web/dist/index.html +2 -2
- package/package.json +23 -19
- package/src/cli-main.ts +270 -0
- package/src/cli.ts +14 -267
- package/src/doctor/cli-command.ts +83 -0
- package/src/doctor/render.ts +37 -0
- package/src/doctor/report.ts +638 -0
- package/src/infra/native-dependencies.ts +67 -0
- package/src/infra/node-version.ts +2 -5
- package/src/monitor.ts +3 -1
- package/src/onboarding/provider-status.ts +10 -38
- package/src/pi/session-writer-lock.ts +156 -0
- package/src/pi/session.ts +2 -1
- package/src/prompts/policy-cards.ts +12 -4
- package/src/prompts/workflow-prompts.ts +28 -6
- package/src/providers/external-tool-command.ts +164 -0
- package/src/providers/reddit-cli.ts +10 -41
- package/src/providers/twitter-cli.ts +10 -41
- package/src/routing/classify-intent.ts +22 -17
- package/src/routing/entity-extractor.ts +1 -1
- package/src/routing/planning.ts +15 -10
- package/src/routing/router-llm-client.ts +2 -1
- package/src/routing/router.ts +57 -6
- package/src/workflows/compare-assets.ts +4 -2
- package/gui/web/dist/assets/CatalogOverlay-CgeY5Pkp.js +0 -1
- package/gui/web/dist/assets/index-C6W_2eAn.js +0 -69
- package/gui/web/dist/assets/index-hwbx24a5.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/doctor/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,9 @@
|
|
|
1
1
|
export declare function getNativeDependencyErrorMessage(error: unknown, dependencyName: string): string | null;
|
|
2
|
+
export declare function rebuildNativeDependency(dependencyName: string): Promise<void>;
|
|
3
|
+
export declare function ensureNativeDependency({ dependencyName, load, rebuild, log, }: {
|
|
4
|
+
dependencyName: string;
|
|
5
|
+
load: () => Promise<void>;
|
|
6
|
+
rebuild?: (dependencyName: string) => Promise<void>;
|
|
7
|
+
log?: (message: string) => void;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export declare function ensureOpenCandleNativeDependencies(): Promise<void>;
|
|
@@ -7,4 +7,53 @@ export function getNativeDependencyErrorMessage(error, dependencyName) {
|
|
|
7
7
|
return (`${dependencyName} native binding was built for a different Node ABI than the active Node ${process.versions.node}. ` +
|
|
8
8
|
`Run \`npm rebuild ${dependencyName}\` or reinstall dependencies under the active Node with \`npm install\`.`);
|
|
9
9
|
}
|
|
10
|
+
export async function rebuildNativeDependency(dependencyName) {
|
|
11
|
+
const npmCommand = process.platform === "win32" ? "npm.cmd" : "npm";
|
|
12
|
+
const { spawn } = await import("node:child_process");
|
|
13
|
+
await new Promise((resolve, reject) => {
|
|
14
|
+
const child = spawn(npmCommand, ["rebuild", dependencyName], {
|
|
15
|
+
stdio: "inherit",
|
|
16
|
+
});
|
|
17
|
+
child.on("error", reject);
|
|
18
|
+
child.on("exit", (code) => {
|
|
19
|
+
if (code === 0) {
|
|
20
|
+
resolve();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
reject(new Error(`npm rebuild ${dependencyName} failed with exit code ${code}.`));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export async function ensureNativeDependency({ dependencyName, load, rebuild = rebuildNativeDependency, log = console.error, }) {
|
|
28
|
+
try {
|
|
29
|
+
await load();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
const message = getNativeDependencyErrorMessage(error, dependencyName);
|
|
34
|
+
if (!message)
|
|
35
|
+
throw error;
|
|
36
|
+
log(`${message}\nAttempting \`npm rebuild ${dependencyName}\` before continuing...`);
|
|
37
|
+
}
|
|
38
|
+
await rebuild(dependencyName);
|
|
39
|
+
try {
|
|
40
|
+
await load();
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
const message = getNativeDependencyErrorMessage(error, dependencyName);
|
|
44
|
+
if (!message)
|
|
45
|
+
throw error;
|
|
46
|
+
throw new Error(`${message}\nAutomatic rebuild did not repair the native binding. Run \`npm install\` under Node ${process.versions.node} and retry.`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export async function ensureOpenCandleNativeDependencies() {
|
|
50
|
+
await ensureNativeDependency({
|
|
51
|
+
dependencyName: "better-sqlite3",
|
|
52
|
+
async load() {
|
|
53
|
+
const { default: Database } = await import("better-sqlite3");
|
|
54
|
+
const db = new Database(":memory:");
|
|
55
|
+
db.close();
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
10
59
|
//# sourceMappingURL=native-dependencies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-dependencies.js","sourceRoot":"","sources":["../../src/infra/native-dependencies.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,+BAA+B,CAC7C,KAAc,EACd,cAAsB;IAEtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACxC,CAAC,OAAO,CAAC,QAAQ,CAAC,kDAAkD,CAAC,EACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,GAAG,cAAc,2EAA2E,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI;QACrH,qBAAqB,cAAc,0EAA0E,CAC9G,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"native-dependencies.js","sourceRoot":"","sources":["../../src/infra/native-dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
const SUPPORTED_NODE_RANGE = "
|
|
1
|
+
const SUPPORTED_NODE_RANGE = "22.19+ or 24.x-26.x";
|
|
2
2
|
function isSupportedNodeVersion(version) {
|
|
3
3
|
const [majorRaw, minorRaw] = version.split(".");
|
|
4
4
|
const major = Number(majorRaw);
|
|
5
5
|
const minor = Number(minorRaw);
|
|
6
|
-
if (major === 20)
|
|
7
|
-
return minor >= 19;
|
|
8
6
|
if (major === 22)
|
|
9
|
-
return minor >=
|
|
7
|
+
return minor >= 19;
|
|
10
8
|
return major >= 24 && major < 27;
|
|
11
9
|
}
|
|
12
10
|
export function getUnsupportedNodeVersionMessage(version = process.versions.node) {
|
|
@@ -19,5 +17,4 @@ export function assertSupportedNodeVersion(version) {
|
|
|
19
17
|
if (message)
|
|
20
18
|
throw new Error(message);
|
|
21
19
|
}
|
|
22
|
-
assertSupportedNodeVersion();
|
|
23
20
|
//# sourceMappingURL=node-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-version.js","sourceRoot":"","sources":["../../src/infra/node-version.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"node-version.js","sourceRoot":"","sources":["../../src/infra/node-version.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACrC,OAAO,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,UAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAEvC,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,OAAO,4BAA4B,oBAAoB,qBAAqB,OAAO,cAAc,oBAAoB,qNAAqN,CAAC;AAC7U,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,OAAO,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/monitor.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
export {};
|
package/dist/monitor.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./infra/node-version.js";
|
|
3
2
|
import { parseArgs } from "node:util";
|
|
4
3
|
import { loadEnv } from "./config.js";
|
|
4
|
+
import { assertSupportedNodeVersion } from "./infra/node-version.js";
|
|
5
5
|
import { runLocalAutomationHeartbeat } from "./market-state/local-automation-service.js";
|
|
6
6
|
import { MarketStateService } from "./market-state/service.js";
|
|
7
7
|
import { initDefaultDatabase } from "./memory/sqlite.js";
|
|
8
|
+
assertSupportedNodeVersion();
|
|
8
9
|
const DEFAULT_MONITOR_INTERVAL_MS = 60_000;
|
|
9
10
|
const MIN_MONITOR_INTERVAL_MS = 5_000;
|
|
10
11
|
const MONITOR_OWNER_ID = `monitor:${process.pid}`;
|
package/dist/monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { type ExternalToolCommandResult } from "../providers/external-tool-command.js";
|
|
1
2
|
import type { ProviderId } from "./providers.js";
|
|
2
|
-
export
|
|
3
|
-
readonly code: number | null;
|
|
4
|
-
readonly stdout: string;
|
|
5
|
-
readonly stderr: string;
|
|
6
|
-
}
|
|
3
|
+
export type CommandResult = ExternalToolCommandResult;
|
|
7
4
|
export type CommandRunner = (command: string, args: readonly string[], options?: {
|
|
8
5
|
timeoutMs: number;
|
|
9
6
|
}) => Promise<CommandResult>;
|
|
@@ -35,6 +32,7 @@ export type ProviderStatus = ApiKeyProviderStatus | ExternalToolProviderStatus |
|
|
|
35
32
|
export interface ProbeProviderStatusOptions {
|
|
36
33
|
readonly mode?: "install" | "session";
|
|
37
34
|
readonly force?: boolean;
|
|
35
|
+
readonly respectSkipped?: boolean;
|
|
38
36
|
readonly commandRunner?: CommandRunner;
|
|
39
37
|
readonly fetchImpl?: typeof fetch;
|
|
40
38
|
readonly now?: Date;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { runExternalToolCommand, } from "../providers/external-tool-command.js";
|
|
2
2
|
import { getCredentialSource, getProvider, isApiKeyProvider, isExternalToolProvider, isPublicHttpProvider, } from "./providers.js";
|
|
3
3
|
import { loadOnboardingState } from "./state.js";
|
|
4
4
|
const STATUS_TTL_MS = 60_000;
|
|
@@ -16,7 +16,7 @@ export async function probeProviderStatus(providerId, options = {}) {
|
|
|
16
16
|
const now = options.now ?? new Date();
|
|
17
17
|
const skippedByPreference = isExternalToolProvider(provider) &&
|
|
18
18
|
loadOnboardingState().providers[providerId]?.status === "never_ask";
|
|
19
|
-
if (skippedByPreference && !options.force) {
|
|
19
|
+
if (skippedByPreference && (!options.force || options.respectSkipped)) {
|
|
20
20
|
return {
|
|
21
21
|
providerId,
|
|
22
22
|
kind: "external-tool",
|
|
@@ -249,37 +249,8 @@ export function redactSensitiveOutput(input) {
|
|
|
249
249
|
.replace(new RegExp(`\\b(${genericSecretName})=([^;\\s,)]+)`, "gi"), "$1=[redacted]")
|
|
250
250
|
.replace(/(?:~|\/Users\/[^/\s]+|\/home\/[^/\s]+)?\/\.config\/rdt-cli\/credential\.json/g, "[redacted-credential-path]");
|
|
251
251
|
}
|
|
252
|
-
export const runCommand = (command, args, options) =>
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
let stderr = "";
|
|
256
|
-
let settled = false;
|
|
257
|
-
const timeout = setTimeout(() => {
|
|
258
|
-
if (settled)
|
|
259
|
-
return;
|
|
260
|
-
settled = true;
|
|
261
|
-
child.kill("SIGTERM");
|
|
262
|
-
reject(new Error(`${command} timed out after ${options?.timeoutMs ?? COMMAND_TIMEOUT_MS}ms`));
|
|
263
|
-
}, options?.timeoutMs ?? COMMAND_TIMEOUT_MS);
|
|
264
|
-
child.stdout.on("data", (chunk) => {
|
|
265
|
-
stdout = (stdout + chunk.toString("utf8")).slice(0, MAX_OUTPUT_CHARS);
|
|
266
|
-
});
|
|
267
|
-
child.stderr.on("data", (chunk) => {
|
|
268
|
-
stderr = (stderr + chunk.toString("utf8")).slice(0, MAX_OUTPUT_CHARS);
|
|
269
|
-
});
|
|
270
|
-
child.on("error", (err) => {
|
|
271
|
-
if (settled)
|
|
272
|
-
return;
|
|
273
|
-
settled = true;
|
|
274
|
-
clearTimeout(timeout);
|
|
275
|
-
reject(err);
|
|
276
|
-
});
|
|
277
|
-
child.on("close", (code) => {
|
|
278
|
-
if (settled)
|
|
279
|
-
return;
|
|
280
|
-
settled = true;
|
|
281
|
-
clearTimeout(timeout);
|
|
282
|
-
resolve({ code, stdout, stderr });
|
|
283
|
-
});
|
|
252
|
+
export const runCommand = (command, args, options) => runExternalToolCommand(command, args, {
|
|
253
|
+
timeoutMs: options?.timeoutMs ?? COMMAND_TIMEOUT_MS,
|
|
254
|
+
maxOutputChars: MAX_OUTPUT_CHARS,
|
|
284
255
|
});
|
|
285
256
|
//# sourceMappingURL=provider-status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-status.js","sourceRoot":"","sources":["../../src/onboarding/provider-status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-status.js","sourceRoot":"","sources":["../../src/onboarding/provider-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type ProcessKind = "tui" | "gui";
|
|
2
|
+
export interface WriterLock {
|
|
3
|
+
pid: number;
|
|
4
|
+
processKind: ProcessKind;
|
|
5
|
+
acquiredAt: string;
|
|
6
|
+
lastHeartbeat: string;
|
|
7
|
+
}
|
|
8
|
+
export interface AcquireOptions {
|
|
9
|
+
pid?: number;
|
|
10
|
+
staleGraceMs?: number;
|
|
11
|
+
}
|
|
12
|
+
export type AcquireResult = {
|
|
13
|
+
role: "writer";
|
|
14
|
+
lock: WriterLock;
|
|
15
|
+
} | {
|
|
16
|
+
role: "follower";
|
|
17
|
+
lock: WriterLock;
|
|
18
|
+
};
|
|
19
|
+
export interface SessionLockScopeSource {
|
|
20
|
+
getSessionFile(): string | undefined;
|
|
21
|
+
getSessionDir(): string;
|
|
22
|
+
}
|
|
23
|
+
export declare function acquireWriterLock(scopePath: string, processKind: ProcessKind, options?: AcquireOptions): Promise<AcquireResult>;
|
|
24
|
+
export declare function readWriterLock(scopePath: string): WriterLock | null;
|
|
25
|
+
export declare function refreshWriterLock(scopePath: string, pid?: number): void;
|
|
26
|
+
export declare function releaseWriterLock(scopePath: string, pid?: number): void;
|
|
27
|
+
export declare const acquireSessionWriterLock: typeof acquireWriterLock;
|
|
28
|
+
export declare const refreshSessionWriterLock: typeof refreshWriterLock;
|
|
29
|
+
export declare const releaseSessionWriterLock: typeof releaseWriterLock;
|
|
30
|
+
export declare function writerLockScopeForSession(sessionManager: SessionLockScopeSource): string;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { closeSync, mkdirSync, openSync, readFileSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
const DEFAULT_STALE_GRACE_MS = 15_000;
|
|
4
|
+
export async function acquireWriterLock(scopePath, processKind, options = {}) {
|
|
5
|
+
mkdirSync(dirname(lockPath(scopePath)), { recursive: true });
|
|
6
|
+
const pid = options.pid ?? process.pid;
|
|
7
|
+
const staleGraceMs = options.staleGraceMs ?? DEFAULT_STALE_GRACE_MS;
|
|
8
|
+
const created = tryCreate(scopePath, processKind, pid);
|
|
9
|
+
if (created)
|
|
10
|
+
return { role: "writer", lock: created };
|
|
11
|
+
const existing = readWriterLock(scopePath);
|
|
12
|
+
if (existing && isLockCurrent(existing, staleGraceMs)) {
|
|
13
|
+
return { role: "follower", lock: existing };
|
|
14
|
+
}
|
|
15
|
+
await sleep(staleGraceMs);
|
|
16
|
+
const afterGrace = readWriterLock(scopePath);
|
|
17
|
+
if (afterGrace && isLockCurrent(afterGrace, staleGraceMs)) {
|
|
18
|
+
return { role: "follower", lock: afterGrace };
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
unlinkSync(lockPath(scopePath));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Missing or concurrently removed is fine; the next create decides ownership.
|
|
25
|
+
}
|
|
26
|
+
const recovered = tryCreate(scopePath, processKind, pid);
|
|
27
|
+
if (recovered)
|
|
28
|
+
return { role: "writer", lock: recovered };
|
|
29
|
+
const current = readWriterLock(scopePath) ?? afterGrace ?? existing;
|
|
30
|
+
if (!current)
|
|
31
|
+
throw new Error("Unable to determine active writer lock");
|
|
32
|
+
return { role: "follower", lock: current };
|
|
33
|
+
}
|
|
34
|
+
export function readWriterLock(scopePath) {
|
|
35
|
+
try {
|
|
36
|
+
return JSON.parse(readFileSync(lockPath(scopePath), "utf8"));
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function refreshWriterLock(scopePath, pid = process.pid) {
|
|
43
|
+
const lock = readWriterLock(scopePath);
|
|
44
|
+
if (!lock || lock.pid !== pid)
|
|
45
|
+
return;
|
|
46
|
+
writeFileSync(lockPath(scopePath), JSON.stringify({ ...lock, lastHeartbeat: new Date().toISOString() }, null, 2));
|
|
47
|
+
}
|
|
48
|
+
export function releaseWriterLock(scopePath, pid = process.pid) {
|
|
49
|
+
const lock = readWriterLock(scopePath);
|
|
50
|
+
if (!lock || lock.pid !== pid)
|
|
51
|
+
return;
|
|
52
|
+
try {
|
|
53
|
+
unlinkSync(lockPath(scopePath));
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Best effort shutdown cleanup.
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export const acquireSessionWriterLock = acquireWriterLock;
|
|
60
|
+
export const refreshSessionWriterLock = refreshWriterLock;
|
|
61
|
+
export const releaseSessionWriterLock = releaseWriterLock;
|
|
62
|
+
export function writerLockScopeForSession(sessionManager) {
|
|
63
|
+
return sessionManager.getSessionFile() ?? sessionManager.getSessionDir();
|
|
64
|
+
}
|
|
65
|
+
function tryCreate(scopePath, processKind, pid) {
|
|
66
|
+
const now = new Date().toISOString();
|
|
67
|
+
const lock = { pid, processKind, acquiredAt: now, lastHeartbeat: now };
|
|
68
|
+
try {
|
|
69
|
+
const fd = openSync(lockPath(scopePath), "wx");
|
|
70
|
+
try {
|
|
71
|
+
writeFileSync(fd, JSON.stringify(lock, null, 2));
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
closeSync(fd);
|
|
75
|
+
}
|
|
76
|
+
return lock;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function isPidAlive(pid) {
|
|
83
|
+
try {
|
|
84
|
+
process.kill(pid, 0);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function isLockCurrent(lock, staleGraceMs) {
|
|
92
|
+
const heartbeat = Date.parse(lock.lastHeartbeat);
|
|
93
|
+
return (isPidAlive(lock.pid) && Number.isFinite(heartbeat) && Date.now() - heartbeat <= staleGraceMs);
|
|
94
|
+
}
|
|
95
|
+
function lockPath(scopePath) {
|
|
96
|
+
return isFileScope(scopePath) ? `${scopePath}.writer.lock` : join(scopePath, "writer.lock");
|
|
97
|
+
}
|
|
98
|
+
function isFileScope(scopePath) {
|
|
99
|
+
if (scopePath.endsWith(".jsonl"))
|
|
100
|
+
return true;
|
|
101
|
+
try {
|
|
102
|
+
return statSync(scopePath).isFile();
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function sleep(ms) {
|
|
109
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=session-writer-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-writer-lock.js","sourceRoot":"","sources":["../../src/pi/session-writer-lock.ts"],"names":[],"mappings":"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"}
|
package/dist/pi/session.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../infra/node-version.js";
|
|
2
1
|
import { type AuthStorage, type CreateAgentSessionResult, type ModelRegistry, type SessionManager, type SettingsManager } from "@earendil-works/pi-coding-agent";
|
|
3
2
|
import type { AskUserHandler } from "../types/index.js";
|
|
4
3
|
export interface CreateOpenCandleSessionOptions {
|
package/dist/pi/session.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import "../infra/node-version.js";
|
|
2
1
|
import { createAgentSession, DefaultResourceLoader, getAgentDir, } from "@earendil-works/pi-coding-agent";
|
|
3
2
|
import { loadEnv } from "../config.js";
|
|
3
|
+
import { assertSupportedNodeVersion } from "../infra/node-version.js";
|
|
4
4
|
import openCandleExtension from "./opencandle-extension.js";
|
|
5
5
|
export async function createOpenCandleSession(options = {}) {
|
|
6
|
+
assertSupportedNodeVersion();
|
|
6
7
|
loadEnv();
|
|
7
8
|
const cwd = options.cwd ?? process.cwd();
|
|
8
9
|
const agentDir = options.agentDir ?? getAgentDir();
|
package/dist/pi/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GAIZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAc5D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA0C,EAAE;IAE5C,0BAA0B,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC;IAEV,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;IACnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAC9D,MAAM,cAAc,GAAG,kBAAkB;QACvC,CAAC,CAAC,IAAI,qBAAqB,CAAC;YACxB,GAAG;YACH,QAAQ;YACR,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,kBAAkB,EAAE;gBAClB,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;aAC5E;SACF,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,GAAG;QACH,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,cAAc;QACd,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;IAEH,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAgC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;IACjE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;QAAE,OAAO;IAElC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAAE,OAAO;IAE3F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,IAAI,OAAO,EAAE,QAAQ,KAAK,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE;QAAE,OAAO;IAE1F,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -19,6 +19,10 @@ export const POLICY_CARD_IDS = [
|
|
|
19
19
|
"concept_valuation_metric_education",
|
|
20
20
|
"general_fallback",
|
|
21
21
|
];
|
|
22
|
+
const HIGH_RISK_SPECULATION_SECTION_LIST = "Why the win story is misleading, Main risks, Why limited capital changes the answer, If you insist, and Better uses for the money";
|
|
23
|
+
const VALUATION_METRIC_EDUCATION_SECTION_LIST = "Bottom line, then a one-sentence Core mental model, then Practical workflow, Where it misleads, Cross-checks, and Quick checklist";
|
|
24
|
+
const VALUATION_METRIC_START = "Bottom line and a one-sentence Core mental model";
|
|
25
|
+
const OPTIONS_CURRENT_FACTS_GUARDRAIL = "Do not name strikes, expirations, premiums, Greeks, or implied volatility as current facts without fetched evidence.";
|
|
22
26
|
const POLICY_CARDS = {
|
|
23
27
|
ticker_disambiguation: {
|
|
24
28
|
id: "ticker_disambiguation",
|
|
@@ -123,7 +127,7 @@ For watchlist, portfolio tracking, alert management, daily-report, prediction re
|
|
|
123
127
|
status: "implemented",
|
|
124
128
|
capabilityGapIds: ["brokerage_comparison", "cash_yield_products", "fund_tax_efficiency"],
|
|
125
129
|
content: `## Retail Finance Tradeoff Policy
|
|
126
|
-
For brokerage, account, cash-parking, mortgage-vs-investing, robo-advisor, debt payoff, high-risk speculation, or retail financial-product prompts, use the retail tradeoff answer shape. Do not punt just because no dedicated live-data provider exists. Answer from durable public finance knowledge, disclose unavailable provider coverage, and label provider-site facts or current yield facts as facts the user should verify instead of fabricating them. For brokerage, robo-advisor, and product comparisons, start with a direct comparison table, cover fees, expense ratios, advisory fees, cash drag, cash sweep yields, fractional shares, fund minimums, tax-loss-harvesting support, transfer/account fees, mutual-fund versus ETF availability, support quality, recurring investment ease, ETF tax efficiency, and asset-location caveats for taxable accounts; explicitly tell the user to verify current fees, minimums, promotions, and cash allocations on provider sites. For cash parking, compare liquidity, FDIC/SIPC/Treasury risk, rate risk, taxes, minimums, access timing, and default 6-12 month cash hierarchy without inventing live yields. Debt payoff prompts should lead with avalanche when rates differ materially, compare snowball only as a behavioral alternative, show approximate monthly interest cost, mention emergency-fund floor, balance-transfer/refinance options, minimum payments, prepayment penalties, and the missing extra-payment amount needed for a precise timeline. High-risk speculation prompts such as penny stocks should answer suitability directly, especially with limited capital; lead with downside, survivorship bias, opportunity cost, liquidity/manipulation/dilution risk, and safer alternatives such as diversified ETFs or fractional shares. Do not use Practical workflow, Cross-checks, or Quick checklist for high-risk speculation; use direct sections such as
|
|
130
|
+
For brokerage, account, cash-parking, mortgage-vs-investing, robo-advisor, debt payoff, high-risk speculation, or retail financial-product prompts, use the retail tradeoff answer shape. Do not punt just because no dedicated live-data provider exists. Answer from durable public finance knowledge, disclose unavailable provider coverage, and label provider-site facts or current yield facts as facts the user should verify instead of fabricating them. For brokerage, robo-advisor, and product comparisons, start with a direct comparison table, cover fees, expense ratios, advisory fees, cash drag, cash sweep yields, fractional shares, fund minimums, tax-loss-harvesting support, transfer/account fees, mutual-fund versus ETF availability, support quality, recurring investment ease, ETF tax efficiency, and asset-location caveats for taxable accounts; explicitly tell the user to verify current fees, minimums, promotions, and cash allocations on provider sites. For cash parking, compare liquidity, FDIC/SIPC/Treasury risk, rate risk, taxes, minimums, access timing, and default 6-12 month cash hierarchy without inventing live yields. Debt payoff prompts should lead with avalanche when rates differ materially, compare snowball only as a behavioral alternative, show approximate monthly interest cost, mention emergency-fund floor, balance-transfer/refinance options, minimum payments, prepayment penalties, and the missing extra-payment amount needed for a precise timeline. High-risk speculation prompts such as penny stocks should answer suitability directly, especially with limited capital; lead with downside, survivorship bias, opportunity cost, liquidity/manipulation/dilution risk, and safer alternatives such as diversified ETFs or fractional shares. Do not use Practical workflow, Cross-checks, or Quick checklist for high-risk speculation; use direct sections such as ${HIGH_RISK_SPECULATION_SECTION_LIST}. If the user insists, frame any workflow as harm reduction with a tiny play-money bucket, a 100% loss assumption, no averaging down, and a pre-set exit rule. For mortgage-vs-investing prompts that compare against index funds, fetch broad-market history when available, then compare the guaranteed after-tax return from the supplied debt rate against uncertain market returns, liquidity, emergency fund, taxes, risk tolerance, time horizon, hybrid payoff/investing splits, and the practical implications of the user's stated rate.`,
|
|
127
131
|
},
|
|
128
132
|
concept_explainer: {
|
|
129
133
|
id: "concept_explainer",
|
|
@@ -131,7 +135,7 @@ For brokerage, account, cash-parking, mortgage-vs-investing, robo-advisor, debt
|
|
|
131
135
|
status: "implemented",
|
|
132
136
|
capabilityGapIds: [],
|
|
133
137
|
content: `## Concept Explainer Policy
|
|
134
|
-
For conceptual or educational finance prompts, use a decision-framework shape instead of a stock-analysis shape. Do not fetch live data unless the user asks for current examples, named securities, or live comparisons. Do not mention OpenCandle tool names unless the user asks how to apply the concept with OpenCandle. Do not append Analyst View, Commitment, Reasoning Chain, Confidence Band, or Invalidation Level sections. Lead with Bottom line and a plain-language Core mental model, then add a simple numerical example early when the concept has mechanics. For pure definition or interpretation prompts, explain the concept directly and do not force the Practical workflow, Cross-checks, or Quick checklist shape unless the user asks how to apply it. Adapt the sections to the concept instead of forcing every topic into a valuation-metric template. Include common misconception coverage, typical ranges or rules of thumb when stable, and a concise practical takeaway. For high-risk speculation education, directly address suitability, survivorship bias, opportunity cost for limited capital, safer alternatives such as diversified ETFs or fractional shares, and a tiny play-money bucket with a 100% loss assumption if the user insists; do not use Practical workflow, Cross-checks, or Quick checklist, and use direct sections such as
|
|
138
|
+
For conceptual or educational finance prompts, use a decision-framework shape instead of a stock-analysis shape. Do not fetch live data unless the user asks for current examples, named securities, or live comparisons. Do not mention OpenCandle tool names unless the user asks how to apply the concept with OpenCandle. Do not append Analyst View, Commitment, Reasoning Chain, Confidence Band, or Invalidation Level sections. Lead with Bottom line and a plain-language Core mental model, then add a simple numerical example early when the concept has mechanics. For pure definition or interpretation prompts, explain the concept directly and do not force the Practical workflow, Cross-checks, or Quick checklist shape unless the user asks how to apply it. Adapt the sections to the concept instead of forcing every topic into a valuation-metric template. Include common misconception coverage, typical ranges or rules of thumb when stable, and a concise practical takeaway. For high-risk speculation education, directly address suitability, survivorship bias, opportunity cost for limited capital, safer alternatives such as diversified ETFs or fractional shares, and a tiny play-money bucket with a 100% loss assumption if the user insists; do not use Practical workflow, Cross-checks, or Quick checklist, and use direct sections such as ${HIGH_RISK_SPECULATION_SECTION_LIST}. For volatility or risk-indicator education, explain options-implied annualized volatility as magnitude, not direction; include the daily expected-move rule VIX / sqrt(252); include a small range table for low, normal, elevated, and crisis-like readings; Use direct Q&A headings such as Key things to keep straight, What a high reading means, What a low reading means, and Does a spike mean a crash is coming; state that spikes often accompany rather than reliably precede selloffs, that very high readings can become contrarian on average, and that no single indicator predicts crashes; frame the indicator as a thermometer, not a forecast; mention term structure as a fuller volatility cross-check; end with Practical takeaways. For inflation, cash, savings, or purchasing-power education, explain nominal returns versus real returns, how inflation affects cash, bonds, stocks, and real assets, common protection tools such as TIPS or shorter-duration bonds, and the tax/time-horizon tradeoffs. For options education, use a simple analogy before mechanics, define jargon immediately, and include an explicit Main risks section covering capped upside, assignment risk, premium decay or limited protection, tax consequences, and behavioral risk. For valuation-metric education, start with ${VALUATION_METRIC_EDUCATION_SECTION_LIST}. Frame metrics as screening tools or question generators, not verdicts; cover earnings-quality distortions, variants such as trailing, forward, normalized, or cyclically adjusted, and cross-checks such as cash flow or enterprise-value lenses.`,
|
|
135
139
|
},
|
|
136
140
|
concept_options_education: {
|
|
137
141
|
id: "concept_options_education",
|
|
@@ -139,7 +143,7 @@ For conceptual or educational finance prompts, use a decision-framework shape in
|
|
|
139
143
|
status: "implemented",
|
|
140
144
|
capabilityGapIds: [],
|
|
141
145
|
content: `## Options Education Policy
|
|
142
|
-
For no-symbol options education prompts, teach the concept without fetching live option chains unless the user asks for current tradable examples. Start with Bottom line and a simple analogy before mechanics, then define jargon immediately. Use distinct beginner-friendly headings or a simple table for How it works, What you give up, Main risks, and When it is not ideal. Explain the payoff shape, why the strategy exists, and the tradeoffs in plain language, especially for long-term holdings. Include a Main risks section covering capped upside, assignment risk, share-price downside that premium does not protect, tax consequences including possible wash-sale or holding-period complications, liquidity or bid/ask caveats, behavioral risk, and tax treatment complexity. For volatility strategies such as long strangles or straddles, include a hypothetical stock price, strike prices, premiums, total debit, and break-even points; explain IV crush, IV rank or percentile, Vega, Theta, and why long-volatility trades can have a low win rate despite large payoff potential. Add practical trade-management guidance: profit target, stop loss, time-based exit, position sizing, and paper trading for beginners. Include a strangle versus straddle comparison and a pre-trade checklist covering catalyst, implied move, current IV environment, liquidity, max loss, tax caveat, and exit plan. Treat premium decay as a mechanics point for sellers rather than overstating it as a seller risk.
|
|
146
|
+
For no-symbol options education prompts, teach the concept without fetching live option chains unless the user asks for current tradable examples. Start with Bottom line and a simple analogy before mechanics, then define jargon immediately. Use distinct beginner-friendly headings or a simple table for How it works, What you give up, Main risks, and When it is not ideal. Explain the payoff shape, why the strategy exists, and the tradeoffs in plain language, especially for long-term holdings. Include a Main risks section covering capped upside, assignment risk, share-price downside that premium does not protect, tax consequences including possible wash-sale or holding-period complications, liquidity or bid/ask caveats, behavioral risk, and tax treatment complexity. For volatility strategies such as long strangles or straddles, include a hypothetical stock price, strike prices, premiums, total debit, and break-even points; explain IV crush, IV rank or percentile, Vega, Theta, and why long-volatility trades can have a low win rate despite large payoff potential. Add practical trade-management guidance: profit target, stop loss, time-based exit, position sizing, and paper trading for beginners. Include a strangle versus straddle comparison and a pre-trade checklist covering catalyst, implied move, current IV environment, liquidity, max loss, tax caveat, and exit plan. Treat premium decay as a mechanics point for sellers rather than overstating it as a seller risk. ${OPTIONS_CURRENT_FACTS_GUARDRAIL}`,
|
|
143
147
|
},
|
|
144
148
|
concept_inflation_cash_education: {
|
|
145
149
|
id: "concept_inflation_cash_education",
|
|
@@ -155,7 +159,7 @@ For no-symbol inflation, cash, savings, or purchasing-power education, explain n
|
|
|
155
159
|
status: "implemented",
|
|
156
160
|
capabilityGapIds: [],
|
|
157
161
|
content: `## Valuation Metric Education Policy
|
|
158
|
-
For valuation-metric education, start with
|
|
162
|
+
For valuation-metric education, start with ${VALUATION_METRIC_START}, then ground the idea with a simple analogy and numerical example. Explain how to use the metric as a set of considerations rather than a rigid step-by-step verdict: what the business earns, what investors pay for those earnings, and what growth or risk expectations are embedded. Include rules of thumb carefully, noting that growth companies, mature value companies, cyclicals, banks, and different industries can deserve very different ranges. Then explain Practical workflow, Where it misleads, Cross-checks, and a Quick checklist in beginner-friendly language. Frame P/E, P/S, EV/EBITDA, trailing, forward, normalized, or cyclically adjusted metrics as screening tools and question generators, not verdicts. Cover earnings-quality distortions, cyclicality, balance-sheet differences, capital intensity, growth quality, margin durability, accounting noise, and cross-checks such as cash flow, enterprise-value lenses, historical ranges, and peer context. Do not add entry levels, confidence bands, or invalidation boilerplate for pure education prompts.`,
|
|
159
163
|
},
|
|
160
164
|
general_fallback: placeholder("general_fallback", "general_fallback", []),
|
|
161
165
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-cards.js","sourceRoot":"","sources":["../../src/prompts/policy-cards.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"policy-cards.js","sourceRoot":"","sources":["../../src/prompts/policy-cards.ts"],"names":[],"mappings":"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"}
|