@clinebot/core 0.0.36 → 0.0.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/dist/ClineCore.d.ts +312 -3
- package/dist/ClineCore.d.ts.map +1 -1
- package/dist/account/cline-account-service.d.ts.map +1 -1
- package/dist/cron/cron-event-ingress.d.ts +38 -0
- package/dist/cron/cron-event-ingress.d.ts.map +1 -0
- package/dist/cron/cron-materializer.d.ts +36 -0
- package/dist/cron/cron-materializer.d.ts.map +1 -0
- package/dist/cron/cron-reconciler.d.ts +62 -0
- package/dist/cron/cron-reconciler.d.ts.map +1 -0
- package/dist/cron/cron-report-writer.d.ts +41 -0
- package/dist/cron/cron-report-writer.d.ts.map +1 -0
- package/dist/cron/cron-runner.d.ts +43 -0
- package/dist/cron/cron-runner.d.ts.map +1 -0
- package/dist/cron/cron-schema.d.ts +3 -0
- package/dist/cron/cron-schema.d.ts.map +1 -0
- package/dist/cron/cron-service.d.ts +57 -0
- package/dist/cron/cron-service.d.ts.map +1 -0
- package/dist/cron/cron-spec-parser.d.ts +27 -0
- package/dist/cron/cron-spec-parser.d.ts.map +1 -0
- package/dist/cron/cron-watcher.d.ts +23 -0
- package/dist/cron/cron-watcher.d.ts.map +1 -0
- package/dist/cron/scheduler.d.ts +3 -1
- package/dist/cron/scheduler.d.ts.map +1 -1
- package/dist/cron/sqlite-cron-store.d.ts +230 -0
- package/dist/cron/sqlite-cron-store.d.ts.map +1 -0
- package/dist/extensions/plugin/plugin-config-loader.d.ts +7 -1
- package/dist/extensions/plugin/plugin-config-loader.d.ts.map +1 -1
- package/dist/extensions/plugin/plugin-loader.d.ts +10 -6
- package/dist/extensions/plugin/plugin-loader.d.ts.map +1 -1
- package/dist/extensions/plugin/plugin-sandbox.d.ts +7 -1
- package/dist/extensions/plugin/plugin-sandbox.d.ts.map +1 -1
- package/dist/extensions/plugin-sandbox-bootstrap.js +236 -275
- package/dist/extensions/tools/constants.d.ts +1 -0
- package/dist/extensions/tools/constants.d.ts.map +1 -1
- package/dist/extensions/tools/definitions.d.ts +2 -3
- package/dist/extensions/tools/definitions.d.ts.map +1 -1
- package/dist/extensions/tools/executors/editor.d.ts.map +1 -1
- package/dist/extensions/tools/helpers.d.ts +1 -0
- package/dist/extensions/tools/helpers.d.ts.map +1 -1
- package/dist/extensions/tools/index.d.ts +1 -2
- package/dist/extensions/tools/index.d.ts.map +1 -1
- package/dist/extensions/tools/presets.d.ts +1 -1
- package/dist/extensions/tools/schemas.d.ts +25 -3
- package/dist/extensions/tools/schemas.d.ts.map +1 -1
- package/dist/extensions/tools/team/delegated-agent.d.ts +2 -2
- package/dist/extensions/tools/team/delegated-agent.d.ts.map +1 -1
- package/dist/extensions/tools/team/multi-agent.d.ts +7 -3
- package/dist/extensions/tools/team/multi-agent.d.ts.map +1 -1
- package/dist/extensions/tools/team/team-tools.d.ts.map +1 -1
- package/dist/extensions/tools/types.d.ts +0 -5
- package/dist/extensions/tools/types.d.ts.map +1 -1
- package/dist/hooks/hook-bridge.d.ts +118 -0
- package/dist/hooks/hook-bridge.d.ts.map +1 -0
- package/dist/hooks/hook-file-hooks.d.ts +2 -1
- package/dist/hooks/hook-file-hooks.d.ts.map +1 -1
- package/dist/hooks/hook-registry.d.ts +16 -0
- package/dist/hooks/hook-registry.d.ts.map +1 -0
- package/dist/hub/browser-websocket.d.ts.map +1 -1
- package/dist/hub/client.d.ts +7 -1
- package/dist/hub/client.d.ts.map +1 -1
- package/dist/hub/daemon-entry.js +721 -461
- package/dist/hub/daemon.d.ts.map +1 -1
- package/dist/hub/defaults.d.ts +8 -4
- package/dist/hub/defaults.d.ts.map +1 -1
- package/dist/hub/index.js +665 -415
- package/dist/hub/runtime-handlers.d.ts.map +1 -1
- package/dist/hub/server.d.ts +18 -0
- package/dist/hub/server.d.ts.map +1 -1
- package/dist/hub/session-client.d.ts +3 -0
- package/dist/hub/session-client.d.ts.map +1 -1
- package/dist/hub/start-shared-server.d.ts.map +1 -1
- package/dist/hub/ui-client.d.ts +1 -0
- package/dist/hub/ui-client.d.ts.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +756 -467
- package/dist/llms/cline-recommended-models.d.ts +20 -0
- package/dist/llms/cline-recommended-models.d.ts.map +1 -0
- package/dist/llms/handler-factory.d.ts +16 -0
- package/dist/llms/handler-factory.d.ts.map +1 -0
- package/dist/llms/provider-defaults.d.ts.map +1 -1
- package/dist/llms/provider-settings.d.ts +45 -2
- package/dist/llms/provider-settings.d.ts.map +1 -1
- package/dist/llms/runtime-registry.d.ts.map +1 -1
- package/dist/runtime/agent-config-adapter.d.ts +148 -0
- package/dist/runtime/agent-config-adapter.d.ts.map +1 -0
- package/dist/runtime/agent-runtime-config-builder.d.ts +96 -0
- package/dist/runtime/agent-runtime-config-builder.d.ts.map +1 -0
- package/dist/runtime/history.d.ts +6 -0
- package/dist/runtime/history.d.ts.map +1 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/loop-detection.d.ts +59 -0
- package/dist/runtime/loop-detection.d.ts.map +1 -0
- package/dist/runtime/mistake-tracker.d.ts +69 -0
- package/dist/runtime/mistake-tracker.d.ts.map +1 -0
- package/dist/runtime/runtime-builder.d.ts.map +1 -1
- package/dist/runtime/runtime-event-adapter.d.ts +102 -0
- package/dist/runtime/runtime-event-adapter.d.ts.map +1 -0
- package/dist/runtime/runtime-host.d.ts +28 -3
- package/dist/runtime/runtime-host.d.ts.map +1 -1
- package/dist/runtime/session-runtime-orchestrator.d.ts +261 -0
- package/dist/runtime/session-runtime-orchestrator.d.ts.map +1 -0
- package/dist/runtime/session-runtime.d.ts +16 -3
- package/dist/runtime/session-runtime.d.ts.map +1 -1
- package/dist/runtime/user-input-builder.d.ts +24 -0
- package/dist/runtime/user-input-builder.d.ts.map +1 -0
- package/dist/services/index.js +28 -0
- package/dist/services/local-runtime-bootstrap.d.ts.map +1 -1
- package/dist/services/plugin-tools.d.ts.map +1 -1
- package/dist/services/providers/local-provider-registry.d.ts +197 -21
- package/dist/services/providers/local-provider-registry.d.ts.map +1 -1
- package/dist/services/providers/local-provider-service.d.ts +3 -1
- package/dist/services/providers/local-provider-service.d.ts.map +1 -1
- package/dist/services/session-data.d.ts.map +1 -1
- package/dist/services/session-telemetry.d.ts +7 -2
- package/dist/services/session-telemetry.d.ts.map +1 -1
- package/dist/services/storage/file-team-store.d.ts.map +1 -1
- package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +1 -1
- package/dist/services/storage/provider-settings-manager.d.ts +1 -0
- package/dist/services/storage/provider-settings-manager.d.ts.map +1 -1
- package/dist/services/storage/sqlite-team-store.d.ts.map +1 -1
- package/dist/session/conversation-store.d.ts +30 -0
- package/dist/session/conversation-store.d.ts.map +1 -0
- package/dist/session/message-builder.d.ts +65 -0
- package/dist/session/message-builder.d.ts.map +1 -0
- package/dist/session/session-manifest.d.ts +1 -1
- package/dist/transports/hub.d.ts +14 -3
- package/dist/transports/hub.d.ts.map +1 -1
- package/dist/transports/local.d.ts +14 -4
- package/dist/transports/local.d.ts.map +1 -1
- package/dist/transports/remote.d.ts.map +1 -1
- package/dist/types/chat-schema.d.ts +5 -5
- package/dist/types/config.d.ts +9 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/events.d.ts +7 -6
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/provider-settings.d.ts +2 -2
- package/dist/types/provider-settings.d.ts.map +1 -1
- package/dist/types/session.d.ts +5 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/ClineCore.ts +691 -6
- package/src/account/cline-account-service.ts +44 -6
- package/src/cron/cron-event-ingress.ts +357 -0
- package/src/cron/cron-materializer.ts +97 -0
- package/src/cron/cron-reconciler.ts +241 -0
- package/src/cron/cron-report-writer.ts +153 -0
- package/src/cron/cron-runner.ts +495 -0
- package/src/cron/cron-schema.ts +127 -0
- package/src/cron/cron-service.ts +163 -0
- package/src/cron/cron-spec-parser.ts +489 -0
- package/src/cron/cron-watcher.ts +102 -0
- package/src/cron/index.ts +10 -0
- package/src/cron/scheduler.ts +141 -6
- package/src/cron/sqlite-cron-store.ts +1286 -0
- package/src/extensions/plugin/plugin-config-loader.ts +21 -1
- package/src/extensions/plugin/plugin-loader.ts +25 -9
- package/src/extensions/plugin/plugin-sandbox-bootstrap.ts +151 -1
- package/src/extensions/plugin/plugin-sandbox.ts +131 -7
- package/src/extensions/tools/constants.ts +2 -0
- package/src/extensions/tools/definitions.ts +31 -22
- package/src/extensions/tools/executors/editor.ts +4 -3
- package/src/extensions/tools/helpers.ts +24 -0
- package/src/extensions/tools/index.ts +1 -2
- package/src/extensions/tools/presets.ts +1 -1
- package/src/extensions/tools/schemas.ts +13 -18
- package/src/extensions/tools/team/delegated-agent.ts +8 -3
- package/src/extensions/tools/team/multi-agent.ts +135 -19
- package/src/extensions/tools/team/team-tools.ts +151 -91
- package/src/extensions/tools/types.ts +0 -6
- package/src/hooks/hook-bridge.ts +489 -0
- package/src/hooks/hook-file-hooks.ts +58 -3
- package/src/hooks/hook-registry.ts +257 -0
- package/src/hub/browser-websocket.ts +26 -4
- package/src/hub/client.ts +72 -13
- package/src/hub/daemon-entry.ts +35 -0
- package/src/hub/daemon.ts +117 -14
- package/src/hub/defaults.ts +39 -12
- package/src/hub/runtime-handlers.ts +4 -3
- package/src/hub/server.ts +506 -77
- package/src/hub/session-client.ts +43 -1
- package/src/hub/start-shared-server.ts +3 -0
- package/src/hub/ui-client.ts +4 -0
- package/src/index.ts +46 -1
- package/src/llms/cline-recommended-models.ts +167 -0
- package/src/llms/handler-factory.ts +56 -0
- package/src/llms/provider-defaults.ts +17 -1
- package/src/llms/provider-settings.ts +48 -1
- package/src/llms/runtime-registry.ts +1 -0
- package/src/runtime/agent-config-adapter.ts +636 -0
- package/src/runtime/agent-runtime-config-builder.ts +205 -0
- package/src/runtime/error-feedback.ts +142 -0
- package/src/runtime/history.ts +137 -0
- package/src/runtime/host.ts +22 -0
- package/src/runtime/loop-detection.ts +162 -0
- package/src/runtime/mistake-tracker.ts +221 -0
- package/src/runtime/runtime-builder.ts +61 -5
- package/src/runtime/runtime-event-adapter.ts +412 -0
- package/src/runtime/runtime-host.ts +45 -1
- package/src/runtime/session-runtime-orchestrator.ts +1253 -0
- package/src/runtime/session-runtime.ts +16 -2
- package/src/runtime/user-input-builder.ts +167 -0
- package/src/services/local-runtime-bootstrap.ts +128 -22
- package/src/services/plugin-tools.ts +1 -0
- package/src/services/providers/local-provider-registry.ts +273 -57
- package/src/services/providers/local-provider-service.ts +67 -7
- package/src/services/session-data.ts +16 -14
- package/src/services/session-telemetry.ts +6 -15
- package/src/services/storage/file-team-store.ts +1 -5
- package/src/services/storage/provider-settings-legacy-migration.ts +8 -47
- package/src/services/storage/provider-settings-manager.ts +16 -1
- package/src/services/storage/sqlite-team-store.ts +1 -5
- package/src/session/conversation-store.ts +77 -0
- package/src/session/message-builder.ts +941 -0
- package/src/transports/hub.ts +458 -33
- package/src/transports/local.ts +296 -65
- package/src/transports/remote.ts +1 -0
- package/src/types/config.ts +9 -0
- package/src/types/events.ts +8 -6
- package/src/types/index.ts +3 -0
- package/src/types/provider-settings.ts +8 -1
- package/src/types/session.ts +5 -2
- package/src/types.ts +15 -1
- package/dist/cron/index.d.ts +0 -6
- package/dist/cron/index.d.ts.map +0 -1
- package/dist/services/telemetry/index.js +0 -28
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { existsSync,
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import * as LlmsModels from "@clinebot/llms";
|
|
4
4
|
import { resolveClineDataDir } from "@clinebot/shared/storage";
|
|
@@ -7,6 +7,11 @@ import {
|
|
|
7
7
|
type ProviderSettings,
|
|
8
8
|
ProviderSettingsSchemaTyped as ProviderSettingsSchema,
|
|
9
9
|
} from "../../types/provider-settings";
|
|
10
|
+
import {
|
|
11
|
+
readModelsFileSync,
|
|
12
|
+
type StoredModelsFile,
|
|
13
|
+
writeModelsFileSync,
|
|
14
|
+
} from "../providers/local-provider-registry";
|
|
10
15
|
import type { ProviderSettingsManager } from "./provider-settings-manager";
|
|
11
16
|
|
|
12
17
|
type LegacyMode = "plan" | "act";
|
|
@@ -152,27 +157,6 @@ interface LegacyProviderStorage {
|
|
|
152
157
|
secrets: LegacySecrets;
|
|
153
158
|
}
|
|
154
159
|
|
|
155
|
-
type StoredModelsFile = {
|
|
156
|
-
version: 1;
|
|
157
|
-
providers: Record<
|
|
158
|
-
string,
|
|
159
|
-
{
|
|
160
|
-
provider: {
|
|
161
|
-
name: string;
|
|
162
|
-
baseUrl: string;
|
|
163
|
-
defaultModelId?: string;
|
|
164
|
-
};
|
|
165
|
-
models: Record<
|
|
166
|
-
string,
|
|
167
|
-
{
|
|
168
|
-
id: string;
|
|
169
|
-
name: string;
|
|
170
|
-
}
|
|
171
|
-
>;
|
|
172
|
-
}
|
|
173
|
-
>;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
160
|
const LEGACY_OPENAI_COMPATIBLE_PROVIDER_ID = "openai";
|
|
177
161
|
|
|
178
162
|
export interface MigrateLegacyProviderSettingsOptions {
|
|
@@ -256,29 +240,6 @@ function readJsonObject<T extends object>(filePath: string): T | undefined {
|
|
|
256
240
|
return undefined;
|
|
257
241
|
}
|
|
258
242
|
|
|
259
|
-
function readModelsFile(filePath: string): StoredModelsFile {
|
|
260
|
-
const parsed = readJsonObject<StoredModelsFile>(filePath);
|
|
261
|
-
if (
|
|
262
|
-
parsed?.version === 1 &&
|
|
263
|
-
parsed.providers &&
|
|
264
|
-
typeof parsed.providers === "object"
|
|
265
|
-
) {
|
|
266
|
-
return parsed;
|
|
267
|
-
}
|
|
268
|
-
return {
|
|
269
|
-
version: 1,
|
|
270
|
-
providers: {},
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
function writeModelsFile(filePath: string, state: StoredModelsFile): void {
|
|
275
|
-
const dir = dirname(filePath);
|
|
276
|
-
if (!existsSync(dir)) {
|
|
277
|
-
mkdirSync(dir, { recursive: true });
|
|
278
|
-
}
|
|
279
|
-
writeFileSync(filePath, `${JSON.stringify(state, null, 2)}\n`, "utf8");
|
|
280
|
-
}
|
|
281
|
-
|
|
282
243
|
function resolveLegacyStorage(
|
|
283
244
|
options: MigrateLegacyProviderSettingsOptions,
|
|
284
245
|
): LegacyProviderStorage | undefined {
|
|
@@ -760,7 +721,7 @@ export function migrateLegacyProviderSettings(
|
|
|
760
721
|
dirname(options.providerSettingsManager.getFilePath()),
|
|
761
722
|
"models.json",
|
|
762
723
|
);
|
|
763
|
-
const modelsState =
|
|
724
|
+
const modelsState = readModelsFileSync(modelsPath);
|
|
764
725
|
let addedCustomProviderCount = 0;
|
|
765
726
|
|
|
766
727
|
for (const legacyProviderId of candidates) {
|
|
@@ -817,7 +778,7 @@ export function migrateLegacyProviderSettings(
|
|
|
817
778
|
|
|
818
779
|
options.providerSettingsManager.write(next);
|
|
819
780
|
if (addedCustomProviderCount > 0) {
|
|
820
|
-
|
|
781
|
+
writeModelsFileSync(modelsPath, modelsState);
|
|
821
782
|
}
|
|
822
783
|
|
|
823
784
|
return {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { basename, dirname } from "node:path";
|
|
3
3
|
import { resolveProviderSettingsPath } from "@clinebot/shared/storage";
|
|
4
|
+
import { getLiveModelsCatalog } from "../..";
|
|
4
5
|
import {
|
|
5
6
|
emptyStoredProviderSettings,
|
|
6
7
|
type ProviderConfig,
|
|
@@ -11,7 +12,10 @@ import {
|
|
|
11
12
|
StoredProviderSettingsSchema,
|
|
12
13
|
toProviderConfig,
|
|
13
14
|
} from "../../types/provider-settings";
|
|
14
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
ensureCustomProvidersLoadedSync,
|
|
17
|
+
registerConfiguredProvidersFromSettings,
|
|
18
|
+
} from "../providers/local-provider-registry";
|
|
15
19
|
import { migrateLegacyProviderSettings } from "./provider-settings-legacy-migration";
|
|
16
20
|
|
|
17
21
|
function nowIso(): string {
|
|
@@ -53,6 +57,7 @@ export class ProviderSettingsManager {
|
|
|
53
57
|
});
|
|
54
58
|
}
|
|
55
59
|
ensureCustomProvidersLoadedSync(this);
|
|
60
|
+
registerConfiguredProvidersFromSettings(this.read());
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
getFilePath(): string {
|
|
@@ -69,6 +74,7 @@ export class ProviderSettingsManager {
|
|
|
69
74
|
const parsed = JSON.parse(raw) as unknown;
|
|
70
75
|
const result = StoredProviderSettingsSchema.safeParse(parsed);
|
|
71
76
|
if (result.success) {
|
|
77
|
+
registerConfiguredProvidersFromSettings(result.data);
|
|
72
78
|
return result.data;
|
|
73
79
|
}
|
|
74
80
|
} catch {
|
|
@@ -89,6 +95,7 @@ export class ProviderSettingsManager {
|
|
|
89
95
|
`${JSON.stringify(normalized, null, 2)}\n`,
|
|
90
96
|
"utf8",
|
|
91
97
|
);
|
|
98
|
+
registerConfiguredProvidersFromSettings(normalized);
|
|
92
99
|
}
|
|
93
100
|
|
|
94
101
|
saveProviderSettings(
|
|
@@ -149,4 +156,12 @@ export class ProviderSettingsManager {
|
|
|
149
156
|
}
|
|
150
157
|
return toProviderConfig(settings);
|
|
151
158
|
}
|
|
159
|
+
|
|
160
|
+
async refreshCatalog(): Promise<void> {
|
|
161
|
+
try {
|
|
162
|
+
await getLiveModelsCatalog({});
|
|
163
|
+
} catch {
|
|
164
|
+
// Ignore errors
|
|
165
|
+
}
|
|
166
|
+
}
|
|
152
167
|
}
|
|
@@ -359,14 +359,10 @@ export class SqliteTeamStore implements TeamStore {
|
|
|
359
359
|
const teammates = snapshotRow
|
|
360
360
|
? parseTeammatesJson(snapshotRow.teammates_json)
|
|
361
361
|
: [];
|
|
362
|
-
const interruptedRunIds = this.markInProgressRunsInterrupted(
|
|
363
|
-
safeTeamName,
|
|
364
|
-
"runtime_recovered",
|
|
365
|
-
);
|
|
366
362
|
return {
|
|
367
363
|
state,
|
|
368
364
|
teammates,
|
|
369
|
-
interruptedRunIds,
|
|
365
|
+
interruptedRunIds: [],
|
|
370
366
|
};
|
|
371
367
|
}
|
|
372
368
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-session conversation transcript store.
|
|
3
|
+
*
|
|
4
|
+
* @see PLAN.md §3.1 — moved from `packages/agents/src/runtime/conversation-store.ts`.
|
|
5
|
+
* @see PLAN.md §3.2.3 — public surface of `ConversationStore`.
|
|
6
|
+
*
|
|
7
|
+
* Pure port of the old agents implementation. Owns the message list,
|
|
8
|
+
* conversation id, and "session started" gate that today's `Agent`
|
|
9
|
+
* class uses to decide when to fire `session_start` hooks.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type { MessageWithMetadata } from "@clinebot/shared";
|
|
13
|
+
|
|
14
|
+
/** Generate a fresh conversation id. Exported for reuse by `SessionRuntime`. */
|
|
15
|
+
export function createConversationId(): string {
|
|
16
|
+
return `conv_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class ConversationStore {
|
|
20
|
+
private messages: MessageWithMetadata[] = [];
|
|
21
|
+
private conversationId = createConversationId();
|
|
22
|
+
private sessionStarted = false;
|
|
23
|
+
|
|
24
|
+
constructor(initialMessages?: readonly MessageWithMetadata[]) {
|
|
25
|
+
if ((initialMessages?.length ?? 0) > 0) {
|
|
26
|
+
this.restore(initialMessages ?? []);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getConversationId(): string {
|
|
31
|
+
return this.conversationId;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getMessages(): MessageWithMetadata[] {
|
|
35
|
+
return [...this.messages];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
appendMessage(message: MessageWithMetadata): void {
|
|
39
|
+
this.messages.push(message);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
appendMessages(messages: readonly MessageWithMetadata[]): void {
|
|
43
|
+
if (messages.length === 0) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.messages.push(...messages);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
replaceMessages(messages: readonly MessageWithMetadata[]): void {
|
|
50
|
+
this.messages = [...messages];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
resetForRun(): void {
|
|
54
|
+
this.messages = [];
|
|
55
|
+
this.conversationId = createConversationId();
|
|
56
|
+
this.sessionStarted = false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
clearHistory(): void {
|
|
60
|
+
this.messages = [];
|
|
61
|
+
this.conversationId = createConversationId();
|
|
62
|
+
this.sessionStarted = false;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
restore(messages: readonly MessageWithMetadata[]): void {
|
|
66
|
+
this.messages = [...messages];
|
|
67
|
+
this.sessionStarted = false;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
isSessionStarted(): boolean {
|
|
71
|
+
return this.sessionStarted;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
markSessionStarted(): void {
|
|
75
|
+
this.sessionStarted = true;
|
|
76
|
+
}
|
|
77
|
+
}
|