@clawos-dev/clawd 0.2.307 → 0.2.308
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/cli.cjs +47 -3
- package/dist/dispatch/mcp-server.cjs +12 -0
- package/dist/share-md-viewer-error.html +1 -1
- package/dist/share-md-viewer.html +1 -1
- package/dist/share-ui/assets/{guest-B5i77Yye.js → guest-COD6k16h.js} +131 -126
- package/dist/share-ui/assets/guest-D0fgUsUm.css +32 -0
- package/dist/share-ui/guest.html +2 -2
- package/package.json +1 -1
- package/dist/share-ui/assets/guest-BOW-xAoh.css +0 -32
package/dist/cli.cjs
CHANGED
|
@@ -6828,7 +6828,7 @@ var init_principal = __esm({
|
|
|
6828
6828
|
});
|
|
6829
6829
|
|
|
6830
6830
|
// ../protocol/src/schemas.ts
|
|
6831
|
-
var SessionStatusSchema, UsageSchema, ContextUsageSchema, sessionMetaShape, SessionMetaSchema, SelectOptionSchema, ModelInfoSchema, ModeInfoSchema, ConfigFieldSchemaSchema, CapabilitiesGetArgs, ToolFeaturesSchema, CapabilitiesResponseSchema, AllowRuleSchema, SessionFileSchema, ParsedEventBase, HistoryUserMetaSchema, SubagentToolStatsSchema, StructuredPatchHunkSchema, ToolResultExtraSchema, MemoryEntrySchema, AskQuestionOptionSchema, AskQuestionItemSchema, ParsedEventSchema, SessionCreateArgs, SessionImportExternalArgs, SessionListArgs, SessionIdArgs, SessionUpdateArgs, SessionSendArgs, SessionInterruptArgs, SessionRewindArgs, SessionRewindResponseSchema, SessionRewindDiffArgs, RewindDiffHunkSchema, RewindDiffFileSchema, SessionRewindDiffResponseSchema, SessionRewindableMessageIdsArgs, SessionRewindableMessageIdsResponseSchema, SessionResumeArgs, SessionForkArgs, SessionForkResponseSchema, SessionObserveArgs, SessionEventsArgs, PermissionRespondArgs, HistoryListArgs, HistoryReadArgs, HistorySubagentsArgs, HistorySubagentReadArgs, WorkspaceListArgs, WorkspaceReadArgs, SkillsListArgs, SkillEntrySchema, AgentEntrySchema, AgentsListArgs, AgentsListResponseSchema, SessionCurrentTurnSenderArgs, SessionSubscribeArgs, SessionPinArgs, PeerSessionUpsertArgs, PeerSessionUpsertResponseSchema, PeerSessionRemoveArgs, PeerSessionRemoveResponseSchema, SessionReorderPinsArgs, GitRootArgs, GitRootResponseSchema, GitBranchArgs, GitBranchResponseSchema, GitBranchesArgs, GitBranchesResponseSchema, HistoryRecentDirsArgs, RecentDirEntrySchema, HistoryRecentDirsResponseSchema, SessionQuestionFrameSchema, SessionQuestionClearedFrameSchema, AnswerQuestionArgs, AnswerQuestionResponseSchema, CancelQuestionArgs, CancelQuestionResponseSchema, ClientInfoSchema, AuthRequestFrameSchema, AuthOkFrameSchema, DeviceConnectionEntrySchema, DeviceConnectionsResponseSchema, TunnelReadyEventSchema, TunnelExitedEventSchema, TunnelUnavailableEventSchema, InfoRunningSessionSchema, InfoResponseSchema, PROJECT_PORT_MIN, PROJECT_PORT_MAX, projectNameRegex, DEFAULT_DEV_COMMAND, ProjectMetadataSchema, PROJECT_STAGE_VALUES, ProjectStageSchema, ProjectWithStatusSchema, ListProjectsArgsSchema, ListProjectsResultSchema, GetProjectArgsSchema, GetProjectResultSchema, CreateProjectArgsSchema, CreateProjectResultSchema, DeleteProjectArgsSchema, DeleteProjectResultSchema, UpdateProjectPortArgsSchema, UpdateProjectPortResultSchema, SetProdUrlArgsSchema, SetProdUrlResultSchema, StartDevServerArgsSchema, StartDevServerResultSchema, ASSISTANT_REPORTABLE_STAGES, ReportStageArgsSchema, ReportStageResultSchema, StopDevServerArgsSchema, StopDevServerResultSchema, AppBuilderProjectUpdatedEventSchema, PublishArgsSchema, PublishResultSchema, DismissPublishJobArgsSchema, DismissPublishJobResultSchema, AppBuilderPublishProgressEventSchema, AppBuilderPublishFailedEventSchema;
|
|
6831
|
+
var SessionStatusSchema, UsageSchema, ContextUsageSchema, sessionMetaShape, SessionMetaSchema, SelectOptionSchema, ModelInfoSchema, ModeInfoSchema, ConfigFieldSchemaSchema, CapabilitiesGetArgs, ToolFeaturesSchema, CapabilitiesResponseSchema, AllowRuleSchema, SessionFileSchema, ParsedEventBase, HistoryUserMetaSchema, SubagentToolStatsSchema, StructuredPatchHunkSchema, ToolResultExtraSchema, MemoryEntrySchema, AskQuestionOptionSchema, AskQuestionItemSchema, ParsedEventSchema, SessionCreateArgs, SessionImportExternalArgs, SessionListArgs, SessionIdArgs, SessionUpdateArgs, SessionSendArgs, SessionInterruptArgs, SessionRewindArgs, SessionRewindResponseSchema, SessionRewindDiffArgs, RewindDiffHunkSchema, RewindDiffFileSchema, SessionRewindDiffResponseSchema, SessionRewindableMessageIdsArgs, SessionRewindableMessageIdsResponseSchema, SessionResumeArgs, SessionForkArgs, SessionForkResponseSchema, SessionObserveArgs, SessionEventsArgs, PermissionRespondArgs, HistoryListArgs, HistoryReadArgs, HistorySubagentsArgs, HistorySubagentReadArgs, WorkspaceListArgs, WorkspaceReadArgs, SkillsListArgs, SkillEntrySchema, AgentEntrySchema, AgentsListArgs, AgentsListResponseSchema, SessionCurrentTurnSenderArgs, SessionSubscribeArgs, SessionPinArgs, SessionArchiveArgs, PeerSessionUpsertArgs, PeerSessionUpsertResponseSchema, PeerSessionRemoveArgs, PeerSessionRemoveResponseSchema, SessionReorderPinsArgs, GitRootArgs, GitRootResponseSchema, GitBranchArgs, GitBranchResponseSchema, GitBranchesArgs, GitBranchesResponseSchema, HistoryRecentDirsArgs, RecentDirEntrySchema, HistoryRecentDirsResponseSchema, SessionQuestionFrameSchema, SessionQuestionClearedFrameSchema, AnswerQuestionArgs, AnswerQuestionResponseSchema, CancelQuestionArgs, CancelQuestionResponseSchema, ClientInfoSchema, AuthRequestFrameSchema, AuthOkFrameSchema, DeviceConnectionEntrySchema, DeviceConnectionsResponseSchema, TunnelReadyEventSchema, TunnelExitedEventSchema, TunnelUnavailableEventSchema, InfoRunningSessionSchema, InfoResponseSchema, PROJECT_PORT_MIN, PROJECT_PORT_MAX, projectNameRegex, DEFAULT_DEV_COMMAND, ProjectMetadataSchema, PROJECT_STAGE_VALUES, ProjectStageSchema, ProjectWithStatusSchema, ListProjectsArgsSchema, ListProjectsResultSchema, GetProjectArgsSchema, GetProjectResultSchema, CreateProjectArgsSchema, CreateProjectResultSchema, DeleteProjectArgsSchema, DeleteProjectResultSchema, UpdateProjectPortArgsSchema, UpdateProjectPortResultSchema, SetProdUrlArgsSchema, SetProdUrlResultSchema, StartDevServerArgsSchema, StartDevServerResultSchema, ASSISTANT_REPORTABLE_STAGES, ReportStageArgsSchema, ReportStageResultSchema, StopDevServerArgsSchema, StopDevServerResultSchema, AppBuilderProjectUpdatedEventSchema, PublishArgsSchema, PublishResultSchema, DismissPublishJobArgsSchema, DismissPublishJobResultSchema, AppBuilderPublishProgressEventSchema, AppBuilderPublishFailedEventSchema;
|
|
6832
6832
|
var init_schemas = __esm({
|
|
6833
6833
|
"../protocol/src/schemas.ts"() {
|
|
6834
6834
|
"use strict";
|
|
@@ -6929,6 +6929,10 @@ var init_schemas = __esm({
|
|
|
6929
6929
|
permissionRules: external_exports.array(AllowRuleSchema).optional(),
|
|
6930
6930
|
// Sidebar 置顶时间戳;null/undefined 表示未置顶
|
|
6931
6931
|
pinnedAt: external_exports.number().int().nonnegative().nullable().optional(),
|
|
6932
|
+
// 归档时间戳(spec 2026-08-10-session-archive-about-page);null/undefined 表示未归档。
|
|
6933
|
+
// marker 语义:不 bump updatedAt(与 pinnedAt 同款)。session:archive 归档时 daemon
|
|
6934
|
+
// 在同一次落盘里原子清 pinnedAt;取消归档不恢复置顶。
|
|
6935
|
+
archivedAt: external_exports.number().int().nonnegative().nullable().optional(),
|
|
6932
6936
|
// pinned 行手动拖拽顺序;越小越靠前。session:reorderPins 整体重写所有 pinned 的此字段。
|
|
6933
6937
|
// 缺失时 view-state 排序回退到 pinnedAt desc(旧数据兼容)
|
|
6934
6938
|
pinSortOrder: external_exports.number().int().nullable().optional(),
|
|
@@ -7495,6 +7499,10 @@ var init_schemas = __esm({
|
|
|
7495
7499
|
sessionId: external_exports.string().min(1),
|
|
7496
7500
|
pinned: external_exports.boolean()
|
|
7497
7501
|
});
|
|
7502
|
+
SessionArchiveArgs = external_exports.object({
|
|
7503
|
+
sessionId: external_exports.string().min(1),
|
|
7504
|
+
archived: external_exports.boolean()
|
|
7505
|
+
});
|
|
7498
7506
|
PeerSessionUpsertArgs = SessionFileSchema;
|
|
7499
7507
|
PeerSessionUpsertResponseSchema = external_exports.object({
|
|
7500
7508
|
type: external_exports.literal("peerSession:upsert:ok")
|
|
@@ -7965,6 +7973,10 @@ var init_methods = __esm({
|
|
|
7965
7973
|
summary: "\u7F6E\u9876 / \u53D6\u6D88\u7F6E\u9876\u4F1A\u8BDD",
|
|
7966
7974
|
args: SessionPinArgs
|
|
7967
7975
|
},
|
|
7976
|
+
"session:archive": {
|
|
7977
|
+
summary: "\u5F52\u6863 / \u53D6\u6D88\u5F52\u6863\u4F1A\u8BDD\uFF08\u5F52\u6863 = \u5168\u5C40\u6536\u7EB3\u6001\uFF1A\u9000\u51FA sidebar\u3001\u539F\u5B50\u6E05 pinnedAt\uFF09",
|
|
7978
|
+
args: SessionArchiveArgs
|
|
7979
|
+
},
|
|
7968
7980
|
"session:markRead": {
|
|
7969
7981
|
summary: "\u6E05\u6389\u4F1A\u8BDD\u7684\u5171\u4EAB\u672A\u8BFB\u6807\u8BB0\u5E76\u5E7F\u64AD session:info\uFF1B\u5E42\u7B49",
|
|
7970
7982
|
args: SessionIdArgs
|
|
@@ -44535,7 +44547,7 @@ var RUNTIME_PATCH_KEYS = [
|
|
|
44535
44547
|
"effort",
|
|
44536
44548
|
"cwd"
|
|
44537
44549
|
];
|
|
44538
|
-
var MARKER_PATCH_KEYS = ["pinnedAt", "pinSortOrder", "unreadAt"];
|
|
44550
|
+
var MARKER_PATCH_KEYS = ["pinnedAt", "pinSortOrder", "unreadAt", "archivedAt"];
|
|
44539
44551
|
function isMarkerOnlyPatch(patch) {
|
|
44540
44552
|
const keys = Object.keys(patch).filter(
|
|
44541
44553
|
(k2) => patch[k2] !== void 0
|
|
@@ -46192,6 +46204,30 @@ var SessionManager = class {
|
|
|
46192
46204
|
this.writeOwned(updated);
|
|
46193
46205
|
return { response: updated, broadcast: [] };
|
|
46194
46206
|
}
|
|
46207
|
+
// 归档 / 取消归档(spec 2026-08-10-session-archive-about-page)。与 pin 的两点差异:
|
|
46208
|
+
// 归档在同一 patch 里原子清 pinnedAt(取消归档不恢复);no-runner 路径也广播
|
|
46209
|
+
// session:info——跨窗口实时剔除 sidebar 是本 RPC 的核心语义(对齐 markRead 而非 pin)。
|
|
46210
|
+
archive(args) {
|
|
46211
|
+
const existing = this.getFile(args.sessionId);
|
|
46212
|
+
const archivedAt = args.archived ? (this.deps.now ?? Date.now)() : null;
|
|
46213
|
+
const patch = args.archived ? { archivedAt, pinnedAt: null } : { archivedAt };
|
|
46214
|
+
const runner = this.runners.get(args.sessionId);
|
|
46215
|
+
if (runner) {
|
|
46216
|
+
const { value, broadcast } = this.withCollector(() => {
|
|
46217
|
+
runner.input({ kind: "command", command: { kind: "update", patch } });
|
|
46218
|
+
return runner.getState().file;
|
|
46219
|
+
});
|
|
46220
|
+
return { response: value, broadcast };
|
|
46221
|
+
}
|
|
46222
|
+
const updated = { ...existing, ...patch };
|
|
46223
|
+
this.writeOwned(updated);
|
|
46224
|
+
return {
|
|
46225
|
+
response: updated,
|
|
46226
|
+
broadcast: [
|
|
46227
|
+
{ frame: { type: "session:info", ...updated }, target: "all" }
|
|
46228
|
+
]
|
|
46229
|
+
};
|
|
46230
|
+
}
|
|
46195
46231
|
// 清共享未读(spec 2026-07-20-shared-session-unread)。幂等:已读直接 no-op 不广播。
|
|
46196
46232
|
// 与 pin 的差异:no-runner 路径也要广播 session:info——跨端实时清红点是本 RPC 的核心
|
|
46197
46233
|
// 语义,不能等下次 session:list。
|
|
@@ -57910,6 +57946,12 @@ function buildSessionHandlers(deps) {
|
|
|
57910
57946
|
const { response, broadcast } = manager.pin(args);
|
|
57911
57947
|
return { response: { type: "session:info", ...response }, broadcast };
|
|
57912
57948
|
};
|
|
57949
|
+
const archive = async (frame, _client, ctx) => {
|
|
57950
|
+
const args = SessionArchiveArgs.parse(frame);
|
|
57951
|
+
ensureSessionAccess(ctx, args.sessionId, "send");
|
|
57952
|
+
const { response, broadcast } = manager.archive(args);
|
|
57953
|
+
return { response: { type: "session:info", ...response }, broadcast };
|
|
57954
|
+
};
|
|
57913
57955
|
const markRead = async (frame, _client, ctx) => {
|
|
57914
57956
|
const args = SessionIdArgs.parse(frame);
|
|
57915
57957
|
ensureSessionAccess(ctx, args.sessionId, "send");
|
|
@@ -58032,6 +58074,7 @@ function buildSessionHandlers(deps) {
|
|
|
58032
58074
|
"session:subscribe": subscribe,
|
|
58033
58075
|
"session:unsubscribe": unsubscribe,
|
|
58034
58076
|
"session:pin": pin,
|
|
58077
|
+
"session:archive": archive,
|
|
58035
58078
|
"session:markRead": markRead,
|
|
58036
58079
|
"session:reorderPins": reorderPins,
|
|
58037
58080
|
"session:answerQuestion": answerQuestion,
|
|
@@ -59137,6 +59180,7 @@ var METHOD_GRANT_MAP = {
|
|
|
59137
59180
|
"session:subscribe": CAPABILITY_SCOPED,
|
|
59138
59181
|
"session:unsubscribe": CAPABILITY_SCOPED,
|
|
59139
59182
|
"session:pin": CAPABILITY_SCOPED,
|
|
59183
|
+
"session:archive": CAPABILITY_SCOPED,
|
|
59140
59184
|
"session:markRead": CAPABILITY_SCOPED,
|
|
59141
59185
|
"session:reorderPins": ADMIN_ANY,
|
|
59142
59186
|
// owner 全局操作,无 personaId 维度
|
|
@@ -59312,7 +59356,7 @@ function computeMethodAccess(args) {
|
|
|
59312
59356
|
}
|
|
59313
59357
|
|
|
59314
59358
|
// src/version.ts
|
|
59315
|
-
var version = "0.2.
|
|
59359
|
+
var version = "0.2.308".length > 0 ? "0.2.308" : "dev";
|
|
59316
59360
|
|
|
59317
59361
|
// src/cli-probe/probe.ts
|
|
59318
59362
|
var fs56 = __toESM(require("fs"), 1);
|
|
@@ -22073,6 +22073,10 @@ var SessionFileSchema = external_exports.object({
|
|
|
22073
22073
|
permissionRules: external_exports.array(AllowRuleSchema).optional(),
|
|
22074
22074
|
// Sidebar 置顶时间戳;null/undefined 表示未置顶
|
|
22075
22075
|
pinnedAt: external_exports.number().int().nonnegative().nullable().optional(),
|
|
22076
|
+
// 归档时间戳(spec 2026-08-10-session-archive-about-page);null/undefined 表示未归档。
|
|
22077
|
+
// marker 语义:不 bump updatedAt(与 pinnedAt 同款)。session:archive 归档时 daemon
|
|
22078
|
+
// 在同一次落盘里原子清 pinnedAt;取消归档不恢复置顶。
|
|
22079
|
+
archivedAt: external_exports.number().int().nonnegative().nullable().optional(),
|
|
22076
22080
|
// pinned 行手动拖拽顺序;越小越靠前。session:reorderPins 整体重写所有 pinned 的此字段。
|
|
22077
22081
|
// 缺失时 view-state 排序回退到 pinnedAt desc(旧数据兼容)
|
|
22078
22082
|
pinSortOrder: external_exports.number().int().nullable().optional(),
|
|
@@ -22639,6 +22643,10 @@ var SessionPinArgs = external_exports.object({
|
|
|
22639
22643
|
sessionId: external_exports.string().min(1),
|
|
22640
22644
|
pinned: external_exports.boolean()
|
|
22641
22645
|
});
|
|
22646
|
+
var SessionArchiveArgs = external_exports.object({
|
|
22647
|
+
sessionId: external_exports.string().min(1),
|
|
22648
|
+
archived: external_exports.boolean()
|
|
22649
|
+
});
|
|
22642
22650
|
var PeerSessionUpsertArgs = SessionFileSchema;
|
|
22643
22651
|
var PeerSessionUpsertResponseSchema = external_exports.object({
|
|
22644
22652
|
type: external_exports.literal("peerSession:upsert:ok")
|
|
@@ -23071,6 +23079,10 @@ var METHOD_DOCS = {
|
|
|
23071
23079
|
summary: "\u7F6E\u9876 / \u53D6\u6D88\u7F6E\u9876\u4F1A\u8BDD",
|
|
23072
23080
|
args: SessionPinArgs
|
|
23073
23081
|
},
|
|
23082
|
+
"session:archive": {
|
|
23083
|
+
summary: "\u5F52\u6863 / \u53D6\u6D88\u5F52\u6863\u4F1A\u8BDD\uFF08\u5F52\u6863 = \u5168\u5C40\u6536\u7EB3\u6001\uFF1A\u9000\u51FA sidebar\u3001\u539F\u5B50\u6E05 pinnedAt\uFF09",
|
|
23084
|
+
args: SessionArchiveArgs
|
|
23085
|
+
},
|
|
23074
23086
|
"session:markRead": {
|
|
23075
23087
|
summary: "\u6E05\u6389\u4F1A\u8BDD\u7684\u5171\u4EAB\u672A\u8BFB\u6807\u8BB0\u5E76\u5E7F\u64AD session:info\uFF1B\u5E42\u7B49",
|
|
23076
23088
|
args: SessionIdArgs
|