@burdenoff/vibe-agent 1.3.2 → 2.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.
Files changed (164) hide show
  1. package/dist/app-31chs2a1.js +17180 -0
  2. package/dist/app-31chs2a1.js.map +170 -0
  3. package/dist/chunk-pm1hna8x-473akrq0.js +16826 -0
  4. package/dist/chunk-pm1hna8x-473akrq0.js.map +11 -0
  5. package/dist/cli.js +4686 -1146
  6. package/dist/cli.js.map +51 -1
  7. package/dist/highlights-eq9cgrbb.scm +604 -0
  8. package/dist/highlights-ghv9g403.scm +205 -0
  9. package/dist/highlights-hk7bwhj4.scm +284 -0
  10. package/dist/highlights-r812a2qc.scm +150 -0
  11. package/dist/highlights-x6tmsnaa.scm +115 -0
  12. package/dist/index-5xngv42g.js +2546 -0
  13. package/dist/index-5xngv42g.js.map +26 -0
  14. package/dist/index-6aq4nc58.js +11429 -0
  15. package/dist/index-6aq4nc58.js.map +21 -0
  16. package/dist/index-ac2ebaf8.js +4 -0
  17. package/dist/index-ac2ebaf8.js.map +9 -0
  18. package/dist/index-g8dczzvv.js +33 -0
  19. package/dist/index-g8dczzvv.js.map +9 -0
  20. package/dist/index-gmz54dkc.js +28402 -0
  21. package/dist/index-gmz54dkc.js.map +11 -0
  22. package/dist/index-t06ktmx9.js +216 -0
  23. package/dist/index-t06ktmx9.js.map +11 -0
  24. package/dist/index.js +69 -87
  25. package/dist/index.js.map +10 -1
  26. package/dist/injections-73j83es3.scm +27 -0
  27. package/dist/package-0158fp3w.js +136 -0
  28. package/dist/package-0158fp3w.js.map +9 -0
  29. package/dist/plugin-system-bg1pzjj9.js +453 -0
  30. package/dist/plugin-system-bg1pzjj9.js.map +11 -0
  31. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  32. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  33. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  34. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  35. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  36. package/package.json +33 -44
  37. package/dist/app.d.ts +0 -15
  38. package/dist/app.d.ts.map +0 -1
  39. package/dist/app.js +0 -600
  40. package/dist/app.js.map +0 -1
  41. package/dist/cli.d.ts +0 -3
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/db/schema.d.ts +0 -121
  44. package/dist/db/schema.d.ts.map +0 -1
  45. package/dist/db/schema.js +0 -473
  46. package/dist/db/schema.js.map +0 -1
  47. package/dist/index.d.ts +0 -2
  48. package/dist/index.d.ts.map +0 -1
  49. package/dist/middleware/ModuleAuth.d.ts +0 -61
  50. package/dist/middleware/ModuleAuth.d.ts.map +0 -1
  51. package/dist/middleware/ModuleAuth.js +0 -223
  52. package/dist/middleware/ModuleAuth.js.map +0 -1
  53. package/dist/middleware/auth.d.ts +0 -3
  54. package/dist/middleware/auth.d.ts.map +0 -1
  55. package/dist/middleware/auth.js +0 -11
  56. package/dist/middleware/auth.js.map +0 -1
  57. package/dist/migrations/remove-notes-prompts.d.ts +0 -13
  58. package/dist/migrations/remove-notes-prompts.d.ts.map +0 -1
  59. package/dist/migrations/remove-notes-prompts.js +0 -148
  60. package/dist/migrations/remove-notes-prompts.js.map +0 -1
  61. package/dist/routes/bookmarks.d.ts +0 -3
  62. package/dist/routes/bookmarks.d.ts.map +0 -1
  63. package/dist/routes/bookmarks.js +0 -195
  64. package/dist/routes/bookmarks.js.map +0 -1
  65. package/dist/routes/config.d.ts +0 -3
  66. package/dist/routes/config.d.ts.map +0 -1
  67. package/dist/routes/config.js +0 -106
  68. package/dist/routes/config.js.map +0 -1
  69. package/dist/routes/files.d.ts +0 -3
  70. package/dist/routes/files.d.ts.map +0 -1
  71. package/dist/routes/files.js +0 -313
  72. package/dist/routes/files.js.map +0 -1
  73. package/dist/routes/git.d.ts +0 -3
  74. package/dist/routes/git.d.ts.map +0 -1
  75. package/dist/routes/git.js +0 -427
  76. package/dist/routes/git.js.map +0 -1
  77. package/dist/routes/logs.d.ts +0 -9
  78. package/dist/routes/logs.d.ts.map +0 -1
  79. package/dist/routes/logs.js +0 -107
  80. package/dist/routes/logs.js.map +0 -1
  81. package/dist/routes/moduleRegistry.d.ts +0 -41
  82. package/dist/routes/moduleRegistry.d.ts.map +0 -1
  83. package/dist/routes/moduleRegistry.js +0 -356
  84. package/dist/routes/moduleRegistry.js.map +0 -1
  85. package/dist/routes/notifications.d.ts +0 -3
  86. package/dist/routes/notifications.d.ts.map +0 -1
  87. package/dist/routes/notifications.js +0 -255
  88. package/dist/routes/notifications.js.map +0 -1
  89. package/dist/routes/plugin-state.d.ts +0 -19
  90. package/dist/routes/plugin-state.d.ts.map +0 -1
  91. package/dist/routes/plugin-state.js +0 -139
  92. package/dist/routes/plugin-state.js.map +0 -1
  93. package/dist/routes/plugins.d.ts +0 -3
  94. package/dist/routes/plugins.d.ts.map +0 -1
  95. package/dist/routes/plugins.js +0 -118
  96. package/dist/routes/plugins.js.map +0 -1
  97. package/dist/routes/projects.d.ts +0 -3
  98. package/dist/routes/projects.d.ts.map +0 -1
  99. package/dist/routes/projects.js +0 -456
  100. package/dist/routes/projects.js.map +0 -1
  101. package/dist/routes/tasks.d.ts +0 -3
  102. package/dist/routes/tasks.d.ts.map +0 -1
  103. package/dist/routes/tasks.js +0 -187
  104. package/dist/routes/tasks.js.map +0 -1
  105. package/dist/routes/tmux.d.ts +0 -3
  106. package/dist/routes/tmux.d.ts.map +0 -1
  107. package/dist/routes/tmux.js +0 -1287
  108. package/dist/routes/tmux.js.map +0 -1
  109. package/dist/routes/tunnel.d.ts +0 -25
  110. package/dist/routes/tunnel.d.ts.map +0 -1
  111. package/dist/routes/tunnel.js +0 -498
  112. package/dist/routes/tunnel.js.map +0 -1
  113. package/dist/services/ModulePermissions.d.ts +0 -100
  114. package/dist/services/ModulePermissions.d.ts.map +0 -1
  115. package/dist/services/ModulePermissions.js +0 -322
  116. package/dist/services/ModulePermissions.js.map +0 -1
  117. package/dist/services/ModuleRegistryService.d.ts +0 -152
  118. package/dist/services/ModuleRegistryService.d.ts.map +0 -1
  119. package/dist/services/ModuleRegistryService.js +0 -547
  120. package/dist/services/ModuleRegistryService.js.map +0 -1
  121. package/dist/services/agent.service.d.ts +0 -19
  122. package/dist/services/agent.service.d.ts.map +0 -1
  123. package/dist/services/agent.service.js +0 -91
  124. package/dist/services/agent.service.js.map +0 -1
  125. package/dist/services/bootstrap.d.ts +0 -22
  126. package/dist/services/bootstrap.d.ts.map +0 -1
  127. package/dist/services/bootstrap.js +0 -283
  128. package/dist/services/bootstrap.js.map +0 -1
  129. package/dist/services/completion.d.ts +0 -46
  130. package/dist/services/completion.d.ts.map +0 -1
  131. package/dist/services/completion.js +0 -317
  132. package/dist/services/completion.js.map +0 -1
  133. package/dist/services/gateway-client.d.ts +0 -61
  134. package/dist/services/gateway-client.d.ts.map +0 -1
  135. package/dist/services/gateway-client.js +0 -147
  136. package/dist/services/gateway-client.js.map +0 -1
  137. package/dist/services/logger.d.ts +0 -61
  138. package/dist/services/logger.d.ts.map +0 -1
  139. package/dist/services/logger.js +0 -223
  140. package/dist/services/logger.js.map +0 -1
  141. package/dist/services/plugin-manager.d.ts +0 -105
  142. package/dist/services/plugin-manager.d.ts.map +0 -1
  143. package/dist/services/plugin-manager.js +0 -250
  144. package/dist/services/plugin-manager.js.map +0 -1
  145. package/dist/services/plugin-state-backend.d.ts +0 -22
  146. package/dist/services/plugin-state-backend.d.ts.map +0 -1
  147. package/dist/services/plugin-state-backend.js +0 -103
  148. package/dist/services/plugin-state-backend.js.map +0 -1
  149. package/dist/services/plugin-state-external.d.ts +0 -36
  150. package/dist/services/plugin-state-external.d.ts.map +0 -1
  151. package/dist/services/plugin-state-external.js +0 -144
  152. package/dist/services/plugin-state-external.js.map +0 -1
  153. package/dist/services/plugin-state-router.d.ts +0 -40
  154. package/dist/services/plugin-state-router.d.ts.map +0 -1
  155. package/dist/services/plugin-state-router.js +0 -82
  156. package/dist/services/plugin-state-router.js.map +0 -1
  157. package/dist/services/port-utils.d.ts +0 -11
  158. package/dist/services/port-utils.d.ts.map +0 -1
  159. package/dist/services/port-utils.js +0 -39
  160. package/dist/services/port-utils.js.map +0 -1
  161. package/dist/services/service-manager.d.ts +0 -50
  162. package/dist/services/service-manager.d.ts.map +0 -1
  163. package/dist/services/service-manager.js +0 -389
  164. package/dist/services/service-manager.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-state.d.ts","sourceRoot":"","sources":["../../src/routes/plugin-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,eAAe,iBA4J3D"}
@@ -1,139 +0,0 @@
1
- import { PluginStateRouter, } from "../services/plugin-state-router.js";
2
- import logger from "../services/logger.js";
3
- /**
4
- * Plugin State Routes — Scoped key-value store for plugins.
5
- *
6
- * Each plugin has its own namespace. Plugins (or external tools) can
7
- * persist arbitrary key-value pairs that survive agent restarts.
8
- *
9
- * Query parameter: ?backend=local|remote|external (default: local)
10
- *
11
- * Routes:
12
- * GET /api/plugin-state/:pluginName — List all keys for a plugin
13
- * GET /api/plugin-state/:pluginName/:key — Get a single value
14
- * PUT /api/plugin-state/:pluginName/:key — Set a value
15
- * DELETE /api/plugin-state/:pluginName/:key — Delete a key
16
- * DELETE /api/plugin-state/:pluginName — Delete all keys for a plugin
17
- * POST /api/plugin-state/config/external — Configure external backend
18
- */
19
- export async function pluginStateRoutes(app) {
20
- // Read agent ID from config store (set during gateway auth setup)
21
- const agentId = app.db.getConfig("gateway-auth:clientId") ?? undefined;
22
- const router = new PluginStateRouter(app.db, agentId);
23
- // Try restoring external config from the agent config store
24
- const externalConfigStr = app.db.getConfig("plugin-state:external-config");
25
- if (externalConfigStr) {
26
- try {
27
- const config = JSON.parse(externalConfigStr);
28
- router.configureExternal(config);
29
- }
30
- catch {
31
- logger.warn("plugin-state-routes", "Failed to parse saved external config");
32
- }
33
- }
34
- /**
35
- * POST /api/plugin-state/config/external — Configure the external backend
36
- * Body: ExternalStoreConfig
37
- */
38
- app.post("/config/external", async (request, reply) => {
39
- const config = request.body;
40
- if (!config?.baseUrl) {
41
- return reply
42
- .code(400)
43
- .send({ error: "Missing required field: baseUrl" });
44
- }
45
- router.configureExternal(config);
46
- // Persist so it survives restarts
47
- app.db.setConfig("plugin-state:external-config", JSON.stringify(config));
48
- return { configured: true, baseUrl: config.baseUrl };
49
- });
50
- /**
51
- * GET /api/plugin-state/:pluginName — List all key-value pairs for a plugin
52
- */
53
- app.get("/:pluginName", async (request) => {
54
- const { pluginName } = request.params;
55
- const backend = router.resolve(request.query.backend);
56
- const entries = await backend.getAll(pluginName);
57
- return {
58
- pluginName,
59
- entries,
60
- count: entries.length,
61
- backend: request.query.backend ?? "local",
62
- };
63
- });
64
- /**
65
- * GET /api/plugin-state/:pluginName/:key — Get a single value
66
- */
67
- app.get("/:pluginName/:key", async (request, reply) => {
68
- const { pluginName, key } = request.params;
69
- const backend = router.resolve(request.query.backend);
70
- const value = await backend.get(pluginName, key);
71
- if (value === undefined) {
72
- return reply.code(404).send({
73
- error: "Not found",
74
- message: `Key "${key}" not found for plugin "${pluginName}"`,
75
- });
76
- }
77
- return {
78
- pluginName,
79
- key,
80
- value,
81
- backend: request.query.backend ?? "local",
82
- };
83
- });
84
- /**
85
- * PUT /api/plugin-state/:pluginName/:key — Set a value
86
- * Body: { value: string }
87
- */
88
- app.put("/:pluginName/:key", async (request, reply) => {
89
- const { pluginName, key } = request.params;
90
- const { value } = request.body || {};
91
- if (value === undefined || value === null) {
92
- return reply.code(400).send({ error: "Missing required field: value" });
93
- }
94
- const strValue = typeof value === "string" ? value : JSON.stringify(value);
95
- const backend = router.resolve(request.query.backend);
96
- await backend.set(pluginName, key, strValue);
97
- return {
98
- pluginName,
99
- key,
100
- value: strValue,
101
- updated: true,
102
- backend: request.query.backend ?? "local",
103
- };
104
- });
105
- /**
106
- * DELETE /api/plugin-state/:pluginName/:key — Delete a single key
107
- */
108
- app.delete("/:pluginName/:key", async (request, reply) => {
109
- const { pluginName, key } = request.params;
110
- const backend = router.resolve(request.query.backend);
111
- const deleted = await backend.delete(pluginName, key);
112
- if (!deleted) {
113
- return reply.code(404).send({
114
- error: "Not found",
115
- message: `Key "${key}" not found for plugin "${pluginName}"`,
116
- });
117
- }
118
- return {
119
- pluginName,
120
- key,
121
- deleted: true,
122
- backend: request.query.backend ?? "local",
123
- };
124
- });
125
- /**
126
- * DELETE /api/plugin-state/:pluginName — Delete all state for a plugin
127
- */
128
- app.delete("/:pluginName", async (request) => {
129
- const { pluginName } = request.params;
130
- const backend = router.resolve(request.query.backend);
131
- const count = await backend.deleteAll(pluginName);
132
- return {
133
- pluginName,
134
- deletedCount: count,
135
- backend: request.query.backend ?? "local",
136
- };
137
- });
138
- }
139
- //# sourceMappingURL=plugin-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-state.js","sourceRoot":"","sources":["../../src/routes/plugin-state.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { FastifyInstance } from "fastify";
2
- export declare function pluginRoutes(app: FastifyInstance): Promise<void>;
3
- //# sourceMappingURL=plugins.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA0B/C,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,iBA2GtD"}
@@ -1,118 +0,0 @@
1
- import { pluginManager } from "../services/plugin-manager.js";
2
- // ── Available Plugins Catalog ──────────────────────────────────────────────
3
- // Hardcoded list of known/curated plugins. This can be expanded later to
4
- // fetch from a remote registry.
5
- const AVAILABLE_PLUGINS = [
6
- {
7
- packageName: "@burdenoff/vibe-plugin-ssh",
8
- name: "ssh",
9
- description: "SSH connection management and port forwarding",
10
- version: "latest",
11
- tags: ["ssh", "networking", "port-forward"],
12
- },
13
- {
14
- packageName: "@burdenoff/vibe-plugin-ai",
15
- name: "ai",
16
- description: "AI tool management and integration",
17
- version: "latest",
18
- tags: ["ai", "tools", "llm"],
19
- },
20
- ];
21
- // ── Plugin Routes ──────────────────────────────────────────────────────────
22
- export async function pluginRoutes(app) {
23
- /**
24
- * GET /api/plugins — List all installed plugins with their loaded state
25
- */
26
- app.get("/", async () => {
27
- const plugins = pluginManager.getPluginDetails();
28
- return {
29
- plugins,
30
- count: plugins.length,
31
- };
32
- });
33
- /**
34
- * GET /api/plugins/available — List available plugins from the catalog
35
- */
36
- app.get("/available", async () => {
37
- const installed = pluginManager.loadRegistry();
38
- const installedPackages = new Set(installed.map((e) => e.packageName));
39
- return {
40
- plugins: AVAILABLE_PLUGINS.map((p) => ({
41
- ...p,
42
- installed: installedPackages.has(p.packageName),
43
- })),
44
- };
45
- });
46
- /**
47
- * POST /api/plugins/install — Install a plugin by package name
48
- * Body: { packageName: string }
49
- */
50
- app.post("/install", async (request, reply) => {
51
- const { packageName } = request.body || {};
52
- if (!packageName || typeof packageName !== "string") {
53
- return reply
54
- .code(400)
55
- .send({ error: "Missing required field: packageName" });
56
- }
57
- try {
58
- const entry = await pluginManager.installAndLoad(packageName, app);
59
- return {
60
- success: true,
61
- plugin: entry,
62
- message: `Plugin ${packageName} installed and loaded successfully`,
63
- };
64
- }
65
- catch (err) {
66
- return reply.code(500).send({
67
- error: "Failed to install plugin",
68
- details: err instanceof Error ? err.message : String(err),
69
- });
70
- }
71
- });
72
- /**
73
- * POST /api/plugins/remove — Remove (uninstall) a plugin
74
- * Body: { packageName: string }
75
- */
76
- app.post("/remove", async (request, reply) => {
77
- const { packageName } = request.body || {};
78
- if (!packageName || typeof packageName !== "string") {
79
- return reply
80
- .code(400)
81
- .send({ error: "Missing required field: packageName" });
82
- }
83
- try {
84
- await pluginManager.removeAndUnload(packageName, app);
85
- return {
86
- success: true,
87
- message: `Plugin ${packageName} removed successfully`,
88
- };
89
- }
90
- catch (err) {
91
- return reply.code(500).send({
92
- error: "Failed to remove plugin",
93
- details: err instanceof Error ? err.message : String(err),
94
- });
95
- }
96
- });
97
- /**
98
- * POST /api/plugins/reload — Hot-reload all plugins without restarting
99
- */
100
- app.post("/reload", async (_request, reply) => {
101
- try {
102
- await pluginManager.reloadAll(app);
103
- const plugins = pluginManager.getPluginDetails();
104
- return {
105
- success: true,
106
- plugins,
107
- message: `Reloaded ${plugins.length} plugin(s)`,
108
- };
109
- }
110
- catch (err) {
111
- return reply.code(500).send({
112
- error: "Failed to reload plugins",
113
- details: err instanceof Error ? err.message : String(err),
114
- });
115
- }
116
- });
117
- }
118
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/routes/plugins.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { FastifyPluginAsync } from "fastify";
2
- export declare const projectRoutes: FastifyPluginAsync;
3
- //# sourceMappingURL=projects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAoK7C,eAAO,MAAM,aAAa,EAAE,kBAkM3B,CAAC"}