Sends one message to the assistant in a conversation and prints its answer. A question about the product, the docs or where to find something is answered at once. A request to change something comes back as a proposed change that does nothing until you approve it with overlane assistant decide. Messages are kept for the retention period shown by overlane assistant config; do not paste secrets.
Usage
overlane assistant ask text --conversation ID [--path PATH] [--service URL] [--team TENANT_ID] [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
text |
yes | What to ask, up to 4000 characters |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--conversation |
string | yes | The conversation to continue, or a new name to start one | |
--path |
string | no | The app page you are on, so the assistant can explain it | |
--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) | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane assistant ask "How do I connect a repository?" --conversation setup
overlane assistant ask "Archive the old export project" --conversation cleanup --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 assistant ask.
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"
},
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"conversationId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"origin": {
"type": "string",
"enum": [
"user",
"assistant",
"retrieved",
"tool"
]
},
"content": {
"type": "string",
"maxLength": 8000
},
"citations": {
"default": [],
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"sourceId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"url": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"snippet": {
"type": "string",
"maxLength": 600
}
},
"required": [
"tenantId",
"sourceId",
"title",
"url"
],
"additionalProperties": false
}
},
"outcome": {
"type": "string",
"enum": [
"answer",
"not_found",
"navigation",
"tool_result",
"approval",
"refusal",
"info"
]
},
"createdAt": {
"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)))$"
}
},
"required": [
"tenantId",
"id",
"conversationId",
"origin",
"content",
"citations",
"createdAt"
],
"additionalProperties": false
}
},
"approval": {
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"conversationId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"requestedBy": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "user identifier"
},
"tool": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"diff": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"before": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"after": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
}
},
"required": [
"field",
"before",
"after"
],
"additionalProperties": false
}
},
"argumentsDigest": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"state": {
"type": "string",
"enum": [
"pending",
"approved",
"executed",
"rejected",
"expired",
"failed"
]
},
"createdAt": {
"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)))$"
},
"expiresAt": {
"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)))$"
},
"decidedAt": {
"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)))$"
},
"inverse": {
"type": "object",
"properties": {
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"approvalId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"tool": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"arguments": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"tenantId",
"approvalId",
"tool",
"arguments",
"summary"
],
"additionalProperties": false
},
"undoOf": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"tenantId",
"id",
"conversationId",
"requestedBy",
"tool",
"summary",
"diff",
"argumentsDigest",
"state",
"createdAt",
"expiresAt"
],
"additionalProperties": false
},
"refusal": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "refusal"
},
"tenantId": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
"description": "tenant identifier"
},
"code": {
"type": "string",
"enum": [
"role_forbidden",
"read_only_mode",
"blocked_class",
"unknown_tool",
"invalid_arguments",
"approval_required",
"approval_expired",
"approval_not_pending",
"rate_limited",
"unavailable"
]
},
"tool": {
"type": "string",
"maxLength": 100
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"kind",
"tenantId",
"code",
"reason"
],
"additionalProperties": false
}
},
"required": [
"tenantId",
"messages"
],
"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.