@ornexus/neocortex 3.8.0

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.
Files changed (156) hide show
  1. package/LICENSE +56 -0
  2. package/README.md +661 -0
  3. package/install.js +453 -0
  4. package/install.ps1 +1478 -0
  5. package/install.sh +1409 -0
  6. package/package.json +93 -0
  7. package/packages/client/dist/adapters/adapter-registry.d.ts +62 -0
  8. package/packages/client/dist/adapters/adapter-registry.d.ts.map +1 -0
  9. package/packages/client/dist/adapters/adapter-registry.js +107 -0
  10. package/packages/client/dist/adapters/adapter-registry.js.map +1 -0
  11. package/packages/client/dist/adapters/antigravity-adapter.d.ts +19 -0
  12. package/packages/client/dist/adapters/antigravity-adapter.d.ts.map +1 -0
  13. package/packages/client/dist/adapters/antigravity-adapter.js +78 -0
  14. package/packages/client/dist/adapters/antigravity-adapter.js.map +1 -0
  15. package/packages/client/dist/adapters/claude-code-adapter.d.ts +20 -0
  16. package/packages/client/dist/adapters/claude-code-adapter.d.ts.map +1 -0
  17. package/packages/client/dist/adapters/claude-code-adapter.js +80 -0
  18. package/packages/client/dist/adapters/claude-code-adapter.js.map +1 -0
  19. package/packages/client/dist/adapters/codex-adapter.d.ts +20 -0
  20. package/packages/client/dist/adapters/codex-adapter.d.ts.map +1 -0
  21. package/packages/client/dist/adapters/codex-adapter.js +81 -0
  22. package/packages/client/dist/adapters/codex-adapter.js.map +1 -0
  23. package/packages/client/dist/adapters/cursor-adapter.d.ts +20 -0
  24. package/packages/client/dist/adapters/cursor-adapter.d.ts.map +1 -0
  25. package/packages/client/dist/adapters/cursor-adapter.js +116 -0
  26. package/packages/client/dist/adapters/cursor-adapter.js.map +1 -0
  27. package/packages/client/dist/adapters/gemini-adapter.d.ts +19 -0
  28. package/packages/client/dist/adapters/gemini-adapter.d.ts.map +1 -0
  29. package/packages/client/dist/adapters/gemini-adapter.js +72 -0
  30. package/packages/client/dist/adapters/gemini-adapter.js.map +1 -0
  31. package/packages/client/dist/adapters/index.d.ts +20 -0
  32. package/packages/client/dist/adapters/index.d.ts.map +1 -0
  33. package/packages/client/dist/adapters/index.js +22 -0
  34. package/packages/client/dist/adapters/index.js.map +1 -0
  35. package/packages/client/dist/adapters/platform-detector.d.ts +47 -0
  36. package/packages/client/dist/adapters/platform-detector.d.ts.map +1 -0
  37. package/packages/client/dist/adapters/platform-detector.js +107 -0
  38. package/packages/client/dist/adapters/platform-detector.js.map +1 -0
  39. package/packages/client/dist/adapters/target-adapter.d.ts +71 -0
  40. package/packages/client/dist/adapters/target-adapter.d.ts.map +1 -0
  41. package/packages/client/dist/adapters/target-adapter.js +13 -0
  42. package/packages/client/dist/adapters/target-adapter.js.map +1 -0
  43. package/packages/client/dist/adapters/vscode-adapter.d.ts +20 -0
  44. package/packages/client/dist/adapters/vscode-adapter.d.ts.map +1 -0
  45. package/packages/client/dist/adapters/vscode-adapter.js +73 -0
  46. package/packages/client/dist/adapters/vscode-adapter.js.map +1 -0
  47. package/packages/client/dist/cache/crypto-utils.d.ts +31 -0
  48. package/packages/client/dist/cache/crypto-utils.d.ts.map +1 -0
  49. package/packages/client/dist/cache/crypto-utils.js +77 -0
  50. package/packages/client/dist/cache/crypto-utils.js.map +1 -0
  51. package/packages/client/dist/cache/encrypted-cache.d.ts +31 -0
  52. package/packages/client/dist/cache/encrypted-cache.d.ts.map +1 -0
  53. package/packages/client/dist/cache/encrypted-cache.js +92 -0
  54. package/packages/client/dist/cache/encrypted-cache.js.map +1 -0
  55. package/packages/client/dist/cache/index.d.ts +14 -0
  56. package/packages/client/dist/cache/index.d.ts.map +1 -0
  57. package/packages/client/dist/cache/index.js +14 -0
  58. package/packages/client/dist/cache/index.js.map +1 -0
  59. package/packages/client/dist/cli.d.ts +15 -0
  60. package/packages/client/dist/cli.d.ts.map +1 -0
  61. package/packages/client/dist/cli.js +182 -0
  62. package/packages/client/dist/cli.js.map +1 -0
  63. package/packages/client/dist/commands/activate.d.ts +48 -0
  64. package/packages/client/dist/commands/activate.d.ts.map +1 -0
  65. package/packages/client/dist/commands/activate.js +186 -0
  66. package/packages/client/dist/commands/activate.js.map +1 -0
  67. package/packages/client/dist/commands/cache-status.d.ts +40 -0
  68. package/packages/client/dist/commands/cache-status.d.ts.map +1 -0
  69. package/packages/client/dist/commands/cache-status.js +113 -0
  70. package/packages/client/dist/commands/cache-status.js.map +1 -0
  71. package/packages/client/dist/commands/invoke.d.ts +71 -0
  72. package/packages/client/dist/commands/invoke.d.ts.map +1 -0
  73. package/packages/client/dist/commands/invoke.js +345 -0
  74. package/packages/client/dist/commands/invoke.js.map +1 -0
  75. package/packages/client/dist/config/resolver-selection.d.ts +41 -0
  76. package/packages/client/dist/config/resolver-selection.d.ts.map +1 -0
  77. package/packages/client/dist/config/resolver-selection.js +278 -0
  78. package/packages/client/dist/config/resolver-selection.js.map +1 -0
  79. package/packages/client/dist/context/context-collector.d.ts +29 -0
  80. package/packages/client/dist/context/context-collector.d.ts.map +1 -0
  81. package/packages/client/dist/context/context-collector.js +223 -0
  82. package/packages/client/dist/context/context-collector.js.map +1 -0
  83. package/packages/client/dist/context/context-sanitizer.d.ts +29 -0
  84. package/packages/client/dist/context/context-sanitizer.d.ts.map +1 -0
  85. package/packages/client/dist/context/context-sanitizer.js +146 -0
  86. package/packages/client/dist/context/context-sanitizer.js.map +1 -0
  87. package/packages/client/dist/index.d.ts +55 -0
  88. package/packages/client/dist/index.d.ts.map +1 -0
  89. package/packages/client/dist/index.js +37 -0
  90. package/packages/client/dist/index.js.map +1 -0
  91. package/packages/client/dist/license/index.d.ts +6 -0
  92. package/packages/client/dist/license/index.d.ts.map +1 -0
  93. package/packages/client/dist/license/index.js +6 -0
  94. package/packages/client/dist/license/index.js.map +1 -0
  95. package/packages/client/dist/license/license-client.d.ts +53 -0
  96. package/packages/client/dist/license/license-client.d.ts.map +1 -0
  97. package/packages/client/dist/license/license-client.js +164 -0
  98. package/packages/client/dist/license/license-client.js.map +1 -0
  99. package/packages/client/dist/machine/fingerprint.d.ts +24 -0
  100. package/packages/client/dist/machine/fingerprint.d.ts.map +1 -0
  101. package/packages/client/dist/machine/fingerprint.js +61 -0
  102. package/packages/client/dist/machine/fingerprint.js.map +1 -0
  103. package/packages/client/dist/machine/index.d.ts +6 -0
  104. package/packages/client/dist/machine/index.d.ts.map +1 -0
  105. package/packages/client/dist/machine/index.js +6 -0
  106. package/packages/client/dist/machine/index.js.map +1 -0
  107. package/packages/client/dist/resilience/circuit-breaker.d.ts +71 -0
  108. package/packages/client/dist/resilience/circuit-breaker.d.ts.map +1 -0
  109. package/packages/client/dist/resilience/circuit-breaker.js +171 -0
  110. package/packages/client/dist/resilience/circuit-breaker.js.map +1 -0
  111. package/packages/client/dist/resilience/degradation-manager.d.ts +68 -0
  112. package/packages/client/dist/resilience/degradation-manager.d.ts.map +1 -0
  113. package/packages/client/dist/resilience/degradation-manager.js +165 -0
  114. package/packages/client/dist/resilience/degradation-manager.js.map +1 -0
  115. package/packages/client/dist/resilience/freshness-indicator.d.ts +60 -0
  116. package/packages/client/dist/resilience/freshness-indicator.d.ts.map +1 -0
  117. package/packages/client/dist/resilience/freshness-indicator.js +101 -0
  118. package/packages/client/dist/resilience/freshness-indicator.js.map +1 -0
  119. package/packages/client/dist/resilience/index.d.ts +9 -0
  120. package/packages/client/dist/resilience/index.d.ts.map +1 -0
  121. package/packages/client/dist/resilience/index.js +9 -0
  122. package/packages/client/dist/resilience/index.js.map +1 -0
  123. package/packages/client/dist/resilience/recovery-detector.d.ts +60 -0
  124. package/packages/client/dist/resilience/recovery-detector.d.ts.map +1 -0
  125. package/packages/client/dist/resilience/recovery-detector.js +75 -0
  126. package/packages/client/dist/resilience/recovery-detector.js.map +1 -0
  127. package/packages/client/dist/resolvers/asset-resolver.d.ts +80 -0
  128. package/packages/client/dist/resolvers/asset-resolver.d.ts.map +1 -0
  129. package/packages/client/dist/resolvers/asset-resolver.js +14 -0
  130. package/packages/client/dist/resolvers/asset-resolver.js.map +1 -0
  131. package/packages/client/dist/resolvers/local-resolver.d.ts +27 -0
  132. package/packages/client/dist/resolvers/local-resolver.d.ts.map +1 -0
  133. package/packages/client/dist/resolvers/local-resolver.js +219 -0
  134. package/packages/client/dist/resolvers/local-resolver.js.map +1 -0
  135. package/packages/client/dist/resolvers/remote-resolver.d.ts +63 -0
  136. package/packages/client/dist/resolvers/remote-resolver.d.ts.map +1 -0
  137. package/packages/client/dist/resolvers/remote-resolver.js +207 -0
  138. package/packages/client/dist/resolvers/remote-resolver.js.map +1 -0
  139. package/packages/client/dist/telemetry/index.d.ts +6 -0
  140. package/packages/client/dist/telemetry/index.d.ts.map +1 -0
  141. package/packages/client/dist/telemetry/index.js +6 -0
  142. package/packages/client/dist/telemetry/index.js.map +1 -0
  143. package/packages/client/dist/telemetry/offline-queue.d.ts +58 -0
  144. package/packages/client/dist/telemetry/offline-queue.d.ts.map +1 -0
  145. package/packages/client/dist/telemetry/offline-queue.js +132 -0
  146. package/packages/client/dist/telemetry/offline-queue.js.map +1 -0
  147. package/packages/client/dist/types/index.d.ts +141 -0
  148. package/packages/client/dist/types/index.d.ts.map +1 -0
  149. package/packages/client/dist/types/index.js +39 -0
  150. package/packages/client/dist/types/index.js.map +1 -0
  151. package/targets-stubs/antigravity/README.md +20 -0
  152. package/targets-stubs/claude-code/README.md +20 -0
  153. package/targets-stubs/codex/README.md +20 -0
  154. package/targets-stubs/cursor/README.md +20 -0
  155. package/targets-stubs/gemini-cli/README.md +20 -0
  156. package/targets-stubs/vscode/README.md +20 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @license FSL-1.1
3
+ * Copyright (c) 2026 OrNexus AI
4
+ *
5
+ * This file is part of Neocortex CLI, licensed under the
6
+ * Functional Source License, Version 1.1 (FSL-1.1).
7
+ *
8
+ * Change Date: February 20, 2029
9
+ * Change License: MIT
10
+ *
11
+ * See the LICENSE file in the project root for full license text.
12
+ */
13
+ /**
14
+ * @neocortex/client - Offline Telemetry Queue
15
+ *
16
+ * Persistent FIFO queue for telemetry events when the CLI operates offline.
17
+ * Events are stored in a JSON file and flushed when connection is restored.
18
+ * Respects configurable limits on event count (1000) and file size (5MB).
19
+ *
20
+ * Story 42.9
21
+ */
22
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
23
+ import { dirname } from 'node:path';
24
+ import { join } from 'node:path';
25
+ import { homedir } from 'node:os';
26
+ // ── Defaults ──────────────────────────────────────────────────────────────
27
+ const DEFAULT_CONFIG = {
28
+ queueFilePath: join(homedir(), '.neocortex', '.telemetry-queue'),
29
+ maxEvents: 1_000,
30
+ maxSizeBytes: 5_242_880, // 5MB
31
+ };
32
+ // ── OfflineTelemetryQueue ────────────────────────────────────────────────
33
+ export class OfflineTelemetryQueue {
34
+ config;
35
+ constructor(config) {
36
+ this.config = { ...DEFAULT_CONFIG, ...config };
37
+ }
38
+ /**
39
+ * Add a telemetry event to the queue.
40
+ * Evicts oldest events if limits are reached.
41
+ */
42
+ async enqueue(event) {
43
+ try {
44
+ const events = await this.loadQueue();
45
+ events.push(event);
46
+ // Evict oldest events if count limit exceeded
47
+ while (events.length > this.config.maxEvents) {
48
+ events.shift();
49
+ }
50
+ // Evict oldest events if size limit exceeded
51
+ let serialized = JSON.stringify(events);
52
+ while (Buffer.byteLength(serialized, 'utf8') > this.config.maxSizeBytes && events.length > 0) {
53
+ events.shift();
54
+ serialized = JSON.stringify(events);
55
+ }
56
+ await this.saveQueue(events);
57
+ }
58
+ catch {
59
+ // Queue write failures are non-critical
60
+ }
61
+ }
62
+ /**
63
+ * Flush all queued events using the provided send function.
64
+ * Returns count of sent and failed events.
65
+ */
66
+ async flush(sendFn) {
67
+ try {
68
+ const events = await this.loadQueue();
69
+ if (events.length === 0) {
70
+ return { sent: 0, failed: 0 };
71
+ }
72
+ const success = await sendFn(events);
73
+ if (success) {
74
+ await this.saveQueue([]);
75
+ return { sent: events.length, failed: 0 };
76
+ }
77
+ return { sent: 0, failed: events.length };
78
+ }
79
+ catch {
80
+ return { sent: 0, failed: 0 };
81
+ }
82
+ }
83
+ /**
84
+ * Get queue statistics.
85
+ */
86
+ async getStats() {
87
+ try {
88
+ const events = await this.loadQueue();
89
+ const serialized = JSON.stringify(events);
90
+ return {
91
+ count: events.length,
92
+ sizeBytes: Buffer.byteLength(serialized, 'utf8'),
93
+ };
94
+ }
95
+ catch {
96
+ return { count: 0, sizeBytes: 0 };
97
+ }
98
+ }
99
+ /**
100
+ * Clear all queued events.
101
+ */
102
+ async clear() {
103
+ try {
104
+ await this.saveQueue([]);
105
+ }
106
+ catch {
107
+ // Clear failures are non-critical
108
+ }
109
+ }
110
+ // ── Private ─────────────────────────────────────────────────────────
111
+ async loadQueue() {
112
+ try {
113
+ const raw = await readFile(this.config.queueFilePath, 'utf8');
114
+ const data = JSON.parse(raw);
115
+ if (!Array.isArray(data))
116
+ return [];
117
+ return data;
118
+ }
119
+ catch {
120
+ return [];
121
+ }
122
+ }
123
+ async saveQueue(events) {
124
+ const dir = dirname(this.config.queueFilePath);
125
+ await mkdir(dir, { recursive: true });
126
+ const tmpPath = `${this.config.queueFilePath}.tmp`;
127
+ await writeFile(tmpPath, JSON.stringify(events), 'utf8');
128
+ const { rename } = await import('node:fs/promises');
129
+ await rename(tmpPath, this.config.queueFilePath);
130
+ }
131
+ }
132
+ //# sourceMappingURL=offline-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline-queue.js","sourceRoot":"","sources":["../../src/telemetry/offline-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * @license FSL-1.1
3
+ * Copyright (c) 2026 OrNexus AI
4
+ *
5
+ * This file is part of Neocortex CLI, licensed under the
6
+ * Functional Source License, Version 1.1 (FSL-1.1).
7
+ *
8
+ * Change Date: February 20, 2029
9
+ * Change License: MIT
10
+ *
11
+ * See the LICENSE file in the project root for full license text.
12
+ */
13
+ /**
14
+ * @neocortex/client - Type Definitions
15
+ *
16
+ * All types for the asset resolution abstraction layer.
17
+ */
18
+ /** Mode of asset resolution */
19
+ export declare enum ResolverMode {
20
+ /** Read assets from local filesystem (development) */
21
+ LOCAL = "local",
22
+ /** Fetch assets from remote IP Protection Server (production) */
23
+ REMOTE = "remote"
24
+ }
25
+ /** Metadata about the codebase for context collection */
26
+ export interface CodebaseMetadata {
27
+ readonly projectName: string;
28
+ readonly languages: readonly string[];
29
+ readonly frameworks: readonly string[];
30
+ readonly dependencies: Readonly<Record<string, string>>;
31
+ readonly nodeVersion: string;
32
+ }
33
+ /** Metadata extracted from the story file */
34
+ export interface StoryMetadata {
35
+ readonly id: string;
36
+ readonly epicId: string;
37
+ readonly title: string;
38
+ readonly status: string;
39
+ readonly dependencies: readonly string[];
40
+ readonly acceptanceCriteria: readonly string[];
41
+ }
42
+ /** Full pipeline context sent to the server for prompt assembly */
43
+ export interface PipelineContext {
44
+ readonly storyId: string;
45
+ readonly stepId: string;
46
+ readonly epicId: string;
47
+ readonly storyTitle: string;
48
+ readonly currentStatus: string;
49
+ readonly stepsCompleted: readonly string[];
50
+ readonly branchName: string;
51
+ readonly platformTarget: string;
52
+ readonly codebaseMetadata: CodebaseMetadata;
53
+ readonly storyMetadata: StoryMetadata;
54
+ }
55
+ /** Content of a resolved pipeline step */
56
+ export interface StepContent {
57
+ readonly id: string;
58
+ readonly content: string;
59
+ readonly frontmatter: Readonly<Record<string, unknown>>;
60
+ }
61
+ /** Content of a resolved skill */
62
+ export interface SkillContent {
63
+ readonly id: string;
64
+ readonly content: string;
65
+ readonly metadata: Readonly<Record<string, unknown>>;
66
+ }
67
+ /** Content of a resolved standard */
68
+ export interface StandardContent {
69
+ readonly id: string;
70
+ readonly content: string;
71
+ }
72
+ /** Step registry entry matching core/data/step-registry.json structure */
73
+ export interface StepRegistryEntry {
74
+ readonly id: string;
75
+ readonly order?: number;
76
+ readonly name: string;
77
+ readonly status_after?: string;
78
+ readonly file: string;
79
+ readonly auto_continue?: boolean;
80
+ readonly requires_git?: boolean;
81
+ readonly standalone?: boolean;
82
+ readonly terminal?: boolean;
83
+ readonly returns_to?: string;
84
+ readonly returns_to_status?: string;
85
+ }
86
+ /** Full step registry structure */
87
+ export interface StepRegistry {
88
+ readonly version: string;
89
+ readonly steps: {
90
+ readonly core: readonly StepRegistryEntry[];
91
+ readonly recovery: readonly StepRegistryEntry[];
92
+ readonly utility: readonly StepRegistryEntry[];
93
+ readonly planning: readonly StepRegistryEntry[];
94
+ readonly epic: readonly StepRegistryEntry[];
95
+ };
96
+ readonly [key: string]: unknown;
97
+ }
98
+ /** Assembled prompt ready for execution */
99
+ export interface AssembledPrompt {
100
+ readonly prompt: string;
101
+ readonly variables: Readonly<Record<string, string>>;
102
+ readonly includedSkills: readonly string[];
103
+ readonly includedStandards: readonly string[];
104
+ }
105
+ /** Interface for encrypted cache (implemented in Story 42.3) */
106
+ export interface CacheProvider {
107
+ get(key: string): Promise<string | null>;
108
+ set(key: string, value: string, ttlMs?: number): Promise<void>;
109
+ clear(): Promise<void>;
110
+ }
111
+ /** No-op cache implementation for development/fallback */
112
+ export declare class NoOpCache implements CacheProvider {
113
+ get(): Promise<null>;
114
+ set(): Promise<void>;
115
+ clear(): Promise<void>;
116
+ }
117
+ /** Options for LocalResolver */
118
+ export interface LocalResolverOptions {
119
+ readonly projectRoot: string;
120
+ }
121
+ /** Options for RemoteResolver */
122
+ export interface RemoteResolverOptions {
123
+ readonly serverUrl: string;
124
+ readonly licenseKey: string;
125
+ readonly timeout?: number;
126
+ readonly retryCount?: number;
127
+ readonly cacheProvider?: CacheProvider;
128
+ readonly licenseClient?: import('../license/license-client.js').LicenseClient;
129
+ }
130
+ /** Options for resolver factory */
131
+ export interface CreateResolverOptions {
132
+ readonly forceLocal?: boolean;
133
+ /** Force offline mode: skip server, use cache exclusively (Story 42.9 - AC6) */
134
+ readonly forceOffline?: boolean;
135
+ readonly projectRoot?: string;
136
+ readonly serverUrl?: string;
137
+ readonly licenseKey?: string;
138
+ readonly cacheProvider?: CacheProvider;
139
+ readonly licenseClient?: import('../license/license-client.js').LicenseClient;
140
+ }
141
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license FSL-1.1
3
+ * Copyright (c) 2026 OrNexus AI
4
+ *
5
+ * This file is part of Neocortex CLI, licensed under the
6
+ * Functional Source License, Version 1.1 (FSL-1.1).
7
+ *
8
+ * Change Date: February 20, 2029
9
+ * Change License: MIT
10
+ *
11
+ * See the LICENSE file in the project root for full license text.
12
+ */
13
+ /**
14
+ * @neocortex/client - Type Definitions
15
+ *
16
+ * All types for the asset resolution abstraction layer.
17
+ */
18
+ // ── Resolver Mode ────────────────────────────────────────────────────────
19
+ /** Mode of asset resolution */
20
+ export var ResolverMode;
21
+ (function (ResolverMode) {
22
+ /** Read assets from local filesystem (development) */
23
+ ResolverMode["LOCAL"] = "local";
24
+ /** Fetch assets from remote IP Protection Server (production) */
25
+ ResolverMode["REMOTE"] = "remote";
26
+ })(ResolverMode || (ResolverMode = {}));
27
+ /** No-op cache implementation for development/fallback */
28
+ export class NoOpCache {
29
+ async get() {
30
+ return null;
31
+ }
32
+ async set() {
33
+ // No-op: cache disabled
34
+ }
35
+ async clear() {
36
+ // No-op: nothing to clear
37
+ }
38
+ }
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AAEH,4EAA4E;AAE5E,+BAA+B;AAC/B,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,sDAAsD;IACtD,+BAAe,CAAA;IACf,iEAAiE;IACjE,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAwGD,0DAA0D;AAC1D,MAAM,OAAO,SAAS;IACpB,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG;QACP,wBAAwB;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,0BAA0B;IAC5B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex
@@ -0,0 +1,20 @@
1
+ # Neocortex Target Stub
2
+
3
+ This content is served by the **IP Protection Server**.
4
+
5
+ The full target configuration, agent definitions, and pipeline instructions
6
+ are delivered securely via the Neocortex remote content delivery system.
7
+
8
+ ## To activate remote mode:
9
+
10
+ ```bash
11
+ neocortex activate NX-PRO-xxx
12
+ ```
13
+
14
+ ## To use local mode (developers only):
15
+
16
+ ```bash
17
+ neocortex install --local
18
+ ```
19
+
20
+ For more information, visit: https://github.com/OrNexus-AI/neocortex