@kdonev/termscape 0.1.0 → 0.1.2

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.
Files changed (89) hide show
  1. package/README.md +211 -79
  2. package/dist/agents/detect.d.ts +27 -0
  3. package/dist/agents/detect.d.ts.map +1 -0
  4. package/dist/agents/detect.js +210 -0
  5. package/dist/agents/detect.js.map +1 -0
  6. package/dist/agents/profiles.d.ts +119 -2
  7. package/dist/agents/profiles.d.ts.map +1 -1
  8. package/dist/agents/profiles.js +224 -4
  9. package/dist/agents/profiles.js.map +1 -1
  10. package/dist/agents/templates.d.ts +100 -0
  11. package/dist/agents/templates.d.ts.map +1 -0
  12. package/dist/agents/templates.js +165 -0
  13. package/dist/agents/templates.js.map +1 -0
  14. package/dist/agents/wiring.d.ts +30 -1
  15. package/dist/agents/wiring.d.ts.map +1 -1
  16. package/dist/agents/wiring.js +182 -10
  17. package/dist/agents/wiring.js.map +1 -1
  18. package/dist/cli.js +51 -14
  19. package/dist/cli.js.map +1 -1
  20. package/dist/db/migrations.d.ts.map +1 -1
  21. package/dist/db/migrations.js +73 -0
  22. package/dist/db/migrations.js.map +1 -1
  23. package/dist/db/store.d.ts +53 -1
  24. package/dist/db/store.d.ts.map +1 -1
  25. package/dist/db/store.js +118 -5
  26. package/dist/db/store.js.map +1 -1
  27. package/dist/hub.d.ts +264 -6
  28. package/dist/hub.d.ts.map +1 -1
  29. package/dist/hub.js +549 -33
  30. package/dist/hub.js.map +1 -1
  31. package/dist/hub.tgz +0 -0
  32. package/dist/mcp/server.d.ts +3 -0
  33. package/dist/mcp/server.d.ts.map +1 -1
  34. package/dist/mcp/server.js +27 -2
  35. package/dist/mcp/server.js.map +1 -1
  36. package/dist/protocol/domain.d.ts +88 -0
  37. package/dist/protocol/domain.d.ts.map +1 -1
  38. package/dist/protocol/domain.js +114 -0
  39. package/dist/protocol/domain.js.map +1 -1
  40. package/dist/protocol/mcp-tools.d.ts +43 -0
  41. package/dist/protocol/mcp-tools.d.ts.map +1 -1
  42. package/dist/protocol/mcp-tools.js +65 -0
  43. package/dist/protocol/mcp-tools.js.map +1 -1
  44. package/dist/protocol/peer.d.ts +38 -1
  45. package/dist/protocol/peer.d.ts.map +1 -1
  46. package/dist/protocol/peer.js +41 -2
  47. package/dist/protocol/peer.js.map +1 -1
  48. package/dist/protocol/ws.d.ts +259 -0
  49. package/dist/protocol/ws.d.ts.map +1 -1
  50. package/dist/protocol/ws.js +169 -5
  51. package/dist/protocol/ws.js.map +1 -1
  52. package/dist/remote/deployer.d.ts.map +1 -1
  53. package/dist/remote/deployer.js +15 -2
  54. package/dist/remote/deployer.js.map +1 -1
  55. package/dist/remote/join-script.d.ts.map +1 -1
  56. package/dist/remote/join-script.js +34 -2
  57. package/dist/remote/join-script.js.map +1 -1
  58. package/dist/remote/lan.d.ts +73 -5
  59. package/dist/remote/lan.d.ts.map +1 -1
  60. package/dist/remote/lan.js +119 -10
  61. package/dist/remote/lan.js.map +1 -1
  62. package/dist/remote/peer-serve.d.ts.map +1 -1
  63. package/dist/remote/peer-serve.js +32 -3
  64. package/dist/remote/peer-serve.js.map +1 -1
  65. package/dist/remote/peer.d.ts +7 -0
  66. package/dist/remote/peer.d.ts.map +1 -1
  67. package/dist/remote/peer.js +22 -0
  68. package/dist/remote/peer.js.map +1 -1
  69. package/dist/remote/registry.d.ts +70 -2
  70. package/dist/remote/registry.d.ts.map +1 -1
  71. package/dist/remote/registry.js +134 -10
  72. package/dist/remote/registry.js.map +1 -1
  73. package/dist/server.d.ts +22 -3
  74. package/dist/server.d.ts.map +1 -1
  75. package/dist/server.js +239 -117
  76. package/dist/server.js.map +1 -1
  77. package/dist/session/manager.d.ts +60 -4
  78. package/dist/session/manager.d.ts.map +1 -1
  79. package/dist/session/manager.js +198 -41
  80. package/dist/session/manager.js.map +1 -1
  81. package/dist/session/pty.d.ts +19 -0
  82. package/dist/session/pty.d.ts.map +1 -1
  83. package/dist/session/pty.js +84 -1
  84. package/dist/session/pty.js.map +1 -1
  85. package/package.json +1 -1
  86. package/web/assets/{index-BOqZOoep.js → index-9Z_8xZqk.js} +10 -6
  87. package/web/assets/index-DheUm5dl.css +1 -0
  88. package/web/index.html +2 -2
  89. package/web/assets/index-B2JtCtHa.css +0 -1
@@ -153,6 +153,79 @@ export const MIGRATIONS = [
153
153
  CREATE INDEX idx_pending_removal_host ON pending_removal(host_id);
154
154
  `,
155
155
  },
156
+ {
157
+ version: 5,
158
+ name: 'session_model_effort',
159
+ up: `
160
+ -- What a template resolved to when this session started.
161
+ --
162
+ -- Recorded on the session rather than looked up from the template at
163
+ -- resume time, for two reasons. Resume deliberately rebuilds argv
164
+ -- instead of replaying it, so without these the model and effort are
165
+ -- quietly lost the first time a machine restarts - and an agent coming
166
+ -- back on a different model than it left with is worse than one that
167
+ -- does not come back. And a template is editable: the answer belongs to
168
+ -- the session that used it, not to whatever the template says today.
169
+ --
170
+ -- The opening instruction is deliberately *not* here. It is how the
171
+ -- session started, not what it is, and it must not repeat on resume.
172
+ ALTER TABLE session ADD COLUMN model TEXT;
173
+ ALTER TABLE session ADD COLUMN effort TEXT;
174
+ -- Which template was picked, for showing on the window. Null for a
175
+ -- session started before templates existed, or by an agent's spawn_agent.
176
+ ALTER TABLE session ADD COLUMN template TEXT;
177
+ `,
178
+ },
179
+ {
180
+ version: 6,
181
+ name: 'stored_templates',
182
+ up: `
183
+ -- Templates made from the panel.
184
+ --
185
+ -- Kept here rather than round-tripped into ~/.termscape/agents.toml,
186
+ -- which is the one real decision this table represents. That file is
187
+ -- written by hand: a formatter that ate somebody's comments and ordering
188
+ -- the first time they used the dialog would be a bad trade for a config
189
+ -- file, and there is no TOML writer here to do it with anyway. So the
190
+ -- file stays a read-only second source and this is the writable one,
191
+ -- which is also how workspaces and hosts already work.
192
+ --
193
+ -- When both declare the same id the file wins. Someone who wrote a
194
+ -- template by hand meant it, and a UI silently overriding their file is
195
+ -- worse than a UI refusing an id the file has claimed.
196
+ --
197
+ -- The id is the primary key because it is the name a person picks from
198
+ -- a list; there is no separate uuid to be the "real" identity and then
199
+ -- explain.
200
+ CREATE TABLE template (
201
+ id TEXT PRIMARY KEY,
202
+ description TEXT,
203
+ agent TEXT NOT NULL,
204
+ model TEXT,
205
+ effort TEXT,
206
+ prompt TEXT,
207
+ created_at INTEGER NOT NULL
208
+ );
209
+ `,
210
+ },
211
+ {
212
+ version: 7,
213
+ name: 'template_env',
214
+ up: `
215
+ -- Extra environment a template sets for the agent it launches.
216
+ --
217
+ -- JSON rather than a side table: it is a small map read and written
218
+ -- whole, exactly like the argv and env already on the session row, and a
219
+ -- table would buy queries nobody makes.
220
+ ALTER TABLE template ADD COLUMN env_json TEXT;
221
+
222
+ -- And the copy that belongs to the session, for the same reason model
223
+ -- and effort are recorded there: a template is editable, and a session
224
+ -- resumed a week later has to come back in the environment it was
225
+ -- launched in rather than whatever the template says today.
226
+ ALTER TABLE session ADD COLUMN template_env_json TEXT;
227
+ `,
228
+ },
156
229
  ];
157
230
  export function runMigrations(db) {
158
231
  db.exec(`
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,SAAS;QACf,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuFH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;KAmBH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE;;;;;;;;;;;;;;KAcH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE;;;;;;;;;;;;;;KAcH;KACF;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,OAAO,GAET,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAG5D,CAAC,CAAC,IAAI,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAChC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACd,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAC3E,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EACpC,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,SAAS;QACf,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuFH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;KAmBH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE;;;;;;;;;;;;;;KAcH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE;;;;;;;;;;;;;;KAcH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE;;;;;;;;;;;;;;;;;;KAkBH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE;;;;;;;;;;;;;KAaH;KACF;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAY;IACxC,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,MAAM,OAAO,GAET,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,EAG5D,CAAC,CAAC,IAAI,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAChC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACd,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAC3E,CAAC,CAAC,OAAO,EACT,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EACpC,CAAC,CACF,CAAC"}
@@ -6,6 +6,23 @@ export interface SessionLaunchSpec {
6
6
  argv: string[];
7
7
  env: Record<string, string>;
8
8
  }
9
+ /**
10
+ * A template the user made from the panel, as stored.
11
+ *
12
+ * Deliberately not `AgentTemplate`: that one carries a resolved description
13
+ * and the reason it cannot be used, both of which are worked out against the
14
+ * profiles at load. This is only what was typed.
15
+ */
16
+ export interface StoredTemplate {
17
+ id: string;
18
+ description: string | null;
19
+ agent: string;
20
+ model: string | null;
21
+ effort: string | null;
22
+ prompt: string | null;
23
+ /** Extra environment for the agent process. Empty when it sets none. */
24
+ env: Record<string, string>;
25
+ }
9
26
  export declare class Store {
10
27
  private readonly db;
11
28
  constructor(db: Db);
@@ -26,16 +43,51 @@ export declare class Store {
26
43
  getWorkspace(id: string): Workspace | null;
27
44
  getWorkspaceByName(name: string): Workspace | null;
28
45
  insertWorkspace(w: Workspace): void;
46
+ /**
47
+ * Change a workspace's name or folder in place.
48
+ *
49
+ * Deliberately narrow: id, kind, host and colour identify the row and the
50
+ * node drawn for it, and nothing in the UI has any business editing them.
51
+ */
52
+ updateWorkspace(id: string, patch: {
53
+ name?: string;
54
+ rootPath?: string;
55
+ }): void;
29
56
  removeWorkspace(id: string): void;
57
+ /**
58
+ * Templates made from the panel. `agents.toml` is a second source and is
59
+ * merged over these by TemplateRegistry, not here: this is only the half
60
+ * that can be written.
61
+ */
62
+ listStoredTemplates(): StoredTemplate[];
63
+ getStoredTemplate(id: string): StoredTemplate | null;
64
+ /**
65
+ * Create or replace one, wholesale.
66
+ *
67
+ * Replace rather than patch because the dialog sends the whole form, and a
68
+ * template is four fields: a patch API here would only be a way to make
69
+ * clearing a model harder to express than setting one.
70
+ */
71
+ upsertTemplate(t: StoredTemplate): void;
72
+ removeTemplate(id: string): void;
30
73
  private rowToSession;
31
74
  private readonly selectSession;
32
75
  listSessions(isResumable: (profile: string) => boolean): Session[];
33
76
  getSession(id: string, isResumable: (profile: string) => boolean): Session | null;
34
77
  namesInWorkspace(workspaceId: string): string[];
35
- insertSession(s: Session, spec: SessionLaunchSpec): void;
78
+ /**
79
+ * `templateEnv` is recorded beside the launch spec rather than folded into
80
+ * it: the spec is rebuilt from scratch on every resume, and this is the one
81
+ * input to that rebuild which lives on the template rather than the profile
82
+ * — so the session has to keep its own copy or a later edit to the template
83
+ * would silently change what a resumed agent runs in.
84
+ */
85
+ insertSession(s: Session, spec: SessionLaunchSpec, templateEnv?: Record<string, string>): void;
36
86
  /** Fields that change over a session's life. Layout is written separately. */
37
87
  updateSession(id: string, patch: Partial<Pick<Session, 'state' | 'pid' | 'exitCode' | 'statusText' | 'title' | 'cols' | 'rows' | 'exitedAt' | 'lastActiveAt' | 'agentSessionUuid'>>): void;
38
88
  getLaunchSpec(id: string): SessionLaunchSpec | null;
89
+ /** What the template this session came from added to its environment. */
90
+ getTemplateEnv(id: string): Record<string, string>;
39
91
  setLaunchSpec(id: string, spec: SessionLaunchSpec): void;
40
92
  removeSession(id: string): void;
41
93
  saveWindow(sessionId: string, rect: WindowRect): void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"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"}
package/dist/db/store.js CHANGED
@@ -7,6 +7,26 @@ export const DEFAULT_WINDOW = {
7
7
  z: 0,
8
8
  collapsed: false,
9
9
  };
10
+ /**
11
+ * A JSON column back as a string map, tolerating anything that is not one.
12
+ *
13
+ * Rows predating the column are null, and a hand-edited database is not a
14
+ * reason to refuse to start: an unreadable value is treated as "none set",
15
+ * which is what it was before the column existed.
16
+ */
17
+ function envFromJson(json) {
18
+ if (!json)
19
+ return {};
20
+ try {
21
+ const v = JSON.parse(json);
22
+ if (typeof v !== 'object' || v === null || Array.isArray(v))
23
+ return {};
24
+ return Object.fromEntries(Object.entries(v).filter((e) => typeof e[1] === 'string'));
25
+ }
26
+ catch {
27
+ return {};
28
+ }
29
+ }
10
30
  export class Store {
11
31
  db;
12
32
  constructor(db) {
@@ -98,9 +118,79 @@ export class Store {
98
118
  VALUES (@id, @name, @kind, @rootPath, @hostId, @color, @createdAt, @archivedAt)`)
99
119
  .run(w);
100
120
  }
121
+ /**
122
+ * Change a workspace's name or folder in place.
123
+ *
124
+ * Deliberately narrow: id, kind, host and colour identify the row and the
125
+ * node drawn for it, and nothing in the UI has any business editing them.
126
+ */
127
+ updateWorkspace(id, patch) {
128
+ this.db
129
+ .prepare(`UPDATE workspace
130
+ SET name = COALESCE(@name, name),
131
+ root_path = COALESCE(@rootPath, root_path)
132
+ WHERE id = @id`)
133
+ .run({ id, name: patch.name ?? null, rootPath: patch.rootPath ?? null });
134
+ }
101
135
  removeWorkspace(id) {
102
136
  this.db.prepare('DELETE FROM workspace WHERE id = ?').run(id);
103
137
  }
138
+ /* ------------------------------------------------------------ templates */
139
+ /**
140
+ * Templates made from the panel. `agents.toml` is a second source and is
141
+ * merged over these by TemplateRegistry, not here: this is only the half
142
+ * that can be written.
143
+ */
144
+ listStoredTemplates() {
145
+ return this.db
146
+ .prepare('SELECT * FROM template ORDER BY id')
147
+ .all().map((r) => ({
148
+ id: r.id,
149
+ description: r.description,
150
+ agent: r.agent,
151
+ model: r.model,
152
+ effort: r.effort,
153
+ prompt: r.prompt,
154
+ env: envFromJson(r.env_json),
155
+ }));
156
+ }
157
+ getStoredTemplate(id) {
158
+ return this.listStoredTemplates().find((t) => t.id === id) ?? null;
159
+ }
160
+ /**
161
+ * Create or replace one, wholesale.
162
+ *
163
+ * Replace rather than patch because the dialog sends the whole form, and a
164
+ * template is four fields: a patch API here would only be a way to make
165
+ * clearing a model harder to express than setting one.
166
+ */
167
+ upsertTemplate(t) {
168
+ this.db
169
+ .prepare(`INSERT INTO template (id, description, agent, model, effort, prompt, env_json, created_at)
170
+ VALUES (@id, @description, @agent, @model, @effort, @prompt, @envJson, @createdAt)
171
+ ON CONFLICT(id) DO UPDATE SET
172
+ description = excluded.description,
173
+ agent = excluded.agent,
174
+ model = excluded.model,
175
+ effort = excluded.effort,
176
+ prompt = excluded.prompt,
177
+ env_json = excluded.env_json`)
178
+ .run({
179
+ id: t.id,
180
+ description: t.description ?? null,
181
+ agent: t.agent,
182
+ model: t.model ?? null,
183
+ effort: t.effort ?? null,
184
+ prompt: t.prompt ?? null,
185
+ // Stored as `null` rather than `{}` so a template that sets nothing
186
+ // looks the same as every row written before the column existed.
187
+ envJson: Object.keys(t.env).length > 0 ? JSON.stringify(t.env) : null,
188
+ createdAt: Date.now(),
189
+ });
190
+ }
191
+ removeTemplate(id) {
192
+ this.db.prepare('DELETE FROM template WHERE id = ?').run(id);
193
+ }
104
194
  /* ------------------------------------------------------------- sessions */
105
195
  rowToSession(r, resumable) {
106
196
  return {
@@ -109,6 +199,9 @@ export class Store {
109
199
  name: r.name,
110
200
  address: makeAddress(r.workspace_name, r.name),
111
201
  profile: r.profile,
202
+ template: r.template,
203
+ model: r.model,
204
+ effort: r.effort,
112
205
  cwd: r.cwd,
113
206
  agentSessionUuid: r.agent_session_uuid,
114
207
  spawnedBy: r.spawned_by,
@@ -160,26 +253,39 @@ export class Store {
160
253
  .prepare('SELECT name FROM session WHERE workspace_id = ?')
161
254
  .all(workspaceId).map((r) => r.name);
162
255
  }
163
- insertSession(s, spec) {
256
+ /**
257
+ * `templateEnv` is recorded beside the launch spec rather than folded into
258
+ * it: the spec is rebuilt from scratch on every resume, and this is the one
259
+ * input to that rebuild which lives on the template rather than the profile
260
+ * — so the session has to keep its own copy or a later edit to the template
261
+ * would silently change what a resumed agent runs in.
262
+ */
263
+ insertSession(s, spec, templateEnv = {}) {
164
264
  const tx = this.db.transaction(() => {
165
265
  this.db
166
266
  .prepare(`INSERT INTO session (
167
- id, workspace_id, name, profile, cwd, agent_session_uuid,
168
- argv_json, env_json, spawned_by, state, status_text, title,
267
+ id, workspace_id, name, profile, template, model, effort, cwd,
268
+ agent_session_uuid,
269
+ argv_json, env_json, template_env_json, spawned_by, state, status_text, title,
169
270
  pid, exit_code, cols, rows, created_at, exited_at, last_active_at)
170
271
  VALUES (
171
- @id, @workspaceId, @name, @profile, @cwd, @agentSessionUuid,
172
- @argvJson, @envJson, @spawnedBy, @state, @statusText, @title,
272
+ @id, @workspaceId, @name, @profile, @template, @model, @effort, @cwd,
273
+ @agentSessionUuid,
274
+ @argvJson, @envJson, @templateEnvJson, @spawnedBy, @state, @statusText, @title,
173
275
  @pid, @exitCode, @cols, @rows, @createdAt, @exitedAt, @lastActiveAt)`)
174
276
  .run({
175
277
  id: s.id,
176
278
  workspaceId: s.workspaceId,
177
279
  name: s.name,
178
280
  profile: s.profile,
281
+ template: s.template,
282
+ model: s.model,
283
+ effort: s.effort,
179
284
  cwd: s.cwd,
180
285
  agentSessionUuid: s.agentSessionUuid,
181
286
  argvJson: JSON.stringify(spec.argv),
182
287
  envJson: JSON.stringify(spec.env),
288
+ templateEnvJson: Object.keys(templateEnv).length > 0 ? JSON.stringify(templateEnv) : null,
183
289
  spawnedBy: s.spawnedBy,
184
290
  state: s.state,
185
291
  statusText: s.statusText,
@@ -226,6 +332,13 @@ export class Store {
226
332
  return null;
227
333
  return { argv: JSON.parse(r.argv_json), env: JSON.parse(r.env_json) };
228
334
  }
335
+ /** What the template this session came from added to its environment. */
336
+ getTemplateEnv(id) {
337
+ const r = this.db
338
+ .prepare('SELECT template_env_json FROM session WHERE id = ?')
339
+ .get(id);
340
+ return envFromJson(r?.template_env_json ?? null);
341
+ }
229
342
  setLaunchSpec(id, spec) {
230
343
  this.db
231
344
  .prepare('UPDATE session SET argv_json = ?, env_json = ? WHERE id = ?')
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAOZ,MAAM,qBAAqB,CAAC;AAiC7B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,CAAC;IACJ,SAAS,EAAE,KAAK;CACjB,CAAC;AAQF,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,EAAM;QAAN,OAAE,GAAF,EAAE,CAAI;IAAG,CAAC;IAEvC,4EAA4E;IAE5E,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAW,CAAC;QACjF,uEAAuE;QACvE,0DAA0D;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;YACrB,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,CAA+D;QACxE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;wBASgB,CACjB;aACA,GAAG,CAAC;YACH,GAAG,CAAC;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,EAAE,CAE5D,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAa;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,KAAK,CAElE,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,4EAA4E;IAE5E,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,uEAAuE,CAAC;aAChF,GAAG,EAAW,CAAC;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,UAAU,EAAE,CAAC,CAAC,WAAW;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IAChE,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,eAAe,CAAC,CAAY;QAC1B,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;yFACiF,CAClF;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,EAAU;QACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,4EAA4E;IAEpE,YAAY,CAAC,CAAa,EAAE,SAAkB;QACpD,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,KAAK,EAAE,CAAC,CAAC,KAAyB;YAClC,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS;YACT,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,YAAY,EAAE,CAAC,CAAC,cAAc;YAC9B,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC;aAC7B;SACF,CAAC;IACJ,CAAC;IAEgB,aAAa,GAAG;;;;;;GAMhC,CAAC;IAEF,YAAY,CAAC,WAAyC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,CAAC;aACtD,GAAG,EAAkB,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,WAAyC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,iBAAiB,CAAC;aAC/C,GAAG,CAAC,EAAE,CAA2B,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,OACE,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,WAAW,CACnB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,CAAU,EAAE,IAAuB;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;;;;;kFAOwE,CACzE;iBACA,GAAG,CAAC;gBACH,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC,CAAC;YACL,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAED,8EAA8E;IAC9E,aAAa,CACX,EAAU,EACV,KAKC;QAED,MAAM,GAAG,GAA2B;YAClC,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,gBAAgB;YAC9B,gBAAgB,EAAE,oBAAoB;SACvC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,sBAAsB,IAAI,iBAAiB,CAAC;aACpD,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,CAAC,EAAE,CAAwD,CAAC;QAClE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,IAAuB;QAC/C,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAE5E,UAAU,CAAC,SAAiB,EAAE,IAAgB;QAC5C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;8DAGsD,CACvD;aACA,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAEvD,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED,YAAY,CAAC,CAAW;QACtB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;4EACoE,CACrE;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,gBAAgB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAW,CAAC;QAC3E,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACd,CAAC,CAAC,OAAiB;YACnB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;SACzE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,MAAc,EAAE,IAAgB;QAChE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;+EAGuE,CACxE;aACA,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,uEAAuE;IAEvE;;;;OAIG;IACH,eAAe,CAAC,MAAe;QAC7B,MAAM,IAAI,GAAG,CACX,MAAM;YACJ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE,CAClD,CAAC;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,MAAc;QAC/C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;uFAE+E,CAChF;aACA,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,4EAA4E;IAE5E,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAY,EAAE,IAAY;QAC5E,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;mFAG2E,CAC5E;aACA,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,WAAW,CACT,SAAiB;QAEjB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,0EAA0E,CAAC;aACnF,GAAG,CAAC,SAAS,CAAmE,CAAC;QACpF,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,4EAA4E;IAE5E,YAAY,CAAC,KAAK,GAAG,GAAG;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,qDAAqD,CAAC;aAC9D,GAAG,CAAC,KAAK,CAAU,CAAC;QACvB,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;aACF,OAAO,EAAE,CAAC;IACf,CAAC;IAED,aAAa,CAAC,CAAU;QACtB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;gGACwF,CACzF;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/db/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAOZ,MAAM,qBAAqB,CAAC;AAqC7B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,CAAC;IACJ,SAAS,EAAE,KAAK;CACjB,CAAC;AAqCF;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAmB;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACtC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACvE,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,EAAyB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CACvD,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,EAAM;QAAN,OAAE,GAAF,EAAE,CAAI;IAAG,CAAC;IAEvC,4EAA4E;IAE5E,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAW,CAAC;QACjF,uEAAuE;QACvE,0DAA0D;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;YACrB,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC3B,OAAO,EAAE,CAAC,CAAC,QAAQ;YACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,CAA+D;QACxE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;;wBASgB,CACjB;aACA,GAAG,CAAC;YACH,GAAG,CAAC;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,EAAE,CAE5D,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAa;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,KAAK,CAElE,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,4EAA4E;IAE5E,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,uEAAuE,CAAC;aAChF,GAAG,EAAW,CAAC;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,UAAU,EAAE,CAAC,CAAC,WAAW;SAC1B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IAChE,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,eAAe,CAAC,CAAY;QAC1B,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;yFACiF,CAClF;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,EAAU,EAAE,KAA2C;QACrE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;yBAGiB,CAClB;aACA,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,eAAe,CAAC,EAAU;QACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,4EAA4E;IAE5E;;;;OAIG;IACH,mBAAmB;QACjB,OACE,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,oCAAoC,CAAC;aAC7C,GAAG,EACP,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,CAAiB;QAC9B,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;;;;;;2CAQmC,CACpC;aACA,GAAG,CAAC;YACH,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;YAClC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;YACxB,oEAAoE;YACpE,iEAAiE;YACjE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACrE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAEpE,YAAY,CAAC,CAAa,EAAE,SAAkB;QACpD,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,KAAK,EAAE,CAAC,CAAC,KAAyB;YAClC,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,CAAC,CAAC,WAAW;YACzB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS;YACT,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,YAAY,EAAE,CAAC,CAAC,cAAc;YAC9B,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC;aAC7B;SACF,CAAC;IACJ,CAAC;IAEgB,aAAa,GAAG;;;;;;GAMhC,CAAC;IAEF,YAAY,CAAC,WAAyC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,CAAC;aACtD,GAAG,EAAkB,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,WAAyC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,iBAAiB,CAAC;aAC/C,GAAG,CAAC,EAAE,CAA2B,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,OACE,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,WAAW,CACnB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CACX,CAAU,EACV,IAAuB,EACvB,cAAsC,EAAE;QAExC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;;;;;;;;kFASwE,CACzE;iBACA,GAAG,CAAC;gBACH,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjC,eAAe,EACb,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1E,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAC,CAAC;YACL,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAED,8EAA8E;IAC9E,aAAa,CACX,EAAU,EACV,KAKC;QAED,MAAM,GAAG,GAA2B;YAClC,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,gBAAgB;YAC9B,gBAAgB,EAAE,oBAAoB;SACvC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,sBAAsB,IAAI,iBAAiB,CAAC;aACpD,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,sDAAsD,CAAC;aAC/D,GAAG,CAAC,EAAE,CAAwD,CAAC;QAClE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,cAAc,CAAC,EAAU;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,oDAAoD,CAAC;aAC7D,GAAG,CAAC,EAAE,CAAqD,CAAC;QAC/D,OAAO,WAAW,CAAC,CAAC,EAAE,iBAAiB,IAAI,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,IAAuB;QAC/C,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAE5E,UAAU,CAAC,SAAiB,EAAE,IAAgB;QAC5C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;8DAGsD,CACvD;aACA,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAEvD,CAAC;QACd,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED,YAAY,CAAC,CAAW;QACtB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;4EACoE,CACrE;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,gBAAgB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAW,CAAC;QAC3E,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACd,CAAC,CAAC,OAAiB;YACnB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;SACzE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,MAAc,EAAE,IAAgB;QAChE,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;+EAGuE,CACxE;aACA,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,uEAAuE;IAEvE;;;;OAIG;IACH,eAAe,CAAC,MAAe;QAC7B,MAAM,IAAI,GAAG,CACX,MAAM;YACJ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,EAAE,CAClD,CAAC;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,MAAc;QAC/C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;uFAE+E,CAChF;aACA,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,4EAA4E;IAE5E,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAY,EAAE,IAAY;QAC5E,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;;;mFAG2E,CAC5E;aACA,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,WAAW,CACT,SAAiB;QAEjB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;aACd,OAAO,CAAC,0EAA0E,CAAC;aACnF,GAAG,CAAC,SAAS,CAAmE,CAAC;QACpF,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IAED,4EAA4E;IAE5E,YAAY,CAAC,KAAK,GAAG,GAAG;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,qDAAqD,CAAC;aAC9D,GAAG,CAAC,KAAK,CAAU,CAAC;QACvB,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,SAAS;YACrB,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,OAAO;YACjB,WAAW,EAAE,CAAC,CAAC,YAAY;YAC3B,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;aACF,OAAO,EAAE,CAAC;IACf,CAAC;IAED,aAAa,CAAC,CAAU;QACtB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;gGACwF,CACzF;aACA,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;CACF"}