@talex-touch/utils 1.0.42 → 1.0.44

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 (233) hide show
  1. package/.eslintcache +1 -0
  2. package/__tests__/cloud-sync-sdk.test.ts +442 -0
  3. package/__tests__/icons/icons.test.ts +84 -0
  4. package/__tests__/plugin-sdk-lifecycle.test.ts +130 -0
  5. package/__tests__/power-sdk.test.ts +143 -0
  6. package/__tests__/preset-export-types.test.ts +108 -0
  7. package/__tests__/search/fuzzy-match.test.ts +137 -0
  8. package/__tests__/transport/port-policy.test.ts +44 -0
  9. package/__tests__/transport-domain-sdks.test.ts +152 -0
  10. package/__tests__/types/update.test.ts +67 -0
  11. package/account/account-sdk.ts +915 -0
  12. package/account/index.ts +2 -0
  13. package/account/types.ts +321 -0
  14. package/analytics/client.ts +136 -0
  15. package/analytics/index.ts +2 -0
  16. package/analytics/types.ts +156 -0
  17. package/animation/auto-resize.ts +322 -0
  18. package/animation/window-node.ts +26 -19
  19. package/auth/clerk-types.ts +12 -30
  20. package/auth/index.ts +0 -2
  21. package/auth/useAuthState.ts +6 -14
  22. package/base/index.ts +2 -0
  23. package/base/log-level.ts +105 -0
  24. package/channel/index.ts +170 -69
  25. package/cloud-sync/cloud-sync-sdk.ts +450 -0
  26. package/cloud-sync/index.ts +1 -0
  27. package/common/file-scan-utils.ts +17 -9
  28. package/common/index.ts +4 -0
  29. package/common/logger/index.ts +46 -0
  30. package/common/logger/logger-manager.ts +303 -0
  31. package/common/logger/module-logger.ts +270 -0
  32. package/common/logger/transport-logger.ts +234 -0
  33. package/common/logger/types.ts +93 -0
  34. package/common/search/gather.ts +48 -6
  35. package/common/search/index.ts +8 -0
  36. package/common/storage/constants.ts +13 -0
  37. package/common/storage/entity/app-settings.ts +245 -0
  38. package/common/storage/entity/index.ts +3 -0
  39. package/common/storage/entity/layout-atom-types.ts +147 -0
  40. package/common/storage/entity/openers.ts +1 -0
  41. package/common/storage/entity/preset-cloud-api.ts +132 -0
  42. package/common/storage/entity/preset-export-types.ts +256 -0
  43. package/common/storage/entity/shortcut-settings.ts +1 -0
  44. package/common/storage/shortcut-storage.ts +11 -0
  45. package/common/utils/clone-diagnostics.ts +105 -0
  46. package/common/utils/file.ts +16 -8
  47. package/common/utils/index.ts +6 -2
  48. package/common/utils/payload-preview.ts +173 -0
  49. package/common/utils/polling.ts +167 -13
  50. package/common/utils/safe-path.ts +103 -0
  51. package/common/utils/safe-shell.ts +115 -0
  52. package/common/utils/task-queue.ts +4 -1
  53. package/core-box/builder/tuff-builder.ts +0 -1
  54. package/core-box/index.ts +1 -1
  55. package/core-box/recommendation.ts +38 -1
  56. package/core-box/tuff/tuff-dsl.ts +32 -0
  57. package/electron/download-manager.ts +10 -7
  58. package/electron/env-tool.ts +42 -40
  59. package/electron/index.ts +0 -1
  60. package/env/index.ts +156 -0
  61. package/eslint.config.js +55 -0
  62. package/i18n/index.ts +62 -0
  63. package/i18n/locales/en.json +226 -0
  64. package/i18n/locales/zh.json +226 -0
  65. package/i18n/message-keys.ts +236 -0
  66. package/i18n/resolver.ts +181 -0
  67. package/icons/index.ts +257 -0
  68. package/icons/svg.ts +69 -0
  69. package/index.ts +9 -1
  70. package/intelligence/client.ts +72 -42
  71. package/market/constants.ts +9 -5
  72. package/market/index.ts +1 -1
  73. package/market/types.ts +19 -4
  74. package/package.json +15 -5
  75. package/permission/index.ts +143 -46
  76. package/permission/legacy.ts +26 -0
  77. package/permission/registry.ts +304 -0
  78. package/permission/types.ts +164 -0
  79. package/plugin/channel.ts +68 -39
  80. package/plugin/index.ts +80 -7
  81. package/plugin/install.ts +3 -0
  82. package/plugin/log/types.ts +22 -5
  83. package/plugin/node/logger-manager.ts +11 -3
  84. package/plugin/node/logger.ts +24 -17
  85. package/plugin/preload.ts +25 -2
  86. package/plugin/providers/index.ts +4 -4
  87. package/plugin/providers/market-client.ts +6 -3
  88. package/plugin/providers/npm-provider.ts +22 -7
  89. package/plugin/providers/tpex-provider.ts +22 -8
  90. package/plugin/sdk/box-items.ts +14 -0
  91. package/plugin/sdk/box-sdk.ts +64 -0
  92. package/plugin/sdk/channel.ts +119 -4
  93. package/plugin/sdk/clipboard.ts +26 -12
  94. package/plugin/sdk/cloud-sync.ts +113 -0
  95. package/plugin/sdk/common.ts +19 -11
  96. package/plugin/sdk/core-box.ts +6 -15
  97. package/plugin/sdk/division-box.ts +160 -65
  98. package/plugin/sdk/examples/storage-onDidChange-example.js +5 -2
  99. package/plugin/sdk/feature-sdk.ts +111 -76
  100. package/plugin/sdk/flow.ts +146 -45
  101. package/plugin/sdk/hooks/bridge.ts +13 -6
  102. package/plugin/sdk/hooks/life-cycle.ts +35 -16
  103. package/plugin/sdk/index.ts +14 -3
  104. package/plugin/sdk/intelligence.ts +87 -0
  105. package/plugin/sdk/meta/README.md +179 -0
  106. package/plugin/sdk/meta-sdk.ts +244 -0
  107. package/plugin/sdk/notification.ts +9 -0
  108. package/plugin/sdk/plugin-info.ts +64 -0
  109. package/plugin/sdk/power.ts +155 -0
  110. package/plugin/sdk/recommend.ts +21 -0
  111. package/plugin/sdk/service/index.ts +12 -8
  112. package/plugin/sdk/sqlite.ts +141 -0
  113. package/plugin/sdk/storage.ts +2 -6
  114. package/plugin/sdk/system.ts +2 -9
  115. package/plugin/sdk/temp-files.ts +41 -0
  116. package/plugin/sdk/touch-sdk.ts +18 -0
  117. package/plugin/sdk/types.ts +44 -4
  118. package/plugin/sdk/window/index.ts +12 -9
  119. package/plugin/sdk-version.ts +231 -0
  120. package/preload/renderer.ts +3 -2
  121. package/renderer/hooks/arg-mapper.ts +16 -2
  122. package/renderer/hooks/index.ts +13 -0
  123. package/renderer/hooks/initialize.ts +2 -1
  124. package/renderer/hooks/use-agent-market-sdk.ts +7 -0
  125. package/renderer/hooks/use-agent-market.ts +106 -0
  126. package/renderer/hooks/use-agents-sdk.ts +7 -0
  127. package/renderer/hooks/use-app-sdk.ts +7 -0
  128. package/renderer/hooks/use-channel.ts +33 -4
  129. package/renderer/hooks/use-download-sdk.ts +21 -0
  130. package/renderer/hooks/use-intelligence-sdk.ts +7 -0
  131. package/renderer/hooks/use-intelligence-stats.ts +290 -0
  132. package/renderer/hooks/use-intelligence.ts +55 -214
  133. package/renderer/hooks/use-market-sdk.ts +16 -0
  134. package/renderer/hooks/use-notification-sdk.ts +7 -0
  135. package/renderer/hooks/use-permission-sdk.ts +7 -0
  136. package/renderer/hooks/use-permission.ts +325 -0
  137. package/renderer/hooks/use-platform-sdk.ts +7 -0
  138. package/renderer/hooks/use-plugin-sdk.ts +16 -0
  139. package/renderer/hooks/use-settings-sdk.ts +7 -0
  140. package/renderer/hooks/use-update-sdk.ts +21 -0
  141. package/renderer/index.ts +1 -0
  142. package/renderer/ref.ts +19 -10
  143. package/renderer/shared/components/SharedPluginDetailContent.vue +84 -0
  144. package/renderer/shared/components/SharedPluginDetailHeader.vue +116 -0
  145. package/renderer/shared/components/SharedPluginDetailMetaList.vue +39 -0
  146. package/renderer/shared/components/SharedPluginDetailReadme.vue +45 -0
  147. package/renderer/shared/components/SharedPluginDetailVersions.vue +98 -0
  148. package/renderer/shared/components/index.ts +5 -0
  149. package/renderer/shared/components/shims-vue.d.ts +5 -0
  150. package/renderer/shared/index.ts +2 -0
  151. package/renderer/shared/plugin-detail.ts +62 -0
  152. package/renderer/storage/app-settings.ts +3 -1
  153. package/renderer/storage/base-storage.ts +508 -82
  154. package/renderer/storage/intelligence-storage.ts +31 -40
  155. package/renderer/storage/openers.ts +3 -1
  156. package/renderer/storage/storage-subscription.ts +126 -42
  157. package/renderer/touch-sdk/env.ts +10 -10
  158. package/renderer/touch-sdk/index.ts +114 -18
  159. package/renderer/touch-sdk/terminal.ts +24 -13
  160. package/search/feature-matcher.ts +279 -0
  161. package/search/fuzzy-match.ts +64 -34
  162. package/search/index.ts +10 -0
  163. package/search/levenshtein-utils.ts +17 -11
  164. package/transport/errors.ts +310 -0
  165. package/transport/event/builder.ts +378 -0
  166. package/transport/event/index.ts +7 -0
  167. package/transport/event/types.ts +292 -0
  168. package/transport/events/index.ts +2670 -0
  169. package/transport/events/meta-overlay.ts +79 -0
  170. package/transport/events/types/agents.ts +177 -0
  171. package/transport/events/types/app-index.ts +9 -0
  172. package/transport/events/types/app.ts +475 -0
  173. package/transport/events/types/box-item.ts +222 -0
  174. package/transport/events/types/clipboard.ts +80 -0
  175. package/transport/events/types/core-box.ts +534 -0
  176. package/transport/events/types/device-idle.ts +7 -0
  177. package/transport/events/types/division-box.ts +99 -0
  178. package/transport/events/types/download.ts +115 -0
  179. package/transport/events/types/file-index.ts +73 -0
  180. package/transport/events/types/flow.ts +149 -0
  181. package/transport/events/types/index.ts +70 -0
  182. package/transport/events/types/market.ts +39 -0
  183. package/transport/events/types/meta-overlay.ts +184 -0
  184. package/transport/events/types/notification.ts +140 -0
  185. package/transport/events/types/permission.ts +90 -0
  186. package/transport/events/types/platform.ts +8 -0
  187. package/transport/events/types/plugin.ts +620 -0
  188. package/transport/events/types/sentry.ts +20 -0
  189. package/transport/events/types/storage.ts +208 -0
  190. package/transport/events/types/transport.ts +60 -0
  191. package/transport/events/types/tray.ts +16 -0
  192. package/transport/events/types/update.ts +78 -0
  193. package/transport/index.ts +139 -0
  194. package/transport/main.ts +2 -0
  195. package/transport/sdk/constants.ts +29 -0
  196. package/transport/sdk/domains/agents-market.ts +47 -0
  197. package/transport/sdk/domains/agents.ts +62 -0
  198. package/transport/sdk/domains/app.ts +48 -0
  199. package/transport/sdk/domains/disposable.ts +35 -0
  200. package/transport/sdk/domains/download.ts +139 -0
  201. package/transport/sdk/domains/index.ts +13 -0
  202. package/transport/sdk/domains/intelligence.ts +616 -0
  203. package/transport/sdk/domains/market.ts +35 -0
  204. package/transport/sdk/domains/notification.ts +62 -0
  205. package/transport/sdk/domains/permission.ts +85 -0
  206. package/transport/sdk/domains/platform.ts +19 -0
  207. package/transport/sdk/domains/plugin.ts +144 -0
  208. package/transport/sdk/domains/settings.ts +92 -0
  209. package/transport/sdk/domains/update.ts +64 -0
  210. package/transport/sdk/index.ts +60 -0
  211. package/transport/sdk/main-transport.ts +710 -0
  212. package/transport/sdk/main.ts +9 -0
  213. package/transport/sdk/plugin-transport.ts +654 -0
  214. package/transport/sdk/port-policy.ts +38 -0
  215. package/transport/sdk/renderer-transport.ts +1165 -0
  216. package/transport/types.ts +605 -0
  217. package/types/agent.ts +399 -0
  218. package/types/cloud-sync.ts +157 -0
  219. package/types/division-box.ts +31 -31
  220. package/types/download.ts +1 -0
  221. package/types/flow.ts +63 -12
  222. package/types/icon.ts +2 -1
  223. package/types/index.ts +5 -0
  224. package/types/intelligence.ts +166 -173
  225. package/types/modules/base.ts +2 -0
  226. package/types/path-browserify.d.ts +5 -0
  227. package/types/platform.ts +12 -0
  228. package/types/startup-info.ts +32 -0
  229. package/types/touch-app-core.ts +8 -8
  230. package/types/update.ts +94 -1
  231. package/vitest.config.ts +25 -0
  232. package/auth/useClerkConfig.ts +0 -40
  233. package/auth/useClerkProvider.ts +0 -52
@@ -0,0 +1,35 @@
1
+ export type Disposer = () => void
2
+
3
+ export interface DisposableBag {
4
+ add: (...disposers: Array<Disposer | null | undefined | false>) => void
5
+ dispose: () => void
6
+ readonly size: number
7
+ }
8
+
9
+ export function createDisposableBag(): DisposableBag {
10
+ const disposers = new Set<Disposer>()
11
+
12
+ return {
13
+ add: (...items) => {
14
+ for (const item of items) {
15
+ if (typeof item === 'function') {
16
+ disposers.add(item)
17
+ }
18
+ }
19
+ },
20
+ dispose: () => {
21
+ for (const disposer of disposers) {
22
+ try {
23
+ disposer()
24
+ }
25
+ catch {
26
+ // ignore disposer errors
27
+ }
28
+ }
29
+ disposers.clear()
30
+ },
31
+ get size() {
32
+ return disposers.size
33
+ },
34
+ }
35
+ }
@@ -0,0 +1,139 @@
1
+ import type {
2
+ DownloadAddTaskRequest,
3
+ DownloadAddTaskResponse,
4
+ DownloadClearHistoryItemRequest,
5
+ DownloadGetConfigResponse,
6
+ DownloadGetErrorStatsResponse,
7
+ DownloadGetHistoryRequest,
8
+ DownloadGetHistoryResponse,
9
+ DownloadGetLogsResponse,
10
+ DownloadGetNotificationConfigResponse,
11
+ DownloadGetStatsResponse,
12
+ DownloadGetTasksByStatusRequest,
13
+ DownloadGetTasksResponse,
14
+ DownloadGetTaskStatusResponse,
15
+ DownloadGetTempStatsResponse,
16
+ DownloadMigrationNeededResponse,
17
+ DownloadMigrationRetryResponse,
18
+ DownloadMigrationStartResponse,
19
+ DownloadMigrationStatusResponse,
20
+ DownloadNotificationClickedPayload,
21
+ DownloadOpResponse,
22
+ DownloadTaskIdRequest,
23
+ DownloadTaskPayload,
24
+ DownloadTaskRetryingPayload,
25
+ DownloadUpdateConfigRequest,
26
+ DownloadUpdateNotificationConfigRequest,
27
+ DownloadUpdatePriorityRequest,
28
+ } from '../../events/types'
29
+ import type { ITuffTransport } from '../../types'
30
+ import { DownloadEvents } from '../../events'
31
+
32
+ export interface DownloadSdk {
33
+ addTask: (request: DownloadAddTaskRequest) => Promise<DownloadAddTaskResponse>
34
+ pauseTask: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
35
+ resumeTask: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
36
+ cancelTask: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
37
+ retryTask: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
38
+ removeTask: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
39
+ updatePriority: (payload: DownloadUpdatePriorityRequest) => Promise<DownloadOpResponse>
40
+ pauseAll: () => Promise<DownloadOpResponse>
41
+ resumeAll: () => Promise<DownloadOpResponse>
42
+ cancelAll: () => Promise<DownloadOpResponse>
43
+
44
+ getAllTasks: () => Promise<DownloadGetTasksResponse>
45
+ getTasksByStatus: (payload: DownloadGetTasksByStatusRequest) => Promise<DownloadGetTasksResponse>
46
+ getTaskStatus: (payload: DownloadTaskIdRequest) => Promise<DownloadGetTaskStatusResponse>
47
+
48
+ getConfig: () => Promise<DownloadGetConfigResponse>
49
+ updateConfig: (payload: DownloadUpdateConfigRequest) => Promise<DownloadOpResponse>
50
+ getNotificationConfig: () => Promise<DownloadGetNotificationConfigResponse>
51
+ updateNotificationConfig: (
52
+ payload: DownloadUpdateNotificationConfigRequest,
53
+ ) => Promise<DownloadOpResponse>
54
+
55
+ getHistory: (payload?: DownloadGetHistoryRequest) => Promise<DownloadGetHistoryResponse>
56
+ clearHistory: () => Promise<DownloadOpResponse>
57
+ clearHistoryItem: (payload: DownloadClearHistoryItemRequest) => Promise<DownloadOpResponse>
58
+
59
+ openFile: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
60
+ showInFolder: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
61
+ deleteFile: (payload: DownloadTaskIdRequest) => Promise<DownloadOpResponse>
62
+
63
+ cleanupTemp: () => Promise<DownloadOpResponse>
64
+ getTempStats: () => Promise<DownloadGetTempStatsResponse>
65
+
66
+ getLogs: (payload?: { limit?: number }) => Promise<DownloadGetLogsResponse>
67
+ getErrorStats: () => Promise<DownloadGetErrorStatsResponse>
68
+ clearLogs: () => Promise<DownloadOpResponse>
69
+
70
+ getStats: () => Promise<DownloadGetStatsResponse>
71
+
72
+ checkMigrationNeeded: () => Promise<DownloadMigrationNeededResponse>
73
+ startMigration: () => Promise<DownloadMigrationStartResponse>
74
+ retryMigration: () => Promise<DownloadMigrationRetryResponse>
75
+ getMigrationStatus: () => Promise<DownloadMigrationStatusResponse>
76
+
77
+ onTaskAdded: (handler: (task: DownloadTaskPayload) => void) => () => void
78
+ onTaskProgress: (handler: (task: DownloadTaskPayload) => void) => () => void
79
+ onTaskCompleted: (handler: (task: DownloadTaskPayload) => void) => () => void
80
+ onTaskFailed: (handler: (task: DownloadTaskPayload) => void) => () => void
81
+ onTaskUpdated: (handler: (task: DownloadTaskPayload) => void) => () => void
82
+ onTaskRetrying: (handler: (payload: DownloadTaskRetryingPayload) => void) => () => void
83
+ onNotificationClicked: (handler: (payload: DownloadNotificationClickedPayload) => void) => () => void
84
+ }
85
+
86
+ export function createDownloadSdk(transport: ITuffTransport): DownloadSdk {
87
+ return {
88
+ addTask: request => transport.send(DownloadEvents.task.add, request),
89
+ pauseTask: payload => transport.send(DownloadEvents.task.pause, payload),
90
+ resumeTask: payload => transport.send(DownloadEvents.task.resume, payload),
91
+ cancelTask: payload => transport.send(DownloadEvents.task.cancel, payload),
92
+ retryTask: payload => transport.send(DownloadEvents.task.retry, payload),
93
+ removeTask: payload => transport.send(DownloadEvents.task.remove, payload),
94
+ updatePriority: payload => transport.send(DownloadEvents.task.updatePriority, payload),
95
+ pauseAll: () => transport.send(DownloadEvents.task.pauseAll),
96
+ resumeAll: () => transport.send(DownloadEvents.task.resumeAll),
97
+ cancelAll: () => transport.send(DownloadEvents.task.cancelAll),
98
+
99
+ getAllTasks: () => transport.send(DownloadEvents.list.getAll),
100
+ getTasksByStatus: payload => transport.send(DownloadEvents.list.getByStatus, payload),
101
+ getTaskStatus: payload => transport.send(DownloadEvents.task.getStatus, payload),
102
+
103
+ getConfig: () => transport.send(DownloadEvents.config.get),
104
+ updateConfig: payload => transport.send(DownloadEvents.config.update, payload),
105
+ getNotificationConfig: () => transport.send(DownloadEvents.config.getNotification),
106
+ updateNotificationConfig: payload =>
107
+ transport.send(DownloadEvents.config.updateNotification, payload),
108
+
109
+ getHistory: payload => transport.send(DownloadEvents.history.get, payload ?? {}),
110
+ clearHistory: () => transport.send(DownloadEvents.history.clear),
111
+ clearHistoryItem: payload => transport.send(DownloadEvents.history.clearItem, payload),
112
+
113
+ openFile: payload => transport.send(DownloadEvents.file.open, payload),
114
+ showInFolder: payload => transport.send(DownloadEvents.file.showInFolder, payload),
115
+ deleteFile: payload => transport.send(DownloadEvents.file.delete, payload),
116
+
117
+ cleanupTemp: () => transport.send(DownloadEvents.maintenance.cleanupTemp),
118
+ getTempStats: () => transport.send(DownloadEvents.temp.getStats),
119
+
120
+ getLogs: payload => transport.send(DownloadEvents.logs.get, payload ?? {}),
121
+ getErrorStats: () => transport.send(DownloadEvents.logs.getErrorStats),
122
+ clearLogs: () => transport.send(DownloadEvents.logs.clear),
123
+
124
+ getStats: () => transport.send(DownloadEvents.stats.get),
125
+
126
+ checkMigrationNeeded: () => transport.send(DownloadEvents.migration.checkNeeded),
127
+ startMigration: () => transport.send(DownloadEvents.migration.start),
128
+ retryMigration: () => transport.send(DownloadEvents.migration.retry),
129
+ getMigrationStatus: () => transport.send(DownloadEvents.migration.status),
130
+
131
+ onTaskAdded: handler => transport.on(DownloadEvents.push.taskAdded, handler),
132
+ onTaskProgress: handler => transport.on(DownloadEvents.push.taskProgress, handler),
133
+ onTaskCompleted: handler => transport.on(DownloadEvents.push.taskCompleted, handler),
134
+ onTaskFailed: handler => transport.on(DownloadEvents.push.taskFailed, handler),
135
+ onTaskUpdated: handler => transport.on(DownloadEvents.push.taskUpdated, handler),
136
+ onTaskRetrying: handler => transport.on(DownloadEvents.push.taskRetrying, handler),
137
+ onNotificationClicked: handler => transport.on(DownloadEvents.push.notificationClicked, handler),
138
+ }
139
+ }
@@ -0,0 +1,13 @@
1
+ export * from './agents'
2
+ export * from './agents-market'
3
+ export * from './app'
4
+ export * from './disposable'
5
+ export * from './download'
6
+ export * from './intelligence'
7
+ export * from './market'
8
+ export * from './notification'
9
+ export * from './permission'
10
+ export * from './platform'
11
+ export * from './plugin'
12
+ export * from './settings'
13
+ export * from './update'