@google/adk 0.3.0 → 0.4.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/dist/cjs/a2a/part_converter_utils.js +210 -0
- package/dist/cjs/agents/active_streaming_tool.js +1 -1
- package/dist/cjs/agents/base_agent.js +3 -3
- package/dist/cjs/agents/base_llm_processor.js +1 -1
- package/dist/cjs/agents/callback_context.js +1 -1
- package/dist/cjs/agents/content_processor_utils.js +1 -1
- package/dist/cjs/agents/functions.js +2 -1
- package/dist/cjs/agents/instructions.js +1 -1
- package/dist/cjs/agents/invocation_context.js +1 -1
- package/dist/cjs/agents/live_request_queue.js +1 -1
- package/dist/cjs/agents/llm_agent.js +58 -40
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/readonly_context.js +13 -1
- package/dist/cjs/agents/run_config.js +2 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/agents/transcription_entry.js +1 -1
- package/dist/cjs/artifacts/base_artifact_service.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +491 -0
- package/dist/cjs/artifacts/gcs_artifact_service.js +127 -48
- package/dist/cjs/artifacts/in_memory_artifact_service.js +54 -6
- package/dist/cjs/artifacts/registry.js +55 -0
- package/dist/cjs/auth/auth_credential.js +1 -1
- package/dist/cjs/auth/auth_handler.js +1 -1
- package/dist/cjs/auth/auth_schemes.js +1 -1
- package/dist/cjs/auth/auth_tool.js +1 -1
- package/dist/cjs/auth/credential_service/base_credential_service.js +1 -1
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +1 -1
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +1 -1
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +1 -1
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +1 -1
- package/dist/cjs/code_executors/code_executor_context.js +1 -1
- package/dist/cjs/common.js +14 -1
- package/dist/cjs/events/event.js +33 -4
- package/dist/cjs/events/event_actions.js +2 -2
- package/dist/cjs/events/structured_events.js +105 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/examples/example.js +1 -1
- package/dist/cjs/examples/example_util.js +1 -1
- package/dist/cjs/index.js +54 -83
- package/dist/cjs/index_web.js +1 -1
- package/dist/cjs/memory/base_memory_service.js +1 -1
- package/dist/cjs/memory/in_memory_memory_service.js +1 -1
- package/dist/cjs/memory/memory_entry.js +1 -1
- package/dist/cjs/models/apigee_llm.js +182 -0
- package/dist/cjs/models/base_llm.js +1 -1
- package/dist/cjs/models/base_llm_connection.js +1 -1
- package/dist/cjs/models/gemini_llm_connection.js +1 -1
- package/dist/cjs/models/google_llm.js +70 -51
- package/dist/cjs/models/llm_request.js +1 -1
- package/dist/cjs/models/llm_response.js +1 -1
- package/dist/cjs/models/registry.js +3 -1
- package/dist/cjs/plugins/base_plugin.js +1 -1
- package/dist/cjs/plugins/logging_plugin.js +1 -1
- package/dist/cjs/plugins/plugin_manager.js +1 -1
- package/dist/cjs/plugins/security_plugin.js +1 -1
- package/dist/cjs/runner/in_memory_runner.js +1 -1
- package/dist/cjs/runner/runner.js +32 -1
- package/dist/cjs/sessions/base_session_service.js +53 -3
- package/dist/cjs/sessions/database_session_service.js +364 -0
- package/dist/cjs/sessions/db/operations.js +114 -0
- package/dist/cjs/sessions/db/schema.js +204 -0
- package/dist/cjs/sessions/in_memory_session_service.js +24 -22
- package/dist/cjs/sessions/registry.js +49 -0
- package/dist/cjs/sessions/session.js +1 -1
- package/dist/cjs/sessions/state.js +1 -1
- package/dist/cjs/telemetry/google_cloud.js +1 -1
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +1 -1
- package/dist/cjs/tools/agent_tool.js +1 -1
- package/dist/cjs/tools/base_tool.js +1 -1
- package/dist/cjs/tools/base_toolset.js +1 -1
- package/dist/cjs/tools/forwarding_artifact_service.js +17 -1
- package/dist/cjs/tools/function_tool.js +1 -1
- package/dist/cjs/tools/google_search_tool.js +1 -1
- package/dist/cjs/tools/long_running_tool.js +1 -1
- package/dist/cjs/tools/mcp/mcp_session_manager.js +1 -1
- package/dist/cjs/tools/mcp/mcp_tool.js +1 -1
- package/dist/cjs/tools/mcp/mcp_toolset.js +1 -1
- package/dist/cjs/tools/tool_confirmation.js +1 -1
- package/dist/cjs/tools/tool_context.js +1 -1
- package/dist/cjs/utils/client_labels.js +1 -1
- package/dist/cjs/utils/env_aware_utils.js +10 -1
- package/dist/cjs/utils/gemini_schema_util.js +1 -1
- package/dist/cjs/utils/logger.js +1 -1
- package/dist/cjs/utils/model_name.js +1 -1
- package/dist/cjs/utils/object_notation_utils.js +78 -0
- package/dist/cjs/utils/simple_zod_to_json.js +1 -1
- package/dist/cjs/utils/variant_utils.js +3 -9
- package/dist/cjs/version.js +2 -2
- package/dist/esm/a2a/part_converter_utils.js +171 -0
- package/dist/esm/agents/base_agent.js +2 -2
- package/dist/esm/agents/functions.js +1 -0
- package/dist/esm/agents/llm_agent.js +58 -40
- package/dist/esm/agents/readonly_context.js +12 -0
- package/dist/esm/agents/run_config.js +1 -0
- package/dist/esm/artifacts/file_artifact_service.js +451 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +126 -47
- package/dist/esm/artifacts/in_memory_artifact_service.js +51 -4
- package/dist/esm/artifacts/registry.js +28 -0
- package/dist/esm/common.js +9 -1
- package/dist/esm/events/event.js +29 -2
- package/dist/esm/events/event_actions.js +1 -1
- package/dist/esm/events/structured_events.js +74 -0
- package/dist/esm/index.js +18 -88
- package/dist/esm/models/apigee_llm.js +152 -0
- package/dist/esm/models/google_llm.js +67 -49
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/runner/runner.js +31 -0
- package/dist/esm/sessions/base_session_service.js +49 -1
- package/dist/esm/sessions/database_session_service.js +350 -0
- package/dist/esm/sessions/db/operations.js +87 -0
- package/dist/esm/sessions/db/schema.js +172 -0
- package/dist/esm/sessions/in_memory_session_service.js +23 -21
- package/dist/esm/sessions/registry.js +25 -0
- package/dist/esm/tools/forwarding_artifact_service.js +16 -0
- package/dist/esm/utils/env_aware_utils.js +8 -0
- package/dist/esm/utils/object_notation_utils.js +47 -0
- package/dist/esm/utils/variant_utils.js +1 -7
- package/dist/esm/version.js +1 -1
- package/dist/types/a2a/part_converter_utils.d.ts +47 -0
- package/dist/types/agents/llm_agent.d.ts +11 -11
- package/dist/types/agents/readonly_context.d.ts +8 -0
- package/dist/types/agents/run_config.d.ts +6 -0
- package/dist/types/artifacts/base_artifact_service.d.ts +31 -0
- package/dist/types/artifacts/file_artifact_service.d.ts +43 -0
- package/dist/types/artifacts/gcs_artifact_service.d.ts +3 -1
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +5 -2
- package/dist/types/artifacts/registry.d.ts +7 -0
- package/dist/types/common.d.ts +11 -2
- package/dist/types/events/event.d.ts +15 -1
- package/dist/types/events/event_actions.d.ts +1 -1
- package/dist/types/events/structured_events.d.ts +106 -0
- package/dist/types/index.d.ts +5 -1
- package/dist/types/models/apigee_llm.d.ts +59 -0
- package/dist/types/models/google_llm.d.ts +5 -2
- package/dist/types/runner/runner.d.ts +15 -0
- package/dist/types/sessions/base_session_service.d.ts +20 -0
- package/dist/types/sessions/database_session_service.d.ts +31 -0
- package/dist/types/sessions/db/operations.d.ts +29 -0
- package/dist/types/sessions/db/schema.d.ts +45 -0
- package/dist/types/sessions/in_memory_session_service.d.ts +4 -1
- package/dist/types/sessions/registry.d.ts +7 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +3 -1
- package/dist/types/utils/env_aware_utils.d.ts +7 -0
- package/dist/types/utils/object_notation_utils.d.ts +21 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/a2a/part_converter_utils.js +171 -0
- package/dist/web/agents/base_agent.js +2 -2
- package/dist/web/agents/functions.js +1 -0
- package/dist/web/agents/llm_agent.js +79 -59
- package/dist/web/agents/readonly_context.js +12 -0
- package/dist/web/agents/run_config.js +2 -1
- package/dist/web/artifacts/file_artifact_service.js +506 -0
- package/dist/web/artifacts/gcs_artifact_service.js +123 -46
- package/dist/web/artifacts/in_memory_artifact_service.js +51 -4
- package/dist/web/artifacts/registry.js +28 -0
- package/dist/web/common.js +9 -1
- package/dist/web/events/event.js +29 -2
- package/dist/web/events/event_actions.js +1 -1
- package/dist/web/events/structured_events.js +74 -0
- package/dist/web/index.js +18 -8
- package/dist/web/models/apigee_llm.js +219 -0
- package/dist/web/models/google_llm.js +67 -46
- package/dist/web/models/registry.js +2 -0
- package/dist/web/runner/runner.js +33 -0
- package/dist/web/sessions/base_session_service.js +49 -1
- package/dist/web/sessions/database_session_service.js +368 -0
- package/dist/web/sessions/db/operations.js +87 -0
- package/dist/web/sessions/db/schema.js +172 -0
- package/dist/web/sessions/in_memory_session_service.js +23 -21
- package/dist/web/sessions/registry.js +25 -0
- package/dist/web/tools/forwarding_artifact_service.js +16 -0
- package/dist/web/utils/env_aware_utils.js +8 -0
- package/dist/web/utils/object_notation_utils.js +47 -0
- package/dist/web/utils/variant_utils.js +1 -7
- package/dist/web/version.js +1 -1
- package/package.json +13 -4
- package/dist/cjs/index.js.map +0 -7
- package/dist/esm/index.js.map +0 -7
- package/dist/web/index.js.map +0 -7
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var database_session_service_exports = {};
|
|
26
|
+
__export(database_session_service_exports, {
|
|
27
|
+
DatabaseSessionService: () => DatabaseSessionService,
|
|
28
|
+
isDatabaseConnectionString: () => isDatabaseConnectionString
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(database_session_service_exports);
|
|
31
|
+
var import_core = require("@mikro-orm/core");
|
|
32
|
+
var import_env_aware_utils = require("../utils/env_aware_utils.js");
|
|
33
|
+
var import_base_session_service = require("./base_session_service.js");
|
|
34
|
+
var import_operations = require("./db/operations.js");
|
|
35
|
+
var import_schema = require("./db/schema.js");
|
|
36
|
+
var import_session = require("./session.js");
|
|
37
|
+
var import_state = require("./state.js");
|
|
38
|
+
/**
|
|
39
|
+
* @license
|
|
40
|
+
* Copyright 2026 Google LLC
|
|
41
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
42
|
+
*/
|
|
43
|
+
function isDatabaseConnectionString(uri) {
|
|
44
|
+
if (!uri) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return uri.startsWith("postgres://") || uri.startsWith("postgresql://") || uri.startsWith("mysql://") || uri.startsWith("mariadb://") || uri.startsWith("mssql://") || uri.startsWith("sqlite://");
|
|
48
|
+
}
|
|
49
|
+
class DatabaseSessionService extends import_base_session_service.BaseSessionService {
|
|
50
|
+
constructor(connectionStringOrOptions) {
|
|
51
|
+
super();
|
|
52
|
+
this.initialized = false;
|
|
53
|
+
if (typeof connectionStringOrOptions === "string") {
|
|
54
|
+
this.options = (0, import_operations.getConnectionOptionsFromUri)(connectionStringOrOptions);
|
|
55
|
+
} else {
|
|
56
|
+
if (!connectionStringOrOptions.driver) {
|
|
57
|
+
throw new Error("Driver is required when passing options object.");
|
|
58
|
+
}
|
|
59
|
+
this.options = {
|
|
60
|
+
...connectionStringOrOptions,
|
|
61
|
+
entities: import_schema.ENTITIES
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async init() {
|
|
66
|
+
if (this.initialized) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this.orm = await import_core.MikroORM.init(this.options);
|
|
70
|
+
await (0, import_operations.ensureDatabaseCreated)(this.orm);
|
|
71
|
+
await (0, import_operations.validateDatabaseSchemaVersion)(this.orm);
|
|
72
|
+
this.initialized = true;
|
|
73
|
+
}
|
|
74
|
+
async createSession({
|
|
75
|
+
appName,
|
|
76
|
+
userId,
|
|
77
|
+
state,
|
|
78
|
+
sessionId
|
|
79
|
+
}) {
|
|
80
|
+
await this.init();
|
|
81
|
+
const em = this.orm.em.fork();
|
|
82
|
+
const id = sessionId || (0, import_env_aware_utils.randomUUID)();
|
|
83
|
+
const now = /* @__PURE__ */ new Date();
|
|
84
|
+
const existing = await em.findOne(import_schema.StorageSession, {
|
|
85
|
+
id,
|
|
86
|
+
appName,
|
|
87
|
+
userId
|
|
88
|
+
});
|
|
89
|
+
if (existing) {
|
|
90
|
+
throw new Error(`Session with id ${id} already exists.`);
|
|
91
|
+
}
|
|
92
|
+
let appStateModel = await em.findOne(import_schema.StorageAppState, { appName });
|
|
93
|
+
if (!appStateModel) {
|
|
94
|
+
appStateModel = em.create(import_schema.StorageAppState, {
|
|
95
|
+
appName,
|
|
96
|
+
state: {},
|
|
97
|
+
updateTime: now
|
|
98
|
+
});
|
|
99
|
+
em.persist(appStateModel);
|
|
100
|
+
}
|
|
101
|
+
let userStateModel = await em.findOne(import_schema.StorageUserState, { appName, userId });
|
|
102
|
+
if (!userStateModel) {
|
|
103
|
+
userStateModel = em.create(import_schema.StorageUserState, {
|
|
104
|
+
appName,
|
|
105
|
+
userId,
|
|
106
|
+
state: {}
|
|
107
|
+
});
|
|
108
|
+
em.persist(userStateModel);
|
|
109
|
+
}
|
|
110
|
+
const appStateDelta = {};
|
|
111
|
+
const userStateDelta = {};
|
|
112
|
+
const sessionState = {};
|
|
113
|
+
if (state) {
|
|
114
|
+
for (const [key, value] of Object.entries(state)) {
|
|
115
|
+
if (key.startsWith(import_state.State.APP_PREFIX)) {
|
|
116
|
+
appStateDelta[key.replace(import_state.State.APP_PREFIX, "")] = value;
|
|
117
|
+
} else if (key.startsWith(import_state.State.USER_PREFIX)) {
|
|
118
|
+
userStateDelta[key.replace(import_state.State.USER_PREFIX, "")] = value;
|
|
119
|
+
} else {
|
|
120
|
+
sessionState[key] = value;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (Object.keys(appStateDelta).length > 0) {
|
|
125
|
+
appStateModel.state = { ...appStateModel.state, ...appStateDelta };
|
|
126
|
+
}
|
|
127
|
+
if (Object.keys(userStateDelta).length > 0) {
|
|
128
|
+
userStateModel.state = { ...userStateModel.state, ...userStateDelta };
|
|
129
|
+
}
|
|
130
|
+
const storageSession = em.create(import_schema.StorageSession, {
|
|
131
|
+
id,
|
|
132
|
+
appName,
|
|
133
|
+
userId,
|
|
134
|
+
state: sessionState,
|
|
135
|
+
createTime: now,
|
|
136
|
+
updateTime: now
|
|
137
|
+
});
|
|
138
|
+
em.persist(storageSession);
|
|
139
|
+
await em.flush();
|
|
140
|
+
const mergedState = (0, import_base_session_service.mergeStates)(
|
|
141
|
+
appStateModel.state,
|
|
142
|
+
userStateModel.state,
|
|
143
|
+
sessionState
|
|
144
|
+
);
|
|
145
|
+
return (0, import_session.createSession)({
|
|
146
|
+
id,
|
|
147
|
+
appName,
|
|
148
|
+
userId,
|
|
149
|
+
state: mergedState,
|
|
150
|
+
events: [],
|
|
151
|
+
lastUpdateTime: storageSession.createTime.getTime()
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async getSession({
|
|
155
|
+
appName,
|
|
156
|
+
userId,
|
|
157
|
+
sessionId,
|
|
158
|
+
config
|
|
159
|
+
}) {
|
|
160
|
+
await this.init();
|
|
161
|
+
const em = this.orm.em.fork();
|
|
162
|
+
const storageSession = await em.findOne(import_schema.StorageSession, {
|
|
163
|
+
appName,
|
|
164
|
+
userId,
|
|
165
|
+
id: sessionId
|
|
166
|
+
});
|
|
167
|
+
if (!storageSession) {
|
|
168
|
+
return void 0;
|
|
169
|
+
}
|
|
170
|
+
const eventWhere = {
|
|
171
|
+
appName,
|
|
172
|
+
userId,
|
|
173
|
+
sessionId
|
|
174
|
+
};
|
|
175
|
+
if (config == null ? void 0 : config.afterTimestamp) {
|
|
176
|
+
eventWhere.timestamp = { $gt: new Date(config.afterTimestamp) };
|
|
177
|
+
}
|
|
178
|
+
const storageEvents = await em.find(import_schema.StorageEvent, eventWhere, {
|
|
179
|
+
orderBy: { timestamp: "DESC" },
|
|
180
|
+
limit: config == null ? void 0 : config.numRecentEvents
|
|
181
|
+
});
|
|
182
|
+
storageEvents.reverse();
|
|
183
|
+
const appStateModel = await em.findOne(import_schema.StorageAppState, { appName });
|
|
184
|
+
const userStateModel = await em.findOne(import_schema.StorageUserState, {
|
|
185
|
+
appName,
|
|
186
|
+
userId
|
|
187
|
+
});
|
|
188
|
+
const mergedState = (0, import_base_session_service.mergeStates)(
|
|
189
|
+
(appStateModel == null ? void 0 : appStateModel.state) || {},
|
|
190
|
+
(userStateModel == null ? void 0 : userStateModel.state) || {},
|
|
191
|
+
storageSession.state
|
|
192
|
+
);
|
|
193
|
+
return (0, import_session.createSession)({
|
|
194
|
+
id: sessionId,
|
|
195
|
+
appName,
|
|
196
|
+
userId,
|
|
197
|
+
state: mergedState,
|
|
198
|
+
events: storageEvents.map((se) => se.eventData),
|
|
199
|
+
lastUpdateTime: storageSession.updateTime.getTime()
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
async listSessions({
|
|
203
|
+
appName,
|
|
204
|
+
userId
|
|
205
|
+
}) {
|
|
206
|
+
await this.init();
|
|
207
|
+
const em = this.orm.em.fork();
|
|
208
|
+
const where = { appName };
|
|
209
|
+
if (userId) {
|
|
210
|
+
where.userId = userId;
|
|
211
|
+
}
|
|
212
|
+
const storageSessions = await em.find(import_schema.StorageSession, where);
|
|
213
|
+
const appStateModel = await em.findOne(import_schema.StorageAppState, { appName });
|
|
214
|
+
const appState = (appStateModel == null ? void 0 : appStateModel.state) || {};
|
|
215
|
+
const userStateMap = {};
|
|
216
|
+
if (userId) {
|
|
217
|
+
const u = await em.findOne(import_schema.StorageUserState, { appName, userId });
|
|
218
|
+
if (u) userStateMap[userId] = u.state;
|
|
219
|
+
} else {
|
|
220
|
+
const allUserStates = await em.find(import_schema.StorageUserState, { appName });
|
|
221
|
+
for (const u of allUserStates) {
|
|
222
|
+
userStateMap[u.userId] = u.state;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const sessions = storageSessions.map((ss) => {
|
|
226
|
+
const uState = userStateMap[ss.userId] || {};
|
|
227
|
+
const merged = (0, import_base_session_service.mergeStates)(appState, uState, ss.state);
|
|
228
|
+
return (0, import_session.createSession)({
|
|
229
|
+
id: ss.id,
|
|
230
|
+
appName: ss.appName,
|
|
231
|
+
userId: ss.userId,
|
|
232
|
+
state: merged,
|
|
233
|
+
events: [],
|
|
234
|
+
lastUpdateTime: ss.updateTime.getTime()
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
return { sessions };
|
|
238
|
+
}
|
|
239
|
+
async deleteSession({
|
|
240
|
+
appName,
|
|
241
|
+
userId,
|
|
242
|
+
sessionId
|
|
243
|
+
}) {
|
|
244
|
+
await this.init();
|
|
245
|
+
const em = this.orm.em.fork();
|
|
246
|
+
await em.nativeDelete(import_schema.StorageSession, { appName, userId, id: sessionId });
|
|
247
|
+
await em.nativeDelete(import_schema.StorageEvent, { appName, userId, sessionId });
|
|
248
|
+
}
|
|
249
|
+
async appendEvent({
|
|
250
|
+
session,
|
|
251
|
+
event
|
|
252
|
+
}) {
|
|
253
|
+
await this.init();
|
|
254
|
+
const em = this.orm.em.fork();
|
|
255
|
+
if (event.partial) {
|
|
256
|
+
return event;
|
|
257
|
+
}
|
|
258
|
+
const trimmedEvent = (0, import_base_session_service.trimTempDeltaState)(event);
|
|
259
|
+
await em.transactional(async (txEm) => {
|
|
260
|
+
const storageSession = await txEm.findOne(
|
|
261
|
+
import_schema.StorageSession,
|
|
262
|
+
{
|
|
263
|
+
appName: session.appName,
|
|
264
|
+
userId: session.userId,
|
|
265
|
+
id: session.id
|
|
266
|
+
},
|
|
267
|
+
{ lockMode: import_core.LockMode.PESSIMISTIC_WRITE }
|
|
268
|
+
);
|
|
269
|
+
if (!storageSession) {
|
|
270
|
+
throw new Error(`Session ${session.id} not found for appendEvent`);
|
|
271
|
+
}
|
|
272
|
+
let appStateModel = await txEm.findOne(import_schema.StorageAppState, {
|
|
273
|
+
appName: session.appName
|
|
274
|
+
});
|
|
275
|
+
if (!appStateModel) {
|
|
276
|
+
appStateModel = txEm.create(import_schema.StorageAppState, {
|
|
277
|
+
appName: session.appName,
|
|
278
|
+
state: {},
|
|
279
|
+
updateTime: /* @__PURE__ */ new Date()
|
|
280
|
+
});
|
|
281
|
+
txEm.persist(appStateModel);
|
|
282
|
+
}
|
|
283
|
+
let userStateModel = await txEm.findOne(import_schema.StorageUserState, {
|
|
284
|
+
appName: session.appName,
|
|
285
|
+
userId: session.userId
|
|
286
|
+
});
|
|
287
|
+
if (!userStateModel) {
|
|
288
|
+
userStateModel = txEm.create(import_schema.StorageUserState, {
|
|
289
|
+
appName: session.appName,
|
|
290
|
+
userId: session.userId,
|
|
291
|
+
state: {}
|
|
292
|
+
});
|
|
293
|
+
txEm.persist(userStateModel);
|
|
294
|
+
}
|
|
295
|
+
if (storageSession.updateTime.getTime() > session.lastUpdateTime) {
|
|
296
|
+
const events = await txEm.find(
|
|
297
|
+
import_schema.StorageEvent,
|
|
298
|
+
{
|
|
299
|
+
appName: session.appName,
|
|
300
|
+
userId: session.userId,
|
|
301
|
+
sessionId: session.id
|
|
302
|
+
},
|
|
303
|
+
{ orderBy: { timestamp: "ASC" } }
|
|
304
|
+
);
|
|
305
|
+
const mergedState = (0, import_base_session_service.mergeStates)(
|
|
306
|
+
appStateModel.state,
|
|
307
|
+
userStateModel.state,
|
|
308
|
+
storageSession.state
|
|
309
|
+
);
|
|
310
|
+
session.state = mergedState;
|
|
311
|
+
session.events = events.map((e) => e.eventData);
|
|
312
|
+
}
|
|
313
|
+
if (event.actions && event.actions.stateDelta) {
|
|
314
|
+
const appDelta = {};
|
|
315
|
+
const userDelta = {};
|
|
316
|
+
const sessionDelta = {};
|
|
317
|
+
for (const [key, value] of Object.entries(event.actions.stateDelta)) {
|
|
318
|
+
if (key.startsWith(import_state.State.APP_PREFIX)) {
|
|
319
|
+
appDelta[key.replace(import_state.State.APP_PREFIX, "")] = value;
|
|
320
|
+
} else if (key.startsWith(import_state.State.USER_PREFIX)) {
|
|
321
|
+
userDelta[key.replace(import_state.State.USER_PREFIX, "")] = value;
|
|
322
|
+
} else {
|
|
323
|
+
sessionDelta[key] = value;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (Object.keys(appDelta).length > 0) {
|
|
327
|
+
appStateModel.state = { ...appStateModel.state, ...appDelta };
|
|
328
|
+
}
|
|
329
|
+
if (Object.keys(userDelta).length > 0) {
|
|
330
|
+
userStateModel.state = { ...userStateModel.state, ...userDelta };
|
|
331
|
+
}
|
|
332
|
+
if (Object.keys(sessionDelta).length > 0) {
|
|
333
|
+
storageSession.state = { ...storageSession.state, ...sessionDelta };
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const newStorageEvent = txEm.create(import_schema.StorageEvent, {
|
|
337
|
+
id: trimmedEvent.id,
|
|
338
|
+
appName: session.appName,
|
|
339
|
+
userId: session.userId,
|
|
340
|
+
sessionId: session.id,
|
|
341
|
+
invocationId: trimmedEvent.invocationId,
|
|
342
|
+
timestamp: new Date(trimmedEvent.timestamp),
|
|
343
|
+
eventData: trimmedEvent
|
|
344
|
+
});
|
|
345
|
+
txEm.persist(newStorageEvent);
|
|
346
|
+
await txEm.commit();
|
|
347
|
+
storageSession.updateTime = new Date(event.timestamp);
|
|
348
|
+
const newMergedState = (0, import_base_session_service.mergeStates)(
|
|
349
|
+
appStateModel.state,
|
|
350
|
+
userStateModel.state,
|
|
351
|
+
storageSession.state
|
|
352
|
+
);
|
|
353
|
+
session.state = newMergedState;
|
|
354
|
+
session.events.push(event);
|
|
355
|
+
session.lastUpdateTime = storageSession.updateTime.getTime();
|
|
356
|
+
});
|
|
357
|
+
return event;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
361
|
+
0 && (module.exports = {
|
|
362
|
+
DatabaseSessionService,
|
|
363
|
+
isDatabaseConnectionString
|
|
364
|
+
});
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var operations_exports = {};
|
|
26
|
+
__export(operations_exports, {
|
|
27
|
+
ensureDatabaseCreated: () => ensureDatabaseCreated,
|
|
28
|
+
getConnectionOptionsFromUri: () => getConnectionOptionsFromUri,
|
|
29
|
+
validateDatabaseSchemaVersion: () => validateDatabaseSchemaVersion
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(operations_exports);
|
|
32
|
+
var import_core = require("@mikro-orm/core");
|
|
33
|
+
var import_mariadb = require("@mikro-orm/mariadb");
|
|
34
|
+
var import_mssql = require("@mikro-orm/mssql");
|
|
35
|
+
var import_mysql = require("@mikro-orm/mysql");
|
|
36
|
+
var import_postgresql = require("@mikro-orm/postgresql");
|
|
37
|
+
var import_sqlite = require("@mikro-orm/sqlite");
|
|
38
|
+
var import_schema = require("./schema.js");
|
|
39
|
+
/**
|
|
40
|
+
* @license
|
|
41
|
+
* Copyright 2026 Google LLC
|
|
42
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
43
|
+
*/
|
|
44
|
+
function getConnectionOptionsFromUri(uri) {
|
|
45
|
+
let driver;
|
|
46
|
+
if (uri.startsWith("postgres://") || uri.startsWith("postgresql://")) {
|
|
47
|
+
driver = import_postgresql.PostgreSqlDriver;
|
|
48
|
+
} else if (uri.startsWith("mysql://")) {
|
|
49
|
+
driver = import_mysql.MySqlDriver;
|
|
50
|
+
} else if (uri.startsWith("mariadb://")) {
|
|
51
|
+
driver = import_mariadb.MariaDbDriver;
|
|
52
|
+
} else if (uri.startsWith("sqlite://")) {
|
|
53
|
+
driver = import_sqlite.SqliteDriver;
|
|
54
|
+
} else if (uri.startsWith("mssql://")) {
|
|
55
|
+
driver = import_mssql.MsSqlDriver;
|
|
56
|
+
} else {
|
|
57
|
+
throw new Error(`Unsupported database URI: ${uri}`);
|
|
58
|
+
}
|
|
59
|
+
if (uri === "sqlite://:memory:") {
|
|
60
|
+
return {
|
|
61
|
+
entities: import_schema.ENTITIES,
|
|
62
|
+
dbName: ":memory:",
|
|
63
|
+
driver
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const { host, port, username, password, pathname } = new URL(uri);
|
|
67
|
+
const hostName = host.split(":")[0];
|
|
68
|
+
return {
|
|
69
|
+
entities: import_schema.ENTITIES,
|
|
70
|
+
dbName: pathname.slice(1),
|
|
71
|
+
host: hostName,
|
|
72
|
+
port: port ? parseInt(port) : void 0,
|
|
73
|
+
user: username,
|
|
74
|
+
password,
|
|
75
|
+
driver
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
async function ensureDatabaseCreated(ormOrUrlOrOptions) {
|
|
79
|
+
let orm;
|
|
80
|
+
if (ormOrUrlOrOptions instanceof import_core.MikroORM) {
|
|
81
|
+
orm = ormOrUrlOrOptions;
|
|
82
|
+
} else if (typeof ormOrUrlOrOptions === "string") {
|
|
83
|
+
orm = await import_core.MikroORM.init(getConnectionOptionsFromUri(ormOrUrlOrOptions));
|
|
84
|
+
} else {
|
|
85
|
+
orm = await import_core.MikroORM.init(ormOrUrlOrOptions);
|
|
86
|
+
}
|
|
87
|
+
await orm.schema.ensureDatabase();
|
|
88
|
+
await orm.schema.updateSchema();
|
|
89
|
+
}
|
|
90
|
+
async function validateDatabaseSchemaVersion(orm) {
|
|
91
|
+
const em = orm.em.fork();
|
|
92
|
+
const existing = await em.findOne(import_schema.StorageMetadata, {
|
|
93
|
+
key: import_schema.SCHEMA_VERSION_KEY
|
|
94
|
+
});
|
|
95
|
+
if (existing) {
|
|
96
|
+
if (existing.value !== import_schema.SCHEMA_VERSION_1_JSON) {
|
|
97
|
+
throw new Error(
|
|
98
|
+
`ADK Database schema version ${existing.value} is not compatible.`
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const newVersion = em.create(import_schema.StorageMetadata, {
|
|
104
|
+
key: import_schema.SCHEMA_VERSION_KEY,
|
|
105
|
+
value: import_schema.SCHEMA_VERSION_1_JSON
|
|
106
|
+
});
|
|
107
|
+
await em.persist(newVersion).flush();
|
|
108
|
+
}
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
ensureDatabaseCreated,
|
|
112
|
+
getConnectionOptionsFromUri,
|
|
113
|
+
validateDatabaseSchemaVersion
|
|
114
|
+
});
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
26
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
27
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
28
|
+
if (decorator = decorators[i])
|
|
29
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
30
|
+
if (kind && result) __defProp(target, key, result);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
var schema_exports = {};
|
|
34
|
+
__export(schema_exports, {
|
|
35
|
+
ENTITIES: () => ENTITIES,
|
|
36
|
+
SCHEMA_VERSION_1_JSON: () => SCHEMA_VERSION_1_JSON,
|
|
37
|
+
SCHEMA_VERSION_KEY: () => SCHEMA_VERSION_KEY,
|
|
38
|
+
StorageAppState: () => StorageAppState,
|
|
39
|
+
StorageEvent: () => StorageEvent,
|
|
40
|
+
StorageMetadata: () => StorageMetadata,
|
|
41
|
+
StorageSession: () => StorageSession,
|
|
42
|
+
StorageUserState: () => StorageUserState
|
|
43
|
+
});
|
|
44
|
+
module.exports = __toCommonJS(schema_exports);
|
|
45
|
+
var import_core = require("@mikro-orm/core");
|
|
46
|
+
var import_event = require("../../events/event.js");
|
|
47
|
+
/**
|
|
48
|
+
* @license
|
|
49
|
+
* Copyright 2026 Google LLC
|
|
50
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
51
|
+
*/
|
|
52
|
+
const SCHEMA_VERSION_KEY = "schema_version";
|
|
53
|
+
const SCHEMA_VERSION_1_JSON = "1";
|
|
54
|
+
class CamelCaseToSnakeCaseJsonType extends import_core.JsonType {
|
|
55
|
+
convertToDatabaseValue(value) {
|
|
56
|
+
return JSON.stringify((0, import_event.transformToSnakeCaseEvent)(value));
|
|
57
|
+
}
|
|
58
|
+
convertToJSValue(value) {
|
|
59
|
+
if (typeof value === "string") {
|
|
60
|
+
return (0, import_event.transformToCamelCaseEvent)(JSON.parse(value));
|
|
61
|
+
}
|
|
62
|
+
return (0, import_event.transformToCamelCaseEvent)(value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
let StorageMetadata = class {
|
|
66
|
+
};
|
|
67
|
+
__decorateClass([
|
|
68
|
+
(0, import_core.PrimaryKey)({ type: "string" })
|
|
69
|
+
], StorageMetadata.prototype, "key", 2);
|
|
70
|
+
__decorateClass([
|
|
71
|
+
(0, import_core.Property)({ type: "string" })
|
|
72
|
+
], StorageMetadata.prototype, "value", 2);
|
|
73
|
+
StorageMetadata = __decorateClass([
|
|
74
|
+
(0, import_core.Entity)({ tableName: "adk_internal_metadata" })
|
|
75
|
+
], StorageMetadata);
|
|
76
|
+
let StorageAppState = class {
|
|
77
|
+
constructor() {
|
|
78
|
+
this.updateTime = /* @__PURE__ */ new Date();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
__decorateClass([
|
|
82
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "app_name" })
|
|
83
|
+
], StorageAppState.prototype, "appName", 2);
|
|
84
|
+
__decorateClass([
|
|
85
|
+
(0, import_core.Property)({ type: "json" })
|
|
86
|
+
], StorageAppState.prototype, "state", 2);
|
|
87
|
+
__decorateClass([
|
|
88
|
+
(0, import_core.Property)({
|
|
89
|
+
type: "datetime",
|
|
90
|
+
fieldName: "update_time",
|
|
91
|
+
onCreate: () => /* @__PURE__ */ new Date(),
|
|
92
|
+
onUpdate: () => /* @__PURE__ */ new Date()
|
|
93
|
+
})
|
|
94
|
+
], StorageAppState.prototype, "updateTime", 2);
|
|
95
|
+
StorageAppState = __decorateClass([
|
|
96
|
+
(0, import_core.Entity)({ tableName: "app_states" })
|
|
97
|
+
], StorageAppState);
|
|
98
|
+
import_core.PrimaryKey.name;
|
|
99
|
+
let StorageUserState = class {
|
|
100
|
+
constructor() {
|
|
101
|
+
this.updateTime = /* @__PURE__ */ new Date();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
__decorateClass([
|
|
105
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "app_name" })
|
|
106
|
+
], StorageUserState.prototype, "appName", 2);
|
|
107
|
+
__decorateClass([
|
|
108
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "user_id" })
|
|
109
|
+
], StorageUserState.prototype, "userId", 2);
|
|
110
|
+
__decorateClass([
|
|
111
|
+
(0, import_core.Property)({ type: "json" })
|
|
112
|
+
], StorageUserState.prototype, "state", 2);
|
|
113
|
+
__decorateClass([
|
|
114
|
+
(0, import_core.Property)({
|
|
115
|
+
type: "datetime",
|
|
116
|
+
fieldName: "update_time",
|
|
117
|
+
onCreate: () => /* @__PURE__ */ new Date(),
|
|
118
|
+
onUpdate: () => /* @__PURE__ */ new Date()
|
|
119
|
+
})
|
|
120
|
+
], StorageUserState.prototype, "updateTime", 2);
|
|
121
|
+
StorageUserState = __decorateClass([
|
|
122
|
+
(0, import_core.Entity)({ tableName: "user_states" })
|
|
123
|
+
], StorageUserState);
|
|
124
|
+
import_core.PrimaryKey.name;
|
|
125
|
+
let StorageSession = class {
|
|
126
|
+
constructor() {
|
|
127
|
+
this.createTime = /* @__PURE__ */ new Date();
|
|
128
|
+
this.updateTime = /* @__PURE__ */ new Date();
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
__decorateClass([
|
|
132
|
+
(0, import_core.PrimaryKey)({ type: "string" })
|
|
133
|
+
], StorageSession.prototype, "id", 2);
|
|
134
|
+
__decorateClass([
|
|
135
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "app_name" })
|
|
136
|
+
], StorageSession.prototype, "appName", 2);
|
|
137
|
+
__decorateClass([
|
|
138
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "user_id" })
|
|
139
|
+
], StorageSession.prototype, "userId", 2);
|
|
140
|
+
__decorateClass([
|
|
141
|
+
(0, import_core.Property)({ type: "json" })
|
|
142
|
+
], StorageSession.prototype, "state", 2);
|
|
143
|
+
__decorateClass([
|
|
144
|
+
(0, import_core.Property)({
|
|
145
|
+
type: "datetime",
|
|
146
|
+
fieldName: "create_time",
|
|
147
|
+
onCreate: () => /* @__PURE__ */ new Date()
|
|
148
|
+
})
|
|
149
|
+
], StorageSession.prototype, "createTime", 2);
|
|
150
|
+
__decorateClass([
|
|
151
|
+
(0, import_core.Property)({
|
|
152
|
+
type: "datetime",
|
|
153
|
+
fieldName: "update_time",
|
|
154
|
+
onCreate: () => /* @__PURE__ */ new Date()
|
|
155
|
+
})
|
|
156
|
+
], StorageSession.prototype, "updateTime", 2);
|
|
157
|
+
StorageSession = __decorateClass([
|
|
158
|
+
(0, import_core.Entity)({ tableName: "sessions" })
|
|
159
|
+
], StorageSession);
|
|
160
|
+
import_core.PrimaryKey.name;
|
|
161
|
+
let StorageEvent = class {
|
|
162
|
+
};
|
|
163
|
+
__decorateClass([
|
|
164
|
+
(0, import_core.PrimaryKey)({ type: "string" })
|
|
165
|
+
], StorageEvent.prototype, "id", 2);
|
|
166
|
+
__decorateClass([
|
|
167
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "app_name" })
|
|
168
|
+
], StorageEvent.prototype, "appName", 2);
|
|
169
|
+
__decorateClass([
|
|
170
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "user_id" })
|
|
171
|
+
], StorageEvent.prototype, "userId", 2);
|
|
172
|
+
__decorateClass([
|
|
173
|
+
(0, import_core.PrimaryKey)({ type: "string", fieldName: "session_id" })
|
|
174
|
+
], StorageEvent.prototype, "sessionId", 2);
|
|
175
|
+
__decorateClass([
|
|
176
|
+
(0, import_core.Property)({ type: "string", fieldName: "invocation_id" })
|
|
177
|
+
], StorageEvent.prototype, "invocationId", 2);
|
|
178
|
+
__decorateClass([
|
|
179
|
+
(0, import_core.Property)({ type: "datetime" })
|
|
180
|
+
], StorageEvent.prototype, "timestamp", 2);
|
|
181
|
+
__decorateClass([
|
|
182
|
+
(0, import_core.Property)({ type: CamelCaseToSnakeCaseJsonType, fieldName: "event_data" })
|
|
183
|
+
], StorageEvent.prototype, "eventData", 2);
|
|
184
|
+
StorageEvent = __decorateClass([
|
|
185
|
+
(0, import_core.Entity)({ tableName: "events" })
|
|
186
|
+
], StorageEvent);
|
|
187
|
+
const ENTITIES = [
|
|
188
|
+
StorageMetadata,
|
|
189
|
+
StorageAppState,
|
|
190
|
+
StorageUserState,
|
|
191
|
+
StorageSession,
|
|
192
|
+
StorageEvent
|
|
193
|
+
];
|
|
194
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
195
|
+
0 && (module.exports = {
|
|
196
|
+
ENTITIES,
|
|
197
|
+
SCHEMA_VERSION_1_JSON,
|
|
198
|
+
SCHEMA_VERSION_KEY,
|
|
199
|
+
StorageAppState,
|
|
200
|
+
StorageEvent,
|
|
201
|
+
StorageMetadata,
|
|
202
|
+
StorageSession,
|
|
203
|
+
StorageUserState
|
|
204
|
+
});
|