@aria_asi/cli 0.2.29 → 0.2.31
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/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +88 -20
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codex.js +526 -2
- package/dist/aria-connector/src/connectors/codex.js.map +1 -1
- package/dist/aria-connector/src/connectors/doctrine-trigger-map.d.ts +7 -0
- package/dist/aria-connector/src/connectors/doctrine-trigger-map.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/doctrine-trigger-map.js +87 -0
- package/dist/aria-connector/src/connectors/doctrine-trigger-map.js.map +1 -0
- package/dist/aria-connector/src/connectors/must-read.d.ts +4 -0
- package/dist/aria-connector/src/connectors/must-read.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/must-read.js +111 -0
- package/dist/aria-connector/src/connectors/must-read.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +2 -0
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.js +231 -19
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +76 -3
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/self-update.d.ts +2 -1
- package/dist/aria-connector/src/self-update.d.ts.map +1 -1
- package/dist/aria-connector/src/self-update.js +84 -8
- package/dist/aria-connector/src/self-update.js.map +1 -1
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +53 -34
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +126 -12
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +185 -76
- package/dist/assets/hooks/aria-preturn-memory-gate.mjs +63 -14
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +2 -0
- package/dist/assets/hooks/aria-stop-gate.mjs +225 -52
- package/dist/assets/hooks/lib/canonical-lenses.mjs +6 -5
- package/dist/assets/hooks/lib/gate-loop-state.mjs +50 -0
- package/dist/assets/hooks/lib/hook-message-window.mjs +121 -0
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +26 -58
- package/dist/assets/opencode-plugins/harness-gate/index.js +24 -2
- package/dist/assets/opencode-plugins/harness-stop/index.js +94 -5
- package/dist/runtime/auth-middleware.mjs +251 -0
- package/dist/runtime/codex-bridge.mjs +644 -0
- package/dist/runtime/discipline/CLAUDE.md +12 -0
- package/dist/runtime/discipline/doctrine_trigger_map.json +479 -0
- package/dist/runtime/doctrine_trigger_map.json +479 -0
- package/dist/runtime/fleet-engine.mjs +231 -0
- package/dist/runtime/harness-daemon.mjs +433 -0
- package/dist/runtime/local-phase.mjs +18 -0
- package/dist/runtime/manifest.json +1 -1
- package/dist/runtime/metering.mjs +100 -0
- package/dist/runtime/onboarding-engine.mjs +89 -0
- package/dist/runtime/plugin-engine.mjs +196 -0
- package/dist/runtime/sdk/BUNDLED.json +1 -1
- package/dist/runtime/sdk/index.d.ts +7 -0
- package/dist/runtime/sdk/index.js +120 -14
- package/dist/runtime/sdk/index.js.map +1 -1
- package/dist/runtime/service.mjs +1464 -67
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts +1 -1
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts.map +1 -1
- package/dist/runtime/vendor/aria-gate-runtime/index.js +16 -1
- package/dist/runtime/vendor/aria-gate-runtime/index.js.map +1 -1
- package/dist/runtime/workflow-engine.mjs +322 -0
- package/dist/sdk/BUNDLED.json +1 -1
- package/dist/sdk/index.d.ts +7 -0
- package/dist/sdk/index.js +120 -14
- package/dist/sdk/index.js.map +1 -1
- package/hooks/aria-cognition-substrate-binding.mjs +53 -34
- package/hooks/aria-harness-via-sdk.mjs +126 -12
- package/hooks/aria-pre-tool-gate.mjs +185 -76
- package/hooks/aria-preturn-memory-gate.mjs +63 -14
- package/hooks/aria-repo-doctrine-gate.mjs +2 -0
- package/hooks/aria-stop-gate.mjs +225 -52
- package/hooks/lib/canonical-lenses.mjs +6 -5
- package/hooks/lib/gate-loop-state.mjs +50 -0
- package/hooks/lib/hook-message-window.mjs +121 -0
- package/hooks/test-tier-lens-labeling.mjs +26 -58
- package/opencode-plugins/harness-gate/index.js +24 -2
- package/opencode-plugins/harness-stop/index.js +94 -5
- package/package.json +2 -2
- package/runtime-src/auth-middleware.mjs +251 -0
- package/runtime-src/codex-bridge.mjs +644 -0
- package/runtime-src/fleet-engine.mjs +231 -0
- package/runtime-src/harness-daemon.mjs +433 -0
- package/runtime-src/local-phase.mjs +18 -0
- package/runtime-src/metering.mjs +100 -0
- package/runtime-src/onboarding-engine.mjs +89 -0
- package/runtime-src/plugin-engine.mjs +196 -0
- package/runtime-src/service.mjs +1464 -67
- package/runtime-src/workflow-engine.mjs +322 -0
- package/scripts/bundle-sdk.mjs +5 -0
- package/src/connectors/claude-code.ts +98 -20
- package/src/connectors/codex.ts +534 -1
- package/src/connectors/doctrine-trigger-map.ts +112 -0
- package/src/connectors/must-read.ts +113 -0
- package/src/connectors/opencode.ts +3 -0
- package/src/connectors/runtime.ts +241 -21
- package/src/connectors/shell.ts +78 -3
- package/src/self-update.ts +89 -8
- package/dist/cli-0.2.0.tgz +0 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
// ARIA_ALLOW_STUB: doctrine strings only; this source generates enforcement copy and is not a production stub implementation.
|
|
2
|
-
import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync, chmodSync, writeFileSync, } from 'fs';
|
|
2
|
+
import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync, chmodSync, writeFileSync, readFileSync, } from 'fs';
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
import * as path from 'path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import { connectShell } from './shell.js';
|
|
7
7
|
import { installAriaCognitionSkills } from './cognitive-skills.js';
|
|
8
|
+
import { syncDoctrineTriggerMap } from './doctrine-trigger-map.js';
|
|
9
|
+
import { buildMustReadGuide, mustReadIntro } from './must-read.js';
|
|
8
10
|
function packageSdkDir() {
|
|
9
11
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
10
12
|
return path.resolve(here, '..', '..', '..', 'sdk');
|
|
@@ -61,6 +63,521 @@ function installNodePackage(codexDir, logs) {
|
|
|
61
63
|
}, null, 2) + '\n', { mode: 0o644 });
|
|
62
64
|
logs.push(`Installed Codex Node package → ${pkgRoot}`);
|
|
63
65
|
}
|
|
66
|
+
function tomlString(value) {
|
|
67
|
+
return JSON.stringify(value);
|
|
68
|
+
}
|
|
69
|
+
function buildCodexHookRuntimeClient() {
|
|
70
|
+
return `import { readFileSync, existsSync, mkdirSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
71
|
+
import { homedir } from 'node:os';
|
|
72
|
+
import path from 'node:path';
|
|
73
|
+
import { HTTPHarnessClient } from '@aria_asi/harness-http-client';
|
|
74
|
+
|
|
75
|
+
const HOME = homedir();
|
|
76
|
+
const DEFAULT_RUNTIME_URL = (process.env.ARIA_RUNTIME_URL || 'http://127.0.0.1:4319').replace(/\\/+$/, '');
|
|
77
|
+
const TURN_STATE_DIR = path.join(HOME, '.codex', 'tmp', 'aria-hook-turn-state');
|
|
78
|
+
|
|
79
|
+
function readToken() {
|
|
80
|
+
const envToken = process.env.ARIA_API_KEY || process.env.ARIA_MASTER_TOKEN || process.env.OPENAI_API_KEY;
|
|
81
|
+
if (envToken) return envToken;
|
|
82
|
+
const ownerPath = path.join(HOME, '.aria', 'owner-token');
|
|
83
|
+
if (existsSync(ownerPath)) return readFileSync(ownerPath, 'utf8').trim();
|
|
84
|
+
const licensePath = path.join(HOME, '.aria', 'license.json');
|
|
85
|
+
if (existsSync(licensePath)) {
|
|
86
|
+
const text = readFileSync(licensePath, 'utf8');
|
|
87
|
+
const harnessToken = text.match(/"harnessToken"\\s*:\\s*"([^"]+)"/)?.[1];
|
|
88
|
+
if (harnessToken) return harnessToken;
|
|
89
|
+
const token = text.match(/"token"\\s*:\\s*"([^"]+)"/)?.[1];
|
|
90
|
+
if (token) return token;
|
|
91
|
+
}
|
|
92
|
+
return '';
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
let clientInstance = null;
|
|
96
|
+
|
|
97
|
+
export function getHarnessClient() {
|
|
98
|
+
if (clientInstance) return clientInstance;
|
|
99
|
+
clientInstance = new HTTPHarnessClient({
|
|
100
|
+
baseUrl: DEFAULT_RUNTIME_URL,
|
|
101
|
+
apiKey: readToken(),
|
|
102
|
+
workspaceRoot: process.cwd(),
|
|
103
|
+
});
|
|
104
|
+
return clientInstance;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function readEventFromStdin() {
|
|
108
|
+
try {
|
|
109
|
+
const raw = readFileSync(0, 'utf8');
|
|
110
|
+
return raw.trim() ? JSON.parse(raw) : {};
|
|
111
|
+
} catch {
|
|
112
|
+
return {};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function extractFirst(value, keys) {
|
|
117
|
+
if (!value || typeof value !== 'object') return null;
|
|
118
|
+
for (const key of keys) {
|
|
119
|
+
const candidate = value[key];
|
|
120
|
+
if (typeof candidate === 'string' && candidate.trim()) return candidate.trim();
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function inferSessionId(event) {
|
|
126
|
+
const threadId =
|
|
127
|
+
extractFirst(event, ['thread_id', 'threadId', 'conversation_id', 'conversationId']) ||
|
|
128
|
+
'codex';
|
|
129
|
+
const turnId =
|
|
130
|
+
extractFirst(event, ['turn_id', 'turnId', 'session_id', 'sessionId']) ||
|
|
131
|
+
String(Date.now());
|
|
132
|
+
return \`codex:\${threadId}:\${turnId}\`;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export function inferUserId(event) {
|
|
136
|
+
return (
|
|
137
|
+
extractFirst(event, ['user_id', 'userId']) ||
|
|
138
|
+
extractFirst(event?.metadata, ['user_id', 'userId'])
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export function extractText(value) {
|
|
143
|
+
if (!value) return '';
|
|
144
|
+
if (typeof value === 'string') return value.trim();
|
|
145
|
+
if (Array.isArray(value)) {
|
|
146
|
+
return value.map(extractText).filter(Boolean).join('\\n\\n').trim();
|
|
147
|
+
}
|
|
148
|
+
if (typeof value === 'object') {
|
|
149
|
+
const parts = [];
|
|
150
|
+
for (const key of ['text', 'message', 'content', 'input_text', 'inputText', 'reasoning_text', 'summary_text', 'delta']) {
|
|
151
|
+
if (key in value) {
|
|
152
|
+
const piece = extractText(value[key]);
|
|
153
|
+
if (piece) parts.push(piece);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return parts.join('\\n\\n').trim();
|
|
157
|
+
}
|
|
158
|
+
return '';
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
function ensureTurnStateDir() {
|
|
162
|
+
if (!existsSync(TURN_STATE_DIR)) {
|
|
163
|
+
mkdirSync(TURN_STATE_DIR, { recursive: true, mode: 0o700 });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function turnStatePath(sessionId) {
|
|
168
|
+
ensureTurnStateDir();
|
|
169
|
+
const safe = String(sessionId || 'codex').replace(/[^a-zA-Z0-9._-]+/g, '_');
|
|
170
|
+
return path.join(TURN_STATE_DIR, \`\${safe}.json\`);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export function loadTurnState(sessionId) {
|
|
174
|
+
const statePath = turnStatePath(sessionId);
|
|
175
|
+
if (!existsSync(statePath)) return {};
|
|
176
|
+
try {
|
|
177
|
+
return JSON.parse(readFileSync(statePath, 'utf8'));
|
|
178
|
+
} catch {
|
|
179
|
+
return {};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export function saveTurnState(sessionId, patch) {
|
|
184
|
+
const next = {
|
|
185
|
+
...loadTurnState(sessionId),
|
|
186
|
+
...patch,
|
|
187
|
+
sessionId,
|
|
188
|
+
updatedAt: new Date().toISOString(),
|
|
189
|
+
};
|
|
190
|
+
writeFileSync(turnStatePath(sessionId), JSON.stringify(next, null, 2) + '\\n', { mode: 0o600 });
|
|
191
|
+
return next;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export function clearTurnState(sessionId) {
|
|
195
|
+
const statePath = turnStatePath(sessionId);
|
|
196
|
+
if (!existsSync(statePath)) return;
|
|
197
|
+
try {
|
|
198
|
+
unlinkSync(statePath);
|
|
199
|
+
} catch {}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export async function runtimePost(route, body = {}) {
|
|
203
|
+
const token = readToken();
|
|
204
|
+
const headers = {
|
|
205
|
+
'Content-Type': 'application/json',
|
|
206
|
+
};
|
|
207
|
+
if (token) headers.Authorization = \`Bearer \${token}\`;
|
|
208
|
+
const response = await fetch(\`\${DEFAULT_RUNTIME_URL}\${route}\`, {
|
|
209
|
+
method: 'POST',
|
|
210
|
+
headers,
|
|
211
|
+
body: JSON.stringify(body),
|
|
212
|
+
});
|
|
213
|
+
if (!response.ok) {
|
|
214
|
+
const detail = await response.text().catch(() => response.statusText);
|
|
215
|
+
throw new Error(\`runtime \${route} failed (\${response.status}): \${detail}\`);
|
|
216
|
+
}
|
|
217
|
+
return response.json();
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export function classifyAction(event) {
|
|
221
|
+
const toolName = String(event?.tool_name || event?.toolName || '').trim();
|
|
222
|
+
const toolCommand = String(
|
|
223
|
+
event?.tool_input?.command ??
|
|
224
|
+
event?.toolInput?.command ??
|
|
225
|
+
''
|
|
226
|
+
).trim();
|
|
227
|
+
const haystack = \`\${toolName}\\n\${toolCommand}\\n\${JSON.stringify(event)}\`;
|
|
228
|
+
if (/deploy|kubectl|docker\\s+push/i.test(haystack)) return 'deploy';
|
|
229
|
+
if (/\\brm\\b|delete|unlink|drop\\s+table/i.test(haystack)) return 'delete';
|
|
230
|
+
if (/build|test|tsc|jest|vitest|npm run|pnpm|yarn/i.test(haystack)) return 'build';
|
|
231
|
+
return 'write';
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export function summarizeTarget(event) {
|
|
235
|
+
return JSON.stringify({
|
|
236
|
+
tool_name: event?.tool_name || event?.toolName || null,
|
|
237
|
+
tool_input: event?.tool_input || event?.toolInput || null,
|
|
238
|
+
}).slice(0, 4000);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export function extractUserText(event) {
|
|
242
|
+
return extractText(
|
|
243
|
+
event?.input ??
|
|
244
|
+
event?.user_input ??
|
|
245
|
+
event?.userInput ??
|
|
246
|
+
event?.prompt ??
|
|
247
|
+
event?.message ??
|
|
248
|
+
event
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export function extractAssistantText(event) {
|
|
253
|
+
return extractText(
|
|
254
|
+
event?.last_assistant_message ??
|
|
255
|
+
event?.lastAssistantMessage ??
|
|
256
|
+
event?.output ??
|
|
257
|
+
event?.response ??
|
|
258
|
+
event?.message ??
|
|
259
|
+
event
|
|
260
|
+
);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export function formatValidationFailure(result) {
|
|
264
|
+
const parts = [];
|
|
265
|
+
if (Array.isArray(result?.validation?.violations) && result.validation.violations.length) {
|
|
266
|
+
parts.push(...result.validation.violations);
|
|
267
|
+
}
|
|
268
|
+
if (Array.isArray(result?.layer3?.failures) && result.layer3.failures.length) {
|
|
269
|
+
parts.push(...result.layer3.failures.map((failure) => failure?.detail || failure?.kind || JSON.stringify(failure)));
|
|
270
|
+
}
|
|
271
|
+
if (!parts.length && typeof result?.summary === 'string' && result.summary.trim()) {
|
|
272
|
+
parts.push(result.summary.trim());
|
|
273
|
+
}
|
|
274
|
+
return parts.join(' | ') || 'Aria validation failed.';
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export function emitJson(payload, code = 0) {
|
|
278
|
+
process.stdout.write(\`\${JSON.stringify(payload)}\\n\`);
|
|
279
|
+
process.exit(code);
|
|
280
|
+
}
|
|
281
|
+
`;
|
|
282
|
+
}
|
|
283
|
+
function buildCodexUserPromptHook() {
|
|
284
|
+
return `#!/usr/bin/env node
|
|
285
|
+
import {
|
|
286
|
+
getHarnessClient,
|
|
287
|
+
inferSessionId,
|
|
288
|
+
inferUserId,
|
|
289
|
+
extractUserText,
|
|
290
|
+
readEventFromStdin,
|
|
291
|
+
runtimePost,
|
|
292
|
+
saveTurnState,
|
|
293
|
+
emitJson,
|
|
294
|
+
} from './lib/runtime-client.mjs';
|
|
295
|
+
|
|
296
|
+
const event = readEventFromStdin();
|
|
297
|
+
const client = getHarnessClient();
|
|
298
|
+
const userText = extractUserText(event);
|
|
299
|
+
const sessionId = inferSessionId(event);
|
|
300
|
+
const userId = inferUserId(event);
|
|
301
|
+
|
|
302
|
+
try {
|
|
303
|
+
const packet = await client.getHarnessPacket({
|
|
304
|
+
sessionId,
|
|
305
|
+
platform: 'codex',
|
|
306
|
+
message: userText || 'codex turn start',
|
|
307
|
+
});
|
|
308
|
+
const result = await runtimePost('/mizan/pre', {
|
|
309
|
+
sessionId,
|
|
310
|
+
packet,
|
|
311
|
+
packetRequest: {
|
|
312
|
+
sessionId,
|
|
313
|
+
platform: 'codex',
|
|
314
|
+
message: userText || 'codex turn start',
|
|
315
|
+
stage: 'codex-userprompt',
|
|
316
|
+
actor: 'codex-hook',
|
|
317
|
+
system: 'codex-hook',
|
|
318
|
+
},
|
|
319
|
+
context: {
|
|
320
|
+
sessionId,
|
|
321
|
+
surface: 'codex-hooks',
|
|
322
|
+
platform: 'codex',
|
|
323
|
+
userText,
|
|
324
|
+
userId,
|
|
325
|
+
},
|
|
326
|
+
});
|
|
327
|
+
saveTurnState(sessionId, {
|
|
328
|
+
userId,
|
|
329
|
+
userText,
|
|
330
|
+
preReceiptId: result?.receipt?.receiptId || null,
|
|
331
|
+
packetTimestamp: packet?.timestamp || null,
|
|
332
|
+
lastEvent: 'UserPromptSubmit',
|
|
333
|
+
});
|
|
334
|
+
process.exit(0);
|
|
335
|
+
} catch (error) {
|
|
336
|
+
emitJson({
|
|
337
|
+
decision: 'block',
|
|
338
|
+
reason: \`Aria cognition gate failed before turn start: \${error instanceof Error ? error.message : String(error)}\`,
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
`;
|
|
342
|
+
}
|
|
343
|
+
function buildCodexPreToolHook() {
|
|
344
|
+
return `#!/usr/bin/env node
|
|
345
|
+
import {
|
|
346
|
+
getHarnessClient,
|
|
347
|
+
inferSessionId,
|
|
348
|
+
classifyAction,
|
|
349
|
+
summarizeTarget,
|
|
350
|
+
readEventFromStdin,
|
|
351
|
+
loadTurnState,
|
|
352
|
+
saveTurnState,
|
|
353
|
+
emitJson,
|
|
354
|
+
} from './lib/runtime-client.mjs';
|
|
355
|
+
|
|
356
|
+
const event = readEventFromStdin();
|
|
357
|
+
const client = getHarnessClient();
|
|
358
|
+
const sessionId = inferSessionId(event);
|
|
359
|
+
const action = classifyAction(event);
|
|
360
|
+
const target = summarizeTarget(event);
|
|
361
|
+
const state = loadTurnState(sessionId);
|
|
362
|
+
|
|
363
|
+
try {
|
|
364
|
+
if (!state?.preReceiptId && !state?.userText) {
|
|
365
|
+
emitJson({
|
|
366
|
+
decision: 'block',
|
|
367
|
+
reason: 'Aria pre-tool gate blocked action because this turn has no pre-turn Mizan receipt. Re-submit the prompt so cognition is established before tool use.',
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
const actionCheck = await client.checkAction(action, target);
|
|
371
|
+
if (actionCheck?.allowed === false) {
|
|
372
|
+
emitJson({
|
|
373
|
+
decision: 'block',
|
|
374
|
+
reason: actionCheck?.reason || \`Aria denied \${action}\`,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
const toolName = String(event?.tool_name || event?.toolName || '').trim() || null;
|
|
378
|
+
const tools = Array.isArray(state?.tools) ? state.tools.slice(-24) : [];
|
|
379
|
+
tools.push({
|
|
380
|
+
at: new Date().toISOString(),
|
|
381
|
+
action,
|
|
382
|
+
toolName,
|
|
383
|
+
target,
|
|
384
|
+
});
|
|
385
|
+
saveTurnState(sessionId, {
|
|
386
|
+
tools,
|
|
387
|
+
lastEvent: 'PreToolUse',
|
|
388
|
+
});
|
|
389
|
+
process.exit(0);
|
|
390
|
+
} catch (error) {
|
|
391
|
+
emitJson({
|
|
392
|
+
decision: 'block',
|
|
393
|
+
reason: \`Aria pre-tool hook failed closed: \${error instanceof Error ? error.message : String(error)}\`,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
`;
|
|
397
|
+
}
|
|
398
|
+
function buildCodexPostToolHook() {
|
|
399
|
+
return `#!/usr/bin/env node
|
|
400
|
+
import {
|
|
401
|
+
inferSessionId,
|
|
402
|
+
readEventFromStdin,
|
|
403
|
+
loadTurnState,
|
|
404
|
+
saveTurnState,
|
|
405
|
+
} from './lib/runtime-client.mjs';
|
|
406
|
+
|
|
407
|
+
const event = readEventFromStdin();
|
|
408
|
+
const sessionId = inferSessionId(event);
|
|
409
|
+
const state = loadTurnState(sessionId);
|
|
410
|
+
|
|
411
|
+
try {
|
|
412
|
+
const toolResponse = JSON.stringify(event?.tool_response ?? event?.toolResponse ?? null).slice(0, 4000);
|
|
413
|
+
const toolOutputs = Array.isArray(state?.toolOutputs) ? state.toolOutputs.slice(-24) : [];
|
|
414
|
+
toolOutputs.push({
|
|
415
|
+
at: new Date().toISOString(),
|
|
416
|
+
toolName: event?.tool_name || event?.toolName || null,
|
|
417
|
+
toolResponse,
|
|
418
|
+
});
|
|
419
|
+
saveTurnState(sessionId, {
|
|
420
|
+
toolOutputs,
|
|
421
|
+
lastEvent: 'PostToolUse',
|
|
422
|
+
});
|
|
423
|
+
process.exit(0);
|
|
424
|
+
} catch {
|
|
425
|
+
process.exit(0);
|
|
426
|
+
}
|
|
427
|
+
`;
|
|
428
|
+
}
|
|
429
|
+
function buildCodexStopHook() {
|
|
430
|
+
return `#!/usr/bin/env node
|
|
431
|
+
import {
|
|
432
|
+
getHarnessClient,
|
|
433
|
+
inferSessionId,
|
|
434
|
+
extractAssistantText,
|
|
435
|
+
readEventFromStdin,
|
|
436
|
+
runtimePost,
|
|
437
|
+
loadTurnState,
|
|
438
|
+
clearTurnState,
|
|
439
|
+
formatValidationFailure,
|
|
440
|
+
emitJson,
|
|
441
|
+
} from './lib/runtime-client.mjs';
|
|
442
|
+
|
|
443
|
+
const event = readEventFromStdin();
|
|
444
|
+
const client = getHarnessClient();
|
|
445
|
+
const sessionId = inferSessionId(event);
|
|
446
|
+
const state = loadTurnState(sessionId);
|
|
447
|
+
const text = extractAssistantText(event);
|
|
448
|
+
|
|
449
|
+
try {
|
|
450
|
+
if (!text) {
|
|
451
|
+
emitJson({ continue: true });
|
|
452
|
+
}
|
|
453
|
+
const validation = await runtimePost('/validate-output', {
|
|
454
|
+
text,
|
|
455
|
+
sessionId,
|
|
456
|
+
packetRequest: {
|
|
457
|
+
sessionId,
|
|
458
|
+
platform: 'codex',
|
|
459
|
+
message: state?.userText || 'codex stop validation',
|
|
460
|
+
stage: 'codex-stop',
|
|
461
|
+
actor: 'codex-hook',
|
|
462
|
+
system: 'codex-hook',
|
|
463
|
+
},
|
|
464
|
+
requireCognitionBlock: false,
|
|
465
|
+
runLayer3: true,
|
|
466
|
+
});
|
|
467
|
+
if (validation?.pass === false || validation?.validation?.passed === false || validation?.layer3?.pass === false) {
|
|
468
|
+
emitJson({
|
|
469
|
+
decision: 'block',
|
|
470
|
+
reason: \`Aria stop gate blocked output: \${formatValidationFailure(validation)}\`,
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
const post = await runtimePost('/mizan/post', {
|
|
474
|
+
sessionId,
|
|
475
|
+
text,
|
|
476
|
+
evidence: {
|
|
477
|
+
validated_output: true,
|
|
478
|
+
validation_severity: validation?.validation?.severity || 'pass',
|
|
479
|
+
layer3_pass: validation?.layer3?.pass !== false,
|
|
480
|
+
surface: 'codex-hooks',
|
|
481
|
+
tool_count: Array.isArray(state?.tools) ? state.tools.length : 0,
|
|
482
|
+
},
|
|
483
|
+
context: {
|
|
484
|
+
sessionId,
|
|
485
|
+
surface: 'codex-hooks',
|
|
486
|
+
platform: 'codex',
|
|
487
|
+
userText: state?.userText || null,
|
|
488
|
+
},
|
|
489
|
+
parentReceiptId: state?.preReceiptId || null,
|
|
490
|
+
});
|
|
491
|
+
await runtimePost('/decision/log', {
|
|
492
|
+
session_id: sessionId,
|
|
493
|
+
decision_type: 'operational',
|
|
494
|
+
category: 'codex-hooks',
|
|
495
|
+
context: \`Codex native stop hook for \${sessionId}\`,
|
|
496
|
+
decision: 'validated output release',
|
|
497
|
+
reasoning: 'Mounted Aria runtime validated the output, issued Mizan post, and preserved the turn in garden memory.',
|
|
498
|
+
summary: 'codex native stop hook validated output',
|
|
499
|
+
outcome: 'success',
|
|
500
|
+
surface: 'codex-hooks',
|
|
501
|
+
metadata: {
|
|
502
|
+
post_receipt_id: post?.receipt?.receiptId || null,
|
|
503
|
+
pre_receipt_id: state?.preReceiptId || null,
|
|
504
|
+
tool_count: Array.isArray(state?.tools) ? state.tools.length : 0,
|
|
505
|
+
validation_severity: validation?.validation?.severity || 'pass',
|
|
506
|
+
layer3_pass: validation?.layer3?.pass !== false,
|
|
507
|
+
},
|
|
508
|
+
});
|
|
509
|
+
if (typeof state?.userText === 'string' && state.userText.trim()) {
|
|
510
|
+
await client.gardenTurn(sessionId, state.userText, text, state?.userId || undefined);
|
|
511
|
+
}
|
|
512
|
+
clearTurnState(sessionId);
|
|
513
|
+
emitJson({ continue: true });
|
|
514
|
+
} catch (error) {
|
|
515
|
+
emitJson({
|
|
516
|
+
decision: 'block',
|
|
517
|
+
reason: \`Aria stop hook failed closed: \${error instanceof Error ? error.message : String(error)}\`,
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
`;
|
|
521
|
+
}
|
|
522
|
+
function buildCodexHooksToml(codexDir) {
|
|
523
|
+
const hooksDir = path.join(codexDir, 'hooks');
|
|
524
|
+
const command = (name) => tomlString(`node ${path.join(hooksDir, name)}`);
|
|
525
|
+
return `# BEGIN ARIA MANAGED HOOKS
|
|
526
|
+
[hooks]
|
|
527
|
+
managed_dir = ${tomlString(hooksDir)}
|
|
528
|
+
|
|
529
|
+
[[hooks.UserPromptSubmit]]
|
|
530
|
+
hooks = [{ type = "command", command = ${command('aria-userprompt-submit.mjs')} }]
|
|
531
|
+
|
|
532
|
+
[[hooks.PreToolUse]]
|
|
533
|
+
matcher = ".*"
|
|
534
|
+
hooks = [{ type = "command", command = ${command('aria-pre-tool-use.mjs')} }]
|
|
535
|
+
|
|
536
|
+
[[hooks.PostToolUse]]
|
|
537
|
+
matcher = ".*"
|
|
538
|
+
hooks = [{ type = "command", command = ${command('aria-post-tool-use.mjs')} }]
|
|
539
|
+
|
|
540
|
+
[[hooks.Stop]]
|
|
541
|
+
hooks = [{ type = "command", command = ${command('aria-stop.mjs')} }]
|
|
542
|
+
# END ARIA MANAGED HOOKS
|
|
543
|
+
`;
|
|
544
|
+
}
|
|
545
|
+
function installCodexHooksConfig(codexDir, logs) {
|
|
546
|
+
const configPath = path.join(codexDir, 'config.toml');
|
|
547
|
+
const managedBlock = buildCodexHooksToml(codexDir);
|
|
548
|
+
const markerRegex = /# BEGIN ARIA MANAGED HOOKS[\s\S]*?# END ARIA MANAGED HOOKS\n?/m;
|
|
549
|
+
let text = existsSync(configPath) ? readFileSync(configPath, 'utf8') : '';
|
|
550
|
+
if (markerRegex.test(text)) {
|
|
551
|
+
text = text.replace(markerRegex, managedBlock);
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
if (text && !text.endsWith('\n'))
|
|
555
|
+
text += '\n';
|
|
556
|
+
text += `\n${managedBlock}`;
|
|
557
|
+
}
|
|
558
|
+
writeFileSync(configPath, text, { mode: 0o600 });
|
|
559
|
+
logs.push(`Installed Codex managed hooks config → ${configPath}`);
|
|
560
|
+
}
|
|
561
|
+
function installCodexHooks(codexDir, logs) {
|
|
562
|
+
const hooksDir = path.join(codexDir, 'hooks');
|
|
563
|
+
mkdirSync(path.join(hooksDir, 'lib'), { recursive: true, mode: 0o755 });
|
|
564
|
+
const files = [
|
|
565
|
+
[path.join(hooksDir, 'lib', 'runtime-client.mjs'), buildCodexHookRuntimeClient()],
|
|
566
|
+
[path.join(hooksDir, 'aria-userprompt-submit.mjs'), buildCodexUserPromptHook()],
|
|
567
|
+
[path.join(hooksDir, 'aria-pre-tool-use.mjs'), buildCodexPreToolHook()],
|
|
568
|
+
[path.join(hooksDir, 'aria-post-tool-use.mjs'), buildCodexPostToolHook()],
|
|
569
|
+
[path.join(hooksDir, 'aria-stop.mjs'), buildCodexStopHook()],
|
|
570
|
+
];
|
|
571
|
+
for (const [filePath, content] of files) {
|
|
572
|
+
writeFileSync(filePath, content, { mode: 0o755 });
|
|
573
|
+
try {
|
|
574
|
+
chmodSync(filePath, 0o755);
|
|
575
|
+
}
|
|
576
|
+
catch { }
|
|
577
|
+
}
|
|
578
|
+
logs.push(`Installed Codex native hooks → ${hooksDir}`);
|
|
579
|
+
installCodexHooksConfig(codexDir, logs);
|
|
580
|
+
}
|
|
64
581
|
function buildCodexSkill(_config) {
|
|
65
582
|
return `---
|
|
66
583
|
name: aria-http-harness-client
|
|
@@ -91,7 +608,7 @@ That means:
|
|
|
91
608
|
|
|
92
609
|
- the mounted runtime is the universal control plane
|
|
93
610
|
- the shared SDK at \`~/.aria/sdk\` is the universal client substrate
|
|
94
|
-
- Codex
|
|
611
|
+
- Codex native hooks plus the runtime are the hard-gate path for this platform
|
|
95
612
|
|
|
96
613
|
## Preferred Call Paths
|
|
97
614
|
|
|
@@ -131,6 +648,8 @@ function buildCodexAgentsMd(config) {
|
|
|
131
648
|
|
|
132
649
|
Automatically injected by @aria_asi/cli. These instructions are always on for Codex sessions.
|
|
133
650
|
|
|
651
|
+
${mustReadIntro('codex')}
|
|
652
|
+
|
|
134
653
|
## Connected Repositories
|
|
135
654
|
${repoList || '(none linked yet)'}
|
|
136
655
|
|
|
@@ -229,6 +748,9 @@ function installAgentsMd(codexDir, config, logs) {
|
|
|
229
748
|
const agentsPath = path.join(codexDir, 'AGENTS.md');
|
|
230
749
|
writeFileSync(agentsPath, buildCodexAgentsMd(config), { mode: 0o644 });
|
|
231
750
|
logs.push(`Installed Codex AGENTS.md → ${agentsPath}`);
|
|
751
|
+
const mustReadPath = path.join(codexDir, 'ARIA_MUST_READ.md');
|
|
752
|
+
writeFileSync(mustReadPath, buildMustReadGuide('codex'), { mode: 0o644 });
|
|
753
|
+
logs.push(`Installed Codex must-read guide → ${mustReadPath}`);
|
|
232
754
|
}
|
|
233
755
|
export async function connectCodex(config) {
|
|
234
756
|
const logs = [];
|
|
@@ -241,7 +763,9 @@ export async function connectCodex(config) {
|
|
|
241
763
|
installNodePackage(codexDir, logs);
|
|
242
764
|
installAgentsMd(codexDir, config, logs);
|
|
243
765
|
installSkill(codexDir, config, logs);
|
|
766
|
+
installCodexHooks(codexDir, logs);
|
|
244
767
|
installAriaCognitionSkills(codexDir, logs);
|
|
768
|
+
syncDoctrineTriggerMap(logs);
|
|
245
769
|
logs.push(...await connectShell('codex', config));
|
|
246
770
|
return logs;
|
|
247
771
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/connectors/codex.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAE9H,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/connectors/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctrine-trigger-map.d.ts","sourceRoot":"","sources":["../../../../src/connectors/doctrine-trigger-map.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AA+CD,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,qBAAqB,CAiDjF"}
|