@cmodjs/core 4.0.1 → 4.0.3
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/docs/commands.md +1 -1
- package/docs/install-steps.md +1 -1
- package/docs/ui.md +2 -2
- package/package.json +1 -1
- package/records.d.ts +1 -1
- package/records.js +1 -1
- package/src/records.ts +1 -1
package/docs/commands.md
CHANGED
|
@@ -125,7 +125,7 @@ It needs, and refuses to start without:
|
|
|
125
125
|
|
|
126
126
|
## Install mods
|
|
127
127
|
|
|
128
|
-
`cmod install`, `cmod update`, `cmod remove`, `cmod enable`, `cmod disable`, `cmod link`, `cmod unlink`, and `cmod try` write the time to `plugins-changed` in the cmod store when they finish, also when they fail partway, such as an update that updated some mods. The cmod plugin of every running session watches that file and runs `/reload-plugins
|
|
128
|
+
`cmod install`, `cmod update`, `cmod remove`, `cmod enable`, `cmod disable`, `cmod link`, `cmod unlink`, and `cmod try` write the time to `plugins-changed` in the cmod store when they finish, also when they fail partway, such as an update that updated some mods. The cmod plugin of every running session watches that file, Claude Code's `installed_plugins.json`, and the `enabledPlugins` of the user's `settings.json`, and runs `/reload-plugins` when any of them changes. So each session runs the plugins the person has now, whether a `cmod` command, `/plugin`, `claude plugin`, or Claude Code's automatic update changed them. A reload keeps the prompt cache: the next request reads the whole conversation from the cache and pays only for the plugins' new content. A reload clears each mod's `memory` state. A machine where cmod set up no mod has no store, and these commands write nothing there. `cmod permission` needs no reload, because a mod sees its grants change before its next call.
|
|
129
129
|
|
|
130
130
|
### cmod install
|
|
131
131
|
|
package/docs/install-steps.md
CHANGED
|
@@ -45,7 +45,7 @@ The mod starts only once its install step has run ([mod.md](mod.md)).
|
|
|
45
45
|
|
|
46
46
|
## Automatic updates
|
|
47
47
|
|
|
48
|
-
Claude Code updates a plugin by itself only when its marketplace has automatic updates on, and they are off for every marketplace that is not Anthropic's. So the setup of a mod installed from a marketplace turns them on, through `"autoUpdate": true` on that marketplace's `extraKnownMarketplaces` entry in `settings.json`. The consent lists it as `Update <mod> automatically from the <marketplace> marketplace`, and a mod with nothing to consent to logs it. The setup never changes a choice the person made, in `settings.json` or with the toggle under `/plugin` Marketplaces, and leaves a linked mod alone.
|
|
48
|
+
Claude Code updates a plugin by itself only when its marketplace has automatic updates on, and they are off for every marketplace that is not Anthropic's. So the setup of a mod installed from a marketplace turns them on, through `"autoUpdate": true` on that marketplace's `extraKnownMarketplaces` entry in `settings.json`. The consent lists it as `Update <mod> automatically from the <marketplace> marketplace`, and a mod with nothing to consent to logs it. The setup never changes a choice the person made, in `settings.json` or with the toggle under `/plugin` Marketplaces, and leaves a linked mod alone. The cmod plugin's own `cmod` marketplace gets the same entry whenever a `cmod` command installs the cmod plugin or `cmod update` updates it.
|
|
49
49
|
|
|
50
50
|
Claude Code downloads an update in the background and loads it at the next launch or `/reload-plugins`. An update whose scripts, hotkeys, or permissions changed waits for consent again, so an update never runs a new install step unasked.
|
|
51
51
|
|
package/docs/ui.md
CHANGED
|
@@ -83,7 +83,7 @@ Progress(props: { value: number; width?: number })
|
|
|
83
83
|
|
|
84
84
|
## The Sidebar and its pages
|
|
85
85
|
|
|
86
|
-
The Sidebar is one pane the cmod plugin draws beside the conversation for every mod. Its tabs are the Dashboard, the pages mods opened, and Settings. The person shows or hides it with `
|
|
86
|
+
The Sidebar is one pane the cmod plugin draws beside the conversation for every mod. Its tabs are the Dashboard, the pages mods opened, and Settings. The person shows or hides it with `meta+0`, switches tabs with `0` for the Dashboard, `1` to `8` for the pages, and `9` for Settings, and closes a page with the `×` on its tab. They change both combos in Settings, under cmod, Hotkeys.
|
|
87
87
|
|
|
88
88
|
A page is a part of a mod that draws in the Sidebar. Put each page in its own file in `src/pages/`:
|
|
89
89
|
|
|
@@ -160,7 +160,7 @@ export const notes = defineMod({
|
|
|
160
160
|
|
|
161
161
|
### Settings pages
|
|
162
162
|
|
|
163
|
-
`mod.settings.add(page)` adds a page to the mod's entry in Settings, beside the Options, Permissions, Hotkeys, and Changelog cmod draws for every mod. It takes the same `PageInit` and returns the same `Page`. `mod.settings.open()` shows Settings at the mod's entry. `/mods` and `meta+
|
|
163
|
+
`mod.settings.add(page)` adds a page to the mod's entry in Settings, beside the Options, Permissions, Hotkeys, and Changelog cmod draws for every mod. It takes the same `PageInit` and returns the same `Page`. `mod.settings.open()` shows Settings at the mod's entry. `/mods` and `meta+m` open Settings too.
|
|
164
164
|
|
|
165
165
|
## Panes
|
|
166
166
|
|
package/package.json
CHANGED
package/records.d.ts
CHANGED
|
@@ -77,7 +77,7 @@ export declare function consentPath(store: string): string;
|
|
|
77
77
|
export declare function pluginsChangedPath(store: string): string;
|
|
78
78
|
export declare function widgetsPath(store: string): string;
|
|
79
79
|
export declare function parseConsent(value: unknown, path: string): Record<string, string[]>;
|
|
80
|
-
export declare const coreVersion = "4.0.
|
|
80
|
+
export declare const coreVersion = "4.0.3";
|
|
81
81
|
export declare function hotkeyCommand(mod: string, hotkey: string): string;
|
|
82
82
|
export declare function hotkeyBindings(mod: string, hotkeys: Hotkeys | undefined): Record<string, string>;
|
|
83
83
|
export declare function boundCombos(keybindings: unknown): Map<string, string>;
|
package/records.js
CHANGED
|
@@ -228,7 +228,7 @@ function readHotkeys(hotkeys) {
|
|
|
228
228
|
throw new Error(`package.json "cmod.hotkeys" is not a map of hotkeys to their title and default combo. ${fix}`);
|
|
229
229
|
return { hotkeys: checkHotkeys('package.json "cmod"', hotkeys) };
|
|
230
230
|
}
|
|
231
|
-
export const coreVersion = '4.0.
|
|
231
|
+
export const coreVersion = '4.0.3';
|
|
232
232
|
export function hotkeyCommand(mod, hotkey) {
|
|
233
233
|
return `${mod}--${hotkey}`;
|
|
234
234
|
}
|
package/src/records.ts
CHANGED
|
@@ -263,7 +263,7 @@ function readHotkeys(hotkeys: unknown): Steps {
|
|
|
263
263
|
return { hotkeys: checkHotkeys('package.json "cmod"', hotkeys as Record<string, HotkeyInit>) }
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
export const coreVersion = '4.0.
|
|
266
|
+
export const coreVersion = '4.0.3'
|
|
267
267
|
|
|
268
268
|
export function hotkeyCommand(mod: string, hotkey: string): string {
|
|
269
269
|
return `${mod}--${hotkey}`
|