Skip to content

overlane assistant ask

Ask the assistant a question or for a change

Updated View as MarkdownOpen in ChatGPTOpen in Claude

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-run

Behavior

  • 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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.