Resolves the library’s official docs source, fetches public HTTPS pages (robots.txt, size and rate limits apply; private, loopback and link-local addresses are refused, also after redirects), then chunks and stores the text as data in the shared index. –refresh fetches again and re-indexes only when the text changed. –source-url names a public docs URL (with {version} for a versioned path) for a library whose registry entry has none.
Usage
overlane docs index library [--service URL] [--team TENANT_ID] [--ecosystem npm|pypi|cargo|go] [--project PROJECT_ID] [--version VERSION] [--refresh] [--source-url URL] [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
library |
yes | The package name |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--service |
string | no | The service address (default: OVERLANE_SERVICE_URL, then the project’s binding, then the hosted service) | |
--team |
string | no | The team (tenant) to act on (default: the one your token belongs to) | |
--ecosystem |
one of npm, pypi, cargo, go |
no | npm |
Where the library is published |
--project |
string | no | The project whose lockfile pins choose the version | |
--version |
string | no | The version to index (default: the project’s pin, then the latest) | |
--refresh |
boolean | no | Fetch again even when an index exists | |
--source-url |
string | no | A public https docs URL; needs –version | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane docs index react --version 18.3.1
overlane docs index acme-widgets --project prj_1 --refresh --dry-runBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema docs index.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"operation": {
"type": "string",
"const": "index"
},
"dryRun": {
"type": "boolean"
},
"job": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"libraryId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[0-9A-Za-z][0-9A-Za-z.+_~-]*$"
},
"reason": {
"type": "string",
"enum": [
"on_demand",
"freshness",
"manual",
"private_upload"
]
},
"status": {
"type": "string",
"enum": [
"running",
"done",
"failed",
"blocked",
"unchanged"
]
},
"pages": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"chunks": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"blocked": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 500
},
"reason": {
"type": "string",
"maxLength": 200
}
},
"required": [
"url",
"reason"
],
"additionalProperties": false
}
},
"error": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"startedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"finishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"visibility": {
"type": "string",
"const": "public"
},
"tenantId": {
"type": "null"
}
},
"required": [
"id",
"libraryId",
"version",
"reason",
"status",
"pages",
"chunks",
"blocked",
"error",
"startedAt",
"finishedAt",
"visibility",
"tenantId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"libraryId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[0-9A-Za-z][0-9A-Za-z.+_~-]*$"
},
"reason": {
"type": "string",
"enum": [
"on_demand",
"freshness",
"manual",
"private_upload"
]
},
"status": {
"type": "string",
"enum": [
"running",
"done",
"failed",
"blocked",
"unchanged"
]
},
"pages": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"chunks": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"blocked": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 500
},
"reason": {
"type": "string",
"maxLength": 200
}
},
"required": [
"url",
"reason"
],
"additionalProperties": false
}
},
"error": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"startedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"finishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"visibility": {
"type": "string",
"const": "private"
},
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
}
},
"required": [
"id",
"libraryId",
"version",
"reason",
"status",
"pages",
"chunks",
"blocked",
"error",
"startedAt",
"finishedAt",
"visibility",
"tenantId"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"version": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"properties": {
"libraryId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi",
"cargo",
"go"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214,
"pattern": "^[@A-Za-z0-9][@A-Za-z0-9._/~-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[0-9A-Za-z][0-9A-Za-z.+_~-]*$"
},
"status": {
"type": "string",
"enum": [
"indexing",
"ready",
"failed",
"blocked"
]
},
"chunkCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fetchedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"checkedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"ageDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"ageLabel": {
"type": "string",
"maxLength": 60
},
"stale": {
"type": "boolean"
},
"contentHash": {
"type": "string",
"maxLength": 80
},
"visibility": {
"type": "string",
"const": "public"
},
"tenantId": {
"type": "null"
}
},
"required": [
"libraryId",
"ecosystem",
"name",
"version",
"status",
"chunkCount",
"pageCount",
"fetchedAt",
"checkedAt",
"ageDays",
"ageLabel",
"stale",
"contentHash",
"visibility",
"tenantId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"libraryId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi",
"cargo",
"go"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 214,
"pattern": "^[@A-Za-z0-9][@A-Za-z0-9._/~-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[0-9A-Za-z][0-9A-Za-z.+_~-]*$"
},
"status": {
"type": "string",
"enum": [
"indexing",
"ready",
"failed",
"blocked"
]
},
"chunkCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"pageCount": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"fetchedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"checkedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"ageDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"ageLabel": {
"type": "string",
"maxLength": 60
},
"stale": {
"type": "boolean"
},
"contentHash": {
"type": "string",
"maxLength": 80
},
"visibility": {
"type": "string",
"const": "private"
},
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
}
},
"required": [
"libraryId",
"ecosystem",
"name",
"version",
"status",
"chunkCount",
"pageCount",
"fetchedAt",
"checkedAt",
"ageDays",
"ageLabel",
"stale",
"contentHash",
"visibility",
"tenantId"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"plan": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300
}
}
},
"required": [
"tenantId",
"operation",
"dryRun",
"job",
"version",
"plan"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.