agentlinkops 0.6.10 → 0.6.13
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.mcp.json +0 -0
- package/CHANGELOG.md +19 -0
- package/LICENSE +0 -0
- package/NOTICE +0 -0
- package/README.md +4 -4
- package/bin/agentlinkops.mjs +0 -0
- package/bin/linktrail.mjs +0 -0
- package/cli/adapters/csv.js +0 -0
- package/cli/adapters/sqlite-crm.js +0 -0
- package/cli/adapters/suppliers.js +0 -0
- package/cli/admission.js +0 -0
- package/cli/agent-setup.js +0 -0
- package/cli/agentlinkops.mjs +0 -0
- package/cli/args.js +0 -0
- package/cli/catalog.js +4435 -175
- package/cli/check.js +0 -0
- package/cli/chronology.js +39 -0
- package/cli/citation.js +0 -0
- package/cli/client.js +1 -1
- package/cli/cloud-error.js +0 -0
- package/cli/commands.js +0 -0
- package/cli/config.js +0 -0
- package/cli/connection.js +0 -0
- package/cli/context-mcp.js +0 -0
- package/cli/context.js +0 -0
- package/cli/delivery.js +0 -0
- package/cli/disavow.js +0 -0
- package/cli/doctor.js +0 -0
- package/cli/env.js +0 -0
- package/cli/fleet.js +30 -19
- package/cli/gsc-browser.js +0 -0
- package/cli/import.js +4 -1
- package/cli/index-observations.js +0 -0
- package/cli/index-submissions.js +0 -0
- package/cli/ledger.js +0 -0
- package/cli/lifecycle.js +0 -0
- package/cli/linktrail.mjs +0 -0
- package/cli/local-result.js +0 -0
- package/cli/main.js +42 -15
- package/cli/mcp-client.js +2 -2
- package/cli/mirror.js +0 -0
- package/cli/mix.js +0 -0
- package/cli/native-lock.js +0 -0
- package/cli/oauth-credentials.js +0 -0
- package/cli/oauth-flow.js +0 -0
- package/cli/placement-projection.js +106 -0
- package/cli/platforms.js +0 -0
- package/cli/receipt-performance.js +0 -0
- package/cli/receipts.js +0 -0
- package/cli/report.js +51 -19
- package/cli/setup-plan.js +0 -0
- package/cli/skill.js +0 -0
- package/cli/state.js +62 -29
- package/cli/status.js +14 -18
- package/cli/sync-lock.js +0 -0
- package/cli/sync.js +22 -3
- package/package.json +1 -1
- package/references/citation-panels.md +0 -0
- package/references/cli.md +0 -0
- package/references/disavow.md +0 -0
- package/references/discovery-handoff.md +0 -0
- package/references/local-crm-draft-handoff.md +0 -0
- package/references/portable-ledger-handoff.md +0 -0
- package/references/recipes/catalog.json +0 -0
- package/references/recipes/command-notes.md +0 -0
- package/references/recipes/placement-reconciliation.md +0 -0
- package/references/recipes/qualified-campaign-handoff.md +0 -0
- package/references/recipes/site-context-brief.md +0 -0
- package/references/recipes/sourced-linkable-asset.md +0 -0
- package/references/reports.md +0 -0
- package/scripts/agentlinkops.py +0 -0
- package/scripts/disavow.py +0 -0
- package/scripts/linktrail.py +0 -0
- package/scripts/migrations/001_crm.sql +0 -0
- package/scripts/migrations/002_cloud_events.sql +0 -0
- package/scripts/migrations/003_disavow.sql +0 -0
- package/scripts/migrations/004_placement_costs.sql +0 -0
- package/scripts/outreach-crm-draft.py +0 -0
- package/scripts/portable-handoff.py +0 -0
- package/scripts/report.py +0 -0
- package/shared/admission-contract.js +0 -0
- package/shared/admission-report-contract.js +0 -0
- package/shared/agent-clients.js +0 -0
- package/shared/citation-evidence-contract.js +0 -0
- package/shared/disavow-contract.js +0 -0
- package/shared/exec-grammar.js +0 -0
- package/shared/index-observation-contract.js +2 -2
- package/shared/lifecycle-contract.js +0 -0
- package/shared/lifecycle-money.js +0 -0
- package/shared/monitoring-chronology-export.js +57 -0
- package/shared/monitoring-read-contract.js +41 -0
- package/shared/observation-event.js +0 -0
- package/shared/opportunity-record.js +0 -0
- package/shared/response-contract.js +3 -0
- package/shared/search-connection-contract.js +0 -0
- package/skills/agentlinkops-assets/SKILL.md +0 -0
- package/skills/agentlinkops-assets/agents/openai.yaml +0 -0
- package/skills/agentlinkops-campaigns/SKILL.md +0 -0
- package/skills/agentlinkops-campaigns/agents/openai.yaml +0 -0
- package/skills/agentlinkops-connect/SKILL.md +0 -0
- package/skills/agentlinkops-connect/agents/openai.yaml +0 -0
- package/skills/agentlinkops-connect/references/agentlinkops.md +4 -3
- package/skills/agentlinkops-crm/SKILL.md +1 -1
- package/skills/agentlinkops-crm/agents/openai.yaml +0 -0
- package/skills/agentlinkops-discovery/SKILL.md +0 -0
- package/skills/content-defingerprinting/SKILL.md +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/README.md +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/UPSTREAM.json +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/revendor.sh +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/LICENSE.upstream +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/clean_text.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/common.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/inspect_text.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/score_stylometry.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/vendor/text_unicode.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/verify-vendor.py +0 -0
- package/skills/content-defingerprinting/scripts/watermarks/wm-scan.py +0 -0
- package/skills/internal-linking-optimizer/SKILL.md +0 -0
- package/skills/internal-linking-optimizer/references/source-prompt.md +0 -0
- package/skills/pre-publish-review/SKILL.md +0 -0
- package/skills/source-cited-content-builder/SKILL.md +0 -0
- package/skills/source-cited-content-builder/references/source-prompt.md +0 -0
- package/skills/source-cited-humanizer/SKILL.md +0 -0
- package/src/citations/adapter.js +0 -0
- package/src/citations/alert.js +0 -0
- package/src/citations/browser/chatgpt-citations.js +0 -0
- package/src/citations/browser/engine.js +0 -0
- package/src/citations/browser/gen/core/providers/_shared/rawSourcesDom.js +0 -0
- package/src/citations/browser/gen/core/providers/_shared/resetProviderPage.js +0 -0
- package/src/citations/browser/gen/core/providers/_shared/sourceUtils.js +0 -0
- package/src/citations/browser/gen/core/providers/ai-overview/index.js +0 -0
- package/src/citations/browser/gen/core/providers/ai-overview/lib/expand.js +0 -0
- package/src/citations/browser/gen/core/providers/ai-overview/lib/extractSources.js +0 -0
- package/src/citations/browser/gen/core/providers/ai-overview/lib/pageLifecycle.js +0 -0
- package/src/citations/browser/gen/core/providers/ai-overview/lib/session.js +0 -0
- package/src/citations/browser/gen/core/providers/chatgpt/index.js +0 -0
- package/src/citations/browser/gen/core/providers/chatgpt/lib/dismissAuthModal.js +0 -0
- package/src/citations/browser/gen/core/providers/chatgpt/lib/extractSources.js +0 -0
- package/src/citations/browser/gen/core/providers/chatgpt/lib/pageLifecycle.js +0 -0
- package/src/citations/browser/gen/core/providers/claude/index.js +0 -0
- package/src/citations/browser/gen/core/providers/claude/lib/extractSources.js +0 -0
- package/src/citations/browser/gen/core/providers/claude/lib/pageLifecycle.js +0 -0
- package/src/citations/browser/gen/core/providers/gemini/index.js +0 -0
- package/src/citations/browser/gen/core/providers/gemini/lib/extractSources.js +0 -0
- package/src/citations/browser/gen/core/providers/gemini/lib/pageLifecycle.js +0 -0
- package/src/citations/browser/gen/core/providers/gemini/lib/session.js +0 -0
- package/src/citations/browser/gen/core/providers/index.js +0 -0
- package/src/citations/browser/gen/core/providers/perplexity/index.js +0 -0
- package/src/citations/browser/gen/core/providers/perplexity/lib/extractSources.js +0 -0
- package/src/citations/browser/gen/core/providers/perplexity/lib/navigation.js +0 -0
- package/src/citations/browser/gen/lib/browser/camoufox.js +0 -0
- package/src/citations/browser/gen/lib/browser/display.js +0 -0
- package/src/citations/browser/gen/lib/browser/domOps.js +0 -0
- package/src/citations/browser/gen/lib/browser/humanBehavior.js +0 -0
- package/src/citations/browser/gen/lib/browser/navigate.js +0 -0
- package/src/citations/browser/gen/lib/extraction/sourceUtils.js +0 -0
- package/src/citations/browser/gen/lib/input/editor/clearInput.js +0 -0
- package/src/citations/browser/gen/lib/input/editor/findEditor.js +0 -0
- package/src/citations/browser/gen/lib/input/editor/promptInput.js +0 -0
- package/src/citations/browser/gen/lib/input/markdown/converter.js +0 -0
- package/src/citations/browser/gen/lib/input/markdown/toMarkdown.js +0 -0
- package/src/citations/browser/gen/lib/input/response/detectBotPage.js +0 -0
- package/src/citations/browser/gen/lib/input/response/isGenerating.js +0 -0
- package/src/citations/browser/gen/lib/input/response/waitForFinish.js +0 -0
- package/src/citations/browser/gen/lib/input/sources/findButton.js +0 -0
- package/src/citations/browser/gen/lib/input/sources/openPanel.js +0 -0
- package/src/citations/browser/gen/utils/agent-constants.js +0 -0
- package/src/citations/browser/providers.js +0 -0
- package/src/citations/browser/proxy-admission.js +0 -0
- package/src/citations/browser/shims/errors.js +0 -0
- package/src/citations/browser/shims/types.js +0 -0
- package/src/citations/browser/shims/utils.js +0 -0
- package/src/citations/contract.js +0 -0
- package/src/citations/egress-receipts.js +0 -0
- package/src/citations/evidence-integrity.js +0 -0
- package/src/citations/inventory.js +0 -0
- package/src/citations/login.js +0 -0
- package/src/citations/match.js +0 -0
- package/src/citations/panel-builder.js +0 -0
- package/src/citations/report.js +0 -0
- package/src/citations/runner.js +0 -0
- package/src/citations/stats.js +0 -0
- package/src/citations/sync.js +0 -0
- package/src/citations/watch.js +0 -0
- package/src/competitors/contract.js +0 -0
- package/src/competitors/domain-mix.js +0 -0
- package/src/context/ga4.js +0 -0
- package/src/context/gsc.js +0 -0
- package/src/context/site-profile.js +0 -0
- package/src/context/util.js +0 -0
- package/src/context-tool-registry.js +0 -0
- package/src/corpus/acquire.js +0 -0
- package/src/corpus/seeds.js +0 -0
- package/src/discovery/contract.js +0 -0
- package/src/discovery/import.js +0 -0
- package/src/evidence-reference.js +0 -0
- package/src/index-observation.js +0 -0
- package/src/locator.js +0 -0
- package/src/response-shaping.js +0 -0
- package/src/tool-views.js +5 -4
- package/src/verifier/fetch.js +0 -0
- package/src/verifier/index.js +0 -0
- package/src/verifier/observation-kind.js +0 -0
- package/src/verifier/parser.js +0 -0
- package/src/verifier/readiness.js +0 -0
- package/src/verifier/render-evidence.js +0 -0
- package/src/verifier/robots.js +0 -0
- package/src/verifier/transition.js +0 -0
- package/src/verifier/url.js +0 -0
- package/templates/SITE.template.md +0 -0
- package/templates/campaigns.v1.json +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {chronologyResponse,assuranceResponse} from './monitoring-read-contract.js';
|
|
1
2
|
import {lifecycleOutput} from './lifecycle-contract.js';
|
|
2
3
|
import {searchConnectionsResponse,searchRowsResponse,searchSyncResponse,searchPropertiesResponse,searchStartResponse,searchConnection,searchImportResponse} from './search-connection-contract.js';
|
|
3
4
|
import {z} from 'zod';
|
|
@@ -55,6 +56,8 @@ export function restResponseContract(path,method='GET') {
|
|
|
55
56
|
if(/^\/v1\/search-connections\/[^/]+\/disconnect$/.test(pathname)&&method==='POST')return z.object({disconnected:z.literal(true),retainedRows:z.literal(true)});
|
|
56
57
|
if(/^\/v1\/search-connections\/[^/]+$/.test(pathname)&&method==='DELETE')return z.object({forgotten:z.literal(true)});
|
|
57
58
|
if(method!=='GET')return objectResponse;
|
|
59
|
+
if(/^\/v1\/watches\/[^/]+\/chronology$/.test(pathname))return chronologyResponse;
|
|
60
|
+
if(/^\/v1\/projects\/[^/]+\/monitoring-assurance$/.test(pathname))return assuranceResponse;
|
|
58
61
|
if(/^\/v1\/(?:watches|targets)\/[^/]+\/history$/.test(pathname))return historyResponse;
|
|
59
62
|
if(/^\/v1\/watches\/[^/]+$/.test(pathname))return watchResponse;
|
|
60
63
|
if(/^\/v1\/targets\/[^/]+$/.test(pathname))return targetResponse;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ records. This page is the complete agent reference: the same text prints from
|
|
|
9
9
|
full once per session, then use `describe` (or `exec describe` on MCP) for any command's exact schema.
|
|
10
10
|
|
|
11
11
|
<!-- generated:skill-version begin (npm run generate:tools) -->
|
|
12
|
-
Pack version 0.6.
|
|
12
|
+
Pack version 0.6.13. 147 commands in 16 toolsets.
|
|
13
13
|
<!-- generated:skill-version end -->
|
|
14
14
|
|
|
15
15
|
## Install and connect (once per machine)
|
|
@@ -269,18 +269,19 @@ The human-readable version is
|
|
|
269
269
|
## Tool reference
|
|
270
270
|
|
|
271
271
|
<!-- generated:skill-tools begin (npm run generate:tools; source: src/tool-registry.js) -->
|
|
272
|
-
|
|
272
|
+
147 commands in 16 toolsets, generated from `src/tool-registry.js` (`npm run generate:tools`). Core on every view: `get_workspace`, `list_projects`, `list_link_watches`, `monitor_link`, `list_events`. The index verbs list the rest by name; `describe` is the source of truth for input schemas. Admission-gated today: prepare_domain_baseline, start_domain_baseline, request_competitor_inventory, request_domain_overview, discover_backlinks; these refuse before any persistence.
|
|
273
273
|
|
|
274
274
|
| Toolset | Commands | What it covers |
|
|
275
275
|
| --- | --- | --- |
|
|
276
276
|
| `monitoring` | 17 | Watch earned links and destination URLs: create, list, update, import, export, recheck. |
|
|
277
277
|
| `evidence` | 17 | What a check observed: histories, snapshots, change feeds, check jobs, published contacts. |
|
|
278
278
|
| `rank` | 5 | Synthetic DataForSEO rank schedules and dated history; hosted collection disabled. |
|
|
279
|
+
| `licensed` | 6 | Licensed source-search evidence and charge custody; operator admission required. |
|
|
279
280
|
| `discovery` | 16 | Import candidate rows, read stored runs, verify selected candidates, enroll them. |
|
|
280
281
|
| `baseline` | 7 | Scoped backlink baselines; supplier admission disabled. |
|
|
281
282
|
| `library` | 3 | Read and export the coverage-stated opportunity library. |
|
|
282
283
|
| `competitors` | 17 | Competitor sets, dated inventories, scheduled refresh, gap and domain-mix reports. |
|
|
283
|
-
| `reports` |
|
|
284
|
+
| `reports` | 9 | Placement chronology, service assurance and backlink reports. |
|
|
284
285
|
| `workspace` | 16 | Workspace, projects, usage, members, invitations, scratch-resource cleanup. |
|
|
285
286
|
| `notifications` | 6 | Email notification preferences, previews, tests and deliveries. |
|
|
286
287
|
| `webhooks` | 6 | Webhook endpoints, state, secrets and delivery records. |
|
|
@@ -6,7 +6,7 @@ allowed-tools: Read Bash(python3 ../../scripts/agentlinkops.py *) Bash(python3 .
|
|
|
6
6
|
|
|
7
7
|
**For the optional bundled CLI, the local surface is the ledger file.** `.agentlinkops/links.jsonl` in the user's repository (or a `.linktrail/` directory from an earlier install, read until `agentlinkops migrate` renames it) declares the links they expect, want and have earned, and `agentlinkops check` runs the exact cloud verifier against it without an account. Run the CLI as `node cli/agentlinkops.mjs` from the repository or plugin-package root (`cli/linktrail.mjs` still works and prints a one-line notice); the packaged plugin ships the CLI, its pinned verifier modules and their pinned runtime dependencies inside the package, so the installed package needs no npm install; checking a publisher still requires a read-only network fetch. It needs Node 22 or newer (`adopt` reads SQLite databases through `node:sqlite`); the Python helper below needs Python 3.10+. This CRM is one optional adapter beside CSV and JSONL: it is available, tested and unchanged, and nothing requires it. When a user already keeps links here, `agentlinkops adopt <db>` reads it into ledger entries — read-only, adding no schema — and previews unless `--write` is given. Do not propose the CRM as the place a user should start keeping links; propose it when they want contacts and outreach activity beside them, or when they already have one.
|
|
8
8
|
|
|
9
|
-
To record a link in the ledger: `agentlinkops add --source URL --target URL --intent expected [--anchor TEXT] [--ref ID] [--note TEXT]` (`--intent wanted` for a link not yet earned; `agentlinkops init` first in a repository without `.agentlinkops/`). `agentlinkops check` then verifies every expected link and
|
|
9
|
+
To record a link in the ledger: `agentlinkops add --source URL --target URL --intent expected [--anchor TEXT] [--ref ID] [--note TEXT]` (`--intent wanted` for a link not yet earned; `agentlinkops init` first in a repository without `.agentlinkops/`). `agentlinkops check` then verifies every expected link and returns 0 when no expected placement is conclusively absent, 1 when one is observed absent with complete evidence, 2 on a usage or ledger error. Unknown is nonfailing by default; `--fail-on-unknown` returns 1 for an unknown result in text or JSON output.
|
|
10
10
|
|
|
11
11
|
Use the deterministic Python helper at `../../scripts/agentlinkops.py`, resolved relative to this skill's directory. It requires Python 3.10+ and only its standard library. Run `--help` for the command surface. Keep the database outside the plugin installation directory; updates can replace that directory.
|
|
12
12
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/citations/adapter.js
CHANGED
|
File without changes
|
package/src/citations/alert.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/citations/login.js
CHANGED
|
File without changes
|
package/src/citations/match.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/citations/report.js
CHANGED
|
File without changes
|
package/src/citations/runner.js
CHANGED
|
File without changes
|
package/src/citations/stats.js
CHANGED
|
File without changes
|
package/src/citations/sync.js
CHANGED
|
File without changes
|
package/src/citations/watch.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/context/ga4.js
CHANGED
|
File without changes
|
package/src/context/gsc.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/context/util.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/corpus/acquire.js
CHANGED
|
File without changes
|
package/src/corpus/seeds.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/discovery/import.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/index-observation.js
CHANGED
|
File without changes
|
package/src/locator.js
CHANGED
|
File without changes
|
package/src/response-shaping.js
CHANGED
|
File without changes
|
package/src/tool-views.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// script, the MCP router, the CLI index and the generators all read the same definitions.
|
|
4
4
|
// Rules: docs/technical/AGENT-SURFACE-CONTRACT.md (DP-0036).
|
|
5
5
|
|
|
6
|
-
export const TOOLSETS = ['monitoring','evidence','rank','discovery','baseline','library','competitors','reports','workspace','notifications','webhooks','admission','disavow','lifecycle','digests'];
|
|
6
|
+
export const TOOLSETS = ['monitoring','evidence','rank','licensed','discovery','baseline','library','competitors','reports','workspace','notifications','webhooks','admission','disavow','lifecycle','digests'];
|
|
7
7
|
|
|
8
8
|
// One line per toolset: what the group is for. Printed by the site brief, the REST index and the
|
|
9
9
|
// catalog snapshot so the same wording reaches every client; a toolset without a summary is a
|
|
@@ -16,11 +16,12 @@ export const TOOLSET_SUMMARIES = {
|
|
|
16
16
|
monitoring: 'Watch earned links and destination URLs: create, list, update, import, export, recheck.',
|
|
17
17
|
evidence: 'What a check observed: histories, snapshots, change feeds, check jobs, published contacts.',
|
|
18
18
|
rank: 'Synthetic DataForSEO rank schedules and dated history; hosted collection disabled.',
|
|
19
|
+
licensed: 'Licensed source-search evidence and charge custody; operator admission required.',
|
|
19
20
|
discovery: 'Import candidate rows, read stored runs, verify selected candidates, enroll them.',
|
|
20
21
|
baseline: 'Scoped backlink baselines; supplier admission disabled.',
|
|
21
22
|
library: 'Read and export the coverage-stated opportunity library.',
|
|
22
23
|
competitors: 'Competitor sets, dated inventories, scheduled refresh, gap and domain-mix reports.',
|
|
23
|
-
reports: '
|
|
24
|
+
reports: 'Placement chronology, service assurance and backlink reports.',
|
|
24
25
|
workspace: 'Workspace, projects, usage, members, invitations, scratch-resource cleanup.',
|
|
25
26
|
notifications: 'Email notification preferences, previews, tests and deliveries.',
|
|
26
27
|
webhooks: 'Webhook endpoints, state, secrets and delivery records.',
|
|
@@ -57,10 +58,10 @@ export function oneLiner(description, max = 60) {
|
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
// entries: [{ name, description, toolset, tier, readOnly }]. Grouped, one line per command.
|
|
60
|
-
export function manifestText(entries, { max =
|
|
61
|
+
export function manifestText(entries, { max = 28 } = {}) {
|
|
61
62
|
const groups = new Map(TOOLSETS.map(t => [t, []]));
|
|
62
63
|
for (const entry of entries) (groups.get(entry.toolset) ?? groups.set(entry.toolset, []).get(entry.toolset)).push(entry);
|
|
63
|
-
const lines = ['Commands by toolset
|
|
64
|
+
const lines = ['Commands by toolset. MCP: `exec search <words>`, `exec describe <name>`, `exec call <name> <json>`. CLI: `agentlinkops tools | describe | call`. Licensed supplier calls require operator admission.'];
|
|
64
65
|
for (const [toolset, members] of groups) {
|
|
65
66
|
if (!members.length) continue;
|
|
66
67
|
lines.push(`\n${toolset}:`);
|
package/src/verifier/fetch.js
CHANGED
|
File without changes
|
package/src/verifier/index.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/verifier/parser.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/src/verifier/robots.js
CHANGED
|
File without changes
|
|
File without changes
|
package/src/verifier/url.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|