mirror of
https://github.com/Dvorinka/Productier.git
synced 2026-06-03 20:13:01 +00:00
Productier OpenClaw Plugin
This package includes the OpenClaw baseline tools for Productier plus runtime hardening:
- transient retry handling (network +
429/5xx) - per-tool rate limiting
- structured JSONL audit logging
Included tools
productier_list_workspacesproductier_list_board_groupsproductier_list_tasksproductier_list_calendar_eventsproductier_list_notesproductier_list_mailboxesproductier_list_mail_messagesproductier_list_outgoing_mailsproductier_connect_mailboxproductier_sync_mailboxproductier_create_board_groupproductier_create_taskproductier_create_calendar_eventproductier_create_noteproductier_create_outgoing_mailproductier_create_task_from_mailproductier_update_board_groupproductier_update_taskproductier_update_calendar_eventproductier_update_note
Profiles:
readonly:productier_list_workspaces,productier_list_tasksstandard:readonlytools + board/calendar/notes/task tools + mailbox management + outgoing mail + mail task conversion tools
Environment
PRODUCTIER_API_URL(default:http://localhost:8080)PRODUCTIER_AUTH_COOKIE(Better Auth session cookie string used by backend/v1/*endpoints)PRODUCTIER_WORKSPACE_SLUG_DEFAULT(optional fallback workspace slug)PRODUCTIER_BOARD_GROUP_ID_DEFAULT(optional fallback board group id for create-task tool)PRODUCTIER_TOOL_PROFILE(readonlyorstandard, defaultreadonly)PRODUCTIER_TOOL_RETRY_MAX_ATTEMPTS(default:3)PRODUCTIER_TOOL_RETRY_BASE_DELAY_MS(default:150)PRODUCTIER_TOOL_RETRY_MAX_DELAY_MS(default:2000)PRODUCTIER_TOOL_RETRY_JITTER_MS(default:50)PRODUCTIER_TOOL_RATE_LIMIT_MAX_CALLS(default:120)PRODUCTIER_TOOL_RATE_LIMIT_WINDOW_MS(default:60000)PRODUCTIER_AUDIT_LOG_PATH(optional JSONL path for per-tool execution audit entries)
Quick usage
Describe plugin and tool metadata:
npm run describe -w packages/openclaw-plugin
Call the tool:
node packages/openclaw-plugin/src/cli.mjs call productier_list_tasks '{"workspaceSlug":"personal","limit":20}'
Create a task using defaults:
PRODUCTIER_TOOL_PROFILE=standard \
PRODUCTIER_WORKSPACE_SLUG_DEFAULT=personal \
PRODUCTIER_BOARD_GROUP_ID_DEFAULT=group-inbox \
node packages/openclaw-plugin/src/cli.mjs call productier_create_task '{"title":"Write release notes"}'
The tool call returns:
ok: truewithdataon successok: falsewith structurederror(code,message, optionalstatus,requestId,attempts,retryable) on failure