agent-portal-2 0.1.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.
- package/.continue/agents/new-config.yaml +22 -0
- package/AGENT_STEERING.md +36 -0
- package/ARCHITECTURE.md +13 -0
- package/CHANGELOG.md +97 -0
- package/CLI.md +38 -0
- package/CONTRIBUTING.md +55 -0
- package/INSTALLATION.md +58 -0
- package/LICENSE +60 -0
- package/PLUGIN_SYSTEM.md +33 -0
- package/PYTHON_SDK.md +22 -0
- package/QUICKSTART.md +19 -0
- package/README.md +385 -0
- package/RELEASE_NOTES_v0.1.0.md +281 -0
- package/ROADMAP.md +3 -0
- package/RUNTIME.md +44 -0
- package/SAFETY_MODEL.md +24 -0
- package/TESTING.md +35 -0
- package/TROUBLESHOOTING.md +30 -0
- package/UPGRADE_GUIDE.md +288 -0
- package/VS_CODE_EXTENSION.md +47 -0
- package/agent-portal.config.json +20 -0
- package/apps/desktop/agent-portal-desktop.zip +0 -0
- package/apps/desktop/fixtures/local-workflow.html +151 -0
- package/apps/desktop/package.json +18 -0
- package/apps/desktop/src/main.ts +117 -0
- package/apps/desktop/tsconfig.json +8 -0
- package/apps/vscode-extension/LICENSE +60 -0
- package/apps/vscode-extension/README.md +20 -0
- package/apps/vscode-extension/media/agent-portal-logo.png +0 -0
- package/apps/vscode-extension/package.json +149 -0
- package/apps/vscode-extension/src/extension.ts +614 -0
- package/apps/vscode-extension/tsconfig.json +12 -0
- package/assets/branding/agent-portal-logo.png +0 -0
- package/connectors/chatgpt-tools/README.md +9 -0
- package/connectors/claude-mcp-server/README.md +9 -0
- package/connectors/gemini-connector/README.md +9 -0
- package/connectors/rest-websocket-api/README.md +9 -0
- package/docs/MCP_SERVER.md +68 -0
- package/docs/architecture.md +214 -0
- package/docs/roadmap.md +125 -0
- package/package.json +21 -0
- package/packages/agent-portal-mcp/README.md +12 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/__init__.py +3 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/bridge/__init__.py +1 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/bridge/runtime_client.py +180 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/cli.py +32 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/doctor.py +71 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/schemas/__init__.py +1 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/schemas/actions.py +17 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/schemas/results.py +24 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/schemas/risk.py +20 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/security/__init__.py +1 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/security/policy.py +27 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/server.py +148 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tool_registry.py +58 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/__init__.py +1 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/browser.py +89 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/common.py +98 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/inspection.py +93 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/navigation.py +93 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/reports.py +34 -0
- package/packages/agent-portal-mcp/agent_portal_mcp/tools/steering.py +93 -0
- package/packages/agent-portal-mcp/pyproject.toml +20 -0
- package/packages/agent-portal-mcp/tests/test_doctor.py +20 -0
- package/packages/agent-portal-mcp/tests/test_mcp_server.py +161 -0
- package/packages/core/package.json +15 -0
- package/packages/core/src/index.ts +1842 -0
- package/packages/core/tsconfig.json +8 -0
- package/packages/mcp-server/package.json +15 -0
- package/packages/mcp-server/src/index.ts +73 -0
- package/packages/mcp-server/tsconfig.json +8 -0
- package/packages/sdk/package.json +15 -0
- package/packages/sdk/src/index.ts +544 -0
- package/packages/sdk/tsconfig.json +8 -0
- package/plugins/README.md +16 -0
- package/plugins/agent-portal-browser/plugin.json +19 -0
- package/plugins/agent-portal-python/plugin.json +16 -0
- package/plugins/agent-portal-skills/plugin.json +19 -0
- package/plugins/agent-portal-vscode/plugin.json +27 -0
- package/plugins/example-runtime-plugin/README.md +3 -0
- package/plugins/example-runtime-plugin/plugin.json +20 -0
- package/plugins/plugin.schema.json +53 -0
- package/python/README.md +18 -0
- package/python/agent_portal/__init__.py +5 -0
- package/python/agent_portal/__main__.py +5 -0
- package/python/agent_portal/browser.py +393 -0
- package/python/agent_portal/cli.py +164 -0
- package/python/agent_portal/config.py +31 -0
- package/python/agent_portal/doctor.py +165 -0
- package/python/agent_portal/exceptions.py +39 -0
- package/python/agent_portal/logging_utils.py +33 -0
- package/python/agent_portal/metrics.py +309 -0
- package/python/agent_portal/models.py +160 -0
- package/python/agent_portal/plugin_system.py +42 -0
- package/python/agent_portal/rate_limit.py +253 -0
- package/python/agent_portal/runtime.py +739 -0
- package/python/agent_portal/server.py +351 -0
- package/python/agent_portal/validation.py +299 -0
- package/python/pyproject.toml +29 -0
- package/python/tests/test_config.py +24 -0
- package/python/tests/test_doctor.py +19 -0
- package/python/tests/test_metrics.py +180 -0
- package/python/tests/test_rate_limit.py +237 -0
- package/python/tests/test_runtime.py +122 -0
- package/python/tests/test_server.py +53 -0
- package/python/tests/test_validation.py +170 -0
- package/releases/desktop/agent-portal-desktop/README.md +378 -0
- package/releases/desktop/agent-portal-desktop/RELEASE_NOTES.md +14 -0
- package/releases/desktop/agent-portal-desktop/assets/branding/agent-portal-logo.png +0 -0
- package/releases/desktop/agent-portal-desktop/fixtures/local-workflow.html +151 -0
- package/releases/desktop/agent-portal-desktop/launch-agent-portal.bat +4 -0
- package/releases/desktop/agent-portal-desktop.zip +0 -0
- package/releases/python/agent_portal-0.0.2-py3-none-any.whl +0 -0
- package/releases/python/agent_portal-0.0.2.tar.gz +0 -0
- package/scripts/package_desktop.mjs +117 -0
- package/scripts/release_python.py +46 -0
- package/tests/plugin-manifest.test.mjs +26 -0
- package/tests/runtime.test.mjs +41 -0
- package/tests/vscode-extension.test.mjs +22 -0
- package/tsconfig.base.json +16 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: Diff Config
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
schema: v1
|
|
4
|
+
|
|
5
|
+
models:
|
|
6
|
+
- name: GLM 5.2 Chat
|
|
7
|
+
provider: openai
|
|
8
|
+
model: glm-5.2
|
|
9
|
+
apiBase: https://api.z.ai/api/paas/v4
|
|
10
|
+
apiKey: 680bd41483654976867ca460ffa1c605.f8K53MYqu7JbdJFs
|
|
11
|
+
roles:
|
|
12
|
+
- chat
|
|
13
|
+
- edit
|
|
14
|
+
- apply
|
|
15
|
+
|
|
16
|
+
- name: GLM 5.2 Autocomplete
|
|
17
|
+
provider: openai
|
|
18
|
+
model: glm-5.2
|
|
19
|
+
apiBase: https://api.z.ai/api/paas/v4
|
|
20
|
+
apiKey: 680bd41483654976867ca460ffa1c605.f8K53MYqu7JbdJFs
|
|
21
|
+
roles:
|
|
22
|
+
- autocomplete
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent Steering
|
|
2
|
+
|
|
3
|
+
Agent Steering is the control system that governs what the agent can do.
|
|
4
|
+
|
|
5
|
+
## Current Controls
|
|
6
|
+
|
|
7
|
+
- pause agent
|
|
8
|
+
- resume agent
|
|
9
|
+
- stop agent
|
|
10
|
+
- step-by-step mode
|
|
11
|
+
- redirect goal
|
|
12
|
+
- lock to domain
|
|
13
|
+
- lock to current tab
|
|
14
|
+
- approve next action
|
|
15
|
+
- reject next action
|
|
16
|
+
- edit queued action
|
|
17
|
+
|
|
18
|
+
## Current Policy Rules
|
|
19
|
+
|
|
20
|
+
- password field typing is blocked
|
|
21
|
+
- billing and payment actions are blocked
|
|
22
|
+
- destructive actions are high risk
|
|
23
|
+
- settings changes are high risk
|
|
24
|
+
- submissions and authentication are medium risk
|
|
25
|
+
- safe and low risk actions can auto-run unless step-by-step mode is enabled
|
|
26
|
+
|
|
27
|
+
## Action Queue Fields
|
|
28
|
+
|
|
29
|
+
- action type
|
|
30
|
+
- target
|
|
31
|
+
- reason
|
|
32
|
+
- risk level
|
|
33
|
+
- timestamp
|
|
34
|
+
- result
|
|
35
|
+
- screenshot before
|
|
36
|
+
- screenshot after
|
package/ARCHITECTURE.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
See [docs/architecture.md](docs/architecture.md) for the detailed architecture document.
|
|
4
|
+
|
|
5
|
+
## Current Layers
|
|
6
|
+
|
|
7
|
+
- `python/agent_portal`: primary local runtime, Playwright process owner, and REST/WebSocket server scaffold
|
|
8
|
+
- `apps/vscode-extension`: developer control panel for the running runtime
|
|
9
|
+
- `connectors/`: integration entry points for ChatGPT tools, Claude MCP, Gemini, and generic APIs
|
|
10
|
+
- `packages/core`: shared TypeScript-side control logic, policy, reporting, and contracts
|
|
11
|
+
- `packages/sdk`: developer-facing TypeScript API
|
|
12
|
+
- `packages/mcp-server`: tool-facing command surface
|
|
13
|
+
- `apps/desktop`: local proving ground and runtime demo
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Agent Portal will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.0.3] - 2026-06-26
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Critical: ThreadingHTTPServer / Playwright greenlet conflict (#1)**
|
|
12
|
+
Replaced `ThreadingHTTPServer` with single-threaded `HTTPServer`. Playwright
|
|
13
|
+
sync greenlets are pinned to the thread that started the browser; the
|
|
14
|
+
threaded server routed subsequent requests to new threads, crashing every
|
|
15
|
+
browser action with `greenlet.error: cannot switch to a different thread`.
|
|
16
|
+
|
|
17
|
+
- **High: Error handler AttributeError (#2)**
|
|
18
|
+
`fail_action()` accessed `error.message` but `AgentPortalError` exposes the
|
|
19
|
+
message via `str(error)`, not a `.message` attribute. This caused the error
|
|
20
|
+
handler itself to crash, swallowing the real error and returning an empty
|
|
21
|
+
HTTP reply. Changed to `str(error)`.
|
|
22
|
+
|
|
23
|
+
- **Medium: Stale lock file and port reuse (#3)**
|
|
24
|
+
- Added PID liveness check (`os.kill(pid, 0)`) to `_ensure_single_instance()`:
|
|
25
|
+
a stale lock from a crashed runtime is now auto-removed instead of
|
|
26
|
+
blocking restart.
|
|
27
|
+
- Added `SO_REUSEADDR` to both the port-probe socket and the HTTP server
|
|
28
|
+
socket, eliminating the ~60 s `TIME_WAIT` delay after a crash.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## [0.1.0] - 2024-01-XX
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
- **Security Features**
|
|
36
|
+
- Input validation module (`validation.py`) with comprehensive validation for URLs, selectors, scripts, action types, risk levels, and configurations
|
|
37
|
+
- Rate limiting system (`rate_limit.py`) with configurable per-minute, per-hour, and burst limits
|
|
38
|
+
- Action throttling to prevent abuse of specific operations (execute, click, type, screenshot)
|
|
39
|
+
- Thread-safe metrics and telemetry system (`metrics.py`) for observability
|
|
40
|
+
- Automatic XSS pattern detection in selectors and URLs
|
|
41
|
+
- Dangerous protocol blocking (javascript:, data:, file:, vbscript:, etc.)
|
|
42
|
+
|
|
43
|
+
- **Runtime Improvements**
|
|
44
|
+
- Metrics collection for actions (total, completed, failed, blocked, approved, rejected)
|
|
45
|
+
- Browser operation metrics (navigations, screenshots, errors)
|
|
46
|
+
- Network metrics (requests, failures, console errors)
|
|
47
|
+
- Timer context manager for performance tracking
|
|
48
|
+
- Histogram statistics for value distributions
|
|
49
|
+
- Export metrics to JSON files
|
|
50
|
+
|
|
51
|
+
- **Testing**
|
|
52
|
+
- Comprehensive test suite for validation module (29 tests)
|
|
53
|
+
- Test suite for rate limiting module
|
|
54
|
+
- Test suite for metrics collection module
|
|
55
|
+
- All tests pass successfully
|
|
56
|
+
|
|
57
|
+
- **Enhancements**
|
|
58
|
+
- Better error handling with structured error messages
|
|
59
|
+
- Improved security posture with input sanitization
|
|
60
|
+
- Performance monitoring and observability
|
|
61
|
+
- Memory-safe sample limiting in metrics
|
|
62
|
+
|
|
63
|
+
### Security
|
|
64
|
+
- Added URL scheme validation to prevent dangerous protocols
|
|
65
|
+
- Blocked JavaScript execution in page context from untrusted sources
|
|
66
|
+
- Added selector injection protection
|
|
67
|
+
- Implemented rate limiting to prevent DoS
|
|
68
|
+
- Configurable action throttling for high-risk operations
|
|
69
|
+
- Sanitization of text inputs to remove control characters
|
|
70
|
+
|
|
71
|
+
### Performance
|
|
72
|
+
- Optimized metrics storage with automatic cleanup
|
|
73
|
+
- Sliding window rate limiting algorithm
|
|
74
|
+
- Sample limits to prevent memory leaks
|
|
75
|
+
- Efficient client-based rate tracking
|
|
76
|
+
|
|
77
|
+
### Documentation
|
|
78
|
+
- Added comprehensive docstrings for all new modules
|
|
79
|
+
- Updated README with security features
|
|
80
|
+
- Added inline documentation for validation rules
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## [0.0.2] - Previous Release
|
|
85
|
+
- Initial stable release with Python runtime
|
|
86
|
+
- Browser control via Playwright
|
|
87
|
+
- HTTP API server
|
|
88
|
+
- VS Code extension
|
|
89
|
+
- Basic action approval workflow
|
|
90
|
+
- Report generation
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## [0.0.1] - Initial Release
|
|
95
|
+
- Project scaffolding
|
|
96
|
+
- Basic runtime structure
|
|
97
|
+
- Plugin system foundation
|
package/CLI.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# CLI
|
|
2
|
+
|
|
3
|
+
The Python package installs the `agent-portal` command.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
agent-portal start
|
|
9
|
+
agent-portal stop
|
|
10
|
+
agent-portal status
|
|
11
|
+
agent-portal doctor
|
|
12
|
+
agent-portal open http://localhost:3000
|
|
13
|
+
agent-portal screenshot --label homepage
|
|
14
|
+
agent-portal report
|
|
15
|
+
agent-portal plugins list
|
|
16
|
+
agent-portal plugins validate
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Global Options
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
agent-portal --json --host 127.0.0.1 --port 8765 status
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Supported options:
|
|
26
|
+
|
|
27
|
+
- `--json` for machine-readable output
|
|
28
|
+
- `--host` to override the runtime host
|
|
29
|
+
- `--port` to override the runtime port
|
|
30
|
+
- `--verbose`
|
|
31
|
+
- `--debug`
|
|
32
|
+
- `--profile`
|
|
33
|
+
|
|
34
|
+
## Notes
|
|
35
|
+
|
|
36
|
+
- `start` writes a default `agent-portal.config.json` if one does not exist.
|
|
37
|
+
- runtime-facing commands call the local HTTP runtime.
|
|
38
|
+
- if the runtime is unavailable, the CLI returns a helpful error with a suggested start command.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Contributing to Agent Portal
|
|
4
|
+
|
|
5
|
+
Thank you for your interest in Agent Portal.
|
|
6
|
+
|
|
7
|
+
Agent Portal is proprietary software owned by Magnexis. At this time, public code contributions, forks, modified versions, redistribution, or derivative works are not permitted unless explicitly authorized in writing by Magnexis.
|
|
8
|
+
|
|
9
|
+
Contribution Policy
|
|
10
|
+
|
|
11
|
+
Magnexis is not currently accepting direct source code contributions from the public.
|
|
12
|
+
|
|
13
|
+
You may not:
|
|
14
|
+
|
|
15
|
+
Fork this repository for modification or redistribution.
|
|
16
|
+
Submit modified versions of the software.
|
|
17
|
+
Repackage or redistribute Agent Portal.
|
|
18
|
+
Create derivative works based on Agent Portal.
|
|
19
|
+
Use the Agent Portal source code in another project.
|
|
20
|
+
Remove or alter copyright, license, or branding notices.
|
|
21
|
+
What You Can Submit
|
|
22
|
+
|
|
23
|
+
You may still help by submitting:
|
|
24
|
+
|
|
25
|
+
Bug reports
|
|
26
|
+
Feature requests
|
|
27
|
+
Documentation corrections
|
|
28
|
+
Security issue reports
|
|
29
|
+
Compatibility feedback
|
|
30
|
+
Usability feedback
|
|
31
|
+
Bug Reports
|
|
32
|
+
|
|
33
|
+
Please include:
|
|
34
|
+
|
|
35
|
+
Operating system
|
|
36
|
+
Agent Portal version
|
|
37
|
+
Steps to reproduce
|
|
38
|
+
Expected behavior
|
|
39
|
+
Actual behavior
|
|
40
|
+
Screenshots or logs, if helpful
|
|
41
|
+
Security Reports
|
|
42
|
+
|
|
43
|
+
Do not publicly disclose security vulnerabilities.
|
|
44
|
+
|
|
45
|
+
Send security reports directly to Magnexis through the official contact method listed in the project documentation.
|
|
46
|
+
|
|
47
|
+
Ownership
|
|
48
|
+
|
|
49
|
+
Any feedback, ideas, reports, suggestions, or other submissions provided to Magnexis may be used by Magnexis to improve Agent Portal without restriction or obligation.
|
|
50
|
+
|
|
51
|
+
License Reminder
|
|
52
|
+
|
|
53
|
+
Agent Portal is not open-source software.
|
|
54
|
+
|
|
55
|
+
All rights are reserved by Magnexis. Use, modification, distribution, sublicensing, hosting, reverse engineering, or creation of derivative works is prohibited without prior written permission from Magnexis.
|
package/INSTALLATION.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- Node.js 20+
|
|
6
|
+
- npm 10+
|
|
7
|
+
- Python 3.10+
|
|
8
|
+
- Playwright browser binaries installed with `npx playwright install chromium`
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
1. Install dependencies:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. Install Playwright Chromium:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx playwright install chromium
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
3. Install the Python runtime package:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install -e ./python
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
4. Build the workspace:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm run build
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## VS Code Extension
|
|
37
|
+
|
|
38
|
+
The VS Code extension is included in `apps/vscode-extension`.
|
|
39
|
+
|
|
40
|
+
Build it with:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm run build --workspace @agent-portal/vscode-extension
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Python Runtime
|
|
47
|
+
|
|
48
|
+
Run a health check first:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
agent-portal doctor
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Start the runtime server with:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
agent-portal start
|
|
58
|
+
```
|
package/LICENSE
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Copyright (c) 2026 Magnexis
|
|
2
|
+
|
|
3
|
+
All Rights Reserved.
|
|
4
|
+
|
|
5
|
+
Agent Portal and all associated source code, binaries, documentation, assets,
|
|
6
|
+
designs, interfaces, branding, logos, and related materials are the exclusive
|
|
7
|
+
property of Magnexis.
|
|
8
|
+
|
|
9
|
+
No person or entity is granted permission to copy, modify, merge, publish,
|
|
10
|
+
distribute, sublicense, sell, lease, rent, host, reverse engineer, create
|
|
11
|
+
derivative works from, or otherwise exploit any portion of the Software
|
|
12
|
+
without the express prior written permission of Magnexis.
|
|
13
|
+
|
|
14
|
+
Permitted Use
|
|
15
|
+
|
|
16
|
+
Subject to compliance with this license, Magnexis grants the end user a
|
|
17
|
+
limited, non-exclusive, non-transferable, revocable license to install and
|
|
18
|
+
use the Software solely for its intended purposes.
|
|
19
|
+
|
|
20
|
+
Restrictions
|
|
21
|
+
|
|
22
|
+
You may not:
|
|
23
|
+
|
|
24
|
+
Modify the Software.
|
|
25
|
+
Create derivative works based on the Software.
|
|
26
|
+
Redistribute the Software.
|
|
27
|
+
Resell the Software.
|
|
28
|
+
Repackage the Software.
|
|
29
|
+
Host the Software as a service.
|
|
30
|
+
Remove copyright notices.
|
|
31
|
+
Reverse engineer, decompile, or disassemble the Software except where
|
|
32
|
+
prohibited by applicable law.
|
|
33
|
+
Use Magnexis trademarks, logos, branding, or product names without
|
|
34
|
+
written authorization.
|
|
35
|
+
|
|
36
|
+
Ownership
|
|
37
|
+
|
|
38
|
+
All right, title, and interest in and to the Software remain exclusively with
|
|
39
|
+
Magnexis. No ownership rights are transferred under this license.
|
|
40
|
+
|
|
41
|
+
Termination
|
|
42
|
+
|
|
43
|
+
This license automatically terminates if any provision is violated. Upon
|
|
44
|
+
termination, all copies of the Software must be permanently removed and
|
|
45
|
+
destroyed.
|
|
46
|
+
|
|
47
|
+
Disclaimer of Warranty
|
|
48
|
+
|
|
49
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
50
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
51
|
+
FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
|
52
|
+
|
|
53
|
+
Limitation of Liability
|
|
54
|
+
|
|
55
|
+
IN NO EVENT SHALL MAGNEXIS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
|
|
56
|
+
LIABILITY ARISING FROM THE USE OF OR INABILITY TO USE THE SOFTWARE.
|
|
57
|
+
|
|
58
|
+
Contact
|
|
59
|
+
|
|
60
|
+
Licensing inquiries and permission requests should be directed to Magnexis.
|
package/PLUGIN_SYSTEM.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Plugin System
|
|
2
|
+
|
|
3
|
+
Agent Portal supports a manifest-driven plugin model.
|
|
4
|
+
|
|
5
|
+
## Manifest Fields
|
|
6
|
+
|
|
7
|
+
- `name`
|
|
8
|
+
- `version`
|
|
9
|
+
- `type`
|
|
10
|
+
- `permissions`
|
|
11
|
+
- `entryPoint`
|
|
12
|
+
- `commands`
|
|
13
|
+
- `settings`
|
|
14
|
+
- `panels`
|
|
15
|
+
- `lifecycleHooks`
|
|
16
|
+
|
|
17
|
+
## Included Plugin Manifests
|
|
18
|
+
|
|
19
|
+
- `plugins/agent-portal-vscode/plugin.json`
|
|
20
|
+
- `plugins/agent-portal-browser/plugin.json`
|
|
21
|
+
- `plugins/agent-portal-python/plugin.json`
|
|
22
|
+
- `plugins/agent-portal-skills/plugin.json`
|
|
23
|
+
|
|
24
|
+
## Connector Scaffolds
|
|
25
|
+
|
|
26
|
+
- `connectors/chatgpt-tools`
|
|
27
|
+
- `connectors/claude-mcp-server`
|
|
28
|
+
- `connectors/gemini-connector`
|
|
29
|
+
- `connectors/rest-websocket-api`
|
|
30
|
+
|
|
31
|
+
## Validation
|
|
32
|
+
|
|
33
|
+
The core runtime exports `validatePluginManifest()` for manifest checks.
|
package/PYTHON_SDK.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Python Runtime And SDK
|
|
2
|
+
|
|
3
|
+
The Python runtime package lives in `python/agent_portal`.
|
|
4
|
+
|
|
5
|
+
## Current Status
|
|
6
|
+
|
|
7
|
+
- package metadata is in `python/pyproject.toml`
|
|
8
|
+
- runtime models are in `python/agent_portal/models.py`
|
|
9
|
+
- runtime controller is in `python/agent_portal/runtime.py`
|
|
10
|
+
- HTTP runtime server is in `python/agent_portal/server.py`
|
|
11
|
+
- doctor checks are in `python/agent_portal/doctor.py`
|
|
12
|
+
- CLI commands are in `python/agent_portal/cli.py`
|
|
13
|
+
|
|
14
|
+
## Direction
|
|
15
|
+
|
|
16
|
+
This package currently owns:
|
|
17
|
+
|
|
18
|
+
- the local runtime
|
|
19
|
+
- Playwright session ownership
|
|
20
|
+
- browser automation and steering state
|
|
21
|
+
- HTTP transport
|
|
22
|
+
- report retrieval and connector access
|
package/QUICKSTART.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
1. Run `npm install`
|
|
4
|
+
2. Run `npx playwright install chromium`
|
|
5
|
+
3. Run `pip install -e ./python`
|
|
6
|
+
4. Run `agent-portal doctor`
|
|
7
|
+
5. Start the runtime with `agent-portal start`
|
|
8
|
+
6. Use `agent-portal open http://localhost:3000` or start the desktop demo with `npm run dev`
|
|
9
|
+
7. Run `agent-portal screenshot --label smoke-test`
|
|
10
|
+
8. Run `agent-portal report`
|
|
11
|
+
9. Open the VS Code extension sidebar and use `Agent Portal: Connect To Running Runtime`
|
|
12
|
+
|
|
13
|
+
## What You Should See
|
|
14
|
+
|
|
15
|
+
- a local browser workflow opens
|
|
16
|
+
- the agent types, clicks, scrolls, and captures evidence
|
|
17
|
+
- a session report is generated
|
|
18
|
+
- action queue, graph, and memory artifacts are persisted
|
|
19
|
+
- the VS Code extension reads live runtime status from the Python runtime
|