@magmamath/students-features 0.9.97 → 0.9.98

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.
Files changed (57) hide show
  1. package/.editorconfig +15 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc +22 -0
  4. package/.gitattributes +3 -0
  5. package/.github/actions/setup/action.yml +37 -0
  6. package/.github/workflows/ci.yml +73 -0
  7. package/.gitignore +84 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierrc +11 -0
  10. package/.release-it.json +17 -0
  11. package/.watchmanconfig +1 -0
  12. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
  13. package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +28 -0
  14. package/.yarn/releases/yarn-3.6.1.cjs +874 -0
  15. package/babel.config.js +5 -0
  16. package/bob.config.js +25 -0
  17. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
  18. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +8 -6
  20. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  22. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  23. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  24. package/dist/module/features/chatbot/model/ChatBotModel.js +8 -6
  25. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  26. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  27. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +8 -7
  28. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  29. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +3 -0
  30. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  31. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +3 -1
  32. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  33. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +8 -7
  34. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  35. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +3 -0
  36. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  37. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +3 -1
  38. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  39. package/example/app.json +30 -0
  40. package/example/assets/adaptive-icon.png +0 -0
  41. package/example/assets/favicon.png +0 -0
  42. package/example/assets/icon.png +0 -0
  43. package/example/assets/splash-icon.png +0 -0
  44. package/example/babel.config.js +28 -0
  45. package/example/index.js +8 -0
  46. package/example/metro.config.js +18 -0
  47. package/example/package.json +25 -0
  48. package/example/src/App.tsx +8 -0
  49. package/example/tsconfig.json +6 -0
  50. package/package.json +1 -1
  51. package/src/features/chatbot/components/Chatbot.tsx +2 -2
  52. package/src/features/chatbot/model/ChatBotModel.ts +10 -5
  53. package/src/features/chatbot/types/api.types.ts +3 -0
  54. package/src/features/chatbot/types/model.types.ts +3 -1
  55. package/tsconfig.build.json +4 -0
  56. package/tsconfig.json +34 -0
  57. package/yarn.lock +8623 -0
@@ -1 +1 @@
1
- {"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/types/model.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/types/model.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ {
2
+ "expo": {
3
+ "name": "example",
4
+ "slug": "example",
5
+ "version": "1.0.0",
6
+ "orientation": "portrait",
7
+ "icon": "./assets/icon.png",
8
+ "userInterfaceStyle": "light",
9
+ "newArchEnabled": true,
10
+ "splash": {
11
+ "image": "./assets/splash-icon.png",
12
+ "resizeMode": "contain",
13
+ "backgroundColor": "#ffffff"
14
+ },
15
+ "ios": {
16
+ "supportsTablet": true,
17
+ "bundleIdentifier": "magmamath.features.example"
18
+ },
19
+ "android": {
20
+ "adaptiveIcon": {
21
+ "foregroundImage": "./assets/adaptive-icon.png",
22
+ "backgroundColor": "#ffffff"
23
+ },
24
+ "package": "magmamath.features.example"
25
+ },
26
+ "web": {
27
+ "favicon": "./assets/favicon.png"
28
+ }
29
+ }
30
+ }
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,28 @@
1
+ const path = require('path')
2
+ const { getConfig } = require('react-native-builder-bob/babel-config')
3
+ const pkg = require('../package.json')
4
+
5
+ const root = path.resolve(__dirname, '..')
6
+
7
+ module.exports = function (api) {
8
+ api.cache(true)
9
+
10
+ return getConfig(
11
+ {
12
+ presets: ['babel-preset-expo'],
13
+ plugins: [
14
+ [
15
+ 'module-resolver',
16
+ {
17
+ extensions: ['.tsx', '.ts', '.js', '.json'],
18
+ alias: {
19
+ [pkg.name]: path.join(__dirname, '../', pkg.source),
20
+ },
21
+ },
22
+ ],
23
+ ['@babel/plugin-transform-private-methods', { loose: true }],
24
+ ],
25
+ },
26
+ { root, pkg },
27
+ )
28
+ }
@@ -0,0 +1,8 @@
1
+ import { registerRootComponent } from 'expo';
2
+
3
+ import App from './src/App';
4
+
5
+ // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
6
+ // It also ensures that whether you load the app in Expo Go or in a native build,
7
+ // the environment is set up appropriately
8
+ registerRootComponent(App);
@@ -0,0 +1,18 @@
1
+ const path = require('path');
2
+ const { getDefaultConfig } = require('@expo/metro-config');
3
+ const { getConfig } = require('react-native-builder-bob/metro-config');
4
+ const pkg = require('../package.json');
5
+
6
+ const root = path.resolve(__dirname, '..');
7
+
8
+ /**
9
+ * Metro configuration
10
+ * https://facebook.github.io/metro/docs/configuration
11
+ *
12
+ * @type {import('metro-config').MetroConfig}
13
+ */
14
+ module.exports = getConfig(getDefaultConfig(__dirname), {
15
+ root,
16
+ pkg,
17
+ project: __dirname,
18
+ });
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@magmamath/students-features-example",
3
+ "version": "1.0.0",
4
+ "main": "index.js",
5
+ "scripts": {
6
+ "start": "expo start",
7
+ "android": "expo start --android",
8
+ "ios": "expo start --ios",
9
+ "web": "expo start --web"
10
+ },
11
+ "dependencies": {
12
+ "@expo/metro-runtime": "~4.0.0",
13
+ "expo": "~52.0.11",
14
+ "expo-status-bar": "~2.0.0",
15
+ "react": "18.3.1",
16
+ "react-dom": "18.3.1",
17
+ "react-native": "0.76.3",
18
+ "react-native-web": "~0.19.13"
19
+ },
20
+ "devDependencies": {
21
+ "@babel/core": "^7.20.0",
22
+ "react-native-builder-bob": "^0.33.3"
23
+ },
24
+ "private": true
25
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react'
2
+ import { Text } from 'react-native'
3
+
4
+ const App = () => {
5
+ return <Text>Hello</Text>
6
+ }
7
+
8
+ export default App
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../tsconfig",
3
+ "compilerOptions": {
4
+ // Avoid expo-cli auto-generating a tsconfig
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.97",
3
+ "version": "0.9.98",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -30,14 +30,14 @@ export const Chatbot = ({
30
30
  iconSize,
31
31
  colorScheme = ColorScheme.Blue,
32
32
  }: ChatbotProps) => {
33
- const alternatives = useUnit(model.$alternatives)
33
+ const isChatAllowed = useUnit(model.$chatAccess)
34
34
  const isAvailable = useStoreMap(model.$currentChatData, ({ isAvailable }) => isAvailable)
35
35
  model.t2s.setAudioConfig(textToSpeechConfig ?? null)
36
36
 
37
37
  const openChat = () => model.setIsOpen(true)
38
38
  const closeChat = () => model.setIsOpen(false)
39
39
 
40
- if (!isAvailable || alternatives?.chatAccess === false) {
40
+ if (!isAvailable || !isChatAllowed) {
41
41
  return null
42
42
  }
43
43
 
@@ -7,6 +7,7 @@ import {
7
7
  restore,
8
8
  sample,
9
9
  type Store,
10
+ StoreWritable
10
11
  } from 'effector'
11
12
  import {
12
13
  ChatbotContext,
@@ -74,14 +75,18 @@ export class ChatbotModel {
74
75
 
75
76
  private readonly cache = new ChatsCacheModel()
76
77
 
78
+ public readonly $chatAccess: StoreWritable<boolean>
79
+
77
80
  public readonly $currentChatData = combine(
78
81
  { data: this.cache.$data, key: this.$currentKey },
79
82
  ({ data, key }) => (data[key] ? { ...data[key], key } : { ...defaultChatData(), key }),
80
83
  )
81
84
 
82
- constructor({ api, $key, threadMessagesLimit, settings = {} }: ChatbotModelProps) {
85
+ constructor({ api, $key, threadMessagesLimit, settings = {}, chatAccess }: ChatbotModelProps) {
83
86
  this.api = new ChatbotAPI({ ...api, postMessage: this.threadManager.postMessage })
84
87
 
88
+ this.$chatAccess = chatAccess
89
+
85
90
  this.threadManager.setApi({ getHint: api.requestHint, sendMessage: api.sendMessage })
86
91
  if (threadMessagesLimit) {
87
92
  this.threadManager.setMessagesLimit(threadMessagesLimit)
@@ -145,16 +150,16 @@ export class ChatbotModel {
145
150
  }
146
151
 
147
152
  this.startConversation = attach({
148
- source: { currentChatData: this.$currentChatData, alternatives: this.$alternatives },
153
+ source: { currentChatData: this.$currentChatData, chatAccess: this.$chatAccess },
149
154
  mapParams: (props: StartConversationProps | void, source) => ({
150
155
  ...props,
151
156
  ...source,
152
157
  }),
153
158
  effect: createEffect(
154
- ({ currentChatData, alternatives, initOnly }: StartConversationFxData) => {
159
+ ({ currentChatData, initOnly, chatAccess }: StartConversationFxData) => {
155
160
  const { key, messages } = currentChatData
156
161
 
157
- if (!alternatives?.chatAccess) return
162
+ if (!chatAccess) return
158
163
 
159
164
  if (messages.length) {
160
165
  if (initOnly) return
@@ -171,7 +176,7 @@ export class ChatbotModel {
171
176
 
172
177
  this.api.getAlternativesFx.doneData.watch((alternatives) => {
173
178
  // Use short text for another hint option if openChatEnabled
174
- if (alternatives?.chatAccess && alternatives?.isOpenChatEnabled && IS_WEB) {
179
+ if (alternatives?.isOpenChatEnabled && IS_WEB) {
175
180
  this.textManager.update((creator) => ({
176
181
  anotherHintOption: creator.createOption('chat.giveHintOpenChat'),
177
182
  }))
@@ -11,6 +11,9 @@ export type AlternativesOptions = {
11
11
  }
12
12
 
13
13
  export type GetAlternativesResponse = {
14
+ /**
15
+ * @deprecated chatAccess depends on assignment.lavaChat or class grade
16
+ */
14
17
  chatAccess?: boolean
15
18
  isOpenChatEnabled?: boolean
16
19
  version: string
@@ -1,4 +1,4 @@
1
- import type { Store } from 'effector'
1
+ import type { Store, StoreWritable } from 'effector'
2
2
  import {
3
3
  ChatHintPayload,
4
4
  ChatHintResponse,
@@ -52,6 +52,7 @@ export type ChatbotModelProps = {
52
52
  requestHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
53
53
  }
54
54
  threadMessagesLimit?: number
55
+ chatAccess: StoreWritable<boolean>
55
56
  settings?: ChatbotSettings
56
57
  }
57
58
 
@@ -82,6 +83,7 @@ export type StartConversationFxData = {
82
83
  messages: ConversationMessage[]
83
84
  }
84
85
  alternatives?: GetAlternativesResponse | null
86
+ chatAccess: boolean
85
87
  } & StartConversationProps
86
88
 
87
89
  export enum MessageVariant {
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig",
3
+ "exclude": ["example", "dist"]
4
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@magmamath/students-features": ["./src/index"]
5
+ },
6
+ "target": "esnext",
7
+ "baseUrl": "./",
8
+ "lib": [
9
+ "dom",
10
+ "dom.iterable",
11
+ "esnext"
12
+ ],
13
+ "declaration": true,
14
+ "allowJs": true,
15
+ "skipLibCheck": true,
16
+ "esModuleInterop": true,
17
+ "allowSyntheticDefaultImports": true,
18
+ "strict": true,
19
+ "forceConsistentCasingInFileNames": true,
20
+ "module": "esnext",
21
+ "moduleResolution": "node",
22
+ "resolveJsonModule": true,
23
+ "isolatedModules": true,
24
+ "jsx": "react",
25
+ "experimentalDecorators": true
26
+ },
27
+ "include": [
28
+ "src"
29
+ ],
30
+ "exclude": [
31
+ "node_modules",
32
+ "example"
33
+ ]
34
+ }