@chaibuilder/pages 0.1.0-beta.2 → 0.1.0-beta.21

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/dist/server.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r="https://api.chaibuilder.com",c=async(s,t)=>{try{const a=new Headers;a.append("x-chai-api-key",t);const e=new FormData;if(e.append("action",s.action),s.data){const n=s.data;typeof n=="string"?e.append("data",n):typeof n=="object"&&e.append("data",JSON.stringify(n))}const o={headers:a,method:"POST",body:e};return{data:await(await fetch(r+"/v1/api/chai",o)).json()}}catch(a){return{error:a}}},i="https://api.chaibuilder.com";class p{constructor(t){this.apiKey=t}async handle(t){return await c(t,this.apiKey)}async getPageId(t){const a=new FormData;return a.append("action","GET_PAGE_ID"),a.append("data",JSON.stringify({slug:t,draft:!1})),(await fetch(`${i}/v1/api/chai`,{method:"POST",body:a,headers:{"x-chai-api-key":this.apiKey}})).json()}async getPage(t){const a=new FormData;return a.append("action","GET_PAGE"),a.append("data",JSON.stringify({id:t,draft:!1})),(await fetch(`${i}/v1/api/chai`,{method:"POST",body:a,headers:{"x-chai-api-key":this.apiKey}})).json()}}exports.ChaiBuilderPages=p;
1
+ "use strict";var m=Object.defineProperty;var k=(n,a,e)=>a in n?m(n,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[a]=e;var l=(n,a,e)=>k(n,typeof a!="symbol"?a+"":a,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("lodash-es"),y="https://api.chaibuilder.com",p=async(n,a,e=y)=>{try{const i=new Headers;i.append("x-chai-api-key",a);const s={headers:i,method:"POST",body:JSON.stringify(n)},t=await fetch(e+"/v1/api/chai",s);if(t.ok)return await t.json();throw new Error("Failed to handle request: "+t.status+" : "+t.statusText)}catch(i){return{error:i.message}}},h={},c=(n,a)=>{h[n]={key:n,...a}},g=()=>Object.values(h),o=n=>h[n],S={ab:"Abkhazian",aa:"Afar",af:"Afrikaans",ak:"Akan",sq:"Albanian",am:"Amharic",ar:"Arabic",an:"Aragonese",hy:"Armenian",as:"Assamese",av:"Avaric",ae:"Avestan",ay:"Aymara",az:"Azerbaijani",bm:"Bambara",ba:"Bashkir",eu:"Basque",be:"Belarusian",bn:"Bengali",bh:"Bihari",bi:"Bislama",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",ny:"Chichewa",zh:"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cv:"Chuvash",kw:"Cornish",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",dv:"Maldivian",nl:"Dutch",dz:"Dzongkha",en:"English",eo:"Esperanto",et:"Estonian",ee:"Ewe",fo:"Faroese",fj:"Fijian",fi:"Finnish",fr:"French",ff:"Fula, Pular",gl:"Galician",gd:"Gaelic (Scottish)",gv:"Manx",ka:"Georgian",de:"German",el:"Greek",kl:"Kalaallisut",gn:"Guarani",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",he:"Hebrew",hz:"Herero",hi:"Hindi",ho:"Hiri Motu",hu:"Hungarian",is:"Icelandic",io:"Ido",ig:"Igbo",id:"Indonesian",ia:"Interlingua",ie:"Interlingue",iu:"Inuktitut",ik:"Inupiak",ga:"Irish",it:"Italian",ja:"Japanese",jv:"Javanese",kn:"Kannada",kr:"Kanuri",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ki:"Kikuyu",rw:"Kinyarwanda",rn:"Kirundi",ky:"Kyrgyz",kv:"Komi",kg:"Kongo",ko:"Korean",ku:"Kurdish",kj:"Kwanyama",lo:"Lao",la:"Latin",lv:"Latvian",li:"Limburgish",ln:"Lingala",lt:"Lithuanian",lu:"Luga-Katanga",lg:"Luganda, Ganda",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mh:"Marshallese",mo:"Moldavian",mn:"Mongolian",na:"Nauru",nv:"Navajo",ng:"Ndonga",nd:"Northern Ndebele",ne:"Nepali",no:"Norwegian",nb:"Norwegian bokmål",nn:"Norwegian nynorsk",ii:"Sichuan Yi",oc:"Occitan",oj:"Ojibwe",cu:"Old Church Slavonic",or:"Oriya",om:"Oromo",os:"Ossetian",pi:"Pāli",ps:"Pashto, Pushto",fa:"Persian (Farsi)",pl:"Polish",pt:"Portuguese",pa:"Punjabi (Eastern)",qu:"Quechua",rm:"Romansh",ro:"Romanian",ru:"Russian",se:"Sami",sm:"Samoan",sg:"Sango",sa:"Sanskrit",sr:"Serbian",sh:"Serbo-Croatian",st:"Sesotho",tn:"Setswana",sn:"Shona",sd:"Sindhi",si:"Sinhalese",ss:"Swati",sk:"Slovak",sl:"Slovenian",so:"Somali",nr:"Southern Ndebele",es:"Spanish",su:"Sundanese",sw:"Swahili (Kiswahili)",sv:"Swedish",tl:"Tagalog",ty:"Tahitian",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",bo:"Tibetan",ti:"Tigrinya",to:"Tonga",ts:"Tsonga",tr:"Turkish",tk:"Turkmen",tw:"Twi",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek",ve:"Venda",vi:"Vietnamese",vo:"Volapük",wa:"Wallon",cy:"Welsh",wo:"Wolof",fy:"Western Frisian",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",za:"Zhuang, Chuang",zu:"Zulu"},r="https://api.chaibuilder.com";class b{constructor(a,e=r){l(this,"currentLang","");this.apiKey=a,this.apiUrl=e,c("pages",{name:"Pages",search:async i=>(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"SEARCH_PAGES",data:{query:i}}),headers:{"x-chai-api-key":this.apiKey}})).json(),resolveLink:async(i,s)=>{const d=await(await fetch(`${this.apiUrl}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_LINK",data:{id:i,lang:s}}),headers:{"x-chai-api-key":this.apiKey}})).json();return u.get(d,"link","")}})}setCurrentLang(a){this.currentLang=a}getCurrentLang(){return this.currentLang}setLanguageFromSlug(a){const e=u.first(a||[""]),i=Object.keys(S);i.includes(e)||i.some(s=>e.startsWith(s))?this.setCurrentLang(e):this.setCurrentLang("")}async handle(a){if(a.action==="GET_COLLECTIONS")return g().map(e=>({key:e.key,name:e.name,urlIdentifier:e.urlIdentifier}));if(a.action==="SEARCH_COLLECTION_ITEMS"){const e=o(a.data.collection);return e?await(e==null?void 0:e.search(a.data.query)):{error:"Collection not found"}}return await p(a,this.apiKey,this.apiUrl)}async resolveLink(a,e,i=""){const s=o(a);return s?await(s==null?void 0:s.resolveLink(e,i??this.currentLang)):""}async getPageBySlug(a,e=!1){return(await fetch(`${r}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE_META",data:{slug:a,draft:e}}),headers:{"x-chai-api-key":this.apiKey}})).json()}async getFullPage(a,e=!1){return(await fetch(`${r}/v1/api/chai`,{method:"POST",body:JSON.stringify({action:"GET_PAGE",data:{id:a,draft:e,mergeGlobal:!0}}),headers:{"x-chai-api-key":this.apiKey}})).json()}}exports.ChaiBuilderPages=b;exports.getCollection=o;exports.getCollections=g;exports.registerCollection=c;
package/dist/server.d.ts CHANGED
@@ -1,9 +1,35 @@
1
1
  export declare class ChaiBuilderPages {
2
2
  private apiKey;
3
- constructor(apiKey: string);
3
+ private apiUrl;
4
+ private currentLang;
5
+ constructor(apiKey: string, apiUrl?: string);
6
+ setCurrentLang(lang: string): void;
7
+ getCurrentLang(): string;
8
+ setLanguageFromSlug(slug: string[]): void;
4
9
  handle(body: any): Promise<any>;
5
- getPageId(slug: string): Promise<any>;
6
- getPage(id: string): Promise<any>;
10
+ resolveLink(collectionKey: string, id: string, lang?: string): Promise<string>;
11
+ getPageBySlug(slug: string, draft?: boolean): Promise<any>;
12
+ getFullPage(id: string, draft?: boolean): Promise<any>;
7
13
  }
8
14
 
15
+ export declare type Collection = {
16
+ key: string;
17
+ name: string;
18
+ urlIdentifier?: string;
19
+ search: (query: string) => Promise<CollectionItem[] | Error>;
20
+ resolveLink: (id: string, lang?: string) => Promise<string>;
21
+ };
22
+
23
+ export declare type CollectionItem = {
24
+ id: string;
25
+ name: string;
26
+ slug?: string;
27
+ };
28
+
29
+ export declare const getCollection: (key: string) => Collection;
30
+
31
+ export declare const getCollections: () => Collection[];
32
+
33
+ export declare const registerCollection: (key: string, collection: Omit<Collection, "key">) => void;
34
+
9
35
  export { }
package/dist/server.js CHANGED
@@ -1,45 +1,289 @@
1
- const r = "https://api.chaibuilder.com", c = async (s, t) => {
1
+ var c = Object.defineProperty;
2
+ var g = (n, a, e) => a in n ? c(n, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[a] = e;
3
+ var h = (n, a, e) => g(n, typeof a != "symbol" ? a + "" : a, e);
4
+ import { get as d, first as m } from "lodash-es";
5
+ const k = "https://api.chaibuilder.com", p = async (n, a, e = k) => {
2
6
  try {
3
- const a = new Headers();
4
- a.append("x-chai-api-key", t);
5
- const e = new FormData();
6
- if (e.append("action", s.action), s.data) {
7
- const n = s.data;
8
- typeof n == "string" ? e.append("data", n) : typeof n == "object" && e.append("data", JSON.stringify(n));
7
+ const i = new Headers();
8
+ i.append("x-chai-api-key", a);
9
+ const s = {
10
+ headers: i,
11
+ method: "POST",
12
+ body: JSON.stringify(n)
13
+ }, r = await fetch(
14
+ e + "/v1/api/chai",
15
+ s
16
+ );
17
+ if (r.ok)
18
+ return await r.json();
19
+ throw new Error(
20
+ "Failed to handle request: " + r.status + " : " + r.statusText
21
+ );
22
+ } catch (i) {
23
+ return { error: i.message };
24
+ }
25
+ }, o = {}, y = (n, a) => {
26
+ o[n] = { key: n, ...a };
27
+ }, S = () => Object.values(o), u = (n) => o[n], b = {
28
+ ab: "Abkhazian",
29
+ aa: "Afar",
30
+ af: "Afrikaans",
31
+ ak: "Akan",
32
+ sq: "Albanian",
33
+ am: "Amharic",
34
+ ar: "Arabic",
35
+ an: "Aragonese",
36
+ hy: "Armenian",
37
+ as: "Assamese",
38
+ av: "Avaric",
39
+ ae: "Avestan",
40
+ ay: "Aymara",
41
+ az: "Azerbaijani",
42
+ bm: "Bambara",
43
+ ba: "Bashkir",
44
+ eu: "Basque",
45
+ be: "Belarusian",
46
+ bn: "Bengali",
47
+ bh: "Bihari",
48
+ bi: "Bislama",
49
+ bs: "Bosnian",
50
+ br: "Breton",
51
+ bg: "Bulgarian",
52
+ my: "Burmese",
53
+ ca: "Catalan",
54
+ ch: "Chamorro",
55
+ ce: "Chechen",
56
+ ny: "Chichewa",
57
+ zh: "Chinese",
58
+ "zh-Hans": "Chinese (Simplified)",
59
+ "zh-Hant": "Chinese (Traditional)",
60
+ cv: "Chuvash",
61
+ kw: "Cornish",
62
+ co: "Corsican",
63
+ cr: "Cree",
64
+ hr: "Croatian",
65
+ cs: "Czech",
66
+ da: "Danish",
67
+ dv: "Maldivian",
68
+ nl: "Dutch",
69
+ dz: "Dzongkha",
70
+ en: "English",
71
+ eo: "Esperanto",
72
+ et: "Estonian",
73
+ ee: "Ewe",
74
+ fo: "Faroese",
75
+ fj: "Fijian",
76
+ fi: "Finnish",
77
+ fr: "French",
78
+ ff: "Fula, Pular",
79
+ gl: "Galician",
80
+ gd: "Gaelic (Scottish)",
81
+ gv: "Manx",
82
+ ka: "Georgian",
83
+ de: "German",
84
+ el: "Greek",
85
+ kl: "Kalaallisut",
86
+ gn: "Guarani",
87
+ gu: "Gujarati",
88
+ ht: "Haitian Creole",
89
+ ha: "Hausa",
90
+ he: "Hebrew",
91
+ hz: "Herero",
92
+ hi: "Hindi",
93
+ ho: "Hiri Motu",
94
+ hu: "Hungarian",
95
+ is: "Icelandic",
96
+ io: "Ido",
97
+ ig: "Igbo",
98
+ id: "Indonesian",
99
+ ia: "Interlingua",
100
+ ie: "Interlingue",
101
+ iu: "Inuktitut",
102
+ ik: "Inupiak",
103
+ ga: "Irish",
104
+ it: "Italian",
105
+ ja: "Japanese",
106
+ jv: "Javanese",
107
+ kn: "Kannada",
108
+ kr: "Kanuri",
109
+ ks: "Kashmiri",
110
+ kk: "Kazakh",
111
+ km: "Khmer",
112
+ ki: "Kikuyu",
113
+ rw: "Kinyarwanda",
114
+ rn: "Kirundi",
115
+ ky: "Kyrgyz",
116
+ kv: "Komi",
117
+ kg: "Kongo",
118
+ ko: "Korean",
119
+ ku: "Kurdish",
120
+ kj: "Kwanyama",
121
+ lo: "Lao",
122
+ la: "Latin",
123
+ lv: "Latvian",
124
+ li: "Limburgish",
125
+ ln: "Lingala",
126
+ lt: "Lithuanian",
127
+ lu: "Luga-Katanga",
128
+ lg: "Luganda, Ganda",
129
+ lb: "Luxembourgish",
130
+ mk: "Macedonian",
131
+ mg: "Malagasy",
132
+ ms: "Malay",
133
+ ml: "Malayalam",
134
+ mt: "Maltese",
135
+ mi: "Maori",
136
+ mr: "Marathi",
137
+ mh: "Marshallese",
138
+ mo: "Moldavian",
139
+ mn: "Mongolian",
140
+ na: "Nauru",
141
+ nv: "Navajo",
142
+ ng: "Ndonga",
143
+ nd: "Northern Ndebele",
144
+ ne: "Nepali",
145
+ no: "Norwegian",
146
+ nb: "Norwegian bokmål",
147
+ nn: "Norwegian nynorsk",
148
+ ii: "Sichuan Yi",
149
+ oc: "Occitan",
150
+ oj: "Ojibwe",
151
+ cu: "Old Church Slavonic",
152
+ or: "Oriya",
153
+ om: "Oromo",
154
+ os: "Ossetian",
155
+ pi: "Pāli",
156
+ ps: "Pashto, Pushto",
157
+ fa: "Persian (Farsi)",
158
+ pl: "Polish",
159
+ pt: "Portuguese",
160
+ pa: "Punjabi (Eastern)",
161
+ qu: "Quechua",
162
+ rm: "Romansh",
163
+ ro: "Romanian",
164
+ ru: "Russian",
165
+ se: "Sami",
166
+ sm: "Samoan",
167
+ sg: "Sango",
168
+ sa: "Sanskrit",
169
+ sr: "Serbian",
170
+ sh: "Serbo-Croatian",
171
+ st: "Sesotho",
172
+ tn: "Setswana",
173
+ sn: "Shona",
174
+ sd: "Sindhi",
175
+ si: "Sinhalese",
176
+ ss: "Swati",
177
+ sk: "Slovak",
178
+ sl: "Slovenian",
179
+ so: "Somali",
180
+ nr: "Southern Ndebele",
181
+ es: "Spanish",
182
+ su: "Sundanese",
183
+ sw: "Swahili (Kiswahili)",
184
+ sv: "Swedish",
185
+ tl: "Tagalog",
186
+ ty: "Tahitian",
187
+ tg: "Tajik",
188
+ ta: "Tamil",
189
+ tt: "Tatar",
190
+ te: "Telugu",
191
+ th: "Thai",
192
+ bo: "Tibetan",
193
+ ti: "Tigrinya",
194
+ to: "Tonga",
195
+ ts: "Tsonga",
196
+ tr: "Turkish",
197
+ tk: "Turkmen",
198
+ tw: "Twi",
199
+ ug: "Uyghur",
200
+ uk: "Ukrainian",
201
+ ur: "Urdu",
202
+ uz: "Uzbek",
203
+ ve: "Venda",
204
+ vi: "Vietnamese",
205
+ vo: "Volapük",
206
+ wa: "Wallon",
207
+ cy: "Welsh",
208
+ wo: "Wolof",
209
+ fy: "Western Frisian",
210
+ xh: "Xhosa",
211
+ yi: "Yiddish",
212
+ yo: "Yoruba",
213
+ za: "Zhuang, Chuang",
214
+ zu: "Zulu"
215
+ }, t = "https://api.chaibuilder.com";
216
+ class C {
217
+ constructor(a, e = t) {
218
+ h(this, "currentLang", "");
219
+ this.apiKey = a, this.apiUrl = e, y("pages", {
220
+ name: "Pages",
221
+ search: async (i) => (await fetch(`${this.apiUrl}/v1/api/chai`, {
222
+ method: "POST",
223
+ body: JSON.stringify({ action: "SEARCH_PAGES", data: { query: i } }),
224
+ headers: { "x-chai-api-key": this.apiKey }
225
+ })).json(),
226
+ resolveLink: async (i, s) => {
227
+ const l = await (await fetch(`${this.apiUrl}/v1/api/chai`, {
228
+ method: "POST",
229
+ body: JSON.stringify({ action: "GET_LINK", data: { id: i, lang: s } }),
230
+ headers: { "x-chai-api-key": this.apiKey }
231
+ })).json();
232
+ return d(l, "link", "");
233
+ }
234
+ });
235
+ }
236
+ setCurrentLang(a) {
237
+ this.currentLang = a;
238
+ }
239
+ getCurrentLang() {
240
+ return this.currentLang;
241
+ }
242
+ setLanguageFromSlug(a) {
243
+ const e = m(a || [""]), i = Object.keys(b);
244
+ i.includes(e) || i.some((s) => e.startsWith(s)) ? this.setCurrentLang(e) : this.setCurrentLang("");
245
+ }
246
+ async handle(a) {
247
+ if (a.action === "GET_COLLECTIONS")
248
+ return S().map((e) => ({
249
+ key: e.key,
250
+ name: e.name,
251
+ urlIdentifier: e.urlIdentifier
252
+ }));
253
+ if (a.action === "SEARCH_COLLECTION_ITEMS") {
254
+ const e = u(a.data.collection);
255
+ return e ? await (e == null ? void 0 : e.search(a.data.query)) : { error: "Collection not found" };
9
256
  }
10
- const o = { headers: a, method: "POST", body: e };
11
- return { data: await (await fetch(
12
- r + "/v1/api/chai",
13
- o
14
- )).json() };
15
- } catch (a) {
16
- return { error: a };
17
- }
18
- }, i = "https://api.chaibuilder.com";
19
- class h {
20
- constructor(t) {
21
- this.apiKey = t;
22
- }
23
- async handle(t) {
24
- return await c(t, this.apiKey);
25
- }
26
- async getPageId(t) {
27
- const a = new FormData();
28
- return a.append("action", "GET_PAGE_ID"), a.append("data", JSON.stringify({ slug: t, draft: !1 })), (await fetch(`${i}/v1/api/chai`, {
257
+ return await p(a, this.apiKey, this.apiUrl);
258
+ }
259
+ async resolveLink(a, e, i = "") {
260
+ const s = u(a);
261
+ return s ? await (s == null ? void 0 : s.resolveLink(e, i ?? this.currentLang)) : "";
262
+ }
263
+ async getPageBySlug(a, e = !1) {
264
+ return (await fetch(`${t}/v1/api/chai`, {
29
265
  method: "POST",
30
- body: a,
266
+ body: JSON.stringify({
267
+ action: "GET_PAGE_META",
268
+ data: { slug: a, draft: e }
269
+ }),
31
270
  headers: { "x-chai-api-key": this.apiKey }
32
271
  })).json();
33
272
  }
34
- async getPage(t) {
35
- const a = new FormData();
36
- return a.append("action", "GET_PAGE"), a.append("data", JSON.stringify({ id: t, draft: !1 })), (await fetch(`${i}/v1/api/chai`, {
273
+ async getFullPage(a, e = !1) {
274
+ return (await fetch(`${t}/v1/api/chai`, {
37
275
  method: "POST",
38
- body: a,
276
+ body: JSON.stringify({
277
+ action: "GET_PAGE",
278
+ data: { id: a, draft: e, mergeGlobal: !0 }
279
+ }),
39
280
  headers: { "x-chai-api-key": this.apiKey }
40
281
  })).json();
41
282
  }
42
283
  }
43
284
  export {
44
- h as ChaiBuilderPages
285
+ C as ChaiBuilderPages,
286
+ u as getCollection,
287
+ S as getCollections,
288
+ y as registerCollection
45
289
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "Suraj Air",
4
4
  "license": "Private",
5
5
  "homepage": "https://chaibuilder.com",
6
- "version": "0.1.0-beta.2",
6
+ "version": "0.1.0-beta.21",
7
7
  "type": "module",
8
8
  "files": [
9
9
  "dist"
@@ -61,7 +61,7 @@
61
61
  "@ai-sdk/openai": "^0.0.66",
62
62
  "@chaibuilder/ai": "^0.1.2",
63
63
  "@chaibuilder/runtime": "0.2.12",
64
- "@chaibuilder/sdk": "^1.2.110",
64
+ "@chaibuilder/sdk": "^1.2.115",
65
65
  "@mhsdesign/jit-browser-tailwindcss": "^0.4.1",
66
66
  "@supabase/supabase-js": "^2.45.6",
67
67
  "@tailwindcss/aspect-ratio": "^0.4.2",