@evermore.work/plugin-sdk 2026.509.0-canary.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.
Files changed (62) hide show
  1. package/README.md +1215 -0
  2. package/dist/bundlers.d.ts +57 -0
  3. package/dist/bundlers.d.ts.map +1 -0
  4. package/dist/bundlers.js +106 -0
  5. package/dist/bundlers.js.map +1 -0
  6. package/dist/define-plugin.d.ts +266 -0
  7. package/dist/define-plugin.d.ts.map +1 -0
  8. package/dist/define-plugin.js +85 -0
  9. package/dist/define-plugin.js.map +1 -0
  10. package/dist/dev-cli.d.ts +3 -0
  11. package/dist/dev-cli.d.ts.map +1 -0
  12. package/dist/dev-cli.js +49 -0
  13. package/dist/dev-cli.js.map +1 -0
  14. package/dist/dev-server.d.ts +34 -0
  15. package/dist/dev-server.d.ts.map +1 -0
  16. package/dist/dev-server.js +194 -0
  17. package/dist/dev-server.js.map +1 -0
  18. package/dist/host-client-factory.d.ts +272 -0
  19. package/dist/host-client-factory.d.ts.map +1 -0
  20. package/dist/host-client-factory.js +481 -0
  21. package/dist/host-client-factory.js.map +1 -0
  22. package/dist/index.d.ts +84 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +84 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/protocol.d.ts +1285 -0
  27. package/dist/protocol.d.ts.map +1 -0
  28. package/dist/protocol.js +306 -0
  29. package/dist/protocol.js.map +1 -0
  30. package/dist/testing.d.ts +166 -0
  31. package/dist/testing.d.ts.map +1 -0
  32. package/dist/testing.js +1766 -0
  33. package/dist/testing.js.map +1 -0
  34. package/dist/types.d.ts +1330 -0
  35. package/dist/types.d.ts.map +1 -0
  36. package/dist/types.js +12 -0
  37. package/dist/types.js.map +1 -0
  38. package/dist/ui/components.d.ts +511 -0
  39. package/dist/ui/components.d.ts.map +1 -0
  40. package/dist/ui/components.js +135 -0
  41. package/dist/ui/components.js.map +1 -0
  42. package/dist/ui/hooks.d.ts +155 -0
  43. package/dist/ui/hooks.d.ts.map +1 -0
  44. package/dist/ui/hooks.js +195 -0
  45. package/dist/ui/hooks.js.map +1 -0
  46. package/dist/ui/index.d.ts +54 -0
  47. package/dist/ui/index.d.ts.map +1 -0
  48. package/dist/ui/index.js +51 -0
  49. package/dist/ui/index.js.map +1 -0
  50. package/dist/ui/runtime.d.ts +3 -0
  51. package/dist/ui/runtime.d.ts.map +1 -0
  52. package/dist/ui/runtime.js +30 -0
  53. package/dist/ui/runtime.js.map +1 -0
  54. package/dist/ui/types.d.ts +388 -0
  55. package/dist/ui/types.d.ts.map +1 -0
  56. package/dist/ui/types.js +17 -0
  57. package/dist/ui/types.js.map +1 -0
  58. package/dist/worker-rpc-host.d.ts +127 -0
  59. package/dist/worker-rpc-host.d.ts.map +1 -0
  60. package/dist/worker-rpc-host.js +1279 -0
  61. package/dist/worker-rpc-host.js.map +1 -0
  62. package/package.json +88 -0
@@ -0,0 +1,481 @@
1
+ /**
2
+ * Host-side client factory — creates capability-gated handler maps for
3
+ * servicing worker→host JSON-RPC calls.
4
+ *
5
+ * When a plugin worker calls `ctx.state.get(...)` inside its process, the
6
+ * SDK serializes the call as a JSON-RPC request over stdio. On the host side,
7
+ * the `PluginWorkerManager` receives the request and dispatches it to the
8
+ * handler registered for that method. This module provides a factory that
9
+ * creates those handlers for all `WorkerToHostMethods`, with automatic
10
+ * capability enforcement.
11
+ *
12
+ * ## Design
13
+ *
14
+ * 1. **Capability gating**: Each handler checks the plugin's declared
15
+ * capabilities before executing. If the plugin lacks a required capability,
16
+ * the handler throws a `CapabilityDeniedError` (which the worker manager
17
+ * translates into a JSON-RPC error response with code
18
+ * `CAPABILITY_DENIED`).
19
+ *
20
+ * 2. **Service adapters**: The caller provides a `HostServices` object with
21
+ * concrete implementations of each platform service. The factory wires
22
+ * each handler to the appropriate service method.
23
+ *
24
+ * 3. **Type safety**: The returned handler map is typed as
25
+ * `WorkerToHostHandlers` (from `plugin-worker-manager.ts`) so it plugs
26
+ * directly into `WorkerStartOptions.hostHandlers`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const handlers = createHostClientHandlers({
31
+ * pluginId: "acme.linear",
32
+ * capabilities: manifest.capabilities,
33
+ * services: {
34
+ * config: { get: () => registry.getConfig(pluginId) },
35
+ * state: { get: ..., set: ..., delete: ... },
36
+ * entities: { upsert: ..., list: ... },
37
+ * // ... all services
38
+ * },
39
+ * });
40
+ *
41
+ * await workerManager.startWorker("acme.linear", {
42
+ * // ...
43
+ * hostHandlers: handlers,
44
+ * });
45
+ * ```
46
+ *
47
+ * @see PLUGIN_SPEC.md §13 — Host-Worker Protocol
48
+ * @see PLUGIN_SPEC.md §15 — Capability Model
49
+ */
50
+ import { PLUGIN_RPC_ERROR_CODES } from "./protocol.js";
51
+ // ---------------------------------------------------------------------------
52
+ // Error types
53
+ // ---------------------------------------------------------------------------
54
+ /**
55
+ * Thrown when a plugin calls a host method it does not have the capability for.
56
+ *
57
+ * The `code` field is set to `PLUGIN_RPC_ERROR_CODES.CAPABILITY_DENIED` so
58
+ * the worker manager can propagate it as the correct JSON-RPC error code.
59
+ */
60
+ export class CapabilityDeniedError extends Error {
61
+ name = "CapabilityDeniedError";
62
+ code = PLUGIN_RPC_ERROR_CODES.CAPABILITY_DENIED;
63
+ constructor(pluginId, method, capability) {
64
+ super(`Plugin "${pluginId}" is missing required capability "${capability}" for method "${method}"`);
65
+ }
66
+ }
67
+ // ---------------------------------------------------------------------------
68
+ // Capability → method mapping
69
+ // ---------------------------------------------------------------------------
70
+ /**
71
+ * Maps each worker→host RPC method to the capability required to invoke it.
72
+ * Methods without a capability requirement (e.g. `config.get`, `log`) are
73
+ * mapped to `null`.
74
+ *
75
+ * @see PLUGIN_SPEC.md §15 — Capability Model
76
+ */
77
+ const METHOD_CAPABILITY_MAP = {
78
+ // Config — always allowed
79
+ "config.get": null,
80
+ // Trusted local folders
81
+ "localFolders.declarations": null,
82
+ "localFolders.configure": "local.folders",
83
+ "localFolders.status": "local.folders",
84
+ "localFolders.list": "local.folders",
85
+ "localFolders.readText": "local.folders",
86
+ "localFolders.writeTextAtomic": "local.folders",
87
+ // State
88
+ "state.get": "plugin.state.read",
89
+ "state.set": "plugin.state.write",
90
+ "state.delete": "plugin.state.write",
91
+ "db.namespace": "database.namespace.read",
92
+ "db.query": "database.namespace.read",
93
+ "db.execute": "database.namespace.write",
94
+ // Entities — no specific capability required (plugin-scoped by design)
95
+ "entities.upsert": null,
96
+ "entities.list": null,
97
+ // Events
98
+ "events.emit": "events.emit",
99
+ "events.subscribe": "events.subscribe",
100
+ // HTTP
101
+ "http.fetch": "http.outbound",
102
+ // Secrets
103
+ "secrets.resolve": "secrets.read-ref",
104
+ // Activity
105
+ "activity.log": "activity.log.write",
106
+ // Metrics
107
+ "metrics.write": "metrics.write",
108
+ // Telemetry
109
+ "telemetry.track": "telemetry.track",
110
+ // Logger — always allowed
111
+ "log": null,
112
+ // Companies
113
+ "companies.list": "companies.read",
114
+ "companies.get": "companies.read",
115
+ // Projects
116
+ "projects.list": "projects.read",
117
+ "projects.get": "projects.read",
118
+ "projects.listWorkspaces": "project.workspaces.read",
119
+ "projects.getPrimaryWorkspace": "project.workspaces.read",
120
+ "projects.getWorkspaceForIssue": "project.workspaces.read",
121
+ "projects.managed.get": "projects.managed",
122
+ "projects.managed.reconcile": "projects.managed",
123
+ "projects.managed.reset": "projects.managed",
124
+ "routines.managed.get": "routines.managed",
125
+ "routines.managed.reconcile": "routines.managed",
126
+ "routines.managed.reset": "routines.managed",
127
+ "routines.managed.update": "routines.managed",
128
+ "routines.managed.run": "routines.managed",
129
+ // Issues
130
+ "issues.list": "issues.read",
131
+ "issues.get": "issues.read",
132
+ "issues.create": "issues.create",
133
+ "issues.update": "issues.update",
134
+ "issues.relations.get": "issue.relations.read",
135
+ "issues.relations.setBlockedBy": "issue.relations.write",
136
+ "issues.relations.addBlockers": "issue.relations.write",
137
+ "issues.relations.removeBlockers": "issue.relations.write",
138
+ "issues.assertCheckoutOwner": "issues.checkout",
139
+ "issues.getSubtree": "issue.subtree.read",
140
+ "issues.requestWakeup": "issues.wakeup",
141
+ "issues.requestWakeups": "issues.wakeup",
142
+ "issues.summaries.getOrchestration": "issues.orchestration.read",
143
+ "issues.listComments": "issue.comments.read",
144
+ "issues.createComment": "issue.comments.create",
145
+ "issues.createInteraction": "issue.interactions.create",
146
+ // Issue Documents
147
+ "issues.documents.list": "issue.documents.read",
148
+ "issues.documents.get": "issue.documents.read",
149
+ "issues.documents.upsert": "issue.documents.write",
150
+ "issues.documents.delete": "issue.documents.write",
151
+ // Agents
152
+ "agents.list": "agents.read",
153
+ "agents.get": "agents.read",
154
+ "agents.pause": "agents.pause",
155
+ "agents.resume": "agents.resume",
156
+ "agents.invoke": "agents.invoke",
157
+ "agents.managed.get": "agents.managed",
158
+ "agents.managed.reconcile": "agents.managed",
159
+ "agents.managed.reset": "agents.managed",
160
+ // Agent Sessions
161
+ "agents.sessions.create": "agent.sessions.create",
162
+ "agents.sessions.list": "agent.sessions.list",
163
+ "agents.sessions.sendMessage": "agent.sessions.send",
164
+ "agents.sessions.close": "agent.sessions.close",
165
+ // Goals
166
+ "goals.list": "goals.read",
167
+ "goals.get": "goals.read",
168
+ "goals.create": "goals.create",
169
+ "goals.update": "goals.update",
170
+ };
171
+ // ---------------------------------------------------------------------------
172
+ // Factory
173
+ // ---------------------------------------------------------------------------
174
+ /**
175
+ * Create a complete handler map for all worker→host JSON-RPC methods.
176
+ *
177
+ * Each handler:
178
+ * 1. Checks the plugin's declared capabilities against the required capability
179
+ * for the method (if any).
180
+ * 2. Delegates to the corresponding service adapter method.
181
+ * 3. Returns the service result, which is serialized as the JSON-RPC response
182
+ * by the worker manager.
183
+ *
184
+ * If a capability check fails, the handler throws a `CapabilityDeniedError`
185
+ * with code `CAPABILITY_DENIED`. The worker manager catches this and sends a
186
+ * JSON-RPC error response to the worker, which surfaces as a `JsonRpcCallError`
187
+ * in the plugin's SDK client.
188
+ *
189
+ * @param options - Plugin ID, capabilities, and service adapters
190
+ * @returns A handler map suitable for `WorkerStartOptions.hostHandlers`
191
+ */
192
+ export function createHostClientHandlers(options) {
193
+ const { pluginId, services } = options;
194
+ const capabilitySet = new Set(options.capabilities);
195
+ /**
196
+ * Assert that the plugin has the required capability for a method.
197
+ * Throws `CapabilityDeniedError` if the capability is missing.
198
+ */
199
+ function requireCapability(method) {
200
+ const required = METHOD_CAPABILITY_MAP[method];
201
+ if (required === null)
202
+ return; // No capability required
203
+ if (capabilitySet.has(required))
204
+ return;
205
+ throw new CapabilityDeniedError(pluginId, method, required);
206
+ }
207
+ /**
208
+ * Create a capability-gated proxy handler for a method.
209
+ *
210
+ * @param method - The RPC method name (used for capability lookup)
211
+ * @param handler - The actual handler implementation
212
+ * @returns A wrapper that checks capabilities before delegating
213
+ */
214
+ function gated(method, handler) {
215
+ return async (params) => {
216
+ requireCapability(method);
217
+ return handler(params);
218
+ };
219
+ }
220
+ // -------------------------------------------------------------------------
221
+ // Build the complete handler map
222
+ // -------------------------------------------------------------------------
223
+ return {
224
+ // Config
225
+ "config.get": gated("config.get", async () => {
226
+ return services.config.get();
227
+ }),
228
+ "localFolders.declarations": gated("localFolders.declarations", async (params) => {
229
+ return services.localFolders.declarations(params);
230
+ }),
231
+ "localFolders.configure": gated("localFolders.configure", async (params) => {
232
+ return services.localFolders.configure(params);
233
+ }),
234
+ "localFolders.status": gated("localFolders.status", async (params) => {
235
+ return services.localFolders.status(params);
236
+ }),
237
+ "localFolders.list": gated("localFolders.list", async (params) => {
238
+ return services.localFolders.list(params);
239
+ }),
240
+ "localFolders.readText": gated("localFolders.readText", async (params) => {
241
+ return services.localFolders.readText(params);
242
+ }),
243
+ "localFolders.writeTextAtomic": gated("localFolders.writeTextAtomic", async (params) => {
244
+ return services.localFolders.writeTextAtomic(params);
245
+ }),
246
+ // State
247
+ "state.get": gated("state.get", async (params) => {
248
+ return services.state.get(params);
249
+ }),
250
+ "state.set": gated("state.set", async (params) => {
251
+ return services.state.set(params);
252
+ }),
253
+ "state.delete": gated("state.delete", async (params) => {
254
+ return services.state.delete(params);
255
+ }),
256
+ "db.namespace": gated("db.namespace", async (params) => {
257
+ return services.db.namespace(params);
258
+ }),
259
+ "db.query": gated("db.query", async (params) => {
260
+ return services.db.query(params);
261
+ }),
262
+ "db.execute": gated("db.execute", async (params) => {
263
+ return services.db.execute(params);
264
+ }),
265
+ // Entities
266
+ "entities.upsert": gated("entities.upsert", async (params) => {
267
+ return services.entities.upsert(params);
268
+ }),
269
+ "entities.list": gated("entities.list", async (params) => {
270
+ return services.entities.list(params);
271
+ }),
272
+ // Events
273
+ "events.emit": gated("events.emit", async (params) => {
274
+ return services.events.emit(params);
275
+ }),
276
+ "events.subscribe": gated("events.subscribe", async (params) => {
277
+ return services.events.subscribe(params);
278
+ }),
279
+ // HTTP
280
+ "http.fetch": gated("http.fetch", async (params) => {
281
+ return services.http.fetch(params);
282
+ }),
283
+ // Secrets
284
+ "secrets.resolve": gated("secrets.resolve", async (params) => {
285
+ return services.secrets.resolve(params);
286
+ }),
287
+ // Activity
288
+ "activity.log": gated("activity.log", async (params) => {
289
+ return services.activity.log(params);
290
+ }),
291
+ // Metrics
292
+ "metrics.write": gated("metrics.write", async (params) => {
293
+ return services.metrics.write(params);
294
+ }),
295
+ // Telemetry
296
+ "telemetry.track": gated("telemetry.track", async (params) => {
297
+ return services.telemetry.track(params);
298
+ }),
299
+ // Logger
300
+ "log": gated("log", async (params) => {
301
+ return services.logger.log(params);
302
+ }),
303
+ // Companies
304
+ "companies.list": gated("companies.list", async (params) => {
305
+ return services.companies.list(params);
306
+ }),
307
+ "companies.get": gated("companies.get", async (params) => {
308
+ return services.companies.get(params);
309
+ }),
310
+ // Projects
311
+ "projects.list": gated("projects.list", async (params) => {
312
+ return services.projects.list(params);
313
+ }),
314
+ "projects.get": gated("projects.get", async (params) => {
315
+ return services.projects.get(params);
316
+ }),
317
+ "projects.listWorkspaces": gated("projects.listWorkspaces", async (params) => {
318
+ return services.projects.listWorkspaces(params);
319
+ }),
320
+ "projects.getPrimaryWorkspace": gated("projects.getPrimaryWorkspace", async (params) => {
321
+ return services.projects.getPrimaryWorkspace(params);
322
+ }),
323
+ "projects.getWorkspaceForIssue": gated("projects.getWorkspaceForIssue", async (params) => {
324
+ return services.projects.getWorkspaceForIssue(params);
325
+ }),
326
+ "projects.managed.get": gated("projects.managed.get", async (params) => {
327
+ return services.projects.getManaged(params);
328
+ }),
329
+ "projects.managed.reconcile": gated("projects.managed.reconcile", async (params) => {
330
+ return services.projects.reconcileManaged(params);
331
+ }),
332
+ "projects.managed.reset": gated("projects.managed.reset", async (params) => {
333
+ return services.projects.resetManaged(params);
334
+ }),
335
+ // Routines
336
+ "routines.managed.get": gated("routines.managed.get", async (params) => {
337
+ return services.routines.managedGet(params);
338
+ }),
339
+ "routines.managed.reconcile": gated("routines.managed.reconcile", async (params) => {
340
+ return services.routines.managedReconcile(params);
341
+ }),
342
+ "routines.managed.reset": gated("routines.managed.reset", async (params) => {
343
+ return services.routines.managedReset(params);
344
+ }),
345
+ "routines.managed.update": gated("routines.managed.update", async (params) => {
346
+ return services.routines.managedUpdate(params);
347
+ }),
348
+ "routines.managed.run": gated("routines.managed.run", async (params) => {
349
+ return services.routines.managedRun(params);
350
+ }),
351
+ // Issues
352
+ "issues.list": gated("issues.list", async (params) => {
353
+ return services.issues.list(params);
354
+ }),
355
+ "issues.get": gated("issues.get", async (params) => {
356
+ return services.issues.get(params);
357
+ }),
358
+ "issues.create": gated("issues.create", async (params) => {
359
+ return services.issues.create(params);
360
+ }),
361
+ "issues.update": gated("issues.update", async (params) => {
362
+ return services.issues.update(params);
363
+ }),
364
+ "issues.relations.get": gated("issues.relations.get", async (params) => {
365
+ return services.issues.getRelations(params);
366
+ }),
367
+ "issues.relations.setBlockedBy": gated("issues.relations.setBlockedBy", async (params) => {
368
+ return services.issues.setBlockedBy(params);
369
+ }),
370
+ "issues.relations.addBlockers": gated("issues.relations.addBlockers", async (params) => {
371
+ return services.issues.addBlockers(params);
372
+ }),
373
+ "issues.relations.removeBlockers": gated("issues.relations.removeBlockers", async (params) => {
374
+ return services.issues.removeBlockers(params);
375
+ }),
376
+ "issues.assertCheckoutOwner": gated("issues.assertCheckoutOwner", async (params) => {
377
+ return services.issues.assertCheckoutOwner(params);
378
+ }),
379
+ "issues.getSubtree": gated("issues.getSubtree", async (params) => {
380
+ return services.issues.getSubtree(params);
381
+ }),
382
+ "issues.requestWakeup": gated("issues.requestWakeup", async (params) => {
383
+ return services.issues.requestWakeup(params);
384
+ }),
385
+ "issues.requestWakeups": gated("issues.requestWakeups", async (params) => {
386
+ return services.issues.requestWakeups(params);
387
+ }),
388
+ "issues.summaries.getOrchestration": gated("issues.summaries.getOrchestration", async (params) => {
389
+ return services.issues.getOrchestrationSummary(params);
390
+ }),
391
+ "issues.listComments": gated("issues.listComments", async (params) => {
392
+ return services.issues.listComments(params);
393
+ }),
394
+ "issues.createComment": gated("issues.createComment", async (params) => {
395
+ return services.issues.createComment(params);
396
+ }),
397
+ "issues.createInteraction": gated("issues.createInteraction", async (params) => {
398
+ return services.issues.createInteraction(params);
399
+ }),
400
+ // Issue Documents
401
+ "issues.documents.list": gated("issues.documents.list", async (params) => {
402
+ return services.issueDocuments.list(params);
403
+ }),
404
+ "issues.documents.get": gated("issues.documents.get", async (params) => {
405
+ return services.issueDocuments.get(params);
406
+ }),
407
+ "issues.documents.upsert": gated("issues.documents.upsert", async (params) => {
408
+ return services.issueDocuments.upsert(params);
409
+ }),
410
+ "issues.documents.delete": gated("issues.documents.delete", async (params) => {
411
+ return services.issueDocuments.delete(params);
412
+ }),
413
+ // Agents
414
+ "agents.list": gated("agents.list", async (params) => {
415
+ return services.agents.list(params);
416
+ }),
417
+ "agents.get": gated("agents.get", async (params) => {
418
+ return services.agents.get(params);
419
+ }),
420
+ "agents.pause": gated("agents.pause", async (params) => {
421
+ return services.agents.pause(params);
422
+ }),
423
+ "agents.resume": gated("agents.resume", async (params) => {
424
+ return services.agents.resume(params);
425
+ }),
426
+ "agents.invoke": gated("agents.invoke", async (params) => {
427
+ return services.agents.invoke(params);
428
+ }),
429
+ "agents.managed.get": gated("agents.managed.get", async (params) => {
430
+ return services.agents.managedGet(params);
431
+ }),
432
+ "agents.managed.reconcile": gated("agents.managed.reconcile", async (params) => {
433
+ return services.agents.managedReconcile(params);
434
+ }),
435
+ "agents.managed.reset": gated("agents.managed.reset", async (params) => {
436
+ return services.agents.managedReset(params);
437
+ }),
438
+ // Agent Sessions
439
+ "agents.sessions.create": gated("agents.sessions.create", async (params) => {
440
+ return services.agentSessions.create(params);
441
+ }),
442
+ "agents.sessions.list": gated("agents.sessions.list", async (params) => {
443
+ return services.agentSessions.list(params);
444
+ }),
445
+ "agents.sessions.sendMessage": gated("agents.sessions.sendMessage", async (params) => {
446
+ return services.agentSessions.sendMessage(params);
447
+ }),
448
+ "agents.sessions.close": gated("agents.sessions.close", async (params) => {
449
+ return services.agentSessions.close(params);
450
+ }),
451
+ // Goals
452
+ "goals.list": gated("goals.list", async (params) => {
453
+ return services.goals.list(params);
454
+ }),
455
+ "goals.get": gated("goals.get", async (params) => {
456
+ return services.goals.get(params);
457
+ }),
458
+ "goals.create": gated("goals.create", async (params) => {
459
+ return services.goals.create(params);
460
+ }),
461
+ "goals.update": gated("goals.update", async (params) => {
462
+ return services.goals.update(params);
463
+ }),
464
+ };
465
+ }
466
+ // ---------------------------------------------------------------------------
467
+ // Utility: getRequiredCapability
468
+ // ---------------------------------------------------------------------------
469
+ /**
470
+ * Get the capability required for a given worker→host method, or `null` if
471
+ * no capability is required.
472
+ *
473
+ * Useful for inspecting capability requirements without calling the factory.
474
+ *
475
+ * @param method - The worker→host method name
476
+ * @returns The required capability, or `null`
477
+ */
478
+ export function getRequiredCapability(method) {
479
+ return METHOD_CAPABILITY_MAP[method];
480
+ }
481
+ //# sourceMappingURL=host-client-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-client-factory.js","sourceRoot":"","sources":["../src/host-client-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAIH,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC5B,IAAI,GAAG,uBAAuB,CAAC;IACxC,IAAI,GAAG,sBAAsB,CAAC,iBAAiB,CAAC;IAEzD,YAAY,QAAgB,EAAE,MAAc,EAAE,UAA4B;QACxE,KAAK,CACH,WAAW,QAAQ,qCAAqC,UAAU,iBAAiB,MAAM,GAAG,CAC7F,CAAC;IACJ,CAAC;CACF;AA4ND,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,qBAAqB,GAA4D;IACrF,0BAA0B;IAC1B,YAAY,EAAE,IAAI;IAElB,wBAAwB;IACxB,2BAA2B,EAAE,IAAI;IACjC,wBAAwB,EAAE,eAAe;IACzC,qBAAqB,EAAE,eAAe;IACtC,mBAAmB,EAAE,eAAe;IACpC,uBAAuB,EAAE,eAAe;IACxC,8BAA8B,EAAE,eAAe;IAE/C,QAAQ;IACR,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,oBAAoB;IAEpC,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,yBAAyB;IACrC,YAAY,EAAE,0BAA0B;IAExC,uEAAuE;IACvE,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IAErB,SAAS;IACT,aAAa,EAAE,aAAa;IAC5B,kBAAkB,EAAE,kBAAkB;IAEtC,OAAO;IACP,YAAY,EAAE,eAAe;IAE7B,UAAU;IACV,iBAAiB,EAAE,kBAAkB;IAErC,WAAW;IACX,cAAc,EAAE,oBAAoB;IAEpC,UAAU;IACV,eAAe,EAAE,eAAe;IAEhC,YAAY;IACZ,iBAAiB,EAAE,iBAAiB;IAEpC,0BAA0B;IAC1B,KAAK,EAAE,IAAI;IAEX,YAAY;IACZ,gBAAgB,EAAE,gBAAgB;IAClC,eAAe,EAAE,gBAAgB;IAEjC,WAAW;IACX,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,eAAe;IAC/B,yBAAyB,EAAE,yBAAyB;IACpD,8BAA8B,EAAE,yBAAyB;IACzD,+BAA+B,EAAE,yBAAyB;IAC1D,sBAAsB,EAAE,kBAAkB;IAC1C,4BAA4B,EAAE,kBAAkB;IAC9C,wBAAwB,EAAE,kBAAkB;IAC5C,sBAAsB,EAAE,kBAAkB;IAC1C,4BAA4B,EAAE,kBAAkB;IAChD,wBAAwB,EAAE,kBAAkB;IAC5C,yBAAyB,EAAE,kBAAkB;IAC7C,sBAAsB,EAAE,kBAAkB;IAE5C,SAAS;IACT,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,aAAa;IAC3B,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,sBAAsB,EAAE,sBAAsB;IAC9C,+BAA+B,EAAE,uBAAuB;IACxD,8BAA8B,EAAE,uBAAuB;IACvD,iCAAiC,EAAE,uBAAuB;IAC1D,4BAA4B,EAAE,iBAAiB;IAC/C,mBAAmB,EAAE,oBAAoB;IACzC,sBAAsB,EAAE,eAAe;IACvC,uBAAuB,EAAE,eAAe;IACxC,mCAAmC,EAAE,2BAA2B;IAChE,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,uBAAuB;IAC/C,0BAA0B,EAAE,2BAA2B;IAEvD,kBAAkB;IAClB,uBAAuB,EAAE,sBAAsB;IAC/C,sBAAsB,EAAE,sBAAsB;IAC9C,yBAAyB,EAAE,uBAAuB;IAClD,yBAAyB,EAAE,uBAAuB;IAElD,SAAS;IACT,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,gBAAgB;IACtC,0BAA0B,EAAE,gBAAgB;IAC5C,sBAAsB,EAAE,gBAAgB;IAExC,iBAAiB;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,sBAAsB,EAAE,qBAAqB;IAC7C,6BAA6B,EAAE,qBAAqB;IACpD,uBAAuB,EAAE,sBAAsB;IAE/C,QAAQ;IACR,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;CAC/B,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAmB,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtE;;;OAGG;IACH,SAAS,iBAAiB,CACxB,MAA8B;QAE9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,yBAAyB;QACxD,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QACxC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,SAAS,KAAK,CACZ,MAAS,EACT,OAAuB;QAEvB,OAAO,KAAK,EAAE,MAAiC,EAAE,EAAE;YACjD,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,iCAAiC;IACjC,4EAA4E;IAE5E,OAAO;QACL,SAAS;QACT,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEF,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/E,OAAO,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnE,OAAO,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,OAAO,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrF,OAAO,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,OAAO,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,OAAO,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,WAAW;QACX,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3D,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,SAAS;QACT,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,OAAO;QACP,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,UAAU;QACV,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,WAAW;QACX,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,UAAU;QACV,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,YAAY;QACZ,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3D,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,YAAY;QACZ,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzD,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,WAAW;QACX,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3E,OAAO,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrF,OAAO,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,+BAA+B,EAAE,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvF,OAAO,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjF,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,WAAW;QACX,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjF,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3E,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,SAAS;QACT,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,+BAA+B,EAAE,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvF,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrF,OAAO,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,iCAAiC,EAAE,KAAK,CAAC,iCAAiC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3F,OAAO,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,4BAA4B,EAAE,KAAK,CAAC,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjF,OAAO,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,mCAAmC,EAAE,KAAK,CAAC,mCAAmC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/F,OAAO,QAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnE,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7E,OAAO,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,kBAAkB;QAClB,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3E,OAAO,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3E,OAAO,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,SAAS;QACT,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjE,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7E,OAAO,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,iBAAiB;QACjB,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzE,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrE,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,6BAA6B,EAAE,KAAK,CAAC,6BAA6B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnF,OAAO,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvE,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,QAAQ;QACR,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA8B;IAE9B,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * `@evermore.work/plugin-sdk` — Evermore plugin worker-side SDK.
3
+ *
4
+ * This is the main entrypoint for plugin worker code. For plugin UI bundles,
5
+ * import from `@evermore.work/plugin-sdk/ui` instead.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Plugin worker entrypoint (dist/worker.ts)
10
+ * import { definePlugin, runWorker, z } from "@evermore.work/plugin-sdk";
11
+ *
12
+ * const plugin = definePlugin({
13
+ * async setup(ctx) {
14
+ * ctx.logger.info("Plugin starting up");
15
+ *
16
+ * ctx.events.on("issue.created", async (event) => {
17
+ * ctx.logger.info("Issue created", { issueId: event.entityId });
18
+ * });
19
+ *
20
+ * ctx.jobs.register("full-sync", async (job) => {
21
+ * ctx.logger.info("Starting full sync", { runId: job.runId });
22
+ * // ... sync implementation
23
+ * });
24
+ *
25
+ * ctx.data.register("sync-health", async ({ companyId }) => {
26
+ * const state = await ctx.state.get({
27
+ * scopeKind: "company",
28
+ * scopeId: String(companyId),
29
+ * stateKey: "last-sync-at",
30
+ * });
31
+ * return { lastSync: state };
32
+ * });
33
+ * },
34
+ *
35
+ * async onHealth() {
36
+ * return { status: "ok" };
37
+ * },
38
+ * });
39
+ *
40
+ * export default plugin;
41
+ * runWorker(plugin, import.meta.url);
42
+ * ```
43
+ *
44
+ * @see PLUGIN_SPEC.md §14 — SDK Surface
45
+ * @see PLUGIN_SPEC.md §29.2 — SDK Versioning
46
+ */
47
+ export { definePlugin } from "./define-plugin.js";
48
+ export { createTestHarness, createEnvironmentTestHarness, createFakeEnvironmentDriver, filterEnvironmentEvents, assertEnvironmentEventOrder, assertLeaseLifecycle, assertWorkspaceRealizationLifecycle, assertExecutionLifecycle, assertEnvironmentError } from "./testing.js";
49
+ export { createPluginBundlerPresets } from "./bundlers.js";
50
+ export { startPluginDevServer, getUiBuildSnapshot } from "./dev-server.js";
51
+ export { startWorkerRpcHost, runWorker } from "./worker-rpc-host.js";
52
+ export { createHostClientHandlers, getRequiredCapability, CapabilityDeniedError, } from "./host-client-factory.js";
53
+ export { JSONRPC_VERSION, JSONRPC_ERROR_CODES, PLUGIN_RPC_ERROR_CODES, HOST_TO_WORKER_REQUIRED_METHODS, HOST_TO_WORKER_OPTIONAL_METHODS, MESSAGE_DELIMITER, createRequest, createSuccessResponse, createErrorResponse, createNotification, isJsonRpcRequest, isJsonRpcNotification, isJsonRpcResponse, isJsonRpcSuccessResponse, isJsonRpcErrorResponse, serializeMessage, parseMessage, JsonRpcParseError, JsonRpcCallError, _resetIdCounter, } from "./protocol.js";
54
+ export type { PluginDefinition, EvermorePlugin, PluginHealthDiagnostics, PluginConfigValidationResult, PluginWebhookInput, PluginApiRequestInput, PluginApiResponse, } from "./define-plugin.js";
55
+ export type { TestHarness, TestHarnessOptions, TestHarnessLogEntry, EnvironmentTestHarness, EnvironmentTestHarnessOptions, EnvironmentEventRecord, FakeEnvironmentDriverOptions, } from "./testing.js";
56
+ export type { PluginBundlerPresetInput, PluginBundlerPresets, EsbuildLikeOptions, RollupLikeConfig, } from "./bundlers.js";
57
+ export type { PluginDevServer, PluginDevServerOptions } from "./dev-server.js";
58
+ export type { WorkerRpcHostOptions, WorkerRpcHost, RunWorkerOptions, } from "./worker-rpc-host.js";
59
+ export type { HostServices, HostClientFactoryOptions, HostClientHandlers, } from "./host-client-factory.js";
60
+ export type { JsonRpcId, JsonRpcRequest, JsonRpcSuccessResponse, JsonRpcError, JsonRpcErrorResponse, JsonRpcResponse, JsonRpcNotification, JsonRpcMessage, JsonRpcErrorCode, PluginRpcErrorCode, InitializeParams, InitializeResult, ConfigChangedParams, ValidateConfigParams, OnEventParams, RunJobParams, GetDataParams, PerformActionParams, ExecuteToolParams, PluginEnvironmentDiagnostic, PluginEnvironmentDriverBaseParams, PluginEnvironmentValidateConfigParams, PluginEnvironmentValidationResult, PluginEnvironmentProbeParams, PluginEnvironmentProbeResult, PluginEnvironmentLease, PluginEnvironmentAcquireLeaseParams, PluginEnvironmentResumeLeaseParams, PluginEnvironmentReleaseLeaseParams, PluginEnvironmentDestroyLeaseParams, PluginEnvironmentRealizeWorkspaceParams, PluginEnvironmentRealizeWorkspaceResult, PluginEnvironmentExecuteParams, PluginEnvironmentExecuteResult, PluginModalBoundsRequest, PluginRenderCloseEvent, PluginLauncherRenderContextSnapshot, HostToWorkerMethods, HostToWorkerMethodName, WorkerToHostMethods, WorkerToHostMethodName, HostToWorkerRequest, HostToWorkerResponse, WorkerToHostRequest, WorkerToHostResponse, WorkerToHostNotifications, WorkerToHostNotificationName, } from "./protocol.js";
61
+ export type { PluginContext, PluginConfigClient, PluginLocalFolderProblem, PluginLocalFolderStatus, PluginLocalFolderConfigureInput, PluginLocalFolderListOptions, PluginLocalFolderEntry, PluginLocalFolderListing, PluginLocalFoldersClient, PluginEventsClient, PluginJobsClient, PluginLaunchersClient, PluginHttpClient, PluginSecretsClient, PluginActivityClient, PluginActivityLogEntry, PluginStateClient, PluginEntitiesClient, PluginProjectsClient, PluginCompaniesClient, PluginIssuesClient, PluginIssueMutationActor, PluginIssueRelationsClient, PluginIssueRelationSummary, PluginIssueCheckoutOwnership, PluginIssueWakeupResult, PluginIssueWakeupBatchResult, PluginIssueRunSummary, PluginIssueApprovalSummary, PluginIssueCostSummary, PluginBudgetIncidentSummary, PluginIssueInvocationBlockSummary, PluginIssueOrchestrationSummary, PluginIssueSubtreeOptions, PluginIssueAssigneeSummary, PluginIssueSubtree, PluginIssueSummariesClient, PluginAgentsClient, PluginAgentSessionsClient, AgentSession, AgentSessionEvent, AgentSessionSendResult, PluginGoalsClient, PluginDataClient, PluginActionsClient, PluginStreamsClient, PluginToolsClient, PluginMetricsClient, PluginTelemetryClient, PluginLogger, } from "./types.js";
62
+ export type { ScopeKey, EventFilter, PluginEvent, PluginJobContext, PluginLauncherRegistration, ToolRunContext, ToolResult, PluginEntityUpsert, PluginEntityRecord, PluginEntityQuery, PluginWorkspace, Company, Project, Issue, IssueComment, IssueDocumentSummary, Agent, Goal, PluginDatabaseClient, } from "./types.js";
63
+ export type { EvermorePluginManifestV1, PluginJobDeclaration, PluginWebhookDeclaration, PluginToolDeclaration, PluginEnvironmentDriverDeclaration, PluginManagedAgentDeclaration, PluginManagedAgentResolution, PluginManagedProjectDeclaration, PluginManagedProjectResolution, PluginManagedRoutineDeclaration, PluginManagedRoutineResolution, PluginManagedResourceKind, PluginManagedResourceRef, PluginUiSlotDeclaration, PluginUiDeclaration, PluginLauncherActionDeclaration, PluginLauncherRenderDeclaration, PluginLauncherDeclaration, PluginMinimumHostVersion, PluginDatabaseDeclaration, PluginApiRouteCompanyResolution, PluginApiRouteDeclaration, PluginLocalFolderDeclaration, PluginCompanySettings, PluginRecord, PluginDatabaseNamespaceRecord, PluginMigrationRecord, PluginConfig, JsonSchema, PluginStatus, PluginCategory, PluginCapability, PluginUiSlotType, PluginUiSlotEntityType, PluginLauncherPlacementZone, PluginLauncherAction, PluginLauncherBounds, PluginLauncherRenderEnvironment, PluginStateScopeKind, PluginJobStatus, PluginJobRunStatus, PluginJobRunTrigger, PluginWebhookDeliveryStatus, PluginDatabaseCoreReadTable, PluginDatabaseMigrationStatus, PluginDatabaseNamespaceMode, PluginDatabaseNamespaceStatus, PluginApiRouteAuthMode, PluginApiRouteCheckoutPolicy, PluginApiRouteMethod, PluginEventType, PluginBridgeErrorCode, } from "./types.js";
64
+ /**
65
+ * Zod is re-exported for plugin authors to use when defining their
66
+ * `instanceConfigSchema` and tool `parametersSchema`.
67
+ *
68
+ * Plugin authors do not need to add a separate `zod` dependency.
69
+ *
70
+ * @see PLUGIN_SPEC.md §14.1 — Example SDK Shape
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * import { z } from "@evermore.work/plugin-sdk";
75
+ *
76
+ * const configSchema = z.object({
77
+ * apiKey: z.string().describe("Your API key"),
78
+ * workspace: z.string().optional(),
79
+ * });
80
+ * ```
81
+ */
82
+ export { z } from "zod";
83
+ export { PLUGIN_API_VERSION, PLUGIN_STATUSES, PLUGIN_CATEGORIES, PLUGIN_CAPABILITIES, PLUGIN_UI_SLOT_TYPES, PLUGIN_UI_SLOT_ENTITY_TYPES, PLUGIN_STATE_SCOPE_KINDS, PLUGIN_JOB_STATUSES, PLUGIN_JOB_RUN_STATUSES, PLUGIN_JOB_RUN_TRIGGERS, PLUGIN_WEBHOOK_DELIVERY_STATUSES, PLUGIN_EVENT_TYPES, PLUGIN_BRIDGE_ERROR_CODES, } from "@evermore.work/shared";
84
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}