@deepseek-ai/dsh-time-context 0.1.6-alpha.1 → 0.1.7-alpha.1
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/index.js +2 -3
- package/lib/invariant.js +4 -4
- package/lib/types/index.d.ts +8 -0
- package/package.json +25 -25
package/lib/index.js
CHANGED
|
@@ -193,7 +193,7 @@ function apply(ctx, config) {
|
|
|
193
193
|
lastTurnInjectionTime: null
|
|
194
194
|
};
|
|
195
195
|
if (event.type === "user/message") {
|
|
196
|
-
const injected = event.data.source.kind ===
|
|
196
|
+
const injected = event.data.source.kind === name;
|
|
197
197
|
const withMessage = state.lastMessageTime === event.time ? state : {
|
|
198
198
|
...state,
|
|
199
199
|
lastMessageTime: event.time
|
|
@@ -234,8 +234,7 @@ function apply(ctx, config) {
|
|
|
234
234
|
text
|
|
235
235
|
}],
|
|
236
236
|
source: {
|
|
237
|
-
kind:
|
|
238
|
-
plugin: name,
|
|
237
|
+
kind: name,
|
|
239
238
|
form: "snapshot",
|
|
240
239
|
sections: [{
|
|
241
240
|
name,
|
package/lib/invariant.js
CHANGED
|
@@ -153,11 +153,11 @@ function validateReading(history, event, fail) {
|
|
|
153
153
|
if (turn !== expected.turn || step !== expected.step) fail(`time-context reading names turn ${turn}/step ${step}, expected turn ${expected.turn}/step ${expected.step}`);
|
|
154
154
|
const source = event.data.source;
|
|
155
155
|
/* v8 ignore next 2 -- replay and dispatch callers select this exact package-owned source before validation. */
|
|
156
|
-
if (source.kind !==
|
|
156
|
+
if (source.kind !== SOURCE_NAME) fail("time-context source must retain package ownership");
|
|
157
157
|
const sections = "sections" in source ? source.sections : void 0;
|
|
158
158
|
const sectionValue = Array.isArray(sections) ? sections[0] : void 0;
|
|
159
159
|
const section = typeof sectionValue === "object" && sectionValue !== null ? sectionValue : void 0;
|
|
160
|
-
if (Object.keys(source).length !==
|
|
160
|
+
if (Object.keys(source).length !== 3 || source.form !== "snapshot" || !Array.isArray(sections) || sections.length !== 1 || section === void 0 || Object.keys(section).length !== 2 || section.name !== SOURCE_NAME || section.text !== blockText) fail("time-context source must carry only the exact snapshot text, not request authority");
|
|
161
161
|
const renderedBrowserContext = match[4];
|
|
162
162
|
const browserContext = deriveBrowserTimeZoneContext(requestMessages(history, turn));
|
|
163
163
|
if (renderedBrowserContext !== renderBrowserTimeZoneContext(browserContext)) fail("time-context browser-zone text does not match current-turn user messages");
|
|
@@ -182,7 +182,7 @@ function validateReading(history, event, fail) {
|
|
|
182
182
|
function validateSession(session, fail) {
|
|
183
183
|
const events = session.snapshotEvents();
|
|
184
184
|
for (const [index, event] of events.entries()) {
|
|
185
|
-
if (event.type !== "user/message" || event.data.source.kind !==
|
|
185
|
+
if (event.type !== "user/message" || event.data.source.kind !== SOURCE_NAME) continue;
|
|
186
186
|
validateReading(events.slice(0, index), event, fail);
|
|
187
187
|
}
|
|
188
188
|
}
|
|
@@ -195,7 +195,7 @@ const install = Object.assign((ctx, fail) => {
|
|
|
195
195
|
ctx.on("internal/dispatch", (_mode, eventName, args) => {
|
|
196
196
|
if (eventName !== "session/event") return;
|
|
197
197
|
const [session, event] = args;
|
|
198
|
-
if (event.type !== "user/message" || event.data.source.kind !==
|
|
198
|
+
if (event.type !== "user/message" || event.data.source.kind !== SOURCE_NAME) return;
|
|
199
199
|
validateReading(session.snapshotEvents(), event, fail);
|
|
200
200
|
}, { global: true });
|
|
201
201
|
}, { inject: ["sessions"] });
|
package/lib/types/index.d.ts
CHANGED
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
import type { Context } from '@deepseek-ai/cordis';
|
|
8
8
|
import z from '@deepseek-ai/schemastery';
|
|
9
9
|
import { z as zod } from 'zod';
|
|
10
|
+
import type { ContextFormed } from '@deepseek-ai/dsh-llm';
|
|
11
|
+
declare module '@deepseek-ai/dsh-llm' {
|
|
12
|
+
interface MessageSourceMap {
|
|
13
|
+
'time-context': {
|
|
14
|
+
kind: 'time-context';
|
|
15
|
+
} & ContextFormed;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
10
18
|
/** Cordis plugin name used by loader diagnostics. */
|
|
11
19
|
export declare const name = "time-context";
|
|
12
20
|
declare module '@deepseek-ai/dsh-session-projection/types' {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-time-context",
|
|
3
3
|
"description": "Opt-in durable per-step context with the current time and elapsed time",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -33,33 +33,33 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"zod": "^4.4.3",
|
|
36
|
-
"@deepseek-ai/
|
|
37
|
-
"@deepseek-ai/
|
|
36
|
+
"@deepseek-ai/dsh-util-values": "^0.1.7-alpha.1",
|
|
37
|
+
"@deepseek-ai/schemastery": "^3.18.3"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@deepseek-ai/
|
|
41
|
-
"@deepseek-ai/dsh-invariants": "^0.1.
|
|
42
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
43
|
-
"@deepseek-ai/dsh-
|
|
44
|
-
"@deepseek-ai/
|
|
45
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.
|
|
40
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
41
|
+
"@deepseek-ai/dsh-invariants": "^0.1.7-alpha.1",
|
|
42
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-alpha.1",
|
|
43
|
+
"@deepseek-ai/dsh-agent": "^0.1.7-alpha.1",
|
|
44
|
+
"@deepseek-ai/dsh-session": "^0.1.7-alpha.1",
|
|
45
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.7-alpha.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
49
|
-
"@deepseek-ai/dsh-agent
|
|
50
|
-
"@deepseek-ai/dsh-agent-loop
|
|
51
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
53
|
-
"@deepseek-ai/dsh-invariants": "^0.1.
|
|
54
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-
|
|
57
|
-
"@deepseek-ai/dsh-session
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/dsh-
|
|
60
|
-
"@deepseek-ai/dsh-
|
|
61
|
-
"@deepseek-ai/dsh-
|
|
62
|
-
"@deepseek-ai/dsh-
|
|
63
|
-
"@deepseek-ai/dsh-
|
|
48
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
49
|
+
"@deepseek-ai/dsh-agent": "^0.1.7-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.7-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.7-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-bash-local": "^0.1.7-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-invariants": "^0.1.7-alpha.1",
|
|
54
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-alpha.1",
|
|
55
|
+
"@deepseek-ai/dsh-app-boot": "^0.1.7-alpha.1",
|
|
56
|
+
"@deepseek-ai/dsh-loader-smoke": "^0.1.7-alpha.1",
|
|
57
|
+
"@deepseek-ai/dsh-session": "^0.1.7-alpha.1",
|
|
58
|
+
"@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.7-alpha.1",
|
|
59
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.7-alpha.1",
|
|
60
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.7-alpha.1",
|
|
61
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.7-alpha.1",
|
|
62
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.7-alpha.1",
|
|
63
|
+
"@deepseek-ai/dsh-tools": "^0.1.7-alpha.1"
|
|
64
64
|
}
|
|
65
65
|
}
|