evolcore 0.0.22 → 0.0.24
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/CHANGELOG.md +74 -14
- package/README.md +4 -0
- package/bin/codex-managed-acl.ps1 +160 -0
- package/bin/codex-managed-hook.mjs +127 -10
- package/bin/ec-safe-output.js +85 -3
- package/bin/install-codex-managed-hooks.mjs +384 -95
- package/dist/agents/baseagent-availability.js +48 -0
- package/dist/agents/baseagent.js +30 -2
- package/dist/agents/claude-runner.js +179 -240
- package/dist/agents/{codex-app-server-client.js → codex/app-server-client.js} +90 -20
- package/dist/{utils/codex-app-server-registry.js → agents/codex/app-server-registry.js} +2 -2
- package/dist/agents/codex/catalog.js +70 -0
- package/dist/agents/codex/diagnostics.js +369 -0
- package/dist/agents/codex-runner.js +839 -192
- package/dist/agents/ecagent-runner.js +27 -34
- package/dist/agents/gemini-runner.js +62 -8
- package/dist/agents/runner-types.js +1 -1
- package/dist/aun/aid/managed-operation.js +28 -6
- package/dist/aun/aid/store.js +43 -0
- package/dist/aun/menu-client.js +272 -0
- package/dist/aun/msg/group.js +65 -4
- package/dist/aun/msg/index.js +1 -1
- package/dist/aun/msg/managed-operation.js +57 -5
- package/dist/aun/outbox.js +56 -18
- package/dist/aun/rpc/client.js +7 -1
- package/dist/channels/aun.js +178 -77
- package/dist/channels/daemon.js +7 -1
- package/dist/channels/dingtalk.js +1 -0
- package/dist/channels/feishu.js +10 -4
- package/dist/channels/wechat.js +81 -10
- package/dist/channels/wecom.js +2 -1
- package/dist/cli/agent-command.js +29 -3
- package/dist/cli/agent-create.js +538 -0
- package/dist/cli/agent.js +26 -675
- package/dist/cli/aun-commands.js +108 -24
- package/dist/cli/command-log.js +21 -2
- package/dist/cli/ctl-command.js +2 -0
- package/dist/cli/daemon-commands.js +289 -61
- package/dist/cli/index.js +22 -2
- package/dist/cli/init.js +2 -10
- package/dist/cli/managed-command-guard.js +3 -0
- package/dist/cli/menu-client.js +95 -0
- package/dist/cli/model.js +23 -8
- package/dist/cli/restart-monitor.js +432 -8
- package/dist/cli/stats.js +110 -0
- package/dist/cli/task-context.js +12 -2
- package/dist/cli/trigger-command.js +9 -1
- package/dist/config/builtin-roles.js +2 -0
- package/dist/config/schema-migration.js +14 -2
- package/dist/core/auth/agent-delegation.js +10 -7
- package/dist/core/auth/auth-gateway.js +3 -2
- package/dist/core/auth/authorization-audit.js +75 -18
- package/dist/core/auth/operation-authorizer.js +63 -3
- package/dist/core/auth/operation-catalog.js +14 -2
- package/dist/core/auth/remote-access-store.js +136 -0
- package/dist/core/baseagent-loader.js +4 -4
- package/dist/core/bootstrap-messages.js +39 -18
- package/dist/core/bootstrap-service.js +32 -26
- package/dist/core/capability/capability-manager.js +8 -4
- package/dist/core/capability/providers/codex-capability-provider.js +1 -1
- package/dist/core/command/agent-control.js +7 -2
- package/dist/core/command/command-handler.js +128 -30
- package/dist/core/command/daemon-diagnostics.js +448 -0
- package/dist/core/command/menu-catalog.js +6 -1
- package/dist/core/command/menu-handler.js +410 -98
- package/dist/core/command/menu-protocol.js +123 -0
- package/dist/core/command/slash-gate.js +4 -6
- package/dist/core/command/slash-handler.js +199 -70
- package/dist/core/data-migration.js +5 -15
- package/dist/core/event-catalog.js +3 -0
- package/dist/core/handoff/runtime.js +3 -1
- package/dist/core/handoff/store.js +7 -1
- package/dist/core/message/im-renderer.js +13 -6
- package/dist/core/message/message-bridge.js +5 -36
- package/dist/core/message/message-queue.js +20 -15
- package/dist/core/message/message-utils.js +6 -3
- package/dist/core/message/response-engine.js +147 -94
- package/dist/core/model/catalog-service.js +310 -0
- package/dist/core/model/model-catalog.js +134 -334
- package/dist/core/model/model-diagnostics.js +4 -5
- package/dist/core/model/model-fallback.js +9 -16
- package/dist/core/model/model-permission.js +5 -2
- package/dist/core/permission/approval-gateway.js +183 -32
- package/dist/core/permission/protected-paths.js +63 -4
- package/dist/core/permission/sandbox-runtime.js +4 -2
- package/dist/core/permission/tool-policy.js +257 -31
- package/dist/core/runtime-lock.js +13 -8
- package/dist/core/session/adapters/codex-session-file-adapter.js +71 -3
- package/dist/core/session/session-manager.js +49 -13
- package/dist/core/session/session-renew.js +1 -0
- package/dist/index.js +214 -57
- package/dist/ipc.js +191 -102
- package/dist/paths.js +23 -1
- package/dist/stats/billing.js +18 -4
- package/dist/trigger/manager.js +3 -1
- package/dist/trigger/parser.js +77 -13
- package/dist/trigger/patch.js +104 -1
- package/dist/utils/atomic-write.js +26 -2
- package/dist/utils/cross-platform.js +436 -1
- package/dist/utils/ecweb-supervisor.js +11 -2
- package/dist/utils/ecweb-utils.js +8 -26
- package/dist/utils/error-utils.js +16 -2
- package/dist/utils/model-prices.jsonl +23 -20
- package/dist/utils/npm-ops.js +70 -15
- package/dist/utils/windows-autostart.js +1 -1
- package/kits/docs/evolcore/INDEX.md +1 -0
- package/kits/docs/evolcore/agent-create.md +13 -0
- package/kits/docs/evolcore/group-collaboration.md +7 -2
- package/kits/docs/evolcore/menu-client.md +34 -0
- package/kits/migrations/migrate-contact-book-v2.mjs +9 -1
- package/kits/migrations/migrate-role-config-v4.mjs +11 -5
- package/kits/migrations/migrate-role-config-v5.mjs +8 -2
- package/kits/templates/roles/admin.json +2 -0
- package/kits/templates/roles/visitor.json +1 -0
- package/kits/templates/system-fragments/bootstrap.md +8 -1
- package/package.json +16 -4
- package/dist/utils/codex-cli.js +0 -43
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evolcore",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.24",
|
|
4
4
|
"description": "AI Agent gateway connecting Claude, Codex, Gemini, and the bundled ecagent runner to messaging channels with multi-project session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"kits/",
|
|
25
25
|
"!kits/.kits-version",
|
|
26
26
|
"*.md",
|
|
27
|
+
"!AGENTS.md",
|
|
27
28
|
"!CLAUDE.md",
|
|
28
29
|
"!COMPLETED.md",
|
|
29
30
|
"!DECISIONS_PENDING.md",
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"predev": "npm run build:ecagent",
|
|
40
41
|
"dev": "tsx watch src/index.ts",
|
|
41
42
|
"build:ecagent": "npm --prefix ecagent run build",
|
|
42
|
-
"build": "npm run build:ecagent && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"const f='dist/cli/index.js',c=require('fs').readFileSync(f,'utf8');if(!c.startsWith('#!'))require('fs').writeFileSync(f,'#!/usr/bin/env node\\n'+c)\" && node -e \"try{require('child_process').execFileSync('chmod',['+x','dist/cli/index.js'])}catch{}\" && node -e \"
|
|
43
|
+
"build": "npm run build:ecagent && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && node -e \"const f='dist/cli/index.js',c=require('fs').readFileSync(f,'utf8');if(!c.startsWith('#!'))require('fs').writeFileSync(f,'#!/usr/bin/env node\\n'+c)\" && node -e \"try{require('child_process').execFileSync('chmod',['+x','dist/cli/index.js'])}catch{}\" && node -e \"for(const f of ['error-dict.json','model-prices.jsonl'])require('fs').copyFileSync('src/utils/'+f,'dist/utils/'+f)\" && npm --prefix ecweb run build",
|
|
43
44
|
"start": "node dist/index.js",
|
|
44
45
|
"test": "npm run build && vitest run",
|
|
45
46
|
"test:watch": "vitest",
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
"prepublishOnly": "npm test"
|
|
49
50
|
},
|
|
50
51
|
"dependencies": {
|
|
51
|
-
"@agentunion/fastaun": "0.5.
|
|
52
|
+
"@agentunion/fastaun": "0.5.14",
|
|
52
53
|
"@anthropic-ai/claude-agent-sdk": "0.3.220",
|
|
53
54
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
54
55
|
"ajv": "^8.20.0",
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
"image-type": "^6.0.0",
|
|
59
60
|
"partial-json": "0.1.7",
|
|
60
61
|
"qrcode-terminal": "^0.12.0",
|
|
62
|
+
"smol-toml": "1.8.0",
|
|
61
63
|
"typebox": "1.1.38",
|
|
62
64
|
"ws": "^8.21.0",
|
|
63
65
|
"yaml": "2.9.0",
|
|
@@ -70,6 +72,9 @@
|
|
|
70
72
|
"form-data": "^4.0.5",
|
|
71
73
|
"pure-qqbot": "^2.0.0"
|
|
72
74
|
},
|
|
75
|
+
"overrides": {
|
|
76
|
+
"qs": "6.16.0"
|
|
77
|
+
},
|
|
73
78
|
"devDependencies": {
|
|
74
79
|
"@types/form-data": "^2.2.1",
|
|
75
80
|
"@types/node": "24.12.4",
|
|
@@ -82,5 +87,12 @@
|
|
|
82
87
|
},
|
|
83
88
|
"engines": {
|
|
84
89
|
"node": ">=22.16.0"
|
|
85
|
-
}
|
|
90
|
+
},
|
|
91
|
+
"directories": {
|
|
92
|
+
"doc": "docs",
|
|
93
|
+
"test": "tests"
|
|
94
|
+
},
|
|
95
|
+
"keywords": [],
|
|
96
|
+
"author": "",
|
|
97
|
+
"license": "ISC"
|
|
86
98
|
}
|
package/dist/utils/codex-cli.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { execFileSync } from 'child_process';
|
|
2
|
-
import { isWindows, resolveCommandPath } from './cross-platform.js';
|
|
3
|
-
/**
|
|
4
|
-
* Resolve the installed Codex CLI entrypoint. npm creates a `.cmd` shim on
|
|
5
|
-
* Windows, which is not the same executable as the extensionless Unix shim.
|
|
6
|
-
*/
|
|
7
|
-
export function resolveCodexCliPath() {
|
|
8
|
-
return resolveCommandPath('codex');
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Build a child-process invocation that works for npm's Windows command shim.
|
|
12
|
-
* The options are injectable so platform-specific behavior can be tested on
|
|
13
|
-
* non-Windows CI hosts.
|
|
14
|
-
*/
|
|
15
|
-
export function resolveCodexLaunchCommand(args, options = {}) {
|
|
16
|
-
const windows = options.isWindows ?? isWindows;
|
|
17
|
-
const commandPath = options.commandPath !== undefined
|
|
18
|
-
? options.commandPath
|
|
19
|
-
: resolveCodexCliPath();
|
|
20
|
-
if (!commandPath)
|
|
21
|
-
return null;
|
|
22
|
-
if (windows && /\.(cmd|bat)$/i.test(commandPath)) {
|
|
23
|
-
return {
|
|
24
|
-
command: options.comSpec ?? process.env.ComSpec ?? 'cmd.exe',
|
|
25
|
-
args: ['/d', '/s', '/c', commandPath, ...args],
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return { command: commandPath, args };
|
|
29
|
-
}
|
|
30
|
-
/** Execute a Codex CLI command using the resolved npm shim/path. */
|
|
31
|
-
export function execCodexCliSync(args, options) {
|
|
32
|
-
const commandPath = resolveCodexCliPath();
|
|
33
|
-
if (!commandPath)
|
|
34
|
-
throw new Error('Codex CLI not found');
|
|
35
|
-
const launchCommand = resolveCodexLaunchCommand(args, { commandPath });
|
|
36
|
-
if (!launchCommand)
|
|
37
|
-
throw new Error('Codex CLI not found');
|
|
38
|
-
return execFileSync(launchCommand.command, launchCommand.args, {
|
|
39
|
-
...(options ?? {}),
|
|
40
|
-
// Keep the Windows console policy authoritative for every Codex CLI call.
|
|
41
|
-
windowsHide: process.platform === 'win32',
|
|
42
|
-
});
|
|
43
|
-
}
|