Files
Peter Steinberger 99d662473c fix(channels): fail-fast headless channel setup with plugin-declared env contracts (#122530)
* fix(channels): validate headless channel setup

* docs(channels): document headless provisioning

* fix(channels): repair setup metadata typing

* chore(channels): regenerate official channel catalog for env metadata

* fix(slack): keep mode-conditional env contract plugin-owned

Static --use-env declaration keeps only the unconditional SLACK_BOT_TOKEN;
socket-vs-HTTP conditional requirements (app token, signing secret) stay in
Slack's own setup validation so HTTP mode no longer demands an irrelevant
SLACK_APP_TOKEN.

* chore(sdk): regenerate api baselines and catalog after rebase

* fix(slack): align manifest env declaration with runtime contract

* chore(sdk): regenerate api baselines after rebase

* chore(sdk): regenerate api baselines after rebase

* chore(sdk): regenerate api baselines after rebase
2026-08-12 17:12:15 +00:00

126 lines
3.1 KiB
JSON

{
"name": "@openclaw/line",
"version": "2026.8.1",
"description": "OpenClaw LINE channel plugin for LINE Bot API chats.",
"repository": {
"type": "git",
"url": "https://github.com/openclaw/openclaw"
},
"type": "module",
"dependencies": {
"@line/bot-sdk": "11.2.0",
"zod": "4.4.3"
},
"devDependencies": {
"@openclaw/plugin-sdk": "workspace:*",
"openclaw": "workspace:*"
},
"peerDependencies": {
"openclaw": ">=2026.8.1"
},
"peerDependenciesMeta": {
"openclaw": {
"optional": true
}
},
"openclaw": {
"extensions": [
"./index.ts"
],
"setupEntry": "./setup-entry.ts",
"channel": {
"id": "line",
"configuredState": {
"env": {
"anyOf": [
"LINE_CHANNEL_ACCESS_TOKEN",
"LINE_CHANNEL_SECRET"
]
}
},
"label": "LINE",
"selectionLabel": "LINE (Messaging API)",
"detailLabel": "LINE Bot",
"docsPath": "/channels/line",
"docsLabel": "line",
"blurb": "LINE Messaging API webhook bot.",
"systemImage": "message",
"order": 75,
"quickstartAllowFrom": true,
"setup": {
"fields": [
{
"key": "channelAccessToken",
"kind": "string",
"sensitive": true,
"cli": {
"flags": "--channel-access-token <token>",
"description": "LINE channel access token"
}
},
{
"key": "token",
"kind": "string",
"sensitive": true,
"cli": {
"flags": "--token <token>",
"description": "LINE channel access token (alias)"
}
},
{
"key": "channelSecret",
"kind": "string",
"sensitive": true,
"cli": {
"flags": "--channel-secret <secret>",
"description": "LINE channel secret"
}
},
{
"key": "tokenFile",
"kind": "string",
"sensitive": true,
"cli": {
"flags": "--token-file <path>",
"description": "LINE access token file"
}
},
{
"key": "secretFile",
"kind": "string",
"sensitive": true,
"cli": {
"flags": "--secret-file <path>",
"description": "LINE channel secret file"
}
},
{
"key": "useEnv",
"kind": "boolean",
"cli": {
"flags": "--use-env",
"description": "Use LINE environment credentials"
},
"envVars": ["LINE_CHANNEL_ACCESS_TOKEN", "LINE_CHANNEL_SECRET"]
}
]
}
},
"install": {
"npmSpec": "@openclaw/line",
"defaultChoice": "npm",
"minHostVersion": ">=2026.4.10"
},
"compat": {
"pluginApi": ">=2026.8.1"
},
"build": {
"openclawVersion": "2026.8.1"
},
"release": {
"publishToClawHub": true,
"publishToNpm": true
}
}
}