@dsh-enhanced/assistant-growth-contract 0.1.62 → 0.1.64

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/README.md CHANGED
@@ -44,3 +44,8 @@ canonical 任务结果,替换/删除必须指定记录版本;模型不能设
44
44
 
45
45
  本包只使用 Node `crypto` 计算 canonical SHA-256 与验签,不访问网络、文件系统、子进程、凭据或
46
46
  浏览器,也没有 install script。
47
+
48
+ `matchesIsolatedModelMessages` 是原生无工具提取/审查回合共用的请求消息边界。除精确的
49
+ system/user 正文外,仅允许当前 DSH AgentLoop 的必需 `working-directory:current`
50
+ runtime-context 快照,正文和来源都必须指向冻结的 workspace;其他上下文或额外消息拒绝。
51
+ 调用方仍负责冻结供应商、模型、工具表、请求字节和输出额度的校验。
package/lib/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './automation.js';
4
4
  export * from './preferences.js';
5
5
  export * from './promotion.js';
6
6
  export * from './memory-learning.js';
7
+ export * from './native-model-messages.js';
7
8
  export * from './source-run.js';
8
9
  export * from './source-owner.js';
9
10
  export * from './creation-verification.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
package/lib/index.js CHANGED
@@ -4,6 +4,7 @@ export * from './automation.js';
4
4
  export * from './preferences.js';
5
5
  export * from './promotion.js';
6
6
  export * from './memory-learning.js';
7
+ export * from './native-model-messages.js';
7
8
  export * from './source-run.js';
8
9
  export * from './source-owner.js';
9
10
  export * from './creation-verification.js';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Match the model-facing messages of one isolated, tool-free native Agent turn.
3
+ * The pinned DSH AgentLoop may append its required working-directory snapshot;
4
+ * no other runtime context, extra message, or changed prompt is admitted.
5
+ */
6
+ export declare function matchesIsolatedModelMessages(messages: readonly unknown[], expected: Readonly<{
7
+ system: string;
8
+ user: string;
9
+ workspace: string;
10
+ }>): boolean;
11
+ //# sourceMappingURL=native-model-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-model-messages.d.ts","sourceRoot":"","sources":["../src/native-model-messages.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,GACpG,OAAO,CAkBT"}
@@ -0,0 +1,38 @@
1
+ import { isGrowthRecord } from './canonical.js';
2
+ function hasKeys(value, keys) {
3
+ const actual = Object.keys(value);
4
+ return actual.length === keys.length && keys.every(key => Object.hasOwn(value, key));
5
+ }
6
+ function isTextMessage(value, role, text) {
7
+ if (!isGrowthRecord(value) || value.role !== role || !Array.isArray(value.content) || value.content.length !== 1)
8
+ return false;
9
+ const block = value.content[0];
10
+ return isGrowthRecord(block) && hasKeys(block, ['type', 'text']) && block.type === 'text' && block.text === text;
11
+ }
12
+ /**
13
+ * Match the model-facing messages of one isolated, tool-free native Agent turn.
14
+ * The pinned DSH AgentLoop may append its required working-directory snapshot;
15
+ * no other runtime context, extra message, or changed prompt is admitted.
16
+ */
17
+ export function matchesIsolatedModelMessages(messages, expected) {
18
+ if (!Array.isArray(messages) || ![2, 3].includes(messages.length)
19
+ || !isTextMessage(messages[0], 'system', expected.system)
20
+ || !isTextMessage(messages[1], 'user', expected.user))
21
+ return false;
22
+ if (messages.length === 2)
23
+ return true;
24
+ const contextText = `Current working directory: ${JSON.stringify(expected.workspace)}.`;
25
+ const runtime = messages[2];
26
+ if (!isTextMessage(runtime, 'user', `Current runtime context. This snapshot supersedes earlier runtime-context snapshots.\n\n${contextText}`)
27
+ || !isGrowthRecord(runtime))
28
+ return false;
29
+ const source = runtime.source;
30
+ if (!isGrowthRecord(source) || !hasKeys(source, ['kind', 'form', 'sections'])
31
+ || source.kind !== 'runtime-context' || source.form !== 'snapshot'
32
+ || !Array.isArray(source.sections) || source.sections.length !== 1)
33
+ return false;
34
+ const section = source.sections[0];
35
+ return isGrowthRecord(section) && hasKeys(section, ['name', 'text'])
36
+ && section.name === 'working-directory:current' && section.text === contextText;
37
+ }
38
+ //# sourceMappingURL=native-model-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-model-messages.js","sourceRoot":"","sources":["../src/native-model-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,SAAS,OAAO,CAAC,KAAwC,EAAE,IAAuB;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjC,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAuB,EAAE,IAAY;IAC1E,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9H,MAAM,KAAK,GAAY,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACvC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAA;AAClH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA4B,EAAE,QAAuE;IAErG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;WAC5D,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;WACtD,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtC,MAAM,WAAW,GAAG,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAA;IACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAChC,2FAA2F,WAAW,EAAE,CAAC;WACtG,CAAC,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;WACxE,MAAM,CAAC,IAAI,KAAK,iBAAiB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;WAC/D,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAClF,MAAM,OAAO,GAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;WAC/D,OAAO,CAAC,IAAI,KAAK,2BAA2B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAA;AACnF,CAAC"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.1.62";
1
+ export declare const version = "0.1.64";
2
2
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.1.62';
1
+ export const version = '0.1.64';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsh-enhanced/assistant-growth-contract",
3
- "version": "0.1.62",
3
+ "version": "0.1.64",
4
4
  "description": "Strict shared workflow-growth wire contracts for DSH assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",