feat: /zulip-test command + standardized health schema v1
- Added /zulip-test self-test command (7 checks: queue, identity,
@all-bots, health, poll loop, echo prevention, API send)
- Standardized health endpoint to zulip-health/v1 schema
(nested zulip{} object, checks{} map, platform/agent metadata)
- Saved pi extension source to pi-zulip-extension/extension-src/
(with all fixes: dynamic @all-bots, health sync, logging)
- Added extension src to repo for deployment tracking
- Updated vault with final contract status report
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# pi Zulip extension — Abiba configuration (flat format for custom parser)
|
||||
# Deploy to: ~/.pi/agent/extensions/config.yaml
|
||||
|
||||
zulip.site: https://chat.sysloggh.net
|
||||
zulip.email: abiba-bot@chat.sysloggh.net
|
||||
zulip.api_key: YOUR_ZULIP_API_KEY_HERE
|
||||
zulip.stream: agent-hub
|
||||
zulip.all_bots_user_id: 20
|
||||
|
||||
agent.name: abiba
|
||||
agent.display_name: Abiba
|
||||
agent.zulip_bot_name: abiba-bot
|
||||
agent.owner_email: jerome@sysloggh.com
|
||||
agent.private_topic: abiba
|
||||
|
||||
health_port: 9200
|
||||
|
||||
monitoring.health_endpoint_enabled: true
|
||||
monitoring.log_level: info
|
||||
|
||||
error_handling.timeout_seconds: 30
|
||||
error_handling.retry_count: 3
|
||||
error_handling.retry_delay_seconds: 5
|
||||
error_handling.graceful_message: "Abiba encountered an error processing your request. Please try again later."
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
// Type declarations for zulip-js (no @types available)
|
||||
declare module "zulip-js" {
|
||||
interface ZulipClient {
|
||||
queues: {
|
||||
register(params: {
|
||||
event_types: string[];
|
||||
narrow?: Array<Array<string | number>>;
|
||||
}): Promise<{ queue_id: string; last_event_id: number }>;
|
||||
};
|
||||
users: {
|
||||
me: {
|
||||
get(): Promise<any>;
|
||||
};
|
||||
};
|
||||
messages: {
|
||||
store: {
|
||||
send(rawContent: string): Promise<any>;
|
||||
};
|
||||
};
|
||||
events: {
|
||||
retrieve(params: {
|
||||
queue_id: string;
|
||||
last_event_id: number;
|
||||
dont_block?: boolean;
|
||||
}): Promise<{ events: any[]; result?: string; msg?: string }>;
|
||||
};
|
||||
}
|
||||
|
||||
export default function zulip(config: {
|
||||
username: string;
|
||||
apiKey: string;
|
||||
realm: string;
|
||||
}): Promise<ZulipClient>;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user