@tiddlywiki/mws 0.0.21 → 0.1.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.
Files changed (202) hide show
  1. package/README.md +42 -9
  2. package/dist/metafile-esm.json +1 -0
  3. package/dist/mws.d.ts +1 -0
  4. package/dist/mws.js +34710 -0
  5. package/dist/mws.js.map +1 -0
  6. package/editions/mws-docs/tiddlers/$__StoryList.tid +1 -2
  7. package/editions/mws-docs/tiddlers/2025-02-18 - User Management.md.meta +2 -2
  8. package/editions/mws-docs/tiddlers/2025-04-14 - client plugins /342/234/224/357/270/217.md" +31 -0
  9. package/editions/mws-docs/tiddlers/2025-04-14 - client plugins /342/234/224/357/270/217.md.meta" +5 -0
  10. package/editions/mws-docs/tiddlers/{2025-05-04.md → 2025-05-04 - event hooks /342/234/224/357/270/217.md" } +7 -1
  11. package/editions/mws-docs/tiddlers/2025-05-04 - event hooks /342/234/224/357/270/217.md.meta" +5 -0
  12. package/editions/mws-docs/tiddlers/{2025-05-06.md → 2025-05-06 - syncer design.md } +0 -4
  13. package/editions/mws-docs/tiddlers/2025-05-06 - syncer design.md.meta +5 -0
  14. package/editions/mws-docs/tiddlers/Allowed Methods.tid +8 -0
  15. package/editions/mws-docs/tiddlers/Application Access & Security.md +14 -84
  16. package/editions/mws-docs/tiddlers/Application Access & Security.md.meta +1 -1
  17. package/editions/mws-docs/tiddlers/Body Format.md +19 -0
  18. package/editions/mws-docs/tiddlers/Body Format.md.meta +4 -0
  19. package/editions/mws-docs/tiddlers/Checklists and Features.md +0 -3
  20. package/editions/mws-docs/tiddlers/Checklists and Features.md.meta +1 -1
  21. package/editions/mws-docs/tiddlers/Client Plugins.md +17 -0
  22. package/editions/mws-docs/tiddlers/Client Plugins.md.meta +5 -0
  23. package/editions/mws-docs/tiddlers/HTTP API.md +4 -3
  24. package/editions/mws-docs/tiddlers/HTTP API.md.meta +1 -1
  25. package/editions/mws-docs/tiddlers/HelloThere.tid +2 -2
  26. package/editions/mws-docs/tiddlers/Installation.tid +2 -3
  27. package/editions/mws-docs/tiddlers/MWS Architecture.tid +6 -1
  28. package/editions/mws-docs/tiddlers/Multi-user Trust.md +12 -0
  29. package/editions/mws-docs/tiddlers/Multi-user Trust.md.meta +5 -0
  30. package/editions/mws-docs/tiddlers/Notes.tid +5 -3
  31. package/editions/mws-docs/tiddlers/Oracle Attacks.md +29 -0
  32. package/editions/mws-docs/tiddlers/Oracle Attacks.md.meta +5 -0
  33. package/editions/mws-docs/tiddlers/Reference.md +1 -0
  34. package/editions/mws-docs/tiddlers/Reference.md.meta +1 -1
  35. package/editions/mws-docs/tiddlers/Request Handling.md +53 -0
  36. package/editions/mws-docs/tiddlers/Request Handling.md.meta +5 -0
  37. package/editions/mws-docs/tiddlers/Roadmap.tid +7 -0
  38. package/editions/mws-docs/tiddlers/Route Definers.md +206 -0
  39. package/editions/mws-docs/tiddlers/Route Definers.md.meta +5 -0
  40. package/editions/mws-docs/tiddlers/Security.md +75 -0
  41. package/editions/mws-docs/tiddlers/Security.md.meta +5 -0
  42. package/editions/mws-docs/tiddlers/Server Plugins.md +7 -0
  43. package/editions/mws-docs/tiddlers/Server Plugins.md.meta +5 -0
  44. package/editions/mws-docs/tiddlers/Startup Cache.md +28 -0
  45. package/editions/mws-docs/tiddlers/Startup Cache.md.meta +5 -0
  46. package/editions/mws-docs/tiddlers/TiddlerFields.md +5 -0
  47. package/editions/mws-docs/tiddlers/TiddlerFields.md.meta +4 -0
  48. package/editions/mws-docs/tiddlers/Usage.tid +2 -2
  49. package/editions/mws-docs/tiddlers/system/$__mws_cssvar-macro.tid +10 -0
  50. package/editions/mws-docs/tiddlers/system/$__palettes_MUI +143 -0
  51. package/editions/mws-docs/tiddlers/system/$__palettes_MUI.meta +7 -0
  52. package/editions/mws-docs/tiddlers/system/$__palettes_MUI_styles.css +567 -0
  53. package/editions/mws-docs/tiddlers/system/$__palettes_MUI_styles.css.meta +6 -0
  54. package/editions/mws-docs/tiddlers/system/$__theme.tid +6 -0
  55. package/editions/mws-docs/tiddlers/system/SplashScreen.tid +21 -0
  56. package/editions/mws-docs/tiddlers/system/StaticBanner.tid +1 -1
  57. package/editions/mws-docs/tiddlers/system/Styles.tid +13 -0
  58. package/editions/mws-docs/tiddlers/system/palette.tid +4 -1
  59. package/editions/mws-docs/tiddlers/system/sidebarlayout.tid +4 -1
  60. package/editions/mws-docs/tiddlers/x-mws-tiddler.md +35 -0
  61. package/editions/mws-docs/tiddlers/x-mws-tiddler.md.meta +5 -0
  62. package/mws.run.mjs +30 -0
  63. package/package.json +47 -36
  64. package/plugins/client/package-lock.json +46 -83
  65. package/plugins/client/package.json +1 -6
  66. package/plugins/client/plugin.info +2 -2
  67. package/plugins/client/src/fflate.d.ts +1501 -0
  68. package/plugins/client/src/multiwikiclientadaptor.ts +768 -317
  69. package/plugins/client/src/mws.d.ts +4 -0
  70. package/plugins/client/src/types.d.ts +3928 -0
  71. package/plugins/client/tiddlers/en-US.multids +3 -0
  72. package/plugins/client/tiddlers/status/SaveWikiButtonTemplate.tid +3 -0
  73. package/plugins/client/tiddlers/status/icon-cloud.tid +4 -0
  74. package/plugins/client/tiddlers/status/info-segment.tid +8 -0
  75. package/plugins/client/tiddlers/status/readonly-styles.tid +27 -0
  76. package/plugins/client/tiddlers/status/save-offline.tid +7 -0
  77. package/plugins/client/tiddlers/status/save-wiki-button.tid +26 -0
  78. package/plugins/client/tiddlers/status/styles.tid +44 -0
  79. package/plugins/client/tiddlers/status/syncer-actions-copy-logs.tid +6 -0
  80. package/plugins/client/tiddlers/status/syncer-actions-login-status.tid +9 -0
  81. package/plugins/client/tiddlers/status/syncer-actions-login.tid +8 -0
  82. package/plugins/client/tiddlers/status/syncer-actions-logout.tid +8 -0
  83. package/plugins/client/tiddlers/status/syncer-actions-refresh.tid +9 -0
  84. package/plugins/client/tiddlers/status/syncer-actions-save-snapshot.tid +9 -0
  85. package/plugins/client/tiddlers/status/tags-syncerdropdown.tid +2 -0
  86. package/plugins/client/tiddlers/syncer/multiwikiclientadaptor.js +640 -0
  87. package/plugins/client/tiddlers/syncer/syncer.js +831 -0
  88. package/plugins/client/tsconfig.json +19 -16
  89. package/plugins/filter-ast-to-sql/example-run-series.ts +146 -0
  90. package/plugins/server/SplashScreen.tid +150 -0
  91. package/plugins/server/fflate.js +9 -0
  92. package/plugins/server/plugin.info +8 -0
  93. package/plugins/server/readme +1 -0
  94. package/plugins/server/url-polyfill.js +294 -0
  95. package/prisma/client/client.d.ts +1 -0
  96. package/prisma/client/client.js +3 -0
  97. package/prisma/client/default.d.ts +1 -0
  98. package/prisma/client/default.js +3 -0
  99. package/prisma/client/edge.d.ts +1 -0
  100. package/prisma/client/edge.js +297 -0
  101. package/prisma/client/index-browser.js +275 -0
  102. package/prisma/client/index.d.ts +17770 -0
  103. package/prisma/client/index.js +324 -0
  104. package/prisma/client/package.json +173 -0
  105. package/prisma/client/query_engine_bg.js +811 -0
  106. package/prisma/client/query_engine_bg.wasm +0 -0
  107. package/prisma/client/runtime/edge-esm.js +10000 -0
  108. package/prisma/client/runtime/edge.js +10036 -0
  109. package/prisma/client/runtime/index-browser.d.ts +370 -0
  110. package/prisma/client/runtime/index-browser.js +2300 -0
  111. package/prisma/client/runtime/library.d.ts +3681 -0
  112. package/prisma/client/runtime/library.js +10604 -0
  113. package/prisma/client/runtime/react-native.js +10629 -0
  114. package/prisma/client/runtime/wasm-compiler-edge.js +11238 -0
  115. package/prisma/client/runtime/wasm-engine-edge.js +7801 -0
  116. package/prisma/client/schema.prisma +156 -0
  117. package/prisma/client/wasm-edge-light-loader.mjs +4 -0
  118. package/prisma/client/wasm-worker-loader.mjs +4 -0
  119. package/prisma/client/wasm.d.ts +1 -0
  120. package/prisma/client/wasm.js +304 -0
  121. package/prisma/global.ts +53 -0
  122. package/prisma/migrations/{20250406213424_init → 20250606001949_init}/migration.sql +46 -48
  123. package/prisma/migrations/20250613000526_remove_group/migration.sql +22 -0
  124. package/prisma/migrations/20250620014502_settings/migration.sql +5 -0
  125. package/prisma/migrations/20250707205229_recipes/migration.sql +20 -0
  126. package/prisma/migrations/migration_lock.toml +1 -1
  127. package/prisma/notes.md +1 -2
  128. package/prisma/schema.prisma +52 -49
  129. package/prisma/test.sqlite +0 -0
  130. package/prisma/test.sqlite-journal +0 -0
  131. package/public/react-admin/android-chrome-192x192.png +0 -0
  132. package/public/react-admin/android-chrome-512x512.png +0 -0
  133. package/public/react-admin/apple-touch-icon.png +0 -0
  134. package/{react-user-mgmt/public/esm-QKDFEP3B.js → public/react-admin/esm-L4WLVWJN.js} +1 -1
  135. package/public/react-admin/esm-L4WLVWJN.js.map +7 -0
  136. package/public/react-admin/esm-QMNGI3LF.js +3 -0
  137. package/public/react-admin/favicon-16x16.png +0 -0
  138. package/public/react-admin/favicon-32x32.png +0 -0
  139. package/public/react-admin/favicon.ico +0 -0
  140. package/public/react-admin/index.html +36 -0
  141. package/public/react-admin/main.js +268 -0
  142. package/public/react-admin/main.js.map +7 -0
  143. package/public/react-admin/site.webmanifest +20 -0
  144. package/public/react-admin/stats.json +1 -0
  145. package/scripts.mjs +134 -25
  146. package/dist/server.d.ts +0 -945
  147. package/dist/server.js +0 -20775
  148. package/dist/server.js.map +0 -1
  149. package/editions/mws-docs/tiddlers/2025-04-03 - Phases of Development.md +0 -64
  150. package/editions/mws-docs/tiddlers/2025-04-03 - Phases of Development.md.meta +0 -5
  151. package/editions/mws-docs/tiddlers/2025-04-13 - Plugins.md +0 -18
  152. package/editions/mws-docs/tiddlers/2025-04-13 - Plugins.md.meta +0 -5
  153. package/editions/mws-docs/tiddlers/2025-05-04.md.meta +0 -5
  154. package/editions/mws-docs/tiddlers/2025-05-06.md.meta +0 -5
  155. package/editions/mws-docs/tiddlers/Moduler Design.md +0 -29
  156. package/editions/mws-docs/tiddlers/Moduler Design.md.meta +0 -5
  157. package/editions/mws-docs/tiddlers/Request Server.md +0 -20
  158. package/editions/mws-docs/tiddlers/Request Server.md.meta +0 -5
  159. package/editions/mws-docs/tiddlers/system/$__palettes_MUI-Dark +0 -173
  160. package/editions/mws-docs/tiddlers/system/$__palettes_MUI-Dark.meta +0 -6
  161. package/editions/mws-docs/tiddlers/system/$__palettes_MUI-Light +0 -172
  162. package/editions/mws-docs/tiddlers/system/$__palettes_MUI-Light.meta +0 -6
  163. package/plugins/client/tiddlers/config-tiddlers-filter.tid +0 -2
  164. package/plugins/client/tiddlers/config-use-server-sent-events.tid +0 -2
  165. package/plugins/client/tiddlers/info-segment.tid +0 -8
  166. package/plugins/client/tiddlers/multiwikiclientadaptor.js +0 -444
  167. package/prisma/migrations/20250407002306_disconnect_user_tables/migration.sql +0 -52
  168. package/prisma/old-db.sql +0 -144
  169. package/react-user-mgmt/README.md +0 -50
  170. package/react-user-mgmt/eslint.config.js +0 -28
  171. package/react-user-mgmt/package-lock.json +0 -2738
  172. package/react-user-mgmt/package.json +0 -31
  173. package/react-user-mgmt/public/index.html +0 -1
  174. package/react-user-mgmt/public/main.js +0 -295
  175. package/react-user-mgmt/public/main.js.map +0 -7
  176. package/react-user-mgmt/public/stats.json +0 -1
  177. package/react-user-mgmt/tsconfig.json +0 -40
  178. package/react-user-mgmt/types.d.ts +0 -2
  179. package/tiddlywiki-types/boot/boot.d.ts +0 -378
  180. package/tiddlywiki-types/boot/bootprefix.d.ts +0 -110
  181. package/tiddlywiki-types/core/modules/filters.d.ts +0 -107
  182. package/tiddlywiki-types/core/modules/tiddler.d.ts +0 -47
  183. package/tiddlywiki-types/core/modules/wiki-bulkops.d.ts +0 -36
  184. package/tiddlywiki-types/core/modules/wiki.d.ts +0 -208
  185. package/tiddlywiki-types/index.d.ts +0 -7
  186. package/tiddlywiki-types/package.json +0 -3
  187. /package/plugins/client/tiddlers/{sidebarsegment.tid → status/sidebarsegment.tid} +0 -0
  188. /package/plugins/client/tiddlers/{GettingStarted.tid → syncer/GettingStarted.tid} +0 -0
  189. /package/plugins/client/tiddlers/{config-incoming-updates-filter.tid → syncer/config-incoming-updates-filter.tid} +0 -0
  190. /package/plugins/client/tiddlers/{readme.tid → syncer/readme.tid} +0 -0
  191. /package/{react-user-mgmt/public → public/react-admin}/chunk-YALWN5OT.js +0 -0
  192. /package/{react-user-mgmt/public → public/react-admin}/chunk-YALWN5OT.js.map +0 -0
  193. /package/{react-user-mgmt/public/esm-QKDFEP3B.js.map → public/react-admin/esm-QMNGI3LF.js.map} +0 -0
  194. /package/{react-user-mgmt/public → public/react-admin}/favicon.png +0 -0
  195. /package/{react-user-mgmt/public → public/react-admin}/missing-favicon.png +0 -0
  196. /package/{react-user-mgmt/public → public/react-admin}/motovun-jack.jpg +0 -0
  197. /package/{react-user-mgmt/public → public/react-admin}/mws-icon.png +0 -0
  198. /package/{react-user-mgmt/public → public/react-admin}/stats.css +0 -0
  199. /package/{react-user-mgmt/public → public/react-admin}/stats.html +0 -0
  200. /package/{react-user-mgmt/public → public/react-admin}/stats.js +0 -0
  201. /package/{react-user-mgmt/public → public/react-admin}/stats.svg +0 -0
  202. /package/{react-user-mgmt/public → public/react-admin}/vite.svg +0 -0
@@ -1,40 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
- "target": "ES2020",
5
- "useDefineForClassFields": true,
6
- "lib": [
7
- "ES2020",
8
- "DOM",
9
- "DOM.Iterable"
10
- ],
11
- "module": "ESNext",
12
- "skipLibCheck": true,
13
- // "rootDir": ".", // useful for auditing the imports from outside the src folder
14
- "types": [],
15
- /* Bundler mode */
16
- "moduleResolution": "bundler",
17
- "allowImportingTsExtensions": true,
18
- "isolatedModules": true,
19
- "moduleDetection": "force",
20
- "noEmit": true,
21
- "jsx": "react-jsx",
22
- "allowArbitraryExtensions": true,
23
- /* Linting */
24
- "strict": true,
25
- "noUnusedLocals": false,
26
- "noUnusedParameters": false,
27
- "noFallthroughCasesInSwitch": true,
28
- "noUncheckedSideEffectImports": true,
29
- "paths": {
30
- "tiddlywiki": ["../tiddlywiki-types"]
31
- }
32
- },
33
- "include": [
34
- "src",
35
- "./types.d.ts"
36
- ],
37
- "exclude": [
38
- "src/helpers/forms-rjsf.tsx"
39
- ]
40
- }
@@ -1,2 +0,0 @@
1
-
2
- declare module "*.css";
@@ -1,378 +0,0 @@
1
- // Generated using Claude 3.7 Sonnet Thinking on 2025-03-25.
2
-
3
- import "./bootprefix";
4
- import * as prefix from "tiddlywiki/boot/bootprefix";
5
-
6
- declare module "tiddlywiki" {
7
- function TiddlyWiki(tw?: prefix.TW): TW;
8
-
9
- // Augment the existing TW interface with boot.js functionality
10
- interface TW {
11
- utils: TWUtils;
12
- wiki: Wiki;
13
- crypto: TWCrypto;
14
- Tiddler: TiddlerConstructor;
15
- hooks: TWHooks;
16
- safeMode?: boolean;
17
- locationHash: string;
18
- packageInfo: any;
19
- boot: TWBootNode;
20
- addUnloadTask(task: (event: BeforeUnloadEvent) => any): void;
21
- unloadTasks: Array<(event: BeforeUnloadEvent) => any>;
22
- modules: TWModules;
23
- passwordPrompt?: PasswordPrompt;
24
- sjcl: any;
25
-
26
- // Node.js specific file loading functions
27
- loadTiddlersFromFile(filepath: string, fields?: TiddlerFields): FileInfoTiddlers;
28
- loadMetadataForFile(filepath: string): TiddlerFields | null;
29
- loadTiddlersFromPath(filepath: string, excludeRegExp?: RegExp): FileInfoTiddlers[];
30
- loadTiddlersFromSpecification(filepath: string, excludeRegExp?: RegExp): FileInfoTiddlers[];
31
- loadPluginFolder(filepath: string, excludeRegExp?: RegExp): TiddlerFields | null;
32
- findLibraryItem(name: string, paths: string[]): string | null;
33
- getLibraryItemSearchPaths(libraryPath: string, envVar?: string): string[];
34
- loadPlugins(plugins: string[], libraryPath: string, envVar?: string): void;
35
- loadWikiTiddlers(wikiPath: string, options?: WikiLoadOptions): any;
36
- loadTiddlersNode(): void;
37
- loadTiddlersBrowser(): void;
38
- }
39
-
40
- interface TWConfig {
41
-
42
- pluginsPath: string;
43
- themesPath: string;
44
- languagesPath: string;
45
- editionsPath: string;
46
- wikiInfo: string;
47
- wikiPluginsSubDir: string;
48
- wikiThemesSubDir: string;
49
- wikiLanguagesSubDir: string;
50
- wikiTiddlersSubDir: string;
51
- wikiOutputSubDir: string;
52
- jsModuleHeaderRegExpString: string;
53
- fileExtensionInfo: Record<string, { type: string }>;
54
- contentTypeInfo: Record<string, {
55
- encoding: string;
56
- extension: string | string[];
57
- flags?: string[];
58
- deserializerType?: string;
59
- }>;
60
- pluginsEnvVar: string;
61
- themesEnvVar: string;
62
- languagesEnvVar: string;
63
- editionsEnvVar: string;
64
- maxEditFileSize: number;
65
- }
66
-
67
- interface TWBootBase {
68
- log(str: string): void;
69
- logMessages?: string[];
70
- argv: string[];
71
- excludeRegExp: RegExp;
72
- remainingStartupModules?: StartupModule[];
73
- executedStartupModules?: Record<string, boolean>;
74
- disabledStartupModules?: string[];
75
- executeNextStartupTask(callback?: () => void): boolean;
76
- doesTaskMatchPlatform(taskModule: StartupModule): boolean;
77
- isStartupTaskEligible(taskModule: StartupModule): boolean;
78
- decryptEncryptedTiddlers(callback: () => void): void;
79
- initStartup(options: BootOptions): void;
80
- loadStartup(options: BootOptions): void;
81
- execStartup(options: BootOptions): void;
82
- startup(options?: BootOptions): void;
83
- boot(callback?: () => void): void;
84
- }
85
-
86
- interface TWBootBrowser extends TWBootBase {
87
- bootPath: undefined;
88
- corePath: undefined;
89
- wikiPath: undefined;
90
- wikiInfo: undefined;
91
- files: undefined;
92
- wikiTiddlersPath: undefined;
93
- extraPlugins?: string[];
94
- }
95
-
96
- interface TWBootNode extends TWBootBase {
97
- bootPath: string;
98
- corePath: string;
99
- wikiPath: string;
100
- files: Record<string, FileInfo>;
101
- extraPlugins: string[];
102
- wikiInfo: object | null;
103
- wikiTiddlersPath: string;
104
- }
105
-
106
- // Options for boot functions
107
- interface BootOptions {
108
- callback?: () => void;
109
- bootPath?: string;
110
- }
111
-
112
- // Startup module interface
113
- interface StartupModule {
114
- name?: string;
115
- platforms?: string[];
116
- after?: string[];
117
- before?: string[];
118
- synchronous?: boolean;
119
- startup: (callback?: () => void) => void;
120
- }
121
-
122
- // File info interface
123
- interface FileInfo {
124
- filepath: string;
125
- type: string;
126
- hasMetaFile: boolean;
127
- isEditableFile: boolean;
128
- originalpath?: string;
129
- }
130
-
131
- // Additional interfaces for Node.js file operations
132
- interface FileInfoTiddlers {
133
- filepath: string;
134
- type: string;
135
- tiddlers: TiddlerFields[];
136
- hasMetaFile: boolean;
137
- isEditableFile?: boolean;
138
- }
139
-
140
- interface WikiLoadOptions {
141
- parentPaths?: string[];
142
- readOnly?: boolean;
143
- [key: string]: any;
144
- }
145
-
146
- // Utils interface for all utility functions
147
- interface TWUtils {
148
- // Core utility functions
149
- hop(object: any, property: string): boolean;
150
- isArray(value: any): boolean;
151
- isArrayEqual(array1: any[], array2: any[]): boolean;
152
- insertSortedArray(array: string[], value: string): string[];
153
- pushTop(array: any[], value: any | any[]): any[];
154
- isDate(value: any): boolean;
155
- each(object: any, callback: (element: any, title: string, object: any) => any): void;
156
- domMaker(tag: string, options?: DomMakerOptions): HTMLElement;
157
- error(err: string): void;
158
- extend(object: any, ...sourceObjects: any[]): any;
159
- deepDefaults(object: any, ...sourceObjects: any[]): any;
160
- decodeURIComponentSafe(s: string): string;
161
- decodeURISafe(s: string): string;
162
- htmlDecode(s: string): string;
163
- getLocationHash(): string;
164
- pad(value: number | string, length?: number): string;
165
- stringifyDate(value: Date): string;
166
- parseDate(value: string | Date): Date | null;
167
- stringifyList(value: string[]): string;
168
- parseStringArray(value: string | string[], allowDuplicate?: boolean): string[] | null;
169
- parseFields(text: string, fields?: Record<string, any>): Record<string, any>;
170
- parseJSONSafe<T>(text: string, defaultJSON?: T | ((e: Error) => T)): T;
171
- resolvePath(sourcepath: string, rootpath: string): string;
172
- parseVersion(version: string): VersionInfo | null;
173
- compareVersions(versionStringA: string, versionStringB: string): -1 | 0 | 1;
174
- checkVersions(versionStringA: string, versionStringB: string): boolean;
175
- registerFileType(type: string, encoding: string, extension: string | string[], options?: FileTypeOptions): void;
176
- getFileExtensionInfo(ext: string): { type: string } | null;
177
- getTypeEncoding(ext: string): string;
178
- evalGlobal(code: string, context: any, filename: string, sandbox?: any, allowGlobals?: boolean): any;
179
- evalSandboxed(code: string, context: any, filename: string, allowGlobals?: boolean): any;
180
- sandbox?: any;
181
- PasswordPrompt: PasswordPromptConstructor;
182
- Crypto: CryptoConstructor;
183
- }
184
-
185
- // DOM maker options
186
- interface DomMakerOptions {
187
- namespace?: string;
188
- document?: Document;
189
- attributes?: Record<string, string>;
190
- style?: Record<string, string>;
191
- text?: string;
192
- children?: HTMLElement[];
193
- innerHTML?: string;
194
- class?: string;
195
- eventListeners?: EventListenerInfo[];
196
- }
197
-
198
- interface EventListenerInfo {
199
- name: string;
200
- handlerFunction: EventListenerOrEventListenerObject;
201
- useCapture?: boolean;
202
- }
203
-
204
- // File type registration options
205
- interface FileTypeOptions {
206
- flags?: string[];
207
- deserializerType?: string;
208
- }
209
-
210
- // Version info interface
211
- interface VersionInfo {
212
- version: string;
213
- major: number;
214
- minor: number;
215
- patch: number;
216
- prerelease?: string;
217
- build?: string;
218
- }
219
-
220
- // Password prompt constructor
221
- interface PasswordPromptConstructor {
222
- new(): PasswordPrompt;
223
- }
224
-
225
- // Password prompt instance
226
- interface PasswordPrompt {
227
- passwordPrompts: Array<PromptInfo>;
228
- promptWrapper: HTMLElement;
229
- setWrapperDisplay(): void;
230
- createPrompt(options: PromptOptions): PromptInfo;
231
- removePrompt(promptInfo: PromptInfo): void;
232
- }
233
-
234
- interface PromptInfo {
235
- serviceName: string;
236
- callback: (data: any) => boolean;
237
- form: HTMLFormElement;
238
- owner: PasswordPrompt;
239
- }
240
-
241
- interface PromptOptions {
242
- submitText?: string;
243
- serviceName: string;
244
- noUserName?: boolean;
245
- canCancel?: boolean;
246
- repeatPassword?: boolean;
247
- callback: (data: any) => boolean;
248
- }
249
-
250
- // Crypto constructor
251
- interface CryptoConstructor {
252
- new(): TWCrypto;
253
- }
254
-
255
- // Crypto instance
256
- interface TWCrypto {
257
- setPassword(newPassword: string): void;
258
- updateCryptoStateTiddler(): void;
259
- hasPassword(): boolean;
260
- encrypt(text: string, password?: string): string;
261
- decrypt(text: string, password?: string): string;
262
- }
263
-
264
- // Hooks interface
265
- interface TWHooks {
266
- names: Record<string, Array<(...args: any[]) => any>>;
267
- addHook(hookName: string, definition: (...args: any[]) => any): void;
268
- removeHook(hookName: string, definition: (...args: any[]) => any): void;
269
- invokeHook(hookName: string, ...args: any[]): any;
270
- }
271
-
272
- // this interface is based on tw5-typed
273
- interface IHooksKnown {
274
- "th-before-importing": [tiddler: Tiddler];
275
- "th-boot-tiddlers-loaded": [];
276
- "th-cancelling-tiddler": [event: unknown];
277
- "th-closing-tiddler": [event: unknown];
278
- "th-deleting-tiddler": [title: string];
279
- "th-editing-tiddler": [event: unknown];
280
- "th-importing-file": [props: { callback: Function; file: { name: string; path?: string }; isBinary: boolean; type: string }];
281
- "th-importing-tiddler": [tiddler: Tiddler];
282
- "th-make-tiddler-path": [fullPath: string, fullPath: string];
283
- "th-navigating": [event: unknown];
284
- "th-new-tiddler": [event: unknown];
285
- "th-opening-default-tiddlers-list": [storyList: string[]];
286
- "th-page-refreshed": [];
287
- "th-page-refreshing": [];
288
- "th-relinking-tiddler": [toTiddler: Tiddler, fromTiddler: Tiddler];
289
- "th-renaming-tiddler": [toTiddler: Tiddler, fromTiddler: Tiddler];
290
- /** parseTreeNodes: IParseTreeNode | null, widget: Widget */
291
- "th-rendering-element": [parseTreeNodes: any, widget: any];
292
- "th-saving-tiddler": [toTiddler: Tiddler, fromTiddler: Tiddler];
293
- "th-server-command-post-start": [server: ServerClass, nodeServer: any, who: 'tiddlywiki' | 'mws'];
294
- }
295
-
296
- interface ServerClass {
297
-
298
- }
299
-
300
- // Wiki class interface
301
- interface Wiki {
302
- tiddlerExists(title: string): boolean;
303
- isShadowTiddler(title: string): boolean;
304
- getShadowSource(title: string): string | null;
305
- getTiddler(title: string): Tiddler | undefined;
306
- addTiddler(tiddler: Tiddler | TiddlerFields): void;
307
- addTiddlers(tiddlers: (Tiddler | TiddlerFields)[]): void;
308
- deleteTiddler(title: string): void;
309
- allTitles(): string[];
310
- each(callback: (tiddler: Tiddler, title: string) => void): void;
311
- allShadowTitles(): string[];
312
- eachShadow(callback: (tiddler: Tiddler, title: string) => void): void;
313
- eachTiddlerPlusShadows(callback: (tiddler: Tiddler, title: string) => void): void;
314
- eachShadowPlusTiddlers(callback: (tiddler: Tiddler, title: string) => void): void;
315
- getPluginTypes(): string[];
316
- readPluginInfo(titles?: string[]): { modifiedPlugins: string[], deletedPlugins: string[] };
317
- getPluginInfo(title: string): any;
318
- registerPluginTiddlers(pluginType: string | null, titles?: string[]): string[];
319
- unregisterPluginTiddlers(pluginType: string | null, titles?: string[]): string[];
320
- unpackPluginTiddlers(): void;
321
- clearCache(title: string | null): void;
322
- clearGlobalCache(): void;
323
- enqueueTiddlerEvent(title: string, removed?: boolean): void;
324
- defineTiddlerModules(): void;
325
- defineShadowModules(): void;
326
- processSafeMode(): void;
327
- deserializeTiddlers(type: string, text: string, srcFields?: TiddlerFields, options?: DeserializeOptions): TiddlerFields[];
328
- }
329
-
330
- // Constructor interface for Wiki
331
- interface WikiConstructor {
332
- new(options?: WikiOptions): Wiki;
333
- tiddlerDeserializerModules: Record<string, (text: string, fields: TiddlerFields, type?: string) => TiddlerFields[]>;
334
- }
335
-
336
- interface WikiOptions {
337
- enableIndexers?: string[] | null;
338
- [key: string]: any;
339
- }
340
-
341
- interface DeserializeOptions {
342
- deserializer?: string;
343
- [key: string]: any;
344
- }
345
-
346
- // Constructor interface for Tiddler
347
- interface TiddlerConstructor {
348
- new(...tiddlers: (Tiddler | TiddlerFields)[]): Tiddler;
349
- fieldModules: Record<string, TiddlerFieldModule>;
350
- }
351
-
352
- // Tiddler interface
353
- interface Tiddler {
354
- fields: TiddlerFields;
355
- cache: Record<string, any>;
356
- hasField(field: string): boolean;
357
- isEqual(tiddler: Tiddler, excludeFields?: string[]): boolean;
358
- }
359
-
360
- // Tiddler fields interface
361
- interface TiddlerFields {
362
- title?: string;
363
- text?: string;
364
- type?: string;
365
- tags?: string | string[];
366
- [key: string]: any;
367
- }
368
-
369
- // Tiddler field module interface
370
- interface TiddlerFieldModule {
371
- name: string;
372
- parse?: (value: any) => any;
373
- stringify?: (value: any) => string;
374
- editTag?: string;
375
- editType?: string;
376
- }
377
-
378
- }
@@ -1,110 +0,0 @@
1
- // Generated using Claude 3.7 Sonnet Thinking on 2025-03-25.
2
- declare module "tiddlywiki" {
3
-
4
- // Main TiddlyWiki interface - defined in global scope for augmentation
5
- interface TW {
6
- /** This represents `$tw.boot` at the completion of `$tw.boot.boot()` */
7
- boot: TWBootNode;
8
- config: TWConfig;
9
- browser: Record<string, any> | null;
10
- node: Record<string, any> | null;
11
- nodeWebKit: Record<string, any> | null;
12
- modules: TWModules;
13
- preloadTiddlers: Array<Record<string, any>>;
14
- preloadTiddler(fields: Record<string, any>): void;
15
- preloadTiddlerArray(fieldsArray: Array<Record<string, any>>): void;
16
- }
17
-
18
- // Breaking down into component interfaces for better augmentation
19
- interface TWBootBrowser {
20
- tasks: {
21
- trapErrors: boolean;
22
- readBrowserTiddlers: true;
23
- };
24
- }
25
- interface TWBootNode {
26
- tasks: {
27
- trapErrors: boolean;
28
- readBrowserTiddlers: false;
29
- };
30
- }
31
-
32
- interface TWConfig {
33
- maxEditFileSize: number;
34
- }
35
-
36
- interface TWModules {
37
- titles: Record<string, ModuleInfo>;
38
- types: Record<string, Record<string, ModuleInfo>>;
39
- /**
40
- Information about each module is kept in an object with these members:
41
- - `moduleType`: type of module
42
- - `definition`: `object`, `function` or `string` defining the module; see below
43
- - `exports`: exports of the module, filled in after execution
44
-
45
- The `definition` can be of several types:
46
-
47
- - An `object` can be used to directly specify the exports of the module
48
- - A `function` with the arguments `module, require, exports` that returns `exports`
49
- - A `string` function body with the same arguments
50
-
51
- Each moduleInfo object is stored in two hashmaps: $tw.modules.titles and $tw.modules.types. The first is indexed by title and the second is indexed by type and then title
52
-
53
- Define a JavaScript tiddler module for later execution
54
- moduleName: name of module being defined
55
- moduleType: type of module
56
- definition: module definition; see discussion above
57
- */
58
- define(moduleName: string, moduleType: string, definition: object | Function | string): void;
59
-
60
- execute(moduleName: string, moduleFrom: string): any;
61
- }
62
-
63
- interface ModuleInfo {
64
- moduleType: string;
65
- definition: object | Function | string;
66
- exports: any;
67
- }
68
-
69
- }
70
- declare module "tiddlywiki/boot/bootprefix" {
71
-
72
- function bootprefix(tw?: TW): TW;
73
-
74
- // Main TiddlyWiki interface - defined in global scope for augmentation
75
- interface TW {
76
- boot: TWBoot;
77
- config: TWConfig;
78
- browser: Record<string, any> | null;
79
- node: Record<string, any> | null;
80
- nodeWebKit: Record<string, any> | null;
81
- modules: TWModules;
82
- preloadTiddlers: Array<Record<string, any>>;
83
- preloadTiddler(fields: Record<string, any>): void;
84
- preloadTiddlerArray(fieldsArray: Array<Record<string, any>>): void;
85
- }
86
-
87
- // Breaking down into component interfaces for better augmentation
88
- interface TWBoot {
89
- tasks: {
90
- trapErrors: boolean;
91
- readBrowserTiddlers: boolean;
92
- };
93
- }
94
-
95
- interface TWConfig {
96
- maxEditFileSize: number;
97
- }
98
-
99
- interface TWModules {
100
- titles: Record<string, ModuleInfo>;
101
- types: Record<string, Record<string, ModuleInfo>>;
102
- define(moduleName: string, moduleType: string, definition: any): void;
103
- }
104
-
105
- interface ModuleInfo {
106
- moduleType: string;
107
- definition: object | Function | string;
108
- exports: any;
109
- }
110
- }
@@ -1,107 +0,0 @@
1
- // Generated using Claude 3.7 Sonnet Thinking on 2025-03-25.
2
- declare module "tiddlywiki" {
3
- interface Wiki {
4
- /**
5
- * Parses a filter string into a parse tree
6
- * @param filterString The string expression to parse
7
- * @returns An array of operations, each containing operator objects
8
- */
9
- parseFilter(filterString: string): ParsedFilter;
10
-
11
- /**
12
- * Returns a hashmap of all the filter operators
13
- * @returns Object containing all filter operator functions
14
- */
15
- getFilterOperators(): Record<string, FilterOperator>;
16
-
17
- /**
18
- * Returns a hashmap of all filter run prefixes
19
- * @returns Object containing all filter run prefix functions
20
- */
21
- getFilterRunPrefixes(): Record<string, FilterRunPrefix>;
22
-
23
- /**
24
- * Filters an array of tiddlers by a filter string
25
- * @param filterString The filter to apply
26
- * @param widget Optional widget node for context
27
- * @param source Optional source iterator function for tiddlers
28
- * @returns Array of tiddler titles
29
- */
30
- filterTiddlers(filterString: string, widget?: any, source?: TiddlerIterator | any[]): string[];
31
-
32
- /**
33
- * Compiles a filter into a function
34
- * @param filterString The filter to compile
35
- * @returns A function that will execute the filter
36
- */
37
- compileFilter(filterString: string): (source?: TiddlerIterator | any[] | object, widget?: any) => string[];
38
- }
39
-
40
- /**
41
- * The parse tree representation of a filter
42
- */
43
- type ParsedFilter = Array<{
44
- prefix: string;
45
- operators: Array<ParsedOperator>;
46
- namedPrefix?: string;
47
- suffixes?: Array<Array<string>>;
48
- }>;
49
-
50
- /**
51
- * An operator in a parsed filter
52
- */
53
- interface ParsedOperator {
54
- operator: string;
55
- prefix?: string;
56
- suffix?: string;
57
- suffixes?: Array<Array<string>>;
58
- regexp?: RegExp;
59
- operands: Array<{
60
- text: string;
61
- value?: string;
62
- indirect?: boolean;
63
- variable?: boolean;
64
- }>;
65
- }
66
-
67
- /**
68
- * A filter operator function
69
- */
70
- interface FilterOperator {
71
- (accumulator: TiddlerIterator, operatorOptions: OperatorOptions, context: FilterContext): string[] | TiddlerIterator;
72
- }
73
-
74
- /**
75
- * Options passed to a filter operator
76
- */
77
- interface OperatorOptions {
78
- operator: string;
79
- operand?: string;
80
- operands: string[];
81
- prefix?: string;
82
- suffix?: string;
83
- suffixes?: Array<Array<string>>;
84
- regexp?: RegExp;
85
- }
86
-
87
- /**
88
- * Context for filter execution
89
- */
90
- interface FilterContext {
91
- wiki: Wiki;
92
- widget?: any;
93
- }
94
-
95
- /**
96
- * Filter run prefix processor function
97
- */
98
- interface FilterRunPrefix {
99
- (operationFunction: (results: any, source: TiddlerIterator, widget: any) => void, options: { wiki: Wiki, suffixes: Array<Array<string>> }):
100
- (results: any, source: TiddlerIterator, widget: any) => void;
101
- }
102
-
103
- /**
104
- * Function that iterates through tiddlers
105
- */
106
- type TiddlerIterator = (callback: (tiddler: Tiddler, title: string) => void) => void;
107
- }
@@ -1,47 +0,0 @@
1
- // Generated using Claude 3.7 Sonnet Thinking on 2025-03-25.
2
-
3
- declare module "tiddlywiki" {
4
- interface Tiddler {
5
- /**
6
- * Checks if a tiddler has a specific tag
7
- */
8
- hasTag(tag: string): boolean;
9
-
10
- /**
11
- * Checks if a tiddler is a plugin
12
- */
13
- isPlugin(): boolean;
14
-
15
- /**
16
- * Checks if a tiddler is a draft
17
- */
18
- isDraft(): boolean;
19
-
20
- /**
21
- * Gets a field value as a string
22
- */
23
- getFieldString(field: string, defaultValue?: string): string;
24
-
25
- /**
26
- * Gets a field value as an array/list
27
- */
28
- getFieldList(field: string): string[];
29
-
30
- /**
31
- * Gets all fields as a hashmap of strings
32
- * @param options Options including fields to exclude
33
- */
34
- getFieldStrings(options?: { exclude?: string[] }): Record<string, string>;
35
-
36
- /**
37
- * Gets all fields as a name:value block
38
- * @param options Options including fields to exclude
39
- */
40
- getFieldStringBlock(options?: { exclude?: string[] }): string;
41
-
42
- /**
43
- * Gets a field value as a day value (timestamp with hours/minutes/seconds set to 0)
44
- */
45
- getFieldDay(field: string): string;
46
- }
47
- }