@engineeros/connector 1.6.1 → 1.12.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/README.md +55 -0
- package/bin/engineeros-connector.mjs +147 -137
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,6 +186,18 @@ npx --yes @engineeros/connector@latest start --workspace .
|
|
|
186
186
|
Credentials are stored per workspace under `~/.engineeros/connectors` with owner-only permissions where supported.
|
|
187
187
|
If a new pairing command is accidentally run from the same folder against the same EngineerOS server, the connector reuses this saved identity instead of creating another baseline assessment.
|
|
188
188
|
|
|
189
|
+
## Self-check
|
|
190
|
+
|
|
191
|
+
Connector 1.12.0 checks itself and reports the result to EngineerOS, so a local problem is visible in **Project steering -> Connect workspace** instead of only in this terminal. The checks cover the Node runtime, the saved pairing, whether the EngineerOS backend answers from this machine, whether the coding agent starts, the tool registry, and stuck local Goal jobs.
|
|
192
|
+
|
|
193
|
+
The report is sent when the connector connects, every five minutes while it is idle, and once more when a startup problem is about to stop it, which is the case EngineerOS could not see before: the workspace simply appeared offline. Run the same checks locally at any time, paired or not:
|
|
194
|
+
|
|
195
|
+
```sh
|
|
196
|
+
npx --yes @engineeros/connector@latest doctor --workspace .
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
The command prints every check with its reason and remedy, sends the report when the workspace is paired, and exits non-zero when a check failed.
|
|
200
|
+
|
|
189
201
|
## Local Git history
|
|
190
202
|
|
|
191
203
|
Pairing or starting connector 0.31.0 initializes a local Git repository when the project has none and creates its initial commit from source files and durable design/assessment artifacts. An empty project also gets a usable baseline. Existing repositories and their pending source changes are preserved. Git must be installed; no remote is created and nothing is pushed.
|
|
@@ -288,3 +300,46 @@ The workspace runner monitors worker health separately from progress reporting.
|
|
|
288
300
|
Unknown runtime failures may use one read-only LLM diagnosis per run through the configured agent, with a two-minute deadline. Known filesystem and network faults do not call an LLM. Diagnosis recommends retrying the checkpoint or a manual fix; it does not execute generated commands or modify the connector. Repeated failures stop automatic recovery. Inspect `runner status` and `.engineeros/runner/recovery/<run-id>.json`, fix the reported cause, then explicitly resume the existing run. Recovery budgets are retained.
|
|
289
301
|
|
|
290
302
|
Verification results are cached per commit and role. Completed checks are reused. An interrupted check requires inspection before a new revision; it is not automatically billed again. Existing workers must load the new connector code before these protections apply.
|
|
303
|
+
|
|
304
|
+
## Optional tool and plugin inventory
|
|
305
|
+
|
|
306
|
+
Connector 1.7 advertises a curated candidate catalog alongside the operator-managed inventory. The catalog covers code intelligence, design, work management, source control, documentation, research, API development, browser testing, quality and security, data, infrastructure, observability and development environments. Candidate entries are metadata only: they are not installed, authenticated, admitted, started or exposed to coding agents.
|
|
307
|
+
|
|
308
|
+
The catalog includes CodeGraph, Serena, JetBrains IDE MCP, ast-grep, Figma, Storybook, Miro, Lucid, Linear, monday.com, Atlassian Rovo, YouTrack, Notion, Slack, GitHub, GitLab, Context7, Postman, Exa, Tavily, Firecrawl, Perplexity, Playwright, Chrome DevTools, BrowserStack, Semgrep, SonarQube, Snyk, Gitleaks, Trivy, PostgreSQL MCP, Supabase, Terraform, AWS, Azure, Cloudflare, Vercel, Sentry, Grafana, Datadog, PagerDuty, Renovate, Dev Container CLI and Docker MCP Gateway. Each entry records its category, selection group, activation condition, eligible workflow profiles, provenance and default policy. Overlapping selection groups are alternatives, not permission to load every provider.
|
|
309
|
+
|
|
310
|
+
Inspect the catalog and locally registered providers without starting software:
|
|
311
|
+
|
|
312
|
+
```sh
|
|
313
|
+
engineeros-connector tools list --workspace PATH
|
|
314
|
+
engineeros-connector tools register /absolute/path/manifest.json --workspace PATH
|
|
315
|
+
engineeros-connector tools disable PROVIDER_ID --workspace PATH
|
|
316
|
+
engineeros-connector tools disable all --workspace PATH
|
|
317
|
+
engineeros-connector tools enable PROVIDER_ID --workspace PATH
|
|
318
|
+
engineeros-connector tools remove PROVIDER_ID --workspace PATH
|
|
319
|
+
engineeros-connector tools sign-in PROVIDER_ID --workspace PATH
|
|
320
|
+
engineeros-connector tools auth-status PROVIDER_ID --workspace PATH
|
|
321
|
+
engineeros-connector tools sign-out PROVIDER_ID --workspace PATH
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
After pairing connector 1.8 or newer, open **Project → Steering → Local workspace → Tools and plugins** to search the catalog and control registered providers. The web UI can enable, disable and remove registrations through the authenticated connector session. Enabling and removal require confirmation. Registration remains local because its evaluated manifest contains machine paths and integrity metadata that are never advertised to EngineerOS.
|
|
325
|
+
|
|
326
|
+
Use `enable all` to clear the global disable. Registration never installs packages or executes a provider. Replacing a pin requires explicit removal and registration. Registry files live beside the user-owned connector configuration as `<workspace-key>.tools.json`, outside the repository. The connected workspace displays their inventory, refreshed through authenticated heartbeats. Stop any abandoned operator update before removing its `.tools.json.lock` file.
|
|
327
|
+
|
|
328
|
+
Manifests are strict internal JSON configuration with these required fields:
|
|
329
|
+
|
|
330
|
+
| Field | Required value |
|
|
331
|
+
| --- | --- |
|
|
332
|
+
| `id`, `name`, `provider`, `capability_class` | Stable lowercase ID, display labels and `tool`, `skill` or `agent`. |
|
|
333
|
+
| `source`, `version`, `license` | Credential-free HTTPS source, exact semantic version and license. No `latest` or version range. |
|
|
334
|
+
| `launch` | For `stdio` or skill `file`: `transport`, absolute `entrypoint`, absolute `package_json` and lowercase `sha256` of the entrypoint. For `https`: `transport` and credential-free `endpoint`. No commands, arguments or environment values are accepted. |
|
|
335
|
+
| `platforms` | Array containing supported `win32`, `linux` and/or `darwin`. |
|
|
336
|
+
| `permissions` | `workspace` (`none`, `read`, `write`), `process` boolean, `network` HTTPS URL array, `browser` (`none`, `isolated`), `secrets` reference-name array and `external_mutations` boolean. These record requests, not runtime grants. |
|
|
337
|
+
| `authentication` | `none`, operator-owned `external` instructions, or `oauth` with exact scopes and either dynamic client registration or a provider-issued public client ID. Secret values are never accepted in a manifest. Older manifests without this field remain loadable but report setup required for HTTPS or secret-bearing providers. |
|
|
338
|
+
| `profiles` | Array of `discovery`, `research`, `implementation`, `verification`, `handover`. |
|
|
339
|
+
| `tasks`, `exclusions` | Arrays of lowercase task IDs; at least one eligible task. |
|
|
340
|
+
| `tools` | Array of objects with `name` (`provider-id:operation_name`), concise `description`, and `response_mode` (`summary` or `reference`). |
|
|
341
|
+
| `policy` | `approval_required: true`, `timeout_ms` from 100 to 30000, `retry_limit` 0 or 1. Reserved for bounded provider adapters; inspection executes nothing. |
|
|
342
|
+
| `evidence` | `metadata-only`. |
|
|
343
|
+
| `evaluation` | `status` (`experimental` or `standard`) and a real evidence `reference`. Standard status requires completed comparative evaluation. |
|
|
344
|
+
|
|
345
|
+
At most 16 providers may be registered per workspace even though the read-only catalog is larger. Local files must be regular files (resolve symlinks before registration). Inspection compares installed package metadata and entrypoint bytes; it does not verify the entire dependency tree. Local version/hash mismatches and unavailable files report preparation actions. Registered HTTPS providers may use connector-managed OAuth: open **Tools and plugins**, choose **Sign in**, and complete consent in the browser opened on the connected machine. The connector follows MCP authorization discovery, uses PKCE with a loopback callback, and advertises only status, scopes and expiry. Windows protects the credential payload with current-user DPAPI outside the repository; unsupported platform keychains fail closed. Sign out deletes the local credential but does not remove the provider registration. MCP protocol, runtime and index health remain unchecked until a provider pilot implements them. Every entry remains execution-disabled, even if authentication succeeds. Launch paths, endpoints, tokens, authorization codes and raw file errors are excluded from advertised inventory. Do not put secrets in labels, URLs, descriptions or evidence references.
|