@polpo-ai/server 0.2.6 → 0.2.7

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/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export { healthRoutes } from "./routes/health.js";
22
22
  export { completionRoutes, type CompletionRouteDeps } from "./routes/completions.js";
23
23
  export { agentRoutes } from "./routes/agents.js";
24
24
  export { eventRoutes, type EventBridge, type EventClient } from "./routes/events.js";
25
+ export { configRoutes } from "./routes/config.js";
25
26
  export type { TaskRouteDeps, MissionRouteDeps, PlaybookRouteDeps, ApprovalRouteDeps, ChatRouteDeps, VaultRouteDeps, PeerRouteDeps, NotificationRouteDeps, ScheduleRouteDeps, WatcherRouteDeps, StateRouteDeps, ConfigRouteDeps, AuthRouteDeps, FileRouteDeps, SkillRouteDeps, AgentRouteDeps, } from "./deps.js";
26
27
  export { validateParams, instantiatePlaybook } from "./playbook-utils.js";
27
28
  export type { PlaybookParameter, PlaybookDefinition, ValidationResult } from "./playbook-utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGrF,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ export { healthRoutes } from "./routes/health.js";
23
23
  export { completionRoutes } from "./routes/completions.js";
24
24
  export { agentRoutes } from "./routes/agents.js";
25
25
  export { eventRoutes } from "./routes/events.js";
26
+ export { configRoutes } from "./routes/config.js";
26
27
  // Playbook utilities (pure logic, edge-compatible)
27
28
  export { validateParams, instantiatePlaybook } from "./playbook-utils.js";
28
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAA4B,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAsC,MAAM,oBAAoB,CAAC;AAsBrF,mDAAmD;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAA4B,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAsC,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAsBlD,mDAAmD;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { OpenAPIHono } from "@hono/zod-openapi";
2
+ /**
3
+ * Config management routes.
4
+ * Uses ConfigStore via deps for persistence — no direct filesystem access.
5
+ */
6
+ export declare function configRoutes(getDeps: () => {
7
+ getConfig: () => any;
8
+ reloadConfig: () => Promise<boolean>;
9
+ /** Save a modified config. Replaces loadPolpoConfig/savePolpoConfig coupling. */
10
+ saveConfig: (config: any) => Promise<void>;
11
+ getNotificationRouter: () => any;
12
+ }): OpenAPIHono;
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAoJhE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;IAC1C,SAAS,EAAE,MAAM,GAAG,CAAC;IACrB,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,iFAAiF;IACjF,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,qBAAqB,EAAE,MAAM,GAAG,CAAC;CAClC,GAAG,WAAW,CAmId"}
@@ -0,0 +1,260 @@
1
+ import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
2
+ import { redactPolpoConfig } from "../security.js";
3
+ import { UpdateSettingsSchema, NotificationChannelConfigSchema } from "../schemas.js";
4
+ // ── Route definitions ──────────────────────────────────────────────
5
+ const reloadConfigRoute = createRoute({
6
+ method: "post",
7
+ path: "/reload",
8
+ tags: ["Config"],
9
+ summary: "Reload config",
10
+ responses: {
11
+ 200: {
12
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.object({ message: z.string() }) }) } },
13
+ description: "Configuration reloaded successfully",
14
+ },
15
+ 500: {
16
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
17
+ description: "Failed to reload configuration",
18
+ },
19
+ },
20
+ });
21
+ const getConfigRoute = createRoute({
22
+ method: "get",
23
+ path: "/",
24
+ tags: ["Config"],
25
+ summary: "Get config",
26
+ responses: {
27
+ 200: {
28
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.any() }) } },
29
+ description: "Current configuration",
30
+ },
31
+ 404: {
32
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
33
+ description: "No configuration loaded",
34
+ },
35
+ },
36
+ });
37
+ const updateSettingsRoute = createRoute({
38
+ method: "patch",
39
+ path: "/settings",
40
+ tags: ["Config"],
41
+ summary: "Update orchestrator settings",
42
+ request: {
43
+ body: { content: { "application/json": { schema: UpdateSettingsSchema } } },
44
+ },
45
+ responses: {
46
+ 200: {
47
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.any() }) } },
48
+ description: "Settings updated",
49
+ },
50
+ 404: {
51
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
52
+ description: "No configuration loaded",
53
+ },
54
+ 500: {
55
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
56
+ description: "Failed to update settings",
57
+ },
58
+ },
59
+ });
60
+ const upsertChannelRoute = createRoute({
61
+ method: "put",
62
+ path: "/channels/{name}",
63
+ tags: ["Config"],
64
+ summary: "Create or update a notification channel",
65
+ request: {
66
+ params: z.object({ name: z.string().min(1).regex(/^[a-zA-Z0-9_-]+$/, "Channel name must be alphanumeric with dashes/underscores") }),
67
+ body: { content: { "application/json": { schema: NotificationChannelConfigSchema } } },
68
+ },
69
+ responses: {
70
+ 200: {
71
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.any() }) } },
72
+ description: "Channel saved",
73
+ },
74
+ 404: {
75
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
76
+ description: "No configuration loaded",
77
+ },
78
+ 500: {
79
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
80
+ description: "Failed to save",
81
+ },
82
+ },
83
+ });
84
+ const deleteChannelRoute = createRoute({
85
+ method: "delete",
86
+ path: "/channels/{name}",
87
+ tags: ["Config"],
88
+ summary: "Delete a notification channel",
89
+ request: {
90
+ params: z.object({ name: z.string().min(1) }),
91
+ },
92
+ responses: {
93
+ 200: {
94
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.any() }) } },
95
+ description: "Channel deleted",
96
+ },
97
+ 404: {
98
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
99
+ description: "Channel or config not found",
100
+ },
101
+ 500: {
102
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
103
+ description: "Failed to save",
104
+ },
105
+ },
106
+ });
107
+ const testChannelRoute = createRoute({
108
+ method: "post",
109
+ path: "/channels/{name}/test",
110
+ tags: ["Config"],
111
+ summary: "Test a notification channel",
112
+ request: {
113
+ params: z.object({ name: z.string().min(1) }),
114
+ },
115
+ responses: {
116
+ 200: {
117
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.object({ success: z.boolean() }) }) } },
118
+ description: "Test result",
119
+ },
120
+ 404: {
121
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), error: z.string() }) } },
122
+ description: "Channel not found",
123
+ },
124
+ },
125
+ });
126
+ const listChannelsRoute = createRoute({
127
+ method: "get",
128
+ path: "/channels",
129
+ tags: ["Config"],
130
+ summary: "List notification channels",
131
+ responses: {
132
+ 200: {
133
+ content: { "application/json": { schema: z.object({ ok: z.boolean(), data: z.any() }) } },
134
+ description: "Channel list",
135
+ },
136
+ },
137
+ });
138
+ // ── Route handlers ─────────────────────────────────────────────────
139
+ /**
140
+ * Config management routes.
141
+ * Uses ConfigStore via deps for persistence — no direct filesystem access.
142
+ */
143
+ export function configRoutes(getDeps) {
144
+ const app = new OpenAPIHono();
145
+ /** Read config, apply mutation, save, reload, return updated. */
146
+ async function mutateConfig(deps, mutate) {
147
+ const config = deps.getConfig();
148
+ if (!config)
149
+ return { ok: false, error: "No configuration loaded", status: 404 };
150
+ // Deep clone to avoid mutating the live config before save
151
+ const clone = JSON.parse(JSON.stringify(config));
152
+ mutate(clone);
153
+ try {
154
+ await deps.saveConfig(clone);
155
+ }
156
+ catch (err) {
157
+ const msg = err instanceof Error ? err.message : "Unknown error";
158
+ return { ok: false, error: `Failed to save config: ${msg}`, status: 500 };
159
+ }
160
+ await deps.reloadConfig();
161
+ return { ok: true, config: deps.getConfig() };
162
+ }
163
+ app.openapi(reloadConfigRoute, async (c) => {
164
+ const deps = getDeps();
165
+ const success = await deps.reloadConfig();
166
+ if (success) {
167
+ return c.json({ ok: true, data: { message: "Configuration reloaded successfully" } }, 200);
168
+ }
169
+ return c.json({ ok: false, error: "Failed to reload configuration" }, 500);
170
+ });
171
+ app.openapi(getConfigRoute, (c) => {
172
+ const deps = getDeps();
173
+ const config = deps.getConfig();
174
+ if (!config) {
175
+ return c.json({ ok: false, error: "No configuration loaded" }, 404);
176
+ }
177
+ return c.json({ ok: true, data: redactPolpoConfig(config) }, 200);
178
+ });
179
+ app.openapi(updateSettingsRoute, async (c) => {
180
+ const deps = getDeps();
181
+ const body = c.req.valid("json");
182
+ const result = await mutateConfig(deps, (config) => {
183
+ const settings = config.settings ?? {};
184
+ if (body.orchestratorModel !== undefined)
185
+ settings.orchestratorModel = body.orchestratorModel;
186
+ if (body.imageModel !== undefined)
187
+ settings.imageModel = body.imageModel === null ? undefined : body.imageModel;
188
+ if (body.reasoning !== undefined)
189
+ settings.reasoning = body.reasoning;
190
+ config.settings = settings;
191
+ });
192
+ if (!result.ok)
193
+ return c.json({ ok: false, error: result.error }, result.status);
194
+ return c.json({ ok: true, data: redactPolpoConfig(result.config) }, 200);
195
+ });
196
+ // ── Channel CRUD ──
197
+ app.openapi(listChannelsRoute, (c) => {
198
+ const deps = getDeps();
199
+ const config = deps.getConfig();
200
+ const channels = config?.settings?.notifications?.channels ?? {};
201
+ return c.json({ ok: true, data: channels }, 200);
202
+ });
203
+ app.openapi(upsertChannelRoute, async (c) => {
204
+ const deps = getDeps();
205
+ const { name } = c.req.valid("param");
206
+ const channelConfig = c.req.valid("json");
207
+ const result = await mutateConfig(deps, (config) => {
208
+ const settings = config.settings ?? {};
209
+ if (!settings.notifications)
210
+ settings.notifications = { channels: {}, rules: [] };
211
+ if (!settings.notifications.channels)
212
+ settings.notifications.channels = {};
213
+ settings.notifications.channels[name] = channelConfig;
214
+ config.settings = settings;
215
+ });
216
+ if (!result.ok)
217
+ return c.json({ ok: false, error: result.error }, result.status);
218
+ return c.json({ ok: true, data: redactPolpoConfig(result.config) }, 200);
219
+ });
220
+ app.openapi(deleteChannelRoute, async (c) => {
221
+ const deps = getDeps();
222
+ const { name } = c.req.valid("param");
223
+ const currentConfig = deps.getConfig();
224
+ const channels = currentConfig?.settings?.notifications?.channels;
225
+ if (!channels || !(name in channels)) {
226
+ return c.json({ ok: false, error: `Channel "${name}" not found` }, 404);
227
+ }
228
+ const result = await mutateConfig(deps, (config) => {
229
+ const settings = config.settings ?? {};
230
+ if (settings.notifications?.channels) {
231
+ delete settings.notifications.channels[name];
232
+ }
233
+ config.settings = settings;
234
+ });
235
+ if (!result.ok)
236
+ return c.json({ ok: false, error: result.error }, result.status);
237
+ return c.json({ ok: true, data: redactPolpoConfig(result.config) }, 200);
238
+ });
239
+ app.openapi(testChannelRoute, async (c) => {
240
+ const deps = getDeps();
241
+ const { name } = c.req.valid("param");
242
+ const notificationRouter = deps.getNotificationRouter();
243
+ if (!notificationRouter) {
244
+ return c.json({ ok: false, error: "Notification system not initialized" }, 404);
245
+ }
246
+ const channelIds = notificationRouter.getChannelIds();
247
+ if (!channelIds.includes(name)) {
248
+ return c.json({ ok: false, error: `Channel "${name}" not found in runtime. Save and reload first.` }, 404);
249
+ }
250
+ try {
251
+ const results = await notificationRouter.testChannels();
252
+ return c.json({ ok: true, data: { success: results[name] ?? false } }, 200);
253
+ }
254
+ catch {
255
+ return c.json({ ok: true, data: { success: false } }, 200);
256
+ }
257
+ });
258
+ return app;
259
+ }
260
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polpo-ai/server",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "Polpo API route factories — edge-compatible Hono routes for tasks, agents, missions, vault, and more",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",