@lore-co/cli 0.2.35 → 0.2.37
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 +4 -4
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +82 -13
- package/dist/cli.js.map +1 -1
- package/dist/codex-hook-approval.d.ts +7 -2
- package/dist/codex-hook-approval.d.ts.map +1 -1
- package/dist/codex-hook-approval.js +8 -4
- package/dist/codex-hook-approval.js.map +1 -1
- package/dist/generated-assets.d.ts +8 -8
- package/dist/generated-assets.d.ts.map +1 -1
- package/dist/generated-assets.js +8 -8
- package/dist/generated-assets.js.map +1 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +4 -8
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lore-agent.d.ts +2 -1
- package/dist/lore-agent.d.ts.map +1 -1
- package/dist/lore-agent.js +14 -6
- package/dist/lore-agent.js.map +1 -1
- package/dist/owned-files.d.ts +5 -0
- package/dist/owned-files.d.ts.map +1 -1
- package/dist/owned-files.js +22 -7
- package/dist/owned-files.js.map +1 -1
- package/dist/recovery-cloud-workspace.d.ts.map +1 -1
- package/dist/recovery-cloud-workspace.js +2 -2
- package/dist/recovery-cloud-workspace.js.map +1 -1
- package/dist/recovery-cloud.d.ts +21 -3
- package/dist/recovery-cloud.d.ts.map +1 -1
- package/dist/recovery-cloud.js +77 -10
- package/dist/recovery-cloud.js.map +1 -1
- package/dist/recovery-state.d.ts.map +1 -1
- package/dist/recovery-state.js +8 -5
- package/dist/recovery-state.js.map +1 -1
- package/dist/reliability-store.d.ts +7 -0
- package/dist/reliability-store.d.ts.map +1 -1
- package/dist/reliability-store.js +32 -0
- package/dist/reliability-store.js.map +1 -1
- package/dist/remember.d.ts.map +1 -1
- package/dist/remember.js +12 -2
- package/dist/remember.js.map +1 -1
- package/dist/retrieval-task.d.ts +3 -9
- package/dist/retrieval-task.d.ts.map +1 -1
- package/dist/retrieval-task.js +23 -29
- package/dist/retrieval-task.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +34 -13
- package/dist/runtime.js.map +1 -1
- package/dist/self-host.d.ts +1 -1
- package/dist/self-host.d.ts.map +1 -1
- package/dist/self-host.js +9 -3
- package/dist/self-host.js.map +1 -1
- package/dist/skills.d.ts +2 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +15 -5
- package/dist/skills.js.map +1 -1
- package/dist/status-health.d.ts +5 -0
- package/dist/status-health.d.ts.map +1 -1
- package/dist/status-health.js +13 -3
- package/dist/status-health.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +2 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/uninstall.d.ts +2 -0
- package/dist/uninstall.d.ts.map +1 -1
- package/dist/uninstall.js +1 -1
- package/dist/uninstall.js.map +1 -1
- package/dist/update.js +3 -3
- package/package.json +4 -4
package/dist/retrieval-task.js
CHANGED
|
@@ -45,9 +45,10 @@ export async function unsavedRetrievalTask(store, session, prompt) {
|
|
|
45
45
|
return requestText(prompt) || "Review the current request.";
|
|
46
46
|
}
|
|
47
47
|
const PROMPT_TEXT_CLEANUP_KEY = "prompt-text-cleanup-v1";
|
|
48
|
-
|
|
48
|
+
// v1 sweeps listed only the newest 128 snapshots, so the oldest could survive.
|
|
49
|
+
const CONTEXT_SNAPSHOT_CLEANUP_KEY = "context-snapshot-cleanup-v2";
|
|
49
50
|
const STALE_PROMPT_MS = 60 * 60_000;
|
|
50
|
-
function
|
|
51
|
+
function snapshotPayload(value) {
|
|
51
52
|
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
52
53
|
return undefined;
|
|
53
54
|
const compactJws = value.compactJws;
|
|
@@ -56,7 +57,7 @@ function cachedSnapshot(value) {
|
|
|
56
57
|
try {
|
|
57
58
|
const payload = JSON.parse(Buffer.from(compactJws.split(".")[1] ?? "", "base64url").toString("utf8"));
|
|
58
59
|
return payload && typeof payload === "object" && !Array.isArray(payload)
|
|
59
|
-
?
|
|
60
|
+
? payload
|
|
60
61
|
: undefined;
|
|
61
62
|
}
|
|
62
63
|
catch {
|
|
@@ -64,28 +65,26 @@ function cachedSnapshot(value) {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
/** A cached context response signs its request, so one sent with capture off holds the prompt. */
|
|
67
|
-
function
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
return request && typeof request === "object" && request.capture === false
|
|
71
|
-
? cached?.compactJws
|
|
72
|
-
: undefined;
|
|
68
|
+
function uncaptured(payload) {
|
|
69
|
+
const request = payload.request;
|
|
70
|
+
return Boolean(request && typeof request === "object" && request.capture === false);
|
|
73
71
|
}
|
|
74
72
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
73
|
+
* Earlier versions cached context that should not stay on this machine:
|
|
74
|
+
* responses from servers before Lore 0.2.27 signed each learning's source
|
|
75
|
+
* conversation, including other members' private sessions, and responses to
|
|
76
|
+
* requests sent with capture off signed the prompt. Remove both once per
|
|
77
|
+
* store, checking every cached snapshot; offline fallback resumes from the
|
|
78
|
+
* next live response.
|
|
78
79
|
*/
|
|
79
|
-
async function
|
|
80
|
-
if (await store.readState(
|
|
80
|
+
async function forgetCachedText(store, now) {
|
|
81
|
+
if (await store.readState(CONTEXT_SNAPSHOT_CLEANUP_KEY) !== null)
|
|
81
82
|
return;
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
await store.writeState(SOURCE_CONVERSATION_CLEANUP_KEY, { at: now.toISOString() }, now);
|
|
83
|
+
await store.deleteContextSnapshotsWhere(value => {
|
|
84
|
+
const payload = snapshotPayload(value);
|
|
85
|
+
return payload !== undefined && (referencesSourceConversations(payload) || uncaptured(payload));
|
|
86
|
+
});
|
|
87
|
+
await store.writeState(CONTEXT_SNAPSHOT_CLEANUP_KEY, { at: now.toISOString() }, now);
|
|
89
88
|
}
|
|
90
89
|
/**
|
|
91
90
|
* Earlier versions kept prompt text on this machine while capture was off:
|
|
@@ -93,11 +92,11 @@ async function forgetSourceConversations(store, now) {
|
|
|
93
92
|
* (Cursor), and cached context responses. Remove it once per store. Recalled
|
|
94
93
|
* tasks are deleted in either mode because their capture mode is not
|
|
95
94
|
* recorded; recall restarts from the next prompt. With capture on, a pending
|
|
96
|
-
* prompt is kept while it may still be in use. Cached context
|
|
97
|
-
*
|
|
95
|
+
* prompt is kept while it may still be in use. Cached context is removed
|
|
96
|
+
* first, under its own once-per-store key.
|
|
98
97
|
*/
|
|
99
98
|
export async function forgetUncapturedPromptText(store, capture, now, promptStates) {
|
|
100
|
-
await
|
|
99
|
+
await forgetCachedText(store, now);
|
|
101
100
|
if (await store.readState(PROMPT_TEXT_CLEANUP_KEY) !== null)
|
|
102
101
|
return;
|
|
103
102
|
for (const stateKey of await store.stateKeys("retrieval-task-"))
|
|
@@ -113,11 +112,6 @@ export async function forgetUncapturedPromptText(store, capture, now, promptStat
|
|
|
113
112
|
});
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
|
-
for (const record of (await store.listContextSnapshots()).records) {
|
|
117
|
-
const compactJws = uncapturedSnapshot(record.value);
|
|
118
|
-
if (compactJws !== undefined)
|
|
119
|
-
await store.deleteContextSnapshot(record.cacheKey, compactJws);
|
|
120
|
-
}
|
|
121
115
|
await store.writeState(PROMPT_TEXT_CLEANUP_KEY, { at: now.toISOString() }, now);
|
|
122
116
|
}
|
|
123
117
|
/** Enrich search only; the captured user/assistant messages remain unchanged. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval-task.js","sourceRoot":"","sources":["../src/retrieval-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAcpC,SAAS,GAAG,CAAC,OAAyB;IACpC,OAAO,kBAAkB,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAClE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS;KACxD,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,SAAS,WAAW,CAAC,MAAc;IACjC,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;SACvC,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAgB,EAAE,OAAyB;IAClF,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAgB,EAAE,OAAyB;IACnF,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI;YAAE,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAgB,EAAE,OAAyB,EAAE,MAAc;IACpG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,6BAA6B,CAAC;AAC9D,CAAC;AAED,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD
|
|
1
|
+
{"version":3,"file":"retrieval-task.js","sourceRoot":"","sources":["../src/retrieval-task.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -2,8 +2,10 @@ import { redactSecrets } from "./runtime-redaction.js";
|
|
|
2
2
|
export { redactSecrets } from "./runtime-redaction.js";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import { CAPTURE_CONFLICT_MESSAGES } from "@lore-co/core/capture-conflict";
|
|
5
|
+
import { currentDashboardUrl } from "@lore-co/core/dashboard-url";
|
|
5
6
|
import { guardItemLine } from "@lore-co/core/learning-line";
|
|
6
7
|
import { fitSkillContext } from "@lore-co/core/skill-context";
|
|
8
|
+
import { frameLoreContext, stripHiddenCharacters } from "@lore-co/core/delivered-text";
|
|
7
9
|
import { systemCommand } from "@lore-co/core/system-command";
|
|
8
10
|
import { approachGuidance, approachWorkflowRequested } from "./approach-guidance.js";
|
|
9
11
|
import { skillGuidance } from "./skill-guidance.js";
|
|
@@ -12,7 +14,7 @@ import { clearRetrievalTask, forgetUncapturedPromptText, resolveRetrievalTask, u
|
|
|
12
14
|
import { access, chmod, mkdir, readFile, stat, } from "node:fs/promises";
|
|
13
15
|
import { constants as fsConstants, realpathSync } from "node:fs";
|
|
14
16
|
import { execFile as execFileCallback } from "node:child_process";
|
|
15
|
-
import { dirname, parse, relative, resolve } from "node:path";
|
|
17
|
+
import { dirname, isAbsolute, parse, relative, resolve } from "node:path";
|
|
16
18
|
import { homedir } from "node:os";
|
|
17
19
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
18
20
|
import { promisify } from "node:util";
|
|
@@ -376,7 +378,7 @@ async function readRuntimeConfig(home, cwd) {
|
|
|
376
378
|
: undefined;
|
|
377
379
|
const dashboardUrl = typeof parsed.dashboardUrl === "string" &&
|
|
378
380
|
/^https?:\/\//u.test(parsed.dashboardUrl)
|
|
379
|
-
? parsed.dashboardUrl.replace(/\/+$/u, "")
|
|
381
|
+
? currentDashboardUrl(parsed.dashboardUrl.replace(/\/+$/u, ""))
|
|
380
382
|
: undefined;
|
|
381
383
|
const workspaceId = typeof parsed.workspaceId === "string" &&
|
|
382
384
|
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(parsed.workspaceId)
|
|
@@ -740,6 +742,20 @@ async function boundedResponseJson(response, maxBytes = MAX_RESPONSE_BYTES) {
|
|
|
740
742
|
function boundedContext(value) {
|
|
741
743
|
return Array.from(value.trim()).slice(0, MAX_CONTEXT_CHARS).join("");
|
|
742
744
|
}
|
|
745
|
+
/** Server text without characters that hide or reorder it, before any of it reaches an agent or the receipt. */
|
|
746
|
+
function cleanDelivery(delivery) {
|
|
747
|
+
const optional = (value) => value === undefined ? undefined : stripHiddenCharacters(value);
|
|
748
|
+
const relatedContext = optional(delivery.relatedContext), skillContext = optional(delivery.skillContext), approachContext = optional(delivery.approachContext);
|
|
749
|
+
return {
|
|
750
|
+
...delivery,
|
|
751
|
+
context: stripHiddenCharacters(delivery.context),
|
|
752
|
+
...(relatedContext === undefined ? {} : { relatedContext }),
|
|
753
|
+
...(skillContext === undefined ? {} : { skillContext }),
|
|
754
|
+
...(approachContext === undefined ? {} : { approachContext }),
|
|
755
|
+
learned: delivery.learned.map(item => ({ ...item, content: stripHiddenCharacters(item.content) })),
|
|
756
|
+
delivered: delivery.delivered.map(item => ({ ...item, content: stripHiddenCharacters(item.content) })),
|
|
757
|
+
};
|
|
758
|
+
}
|
|
743
759
|
function emptyDelivery() {
|
|
744
760
|
return { context: "", learned: [], delivered: [] };
|
|
745
761
|
}
|
|
@@ -1864,8 +1880,8 @@ function guardResultFromResponse(value) {
|
|
|
1864
1880
|
const rule = isGuardRule(item.guardRule) ? guardRuleContent(item.guardRule) : undefined;
|
|
1865
1881
|
return [
|
|
1866
1882
|
{
|
|
1867
|
-
content: redactSecrets(item.content),
|
|
1868
|
-
...(rule === undefined || rule === item.content ? {} : { rule }),
|
|
1883
|
+
content: stripHiddenCharacters(redactSecrets(item.content)),
|
|
1884
|
+
...(rule === undefined || rule === item.content ? {} : { rule: stripHiddenCharacters(rule) }),
|
|
1869
1885
|
enforcement: typeof item.enforcement === "string"
|
|
1870
1886
|
? item.enforcement
|
|
1871
1887
|
: "advisory",
|
|
@@ -1876,17 +1892,19 @@ function guardResultFromResponse(value) {
|
|
|
1876
1892
|
: [];
|
|
1877
1893
|
const conflictSummaries = Array.isArray(value.conflicts)
|
|
1878
1894
|
? value.conflicts.flatMap((conflict) => isObject(conflict) && typeof conflict.summary === "string"
|
|
1879
|
-
? [redactSecrets(conflict.summary)]
|
|
1895
|
+
? [stripHiddenCharacters(redactSecrets(conflict.summary))]
|
|
1880
1896
|
: [])
|
|
1881
1897
|
: [];
|
|
1882
|
-
const
|
|
1898
|
+
const checkId = typeof value.checkId === "string" && UUID_PATTERN.test(value.checkId) ? value.checkId : undefined;
|
|
1883
1899
|
return {
|
|
1884
|
-
...(
|
|
1900
|
+
...(checkId === undefined ? {} : { checkId }),
|
|
1885
1901
|
mode: value.mode,
|
|
1886
1902
|
...(value.policyIssue === "unsupported_required_rules" ? { policyUnavailable: true } : {}),
|
|
1887
1903
|
requiresConfirmation: value.requiresConfirmation === true,
|
|
1888
|
-
|
|
1889
|
-
|
|
1904
|
+
// The approve command is built here from the check id, never taken from
|
|
1905
|
+
// the server, since the agent is told the user can run it.
|
|
1906
|
+
...(isObject(value.confirm) && checkId !== undefined
|
|
1907
|
+
? { confirmCommand: `lore guard approve ${checkId}` }
|
|
1890
1908
|
: {}),
|
|
1891
1909
|
items,
|
|
1892
1910
|
conflictSummaries,
|
|
@@ -1916,7 +1934,7 @@ function guardAssistContext(result, repo) {
|
|
|
1916
1934
|
lines.push(`- ${summary}`);
|
|
1917
1935
|
}
|
|
1918
1936
|
}
|
|
1919
|
-
return boundedContext(lines.join("\n"));
|
|
1937
|
+
return frameLoreContext([boundedContext(lines.join("\n"))]);
|
|
1920
1938
|
}
|
|
1921
1939
|
function guardConfirmationReason(result, repo) {
|
|
1922
1940
|
if (result.policyUnavailable)
|
|
@@ -2063,8 +2081,10 @@ async function handleGuardEvent(input, agent, config, sessionId, options, now, c
|
|
|
2063
2081
|
return normalizedRepositoryPath(file);
|
|
2064
2082
|
}
|
|
2065
2083
|
const relativePath = relative(root, absolute);
|
|
2066
|
-
|
|
2067
|
-
|
|
2084
|
+
// A file outside the repository has no repository path; dropping its
|
|
2085
|
+
// leading slash would make /tmp/out.log look like tmp/out.log.
|
|
2086
|
+
return relativePath.startsWith("..") || isAbsolute(relativePath)
|
|
2087
|
+
? ""
|
|
2068
2088
|
: normalizedRepositoryPath(relativePath);
|
|
2069
2089
|
})
|
|
2070
2090
|
.filter((file) => file !== "");
|
|
@@ -2705,6 +2725,7 @@ async function handlePromptEvent(input, agent, sessionId, config, options, now,
|
|
|
2705
2725
|
}
|
|
2706
2726
|
const uniqueNotices = [...new Set(notices)];
|
|
2707
2727
|
const reliabilityNotice = uniqueNotices.length === 0 ? undefined : uniqueNotices.join(" ");
|
|
2728
|
+
delivery = cleanDelivery(delivery);
|
|
2708
2729
|
const receipt = receiptMessage(config, agent, delivery);
|
|
2709
2730
|
if (retrieve && delivery.completeContext)
|
|
2710
2731
|
await rememberDeliveredContext(store, contextSession, delivery).catch(() => undefined);
|
|
@@ -2713,7 +2734,7 @@ async function handlePromptEvent(input, agent, sessionId, config, options, now,
|
|
|
2713
2734
|
const approachContext = delivery.approachContext && !retainedContext.some(text => text.includes(delivery.approachContext))
|
|
2714
2735
|
? delivery.approachContext : undefined;
|
|
2715
2736
|
// Skills are fresh on every turn, even when learning context is retained.
|
|
2716
|
-
const taskContext = [delivery.skillContext, delivery.context, relatedContext, approachContext, delivery.reliability?.status === "failed" ? undefined : approachGuidance(prompt, agent, redactSecrets(sessionId), retainedContext, await approachWorkflowStarted(store, agent, sessionId, now, approachWorkflowRequested(prompt))), delivery.skillContext === undefined && delivery.reliability?.status !== "failed" ? skillGuidance(retainedContext) : undefined,
|
|
2737
|
+
const taskContext = [delivery.skillContext, frameLoreContext([delivery.context, relatedContext, approachContext]), delivery.reliability?.status === "failed" ? undefined : approachGuidance(prompt, agent, redactSecrets(sessionId), retainedContext, await approachWorkflowStarted(store, agent, sessionId, now, approachWorkflowRequested(prompt))), delivery.skillContext === undefined && delivery.reliability?.status !== "failed" ? skillGuidance(retainedContext) : undefined,
|
|
2717
2738
|
recapReminder && await claimRecapReminder(store, agent, sessionId, now) ? RECAP_REMINDER : undefined].filter(Boolean).join("\n\n");
|
|
2718
2739
|
const systemMessage = agent === "cursor" || agent === "polytoken"
|
|
2719
2740
|
? undefined
|