@crimson-education/replit-sdk 1.0.2-beta-3 → 1.0.2-beta-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -40,7 +40,7 @@ Prompts from replit:
40
40
 
41
41
  ````
42
42
  we are going to embed the app on a iframe, so now you need to do all things one by one listed here:
43
- 1. install and save package @crimson-education/replit-sdk@1.0.2-beta-3
43
+ 1. install and save package @crimson-education/replit-sdk@1.0.2-beta-4
44
44
  2. call `useUrlParams` on the Root app component, like ```function App() {
45
45
  useUrlParams();
46
46
  return (
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAkDvC,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,SAGnC,CAAC"}
1
+ {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyEvC,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,SAGnC,CAAC"}
@@ -2,6 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bindApi = void 0;
4
4
  const graphqlProxy_1 = require("./graphqlProxy");
5
+ function isJWT(token) {
6
+ if (!token)
7
+ return false;
8
+ const parts = token.split('.');
9
+ if (parts.length !== 3) {
10
+ return false;
11
+ }
12
+ const base64UrlRegex = /^[A-Za-z0-9-_]+$/;
13
+ return parts.every((part) => base64UrlRegex.test(part));
14
+ }
5
15
  const handler = async (req, res) => {
6
16
  try {
7
17
  const parsed = graphqlProxy_1.graphqlProxySchema.safeParse(req.body);
@@ -11,17 +21,35 @@ const handler = async (req, res) => {
11
21
  details: parsed.error.issues,
12
22
  });
13
23
  }
14
- const { query, variables, graphqlEndpoint, token, env = 'replit' } = parsed.data;
15
- const authHeader = token ? `Bearer ${token}` : req.headers.authorization;
16
- if (!authHeader && env !== 'replit') {
17
- return res.status(401).json({ error: 'Authorization header is required' });
24
+ const { query, variables, graphqlEndpoint, token, env = 'replit', requestUserId, source = 'capp' } = parsed.data;
25
+ if (!token) {
26
+ return res.status(401).json({ error: 'User token is required' });
27
+ }
28
+ const authHeaders = {};
29
+ if (req.headers.authorization) {
30
+ authHeaders['Authorization'] = req.headers.authorization;
31
+ }
32
+ else if (isJWT(token)) {
33
+ authHeaders['Authorization'] = `Bearer ${token}`;
34
+ }
35
+ else if (env !== 'replit') {
36
+ authHeaders['Authorization'] = `Bearer ${token}`;
37
+ }
38
+ else if (source === 'capp') {
39
+ authHeaders['crimsonauthkey'] = `${token}${requestUserId ? ':' + requestUserId : ''}`;
40
+ }
41
+ else if (source === 'sc' || source === 'roadmap') {
42
+ authHeaders['x-user-id'] = requestUserId || '';
43
+ authHeaders['Authorization'] = `Server ${token}${requestUserId ? ' ' + requestUserId : ''}`;
44
+ }
45
+ else {
46
+ authHeaders['Authorization'] = `Bearer ${token}`;
18
47
  }
19
48
  const response = await fetch(graphqlEndpoint, {
20
49
  method: 'POST',
21
50
  headers: {
22
51
  'Content-Type': 'application/json',
23
- ...(env !== 'replit' && { Authorization: authHeader }),
24
- ...(env === 'replit' && { crimsonauthkey: 'THIS_IS_A_FAKE_KEY' }),
52
+ ...authHeaders,
25
53
  },
26
54
  body: JSON.stringify({ query, variables }),
27
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,7 @@ export declare const graphqlProxySchema: z.ZodObject<{
5
5
  env: z.ZodOptional<z.ZodString>;
6
6
  graphqlEndpoint: z.ZodString;
7
7
  token: z.ZodOptional<z.ZodString>;
8
+ requestUserId: z.ZodOptional<z.ZodString>;
9
+ source: z.ZodOptional<z.ZodString>;
8
10
  }, z.core.$strip>;
9
11
  //# sourceMappingURL=graphqlProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlProxy.d.ts","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC"}
1
+ {"version":3,"file":"graphqlProxy.d.ts","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,kBAAkB;;;;;;;;iBAQ7B,CAAC"}
@@ -8,5 +8,7 @@ exports.graphqlProxySchema = zod_1.z.object({
8
8
  env: zod_1.z.string().optional(),
9
9
  graphqlEndpoint: zod_1.z.string(),
10
10
  token: zod_1.z.string().optional(),
11
+ requestUserId: zod_1.z.string().optional(),
12
+ source: zod_1.z.string().optional(),
11
13
  });
12
14
  //# sourceMappingURL=graphqlProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlProxy.js","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
1
+ {"version":3,"file":"graphqlProxy.js","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
@@ -3,7 +3,8 @@ interface ExternalLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement
3
3
  href: string;
4
4
  replit?: boolean;
5
5
  children: React.ReactNode;
6
+ eventName?: string;
6
7
  }
7
- export default function ExternalLink({ href, replit, children, ...props }: ExternalLinkProps): React.JSX.Element;
8
+ export default function ExternalLink({ href, replit, children, eventName, onClick, ...props }: ExternalLinkProps): React.JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=external-link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-link.d.ts","sourceRoot":"","sources":["../../src/components/external-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBAU3F"}
1
+ {"version":3,"file":"external-link.d.ts","sourceRoot":"","sources":["../../src/components/external-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,SAAiC,EACjC,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,qBAqBnB"}
@@ -6,10 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = ExternalLink;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const use_url_params_1 = require("../hooks/use-url-params");
9
- function ExternalLink({ href, replit, children, ...props }) {
9
+ const datadog_1 = require("../utils/datadog");
10
+ function ExternalLink({ href, replit, children, eventName = 'external_link_click', onClick, ...props }) {
10
11
  const isReplit = replit !== null && replit !== void 0 ? replit : (href.endsWith('replit.app') || href.includes('replit.com/t'));
11
12
  const parentDomain = (0, use_url_params_1.getStoredParam)('parentDomain') || '';
12
13
  const finalHref = isReplit && parentDomain ? parentDomain + '/replit/t?redirect=' + encodeURIComponent(href) : href;
13
- return (react_1.default.createElement("a", { href: finalHref, target: "_blank", rel: "noopener noreferrer", ...props }, children));
14
+ const handleClick = (event) => {
15
+ (0, datadog_1.trackEvent)({
16
+ href,
17
+ url: finalHref,
18
+ text: typeof children === 'string' ? children : 'React Component',
19
+ timestamp: new Date().toISOString(),
20
+ });
21
+ if (onClick) {
22
+ onClick(event);
23
+ }
24
+ };
25
+ return (react_1.default.createElement("a", { href: finalHref, target: "_blank", onClick: handleClick, rel: "noopener noreferrer", ...props }, children));
14
26
  }
15
27
  //# sourceMappingURL=external-link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-link.js","sourceRoot":"","sources":["../../src/components/external-link.tsx"],"names":[],"mappings":";;;;;AASA,+BAUC;AAnBD,kDAA0B;AAC1B,4DAAyD;AAQzD,SAAwB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAqB;IAC1F,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAG,IAAA,+BAAc,EAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpH,OAAO,CACL,qCAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,KAAK,KAAK,IACpE,QAAQ,CACP,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"external-link.js","sourceRoot":"","sources":["../../src/components/external-link.tsx"],"names":[],"mappings":";;;;;AAWA,+BA4BC;AAvCD,kDAA0B;AAC1B,4DAAyD;AACzD,8CAA8C;AAS9C,SAAwB,YAAY,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,qBAAqB,EACjC,OAAO,EACP,GAAG,KAAK,EACU;IAClB,MAAM,QAAQ,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAG,IAAA,+BAAc,EAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpH,MAAM,WAAW,GAAG,CAAC,KAA0C,EAAE,EAAE;QACjE,IAAA,oBAAU,EAAC;YACT,IAAI;YACJ,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB;YACjE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,qCAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAC,qBAAqB,KAAK,KAAK,IAC1F,QAAQ,CACP,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface IDevProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare const IDevProvider: React.FC<IDevProviderProps>;
6
+ export {};
7
+ //# sourceMappingURL=dev-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-context.d.ts","sourceRoot":"","sources":["../../src/context/dev-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA2B,SAAS,EAAE,MAAM,OAAO,CAAC;AASlE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyCpD,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.IDevProvider = void 0;
37
+ const react_1 = __importStar(require("react"));
38
+ const use_url_params_1 = require("../hooks/use-url-params");
39
+ const DevContext = (0, react_1.createContext)(undefined);
40
+ const IDevProvider = ({ children }) => {
41
+ const [token, setToken] = (0, react_1.useState)(() => localStorage.getItem('dev_token'));
42
+ const [inputValue, setInputValue] = (0, react_1.useState)('');
43
+ const handleConfirm = () => {
44
+ if (inputValue.trim()) {
45
+ setToken(inputValue.trim());
46
+ (0, use_url_params_1.setStoredParam)('token', inputValue.trim());
47
+ }
48
+ };
49
+ const value = {
50
+ devToken: token || '',
51
+ };
52
+ if (!token) {
53
+ return (react_1.default.createElement("div", { style: modalOverlayStyle },
54
+ react_1.default.createElement("div", { style: modalContentStyle },
55
+ react_1.default.createElement("h3", null, "Developer Authentication"),
56
+ react_1.default.createElement("p", null, "Please enter your Crimson Token to continue:"),
57
+ react_1.default.createElement("textarea", { value: inputValue, onChange: (e) => setInputValue(e.target.value), placeholder: "Paste your JWT Token here...", style: textareaStyle, rows: 5 }),
58
+ react_1.default.createElement("div", { style: { marginTop: '10px' } },
59
+ react_1.default.createElement("button", { onClick: handleConfirm, style: buttonStyle }, "Confirm & Access")))));
60
+ }
61
+ return react_1.default.createElement(DevContext.Provider, { value: value }, children);
62
+ };
63
+ exports.IDevProvider = IDevProvider;
64
+ const textareaStyle = {
65
+ width: '100%',
66
+ padding: '10px',
67
+ marginBottom: '10px',
68
+ boxSizing: 'border-box',
69
+ borderRadius: '4px',
70
+ border: '1px solid #ccc',
71
+ fontFamily: 'monospace', // 使用等宽字体,方便查看 JWT 结构
72
+ fontSize: '12px',
73
+ resize: 'vertical', // 允许用户纵向拉伸
74
+ };
75
+ const modalOverlayStyle = {
76
+ position: 'fixed',
77
+ top: 0,
78
+ left: 0,
79
+ right: 0,
80
+ bottom: 0,
81
+ backgroundColor: 'rgba(0,0,0,0.8)',
82
+ display: 'flex',
83
+ justifyContent: 'center',
84
+ alignItems: 'center',
85
+ zIndex: 9999,
86
+ };
87
+ const modalContentStyle = {
88
+ background: '#fff',
89
+ padding: '2rem',
90
+ borderRadius: '8px',
91
+ textAlign: 'center',
92
+ color: '#333',
93
+ };
94
+ const buttonStyle = {
95
+ padding: '10px 20px',
96
+ cursor: 'pointer',
97
+ background: '#007bff',
98
+ color: '#fff',
99
+ border: 'none',
100
+ borderRadius: '4px',
101
+ };
102
+ //# sourceMappingURL=dev-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-context.js","sourceRoot":"","sources":["../../src/context/dev-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAkE;AAClE,4DAAyD;AAMzD,MAAM,UAAU,GAAG,IAAA,qBAAa,EAA8B,SAAS,CAAC,CAAC;AAMlE,MAAM,YAAY,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5B,IAAA,+BAAc,EAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAoB;QAC7B,QAAQ,EAAE,KAAK,IAAI,EAAE;KACtB,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,uCAAK,KAAK,EAAE,iBAAiB;YAC3B,uCAAK,KAAK,EAAE,iBAAiB;gBAC3B,qEAAiC;gBACjC,wFAAmD;gBAEnD,4CACE,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,WAAW,EAAC,8BAA8B,EAC1C,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,CAAC,GACP;gBAEF,uCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;oBAC/B,0CAAQ,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,uBAEzC,CACL,CACF,CACF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,8BAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAuB,CAAC;AAC7E,CAAC,CAAC;AAzCW,QAAA,YAAY,gBAyCvB;AAEF,MAAM,aAAa,GAAwB;IACzC,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,WAAW,EAAE,qBAAqB;IAC9C,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,UAAU,EAAE,WAAW;CAChC,CAAC;AACF,MAAM,iBAAiB,GAAwB;IAC7C,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,IAAI;CACb,CAAC;AACF,MAAM,iBAAiB,GAAwB;IAC7C,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,MAAM;CACd,CAAC;AACF,MAAM,WAAW,GAAwB;IACvC,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,KAAK;CACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-url-params.d.ts","sourceRoot":"","sources":["../../src/hooks/use-url-params.ts"],"names":[],"mappings":"AAyEA,wBAAgB,YAAY,SAmB3B;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,eAAO,MAAM,WAAW,SAA8D,CAAC;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAMrF;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"use-url-params.d.ts","sourceRoot":"","sources":["../../src/hooks/use-url-params.ts"],"names":[],"mappings":"AAoEA,wBAAgB,YAAY,SAmB3B;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED,eAAO,MAAM,WAAW,SAA8D,CAAC;AAEvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAMrF;AAED,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -21,29 +21,22 @@ const URL_PARAM_KEYS = [
21
21
  'roadmapEndpoint',
22
22
  ];
23
23
  // In-memory store that persists across React lifecycle (works in iframes)
24
- const memoryStore = {};
25
- // Try to use localStorage as fallback, but primarily use memory store
24
+ // default as staging env
25
+ const memoryStore = {
26
+ cappEndpoint: 'https://api.staging.app.crimsoneducation.io/graphql',
27
+ scEndpoint: 'https://api.staging.core-student-center.crimsoneducation.org/graphql',
28
+ roadmapEndpoint: 'https://api.staging.core-progress.crimsoneducation.org/roadmap-service/graphql',
29
+ parentDomain: 'https://staging.app.crimsoneducation.org',
30
+ };
26
31
  function setParam(key, value) {
27
32
  memoryStore[key] = value;
28
- try {
29
- localStorage.setItem(key, value);
30
- }
31
- catch (_a) {
32
- // localStorage may be blocked in iframe, ignore
33
- }
34
33
  }
35
34
  function getParam(key) {
36
35
  // Memory store takes priority
37
36
  if (memoryStore[key]) {
38
37
  return memoryStore[key];
39
38
  }
40
- // Fallback to localStorage if available
41
- try {
42
- return localStorage.getItem(key);
43
- }
44
- catch (_a) {
45
- return null;
46
- }
39
+ return null;
47
40
  }
48
41
  // Parse URL parameters from both search and hash
49
42
  function getUrlParams() {
@@ -1 +1 @@
1
- {"version":3,"file":"use-url-params.js","sourceRoot":"","sources":["../../src/hooks/use-url-params.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-url-params.js","sourceRoot":"","sources":["../../src/hooks/use-url-params.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,QAAQ,iBAKlD;AAYD,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgBpH"}
1
+ {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,QAAQ,iBAKlD;AAYD,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiBpH"}
@@ -24,11 +24,12 @@ async function apiRequest(query, variables, data) {
24
24
  const graphqlEndpoint = (data === null || data === void 0 ? void 0 : data.endpoint) || (0, use_url_params_1.getStoredParam)(`${source}Endpoint`);
25
25
  const env = (0, use_url_params_1.getStoredEnv)();
26
26
  const token = (0, use_url_params_1.getStoredToken)();
27
+ const requestUserId = (0, use_url_params_1.getStoredUserId)();
27
28
  (0, datadog_1.trackEvent)({ query, variables, data, operation });
28
29
  const res = await fetch(`/api/function${operation ? `/${operation}` : ''}`, {
29
30
  method: 'POST',
30
31
  headers: { 'Content-Type': 'application/json' },
31
- body: JSON.stringify({ ...(data || {}), token, graphqlEndpoint, env, query, variables }),
32
+ body: JSON.stringify({ ...(data || {}), token, source, graphqlEndpoint, env, query, variables, requestUserId }),
32
33
  credentials: 'include',
33
34
  });
34
35
  await throwIfResNotOk(res);
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.js","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":";;AAGA,0CAKC;AAYD,gCAgBC;AApCD,4DAAuF;AACvF,uCAAuC;AAEhC,KAAK,UAAU,eAAe,CAAC,GAAa;IACjD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,KAAK,GAAG,iDAAiD,CAAC;IAChE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,SAAc,EAAE,IAAiC;IAC/F,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,KAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,IAAA,+BAAc,EAAC,GAAG,MAAM,UAAU,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAA,6BAAY,GAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,IAAA,oBAAU,EAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACxF,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"queryClient.js","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":";;AAGA,0CAKC;AAYD,gCAiBC;AArCD,4DAAwG;AACxG,uCAAuC;AAEhC,KAAK,UAAU,eAAe,CAAC,GAAa;IACjD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,KAAK,GAAG,iDAAiD,CAAC;IAChE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,SAAc,EAAE,IAAiC;IAC/F,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,KAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,IAAA,+BAAc,EAAC,GAAG,MAAM,UAAU,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAA,6BAAY,GAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAA,gCAAe,GAAE,CAAC;IACxC,IAAA,oBAAU,EAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QAC/G,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crimson-education/replit-sdk",
3
- "version": "1.0.2-beta-3",
3
+ "version": "1.0.2-beta-5",
4
4
  "description": "SDK for Replit app integration",
5
5
  "publishConfig": {
6
6
  "access": "public"