@davidwoods/skylight-mcp 0.0.0-stage → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +583 -2
- package/THIRD_PARTY_NOTICES.md +38 -0
- package/dist/api/auth.d.ts +34 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +328 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/client.d.ts +103 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +324 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/constants.d.ts +4 -0
- package/dist/api/constants.d.ts.map +1 -0
- package/dist/api/constants.js +4 -0
- package/dist/api/constants.js.map +1 -0
- package/dist/api/credential-store.d.ts +38 -0
- package/dist/api/credential-store.d.ts.map +1 -0
- package/dist/api/credential-store.js +273 -0
- package/dist/api/credential-store.js.map +1 -0
- package/dist/api/credential-types.d.ts +15 -0
- package/dist/api/credential-types.d.ts.map +1 -0
- package/dist/api/credential-types.js +11 -0
- package/dist/api/credential-types.js.map +1 -0
- package/dist/api/endpoints/calendar.d.ts +36 -0
- package/dist/api/endpoints/calendar.d.ts.map +1 -0
- package/dist/api/endpoints/calendar.js +74 -0
- package/dist/api/endpoints/calendar.js.map +1 -0
- package/dist/api/endpoints/categories.d.ts +32 -0
- package/dist/api/endpoints/categories.d.ts.map +1 -0
- package/dist/api/endpoints/categories.js +77 -0
- package/dist/api/endpoints/categories.js.map +1 -0
- package/dist/api/endpoints/chores.d.ts +50 -0
- package/dist/api/endpoints/chores.d.ts.map +1 -0
- package/dist/api/endpoints/chores.js +106 -0
- package/dist/api/endpoints/chores.js.map +1 -0
- package/dist/api/endpoints/devices.d.ts +6 -0
- package/dist/api/endpoints/devices.d.ts.map +1 -0
- package/dist/api/endpoints/devices.js +10 -0
- package/dist/api/endpoints/devices.js.map +1 -0
- package/dist/api/endpoints/frames.d.ts +6 -0
- package/dist/api/endpoints/frames.d.ts.map +1 -0
- package/dist/api/endpoints/frames.js +10 -0
- package/dist/api/endpoints/frames.js.map +1 -0
- package/dist/api/endpoints/lists.d.ts +55 -0
- package/dist/api/endpoints/lists.d.ts.map +1 -0
- package/dist/api/endpoints/lists.js +125 -0
- package/dist/api/endpoints/lists.js.map +1 -0
- package/dist/api/endpoints/meals.d.ts +154 -0
- package/dist/api/endpoints/meals.d.ts.map +1 -0
- package/dist/api/endpoints/meals.js +194 -0
- package/dist/api/endpoints/meals.js.map +1 -0
- package/dist/api/endpoints/messages.d.ts +98 -0
- package/dist/api/endpoints/messages.d.ts.map +1 -0
- package/dist/api/endpoints/messages.js +116 -0
- package/dist/api/endpoints/messages.js.map +1 -0
- package/dist/api/endpoints/misc.d.ts +27 -0
- package/dist/api/endpoints/misc.d.ts.map +1 -0
- package/dist/api/endpoints/misc.js +19 -0
- package/dist/api/endpoints/misc.js.map +1 -0
- package/dist/api/endpoints/photos.d.ts +13 -0
- package/dist/api/endpoints/photos.d.ts.map +1 -0
- package/dist/api/endpoints/photos.js +10 -0
- package/dist/api/endpoints/photos.js.map +1 -0
- package/dist/api/endpoints/rewards.d.ts +49 -0
- package/dist/api/endpoints/rewards.d.ts.map +1 -0
- package/dist/api/endpoints/rewards.js +106 -0
- package/dist/api/endpoints/rewards.js.map +1 -0
- package/dist/api/endpoints/shape.d.ts +11 -0
- package/dist/api/endpoints/shape.d.ts.map +1 -0
- package/dist/api/endpoints/shape.js +34 -0
- package/dist/api/endpoints/shape.js.map +1 -0
- package/dist/api/endpoints/taskbox.d.ts +13 -0
- package/dist/api/endpoints/taskbox.d.ts.map +1 -0
- package/dist/api/endpoints/taskbox.js +22 -0
- package/dist/api/endpoints/taskbox.js.map +1 -0
- package/dist/api/oauth.d.ts +62 -0
- package/dist/api/oauth.d.ts.map +1 -0
- package/dist/api/oauth.js +206 -0
- package/dist/api/oauth.js.map +1 -0
- package/dist/api/types.d.ts +277 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +5 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cli.d.ts +23 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +105 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +27 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +78 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +17 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +17 -0
- package/dist/context.js.map +1 -0
- package/dist/doctor.d.ts +19 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +109 -0
- package/dist/doctor.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +29 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/calendar.d.ts +3 -0
- package/dist/tools/calendar.d.ts.map +1 -0
- package/dist/tools/calendar.js +298 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/chores.d.ts +3 -0
- package/dist/tools/chores.d.ts.map +1 -0
- package/dist/tools/chores.js +349 -0
- package/dist/tools/chores.js.map +1 -0
- package/dist/tools/family.d.ts +3 -0
- package/dist/tools/family.d.ts.map +1 -0
- package/dist/tools/family.js +182 -0
- package/dist/tools/family.js.map +1 -0
- package/dist/tools/lists.d.ts +3 -0
- package/dist/tools/lists.d.ts.map +1 -0
- package/dist/tools/lists.js +481 -0
- package/dist/tools/lists.js.map +1 -0
- package/dist/tools/meals.d.ts +3 -0
- package/dist/tools/meals.d.ts.map +1 -0
- package/dist/tools/meals.js +491 -0
- package/dist/tools/meals.js.map +1 -0
- package/dist/tools/messages.d.ts +3 -0
- package/dist/tools/messages.d.ts.map +1 -0
- package/dist/tools/messages.js +195 -0
- package/dist/tools/messages.js.map +1 -0
- package/dist/tools/misc.d.ts +3 -0
- package/dist/tools/misc.d.ts.map +1 -0
- package/dist/tools/misc.js +102 -0
- package/dist/tools/misc.js.map +1 -0
- package/dist/tools/photos.d.ts +3 -0
- package/dist/tools/photos.d.ts.map +1 -0
- package/dist/tools/photos.js +42 -0
- package/dist/tools/photos.js.map +1 -0
- package/dist/tools/planning.d.ts +15 -0
- package/dist/tools/planning.d.ts.map +1 -0
- package/dist/tools/planning.js +303 -0
- package/dist/tools/planning.js.map +1 -0
- package/dist/tools/registry.d.ts +39 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +142 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/rewards.d.ts +3 -0
- package/dist/tools/rewards.d.ts.map +1 -0
- package/dist/tools/rewards.js +339 -0
- package/dist/tools/rewards.js.map +1 -0
- package/dist/tools/tasks.d.ts +3 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +68 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/utils/dates.d.ts +26 -0
- package/dist/utils/dates.d.ts.map +1 -0
- package/dist/utils/dates.js +109 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/errors.d.ts +45 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +102 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/schedule.d.ts +86 -0
- package/dist/utils/schedule.d.ts.map +1 -0
- package/dist/utils/schedule.js +189 -0
- package/dist/utils/schedule.js.map +1 -0
- package/package.json +76 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/api/credential-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credential store contract. Kept free of Node-only imports so the Skylight
|
|
3
|
+
* client can be bundled for runtimes without a filesystem (Cloudflare Workers).
|
|
4
|
+
*/
|
|
5
|
+
import type { StoredCredential } from "./oauth.js";
|
|
6
|
+
export declare class CredentialStoreError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
export interface CredentialStore {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
read(): Promise<StoredCredential | null>;
|
|
12
|
+
write(credential: StoredCredential): Promise<void>;
|
|
13
|
+
delete(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=credential-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-types.d.ts","sourceRoot":"","sources":["../../src/api/credential-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Credential store contract. Kept free of Node-only imports so the Skylight
|
|
3
|
+
* client can be bundled for runtimes without a filesystem (Cloudflare Workers).
|
|
4
|
+
*/
|
|
5
|
+
export class CredentialStoreError extends Error {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "CredentialStoreError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=credential-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-types.js","sourceRoot":"","sources":["../../src/api/credential-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { CalendarEventResource, SourceCalendarResource, CreateCalendarEventRequest, UpdateCalendarEventRequest } from "../types.js";
|
|
2
|
+
export interface GetCalendarEventsOptions {
|
|
3
|
+
dateMin: string;
|
|
4
|
+
dateMax: string;
|
|
5
|
+
timezone?: string;
|
|
6
|
+
include?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get calendar events for a date range
|
|
10
|
+
* Note: The API treats date_max as exclusive, so we add 1 day to include events on the end date
|
|
11
|
+
*/
|
|
12
|
+
export declare function getCalendarEvents(options: GetCalendarEventsOptions): Promise<CalendarEventResource[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get source calendars (connected calendar accounts)
|
|
15
|
+
*/
|
|
16
|
+
export declare function getSourceCalendars(): Promise<SourceCalendarResource[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Create a calendar event
|
|
19
|
+
*/
|
|
20
|
+
export declare function createCalendarEvent(data: CreateCalendarEventRequest): Promise<CalendarEventResource>;
|
|
21
|
+
/**
|
|
22
|
+
* Update a calendar event
|
|
23
|
+
*/
|
|
24
|
+
export declare function updateCalendarEvent(eventId: string, data: UpdateCalendarEventRequest): Promise<CalendarEventResource>;
|
|
25
|
+
/**
|
|
26
|
+
* Delete a calendar event
|
|
27
|
+
*/
|
|
28
|
+
export declare function deleteCalendarEvent(eventId: string): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Skylight reads a start/end time with no offset as UTC, even when a timezone is
|
|
31
|
+
* sent, so "08:00" landed at 01:00 Pacific. Give a local wall-clock time the
|
|
32
|
+
* frame zone's offset. Times that already carry Z or an offset, and date-only
|
|
33
|
+
* values (all-day events), pass through unchanged.
|
|
34
|
+
*/
|
|
35
|
+
export declare function withFrameOffset(value: string, timeZone: string): string;
|
|
36
|
+
//# sourceMappingURL=calendar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/calendar.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgBlC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAM5E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAOhC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAOhC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { getClient } from "../client.js";
|
|
2
|
+
import { isoWithOffset } from "./messages.js";
|
|
3
|
+
import { zonedToEpoch } from "../../utils/schedule.js";
|
|
4
|
+
/**
|
|
5
|
+
* Add days to a date string in YYYY-MM-DD format
|
|
6
|
+
*/
|
|
7
|
+
function addDays(dateStr, days) {
|
|
8
|
+
const date = new Date(dateStr + "T00:00:00");
|
|
9
|
+
date.setDate(date.getDate() + days);
|
|
10
|
+
return date.toISOString().split("T")[0];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get calendar events for a date range
|
|
14
|
+
* Note: The API treats date_max as exclusive, so we add 1 day to include events on the end date
|
|
15
|
+
*/
|
|
16
|
+
export async function getCalendarEvents(options) {
|
|
17
|
+
const client = getClient();
|
|
18
|
+
// API treats date_max as exclusive, so add 1 day to include events on the end date
|
|
19
|
+
const adjustedDateMax = addDays(options.dateMax, 1);
|
|
20
|
+
const response = await client.get("/api/frames/{frameId}/calendar_events", {
|
|
21
|
+
date_min: options.dateMin,
|
|
22
|
+
date_max: adjustedDateMax,
|
|
23
|
+
timezone: options.timezone ?? client.timezone,
|
|
24
|
+
include: options.include,
|
|
25
|
+
});
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get source calendars (connected calendar accounts)
|
|
30
|
+
*/
|
|
31
|
+
export async function getSourceCalendars() {
|
|
32
|
+
const client = getClient();
|
|
33
|
+
const response = await client.get("/api/frames/{frameId}/source_calendars");
|
|
34
|
+
return response.data;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a calendar event
|
|
38
|
+
*/
|
|
39
|
+
export async function createCalendarEvent(data) {
|
|
40
|
+
const client = getClient();
|
|
41
|
+
const response = await client.post("/api/frames/{frameId}/calendar_events", data);
|
|
42
|
+
return response.data;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Update a calendar event
|
|
46
|
+
*/
|
|
47
|
+
export async function updateCalendarEvent(eventId, data) {
|
|
48
|
+
const client = getClient();
|
|
49
|
+
const response = await client.request(`/api/frames/{frameId}/calendar_events/${eventId}`, { method: "PUT", body: data });
|
|
50
|
+
return response.data;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Delete a calendar event
|
|
54
|
+
*/
|
|
55
|
+
export async function deleteCalendarEvent(eventId) {
|
|
56
|
+
const client = getClient();
|
|
57
|
+
await client.request(`/api/frames/{frameId}/calendar_events/${eventId}`, {
|
|
58
|
+
method: "DELETE",
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Skylight reads a start/end time with no offset as UTC, even when a timezone is
|
|
63
|
+
* sent, so "08:00" landed at 01:00 Pacific. Give a local wall-clock time the
|
|
64
|
+
* frame zone's offset. Times that already carry Z or an offset, and date-only
|
|
65
|
+
* values (all-day events), pass through unchanged.
|
|
66
|
+
*/
|
|
67
|
+
export function withFrameOffset(value, timeZone) {
|
|
68
|
+
const m = /^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})(?::(\d{2}))?$/.exec(value.trim());
|
|
69
|
+
if (!m)
|
|
70
|
+
return value;
|
|
71
|
+
const seconds = m[3] ? Number(m[3]) : 0;
|
|
72
|
+
return isoWithOffset(zonedToEpoch(m[1], m[2], timeZone) + seconds * 1000, timeZone);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/api/endpoints/calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CategoryResource } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get all categories (family members/profiles)
|
|
4
|
+
*/
|
|
5
|
+
export declare function getCategories(useCache?: boolean): Promise<CategoryResource[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Clear the categories cache
|
|
8
|
+
*/
|
|
9
|
+
export declare function clearCategoriesCache(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Find a category by name (case-insensitive partial match)
|
|
12
|
+
* Categories represent family members like "Casey", "Mom", "Kids", etc.
|
|
13
|
+
*/
|
|
14
|
+
export declare function findCategoryByName(name: string): Promise<CategoryResource | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Get categories that are linked to profiles (actual family members)
|
|
17
|
+
*/
|
|
18
|
+
export declare function getFamilyMembers(): Promise<CategoryResource[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Get categories selected for the chore chart
|
|
21
|
+
*/
|
|
22
|
+
export declare function getChoreChartCategories(): Promise<CategoryResource[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Turn profile names into category IDs. Exact match, case-insensitive, no partial
|
|
25
|
+
* matching: findCategoryByName would treat "Alex" as a match for any longer name.
|
|
26
|
+
* Unknown names fail with the valid list so nothing is ever sent to a guess.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveProfileIds(names: string[]): Promise<{
|
|
29
|
+
ids: string[];
|
|
30
|
+
labels: string[];
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/categories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKxE;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,UAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAShF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAQ5F;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAG3E;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwBrG"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { getClient } from "../client.js";
|
|
2
|
+
// Cache for categories (family members)
|
|
3
|
+
let categoriesCache = null;
|
|
4
|
+
/**
|
|
5
|
+
* Get all categories (family members/profiles)
|
|
6
|
+
*/
|
|
7
|
+
export async function getCategories(useCache = true) {
|
|
8
|
+
if (useCache && categoriesCache) {
|
|
9
|
+
return categoriesCache;
|
|
10
|
+
}
|
|
11
|
+
const client = getClient();
|
|
12
|
+
const response = await client.get("/api/frames/{frameId}/categories");
|
|
13
|
+
categoriesCache = response.data;
|
|
14
|
+
return response.data;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Clear the categories cache
|
|
18
|
+
*/
|
|
19
|
+
export function clearCategoriesCache() {
|
|
20
|
+
categoriesCache = null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Find a category by name (case-insensitive partial match)
|
|
24
|
+
* Categories represent family members like "Casey", "Mom", "Kids", etc.
|
|
25
|
+
*/
|
|
26
|
+
export async function findCategoryByName(name) {
|
|
27
|
+
const categories = await getCategories();
|
|
28
|
+
const lowerName = name.toLowerCase();
|
|
29
|
+
return categories.find((cat) => {
|
|
30
|
+
const label = cat.attributes.label?.toLowerCase();
|
|
31
|
+
return label && (label === lowerName || label.includes(lowerName));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get categories that are linked to profiles (actual family members)
|
|
36
|
+
*/
|
|
37
|
+
export async function getFamilyMembers() {
|
|
38
|
+
const categories = await getCategories();
|
|
39
|
+
return categories.filter((cat) => cat.attributes.linked_to_profile);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get categories selected for the chore chart
|
|
43
|
+
*/
|
|
44
|
+
export async function getChoreChartCategories() {
|
|
45
|
+
const categories = await getCategories();
|
|
46
|
+
return categories.filter((cat) => cat.attributes.selected_for_chore_chart);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Turn profile names into category IDs. Exact match, case-insensitive, no partial
|
|
50
|
+
* matching: findCategoryByName would treat "Alex" as a match for any longer name.
|
|
51
|
+
* Unknown names fail with the valid list so nothing is ever sent to a guess.
|
|
52
|
+
*/
|
|
53
|
+
export async function resolveProfileIds(names) {
|
|
54
|
+
const wanted = [...new Set(names.map((n) => n.trim()).filter(Boolean))];
|
|
55
|
+
if (wanted.length === 0)
|
|
56
|
+
throw new Error("Give at least one profile name.");
|
|
57
|
+
const all = await getCategories();
|
|
58
|
+
const linked = all.filter((c) => c.attributes.linked_to_profile);
|
|
59
|
+
const pool = linked.length > 0 ? linked : all;
|
|
60
|
+
const ids = [];
|
|
61
|
+
const labels = [];
|
|
62
|
+
for (const name of wanted) {
|
|
63
|
+
const hits = pool.filter((c) => c.attributes.label?.toLowerCase() === name.toLowerCase());
|
|
64
|
+
if (hits.length !== 1) {
|
|
65
|
+
const known = pool.map((c) => c.attributes.label).filter(Boolean).join(", ");
|
|
66
|
+
throw new Error(hits.length === 0
|
|
67
|
+
? `No profile called "${name}". Profiles: ${known}.`
|
|
68
|
+
: `"${name}" matches ${hits.length} profiles; rename one in Skylight. Profiles: ${known}.`);
|
|
69
|
+
}
|
|
70
|
+
if (!ids.includes(hits[0].id)) {
|
|
71
|
+
ids.push(hits[0].id);
|
|
72
|
+
labels.push(hits[0].attributes.label ?? name);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { ids, labels };
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/api/endpoints/categories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ChoreResource, CategoryResource } from "../types.js";
|
|
2
|
+
export interface GetChoresOptions {
|
|
3
|
+
after?: string;
|
|
4
|
+
before?: string;
|
|
5
|
+
includeLate?: boolean;
|
|
6
|
+
filterLinkedToProfile?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface GetChoresResult {
|
|
9
|
+
chores: ChoreResource[];
|
|
10
|
+
categories: CategoryResource[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get chores for a date range
|
|
14
|
+
*/
|
|
15
|
+
export declare function getChores(options?: GetChoresOptions): Promise<GetChoresResult>;
|
|
16
|
+
export interface CreateChoreOptions {
|
|
17
|
+
summary: string;
|
|
18
|
+
start: string;
|
|
19
|
+
startTime?: string;
|
|
20
|
+
status?: string;
|
|
21
|
+
recurring?: boolean;
|
|
22
|
+
recurrenceSet?: string;
|
|
23
|
+
categoryId?: string;
|
|
24
|
+
rewardPoints?: number;
|
|
25
|
+
emojiIcon?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a new chore
|
|
29
|
+
*/
|
|
30
|
+
export declare function createChore(options: CreateChoreOptions): Promise<ChoreResource>;
|
|
31
|
+
export interface UpdateChoreOptions {
|
|
32
|
+
summary?: string;
|
|
33
|
+
start?: string;
|
|
34
|
+
startTime?: string | null;
|
|
35
|
+
status?: string;
|
|
36
|
+
recurring?: boolean;
|
|
37
|
+
recurrenceSet?: string | null;
|
|
38
|
+
categoryId?: string | null;
|
|
39
|
+
rewardPoints?: number | null;
|
|
40
|
+
emojiIcon?: string | null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Update an existing chore
|
|
44
|
+
*/
|
|
45
|
+
export declare function updateChore(choreId: string, options: UpdateChoreOptions): Promise<ChoreResource>;
|
|
46
|
+
/**
|
|
47
|
+
* Delete a chore
|
|
48
|
+
*/
|
|
49
|
+
export declare function deleteChore(choreId: string): Promise<void>;
|
|
50
|
+
//# sourceMappingURL=chores.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chores.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/chores.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,aAAa,EACb,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqBxF;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqCrF;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAqCxB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { getClient } from "../client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get chores for a date range
|
|
4
|
+
*/
|
|
5
|
+
export async function getChores(options = {}) {
|
|
6
|
+
const client = getClient();
|
|
7
|
+
const params = {
|
|
8
|
+
after: options.after,
|
|
9
|
+
before: options.before,
|
|
10
|
+
include_late: options.includeLate,
|
|
11
|
+
};
|
|
12
|
+
if (options.filterLinkedToProfile) {
|
|
13
|
+
params.filter = "linked_to_profile";
|
|
14
|
+
}
|
|
15
|
+
const response = await client.get("/api/frames/{frameId}/chores", params);
|
|
16
|
+
return {
|
|
17
|
+
chores: response.data,
|
|
18
|
+
categories: response.included ?? [],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a new chore
|
|
23
|
+
*/
|
|
24
|
+
export async function createChore(options) {
|
|
25
|
+
const client = getClient();
|
|
26
|
+
const request = {
|
|
27
|
+
data: {
|
|
28
|
+
type: "chore",
|
|
29
|
+
attributes: {
|
|
30
|
+
summary: options.summary,
|
|
31
|
+
start: options.start,
|
|
32
|
+
start_time: options.startTime ?? null,
|
|
33
|
+
status: options.status ?? "pending",
|
|
34
|
+
recurring: options.recurring ?? false,
|
|
35
|
+
recurrence_set: options.recurrenceSet ?? null,
|
|
36
|
+
reward_points: options.rewardPoints ?? null,
|
|
37
|
+
emoji_icon: options.emojiIcon ?? null,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
// Add category relationship if provided
|
|
42
|
+
if (options.categoryId) {
|
|
43
|
+
request.data.relationships = {
|
|
44
|
+
category: {
|
|
45
|
+
data: {
|
|
46
|
+
type: "category",
|
|
47
|
+
id: options.categoryId,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const response = await client.post("/api/frames/{frameId}/chores", request);
|
|
53
|
+
return response.data;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Update an existing chore
|
|
57
|
+
*/
|
|
58
|
+
export async function updateChore(choreId, options) {
|
|
59
|
+
const client = getClient();
|
|
60
|
+
const request = {
|
|
61
|
+
data: {
|
|
62
|
+
type: "chore",
|
|
63
|
+
attributes: {},
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
// Map options to attributes
|
|
67
|
+
if (options.summary !== undefined)
|
|
68
|
+
request.data.attributes.summary = options.summary;
|
|
69
|
+
if (options.start !== undefined)
|
|
70
|
+
request.data.attributes.start = options.start;
|
|
71
|
+
if (options.startTime !== undefined)
|
|
72
|
+
request.data.attributes.start_time = options.startTime;
|
|
73
|
+
if (options.status !== undefined)
|
|
74
|
+
request.data.attributes.status = options.status;
|
|
75
|
+
if (options.recurring !== undefined)
|
|
76
|
+
request.data.attributes.recurring = options.recurring;
|
|
77
|
+
if (options.recurrenceSet !== undefined)
|
|
78
|
+
request.data.attributes.recurrence_set = options.recurrenceSet;
|
|
79
|
+
if (options.rewardPoints !== undefined)
|
|
80
|
+
request.data.attributes.reward_points = options.rewardPoints;
|
|
81
|
+
if (options.emojiIcon !== undefined)
|
|
82
|
+
request.data.attributes.emoji_icon = options.emojiIcon;
|
|
83
|
+
// Handle category relationship
|
|
84
|
+
if (options.categoryId !== undefined) {
|
|
85
|
+
if (options.categoryId === null) {
|
|
86
|
+
request.data.relationships = { category: { data: null } };
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
request.data.relationships = {
|
|
90
|
+
category: { data: { type: "category", id: options.categoryId } },
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const response = await client.request(`/api/frames/{frameId}/chores/${choreId}`, { method: "PUT", body: request });
|
|
95
|
+
return response.data;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Delete a chore
|
|
99
|
+
*/
|
|
100
|
+
export async function deleteChore(choreId) {
|
|
101
|
+
const client = getClient();
|
|
102
|
+
await client.request(`/api/frames/{frameId}/chores/${choreId}`, {
|
|
103
|
+
method: "DELETE",
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=chores.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chores.js","sourceRoot":"","sources":["../../../src/api/endpoints/chores.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/devices.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnE;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAI5D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getClient } from "../client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get all Skylight devices in the household
|
|
4
|
+
*/
|
|
5
|
+
export async function getDevices() {
|
|
6
|
+
const client = getClient();
|
|
7
|
+
const response = await client.get("/api/frames/{frameId}/devices");
|
|
8
|
+
return response.data;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=devices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../src/api/endpoints/devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAkB,+BAA+B,CAAC,CAAC;IACpF,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/frames.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC,CAIvD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getClient } from "../client.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get frame (household) information
|
|
4
|
+
*/
|
|
5
|
+
export async function getFrame() {
|
|
6
|
+
const client = getClient();
|
|
7
|
+
const response = await client.get("/api/frames/{frameId}");
|
|
8
|
+
return response.data;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=frames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../../src/api/endpoints/frames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAgB,uBAAuB,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ListResource, ListItemResource } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get all lists
|
|
4
|
+
*/
|
|
5
|
+
export declare function getLists(): Promise<ListResource[]>;
|
|
6
|
+
export interface GetListWithItemsResult {
|
|
7
|
+
list: ListResource;
|
|
8
|
+
items: ListItemResource[];
|
|
9
|
+
sections?: unknown[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Get a specific list with its items
|
|
13
|
+
*/
|
|
14
|
+
export declare function getListWithItems(listId: string): Promise<GetListWithItemsResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Find a list by name (case-insensitive)
|
|
17
|
+
*/
|
|
18
|
+
export declare function findListByName(name: string): Promise<ListResource | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* Find a list by type (shopping or to_do)
|
|
21
|
+
*/
|
|
22
|
+
export declare function findListByType(kind: "shopping" | "to_do", preferDefault?: boolean): Promise<ListResource | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Create a new list
|
|
25
|
+
*/
|
|
26
|
+
export declare function createList(label: string, kind: "shopping" | "to_do", color?: string): Promise<ListResource>;
|
|
27
|
+
/**
|
|
28
|
+
* Update an existing list
|
|
29
|
+
*/
|
|
30
|
+
export declare function updateList(listId: string, updates: {
|
|
31
|
+
label?: string;
|
|
32
|
+
kind?: "shopping" | "to_do";
|
|
33
|
+
color?: string | null;
|
|
34
|
+
}): Promise<ListResource>;
|
|
35
|
+
/**
|
|
36
|
+
* Delete a list
|
|
37
|
+
*/
|
|
38
|
+
export declare function deleteList(listId: string): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Create a new list item
|
|
41
|
+
*/
|
|
42
|
+
export declare function createListItem(listId: string, label: string, section?: string): Promise<ListItemResource>;
|
|
43
|
+
/**
|
|
44
|
+
* Update a list item
|
|
45
|
+
*/
|
|
46
|
+
export declare function updateListItem(listId: string, itemId: string, updates: {
|
|
47
|
+
label?: string;
|
|
48
|
+
status?: "pending" | "completed";
|
|
49
|
+
section?: string | null;
|
|
50
|
+
}): Promise<ListItemResource>;
|
|
51
|
+
/**
|
|
52
|
+
* Delete a list item
|
|
53
|
+
*/
|
|
54
|
+
export declare function deleteListItem(listId: string, itemId: string): Promise<void>;
|
|
55
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/api/endpoints/lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,YAAY,EACZ,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAIxD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAStF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAIpF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,aAAa,UAAO,GACnB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAUnC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9E,OAAO,CAAC,YAAY,CAAC,CAavB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACrF,OAAO,CAAC,gBAAgB,CAAC,CAa3B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlF"}
|