@ornexus/neocortex 3.9.16 → 3.9.21
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/install.ps1 +1 -1
- package/install.sh +79 -2
- package/package.json +2 -2
- package/packages/client/dist/commands/invoke.d.ts.map +1 -1
- package/packages/client/dist/commands/invoke.js +45 -3
- package/packages/client/dist/commands/invoke.js.map +1 -1
- package/packages/client/dist/index.d.ts +1 -0
- package/packages/client/dist/index.d.ts.map +1 -1
- package/packages/client/dist/index.js +2 -0
- package/packages/client/dist/index.js.map +1 -1
- package/packages/client/dist/tier/index.d.ts +6 -0
- package/packages/client/dist/tier/index.d.ts.map +1 -0
- package/packages/client/dist/tier/index.js +6 -0
- package/packages/client/dist/tier/index.js.map +1 -0
- package/packages/client/dist/tier/tier-aware-client.d.ts +92 -0
- package/packages/client/dist/tier/tier-aware-client.d.ts.map +1 -0
- package/packages/client/dist/tier/tier-aware-client.js +244 -0
- package/packages/client/dist/tier/tier-aware-client.js.map +1 -0
- package/targets-stubs/antigravity/gemini.md +1 -1
- package/targets-stubs/antigravity/skill/SKILL.md +1 -1
- 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/cursor/agent.md +2 -2
- package/targets-stubs/gemini-cli/agent.md +2 -2
- package/targets-stubs/vscode/agent.md +2 -2
package/install.ps1
CHANGED
package/install.sh
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# Development Orchestrator
|
|
5
5
|
|
|
6
6
|
# Versao do instalador
|
|
7
|
-
VERSION="3.9.
|
|
7
|
+
VERSION="3.9.21"
|
|
8
8
|
|
|
9
9
|
# Flags
|
|
10
10
|
MIGRATION_DETECTED=false
|
|
@@ -711,6 +711,7 @@ install_agent() {
|
|
|
711
711
|
|
|
712
712
|
# Dynamic description: patch tier from existing config (if activated)
|
|
713
713
|
patch_description_tier "$DEST_DIR/neocortex.md"
|
|
714
|
+
patch_description_tier "$DEST_DIR/neocortex.agent.yaml"
|
|
714
715
|
|
|
715
716
|
# Cleanup: remover workflow.md de instalacoes anteriores (v3.8 -> v3.9)
|
|
716
717
|
if [ -f "$DEST_DIR/workflow.md" ]; then
|
|
@@ -1187,6 +1188,7 @@ create_project_dirs() {
|
|
|
1187
1188
|
|
|
1188
1189
|
# Dynamic description: patch tier
|
|
1189
1190
|
patch_description_tier "$project_dir/.claude/agents/neocortex/neocortex.md"
|
|
1191
|
+
patch_description_tier "$project_dir/.claude/agents/neocortex/neocortex.agent.yaml"
|
|
1190
1192
|
|
|
1191
1193
|
# Thin-client: cleanup legacy IP from previous installs
|
|
1192
1194
|
auto_cleanup_legacy_project "$project_dir"
|
|
@@ -1271,6 +1273,49 @@ show_migration_info() {
|
|
|
1271
1273
|
fi
|
|
1272
1274
|
}
|
|
1273
1275
|
|
|
1276
|
+
# =============================================================================
|
|
1277
|
+
# TIER-BASED PLATFORM GATING (Story 57.4)
|
|
1278
|
+
# =============================================================================
|
|
1279
|
+
|
|
1280
|
+
# Read tier from config.json (defaults to "free" if not found)
|
|
1281
|
+
get_tier_from_config() {
|
|
1282
|
+
local config_file="$HOME/.neocortex/config.json"
|
|
1283
|
+
if [ -f "$config_file" ]; then
|
|
1284
|
+
local tier
|
|
1285
|
+
tier=$(cat "$config_file" 2>/dev/null | grep -o '"tier"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"\([^"]*\)"$/\1/')
|
|
1286
|
+
[ -n "$tier" ] && echo "$tier" || echo "free"
|
|
1287
|
+
else
|
|
1288
|
+
echo "free"
|
|
1289
|
+
fi
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
# Check if a platform is allowed for the current tier
|
|
1293
|
+
# Returns 0 if allowed, 1 if blocked
|
|
1294
|
+
check_platform_tier() {
|
|
1295
|
+
local platform=$1
|
|
1296
|
+
local tier=$2
|
|
1297
|
+
case "$platform" in
|
|
1298
|
+
claude-code) return 0 ;; # Always allowed
|
|
1299
|
+
cursor|gemini-cli|codex)
|
|
1300
|
+
if [ "$tier" = "free" ]; then
|
|
1301
|
+
warn "$platform requer plano Pro. Plataforma disponivel: Claude Code."
|
|
1302
|
+
info "Upgrade: ${CYAN}https://neocortex.dev/pricing${NC}"
|
|
1303
|
+
return 1
|
|
1304
|
+
fi
|
|
1305
|
+
return 0
|
|
1306
|
+
;;
|
|
1307
|
+
vscode|antigravity)
|
|
1308
|
+
if [ "$tier" != "enterprise" ]; then
|
|
1309
|
+
warn "$platform requer plano Enterprise."
|
|
1310
|
+
info "Upgrade: ${CYAN}https://neocortex.dev/pricing${NC}"
|
|
1311
|
+
return 1
|
|
1312
|
+
fi
|
|
1313
|
+
return 0
|
|
1314
|
+
;;
|
|
1315
|
+
esac
|
|
1316
|
+
return 0 # Unknown platforms pass through
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1274
1319
|
# =============================================================================
|
|
1275
1320
|
# MAIN
|
|
1276
1321
|
# =============================================================================
|
|
@@ -1289,8 +1334,14 @@ main() {
|
|
|
1289
1334
|
|
|
1290
1335
|
debug "Targets: $SELECTED_TARGETS"
|
|
1291
1336
|
|
|
1292
|
-
#
|
|
1337
|
+
# Read user tier for platform gating
|
|
1338
|
+
local user_tier
|
|
1339
|
+
user_tier=$(get_tier_from_config)
|
|
1340
|
+
debug "User tier: $user_tier"
|
|
1341
|
+
|
|
1342
|
+
# Validate targets (name check + tier check)
|
|
1293
1343
|
local invalid_targets=""
|
|
1344
|
+
local blocked_targets=""
|
|
1294
1345
|
for target in $(echo "$SELECTED_TARGETS" | tr ',' ' '); do
|
|
1295
1346
|
echo "$VALID_TARGETS" | grep -wq "$target" || invalid_targets="$invalid_targets $target"
|
|
1296
1347
|
done
|
|
@@ -1301,6 +1352,32 @@ main() {
|
|
|
1301
1352
|
exit 1
|
|
1302
1353
|
fi
|
|
1303
1354
|
|
|
1355
|
+
# Filter out tier-blocked platforms
|
|
1356
|
+
local allowed_targets=""
|
|
1357
|
+
for target in $(echo "$SELECTED_TARGETS" | tr ',' ' '); do
|
|
1358
|
+
if check_platform_tier "$target" "$user_tier"; then
|
|
1359
|
+
if [ -z "$allowed_targets" ]; then
|
|
1360
|
+
allowed_targets="$target"
|
|
1361
|
+
else
|
|
1362
|
+
allowed_targets="$allowed_targets,$target"
|
|
1363
|
+
fi
|
|
1364
|
+
else
|
|
1365
|
+
blocked_targets="$blocked_targets $target"
|
|
1366
|
+
fi
|
|
1367
|
+
done
|
|
1368
|
+
|
|
1369
|
+
if [ -n "$blocked_targets" ]; then
|
|
1370
|
+
info "Plataforma(s) bloqueada(s) por tier:$blocked_targets"
|
|
1371
|
+
fi
|
|
1372
|
+
|
|
1373
|
+
# Use only allowed targets
|
|
1374
|
+
if [ -n "$allowed_targets" ]; then
|
|
1375
|
+
SELECTED_TARGETS="$allowed_targets"
|
|
1376
|
+
else
|
|
1377
|
+
SELECTED_TARGETS="claude-code"
|
|
1378
|
+
info "Usando plataforma padrao: claude-code"
|
|
1379
|
+
fi
|
|
1380
|
+
|
|
1304
1381
|
# Count targets for step total
|
|
1305
1382
|
local target_count=$(echo "$SELECTED_TARGETS" | tr ',' ' ' | wc -w | tr -d ' ')
|
|
1306
1383
|
if echo "$SELECTED_TARGETS" | grep -q "claude-code"; then
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ornexus/neocortex",
|
|
3
|
-
"version": "3.9.
|
|
4
|
-
"description": "Neocortex v3.9.
|
|
3
|
+
"version": "3.9.21",
|
|
4
|
+
"description": "Neocortex v3.9.21 - Orquestrador de Desenvolvimento de Epics & Stories para Claude Code",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
7
7
|
"claude-code",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAkCH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD;AAuBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAiFvE;AA0KD;;;;;;;;;GASG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAuG1E;AAgBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDtE"}
|
|
@@ -25,6 +25,7 @@ import { homedir } from 'node:os';
|
|
|
25
25
|
import { LicenseClient } from '../license/license-client.js';
|
|
26
26
|
import { EncryptedCache } from '../cache/encrypted-cache.js';
|
|
27
27
|
import { NoOpCache } from '../types/index.js';
|
|
28
|
+
import { TierAwareClient } from '../tier/tier-aware-client.js';
|
|
28
29
|
// ── Constants ─────────────────────────────────────────────────────────────
|
|
29
30
|
const DEFAULT_SERVER_URL = 'https://api.neocortex.ornexus.com';
|
|
30
31
|
const CONFIG_DIR = join(homedir(), '.neocortex');
|
|
@@ -33,6 +34,7 @@ const CACHE_DIR = join(CONFIG_DIR, 'cache');
|
|
|
33
34
|
const MENU_CACHE_FILE = join(CACHE_DIR, 'menu-cache.json');
|
|
34
35
|
const MENU_CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
35
36
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
37
|
+
const CLIENT_VERSION = '0.1.0';
|
|
36
38
|
// ── State Snapshot Collection ──────────────────────────────────────────────
|
|
37
39
|
/**
|
|
38
40
|
* Read state.json and construct a sanitized snapshot for the server.
|
|
@@ -120,6 +122,10 @@ function getMenuCache() {
|
|
|
120
122
|
return null;
|
|
121
123
|
const raw = readFileSync(MENU_CACHE_FILE, 'utf-8');
|
|
122
124
|
const cache = JSON.parse(raw);
|
|
125
|
+
// Invalidate on version mismatch (stale cache from previous install)
|
|
126
|
+
if (cache.version !== CLIENT_VERSION) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
123
129
|
// Check TTL
|
|
124
130
|
if (Date.now() - cache.cachedAt > MENU_CACHE_TTL_MS) {
|
|
125
131
|
return null; // Expired
|
|
@@ -137,6 +143,7 @@ function setMenuCache(instructions, metadata) {
|
|
|
137
143
|
instructions,
|
|
138
144
|
metadata,
|
|
139
145
|
cachedAt: Date.now(),
|
|
146
|
+
version: CLIENT_VERSION,
|
|
140
147
|
};
|
|
141
148
|
writeFileSync(MENU_CACHE_FILE, JSON.stringify(cache), 'utf-8');
|
|
142
149
|
}
|
|
@@ -177,7 +184,11 @@ async function getAuthTokenAndClient(serverUrl, licenseKey) {
|
|
|
177
184
|
const token = await client.getToken();
|
|
178
185
|
if (!token)
|
|
179
186
|
return null;
|
|
180
|
-
|
|
187
|
+
const tierClient = new TierAwareClient({
|
|
188
|
+
cacheProvider,
|
|
189
|
+
licenseClient: client,
|
|
190
|
+
});
|
|
191
|
+
return { token, client, tierClient };
|
|
181
192
|
}
|
|
182
193
|
catch {
|
|
183
194
|
return null;
|
|
@@ -193,7 +204,7 @@ async function sendInvokeRequest(serverUrl, body, authToken) {
|
|
|
193
204
|
headers: {
|
|
194
205
|
'Content-Type': 'application/json',
|
|
195
206
|
'Authorization': `Bearer ${authToken}`,
|
|
196
|
-
'X-Client-Version':
|
|
207
|
+
'X-Client-Version': CLIENT_VERSION,
|
|
197
208
|
},
|
|
198
209
|
body: JSON.stringify(body),
|
|
199
210
|
signal: controller.signal,
|
|
@@ -245,7 +256,6 @@ async function sendInvokeRequest(serverUrl, body, authToken) {
|
|
|
245
256
|
*/
|
|
246
257
|
export async function invoke(options) {
|
|
247
258
|
const projectRoot = options.projectRoot ?? process.cwd();
|
|
248
|
-
const format = options.format ?? 'plain';
|
|
249
259
|
const platformTarget = options.platformTarget ?? 'claude-code';
|
|
250
260
|
// 1. Determine server URL
|
|
251
261
|
const config = loadConfig();
|
|
@@ -274,6 +284,24 @@ export async function invoke(options) {
|
|
|
274
284
|
exitCode: 2, // Not configured
|
|
275
285
|
};
|
|
276
286
|
}
|
|
287
|
+
// 4a. Pre-flight tier check (optimistic -- if it fails, still proceed)
|
|
288
|
+
const trigger = extractTrigger(trimmedArgs);
|
|
289
|
+
if (trigger) {
|
|
290
|
+
try {
|
|
291
|
+
const preFlightResult = await auth.tierClient.preFlightCheck(trigger);
|
|
292
|
+
if (!preFlightResult.allowed) {
|
|
293
|
+
process.stderr.write(`[neocortex] ${preFlightResult.message}\n`);
|
|
294
|
+
return {
|
|
295
|
+
success: false,
|
|
296
|
+
error: preFlightResult.message ?? 'Trigger not available on your plan',
|
|
297
|
+
exitCode: 1,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch {
|
|
302
|
+
// Fail-open: pre-flight errors should not block invocation
|
|
303
|
+
}
|
|
304
|
+
}
|
|
277
305
|
const requestBody = {
|
|
278
306
|
args: trimmedArgs,
|
|
279
307
|
projectRoot: projectRoot.replace(homedir(), '~'), // Sanitize absolute path
|
|
@@ -307,6 +335,10 @@ export async function invoke(options) {
|
|
|
307
335
|
if (!trimmedArgs && result.data.metadata?.mode === 'menu') {
|
|
308
336
|
setMenuCache(result.data.instructions, result.data.metadata);
|
|
309
337
|
}
|
|
338
|
+
// 6a. Update cached quota from server response metadata (Epic 60)
|
|
339
|
+
if (result.data.metadata) {
|
|
340
|
+
auth.tierClient.updateQuotaFromResponse(result.data.metadata).catch(() => { });
|
|
341
|
+
}
|
|
310
342
|
return {
|
|
311
343
|
success: true,
|
|
312
344
|
instructions: result.data.instructions,
|
|
@@ -314,6 +346,16 @@ export async function invoke(options) {
|
|
|
314
346
|
exitCode: 0,
|
|
315
347
|
};
|
|
316
348
|
}
|
|
349
|
+
// ── Trigger Extraction ──────────────────────────────────────────────────
|
|
350
|
+
/**
|
|
351
|
+
* Extract trigger name from args string.
|
|
352
|
+
* Triggers start with '*' (e.g., "*yolo", "*implement", "*status").
|
|
353
|
+
* Returns the trigger name without the '*' prefix, or null if no trigger.
|
|
354
|
+
*/
|
|
355
|
+
function extractTrigger(args) {
|
|
356
|
+
const match = args.match(/^\*([a-zA-Z][\w-]*)/);
|
|
357
|
+
return match ? match[1] : null;
|
|
358
|
+
}
|
|
317
359
|
// ── CLI Entry Point ───────────────────────────────────────────────────────
|
|
318
360
|
/**
|
|
319
361
|
* CLI handler for the invoke command.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,4 +52,5 @@ export { ClientCircuitBreaker, type CircuitState, type CircuitBreakerConfig, typ
|
|
|
52
52
|
export { OfflineTelemetryQueue, type TelemetryEvent, type QueueConfig, type QueueStats, type FlushResult, } from './telemetry/index.js';
|
|
53
53
|
export { getCacheStatus, formatCacheStatus, type CacheStatusInfo, type CacheStatusOptions, } from './commands/cache-status.js';
|
|
54
54
|
export { invoke, invokeCliHandler, collectStateSnapshot, type InvokeOptions, type InvokeResult, } from './commands/invoke.js';
|
|
55
|
+
export { TierAwareClient, type TierAwareClientOptions, type PreFlightResult, type QuotaSnapshot, } from './tier/index.js';
|
|
55
56
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,YAAY,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI3D,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,EACL,cAAc,EACd,cAAc,EACd,KAAK,uBAAuB,GAC7B,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI9E,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,YAAY,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI3D,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,EACL,cAAc,EACd,cAAc,EACd,KAAK,uBAAuB,GAC7B,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI9E,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -34,4 +34,6 @@ export { OfflineTelemetryQueue, } from './telemetry/index.js';
|
|
|
34
34
|
export { getCacheStatus, formatCacheStatus, } from './commands/cache-status.js';
|
|
35
35
|
// ── Invoke Command (Story 45.2) ────────────────────────────────────────
|
|
36
36
|
export { invoke, invokeCliHandler, collectStateSnapshot, } from './commands/invoke.js';
|
|
37
|
+
// ── Tier Awareness (Epic 60) ─────────────────────────────────────────
|
|
38
|
+
export { TierAwareClient, } from './tier/index.js';
|
|
37
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8CH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM3D,2EAA2E;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErF,0EAA0E;AAE1E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAE9E,2EAA2E;AAE3E,OAAO,EACL,cAAc,EACd,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAExC,2EAA2E;AAE3E,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,gCAAgC,CAAC;AAExC,4EAA4E;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,4EAA4E;AAE5E,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAgB9E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAE5E,OAAO,EACL,oBAAoB,EAIpB,kBAAkB,EAClB,gBAAgB,EAGhB,kBAAkB,EAElB,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAE3E,OAAO,EACL,qBAAqB,GAKtB,MAAM,sBAAsB,CAAC;AAE9B,2EAA2E;AAE3E,OAAO,EACL,cAAc,EACd,iBAAiB,GAGlB,MAAM,4BAA4B,CAAC;AAEpC,0EAA0E;AAE1E,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA8CH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM3D,2EAA2E;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErF,0EAA0E;AAE1E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAE9E,2EAA2E;AAE3E,OAAO,EACL,cAAc,EACd,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAExC,2EAA2E;AAE3E,OAAO,EACL,cAAc,GAEf,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,gCAAgC,CAAC;AAExC,4EAA4E;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,4EAA4E;AAE5E,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAgB9E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAE5E,OAAO,EACL,oBAAoB,EAIpB,kBAAkB,EAClB,gBAAgB,EAGhB,kBAAkB,EAElB,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAE/B,2EAA2E;AAE3E,OAAO,EACL,qBAAqB,GAKtB,MAAM,sBAAsB,CAAC;AAE9B,2EAA2E;AAE3E,OAAO,EACL,cAAc,EACd,iBAAiB,GAGlB,MAAM,4BAA4B,CAAC;AAEpC,0EAA0E;AAE1E,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC;AAE9B,wEAAwE;AAExE,OAAO,EACL,eAAe,GAIhB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tier/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tier/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,GAKhB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license FSL-1.1
|
|
3
|
+
* Copyright (c) 2026 OrNexus AI
|
|
4
|
+
*
|
|
5
|
+
* This file is part of Neocortex CLI, licensed under the
|
|
6
|
+
* Functional Source License, Version 1.1 (FSL-1.1).
|
|
7
|
+
*
|
|
8
|
+
* Change Date: February 20, 2029
|
|
9
|
+
* Change License: MIT
|
|
10
|
+
*
|
|
11
|
+
* See the LICENSE file in the project root for full license text.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @neocortex/client - TierAwareClient
|
|
15
|
+
*
|
|
16
|
+
* Client-side tier awareness: JWT tier extraction, cached tier,
|
|
17
|
+
* pre-flight trigger checks, quota caching from response metadata,
|
|
18
|
+
* and offline enforcement via cached quota data.
|
|
19
|
+
*
|
|
20
|
+
* Follows the same "NEVER throws" pattern as LicenseClient.
|
|
21
|
+
* Fail-open: if anything fails, default to 'free' tier / allow operation.
|
|
22
|
+
* No stdout output (preserve pipe compatibility) -- stderr only.
|
|
23
|
+
*
|
|
24
|
+
* Epic 60
|
|
25
|
+
*/
|
|
26
|
+
import type { CacheProvider } from '../types/index.js';
|
|
27
|
+
import type { LicenseClient } from '../license/license-client.js';
|
|
28
|
+
/** Subscription tier (inlined to avoid import path issues) */
|
|
29
|
+
export type SubscriptionTier = 'free' | 'pro' | 'enterprise';
|
|
30
|
+
/** Result of a pre-flight trigger check */
|
|
31
|
+
export interface PreFlightResult {
|
|
32
|
+
readonly allowed: boolean;
|
|
33
|
+
readonly message?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Cached quota data from server response metadata */
|
|
36
|
+
export interface QuotaSnapshot {
|
|
37
|
+
readonly stepsRemaining: number;
|
|
38
|
+
readonly invocationsRemaining: number;
|
|
39
|
+
readonly stepsLimit: number;
|
|
40
|
+
readonly invocationsLimit: number;
|
|
41
|
+
readonly cachedAt: number;
|
|
42
|
+
}
|
|
43
|
+
export interface TierAwareClientOptions {
|
|
44
|
+
readonly cacheProvider: CacheProvider;
|
|
45
|
+
readonly licenseClient: LicenseClient;
|
|
46
|
+
}
|
|
47
|
+
export declare class TierAwareClient {
|
|
48
|
+
private readonly cache;
|
|
49
|
+
private readonly licenseClient;
|
|
50
|
+
private cachedTier;
|
|
51
|
+
constructor(options: TierAwareClientOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Get the current tier. Checks in-memory, then cache, then JWT token.
|
|
54
|
+
* NEVER throws - returns 'free' on failure (fail-open).
|
|
55
|
+
*/
|
|
56
|
+
getCachedTier(): Promise<SubscriptionTier>;
|
|
57
|
+
/**
|
|
58
|
+
* Update cached tier (called when server returns tier info).
|
|
59
|
+
*/
|
|
60
|
+
updateTier(tier: SubscriptionTier): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Check if a trigger is allowed for the current tier WITHOUT calling the server.
|
|
63
|
+
* Returns immediately (in-memory lookup).
|
|
64
|
+
* NEVER throws - returns { allowed: true } on failure (fail-open).
|
|
65
|
+
*/
|
|
66
|
+
preFlightCheck(trigger: string, tier?: SubscriptionTier): Promise<PreFlightResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Update cached quota from server response metadata.
|
|
69
|
+
* Called after each successful invoke.
|
|
70
|
+
*/
|
|
71
|
+
updateQuotaFromResponse(metadata: Record<string, unknown>): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Get cached quota for today.
|
|
74
|
+
* NEVER throws - returns null if cache empty or expired.
|
|
75
|
+
*/
|
|
76
|
+
getCachedQuota(): Promise<QuotaSnapshot | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Check quota in offline mode using cached data.
|
|
79
|
+
* NEVER throws - returns { allowed: true } on failure (fail-open).
|
|
80
|
+
*
|
|
81
|
+
* @param isOffline - Whether the circuit breaker is in L2+ degradation
|
|
82
|
+
*/
|
|
83
|
+
offlineQuotaCheck(isOffline?: boolean): Promise<PreFlightResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Extract tier from JWT payload via base64url decode.
|
|
86
|
+
* No cryptographic verification - client-side is UX only.
|
|
87
|
+
*/
|
|
88
|
+
private extractTierFromJwt;
|
|
89
|
+
private buildUpgradeMessage;
|
|
90
|
+
private getQuotaCacheKey;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=tier-aware-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tier-aware-client.d.ts","sourceRoot":"","sources":["../../src/tier/tier-aware-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAIlE,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;AAE7D,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAoDD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAID,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,UAAU,CAAiC;gBAEvC,OAAO,EAAE,sBAAsB;IAO3C;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA4BhD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBxF;;;OAGG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/E;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAmBrD;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAkC7E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;CAKzB"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license FSL-1.1
|
|
3
|
+
* Copyright (c) 2026 OrNexus AI
|
|
4
|
+
*
|
|
5
|
+
* This file is part of Neocortex CLI, licensed under the
|
|
6
|
+
* Functional Source License, Version 1.1 (FSL-1.1).
|
|
7
|
+
*
|
|
8
|
+
* Change Date: February 20, 2029
|
|
9
|
+
* Change License: MIT
|
|
10
|
+
*
|
|
11
|
+
* See the LICENSE file in the project root for full license text.
|
|
12
|
+
*/
|
|
13
|
+
// ── Constants ────────────────────────────────────────────────────────────
|
|
14
|
+
const TIER_CACHE_KEY = 'neocortex:tier';
|
|
15
|
+
const QUOTA_CACHE_KEY_PREFIX = 'neocortex:quota:';
|
|
16
|
+
const QUOTA_TTL_MS = 5 * 60 * 1000; // 5 minutes
|
|
17
|
+
const TIER_CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
18
|
+
const VALID_TIERS = new Set(['free', 'pro', 'enterprise']);
|
|
19
|
+
const DEFAULT_TIER = 'free';
|
|
20
|
+
// ── Trigger Gates (inlined from shared tier-config to avoid import issues) ─
|
|
21
|
+
const TRIGGER_GATES = {
|
|
22
|
+
'status': 'free',
|
|
23
|
+
'init': 'free',
|
|
24
|
+
'create-epic': 'free',
|
|
25
|
+
'idea-diagnose': 'free',
|
|
26
|
+
'idea-research': 'free',
|
|
27
|
+
'generate-epic': 'free',
|
|
28
|
+
'exec': 'pro',
|
|
29
|
+
'yolo': 'pro',
|
|
30
|
+
'epic': 'pro',
|
|
31
|
+
'setup-branch': 'free',
|
|
32
|
+
'diagnose': 'free',
|
|
33
|
+
'research': 'free',
|
|
34
|
+
'write-spec': 'free',
|
|
35
|
+
'create-tasks': 'free',
|
|
36
|
+
'implement': 'free',
|
|
37
|
+
'update-memory': 'free',
|
|
38
|
+
'commit': 'free',
|
|
39
|
+
'sync': 'free',
|
|
40
|
+
'create-pr': 'free',
|
|
41
|
+
'review': 'pro',
|
|
42
|
+
'merge': 'free',
|
|
43
|
+
'fix-blocked': 'free',
|
|
44
|
+
'finalize-epic': 'free',
|
|
45
|
+
'cleanup': 'free',
|
|
46
|
+
'resolve-conflicts': 'free',
|
|
47
|
+
'audit': 'free',
|
|
48
|
+
'menu': 'free',
|
|
49
|
+
'plans': 'free',
|
|
50
|
+
};
|
|
51
|
+
const TIER_HIERARCHY = {
|
|
52
|
+
free: 0,
|
|
53
|
+
pro: 1,
|
|
54
|
+
enterprise: 2,
|
|
55
|
+
};
|
|
56
|
+
// ── TierAwareClient ──────────────────────────────────────────────────────
|
|
57
|
+
export class TierAwareClient {
|
|
58
|
+
cache;
|
|
59
|
+
licenseClient;
|
|
60
|
+
cachedTier = null;
|
|
61
|
+
constructor(options) {
|
|
62
|
+
this.cache = options.cacheProvider;
|
|
63
|
+
this.licenseClient = options.licenseClient;
|
|
64
|
+
}
|
|
65
|
+
// ── Story 60.1: Tier Extraction from JWT + Cache ────────────────────
|
|
66
|
+
/**
|
|
67
|
+
* Get the current tier. Checks in-memory, then cache, then JWT token.
|
|
68
|
+
* NEVER throws - returns 'free' on failure (fail-open).
|
|
69
|
+
*/
|
|
70
|
+
async getCachedTier() {
|
|
71
|
+
try {
|
|
72
|
+
// 1. In-memory
|
|
73
|
+
if (this.cachedTier)
|
|
74
|
+
return this.cachedTier;
|
|
75
|
+
// 2. EncryptedCache
|
|
76
|
+
const cached = await this.cache.get(TIER_CACHE_KEY);
|
|
77
|
+
if (cached && VALID_TIERS.has(cached)) {
|
|
78
|
+
this.cachedTier = cached;
|
|
79
|
+
return this.cachedTier;
|
|
80
|
+
}
|
|
81
|
+
// 3. Extract from JWT
|
|
82
|
+
const token = await this.licenseClient.getToken();
|
|
83
|
+
if (token) {
|
|
84
|
+
const tier = this.extractTierFromJwt(token);
|
|
85
|
+
this.cachedTier = tier;
|
|
86
|
+
// Persist to cache (fire-and-forget)
|
|
87
|
+
this.cache.set(TIER_CACHE_KEY, tier, TIER_CACHE_TTL_MS).catch(() => { });
|
|
88
|
+
return tier;
|
|
89
|
+
}
|
|
90
|
+
return DEFAULT_TIER;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return DEFAULT_TIER;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Update cached tier (called when server returns tier info).
|
|
98
|
+
*/
|
|
99
|
+
async updateTier(tier) {
|
|
100
|
+
try {
|
|
101
|
+
if (!VALID_TIERS.has(tier))
|
|
102
|
+
return;
|
|
103
|
+
this.cachedTier = tier;
|
|
104
|
+
await this.cache.set(TIER_CACHE_KEY, tier, TIER_CACHE_TTL_MS).catch(() => { });
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Non-critical
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// ── Story 60.2: Pre-flight Trigger Check ────────────────────────────
|
|
111
|
+
/**
|
|
112
|
+
* Check if a trigger is allowed for the current tier WITHOUT calling the server.
|
|
113
|
+
* Returns immediately (in-memory lookup).
|
|
114
|
+
* NEVER throws - returns { allowed: true } on failure (fail-open).
|
|
115
|
+
*/
|
|
116
|
+
async preFlightCheck(trigger, tier) {
|
|
117
|
+
try {
|
|
118
|
+
const userTier = tier ?? await this.getCachedTier();
|
|
119
|
+
const requiredTier = TRIGGER_GATES[trigger] ?? 'free';
|
|
120
|
+
if (TIER_HIERARCHY[userTier] >= TIER_HIERARCHY[requiredTier]) {
|
|
121
|
+
return { allowed: true };
|
|
122
|
+
}
|
|
123
|
+
const message = this.buildUpgradeMessage(trigger, userTier, requiredTier);
|
|
124
|
+
return { allowed: false, message };
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// Fail-open: allow on error
|
|
128
|
+
return { allowed: true };
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// ── Story 60.3: Quota Cache from Response ───────────────────────────
|
|
132
|
+
/**
|
|
133
|
+
* Update cached quota from server response metadata.
|
|
134
|
+
* Called after each successful invoke.
|
|
135
|
+
*/
|
|
136
|
+
async updateQuotaFromResponse(metadata) {
|
|
137
|
+
try {
|
|
138
|
+
const quotaRemaining = metadata.quotaRemaining;
|
|
139
|
+
if (!quotaRemaining)
|
|
140
|
+
return;
|
|
141
|
+
const snapshot = {
|
|
142
|
+
stepsRemaining: quotaRemaining.stepsRemaining ?? 0,
|
|
143
|
+
invocationsRemaining: quotaRemaining.invocationsRemaining ?? 0,
|
|
144
|
+
stepsLimit: quotaRemaining.stepsLimit ?? 0,
|
|
145
|
+
invocationsLimit: quotaRemaining.invocationsLimit ?? 0,
|
|
146
|
+
cachedAt: Date.now(),
|
|
147
|
+
};
|
|
148
|
+
const dateKey = this.getQuotaCacheKey();
|
|
149
|
+
await this.cache.set(dateKey, JSON.stringify(snapshot), QUOTA_TTL_MS).catch(() => { });
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// Non-critical
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get cached quota for today.
|
|
157
|
+
* NEVER throws - returns null if cache empty or expired.
|
|
158
|
+
*/
|
|
159
|
+
async getCachedQuota() {
|
|
160
|
+
try {
|
|
161
|
+
const dateKey = this.getQuotaCacheKey();
|
|
162
|
+
const raw = await this.cache.get(dateKey);
|
|
163
|
+
if (!raw)
|
|
164
|
+
return null;
|
|
165
|
+
const snapshot = JSON.parse(raw);
|
|
166
|
+
// Validate TTL (EncryptedCache already handles this, but double-check)
|
|
167
|
+
if (Date.now() - snapshot.cachedAt > QUOTA_TTL_MS)
|
|
168
|
+
return null;
|
|
169
|
+
return snapshot;
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// ── Story 60.4: Offline Enforcement ─────────────────────────────────
|
|
176
|
+
/**
|
|
177
|
+
* Check quota in offline mode using cached data.
|
|
178
|
+
* NEVER throws - returns { allowed: true } on failure (fail-open).
|
|
179
|
+
*
|
|
180
|
+
* @param isOffline - Whether the circuit breaker is in L2+ degradation
|
|
181
|
+
*/
|
|
182
|
+
async offlineQuotaCheck(isOffline = false) {
|
|
183
|
+
try {
|
|
184
|
+
if (!isOffline)
|
|
185
|
+
return { allowed: true };
|
|
186
|
+
const quota = await this.getCachedQuota();
|
|
187
|
+
// Fail-open: if no cached quota, allow
|
|
188
|
+
if (!quota)
|
|
189
|
+
return { allowed: true };
|
|
190
|
+
// Check steps
|
|
191
|
+
if (quota.stepsRemaining <= 0 && quota.stepsLimit > 0) {
|
|
192
|
+
return {
|
|
193
|
+
allowed: false,
|
|
194
|
+
message: `Daily step limit reached (${quota.stepsLimit}/${quota.stepsLimit}). Resets at 00:00 UTC.`,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
// Check invocations
|
|
198
|
+
if (quota.invocationsRemaining <= 0 && quota.invocationsLimit > 0) {
|
|
199
|
+
return {
|
|
200
|
+
allowed: false,
|
|
201
|
+
message: `Daily invocation limit reached (${quota.invocationsLimit}/${quota.invocationsLimit}). Resets at 00:00 UTC.`,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
return { allowed: true };
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
// Fail-open
|
|
208
|
+
return { allowed: true };
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// ── Private Helpers ─────────────────────────────────────────────────
|
|
212
|
+
/**
|
|
213
|
+
* Extract tier from JWT payload via base64url decode.
|
|
214
|
+
* No cryptographic verification - client-side is UX only.
|
|
215
|
+
*/
|
|
216
|
+
extractTierFromJwt(token) {
|
|
217
|
+
try {
|
|
218
|
+
const parts = token.split('.');
|
|
219
|
+
if (parts.length !== 3)
|
|
220
|
+
return DEFAULT_TIER;
|
|
221
|
+
// Decode base64url payload
|
|
222
|
+
const payload = parts[1];
|
|
223
|
+
const decoded = Buffer.from(payload, 'base64url').toString('utf8');
|
|
224
|
+
const claims = JSON.parse(decoded);
|
|
225
|
+
const tier = claims.tier;
|
|
226
|
+
if (tier && VALID_TIERS.has(tier)) {
|
|
227
|
+
return tier;
|
|
228
|
+
}
|
|
229
|
+
return DEFAULT_TIER;
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
return DEFAULT_TIER;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
buildUpgradeMessage(trigger, currentTier, requiredTier) {
|
|
236
|
+
return `The *${trigger} command requires ${requiredTier.toUpperCase()} plan. Your current plan: ${currentTier.toUpperCase()}. Upgrade: neocortex.dev/pricing`;
|
|
237
|
+
}
|
|
238
|
+
getQuotaCacheKey() {
|
|
239
|
+
const now = new Date();
|
|
240
|
+
const dateStr = now.toISOString().slice(0, 10); // YYYY-MM-DD UTC
|
|
241
|
+
return `${QUOTA_CACHE_KEY_PREFIX}${dateStr}`;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=tier-aware-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tier-aware-client.js","sourceRoot":"","sources":["../../src/tier/tier-aware-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: neocortex
|
|
3
|
-
description: "🧠 Neocortex v3.9.
|
|
3
|
+
description: "🧠 Neocortex v3.9.21 (Free) | OrNexus Team"
|
|
4
4
|
model: opus
|
|
5
5
|
color: blue
|
|
6
6
|
tools:
|
|
@@ -56,7 +56,7 @@ SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO outpu
|
|
|
56
56
|
┌────────────────────────────────────────────────────────────┐
|
|
57
57
|
│ │
|
|
58
58
|
│ ####### N E O C O R T E X │
|
|
59
|
-
│ ### ######## v3.9.
|
|
59
|
+
│ ### ######## v3.9.21 │
|
|
60
60
|
│ ######### ##### │
|
|
61
61
|
│ ## ############## Development Orchestrator │
|
|
62
62
|
│ ## ### ###### ## OrNexus Team (Free) │
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: neocortex
|
|
3
|
-
description: "🧠 Neocortex v3.9.
|
|
3
|
+
description: "🧠 Neocortex v3.9.21 (Free) | OrNexus Team"
|
|
4
4
|
model: fast
|
|
5
5
|
readonly: false
|
|
6
6
|
is_background: false
|
|
@@ -18,7 +18,7 @@ SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO outpu
|
|
|
18
18
|
┌────────────────────────────────────────────────────────────┐
|
|
19
19
|
│ │
|
|
20
20
|
│ ####### N E O C O R T E X │
|
|
21
|
-
│ ### ######## v3.9.
|
|
21
|
+
│ ### ######## v3.9.21 │
|
|
22
22
|
│ ######### ##### │
|
|
23
23
|
│ ## ############## Development Orchestrator │
|
|
24
24
|
│ ## ### ###### ## OrNexus Team (Free) │
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: neocortex
|
|
3
|
-
description: "🧠 Neocortex v3.9.
|
|
3
|
+
description: "🧠 Neocortex v3.9.21 (Free) | OrNexus Team"
|
|
4
4
|
kind: local
|
|
5
5
|
tools:
|
|
6
6
|
- read_file
|
|
@@ -25,7 +25,7 @@ SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO outpu
|
|
|
25
25
|
┌────────────────────────────────────────────────────────────┐
|
|
26
26
|
│ │
|
|
27
27
|
│ ####### N E O C O R T E X │
|
|
28
|
-
│ ### ######## v3.9.
|
|
28
|
+
│ ### ######## v3.9.21 │
|
|
29
29
|
│ ######### ##### │
|
|
30
30
|
│ ## ############## Development Orchestrator │
|
|
31
31
|
│ ## ### ###### ## OrNexus Team (Free) │
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "neocortex"
|
|
3
|
-
description: "🧠 Neocortex v3.9.
|
|
3
|
+
description: "🧠 Neocortex v3.9.21 (Free) | OrNexus Team"
|
|
4
4
|
tools:
|
|
5
5
|
- readFile
|
|
6
6
|
- editFiles
|
|
@@ -26,7 +26,7 @@ SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO outpu
|
|
|
26
26
|
┌────────────────────────────────────────────────────────────┐
|
|
27
27
|
│ │
|
|
28
28
|
│ ####### N E O C O R T E X │
|
|
29
|
-
│ ### ######## v3.9.
|
|
29
|
+
│ ### ######## v3.9.21 │
|
|
30
30
|
│ ######### ##### │
|
|
31
31
|
│ ## ############## Development Orchestrator │
|
|
32
32
|
│ ## ### ###### ## OrNexus Team (Free) │
|