@integrity-labs/agt-cli 0.27.150-test.16 → 0.27.150-test.17
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/dist/bin/agt.js +13 -6
- package/dist/bin/agt.js.map +1 -1
- package/dist/{chunk-WOOYOAPG.js → chunk-FZTGR2AQ.js} +153 -20
- package/dist/chunk-FZTGR2AQ.js.map +1 -0
- package/dist/{chunk-7GKJZBTB.js → chunk-HXMLMIR4.js} +230 -53
- package/dist/chunk-HXMLMIR4.js.map +1 -0
- package/dist/{chunk-QHEAAPEG.js → chunk-L2JA4OHU.js} +108 -2
- package/dist/chunk-L2JA4OHU.js.map +1 -0
- package/dist/{claude-pair-runtime-GIUCD7IG.js → claude-pair-runtime-QYJUJUYY.js} +2 -2
- package/dist/lib/manager-worker.js +422 -165
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/augmented-admin.js +42 -4
- package/dist/{persistent-session-35PWSTLO.js → persistent-session-IKQLTZZ6.js} +3 -4
- package/dist/{responsiveness-probe-MA4M2QM4.js → responsiveness-probe-2K4QHOWW.js} +3 -4
- package/dist/{responsiveness-probe-MA4M2QM4.js.map → responsiveness-probe-2K4QHOWW.js.map} +1 -1
- package/package.json +1 -1
- package/dist/chunk-354FAVQR.js +0 -173
- package/dist/chunk-354FAVQR.js.map +0 -1
- package/dist/chunk-7GKJZBTB.js.map +0 -1
- package/dist/chunk-QHEAAPEG.js.map +0 -1
- package/dist/chunk-WOOYOAPG.js.map +0 -1
- package/dist/daily-session-PNQX5URX.js +0 -27
- package/dist/persistent-session-35PWSTLO.js.map +0 -1
- /package/dist/{claude-pair-runtime-GIUCD7IG.js.map → claude-pair-runtime-QYJUJUYY.js.map} +0 -0
- /package/dist/{daily-session-PNQX5URX.js.map → persistent-session-IKQLTZZ6.js.map} +0 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
registerFramework,
|
|
11
11
|
resolveAvatarEnvUrl,
|
|
12
12
|
wrapScheduledTaskPrompt
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FZTGR2AQ.js";
|
|
14
14
|
|
|
15
15
|
// ../../packages/core/dist/integrations/registry.js
|
|
16
16
|
var INTEGRATION_REGISTRY = [
|
|
@@ -4902,6 +4902,111 @@ function provisionOrientHook(codeName) {
|
|
|
4902
4902
|
settings["hooks"] = hooks;
|
|
4903
4903
|
writeFileSync5(settingsPath, JSON.stringify(settings, null, 2));
|
|
4904
4904
|
}
|
|
4905
|
+
function provisionSessionStateHook(codeName) {
|
|
4906
|
+
const projectDir = getProjectDir(codeName);
|
|
4907
|
+
const claudeDir = join4(projectDir, ".claude");
|
|
4908
|
+
mkdirSync4(claudeDir, { recursive: true });
|
|
4909
|
+
const homeDir = getHomeDir3();
|
|
4910
|
+
const agentDir = join4(homeDir, ".augmented", codeName);
|
|
4911
|
+
const hookScriptPath = join4(claudeDir, "agt-session-state-hook.sh");
|
|
4912
|
+
const hookScript = `#!/usr/bin/env bash
|
|
4913
|
+
# Auto-generated by Augmented (ENG-6233 / ENG-6268) \u2014 SessionStart session-state
|
|
4914
|
+
# recorder. Writes the model + session origin (which only the agent's own
|
|
4915
|
+
# Claude Code session knows) to session-state.json, which the channel servers
|
|
4916
|
+
# read back for the /status command. Best-effort, silent; every path exits 0 so
|
|
4917
|
+
# it can NEVER block or fail session start.
|
|
4918
|
+
# Canonical source: packages/claudecode-plugin-augmented/hooks/session-state.sh
|
|
4919
|
+
|
|
4920
|
+
# Best-effort: any unexpected error just exits clean.
|
|
4921
|
+
trap 'exit 0' ERR
|
|
4922
|
+
|
|
4923
|
+
# Hook input (stdin canonical; CLAUDE_HOOK_INPUT kept as a fallback).
|
|
4924
|
+
INPUT="$(cat 2>/dev/null || true)"
|
|
4925
|
+
[ -n "$INPUT" ] || INPUT="\${CLAUDE_HOOK_INPUT:-}"
|
|
4926
|
+
[ -n "$INPUT" ] || exit 0
|
|
4927
|
+
command -v jq >/dev/null 2>&1 || exit 0
|
|
4928
|
+
|
|
4929
|
+
# Identity / state dir are baked at provision time.
|
|
4930
|
+
CODE_NAME="${codeName}"
|
|
4931
|
+
STATE_DIR="${agentDir}"
|
|
4932
|
+
mkdir -p "$STATE_DIR" 2>/dev/null || exit 0
|
|
4933
|
+
|
|
4934
|
+
# Pull the fields we surface from the SessionStart payload.
|
|
4935
|
+
SESSION_ID="$(printf '%s' "$INPUT" | jq -r '.session_id // empty' 2>/dev/null || true)"
|
|
4936
|
+
SOURCE="$(printf '%s' "$INPUT" | jq -r '.source // empty' 2>/dev/null || true)"
|
|
4937
|
+
MODEL="$(printf '%s' "$INPUT" | jq -r '.model // empty' 2>/dev/null || true)"
|
|
4938
|
+
CWD="$(printf '%s' "$INPUT" | jq -r '.cwd // empty' 2>/dev/null || true)"
|
|
4939
|
+
[ -n "$CWD" ] || CWD="\${CLAUDE_PROJECT_DIR:-$PWD}"
|
|
4940
|
+
|
|
4941
|
+
# Channels: the channel MCP servers wired in the project .mcp.json. The adapter
|
|
4942
|
+
# writes each channel as a bare server id \u2014 slack / telegram / msteams (the
|
|
4943
|
+
# DEV_CHANNEL_SERVER_IDS set) plus direct-chat \u2014 NOT a "<name>-channel" key, so
|
|
4944
|
+
# match that allowlist and exclude the non-channel servers (augmented,
|
|
4945
|
+
# cloud-broker, composio_*). The "-channel" suffix only names the bundled .js
|
|
4946
|
+
# asset, never the .mcp.json key (verified against a live host, ENG-6268).
|
|
4947
|
+
CHANNELS_JSON='[]'
|
|
4948
|
+
if [ -f "$CWD/.mcp.json" ]; then
|
|
4949
|
+
CHANNELS_JSON="$(jq -c '
|
|
4950
|
+
["slack","telegram","msteams","direct-chat"] as $ch
|
|
4951
|
+
| [ (.mcpServers // {} | keys[]) | select(. as $k | $ch | index($k)) ]
|
|
4952
|
+
' "$CWD/.mcp.json" 2>/dev/null || echo '[]')"
|
|
4953
|
+
[ -n "$CHANNELS_JSON" ] || CHANNELS_JSON='[]'
|
|
4954
|
+
fi
|
|
4955
|
+
|
|
4956
|
+
# Environment: best-effort from the agent's CLAUDE.md frontmatter (CHARTER.md
|
|
4957
|
+
# maps to CLAUDE.md for the Claude Code adapter; the frontmatter carries
|
|
4958
|
+
# environment: dev|stage|prod). Missing / unreadable -> omitted.
|
|
4959
|
+
ENVIRONMENT=""
|
|
4960
|
+
if [ -f "$CWD/CLAUDE.md" ]; then
|
|
4961
|
+
ENVIRONMENT="$(grep -m1 -E '^environment:[[:space:]]*' "$CWD/CLAUDE.md" 2>/dev/null | sed -E 's/^environment:[[:space:]]*//; s/[[:space:]]*$//' || true)"
|
|
4962
|
+
fi
|
|
4963
|
+
|
|
4964
|
+
# Seconds->millis keeps this portable across GNU (Linux hosts) and BSD (macOS
|
|
4965
|
+
# dev) date; second granularity is plenty for "started 12m ago".
|
|
4966
|
+
RECORDED_AT="$(date +%s)000"
|
|
4967
|
+
|
|
4968
|
+
# Write atomically (temp + rename) so a concurrent reader never sees a
|
|
4969
|
+
# half-written file.
|
|
4970
|
+
OUT="$STATE_DIR/session-state.json"
|
|
4971
|
+
TMP="$OUT.$$.tmp"
|
|
4972
|
+
if jq -nc --arg session_id "$SESSION_ID" --arg source "$SOURCE" --arg model "$MODEL" --arg cwd "$CWD" --arg environment "$ENVIRONMENT" --argjson channels "$CHANNELS_JSON" --argjson recorded_at "$RECORDED_AT" '{
|
|
4973
|
+
session_id: $session_id,
|
|
4974
|
+
source: $source,
|
|
4975
|
+
model: $model,
|
|
4976
|
+
cwd: $cwd,
|
|
4977
|
+
channels: $channels,
|
|
4978
|
+
recorded_at: $recorded_at
|
|
4979
|
+
}
|
|
4980
|
+
| if $environment == "" then . else . + { environment: $environment } end' > "$TMP" 2>/dev/null; then
|
|
4981
|
+
mv -f "$TMP" "$OUT" 2>/dev/null || rm -f "$TMP" 2>/dev/null || true
|
|
4982
|
+
else
|
|
4983
|
+
rm -f "$TMP" 2>/dev/null || true
|
|
4984
|
+
fi
|
|
4985
|
+
|
|
4986
|
+
exit 0
|
|
4987
|
+
`;
|
|
4988
|
+
writeFileSync5(hookScriptPath, hookScript, { mode: 493 });
|
|
4989
|
+
const settingsPath = join4(claudeDir, "settings.local.json");
|
|
4990
|
+
let settings = {};
|
|
4991
|
+
try {
|
|
4992
|
+
settings = JSON.parse(readFileSync5(settingsPath, "utf-8"));
|
|
4993
|
+
} catch {
|
|
4994
|
+
}
|
|
4995
|
+
const hooks = settings["hooks"] ?? {};
|
|
4996
|
+
const existingSessionStart = Array.isArray(hooks["SessionStart"]) ? [...hooks["SessionStart"]] : [];
|
|
4997
|
+
const alreadyRegistered = existingSessionStart.some((entry) => {
|
|
4998
|
+
const entryHooks = entry.hooks;
|
|
4999
|
+
return Array.isArray(entryHooks) && entryHooks.some((h) => typeof h === "object" && h !== null && h.type === "command" && h.command === hookScriptPath);
|
|
5000
|
+
});
|
|
5001
|
+
if (!alreadyRegistered) {
|
|
5002
|
+
existingSessionStart.push({
|
|
5003
|
+
hooks: [{ type: "command", command: hookScriptPath }]
|
|
5004
|
+
});
|
|
5005
|
+
}
|
|
5006
|
+
hooks["SessionStart"] = existingSessionStart;
|
|
5007
|
+
settings["hooks"] = hooks;
|
|
5008
|
+
writeFileSync5(settingsPath, JSON.stringify(settings, null, 2));
|
|
5009
|
+
}
|
|
4905
5010
|
function modifyJsonConfig(filePath, fn) {
|
|
4906
5011
|
let originalContent;
|
|
4907
5012
|
let config;
|
|
@@ -7857,6 +7962,7 @@ export {
|
|
|
7857
7962
|
provisionIsolationHook,
|
|
7858
7963
|
provisionAutoKanbanProgressHook,
|
|
7859
7964
|
provisionOrientHook,
|
|
7965
|
+
provisionSessionStateHook,
|
|
7860
7966
|
setJsonMode,
|
|
7861
7967
|
isJsonMode,
|
|
7862
7968
|
jsonOutput,
|
|
@@ -7887,4 +7993,4 @@ export {
|
|
|
7887
7993
|
managerInstallSystemUnitCommand,
|
|
7888
7994
|
managerUninstallSystemUnitCommand
|
|
7889
7995
|
};
|
|
7890
|
-
//# sourceMappingURL=chunk-
|
|
7996
|
+
//# sourceMappingURL=chunk-L2JA4OHU.js.map
|