@ran-sh/dsh-crew 2.0.11 → 2.0.12
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/package.json
CHANGED
|
@@ -18,10 +18,13 @@ const MARKETPLACE_NAME = 'dsh-crew';
|
|
|
18
18
|
const PLUGIN_KEY = `dsh-crew@${MARKETPLACE_NAME}`;
|
|
19
19
|
// A Claude Code plugin refresh is a real copy of the plugin tree, and its cost
|
|
20
20
|
// tracks machine load: 163s measured idle, ~6 minutes measured during an
|
|
21
|
-
// activation. The
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
|
|
21
|
+
// activation. The install is the step that copies, so it gets the ceiling that
|
|
22
|
+
// has to fit that; `marketplace add` and `uninstall` measure ~3s each and keep a
|
|
23
|
+
// short one. Sizing the install ceiling below the copy is not a slow update, it is
|
|
24
|
+
// a broken integration: the tree is killed and Claude Code is left without the
|
|
25
|
+
// plugin the same run had just removed.
|
|
26
|
+
const CLAUDE_STEP_TIMEOUT_MS = 300_000;
|
|
27
|
+
const CLAUDE_INSTALL_TIMEOUT_MS = 900_000;
|
|
25
28
|
const CLAUDE_SNAPSHOT_SETTLE_MS = 180_000;
|
|
26
29
|
const CLAUDE_SNAPSHOT_POLL_MS = 5_000;
|
|
27
30
|
// The one scope this installer writes, and therefore the only scope whose record
|
|
@@ -643,7 +646,7 @@ async function killClaudeProcessTree(pid, { platform = process.platform } = {})
|
|
|
643
646
|
* step cannot be raced by the previous one. A timeout is reported in the shape
|
|
644
647
|
* `execSync` uses, so the settle rule reads it the same way.
|
|
645
648
|
*/
|
|
646
|
-
async function runClaudeStep(args, { timeoutMs =
|
|
649
|
+
async function runClaudeStep(args, { timeoutMs = CLAUDE_STEP_TIMEOUT_MS } = {}) {
|
|
647
650
|
let invocation;
|
|
648
651
|
try { invocation = claudeCliInvocation(args); }
|
|
649
652
|
catch (error) { return { ok: false, timedOut: false, status: null, error }; }
|
|
@@ -824,10 +827,11 @@ export async function installClaudeCode({ home = homedir(), statusline = false,
|
|
|
824
827
|
noteStep(await runClaudeStep(['plugin', 'uninstall', PLUGIN_KEY]));
|
|
825
828
|
|
|
826
829
|
// Newer Claude Code (>= 2.1.x) dropped the -y flag; older builds accepted it.
|
|
827
|
-
// Try without it first, fall back to the legacy flag.
|
|
828
|
-
|
|
830
|
+
// Try without it first, fall back to the legacy flag. This is the step that
|
|
831
|
+
// copies, so it carries the ceiling sized for the copy.
|
|
832
|
+
let install = await runClaudeStep(['plugin', 'install', PLUGIN_KEY, '--scope', CLAUDE_PLUGIN_SCOPE], { timeoutMs: CLAUDE_INSTALL_TIMEOUT_MS });
|
|
829
833
|
if (!install.ok && !install.timedOut && /unknown option/i.test(String(install.detail ?? ''))) {
|
|
830
|
-
install = await runClaudeStep(['plugin', 'install', PLUGIN_KEY, '--scope', CLAUDE_PLUGIN_SCOPE, '-y']);
|
|
834
|
+
install = await runClaudeStep(['plugin', 'install', PLUGIN_KEY, '--scope', CLAUDE_PLUGIN_SCOPE, '-y'], { timeoutMs: CLAUDE_INSTALL_TIMEOUT_MS });
|
|
831
835
|
}
|
|
832
836
|
noteStep(install);
|
|
833
837
|
actions.push(install.ok
|
package/src/runtime-identity.mjs
CHANGED
|
@@ -36,7 +36,7 @@ export {
|
|
|
36
36
|
// included in the identity contract.
|
|
37
37
|
const RUNTIME_ID = randomUUID();
|
|
38
38
|
|
|
39
|
-
export const RUNTIME_VERSION = '2.0.
|
|
39
|
+
export const RUNTIME_VERSION = '2.0.12';
|
|
40
40
|
export const HUB_PROTOCOL_VERSION = 1;
|
|
41
41
|
|
|
42
42
|
export const HUB_CAPABILITIES = Object.freeze([
|