stitchkit 0.59.3 → 0.59.4

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/README.md CHANGED
@@ -95,7 +95,7 @@ application, AI-SDK-backed agent-runtime and peer-free remote-proxy code live
95
95
  behind `stitchkit/server`, `stitchkit/tools`, `stitchkit/application`,
96
96
  `stitchkit/agent-runtime` and `stitchkit/remote` respectively. Optional provider
97
97
  adapters are isolated further; importing `stitchkit/application` never resolves
98
- grammY.
98
+ grammY or OpenTelemetry.
99
99
 
100
100
  ## Managed application kernel
101
101
 
@@ -130,6 +130,11 @@ await app.start()
130
130
  The kernel owns dependency ordering, attempted-start rollback, readiness,
131
131
  process-local admission, ephemeral schedules and bounded shutdown. It does not
132
132
  own durable jobs, provider policy, retries, process restart or deployment.
133
+ `createApplicationOperationalHandlers` projects conventional status/readiness/
134
+ liveness routes from the same snapshot. Applications that already own an
135
+ OpenTelemetry SDK may opt into `stitchkit/application/opentelemetry`; the
136
+ adapter registers pull-only observable gauges on an injected Meter and owns no
137
+ exporter or SDK lifecycle.
133
138
 
134
139
  ## Quick Start
135
140
 
@@ -416,6 +421,7 @@ peer — an install pulls in only what the project actually uses.
416
421
  | `ai` | peer, optional | `stitchkit/tools` agent tools and the optional server-only `stitchkit/agent-runtime`. |
417
422
  | `@openrouter/ai-sdk-provider` | peer, optional | Only `stitchkit/agent-runtime/openrouter`; neutral runtime imports do not resolve it. |
418
423
  | `grammy` | peer, optional | Only `stitchkit/application/grammy`; the neutral application kernel does not resolve it. |
424
+ | `@opentelemetry/api` | peer, optional | Type-only boundary for `stitchkit/application/opentelemetry`; the adapter has no runtime import and owns no SDK/exporter. |
419
425
  | `@tanstack/react-query` + `react-query-kit` | peer, optional | Only `stitchkit/react` — `createCursorQuery`, `createCacheBridge`. |
420
426
  | `socket.io` / `@socket.io/bun-engine` / `socket.io-client` | peer, optional | Only the Socket.IO wrappers. |
421
427
 
@@ -8,6 +8,18 @@ export declare const ApplicationHealthHandlerOptionsSchema: z.ZodObject<{
8
8
  retryAfterSeconds: z.ZodDefault<z.ZodNumber>;
9
9
  }, z.core.$strip>;
10
10
  export type ApplicationHealthHandlerOptions = z.input<typeof ApplicationHealthHandlerOptionsSchema>;
11
+ export declare const ApplicationOperationalHandlersOptionsSchema: z.ZodObject<{
12
+ retryAfterSeconds: z.ZodDefault<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ export type ApplicationOperationalHandlersOptions = z.input<typeof ApplicationOperationalHandlersOptionsSchema>;
15
+ export interface ApplicationOperationalHandlers {
16
+ /** Always-readable canonical application snapshot. */
17
+ status(): Response;
18
+ readiness(): Response;
19
+ liveness(): Response;
20
+ }
11
21
  /** Fetch-clean liveness/readiness response with only the sanitized application snapshot. */
12
22
  export declare function createApplicationHealthHandler(application: Pick<ApplicationHandle, 'getSnapshot'>, options: ApplicationHealthHandlerOptions): () => Response;
23
+ /** Compose the canonical status and probe handlers without introducing another state model. */
24
+ export declare function createApplicationOperationalHandlers(application: Pick<ApplicationHandle, 'getSnapshot'>, options?: ApplicationOperationalHandlersOptions): ApplicationOperationalHandlers;
13
25
  //# sourceMappingURL=health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/application/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,qCAAqC;;;;;;iBAGhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,qCAAqC,CAC7C,CAAC;AAEF,4FAA4F;AAC5F,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,EACnD,OAAO,EAAE,+BAA+B,GACvC,MAAM,QAAQ,CAahB"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/application/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,qCAAqC;;;;;;iBAGhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,qCAAqC,CAC7C,CAAC;AAEF,eAAO,MAAM,2CAA2C;;iBAEtD,CAAC;AACH,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,2CAA2C,CACnD,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,sDAAsD;IACtD,MAAM,IAAI,QAAQ,CAAC;IACnB,SAAS,IAAI,QAAQ,CAAC;IACtB,QAAQ,IAAI,QAAQ,CAAC;CACtB;AAED,4FAA4F;AAC5F,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,EACnD,OAAO,EAAE,+BAA+B,GACvC,MAAM,QAAQ,CAahB;AAED,+FAA+F;AAC/F,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,EACnD,OAAO,GAAE,qCAA0C,GAClD,8BAA8B,CAahC"}
@@ -0,0 +1,25 @@
1
+ import type { Attributes, MetricOptions, ObservableGauge } from '@opentelemetry/api';
2
+ import type { ActivityProjection } from './activity';
3
+ import type { ApplicationHandle } from './kernel';
4
+ import type { ManagedSchedule } from './schedule';
5
+ export interface ApplicationTelemetryMeter {
6
+ createObservableGauge(name: string, options?: MetricOptions): ObservableGauge<Attributes>;
7
+ }
8
+ export interface ApplicationOpenTelemetryCollectionError {
9
+ readonly instrument: string;
10
+ readonly error: unknown;
11
+ }
12
+ export interface ApplicationOpenTelemetryConfig {
13
+ readonly meter: ApplicationTelemetryMeter;
14
+ readonly application: Pick<ApplicationHandle, 'getSnapshot'>;
15
+ readonly activities?: readonly Pick<ActivityProjection<string>, 'getSnapshot'>[];
16
+ readonly schedules?: readonly Pick<ManagedSchedule, 'status'>[];
17
+ onCollectionError?(failure: ApplicationOpenTelemetryCollectionError): void | Promise<void>;
18
+ }
19
+ export interface ApplicationOpenTelemetryBinding {
20
+ readonly closed: boolean;
21
+ close(): void;
22
+ }
23
+ /** Register pull-only observable gauges over canonical application snapshots. */
24
+ export declare function createApplicationOpenTelemetry(config: ApplicationOpenTelemetryConfig): ApplicationOpenTelemetryBinding;
25
+ //# sourceMappingURL=opentelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/application/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAYlD,MAAM,WAAW,yBAAyB;IACxC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC;IAChE,iBAAiB,CAAC,CAAC,OAAO,EAAE,uCAAuC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;CACf;AAwOD,iFAAiF;AACjF,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,8BAA8B,GACrC,+BAA+B,CAwJjC"}
@@ -0,0 +1,2 @@
1
+ export { type ApplicationOpenTelemetryBinding, type ApplicationOpenTelemetryCollectionError, type ApplicationOpenTelemetryConfig, type ApplicationTelemetryMeter, createApplicationOpenTelemetry, } from './application/opentelemetry';
2
+ //# sourceMappingURL=application-opentelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-opentelemetry.d.ts","sourceRoot":"","sources":["../src/application-opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,uCAAuC,EAC5C,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,248 @@
1
+ import {
2
+ ActivitySnapshotSchema,
3
+ ManagedScheduleStatusSchema
4
+ } from "./index-2nzpcfbp.js";
5
+ import {
6
+ ApplicationSnapshotSchema
7
+ } from "./index-mgf6cdkm.js";
8
+
9
+ // src/application/opentelemetry.ts
10
+ var MAX_ACTIVITY_SOURCES = 64;
11
+ var MAX_SCHEDULE_SOURCES = 64;
12
+ var MAX_RESOURCE_SERIES = 128;
13
+ var applicationAttributes = (snapshot) => ({
14
+ "application.id": snapshot.id
15
+ });
16
+ var resourceAttributes = (snapshot, resource) => ({
17
+ "application.id": snapshot.id,
18
+ "resource.id": resource.id,
19
+ "resource.required": resource.required,
20
+ "resource.state": resource.state,
21
+ "resource.health": resource.health
22
+ });
23
+ var scheduleAttributes = (application, schedule) => ({
24
+ "application.id": application.id,
25
+ "schedule.id": schedule.descriptor.id,
26
+ "schedule.state": schedule.state
27
+ });
28
+ var activityAttributes = (application, activity, stage) => ({
29
+ "application.id": application.id,
30
+ "activity.id": activity.id,
31
+ "activity.stage": stage.id
32
+ });
33
+ var applicationMetrics = [
34
+ {
35
+ name: "stitchkit.application.lifecycle",
36
+ description: "Current application lifecycle and health state.",
37
+ unit: "1",
38
+ observe(result, snapshot) {
39
+ result.observe(1, {
40
+ ...applicationAttributes(snapshot),
41
+ "application.lifecycle": snapshot.lifecycle,
42
+ "application.health": snapshot.health
43
+ });
44
+ }
45
+ },
46
+ {
47
+ name: "stitchkit.application.ready",
48
+ description: "Whether the application currently accepts readiness traffic.",
49
+ unit: "1",
50
+ observe: (result, snapshot) => result.observe(snapshot.ready ? 1 : 0, applicationAttributes(snapshot))
51
+ },
52
+ {
53
+ name: "stitchkit.application.admission.accepting",
54
+ description: "Whether application admission is currently open.",
55
+ unit: "1",
56
+ observe: (result, snapshot) => result.observe(snapshot.admission.accepting ? 1 : 0, applicationAttributes(snapshot))
57
+ },
58
+ {
59
+ name: "stitchkit.application.admission.accepted",
60
+ description: "Absolute number of operations accepted in this application lifetime.",
61
+ unit: "1",
62
+ observe: (result, snapshot) => result.observe(snapshot.admission.accepted, applicationAttributes(snapshot))
63
+ },
64
+ {
65
+ name: "stitchkit.application.admission.completed",
66
+ description: "Absolute number of operations completed in this application lifetime.",
67
+ unit: "1",
68
+ observe: (result, snapshot) => result.observe(snapshot.admission.completed, applicationAttributes(snapshot))
69
+ },
70
+ {
71
+ name: "stitchkit.application.admission.pending",
72
+ description: "Current number of admitted operations still pending.",
73
+ unit: "1",
74
+ observe: (result, snapshot) => result.observe(snapshot.admission.pending, applicationAttributes(snapshot))
75
+ },
76
+ {
77
+ name: "stitchkit.application.resource.ready",
78
+ description: "Whether each declared managed resource is currently ready.",
79
+ unit: "1",
80
+ observe(result, snapshot) {
81
+ for (const resource of snapshot.resources) {
82
+ result.observe(resource.ready ? 1 : 0, resourceAttributes(snapshot, resource));
83
+ }
84
+ }
85
+ }
86
+ ];
87
+ var scheduleMetric = (name, description, value) => ({
88
+ name,
89
+ description,
90
+ unit: "1",
91
+ observe(result, snapshot) {
92
+ for (const schedule of snapshot.schedules) {
93
+ result.observe(value(schedule), scheduleAttributes(snapshot.application, schedule));
94
+ }
95
+ }
96
+ });
97
+ var scheduleMetrics = [
98
+ scheduleMetric("stitchkit.application.schedule.accepting", "Whether a schedule accepts new ticks.", (value) => value.accepting ? 1 : 0),
99
+ scheduleMetric("stitchkit.application.schedule.active", "Current active runs for a schedule.", (value) => value.active),
100
+ scheduleMetric("stitchkit.application.schedule.queued", "Whether a schedule has one queued run.", (value) => value.queued ? 1 : 0),
101
+ scheduleMetric("stitchkit.application.schedule.runs_started", "Absolute schedule runs started.", (value) => value.runsStarted),
102
+ scheduleMetric("stitchkit.application.schedule.runs_completed", "Absolute schedule runs completed.", (value) => value.runsCompleted),
103
+ scheduleMetric("stitchkit.application.schedule.runs_failed", "Absolute schedule runs failed.", (value) => value.runsFailed),
104
+ scheduleMetric("stitchkit.application.schedule.ticks_skipped", "Absolute schedule ticks skipped.", (value) => value.ticksSkipped)
105
+ ];
106
+ var activityMetric = (name, description, value) => ({
107
+ name,
108
+ description,
109
+ unit: "1",
110
+ observe(result, snapshot) {
111
+ for (const activity of snapshot.activities) {
112
+ for (const stage of activity.stages) {
113
+ result.observe(value(stage), activityAttributes(snapshot.application, activity, stage));
114
+ }
115
+ }
116
+ }
117
+ });
118
+ var activityMetrics = [
119
+ activityMetric("stitchkit.application.activity.active", "Current active activities by stage.", (value) => value.active),
120
+ activityMetric("stitchkit.application.activity.queued", "Current queued activities by stage.", (value) => value.queued),
121
+ activityMetric("stitchkit.application.activity.completed", "Absolute completed activities by stage.", (value) => value.completed),
122
+ activityMetric("stitchkit.application.activity.failed", "Absolute failed activities by stage.", (value) => value.failed)
123
+ ];
124
+ function requireUniqueIds(ids, label) {
125
+ if (new Set(ids).size !== ids.length) {
126
+ throw new Error(`[stitchkit] application OpenTelemetry ${label} ids must be unique`);
127
+ }
128
+ }
129
+ function requireStableIds(actual, expected, label) {
130
+ if (actual.length !== expected.length || actual.some((id, index) => id !== expected[index])) {
131
+ throw new Error(`[stitchkit] application OpenTelemetry ${label} ids changed after binding`);
132
+ }
133
+ }
134
+ function createApplicationOpenTelemetry(config) {
135
+ const activities = [...config.activities ?? []];
136
+ const schedules = [...config.schedules ?? []];
137
+ if (activities.length > MAX_ACTIVITY_SOURCES) {
138
+ throw new Error(`[stitchkit] application OpenTelemetry supports at most ${MAX_ACTIVITY_SOURCES} activity sources`);
139
+ }
140
+ if (schedules.length > MAX_SCHEDULE_SOURCES) {
141
+ throw new Error(`[stitchkit] application OpenTelemetry supports at most ${MAX_SCHEDULE_SOURCES} schedule sources`);
142
+ }
143
+ const initialApplication = ApplicationSnapshotSchema.parse(config.application.getSnapshot());
144
+ if (initialApplication.resources.length > MAX_RESOURCE_SERIES) {
145
+ throw new Error(`[stitchkit] application OpenTelemetry supports at most ${MAX_RESOURCE_SERIES} resource series`);
146
+ }
147
+ const applicationId = initialApplication.id;
148
+ const resourceIds = initialApplication.resources.map((resource) => resource.id);
149
+ const initialActivities = activities.map((source) => ActivitySnapshotSchema.parse(source.getSnapshot()));
150
+ const activityIds = initialActivities.map((snapshot) => snapshot.id);
151
+ const activityStageIds = initialActivities.map((snapshot) => snapshot.stages.map((stage) => stage.id));
152
+ const initialSchedules = schedules.map((source) => ManagedScheduleStatusSchema.parse(source.status));
153
+ const scheduleIds = initialSchedules.map((snapshot) => snapshot.descriptor.id);
154
+ requireUniqueIds(activityIds, "activity");
155
+ requireUniqueIds(scheduleIds, "schedule");
156
+ const registrations = [];
157
+ let closed = false;
158
+ const reportCollectionError = (instrument, error) => {
159
+ if (!config.onCollectionError)
160
+ return;
161
+ Promise.resolve().then(() => config.onCollectionError?.({ instrument, error })).catch(() => {});
162
+ };
163
+ const removeRegistrations = (reportErrors) => {
164
+ for (const registration of registrations) {
165
+ try {
166
+ registration.gauge.removeCallback(registration.callback);
167
+ } catch (error) {
168
+ if (reportErrors)
169
+ reportCollectionError(registration.name, error);
170
+ }
171
+ }
172
+ };
173
+ const pullApplication = () => {
174
+ const snapshot = ApplicationSnapshotSchema.parse(config.application.getSnapshot());
175
+ if (snapshot.id !== applicationId) {
176
+ throw new Error("[stitchkit] application OpenTelemetry application id changed after binding");
177
+ }
178
+ requireStableIds(snapshot.resources.map((resource) => resource.id), resourceIds, "resource");
179
+ return snapshot;
180
+ };
181
+ const pullSchedules = () => schedules.map((source, index) => {
182
+ const snapshot = ManagedScheduleStatusSchema.parse(source.status);
183
+ if (snapshot.descriptor.id !== scheduleIds[index]) {
184
+ throw new Error("[stitchkit] application OpenTelemetry schedule id changed after binding");
185
+ }
186
+ return snapshot;
187
+ });
188
+ const pullActivities = () => activities.map((source, index) => {
189
+ const snapshot = ActivitySnapshotSchema.parse(source.getSnapshot());
190
+ if (snapshot.id !== activityIds[index]) {
191
+ throw new Error("[stitchkit] application OpenTelemetry activity id changed after binding");
192
+ }
193
+ requireStableIds(snapshot.stages.map((stage) => stage.id), activityStageIds[index] ?? [], "activity stage");
194
+ return snapshot;
195
+ });
196
+ const register = (definition, pull) => {
197
+ const gauge = config.meter.createObservableGauge(definition.name, {
198
+ description: definition.description,
199
+ unit: definition.unit
200
+ });
201
+ const callback = (result) => {
202
+ if (closed)
203
+ return;
204
+ try {
205
+ definition.observe(result, pull());
206
+ } catch (error) {
207
+ reportCollectionError(definition.name, error);
208
+ }
209
+ };
210
+ registrations.push({ name: definition.name, gauge, callback });
211
+ gauge.addCallback(callback);
212
+ };
213
+ try {
214
+ for (const definition of applicationMetrics) {
215
+ register(definition, pullApplication);
216
+ }
217
+ for (const definition of scheduleMetrics) {
218
+ register(definition, () => ({
219
+ application: pullApplication(),
220
+ schedules: pullSchedules()
221
+ }));
222
+ }
223
+ for (const definition of activityMetrics) {
224
+ register(definition, () => ({
225
+ application: pullApplication(),
226
+ activities: pullActivities()
227
+ }));
228
+ }
229
+ } catch (error) {
230
+ closed = true;
231
+ removeRegistrations(false);
232
+ throw error;
233
+ }
234
+ return {
235
+ get closed() {
236
+ return closed;
237
+ },
238
+ close() {
239
+ if (closed)
240
+ return;
241
+ closed = true;
242
+ removeRegistrations(true);
243
+ }
244
+ };
245
+ }
246
+ export {
247
+ createApplicationOpenTelemetry
248
+ };
@@ -1,6 +1,6 @@
1
1
  export { type ActivityId, ActivityIdSchema, type ActivityLiveState, ActivityLiveStateSchema, type ActivityProjection, type ActivityProjectionConfig, type ActivityProjectionSubscriberError, type ActivitySnapshot, ActivitySnapshotSchema, type ActivityStageId, ActivityStageIdSchema, type ActivityStageSnapshot, ActivityStageSnapshotSchema, type ActivityToken, type ActivityTransition, createActivityProjection, } from './application/activity';
2
2
  export { type ApplicationEventSink, type ApplicationEventSinkConfig, type ApplicationLifecycleEvent, ApplicationLifecycleEventSchema, applicationLifecycleEvent, createApplicationEventSink, } from './application/events';
3
- export { type ApplicationHealthHandlerOptions, ApplicationHealthHandlerOptionsSchema, createApplicationHealthHandler, } from './application/health';
3
+ export { type ApplicationHealthHandlerOptions, ApplicationHealthHandlerOptionsSchema, type ApplicationOperationalHandlers, type ApplicationOperationalHandlersOptions, ApplicationOperationalHandlersOptionsSchema, createApplicationHealthHandler, createApplicationOperationalHandlers, } from './application/health';
4
4
  export { type ApplicationAdmission, ApplicationAdmissionError, type ApplicationConfig, type ApplicationHandle, type ApplicationOperationLease, createApplication, } from './application/kernel';
5
5
  export { type ApplicationSnapshotSink, type ApplicationSnapshotSinkConfig, type ApplicationSnapshotSinkError, type ApplicationSnapshotSinkStatus, ApplicationSnapshotSinkStatusSchema, createApplicationSnapshotSink, type RevisionedApplicationSnapshot, } from './application/latest-sink';
6
6
  export { defineManagedResource, type ManagedResource, type ManagedResourceContext, type ManagedResourceStartResult, } from './application/resource';
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,2BAA2B,EAChC,qBAAqB,GACtB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,8BAA8B,EACnC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,8BAA8B,EAC9B,oCAAoC,GACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,gCAAgC,EAChC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,2BAA2B,EAChC,qBAAqB,GACtB,MAAM,+BAA+B,CAAC"}