@drewpayment/mink 0.3.0 → 0.5.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/README.md +235 -11
- package/dist/cli.js +1424 -487
- package/package.json +1 -1
- package/src/cli.ts +23 -1
- package/src/commands/channel.ts +252 -0
- package/src/commands/config.ts +1 -1
- package/src/commands/device.ts +65 -0
- package/src/commands/session-start.ts +16 -0
- package/src/core/channel-process.ts +274 -0
- package/src/core/channel-templates.ts +156 -0
- package/src/core/daemon.ts +63 -2
- package/src/core/device.ts +72 -0
- package/src/core/global-config.ts +72 -11
- package/src/core/paths.ts +20 -0
- package/src/core/sync.ts +12 -0
- package/src/types/channel.ts +16 -0
- package/src/types/config.ts +57 -0
package/src/types/config.ts
CHANGED
|
@@ -9,15 +9,34 @@ export interface GlobalConfig {
|
|
|
9
9
|
"sync.remote-url"?: string;
|
|
10
10
|
"sync.last-push"?: string;
|
|
11
11
|
"sync.last-pull"?: string;
|
|
12
|
+
"channel.discord.bot-token"?: string;
|
|
13
|
+
"channel.discord.enabled"?: string;
|
|
14
|
+
"channel.default-platform"?: string;
|
|
15
|
+
"channel.skip-permissions"?: string;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
export type ConfigKey = keyof GlobalConfig & string;
|
|
15
19
|
|
|
20
|
+
export type ConfigScope = "shared" | "local";
|
|
21
|
+
|
|
16
22
|
export interface ConfigKeyMeta {
|
|
17
23
|
key: ConfigKey;
|
|
18
24
|
default: string;
|
|
19
25
|
envVar: string;
|
|
20
26
|
description: string;
|
|
27
|
+
scope: ConfigScope;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface DeviceInfo {
|
|
31
|
+
name: string;
|
|
32
|
+
hostname: string;
|
|
33
|
+
platform: string;
|
|
34
|
+
firstSeen: string;
|
|
35
|
+
lastSeen: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface DeviceRegistry {
|
|
39
|
+
devices: Record<string, DeviceInfo>;
|
|
21
40
|
}
|
|
22
41
|
|
|
23
42
|
export const CONFIG_KEYS: ConfigKeyMeta[] = [
|
|
@@ -26,60 +45,98 @@ export const CONFIG_KEYS: ConfigKeyMeta[] = [
|
|
|
26
45
|
default: "~/.mink/wiki/",
|
|
27
46
|
envVar: "MINK_WIKI_PATH",
|
|
28
47
|
description: "Wiki vault location",
|
|
48
|
+
scope: "local",
|
|
29
49
|
},
|
|
30
50
|
{
|
|
31
51
|
key: "wiki.enabled",
|
|
32
52
|
default: "true",
|
|
33
53
|
envVar: "MINK_WIKI_ENABLED",
|
|
34
54
|
description: "Enable/disable the wiki feature",
|
|
55
|
+
scope: "shared",
|
|
35
56
|
},
|
|
36
57
|
{
|
|
37
58
|
key: "wiki.sync-mode",
|
|
38
59
|
default: "immediate",
|
|
39
60
|
envVar: "MINK_WIKI_SYNC_MODE",
|
|
40
61
|
description: "Sync mode: immediate or batched",
|
|
62
|
+
scope: "shared",
|
|
41
63
|
},
|
|
42
64
|
{
|
|
43
65
|
key: "wiki.git-backup",
|
|
44
66
|
default: "false",
|
|
45
67
|
envVar: "MINK_WIKI_GIT_BACKUP",
|
|
46
68
|
description: "Deprecated: use sync.enabled instead",
|
|
69
|
+
scope: "shared",
|
|
47
70
|
},
|
|
48
71
|
{
|
|
49
72
|
key: "wiki.git-remote",
|
|
50
73
|
default: "origin",
|
|
51
74
|
envVar: "MINK_WIKI_GIT_REMOTE",
|
|
52
75
|
description: "Deprecated: use sync.remote-url instead",
|
|
76
|
+
scope: "shared",
|
|
53
77
|
},
|
|
54
78
|
{
|
|
55
79
|
key: "notes.default-category",
|
|
56
80
|
default: "inbox",
|
|
57
81
|
envVar: "MINK_NOTES_DEFAULT_CATEGORY",
|
|
58
82
|
description: "Default category for notes captured via CLI",
|
|
83
|
+
scope: "shared",
|
|
59
84
|
},
|
|
60
85
|
{
|
|
61
86
|
key: "sync.enabled",
|
|
62
87
|
default: "false",
|
|
63
88
|
envVar: "MINK_SYNC_ENABLED",
|
|
64
89
|
description: "Enable/disable automatic git sync of ~/.mink",
|
|
90
|
+
scope: "shared",
|
|
65
91
|
},
|
|
66
92
|
{
|
|
67
93
|
key: "sync.remote-url",
|
|
68
94
|
default: "",
|
|
69
95
|
envVar: "MINK_SYNC_REMOTE_URL",
|
|
70
96
|
description: "Git remote URL for ~/.mink sync",
|
|
97
|
+
scope: "shared",
|
|
71
98
|
},
|
|
72
99
|
{
|
|
73
100
|
key: "sync.last-push",
|
|
74
101
|
default: "",
|
|
75
102
|
envVar: "MINK_SYNC_LAST_PUSH",
|
|
76
103
|
description: "ISO timestamp of last successful sync push",
|
|
104
|
+
scope: "local",
|
|
77
105
|
},
|
|
78
106
|
{
|
|
79
107
|
key: "sync.last-pull",
|
|
80
108
|
default: "",
|
|
81
109
|
envVar: "MINK_SYNC_LAST_PULL",
|
|
82
110
|
description: "ISO timestamp of last successful sync pull",
|
|
111
|
+
scope: "local",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
key: "channel.discord.bot-token",
|
|
115
|
+
default: "",
|
|
116
|
+
envVar: "MINK_CHANNEL_DISCORD_BOT_TOKEN",
|
|
117
|
+
description: "Discord bot token for Claude Code Channels",
|
|
118
|
+
scope: "local",
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
key: "channel.discord.enabled",
|
|
122
|
+
default: "false",
|
|
123
|
+
envVar: "MINK_CHANNEL_DISCORD_ENABLED",
|
|
124
|
+
description: "Auto-start Discord channel when daemon starts",
|
|
125
|
+
scope: "local",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
key: "channel.default-platform",
|
|
129
|
+
default: "discord",
|
|
130
|
+
envVar: "MINK_CHANNEL_DEFAULT_PLATFORM",
|
|
131
|
+
description: "Default platform for mink channel start",
|
|
132
|
+
scope: "shared",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
key: "channel.skip-permissions",
|
|
136
|
+
default: "true",
|
|
137
|
+
envVar: "MINK_CHANNEL_SKIP_PERMISSIONS",
|
|
138
|
+
description: "Pass --dangerously-skip-permissions so the channel can run without terminal prompts",
|
|
139
|
+
scope: "shared",
|
|
83
140
|
},
|
|
84
141
|
];
|
|
85
142
|
|