mirror of
https://github.com/HeyPuter/puter.git
synced 2026-05-04 16:40:41 +00:00
817 lines
22 KiB
JavaScript
817 lines
22 KiB
JavaScript
export default [
|
|
{
|
|
properties: {
|
|
completionId: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'completionId',
|
|
notes: [],
|
|
},
|
|
allow: {
|
|
type: 'boolean',
|
|
mutability: 'mutable',
|
|
summary: 'whether the operation is allowed',
|
|
notes: [],
|
|
},
|
|
intended_service: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'intended service',
|
|
notes: [],
|
|
},
|
|
parameters: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'parameters',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'ai.prompt.complete',
|
|
description: `
|
|
This event is emitted for ai prompt complete operations.
|
|
`,
|
|
properties: {
|
|
intended_service: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'intended service',
|
|
notes: [],
|
|
},
|
|
parameters: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'parameters',
|
|
notes: [],
|
|
},
|
|
result: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'result',
|
|
notes: [],
|
|
},
|
|
model_used: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'model used',
|
|
notes: [],
|
|
},
|
|
service_used: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'service used',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'ai.prompt.cost-calculated',
|
|
description: `
|
|
This event is emitted for ai prompt cost calculated operations.
|
|
`,
|
|
},
|
|
{
|
|
id: 'ai.prompt.validate',
|
|
description: `
|
|
This event is emitted when a validate is being validated.
|
|
The event can be used to block certain validates from being validated.
|
|
`,
|
|
properties: {
|
|
completionId: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'completionId',
|
|
notes: [],
|
|
},
|
|
allow: {
|
|
type: 'boolean',
|
|
mutability: 'mutable',
|
|
summary: 'whether the operation is allowed',
|
|
notes: [
|
|
'If set to false, the ai will be considered invalid.',
|
|
],
|
|
},
|
|
intended_service: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'intended service',
|
|
notes: [],
|
|
},
|
|
parameters: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'parameters',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'app.new-icon',
|
|
description: `
|
|
This event is emitted for app new icon operations.
|
|
`,
|
|
properties: {
|
|
data_url: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'data url',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'app.rename',
|
|
description: `
|
|
This event is emitted for app rename operations.
|
|
`,
|
|
properties: {
|
|
data_url: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'data url',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'apps.invalidate',
|
|
description: `
|
|
This event is emitted when a invalidate is being validated.
|
|
The event can be used to block certain invalidates from being validated.
|
|
`,
|
|
properties: {
|
|
apps: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'apps',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'captcha.check',
|
|
description: `
|
|
This event is emitted for captcha check operations.
|
|
`,
|
|
properties: {
|
|
required: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'required',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'core.email.validate',
|
|
description: `
|
|
This event is emitted when an email is being validated.
|
|
The event can be used to block certain emails from being validated.
|
|
`,
|
|
properties: {
|
|
email: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'the email being validated',
|
|
notes: [
|
|
'The email may have already been cleaned.',
|
|
],
|
|
},
|
|
allow: {
|
|
type: 'boolean',
|
|
mutability: 'mutable',
|
|
summary: 'whether the email is allowed',
|
|
notes: [
|
|
'If set to false, the email will be considered invalid.',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'core.fs.create.directory',
|
|
description: `
|
|
This event is emitted when a directory is created.
|
|
`,
|
|
properties: {
|
|
node: {
|
|
type: 'FSNodeContext',
|
|
mutability: 'no-effect',
|
|
summary: 'the directory that was created',
|
|
},
|
|
context: {
|
|
type: 'Context',
|
|
mutability: 'no-effect',
|
|
summary: 'current context',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'core.request.measured',
|
|
description: `
|
|
This event is emitted when a requests incoming and outgoing bytes
|
|
have been measured.
|
|
`,
|
|
example: {
|
|
language: 'javascript',
|
|
code: /*javascript*/`
|
|
extension.on('core.request.measured', data => {
|
|
const measurements = data.measurements;
|
|
// measurements = { sz_incoming: integer, sz_outgoing: integer }
|
|
|
|
const actor = data.actor; // instance of Actor
|
|
|
|
console.log('\x1B[36;1m === MEASUREMENT ===\x1B[0m\n', {
|
|
actor: data.actor.uid,
|
|
measurements: data.measurements
|
|
});
|
|
});
|
|
`,
|
|
},
|
|
},
|
|
{
|
|
id: 'credit.check-available',
|
|
description: `
|
|
This event is emitted for credit check available operations.
|
|
`,
|
|
properties: {
|
|
available: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'available',
|
|
notes: [],
|
|
},
|
|
cost_uuid: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'cost uuid',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'credit.funding-update',
|
|
description: `
|
|
This event is emitted when a funding-update is updated.
|
|
`,
|
|
properties: {
|
|
available: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'available',
|
|
notes: [],
|
|
},
|
|
cost_uuid: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'cost uuid',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'credit.record-cost',
|
|
description: `
|
|
This event is emitted for credit record cost operations.
|
|
`,
|
|
properties: {
|
|
available: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'available',
|
|
notes: [],
|
|
},
|
|
cost_uuid: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'cost uuid',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'driver.create-call-context',
|
|
description: `
|
|
This event is emitted when a create-call-context is created.
|
|
`,
|
|
properties: {
|
|
usages: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'usages',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'email.validate',
|
|
description: `
|
|
This event is emitted when a validate is being validated.
|
|
The event can be used to block certain validates from being validated.
|
|
`,
|
|
properties: {
|
|
allow: {
|
|
type: 'boolean',
|
|
mutability: 'mutable',
|
|
summary: 'whether the operation is allowed',
|
|
notes: [
|
|
'If set to false, the email will be considered invalid.',
|
|
],
|
|
},
|
|
email: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'email',
|
|
notes: [
|
|
'The email may have already been cleaned.',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'fs.create.directory',
|
|
description: `
|
|
This event is emitted when a directory is created.
|
|
`,
|
|
},
|
|
{
|
|
id: 'fs.create.file',
|
|
description: `
|
|
This event is emitted when a file is created.
|
|
`,
|
|
properties: {
|
|
context: {
|
|
type: 'Context',
|
|
mutability: 'no-effect',
|
|
summary: 'current context',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'fs.create.shortcut',
|
|
description: `
|
|
This event is emitted when a shortcut is created.
|
|
`,
|
|
},
|
|
{
|
|
id: 'fs.create.symlink',
|
|
description: `
|
|
This event is emitted when a symlink is created.
|
|
`,
|
|
},
|
|
{
|
|
id: 'fs.move.file',
|
|
description: `
|
|
This event is emitted for fs move file operations.
|
|
`,
|
|
properties: {
|
|
moved: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'moved',
|
|
notes: [],
|
|
},
|
|
old_path: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'path to the affected resource',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'fs.pending.file',
|
|
description: `
|
|
This event is emitted for fs pending file operations.
|
|
`,
|
|
},
|
|
{
|
|
id: 'fs.storage.progress.copy',
|
|
description: `
|
|
This event reports progress of a copy operation.
|
|
`,
|
|
properties: {
|
|
context: {
|
|
type: 'Context',
|
|
mutability: 'no-effect',
|
|
summary: 'current context',
|
|
notes: [],
|
|
},
|
|
meta: {
|
|
type: 'object',
|
|
mutability: 'no-effect',
|
|
summary: 'additional metadata for the operation',
|
|
notes: [],
|
|
},
|
|
item_path: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'path to the affected resource',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'fs.storage.upload-progress',
|
|
description: `
|
|
This event reports progress of a upload-progress operation.
|
|
`,
|
|
},
|
|
{
|
|
id: 'fs.write.file',
|
|
description: `
|
|
This event is emitted when a file is updated.
|
|
`,
|
|
properties: {
|
|
context: {
|
|
type: 'Context',
|
|
mutability: 'no-effect',
|
|
summary: 'current context',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'ip.validate',
|
|
description: `
|
|
This event is emitted when a validate is being validated.
|
|
The event can be used to block certain validates from being validated.
|
|
`,
|
|
properties: {
|
|
res: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'res',
|
|
notes: [],
|
|
},
|
|
end_: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'end ',
|
|
notes: [],
|
|
},
|
|
end: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'end',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.fs.write-hash',
|
|
description: `
|
|
This event is emitted when a write-hash is updated.
|
|
`,
|
|
properties: {
|
|
uuid: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'uuid',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.item.added',
|
|
description: `
|
|
This event is emitted for outer gui item added operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.item.moved',
|
|
description: `
|
|
This event is emitted for outer gui item moved operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.item.pending',
|
|
description: `
|
|
This event is emitted for outer gui item pending operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.item.updated',
|
|
description: `
|
|
This event is emitted when a updated is updated.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.notif.ack',
|
|
description: `
|
|
This event is emitted for outer gui notif ack operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.notif.message',
|
|
description: `
|
|
This event is emitted for outer gui notif message operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
notification: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'notification',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.notif.persisted',
|
|
description: `
|
|
This event is emitted for outer gui notif persisted operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.notif.unreads',
|
|
description: `
|
|
This event is emitted for outer gui notif unreads operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.submission.done',
|
|
description: `
|
|
This event is emitted for outer gui submission done operations.
|
|
`,
|
|
properties: {
|
|
response: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'response',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'outer.gui.usage.update',
|
|
description: `
|
|
This event is emitted when a update is updated.
|
|
`,
|
|
},
|
|
{
|
|
id: 'outer.thread.notify-subscribers',
|
|
description: `
|
|
This event is emitted for outer thread notify subscribers operations.
|
|
`,
|
|
properties: {
|
|
uid: {
|
|
type: 'string',
|
|
mutability: 'no-effect',
|
|
summary: 'uid',
|
|
notes: [],
|
|
},
|
|
action: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'action',
|
|
notes: [],
|
|
},
|
|
data: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'data',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'puter.signup',
|
|
description: `
|
|
This event is emitted for puter signup operations.
|
|
`,
|
|
properties: {
|
|
ip: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'ip',
|
|
notes: [],
|
|
},
|
|
user_agent: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'user agent',
|
|
notes: [],
|
|
},
|
|
body: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'body',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'request.measured',
|
|
description: `
|
|
This event is emitted for request measured operations.
|
|
`,
|
|
properties: {
|
|
req: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'req',
|
|
notes: [],
|
|
},
|
|
res: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'res',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'request.will-be-handled',
|
|
description: `
|
|
This event is emitted for request will be handled operations.
|
|
`,
|
|
properties: {
|
|
res: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'res',
|
|
notes: [],
|
|
},
|
|
end_: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'end ',
|
|
notes: [],
|
|
},
|
|
end: {
|
|
type: 'any',
|
|
mutability: 'mutable',
|
|
summary: 'end',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'template-service.hello',
|
|
description: `
|
|
This event is emitted for template-service hello operations.
|
|
`,
|
|
},
|
|
{
|
|
id: 'usages.query',
|
|
description: `
|
|
This event is emitted for usages query operations.
|
|
`,
|
|
properties: {
|
|
usages: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'usages',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'user.email-changed',
|
|
description: `
|
|
This event is emitted for user email changed operations.
|
|
`,
|
|
properties: {
|
|
new_email: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'new email',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'user.email-confirmed',
|
|
description: `
|
|
This event is emitted for user email confirmed operations.
|
|
`,
|
|
properties: {
|
|
email: {
|
|
type: 'any',
|
|
mutability: 'no-effect',
|
|
summary: 'email',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'user.save_account',
|
|
description: `
|
|
This event is emitted for user save_account operations.
|
|
`,
|
|
properties: {
|
|
user: {
|
|
type: 'User',
|
|
mutability: 'no-effect',
|
|
summary: 'user associated with the operation',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'web.socket.connected',
|
|
description: `
|
|
This event is emitted for web socket connected operations.
|
|
`,
|
|
properties: {
|
|
user: {
|
|
type: 'User',
|
|
mutability: 'mutable',
|
|
summary: 'user associated with the operation',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'web.socket.user-connected',
|
|
description: `
|
|
This event is emitted for web socket user connected operations.
|
|
`,
|
|
properties: {
|
|
user: {
|
|
type: 'User',
|
|
mutability: 'mutable',
|
|
summary: 'user associated with the operation',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
{
|
|
id: 'wisp.get-policy',
|
|
description: `
|
|
This event is emitted for wisp get policy operations.
|
|
`,
|
|
properties: {
|
|
policy: {
|
|
type: 'Policy',
|
|
mutability: 'mutable',
|
|
summary: 'policy information for the operation',
|
|
notes: [],
|
|
},
|
|
},
|
|
},
|
|
];
|