@theokit/sdk 4.56.0 → 4.57.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/CHANGELOG.md +71 -0
- package/dist/{agent-PJMBK7HQ.cjs → agent-2T2EJIP6.cjs} +10 -10
- package/dist/{agent-PJMBK7HQ.cjs.map → agent-2T2EJIP6.cjs.map} +1 -1
- package/dist/{agent-K3PQBS7D.js → agent-ZIYCVEZL.js} +9 -9
- package/dist/{agent-K3PQBS7D.js.map → agent-ZIYCVEZL.js.map} +1 -1
- package/dist/agent-session-store-G2BMUZQV.js +7 -0
- package/dist/{agent-session-store-P6V3FINW.js.map → agent-session-store-G2BMUZQV.js.map} +1 -1
- package/dist/agent-session-store-WAKLOKWK.cjs +24 -0
- package/dist/{agent-session-store-ZJ3JSRS4.cjs.map → agent-session-store-WAKLOKWK.cjs.map} +1 -1
- package/dist/{chunk-HLPSLDGL.cjs → chunk-43GFJ5SD.cjs} +7 -7
- package/dist/{chunk-HLPSLDGL.cjs.map → chunk-43GFJ5SD.cjs.map} +1 -1
- package/dist/{chunk-KBXWEWKS.js → chunk-7TCRNXNK.js} +50 -30
- package/dist/chunk-7TCRNXNK.js.map +1 -0
- package/dist/{chunk-JHPGF3FP.cjs → chunk-BUIK7GUA.cjs} +22 -2
- package/dist/chunk-BUIK7GUA.cjs.map +1 -0
- package/dist/{chunk-6VLKVX7O.cjs → chunk-E7JHD6QJ.cjs} +4 -3
- package/dist/chunk-E7JHD6QJ.cjs.map +1 -0
- package/dist/{chunk-DZBSJX6J.js → chunk-FKMUFNQE.js} +21 -4
- package/dist/chunk-FKMUFNQE.js.map +1 -0
- package/dist/{chunk-BMAZLQQ4.js → chunk-G24KZRSA.js} +3 -3
- package/dist/{chunk-BMAZLQQ4.js.map → chunk-G24KZRSA.js.map} +1 -1
- package/dist/{chunk-ODTZ7HX3.js → chunk-G6EEYRDD.js} +3 -3
- package/dist/chunk-G6EEYRDD.js.map +1 -0
- package/dist/{chunk-MVAPK2BX.js → chunk-IACR5LEM.js} +3 -3
- package/dist/{chunk-MVAPK2BX.js.map → chunk-IACR5LEM.js.map} +1 -1
- package/dist/{chunk-V2UUGUY4.cjs → chunk-KKK3FZ4A.cjs} +6 -6
- package/dist/{chunk-V2UUGUY4.cjs.map → chunk-KKK3FZ4A.cjs.map} +1 -1
- package/dist/{chunk-M7UHYBEY.js → chunk-LEM2GOMI.js} +3 -3
- package/dist/{chunk-M7UHYBEY.js.map → chunk-LEM2GOMI.js.map} +1 -1
- package/dist/{chunk-LQYQHXIW.cjs → chunk-M2JWHKO6.cjs} +103 -83
- package/dist/chunk-M2JWHKO6.cjs.map +1 -0
- package/dist/{chunk-YPJ5NH5N.cjs → chunk-QI7WE46I.cjs} +29 -6
- package/dist/chunk-QI7WE46I.cjs.map +1 -0
- package/dist/{chunk-OHBIUXKM.js → chunk-WG7R5W6R.js} +4 -4
- package/dist/{chunk-OHBIUXKM.js.map → chunk-WG7R5W6R.js.map} +1 -1
- package/dist/{chunk-H5GOSXSC.cjs → chunk-X7O4255I.cjs} +4 -4
- package/dist/{chunk-H5GOSXSC.cjs.map → chunk-X7O4255I.cjs.map} +1 -1
- package/dist/{chunk-GJ6RK75E.js → chunk-YJDH3CKG.js} +29 -6
- package/dist/chunk-YJDH3CKG.js.map +1 -0
- package/dist/{chunk-CTCGWIUD.cjs → chunk-Z4BCLVTI.cjs} +5 -5
- package/dist/{chunk-CTCGWIUD.cjs.map → chunk-Z4BCLVTI.cjs.map} +1 -1
- package/dist/{compact-session-FUJDVF7B.js → compact-session-QGDNP45U.js} +4 -4
- package/dist/{compact-session-FUJDVF7B.js.map → compact-session-QGDNP45U.js.map} +1 -1
- package/dist/{compact-session-LEWF554G.cjs → compact-session-YHFQIXV5.cjs} +12 -12
- package/dist/{compact-session-LEWF554G.cjs.map → compact-session-YHFQIXV5.cjs.map} +1 -1
- package/dist/cron.cjs +9 -9
- package/dist/cron.js +8 -8
- package/dist/eval.cjs +8 -8
- package/dist/eval.js +7 -7
- package/dist/{fs-session-store-IN7JTTXD.js → fs-session-store-4BHGIWRE.js} +4 -4
- package/dist/{fs-session-store-IN7JTTXD.js.map → fs-session-store-4BHGIWRE.js.map} +1 -1
- package/dist/{fs-session-store-3MOJQGP2.cjs → fs-session-store-XZ7ZTB3A.cjs} +5 -5
- package/dist/{fs-session-store-3MOJQGP2.cjs.map → fs-session-store-XZ7ZTB3A.cjs.map} +1 -1
- package/dist/{index-manager-WC5ZVJWO.cjs → index-manager-AO4LJQZ4.cjs} +4 -4
- package/dist/{index-manager-WC5ZVJWO.cjs.map → index-manager-AO4LJQZ4.cjs.map} +1 -1
- package/dist/{index-manager-WBIMDVQT.js → index-manager-QDPIYIGV.js} +3 -3
- package/dist/{index-manager-WBIMDVQT.js.map → index-manager-QDPIYIGV.js.map} +1 -1
- package/dist/index.cjs +38 -38
- package/dist/index.js +11 -11
- package/dist/{inject-session-WQGGMCQY.cjs → inject-session-MLCJMYDG.cjs} +7 -7
- package/dist/{inject-session-WQGGMCQY.cjs.map → inject-session-MLCJMYDG.cjs.map} +1 -1
- package/dist/{inject-session-BJMJH5BX.js → inject-session-RBQZ45UM.js} +5 -5
- package/dist/{inject-session-BJMJH5BX.js.map → inject-session-RBQZ45UM.js.map} +1 -1
- package/dist/internal/persistence/session-transcript.d.cts +40 -1
- package/dist/internal/persistence/session-transcript.d.ts +40 -1
- package/dist/persistence.cjs +4 -4
- package/dist/persistence.js +1 -1
- package/dist/session-transcript-HF5GEU5M.cjs +63 -0
- package/dist/{session-transcript-JXHFTB7G.cjs.map → session-transcript-HF5GEU5M.cjs.map} +1 -1
- package/dist/session-transcript-P462ZRHX.js +6 -0
- package/dist/{session-transcript-AKDYYGXQ.js.map → session-transcript-P462ZRHX.js.map} +1 -1
- package/docs/error-codes.md +4 -4
- package/docs/harness-capability-map.md +1 -1
- package/package.json +5 -9
- package/dist/agent-session-store-P6V3FINW.js +0 -7
- package/dist/agent-session-store-ZJ3JSRS4.cjs +0 -24
- package/dist/chunk-6VLKVX7O.cjs.map +0 -1
- package/dist/chunk-DZBSJX6J.js.map +0 -1
- package/dist/chunk-GJ6RK75E.js.map +0 -1
- package/dist/chunk-JHPGF3FP.cjs.map +0 -1
- package/dist/chunk-KBXWEWKS.js.map +0 -1
- package/dist/chunk-LQYQHXIW.cjs.map +0 -1
- package/dist/chunk-ODTZ7HX3.js.map +0 -1
- package/dist/chunk-YPJ5NH5N.cjs.map +0 -1
- package/dist/session-transcript-AKDYYGXQ.js +0 -6
- package/dist/session-transcript-JXHFTB7G.cjs +0 -51
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-
|
|
2
|
-
import { IndexManager, writeSessionSummary, memoryDir, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-
|
|
1
|
+
import { enqueueSessionWrite, hydrateSession, persistTurnToTranscript, flushSessionWrites, appendSessionMessage, getSessionMessages, discardSession, clearSession } from './chunk-WG7R5W6R.js';
|
|
2
|
+
import { IndexManager, writeSessionSummary, memoryDir, MEMORY_KINDS, appendFact, readFacts, legacyMemoryJsonPath, memoryMdPath, appendFactToMarkdown } from './chunk-G6EEYRDD.js';
|
|
3
3
|
import { loadHookConfig, warnOnce, currentPersonalityContext, warnPersonalitySwitchInsideFork } from './chunk-YMA4S2WO.js';
|
|
4
4
|
import { extractCodePlugins } from './chunk-2SFBB54R.js';
|
|
5
5
|
import { submit, emitRunEvent } from './chunk-SUKXXLWD.js';
|
|
6
6
|
import { createOpenAiCompatibleRuntime } from './chunk-XN7NOENA.js';
|
|
7
|
-
import { FsSessionStore } from './chunk-
|
|
8
|
-
import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, CircuitBreaker, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, warnProviderPrecedenceOnce, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-
|
|
7
|
+
import { FsSessionStore } from './chunk-YJDH3CKG.js';
|
|
8
|
+
import { discoverProviderPlugins, getConfiguredBaseUrl, httpRequest, isFixtureApiKey, presentProviderCredentialEnvVars, CircuitBreaker, buildDefaultSummarizer, shouldUseRealLocalRuntime, parseSseStream, resolveProviderChain, inferProviderFromApiKey, detectPrimaryProvider, warnProviderPrecedenceOnce, tryFirstEvent, relayStream, renderToolResultContentText } from './chunk-IACR5LEM.js';
|
|
9
9
|
import { resolveChildEnv } from './chunk-HKCKOAIO.js';
|
|
10
10
|
import { DEFAULT_MAX_BYTES_PER_FILE, runDiscovery, truncateWithMarker } from './chunk-7FHZ4VQX.js';
|
|
11
11
|
import { readVersionedJson, getTheokitHome, writeVersionedJson } from './chunk-UPRJR6IP.js';
|
|
@@ -18,7 +18,7 @@ import { withToolWhitelist, checkToolWhitelist } from './chunk-7AD3ZTZL.js';
|
|
|
18
18
|
import { validateArtifactPath, PathTraversalError, safePathJoin } from './chunk-QARJGQSA.js';
|
|
19
19
|
import { insideRoot, atOrInsideRoot } from './chunk-RIAM53CP.js';
|
|
20
20
|
import { mapWithConcurrency } from './chunk-UC3HT2S4.js';
|
|
21
|
-
import { expandTilde, defaultBaseDir } from './chunk-
|
|
21
|
+
import { expandTilde, defaultBaseDir } from './chunk-FKMUFNQE.js';
|
|
22
22
|
import { withFileLock } from './chunk-CV7XMBHP.js';
|
|
23
23
|
import { withCwdMutex } from './chunk-Q5EWJPRY.js';
|
|
24
24
|
import { atomicWriteJson } from './chunk-VF7EWVDG.js';
|
|
@@ -915,14 +915,21 @@ async function migrateLegacyJson(cwd, config) {
|
|
|
915
915
|
}
|
|
916
916
|
|
|
917
917
|
// src/internal/runtime/memory/memory-store.ts
|
|
918
|
-
var REMEMBER_PATTERN = /^\s*Remember(?:\s+this\s+durable\s+preference)?\s*:\s*(.+)$/i;
|
|
918
|
+
var REMEMBER_PATTERN = /^\s*Remember(?:\s+this\s+durable\s+preference)?\s*(?:\((user|feedback|project|reference)\))?\s*:\s*(.+)$/i;
|
|
919
919
|
function isMemoryWritePrompt(message) {
|
|
920
920
|
return REMEMBER_PATTERN.test(message) || message.includes("Remember this durable");
|
|
921
921
|
}
|
|
922
922
|
function extractMemoryFact(message) {
|
|
923
923
|
const match = REMEMBER_PATTERN.exec(message);
|
|
924
|
-
if (match === null || match[
|
|
925
|
-
return match[
|
|
924
|
+
if (match === null || match[2] === void 0) return "";
|
|
925
|
+
return match[2].trim().replace(/\.$/, "");
|
|
926
|
+
}
|
|
927
|
+
function extractMemoryKind(message) {
|
|
928
|
+
const match = REMEMBER_PATTERN.exec(message);
|
|
929
|
+
const declared = match?.[1];
|
|
930
|
+
if (declared === void 0) return void 0;
|
|
931
|
+
const lowered = declared.toLowerCase();
|
|
932
|
+
return MEMORY_KINDS.includes(lowered) ? lowered : void 0;
|
|
926
933
|
}
|
|
927
934
|
async function readMemoryFacts(cwd, config) {
|
|
928
935
|
if (!config.enabled) return [];
|
|
@@ -932,7 +939,10 @@ async function readMemoryFacts(cwd, config) {
|
|
|
932
939
|
async function appendMemoryFact(cwd, config, fact) {
|
|
933
940
|
if (!config.enabled) return;
|
|
934
941
|
await migrateLegacyJson(cwd, config);
|
|
935
|
-
const sanitized = {
|
|
942
|
+
const sanitized = {
|
|
943
|
+
text: redactSecrets(fact.text),
|
|
944
|
+
...fact.kind === void 0 ? {} : { kind: fact.kind }
|
|
945
|
+
};
|
|
936
946
|
await appendFact(cwd, config, sanitized);
|
|
937
947
|
}
|
|
938
948
|
|
|
@@ -8964,8 +8974,12 @@ async function persistMemoryFactIfWritePrompt(workspaceCwd, memoryConfig, userTe
|
|
|
8964
8974
|
if (!isMemoryWritePrompt(userText)) return;
|
|
8965
8975
|
const fact = extractMemoryFact(userText);
|
|
8966
8976
|
if (fact.length === 0) return;
|
|
8977
|
+
const kind = extractMemoryKind(userText);
|
|
8967
8978
|
await safeCall(
|
|
8968
|
-
() => appendMemoryFact(workspaceCwd, memoryConfig, {
|
|
8979
|
+
() => appendMemoryFact(workspaceCwd, memoryConfig, {
|
|
8980
|
+
text: fact,
|
|
8981
|
+
...kind === void 0 ? {} : { kind }
|
|
8982
|
+
}),
|
|
8969
8983
|
void 0,
|
|
8970
8984
|
"memory write"
|
|
8971
8985
|
);
|
|
@@ -9844,22 +9858,28 @@ function missingApiKeyMessage() {
|
|
|
9844
9858
|
if (present.length === 0) return `${base}.`;
|
|
9845
9859
|
return `${base}. ${present.join(" and ")} ${present.length === 1 ? "is" : "are"} set, but a provider credential is not read from the environment automatically \u2014 pass it explicitly, e.g. \`Agent.create({ apiKey: process.env.${present[0]}, ... })\`.`;
|
|
9846
9860
|
}
|
|
9861
|
+
function providerNeedsCallerKey(provider) {
|
|
9862
|
+
if (provider === void 0) return true;
|
|
9863
|
+
const profile = getProviderProfile(provider);
|
|
9864
|
+
if (profile === void 0) return true;
|
|
9865
|
+
return profile.authType === "api_key";
|
|
9866
|
+
}
|
|
9847
9867
|
async function createLocalAgent(options) {
|
|
9868
|
+
const provider = providerFromModelId(normalizeModel(options.model)?.id);
|
|
9848
9869
|
const apiKey = resolveApiKey(options.apiKey);
|
|
9849
9870
|
if (apiKey === void 0) {
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
throw new AuthenticationError(shape.message, { code: "malformed_api_key" });
|
|
9871
|
+
if (providerNeedsCallerKey(provider)) {
|
|
9872
|
+
throw new AuthenticationError(missingApiKeyMessage(), { code: "missing_api_key" });
|
|
9873
|
+
}
|
|
9874
|
+
} else {
|
|
9875
|
+
const willFlowToProvider = keyWillFlowToProvider(apiKey, provider);
|
|
9876
|
+
const shape = validateApiKeyShape(apiKey, {
|
|
9877
|
+
strict: willFlowToProvider,
|
|
9878
|
+
...willFlowToProvider ? { provider } : {}
|
|
9879
|
+
});
|
|
9880
|
+
if (shape.malformed) {
|
|
9881
|
+
throw new AuthenticationError(shape.message, { code: "malformed_api_key" });
|
|
9882
|
+
}
|
|
9863
9883
|
}
|
|
9864
9884
|
const agent = new LocalAgent(options);
|
|
9865
9885
|
await agent.initialize();
|
|
@@ -10356,7 +10376,7 @@ var Agent = class _Agent {
|
|
|
10356
10376
|
`No local agent "${agentId}" registered \u2014 compact targets local sessions.`
|
|
10357
10377
|
);
|
|
10358
10378
|
}
|
|
10359
|
-
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-
|
|
10379
|
+
const { compactSessionTranscript, buildDefaultSummarizer: buildDefaultSummarizer2 } = await import('./compact-session-QGDNP45U.js');
|
|
10360
10380
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
10361
10381
|
return enqueueSessionWrite(
|
|
10362
10382
|
cwd,
|
|
@@ -10392,7 +10412,7 @@ var Agent = class _Agent {
|
|
|
10392
10412
|
`No local agent "${agentId}" registered \u2014 injectSessionTurn targets local sessions.`
|
|
10393
10413
|
);
|
|
10394
10414
|
}
|
|
10395
|
-
const { injectSessionTurn } = await import('./inject-session-
|
|
10415
|
+
const { injectSessionTurn } = await import('./inject-session-RBQZ45UM.js');
|
|
10396
10416
|
const { cwd, model, store } = await openLocalStore(reg);
|
|
10397
10417
|
await injectSessionTurn({
|
|
10398
10418
|
store,
|
|
@@ -10431,7 +10451,7 @@ var Agent = class _Agent {
|
|
|
10431
10451
|
`No local agent "${agentId}" registered \u2014 transcript targets local sessions.`
|
|
10432
10452
|
);
|
|
10433
10453
|
}
|
|
10434
|
-
const { readSessionMessages } = await import('./agent-session-store-
|
|
10454
|
+
const { readSessionMessages } = await import('./agent-session-store-G2BMUZQV.js');
|
|
10435
10455
|
const { store } = await openLocalStore(reg);
|
|
10436
10456
|
return readSessionMessages(store, agentId);
|
|
10437
10457
|
}
|
|
@@ -10519,13 +10539,13 @@ async function openLocalStore(reg) {
|
|
|
10519
10539
|
const cwd = reg.cwd ?? process.cwd();
|
|
10520
10540
|
const optModel = reg.options.model;
|
|
10521
10541
|
const model = reg.model?.id ?? (typeof optModel === "string" ? optModel : optModel?.id) ?? "unknown";
|
|
10522
|
-
const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-
|
|
10523
|
-
const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-
|
|
10542
|
+
const { FsSessionStore: FsSessionStore2 } = await import('./fs-session-store-4BHGIWRE.js');
|
|
10543
|
+
const { defaultBaseDir: defaultBaseDir2, expandTilde: expandTilde2 } = await import('./session-transcript-P462ZRHX.js');
|
|
10524
10544
|
const configuredSessionDir = reg.options.local?.sessionDir ?? reg.options.local?.baseDir;
|
|
10525
10545
|
const baseDir = configuredSessionDir !== void 0 ? expandTilde2(configuredSessionDir) : defaultBaseDir2();
|
|
10526
10546
|
return { cwd, model, store: new FsSessionStore2({ baseDir, cwd }) };
|
|
10527
10547
|
}
|
|
10528
10548
|
|
|
10529
10549
|
export { Agent, AgentBuilder, DEFAULT_AGENTIC_MODEL_ID, MEMORY_EMBEDDING_ADAPTERS, Tool, ToolError, UsageAccumulator, computeCost, generateCronId, getPricingEntry, openRouterMemoryEmbeddingProviderAdapter };
|
|
10530
|
-
//# sourceMappingURL=chunk-
|
|
10531
|
-
//# sourceMappingURL=chunk-
|
|
10550
|
+
//# sourceMappingURL=chunk-7TCRNXNK.js.map
|
|
10551
|
+
//# sourceMappingURL=chunk-7TCRNXNK.js.map
|