- Move src/ → plugin/ with subdirectories: - plugin/core/ (business logic, models, store, permissions, utils, memory) - plugin/tools/ (query, resources) - plugin/commands/ (placeholder for slash commands) - plugin/hooks/ (placeholder for lifecycle hooks) - plugin/index.ts (wiring layer only, no business logic) - Add install.mjs with --install, --uninstall, --openclaw-profile-path - Add skills/ and docs/ root directories - Move planning docs (PLAN.md, FEAT.md, AGENT_TASKS.md) to docs/ - Remove old scripts/install.sh - Update tsconfig rootDir: src → plugin - Update README.md and README.zh.md with new layout - Bump version to 0.2.0 - All tests pass
20 lines
417 B
TypeScript
20 lines
417 B
TypeScript
export type ErrorCode =
|
|
| 'PERMISSION_DENIED'
|
|
| 'NOT_FOUND'
|
|
| 'ALREADY_EXISTS'
|
|
| 'VALIDATION_ERROR'
|
|
| 'FIELD_NOT_QUERYABLE'
|
|
| 'INVALID_SUPERVISOR'
|
|
| 'REGISTRAR_DENIED';
|
|
|
|
export class YonexusError extends Error {
|
|
constructor(
|
|
public readonly code: ErrorCode,
|
|
message: string,
|
|
public readonly details?: Record<string, unknown>
|
|
) {
|
|
super(message);
|
|
this.name = 'YonexusError';
|
|
}
|
|
}
|