@yadsh/dsh-user-correction-miner 0.2.3 → 0.2.4

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "deepseekHarness": {
3
3
  "channel": "next",
4
- "range": ">=0.1.5-rc.2 <0.2.0",
5
- "testedReleases": ["0.1.5-rc.2"],
4
+ "range": ">=0.1.7-rc.2 <0.2.0",
5
+ "testedReleases": ["0.1.7-rc.2"],
6
6
  "requiredHostFeatures": [
7
7
  "session-query",
8
8
  "storage-domain",
package/lib/config.d.ts CHANGED
@@ -41,69 +41,69 @@ export interface ResolvedUserCorrectionMinerConfig {
41
41
  }
42
42
  export declare const DEFAULT_CONFIG: ResolvedUserCorrectionMinerConfig;
43
43
  export declare function resolveConfig(config?: UserCorrectionMinerConfig): ResolvedUserCorrectionMinerConfig;
44
- export declare const Config: z<Schemastery.ObjectS<{
45
- enabled: z<boolean, boolean>;
46
- retention: z<Schemastery.ObjectS<{
47
- maxRecordsPerWorkspace: z<number, number>;
48
- }>, Schemastery.ObjectT<{
49
- maxRecordsPerWorkspace: z<number, number>;
50
- }>>;
51
- live: z<Schemastery.ObjectS<{
52
- maxPendingSessions: z<number, number>;
53
- maxPendingEventsPerSession: z<number, number>;
54
- pendingTtlMs: z<number, number>;
55
- }>, Schemastery.ObjectT<{
56
- maxPendingSessions: z<number, number>;
57
- maxPendingEventsPerSession: z<number, number>;
58
- pendingTtlMs: z<number, number>;
59
- }>>;
60
- analysis: z<Schemastery.ObjectS<{
61
- maxContextEvents: z<number, number>;
62
- maxContextBytes: z<number, number>;
63
- }>, Schemastery.ObjectT<{
64
- maxContextEvents: z<number, number>;
65
- maxContextBytes: z<number, number>;
66
- }>>;
67
- privacy: z<Schemastery.ObjectS<{
68
- redactSecrets: z<boolean, boolean>;
69
- persistRawMessages: z<boolean, boolean>;
70
- maxStoredTextChars: z<number, number>;
71
- }>, Schemastery.ObjectT<{
72
- redactSecrets: z<boolean, boolean>;
73
- persistRawMessages: z<boolean, boolean>;
74
- maxStoredTextChars: z<number, number>;
75
- }>>;
76
- }>, Schemastery.ObjectT<{
77
- enabled: z<boolean, boolean>;
78
- retention: z<Schemastery.ObjectS<{
79
- maxRecordsPerWorkspace: z<number, number>;
80
- }>, Schemastery.ObjectT<{
81
- maxRecordsPerWorkspace: z<number, number>;
82
- }>>;
83
- live: z<Schemastery.ObjectS<{
84
- maxPendingSessions: z<number, number>;
85
- maxPendingEventsPerSession: z<number, number>;
86
- pendingTtlMs: z<number, number>;
87
- }>, Schemastery.ObjectT<{
88
- maxPendingSessions: z<number, number>;
89
- maxPendingEventsPerSession: z<number, number>;
90
- pendingTtlMs: z<number, number>;
91
- }>>;
92
- analysis: z<Schemastery.ObjectS<{
93
- maxContextEvents: z<number, number>;
94
- maxContextBytes: z<number, number>;
95
- }>, Schemastery.ObjectT<{
96
- maxContextEvents: z<number, number>;
97
- maxContextBytes: z<number, number>;
98
- }>>;
99
- privacy: z<Schemastery.ObjectS<{
100
- redactSecrets: z<boolean, boolean>;
101
- persistRawMessages: z<boolean, boolean>;
102
- maxStoredTextChars: z<number, number>;
103
- }>, Schemastery.ObjectT<{
104
- redactSecrets: z<boolean, boolean>;
105
- persistRawMessages: z<boolean, boolean>;
106
- maxStoredTextChars: z<number, number>;
107
- }>>;
108
- }>>;
44
+ export declare const Config: z<Schemastery.ObjectS<NoInfer<{
45
+ enabled: z<boolean, boolean, "defined">;
46
+ retention: z<Schemastery.ObjectS<NoInfer<{
47
+ maxRecordsPerWorkspace: z<number, number, "defined">;
48
+ }>>, Schemastery.ObjectT<NoInfer<{
49
+ maxRecordsPerWorkspace: z<number, number, "defined">;
50
+ }>>, "defined">;
51
+ live: z<Schemastery.ObjectS<NoInfer<{
52
+ maxPendingSessions: z<number, number, "defined">;
53
+ maxPendingEventsPerSession: z<number, number, "defined">;
54
+ pendingTtlMs: z<number, number, "defined">;
55
+ }>>, Schemastery.ObjectT<NoInfer<{
56
+ maxPendingSessions: z<number, number, "defined">;
57
+ maxPendingEventsPerSession: z<number, number, "defined">;
58
+ pendingTtlMs: z<number, number, "defined">;
59
+ }>>, "defined">;
60
+ analysis: z<Schemastery.ObjectS<NoInfer<{
61
+ maxContextEvents: z<number, number, "defined">;
62
+ maxContextBytes: z<number, number, "defined">;
63
+ }>>, Schemastery.ObjectT<NoInfer<{
64
+ maxContextEvents: z<number, number, "defined">;
65
+ maxContextBytes: z<number, number, "defined">;
66
+ }>>, "defined">;
67
+ privacy: z<Schemastery.ObjectS<NoInfer<{
68
+ redactSecrets: z<boolean, boolean, "defined">;
69
+ persistRawMessages: z<boolean, boolean, "defined">;
70
+ maxStoredTextChars: z<number, number, "defined">;
71
+ }>>, Schemastery.ObjectT<NoInfer<{
72
+ redactSecrets: z<boolean, boolean, "defined">;
73
+ persistRawMessages: z<boolean, boolean, "defined">;
74
+ maxStoredTextChars: z<number, number, "defined">;
75
+ }>>, "defined">;
76
+ }>>, Schemastery.ObjectT<NoInfer<{
77
+ enabled: z<boolean, boolean, "defined">;
78
+ retention: z<Schemastery.ObjectS<NoInfer<{
79
+ maxRecordsPerWorkspace: z<number, number, "defined">;
80
+ }>>, Schemastery.ObjectT<NoInfer<{
81
+ maxRecordsPerWorkspace: z<number, number, "defined">;
82
+ }>>, "defined">;
83
+ live: z<Schemastery.ObjectS<NoInfer<{
84
+ maxPendingSessions: z<number, number, "defined">;
85
+ maxPendingEventsPerSession: z<number, number, "defined">;
86
+ pendingTtlMs: z<number, number, "defined">;
87
+ }>>, Schemastery.ObjectT<NoInfer<{
88
+ maxPendingSessions: z<number, number, "defined">;
89
+ maxPendingEventsPerSession: z<number, number, "defined">;
90
+ pendingTtlMs: z<number, number, "defined">;
91
+ }>>, "defined">;
92
+ analysis: z<Schemastery.ObjectS<NoInfer<{
93
+ maxContextEvents: z<number, number, "defined">;
94
+ maxContextBytes: z<number, number, "defined">;
95
+ }>>, Schemastery.ObjectT<NoInfer<{
96
+ maxContextEvents: z<number, number, "defined">;
97
+ maxContextBytes: z<number, number, "defined">;
98
+ }>>, "defined">;
99
+ privacy: z<Schemastery.ObjectS<NoInfer<{
100
+ redactSecrets: z<boolean, boolean, "defined">;
101
+ persistRawMessages: z<boolean, boolean, "defined">;
102
+ maxStoredTextChars: z<number, number, "defined">;
103
+ }>>, Schemastery.ObjectT<NoInfer<{
104
+ redactSecrets: z<boolean, boolean, "defined">;
105
+ persistRawMessages: z<boolean, boolean, "defined">;
106
+ maxStoredTextChars: z<number, number, "defined">;
107
+ }>>, "defined">;
108
+ }>>, "plain">;
109
109
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KAC1C,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;KACrC,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,iCAmB5B,CAAC;AAcF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,yBAA8B,GACrC,iCAAiC,CAoDnC;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CjB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,0BAA0B,CAAC;AAEzC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KAC1C,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;QAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;KACrC,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,iCAmB5B,CAAC;AAcF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,yBAA8B,GACrC,iCAAiC,CAoDnC;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA+CjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-text.d.ts","sourceRoot":"","sources":["../../src/mining/message-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQ/E,wBAAgB,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAEjE"}
1
+ {"version":3,"file":"message-text.d.ts","sourceRoot":"","sources":["../../src/mining/message-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAO/E,wBAAgB,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAEjE"}
@@ -1,8 +1,6 @@
1
1
  function blockText(block) {
2
2
  if (block.type === "text")
3
3
  return [block.text];
4
- if (block.type === "tool-result")
5
- return block.content.flatMap(blockText);
6
4
  return [];
7
5
  }
8
6
  export function messageText(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"message-text.js","sourceRoot":"","sources":["../../src/mining/message-text.ts"],"names":[],"mappings":"AAEA,SAAS,SAAS,CAAC,KAAmB;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"message-text.js","sourceRoot":"","sources":["../../src/mining/message-text.ts"],"names":[],"mappings":"AAEA,SAAS,SAAS,CAAC,KAAmB;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yadsh/dsh-user-correction-miner",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Mine durable project-rule candidates from user corrections in DeepSeek Harness sessions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -53,37 +53,39 @@
53
53
  "node": ">=22"
54
54
  },
55
55
  "peerDependencies": {
56
- "@deepseek-ai/cordis": "^4.0.2",
57
- "@deepseek-ai/schemastery": "^3.18.2",
58
- "@deepseek-ai/dsh-llm": ">=0.1.5-rc.2 <0.2.0",
59
- "@deepseek-ai/dsh-session": ">=0.1.5-rc.2 <0.2.0",
60
- "@deepseek-ai/dsh-session-query": ">=0.1.5-rc.2 <0.2.0",
61
- "@deepseek-ai/dsh-storage-domain": ">=0.1.5-rc.2 <0.2.0"
56
+ "@deepseek-ai/cordis": "^4.0.4",
57
+ "@deepseek-ai/schemastery": "^3.18.4",
58
+ "@deepseek-ai/dsh-llm": ">=0.1.7-rc.2 <0.2.0",
59
+ "@deepseek-ai/dsh-session": ">=0.1.7-rc.2 <0.2.0",
60
+ "@deepseek-ai/dsh-session-query": ">=0.1.7-rc.2 <0.2.0",
61
+ "@deepseek-ai/dsh-storage-domain": ">=0.1.7-rc.2 <0.2.0"
62
62
  },
63
63
  "dependencies": {
64
64
  "zod": "^4.4.3",
65
- "@yadsh/dsh-plugin-log": "^0.4.0"
65
+ "@yadsh/dsh-plugin-log": "^0.4.1"
66
66
  },
67
67
  "devDependencies": {
68
- "@deepseek-ai/cordis": "4.0.2",
69
- "@deepseek-ai/schemastery": "3.18.2",
70
- "@deepseek-ai/dsh-llm": "0.1.5-rc.2",
71
- "@deepseek-ai/dsh-session": "0.1.5-rc.2",
72
- "@deepseek-ai/dsh-session-query": "0.1.5-rc.2",
73
- "@deepseek-ai/dsh-storage-domain": "0.1.5-rc.2",
68
+ "@deepseek-ai/cordis": "4.0.4",
69
+ "@deepseek-ai/schemastery": "3.18.4",
70
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
71
+ "@deepseek-ai/dsh-session": "0.1.7-rc.2",
72
+ "@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
73
+ "@deepseek-ai/dsh-storage-domain": "0.1.7-rc.2",
74
74
  "@types/node": "^26.4.0",
75
+ "@vitest/coverage-v8": "^4.1.8",
75
76
  "eslint": "10.9.1",
76
77
  "typescript": "^5.9.2",
77
78
  "vitest": "^4.1.11",
78
- "@yadsh/dsh-plugin-scripts": "^0.0.0",
79
79
  "@yadsh/dsh-config": "^0.0.0",
80
- "@yadsh/dsh-test-kit": "^0.1.0"
80
+ "@yadsh/dsh-test-kit": "^0.1.0",
81
+ "@yadsh/dsh-plugin-scripts": "^0.0.0"
81
82
  },
82
83
  "scripts": {
83
84
  "build": "tsc -p tsconfig.build.json",
84
85
  "lint": "eslint src tests scripts",
85
86
  "typecheck": "tsc -p tsconfig.json --noEmit",
86
87
  "test": "vitest run",
88
+ "test:coverage": "vitest run --coverage",
87
89
  "verify:package": "node scripts/verify-package.mjs",
88
90
  "verify": "pnpm run verify:package",
89
91
  "check": "pnpm run lint && pnpm run typecheck && pnpm run test && pnpm run build && pnpm run verify"