@augmenting-integrations/api 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
1
20
  // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ createApiClient: () => createApiClient
24
+ });
25
+ module.exports = __toCommonJS(index_exports);
2
26
  async function json(res) {
3
27
  if (!res.ok) throw new Error(`Request failed: ${res.status}`);
4
28
  return await res.json();
@@ -46,7 +70,8 @@ function createApiClient(basePath = "") {
46
70
  }
47
71
  };
48
72
  }
49
- export {
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
50
75
  createApiClient
51
- };
52
- //# sourceMappingURL=index.mjs.map
76
+ });
77
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export type Commission = {\n id: string;\n agent: string;\n carrier: string;\n policy: string;\n amount: number;\n period: string;\n status: \"paid\" | \"pending\" | \"review\";\n submittedAt: string;\n};\n\nexport type Lead = {\n id: string;\n name: string;\n state: string;\n type: \"health\" | \"life\" | \"supplemental\";\n age: number;\n phone: string;\n price: number;\n createdAt: string;\n purchased: boolean;\n summary: string;\n};\n\nexport type Carrier = { id: string; name: string; lines: string[] };\n\nexport type DateRange = \"today\" | \"this-week\" | \"this-month\" | \"this-quarter\" | \"ytd\";\n\nexport type Quote = {\n id: string;\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n monthlyPremium: number;\n annualPremium: number;\n generatedAt: string;\n};\n\nasync function json<T>(res: Response): Promise<T> {\n if (!res.ok) throw new Error(`Request failed: ${res.status}`);\n return (await res.json()) as T;\n}\n\n/**\n * Build a typed API client rooted at a given basePath. Each app passes its\n * own basePath (e.g. `/commissions`) so request URLs are correct under the\n * unified CloudFront routing layer.\n */\nexport function createApiClient(basePath = \"\") {\n const base = basePath.replace(/\\/$/, \"\");\n\n return {\n commissions: {\n list: () =>\n fetch(`${base}/api/commissions`).then((r) => json<{ items: Commission[] }>(r)),\n create: (data: Omit<Commission, \"id\" | \"submittedAt\">) =>\n fetch(`${base}/api/commissions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ item: Commission }>(r)),\n },\n leads: {\n list: (params?: { purchased?: boolean; state?: string; type?: string }) => {\n const q = new URLSearchParams();\n if (params?.purchased !== undefined) q.set(\"purchased\", String(params.purchased));\n if (params?.state) q.set(\"state\", params.state);\n if (params?.type) q.set(\"type\", params.type);\n const qs = q.toString();\n return fetch(`${base}/api/leads${qs ? `?${qs}` : \"\"}`).then((r) =>\n json<{ items: Lead[] }>(r),\n );\n },\n buy: (id: string) =>\n fetch(`${base}/api/leads/${id}/buy`, { method: \"POST\" }).then((r) =>\n json<{ item: Lead }>(r),\n ),\n },\n dashboard: {\n get: <T = unknown>(range: DateRange = \"this-month\") =>\n fetch(`${base}/api/dashboard?range=${encodeURIComponent(range)}`).then((r) =>\n json<T>(r),\n ),\n },\n carriers: {\n list: () =>\n fetch(`${base}/api/carriers`).then((r) => json<{ items: Carrier[] }>(r)),\n },\n quotes: {\n create: (data: {\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n }) =>\n fetch(`${base}/api/quotes`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ quote: Quote }>(r)),\n },\n };\n}\n\nexport type ApiClient = ReturnType<typeof createApiClient>;\n"],"mappings":";AAsCA,eAAe,KAAQ,KAA2B;AAChD,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,mBAAmB,IAAI,MAAM,EAAE;AAC5D,SAAQ,MAAM,IAAI,KAAK;AACzB;AAOO,SAAS,gBAAgB,WAAW,IAAI;AAC7C,QAAM,OAAO,SAAS,QAAQ,OAAO,EAAE;AAEvC,SAAO;AAAA,IACL,aAAa;AAAA,MACX,MAAM,MACJ,MAAM,GAAG,IAAI,kBAAkB,EAAE,KAAK,CAAC,MAAM,KAA8B,CAAC,CAAC;AAAA,MAC/E,QAAQ,CAAC,SACP,MAAM,GAAG,IAAI,oBAAoB;AAAA,QAC/B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,WAAoE;AACzE,cAAM,IAAI,IAAI,gBAAgB;AAC9B,YAAI,QAAQ,cAAc,OAAW,GAAE,IAAI,aAAa,OAAO,OAAO,SAAS,CAAC;AAChF,YAAI,QAAQ,MAAO,GAAE,IAAI,SAAS,OAAO,KAAK;AAC9C,YAAI,QAAQ,KAAM,GAAE,IAAI,QAAQ,OAAO,IAAI;AAC3C,cAAM,KAAK,EAAE,SAAS;AACtB,eAAO,MAAM,GAAG,IAAI,aAAa,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAAA,UAAK,CAAC,MAC3D,KAAwB,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,MACA,KAAK,CAAC,OACJ,MAAM,GAAG,IAAI,cAAc,EAAE,QAAQ,EAAE,QAAQ,OAAO,CAAC,EAAE;AAAA,QAAK,CAAC,MAC7D,KAAqB,CAAC;AAAA,MACxB;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,MACT,KAAK,CAAc,QAAmB,iBACpC,MAAM,GAAG,IAAI,wBAAwB,mBAAmB,KAAK,CAAC,EAAE,EAAE;AAAA,QAAK,CAAC,MACtE,KAAQ,CAAC;AAAA,MACX;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACR,MAAM,MACJ,MAAM,GAAG,IAAI,eAAe,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAC3E;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,CAAC,SAKP,MAAM,GAAG,IAAI,eAAe;AAAA,QAC1B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAAuB,CAAC,CAAC;AAAA,IAC5C;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export type Commission = {\n id: string;\n agent: string;\n carrier: string;\n policy: string;\n amount: number;\n period: string;\n status: \"paid\" | \"pending\" | \"review\";\n submittedAt: string;\n};\n\nexport type Lead = {\n id: string;\n name: string;\n state: string;\n type: \"health\" | \"life\" | \"supplemental\";\n age: number;\n phone: string;\n price: number;\n createdAt: string;\n purchased: boolean;\n summary: string;\n};\n\nexport type Carrier = { id: string; name: string; lines: string[] };\n\nexport type DateRange = \"today\" | \"this-week\" | \"this-month\" | \"this-quarter\" | \"ytd\";\n\nexport type Quote = {\n id: string;\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n monthlyPremium: number;\n annualPremium: number;\n generatedAt: string;\n};\n\nasync function json<T>(res: Response): Promise<T> {\n if (!res.ok) throw new Error(`Request failed: ${res.status}`);\n return (await res.json()) as T;\n}\n\n/**\n * Build a typed API client rooted at a given basePath. Each app passes its\n * own basePath (e.g. `/commissions`) so request URLs are correct under the\n * unified CloudFront routing layer.\n */\nexport function createApiClient(basePath = \"\") {\n const base = basePath.replace(/\\/$/, \"\");\n\n return {\n commissions: {\n list: () =>\n fetch(`${base}/api/commissions`).then((r) => json<{ items: Commission[] }>(r)),\n create: (data: Omit<Commission, \"id\" | \"submittedAt\">) =>\n fetch(`${base}/api/commissions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ item: Commission }>(r)),\n },\n leads: {\n list: (params?: { purchased?: boolean; state?: string; type?: string }) => {\n const q = new URLSearchParams();\n if (params?.purchased !== undefined) q.set(\"purchased\", String(params.purchased));\n if (params?.state) q.set(\"state\", params.state);\n if (params?.type) q.set(\"type\", params.type);\n const qs = q.toString();\n return fetch(`${base}/api/leads${qs ? `?${qs}` : \"\"}`).then((r) =>\n json<{ items: Lead[] }>(r),\n );\n },\n buy: (id: string) =>\n fetch(`${base}/api/leads/${id}/buy`, { method: \"POST\" }).then((r) =>\n json<{ item: Lead }>(r),\n ),\n },\n dashboard: {\n get: <T = unknown>(range: DateRange = \"this-month\") =>\n fetch(`${base}/api/dashboard?range=${encodeURIComponent(range)}`).then((r) =>\n json<T>(r),\n ),\n },\n carriers: {\n list: () =>\n fetch(`${base}/api/carriers`).then((r) => json<{ items: Carrier[] }>(r)),\n },\n quotes: {\n create: (data: {\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n }) =>\n fetch(`${base}/api/quotes`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ quote: Quote }>(r)),\n },\n };\n}\n\nexport type ApiClient = ReturnType<typeof createApiClient>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsCA,eAAe,KAAQ,KAA2B;AAChD,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,mBAAmB,IAAI,MAAM,EAAE;AAC5D,SAAQ,MAAM,IAAI,KAAK;AACzB;AAOO,SAAS,gBAAgB,WAAW,IAAI;AAC7C,QAAM,OAAO,SAAS,QAAQ,OAAO,EAAE;AAEvC,SAAO;AAAA,IACL,aAAa;AAAA,MACX,MAAM,MACJ,MAAM,GAAG,IAAI,kBAAkB,EAAE,KAAK,CAAC,MAAM,KAA8B,CAAC,CAAC;AAAA,MAC/E,QAAQ,CAAC,SACP,MAAM,GAAG,IAAI,oBAAoB;AAAA,QAC/B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,WAAoE;AACzE,cAAM,IAAI,IAAI,gBAAgB;AAC9B,YAAI,QAAQ,cAAc,OAAW,GAAE,IAAI,aAAa,OAAO,OAAO,SAAS,CAAC;AAChF,YAAI,QAAQ,MAAO,GAAE,IAAI,SAAS,OAAO,KAAK;AAC9C,YAAI,QAAQ,KAAM,GAAE,IAAI,QAAQ,OAAO,IAAI;AAC3C,cAAM,KAAK,EAAE,SAAS;AACtB,eAAO,MAAM,GAAG,IAAI,aAAa,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAAA,UAAK,CAAC,MAC3D,KAAwB,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,MACA,KAAK,CAAC,OACJ,MAAM,GAAG,IAAI,cAAc,EAAE,QAAQ,EAAE,QAAQ,OAAO,CAAC,EAAE;AAAA,QAAK,CAAC,MAC7D,KAAqB,CAAC;AAAA,MACxB;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,MACT,KAAK,CAAc,QAAmB,iBACpC,MAAM,GAAG,IAAI,wBAAwB,mBAAmB,KAAK,CAAC,EAAE,EAAE;AAAA,QAAK,CAAC,MACtE,KAAQ,CAAC;AAAA,MACX;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACR,MAAM,MACJ,MAAM,GAAG,IAAI,eAAe,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAC3E;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,CAAC,SAKP,MAAM,GAAG,IAAI,eAAe;AAAA,QAC1B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAAuB,CAAC,CAAC;AAAA,IAC5C;AAAA,EACF;AACF;","names":[]}
package/dist/index.js CHANGED
@@ -1,51 +1,52 @@
1
+ // src/index.ts
1
2
  async function json(res) {
2
- if (!res.ok)
3
- throw new Error(`Request failed: ${res.status}`);
4
- return (await res.json());
3
+ if (!res.ok) throw new Error(`Request failed: ${res.status}`);
4
+ return await res.json();
5
5
  }
6
- /**
7
- * Build a typed API client rooted at a given basePath. Each app passes its
8
- * own basePath (e.g. `/commissions`) so request URLs are correct under the
9
- * unified CloudFront routing layer.
10
- */
11
- export function createApiClient(basePath = "") {
12
- const base = basePath.replace(/\/$/, "");
13
- return {
14
- commissions: {
15
- list: () => fetch(`${base}/api/commissions`).then((r) => json(r)),
16
- create: (data) => fetch(`${base}/api/commissions`, {
17
- method: "POST",
18
- headers: { "Content-Type": "application/json" },
19
- body: JSON.stringify(data),
20
- }).then((r) => json(r)),
21
- },
22
- leads: {
23
- list: (params) => {
24
- const q = new URLSearchParams();
25
- if (params?.purchased !== undefined)
26
- q.set("purchased", String(params.purchased));
27
- if (params?.state)
28
- q.set("state", params.state);
29
- if (params?.type)
30
- q.set("type", params.type);
31
- const qs = q.toString();
32
- return fetch(`${base}/api/leads${qs ? `?${qs}` : ""}`).then((r) => json(r));
33
- },
34
- buy: (id) => fetch(`${base}/api/leads/${id}/buy`, { method: "POST" }).then((r) => json(r)),
35
- },
36
- dashboard: {
37
- get: (range = "this-month") => fetch(`${base}/api/dashboard?range=${encodeURIComponent(range)}`).then((r) => json(r)),
38
- },
39
- carriers: {
40
- list: () => fetch(`${base}/api/carriers`).then((r) => json(r)),
41
- },
42
- quotes: {
43
- create: (data) => fetch(`${base}/api/quotes`, {
44
- method: "POST",
45
- headers: { "Content-Type": "application/json" },
46
- body: JSON.stringify(data),
47
- }).then((r) => json(r)),
48
- },
49
- };
6
+ function createApiClient(basePath = "") {
7
+ const base = basePath.replace(/\/$/, "");
8
+ return {
9
+ commissions: {
10
+ list: () => fetch(`${base}/api/commissions`).then((r) => json(r)),
11
+ create: (data) => fetch(`${base}/api/commissions`, {
12
+ method: "POST",
13
+ headers: { "Content-Type": "application/json" },
14
+ body: JSON.stringify(data)
15
+ }).then((r) => json(r))
16
+ },
17
+ leads: {
18
+ list: (params) => {
19
+ const q = new URLSearchParams();
20
+ if (params?.purchased !== void 0) q.set("purchased", String(params.purchased));
21
+ if (params?.state) q.set("state", params.state);
22
+ if (params?.type) q.set("type", params.type);
23
+ const qs = q.toString();
24
+ return fetch(`${base}/api/leads${qs ? `?${qs}` : ""}`).then(
25
+ (r) => json(r)
26
+ );
27
+ },
28
+ buy: (id) => fetch(`${base}/api/leads/${id}/buy`, { method: "POST" }).then(
29
+ (r) => json(r)
30
+ )
31
+ },
32
+ dashboard: {
33
+ get: (range = "this-month") => fetch(`${base}/api/dashboard?range=${encodeURIComponent(range)}`).then(
34
+ (r) => json(r)
35
+ )
36
+ },
37
+ carriers: {
38
+ list: () => fetch(`${base}/api/carriers`).then((r) => json(r))
39
+ },
40
+ quotes: {
41
+ create: (data) => fetch(`${base}/api/quotes`, {
42
+ method: "POST",
43
+ headers: { "Content-Type": "application/json" },
44
+ body: JSON.stringify(data)
45
+ }).then((r) => json(r))
46
+ }
47
+ };
50
48
  }
49
+ export {
50
+ createApiClient
51
+ };
51
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export type Commission = {\n id: string;\n agent: string;\n carrier: string;\n policy: string;\n amount: number;\n period: string;\n status: \"paid\" | \"pending\" | \"review\";\n submittedAt: string;\n};\n\nexport type Lead = {\n id: string;\n name: string;\n state: string;\n type: \"health\" | \"life\" | \"supplemental\";\n age: number;\n phone: string;\n price: number;\n createdAt: string;\n purchased: boolean;\n summary: string;\n};\n\nexport type Carrier = { id: string; name: string; lines: string[] };\n\nexport type DateRange = \"today\" | \"this-week\" | \"this-month\" | \"this-quarter\" | \"ytd\";\n\nexport type Quote = {\n id: string;\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n monthlyPremium: number;\n annualPremium: number;\n generatedAt: string;\n};\n\nasync function json<T>(res: Response): Promise<T> {\n if (!res.ok) throw new Error(`Request failed: ${res.status}`);\n return (await res.json()) as T;\n}\n\n/**\n * Build a typed API client rooted at a given basePath. Each app passes its\n * own basePath (e.g. `/commissions`) so request URLs are correct under the\n * unified CloudFront routing layer.\n */\nexport function createApiClient(basePath = \"\") {\n const base = basePath.replace(/\\/$/, \"\");\n\n return {\n commissions: {\n list: () =>\n fetch(`${base}/api/commissions`).then((r) => json<{ items: Commission[] }>(r)),\n create: (data: Omit<Commission, \"id\" | \"submittedAt\">) =>\n fetch(`${base}/api/commissions`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ item: Commission }>(r)),\n },\n leads: {\n list: (params?: { purchased?: boolean; state?: string; type?: string }) => {\n const q = new URLSearchParams();\n if (params?.purchased !== undefined) q.set(\"purchased\", String(params.purchased));\n if (params?.state) q.set(\"state\", params.state);\n if (params?.type) q.set(\"type\", params.type);\n const qs = q.toString();\n return fetch(`${base}/api/leads${qs ? `?${qs}` : \"\"}`).then((r) =>\n json<{ items: Lead[] }>(r),\n );\n },\n buy: (id: string) =>\n fetch(`${base}/api/leads/${id}/buy`, { method: \"POST\" }).then((r) =>\n json<{ item: Lead }>(r),\n ),\n },\n dashboard: {\n get: <T = unknown>(range: DateRange = \"this-month\") =>\n fetch(`${base}/api/dashboard?range=${encodeURIComponent(range)}`).then((r) =>\n json<T>(r),\n ),\n },\n carriers: {\n list: () =>\n fetch(`${base}/api/carriers`).then((r) => json<{ items: Carrier[] }>(r)),\n },\n quotes: {\n create: (data: {\n customer: { name: string; age: number; state: string };\n carrier: string;\n coverage: { amount: number; term?: number };\n }) =>\n fetch(`${base}/api/quotes`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(data),\n }).then((r) => json<{ quote: Quote }>(r)),\n },\n };\n}\n\nexport type ApiClient = ReturnType<typeof createApiClient>;\n"],"mappings":";AAsCA,eAAe,KAAQ,KAA2B;AAChD,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,mBAAmB,IAAI,MAAM,EAAE;AAC5D,SAAQ,MAAM,IAAI,KAAK;AACzB;AAOO,SAAS,gBAAgB,WAAW,IAAI;AAC7C,QAAM,OAAO,SAAS,QAAQ,OAAO,EAAE;AAEvC,SAAO;AAAA,IACL,aAAa;AAAA,MACX,MAAM,MACJ,MAAM,GAAG,IAAI,kBAAkB,EAAE,KAAK,CAAC,MAAM,KAA8B,CAAC,CAAC;AAAA,MAC/E,QAAQ,CAAC,SACP,MAAM,GAAG,IAAI,oBAAoB;AAAA,QAC/B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,WAAoE;AACzE,cAAM,IAAI,IAAI,gBAAgB;AAC9B,YAAI,QAAQ,cAAc,OAAW,GAAE,IAAI,aAAa,OAAO,OAAO,SAAS,CAAC;AAChF,YAAI,QAAQ,MAAO,GAAE,IAAI,SAAS,OAAO,KAAK;AAC9C,YAAI,QAAQ,KAAM,GAAE,IAAI,QAAQ,OAAO,IAAI;AAC3C,cAAM,KAAK,EAAE,SAAS;AACtB,eAAO,MAAM,GAAG,IAAI,aAAa,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAAA,UAAK,CAAC,MAC3D,KAAwB,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,MACA,KAAK,CAAC,OACJ,MAAM,GAAG,IAAI,cAAc,EAAE,QAAQ,EAAE,QAAQ,OAAO,CAAC,EAAE;AAAA,QAAK,CAAC,MAC7D,KAAqB,CAAC;AAAA,MACxB;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,MACT,KAAK,CAAc,QAAmB,iBACpC,MAAM,GAAG,IAAI,wBAAwB,mBAAmB,KAAK,CAAC,EAAE,EAAE;AAAA,QAAK,CAAC,MACtE,KAAQ,CAAC;AAAA,MACX;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACR,MAAM,MACJ,MAAM,GAAG,IAAI,eAAe,EAAE,KAAK,CAAC,MAAM,KAA2B,CAAC,CAAC;AAAA,IAC3E;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,CAAC,SAKP,MAAM,GAAG,IAAI,eAAe;AAAA,QAC1B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC,EAAE,KAAK,CAAC,MAAM,KAAuB,CAAC,CAAC;AAAA,IAC5C;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@augmenting-integrations/api",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Typed fetch wrappers for app data. MSW intercepts in dev; real APIs in prod.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {