← Public packages
@kentcdodds/devin
Start, monitor, and manage Devin sessions, knowledge, playbooks, and schedules via the Devin v3 API
src/index.ts
61 lines · 2.9 KB · TypeScriptimport * as knowledge from './knowledge.ts'
import * as playbooks from './playbooks.ts'
import * as request from './request.ts'
import * as reviews from './reviews.ts'
import * as schedules from './schedules.ts'
import * as self from './self.ts'
import * as sessions from './sessions.ts'
import * as usage from './usage.ts'
export { knowledge, playbooks, request, reviews, schedules, self, sessions, usage }
/**
* Describe the Devin v3 API package: auth, org settings, and export map.
* Use for discovery before calling sessions, knowledge, playbooks, or request.
*
* @returns Package overview including docs, auth notes, and export purposes
*
* @example
* import describeDevin from 'kody:@kentcdodds/devin'
* const info = await describeDevin()
* // => { packageId: 'devin', exports: { './sessions': '...', ... } }
*/
export default async function describeDevinPackage() {
return {
packageId: 'devin',
name: '@kentcdodds/devin',
version: '1.0.0',
docs: ['https://docs.devin.ai/api-reference', 'https://docs.devin.ai/v3-openapi.yaml'],
transport:
'compact devinRequestRaw helper against https://api.devin.ai (Bearer {{secret:devinServiceUserKey}})',
auth: {
required: ['devinServiceUserKey'],
settings: ['devinOrgId'],
note: "v3 service user key (cog_ prefix). Legacy apk_ v1/v2 keys return 403 on v3. Every helper takes an optional orgId override; otherwise destinOrgId in this package's storage is used. Update it with ./settings ({ orgId }).",
},
exports: {
'.': 'Package overview (this export)',
'./self': 'whoami — identity/permissions check for the saved credential',
'./sessions':
'listSessions, listAllSessions, createSession, getSession, getSessionStatus, listMessages, sendMessage, terminateSession, archive/unarchive, get/setSessionTags, listSessionAttachments',
'./knowledge': 'listNotes, getNote, createNote, updateNote, deleteNote, listFolders',
'./playbooks':
'listPlaybooks, getPlaybook, createPlaybook, updatePlaybook, deletePlaybook',
'./schedules':
'listSchedules, getSchedule, createSchedule, updateSchedule, deleteSchedule',
'./reviews': 'getPrReview (null when unreviewed), createPrReview',
'./usage':
'dailyConsumption (+ per user/service user/session), usageMetrics, sessionMetrics, prMetrics, sessionInsights, generateSessionInsights',
'./request':
'Raw api.devin.ai escape hatch ({org_id} is interpolated) + DevinApiError',
'./settings':
"Read or update destinOrgId in this package's storage (pass { orgId })",
'./migrate-from-values':
"Copy leftover destinOrgId user value into this package's storage",
},
costNote:
'createSession, createPrReview, and generateSessionInsights consume ACUs; terminateSession and the delete helpers are destructive — confirm intent before calling.',
notWrapped:
'Enterprise admin, members/roles, org secrets, code scans, repo indexing, and snapshot blueprints — use ./request.',
}
}