@ornexus/neocortex 4.60.18 → 4.60.20
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 +6504 -6410
- package/docs/install/installer-diagnostics.md +52 -0
- package/install.ps1 +1 -1
- package/install.sh +1 -1
- package/package.json +27 -4
- package/packages/client/dist/agent/refresh-stubs.d.ts +7 -0
- package/packages/client/dist/agent/refresh-stubs.js +2 -2
- package/packages/client/dist/cache/encrypted-cache.d.ts +3 -0
- package/packages/client/dist/cache/encrypted-cache.js +1 -1
- package/packages/client/dist/checkpoint/checkpoint-client-reader.js +2 -2
- package/packages/client/dist/cli.js +3 -3
- package/packages/client/dist/commands/activate.js +7 -7
- package/packages/client/dist/commands/config.js +1 -1
- package/packages/client/dist/commands/invoke.d.ts +64 -0
- package/packages/client/dist/commands/invoke.js +54 -47
- package/packages/client/dist/config/secure-config.d.ts +9 -3
- package/packages/client/dist/config/secure-config.js +8 -8
- package/packages/client/dist/config.d.ts +1 -1
- package/packages/client/dist/config.js +1 -1
- package/packages/client/dist/continuity/continuity-client-state-store.d.ts +1 -0
- package/packages/client/dist/continuity/continuity-client-state-store.js +1 -1
- package/packages/client/dist/continuity/invoke-hooks.d.ts +2 -1
- package/packages/client/dist/continuity/invoke-hooks.js +1 -1
- package/packages/client/dist/continuity/sqlite-store.d.ts +21 -0
- package/packages/client/dist/continuity/sqlite-store.js +49 -49
- package/packages/client/dist/effects/invoke-effect-gateways.d.ts +22 -0
- package/packages/client/dist/effects/invoke-effect-gateways.js +1 -0
- package/packages/client/dist/errors/frontmatter-diagnostics.d.ts +20 -0
- package/packages/client/dist/errors/frontmatter-diagnostics.js +1 -0
- package/packages/client/dist/generated/command-registry.generated.d.ts +2836 -0
- package/packages/client/dist/generated/command-registry.generated.js +1 -0
- package/packages/client/dist/graph-retrieval/pre-command-hook.d.ts +2 -0
- package/packages/client/dist/graph-retrieval/pre-command-hook.js +1 -1
- package/packages/client/dist/index.d.ts +1 -0
- package/packages/client/dist/index.js +1 -1
- package/packages/client/dist/license/license-client.d.ts +3 -0
- package/packages/client/dist/license/license-client.js +1 -1
- package/packages/client/dist/machine/fingerprint.d.ts +3 -1
- package/packages/client/dist/machine/fingerprint.js +2 -2
- package/packages/client/dist/memory/project-memory-writer.js +19 -15
- package/packages/client/dist/{subagent-approval-policy.d.ts → policy/subagent-approval-policy.d.ts} +8 -3
- package/packages/client/dist/policy/subagent-approval-policy.js +1 -0
- package/packages/client/dist/resolvers/local-resolver.d.ts +3 -0
- package/packages/client/dist/resolvers/local-resolver.js +4 -4
- package/packages/client/dist/runner/cli.d.ts +1 -0
- package/packages/client/dist/runner/cli.js +1 -1
- package/packages/client/dist/runner/headless/prepared-story-bundle.d.ts +20 -0
- package/packages/client/dist/runner/headless/prepared-story-bundle.js +1 -0
- package/packages/client/dist/runner/headless/run-yoloop.d.ts +2 -0
- package/packages/client/dist/runner/headless/run-yoloop.js +1 -1
- package/packages/client/dist/runner/portal-sync-worker.js +1 -1
- package/packages/client/dist/runner/scheduler.d.ts +3 -0
- package/packages/client/dist/runner/scheduler.js +7 -7
- package/packages/client/dist/state/project-state-snapshot.js +1 -1
- package/packages/client/dist/tier/tier-aware-client.js +1 -1
- package/packages/client/dist/version.d.ts +3 -0
- package/packages/client/dist/version.js +1 -0
- package/packages/client/dist/yoloop/discovery-hook.js +2 -2
- package/packages/client/dist/yoloop/invoke-hooks.js +4 -4
- package/packages/client/dist/yoloop/shared-discover-epics.d.ts +9 -3
- package/packages/client/dist/yoloop/shared-discover-epics.js +1 -1
- package/packages/client/dist/yoloop/shared-yoloop-types.d.ts +24 -0
- package/packages/client/dist/yoloop/target-normalization.d.ts +24 -0
- package/packages/client/dist/yoloop/target-normalization.js +1 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.d.ts +4 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.js +1 -1
- package/packages/shared/dist/command-registry-contract.js +382 -0
- package/packages/shared/dist/generated/command-registry.generated.js +4216 -0
- package/packages/shared/dist/generated/invocation-schema.generated.js +1850 -0
- package/packages/shared/dist/invocation/index.d.ts +175 -0
- package/packages/shared/dist/invocation/index.js +587 -0
- package/packages/shared/dist/nx-invoke-signature.js +233 -0
- package/packages/shared/dist/strict-readonly.js +381 -0
- package/packages/shared/dist/yoloop/wave-decision-receipt.js +77 -0
- package/targets-stubs/antigravity/gemini.md +1 -1
- 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 +5 -2
- package/targets-stubs/claude-code/neocortex.agent.yaml +1 -1
- package/targets-stubs/claude-code/neocortex.md +7 -2
- package/targets-stubs/codex/AGENTS.md +4 -1
- package/targets-stubs/codex/neocortex.toml +4 -0
- package/targets-stubs/cursor/agent.md +2 -2
- package/targets-stubs/gemini-cli/agent.md +2 -2
- package/targets-stubs/opencode/neocortex-root.md +4 -1
- package/targets-stubs/opencode/neocortex.md +3 -0
- package/targets-stubs/vscode/neocortex.agent.md +2 -2
- package/packages/client/dist/subagent-approval-policy.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=1,i="1.0.0",t="b8fcdb246f7e22f820f667442f7a489bf3f53376b6540280d59fb89495ff4520",s={schemaVersion:1,registryVersion:"1.0.0",registryChecksum:"b8fcdb246f7e22f820f667442f7a489bf3f53376b6540280d59fb89495ff4520",projections:[{kind:"admin",entryCount:62,sha256:"4ca10e54b2028a01dad3b492dacead708d858842ba5ba23bcca70faa8c5b9689"},{kind:"client",entryCount:62,sha256:"4ca10e54b2028a01dad3b492dacead708d858842ba5ba23bcca70faa8c5b9689"},{kind:"docs",entryCount:62,sha256:"4ca10e54b2028a01dad3b492dacead708d858842ba5ba23bcca70faa8c5b9689"},{kind:"metrics",entryCount:62,sha256:"4ca10e54b2028a01dad3b492dacead708d858842ba5ba23bcca70faa8c5b9689"},{kind:"server",entryCount:67,sha256:"682d4238281ea4e00d110fdf7d67257cc9ee8c029a87232b26c8fc3f00604884"},{kind:"shared",entryCount:67,sha256:"f82436b633efc99f247aa0f0e755d66fe538ba3afd205dcec49e4a5fdb7d9928"}]},a=[{aliases:["api-contract","api-contracts"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate API contracts",es:"Generar contratos de API","pt-BR":"Gerar contratos de API"},examples:["@neocortex *arch-api-contracts P126"],id:"arch-api-contracts",inputShape:"epic-id",mode:"step",name:"Gerar API Contracts",number:6,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-03-api-contracts",subcommands:[],visibility:"public"},{aliases:["api-int","api-integrations"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate API integrations",es:"Generar integraciones de API","pt-BR":"Gerar integracoes de API"},examples:["@neocortex *arch-api-integrations P126"],id:"arch-api-integrations",inputShape:"epic-id",mode:"step",name:"Gerar API Integrations",number:7,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-04-api-integrations",subcommands:[],visibility:"public"},{aliases:["arch-doc","tech-architecture"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate architecture doc",es:"Generar doc de arquitectura","pt-BR":"Gerar doc de arquitetura"},examples:["@neocortex *arch-architecture P126"],id:"arch-architecture",inputShape:"epic-id",mode:"step",name:"Gerar Architecture Doc",number:5,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-02-architecture",subcommands:[],visibility:"public"},{aliases:["database-schema","db","db-schema"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate database schema",es:"Generar esquema de base de datos","pt-BR":"Gerar schema de banco"},examples:["@neocortex *arch-database P126"],id:"arch-database",inputShape:"epic-id",mode:"step",name:"Gerar Database Schema",number:8,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-05-database-schema",subcommands:[],visibility:"public"},{aliases:["atomic-design","design-system","ds"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate design system",es:"Generar sistema de diseno","pt-BR":"Gerar design system"},examples:["@neocortex *arch-design-system P126"],id:"arch-design-system",inputShape:"epic-id",mode:"step",name:"Gerar Atomic Design System",number:10,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-07-design-system",subcommands:[],visibility:"public"},{aliases:["arch-fit","archfit","fit-funcs","fitness","fitness-functions"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generates executable Fitness Functions (CI/test/lint)",es:"Genera Fitness Functions ejecutables (CI/test/lint)","pt-BR":"Gera Fitness Functions executaveis (CI/test/lint)"},examples:["@neocortex *arch-fitness-functions P126"],id:"arch-fitness-functions",inputShape:"epic-id",mode:"step",name:"Architecture Fitness Functions",number:16,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-02.5-fitness-functions",subcommands:[],visibility:"public"},{aliases:["arch-deploy","arch-infra","deploy-plan","deployment","infra","infrastructure"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Infrastructure & deploy",es:"Infraestructura y despliegue","pt-BR":"Infraestrutura e deploy"},examples:["@neocortex *arch-infrastructure P126"],id:"arch-infrastructure",inputShape:"epic-id",mode:"step",name:"Infrastructure & Deploy",number:14,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-12-infrastructure-deploy",subcommands:[],visibility:"public"},{aliases:["arch-perf","capacity","capacity-planning","perf","performance","performance-strategy"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Performance strategy",es:"Estrategia de rendimiento","pt-BR":"Estrategia de performance"},examples:["@neocortex *arch-performance P126"],id:"arch-performance",inputShape:"epic-id",mode:"step",name:"Performance Strategy",number:12,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-10-performance-strategy",subcommands:[],visibility:"public"},{aliases:["arch","architecture","arquitetura"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Full architecture plan",es:"Plan de arquitectura completo","pt-BR":"Planejar arquitetura completa"},examples:['@neocortex *arch-plan "ideia"',"@neocortex 3"],id:"arch-plan",inputShape:"idea",mode:"arch-plan",name:"Architecture Plan (Master)",number:3,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-01-prd",subcommands:[],visibility:"public"},{aliases:["prd","product-requirements"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate PRD document",es:"Generar documento PRD","pt-BR":"Gerar documento PRD"},examples:['@neocortex *arch-prd "ideia"'],id:"arch-prd",inputShape:"idea",mode:"step",name:"Gerar PRD",number:4,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-01-prd",subcommands:[],visibility:"public"},{aliases:["arch-consolidation","architecture-review","consolidation","review-consolidation"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Review & consolidation",es:"Revision y consolidacion","pt-BR":"Revisao e consolidacao"},examples:["@neocortex *arch-review P126"],id:"arch-review",inputShape:"epic-id",mode:"step",name:"Architecture Review & Consolidation",number:15,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-09-review-consolidation",subcommands:[],visibility:"public"},{aliases:["cyber-security","sec","security"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate security doc",es:"Generar doc de seguridad","pt-BR":"Gerar doc de seguranca"},examples:["@neocortex *arch-security P126"],id:"arch-security",inputShape:"epic-id",mode:"step",name:"Gerar Cyber Security Doc",number:9,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-06-cyber-security",subcommands:[],visibility:"public"},{aliases:["arch-test","test-plan","test-strategy","testing-strategy"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Testing strategy",es:"Estrategia de pruebas","pt-BR":"Estrategia de testes"},examples:["@neocortex *arch-testing P126"],id:"arch-testing",inputShape:"epic-id",mode:"step",name:"Testing Strategy",number:13,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-11-testing-strategy",subcommands:[],visibility:"public"},{aliases:["user-flows","ux","ux-design","wireframe","wireframes"],category:"architecture-planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate UX design",es:"Generar diseno UX","pt-BR":"Gerar design UX"},examples:["@neocortex *arch-ux-design P126"],id:"arch-ux-design",inputShape:"epic-id",mode:"step",name:"Gerar UX Design Document",number:11,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-08-ux-design",subcommands:[],visibility:"public"},{aliases:["auditar","auditoria"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Audit status",es:"Auditar estado","pt-BR":"Auditar status"},examples:["@neocortex *audit"],id:"audit",inputShape:"standalone",mode:"utility",name:"Auditar Status",number:41,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"free",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-audit-status",subcommands:[],visibility:"public"},{aliases:["bill","sub","subscription"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Billing status",es:"Estado de facturacion","pt-BR":"Status de cobranca"},examples:["@neocortex *billing"],id:"billing",inputShape:"standalone",mode:"status",name:"Billing Status",number:45,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"free",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["chaos","gameday","resilience-test"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Chaos Plan (Quarterly Game Day)",es:"Plan de Chaos Engineering (Game Day Trimestral)","pt-BR":"Plano de Chaos Engineering (Game Day Trimestral)"},examples:["@neocortex *chaos-plan"],id:"chaos-plan",inputShape:"standalone",mode:"step",name:"Chaos Plan Generation",number:56,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-chaos-plan",subcommands:[],visibility:"public"},{aliases:["limpar","limpeza"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Clean up branches",es:"Limpiar branches","pt-BR":"Limpar branches"},examples:["@neocortex *cleanup"],id:"cleanup",inputShape:"standalone",mode:"utility",name:"Limpar Branches",number:40,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-cleanup-branches",subcommands:[],visibility:"public"},{aliases:["c07","commit-push","cp","push"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Commit & push",es:"Commit y push","pt-BR":"Commit e push"},examples:["@neocortex *commit @docs/stories/P126.01.story.md"],id:"commit",inputShape:"story",mode:"step",name:"Commit & Push",number:30,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-08-commit-push",subcommands:[],visibility:"public"},{aliases:["criar-epic","planejamento"],category:"planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Create full epic",es:"Crear epico completo","pt-BR":"Criar epico completo"},examples:['@neocortex *create-epic "COMO dev, QUERO ..., PARA ..."'],id:"create-epic",inputShape:"idea",mode:"create-epic",name:"Criar Epico completo",number:17,policy:{billingClass:"billable",idempotencyClass:"logical-required",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-p-01-idea-diagnose",subcommands:[],visibility:"public"},{aliases:["c09","pr"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Create pull request",es:"Crear pull request","pt-BR":"Criar pull request"},examples:["@neocortex *create-pr @docs/stories/P126.01.story.md"],id:"create-pr",inputShape:"story",mode:"step",name:"Criar Pull Request",number:32,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-10-create-pr",subcommands:[],visibility:"public"},{aliases:["c05","tarefas","tasks"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Create tasks",es:"Crear tareas","pt-BR":"Criar tarefas"},examples:["@neocortex *create-tasks @docs/stories/P126.01.story.md"],id:"create-tasks",inputShape:"story",mode:"step",name:"Criar Tasks de Implementacao",number:28,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-05-create-tasks",subcommands:[],visibility:"public"},{aliases:["c02","diag","diagnostico"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Diagnose story or context",es:"Diagnosticar story o contexto","pt-BR":"Diagnosticar story ou contexto"},examples:["@neocortex *diagnose @docs/stories/P126.01.story.md",'@neocortex *diagnose "investigar falha intermitente no deploy"'],id:"diagnose",inputShape:"story-or-context",mode:"step",name:"Diagnosticar Story ou Contexto",number:25,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-02-diagnose",subcommands:[],visibility:"public"},{aliases:["parallel-epic"],category:"execution",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Execute parallel epic",es:"Ejecutar epico en paralelo","pt-BR":"Executar epic paralelo"},examples:["@neocortex @epic-P126"],id:"epic",inputShape:"epic-target",mode:"epic",name:"Executar epic paralelo",number:23,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-01-setup-branch",subcommands:[],visibility:"public"},{aliases:["executar","pipeline"],category:"execution",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Full pipeline",es:"Pipeline completo","pt-BR":"Pipeline completo"},examples:["@neocortex *exec @docs/stories/P126.01.story.md"],id:"exec",inputShape:"story",mode:"pipeline",name:"Pipeline completo",number:21,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-01-setup-branch",subcommands:[],visibility:"public"},{aliases:["finalizar"],category:"recovery",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Finalize epic",es:"Finalizar epico","pt-BR":"Finalizar epic"},examples:["@neocortex *finalize-epic P126"],id:"finalize-epic",inputShape:"epic-id",mode:"recovery",name:"Finalizar Epic",number:36,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-r-finalize-epic",subcommands:[],visibility:"public"},{aliases:["corrigir","fix"],category:"recovery",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Fix blocked story",es:"Corregir story bloqueada","pt-BR":"Corrigir story bloqueada"},examples:["@neocortex *fix-blocked @docs/stories/P126.01.story.md"],id:"fix-blocked",inputShape:"story",mode:"recovery",name:"Corrigir Story Bloqueada",number:35,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-r-fix-blocked",subcommands:[],visibility:"public"},{aliases:["gerar-epic"],category:"planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate epic & stories",es:"Generar epico y stories","pt-BR":"Gerar epico e stories"},examples:["@neocortex *generate-epic P126"],id:"generate-epic",inputShape:"epic-id",mode:"step",name:"Gerar Epico e Stories",number:20,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-p-03-generate-epic",subcommands:[],visibility:"public"},{aliases:["create-pacts","gen-pacts","pacts","regen-pacts"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Generate Pact tests (consumer + provider) from openapi.yaml",es:"Generar tests Pact (consumer + provider) de openapi.yaml","pt-BR":"Gerar testes Pact (consumer + provider) de openapi.yaml"},examples:["@neocortex *generate-pacts"],id:"generate-pacts",inputShape:"standalone",mode:"step",name:"Generate Pact Tests",number:53,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-03.5-pact-generation",subcommands:[],visibility:"public"},{aliases:["continuity-goal","durable-goal","goals"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Enterprise durable goal campaigns.",es:"Campanas de objetivo duraderas Enterprise.","pt-BR":"Campanhas de objetivo duraveis Enterprise."},examples:['@neocortex *goal "objective"','@neocortex *goal --plan "objective"',"@neocortex *goal tick @goal-G001"],id:"goal",inputShape:"continuity-goal",mode:"continuity",name:"Durable Goal",number:59,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-continuity-goal",subcommands:[{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"answer-decision",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"approve-review-gate",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"cancel",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"deny-review-gate",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"pause",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"plan",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"report",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"resume",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"start",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"status",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"tick",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"}],visibility:"public"},{aliases:["idea-diag"],category:"planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Diagnose idea",es:"Diagnosticar idea","pt-BR":"Diagnosticar ideia"},examples:['@neocortex *idea-diagnose "ideia"'],id:"idea-diagnose",inputShape:"idea",mode:"step",name:"Diagnosticar Ideia",number:18,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-p-01-idea-diagnose",subcommands:[],visibility:"public"},{aliases:["idea-pesq"],category:"planning",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Research and enrich",es:"Investigar y enriquecer","pt-BR":"Pesquisar e enriquecer"},examples:["@neocortex *idea-research P126"],id:"idea-research",inputShape:"epic-id",mode:"step",name:"Pesquisar e Enriquecer Ideia",number:19,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"planning",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-p-02-idea-research",subcommands:[],visibility:"public"},{aliases:["c06","impl","implementar"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Implement code",es:"Implementar codigo","pt-BR":"Implementar codigo"},examples:["@neocortex *implement @docs/stories/P126.01.story.md"],id:"implement",inputShape:"story",mode:"step",name:"Implementar Tasks",number:29,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-06-implement-tasks",subcommands:[],visibility:"public"},{aliases:["inicializar"],category:"quick-start",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Initialize project",es:"Inicializar proyecto","pt-BR":"Inicializar projeto"},examples:["@neocortex *init","@neocortex init","@neocortex 2"],id:"init",inputShape:"epics",mode:"utility",name:"Inicializar + Enrichment",number:2,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-init",subcommands:[],visibility:"public"},{aliases:["continuity-jobs","job"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Query and control Enterprise continuity jobs.",es:"Consultar y controlar jobs de continuidad Enterprise.","pt-BR":"Consultar e controlar jobs de continuidade Enterprise."},examples:["@neocortex *jobs","@neocortex *jobs status","@neocortex *jobs logs","@neocortex *jobs watch"],id:"jobs",inputShape:"continuity-jobs",mode:"continuity",name:"Continuity Jobs",number:61,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-continuity-jobs",subcommands:[{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"cancel",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"list",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"logs",policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"enterprise",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"report",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"status",policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"enterprise",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"watch",policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"enterprise",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"}],visibility:"public"},{aliases:["continuity-loop","durable-loop","loops"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Enterprise durable loops with controlled ticks.",es:"Loops duraderos Enterprise con ticks controlados.","pt-BR":"Loops duraveis Enterprise com ticks controlados."},examples:['@neocortex *loop 5m "check deployment health"',"@neocortex *loop tick @loop-L001","@neocortex *loop run-once @loop-L001"],id:"loop",inputShape:"continuity-loop",mode:"continuity",name:"Durable Loop",number:60,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-continuity-loop",subcommands:[{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"cancel",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"pause",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"plan",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"report",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"resume",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"run-once",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"start",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"status",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"tick",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"}],visibility:"public"},{aliases:["?","ajuda","cmds","commands","help"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"This menu",es:"Este menu","pt-BR":"Este menu"},examples:["@neocortex","@neocortex *menu","@neocortex commands"],id:"menu",inputShape:"standalone",mode:"menu",name:"Menu Interativo",number:43,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"free",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["c12","mesclar"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Merge PR",es:"Merge PR","pt-BR":"Merge PR"},examples:["@neocortex *merge @docs/stories/P126.01.story.md"],id:"merge",inputShape:"story",mode:"step",name:"Merge PR",number:34,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-12-merge-pr",subcommands:[],visibility:"public"},{aliases:["migrate","schema-migrate","state-migrate"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Migrate state.json to canonical schema v1",es:"Migra state.json al esquema canonico v1","pt-BR":"Migra state.json para schema canonico v1"},examples:["@neocortex *migrate-state"],id:"migrate-state",inputShape:"standalone",mode:"step",name:"Migrate state.json to schema v1",number:49,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-migrate-state",subcommands:[],visibility:"public"},{aliases:["kill-mutants","mutation","stryker"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Mutation testing (detects weak tests via Stryker)",es:"Mutation testing (detecta tests debiles via Stryker)","pt-BR":"Mutation testing (detecta testes fracos via Stryker)"},examples:["@neocortex *mutation-test"],id:"mutation-test",inputShape:"standalone",mode:"step",name:"Mutation Testing",number:51,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-q-04-mutation-test",subcommands:[],visibility:"public"},{aliases:["planos","pricing"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Compare plans",es:"Comparar planes","pt-BR":"Comparar planos"},examples:["@neocortex *plans"],id:"plans",inputShape:"standalone",mode:"status",name:"Comparar Planos",number:44,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"free",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["audit-policy","policies","policy","policy-history"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Policy default history (30d)",es:"Historial de defaults de policy (30 dias)","pt-BR":"Historico de defaults de policy (30 dias)"},examples:["@neocortex *policy-audit"],id:"policy-audit",inputShape:"standalone",mode:"status",name:"Policy Audit",number:50,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"pro",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["invariant-test","pbt","property","property-tests","proptest"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Property-Based Tests (DDD Invariants)",es:"Pruebas de Propiedad (DDD Invariantes)","pt-BR":"Testes de Propriedade (DDD Invariantes)"},examples:["@neocortex *property-test"],id:"property-test",inputShape:"standalone",mode:"step",name:"Property-Based Test Generation",number:55,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-066-property-tests",subcommands:[],visibility:"public"},{aliases:["a11y","accessibility","debug-ui","e2e-scan","qa","qa-test","scan","troubleshoot","visual-qa","wcag"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Autonomous QA scan (visual, a11y)",es:"Scan QA autonomo (visual, a11y)","pt-BR":"Scan QA autonomo (visual, a11y)"},examples:["@neocortex *qa-scan"],id:"qa-scan",inputShape:"standalone",mode:"qa-pipeline",name:"QA Scan (Visual + A11y + Interaction)",number:47,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-q-01-discovery",subcommands:[],visibility:"public"},{aliases:["cleanup-code","code-cleanup","code-quality","code-smells","debt-pay","debt-reduction","fix-smells","improve-code","legacy","legacy-code","modernization","modernize","pay-debt","refac","refact","refactoring","rf","smell-fix","strangler","strangler-fig"],category:"recovery",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Refactoring YOLO (6 auto steps)",es:"Refactorizacion YOLO (6 pasos auto)","pt-BR":"Refatoracao YOLO (6 steps auto)"},examples:["@neocortex *refactor @docs/stories/P126.01.story.md"],id:"refactor",inputShape:"story-or-epic-or-idea",mode:"refactoring-pipeline",name:"Refactoring Workflow",number:39,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-r-01-analyze-smells",subcommands:[],visibility:"public"},{aliases:["c03","pesq","pesquisar","research-fix"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Research approach or inline USER STORY",es:"Investigar enfoque o USER STORY inline","pt-BR":"Pesquisar abordagem ou USER STORY inline"},examples:["@neocortex *research @docs/stories/P126.01.story.md",'@neocortex *research - "COMO dev, QUERO ..., PARA ..."'],id:"research",inputShape:"story-or-context",mode:"step",name:"Pesquisar & Definir Abordagem",number:26,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-03-research",subcommands:[],visibility:"public"},{aliases:["conflitos"],category:"recovery",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Resolve conflicts",es:"Resolver conflictos","pt-BR":"Resolver conflitos"},examples:["@neocortex *resolve-conflicts @docs/stories/P126.01.story.md"],id:"resolve-conflicts",inputShape:"story",mode:"recovery",name:"Resolver Conflitos",number:37,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-resolve-conflicts",subcommands:[],visibility:"public"},{aliases:["c11","revisar"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Review PR",es:"Revisar PR","pt-BR":"Revisar PR"},examples:["@neocortex *review @docs/stories/P126.01.story.md"],id:"review",inputShape:"story",mode:"step",name:"Revisar PR",number:33,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-11-review-pr",subcommands:[],visibility:"public"},{aliases:["continuity-runner","neocortex-runner"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Local Enterprise continuity runner control.",es:"Control local del runner de continuidad Enterprise.","pt-BR":"Controle local do runner de continuidade Enterprise."},examples:["neocortex-runner install","neocortex-runner start","neocortex-runner tick"],id:"runner",inputShape:"continuity-runner",mode:"continuity",name:"Neocortex Runner",number:62,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-continuity-runner",subcommands:[{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"doctor",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"install",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"start",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"status",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"stop",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"},{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"tick",policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"}],visibility:"public"},{aliases:["branch","setup"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Setup branch",es:"Configurar branch","pt-BR":"Configurar branch"},examples:["@neocortex *setup-branch @docs/stories/P126.01.story.md"],id:"setup-branch",inputShape:"story",mode:"step",name:"Configurar Branch & Worktree",number:24,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-01-setup-branch",subcommands:[],visibility:"public"},{aliases:["authorized-security","sec-system","security-system"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Enterprise authorized defensive workflow for planning, passive analysis and public-safe reports.",es:"Workflow defensivo autorizado Enterprise para planificacion, analisis pasivo e informes public-safe.","pt-BR":"Workflow defensivo autorizado Enterprise para planejamento, analise passiva e relatorios public-safe."},examples:["@neocortex *solyd-system plan","@neocortex *security-system report"],id:"solyd-system",inputShape:"solyd-system",mode:"solyd-system",name:"Solyd Security System",number:58,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"enterprise",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-solyd-system",subcommands:[],visibility:"public"},{aliases:["st"],category:"quick-start",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"View pipeline status",es:"Ver estado del pipeline","pt-BR":"Ver status do pipeline"},examples:["@neocortex *status","@neocortex status","@neocortex 1"],id:"status",inputShape:"standalone",mode:"status",name:"Status do Pipeline",number:1,policy:{billingClass:"non-billable",idempotencyClass:"none",minimumTier:"free",mutationClass:"read-only",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"allow"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-u-audit-status",subcommands:[],visibility:"public"},{aliases:["checkout","upgrade"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Manage subscription",es:"Gestionar suscripcion","pt-BR":"Gerenciar assinatura"},examples:["@neocortex *subscribe"],id:"subscribe",inputShape:"standalone",mode:"status",name:"Subscribe / Manage",number:46,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["c08","sincronizar"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Sync with main",es:"Sincronizar con main","pt-BR":"Sincronizar com main"},examples:["@neocortex *sync @docs/stories/P126.01.story.md"],id:"sync",inputShape:"story",mode:"step",name:"Sincronizar com Main",number:31,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-09-sync-main",subcommands:[],visibility:"public"},{aliases:["api-sync","openapi-sync","regen-openapi","spec-sync"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Sync docs/api/openapi.yaml with api-contracts.md",es:"Sincronizar docs/api/openapi.yaml con api-contracts.md","pt-BR":"Sincronizar docs/api/openapi.yaml com api-contracts.md"},examples:["@neocortex *sync-openapi"],id:"sync-openapi",inputShape:"standalone",mode:"step",name:"Sync OpenAPI Spec",number:52,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-a-03-api-contracts",subcommands:[],visibility:"public"},{aliases:["debt","debt-list","debts","td","tech-debts"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"List tech debts by ROI",es:"Listar deudas tecnicas por ROI","pt-BR":"Listar dividas tecnicas por ROI"},examples:["@neocortex *tech-debt","@neocortex *tech-debt --scan"],id:"tech-debt",inputShape:"standalone",mode:"tech-debt",name:"Tech Debt Registry",number:42,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[{aliases:[],compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},id:"scan",policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],visibility:"public"}],visibility:"public"},{aliases:["design-review","product-polish","ux-review","visual-review"],category:"utility",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Architecture-driven UI/UX review",es:"Revision UI/UX orientada por arquitectura","pt-BR":"Revisao UI/UX orientada por arquitetura"},examples:["@neocortex *ui-ux-review","@neocortex *ui-ux-review --architecture-dir docs/architecture",'@neocortex *ui-ux-review "revise o onboarding usando a arquitetura"',"@neocortex *ui-ux-review docs/architecture"],id:"ui-ux-review",inputShape:"ui-ux-review",mode:"ui-ux-review",name:"UI/UX Review",number:57,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-q-ui-ux-review",subcommands:[],visibility:"public"},{aliases:["memoria"],category:"recovery",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Update project memory",es:"Actualizar memoria del proyecto","pt-BR":"Atualizar memoria do projeto"},examples:["@neocortex *update-memory"],id:"update-memory",inputShape:"standalone",mode:"utility",name:"Atualizar Memoria",number:38,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-07-update-project-memory",subcommands:[],visibility:"public"},{aliases:["check-pacts","pact-check","pact-verify","verify-pact"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Verify provider against consumer pacts",es:"Verificar provider contra consumer pacts","pt-BR":"Verificar provider contra consumer pacts"},examples:["@neocortex *verify-pacts"],id:"verify-pacts",inputShape:"standalone",mode:"status",name:"Verify Pact Provider",number:54,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"",subcommands:[],visibility:"public"},{aliases:["c04","especificacao","spec"],category:"core",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Write specification",es:"Escribir especificacion","pt-BR":"Escrever especificacao"},examples:["@neocortex *write-spec @docs/stories/P126.01.story.md"],id:"write-spec",inputShape:"story",mode:"step",name:"Escrever Spec Tecnica",number:27,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"free",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-04-write-spec",subcommands:[],visibility:"public"},{aliases:[],category:"execution",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Execute without confirmations from a story file or inline USER STORY",es:"Ejecutar sin confirmaciones usando story file o USER STORY inline","pt-BR":"Executar sem confirmacoes usando story file ou USER STORY inline"},examples:["@neocortex *yolo @docs/stories/P126.01.story.md",'@neocortex *yolo - "COMO dev, QUERO ..., PARA ..."'],id:"yolo",inputShape:"story-or-inline-user-story",mode:"yolo",name:"Modo YOLO (sem confirmacoes)",number:22,policy:{billingClass:"billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"workflow",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-c-01-setup-branch",subcommands:[],visibility:"public"},{aliases:["auto-epic","auto-yolo","epic-runner","loop-yolo","story-runner"],category:"utility-wave",compatibility:{deprecatedIn:null,introducedIn:"1.0.0",removedIn:null,replacement:null},description:{en:"Autonomous epic execution (Pro). Accepts directory, file, or ID.",es:"Ejecucion autonoma de epic completo (Pro). Acepta directorio, archivo, o ID.","pt-BR":"Execucao autonoma de epic completo (Pro). Aceita pasta, arquivo, ou ID."},examples:["@neocortex *yoloop @docs/epics/epic-P126.md"],id:"yoloop",inputShape:"directory-or-file-or-id",mode:"yoloop",name:"Yoloop Autonomous Epic Execution",number:48,policy:{billingClass:"non-billable",idempotencyClass:"logical-supported",minimumTier:"pro",mutationClass:"stateful",privilege:"authenticated",quotaClass:"none",replayClass:"signed-request",strictReadOnly:"deny"},projections:["admin","client","docs","metrics","server","shared"],stepId:"step-yoloop-orchestrator",subcommands:[],visibility:"public"}];export{t as COMMAND_REGISTRY_CHECKSUM,s as COMMAND_REGISTRY_PROJECTION_MANIFEST,e as COMMAND_REGISTRY_SCHEMA_VERSION,i as COMMAND_REGISTRY_VERSION,a as GENERATED_CLIENT_COMMANDS};
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* whether to consume this auxiliary metadata.
|
|
8
8
|
*/
|
|
9
9
|
import { type CommandContextRetrievalProfile, type GraphRetrievalMetadata } from './shared-graph-retrieval-contract.js';
|
|
10
|
+
import { type InvocationAdmissionResultV1 } from '../../../shared/dist/invocation/index.js';
|
|
10
11
|
declare const CONTRACT_VERSION = "client-pre-command-v1";
|
|
11
12
|
export interface GraphRetrievalHookContext {
|
|
12
13
|
readonly args: string;
|
|
@@ -30,5 +31,6 @@ export interface GraphRetrievalHookResult {
|
|
|
30
31
|
readonly metadata?: GraphRetrievalEnrichmentMetadata;
|
|
31
32
|
readonly warning?: string;
|
|
32
33
|
}
|
|
34
|
+
export declare function admitGraphInvocation(args: string): InvocationAdmissionResultV1;
|
|
33
35
|
export declare function runGraphRetrievalHook(ctx: GraphRetrievalHookContext): Promise<GraphRetrievalHookResult>;
|
|
34
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createHash as
|
|
1
|
+
import{createHash as T}from"node:crypto";import{existsSync as I,readFileSync as h,statSync as P}from"node:fs";import{join as y}from"node:path";import{DEFAULT_GRAPH_RETRIEVAL_BUDGETS as g,createGraphRetrievalMetadata as b,normalizeGraphRetrievalPath as i,resolveClientCommandContextPolicy as E}from"./shared-graph-retrieval-contract.js";import{admitInvocation as A}from"../../../shared/dist/invocation/index.js";const u="client-pre-command-v1",x="1970-01-01T00:00:00.000Z",R=new Set([".archive","_archive","_archives","archive","archives","archived"]);function S(t){return A(t)}function k(t){const e=S(t);if(e.outcome!=="resolved")return null;const o=E(e.selection.commandId);return o?{policy:o,selection:e.selection}:null}function p(t){return T("sha256").update(t).digest("hex")}function m(t){const e=i(t),o=e.split("/").some(n=>R.has(n.toLowerCase()));return e.length===0||e.startsWith("/")||e.startsWith("..")||e.includes("/../")||o||/(^|\/)\.env(?:$|[./-])/i.test(e)||/(^|\/)(?:credentials?|secrets?|tokens?|private-prompts?|raw-logs?)(?:\.|\/|$)/i.test(e)||/\.(?:sqlite|db|pem|key|p12|pfx|crt|cer|der|bin)$/i.test(e)}function $(t,e){const o=i(e);if(m(o))return null;const n=y(t,o);if(!I(n))return null;const r=P(n);if(!r.isFile()||r.size>96*1024)return null;const s=h(n,"utf8");return{kind:"repo-path",path:o,contentHash:p(s).slice(0,16),mtimeMs:Math.floor(r.mtimeMs)}}function _(t){let e=t;const o=e;return e=e.replace(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi,"[REDACTED_EMAIL]"),e=e.replace(/\b(api[-_ ]?key|license[-_ ]?key|token|password|secret)\b\s*[:=]\s*[^\s`'"\])}]+/gi,"$1=[REDACTED_SECRET]"),e=e.replace(/\b(?:sk|pk|ghp|github_pat|pat)_[A-Za-z0-9_\-]{16,}\b/g,"[REDACTED_TOKEN]"),e=e.replace(/\b[A-Za-z0-9+/]{32,}={0,2}\b/g,"[REDACTED_TOKEN]"),e=e.replace(/<!--\s*(?:server|private|proprietary)[\s\S]*?-->/gi,"[REDACTED_PRIVATE_PROMPT]"),e=e.replace(/\b(?:private|proprietary|protected)\s+(?:prompt|workflow|step\s*body|orchestration)\b[^.!?\n]*/gi,"[REDACTED_PRIVATE_PROMPT]"),{text:e,redacted:e!==o}}function w(t,e=g.maxSnippetChars){const o=t.split(/\r?\n/).map(r=>r.trim()).filter(r=>r.length>0&&!r.startsWith("---")&&!r.startsWith("<!--")).slice(0,8).join(" "),n=_(o);return{summary:n.text.slice(0,e),redacted:n.redacted}}function D(t,e){const o=$(t,e.path);if(!o)return null;const n=h(y(t,o.path),"utf8"),r=w(n,e.maxSnippetChars);return{nodeType:e.nodeType,stableId:e.stableId,source:o,confidence:r.redacted?Math.min(e.confidence,.72):e.confidence,reasonCode:e.reasonCode,budgetCost:e.budgetCost,summary:r.summary,warnings:r.redacted?["redacted_sensitive_content"]:void 0,score:e.score}}function G(t){const e=`Public command ${t.commandId}; graphRetrieval profile ${t.retrievalProfile}; context is auxiliary, redacted, budgeted and non-authoritative.`;return{nodeType:"Command",stableId:`command:${t.commandId}`,source:{kind:"command",path:t.commandId,contentHash:p(e).slice(0,16)},confidence:.88,reasonCode:"command_surface_match",budgetCost:1,summary:e.slice(0,t.retrievalBudget.maxSnippetChars),score:90}}function M(t){const e=t.uiUxReview?.architectureDir;return e?[...t.positionals,e]:t.positionals}function C(t){return t.find(o=>/^@?docs\/stories\/[A-Za-z0-9._-]+\.story\.md$/u.test(o))?.replace(/^@/u,"")??null}function z(t){return t.find(o=>/^@?docs\/epics\/[A-Za-z0-9._-]+\.md$/u.test(o))?.replace(/^@/u,"")??null}function B(t){const n=C(t)?.split("/").pop()?.replace(/\.story\.md$/,"")?.match(/^(P\d+)\./i)?.[1];if(n)return n.toUpperCase();const r=t.map(s=>s.match(/^@?(?:docs\/epics\/epic-)?(P\d+)(?:\.md)?$/iu)?.[1]).find(s=>!!s);return r?r.toUpperCase():null}function H(t){return t.map(e=>e.match(/^@?((?:docs|core)\/[A-Za-z0-9_./-]+\.md)$/u)?.[1]).filter(e=>!!e).map(e=>i(e)).filter(e=>!m(e))}function N(t){return t.startsWith("docs/stories/")?{nodeType:"Story",reasonCode:"story_scope_match"}:t.startsWith("docs/epics/")?{nodeType:"Epic",reasonCode:"epic_scope_match"}:t.includes("security")||t.includes("policy")||t.includes("standard")?{nodeType:"Guardrail",reasonCode:"guardrail_match"}:{nodeType:"Doc",reasonCode:"architecture_reference"}}function c(t,e){const o=i(e.path);if(m(o))return;t.some(r=>r.nodeType===e.nodeType&&i(r.path)===o)||t.push({...e,path:o})}function O(t,e,o){const n=C(e);if(n){const a=n.split("/").pop()?.replace(/\.story\.md$/,"")??n;c(t,{path:n,nodeType:"Story",stableId:a,reasonCode:"story_scope_match",confidence:.96,budgetCost:3,score:96,maxSnippetChars:o})}const r=z(e),s=B(e);if(r){const a=r.split("/").pop()?.replace(/\.md$/,"")??r;c(t,{path:r,nodeType:"Epic",stableId:a,reasonCode:"epic_scope_match",confidence:.92,budgetCost:3,score:92,maxSnippetChars:o})}else s&&c(t,{path:`docs/epics/epic-${s}.md`,nodeType:"Epic",stableId:s,reasonCode:"epic_scope_match",confidence:.9,budgetCost:3,score:90,maxSnippetChars:o});for(const a of H(e)){const d=a.split("/").pop()?.replace(/\.md$/,"").replace(/\.story$/,"")??a,l=N(a);c(t,{path:a,stableId:d,...l,confidence:.84,budgetCost:3,score:82,maxSnippetChars:o})}}function Z(t,e,o){const n=t.retrievalBudget.maxSnippetChars,r=[];return c(r,{path:"NEOCORTEX.md",nodeType:"CanonicalMemory",stableId:"canonical-memory",reasonCode:"canonical_memory_seed",confidence:.92,budgetCost:4,score:100,maxSnippetChars:n}),c(r,{path:"AGENTS.md",nodeType:"PlatformMemory",stableId:"platform-memory:agents",reasonCode:"platform_memory_reference",confidence:.7,budgetCost:2,score:66,maxSnippetChars:n}),c(r,{path:"package.json",nodeType:"Package",stableId:"root-package",reasonCode:"package_surface_match",confidence:.78,budgetCost:2,score:72,maxSnippetChars:n}),(t.retrievalProfile!=="utility"||t.commandId==="ui-ux-review")&&c(r,{path:"docs/arquitetura-software/deterministic-graph-retrieval.md",nodeType:"Doc",stableId:"deterministic-graph-retrieval",reasonCode:"architecture_reference",confidence:.9,budgetCost:4,score:84,maxSnippetChars:n}),O(r,M(e),n),(["story-execution","diagnostic","research","review","qa","recovery","planning"].includes(t.retrievalProfile)||t.commandId==="tech-debt")&&c(r,{path:".neocortex/tech-debt-registry.json",nodeType:"Debt",stableId:"tech-debt-registry",reasonCode:"debt_area_match",confidence:.74,budgetCost:3,score:76,maxSnippetChars:n}),["story-execution","diagnostic","research","review","qa","recovery","planning","architecture"].includes(t.retrievalProfile)&&c(r,{path:"core/standards/spec-driven-development.md",nodeType:"Guardrail",stableId:"spec-driven-development",reasonCode:"guardrail_match",confidence:.82,budgetCost:3,score:78,maxSnippetChars:n}),t.retrievalProfile==="security"&&c(r,{path:"docs/architecture/solyd-security-system-contract.md",nodeType:"Guardrail",stableId:"solyd-security-system-contract",reasonCode:"guardrail_match",confidence:.86,budgetCost:3,score:84,maxSnippetChars:n}),t.retrievalProfile==="continuity"&&(c(r,{path:"core/standards/enterprise-continuity-plane.md",nodeType:"Guardrail",stableId:"enterprise-continuity-plane",reasonCode:"guardrail_match",confidence:.86,budgetCost:3,score:84,maxSnippetChars:n}),c(r,{path:"docs/runbooks/enterprise-continuity-runner.md",nodeType:"Doc",stableId:"enterprise-continuity-runner",reasonCode:"architecture_reference",confidence:.78,budgetCost:3,score:72,maxSnippetChars:n})),["utility","continuity","recovery"].includes(t.retrievalProfile)&&c(r,{path:".neocortex/state.json",nodeType:"State",stableId:"project-state",reasonCode:"state_status_match",confidence:.68,budgetCost:3,score:70,maxSnippetChars:n}),[G(t),...r.map(s=>D(o,s)).filter(s=>s!==null)]}function j(t){let e=[...t.items],o=t;const n=Math.min(t.budget.maxPayloadBytes,g.maxPayloadBytes);for(;Buffer.byteLength(JSON.stringify(o),"utf8")>n&&e.length>0;){const r=e.pop(),s=b({retrievalId:t.retrievalId,query:t.query,items:e,generatedAt:t.generatedAt,warnings:t.warnings,budgets:t.budget});o={...s,skipped:r?[...s.skipped,{stableId:r.stableId,source:r.source,reasonCode:"budget_exceeded"}]:s.skipped,contractVersion:u,command:t.command}}return o}async function W(t){const e=k(t.args);if(!e)return{applied:!1,reason:"command_not_allowlisted"};const{policy:o,selection:n}=e,r=o.commandId;try{const s=Z(o,n,t.projectRoot);if(s.length===0)return{applied:!1,reason:"no_items",command:r,profile:o.retrievalProfile};const a=_(n.positionals.join(" ").slice(0,240)).text,d=p(`${u}:${r}:${a}:${s.map(f=>`${f.source.path}:${f.source.contentHash??""}`).sort().join("|")}`).slice(0,24),l=b({retrievalId:d,query:a,items:s,generatedAt:t.nowIso??x,budgets:o.retrievalBudget}),v=j({...l,contractVersion:u,command:r});return{applied:!0,reason:"applied",command:r,profile:o.retrievalProfile,metadata:v}}catch(s){const a=s instanceof Error?s.message:String(s);return t.logger?.warn?.(`[neocortex] graph retrieval hook failed: ${a}. Proceeding without enrichment.`),{applied:!1,reason:"hook_error",command:r,profile:o.retrievalProfile,warning:a}}}export{S as admitGraphInvocation,W as runGraphRetrievalHook};
|
|
@@ -53,6 +53,7 @@ export { OfflineTelemetryQueue, type TelemetryEvent, type QueueConfig, type Queu
|
|
|
53
53
|
export { getCacheStatus, formatCacheStatus, type CacheStatusInfo, type CacheStatusOptions, } from './commands/cache-status.js';
|
|
54
54
|
export { getSubagentApprovalPolicy, ensureManagedSubagentApprovalPolicy, setSubagentApprovalMode, resetSubagentApprovalMode, ApprovalPolicyConfigError, type ApprovalPolicyConfigOptions, type ApprovalPolicyConfigResult, } from './config.js';
|
|
55
55
|
export { configCliHandler, type ConfigCliDependencies, } from './commands/config.js';
|
|
56
|
+
export { FRONTMATTER_DIAGNOSTIC_CATEGORIES, FRONTMATTER_DIAGNOSTIC_REASON_CODES, getFrontmatterDiagnostic, formatFrontmatterDiagnostic, type FrontmatterDiagnosticCategory, type FrontmatterDiagnosticReasonCode, type PublicFrontmatterDiagnostic, } from './errors/frontmatter-diagnostics.js';
|
|
56
57
|
export { invoke, invokeCliHandler, collectStateSnapshot, type InvokeOptions, type InvokeResult, } from './commands/invoke.js';
|
|
57
58
|
export { TierAwareClient, type TierAwareClientOptions, type PreFlightResult, type QuotaSnapshot, } from './tier/index.js';
|
|
58
59
|
export { buildProjectMemoryContent, createNodeProjectMemoryFs, writeProjectMemory, writeProjectMemoryTargetFiles, type WriteProjectMemoryFileResult, type ProjectMemoryWriterFs, type WriteProjectMemoryOptions, type WriteProjectMemoryResult, type WriteProjectMemoryTargetFilesResult, } from './memory/project-memory-writer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ResolverMode as o,NoOpCache as t}from"./types/index.js";import{LocalResolver as i}from"./resolvers/local-resolver.js";import{RemoteResolver as
|
|
1
|
+
import{ResolverMode as o,NoOpCache as t}from"./types/index.js";import{LocalResolver as i}from"./resolvers/local-resolver.js";import{RemoteResolver as p,RemoteResolverError as l}from"./resolvers/remote-resolver.js";import{EncryptedCache as m}from"./cache/index.js";import{createResolver as d,selectResolver as f}from"./config/resolver-selection.js";import{collectContext as C}from"./context/context-collector.js";import{sanitizeValue as A,sanitizeRecord as R,sanitizeObject as v}from"./context/context-sanitizer.js";import{getMachineFingerprint as S}from"./machine/index.js";import{LicenseClient as y}from"./license/index.js";import{ClaudeCodeAdapter as E,CursorAdapter as O,VSCodeAdapter as D,GeminiAdapter as F,CodexAdapter as P,AntigravityAdapter as h,AdapterRegistry as I,UnknownTargetError as N,createDefaultRegistry as b,detectPlatform as j,isValidTargetId as _}from"./adapters/index.js";import{ClientCircuitBreaker as w,DegradationManager as G,DegradationLevel as z,FreshnessIndicator as L,RecoveryDetector as V}from"./resilience/index.js";import{OfflineTelemetryQueue as B}from"./telemetry/index.js";import{getCacheStatus as U,formatCacheStatus as q}from"./commands/cache-status.js";import{getSubagentApprovalPolicy as K,ensureManagedSubagentApprovalPolicy as W,setSubagentApprovalMode as X,resetSubagentApprovalMode as Y,ApprovalPolicyConfigError as Z}from"./config.js";import{configCliHandler as ee}from"./commands/config.js";import{FRONTMATTER_DIAGNOSTIC_CATEGORIES as oe,FRONTMATTER_DIAGNOSTIC_REASON_CODES as te,getFrontmatterDiagnostic as ae,formatFrontmatterDiagnostic as ie}from"./errors/frontmatter-diagnostics.js";import{invoke as pe,invokeCliHandler as le,collectStateSnapshot as ce}from"./commands/invoke.js";import{TierAwareClient as se}from"./tier/index.js";import{buildProjectMemoryContent as fe,createNodeProjectMemoryFs as ge,writeProjectMemory as Ce,writeProjectMemoryTargetFiles as xe}from"./memory/project-memory-writer.js";export{I as AdapterRegistry,h as AntigravityAdapter,Z as ApprovalPolicyConfigError,E as ClaudeCodeAdapter,w as ClientCircuitBreaker,P as CodexAdapter,O as CursorAdapter,z as DegradationLevel,G as DegradationManager,m as EncryptedCache,oe as FRONTMATTER_DIAGNOSTIC_CATEGORIES,te as FRONTMATTER_DIAGNOSTIC_REASON_CODES,L as FreshnessIndicator,F as GeminiAdapter,y as LicenseClient,i as LocalResolver,t as NoOpCache,B as OfflineTelemetryQueue,V as RecoveryDetector,p as RemoteResolver,l as RemoteResolverError,o as ResolverMode,se as TierAwareClient,N as UnknownTargetError,D as VSCodeAdapter,fe as buildProjectMemoryContent,C as collectContext,ce as collectStateSnapshot,ee as configCliHandler,b as createDefaultRegistry,ge as createNodeProjectMemoryFs,d as createResolver,j as detectPlatform,W as ensureManagedSubagentApprovalPolicy,q as formatCacheStatus,ie as formatFrontmatterDiagnostic,U as getCacheStatus,ae as getFrontmatterDiagnostic,S as getMachineFingerprint,K as getSubagentApprovalPolicy,pe as invoke,le as invokeCliHandler,_ as isValidTargetId,Y as resetSubagentApprovalMode,v as sanitizeObject,R as sanitizeRecord,A as sanitizeValue,f as selectResolver,X as setSubagentApprovalMode,Ce as writeProjectMemory,xe as writeProjectMemoryTargetFiles};
|
|
@@ -16,6 +16,8 @@ export interface LicenseClientOptions {
|
|
|
16
16
|
readonly licenseKey: string;
|
|
17
17
|
readonly cacheProvider?: CacheProvider;
|
|
18
18
|
readonly clientVersion?: string;
|
|
19
|
+
/** Use only an already-valid cached JWT; never refresh or activate. */
|
|
20
|
+
readonly strictReadOnly?: boolean;
|
|
19
21
|
}
|
|
20
22
|
interface ActivationResult {
|
|
21
23
|
readonly token: string;
|
|
@@ -28,6 +30,7 @@ export declare class LicenseClient {
|
|
|
28
30
|
private readonly cache;
|
|
29
31
|
private readonly clientVersion;
|
|
30
32
|
private readonly machineId;
|
|
33
|
+
private readonly strictReadOnly;
|
|
31
34
|
private token;
|
|
32
35
|
private refreshToken;
|
|
33
36
|
constructor(options: LicenseClientOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{decodeJwt as c}from"jose";import{NoOpCache as
|
|
1
|
+
import{decodeJwt as c}from"jose";import{NoOpCache as a}from"../types/index.js";import{getMachineFingerprint as o}from"../machine/fingerprint.js";const i="neocortex:jwt:token",s="neocortex:jwt:refresh_token",l=300,h=10080*60*1e3,f="0.1.0";class T{serverUrl;licenseKey;cache;clientVersion;machineId;strictReadOnly;token=null;refreshToken=null;constructor(e){this.serverUrl=e.serverUrl.replace(/\/+$/,""),this.licenseKey=e.licenseKey,this.cache=e.cacheProvider??new a,this.clientVersion=e.clientVersion??f,this.strictReadOnly=e.strictReadOnly??!1,this.machineId=o({strictReadOnly:this.strictReadOnly})}async getToken(){try{if(this.token){const r=this.checkTokenValidity(this.token);if(r==="valid")return this.token;if(r==="needs-refresh")return this.strictReadOnly?this.token:(await this.refresh())?.token??this.token;this.token=null}const e=await this.loadFromCache();if(e){this.token=e;const r=this.checkTokenValidity(e);if(r==="valid")return e;if(r==="needs-refresh")return this.strictReadOnly?e:(await this.refresh())?.token??e;this.token=null}if(this.strictReadOnly)return null;if(this.refreshToken||(this.refreshToken=await this.loadRefreshTokenFromCache()),this.refreshToken){const r=await this.refresh();if(r?.token)return r.token}return(await this.activate())?.token??null}catch{return null}}async activate(){if(this.strictReadOnly)return null;try{const e=await fetch(`${this.serverUrl}/api/v1/license/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({license_key:this.licenseKey,machine_id:this.machineId,client_version:this.clientVersion})});if(!e.ok)return null;const t=await e.json();return this.token=t.token,this.refreshToken=t.refresh_token??null,await this.cache.set(i,t.token,t.expires_in*1e3).catch(()=>{}),t.refresh_token&&await this.cache.set(s,t.refresh_token,h).catch(()=>{}),{token:t.token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}catch{return null}}async refresh(e){if(this.strictReadOnly)return null;try{const t=this.refreshToken??await this.loadRefreshTokenFromCache();if(!t)return null;const r=await fetch(`${this.serverUrl}/api/v1/license/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refresh_token:t})});if(!r.ok)return this.refreshToken=null,await this.cache.set(s,"",1).catch(()=>{}),null;const n=await r.json();return this.token=n.token,this.refreshToken=n.refresh_token??null,await this.cache.set(i,n.token,n.expires_in*1e3).catch(()=>{}),n.refresh_token&&await this.cache.set(s,n.refresh_token,h).catch(()=>{}),{token:n.token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}catch{return null}}async forceRefresh(){if(this.strictReadOnly)return null;try{const e=await this.refresh();return e?.token?e.token:(this.token=null,this.refreshToken=null,await this.cache.clear().catch(()=>{}),(await this.activate())?.token??null)}catch{return null}}checkTokenValidity(e){try{const t=c(e);if(!t.exp)return"expired";const r=Math.floor(Date.now()/1e3);return t.exp<=r?"expired":t.exp-r<=l?"needs-refresh":"valid"}catch{return"expired"}}async loadFromCache(){try{return await this.cache.get(i)}catch{return null}}async loadRefreshTokenFromCache(){try{const e=await this.cache.get(s);return e&&e.length>0?e:null}catch{return null}}}export{T as LicenseClient};
|
|
@@ -31,4 +31,6 @@ export declare function computeHardwareFingerprint(): string;
|
|
|
31
31
|
*
|
|
32
32
|
* @returns 64-character hex string (SHA-256 digest)
|
|
33
33
|
*/
|
|
34
|
-
export declare function getMachineFingerprint(
|
|
34
|
+
export declare function getMachineFingerprint(options?: {
|
|
35
|
+
readonly strictReadOnly?: boolean;
|
|
36
|
+
}): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createHash as p}from"node:crypto";import{existsSync as s,readFileSync as a,writeFileSync as
|
|
2
|
-
`,"utf-8"),
|
|
1
|
+
import{createHash as p}from"node:crypto";import{existsSync as s,readFileSync as a,writeFileSync as d,mkdirSync as h,chmodSync as g}from"node:fs";import{join as o}from"node:path";import{arch as y,cpus as F,homedir as I,hostname as M,networkInterfaces as S,platform as w}from"node:os";const O="00:00:00:00:00:00",i=o(I(),".neocortex"),c=o(i,".machine-id");function $(){const t=S(),r=[];for(const e of Object.values(t))if(e)for(const n of e)!n.internal&&n.mac!==O&&r.push(n.mac);return[...new Set(r)].sort()}function E(){const t=M(),r=w(),e=y(),n=F(),u=n.length>0?n[0].model:"",l=$(),m=`${t}|${r}|${e}|${u}|${l.join(",")}`;return p("sha256").update(m).digest("hex")}function x(t){try{process.platform!=="win32"&&g(t,384)}catch{}}function C(){try{if(!s(c))return null;const t=a(c,"utf-8").trim();return/^[a-f0-9]{64}$/.test(t)?t:null}catch{return null}}function f(t){try{h(i,{recursive:!0}),d(c,t+`
|
|
2
|
+
`,"utf-8"),x(c)}catch{}}function R(){try{const t=o(i,"config.json");if(!s(t))return null;const r=a(t,"utf-8"),n=JSON.parse(r.replace(/^\uFEFF/,"")).machineId;return typeof n=="string"&&/^[a-f0-9]{64}$/.test(n)?n:null}catch{return null}}function H(t={}){const r=C();if(r)return r;const e=R();if(e)return t.strictReadOnly||f(e),e;const n=E();return t.strictReadOnly||f(n),n}export{E as computeHardwareFingerprint,H as getMachineFingerprint};
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import{existsSync as
|
|
1
|
+
import{existsSync as b,lstatSync as S,mkdirSync as x,copyFileSync as O,readdirSync as Y,readFileSync as E,readlinkSync as J,renameSync as Z,rmSync as N,statSync as ye,symlinkSync as L,unlinkSync as Q,writeFileSync as U}from"node:fs";import{platform as B}from"node:os";import{dirname as M,join as y,relative as he}from"node:path";import{CANONICAL_PROJECT_MEMORY_SOURCE as g,getProjectMemoryTarget as q,renderArchitectureReferenceTable as be}from"./shared-project-memory-types.js";function V(e){return(e.memoryNotes?.length??0)>0||(e.architectureReferences?.length??0)>0||e.bootstrapArchitecture!==void 0}const W="<!-- NEOCORTEX-REFRESH-UPDATES-START -->",F="<!-- NEOCORTEX-REFRESH-UPDATES-END -->";function A(e,t){return e.split(t).length-1}function ge(e){oe(e.memoryNotes??[],e.architectureReferences??[],e.bootstrapArchitecture);const t=X(e.memoryNotes??[]).map(s=>`- [${s.reasonCode}] ${s.summary} (layer: ${s.layer})`),n=(e.architectureReferences??[]).map(s=>`- [architecture-reference] \`${s.path}\`: ${s.title}; ${s.purpose}; use: ${s.suggestedUsage}`),r=e.bootstrapArchitecture,o=r===void 0?[]:[...(r.universalLaws??[]).map(s=>`- [bootstrap-law] ${s}`),...(r.businessContext??[]).map(s=>`- [bootstrap-business] ${s}`),...(r.activeContext??[]).map(s=>`- [bootstrap-context] ${s}`),...(r.repositoryMap??[]).map(s=>`- [bootstrap-repository] ${s}`),...(r.environmentPractices??[]).map(s=>`- [bootstrap-environment] ${s}`),...(r.platformMemoryContract??[]).map(s=>`- [bootstrap-platform] ${s}`),...(r.maintenanceRules??[]).map(s=>`- [bootstrap-maintenance] ${s}`),...(r.heuristics??[]).map(s=>`- [bootstrap-heuristic] ${s}`)];return w([...t,...n,...o])}function ke(e,t){if(t.split(`
|
|
2
|
+
`).length>e.budget.maxLines||Buffer.byteLength(t,"utf8")>e.budget.maxBytes)throw new Error("Canonical project memory update exceeds its context budget; refusing to truncate existing content.")}function ee(e,t,n){const r=ge(n);if(r.length===0)return t;const o=t.includes(`\r
|
|
3
|
+
`)?`\r
|
|
4
|
+
`:`
|
|
5
|
+
`,s=P(e),a=j(e),u=A(t,s),i=A(t,a);if(u!==1||i!==1||t.indexOf(a)<t.indexOf(s))throw new Error("Canonical project memory has ambiguous managed-block markers; refusing refresh.");const d=A(t,W),c=A(t,F);if(d!==c||d>1)throw new Error("Canonical project memory has ambiguous refresh-update markers; refusing refresh.");let l;if(d===0){const f=t.indexOf(a),h=t.slice(0,f),k=[W,"## Durable Refresh Updates",...r,F,""].join(o);l=`${h}${h.endsWith(o)?"":o}${k}${t.slice(f)}`}else{const f=t.indexOf(W),h=t.indexOf(F),k=t.indexOf(s),R=t.indexOf(a);if(f<k||h>R||h<f)throw new Error("Canonical refresh-update block is outside the managed block; refusing refresh.");const _=t.slice(f,h),D=new Set(_.split(/\r?\n/).map($=>$.trim().toLowerCase())),m=r.filter($=>!D.has($.trim().toLowerCase()));if(m.length===0)return t;const v=t.slice(0,h);l=`${v}${v.endsWith(o)?"":o}${m.join(o)}${o}${t.slice(h)}`}return ke(e,l),l}function we(){return{readFile(e){try{return E(e,"utf8")}catch{return}},writeFileAtomic(e,t){x(M(e),{recursive:!0});const n=`${e}.tmp-${process.pid}-${Date.now()}`,r=b(e)?`${e}.bak-${Date.now()}`:void 0;try{return U(n,t,"utf8"),r!==void 0&&O(e,r),Z(n,e),{backupPath:r}}catch(o){if(N(n,{force:!0}),r!==void 0&&b(r))try{O(r,e)}catch{}throw o}},join(...e){return y(...e)}}}function P(e){return`<!-- ${e.ownedBlockName}-START -->`}function j(e){return`<!-- ${e.ownedBlockName}-END -->`}function w(e){const t=new Set,n=[];for(const r of e){const o=r.trim().replace(/\s+/g," ");o.length===0||t.has(o.toLowerCase())||(t.add(o.toLowerCase()),n.push(o))}return n}function Ee(e){const t=new Set,n=[];for(const r of e)t.has(r.path)||(t.add(r.path),n.push(r));return n}function Re(e){switch(e.templateKind){case"neocortex-md":return"# NEOCORTEX.md Project Memory";case"claude-md":return"# CLAUDE.md Project Memory";case"agents-md":return"# AGENTS.md Project Instructions";case"gemini-md":return"# GEMINI.md Project Memory";case"copilot-instructions":return"# GitHub Copilot Repository Instructions";case"cursor-rule":return`---
|
|
2
6
|
description: Neocortex project memory
|
|
3
7
|
alwaysApply: true
|
|
4
8
|
---
|
|
5
9
|
|
|
6
|
-
# Cursor Project Memory`}}const
|
|
7
|
-
`),
|
|
8
|
-
`),o=[],
|
|
9
|
-
`);return
|
|
10
|
-
`)}function
|
|
11
|
-
`)}const
|
|
12
|
-
${t.slice(0,2e3)}`),
|
|
10
|
+
# Cursor Project Memory`}}const $e=["Keep always-loaded memory compact: laws, active context, and references only.","Preserve human-authored instructions outside this owned block.","Prefer repository SSoT docs over duplicating architecture details here."],Ce=["Consult `docs/architecture/` before changes that affect architecture, contracts, data, security, performance, UX, or infrastructure.","Reference architecture documents by repository path, such as `docs/architecture/architecture.md`, before changing related implementation.","Summarize decisions and trade-offs in NEOCORTEX.md; do not paste complete architecture documents into memory.","Update memory for durable cross-layer changes across skills/agents, frontend, backend, API, DB, schemas, envs, DevOps, cyber security, testing/QA, observability, product, docs, and platform contracts.","Prioritize compact summaries of durable decisions, public contracts, operational risks, debts, command behavior, and repository paths; skip transient logs, raw payloads, secrets, private prompts, long documents, and duplicated canonical sources.","Keep platform memory files symlink-backed or include-backed to NEOCORTEX.md when supported."],Ye=["skills-agents","frontend","backend","api","db","schemas","envs","devops","cyber-security","testing-qa","observability","product-business","docs-architecture","platform-memory","command-behavior","generic"],Se=360,te={feature:"Features",rule:"Rules/Policies",flag:"Flags",route:"Routes",api:"APIs/Contracts","db-schema":"DB/Schema",architecture:"Architecture",debt:"Debts",decision:"Decisions",generic:"General Updates"},Pe=/\b(private|proprietary|server[- ]only|system)\s+prompt\b|\b(api[-_ ]?key|license[-_ ]?key|password|authorization|bearer|token|secret)\s*[:=]|\b(ghp_[A-Za-z0-9_]+|sk-[A-Za-z0-9_-]+|xox[baprs]-[A-Za-z0-9-]+)\b|\b(customer|cliente)\s+(payload|record|email|phone)\b|\b(customer|cliente)\s+(data|dados)\s+(payload|record|email|phone)\b|\b(customer|cliente)\s+(data|dados)\s*[:=]|\braw\s+payload\b/i;function Te(e){const t=e.toLowerCase();return/\b(project memory|canonical memory|memory heuristic|neocortex\.md|\*update-memory)\b/.test(t)?"decision":/\b(feature|capability|funcionalidade|release)\b/.test(t)?"feature":/\b(rule|policy|guardrail|regra|lei|must|never)\b/.test(t)?"rule":/\b(flag|feature[- ]?flag|toggle|env var|environment variable)\b/.test(t)?"flag":/\b(api|contract|schema contract|graphql|rest|rpc|webhook)\b/.test(t)?"api":/\b(db|database|schema|migration|table|column|prisma|sql)\b/.test(t)?"db-schema":/\b(decision|decisão|decisao|accepted|rejected|trade[- ]?off)\b/.test(t)?"decision":/\b(route|endpoint route|url path|pathname)\b|\/(api|admin|portal|v\d+)\//.test(t)?"route":/\b(architecture|arquitetura|adr|topology|infra|boundary)\b/.test(t)?"architecture":/\b(debt|follow[- ]?up|todo|tech[- ]?debt|dívida|divida)\b/.test(t)?"debt":"generic"}function ve(e){const t=e.toLowerCase();return/\b(neocortex\.md|project memory|canonical memory|memory wrapper|symlink|owned block|memory heuristic)\b/.test(t)?"platform-memory":/\b(command|cli|\*update-memory|\*create-epic|\*arch-plan|workflow behavior)\b/.test(t)?"command-behavior":/\b(skill|agent|subagent|orchestrator|opencode|codex|claude|gemini|cursor)\b/.test(t)?"skills-agents":/\b(frontend|ui|ux|react|component|design[- ]?system|css|accessibility|a11y)\b/.test(t)?"frontend":/\b(backend|server|service|worker|job|queue)\b/.test(t)?"backend":/\b(api|endpoint|rest|graphql|rpc|webhook|contract)\b/.test(t)?"api":/\b(db|database|table|column|migration|sql|prisma)\b/.test(t)?"db":/\b(schema|schemas|zod|json schema|protobuf|openapi)\b/.test(t)?"schemas":/\b(env|environment|\.env\.example|config|configuration|feature[- ]?flag)\b/.test(t)?"envs":/\b(devops|deploy|deployment|ci|cd|docker|container|kubernetes|infra|terraform|rollback)\b/.test(t)?"devops":/\b(security|cyber|auth|authorization|permission|compliance|vulnerability|secret|token redaction)\b/.test(t)?"cyber-security":/\b(test|testing|qa|e2e|unit|integration|snapshot|property[- ]?based|flaky)\b/.test(t)?"testing-qa":/\b(observability|metric|metrics|log|logging|trace|tracing|alert|monitoring|slo)\b/.test(t)?"observability":/\b(product|business|user journey|onboarding|pricing|tenant|customer-facing)\b/.test(t)?"product-business":/\b(docs|documentation|architecture|arquitetura|adr|runbook|decision record)\b/.test(t)?"docs-architecture":"generic"}function re(e){const t=e.trim().replace(/\s+/g," ");if(Buffer.byteLength(t,"utf8")<=Se)return t;const n=t.match(/(?:^|\s)([\w.-]+(?:\/[\w.@-]+)+(?:\.[A-Za-z0-9]+)?)/)?.[1],r=t.slice(0,220).replace(/\s+\S*$/,"").trim();return n?`${r}\u2026 See ${n} for details.`:`${r}\u2026 Details omitted from always-loaded memory; keep source content in repository docs.`}function xe(e){p(e);const t=Te(e),n=ve(e);return{kind:t,layer:n,sectionTitle:te[t],summary:re(e),reasonCode:`memory_update_${t.replace("-","_")}`}}function X(e){const t=new Set,n=[];for(const r of e){const o=xe(r),s=`${o.kind}:${o.summary.toLowerCase()}`;t.has(s)||(t.add(s),n.push(o))}return n}function p(e){if(Pe.test(e))throw new Error("Project memory input violates IP boundary guardrails.")}function ne(e,t){const n=(e??"").split(`
|
|
11
|
+
`),r=t.split(`
|
|
12
|
+
`),o=[],s=Math.max(n.length,r.length);for(let u=0;u<s;u++){const i=n[u],d=r[u];if(i!==d&&(i!==void 0&&o.push(`- ${i}`),d!==void 0&&o.push(`+ ${d}`),o.length>=80)){o.push("\u2026 diff truncated; inspect repository diff for full context.");break}}const a=o.join(`
|
|
13
|
+
`);return p(a),a}function z(e){p(e.path),p(e.title),p(e.purpose),p(e.suggestedUsage)}function oe(e,t,n){e.forEach(p),t.forEach(z),n?.universalLaws?.forEach(p),n?.businessContext?.forEach(p),n?.activeContext?.forEach(p),n?.repositoryMap?.forEach(p),n?.environmentPractices?.forEach(p),n?.platformMemoryContract?.forEach(p),n?.maintenanceRules?.forEach(p),n?.heuristics?.forEach(p),n?.importantReferences?.forEach(z),n?.architectureReferences?.forEach(z)}function se(e){return[Re(e),"","This file contains compact, always-loaded project memory. Keep detailed architecture in referenced docs.",""].join(`
|
|
14
|
+
`)}function ae(e,t,n,r){oe(t,n,r);const o=w([...$e,...r?.universalLaws??[]]),s=w([...r?.activeContext??[],...t.map(re)]),a=X(t),u=w(r?.businessContext??["Product/business context was not explicitly documented during bootstrap; treat conclusions as repository-inferred until a human updates this section."]),i=w(r?.repositoryMap??["Source, tests, package/build files, docs, CI, and runtime manifests are the permitted bootstrap sources for repository orientation."]),d=w(r?.environmentPractices??["Use `.env.example` for configuration shape only; do not read real environment files or credential-bearing files into always-loaded memory."]),c=w(r?.platformMemoryContract??["Semantic platform memory file must resolve to NEOCORTEX.md through a symlink; do not replace it with an unrelated wrapper or copied frontmatter.","Platform wrapper/frontmatter must be preserved via split/include/managed block while the semantic memory payload remains symlink-backed by NEOCORTEX.md."]),l=w(r?.maintenanceRules??["Keep NEOCORTEX.md deterministic, compact, objective, and direct; store only summaries, indexes, and links to detailed docs.","Do not copy protected prompt bodies, proprietary wrappers, server-side internals, customer data, license keys, or long document bodies into always-loaded memory."]),f=Ee([...r?.importantReferences??[],...r?.architectureReferences??[],...n]),h=w([...Ce,...r?.heuristics??[]]),k=o.map(m=>`- ${m}`),R=s.length>0?s.map(m=>`- ${m}`):["- No active project notes recorded."],_=f.length>0?be(f):"No architecture references discovered.",D=a.length>0?Object.entries(te).flatMap(([m,v])=>{const $=a.filter(C=>C.kind===m);return $.length>0?[`### ${v}`,...$.map(C=>`- [${C.reasonCode}] ${C.summary} (layer: ${C.layer})`)]:[]}):["- No durable change feedback recorded."];return[P(e),"## Universal Project Laws",...k,"","## Business/Product Context",...u.map(m=>`- ${m}`),"","## Active Context",...R,"","## Durable Change Feedback",...D,"","## Architecture References",_,"","## Repository Map",...i.map(m=>`- ${m}`),"","## Environment/Container/Production/Security/Dev Practices",...d.map(m=>`- ${m}`),"","## Platform Memory Contract",...c.map(m=>`- ${m}`),`- NEOCORTEX.md is the canonical project memory source for every platform target; run \`${e.bidirectionalReference.feedbackTrigger}\` when durable context discovered in a platform wrapper should be fed back into canonical memory.`,"","## Maintenance Rules",...l.map(m=>`- ${m}`),"","## Architecture Heuristics",...h.map(m=>`- ${m}`),j(e)].join(`
|
|
15
|
+
`)}const ie=["docs/architecture","docs/arquitetura-software"],Oe=["README.md","readme.md","architecture.md","docs/architecture.md"],Ne=["package.json","pnpm-lock.yaml","package-lock.json","yarn.lock","tsconfig.json","vite.config.ts","turbo.json"],Me=["Dockerfile","docker-compose.yml","compose.yml",".env.example","fly.toml"],Ae=["AGENTS.md","CLAUDE.md","GEMINI.md",".opencode/AGENTS.md",".cursor/rules/neocortex.mdc"];function ce(e,t,n=24e3){const r=y(e,t);try{if(!b(r)||S(r).isDirectory())return;const o=E(r,"utf8");return o.length<=n?o:o.slice(0,n)}catch{return}}function G(e,t){x(M(e),{recursive:!0});const n=`${e}.tmp-${process.pid}-${Date.now()}`,r=b(e)?`${e}.bak-${Date.now()}`:void 0;try{return U(n,t,"utf8"),r!==void 0&&O(e,r),Z(n,e),r}catch(o){if(N(n,{force:!0}),r!==void 0&&b(r))try{O(r,e)}catch{}throw o}}function H(e){return Array.from(new Set(X(e).map(t=>t.reasonCode)))}function T(e,t){try{return b(y(e,t))}catch{return!1}}function je(e,t){try{return Y(y(e,t),{withFileTypes:!0}).filter(n=>!n.name.startsWith(".")&&!n.name.toLowerCase().includes("secret")).sort((n,r)=>n.name.localeCompare(r.name)).slice(0,8).map(n=>`${t}/${n.name}${n.isDirectory()?"/":""}`)}catch{return[]}}function ue(e,t,n=16){try{const r=Y(y(e,t),{withFileTypes:!0}).filter(s=>!s.name.startsWith(".")&&!s.name.startsWith("_")).sort((s,a)=>s.name.localeCompare(a.name)),o=[];for(const s of r){const a=`${t}/${s.name}`;if(s.isDirectory()?o.push(...ue(e,a,n-o.length)):/\.(md|markdown)$/i.test(s.name)&&o.push(a),o.length>=n)break}return o}catch{return[]}}function Ie(e,t){const n=t.match(/^#\s+(.+?)\s*$/m)?.[1]?.trim();return n?n.replace(/[`*_#]/g,""):e.split("/").pop()?.replace(/\.(md|markdown)$/i,"").replace(/[-_]+/g," ")??e}function _e(e,t){const n=/\b(stale|deprecated|outdated|incerto|uncertain)\b/i.test(`${e}
|
|
16
|
+
${t.slice(0,2e3)}`),r=t.replace(/^---[\s\S]*?---\s*/,"").split(/\n{2,}/).map(s=>s.replace(/^#+\s+.+$/gm,"").replace(/[`*_>#]/g,"").replace(/\s+/g," ").trim()).find(s=>s.length>0&&!s.startsWith("|"));return`${n?"[stale/uncertain evidence] ":""}${(r??"Architecture reference for this project.").slice(0,180)}`}function De(e){const t=e.toLowerCase();return/deploy|infra|docker|production|runbook/.test(t)?"Use before changing deployment, runtime, containers, or production operations.":/security|auth|compliance/.test(t)?"Use before changing auth, compliance, or security-sensitive behavior.":/api|contract|state|schema/.test(t)?"Use before changing contracts, APIs, schemas, or persisted state.":"Use before implementation in this area; verify freshness when marked stale or uncertain."}function de(e){const t=Ne.filter(c=>T(e,c)),n=Me.filter(c=>T(e,c)),r=Ae.filter(c=>T(e,c)),o=["packages","src","apps","tests","__tests__"].filter(c=>T(e,c)),a=[...ie.flatMap(c=>ue(e,c)),...Oe.filter(c=>T(e,c))].slice(0,24).flatMap(c=>{const l=ce(e,c,48e3);return l?[{path:c,title:Ie(c,l),purpose:_e(c,l),suggestedUsage:De(c),source:ie.some(f=>c.startsWith(`${f}/`))?"architecture-root":"fallback-file"}]:[]}),u=ce(e,"package.json"),i=u?.match(/"name"\s*:\s*"([^"]+)"/)?.[1],d=[...u?.matchAll(/"(test|build|lint|typecheck|dev)"\s*:/g)??[]].map(c=>c[1]);return{universalLaws:["Bootstrap canonical memory before creating or repairing platform memory wrappers when NEOCORTEX.md is absent.","Use only permitted repository sources for bootstrap: package/build files, architecture docs, README/deploy docs, .env.example, runtime manifests, CI, source/test layout, and platform memory wrappers."],businessContext:[i?`Repository package name: ${i}.`:"Repository product name was not declared in package metadata.","Business/product conclusions are bootstrap-inferred and must be refined from canonical docs or human input."],activeContext:[`Bootstrap scanned ${t.length} package/build files, ${a.length} architecture/readme docs, ${n.length} runtime/config templates, and ${r.length} platform memory wrappers.`,d.length>0?`Detected quality scripts: ${d.sort().join(", ")}.`:"No standard quality scripts were detected in package metadata."],repositoryMap:[t.length>0?`Package/build files: ${t.join(", ")}.`:"No package/build files detected in permitted bootstrap set.",o.length>0?`Source/test roots: ${o.flatMap(c=>je(e,c)).slice(0,16).join(", ")}.`:"Source/test roots were not detected in standard locations.",r.length>0?`Platform memory/wrappers: ${r.join(", ")}.`:"No platform memory wrappers detected before bootstrap."],environmentPractices:[n.length>0?`Runtime/config templates: ${n.join(", ")}.`:"No Docker/compose/.env.example/runtime manifest detected in permitted bootstrap set.","Read `.env.example` only for configuration shape; never ingest real .env files, credentials, customer data, or license keys into memory.","Run repository quality scripts before commit and keep CI/deploy evidence referenced by path or URL rather than copied verbatim."],platformMemoryContract:["Semantic platform memory file must resolve to NEOCORTEX.md through a symlink; do not replace it with an unrelated wrapper or copied frontmatter.","Preserve wrappers/frontmatter via split/include/managed block while the semantic memory payload remains symlink-backed by NEOCORTEX.md."],maintenanceRules:["Generated memory must be deterministic, objective, direct, compact, and inside the target always-loaded context budget.","Cite long architecture docs by path with usage guidance; mark stale or uncertain docs when repository evidence indicates that status.","Do not copy protected prompt bodies, proprietary wrappers, server internals, secrets, customer data, license keys, or complete long documents."],architectureReferences:a,heuristics:["Before processing a story, consult the cited Architecture References whose path or suggested usage intersects the change.","When a referenced doc is marked stale/uncertain, validate against current package/runtime/source evidence before relying on it."]}}function K(e,t,n){const r=P(t),o=j(t),s=e.indexOf(r),a=e.indexOf(o);if(s>=0&&a>=s){const i=a+o.length;return`${e.slice(0,s)}${n}${e.slice(i)}`}const u=e.endsWith(`
|
|
13
17
|
`)?`
|
|
14
18
|
`:`
|
|
15
19
|
|
|
16
|
-
`;return`${e}${
|
|
17
|
-
`}function
|
|
20
|
+
`;return`${e}${u}${n}
|
|
21
|
+
`}function Le(e){return e.endsWith(".mdc")?`---
|
|
18
22
|
description: Neocortex project memory
|
|
19
23
|
alwaysApply: true
|
|
20
24
|
---
|
|
@@ -28,9 +32,9 @@ name: neocortex
|
|
|
28
32
|
description: Neocortex project memory wrapper
|
|
29
33
|
---
|
|
30
34
|
|
|
31
|
-
`:""}function
|
|
35
|
+
`:""}function le(e,t){const n=M(y(e,t)),r=y(e,g),o=he(n,r);return o.length>0?o:g}function I(e,t){return!!(e.targetId==="canonical"||e.requiresWrapperPreservation||e.linkRequirement.requiresWrapperPreservation||e.linkRequirement.wrapperAllowed||t==="AGENTS.md"||t.includes("/agents/")||t.includes("/skills/")||t.endsWith(".toml")||t.endsWith(".mdc")||t.endsWith(".agent.md")||t.endsWith(".instructions.md"))}function Ue(e){return e.linkRequirement.symlinkBacked&&e.linkRequirement.semanticFileRequired}function me(e,t,n,r){if(r!==void 0)return r;const o=Ue(t);if(!o)return{os:B(),supported:!1,permission:"unknown",filesystem:"unknown",targetPolicy:t.linkRequirement.policy,targetPolicyAllowsSymlink:o,requiresWrapperPreservation:I(t,n),reason:`target policy ${t.linkRequirement.policy} does not allow semantic symlink orchestration`};const s=y(e,".neocortex","tmp"),a=y(s,`symlink-capability-source-${process.pid}-${Date.now()}`),u=y(s,`symlink-capability-link-${process.pid}-${Date.now()}`);try{x(s,{recursive:!0}),U(a,"probe","utf8"),L(a,u);const i=S(u).isSymbolicLink()&&ye(u).isFile();return{os:B(),supported:i,permission:i?"ok":"unknown",filesystem:i?"supports-symlink":"no-symlink-support",targetPolicy:t.linkRequirement.policy,targetPolicyAllowsSymlink:o,requiresWrapperPreservation:I(t,n),reason:i?void 0:"filesystem probe did not create a resolvable symbolic link"}}catch(i){const d=i instanceof Error?i.message:String(i),c=/EPERM|EACCES|operation not permitted|permission/i.test(d);return{os:B(),supported:!1,permission:c?"denied":"unknown",filesystem:"no-symlink-support",targetPolicy:t.linkRequirement.policy,targetPolicyAllowsSymlink:o,requiresWrapperPreservation:I(t,n),reason:d}}finally{N(u,{force:!0}),N(a,{force:!0})}}function Be(e,t,n,r){const o=le(r,t),s=n??`${Le(t)}# ${e.platformName} Neocortex Memory Wrapper
|
|
32
36
|
|
|
33
|
-
`,
|
|
34
|
-
`);return
|
|
35
|
-
`)}${
|
|
36
|
-
`).length<=e.budget.maxLines&&Buffer.byteLength(
|
|
37
|
+
`,a=[P(e),"## Canonical Project Memory Source","",`This platform wrapper preserves host-specific frontmatter/instructions while resolving project memory to \`${o}\`.`,"",`- Canonical source: \`${g}\``,`- Symlink-backed/source-of-truth file: \`${o}\``,`- Feedback loop: read \`${o}\` for shared context and run \`${e.bidirectionalReference.feedbackTrigger}\` when durable platform findings should update \`${g}\`.`,"- Human-authored content outside this managed block is preserved byte-for-byte.",j(e)].join(`
|
|
38
|
+
`);return K(s,e,a)}function fe(e,t,n,r,o,s=!1){const a=y(e,t),i=`${["[NEOCORTEX COMPATIBILITY REMEDIATION]","Materialized project memory fallback because semantic symlink orchestration failed.","This is not product mode; repair host permissions/filesystem support and restore the symlink to NEOCORTEX.md.","WARNING: materialized fallback is remediation debt, not a silent mode; run *update-memory for durable context and repair this file back to canonical NEOCORTEX.md resolution.",`Fallback reason: ${o}`,""].join(`
|
|
39
|
+
`)}${n}`,c=(b(a)?E(a,"utf8"):void 0)!==i;return c&&!s&&(b(a)&&S(a).isSymbolicLink()&&Q(a),G(a,i)),{filePath:a,relativeFile:t,changed:c,content:i,mode:"compatibility-materialized-fallback",canonicalSource:g,symlinkCapability:r,fallbackReason:o,remediationDebt:`Repair ${t} so it is a symlink to ${g}; fallback is compatibility remediation only.`}}function qe(e,t,n,r,o,s=!1){const a=y(e,t),u=le(e,t);x(M(a),{recursive:!0});const i=me(e,n,t,o);if(!i.supported)return fe(e,t,r,i,i.reason??"symlink capability detection reported unsupported host",s);if(s){let c=!0;try{c=!(b(a)&&S(a).isSymbolicLink()&&J(a)===u)}catch{c=!0}return{filePath:a,relativeFile:t,changed:c,content:r,mode:"semantic-symlink",canonicalSource:g,symlinkCapability:i}}let d=!1;try{return b(a)?S(a).isSymbolicLink()&&J(a)===u?d=!1:(Q(a),L(u,a),d=!0):(L(u,a),d=!0),{filePath:a,relativeFile:t,changed:d,content:E(a,"utf8"),mode:"semantic-symlink",canonicalSource:g,symlinkCapability:i}}catch(c){const l=c instanceof Error?c.message:String(c);return fe(e,t,r,{...i,supported:!1,permission:/EPERM|EACCES|operation not permitted|permission/i.test(l)?"denied":i.permission,filesystem:"no-symlink-support",reason:l},l,s)}}function We(e,t,n,r,o){const s=i=>i.split(`
|
|
40
|
+
`).length<=e.budget.maxLines&&Buffer.byteLength(i,"utf8")<=e.budget.maxBytes;if(s(t))return t;const a=ae(e,n.slice(0,8),r.slice(0,12),o),u=K(t.includes(P(e))?t:se(e),e,a);return s(u)?u:u.slice(0,e.budget.maxBytes)}function pe(e,t,n=[],r=[],o){const s=t??se(e),a=ae(e,n,r,o),u=K(s,e,a);return We(e,u,n,r,o)}function Fe(e){const t=q(e.targetId),n=e.fs??we(),r=n.join(e.projectRoot,t.primaryFile);if(t.targetId!=="canonical"&&e.fs===void 0){const i=Xe(e).files.find(d=>d.relativeFile===t.primaryFile);if(i===void 0)throw new Error(`Primary project memory file was not written for ${t.targetId}.`);return{filePath:i.filePath,changed:i.changed,content:i.content}}const o=n.readFile(r),s=e.bootstrapArchitecture??(e.fs===void 0&&t.targetId==="canonical"&&o===void 0?de(e.projectRoot):void 0),a=t.targetId==="canonical"&&o!==void 0?V(e)?ee(t,o,e):o:pe(t,o,e.memoryNotes,e.architectureReferences,s);if(o===a)return{filePath:r,changed:!1,content:a};const u=e.dryRun?void 0:n.writeFileAtomic(r,a);return{filePath:r,changed:!0,content:a,safeDiff:ne(o,a),backupPath:u?.backupPath,reasonCodes:H(e.memoryNotes??[])}}function Je(e){return Fe({...e,targetId:"canonical"})}function Xe(e){if(e.fs!==void 0)throw new Error("writeProjectMemoryTargetFiles requires the node filesystem to manage symlinks safely.");const t=q(e.targetId),n=q("canonical"),r=y(e.projectRoot,g),o=b(r)?E(r,"utf8"):void 0,s=e.bootstrapArchitecture??(o===void 0?de(e.projectRoot):void 0),a=o!==void 0?V(e)?ee(n,o,e):o:pe(n,o,e.memoryNotes,e.architectureReferences,s),u=!b(r)||E(r,"utf8")!==a;let i;if(u&&!e.dryRun&&(i=G(r,a)),t.targetId==="canonical")return{targetId:t.targetId,canonicalFilePath:r,changed:u,files:[{filePath:r,relativeFile:g,changed:u,content:a,mode:"canonical",canonicalSource:g,safeDiff:ne(o,a),backupPath:i,reasonCodes:H(e.memoryNotes??[])}]};const c=Array.from(new Set([t.primaryFile,...t.secondaryFiles])).map(l=>{if(!I(t,l))return qe(e.projectRoot,l,t,a,e.symlinkCapability,e.dryRun);const f=y(e.projectRoot,l),h=b(f)?E(f,"utf8"):void 0,k=Be(t,l,h,e.projectRoot),R=h!==k;return R&&!e.dryRun&&G(f,k),{filePath:f,relativeFile:l,changed:R,content:k,mode:"managed-wrapper",canonicalSource:g,symlinkCapability:me(e.projectRoot,t,l,e.symlinkCapability),reasonCodes:H(e.memoryNotes??[])}});return{targetId:t.targetId,canonicalFilePath:r,files:c,changed:u||c.some(l=>l.changed)}}export{Ye as PROJECT_MEMORY_LAYER_CATEGORIES,de as bootstrapArchitectureMemory,pe as buildProjectMemoryContent,xe as classifyProjectMemoryUpdate,we as createNodeProjectMemoryFs,ne as createSafeProjectMemoryDiff,Je as writeCanonicalProjectMemory,Fe as writeProjectMemory,Xe as writeProjectMemoryTargetFiles};
|