@gram-ai/elements 1.27.0 → 1.27.1
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/bun.cjs +1 -1
- package/dist/server/bun.cjs.map +1 -1
- package/dist/server/bun.js +1 -1
- package/dist/server/core.cjs +2 -0
- package/dist/server/core.cjs.map +1 -0
- package/dist/{core-Cqad6-xW.js → server/core.js} +5 -5
- package/dist/server/core.js.map +1 -0
- package/dist/server/express.cjs +1 -1
- package/dist/server/express.cjs.map +1 -1
- package/dist/server/express.js +1 -1
- package/dist/server/fastify.cjs +1 -1
- package/dist/server/fastify.cjs.map +1 -1
- package/dist/server/fastify.js +6 -6
- package/dist/server/hono.cjs +1 -1
- package/dist/server/hono.cjs.map +1 -1
- package/dist/server/hono.js +3 -3
- package/dist/server/nextjs.cjs +1 -1
- package/dist/server/nextjs.cjs.map +1 -1
- package/dist/server/nextjs.js +1 -1
- package/dist/server/tanstack-start.cjs +1 -1
- package/dist/server/tanstack-start.cjs.map +1 -1
- package/dist/server/tanstack-start.d.ts +0 -14
- package/dist/server/tanstack-start.js +11 -24
- package/dist/server/tanstack-start.js.map +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +1 -1
- package/package.json +6 -1
- package/src/server/tanstack-start.ts +14 -47
- package/dist/core-Cqad6-xW.js.map +0 -1
- package/dist/core-DBxmxwCi.cjs +0 -2
- package/dist/core-DBxmxwCi.cjs.map +0 -1
package/dist/server/bun.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./core.cjs");function o(e){return async r=>{const s=r.headers.get("gram-project");if(!s)return new Response(JSON.stringify({error:"Missing Gram-Project header"}),{status:400,headers:{"Content-Type":"application/json"}});const n=typeof e=="function"?await e(r):e,t=await a.createChatSession({projectSlug:s,options:n});return new Response(t.body,{status:t.status,headers:t.headers})}}exports.createBunHandler=o;
|
|
2
2
|
//# sourceMappingURL=bun.cjs.map
|
package/dist/server/bun.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.cjs","sources":["../../src/server/bun.ts"],"sourcesContent":null,"names":["createBunHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":"
|
|
1
|
+
{"version":3,"file":"bun.cjs","sources":["../../src/server/bun.ts"],"sourcesContent":null,"names":["createBunHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":"8GA6BO,SAASA,EACdC,EAKA,CACA,MAAO,OAAOC,GAAqB,CACjC,MAAMC,EAAcD,EAAQ,QAAQ,IAAI,cAAc,EAEtD,GAAI,CAACC,EACH,OAAO,IAAI,SACT,KAAK,UAAU,CAAE,MAAO,8BAA+B,EACvD,CACE,OAAQ,IACR,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAChD,EAIJ,MAAMC,EACJ,OAAOH,GAAY,WAAa,MAAMA,EAAQC,CAAO,EAAID,EAErDI,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAED,OAAO,IAAI,SAASC,EAAO,KAAM,CAC/B,OAAQA,EAAO,OACf,QAASA,EAAO,OAAA,CACjB,CACH,CACF"}
|
package/dist/server/bun.js
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});async function s(t){const r=process.env.GRAM_API_URL??"https://app.getgram.ai";try{const e=await fetch(r+"/rpc/chatSessions.create",{method:"POST",body:JSON.stringify({embed_origin:t.options.embedOrigin,user_identifier:t.options.userIdentifier,expires_after:t.options.expiresAfter}),headers:{"Content-Type":"application/json","Gram-Project":t.projectSlug,"Gram-Key":t.options.apiKey??process.env.GRAM_API_KEY??""}}),o=await e.text();return{status:e.status,body:o,headers:{"Content-Type":"application/json"}}}catch(e){const o=e instanceof Error?e.message:"Unknown error";return console.error("Failed to create chat session:",e),{status:500,body:JSON.stringify({error:"Failed to create chat session: "+o}),headers:{"Content-Type":"application/json"}}}}exports.createChatSession=s;
|
|
2
|
+
//# sourceMappingURL=core.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.cjs","sources":["../../src/server/core.ts"],"sourcesContent":null,"names":["createChatSession","request","base","response","body","error","errorMessage"],"mappings":"gFA2CA,eAAsBA,EACpBC,EACgC,CAChC,MAAMC,EAAO,QAAQ,IAAI,cAAgB,yBAEzC,GAAI,CACF,MAAMC,EAAW,MAAM,MAAMD,EAAO,2BAA4B,CAC9D,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,aAAcD,EAAQ,QAAQ,YAC9B,gBAAiBA,EAAQ,QAAQ,eACjC,cAAeA,EAAQ,QAAQ,YAAA,CAChC,EACD,QAAS,CACP,eAAgB,mBAChB,eAAgBA,EAAQ,YACxB,WAAYA,EAAQ,QAAQ,QAAU,QAAQ,IAAI,cAAgB,EAAA,CACpE,CACD,EAEKG,EAAO,MAAMD,EAAS,KAAA,EAE5B,MAAO,CACL,OAAQA,EAAS,OACjB,KAAAC,EACA,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAElD,OAASC,EAAO,CACd,MAAMC,EACJD,aAAiB,MAAQA,EAAM,QAAU,gBAC3C,eAAQ,MAAM,iCAAkCA,CAAK,EAE9C,CACL,OAAQ,IACR,KAAM,KAAK,UAAU,CACnB,MAAO,kCAAoCC,CAAA,CAC5C,EACD,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAElD,CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
async function
|
|
2
|
-
const
|
|
1
|
+
async function s(t) {
|
|
2
|
+
const r = process.env.GRAM_API_URL ?? "https://app.getgram.ai";
|
|
3
3
|
try {
|
|
4
|
-
const e = await fetch(
|
|
4
|
+
const e = await fetch(r + "/rpc/chatSessions.create", {
|
|
5
5
|
method: "POST",
|
|
6
6
|
body: JSON.stringify({
|
|
7
7
|
embed_origin: t.options.embedOrigin,
|
|
@@ -31,6 +31,6 @@ async function r(t) {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
export {
|
|
34
|
-
|
|
34
|
+
s as createChatSession
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=core
|
|
36
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sources":["../../src/server/core.ts"],"sourcesContent":null,"names":["createChatSession","request","base","response","body","error","errorMessage"],"mappings":"AA2CA,eAAsBA,EACpBC,GACgC;AAChC,QAAMC,IAAO,QAAQ,IAAI,gBAAgB;AAEzC,MAAI;AACF,UAAMC,IAAW,MAAM,MAAMD,IAAO,4BAA4B;AAAA,MAC9D,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB,cAAcD,EAAQ,QAAQ;AAAA,QAC9B,iBAAiBA,EAAQ,QAAQ;AAAA,QACjC,eAAeA,EAAQ,QAAQ;AAAA,MAAA,CAChC;AAAA,MACD,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,gBAAgBA,EAAQ;AAAA,QACxB,YAAYA,EAAQ,QAAQ,UAAU,QAAQ,IAAI,gBAAgB;AAAA,MAAA;AAAA,IACpE,CACD,GAEKG,IAAO,MAAMD,EAAS,KAAA;AAE5B,WAAO;AAAA,MACL,QAAQA,EAAS;AAAA,MACjB,MAAAC;AAAA,MACA,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAElD,SAASC,GAAO;AACd,UAAMC,IACJD,aAAiB,QAAQA,EAAM,UAAU;AAC3C,mBAAQ,MAAM,kCAAkCA,CAAK,GAE9C;AAAA,MACL,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB,OAAO,oCAAoCC;AAAA,MAAA,CAC5C;AAAA,MACD,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAElD;AACF;"}
|
package/dist/server/express.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./core.cjs");function u(t){return async(e,r)=>{const a=Array.isArray(e.headers["gram-project"])?e.headers["gram-project"][0]:e.headers["gram-project"];if(!a){r.status(400).json({error:"Missing Gram-Project header"});return}const o=typeof t=="function"?await t(e):t,s=await i.createChatSession({projectSlug:a,options:o});r.status(s.status),Object.entries(s.headers).forEach(([n,c])=>{r.setHeader(n,c)}),r.send(s.body)}}exports.createExpressHandler=u;
|
|
2
2
|
//# sourceMappingURL=express.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.cjs","sources":["../../src/server/express.ts"],"sourcesContent":null,"names":["createExpressHandler","options","req","res","projectSlug","sessionOptions","result","createChatSession","key","value"],"mappings":"
|
|
1
|
+
{"version":3,"file":"express.cjs","sources":["../../src/server/express.ts"],"sourcesContent":null,"names":["createExpressHandler","options","req","res","projectSlug","sessionOptions","result","createChatSession","key","value"],"mappings":"8GA8BO,SAASA,EACdC,EAGA,CACA,MAAO,OAAOC,EAAcC,IAAkB,CAC5C,MAAMC,EAAc,MAAM,QAAQF,EAAI,QAAQ,cAAc,CAAC,EACzDA,EAAI,QAAQ,cAAc,EAAE,CAAC,EAC7BA,EAAI,QAAQ,cAAc,EAE9B,GAAI,CAACE,EAAa,CAChBD,EAAI,OAAO,GAAG,EAAE,KAAK,CAAE,MAAO,8BAA+B,EAC7D,MACF,CAEA,MAAME,EACJ,OAAOJ,GAAY,WAAa,MAAMA,EAAQC,CAAG,EAAID,EAEjDK,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAEDF,EAAI,OAAOG,EAAO,MAAM,EACxB,OAAO,QAAQA,EAAO,OAAO,EAAE,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CACvDN,EAAI,UAAUK,EAAKC,CAAK,CAC1B,CAAC,EACDN,EAAI,KAAKG,EAAO,IAAI,CACtB,CACF"}
|
package/dist/server/express.js
CHANGED
package/dist/server/fastify.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./core.cjs");function c(r){return async(e,t)=>{const s=Array.isArray(e.headers["gram-project"])?e.headers["gram-project"][0]:e.headers["gram-project"];if(!s){t.code(400).send({error:"Missing Gram-Project header"});return}const o=typeof r=="function"?await r(e):r,a=await n.createChatSession({projectSlug:s,options:o});t.code(a.status).headers(a.headers).type("application/json").send(a.body)}}exports.createFastifyHandler=c;
|
|
2
2
|
//# sourceMappingURL=fastify.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.cjs","sources":["../../src/server/fastify.ts"],"sourcesContent":null,"names":["createFastifyHandler","options","request","reply","projectSlug","sessionOptions","result","createChatSession"],"mappings":"
|
|
1
|
+
{"version":3,"file":"fastify.cjs","sources":["../../src/server/fastify.ts"],"sourcesContent":null,"names":["createFastifyHandler","options","request","reply","projectSlug","sessionOptions","result","createChatSession"],"mappings":"8GA6BO,SAASA,EACdC,EAKA,CACA,MAAO,OAAOC,EAAyBC,IAAwB,CAC7D,MAAMC,EAAc,MAAM,QAAQF,EAAQ,QAAQ,cAAc,CAAC,EAC7DA,EAAQ,QAAQ,cAAc,EAAE,CAAC,EACjCA,EAAQ,QAAQ,cAAc,EAElC,GAAI,CAACE,EAAa,CAChBD,EAAM,KAAK,GAAG,EAAE,KAAK,CAAE,MAAO,8BAA+B,EAC7D,MACF,CAEA,MAAME,EACJ,OAAOJ,GAAY,WAAa,MAAMA,EAAQC,CAAO,EAAID,EAErDK,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAEDF,EACG,KAAKG,EAAO,MAAM,EAClB,QAAQA,EAAO,OAAO,EACtB,KAAK,kBAAkB,EACvB,KAAKA,EAAO,IAAI,CACrB,CACF"}
|
package/dist/server/fastify.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createChatSession as n } from "./core.js";
|
|
2
2
|
function i(e) {
|
|
3
3
|
return async (r, t) => {
|
|
4
|
-
const
|
|
5
|
-
if (!
|
|
4
|
+
const o = Array.isArray(r.headers["gram-project"]) ? r.headers["gram-project"][0] : r.headers["gram-project"];
|
|
5
|
+
if (!o) {
|
|
6
6
|
t.code(400).send({ error: "Missing Gram-Project header" });
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
-
const
|
|
10
|
-
projectSlug:
|
|
11
|
-
options:
|
|
9
|
+
const s = typeof e == "function" ? await e(r) : e, a = await n({
|
|
10
|
+
projectSlug: o,
|
|
11
|
+
options: s
|
|
12
12
|
});
|
|
13
13
|
t.code(a.status).headers(a.headers).type("application/json").send(a.body);
|
|
14
14
|
};
|
package/dist/server/hono.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./core.cjs");function a(e){return async r=>{const s=r.req.header("gram-project");if(!s)return r.json({error:"Missing Gram-Project header"},400);const n=typeof e=="function"?await e(r):e,t=await o.createChatSession({projectSlug:s,options:n});return new Response(t.body,{status:t.status,headers:t.headers})}}exports.createHonoHandler=a;
|
|
2
2
|
//# sourceMappingURL=hono.cjs.map
|
package/dist/server/hono.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.cjs","sources":["../../src/server/hono.ts"],"sourcesContent":null,"names":["createHonoHandler","options","c","projectSlug","sessionOptions","result","createChatSession"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hono.cjs","sources":["../../src/server/hono.ts"],"sourcesContent":null,"names":["createHonoHandler","options","c","projectSlug","sessionOptions","result","createChatSession"],"mappings":"8GA6BO,SAASA,EACdC,EAGA,CACA,MAAO,OAAOC,GAAe,CAC3B,MAAMC,EAAcD,EAAE,IAAI,OAAO,cAAc,EAE/C,GAAI,CAACC,EACH,OAAOD,EAAE,KAAK,CAAE,MAAO,6BAAA,EAAiC,GAAG,EAG7D,MAAME,EACJ,OAAOH,GAAY,WAAa,MAAMA,EAAQC,CAAC,EAAID,EAE/CI,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAED,OAAO,IAAI,SAASC,EAAO,KAAM,CAC/B,OAAQA,EAAO,OACf,QAASA,EAAO,OAAA,CACjB,CACH,CACF"}
|
package/dist/server/hono.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function
|
|
1
|
+
import { createChatSession as o } from "./core.js";
|
|
2
|
+
function i(e) {
|
|
3
3
|
return async (r) => {
|
|
4
4
|
const s = r.req.header("gram-project");
|
|
5
5
|
if (!s)
|
|
@@ -15,6 +15,6 @@ function c(e) {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
export {
|
|
18
|
-
|
|
18
|
+
i as createHonoHandler
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=hono.js.map
|
package/dist/server/nextjs.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./core.cjs");function o(e){return async r=>{const s=r.headers.get("gram-project");if(!s)return new Response(JSON.stringify({error:"Missing Gram-Project header"}),{status:400,headers:{"Content-Type":"application/json"}});const n=typeof e=="function"?await e(r):e,t=await a.createChatSession({projectSlug:s,options:n});return new Response(t.body,{status:t.status,headers:t.headers})}}exports.createNextHandler=o;
|
|
2
2
|
//# sourceMappingURL=nextjs.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.cjs","sources":["../../src/server/nextjs.ts"],"sourcesContent":null,"names":["createNextHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":"
|
|
1
|
+
{"version":3,"file":"nextjs.cjs","sources":["../../src/server/nextjs.ts"],"sourcesContent":null,"names":["createNextHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":"8GAwBO,SAASA,EACdC,EAKA,CACA,MAAO,OAAOC,GAAqB,CACjC,MAAMC,EAAcD,EAAQ,QAAQ,IAAI,cAAc,EAEtD,GAAI,CAACC,EACH,OAAO,IAAI,SACT,KAAK,UAAU,CAAE,MAAO,8BAA+B,EACvD,CACE,OAAQ,IACR,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAChD,EAIJ,MAAMC,EACJ,OAAOH,GAAY,WAAa,MAAMA,EAAQC,CAAO,EAAID,EAErDI,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAED,OAAO,IAAI,SAASC,EAAO,KAAM,CAC/B,OAAQA,EAAO,OACf,QAASA,EAAO,OAAA,CACjB,CACH,CACF"}
|
package/dist/server/nextjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./core.cjs");function o(e){return async r=>{const a=r.headers.get("gram-project");if(!a)return new Response(JSON.stringify({error:"Missing Gram-Project header"}),{status:400,headers:{"Content-Type":"application/json"}});const s=typeof e=="function"?await e(r):e,t=await n.createChatSession({projectSlug:a,options:s});return new Response(t.body,{status:t.status,headers:t.headers})}}exports.createTanStackStartHandler=o;
|
|
2
2
|
//# sourceMappingURL=tanstack-start.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-start.cjs","sources":["../../src/server/tanstack-start.ts"],"sourcesContent":null,"names":["
|
|
1
|
+
{"version":3,"file":"tanstack-start.cjs","sources":["../../src/server/tanstack-start.ts"],"sourcesContent":null,"names":["createTanStackStartHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":"8GA2CO,SAASA,EACdC,EAKA,CACA,MAAO,OAAOC,GAAqB,CACjC,MAAMC,EAAcD,EAAQ,QAAQ,IAAI,cAAc,EAEtD,GAAI,CAACC,EACH,OAAO,IAAI,SACT,KAAK,UAAU,CAAE,MAAO,8BAA+B,EACvD,CACE,OAAQ,IACR,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAChD,EAIJ,MAAMC,EACJ,OAAOH,GAAY,WAAa,MAAMA,EAAQC,CAAO,EAAID,EAErDI,EAAS,MAAMC,oBAAkB,CACrC,YAAAH,EACA,QAASC,CAAA,CACV,EAED,OAAO,IAAI,SAASC,EAAO,KAAM,CAC/B,OAAQA,EAAO,OACf,QAASA,EAAO,OAAA,CACjB,CACH,CACF"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
import { SessionHandlerOptions } from './core';
|
|
2
|
-
/**
|
|
3
|
-
* Create a TanStack Start server function for session creation.
|
|
4
|
-
*
|
|
5
|
-
* The returned function can be called from client code (RPC-style) and passed
|
|
6
|
-
* to `session` in the Gram Elements config.
|
|
7
|
-
*
|
|
8
|
-
* @param options - Session configuration options
|
|
9
|
-
* @returns A `createServerFn` instance callable from the client
|
|
10
|
-
*/
|
|
11
|
-
export declare function createTanStackStartSessionFn(options: SessionHandlerOptions): import('@tanstack/react-start').RequiredFetcher<undefined, (data: {
|
|
12
|
-
projectSlug: string;
|
|
13
|
-
}) => {
|
|
14
|
-
projectSlug: string;
|
|
15
|
-
}, Promise<string>>;
|
|
16
2
|
/**
|
|
17
3
|
* Create a TanStack Start server route handler for the chat session endpoint.
|
|
18
4
|
*
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
projectSlug: t.projectSlug,
|
|
7
|
-
options: r
|
|
8
|
-
});
|
|
9
|
-
if (e.status !== 200)
|
|
10
|
-
throw new Error(`Failed to create chat session: ${e.body}`);
|
|
11
|
-
return JSON.parse(e.body).client_token;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
function u(r) {
|
|
15
|
-
return async (t) => {
|
|
16
|
-
const e = t.headers.get("gram-project");
|
|
17
|
-
if (!e)
|
|
1
|
+
import { createChatSession as a } from "./core.js";
|
|
2
|
+
function i(e) {
|
|
3
|
+
return async (r) => {
|
|
4
|
+
const s = r.headers.get("gram-project");
|
|
5
|
+
if (!s)
|
|
18
6
|
return new Response(
|
|
19
7
|
JSON.stringify({ error: "Missing Gram-Project header" }),
|
|
20
8
|
{
|
|
@@ -22,18 +10,17 @@ function u(r) {
|
|
|
22
10
|
headers: { "Content-Type": "application/json" }
|
|
23
11
|
}
|
|
24
12
|
);
|
|
25
|
-
const n = typeof
|
|
26
|
-
projectSlug:
|
|
13
|
+
const n = typeof e == "function" ? await e(r) : e, t = await a({
|
|
14
|
+
projectSlug: s,
|
|
27
15
|
options: n
|
|
28
16
|
});
|
|
29
|
-
return new Response(
|
|
30
|
-
status:
|
|
31
|
-
headers:
|
|
17
|
+
return new Response(t.body, {
|
|
18
|
+
status: t.status,
|
|
19
|
+
headers: t.headers
|
|
32
20
|
});
|
|
33
21
|
};
|
|
34
22
|
}
|
|
35
23
|
export {
|
|
36
|
-
|
|
37
|
-
p as createTanStackStartSessionFn
|
|
24
|
+
i as createTanStackStartHandler
|
|
38
25
|
};
|
|
39
26
|
//# sourceMappingURL=tanstack-start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-start.js","sources":["../../src/server/tanstack-start.ts"],"sourcesContent":null,"names":["
|
|
1
|
+
{"version":3,"file":"tanstack-start.js","sources":["../../src/server/tanstack-start.ts"],"sourcesContent":null,"names":["createTanStackStartHandler","options","request","projectSlug","sessionOptions","result","createChatSession"],"mappings":";AA2CO,SAASA,EACdC,GAKA;AACA,SAAO,OAAOC,MAAqB;AACjC,UAAMC,IAAcD,EAAQ,QAAQ,IAAI,cAAc;AAEtD,QAAI,CAACC;AACH,aAAO,IAAI;AAAA,QACT,KAAK,UAAU,EAAE,OAAO,+BAA+B;AAAA,QACvD;AAAA,UACE,QAAQ;AAAA,UACR,SAAS,EAAE,gBAAgB,mBAAA;AAAA,QAAmB;AAAA,MAChD;AAIJ,UAAMC,IACJ,OAAOH,KAAY,aAAa,MAAMA,EAAQC,CAAO,IAAID,GAErDI,IAAS,MAAMC,EAAkB;AAAA,MACrC,aAAAH;AAAA,MACA,SAASC;AAAA,IAAA,CACV;AAED,WAAO,IAAI,SAASC,EAAO,MAAM;AAAA,MAC/B,QAAQA,EAAO;AAAA,MACf,SAASA,EAAO;AAAA,IAAA,CACjB;AAAA,EACH;AACF;"}
|
package/dist/server.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./server/core.cjs"),a=()=>({session:i}),i=async(r,e,o)=>{if(r.method!=="POST"){e.writeHead(405,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"Method not allowed"}));return}const t=Array.isArray(r.headers["gram-project"])?r.headers["gram-project"][0]:r.headers["gram-project"];if(!t||typeof t!="string"){e.writeHead(400,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"Missing Gram-Project header"}));return}if(!o){e.writeHead(400,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"Missing session options"}));return}const n=await s.createChatSession({projectSlug:t,options:o});e.writeHead(n.status,n.headers),e.end(n.body)};exports.createElementsServerHandlers=a;
|
|
2
2
|
//# sourceMappingURL=server.cjs.map
|
package/dist/server.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.cjs","sources":["../src/server.ts"],"sourcesContent":null,"names":["createElementsServerHandlers","sessionHandler","req","res","options","projectSlug","result","createChatSession"],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.cjs","sources":["../src/server.ts"],"sourcesContent":null,"names":["createElementsServerHandlers","sessionHandler","req","res","options","projectSlug","result","createChatSession"],"mappings":"qHAkCaA,EAA+B,KACnC,CACL,QAASC,CAAA,GAMPA,EAAuD,MAC3DC,EACAC,EACAC,IACG,CACH,GAAIF,EAAI,SAAW,OAAQ,CACzBC,EAAI,UAAU,IAAK,CAAE,eAAgB,mBAAoB,EACzDA,EAAI,IAAI,KAAK,UAAU,CAAE,MAAO,oBAAA,CAAsB,CAAC,EACvD,MACF,CAEA,MAAME,EAAc,MAAM,QAAQH,EAAI,QAAQ,cAAc,CAAC,EACzDA,EAAI,QAAQ,cAAc,EAAE,CAAC,EAC7BA,EAAI,QAAQ,cAAc,EAE9B,GAAI,CAACG,GAAe,OAAOA,GAAgB,SAAU,CACnDF,EAAI,UAAU,IAAK,CAAE,eAAgB,mBAAoB,EACzDA,EAAI,IAAI,KAAK,UAAU,CAAE,MAAO,6BAAA,CAA+B,CAAC,EAChE,MACF,CAEA,GAAI,CAACC,EAAS,CACZD,EAAI,UAAU,IAAK,CAAE,eAAgB,mBAAoB,EACzDA,EAAI,IAAI,KAAK,UAAU,CAAE,MAAO,yBAAA,CAA2B,CAAC,EAC5D,MACF,CAEA,MAAMG,EAAS,MAAMC,oBAAkB,CACrC,YAAAF,EACA,QAAAD,CAAA,CACD,EAEDD,EAAI,UAAUG,EAAO,OAAQA,EAAO,OAAO,EAC3CH,EAAI,IAAIG,EAAO,IAAI,CACrB"}
|
package/dist/server.js
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@gram-ai/elements",
|
|
3
3
|
"description": "Gram Elements is a library of UI primitives for building chat-like experiences for MCP Servers.",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.27.
|
|
5
|
+
"version": "1.27.1",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
"import": "./dist/server.js",
|
|
16
16
|
"require": "./dist/server.cjs"
|
|
17
17
|
},
|
|
18
|
+
"./server/core": {
|
|
19
|
+
"types": "./dist/server/core.d.ts",
|
|
20
|
+
"import": "./dist/server/core.js",
|
|
21
|
+
"require": "./dist/server/core.cjs"
|
|
22
|
+
},
|
|
18
23
|
"./server/express": {
|
|
19
24
|
"types": "./dist/server/express.d.ts",
|
|
20
25
|
"import": "./dist/server/express.js",
|
|
@@ -1,70 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* TanStack Start adapter for Gram Elements server handlers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Use `createTanStackStartHandler` to create a handler for TanStack Start
|
|
5
|
+
* server routes that manages chat session creation.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
* a `createServerFn` that can be called directly from client code and passed
|
|
8
|
-
* to `session` in the Elements config.
|
|
9
|
-
*
|
|
10
|
-
* 2. **API Route** — use `createTanStackStartHandler` to create a handler for
|
|
11
|
-
* TanStack Start server routes (similar to the Next.js adapter).
|
|
12
|
-
*
|
|
13
|
-
* @example Server Function approach
|
|
7
|
+
* @example
|
|
14
8
|
* ```typescript
|
|
15
|
-
* // session.
|
|
16
|
-
* import {
|
|
9
|
+
* // routes/api/chat.session.ts
|
|
10
|
+
* import { createTanStackStartHandler } from '@gram-ai/elements/server/tanstack-start'
|
|
17
11
|
*
|
|
18
|
-
* export const
|
|
12
|
+
* export const POST = createTanStackStartHandler({
|
|
19
13
|
* embedOrigin: 'http://localhost:3000',
|
|
20
14
|
* userIdentifier: 'user-123',
|
|
21
15
|
* expiresAfter: 3600,
|
|
22
16
|
* })
|
|
23
17
|
* ```
|
|
24
18
|
*
|
|
25
|
-
* @example
|
|
19
|
+
* @example Dynamic configuration
|
|
26
20
|
* ```typescript
|
|
27
21
|
* // routes/api/chat.session.ts
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
22
|
+
* export const POST = createTanStackStartHandler(async (request) => {
|
|
23
|
+
* const user = await getUserFromRequest(request)
|
|
24
|
+
* return {
|
|
25
|
+
* embedOrigin: 'http://localhost:3000',
|
|
26
|
+
* userIdentifier: user.id,
|
|
27
|
+
* expiresAfter: 3600,
|
|
28
|
+
* }
|
|
34
29
|
* })
|
|
35
30
|
* ```
|
|
36
31
|
*/
|
|
37
32
|
|
|
38
|
-
import { createServerFn } from '@tanstack/react-start'
|
|
39
33
|
import { createChatSession, type SessionHandlerOptions } from './core'
|
|
40
34
|
|
|
41
|
-
/**
|
|
42
|
-
* Create a TanStack Start server function for session creation.
|
|
43
|
-
*
|
|
44
|
-
* The returned function can be called from client code (RPC-style) and passed
|
|
45
|
-
* to `session` in the Gram Elements config.
|
|
46
|
-
*
|
|
47
|
-
* @param options - Session configuration options
|
|
48
|
-
* @returns A `createServerFn` instance callable from the client
|
|
49
|
-
*/
|
|
50
|
-
export function createTanStackStartSessionFn(options: SessionHandlerOptions) {
|
|
51
|
-
return createServerFn({ method: 'POST' })
|
|
52
|
-
.inputValidator((data: { projectSlug: string }) => data)
|
|
53
|
-
.handler(async ({ data }) => {
|
|
54
|
-
const result = await createChatSession({
|
|
55
|
-
projectSlug: data.projectSlug,
|
|
56
|
-
options,
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
if (result.status !== 200) {
|
|
60
|
-
throw new Error(`Failed to create chat session: ${result.body}`)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const parsed = JSON.parse(result.body) as { client_token: string }
|
|
64
|
-
return parsed.client_token
|
|
65
|
-
})
|
|
66
|
-
}
|
|
67
|
-
|
|
68
35
|
/**
|
|
69
36
|
* Create a TanStack Start server route handler for the chat session endpoint.
|
|
70
37
|
*
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core-Cqad6-xW.js","sources":["../src/server/core.ts"],"sourcesContent":null,"names":["createChatSession","request","base","response","body","error","errorMessage"],"mappings":"AA2CA,eAAsBA,EACpBC,GACgC;AAChC,QAAMC,IAAO,QAAQ,IAAI,gBAAgB;AAEzC,MAAI;AACF,UAAMC,IAAW,MAAM,MAAMD,IAAO,4BAA4B;AAAA,MAC9D,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB,cAAcD,EAAQ,QAAQ;AAAA,QAC9B,iBAAiBA,EAAQ,QAAQ;AAAA,QACjC,eAAeA,EAAQ,QAAQ;AAAA,MAAA,CAChC;AAAA,MACD,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,gBAAgBA,EAAQ;AAAA,QACxB,YAAYA,EAAQ,QAAQ,UAAU,QAAQ,IAAI,gBAAgB;AAAA,MAAA;AAAA,IACpE,CACD,GAEKG,IAAO,MAAMD,EAAS,KAAA;AAE5B,WAAO;AAAA,MACL,QAAQA,EAAS;AAAA,MACjB,MAAAC;AAAA,MACA,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAElD,SAASC,GAAO;AACd,UAAMC,IACJD,aAAiB,QAAQA,EAAM,UAAU;AAC3C,mBAAQ,MAAM,kCAAkCA,CAAK,GAE9C;AAAA,MACL,QAAQ;AAAA,MACR,MAAM,KAAK,UAAU;AAAA,QACnB,OAAO,oCAAoCC;AAAA,MAAA,CAC5C;AAAA,MACD,SAAS,EAAE,gBAAgB,mBAAA;AAAA,IAAmB;AAAA,EAElD;AACF;"}
|
package/dist/core-DBxmxwCi.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";async function r(t){const o=process.env.GRAM_API_URL??"https://app.getgram.ai";try{const e=await fetch(o+"/rpc/chatSessions.create",{method:"POST",body:JSON.stringify({embed_origin:t.options.embedOrigin,user_identifier:t.options.userIdentifier,expires_after:t.options.expiresAfter}),headers:{"Content-Type":"application/json","Gram-Project":t.projectSlug,"Gram-Key":t.options.apiKey??process.env.GRAM_API_KEY??""}}),s=await e.text();return{status:e.status,body:s,headers:{"Content-Type":"application/json"}}}catch(e){const s=e instanceof Error?e.message:"Unknown error";return console.error("Failed to create chat session:",e),{status:500,body:JSON.stringify({error:"Failed to create chat session: "+s}),headers:{"Content-Type":"application/json"}}}}exports.createChatSession=r;
|
|
2
|
-
//# sourceMappingURL=core-DBxmxwCi.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core-DBxmxwCi.cjs","sources":["../src/server/core.ts"],"sourcesContent":null,"names":["createChatSession","request","base","response","body","error","errorMessage"],"mappings":"aA2CA,eAAsBA,EACpBC,EACgC,CAChC,MAAMC,EAAO,QAAQ,IAAI,cAAgB,yBAEzC,GAAI,CACF,MAAMC,EAAW,MAAM,MAAMD,EAAO,2BAA4B,CAC9D,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,aAAcD,EAAQ,QAAQ,YAC9B,gBAAiBA,EAAQ,QAAQ,eACjC,cAAeA,EAAQ,QAAQ,YAAA,CAChC,EACD,QAAS,CACP,eAAgB,mBAChB,eAAgBA,EAAQ,YACxB,WAAYA,EAAQ,QAAQ,QAAU,QAAQ,IAAI,cAAgB,EAAA,CACpE,CACD,EAEKG,EAAO,MAAMD,EAAS,KAAA,EAE5B,MAAO,CACL,OAAQA,EAAS,OACjB,KAAAC,EACA,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAElD,OAASC,EAAO,CACd,MAAMC,EACJD,aAAiB,MAAQA,EAAM,QAAU,gBAC3C,eAAQ,MAAM,iCAAkCA,CAAK,EAE9C,CACL,OAAQ,IACR,KAAM,KAAK,UAAU,CACnB,MAAO,kCAAoCC,CAAA,CAC5C,EACD,QAAS,CAAE,eAAgB,kBAAA,CAAmB,CAElD,CACF"}
|