@qilin-agent/tool-skill 3.1.3 → 3.1.5

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.i18n.yaml CHANGED
@@ -5,132 +5,132 @@
5
5
  /:
6
6
  en: e1bb629bc25d7d51
7
7
  zh: 0018e221e28ddcff
8
- /qilin-tool-skill:
9
- en: c0e7b6c680d7e631
10
- zh: c482d0246bdb576d
11
- /qilin-tool-skill/summary:
8
+ /qilin-agent-tool-skill:
9
+ en: f2ce8cf5e092398b
10
+ zh: e9647b0a466c24e6
11
+ /qilin-agent-tool-skill/summary:
12
12
  en: 399399741476179c
13
13
  zh: 074ec6657481d320
14
- /qilin-tool-skill/table-of-contents:
14
+ /qilin-agent-tool-skill/table-of-contents:
15
15
  en: d152484eb41ac6b4
16
16
  zh: 09388d293f9be9cb
17
- /qilin-tool-skill/use-this-package:
17
+ /qilin-agent-tool-skill/use-this-package:
18
18
  en: 5c21d1ba71c1c3e1
19
19
  zh: 3e2505d4625b57b4
20
- /qilin-tool-skill/use-this-package/when-to-choose-it:
20
+ /qilin-agent-tool-skill/use-this-package/when-to-choose-it:
21
21
  en: b7d33bd969826ee3
22
22
  zh: 4e155a0f14b41541
23
- /qilin-tool-skill/use-this-package/mount-and-configure:
24
- en: 16b55a6bcff86e62
25
- zh: 4cfc947f684bde99
26
- /qilin-tool-skill/use-this-package/what-the-model-gets:
23
+ /qilin-agent-tool-skill/use-this-package/mount-and-configure:
24
+ en: db0e73f77643ecab
25
+ zh: 2457c6e60253d8af
26
+ /qilin-agent-tool-skill/use-this-package/what-the-model-gets:
27
27
  en: cf02796bd3f8877e
28
28
  zh: 81b93b1eb7f74690
29
- /qilin-tool-skill/use-this-package/observable-success-and-failures:
29
+ /qilin-agent-tool-skill/use-this-package/observable-success-and-failures:
30
30
  en: 813f1a7ab04d283e
31
31
  zh: 4adfcffcbb131d54
32
- /qilin-tool-skill/understand-the-implementation:
32
+ /qilin-agent-tool-skill/understand-the-implementation:
33
33
  en: 1aa627255c35178f
34
34
  zh: 44d8633ea56765d3
35
- /qilin-tool-skill/understand-the-implementation/design-concept:
35
+ /qilin-agent-tool-skill/understand-the-implementation/design-concept:
36
36
  en: a1a90d97c05bf124
37
37
  zh: 80c5d2a05c2168dc
38
- /qilin-tool-skill/understand-the-implementation/source-map:
38
+ /qilin-agent-tool-skill/understand-the-implementation/source-map:
39
39
  en: 509699e3a467df41
40
40
  zh: ff7fc30ec4998e5a
41
- /qilin-tool-skill/understand-the-implementation/catalog-lifecycle:
41
+ /qilin-agent-tool-skill/understand-the-implementation/catalog-lifecycle:
42
42
  en: 847745cf78860904
43
43
  zh: 55137ebef224ad48
44
- /qilin-tool-skill/understand-the-implementation/invocation-boundary:
44
+ /qilin-agent-tool-skill/understand-the-implementation/invocation-boundary:
45
45
  en: bb8543ea29cbc451
46
46
  zh: b1124fa489bf9ea4
47
- /qilin-tool-skill/further-exploration:
48
- en: 9dd0a826481d5903
49
- zh: dcd1c4a40518eb7d
50
- /qilin-tool-skill/model-experience:
47
+ /qilin-agent-tool-skill/further-exploration:
48
+ en: 8efe73f8957f8a0c
49
+ zh: 840fdda1e6a2c3da
50
+ /qilin-agent-tool-skill/model-experience:
51
51
  en: 215e7ba838619b7b
52
52
  zh: a311da3843709f90
53
- /qilin-tool-skill/model-experience/session-catalog:
53
+ /qilin-agent-tool-skill/model-experience/session-catalog:
54
54
  en: ed929c61dd301a56
55
55
  zh: 376c8d69b6fa7df6
56
- /qilin-tool-skill/model-experience/session-catalog/what-the-model-sees:
57
- en: 8d2a9b439fad4c1b
58
- zh: 4a64df685a06cbec
59
- /qilin-tool-skill/model-experience/session-catalog/what-the-model-sees/skill-catalog-template:
56
+ /qilin-agent-tool-skill/model-experience/session-catalog/what-the-model-sees:
57
+ en: acd46b2cb43e43d0
58
+ zh: b7501d334f83491b
59
+ /qilin-agent-tool-skill/model-experience/session-catalog/what-the-model-sees/skill-catalog-template:
60
60
  en: 8ca9241e26124ce3
61
61
  zh: d083f87eaae40e15
62
- /qilin-tool-skill/model-experience/session-catalog/token-effect:
62
+ /qilin-agent-tool-skill/model-experience/session-catalog/token-effect:
63
63
  en: c05d3d46e5139c4d
64
64
  zh: 8acfa475cddaeb18
65
- /qilin-tool-skill/model-experience/session-catalog/kv-cache-effect:
65
+ /qilin-agent-tool-skill/model-experience/session-catalog/kv-cache-effect:
66
66
  en: e6e6758c96527e19
67
67
  zh: 8f95e36da658c95a
68
- /qilin-tool-skill/model-experience/tool-schema:
68
+ /qilin-agent-tool-skill/model-experience/tool-schema:
69
69
  en: e4c7376d4f29dbd5
70
70
  zh: 6b7a9eaf69c9ea53
71
- /qilin-tool-skill/model-experience/tool-schema/what-the-model-sees:
72
- en: b473819ceed489b1
73
- zh: 169aef7191ee94da
74
- /qilin-tool-skill/model-experience/tool-schema/token-effect:
71
+ /qilin-agent-tool-skill/model-experience/tool-schema/what-the-model-sees:
72
+ en: 87a5fd67098978bf
73
+ zh: f80823f5a316f740
74
+ /qilin-agent-tool-skill/model-experience/tool-schema/token-effect:
75
75
  en: 4a8881f7a361cb7f
76
76
  zh: cba76f0578a36953
77
- /qilin-tool-skill/model-experience/tool-schema/kv-cache-effect:
77
+ /qilin-agent-tool-skill/model-experience/tool-schema/kv-cache-effect:
78
78
  en: 77f9b9513ed7692d
79
79
  zh: 249f6b975a2db718
80
- /qilin-tool-skill/model-experience/tool-result:
80
+ /qilin-agent-tool-skill/model-experience/tool-result:
81
81
  en: f8ffc2b983f05ffc
82
82
  zh: 8573891441963be4
83
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees:
83
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees:
84
84
  en: a1bc95abf3a7493c
85
85
  zh: e3d200040493c0a7
86
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees/skill-result-template:
86
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees/skill-result-template:
87
87
  en: 66220f8d7628e5cc
88
88
  zh: d8469e173485a5ca
89
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees/provider-managed-resource-guidance:
89
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees/provider-managed-resource-guidance:
90
90
  en: 80107e79cb15b0d0
91
91
  zh: c53f14bb87aa8395
92
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees/directory-resource-guidance:
92
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees/directory-resource-guidance:
93
93
  en: 9a060c44c0d00e06
94
94
  zh: 13ccf1d8b8e3d865
95
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees/url-resource-guidance:
95
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees/url-resource-guidance:
96
96
  en: 6f4bc625155f73e3
97
97
  zh: 4bc8641df028caed
98
- /qilin-tool-skill/model-experience/tool-result/what-the-model-sees/opaque-resource-guidance:
98
+ /qilin-agent-tool-skill/model-experience/tool-result/what-the-model-sees/opaque-resource-guidance:
99
99
  en: 958b9c46d9785397
100
100
  zh: 34f053e4ab8296c2
101
- /qilin-tool-skill/model-experience/tool-result/token-effect:
101
+ /qilin-agent-tool-skill/model-experience/tool-result/token-effect:
102
102
  en: 8604cca6caa413a0
103
103
  zh: 1b0412b8008e76c8
104
- /qilin-tool-skill/model-experience/tool-result/kv-cache-effect:
104
+ /qilin-agent-tool-skill/model-experience/tool-result/kv-cache-effect:
105
105
  en: f5d5f97a153f7c70
106
106
  zh: bee82b41983a66a0
107
- /qilin-tool-skill/model-experience/tool-errors:
107
+ /qilin-agent-tool-skill/model-experience/tool-errors:
108
108
  en: 2d4f2c8605eccab3
109
109
  zh: 67f1f0218f73c6bf
110
- /qilin-tool-skill/model-experience/tool-errors/what-the-model-sees:
110
+ /qilin-agent-tool-skill/model-experience/tool-errors/what-the-model-sees:
111
111
  en: 3e70742d93164968
112
112
  zh: 63fd2159c9cc5c8c
113
- /qilin-tool-skill/model-experience/tool-errors/token-effect:
113
+ /qilin-agent-tool-skill/model-experience/tool-errors/token-effect:
114
114
  en: 681cadd5be7b8ac1
115
115
  zh: 5e169acfd30b2931
116
- /qilin-tool-skill/model-experience/tool-errors/kv-cache-effect:
116
+ /qilin-agent-tool-skill/model-experience/tool-errors/kv-cache-effect:
117
117
  en: f5d5f97a153f7c70
118
118
  zh: bee82b41983a66a0
119
- /qilin-tool-skill/model-experience/user-explicit-invocation-injection:
119
+ /qilin-agent-tool-skill/model-experience/user-explicit-invocation-injection:
120
120
  en: 657124bac34aba61
121
121
  zh: 00aae3514ab12676
122
- /qilin-tool-skill/model-experience/user-explicit-invocation-injection/what-the-model-sees:
122
+ /qilin-agent-tool-skill/model-experience/user-explicit-invocation-injection/what-the-model-sees:
123
123
  en: f9c7b7c6cb042d2f
124
124
  zh: ba3372515505f413
125
- /qilin-tool-skill/model-experience/user-explicit-invocation-injection/token-effect:
125
+ /qilin-agent-tool-skill/model-experience/user-explicit-invocation-injection/token-effect:
126
126
  en: d1068ea431fb768f
127
127
  zh: acacd161731c27c6
128
- /qilin-tool-skill/model-experience/user-explicit-invocation-injection/kv-cache-effect:
128
+ /qilin-agent-tool-skill/model-experience/user-explicit-invocation-injection/kv-cache-effect:
129
129
  en: 127c0139472bfaab
130
130
  zh: 805dc2f730c47f40
131
- /qilin-tool-skill/known-limitations-and-deferred-work:
131
+ /qilin-agent-tool-skill/known-limitations-and-deferred-work:
132
132
  en: 6017a1dc04618288
133
133
  zh: d613164f0e9258f9
134
- /qilin-tool-skill/known-limitations-and-deferred-work/dev-note:
134
+ /qilin-agent-tool-skill/known-limitations-and-deferred-work/dev-note:
135
135
  en: e67f633dc6fe7773
136
136
  zh: 3bb0c20c93f16f98
package/lib/index.js CHANGED
@@ -3,6 +3,7 @@ import z from "@qilin-agent/schemastery";
3
3
  import { defineTool } from "@qilin-agent/tools";
4
4
  import { createUserMessage } from "@qilin-agent/llm";
5
5
  import "@qilin-agent/kylin";
6
+ import "node:path";
6
7
  import { escapeText, isModelInvocable, isSkillName, isUserInvocable, renderSkillContent } from "@qilin-agent/skill";
7
8
  //#region ../../util/brand/src/index.ts
8
9
  /**
@@ -660,6 +661,94 @@ function SessionSeq(value) {
660
661
  if (!Number.isSafeInteger(value) || value < 0 || Object.is(value, -0)) throw new TypeError(`SessionSeq must be a non-negative safe integer, got ${String(value)}`);
661
662
  return brandNumber(value);
662
663
  }
664
+ new Set([
665
+ "agent-preset/selected",
666
+ "agent/inbox/spliced",
667
+ "approval/asked",
668
+ "approval/decided",
669
+ "approval/policy",
670
+ "assistant/attempt",
671
+ "assistant/message",
672
+ "command/done",
673
+ "command/run",
674
+ "compaction/end",
675
+ "compaction/prune",
676
+ "compaction/start",
677
+ "compaction/summary",
678
+ "deliverables/presented",
679
+ "developer/message",
680
+ "feedback/message-delete",
681
+ "feedback/message-put",
682
+ "feedback/record",
683
+ "goal/change",
684
+ "hook/invoked",
685
+ "hook/result",
686
+ "image/offload",
687
+ "llm/retry",
688
+ "llm/retry-started",
689
+ "model/selection",
690
+ "permission/preset",
691
+ "plan/mode",
692
+ "request/context",
693
+ "request/header",
694
+ "sandbox/mode",
695
+ "schedule/change",
696
+ "session-log-deepseek/delivery-accepted",
697
+ "session/end-seed",
698
+ "session/title",
699
+ "session/title-llm-request",
700
+ "step/end",
701
+ "step/start",
702
+ "subagent/catalog",
703
+ "subagent/descriptor",
704
+ "subagent/model-selection-policy",
705
+ "system/message",
706
+ "team/member",
707
+ "team/message/delivered",
708
+ "team/message/queued",
709
+ "team/task",
710
+ "todo/write",
711
+ "tool-workflow/agent-end",
712
+ "tool-workflow/agent-start",
713
+ "tool-workflow/run-end",
714
+ "tool-workflow/run-start",
715
+ "tool/call",
716
+ "tool/ptc-dispatch",
717
+ "tool/ptc-dispatch-start",
718
+ "tool/result",
719
+ "turn/end",
720
+ "turn/start",
721
+ "user/message",
722
+ "web/deepseek-search-llm-request",
723
+ "working-directory/change",
724
+ "workspace/changes"
725
+ ]);
726
+ new Set(["image/offload"]);
727
+ new Set([
728
+ "system/message",
729
+ "developer/message",
730
+ "user/message",
731
+ "assistant/message",
732
+ "tool/result"
733
+ ]);
734
+ /**
735
+ * Deep structural equality over the session-event JSON value domain
736
+ * (null/boolean/number/string, arrays, plain objects). Replaces
737
+ * `node:util`'s isDeepStrictEqual to keep this module browser-safe.
738
+ */
739
+ function isDeepEqualJson(a, b) {
740
+ if (a === b) return true;
741
+ if (Array.isArray(a) || Array.isArray(b)) {
742
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
743
+ return a.every((item, i) => isDeepEqualJson(item, b[i]));
744
+ }
745
+ if (typeof a !== "object" || typeof b !== "object" || a === null || b === null) return false;
746
+ const aKeys = Object.keys(a);
747
+ const bRecord = b;
748
+ if (aKeys.length !== Object.keys(b).length) return false;
749
+ return aKeys.every((key) => Object.hasOwn(b, key) && isDeepEqualJson(a[key], bRecord[key]));
750
+ }
751
+ new Set(["reasoningEffort", "maxTokens"]);
663
752
  //#endregion
664
753
  //#region lib/types/index.js
665
754
  /**
@@ -671,7 +760,8 @@ const name = "tool-skill";
671
760
  const inject = [
672
761
  "agents",
673
762
  "tools",
674
- "skills"
763
+ "skills",
764
+ "workingDirectory"
675
765
  ];
676
766
  const DEFAULT_CATALOG_DESCRIPTION_MAX_LENGTH = 500;
677
767
  /** Durable entry list mirroring the rendered catalog lines, for non-model consumers. */
@@ -774,7 +864,7 @@ function apply(ctx, config = {}) {
774
864
  async execute(args, exec) {
775
865
  if (!isSkillName(args.name)) throw new Error(`invalid skill name "${args.name}"`);
776
866
  const lookup = {
777
- cwd: exec.agent?.session.header.cwd,
867
+ cwd: exec.agent === void 0 ? void 0 : await ctx.workingDirectory.ensure(exec.agent, exec.signal),
778
868
  signal: exec.signal,
779
869
  scope: exec.agent
780
870
  };
@@ -808,7 +898,7 @@ function apply(ctx, config = {}) {
808
898
  if (names.length === 0) return decision;
809
899
  signal.throwIfAborted();
810
900
  const lookup = {
811
- cwd: agent.session.header.cwd,
901
+ cwd: await ctx.workingDirectory.ensure(agent, signal),
812
902
  signal,
813
903
  scope: agent
814
904
  };
@@ -841,7 +931,7 @@ function apply(ctx, config = {}) {
841
931
  if (decision.kind === "reject") return decision;
842
932
  signal.throwIfAborted();
843
933
  const snapshot = ctx.tools.get(skillTool.name, agent) === skillTool ? await ctx.skills.snapshot({
844
- cwd: agent.session.header.cwd,
934
+ cwd: await ctx.workingDirectory.ensure(agent, signal),
845
935
  signal,
846
936
  scope: agent
847
937
  }) : {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qilin-agent/tool-skill",
3
3
  "description": "Model-facing skill loading tool for the QiLin",
4
- "version": "3.1.3",
4
+ "version": "3.1.5",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -30,24 +30,26 @@
30
30
  ],
31
31
  "license": "MIT",
32
32
  "peerDependencies": {
33
- "@qilin-agent/llm": "3.1.3",
34
- "@qilin-agent/agent": "3.1.3",
35
- "@qilin-agent/skill": "3.1.3",
33
+ "@qilin-agent/agent": "3.1.5",
34
+ "@qilin-agent/llm": "3.1.5",
35
+ "@qilin-agent/skill": "3.1.5",
36
+ "@qilin-agent/working-directory": "3.1.5",
36
37
  "@qilin-agent/kylin": "~4.0.3",
37
- "@qilin-agent/tools": "3.1.3"
38
+ "@qilin-agent/tools": "3.1.5"
38
39
  },
39
40
  "dependencies": {
40
41
  "@qilin-agent/schemastery": "~3.18.3"
41
42
  },
42
43
  "devDependencies": {
43
- "@qilin-agent/agent-loop-testkit": "3.1.3",
44
- "@qilin-agent/llm": "3.1.3",
45
- "@qilin-agent/scope": "3.1.3",
46
- "@qilin-agent/agent": "3.1.3",
47
- "@qilin-agent/session": "3.1.3",
48
- "@qilin-agent/skill": "3.1.3",
49
- "@qilin-agent/skill-filesystem": "3.1.3",
50
- "@qilin-agent/tools": "3.1.3",
51
- "@qilin-agent/kylin": "~4.0.3"
44
+ "@qilin-agent/agent-loop-testkit": "3.1.5",
45
+ "@qilin-agent/llm": "3.1.5",
46
+ "@qilin-agent/agent": "3.1.5",
47
+ "@qilin-agent/session": "3.1.5",
48
+ "@qilin-agent/skill": "3.1.5",
49
+ "@qilin-agent/skill-filesystem": "3.1.5",
50
+ "@qilin-agent/tools": "3.1.5",
51
+ "@qilin-agent/working-directory": "3.1.5",
52
+ "@qilin-agent/kylin": "~4.0.3",
53
+ "@qilin-agent/scope": "3.1.5"
52
54
  }
53
55
  }