@cmodjs/core 3.0.0 → 4.0.0
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 +39 -22
- package/docs/dependencies.md +27 -20
- package/docs/index.md +21 -17
- package/docs/install-steps.md +37 -29
- package/docs/jobs.md +25 -52
- package/docs/mod.md +94 -66
- package/docs/options.md +2 -2
- package/docs/permissions.md +7 -5
- package/docs/session.md +14 -12
- package/docs/testing.md +55 -32
- package/docs/ui.md +255 -263
- package/hotkeys.d.ts +22 -0
- package/hotkeys.d.ts.map +1 -0
- package/hotkeys.js +26 -0
- package/installer.d.ts +1 -1
- package/installer.d.ts.map +1 -1
- package/installer.js +11 -6
- package/jobs/check.d.ts +2 -1
- package/jobs/check.d.ts.map +1 -1
- package/jobs/check.js +2 -2
- package/jobs/context.d.ts +2 -1
- package/jobs/context.d.ts.map +1 -1
- package/jobs/context.js +1 -1
- package/jobs/permissions.d.ts +2 -1
- package/jobs/permissions.d.ts.map +1 -1
- package/jobs/permissions.js +2 -2
- package/jobs/program.js +1 -1
- package/jobs/prompt.d.ts +2 -1
- package/jobs/prompt.d.ts.map +1 -1
- package/jobs/prompt.js +20 -13
- package/jobs/schedule.d.ts +2 -1
- package/jobs/schedule.d.ts.map +1 -1
- package/jobs/schedule.js +15 -1
- package/jobs/slash-command.d.ts +6 -2
- package/jobs/slash-command.d.ts.map +1 -1
- package/jobs/slash-command.js +6 -5
- package/jobs/tool.d.ts +6 -4
- package/jobs/tool.d.ts.map +1 -1
- package/jobs/tool.js +3 -3
- package/mod.d.ts +63 -42
- package/mod.d.ts.map +1 -1
- package/mod.js +11 -1
- package/package.json +1 -1
- package/records.d.ts +14 -8
- package/records.d.ts.map +1 -1
- package/records.js +44 -31
- package/register.d.ts.map +1 -1
- package/register.js +1 -2
- package/runtime/announce.d.ts +1 -1
- package/runtime/announce.d.ts.map +1 -1
- package/runtime/announce.js +6 -7
- package/runtime/before.d.ts +2 -2
- package/runtime/before.d.ts.map +1 -1
- package/runtime/before.js +1 -1
- package/runtime/claude.d.ts +0 -1
- package/runtime/claude.d.ts.map +1 -1
- package/runtime/conversations.d.ts +4 -1
- package/runtime/conversations.d.ts.map +1 -1
- package/runtime/conversations.js +42 -14
- package/runtime/dependencies.d.ts.map +1 -1
- package/runtime/dependencies.js +2 -1
- package/runtime/engine.d.ts +5 -0
- package/runtime/engine.d.ts.map +1 -1
- package/runtime/grants.js +2 -2
- package/runtime/hooks.d.ts +1 -1
- package/runtime/hooks.d.ts.map +1 -1
- package/runtime/hotkeys.d.ts +15 -0
- package/runtime/hotkeys.d.ts.map +1 -0
- package/runtime/hotkeys.js +58 -0
- package/runtime/installer.d.ts +5 -2
- package/runtime/installer.d.ts.map +1 -1
- package/runtime/installer.js +23 -12
- package/runtime/lifecycle.d.ts.map +1 -1
- package/runtime/lifecycle.js +190 -141
- package/runtime/options.js +2 -2
- package/runtime/pages.d.ts +28 -0
- package/runtime/pages.d.ts.map +1 -0
- package/runtime/pages.js +98 -0
- package/runtime/parts.d.ts +14 -0
- package/runtime/parts.d.ts.map +1 -0
- package/runtime/parts.js +63 -0
- package/runtime/permission-check.d.ts +2 -2
- package/runtime/permission-check.d.ts.map +1 -1
- package/runtime/permission-check.js +12 -4
- package/runtime/programs.js +1 -1
- package/runtime/router.d.ts +2 -2
- package/runtime/router.d.ts.map +1 -1
- package/runtime/router.js +1 -1
- package/runtime/sessions.d.ts +10 -9
- package/runtime/sessions.d.ts.map +1 -1
- package/runtime/sessions.js +14 -5
- package/runtime/state.d.ts +2 -1
- package/runtime/state.d.ts.map +1 -1
- package/runtime/state.js +1 -0
- package/runtime/toaster.d.ts +1 -1
- package/runtime/toaster.d.ts.map +1 -1
- package/runtime/toaster.js +10 -4
- package/runtime/ui.d.ts +87 -5
- package/runtime/ui.d.ts.map +1 -1
- package/runtime/ui.js +372 -109
- package/runtime/watches.d.ts +9 -0
- package/runtime/watches.d.ts.map +1 -0
- package/runtime/watches.js +73 -0
- package/runtime/widgets.d.ts +48 -0
- package/runtime/widgets.d.ts.map +1 -0
- package/runtime/widgets.js +219 -0
- package/session/context/turn/message/message.d.ts.map +1 -1
- package/session/context/turn/message/message.js +7 -2
- package/session/session.d.ts +11 -5
- package/session/session.d.ts.map +1 -1
- package/src/hotkeys.ts +51 -0
- package/src/installer.ts +8 -4
- package/src/jobs/check.ts +4 -3
- package/src/jobs/context.ts +3 -2
- package/src/jobs/permissions.ts +4 -3
- package/src/jobs/program.ts +1 -1
- package/src/jobs/prompt.ts +23 -14
- package/src/jobs/schedule.ts +16 -2
- package/src/jobs/slash-command.ts +10 -7
- package/src/jobs/tool.ts +7 -5
- package/src/mod.ts +59 -47
- package/src/records.ts +50 -31
- package/src/register.ts +2 -3
- package/src/runtime/announce.ts +6 -7
- package/src/runtime/before.ts +4 -4
- package/src/runtime/claude.ts +0 -1
- package/src/runtime/conversations.ts +66 -20
- package/src/runtime/dependencies.ts +2 -1
- package/src/runtime/engine.ts +5 -0
- package/src/runtime/grants.ts +2 -2
- package/src/runtime/hooks.ts +1 -0
- package/src/runtime/hotkeys.ts +80 -0
- package/src/runtime/installer.ts +24 -12
- package/src/runtime/lifecycle.ts +189 -136
- package/src/runtime/options.ts +2 -2
- package/src/runtime/pages.ts +127 -0
- package/src/runtime/parts.ts +72 -0
- package/src/runtime/permission-check.ts +13 -5
- package/src/runtime/programs.ts +1 -1
- package/src/runtime/router.ts +3 -3
- package/src/runtime/sessions.ts +24 -15
- package/src/runtime/state.ts +3 -1
- package/src/runtime/toaster.ts +10 -4
- package/src/runtime/ui.ts +405 -115
- package/src/runtime/watches.ts +75 -0
- package/src/runtime/widgets.ts +287 -0
- package/src/session/context/turn/message/message.ts +7 -2
- package/src/session/session.ts +10 -6
- package/src/testing/fake-claude.ts +9 -6
- package/src/testing/fake-elements.ts +7 -4
- package/src/testing/fake-sessions.ts +6 -4
- package/src/testing.ts +203 -46
- package/src/ui/areas.ts +27 -0
- package/src/ui/elements.ts +35 -0
- package/src/ui/markdown.ts +18 -18
- package/src/ui/panes.ts +73 -0
- package/src/ui/styles.ts +53 -0
- package/src/utils/subscription.ts +1 -0
- package/testing/fake-claude.d.ts +0 -1
- package/testing/fake-claude.d.ts.map +1 -1
- package/testing/fake-claude.js +9 -5
- package/testing/fake-elements.js +7 -4
- package/testing/fake-sessions.d.ts +2 -1
- package/testing/fake-sessions.d.ts.map +1 -1
- package/testing/fake-sessions.js +1 -0
- package/testing.d.ts +21 -6
- package/testing.d.ts.map +1 -1
- package/testing.js +206 -45
- package/ui/areas.d.ts +29 -0
- package/ui/areas.d.ts.map +1 -0
- package/ui/areas.js +6 -0
- package/ui/elements.d.ts +3 -0
- package/ui/elements.d.ts.map +1 -1
- package/ui/elements.js +36 -0
- package/ui/markdown.d.ts +14 -14
- package/ui/markdown.d.ts.map +1 -1
- package/ui/markdown.js +11 -11
- package/ui/panes.d.ts +71 -0
- package/ui/panes.d.ts.map +1 -0
- package/ui/panes.js +16 -0
- package/ui/styles.d.ts +44 -0
- package/ui/styles.d.ts.map +1 -0
- package/ui/styles.js +24 -0
- package/utils/subscription.d.ts +4 -0
- package/utils/subscription.d.ts.map +1 -0
- package/jobs/status-line.d.ts +0 -6
- package/jobs/status-line.d.ts.map +0 -1
- package/jobs/status-line.js +0 -39
- package/src/jobs/status-line.ts +0 -44
- package/src/ui/define-pane.ts +0 -27
- package/src/ui/places.ts +0 -49
- package/src/utils/disposable.ts +0 -3
- package/ui/define-pane.d.ts +0 -15
- package/ui/define-pane.d.ts.map +0 -1
- package/ui/define-pane.js +0 -12
- package/ui/places.d.ts +0 -43
- package/ui/places.d.ts.map +0 -1
- package/ui/places.js +0 -31
- package/utils/disposable.d.ts +0 -4
- package/utils/disposable.d.ts.map +0 -1
- /package/utils/{disposable.js → subscription.js} +0 -0
package/mod.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import type { AskOptions, CmodDependencies, ConfigRow as ClaudeConfigRow, FsStatOptions, HookStream, HttpInit, HttpResponse, ModelCompleteOptions, ModelCompleteRequest, ModelCompleteResult,
|
|
2
|
-
import type
|
|
1
|
+
import type { AskOptions, CmodDependencies, ConfigRow as ClaudeConfigRow, FsStatOptions, HookStream, HttpInit, HttpResponse, ModelCompleteOptions, ModelCompleteRequest, ModelCompleteResult, ProcessRunInit, ProcessRunResult, ProcessSpawnChunk, ProcessSpawnRequest, ProcessSpawnResult, RenderElement, Settings } from 'claude-code';
|
|
2
|
+
import { type Hotkey, type HotkeyInit, type Hotkeys } from './hotkeys.js';
|
|
3
|
+
import { type Step } from './installer.js';
|
|
3
4
|
import { type Option, type Options, type OptionValues } from './options.js';
|
|
4
5
|
import { type BeforeMethod, type CommandRun, type CommandRunAnswer, type OnMethod, type Sessions } from './session/session.js';
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
6
|
+
import type { Widget, WidgetInit } from './ui/areas.js';
|
|
7
|
+
import type { Page, PageInit, Pane, PaneInit } from './ui/panes.js';
|
|
8
|
+
import type { Kind, Style, StyleInit } from './ui/styles.js';
|
|
8
9
|
import type { Matcher } from './utils/matcher.js';
|
|
9
|
-
|
|
10
|
+
import type { Subscription } from './utils/subscription.js';
|
|
11
|
+
export type { Subscription };
|
|
12
|
+
export type Timer = {
|
|
13
|
+
readonly isRunning: boolean;
|
|
14
|
+
stop(): void;
|
|
15
|
+
};
|
|
16
|
+
export type Reservation = {
|
|
17
|
+
remove(): void;
|
|
18
|
+
};
|
|
10
19
|
export type ToastId = string | number;
|
|
11
20
|
export type ToastType = 'default' | 'success' | 'info' | 'warning' | 'error' | 'loading';
|
|
12
21
|
export type ToastOptions = {
|
|
@@ -35,14 +44,6 @@ export type Toast = {
|
|
|
35
44
|
};
|
|
36
45
|
dismiss(id?: ToastId): void;
|
|
37
46
|
};
|
|
38
|
-
export type PaneHandle = {
|
|
39
|
-
open(options?: Readonly<Pick<PaneOpenArgs, 'focus'>>): Promise<void>;
|
|
40
|
-
close(): Promise<void>;
|
|
41
|
-
toggle(options?: Readonly<Pick<PaneOpenArgs, 'focus'>>): Promise<void>;
|
|
42
|
-
readonly isOpen: boolean;
|
|
43
|
-
readonly isShown: boolean;
|
|
44
|
-
readonly isFocused: boolean;
|
|
45
|
-
};
|
|
46
47
|
export type Metadata = Readonly<Record<string, string>>;
|
|
47
48
|
export type FileMatch = {
|
|
48
49
|
readonly path: string;
|
|
@@ -123,8 +124,8 @@ export type Imports = {
|
|
|
123
124
|
readonly user: SettingsFile;
|
|
124
125
|
readonly project: SettingsFile;
|
|
125
126
|
readonly local: SettingsFile;
|
|
126
|
-
beforeFileChange(listener: SettingsFileChangeListener):
|
|
127
|
-
beforeFileChange(matcher: Matcher<SettingsFileChange>, listener: SettingsFileChangeListener):
|
|
127
|
+
beforeFileChange(listener: SettingsFileChangeListener): Subscription;
|
|
128
|
+
beforeFileChange(matcher: Matcher<SettingsFileChange>, listener: SettingsFileChangeListener): Subscription;
|
|
128
129
|
};
|
|
129
130
|
readonly model: {
|
|
130
131
|
complete(request: ModelCompleteRequest, options?: ModelCompleteOptions): Promise<ModelCompleteResult>;
|
|
@@ -138,7 +139,7 @@ export type Imports = {
|
|
|
138
139
|
stat(path: string, options?: FsStatOptions): Promise<Stat>;
|
|
139
140
|
onChange(matcher: {
|
|
140
141
|
readonly path: string | readonly string[];
|
|
141
|
-
}, listener: (change: FileChange) => unknown):
|
|
142
|
+
}, listener: (change: FileChange) => unknown): Subscription;
|
|
142
143
|
};
|
|
143
144
|
readonly metadata: {
|
|
144
145
|
read(path: string): Promise<Metadata>;
|
|
@@ -151,6 +152,9 @@ export type Imports = {
|
|
|
151
152
|
readonly http: {
|
|
152
153
|
fetch(url: string, init?: HttpInit): Promise<HttpResponse>;
|
|
153
154
|
};
|
|
155
|
+
readonly clipboard: {
|
|
156
|
+
write(text: string): Promise<void>;
|
|
157
|
+
};
|
|
154
158
|
};
|
|
155
159
|
export declare const sessions: Imports['sessions'];
|
|
156
160
|
export declare const settings: Imports['settings'];
|
|
@@ -161,32 +165,41 @@ export declare const fs: Imports['fs'];
|
|
|
161
165
|
export declare const metadata: Imports['metadata'];
|
|
162
166
|
export declare const process: Imports['process'];
|
|
163
167
|
export declare const http: Imports['http'];
|
|
164
|
-
export
|
|
168
|
+
export declare const clipboard: Imports['clipboard'];
|
|
169
|
+
export type Mod<State extends object = Record<never, never>, Declared extends Options = Options, Keys extends Hotkeys = Hotkeys> = {
|
|
165
170
|
readonly name: string;
|
|
166
171
|
readonly folder: string;
|
|
167
172
|
readonly dataFolder: string;
|
|
168
173
|
readonly state: Readonly<State>;
|
|
169
174
|
readonly options: OptionValues<Declared>;
|
|
170
175
|
readonly permissions: Permissions;
|
|
171
|
-
|
|
172
|
-
|
|
176
|
+
readonly hotkeys: {
|
|
177
|
+
readonly [Key in keyof Keys]: Hotkey;
|
|
178
|
+
};
|
|
179
|
+
every(ms: number, listener: () => unknown): Timer;
|
|
180
|
+
after(ms: number, listener: () => unknown): Timer;
|
|
173
181
|
use<Handle>(job: Job<Handle, State>): Handle;
|
|
174
182
|
log(text: string, options?: {
|
|
175
183
|
readonly to?: 'debug' | 'transcript';
|
|
176
184
|
}): void;
|
|
177
|
-
readonly
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
copy(text: string): Promise<void>;
|
|
183
|
-
scroll(args: UiScrollArgs): Promise<UiScrollResult>;
|
|
184
|
-
notice(callId: string, text: string | undefined): void;
|
|
185
|
+
readonly panes: {
|
|
186
|
+
add<Params = undefined>(pane: PaneInit<State, Params>): Pane<Params>;
|
|
187
|
+
};
|
|
188
|
+
readonly sidebar: {
|
|
189
|
+
add<Params = undefined>(page: PageInit<State, Params>): Page<Params>;
|
|
185
190
|
};
|
|
186
191
|
readonly settings: {
|
|
187
|
-
|
|
188
|
-
open(
|
|
192
|
+
add<Params = undefined>(page: PageInit<State, Params>): Page<Params>;
|
|
193
|
+
open(): Promise<void>;
|
|
194
|
+
};
|
|
195
|
+
readonly widgets: {
|
|
196
|
+
add(widget: WidgetInit<State>): Widget;
|
|
197
|
+
};
|
|
198
|
+
readonly styles: {
|
|
199
|
+
add<K extends Kind>(style: StyleInit<K, State>): Style;
|
|
189
200
|
};
|
|
201
|
+
readonly toast: Toast;
|
|
202
|
+
ask(question: string, options?: readonly string[] | AskOptions): Promise<string>;
|
|
190
203
|
readonly dependencies: CmodDependencies;
|
|
191
204
|
};
|
|
192
205
|
export declare const Mod = "mod";
|
|
@@ -196,29 +209,37 @@ type StateGroups = {
|
|
|
196
209
|
readonly project?: object;
|
|
197
210
|
readonly global?: object;
|
|
198
211
|
};
|
|
199
|
-
type
|
|
200
|
-
readonly [
|
|
201
|
-
};
|
|
202
|
-
|
|
212
|
+
type AnyApi = {
|
|
213
|
+
readonly [method: string]: (input: never) => unknown;
|
|
214
|
+
} | void;
|
|
215
|
+
type Api<Name extends string> = 0 extends 1 & CmodDependencies ? AnyApi : Name extends keyof CmodDependencies ? {
|
|
216
|
+
readonly [Method in keyof CmodDependencies[Name]]: CmodDependencies[Name][Method] extends (input: infer Input) => infer Result ? (input: Input) => Result | Awaited<Result> : never;
|
|
217
|
+
} : AnyApi;
|
|
218
|
+
export type ModDefinition<State extends StateGroups = Record<never, never>, Name extends string = string, Declared extends Options = Record<never, Option>, Keys extends Hotkeys = Record<never, HotkeyInit>> = {
|
|
203
219
|
readonly name: Name;
|
|
204
220
|
readonly state?: State;
|
|
205
221
|
readonly options?: Declared;
|
|
206
|
-
readonly
|
|
207
|
-
readonly [method: string]: (input: never, mod: Mod<State>) => unknown;
|
|
208
|
-
};
|
|
222
|
+
readonly hotkeys?: Keys;
|
|
209
223
|
readonly installer?: readonly Step<State>[];
|
|
210
|
-
setup(mod: Mod<State, Declared>):
|
|
224
|
+
setup(mod: Mod<State, Declared, Keys>): Api<Name> | Promise<Api<Name>>;
|
|
211
225
|
};
|
|
212
226
|
export type JobContext<State extends object = Record<never, never>> = {
|
|
213
227
|
readonly mod: Mod<State>;
|
|
214
228
|
announce(feature: string): void;
|
|
215
|
-
reserveName(type: string, name: string, taken: string):
|
|
229
|
+
reserveName(type: string, name: string, taken: string): Reservation;
|
|
216
230
|
};
|
|
217
231
|
export type Job<Handle, State extends object = Record<never, never>> = (context: JobContext<State>) => Handle;
|
|
218
|
-
export declare function defineMod<State extends StateGroups = Record<never, never>, Name extends string = string, const Declared extends Options = Record<never, Option>>(definition: ModDefinition<State, Name, Declared>): ModDefinition<State, Name, Declared>;
|
|
232
|
+
export declare function defineMod<State extends StateGroups = Record<never, never>, Name extends string = string, const Declared extends Options = Record<never, Option>, const Keys extends Hotkeys = Record<never, HotkeyInit>>(definition: ModDefinition<State, Name, Declared, Keys>): ModDefinition<State, Name, Declared, Keys>;
|
|
219
233
|
export type { Matcher } from './utils/matcher.js';
|
|
220
|
-
export type {
|
|
221
|
-
export {
|
|
234
|
+
export type { Combo, Hotkey, HotkeyInit, Key } from './hotkeys.js';
|
|
235
|
+
export type { OpenOptions, Page, PageInit, PageProps, Pane, PaneInit, PaneProps, ScrollOptions, ScrollTarget } from './ui/panes.js';
|
|
236
|
+
export type { Kind, Row, Style, StyleInit, StyleProps } from './ui/styles.js';
|
|
237
|
+
export type { Block } from './ui/markdown.js';
|
|
238
|
+
export { AskUserQuestion, CommandOutput, ToolGroup, ToolProgress } from './ui/styles.js';
|
|
239
|
+
export { AbovePrompt, BelowPrompt, Dashboard, TurnEnd, Working, type Area, type Widget, type WidgetContext, type WidgetInit } from './ui/areas.js';
|
|
240
|
+
export type { Step } from './installer.js';
|
|
241
|
+
export type { SlashCommand } from './jobs/slash-command.js';
|
|
242
|
+
export type { Tool } from './jobs/tool.js';
|
|
222
243
|
export { Session, type AnswerOptions, type BeforeMethods, type Surface, type Listener, type ListenerTime, type OnMethods, type ReadOptions, type RecordPart, type Refusal, type SearchOptions, type SessionScope, type SessionSend, type Sessions, type CurrentSession, type Placement, type ProjectSetup, type SessionStartAsked, type SessionStarted, type SessionEnded, type ModelChange, type CwdChange, type DirectoryAdd, type Worktree, type Notification, type Elicitation, type ElicitationResponse, type McpServer, type PermissionUpdate, type PermissionCheck, type PermissionRequest, type PermissionDenial, type BatchedCall, type ToolBatch, type Todo, type ReplyDisplay, type TaskOwner, type TaskStartArgs, type ToolCallArgs, type Usage, type CommandRun, type CommandRunAnswer } from './session/session.js';
|
|
223
244
|
export type { Context } from './session/context/context.js';
|
|
224
245
|
export type { Turn } from './session/context/turn/turn.js';
|
package/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["src/mod.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["src/mod.ts"],"names":[],"mappings":"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"}
|
package/mod.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { checkHotkeys } from './hotkeys.js';
|
|
2
|
+
import { checkSteps } from './installer.js';
|
|
1
3
|
import { checkOptions } from './options.js';
|
|
2
4
|
import { bound } from './runtime/bound.js';
|
|
3
5
|
import { Mod as modSender } from './session/context/turn/message/sender.js';
|
|
@@ -48,15 +50,23 @@ export const process = {
|
|
|
48
50
|
export const http = {
|
|
49
51
|
fetch: (url, init) => bound().http.fetch(url, init),
|
|
50
52
|
};
|
|
53
|
+
export const clipboard = {
|
|
54
|
+
write: (text) => bound().clipboard.write(text),
|
|
55
|
+
};
|
|
51
56
|
export const Mod = modSender;
|
|
52
57
|
export function defineMod(definition) {
|
|
53
58
|
if (definition.name.trim() === '')
|
|
54
59
|
throw new Error('defineMod: the mod needs a name, such as the name in .claude-plugin/plugin.json.');
|
|
55
60
|
if (definition.options !== undefined)
|
|
56
61
|
checkOptions(definition.name, definition.options);
|
|
62
|
+
if (definition.hotkeys !== undefined)
|
|
63
|
+
checkHotkeys(definition.name, definition.hotkeys);
|
|
64
|
+
if (definition.installer !== undefined)
|
|
65
|
+
checkSteps(definition.name, definition.installer);
|
|
57
66
|
return definition;
|
|
58
67
|
}
|
|
59
|
-
export {
|
|
68
|
+
export { AskUserQuestion, CommandOutput, ToolGroup, ToolProgress } from './ui/styles.js';
|
|
69
|
+
export { AbovePrompt, BelowPrompt, Dashboard, TurnEnd, Working } from './ui/areas.js';
|
|
60
70
|
export { Session } from './session/session.js';
|
|
61
71
|
export { Prompt } from './session/context/turn/message/prompt.js';
|
|
62
72
|
export { Note } from './session/context/turn/message/note.js';
|
package/package.json
CHANGED
package/records.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Hotkeys } from './hotkeys.js';
|
|
1
2
|
export type InstallRecord = {
|
|
2
3
|
name: string;
|
|
3
4
|
version: string;
|
|
@@ -12,7 +13,7 @@ export type Steps = {
|
|
|
12
13
|
install?: string;
|
|
13
14
|
uninstall?: string;
|
|
14
15
|
program?: string;
|
|
15
|
-
|
|
16
|
+
hotkeys?: Hotkeys;
|
|
16
17
|
permissions?: readonly string[];
|
|
17
18
|
};
|
|
18
19
|
export declare const listPermissions: readonly ['network', 'run', 'files', 'config'];
|
|
@@ -33,7 +34,7 @@ export type RunnerEvent = {
|
|
|
33
34
|
sha256: string;
|
|
34
35
|
install: string;
|
|
35
36
|
uninstall: string;
|
|
36
|
-
|
|
37
|
+
hotkeys: string;
|
|
37
38
|
permissions: readonly string[];
|
|
38
39
|
} | {
|
|
39
40
|
type: 'done';
|
|
@@ -62,21 +63,26 @@ export declare function configFolders(env: Record<string, string | undefined>, n
|
|
|
62
63
|
export declare function readRecord(read: ReadFile, store: string, name: string): Promise<InstallRecord | undefined>;
|
|
63
64
|
export declare function writeRecord(write: (path: string, text: string) => Promise<void>, store: string, record: InstallRecord): Promise<void>;
|
|
64
65
|
export declare function readSteps(pkg: unknown): Steps | undefined;
|
|
66
|
+
export declare const grantFix = "Turn it on in Settings.";
|
|
67
|
+
export declare const installFix = "Install it in Plugins.";
|
|
68
|
+
export declare const secretFix = "Set it in /config, where Claude Code keeps it in your keychain.";
|
|
65
69
|
export declare function permissionWords(item: string): string;
|
|
66
70
|
export declare function settingPaths(values: Readonly<Record<string, unknown>>): string[][];
|
|
67
71
|
export declare function isSettingCovered(granted: Iterable<string>, path: string): boolean;
|
|
68
|
-
export declare const settingsPagesMethod = "cmod:settingsPages";
|
|
69
|
-
export declare const changelogPage = "changelog";
|
|
70
|
-
export declare const openPageMethod = "cmod:openPage";
|
|
71
72
|
export declare const pendingStepsMethod = "cmod:pendingSteps";
|
|
72
73
|
export declare const finishStepsMethod = "cmod:finishSteps";
|
|
73
74
|
export declare function marketplaceOf(root: string, name: string): string | undefined;
|
|
74
75
|
export declare function updatesToTurnOn(marketplace: string | undefined, settings: unknown, known: unknown): string | undefined;
|
|
75
76
|
export declare function consentPath(store: string): string;
|
|
77
|
+
export declare function pluginsChangedPath(store: string): string;
|
|
78
|
+
export declare function widgetsPath(store: string): string;
|
|
76
79
|
export declare function parseConsent(value: unknown, path: string): Record<string, string[]>;
|
|
77
|
-
export declare const coreVersion = "
|
|
78
|
-
export declare function
|
|
79
|
-
export declare function
|
|
80
|
+
export declare const coreVersion = "4.0.0";
|
|
81
|
+
export declare function hotkeyCommand(mod: string, hotkey: string): string;
|
|
82
|
+
export declare function hotkeyBindings(mod: string, hotkeys: Hotkeys | undefined): Record<string, string>;
|
|
83
|
+
export declare function boundCombos(keybindings: unknown): Map<string, string>;
|
|
84
|
+
export declare function hotkeyWords(hotkeys: Hotkeys | undefined): string;
|
|
85
|
+
export declare function bundleDefines(permissions: readonly string[]): Record<string, string>;
|
|
80
86
|
export declare function scriptPaths(command: string): string[];
|
|
81
87
|
export declare function scriptsSha256(steps: Steps, files: {
|
|
82
88
|
read: ReadFile;
|
package/records.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["src/records.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["src/records.ts"],"names":[],"mappings":"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"}
|
package/records.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { checkHotkeys } from './hotkeys.js';
|
|
1
2
|
import { listed, messageOf } from './utils/text.js';
|
|
2
3
|
export const listPermissions = ['network', 'run', 'files', 'config'];
|
|
3
4
|
export const flagPermissions = ['conversation', 'prompt', 'model', 'tasks', 'tools', 'approve'];
|
|
@@ -111,7 +112,7 @@ export function readSteps(pkg) {
|
|
|
111
112
|
...readCommand(steps, 'install'),
|
|
112
113
|
...readCommand(steps, 'uninstall'),
|
|
113
114
|
...(program === undefined ? {} : { program }),
|
|
114
|
-
...
|
|
115
|
+
...readHotkeys(steps['hotkeys']),
|
|
115
116
|
...(permissions.length === 0 ? {} : { permissions }),
|
|
116
117
|
};
|
|
117
118
|
}
|
|
@@ -149,6 +150,9 @@ function readPermissions(steps) {
|
|
|
149
150
|
}
|
|
150
151
|
return items;
|
|
151
152
|
}
|
|
153
|
+
export const grantFix = 'Turn it on in Settings.';
|
|
154
|
+
export const installFix = 'Install it in Plugins.';
|
|
155
|
+
export const secretFix = 'Set it in /config, where Claude Code keeps it in your keychain.';
|
|
152
156
|
export function permissionWords(item) {
|
|
153
157
|
const split = item.indexOf(':');
|
|
154
158
|
const target = item.slice(split + 1);
|
|
@@ -184,9 +188,6 @@ export function isSettingCovered(granted, path) {
|
|
|
184
188
|
const item = `config:${path}`;
|
|
185
189
|
return [...granted].some((each) => item === each || item.startsWith(`${each}.`));
|
|
186
190
|
}
|
|
187
|
-
export const settingsPagesMethod = 'cmod:settingsPages';
|
|
188
|
-
export const changelogPage = 'changelog';
|
|
189
|
-
export const openPageMethod = 'cmod:openPage';
|
|
190
191
|
export const pendingStepsMethod = 'cmod:pendingSteps';
|
|
191
192
|
export const finishStepsMethod = 'cmod:finishSteps';
|
|
192
193
|
export function marketplaceOf(root, name) {
|
|
@@ -205,6 +206,12 @@ export function updatesToTurnOn(marketplace, settings, known) {
|
|
|
205
206
|
export function consentPath(store) {
|
|
206
207
|
return `${store}/consent.json`;
|
|
207
208
|
}
|
|
209
|
+
export function pluginsChangedPath(store) {
|
|
210
|
+
return `${store}/plugins-changed`;
|
|
211
|
+
}
|
|
212
|
+
export function widgetsPath(store) {
|
|
213
|
+
return `${store}/widgets.json`;
|
|
214
|
+
}
|
|
208
215
|
export function parseConsent(value, path) {
|
|
209
216
|
if (value === undefined)
|
|
210
217
|
return Object.create(null);
|
|
@@ -213,32 +220,35 @@ export function parseConsent(value, path) {
|
|
|
213
220
|
}
|
|
214
221
|
return Object.assign(Object.create(null), value);
|
|
215
222
|
}
|
|
216
|
-
function
|
|
217
|
-
if (
|
|
223
|
+
function readHotkeys(hotkeys) {
|
|
224
|
+
if (hotkeys === undefined)
|
|
218
225
|
return {};
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
return { keys: commands };
|
|
226
|
+
const fix = 'cmod check writes it from the hotkeys defineMod declares, so run cmod check.';
|
|
227
|
+
if (!isObject(hotkeys) || !Object.values(hotkeys).every((each) => isObject(each) && typeof each['title'] === 'string' && typeof each['default'] === 'string'))
|
|
228
|
+
throw new Error(`package.json "cmod.hotkeys" is not a map of hotkeys to their title and default combo. ${fix}`);
|
|
229
|
+
return { hotkeys: checkHotkeys('package.json "cmod"', hotkeys) };
|
|
230
|
+
}
|
|
231
|
+
export const coreVersion = '4.0.0';
|
|
232
|
+
export function hotkeyCommand(mod, hotkey) {
|
|
233
|
+
return `${mod}--${hotkey}`;
|
|
229
234
|
}
|
|
230
|
-
export
|
|
231
|
-
|
|
232
|
-
if (steps.permissions?.some((item) => item.startsWith('config:')) === true)
|
|
233
|
-
return '1.6.0';
|
|
234
|
-
if (steps.permissions?.includes('tasks') === true)
|
|
235
|
-
return '1.0.0';
|
|
236
|
-
if (steps.permissions !== undefined)
|
|
237
|
-
return '0.2.0';
|
|
238
|
-
return Object.keys(steps.keys ?? {}).length > 0 ? '0.1.12' : '0.0.0';
|
|
235
|
+
export function hotkeyBindings(mod, hotkeys) {
|
|
236
|
+
return Object.fromEntries(Object.entries(hotkeys ?? {}).map(([name, { default: combo }]) => [combo, hotkeyCommand(mod, name)]));
|
|
239
237
|
}
|
|
240
|
-
export function
|
|
241
|
-
|
|
238
|
+
export function boundCombos(keybindings) {
|
|
239
|
+
const blocks = isObject(keybindings) && Array.isArray(keybindings['bindings']) ? keybindings['bindings'] : [];
|
|
240
|
+
const combos = new Map();
|
|
241
|
+
for (const block of blocks) {
|
|
242
|
+
if (!isObject(block) || block['context'] !== 'Chat' || !isObject(block['bindings']))
|
|
243
|
+
continue;
|
|
244
|
+
for (const [combo, action] of Object.entries(block['bindings']))
|
|
245
|
+
if (typeof action === 'string' && action.startsWith('command:'))
|
|
246
|
+
combos.set(action.slice('command:'.length), combo);
|
|
247
|
+
}
|
|
248
|
+
return combos;
|
|
249
|
+
}
|
|
250
|
+
export function hotkeyWords(hotkeys) {
|
|
251
|
+
return listed(Object.values(hotkeys ?? {}).map(({ title, default: combo }) => `${combo} to ${title}`));
|
|
242
252
|
}
|
|
243
253
|
function readCommand(steps, key) {
|
|
244
254
|
const command = steps[key];
|
|
@@ -253,6 +263,9 @@ function readCommand(steps, key) {
|
|
|
253
263
|
throw new Error(`package.json "cmod.${key}" names ${atRoot}, a script at the plugin root. Move it into a folder, such as ./setup/${key}.sh: cmod asks consent for the whole folder of each script.`);
|
|
254
264
|
return { [key]: command };
|
|
255
265
|
}
|
|
266
|
+
export function bundleDefines(permissions) {
|
|
267
|
+
return permissions.includes('approve') ? {} : { 'globalThis.cmodWithoutApprove': 'true' };
|
|
268
|
+
}
|
|
256
269
|
export function scriptPaths(command) {
|
|
257
270
|
const words = command
|
|
258
271
|
.split(/[\s;&|()<>]+/)
|
|
@@ -283,7 +296,7 @@ export async function scriptsSha256(steps, files) {
|
|
|
283
296
|
steps.install ?? '',
|
|
284
297
|
steps.uninstall ?? '',
|
|
285
298
|
steps.program ?? '',
|
|
286
|
-
...(steps.
|
|
299
|
+
...(steps.hotkeys === undefined ? [] : [JSON.stringify(Object.entries(steps.hotkeys).sort())]),
|
|
287
300
|
...(steps.permissions === undefined ? [] : [JSON.stringify([...steps.permissions].sort())]),
|
|
288
301
|
].join('\0');
|
|
289
302
|
for (const folder of [...folders].sort()) {
|
|
@@ -305,7 +318,7 @@ export function formatEvent(event) {
|
|
|
305
318
|
case 'log':
|
|
306
319
|
return `log ${event.text}`;
|
|
307
320
|
case 'needs-consent':
|
|
308
|
-
return `needs-consent ${[event.sha256, event.install, event.uninstall, event.
|
|
321
|
+
return `needs-consent ${[event.sha256, event.install, event.uninstall, event.hotkeys, ...event.permissions].join('\t')}`;
|
|
309
322
|
case 'done':
|
|
310
323
|
return event.version === undefined ? `done ${event.name}` : `done ${event.name} ${event.version}`;
|
|
311
324
|
case 'missing':
|
|
@@ -322,8 +335,8 @@ export function parseEvent(line) {
|
|
|
322
335
|
return { type: 'progress', done: Number(progress[1]), total: Number(progress[2]), label: progress[3] ?? '' };
|
|
323
336
|
const consent = /^needs-consent (\S+)\t([^\t]*)\t([^\t]*)(?:\t(.*))?$/.exec(line);
|
|
324
337
|
if (consent !== null) {
|
|
325
|
-
const [
|
|
326
|
-
return { type: 'needs-consent', sha256: consent[1], install: consent[2], uninstall: consent[3],
|
|
338
|
+
const [hotkeys = '', ...permissions] = (consent[4] ?? '').split('\t');
|
|
339
|
+
return { type: 'needs-consent', sha256: consent[1], install: consent[2], uninstall: consent[3], hotkeys, permissions: permissions.filter((item) => item !== '') };
|
|
327
340
|
}
|
|
328
341
|
const done = /^done (\S+)(?: (\S+))?$/.exec(line);
|
|
329
342
|
if (done !== null)
|
package/register.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4D,EAAE,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAA;AAC5H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAa3C,wBAAgB,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjE;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4D,EAAE,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAA;AAC5H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAa3C,wBAAgB,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjE;AA8FD,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,QAAQ,SAAS,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAqDzK;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAIzD"}
|
package/register.js
CHANGED
|
@@ -11,7 +11,6 @@ async function startMod($, eventInput, passOn) {
|
|
|
11
11
|
const claude = {
|
|
12
12
|
plugin: { name: $.plugin.name, root: $.plugin.root },
|
|
13
13
|
ui: {
|
|
14
|
-
status: (text) => $.ui.status(text),
|
|
15
14
|
log: (text, options) => $.ui.log(text, options),
|
|
16
15
|
notice: (toolUseId, text) => $.ui.notice(toolUseId, text),
|
|
17
16
|
invalidate: (event) => $.ui.invalidate(event),
|
|
@@ -125,13 +124,13 @@ export function registerMod(addHook, definition, options) {
|
|
|
125
124
|
addHook('classic.PostCompact', routeToMod).catch(routeFailure);
|
|
126
125
|
addHook('classic.Stop', routeToMod).catch(routeFailure);
|
|
127
126
|
addHook('classic.StopFailure', routeToMod).catch(routeFailure);
|
|
128
|
-
addHook('classic.FileChanged', routeToMod).catch(routeFailure);
|
|
129
127
|
addHook('classic.WorktreeCreate', routeToMod).catch(routeFailure);
|
|
130
128
|
addHook('classic.WorktreeRemove', routeToMod).catch(routeFailure);
|
|
131
129
|
addHook('tool.call', routeToMod).catch(routeFailure);
|
|
132
130
|
addHook('prompt.submit', routeToMod).catch(routeFailure);
|
|
133
131
|
addHook('prompt.context', routeToMod).catch(routeFailure);
|
|
134
132
|
addHook('command.run', routeToMod).catch(routeFailure);
|
|
133
|
+
addHook('command.describe', routeToMod).catch(routeFailure);
|
|
135
134
|
addHook('session.measure', routeToMod).catch(routeFailure);
|
|
136
135
|
addHook('skill.prompt', routeToMod).catch(routeFailure);
|
|
137
136
|
addHook('ui.render', routeToMod).catch(routeFailure);
|
package/runtime/announce.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export type Announcement = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare const announcementMs = 10000;
|
|
16
16
|
export declare function announcedOf(saved: unknown): Announced | undefined;
|
|
17
|
-
export declare function announcementOf(claude: Claude, plugin: Plugin, granted: ReadonlySet<string>, added: readonly string[], previous: Announced | undefined): Promise<Announcement>;
|
|
17
|
+
export declare function announcementOf(claude: Claude, plugin: Plugin, granted: ReadonlySet<string>, added: readonly string[], previous: Announced | undefined, openSettings: (tab?: 'changelog') => Promise<void>): Promise<Announcement>;
|
|
18
18
|
//# sourceMappingURL=announce.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announce.d.ts","sourceRoot":"","sources":["../src/runtime/announce.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"announce.d.ts","sourceRoot":"","sources":["../src/runtime/announce.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAEvF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;KAAE,CAAA;CAAE,CAAA;AAErK,eAAO,MAAM,cAAc,QAAS,CAAA;AAIpC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAIjE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAuCvO"}
|
package/runtime/announce.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isObject, marketplaceOf, permissionWords } from '../records.js';
|
|
2
2
|
import { changeLines, changelogSections, unreleased } from '../utils/changelog.js';
|
|
3
3
|
import { ifMissing } from '../utils/paths.js';
|
|
4
4
|
import { listed } from '../utils/text.js';
|
|
5
|
-
import { cmodPluginName } from './dependencies.js';
|
|
6
5
|
export const announcementMs = 10_000;
|
|
7
6
|
const shownChanges = 3;
|
|
8
7
|
export function announcedOf(saved) {
|
|
@@ -12,20 +11,20 @@ export function announcedOf(saved) {
|
|
|
12
11
|
return undefined;
|
|
13
12
|
return { version: saved['version'], added: Array.isArray(saved['added']) ? saved['added'].map(String) : [] };
|
|
14
13
|
}
|
|
15
|
-
export async function announcementOf(claude, plugin, granted, added, previous) {
|
|
14
|
+
export async function announcementOf(claude, plugin, granted, added, previous, openSettings) {
|
|
16
15
|
const read = (path) => claude.fs.read(`${plugin.root}/${path}`).catch(ifMissing(undefined));
|
|
17
16
|
const manifest = jsonOf(await read('.claude-plugin/plugin.json'));
|
|
18
17
|
const field = (key) => (isObject(manifest) && typeof manifest[key] === 'string' ? manifest[key] : undefined);
|
|
19
|
-
const open = (
|
|
18
|
+
const open = (tab) => () => openSettings(tab);
|
|
20
19
|
if (previous === undefined) {
|
|
21
|
-
const { program,
|
|
20
|
+
const { program, hotkeys } = plugin.steps;
|
|
22
21
|
const rules = (await claude.fs.list(`${plugin.root}/rules`).catch(ifMissing([]))).filter((entry) => entry.kind === 'file' && entry.name.endsWith('.md')).map((entry) => entry.name.slice(0, -'.md'.length)).toSorted();
|
|
23
22
|
const lines = [
|
|
24
23
|
field('description'),
|
|
25
24
|
added.length > 0 ? `Adds ${listed(added)}.` : undefined,
|
|
26
25
|
rules.length > 0 ? `Adds ${rules.length} ${rules.length === 1 ? 'rule' : 'rules'}: ${listed(rules)}.` : undefined,
|
|
27
26
|
program === undefined ? undefined : `Installed the ${program} program.`,
|
|
28
|
-
...Object.
|
|
27
|
+
...Object.values(hotkeys ?? {}).map(({ title, default: combo }) => `Binds ${combo} to ${title}.`),
|
|
29
28
|
...[...granted].map((item) => `${permissionWords(item)}.`),
|
|
30
29
|
];
|
|
31
30
|
return { message: 'Installed', ...described(lines), action: { label: 'Settings', onClick: open() } };
|
|
@@ -49,7 +48,7 @@ export async function announcementOf(claude, plugin, granted, added, previous) {
|
|
|
49
48
|
return {
|
|
50
49
|
message: `Updated to ${version}`,
|
|
51
50
|
...described(lines),
|
|
52
|
-
...(sections.length > 0 ? { action: { label: 'Changelog', onClick: open(
|
|
51
|
+
...(sections.length > 0 ? { action: { label: 'Changelog', onClick: open('changelog') } } : {}),
|
|
53
52
|
};
|
|
54
53
|
}
|
|
55
54
|
function jsonOf(text) {
|
package/runtime/before.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Args, Frozen } from 'claude-code';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Subscription } from '../utils/subscription.js';
|
|
3
3
|
import type { ContextData, ConversationState, RunningTask, SessionChange } from '../session/conversation.js';
|
|
4
4
|
import { type BeforeEvent, type SessionEvent } from '../session/session.js';
|
|
5
5
|
import type { Claude } from './claude.js';
|
|
@@ -29,7 +29,7 @@ export declare function installBefore({ claude, router, hooks }: {
|
|
|
29
29
|
readonly claude: Claude;
|
|
30
30
|
readonly router: Router;
|
|
31
31
|
readonly hooks: BeforeHooks;
|
|
32
|
-
}):
|
|
32
|
+
}): Subscription;
|
|
33
33
|
export declare function closingContext(where: Place, task: RunningTask | undefined, closedAt: string): ContextData;
|
|
34
34
|
export declare function withAnswer(change: SessionChange, answer: Partial<Answers>): SessionChange;
|
|
35
35
|
export declare const methodOf: (prefix: 'on' | 'before', event: SessionEvent) => string;
|