Primitives.org.ai

digital-tools

Entity types and providers for digital tools usable by humans and AI agents

npm install digital-tools

Comprehensive entity definitions (Nouns) for all digital tools that can be used by both remote human workers AND AI agents. Each entity follows the semantic pattern with singular, plural, description, properties, relationships, actions, and events.

import { AllEntities, EntityCategories, Message, Meeting, Agent } from 'digital-tools'

// Access all entities by category
const messageEntities = AllEntities.message
const financeEntities = AllEntities.finance
const aiEntities = AllEntities.ai

// Use individual entities
console.log(Message.actions) // ['send', 'reply', 'forward', ...]
console.log(Meeting.events)  // ['scheduled', 'started', 'ended', ...]
console.log(Agent.properties) // { name, systemPrompt, tools, ... }

// List all 32 categories
console.log(EntityCategories)

Categories

All categories use single-word identifiers for use as JS/TS variables, components, and functions.

CategoryDescriptionEntities
siteDeployed web presenceSite
messageEmail, text, chat, voiceMessage, Thread, Call, Channel, Workspace, Member, Contact
productivityCalendar, tasks, notesCalendar, Event, Availability, Task, Note, Reminder
projectProjects, issues, sprintsProject, Issue, Sprint, Milestone, Board, Epic, Label
codeRepositories, PRs, commitsRepository, Branch, Commit, PullRequest, CodeReview, Release
salesLeads, deals, accountsLead, Deal, Account, Pipeline, Stage, Activity, Quote
financePayments, billing, treasuryCustomer, Product, Price, PaymentIntent, Invoice, Subscription
supportTickets, conversationsSupportTicket, Conversation, HelpArticle, FAQ
mediaImages, videos, audioImage, Video, Audio, Album, Transcript
marketingCampaigns, audiencesCampaign, Audience, EmailTemplate, LandingPage, SocialPost
knowledgeWiki, articles, glossaryWikiPage, Article, KnowledgeBase, Glossary, Tag
commerceProducts, orders, cartsProduct, Order, Cart, Customer, Inventory, Discount
analyticsReports, dashboardsReport, Dashboard, Widget, Metric, Goal, Alert
storageFiles, folders, drivesFile, Folder, Drive, SharedLink, FileVersion, Backup
meetingVideo conferencingMeeting, MeetingParticipant, Webinar, Resource, Reservation
formForms, surveys, quizzesForm, FormField, FormResponse, Survey, Quiz
signatureE-signaturesSignatureDocument, SignatureRequest, Signer, AuditTrail
documentWord processingDocument, DocumentVersion, DocumentComment
spreadsheetData tablesSpreadsheet, Sheet, Cell, Range, Chart, PivotTable
presentationSlides, decksPresentation, Slide, SlideElement, Animation
infrastructureCloud infrastructureConfig, Database, Hosting, Function, Bucket
experimentA/B testing, flagsSession, FeatureFlag, Experiment, Funnel, Cohort
advertisingDigital adsAd, AdGroup, AdCampaign, Keyword, Conversion
videoYouTube, TwitchVideoChannel, StreamingVideo, Playlist, LiveStream
identitySSO, directoryVault, SSOConnection, Directory, Organization
notificationPush, SMS, in-appNotification, SMS, PushNotification, Device
hrEmployees, teamsEmployee, Team, TimeOff, PerformanceReview, Payroll
recruitingJobs, candidatesJob, Candidate, Application, Interview, Offer
designFigma, SketchDesignFile, Component, DesignSystem, Style, Prototype
shippingLogisticsShipment, Package, TrackingEvent, Carrier, Rate
automationWorkflowsAutomationWorkflow, Trigger, Action, AutomationRun
aiModels, agentsModel, Prompt, Completion, Agent, Embedding, FineTune

Entity Structure

Each entity follows the Noun pattern from ai-database:

interface Noun {
  singular: string      // 'message'
  plural: string        // 'messages'
  description: string   // 'Async communication'
  properties: Record<string, Property>
  relationships: Record<string, Relationship>
  actions: string[]     // ['send', 'reply', 'forward', ...]
  events: string[]      // ['sent', 'delivered', 'read', ...]
}

Providers

import { createProvider } from 'digital-tools'

// Create a Stripe provider for finance entities
const stripe = await createProvider('finance.stripe', {
  apiKey: process.env.STRIPE_API_KEY
})

// Create a Slack provider for message entities
const slack = await createProvider('message.slack', {
  token: process.env.SLACK_TOKEN
})
Was this page helpful?

On this page