dsh-d365-kit 0.34.1 → 0.34.3

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 (75) hide show
  1. package/CHANGELOG.md +318 -308
  2. package/CHANGELOG.zh-CN.md +317 -307
  3. package/INSTALL.md +94 -94
  4. package/INSTALL.zh-CN.md +93 -93
  5. package/LICENSE +21 -21
  6. package/README.md +336 -327
  7. package/README.zh-CN.md +336 -327
  8. package/client.js +1818 -1818
  9. package/cordis.patch.yml +44 -44
  10. package/docs/en/architecture.md +172 -172
  11. package/docs/en/checks.md +184 -184
  12. package/docs/en/installation.md +151 -151
  13. package/docs/en/permissions.md +161 -161
  14. package/docs/en/scenarios.md +202 -202
  15. package/docs/en/tools.md +665 -665
  16. package/docs/en/troubleshooting.md +131 -131
  17. package/docs/zh/architecture.md +172 -172
  18. package/docs/zh/checks.md +184 -184
  19. package/docs/zh/installation.md +151 -151
  20. package/docs/zh/permissions.md +161 -161
  21. package/docs/zh/scenarios.md +202 -202
  22. package/docs/zh/tools.md +665 -665
  23. package/docs/zh/troubleshooting.md +131 -131
  24. package/examples/prompts.en.md +206 -206
  25. package/examples/prompts.zh-CN.md +206 -206
  26. package/examples/waivers.example.json +20 -20
  27. package/icon.svg +6 -6
  28. package/index.js +139 -139
  29. package/lib/auth.js +181 -181
  30. package/lib/client.js +496 -496
  31. package/lib/code-check.js +549 -549
  32. package/lib/config.js +323 -323
  33. package/lib/contract-history.js +49 -49
  34. package/lib/contract.js +583 -583
  35. package/lib/csharp-check.js +493 -493
  36. package/lib/data-migrate.js +1318 -1318
  37. package/lib/data-policy.js +78 -78
  38. package/lib/error-codes.js +80 -80
  39. package/lib/gitlab.js +161 -161
  40. package/lib/health.js +205 -205
  41. package/lib/migrate.js +732 -732
  42. package/lib/preflight.js +116 -116
  43. package/lib/refs.js +191 -191
  44. package/lib/resources.js +320 -320
  45. package/lib/retention-defaults.js +17 -17
  46. package/lib/retention.js +384 -384
  47. package/lib/runtime.js +232 -232
  48. package/lib/settings-http.js +512 -512
  49. package/lib/settings-store.js +371 -371
  50. package/lib/snapshot.js +149 -149
  51. package/lib/tool-code-check.js +133 -133
  52. package/lib/tool-configure.js +169 -169
  53. package/lib/tool-contract.js +376 -376
  54. package/lib/tool-data-sync.js +559 -559
  55. package/lib/tool-data-write.js +203 -203
  56. package/lib/tool-data.js +282 -282
  57. package/lib/tool-diff.js +484 -484
  58. package/lib/tool-environments.js +106 -106
  59. package/lib/tool-flows.js +540 -540
  60. package/lib/tool-health.js +127 -127
  61. package/lib/tool-layers.js +497 -497
  62. package/lib/tool-metadata.js +417 -417
  63. package/lib/tool-migrate.js +102 -102
  64. package/lib/tool-refs.js +206 -206
  65. package/lib/tool-reports.js +299 -299
  66. package/lib/tool-sync.js +430 -430
  67. package/lib/tool-write.js +563 -563
  68. package/lib/waivers.js +83 -83
  69. package/lib/write-actions.js +1374 -1374
  70. package/lib/write-policy.js +199 -199
  71. package/lib/write-store.js +167 -167
  72. package/locale/en.json +68 -68
  73. package/locale/zh.json +68 -68
  74. package/package.json +2 -2
  75. package/skills/d365-troubleshooting/SKILL.md +115 -115
@@ -1,206 +1,206 @@
1
- # Prompts You Can Copy and Paste
2
-
3
- **English** | [简体中文](prompts.zh-CN.md)
4
-
5
- The agent picks the tools and fills in the parameters on its own. All you have to do is be clear about **environment + object + the answer you want**.
6
- Every phrasing below has been tested, and it works far better than something like "check the metadata".
7
-
8
- ---
9
-
10
- ## Start with the environments
11
-
12
- ```
13
- Connect to all four environments and tell me what each one is doing.
14
- ```
15
-
16
- ```
17
- Is anything importing or publishing in SIT right now? I want to change some metadata.
18
- ```
19
-
20
- ```
21
- Which background jobs failed between yesterday and now?
22
- ```
23
-
24
- ## Querying metadata
25
-
26
- ```
27
- Which custom fields are on account? Only list the ones starting with contoso_.
28
- ```
29
-
30
- ```
31
- List the 10 most recently installed solutions, with version and managed status.
32
- ```
33
-
34
- ```
35
- Which scripts does the main Account form load, and which events is each one bound to?
36
- ```
37
-
38
- ```
39
- Which business rules apply to opportunity?
40
- ```
41
-
42
- ## Layers (why this environment looks like this)
43
-
44
- ```
45
- How many layers does account have in each of the four environments, and which solution is currently on top?
46
- ```
47
-
48
- ```
49
- Which solutions have overridden the account.name field?
50
- ```
51
-
52
- ```
53
- Why is the Account form in SIT different from DEV? Who overrode it?
54
- ```
55
-
56
- ## Blast radius (before you change or delete anything)
57
-
58
- ```
59
- Which forms, views, and processes use the contoso_customertier field? Check both DEV and SIT.
60
- ```
61
-
62
- ```
63
- Which forms reference the contoso_/scripts/account_form.js script?
64
- ```
65
-
66
- ```
67
- How many types and steps are registered from the Contoso.Customizations assembly, and what version is it?
68
- ```
69
-
70
- ```
71
- For the contoso_taxcategory option set, how many customer records use each value?
72
- ```
73
-
74
- ## Snapshots and diffs
75
-
76
- ```
77
- Snapshot the forms, views, and fields in DEV and SIT, then tell me the differences.
78
- ```
79
-
80
- ```
81
- What's new in DEV's metadata today compared with the previous snapshot?
82
- ```
83
-
84
- ```
85
- How do the plugin steps differ between SIT and UAT?
86
- ```
87
-
88
- ## Release assessment
89
-
90
- ```
91
- What are the risks of shipping ContosoBase from DEV to SIT and UAT?
92
- ```
93
-
94
- ```
95
- Once this solution is imported, whose layers will it overwrite?
96
- ```
97
-
98
- ```
99
- What happens on import if the target environment doesn't have this solution?
100
- ```
101
-
102
- ## Code review checks
103
-
104
- ```
105
- Will this MR break when it goes to UAT? https://gitlab.example.com/.../merge_requests/7759/diffs
106
- ```
107
-
108
- ```
109
- For the form scripts this MR changes, do all the fields they read exist on the forms in the target environment?
110
- ```
111
-
112
- ```
113
- This MR touches a C# plugin — are the assembly, types, steps, and step images all in place in the target environment?
114
- ```
115
-
116
- ## Contract and drift
117
-
118
- ```
119
- Has SIT and UAT caught up with DEV's plugin registrations?
120
- ```
121
-
122
- ```
123
- Are any web resources referenced by forms missing downstream?
124
- ```
125
-
126
- ```
127
- This difference is known — log it as a waiver for 30 days.
128
- ```
129
-
130
- ```
131
- Is there more drift or less drift than last time?
132
- ```
133
-
134
- ## Writes
135
-
136
- ```
137
- Add these options to contoso_taxcategoryos: AD3|Andorra: Tax Register Number (plan only for now, don't execute)
138
- ```
139
-
140
- ```
141
- Add a text field contoso_CustomerTier to account, 120 characters, display name "Customer Tier".
142
- ```
143
-
144
- ```
145
- Change the display name of account.name to "Customer Name".
146
- ```
147
-
148
- ```
149
- Execute mw04aul6-1ci6aa
150
- ```
151
-
152
- ```
153
- Cancel that plan.
154
- ```
155
-
156
- The general pattern for writes: **say what you want changed → confirm "plan only" → review the list, then say "execute <planId>"**.
157
- If you merge those two sentences into one, the agent still generates a plan first and then shows a confirmation card — it never writes directly.
158
-
159
- ## Business data
160
-
161
- ```
162
- How many records are in contoso_systemconfiguration? Group them by contoso_containsecret.
163
- ```
164
-
165
- ```
166
- Show me 5 sample contoso_systemconfiguration records — I only need the contoso_key and contoso_value columns.
167
- ```
168
-
169
- ```
170
- Add a record to contoso_systemconfiguration for me: contoso_key = FEATURE_X, contoso_value = 1.
171
- ```
172
-
173
- (The last one needs the `data.write` permission and will show a confirmation card.)
174
-
175
- ## Housekeeping
176
-
177
- ```
178
- How much space is .d365 using now, and what can be cleaned up?
179
- ```
180
-
181
- ```
182
- Clean up the saved query artifacts according to the retention policy — dry run first, don't actually delete.
183
- ```
184
-
185
- ```
186
- Compact the snapshots, they're taking up too much space.
187
- ```
188
-
189
- ---
190
-
191
- ## Phrasing tips
192
-
193
- | To get a sharper answer | Say this |
194
- | --- | --- |
195
- | Pin down the environment | "in SIT", "look at all four environments" |
196
- | Pin down the scope | "only the ones starting with contoso_", "main form only" |
197
- | Want a verdict, not a list | "tell me whether it's safe to delete", "give me a one-line verdict" |
198
- | Want evidence | "list exactly which forms" |
199
- | Before a write | "plan only", "don't execute" |
200
- | Large-scale operations | "assess first, don't touch the environment" |
201
-
202
- Conversely, avoid these — they force the agent to guess:
203
-
204
- - "Check the metadata" (which kind? which environment?)
205
- - "See if there's a problem" (what problem? release, references, or contract?)
206
- - "Change this field" (change it to what?)
1
+ # Prompts You Can Copy and Paste
2
+
3
+ **English** | [简体中文](prompts.zh-CN.md)
4
+
5
+ The agent picks the tools and fills in the parameters on its own. All you have to do is be clear about **environment + object + the answer you want**.
6
+ Every phrasing below has been tested, and it works far better than something like "check the metadata".
7
+
8
+ ---
9
+
10
+ ## Start with the environments
11
+
12
+ ```
13
+ Connect to all four environments and tell me what each one is doing.
14
+ ```
15
+
16
+ ```
17
+ Is anything importing or publishing in SIT right now? I want to change some metadata.
18
+ ```
19
+
20
+ ```
21
+ Which background jobs failed between yesterday and now?
22
+ ```
23
+
24
+ ## Querying metadata
25
+
26
+ ```
27
+ Which custom fields are on account? Only list the ones starting with contoso_.
28
+ ```
29
+
30
+ ```
31
+ List the 10 most recently installed solutions, with version and managed status.
32
+ ```
33
+
34
+ ```
35
+ Which scripts does the main Account form load, and which events is each one bound to?
36
+ ```
37
+
38
+ ```
39
+ Which business rules apply to opportunity?
40
+ ```
41
+
42
+ ## Layers (why this environment looks like this)
43
+
44
+ ```
45
+ How many layers does account have in each of the four environments, and which solution is currently on top?
46
+ ```
47
+
48
+ ```
49
+ Which solutions have overridden the account.name field?
50
+ ```
51
+
52
+ ```
53
+ Why is the Account form in SIT different from DEV? Who overrode it?
54
+ ```
55
+
56
+ ## Blast radius (before you change or delete anything)
57
+
58
+ ```
59
+ Which forms, views, and processes use the contoso_customertier field? Check both DEV and SIT.
60
+ ```
61
+
62
+ ```
63
+ Which forms reference the contoso_/scripts/account_form.js script?
64
+ ```
65
+
66
+ ```
67
+ How many types and steps are registered from the Contoso.Customizations assembly, and what version is it?
68
+ ```
69
+
70
+ ```
71
+ For the contoso_taxcategory option set, how many customer records use each value?
72
+ ```
73
+
74
+ ## Snapshots and diffs
75
+
76
+ ```
77
+ Snapshot the forms, views, and fields in DEV and SIT, then tell me the differences.
78
+ ```
79
+
80
+ ```
81
+ What's new in DEV's metadata today compared with the previous snapshot?
82
+ ```
83
+
84
+ ```
85
+ How do the plugin steps differ between SIT and UAT?
86
+ ```
87
+
88
+ ## Release assessment
89
+
90
+ ```
91
+ What are the risks of shipping ContosoBase from DEV to SIT and UAT?
92
+ ```
93
+
94
+ ```
95
+ Once this solution is imported, whose layers will it overwrite?
96
+ ```
97
+
98
+ ```
99
+ What happens on import if the target environment doesn't have this solution?
100
+ ```
101
+
102
+ ## Code review checks
103
+
104
+ ```
105
+ Will this MR break when it goes to UAT? https://gitlab.example.com/.../merge_requests/7759/diffs
106
+ ```
107
+
108
+ ```
109
+ For the form scripts this MR changes, do all the fields they read exist on the forms in the target environment?
110
+ ```
111
+
112
+ ```
113
+ This MR touches a C# plugin — are the assembly, types, steps, and step images all in place in the target environment?
114
+ ```
115
+
116
+ ## Contract and drift
117
+
118
+ ```
119
+ Has SIT and UAT caught up with DEV's plugin registrations?
120
+ ```
121
+
122
+ ```
123
+ Are any web resources referenced by forms missing downstream?
124
+ ```
125
+
126
+ ```
127
+ This difference is known — log it as a waiver for 30 days.
128
+ ```
129
+
130
+ ```
131
+ Is there more drift or less drift than last time?
132
+ ```
133
+
134
+ ## Writes
135
+
136
+ ```
137
+ Add these options to contoso_taxcategoryos: AD3|Andorra: Tax Register Number (plan only for now, don't execute)
138
+ ```
139
+
140
+ ```
141
+ Add a text field contoso_CustomerTier to account, 120 characters, display name "Customer Tier".
142
+ ```
143
+
144
+ ```
145
+ Change the display name of account.name to "Customer Name".
146
+ ```
147
+
148
+ ```
149
+ Execute mw04aul6-1ci6aa
150
+ ```
151
+
152
+ ```
153
+ Cancel that plan.
154
+ ```
155
+
156
+ The general pattern for writes: **say what you want changed → confirm "plan only" → review the list, then say "execute <planId>"**.
157
+ If you merge those two sentences into one, the agent still generates a plan first and then shows a confirmation card — it never writes directly.
158
+
159
+ ## Business data
160
+
161
+ ```
162
+ How many records are in contoso_systemconfiguration? Group them by contoso_containsecret.
163
+ ```
164
+
165
+ ```
166
+ Show me 5 sample contoso_systemconfiguration records — I only need the contoso_key and contoso_value columns.
167
+ ```
168
+
169
+ ```
170
+ Add a record to contoso_systemconfiguration for me: contoso_key = FEATURE_X, contoso_value = 1.
171
+ ```
172
+
173
+ (The last one needs the `data.write` permission and will show a confirmation card.)
174
+
175
+ ## Housekeeping
176
+
177
+ ```
178
+ How much space is .d365 using now, and what can be cleaned up?
179
+ ```
180
+
181
+ ```
182
+ Clean up the saved query artifacts according to the retention policy — dry run first, don't actually delete.
183
+ ```
184
+
185
+ ```
186
+ Compact the snapshots, they're taking up too much space.
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Phrasing tips
192
+
193
+ | To get a sharper answer | Say this |
194
+ | --- | --- |
195
+ | Pin down the environment | "in SIT", "look at all four environments" |
196
+ | Pin down the scope | "only the ones starting with contoso_", "main form only" |
197
+ | Want a verdict, not a list | "tell me whether it's safe to delete", "give me a one-line verdict" |
198
+ | Want evidence | "list exactly which forms" |
199
+ | Before a write | "plan only", "don't execute" |
200
+ | Large-scale operations | "assess first, don't touch the environment" |
201
+
202
+ Conversely, avoid these — they force the agent to guess:
203
+
204
+ - "Check the metadata" (which kind? which environment?)
205
+ - "See if there's a problem" (what problem? release, references, or contract?)
206
+ - "Change this field" (change it to what?)