@ornexus/neocortex 4.60.44 → 4.60.46
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/sbom.cdx.json +23 -23
- package/install.js +16 -1
- package/install.ps1 +57 -401
- package/install.sh +30 -37
- package/package.json +2 -2
- package/packages/client/dist/commands/invoke.d.ts +9 -0
- package/packages/client/dist/commands/invoke.js +50 -47
- package/packages/client/dist/runner/headless/run-yolo.js +1 -1
- package/packages/client/dist/runner/headless/run-yoloop.d.ts +9 -0
- package/packages/client/dist/runner/headless/run-yoloop.js +2 -2
- package/packages/client/dist/state/project-state-snapshot.js +1 -1
- package/packages/client/dist/yoloop/index.d.ts +1 -1
- package/packages/client/dist/yoloop/invoke-hooks.d.ts +23 -6
- package/packages/client/dist/yoloop/invoke-hooks.js +11 -8
- package/packages/client/dist/yoloop/shared-yoloop-types.d.ts +61 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.d.ts +23 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.js +1 -1
- package/packages/shared/dist/invocation/index.js +9 -2
- package/targets-stubs/antigravity/gemini.md +1 -1
- package/targets-stubs/antigravity/install-antigravity.sh +10 -101
- package/targets-stubs/antigravity/skill/SKILL.md +1 -1
- package/targets-stubs/claude-code/neocortex-root.agent.yaml +1 -1
- package/targets-stubs/claude-code/neocortex-root.md +2 -2
- package/targets-stubs/claude-code/neocortex.agent.yaml +1 -1
- package/targets-stubs/claude-code/neocortex.md +2 -2
- package/targets-stubs/codex/AGENTS.md +1 -1
- package/targets-stubs/codex/install-codex.sh +4 -1
- package/targets-stubs/cursor/agent.md +2 -2
- package/targets-stubs/cursor/install-cursor.sh +4 -1
- package/targets-stubs/gemini-cli/agent.md +2 -2
- package/targets-stubs/gemini-cli/install-gemini.sh +4 -1
- package/targets-stubs/grok/install-grok.sh +4 -1
- package/targets-stubs/lib/mcp-merge.js +220 -20
- package/targets-stubs/opencode/neocortex-root.md +1 -1
- package/targets-stubs/vscode/install-vscode.sh +4 -1
- package/targets-stubs/vscode/neocortex.agent.md +2 -2
package/install.sh
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# Development Orchestrator
|
|
5
5
|
|
|
6
6
|
# Versao do instalador
|
|
7
|
-
VERSION="4.60.
|
|
7
|
+
VERSION="4.60.46"
|
|
8
8
|
|
|
9
9
|
# Flags
|
|
10
10
|
MIGRATION_DETECTED=false
|
|
@@ -1115,36 +1115,8 @@ install_core() {
|
|
|
1115
1115
|
# =============================================================================
|
|
1116
1116
|
|
|
1117
1117
|
install_skills() {
|
|
1118
|
-
local errors=0
|
|
1119
|
-
|
|
1120
|
-
SKILLS_DIR="${CLAUDE_DIR}/skills"
|
|
1121
|
-
SKILLS_DEST="${SKILLS_DIR}/neocortex"
|
|
1122
|
-
SKILLS_SOURCE="${SOURCE_DIR}/core/skills"
|
|
1123
|
-
|
|
1124
|
-
# Thin-client: skills delivered by remote server, never copied
|
|
1125
1118
|
ok "Skills: delivered by remote server"
|
|
1126
1119
|
return 0
|
|
1127
|
-
|
|
1128
|
-
mkdir -p "$SKILLS_DIR" 2>/dev/null || { fail "Falha ao criar $SKILLS_DIR"; return 1; }
|
|
1129
|
-
|
|
1130
|
-
# Clean previous
|
|
1131
|
-
[ -d "$SKILLS_DEST" ] && rm -rf "$SKILLS_DEST" 2>/dev/null
|
|
1132
|
-
|
|
1133
|
-
if cp -r "$SKILLS_SOURCE" "$SKILLS_DEST" 2>/dev/null; then
|
|
1134
|
-
# Count skills
|
|
1135
|
-
local skill_count=0
|
|
1136
|
-
for skill_file in "$SKILLS_DEST"/step-skills/*/*.md "$SKILLS_DEST"/domain-skills/*/*.md; do
|
|
1137
|
-
if [ -f "$skill_file" ] && [[ "$(basename "$skill_file")" != "_template.md" ]]; then
|
|
1138
|
-
((skill_count++))
|
|
1139
|
-
fi
|
|
1140
|
-
done
|
|
1141
|
-
ok "Skills instaladas ${DIM}($skill_count skills) [modo local]${NC}"
|
|
1142
|
-
else
|
|
1143
|
-
fail "Falha ao copiar skills"
|
|
1144
|
-
((errors++))
|
|
1145
|
-
fi
|
|
1146
|
-
|
|
1147
|
-
return $errors
|
|
1148
1120
|
}
|
|
1149
1121
|
|
|
1150
1122
|
# =============================================================================
|
|
@@ -1224,7 +1196,12 @@ install_targets() {
|
|
|
1224
1196
|
if managed_copy_file "$opencode_target/neocortex.md" "$opencode_home/agents/neocortex.md" "profile-opencode-neocortex" "$HOME" && \
|
|
1225
1197
|
managed_copy_file "$opencode_target/neocortex-root.md" "$opencode_home/agents/neocortex-root.md" "profile-opencode-neocortex-root" "$HOME"; then
|
|
1226
1198
|
if [ -f "$opencode_target/opencode-mcp.json" ] && command -v node >/dev/null 2>&1; then
|
|
1227
|
-
node "$SOURCE_DIR/targets-stubs/lib/mcp-merge.js" json "$opencode_target/opencode-mcp.json" "$opencode_home/opencode.json" mcp OPENCODE
|
|
1199
|
+
if ! node "$SOURCE_DIR/targets-stubs/lib/mcp-merge.js" json "$opencode_target/opencode-mcp.json" "$opencode_home/opencode.json" mcp OPENCODE; then
|
|
1200
|
+
target_results+=("$target:FAIL")
|
|
1201
|
+
((target_errors++))
|
|
1202
|
+
warn "opencode ${DIM}(MCP semantic merge bloqueado; config preservada)${NC}"
|
|
1203
|
+
continue
|
|
1204
|
+
fi
|
|
1228
1205
|
fi
|
|
1229
1206
|
target_results+=("$target:OK")
|
|
1230
1207
|
((target_count++))
|
|
@@ -1254,7 +1231,10 @@ install_targets() {
|
|
|
1254
1231
|
managed_copy_file "$kimi_target/neocortex.md" "$kimi_code_home/agents/neocortex.md" "profile-kimi-neocortex" "$kimi_code_home" || kimi_ok=1
|
|
1255
1232
|
managed_copy_file "$kimi_target/neocortex.md" "$HOME/.agents/agents/neocortex.md" "profile-kimi-shared-agent" "$HOME" || kimi_ok=1
|
|
1256
1233
|
if [ -f "$kimi_target/mcp.json" ] && command -v node >/dev/null 2>&1; then
|
|
1257
|
-
node "$SOURCE_DIR/targets-stubs/lib/mcp-merge.js" json "$kimi_target/mcp.json" "$kimi_home/mcp.json" mcpServers KIMI
|
|
1234
|
+
if ! node "$SOURCE_DIR/targets-stubs/lib/mcp-merge.js" json "$kimi_target/mcp.json" "$kimi_home/mcp.json" mcpServers KIMI; then
|
|
1235
|
+
kimi_ok=1
|
|
1236
|
+
warn "kimi ${DIM}(MCP semantic merge bloqueado; config preservada)${NC}"
|
|
1237
|
+
fi
|
|
1258
1238
|
fi
|
|
1259
1239
|
if [ $kimi_ok -eq 0 ]; then
|
|
1260
1240
|
target_results+=("$target:OK")
|
|
@@ -1763,12 +1743,6 @@ create_project_dirs() {
|
|
|
1763
1743
|
"$project_dir/docs/epics" \
|
|
1764
1744
|
"$project_dir/docs/proposals" 2>/dev/null
|
|
1765
1745
|
|
|
1766
|
-
# Copy state template if needed
|
|
1767
|
-
if [ ! -f "$project_dir/.neocortex/state.json" ]; then
|
|
1768
|
-
[ -f "$SOURCE_DIR/core/data/state-template.json" ] && \
|
|
1769
|
-
cp "$SOURCE_DIR/core/data/state-template.json" "$project_dir/.neocortex/state.json"
|
|
1770
|
-
fi
|
|
1771
|
-
|
|
1772
1746
|
# Thin-client: never copy core/ to project
|
|
1773
1747
|
|
|
1774
1748
|
# Install target-specific files
|
|
@@ -1980,6 +1954,25 @@ main() {
|
|
|
1980
1954
|
SELECTED_TARGETS="claude-code"
|
|
1981
1955
|
fi
|
|
1982
1956
|
|
|
1957
|
+
# Stable semantic canonicalization: aliases and duplicates must never
|
|
1958
|
+
# install the same global MCP surface twice.
|
|
1959
|
+
local canonical_targets=""
|
|
1960
|
+
local seen_targets=" "
|
|
1961
|
+
local -a requested_targets
|
|
1962
|
+
local requested_target canonical_target
|
|
1963
|
+
IFS=',' read -r -a requested_targets <<< "$SELECTED_TARGETS"
|
|
1964
|
+
for requested_target in "${requested_targets[@]}"; do
|
|
1965
|
+
requested_target="$(printf '%s' "$requested_target" | xargs)"
|
|
1966
|
+
[ "$requested_target" = "gemini-cli" ] && canonical_target="gemini" || canonical_target="$requested_target"
|
|
1967
|
+
[ -z "$canonical_target" ] && continue
|
|
1968
|
+
case "$seen_targets" in
|
|
1969
|
+
*" $canonical_target "*) continue ;;
|
|
1970
|
+
esac
|
|
1971
|
+
seen_targets="$seen_targets$canonical_target "
|
|
1972
|
+
[ -z "$canonical_targets" ] && canonical_targets="$canonical_target" || canonical_targets="$canonical_targets,$canonical_target"
|
|
1973
|
+
done
|
|
1974
|
+
SELECTED_TARGETS="$canonical_targets"
|
|
1975
|
+
|
|
1983
1976
|
debug "Targets: $SELECTED_TARGETS"
|
|
1984
1977
|
|
|
1985
1978
|
# Read user tier for platform gating
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ornexus/neocortex",
|
|
3
|
-
"version": "4.60.
|
|
4
|
-
"description": "Neocortex v4.60.
|
|
3
|
+
"version": "4.60.46",
|
|
4
|
+
"description": "Neocortex v4.60.46 - Orquestrador de Desenvolvimento de Epics & Stories para Claude Code",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
7
7
|
"claude-code",
|
|
@@ -276,6 +276,14 @@ export type StateSnapshotScopeKind = 'full' | 'projected';
|
|
|
276
276
|
export type StateSnapshotCommandPolicy = 'full' | 'story-targeted' | 'epic-targeted' | 'yoloop-targeted' | 'epic-summary' | 'continuity-scoped' | 'adaptive-targeted' | (string & {});
|
|
277
277
|
export type StateSnapshotProjectionMode = 'full-compatible' | 'summary-only' | 'targeted-story' | 'targeted-epic' | 'structural-required' | (string & {});
|
|
278
278
|
export type StateSnapshotProjectionReason = 'full-state' | 'targeted-invocation' | 'summary-only' | 'epic-summary' | 'body-size' | 'context-cost' | 'unknown' | (string & {});
|
|
279
|
+
export interface TargetEpicCoverageV1 {
|
|
280
|
+
readonly schemaVersion: 'TargetEpicCoverage/1.0';
|
|
281
|
+
readonly targetEpicId: string;
|
|
282
|
+
readonly declaredStoryIds: readonly string[];
|
|
283
|
+
readonly includedStoryIds: readonly string[];
|
|
284
|
+
readonly membershipSha256: string;
|
|
285
|
+
readonly publicSafe: true;
|
|
286
|
+
}
|
|
279
287
|
interface StateSnapshotScopeBase {
|
|
280
288
|
readonly kind: StateSnapshotScopeKind;
|
|
281
289
|
readonly commandId?: string | null;
|
|
@@ -284,6 +292,7 @@ interface StateSnapshotScopeBase {
|
|
|
284
292
|
readonly trigger?: string;
|
|
285
293
|
readonly targetEpicId?: string | null;
|
|
286
294
|
readonly targetStoryId?: string | null;
|
|
295
|
+
readonly targetEpicCoverage?: TargetEpicCoverageV1;
|
|
287
296
|
readonly includedStoryCount: number;
|
|
288
297
|
readonly includedEpicCount?: number;
|
|
289
298
|
readonly omittedStoryCount: number;
|