Skip to main content

Project Structure

.
├── README.md
├── dir_structure.txt
├── jest.config.ts
├── mock
│   ├── priapi
│   │   ├── ticket
│   │   │   ├── edit.js
│   │   │   └── list.js
│   │   └── v1
│   │   └── scs
│   │   ├── admin
│   │   │   ├── conditions
│   │   │   │   ├── field-names.js
│   │   │   │   ├── field-operators
│   │   │   │   │   └── {id}.js
│   │   │   │   └── field-values
│   │   │   │   └── {id}.js
│   │   │   ├── fields
│   │   │   │   └── list.js
│   │   │   ├── forms
│   │   │   │   └── {id}.js
│   │   │   ├── forms.js
│   │   │   ├── skills.js
│   │   │   ├── views
│   │   │   │   ├── activate
│   │   │   │   │   └── {viewId}.js
│   │   │   │   └── deactivate
│   │   │   │   └── {viewId}.js
│   │   │   ├── views.js
│   │   │   ├── workflows
│   │   │   │   └── {workflowId}.js
│   │   │   └── workflows.js
│   │   ├── agents
│   │   │   └── config.js
│   │   ├── fields
│   │   │   └── {statusPath}
│   │   │   └── {fieldId}.js
│   │   ├── form
│   │   │   ├── list.js
│   │   │   └── {id}.js
│   │   ├── groups.js
│   │   ├── menus
│   │   │   └── tree.js
│   │   ├── related
│   │   │   └── tickets.js
│   │   ├── tickets
│   │   │   ├── {ticketId}
│   │   │   │   └── transfer.js
│   │   │   └── {ticketId}.js
│   │   ├── tickets.js
│   │   └── views.js
│   └── scs
│   └── api
│   └── v1
│   ├── configs
│   │   └── options.js
│   ├── fields
│   │   ├── list.js
│   │   └── views
│   │   └── {viewId}.js
│   ├── tags
│   │   └── autocomplete.js
│   └── tickets.js
├── module-federation.config.js
├── project.json
├── proxy.config.json
├── src
│   ├── __mocks__
│   │   └── @ok
│   │   └── blade.js
│   ├── app
│   │   ├── __demo__
│   │   │   ├── app-test.test.tsx
│   │   │   ├── app-test.tsx
│   │   │   └── welcome.tsx
│   │   ├── app.module.less
│   │   ├── app.tsx
│   │   ├── components
│   │   │   ├── AvatarWithStatus
│   │   │   │   ├── index.module.less
│   │   │   │   └── index.tsx
│   │   │   ├── CoreLayout
│   │   │   │   ├── __test__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── index.test.jsx.snap
│   │   │   │   │   └── index.test.jsx
│   │   │   │   ├── components
│   │   │   │   │   ├── Menu
│   │   │   │   │   │   ├── __test__
│   │   │   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   │   │   └── index.test.tsx.snap
│   │   │   │   │   │   │   └── index.test.tsx
│   │   │   │   │   │   ├── component
│   │   │   │   │   │   │   └── WorkspaceIcon.tsx
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   └── NavBar
│   │   │   │   │   ├── __test__
│   │   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   │   └── index.test.jsx.snap
│   │   │   │   │   │   └── index.test.jsx
│   │   │   │   │   ├── components
│   │   │   │   │   │   ├── Agent
│   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── AgentAvatar
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── AgentPanel
│   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── DutyDropdown
│   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   └── utils.ts
│   │   │   │   │   │   └── LabelWithStatus
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── __test__
│   │   │   │   │   │   │   └── useStore.test.js
│   │   │   │   │   │   └── useStore.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   └── types.ts
│   │   │   │   │   └── stores
│   │   │   │   │   └── index.ts
│   │   │   │   ├── index.module.less
│   │   │   │   └── index.tsx
│   │   │   └── WithErrorBoundary
│   │   │   └── index.tsx
│   │   ├── constants
│   │   │   ├── enums.ts
│   │   │   ├── index.ts
│   │   │   ├── routes.ts
│   │   │   └── theme.ts
│   │   ├── hooks
│   │   │   ├── useAgent.ts
│   │   │   ├── useCopy.ts
│   │   │   ├── useForm.ts
│   │   │   ├── useListenMessage.ts
│   │   │   ├── useMenus.ts
│   │   │   ├── useRequest.ts
│   │   │   └── useWebsocket.ts
│   │   ├── locale
│   │   │   ├── en-US.ts
│   │   │   ├── index.ts
│   │   │   └── zh-CN.ts
│   │   ├── pages
│   │   │   ├── AdminCenter
│   │   │   │   ├── GroupMgt
│   │   │   │   │   ├── components
│   │   │   │   │   │   └── GroupCreation.tsx
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── useColumns.tsx
│   │   │   │   │   │   └── useStore.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services.ts
│   │   │   │   │   ├── stores.ts
│   │   │   │   │   └── types.ts
│   │   │   │   ├── LandingPage
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── RuleWorkflowEditor
│   │   │   │   │   ├── components
│   │   │   │   │   │   ├── Actions
│   │   │   │   │   │   │   ├── AddBranchIcon
│   │   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── AddNodeIcon
│   │   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── AddOptionDisplay
│   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── ConfigForm.tsx
│   │   │   │   │   │   ├── Nodes
│   │   │   │   │   │   │   ├── ActionNode.tsx
│   │   │   │   │   │   │   ├── AssigneeNode.tsx
│   │   │   │   │   │   │   ├── ConditionNode.tsx
│   │   │   │   │   │   │   ├── EndNode
│   │   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── GenericNode
│   │   │   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StartNode.tsx
│   │   │   │   │   │   │   └── TriggerNode.tsx
│   │   │   │   │   │   ├── WorkflowBuilder.tsx
│   │   │   │   │   │   └── index.module.less
│   │   │   │   │   ├── constants
│   │   │   │   │   │   ├── default.ts
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   └── useNodeToggle.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── theme
│   │   │   │   │   │   └── theme.less
│   │   │   │   │   ├── types.ts
│   │   │   │   │   └── utils
│   │   │   │   │   └── converter.ts
│   │   │   │   ├── TicketFieldsMgt
│   │   │   │   │   ├── components
│   │   │   │   │   │   └── FieldCreation
│   │   │   │   │   │   ├── FieldOptionSelect.tsx
│   │   │   │   │   │   ├── FieldOptionSetting.tsx
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── constants
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── useColumns.tsx
│   │   │   │   │   │   ├── useFieldValueTypeOptions.tsx
│   │   │   │   │   │   └── useStore.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── stores.ts
│   │   │   │   │   └── types.ts
│   │   │   │   ├── TicketFormMgt
│   │   │   │   │   ├── components
│   │   │   │   │   │   └── FormCreation.tsx
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── __test__
│   │   │   │   │   │   │   └── useStore.test.ts
│   │   │   │   │   │   ├── useColumns.tsx
│   │   │   │   │   │   └── useStore.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── stores.ts
│   │   │   │   │   └── types.ts
│   │   │   │   ├── TicketSkillMgt
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   └── useSkills.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services.ts
│   │   │   │   │   └── utils.tsx
│   │   │   │   ├── TicketViewMgt
│   │   │   │   │   ├── components
│   │   │   │   │   │   └── ViewCreation.tsx
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── useColumns.tsx
│   │   │   │   │   │   ├── useStore.ts
│   │   │   │   │   │   └── useViews.tsx
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services.ts
│   │   │   │   │   ├── stores.ts
│   │   │   │   │   └── types.ts
│   │   │   │   ├── WorkflowsMgt
│   │   │   │   │   ├── hooks
│   │   │   │   │   │   ├── useColumns.tsx
│   │   │   │   │   │   └── useStore.ts
│   │   │   │   │   ├── index.module.less
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── services.ts
│   │   │   │   │   ├── stores.ts
│   │   │   │   │   └── types.ts
│   │   │   │   ├── components
│   │   │   │   │   ├── Description.tsx
│   │   │   │   │   ├── Menus
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── MgtContent
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── TicketFieldSortPicker
│   │   │   │   │   │   ├── index.module.less
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── services.ts
│   │   │   │   │   └── UpdateBySelect
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── constants
│   │   │   │   │   └── index.ts
│   │   │   │   ├── hooks
│   │   │   │   │   └── useForm.ts
│   │   │   │   ├── index.module.less
│   │   │   │   ├── index.tsx
│   │   │   │   ├── services.ts
│   │   │   │   └── types.ts
│   │   ├── schemas
│   │   │   ├── common
│   │   │   │   └── form.ts
│   │   │   ├── get_admin_conditions_field_names.ts
│   │   │   ├── get_admin_conditions_field_operators.ts
│   │   │   ├── get_admin_conditions_field_values.ts
│   │   │   ├── get_admin_fields.ts
│   │   │   ├── get_admin_fields_fixed.ts
│   │   │   ├── get_admin_forms.ts
│   │   │   ├── get_admin_groups.ts
│   │   │   ├── get_admin_skills.ts
│   │   ├── services
│   │   │   └── index.ts
│   │   ├── stores
│   │   │   └── index.ts
│   │   ├── types
│   │   │   ├── api.ts
│   │   │   ├── email.ts
│   │   │   ├── enums.ts
│   │   │   ├── index.ts
│   │   │   └── models.ts
│   │   ├── unit_test
│   │   │   ├── app-test.test.tsx
│   │   │   ├── app-test.tsx
│   │   │   └── welcome.tsx
│   │   └── utils
│   │   ├── APIError.ts
│   │   ├── assignToMe.ts
│   │   ├── axios.ts
│   │   ├── findMenuKeysByPathname.ts
│   │   ├── getFieldValueTypeInfo.tsx
│   │   ├── getSimpleDutyStatus.ts
│   │   ├── index.ts
│   │   ├── locale.ts
│   │   ├── rafPoll.ts
│   │   ├── reporter
│   │   │   ├── index.tsx
│   │   │   ├── logger.ts
│   │   │   ├── noti.tsx
│   │   │   ├── report.ts
│   │   │   ├── schema.ts
│   │   │   ├── services.ts
│   │   │   └── types.ts
│   │   ├── stores.ts
│   │   ├── ticketStatusMap.ts
│   │   └── url.ts
│   ├── assets
│   │   ├── font
│   │   │   ├── HarmonyOS_Sans_Bold.woff2
│   │   │   ├── HarmonyOS_Sans_Medium.woff2
│   │   │   └── HarmonyOS_Sans_Regular.woff2
│   │   ├── img
│   │   │   ├── Group404.png
│   │   │   ├── Groupempty.png
│   │   │   ├── Groupno_perm.png
│   │   │   ├── Groupserver_internal_error.png
│   │   │   ├── drag.png
│   │   │   ├── logo.svg
│   │   │   └── tool_set.png
│   │   └── module-federation.manifest.json
│   ├── bootstrap.tsx
│   ├── config
│   │   ├── fetchConfig.ts
│   │   ├── localeConfig.ts
│   │   ├── okdBConfig.ts
│   │   └── sentryInit.ts
│   ├── environments
│   │   ├── environment.prod.ts
│   │   └── environment.ts
│   ├── index.d.ts
│   ├── index.html
│   ├── main.ts
│   ├── remotes.d.ts
│   └── styles.less
├── tsconfig.json
├── tsconfig.spec.json
└── webpack.config.js