clay-server 4.0.0-beta.16 → 4.0.0-beta.18
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/lib/daemon-projects.js +10 -5
- package/lib/daemon.js +61 -10
- package/lib/project-log-context.js +171 -0
- package/lib/project-log-feedback-delivery.js +47 -5
- package/lib/project-logs-context-state.js +42 -0
- package/lib/project-logs-mcp-server.js +15 -4
- package/lib/project-logs-query.js +18 -0
- package/lib/project-logs-root.js +8 -0
- package/lib/project-logs-service.js +121 -15
- package/lib/project-logs-snapshot.js +3 -0
- package/lib/project-logs-store.js +29 -32
- package/lib/project-logs-versioning.js +6 -2
- package/lib/project-logs.js +61 -13
- package/lib/project-message-delivery.js +70 -0
- package/lib/project-user-message.js +11 -0
- package/lib/project.js +6 -1
- package/lib/public/app.js +5 -0
- package/lib/public/css/command-palette.css +19 -9
- package/lib/public/css/project-logs.css +20 -2
- package/lib/public/css/sticky-notes.css +7 -0
- package/lib/public/index.html +2 -2
- package/lib/public/modules/admin.js +8 -8
- package/lib/public/modules/app-connection.js +22 -3
- package/lib/public/modules/app-messages.js +29 -1
- package/lib/public/modules/app-rendering.js +1 -0
- package/lib/public/modules/chat-bubble-renderer.js +1 -1
- package/lib/public/modules/clay-log-links.js +70 -0
- package/lib/public/modules/command-palette.js +52 -15
- package/lib/public/modules/input.js +6 -1
- package/lib/public/modules/markdown.js +2 -0
- package/lib/public/modules/message-delivery.js +97 -0
- package/lib/public/modules/project-logs-render.js +48 -2
- package/lib/public/modules/project-logs.js +140 -11
- package/lib/public/modules/sidebar-session-hierarchy.js +16 -7
- package/lib/public/modules/sidebar-sessions.js +3 -1
- package/lib/public/modules/sticky-note-markdown.js +5 -0
- package/lib/public/modules/sticky-notes-browser.js +2 -0
- package/lib/public/modules/sticky-notes-card.js +2 -0
- package/lib/public/modules/sticky-notes-editor.js +3 -0
- package/lib/public/modules/sticky-notes.js +2 -0
- package/lib/public/style.css +1 -1
- package/lib/sdk-bridge.js +20 -10
- package/lib/server-global-ws.js +4 -0
- package/lib/server-home-chat-events.js +3 -0
- package/lib/server-home-chat.js +9 -2
- package/lib/server-home-clay-entry.js +1 -1
- package/lib/server-home-clay-session-links.js +34 -5
- package/lib/server.js +14 -3
- package/lib/ws-schema.js +8 -2
- package/package.json +1 -1
package/lib/server.js
CHANGED
|
@@ -996,17 +996,21 @@ function createServer(opts) {
|
|
|
996
996
|
|
|
997
997
|
// --- WebSocket ---
|
|
998
998
|
var wss = new WebSocketServer({ noServer: true });
|
|
999
|
+
var homePreferencesHandler = null;
|
|
999
1000
|
|
|
1000
1001
|
// Slug-less /ws handler: lets a user with no projects yet load the regular
|
|
1001
1002
|
// app shell and create/add/clone their first one. Only knows about the
|
|
1002
|
-
// small set of bootstrap messages
|
|
1003
|
-
//
|
|
1003
|
+
// small set of bootstrap messages, including the Home preferences required
|
|
1004
|
+
// to dismiss the workspace restoration screen.
|
|
1004
1005
|
var globalWs = serverGlobalWs.attachGlobalWs({
|
|
1005
1006
|
osUsers: osUsers,
|
|
1006
1007
|
usersModule: users,
|
|
1007
1008
|
onAddProject: onAddProject,
|
|
1008
1009
|
onCreateProject: onCreateProject,
|
|
1009
1010
|
onCloneProject: onCloneProject,
|
|
1011
|
+
onHomePreferenceMessage: function (ws, msg) {
|
|
1012
|
+
return homePreferencesHandler ? homePreferencesHandler.handleMessage(ws, msg) : false;
|
|
1013
|
+
},
|
|
1010
1014
|
});
|
|
1011
1015
|
|
|
1012
1016
|
server.on("upgrade", function (req, socket, head) {
|
|
@@ -1241,6 +1245,7 @@ function createServer(opts) {
|
|
|
1241
1245
|
title: title || null,
|
|
1242
1246
|
icon: icon || null,
|
|
1243
1247
|
projectOwnerId: projectOwnerId || null,
|
|
1248
|
+
projectKnowledgeId: extra.projectKnowledgeId || (worktreeMeta && worktreeMeta.projectKnowledgeId) || null,
|
|
1244
1249
|
worktreeMeta: worktreeMeta || null,
|
|
1245
1250
|
isMate: extra.isMate || false,
|
|
1246
1251
|
mateId: extra.mateId || (extra.isMate ? path.basename(cwd) : null),
|
|
@@ -1422,6 +1427,10 @@ function createServer(opts) {
|
|
|
1422
1427
|
return true;
|
|
1423
1428
|
}
|
|
1424
1429
|
|
|
1430
|
+
function setProjectLogContextState(slug, status) {
|
|
1431
|
+
return projectLogsService.setContextState(slug, status);
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1425
1434
|
// --- DM message handler (delegated to server-dm + server-mates inline) ---
|
|
1426
1435
|
var dmHandler = serverDm.attachDm({
|
|
1427
1436
|
users: users,
|
|
@@ -1442,9 +1451,10 @@ function createServer(opts) {
|
|
|
1442
1451
|
projects: projects,
|
|
1443
1452
|
addProject: addProject,
|
|
1444
1453
|
workspaceQueryService: workspaceQueryService,
|
|
1454
|
+
projectLogsService: projectLogsService,
|
|
1445
1455
|
});
|
|
1446
1456
|
|
|
1447
|
-
|
|
1457
|
+
homePreferencesHandler = serverHomePreferences.attachHomePreferences({
|
|
1448
1458
|
users: users,
|
|
1449
1459
|
projects: projects,
|
|
1450
1460
|
});
|
|
@@ -1774,6 +1784,7 @@ function createServer(opts) {
|
|
|
1774
1784
|
forEachProject: forEachProject,
|
|
1775
1785
|
destroyProject: removeProject,
|
|
1776
1786
|
destroyAll: destroyAll,
|
|
1787
|
+
setProjectLogContextState: setProjectLogContextState,
|
|
1777
1788
|
};
|
|
1778
1789
|
}
|
|
1779
1790
|
|
package/lib/ws-schema.js
CHANGED
|
@@ -44,6 +44,8 @@ var schema = {
|
|
|
44
44
|
"project_assignment_response": { direction: "c2s", handler: "lib/workspace-assignment-service.js", description: "Approve or cancel an exact-session cross-project assignment proposal" },
|
|
45
45
|
"home_clay_session_resolve": { direction: "c2s", handler: "lib/server-home-chat.js", description: "Resolve an opaque Mate session reference through the exact bound source session" },
|
|
46
46
|
"home_clay_session_target": { direction: "s2c", handler: "lib/public/modules/command-palette.js", description: "Return an owner-validated navigation target for a rendered Mate session reference" },
|
|
47
|
+
"home_clay_log_resolve": { direction: "c2s", handler: "lib/server-home-chat.js", description: "Resolve an opaque Project Log reference through the exact bound Clay session" },
|
|
48
|
+
"home_clay_log_target": { direction: "s2c", handler: "lib/public/modules/command-palette.js", description: "Return an owner-validated project target for a rendered Log reference" },
|
|
47
49
|
|
|
48
50
|
"session_list": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Full list of sessions for the sidebar" },
|
|
49
51
|
"session_switched": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Confirmation that active session changed" },
|
|
@@ -81,7 +83,8 @@ var schema = {
|
|
|
81
83
|
// -----------------------------------------------------------------------
|
|
82
84
|
// Chat / streaming
|
|
83
85
|
// -----------------------------------------------------------------------
|
|
84
|
-
"message": { direction: "c2s", handler: "lib/project-user-message.js", description: "Send
|
|
86
|
+
"message": { direction: "c2s", handler: "lib/project-user-message.js", description: "Send an idempotent user chat message; message_ack confirms persistence" },
|
|
87
|
+
"message_ack": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Confirm that an idempotent user chat message was persisted" },
|
|
85
88
|
"user_message": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Echo of the user message in the timeline" },
|
|
86
89
|
"delta": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Incremental text delta from the assistant" },
|
|
87
90
|
"result": { direction: "s2c", handler: "lib/public/modules/app-messages.js", description: "Final assistant result text" },
|
|
@@ -412,12 +415,15 @@ var schema = {
|
|
|
412
415
|
"project_logs_list": { direction: "c2s", handler: "lib/project-logs.js", description: "List or search this project's logs (project scope is bound server-side)" },
|
|
413
416
|
"project_log_read": { direction: "c2s", handler: "lib/project-logs.js", description: "Read one project log entry by opaque ref" },
|
|
414
417
|
"project_log_comment": { direction: "c2s", handler: "lib/project-logs.js", description: "Append an attributed comment to a project log entry (append-only; author comes from the connection)" },
|
|
418
|
+
"project_log_delete": { direction: "c2s", handler: "lib/project-logs.js", description: "Delete a project log entry (project owner only; scope and identity are bound server-side)" },
|
|
415
419
|
"project_log_create": { direction: "c2s", handler: "lib/project-logs.js", description: "Retired. Canonical entries are written only by project agent sessions; this is always refused" },
|
|
416
420
|
"project_log_update": { direction: "c2s", handler: "lib/project-logs.js", description: "Retired. Canonical revisions are written only by project agent sessions; this is always refused" },
|
|
417
421
|
"project_logs_state": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "Correlated project log index for a list or search request" },
|
|
418
422
|
"project_log_entry": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "Correlated full project log entry" },
|
|
419
423
|
"project_log_commented": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "Correlated project log entry after a comment was appended" },
|
|
420
|
-
"
|
|
424
|
+
"project_log_comment_reviewed": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "A Project Driver resolved a log comment; carries identifiers and action only" },
|
|
425
|
+
"project_log_deleted": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "Confirm that the project owner deleted a project log entry" },
|
|
426
|
+
"project_log_updated": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "A project log entry was created, revised, or deleted (bounded ledger metadata only)" },
|
|
421
427
|
"project_logs_error": { direction: "s2c", handler: "lib/public/modules/project-logs.js", description: "Correlated project log request failure" },
|
|
422
428
|
|
|
423
429
|
// -----------------------------------------------------------------------
|
package/package.json
CHANGED