@lapis-notes/ai 0.1.1 → 0.1.5

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 (69) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/LICENSE.md +3 -7
  3. package/README.md +1 -1
  4. package/dist/ai-plugin.d.ts +2 -2
  5. package/dist/ai-plugin.js +28 -11
  6. package/dist/catalog/ai-catalog-panel.svelte +20 -3
  7. package/dist/chat/ai-chat-panel.svelte +187 -87
  8. package/dist/chat/ai-chat-panel.svelte.d.ts +2 -0
  9. package/dist/chat/ai-view-bootstrap.d.ts +1 -0
  10. package/dist/chat/ai-view-bootstrap.js +32 -12
  11. package/dist/chat/ai-view-panel.svelte +14 -0
  12. package/dist/chat/ai-view.d.ts +1 -1
  13. package/dist/chat/chat-controller.svelte.d.ts +1 -1
  14. package/dist/chat/chat-controller.svelte.js +94 -29
  15. package/dist/chat/chat-tool-display.d.ts +2 -12
  16. package/dist/chat/chat-tool-display.js +2 -206
  17. package/dist/chat/composer-model-catalog.d.ts +20 -0
  18. package/dist/chat/composer-model-catalog.js +44 -0
  19. package/dist/commands/agent.d.ts +1 -1
  20. package/dist/commands/agent.js +6 -1
  21. package/dist/conversations/context-handoff.d.ts +1 -25
  22. package/dist/conversations/context-handoff.js +1 -207
  23. package/dist/conversations/hashes.d.ts +1 -5
  24. package/dist/conversations/hashes.js +1 -40
  25. package/dist/core/types.d.ts +1 -241
  26. package/dist/core/types.js +1 -50
  27. package/dist/history/ai-history-panel.svelte +4 -1
  28. package/dist/host/controller-connection.d.ts +14 -0
  29. package/dist/host/controller-connection.js +62 -0
  30. package/dist/host/controller-runtime.d.ts +13 -0
  31. package/dist/host/controller-runtime.js +112 -0
  32. package/dist/host/create-host-runtimes.d.ts +2 -1
  33. package/dist/host/create-host-runtimes.js +5 -7
  34. package/dist/index.d.ts +1 -1
  35. package/dist/memory/candidate-extractor.d.ts +2 -25
  36. package/dist/memory/candidate-extractor.js +1 -191
  37. package/dist/memory/hashes.d.ts +1 -5
  38. package/dist/memory/hashes.js +1 -37
  39. package/dist/memory/memory-record-store.d.ts +3 -48
  40. package/dist/memory/memory-record-store.js +16 -220
  41. package/dist/memory/memory-scheduler.d.ts +1 -21
  42. package/dist/memory/memory-scheduler.js +1 -143
  43. package/dist/memory/native-memory-service.d.ts +1 -72
  44. package/dist/memory/native-memory-service.js +1 -1256
  45. package/dist/memory/paths.d.ts +1 -13
  46. package/dist/memory/paths.js +1 -60
  47. package/dist/memory/runtime-consolidation-provider.d.ts +2 -18
  48. package/dist/memory/runtime-consolidation-provider.js +1 -154
  49. package/dist/memory/types.d.ts +1 -139
  50. package/dist/providers/acp-model-provider.d.ts +8 -3
  51. package/dist/providers/acp-model-provider.js +21 -49
  52. package/dist/providers/model-provider.d.ts +3 -2
  53. package/dist/providers/model-provider.js +15 -2
  54. package/dist/runtime-adapters.d.ts +3 -0
  55. package/dist/runtime-adapters.js +2 -0
  56. package/dist/settings/acp-agents.d.ts +4 -1
  57. package/dist/settings/acp-agents.js +5 -1
  58. package/dist/settings/ai-settings-tab.js +8 -6
  59. package/dist/settings/ai-settings.d.ts +4 -4
  60. package/dist/settings/ai-settings.js +5 -3
  61. package/dist/settings/register-ai-settings.js +27 -14
  62. package/dist/tools/app-tool-host.d.ts +22 -2
  63. package/dist/tools/app-tool-host.js +51 -4
  64. package/dist/tools/desktop-app-tool-bridge.d.ts +4 -1
  65. package/dist/tools/desktop-app-tool-bridge.js +94 -157
  66. package/manifest.json +20 -2
  67. package/package.json +20 -7
  68. package/registry-content/overview.md +10 -0
  69. package/registry.json +221 -0
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@lapis-notes/ai",
3
- "version": "0.1.1",
3
+ "version": "0.1.5",
4
4
  "description": "Lapis Notes provider-agnostic AI agent plugin",
5
- "license": "AGPL-3.0-or-later",
5
+ "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "files": [
8
8
  "dist",
9
9
  "manifest.json",
10
+ "registry.json",
11
+ "registry-content",
10
12
  "styles.css",
11
13
  "README.md",
12
14
  "CHANGELOG.md",
@@ -33,21 +35,32 @@
33
35
  "import": "./dist/runtime-adapters.js",
34
36
  "default": "./dist/runtime-adapters.js"
35
37
  },
36
- "./manifest.json": "./manifest.json"
38
+ "./manifest.json": "./manifest.json",
39
+ "./registry.json": "./registry.json"
37
40
  },
38
41
  "dependencies": {
39
- "@lapis-notes/api": "^0.1.0",
40
- "@lapis-notes/markdown": "^0.1.0",
41
- "@lapis-notes/ui": "^0.1.0",
42
- "@lapismd/design-core": "^0.1.0",
42
+ "@lapismd/ai-controller": "^0.1.0",
43
+ "@lapismd/design-core": "^0.3.2",
43
44
  "@lucide/svelte": "^0.523.0",
44
45
  "ajv": "^8.20.0",
45
46
  "yaml": "^2.9.0"
46
47
  },
47
48
  "peerDependencies": {
49
+ "@codemirror/autocomplete": "^6.18.6",
50
+ "@codemirror/commands": "^6.8.1",
51
+ "@codemirror/language": "^6.11.3",
52
+ "@codemirror/state": "^6.6.0",
53
+ "@codemirror/view": "^6.42.1",
54
+ "@lapis-notes/api": "^0.1.2",
55
+ "@lapis-notes/markdown": "^0.1.6",
56
+ "@lapis-notes/ui": "^0.1.2",
57
+ "@lezer/common": "^1.5.2",
58
+ "@lezer/highlight": "^1.2.3",
59
+ "@lezer/lr": "^1.4.2",
48
60
  "svelte": "^5.0.0"
49
61
  },
50
62
  "devDependencies": {
63
+ "@lapis-notes/markdown": "^0.1.6",
51
64
  "@sveltejs/package": "^2.5.0",
52
65
  "@sveltejs/vite-plugin-svelte": "^5.1.1",
53
66
  "@tsconfig/svelte": "^5.0.5",
@@ -0,0 +1,10 @@
1
+ # AI
2
+
3
+ AI brings provider-neutral agent conversations into the Lapis workspace. Chats
4
+ stay attached to the application, so their transcript, tool activity, and
5
+ results remain available when you switch between compatible ACP agents.
6
+
7
+ Use the chat panel to work with vault context, review reasoning and tool calls,
8
+ answer approval requests, and stop work that is still running. Available agent
9
+ providers and native capabilities depend on the host and the providers you have
10
+ configured.
package/registry.json ADDED
@@ -0,0 +1,221 @@
1
+ {
2
+ "$schema": "https://registry.lapis.md/schemas/plugin-source.schema.json",
3
+ "schemaVersion": 2,
4
+ "categories": ["ai", "productivity"],
5
+ "highlights": [
6
+ "Chat with provider-neutral agents inside the workspace.",
7
+ "Review tool calls, reasoning, approvals, and results in one transcript.",
8
+ "Switch compatible ACP agents without moving conversation ownership out of Lapis."
9
+ ],
10
+ "documentationUrl": "https://github.com/lapismd/lapis-plugins/tree/main/packages/ai#readme",
11
+ "appearance": {
12
+ "icon": "sparkles",
13
+ "accent": "#A855F7"
14
+ },
15
+ "media": {
16
+ "banner": {
17
+ "alt": "Lapis AI with conversation History on the left, a populated Chat in the main workspace, and the capability Catalog on the right.",
18
+ "images": {
19
+ "preview": {
20
+ "path": "registry-assets/banner.preview.webp"
21
+ },
22
+ "full": {
23
+ "path": "registry-assets/banner.full.webp"
24
+ },
25
+ "light": {
26
+ "path": "registry-assets/banner.light.webp"
27
+ },
28
+ "dark": {
29
+ "path": "registry-assets/banner.dark.webp"
30
+ }
31
+ },
32
+ "capture": {
33
+ "storyId": "plugins-ai-registry-screenshots--overview",
34
+ "focus": "full-shell"
35
+ }
36
+ },
37
+ "overview": {
38
+ "alt": "Focused Lapis AI chat showing a completed tool call and its result in the full workspace.",
39
+ "images": {
40
+ "preview": {
41
+ "path": "registry-assets/overview.preview.webp"
42
+ },
43
+ "full": {
44
+ "path": "registry-assets/overview.full.webp"
45
+ },
46
+ "light": {
47
+ "path": "registry-assets/overview.light.webp"
48
+ },
49
+ "dark": {
50
+ "path": "registry-assets/overview.dark.webp"
51
+ }
52
+ },
53
+ "capture": {
54
+ "storyId": "plugins-ai-registry-screenshots--chat-with-tool-activity",
55
+ "focus": "full-shell"
56
+ }
57
+ }
58
+ },
59
+ "gallery": [
60
+ {
61
+ "id": "chat-tool-activity",
62
+ "alt": "Focused Lapis AI chat showing a completed vault read tool call and a concise response.",
63
+ "images": {
64
+ "preview": {
65
+ "path": "registry-assets/gallery/chat-tool-activity.preview.webp"
66
+ },
67
+ "full": {
68
+ "path": "registry-assets/gallery/chat-tool-activity.full.webp"
69
+ },
70
+ "light": {
71
+ "path": "registry-assets/gallery/chat-tool-activity.light.webp"
72
+ },
73
+ "dark": {
74
+ "path": "registry-assets/gallery/chat-tool-activity.dark.webp"
75
+ }
76
+ },
77
+ "capture": {
78
+ "storyId": "plugins-ai-registry-screenshots--chat-with-tool-activity",
79
+ "focus": "full-shell"
80
+ },
81
+ "card": {
82
+ "headline": [
83
+ {
84
+ "text": "Work with agents",
85
+ "tone": "neutral"
86
+ },
87
+ {
88
+ "text": "without leaving your notes",
89
+ "tone": "violet"
90
+ }
91
+ ],
92
+ "description": [
93
+ {
94
+ "text": "Follow",
95
+ "tone": "neutral"
96
+ },
97
+ {
98
+ "text": "tool activity,",
99
+ "tone": "violet"
100
+ },
101
+ {
102
+ "text": "reasoning,",
103
+ "tone": "cyan"
104
+ },
105
+ {
106
+ "text": "and the final answer in one app-owned conversation.",
107
+ "tone": "neutral"
108
+ }
109
+ ]
110
+ }
111
+ },
112
+ {
113
+ "id": "history",
114
+ "alt": "AI conversation history organized by note scope in the right sidebar.",
115
+ "images": {
116
+ "preview": {
117
+ "path": "registry-assets/gallery/history.preview.webp"
118
+ },
119
+ "full": {
120
+ "path": "registry-assets/gallery/history.full.webp"
121
+ },
122
+ "light": {
123
+ "path": "registry-assets/gallery/history.light.webp"
124
+ },
125
+ "dark": {
126
+ "path": "registry-assets/gallery/history.dark.webp"
127
+ }
128
+ },
129
+ "capture": {
130
+ "storyId": "plugins-ai-registry-screenshots--history",
131
+ "focus": "right-sidebar"
132
+ },
133
+ "card": {
134
+ "headline": [
135
+ {
136
+ "text": "Conversations stay",
137
+ "tone": "neutral"
138
+ },
139
+ {
140
+ "text": "close to their context",
141
+ "tone": "cyan"
142
+ }
143
+ ],
144
+ "description": [
145
+ {
146
+ "text": "Find",
147
+ "tone": "neutral"
148
+ },
149
+ {
150
+ "text": "active and archived chats",
151
+ "tone": "cyan"
152
+ },
153
+ {
154
+ "text": "by folder while Lapis keeps the",
155
+ "tone": "neutral"
156
+ },
157
+ {
158
+ "text": "transcript portable.",
159
+ "tone": "violet"
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ {
165
+ "id": "catalog",
166
+ "alt": "AI catalog in the right sidebar listing tools, commands, and skills.",
167
+ "images": {
168
+ "preview": {
169
+ "path": "registry-assets/gallery/catalog.preview.webp"
170
+ },
171
+ "full": {
172
+ "path": "registry-assets/gallery/catalog.full.webp"
173
+ },
174
+ "light": {
175
+ "path": "registry-assets/gallery/catalog.light.webp"
176
+ },
177
+ "dark": {
178
+ "path": "registry-assets/gallery/catalog.dark.webp"
179
+ }
180
+ },
181
+ "capture": {
182
+ "storyId": "plugins-ai-registry-screenshots--catalog",
183
+ "focus": "right-sidebar"
184
+ },
185
+ "card": {
186
+ "headline": [
187
+ {
188
+ "text": "Choose the capabilities",
189
+ "tone": "neutral"
190
+ },
191
+ {
192
+ "text": "each chat can use",
193
+ "tone": "green"
194
+ }
195
+ ],
196
+ "description": [
197
+ {
198
+ "text": "Browse",
199
+ "tone": "neutral"
200
+ },
201
+ {
202
+ "text": "application tools,",
203
+ "tone": "green"
204
+ },
205
+ {
206
+ "text": "slash commands, and",
207
+ "tone": "neutral"
208
+ },
209
+ {
210
+ "text": "vault skills",
211
+ "tone": "violet"
212
+ },
213
+ {
214
+ "text": "from one live catalog.",
215
+ "tone": "neutral"
216
+ }
217
+ ]
218
+ }
219
+ }
220
+ ]
221
+ }