@ace3-memory/ace 3.0.5

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/LICENSE ADDED
@@ -0,0 +1,26 @@
1
+ PROPRIETARY SOFTWARE LICENSE
2
+
3
+ Copyright © 2025 ACE3 Technologies. All Rights Reserved.
4
+
5
+ This software and associated documentation files (the "Software") are the proprietary
6
+ and confidential information of ACE3 Technologies.
7
+
8
+ NOTICE: All information contained herein is, and remains the property of ACE3
9
+ Technologies. The intellectual and technical concepts contained herein are proprietary
10
+ to ACE3 Technologies and may be covered by patents, patents in process, and are
11
+ protected by trade secret or copyright law.
12
+
13
+ Dissemination of this information or reproduction of this material is strictly
14
+ forbidden unless prior written permission is obtained from ACE3 Technologies.
15
+
16
+ Unauthorized copying, modification, distribution, or use of this Software, via any
17
+ medium, is strictly prohibited without the express written consent of ACE3 Technologies.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
20
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
21
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ACE3 TECHNOLOGIES BE LIABLE
22
+ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
23
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24
+ DEALINGS IN THE SOFTWARE.
25
+
26
+ For licensing inquiries, please contact: legal@ace3-ai.com
package/README.md ADDED
@@ -0,0 +1,153 @@
1
+ # ACE: The Private Engineering Logbook for AI
2
+
3
+ > **Stop explaining your architecture to ChatGPT every morning.**
4
+ >
5
+ > ACE gives your AI tools (Claude, ChatGPT, Gemini) a persistent, shared memory that lives on **your** infrastructure, not the cloud.
6
+
7
+ [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red.svg)](https://ace3-ai.com/license)
8
+ [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
9
+ [![Version 3.0.5](https://img.shields.io/badge/version-3.0.5-green.svg)](https://github.com/AdyBrooks46/AutonomousContextEngine/releases)
10
+
11
+ ---
12
+
13
+ ## 🛑 The Problem
14
+
15
+ AI coding agents are amazing, but they are **super-talented interns with amnesia**.
16
+ * They forget your architectural decisions from last week.
17
+ * They re-introduce bugs you already fixed.
18
+ * They don't know *why* your codebase is structured this way.
19
+ * **And you are tired of copy-pasting context into every new chat session.**
20
+
21
+ ## ✅ The Solution: Control, Not Magic.
22
+
23
+ ACE (Autonomous Context Engine) is a **local-first** memory layer that sits between you and your AI. It automatically indexes your codebase, tracks your decisions, and ensures every AI session starts with full context.
24
+
25
+ ### Why Developers Use ACE:
26
+
27
+ 1. **Complete Privacy (Local-First):**
28
+ * Your code, decisions, and patterns stay on **your** PostgreSQL database (Localhost or Private Cloud).
29
+ * Zero telemetry. No data sent to OpenAI/Anthropic for training.
30
+ * You own the "Brain."
31
+
32
+ 2. **The "Senior Engineer" in the Loop:**
33
+ * **Pattern Enforcement:** ACE scans your code (`pattern_detector.py`) and tells the AI: *"We use the Repository pattern here, don't write spaghetti code."*
34
+ * **Decision Tracking:** When you decide "No Microservices," ACE remembers. If an AI tries to suggest a microservice next month, ACE blocks it with context.
35
+
36
+ 3. **Team Memory (The "Killer Feature"):**
37
+ * **Junior Onboarding:** A new hire asks: *"How do I handle auth?"* ACE answers with the context saved by your Lead Architect 6 months ago.
38
+ * **No More Repetition:** Solve a bug once. ACE remembers the fix forever. The next time the AI sees that error, it knows the solution immediately.
39
+
40
+ ---
41
+
42
+ ## ⚡ Quick Start
43
+
44
+ You don't need a PhD in AI to use this. It's a single binary.
45
+
46
+ ### 1. Install
47
+
48
+ **macOS / Linux:**
49
+ ```bash
50
+ curl -fsSL https://ace3-ai.com/install | sh
51
+ ```
52
+
53
+ **Windows (PowerShell):**
54
+ ```powershell
55
+ irm https://ace3-ai.com/install.ps1 | iex
56
+ ```
57
+
58
+ **Alternative (npm):**
59
+ ```bash
60
+ npm install -g @ace3-memory/ace
61
+ ```
62
+
63
+ ### 2. Run
64
+
65
+ ```bash
66
+ # Login (Authenticates your license, NOT your data)
67
+ ace login
68
+
69
+ # Start the server (Runs on localhost:7777)
70
+ ace start
71
+ ```
72
+
73
+ ### 3. Connect Your AI
74
+
75
+ ACE provides a universal REST API that works with **any** AI tool that can run shell commands or make HTTP requests.
76
+
77
+ **Example: Telling Claude/ChatGPT to "Remember":**
78
+
79
+ ```bash
80
+ # In your AI chat, just tell it to run:
81
+ ace remember --key "auth-decision" --value "We use JWT with 30d expiry because of [reason]"
82
+ ```
83
+
84
+ **Example: Search Context:**
85
+
86
+ ```bash
87
+ ace recall "why did we choose postgres?"
88
+ # Output: "Decision #45: Chosen for vector extension support and ACID compliance..."
89
+ ```
90
+
91
+ ---
92
+
93
+ ## 🛠️ Features for "Control"
94
+
95
+ | Feature | What It Does | Why It Matters |
96
+ | :--- | :--- | :--- |
97
+ | **Pattern Detector** | Scans Python/JS/TS code to find architectural patterns. | AI writes code that *matches* your existing style, not generic StackOverflow code. |
98
+ | **Decision Log** | Tracks "Architecture Decision Records" (ADRs). | Prevents "Architecture Drift" where AI slowly ruins your design. |
99
+ | **Issue Tracker** | Logs bugs and their specific fixes. | Never debug the same "stale token" error twice. |
100
+ | **Team Sync** | Syncs memories across your team (Pro Plan). | Your Junior Dev inherits the Senior Dev's context instantly. |
101
+
102
+ ---
103
+
104
+ ## 🏗️ Architecture (Privacy First)
105
+
106
+ We built ACE to be the "Switzerland" of AI. Neutral, private, and secure.
107
+
108
+ ```
109
+ [ Your Laptop / Server ]
110
+ |
111
+ +-- [ ACE Binary ] (The Brain)
112
+ | |
113
+ | +-- [ Your Local Postgres ] (The Memory) <--- DATA STAYS HERE
114
+ |
115
+ +-- [ AI Interface ] (Claude, ChatGPT, IDE) <--- Queries ACE via localhost:7777
116
+ ```
117
+
118
+ **We (ACE3) provide:**
119
+ * The Intelligence (The Binary).
120
+ * The Dashboard (UI for visualizing memory).
121
+ * The License.
122
+
123
+ **You provide:**
124
+ * The Database (Postgres).
125
+ * The Infrastructure.
126
+
127
+ ---
128
+
129
+ ## 💰 Pricing (v3.0.5)
130
+
131
+ * **Starter (Free):** 1 User, 1 Namespace, 100 Memories, 50 API calls/day. Forever free.
132
+ * **Developer:** £9.99/mo. 1 User, 3 Namespaces, 2,500 Memories, 500 API calls/day.
133
+ * **Pro:** £24.99/mo. 10 Users (+£3/extra), Unlimited Namespaces & Memories.
134
+ * **Founder's Deal:** £299 one-time. 25 Users, Lifetime access. Limited to 100 licenses.
135
+ * **Enterprise:** Custom pricing. Unlimited everything, SSO, SLA.
136
+
137
+ [**View Full Pricing & Sign Up**](https://ace3-ai.com/pricing)
138
+
139
+ ---
140
+
141
+ ## 🤝 Contributing
142
+
143
+ We are "Open Core" at heart. While the core binary is proprietary (to protect our IP), we welcome contributions to:
144
+ * **Parsers:** Add support for Rust, Go, Java.
145
+ * **SDKs:** Build a Python or Node.js wrapper.
146
+ * **Integrations:** Build a VS Code extension.
147
+
148
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
149
+
150
+ ---
151
+
152
+ **Built by a Developer, for Developers.**
153
+ *This isn't "Magic." It's just a better way to work.*
package/cli.js ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ACE CLI Wrapper
4
+ * Thin wrapper that executes the platform-specific binary
5
+ * This file is readable, but the actual ACE logic is in the compiled binary
6
+ */
7
+
8
+ const { spawn } = require('child_process');
9
+ const path = require('path');
10
+
11
+ const platform = process.platform;
12
+ const binaryName = 'ace' + (platform === 'win32' ? '.exe' : '');
13
+ const binaryPath = path.join(__dirname, 'bin', binaryName);
14
+
15
+ // Check if binary exists
16
+ const fs = require('fs');
17
+ if (!fs.existsSync(binaryPath)) {
18
+ console.error('❌ ACE binary not found.');
19
+ console.error('This usually means the installation failed.');
20
+ console.error('Try reinstalling: npm install -g @ace3-memory/ace');
21
+ process.exit(1);
22
+ }
23
+
24
+ // Execute the binary with all arguments
25
+ const child = spawn(binaryPath, process.argv.slice(2), {
26
+ stdio: 'inherit',
27
+ env: process.env
28
+ });
29
+
30
+ child.on('exit', (code) => {
31
+ process.exit(code || 0);
32
+ });
33
+
34
+ child.on('error', (err) => {
35
+ console.error('❌ Failed to start ACE:', err.message);
36
+ process.exit(1);
37
+ });
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ACE Binary Downloader (npm postinstall script)
4
+ * Downloads platform-specific ACE binary from GitHub releases
5
+ * Similar to how Claude Code, GitHub CLI, and other modern tools work
6
+ */
7
+
8
+ const https = require('https');
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+
12
+ const VERSION = process.env.ACE_VERSION || 'v3.0.4';
13
+ const GITHUB_REPO = 'AdyBrooks46/AutonomousContextEngine';
14
+ const BINARY_DIR = path.join(__dirname, 'bin');
15
+
16
+ // Detect platform and architecture
17
+ const platform = process.platform;
18
+ const arch = process.arch;
19
+
20
+ // Map to binary names
21
+ // Note: macOS Intel (x64) uses ARM64 binary via Rosetta 2
22
+ const BINARY_MAP = {
23
+ 'darwin-arm64': 'ace-macos-arm64',
24
+ 'darwin-x64': 'ace-macos-arm64', // Intel Macs use ARM64 via Rosetta 2
25
+ 'linux-x64': 'ace-linux-x64',
26
+ 'win32-x64': 'ace-windows-x64.exe'
27
+ };
28
+
29
+ const platformKey = `${platform}-${arch}`;
30
+ const binaryName = BINARY_MAP[platformKey];
31
+
32
+ if (!binaryName) {
33
+ console.error(`❌ Unsupported platform: ${platform} ${arch}`);
34
+ console.error(`Supported platforms: macOS (Intel/Apple Silicon), Linux x64, Windows x64`);
35
+ process.exit(1);
36
+ }
37
+
38
+ // GitHub release URL
39
+ const downloadUrl = `https://github.com/${GITHUB_REPO}/releases/download/${VERSION}/${binaryName}`;
40
+ const binaryPath = path.join(BINARY_DIR, 'ace' + (platform === 'win32' ? '.exe' : ''));
41
+
42
+ console.log(`\n📦 Installing ACE ${VERSION} for ${platform} ${arch}...`);
43
+ console.log(`📥 Downloading: ${binaryName}`);
44
+
45
+ // Create bin directory
46
+ if (!fs.existsSync(BINARY_DIR)) {
47
+ fs.mkdirSync(BINARY_DIR, { recursive: true });
48
+ }
49
+
50
+ // Download binary
51
+ const file = fs.createWriteStream(binaryPath);
52
+ let downloadedBytes = 0;
53
+ let totalBytes = 0;
54
+
55
+ https.get(downloadUrl, (response) => {
56
+ if (response.statusCode === 302 || response.statusCode === 301) {
57
+ // Follow redirect
58
+ https.get(response.headers.location, (redirectResponse) => {
59
+ totalBytes = parseInt(redirectResponse.headers['content-length'], 10);
60
+
61
+ redirectResponse.on('data', (chunk) => {
62
+ downloadedBytes += chunk.length;
63
+ const percent = ((downloadedBytes / totalBytes) * 100).toFixed(1);
64
+ process.stdout.write(`\r⏳ Progress: ${percent}% (${(downloadedBytes / 1024 / 1024).toFixed(1)}MB / ${(totalBytes / 1024 / 1024).toFixed(1)}MB)`);
65
+ });
66
+
67
+ redirectResponse.pipe(file);
68
+
69
+ file.on('finish', () => {
70
+ file.close(() => {
71
+ process.stdout.write('\n');
72
+ console.log('✅ Download complete');
73
+
74
+ // Make executable (Unix-like systems)
75
+ if (platform !== 'win32') {
76
+ try {
77
+ fs.chmodSync(binaryPath, 0o755);
78
+ console.log('✅ Binary made executable');
79
+ } catch (err) {
80
+ console.error('⚠️ Could not make binary executable:', err.message);
81
+ }
82
+ }
83
+
84
+ console.log(`✅ ACE installed successfully!`);
85
+ console.log(`\n🚀 Quick start:`);
86
+ console.log(` 1. ace login # Authenticate`);
87
+ console.log(` 2. ace start # Start server`);
88
+ console.log(` 3. ace status # Check status\n`);
89
+ });
90
+ });
91
+ }).on('error', (err) => {
92
+ fs.unlinkSync(binaryPath);
93
+ console.error(`\n❌ Download failed:`, err.message);
94
+ process.exit(1);
95
+ });
96
+ } else if (response.statusCode === 200) {
97
+ totalBytes = parseInt(response.headers['content-length'], 10);
98
+
99
+ response.on('data', (chunk) => {
100
+ downloadedBytes += chunk.length;
101
+ const percent = ((downloadedBytes / totalBytes) * 100).toFixed(1);
102
+ process.stdout.write(`\r⏳ Progress: ${percent}% (${(downloadedBytes / 1024 / 1024).toFixed(1)}MB / ${(totalBytes / 1024 / 1024).toFixed(1)}MB)`);
103
+ });
104
+
105
+ response.pipe(file);
106
+
107
+ file.on('finish', () => {
108
+ file.close(() => {
109
+ process.stdout.write('\n');
110
+ console.log('✅ Download complete');
111
+
112
+ // Make executable (Unix-like systems)
113
+ if (platform !== 'win32') {
114
+ try {
115
+ fs.chmodSync(binaryPath, 0o755);
116
+ console.log('✅ Binary made executable');
117
+ } catch (err) {
118
+ console.error('⚠️ Could not make binary executable:', err.message);
119
+ }
120
+ }
121
+
122
+ console.log(`✅ ACE installed successfully!`);
123
+ console.log(`\n🚀 Quick start:`);
124
+ console.log(` 1. ace login # Authenticate`);
125
+ console.log(` 2. ace start # Start server`);
126
+ console.log(` 3. ace status # Check status\n`);
127
+ });
128
+ });
129
+ } else {
130
+ console.error(`\n❌ Failed to download: HTTP ${response.statusCode}`);
131
+ console.error(`URL: ${downloadUrl}`);
132
+ process.exit(1);
133
+ }
134
+ }).on('error', (err) => {
135
+ if (fs.existsSync(binaryPath)) {
136
+ fs.unlinkSync(binaryPath);
137
+ }
138
+ console.error(`\n❌ Download failed:`, err.message);
139
+ process.exit(1);
140
+ });
141
+
142
+ file.on('error', (err) => {
143
+ if (fs.existsSync(binaryPath)) {
144
+ fs.unlinkSync(binaryPath);
145
+ }
146
+ console.error(`\n❌ File write error:`, err.message);
147
+ process.exit(1);
148
+ });
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@ace3-memory/ace",
3
+ "version": "3.0.5",
4
+ "description": "Your Logbook for AI - persistent memory for ChatGPT, Claude, Gemini, and more",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "ace": "./cli.js"
8
+ },
9
+ "scripts": {
10
+ "postinstall": "node download-binary.js",
11
+ "test": "./scripts/test-report.sh run",
12
+ "test:report": "./scripts/test-report.sh",
13
+ "test:frontend": "cd ace-frontend && npm test",
14
+ "test:unit": "python -m pytest tests/unit -v --tb=short",
15
+ "test:api": "ACE_SERVER_RUNNING=1 python -m pytest tests/api -v --tb=short",
16
+ "test:all": "npm run test:frontend && npm run test:unit && npm run test:api",
17
+ "test:coverage": "python -m pytest tests/ --cov=ace_core --cov-report=html --cov-report=term"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/AdyBrooks46/AutonomousContextEngine.git"
22
+ },
23
+ "keywords": [
24
+ "ai",
25
+ "memory",
26
+ "llm",
27
+ "rag",
28
+ "vector",
29
+ "embeddings",
30
+ "semantic-search",
31
+ "chatgpt",
32
+ "claude",
33
+ "gemini",
34
+ "context",
35
+ "persistent-memory"
36
+ ],
37
+ "author": "ACE3 Technologies <team@ace3-ai.com>",
38
+ "license": "PROPRIETARY",
39
+ "homepage": "https://ace3-ai.com",
40
+ "bugs": {
41
+ "url": "https://github.com/AdyBrooks46/AutonomousContextEngine/issues"
42
+ },
43
+ "engines": {
44
+ "node": ">=14.0.0"
45
+ },
46
+ "os": [
47
+ "darwin",
48
+ "linux",
49
+ "win32"
50
+ ],
51
+ "cpu": [
52
+ "x64",
53
+ "arm64"
54
+ ],
55
+ "files": [
56
+ "cli.js",
57
+ "download-binary.js",
58
+ "README.md",
59
+ "LICENSE"
60
+ ]
61
+ }