@dsh-enhanced/lark-channel 0.1.48 → 0.1.49

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 (173) hide show
  1. package/README.md +19 -8
  2. package/docs/rsi-setup.md +123 -11
  3. package/docs/setup.md +27 -14
  4. package/docs/supervised-growth.md +2 -0
  5. package/lib/adapter.d.ts +6 -0
  6. package/lib/adapter.d.ts.map +1 -1
  7. package/lib/adapter.js +79 -8
  8. package/lib/adapter.js.map +1 -1
  9. package/lib/business-cli-install.d.ts +9 -0
  10. package/lib/business-cli-install.d.ts.map +1 -0
  11. package/lib/business-cli-install.js +367 -0
  12. package/lib/business-cli-install.js.map +1 -0
  13. package/lib/business-environment.d.ts +2 -0
  14. package/lib/business-environment.d.ts.map +1 -0
  15. package/lib/business-environment.js +16 -0
  16. package/lib/business-environment.js.map +1 -0
  17. package/lib/business-skill.d.ts +32 -0
  18. package/lib/business-skill.d.ts.map +1 -0
  19. package/lib/business-skill.js +202 -0
  20. package/lib/business-skill.js.map +1 -0
  21. package/lib/rsi-authority-config.d.ts +29 -0
  22. package/lib/rsi-authority-config.d.ts.map +1 -0
  23. package/lib/rsi-authority-config.js +233 -0
  24. package/lib/rsi-authority-config.js.map +1 -0
  25. package/lib/rsi-authority-resources.d.ts +36 -0
  26. package/lib/rsi-authority-resources.d.ts.map +1 -0
  27. package/lib/rsi-authority-resources.js +139 -0
  28. package/lib/rsi-authority-resources.js.map +1 -0
  29. package/lib/rsi-authority-runtime.d.ts +50 -0
  30. package/lib/rsi-authority-runtime.d.ts.map +1 -0
  31. package/lib/rsi-authority-runtime.js +393 -0
  32. package/lib/rsi-authority-runtime.js.map +1 -0
  33. package/lib/rsi-bootstrap-manifest.d.ts +39 -0
  34. package/lib/rsi-bootstrap-manifest.d.ts.map +1 -0
  35. package/lib/rsi-bootstrap-manifest.js +366 -0
  36. package/lib/rsi-bootstrap-manifest.js.map +1 -0
  37. package/lib/rsi-bootstrap.d.ts +30 -0
  38. package/lib/rsi-bootstrap.d.ts.map +1 -0
  39. package/lib/rsi-bootstrap.js +363 -0
  40. package/lib/rsi-bootstrap.js.map +1 -0
  41. package/lib/rsi-build.d.ts +45 -0
  42. package/lib/rsi-build.d.ts.map +1 -0
  43. package/lib/rsi-build.js +404 -0
  44. package/lib/rsi-build.js.map +1 -0
  45. package/lib/rsi-creation-build.d.ts +47 -0
  46. package/lib/rsi-creation-build.d.ts.map +1 -0
  47. package/lib/rsi-creation-build.js +333 -0
  48. package/lib/rsi-creation-build.js.map +1 -0
  49. package/lib/rsi-host-authorities.d.ts +18 -0
  50. package/lib/rsi-host-authorities.d.ts.map +1 -0
  51. package/lib/rsi-host-authorities.js +129 -0
  52. package/lib/rsi-host-authorities.js.map +1 -0
  53. package/lib/rsi-host-update.d.ts +113 -0
  54. package/lib/rsi-host-update.d.ts.map +1 -0
  55. package/lib/rsi-host-update.js +316 -0
  56. package/lib/rsi-host-update.js.map +1 -0
  57. package/lib/rsi-install-inputs.d.ts +43 -0
  58. package/lib/rsi-install-inputs.d.ts.map +1 -0
  59. package/lib/rsi-install-inputs.js +342 -0
  60. package/lib/rsi-install-inputs.js.map +1 -0
  61. package/lib/rsi-install.d.ts +54 -0
  62. package/lib/rsi-install.d.ts.map +1 -0
  63. package/lib/rsi-install.js +404 -0
  64. package/lib/rsi-install.js.map +1 -0
  65. package/lib/rsi-local-activation.d.ts +78 -0
  66. package/lib/rsi-local-activation.d.ts.map +1 -0
  67. package/lib/rsi-local-activation.js +485 -0
  68. package/lib/rsi-local-activation.js.map +1 -0
  69. package/lib/rsi-local-cohort.d.ts +70 -0
  70. package/lib/rsi-local-cohort.d.ts.map +1 -0
  71. package/lib/rsi-local-cohort.js +781 -0
  72. package/lib/rsi-local-cohort.js.map +1 -0
  73. package/lib/rsi-local-install.d.ts +40 -0
  74. package/lib/rsi-local-install.d.ts.map +1 -0
  75. package/lib/rsi-local-install.js +221 -0
  76. package/lib/rsi-local-install.js.map +1 -0
  77. package/lib/rsi-local-pair-install.d.ts +38 -0
  78. package/lib/rsi-local-pair-install.d.ts.map +1 -0
  79. package/lib/rsi-local-pair-install.js +200 -0
  80. package/lib/rsi-local-pair-install.js.map +1 -0
  81. package/lib/rsi-local-profile-update.d.ts +25 -0
  82. package/lib/rsi-local-profile-update.d.ts.map +1 -0
  83. package/lib/rsi-local-profile-update.js +226 -0
  84. package/lib/rsi-local-profile-update.js.map +1 -0
  85. package/lib/rsi-local-resources.d.ts +37 -0
  86. package/lib/rsi-local-resources.d.ts.map +1 -0
  87. package/lib/rsi-local-resources.js +184 -0
  88. package/lib/rsi-local-resources.js.map +1 -0
  89. package/lib/rsi-local-roots-extension.d.ts +11 -0
  90. package/lib/rsi-local-roots-extension.d.ts.map +1 -0
  91. package/lib/rsi-local-roots-extension.js +31 -0
  92. package/lib/rsi-local-roots-extension.js.map +1 -0
  93. package/lib/rsi-local-update-build.d.ts +18 -0
  94. package/lib/rsi-local-update-build.d.ts.map +1 -0
  95. package/lib/rsi-local-update-build.js +37 -0
  96. package/lib/rsi-local-update-build.js.map +1 -0
  97. package/lib/rsi-local-update.d.ts +39 -0
  98. package/lib/rsi-local-update.d.ts.map +1 -0
  99. package/lib/rsi-local-update.js +205 -0
  100. package/lib/rsi-local-update.js.map +1 -0
  101. package/lib/rsi-memory-learning.d.ts +22 -0
  102. package/lib/rsi-memory-learning.d.ts.map +1 -0
  103. package/lib/rsi-memory-learning.js +76 -0
  104. package/lib/rsi-memory-learning.js.map +1 -0
  105. package/lib/rsi-owner-profile.d.ts +37 -0
  106. package/lib/rsi-owner-profile.d.ts.map +1 -0
  107. package/lib/rsi-owner-profile.js +178 -0
  108. package/lib/rsi-owner-profile.js.map +1 -0
  109. package/lib/rsi-plugin-creation.d.ts +31 -0
  110. package/lib/rsi-plugin-creation.d.ts.map +1 -0
  111. package/lib/rsi-plugin-creation.js +179 -0
  112. package/lib/rsi-plugin-creation.js.map +1 -0
  113. package/lib/rsi-profile.d.ts +23 -0
  114. package/lib/rsi-profile.d.ts.map +1 -1
  115. package/lib/rsi-profile.js +154 -43
  116. package/lib/rsi-profile.js.map +1 -1
  117. package/lib/rsi-release-build.d.ts +41 -0
  118. package/lib/rsi-release-build.d.ts.map +1 -0
  119. package/lib/rsi-release-build.js +223 -0
  120. package/lib/rsi-release-build.js.map +1 -0
  121. package/lib/rsi-service-environment.d.ts +6 -0
  122. package/lib/rsi-service-environment.d.ts.map +1 -0
  123. package/lib/rsi-service-environment.js +113 -0
  124. package/lib/rsi-service-environment.js.map +1 -0
  125. package/lib/rsi-service-setup.d.ts +10 -0
  126. package/lib/rsi-service-setup.d.ts.map +1 -0
  127. package/lib/rsi-service-setup.js +34 -0
  128. package/lib/rsi-service-setup.js.map +1 -0
  129. package/lib/rsi-setup.d.ts +35 -2
  130. package/lib/rsi-setup.d.ts.map +1 -1
  131. package/lib/rsi-setup.js +459 -32
  132. package/lib/rsi-setup.js.map +1 -1
  133. package/lib/rsi-source-maintenance.d.ts +25 -0
  134. package/lib/rsi-source-maintenance.d.ts.map +1 -0
  135. package/lib/rsi-source-maintenance.js +348 -0
  136. package/lib/rsi-source-maintenance.js.map +1 -0
  137. package/lib/rsi-source-update.d.ts +26 -0
  138. package/lib/rsi-source-update.d.ts.map +1 -0
  139. package/lib/rsi-source-update.js +276 -0
  140. package/lib/rsi-source-update.js.map +1 -0
  141. package/lib/rsi-source.d.ts +34 -0
  142. package/lib/rsi-source.d.ts.map +1 -0
  143. package/lib/rsi-source.js +375 -0
  144. package/lib/rsi-source.js.map +1 -0
  145. package/lib/rsi-systemd-bootstrap.d.ts +46 -0
  146. package/lib/rsi-systemd-bootstrap.d.ts.map +1 -0
  147. package/lib/rsi-systemd-bootstrap.js +271 -0
  148. package/lib/rsi-systemd-bootstrap.js.map +1 -0
  149. package/lib/sdk.d.ts.map +1 -1
  150. package/lib/sdk.js +26 -1
  151. package/lib/sdk.js.map +1 -1
  152. package/lib/setup-business.d.ts +49 -0
  153. package/lib/setup-business.d.ts.map +1 -0
  154. package/lib/setup-business.js +335 -0
  155. package/lib/setup-business.js.map +1 -0
  156. package/lib/setup-profile.d.ts +1 -1
  157. package/lib/setup-profile.d.ts.map +1 -1
  158. package/lib/setup-profile.js +25 -2
  159. package/lib/setup-profile.js.map +1 -1
  160. package/lib/setup.d.ts +12 -1
  161. package/lib/setup.d.ts.map +1 -1
  162. package/lib/setup.js +138 -34
  163. package/lib/setup.js.map +1 -1
  164. package/lib/systemd.d.ts +10 -0
  165. package/lib/systemd.d.ts.map +1 -1
  166. package/lib/systemd.js +23 -6
  167. package/lib/systemd.js.map +1 -1
  168. package/lib/types.d.ts +7 -0
  169. package/lib/types.d.ts.map +1 -1
  170. package/lib/types.js.map +1 -1
  171. package/lib/version.d.ts +1 -1
  172. package/lib/version.js +1 -1
  173. package/package.json +32 -20
@@ -0,0 +1,271 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { spawnSync } from 'node:child_process';
3
+ import { constants, closeSync, fstatSync, lstatSync, openSync, readSync } from 'node:fs';
4
+ import { lstat, mkdir, open, readFile, realpath, rename, unlink } from 'node:fs/promises';
5
+ import { homedir } from 'node:os';
6
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
7
+ import { renderDshSystemdService, systemdServicePaths } from './systemd.js';
8
+ const unitKeys = ['FragmentPath', 'DropInPaths', 'ExecStart', 'Environment', 'WorkingDirectory', 'User', 'Group', 'Type', 'KillMode'];
9
+ const statusKeys = ['Id', 'LoadState', 'ActiveState', 'SubState', 'MainPID', 'ControlPID', 'ControlGroup', 'Job'];
10
+ const allKeys = [...statusKeys, ...unitKeys];
11
+ function fail(message) { throw new Error(`rsi systemd capture: ${message}`); }
12
+ function hash(value) { return createHash('sha256').update(value).digest('hex'); }
13
+ function exactPath(value) {
14
+ return isAbsolute(value) && resolve(value) === value
15
+ && !value.includes('\0') && !value.includes('\r') && !value.includes('\n');
16
+ }
17
+ function equal(a, b) { return a === null ? b === null : b !== null && a.equals(b); }
18
+ function fdBytes(fd, size) {
19
+ const bytes = Buffer.alloc(size);
20
+ let offset = 0;
21
+ while (offset < bytes.length) {
22
+ const count = readSync(fd, bytes, offset, bytes.length - offset, offset);
23
+ if (count === 0)
24
+ fail('pinned systemctl changed while reading');
25
+ offset += count;
26
+ }
27
+ return bytes;
28
+ }
29
+ async function command(args, options) {
30
+ options.signal?.throwIfAborted();
31
+ const spec = options.systemctl;
32
+ if (spec.interpreter !== null || !exactPath(spec.path) || !/^[a-f0-9]{64}$/u.test(spec.sha256)
33
+ || await realpath(spec.path) !== spec.path)
34
+ fail('systemctl must be a canonical pinned native executable');
35
+ const pathStat = lstatSync(spec.path);
36
+ if (!pathStat.isFile() || pathStat.nlink !== 1 || pathStat.size < 4 || pathStat.size > 268_435_456
37
+ || (pathStat.mode & 0o022) !== 0 || (pathStat.uid !== 0 && pathStat.uid !== process.getuid?.()))
38
+ fail('unsafe systemctl executable');
39
+ const fd = openSync(spec.path, constants.O_RDONLY | constants.O_NOFOLLOW);
40
+ try {
41
+ const fdStat = fstatSync(fd);
42
+ if (fdStat.dev !== pathStat.dev || fdStat.ino !== pathStat.ino)
43
+ fail('systemctl inode changed');
44
+ const bytes = fdBytes(fd, fdStat.size);
45
+ if (!bytes.subarray(0, 4).equals(Buffer.from([0x7f, 0x45, 0x4c, 0x46])) || hash(bytes) !== spec.sha256)
46
+ fail('systemctl pin changed');
47
+ const uid = process.getuid?.();
48
+ if (uid === undefined)
49
+ fail('Linux user identity unavailable');
50
+ const runtime = `/run/user/${uid}`;
51
+ const request = { command: '/proc/self/fd/3', fd,
52
+ args: ['--user', ...args], env: { PATH: '/usr/bin:/bin', LANG: 'C', LC_ALL: 'C', SYSTEMD_PAGER: '', SYSTEMD_COLORS: '0',
53
+ XDG_RUNTIME_DIR: runtime, DBUS_SESSION_BUS_ADDRESS: `unix:path=${runtime}/bus` },
54
+ timeoutMs: options.timeoutMs ?? 10_000, ...(options.signal ? { signal: options.signal } : {}) };
55
+ if (!Number.isSafeInteger(request.timeoutMs) || request.timeoutMs < 1000 || request.timeoutMs > 60_000)
56
+ fail('invalid command timeout');
57
+ const result = await (options.run ?? defaultRun)(request);
58
+ options.signal?.throwIfAborted();
59
+ const finalStat = lstatSync(spec.path);
60
+ if (finalStat.dev !== fdStat.dev || finalStat.ino !== fdStat.ino || hash(fdBytes(fd, fdStat.size)) !== spec.sha256)
61
+ fail('systemctl changed after command');
62
+ if (result.error || result.status !== 0 || Buffer.byteLength(result.stdout) > 65_536)
63
+ fail(`systemctl ${args[0]} failed`);
64
+ return result.stdout;
65
+ }
66
+ finally {
67
+ closeSync(fd);
68
+ }
69
+ }
70
+ function defaultRun(request) {
71
+ const result = spawnSync(request.command, [...request.args], { env: request.env, encoding: 'utf8',
72
+ stdio: ['ignore', 'pipe', 'pipe', request.fd], timeout: request.timeoutMs, signal: request.signal, maxBuffer: 65_536 });
73
+ return { status: result.status, stdout: result.stdout ?? '', stderr: result.stderr ?? '',
74
+ ...(result.error ? { error: result.error } : {}) };
75
+ }
76
+ export function parseRsiSystemdShow(source, keys = allKeys) {
77
+ if (Buffer.byteLength(source) > 65_536 || !source.endsWith('\n'))
78
+ fail('invalid systemctl show output');
79
+ const result = Object.create(null);
80
+ for (const line of source.trimEnd().split('\n')) {
81
+ const separator = line.indexOf('='), key = line.slice(0, separator);
82
+ if (separator < 0 || !keys.includes(key) || Object.hasOwn(result, key))
83
+ fail('invalid or duplicate supervisor property');
84
+ result[key] = line.slice(separator + 1);
85
+ }
86
+ if (Object.keys(result).length !== keys.length)
87
+ fail('missing supervisor property');
88
+ return result;
89
+ }
90
+ function normalizeExecStart(value) {
91
+ const match = value.match(/^(\{ path=[^\r\n]* ; argv\[\]=[^\r\n]* ; ignore_errors=(?:yes|no)) ; (?:start_time=[^\r\n]* )?\}$/u);
92
+ if (!match || value.split('{ path=').length !== 2)
93
+ fail('unsupported ExecStart representation');
94
+ return `${match[1]} ; }`;
95
+ }
96
+ export function assertRsiSystemdUnitStopped(status, unitName) {
97
+ if (status.Id !== unitName || !['loaded', 'not-found'].includes(status.LoadState)
98
+ || status.ActiveState !== 'inactive' || status.SubState !== 'dead'
99
+ || status.MainPID !== '0' || status.ControlPID !== '0' || status.ControlGroup !== ''
100
+ || !['', '0'].includes(status.Job))
101
+ fail('target service is not fully stopped');
102
+ }
103
+ export async function readRsiSystemdUnitStatus(unitName, options) {
104
+ const fields = parseRsiSystemdShow(await command(['show', unitName, '--no-pager', ...statusKeys.map(key => `--property=${key}`)], options), statusKeys);
105
+ return fields;
106
+ }
107
+ /** Reads the currently loaded service for post-install and post-start comparison with the frozen Host grant. */
108
+ export async function readRsiSystemdUnitProperties(input, options) {
109
+ const { unitPath, unitName } = systemdServicePaths({ dshHome: input.dshHome, profile: input.profile,
110
+ ...(options.home ? { home: options.home } : {}) });
111
+ const fields = parseRsiSystemdShow(await command(['show', unitName, '--no-pager', ...allKeys.map(key => `--property=${key}`)], options));
112
+ if (fields.Id !== unitName || fields.LoadState !== 'loaded' || fields.FragmentPath !== unitPath
113
+ || fields.DropInPaths !== '' || fields.Type !== 'simple' || fields.KillMode !== 'control-group') {
114
+ fail('loaded unit differs from supported deployment');
115
+ }
116
+ fields.ExecStart = normalizeExecStart(fields.ExecStart);
117
+ return Object.fromEntries(unitKeys.map(key => [key, fields[key]]));
118
+ }
119
+ async function readUnit(path, maximum = 65_536) {
120
+ let stat;
121
+ try {
122
+ stat = await lstat(path);
123
+ }
124
+ catch (error) {
125
+ if (error.code === 'ENOENT')
126
+ return { bytes: null, mode: null };
127
+ throw error;
128
+ }
129
+ if (!stat.isFile() || stat.nlink !== 1 || stat.uid !== process.getuid?.() || stat.size > maximum)
130
+ fail('unsafe unit file');
131
+ const bytes = await readFile(path);
132
+ const after = await lstat(path);
133
+ if (after.ino !== stat.ino || after.dev !== stat.dev || after.size !== stat.size)
134
+ fail('unit file changed during read');
135
+ return { bytes, mode: stat.mode & 0o777 };
136
+ }
137
+ async function syncDirectory(path) { const fd = await open(path, 'r'); try {
138
+ await fd.sync();
139
+ }
140
+ finally {
141
+ await fd.close();
142
+ } }
143
+ async function atomicWrite(path, bytes, mode) {
144
+ const tmp = `${path}.rsi-${process.pid}-${createHash('sha256').update(String(Math.random())).digest('hex')}`;
145
+ const fd = await open(tmp, 'wx', mode);
146
+ try {
147
+ try {
148
+ await fd.writeFile(bytes);
149
+ await fd.chmod(mode);
150
+ await fd.sync();
151
+ }
152
+ finally {
153
+ await fd.close();
154
+ }
155
+ await rename(tmp, path);
156
+ await syncDirectory(dirname(path));
157
+ }
158
+ catch (error) {
159
+ await unlink(tmp).catch(() => undefined);
160
+ throw error;
161
+ }
162
+ }
163
+ async function readJournal(path, unitPath, unitName) {
164
+ const unit = await readUnit(path, 262_144);
165
+ if (unit.bytes === null)
166
+ return null;
167
+ if (unit.mode !== 0o600 || unit.bytes.length > 262_144)
168
+ fail('unsafe recovery journal');
169
+ let value;
170
+ try {
171
+ value = JSON.parse(unit.bytes.toString('utf8'));
172
+ }
173
+ catch {
174
+ fail('invalid recovery journal');
175
+ }
176
+ if (value.schemaVersion !== 1 || value.unitPath !== unitPath || value.unitName !== unitName
177
+ || Object.keys(value).sort().join() !== ['after', 'before', 'beforeMode', 'schemaVersion', 'unitName', 'unitPath'].sort().join()
178
+ || typeof value.after !== 'string' || (value.before !== null && typeof value.before !== 'string')
179
+ || (value.before === null ? value.beforeMode !== null : !Number.isInteger(value.beforeMode) || value.beforeMode < 0 || value.beforeMode > 0o777))
180
+ fail('recovery journal differs from target');
181
+ for (const encoded of [value.after, value.before])
182
+ if (encoded !== null && (encoded.length > 90_000
183
+ || Buffer.from(encoded, 'base64').toString('base64') !== encoded))
184
+ fail('invalid recovery journal bytes');
185
+ return value;
186
+ }
187
+ async function restore(path, journalPath, journal, options) {
188
+ const current = await readUnit(path);
189
+ const before = journal.before === null ? null : Buffer.from(journal.before, 'base64');
190
+ const after = Buffer.from(journal.after, 'base64');
191
+ if (!equal(current.bytes, before) && !equal(current.bytes, after))
192
+ fail('unit changed outside capture; retain journal for reconciliation');
193
+ assertRsiSystemdUnitStopped(await readRsiSystemdUnitStatus(journal.unitName, options), journal.unitName);
194
+ if (!equal(current.bytes, before) || (before !== null && current.mode !== journal.beforeMode)) {
195
+ if (before === null) {
196
+ await unlink(path);
197
+ await syncDirectory(dirname(path));
198
+ }
199
+ else
200
+ await atomicWrite(path, before, journal.beforeMode);
201
+ }
202
+ await command(['daemon-reload'], options);
203
+ await unlink(journalPath);
204
+ await syncDirectory(dirname(journalPath));
205
+ }
206
+ /** Caller owns the DSH_HOME lifecycle lock and has stopped the target service. No command here can start it. */
207
+ export async function captureRsiSystemdUnitProperties(input, options) {
208
+ if (process.platform !== 'linux' || !exactPath(input.dshHome))
209
+ fail('Linux absolute DSH_HOME required');
210
+ const homeStat = await lstat(input.dshHome);
211
+ if (!homeStat.isDirectory() || homeStat.uid !== process.getuid?.() || (homeStat.mode & 0o077) !== 0
212
+ || await realpath(input.dshHome) !== input.dshHome)
213
+ fail('DSH_HOME must be owner-private and canonical');
214
+ const { unitPath, unitName } = systemdServicePaths({ dshHome: input.dshHome, profile: input.profile,
215
+ ...(options.home ? { home: options.home } : {}) });
216
+ const journalPath = join(input.dshHome, '.rsi-systemd-capture-journal.json');
217
+ const previous = await readJournal(journalPath, unitPath, unitName);
218
+ if (previous) {
219
+ const recoveryOptions = { ...options };
220
+ delete recoveryOptions.signal;
221
+ await restore(unitPath, journalPath, previous, recoveryOptions);
222
+ }
223
+ options.signal?.throwIfAborted();
224
+ const rendered = await renderDshSystemdService(input, { platform: 'linux',
225
+ ...(options.home ? { home: options.home } : {}), ...(options.nodePath ? { nodePath: options.nodePath } : {}),
226
+ ...(options.dshPath ? { dshPath: options.dshPath } : {}), ...(options.path ? { path: options.path } : {}),
227
+ ...(options.environment ? { environment: options.environment } : {}) });
228
+ if (rendered.unitPath !== unitPath || rendered.unitName !== unitName)
229
+ fail('rendered unit path changed');
230
+ await mkdir(dirname(unitPath), { recursive: true, mode: 0o700 });
231
+ const actualUnitDirectory = await realpath(dirname(unitPath));
232
+ if (actualUnitDirectory !== join(await realpath(options.home ?? homedir()), '.config', 'systemd', 'user')
233
+ || (await lstat(dirname(unitPath))).uid !== process.getuid?.())
234
+ fail('unit directory differs from user home');
235
+ assertRsiSystemdUnitStopped(await readRsiSystemdUnitStatus(unitName, options), unitName);
236
+ const before = await readUnit(unitPath), after = Buffer.from(rendered.source, 'utf8');
237
+ if (after.length > 65_536)
238
+ fail('rendered unit too large');
239
+ const journal = { schemaVersion: 1, unitPath, unitName,
240
+ before: before.bytes?.toString('base64') ?? null, beforeMode: before.mode, after: after.toString('base64') };
241
+ await atomicWrite(journalPath, Buffer.from(JSON.stringify(journal)), 0o600);
242
+ let properties, failure;
243
+ try {
244
+ await atomicWrite(unitPath, after, 0o600);
245
+ await command(['daemon-reload'], options);
246
+ const fields = parseRsiSystemdShow(await command(['show', unitName, '--no-pager', ...allKeys.map(key => `--property=${key}`)], options));
247
+ assertRsiSystemdUnitStopped(fields, unitName);
248
+ if (fields.LoadState !== 'loaded' || fields.FragmentPath !== unitPath || fields.DropInPaths !== ''
249
+ || fields.Type !== 'simple' || fields.KillMode !== 'control-group')
250
+ fail('loaded unit differs from supported deployment');
251
+ fields.ExecStart = normalizeExecStart(fields.ExecStart);
252
+ properties = Object.fromEntries(unitKeys.map(key => [key, fields[key]]));
253
+ }
254
+ catch (error) {
255
+ failure = error;
256
+ }
257
+ const recoveryOptions = { ...options };
258
+ delete recoveryOptions.signal;
259
+ try {
260
+ await restore(unitPath, journalPath, journal, recoveryOptions);
261
+ }
262
+ catch (error) {
263
+ if (failure)
264
+ throw new AggregateError([failure, error], 'rsi systemd capture and recovery failed');
265
+ throw error;
266
+ }
267
+ if (failure)
268
+ throw failure;
269
+ return properties;
270
+ }
271
+ //# sourceMappingURL=rsi-systemd-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rsi-systemd-bootstrap.js","sourceRoot":"","sources":["../src/rsi-systemd-bootstrap.ts"],"names":[],"mappings":"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"}
package/lib/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/lib/sdk.js CHANGED
@@ -976,14 +976,39 @@ export function renderLarkMessage(input) {
976
976
  }),
977
977
  };
978
978
  }
979
+ if ('toolApprovalResult' in input) {
980
+ const result = input.toolApprovalResult;
981
+ const presentation = {
982
+ 'allowed-once': { template: 'green', title: '已允许本次操作,任务继续中',
983
+ detail: '本次授权已生效。工具执行结果将在任务后续消息中提供。' },
984
+ rejected: { template: 'red', title: '已拒绝本次操作', detail: '本次审批未授权工具执行。' },
985
+ cancelled: { template: 'grey', title: '本次审批已取消', detail: '本次审批未授权工具执行,已停止等待确认。' },
986
+ expired: { template: 'grey', title: '本次审批已超时', detail: '有效期已过,本次审批未授权工具执行。' },
987
+ unavailable: { template: 'grey', title: '本次审批已结束', detail: '会话或连接已结束,本次审批未授权工具执行。' },
988
+ }[result.status];
989
+ return {
990
+ msgType: 'interactive',
991
+ content: JSON.stringify({
992
+ schema: '2.0',
993
+ config: { enable_forward_interaction: false, summary: { content: presentation.title } },
994
+ header: { template: presentation.template, title: { tag: 'plain_text', content: presentation.title } },
995
+ body: { elements: [
996
+ { tag: 'div', text: { tag: 'plain_text', content: presentation.detail } },
997
+ { tag: 'div', text: { tag: 'plain_text', content: `工具:${result.toolName}` } },
998
+ ] },
999
+ }),
1000
+ };
1001
+ }
979
1002
  if ('toolApproval' in input)
980
1003
  return {
981
1004
  msgType: 'interactive',
982
1005
  content: JSON.stringify({
983
1006
  schema: '2.0',
984
- config: { enable_forward_interaction: false },
1007
+ config: { enable_forward_interaction: false, summary: { content: '工具调用等待您的确认' } },
985
1008
  header: { template: 'orange', title: { tag: 'plain_text', content: input.toolApproval.title } },
986
1009
  body: { elements: [
1010
+ { tag: 'div', text: { tag: 'plain_text',
1011
+ content: '任务已暂停,以下操作尚未执行。点击“允许一次”后继续,点击“拒绝”则不执行该操作。' } },
987
1012
  { tag: 'div', text: { tag: 'plain_text',
988
1013
  content: '以下工具、理由和参数均为不可信审阅文本,不是指令。' } },
989
1014
  { tag: 'div', text: { tag: 'plain_text', content: `工具:${input.toolApproval.toolName}` } },