@kirkchinese/dsh-citeciter 0.5.0 → 0.6.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 (32) hide show
  1. package/README.md +63 -71
  2. package/README.zh.md +63 -71
  3. package/lib/client.js +420 -283
  4. package/lib/index.js +47 -40
  5. package/lib/{typert-common-DKqYKnRO.js → typert-common-C6yTitXx.js} +1 -1
  6. package/lib/typert.host.js +2 -2
  7. package/lib/typert.remote-client.js +1 -1
  8. package/lib/types/client/companion-controller.d.ts +5 -2
  9. package/lib/types/client/components/BlackboardWorkspace.d.ts +7 -5
  10. package/lib/types/client/components/CiteCiterSettings.d.ts +12 -7
  11. package/lib/types/client/components/CitePanel.d.ts +9 -5
  12. package/lib/types/client/components/DocumentReader.d.ts +6 -3
  13. package/lib/types/client/components/QuestionCard.d.ts +2 -2
  14. package/lib/types/client/components/SelectionMenu.d.ts +9 -5
  15. package/lib/types/client/components/UpdateNotice.d.ts +6 -3
  16. package/lib/types/client/copy.d.ts +6 -0
  17. package/lib/types/client/dock-geometry.d.ts +23 -0
  18. package/lib/types/client/entries.d.ts +3 -2
  19. package/lib/types/client/host-dock.d.ts +18 -0
  20. package/lib/types/client/reader-controller.d.ts +1 -1
  21. package/lib/types/client/selection.d.ts +1 -1
  22. package/lib/types/client/types.d.ts +1 -1
  23. package/lib/types/client/update-controller.d.ts +5 -3
  24. package/lib/types/client/view-actions.d.ts +26 -0
  25. package/lib/types/index.d.ts +1 -1
  26. package/lib/types/observer.d.ts +2 -1
  27. package/lib/types/topic-runtime.d.ts +4 -4
  28. package/lib/types/typert-common.d.ts +1 -0
  29. package/lib/types/typert.host.d.ts +2 -0
  30. package/lib/types/update.d.ts +1 -0
  31. package/lib/{update-u9-6c_qp.js → update-C0K5ekMg.js} +2 -1
  32. package/package.json +83 -78
@@ -1,5 +1,6 @@
1
1
  export { projectDiffMeta, projectToolEvidence, projectToolResultText, type ToolEvidenceProjection, } from './evidence-text.ts';
2
- import { type JsonValue, type SessionEvent, type SessionHeader } from '@deepseek-ai/dsh-session';
2
+ import type { SessionEvent, SessionHeader } from '@deepseek-ai/dsh-session';
3
+ import { type JsonValue } from '@deepseek-ai/dsh-util-values';
3
4
  import { type CitationEvidence, type CitationSelectionClaim, type CitationDraft, type DocumentEvidenceClaim, type ToolEvidenceClaim } from './topic.ts';
4
5
  /** One atomic live-preferred SessionQuery observation. */
5
6
  export interface ObserverSourceSnapshot {
@@ -1,5 +1,5 @@
1
1
  import { Context } from '@deepseek-ai/cordis';
2
- import { type SessionEvent, type SessionHeader } from '@deepseek-ai/dsh-session';
2
+ import { SessionLogOffset, type SessionEvent, type SessionHeader } from '@deepseek-ai/dsh-session';
3
3
  import { type SessionTitleProviderRequest } from '@deepseek-ai/dsh-session-title';
4
4
  import { z } from 'zod';
5
5
  import { type BoardSnapshot } from './board.ts';
@@ -246,6 +246,7 @@ export declare function selectTopicTitleMessage(request: SessionTitleProviderReq
246
246
  export interface RuntimeTopicLog {
247
247
  readonly header: SessionHeader;
248
248
  readonly events: readonly SessionEvent[];
249
+ readonly inheritedEventCount: SessionLogOffset;
249
250
  }
250
251
  /**
251
252
  * Remove one artifact from a caller-owned JSONL root without following links.
@@ -266,6 +267,7 @@ declare const topicDeletionMarkerSchema: z.ZodObject<{
266
267
  version: z.ZodNumber;
267
268
  id: z.ZodString;
268
269
  createdAt: z.ZodNumber;
270
+ isSeeded: z.ZodDefault<z.ZodBoolean>;
269
271
  cwd: z.ZodOptional<z.ZodString>;
270
272
  }, z.core.$strict>;
271
273
  }, z.core.$strict>;
@@ -362,8 +364,6 @@ export declare class TopicRuntime {
362
364
  private releaseLlm;
363
365
  private releaseFs;
364
366
  private releaseSubprocess;
365
- private releaseSandboxPolicy;
366
- private releaseQuestionProvider;
367
367
  private hasSourceFiles;
368
368
  private closed;
369
369
  /** @param host - owning DSH context. @param settings - current user preferences. */
@@ -416,7 +416,7 @@ export declare class TopicRuntime {
416
416
  private archive;
417
417
  private delete;
418
418
  private deleteAdmitted;
419
- /** Await rc.2 JSONL retirement without populating its prepared-session cache. */
419
+ /** Await JSONL retirement without populating its prepared-session cache. */
420
420
  private readRetiredSessionHeader;
421
421
  /** Remove one artifact only from CiteCiter's fixed private JSONL backend. */
422
422
  private removeSessionArtifact;
@@ -527,6 +527,7 @@ export declare const updateCheckDescriptor: {
527
527
  latestVersion: import("zod").ZodString;
528
528
  updateAvailable: import("zod").ZodBoolean;
529
529
  checkedAt: import("zod").ZodNumber;
530
+ profile: import("zod").ZodOptional<import("zod").ZodString>;
530
531
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
531
532
  kind: import("zod").ZodLiteral<"error">;
532
533
  code: import("zod").ZodEnum<{
@@ -777,6 +777,7 @@ export declare const TYPERT: {
777
777
  latestVersion: import("zod").ZodString;
778
778
  updateAvailable: import("zod").ZodBoolean;
779
779
  checkedAt: import("zod").ZodNumber;
780
+ profile: import("zod").ZodOptional<import("zod").ZodString>;
780
781
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
781
782
  kind: import("zod").ZodLiteral<"error">;
782
783
  code: import("zod").ZodEnum<{
@@ -1322,6 +1323,7 @@ export declare const TYPERT: {
1322
1323
  latestVersion: import("zod").ZodString;
1323
1324
  updateAvailable: import("zod").ZodBoolean;
1324
1325
  checkedAt: import("zod").ZodNumber;
1326
+ profile: import("zod").ZodOptional<import("zod").ZodString>;
1325
1327
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1326
1328
  kind: import("zod").ZodLiteral<"error">;
1327
1329
  code: import("zod").ZodEnum<{
@@ -23,6 +23,7 @@ export declare const updateCheckResponseSchema: z.ZodDiscriminatedUnion<[z.ZodOb
23
23
  latestVersion: z.ZodString;
24
24
  updateAvailable: z.ZodBoolean;
25
25
  checkedAt: z.ZodNumber;
26
+ profile: z.ZodOptional<z.ZodString>;
26
27
  }, z.core.$strict>, z.ZodObject<{
27
28
  kind: z.ZodLiteral<"error">;
28
29
  code: z.ZodEnum<{
@@ -866,7 +866,8 @@ const updateCheckResponseSchema = z.discriminatedUnion("kind", [z.object({
866
866
  installedVersion: stableVersionSchema,
867
867
  latestVersion: stableVersionSchema,
868
868
  updateAvailable: z.boolean(),
869
- checkedAt: z.number().int().nonnegative()
869
+ checkedAt: z.number().int().nonnegative(),
870
+ profile: z.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/u).optional()
870
871
  }).strict(), z.object({
871
872
  kind: z.literal("error"),
872
873
  code: updateCheckErrorCodeSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kirkchinese/dsh-citeciter",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Read-only learning Topics and presenter boards for DeepSeek Harness",
5
5
  "keywords": [
6
6
  "deepseek-harness",
@@ -66,10 +66,13 @@
66
66
  "inject": [
67
67
  "@deepseek-ai/dsh-api-gateway",
68
68
  "@deepseek-ai/dsh-client-connection",
69
- "@deepseek-ai/dsh-client-runtime",
70
69
  "@deepseek-ai/dsh-client-ui-conversation",
71
70
  "@deepseek-ai/dsh-client-ui-layout",
72
- "@deepseek-ai/dsh-client-ui-settings"
71
+ "@deepseek-ai/dsh-client-ui-settings",
72
+ "@deepseek-ai/dsh-api-session-controller",
73
+ "@deepseek-ai/dsh-client-ui-session",
74
+ "@deepseek-ai/dsh-client-ui-chat",
75
+ "@deepseek-ai/dsh-api-settings-controller"
73
76
  ],
74
77
  "platform": "web"
75
78
  }
@@ -80,85 +83,72 @@
80
83
  "cordis.patch.yml",
81
84
  "README.zh.md"
82
85
  ],
83
- "scripts": {
84
- "build": "npm run build:lib && npm run build:bundle",
85
- "prebuild:lib": "node scripts/clean-types.mjs",
86
- "build:lib": "tsc -p tsconfig.json",
87
- "prebuild:bundle": "node scripts/clean-bundle.mjs",
88
- "build:bundle": "tsdown --env.DSH_BUILD_FACE client",
89
- "postbuild:bundle": "node scripts/normalize-bundle.mjs",
90
- "prepack": "npm run build",
91
- "dev": "npm run build && node dev/watch.mjs",
92
- "smoke:seed": "node dev/seed-smoke-session.mjs",
93
- "smoke:hmr": "node dev/hmr-smoke.mjs",
94
- "typecheck": "tsc -p tsconfig.json --noEmit",
95
- "test": "npm run build:lib && node --test tests/*.test.mjs"
96
- },
97
86
  "peerDependencies": {
98
- "@deepseek-ai/cordis": "^4.0.1",
99
- "@deepseek-ai/dsh-agent": ">=0.1.1-rc.1 <0.1.1-rc.3",
100
- "@deepseek-ai/dsh-agent-loop": ">=0.1.1-rc.1 <0.1.1-rc.3",
101
- "@deepseek-ai/dsh-api-gateway": ">=0.1.1-rc.1 <0.1.1-rc.3",
102
- "@deepseek-ai/dsh-client-connection": ">=0.1.1-rc.1 <0.1.1-rc.3",
103
- "@deepseek-ai/dsh-client-runtime": ">=0.1.1-rc.1 <0.1.1-rc.3",
104
- "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.1-rc.1 <0.1.1-rc.3",
105
- "@deepseek-ai/dsh-client-ui-layout": ">=0.1.1-rc.1 <0.1.1-rc.3",
106
- "@deepseek-ai/dsh-client-ui-settings": ">=0.1.1-rc.1 <0.1.1-rc.3",
107
- "@deepseek-ai/dsh-fs": ">=0.1.1-rc.1 <0.1.1-rc.3",
108
- "@deepseek-ai/dsh-home-paths": ">=0.1.1-rc.1 <0.1.1-rc.3",
109
- "@deepseek-ai/dsh-llm": ">=0.1.1-rc.1 <0.1.1-rc.3",
110
- "@deepseek-ai/dsh-output-retention": ">=0.1.1-rc.1 <0.1.1-rc.3",
111
- "@deepseek-ai/dsh-sandbox-policy": ">=0.1.1-rc.1 <0.1.1-rc.3",
112
- "@deepseek-ai/dsh-session": ">=0.1.1-rc.1 <0.1.1-rc.3",
113
- "@deepseek-ai/dsh-session-persistence-jsonl": ">=0.1.1-rc.1 <0.1.1-rc.3",
114
- "@deepseek-ai/dsh-session-query": ">=0.1.1-rc.1 <0.1.1-rc.3",
115
- "@deepseek-ai/dsh-session-title": ">=0.1.1-rc.1 <0.1.1-rc.3",
116
- "@deepseek-ai/dsh-session-title-llm": ">=0.1.1-rc.1 <0.1.1-rc.3",
117
- "@deepseek-ai/dsh-settings": ">=0.1.1-rc.1 <0.1.1-rc.3",
118
- "@deepseek-ai/dsh-spill": ">=0.1.1-rc.1 <0.1.1-rc.3",
119
- "@deepseek-ai/dsh-subprocess": ">=0.1.1-rc.1 <0.1.1-rc.3",
120
- "@deepseek-ai/dsh-system-prompt": ">=0.1.1-rc.1 <0.1.1-rc.3",
121
- "@deepseek-ai/dsh-tool-ask-user": ">=0.1.1-rc.1 <0.1.1-rc.3",
122
- "@deepseek-ai/dsh-tool-fs": ">=0.1.1-rc.1 <0.1.1-rc.3",
123
- "@deepseek-ai/dsh-tool-fs-search": ">=0.1.1-rc.1 <0.1.1-rc.3",
124
- "@deepseek-ai/dsh-tools": ">=0.1.1-rc.1 <0.1.1-rc.3",
125
- "@deepseek-ai/dsh-typert-protocol": ">=0.1.1-rc.1 <0.1.1-rc.3",
126
- "@deepseek-ai/dsh-user-questions": ">=0.1.1-rc.1 <0.1.1-rc.3",
87
+ "@deepseek-ai/cordis": "^4.0.2",
88
+ "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
89
+ "@deepseek-ai/dsh-agent-loop": "0.1.2-rc.1",
90
+ "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
91
+ "@deepseek-ai/dsh-home-paths": "0.1.2-rc.1",
92
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
93
+ "@deepseek-ai/dsh-output-retention": "0.1.2-rc.1",
94
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.2-rc.1",
95
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1",
96
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.2-rc.1",
97
+ "@deepseek-ai/dsh-session-projection": "0.1.2-rc.1",
98
+ "@deepseek-ai/dsh-session-query": "0.1.2-rc.1",
99
+ "@deepseek-ai/dsh-session-title": "0.1.2-rc.1",
100
+ "@deepseek-ai/dsh-session-title-llm": "0.1.2-rc.1",
101
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
102
+ "@deepseek-ai/dsh-spill": "0.1.2-rc.1",
103
+ "@deepseek-ai/dsh-subprocess": "0.1.2-rc.1",
104
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
105
+ "@deepseek-ai/dsh-tool-ask-user": "0.1.2-rc.1",
106
+ "@deepseek-ai/dsh-tool-fs": "0.1.2-rc.1",
107
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.2-rc.1",
108
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
109
+ "@deepseek-ai/dsh-typert-protocol": "0.1.2-rc.1",
110
+ "@deepseek-ai/dsh-user-questions": "0.1.2-rc.1",
127
111
  "@deepseek-ai/schemastery": "^3.18.1",
128
112
  "zod": "^4.4.3"
129
113
  },
130
114
  "devDependencies": {
131
- "@deepseek-ai/cordis": "^4.0.1",
132
- "@deepseek-ai/dsh-agent": "0.1.1-rc.2",
133
- "@deepseek-ai/dsh-agent-loop": "0.1.1-rc.2",
134
- "@deepseek-ai/dsh-api-gateway": "0.1.1-rc.2",
135
- "@deepseek-ai/dsh-client-connection": "0.1.1-rc.2",
136
- "@deepseek-ai/dsh-client-runtime": "0.1.1-rc.2",
137
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.1-rc.2",
138
- "@deepseek-ai/dsh-client-ui-layout": "0.1.1-rc.2",
139
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.1-rc.2",
140
- "@deepseek-ai/dsh-client-ui-settings": "0.1.1-rc.2",
141
- "@deepseek-ai/dsh-client-ui-slots": "0.1.1-rc.2",
142
- "@deepseek-ai/dsh-fs": "0.1.1-rc.2",
143
- "@deepseek-ai/dsh-home-paths": "0.1.1-rc.2",
144
- "@deepseek-ai/dsh-llm": "0.1.1-rc.2",
145
- "@deepseek-ai/dsh-output-retention": "0.1.1-rc.2",
146
- "@deepseek-ai/dsh-sandbox-policy": "0.1.1-rc.2",
147
- "@deepseek-ai/dsh-session": "0.1.1-rc.2",
148
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.1-rc.2",
149
- "@deepseek-ai/dsh-session-query": "0.1.1-rc.2",
150
- "@deepseek-ai/dsh-session-title": "0.1.1-rc.2",
151
- "@deepseek-ai/dsh-session-title-llm": "0.1.1-rc.2",
152
- "@deepseek-ai/dsh-settings": "0.1.1-rc.2",
153
- "@deepseek-ai/dsh-spill": "0.1.1-rc.2",
154
- "@deepseek-ai/dsh-subprocess": "0.1.1-rc.2",
155
- "@deepseek-ai/dsh-system-prompt": "0.1.1-rc.2",
156
- "@deepseek-ai/dsh-tool-ask-user": "0.1.1-rc.2",
157
- "@deepseek-ai/dsh-tool-fs": "0.1.1-rc.2",
158
- "@deepseek-ai/dsh-tool-fs-search": "0.1.1-rc.2",
159
- "@deepseek-ai/dsh-tools": "0.1.1-rc.2",
160
- "@deepseek-ai/dsh-typert-protocol": "0.1.1-rc.2",
161
- "@deepseek-ai/dsh-user-questions": "0.1.1-rc.2",
115
+ "@deepseek-ai/cordis": "^4.0.2",
116
+ "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
117
+ "@deepseek-ai/dsh-agent-loop": "0.1.2-rc.1",
118
+ "@deepseek-ai/dsh-api-gateway": "0.1.2-rc.1",
119
+ "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
120
+ "@deepseek-ai/dsh-api-settings-controller": "0.1.2-rc.1",
121
+ "@deepseek-ai/dsh-client-connection": "0.1.2-rc.1",
122
+ "@deepseek-ai/dsh-client-store": "0.1.2-rc.1",
123
+ "@deepseek-ai/dsh-client-ui-chat": "0.1.2-rc.1",
124
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1",
125
+ "@deepseek-ai/dsh-client-ui-layout": "0.1.2-rc.1",
126
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-rc.1",
127
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-rc.1",
128
+ "@deepseek-ai/dsh-client-ui-session": "0.1.2-rc.1",
129
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.2-rc.1",
130
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.2-rc.1",
131
+ "@deepseek-ai/dsh-fs": "0.1.2-rc.1",
132
+ "@deepseek-ai/dsh-home-paths": "0.1.2-rc.1",
133
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
134
+ "@deepseek-ai/dsh-output-retention": "0.1.2-rc.1",
135
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.2-rc.1",
136
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1",
137
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.2-rc.1",
138
+ "@deepseek-ai/dsh-session-projection": "0.1.2-rc.1",
139
+ "@deepseek-ai/dsh-session-query": "0.1.2-rc.1",
140
+ "@deepseek-ai/dsh-session-title": "0.1.2-rc.1",
141
+ "@deepseek-ai/dsh-session-title-llm": "0.1.2-rc.1",
142
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
143
+ "@deepseek-ai/dsh-spill": "0.1.2-rc.1",
144
+ "@deepseek-ai/dsh-subprocess": "0.1.2-rc.1",
145
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
146
+ "@deepseek-ai/dsh-tool-ask-user": "0.1.2-rc.1",
147
+ "@deepseek-ai/dsh-tool-fs": "0.1.2-rc.1",
148
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.2-rc.1",
149
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
150
+ "@deepseek-ai/dsh-typert-protocol": "0.1.2-rc.1",
151
+ "@deepseek-ai/dsh-user-questions": "0.1.2-rc.1",
162
152
  "@deepseek-ai/schemastery": "^3.18.1",
163
153
  "@types/mdast": "^4.0.4",
164
154
  "@types/node": "^24.10.0",
@@ -175,6 +165,21 @@
175
165
  "zod": "^4.4.3"
176
166
  },
177
167
  "dependencies": {
168
+ "@deepseek-ai/dsh-util-values": "0.1.2-rc.1",
178
169
  "katex": "^0.18.4"
170
+ },
171
+ "scripts": {
172
+ "build": "npm run build:lib && npm run build:bundle",
173
+ "prebuild:lib": "node scripts/clean-types.mjs",
174
+ "build:lib": "tsc -p tsconfig.host.json && tsc -p tsconfig.client.json",
175
+ "prebuild:bundle": "node scripts/clean-bundle.mjs",
176
+ "build:bundle": "tsdown --env.DSH_BUILD_FACE client",
177
+ "postbuild:bundle": "node scripts/normalize-bundle.mjs",
178
+ "dev": "npm run build && node dev/watch.mjs",
179
+ "smoke:seed": "node dev/seed-smoke-session.mjs",
180
+ "test:snapshot": "node dev/run-smoke.mjs",
181
+ "smoke:hmr": "node dev/hmr-smoke.mjs",
182
+ "typecheck": "tsc -p tsconfig.host.json --noEmit && tsc -p tsconfig.client.json --noEmit",
183
+ "test": "npm run build:lib && node --test tests/*.test.mjs"
179
184
  }
180
- }
185
+ }