@orchestree/hr
v1.0.0
Published
HR module — Employees, payroll, time-off, benefits, org chart
Maintainers
Readme
@orchestree/hr
HR module — Employees, payroll, time-off, benefits, and org chart for Orchestree.
Installation
npm install @orchestree/hrQuick Start
import { HRClient } from '@orchestree/hr';
const client = new HRClient({
apiKey: 'your-api-key',
});
// Create an employee
const employee = await client.createEmployee({
firstName: 'Alice',
lastName: 'Johnson',
email: '[email protected]',
title: 'Senior Engineer',
departmentId: 'engineering',
salary: 150000,
currency: 'USD',
});
// Request time off
const request = await client.requestTimeOff({
employeeId: employee.id,
type: 'vacation',
startDate: '2024-07-01',
endDate: '2024-07-05',
days: 5,
});
// Run payroll
const payroll = await client.runPayroll({
periodStart: '2024-06-01',
periodEnd: '2024-06-30',
});API Reference
HRClient
listEmployees(params)
List employees with optional filters.
const employees = await client.listEmployees({ status: 'active' });getEmployee(employeeId)
Get employee by ID.
const employee = await client.getEmployee('emp-id');createEmployee(employeeDef)
Create a new employee record.
const employee = await client.createEmployee({
firstName: 'Bob',
lastName: 'Smith',
email: '[email protected]',
title: 'Product Manager',
departmentId: 'product',
});updateEmployee(employeeId, updates)
Update employee fields.
await client.updateEmployee('emp-id', { title: 'Staff Engineer' });terminateEmployee(employeeId, terminationDef)
Terminate an employee.
await client.terminateEmployee('emp-id', {
reason: 'Voluntary resignation',
lastDay: '2024-08-15',
});runPayroll(payrollDef) / getPayrollHistory(params)
Run payroll and view history.
const payroll = await client.runPayroll({ periodStart: '2024-06-01', periodEnd: '2024-06-30' });
const history = await client.getPayrollHistory({ year: '2024' });requestTimeOff(timeOffDef) / approveTimeOff(requestId, decision)
Manage time-off requests.
const request = await client.requestTimeOff({ employeeId: 'emp-id', type: 'sick', startDate: '2024-06-10', endDate: '2024-06-10', days: 1 });
await client.approveTimeOff(request.id, { approved: true });listBenefits() / enrollBenefit(enrollmentDef)
View and enroll in benefits.
const benefits = await client.listBenefits();
await client.enrollBenefit({ employeeId: 'emp-id', benefitId: 'health-premium', plan: 'family' });getOrgChart(params)
Get the organizational chart.
const org = await client.getOrgChart({ departmentId: 'engineering' });License
MIT
