alma-plugin-api 0.1.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 ADDED
@@ -0,0 +1,82 @@
1
+ # alma-plugin-api
2
+
3
+ TypeScript type definitions for developing [Alma](https://github.com/yetone/alma) plugins.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -D alma-plugin-api
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import type { PluginContext, PluginActivation } from 'alma-plugin-api';
15
+
16
+ export async function activate(context: PluginContext): Promise<PluginActivation> {
17
+ const { logger, tools, commands, ui, settings } = context;
18
+
19
+ logger.info('Plugin activated!');
20
+
21
+ // Register a tool
22
+ const toolDisposable = tools.register('my-plugin.hello', {
23
+ name: 'Hello',
24
+ description: 'Say hello',
25
+ parameters: {
26
+ type: 'object',
27
+ properties: {
28
+ name: { type: 'string', description: 'Name to greet' }
29
+ },
30
+ required: ['name']
31
+ },
32
+ execute: async (args) => {
33
+ const { name } = args as { name: string };
34
+ return { message: `Hello, ${name}!` };
35
+ }
36
+ });
37
+
38
+ // Register a command
39
+ const commandDisposable = commands.register('my-plugin.greet', async () => {
40
+ ui.showNotification('Hello from my plugin!', { type: 'info' });
41
+ });
42
+
43
+ return {
44
+ dispose: () => {
45
+ logger.info('Plugin deactivated');
46
+ toolDisposable.dispose();
47
+ commandDisposable.dispose();
48
+ }
49
+ };
50
+ }
51
+ ```
52
+
53
+ ## Available APIs
54
+
55
+ ### Core APIs
56
+
57
+ | API | Description |
58
+ |-----|-------------|
59
+ | `logger` | Logging utilities (info, warn, error, debug) |
60
+ | `tools` | Register AI-usable tools |
61
+ | `commands` | Register command palette commands |
62
+ | `hooks` | Subscribe to lifecycle events |
63
+ | `ui` | UI utilities (notifications, status bar) |
64
+ | `settings` | Read/write plugin settings |
65
+ | `chat` | Access chat threads and messages |
66
+ | `transform` | Transform prompts and messages |
67
+ | `themes` | Register and manage themes |
68
+ | `storage` | Persistent key-value storage |
69
+ | `secrets` | Secure storage for sensitive data |
70
+
71
+ ### Plugin Info
72
+
73
+ | Property | Description |
74
+ |----------|-------------|
75
+ | `pluginId` | Unique identifier of the plugin |
76
+ | `pluginPath` | Filesystem path to the plugin |
77
+ | `globalState` | Persistent state across sessions |
78
+ | `workspaceState` | Workspace-scoped state |
79
+
80
+ ## License
81
+
82
+ MIT
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Alma Plugin API
3
+ *
4
+ * TypeScript type definitions for developing Alma plugins.
5
+ * These types are provided by the Alma runtime when plugins are loaded.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * A disposable resource that can be cleaned up.
11
+ */
12
+ export interface Disposable {
13
+ dispose(): void;
14
+ }
15
+ /**
16
+ * Result returned from plugin activation.
17
+ */
18
+ export interface PluginActivation {
19
+ dispose(): void;
20
+ }
21
+ /**
22
+ * Logging utilities for plugins.
23
+ */
24
+ export interface Logger {
25
+ info(message: string, ...args: unknown[]): void;
26
+ warn(message: string, ...args: unknown[]): void;
27
+ error(message: string, ...args: unknown[]): void;
28
+ debug(message: string, ...args: unknown[]): void;
29
+ }
30
+ /**
31
+ * Definition for a tool that can be used by the AI assistant.
32
+ */
33
+ export interface ToolDefinition {
34
+ name: string;
35
+ description: string;
36
+ parameters: {
37
+ type: 'object';
38
+ properties: Record<string, unknown>;
39
+ required?: string[];
40
+ };
41
+ execute: (args: unknown) => Promise<unknown>;
42
+ }
43
+ /**
44
+ * API for registering and managing AI tools.
45
+ */
46
+ export interface ToolsAPI {
47
+ register(id: string, tool: ToolDefinition): Disposable;
48
+ unregister(id: string): void;
49
+ }
50
+ /**
51
+ * API for registering command palette commands.
52
+ */
53
+ export interface CommandsAPI {
54
+ register(id: string, handler: () => Promise<void> | void): Disposable;
55
+ execute(id: string, ...args: unknown[]): Promise<void>;
56
+ }
57
+ /**
58
+ * Options for hook registration.
59
+ */
60
+ export interface HookOptions {
61
+ priority?: number;
62
+ }
63
+ /**
64
+ * API for subscribing to lifecycle events.
65
+ */
66
+ export interface HooksAPI {
67
+ register<TInput, TOutput>(hookName: string, handler: (input: TInput, output: TOutput) => void | Promise<void>, options?: HookOptions): Disposable;
68
+ }
69
+ /**
70
+ * Options for showing notifications.
71
+ */
72
+ export interface NotificationOptions {
73
+ type?: 'info' | 'success' | 'warning' | 'error';
74
+ duration?: number;
75
+ }
76
+ /**
77
+ * A status bar item that can display information.
78
+ */
79
+ export interface StatusBarItem {
80
+ id: string;
81
+ text: string;
82
+ tooltip?: string;
83
+ command?: string;
84
+ alignment: 'left' | 'right';
85
+ priority: number;
86
+ show(): void;
87
+ hide(): void;
88
+ dispose(): void;
89
+ }
90
+ /**
91
+ * Options for creating a status bar item.
92
+ */
93
+ export interface StatusBarItemOptions {
94
+ id?: string;
95
+ alignment?: 'left' | 'right';
96
+ priority?: number;
97
+ }
98
+ /**
99
+ * Theme change event handler.
100
+ */
101
+ export interface ThemeChangeHandler {
102
+ onChange(callback: (theme: Theme) => void): Disposable;
103
+ }
104
+ /**
105
+ * UI utilities for plugins.
106
+ */
107
+ export interface UIAPI {
108
+ showNotification(message: string, options?: NotificationOptions): void;
109
+ createStatusBarItem(options?: StatusBarItemOptions): StatusBarItem;
110
+ theme: ThemeChangeHandler;
111
+ }
112
+ /**
113
+ * API for reading and writing plugin settings.
114
+ */
115
+ export interface SettingsAPI {
116
+ get<T>(key: string): T | undefined;
117
+ get<T>(key: string, defaultValue: T): T;
118
+ set(key: string, value: unknown): Promise<void>;
119
+ onChange(key: string, callback: (value: unknown) => void): Disposable;
120
+ onDidChange(callback: (key?: string) => void): Disposable;
121
+ }
122
+ /**
123
+ * A chat message.
124
+ */
125
+ export interface ChatMessage {
126
+ id: string;
127
+ threadId: string;
128
+ role: 'user' | 'assistant' | 'system';
129
+ content: string;
130
+ createdAt: string;
131
+ }
132
+ /**
133
+ * A chat thread/conversation.
134
+ */
135
+ export interface ChatThread {
136
+ id: string;
137
+ title: string;
138
+ createdAt: string;
139
+ updatedAt: string;
140
+ }
141
+ /**
142
+ * API for accessing chat threads and messages.
143
+ */
144
+ export interface ChatAPI {
145
+ onMessage(callback: (message: ChatMessage) => void): Disposable;
146
+ getMessages(threadId: string): Promise<ChatMessage[]>;
147
+ getCurrentThread(): Promise<ChatThread | null>;
148
+ }
149
+ /**
150
+ * API for transforming messages and prompts.
151
+ */
152
+ export interface TransformAPI {
153
+ registerSystemPrompt(id: string, transformer: (prompt: string) => string | Promise<string>): Disposable;
154
+ registerUserMessage(id: string, transformer: (message: string) => string | Promise<string>): Disposable;
155
+ }
156
+ /**
157
+ * Color definitions for a theme.
158
+ */
159
+ export interface ThemeColors {
160
+ background: string;
161
+ foreground: string;
162
+ primary: string;
163
+ secondary?: string;
164
+ accent?: string;
165
+ muted?: string;
166
+ border?: string;
167
+ error?: string;
168
+ warning?: string;
169
+ success?: string;
170
+ info?: string;
171
+ [key: string]: string | undefined;
172
+ }
173
+ /**
174
+ * A theme definition.
175
+ */
176
+ export interface Theme {
177
+ id: string;
178
+ label: string;
179
+ type: 'dark' | 'light';
180
+ colors: ThemeColors;
181
+ }
182
+ /**
183
+ * API for registering and managing themes.
184
+ */
185
+ export interface ThemesAPI {
186
+ register(theme: Theme): Disposable;
187
+ getCurrent(): Theme | null;
188
+ apply(themeId: string): Promise<void>;
189
+ }
190
+ /**
191
+ * Persistent key-value storage for plugins.
192
+ */
193
+ export interface StorageAPI {
194
+ get<T>(key: string): T | undefined;
195
+ get<T>(key: string, defaultValue: T): T;
196
+ set(key: string, value: unknown): Promise<void>;
197
+ delete(key: string): Promise<void>;
198
+ keys(): string[];
199
+ }
200
+ /**
201
+ * Secure storage for sensitive data like API keys.
202
+ */
203
+ export interface SecretsAPI {
204
+ get(key: string): Promise<string | undefined>;
205
+ set(key: string, value: string): Promise<void>;
206
+ delete(key: string): Promise<void>;
207
+ }
208
+ /**
209
+ * The main context object passed to plugins during activation.
210
+ * Provides access to all Alma APIs.
211
+ */
212
+ export interface PluginContext {
213
+ logger: Logger;
214
+ tools: ToolsAPI;
215
+ commands: CommandsAPI;
216
+ hooks: HooksAPI;
217
+ ui: UIAPI;
218
+ settings: SettingsAPI;
219
+ chat: ChatAPI;
220
+ transform: TransformAPI;
221
+ themes: ThemesAPI;
222
+ storage: StorageAPI;
223
+ secrets: SecretsAPI;
224
+ pluginId: string;
225
+ pluginPath: string;
226
+ globalState: Map<string, unknown>;
227
+ workspaceState: Map<string, unknown>;
228
+ }
229
+ /**
230
+ * The activation function that plugins must export.
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * import type { PluginContext, PluginActivation } from 'alma-plugin-api';
235
+ *
236
+ * export async function activate(context: PluginContext): Promise<PluginActivation> {
237
+ * context.logger.info('Plugin activated!');
238
+ *
239
+ * return {
240
+ * dispose: () => {
241
+ * context.logger.info('Plugin deactivated');
242
+ * }
243
+ * };
244
+ * }
245
+ * ```
246
+ */
247
+ export type ActivateFunction = (context: PluginContext) => Promise<PluginActivation>;
248
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * Alma Plugin API
4
+ *
5
+ * TypeScript type definitions for developing Alma plugins.
6
+ * These types are provided by the Alma runtime when plugins are loaded.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "alma-plugin-api",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript type definitions for Alma plugin development",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "prepublishOnly": "npm run build"
13
+ },
14
+ "keywords": [
15
+ "alma",
16
+ "plugin",
17
+ "api",
18
+ "types",
19
+ "typescript"
20
+ ],
21
+ "author": {
22
+ "name": "Alma Team",
23
+ "email": "hello@alma.now"
24
+ },
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/yetone/alma-plugins.git",
29
+ "directory": "packages/plugin-api"
30
+ },
31
+ "homepage": "https://github.com/yetone/alma-plugins#readme",
32
+ "devDependencies": {
33
+ "typescript": "^5.0.0"
34
+ }
35
+ }