agentlinkops 0.6.11 → 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 +12 -0
- package/LICENSE +0 -0
- package/NOTICE +0 -0
- package/README.md +0 -0
- 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 +0 -0
- 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 +34 -8
- 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 +0 -0
- 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. |
|
|
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/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
|