@robinpath/monday
Advanced tools
| import type { ModuleAdapter } from "@robinpath/core"; | ||
| declare const MondayModule: ModuleAdapter; | ||
| export default MondayModule; | ||
| export { MondayModule }; | ||
| export { MondayFunctions, MondayFunctionMetadata, MondayModuleMetadata, MondayCredentialTypes, } from "./monday.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASrD,QAAA,MAAM,YAAY,EAAE,aAQnB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"} |
| import { MondayFunctions, MondayFunctionMetadata, MondayModuleMetadata, MondayCredentialTypes, configureMonday, } from "./monday.js"; | ||
| const MondayModule = { | ||
| name: "monday", | ||
| functions: MondayFunctions, | ||
| functionMetadata: MondayFunctionMetadata, | ||
| moduleMetadata: MondayModuleMetadata, | ||
| credentialTypes: MondayCredentialTypes, | ||
| configure: configureMonday, | ||
| global: false, | ||
| }; | ||
| export default MondayModule; | ||
| export { MondayModule }; | ||
| export { MondayFunctions, MondayFunctionMetadata, MondayModuleMetadata, MondayCredentialTypes, } from "./monday.js"; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,MAAM,YAAY,GAAkB;IAClC,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,sBAAsB;IACxC,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"} |
| /** | ||
| * RobinPath Monday.com Module (Node port) | ||
| * | ||
| * monday.com GraphQL API v2 — boards, items, columns. Uses the RobinPath | ||
| * credential vault pattern: every handler takes a credential slug as its | ||
| * first argument and resolves the stored API token at call time via the | ||
| * injected ModuleHost. | ||
| * | ||
| * monday.com authenticates with a **Personal API Token** from | ||
| * https://<account>.monday.com/admin/integrations/api. The token is sent in | ||
| * the `Authorization` header **without** a `Bearer` prefix — that's a | ||
| * monday.com quirk, not a typo. | ||
| * | ||
| * Credential type declared by this module: | ||
| * - monday : { api_token } | ||
| */ | ||
| import type { BuiltinHandler, CredentialTypeSchema, FunctionMetadata, ModuleHost, ModuleMetadata } from "@robinpath/core"; | ||
| export declare function configureMonday(h: ModuleHost): void; | ||
| export declare const MondayFunctions: Record<string, BuiltinHandler>; | ||
| export declare const MondayCredentialTypes: CredentialTypeSchema[]; | ||
| export declare const MondayFunctionMetadata: Record<string, FunctionMetadata>; | ||
| export declare const MondayModuleMetadata: ModuleMetadata; | ||
| //# sourceMappingURL=monday.d.ts.map |
| {"version":3,"file":"monday.d.ts","sourceRoot":"","sources":["../src/monday.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAezB,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAEnD;AAuZD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAO1D,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,EAiBvD,CAAC;AA2DF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA8PnE,CAAC;AAIF,eAAO,MAAM,oBAAoB,EAAE,cA4BlC,CAAC"} |
+719
| /** | ||
| * RobinPath Monday.com Module (Node port) | ||
| * | ||
| * monday.com GraphQL API v2 — boards, items, columns. Uses the RobinPath | ||
| * credential vault pattern: every handler takes a credential slug as its | ||
| * first argument and resolves the stored API token at call time via the | ||
| * injected ModuleHost. | ||
| * | ||
| * monday.com authenticates with a **Personal API Token** from | ||
| * https://<account>.monday.com/admin/integrations/api. The token is sent in | ||
| * the `Authorization` header **without** a `Bearer` prefix — that's a | ||
| * monday.com quirk, not a typo. | ||
| * | ||
| * Credential type declared by this module: | ||
| * - monday : { api_token } | ||
| */ | ||
| // ── Module-local state (populated by configure hook) ──────────────────── | ||
| const state = {}; | ||
| function host() { | ||
| if (!state.host) { | ||
| throw new Error("Monday module not initialized. Pass the adapter to rp.installModule() so its configure() hook runs first."); | ||
| } | ||
| return state.host; | ||
| } | ||
| export function configureMonday(h) { | ||
| state.host = h; | ||
| } | ||
| // ── Constants ────────────────────────────────────────────────────────── | ||
| const GRAPHQL_ENDPOINT = "https://api.monday.com/v2"; | ||
| const CREDENTIAL_TYPE = "monday"; | ||
| function errorReturn(error, code, extra = {}) { | ||
| return { error, code, ...extra }; | ||
| } | ||
| // ── Credential resolver ──────────────────────────────────────────────── | ||
| async function resolveApiToken(credentialSlug) { | ||
| if (!credentialSlug) { | ||
| return errorReturn("Credential slug is required.", "credential_not_found"); | ||
| } | ||
| let fields; | ||
| try { | ||
| fields = await host().credentials.get(credentialSlug); | ||
| } | ||
| catch (e) { | ||
| return errorReturn(e instanceof Error ? e.message : String(e), "credential_not_found"); | ||
| } | ||
| if (!fields) { | ||
| return errorReturn(`Credential '${credentialSlug}' not found.`, "credential_not_found"); | ||
| } | ||
| const apiToken = String(fields.api_token ?? fields.apiToken ?? fields.token ?? ""); | ||
| if (!apiToken) { | ||
| return errorReturn("Credential has no `api_token` field.", "api_token_missing"); | ||
| } | ||
| return { apiToken }; | ||
| } | ||
| // ── Helpers ──────────────────────────────────────────────────────────── | ||
| function isPlainObject(v) { | ||
| return !!v && typeof v === "object" && !Array.isArray(v); | ||
| } | ||
| // ── GraphQL helper (normalized envelope, never throws for API errors) ── | ||
| async function callGraphql(cred, query, variables) { | ||
| const resolved = await resolveApiToken(cred); | ||
| if ("error" in resolved) | ||
| return resolved; | ||
| const headers = { | ||
| // monday.com expects the raw api token, NOT "Bearer <token>". | ||
| Authorization: resolved.apiToken, | ||
| "Content-Type": "application/json", | ||
| Accept: "application/json", | ||
| "API-Version": "2024-01", | ||
| }; | ||
| const body = JSON.stringify({ query, variables: variables ?? {} }); | ||
| let response; | ||
| try { | ||
| response = await fetch(GRAPHQL_ENDPOINT, { method: "POST", headers, body }); | ||
| } | ||
| catch (e) { | ||
| return errorReturn(e instanceof Error ? e.message : String(e), "transport"); | ||
| } | ||
| const status = response.status; | ||
| const raw = await response.text(); | ||
| let decoded; | ||
| try { | ||
| decoded = JSON.parse(raw); | ||
| } | ||
| catch { | ||
| decoded = { raw: raw.slice(0, 500) }; | ||
| } | ||
| const decodedObj = decoded && typeof decoded === "object" && !Array.isArray(decoded) | ||
| ? decoded | ||
| : { raw: raw.slice(0, 500) }; | ||
| if (status < 200 || status >= 300) { | ||
| return mondayError(status, decodedObj); | ||
| } | ||
| // GraphQL surfaces errors in the `errors` or `error_message` fields even on HTTP 200. | ||
| const errs = decodedObj.errors; | ||
| if (Array.isArray(errs) && errs.length > 0) { | ||
| return mondayError(status, decodedObj); | ||
| } | ||
| if (typeof decodedObj.error_message === "string" || typeof decodedObj.error_code === "string") { | ||
| return mondayError(status, decodedObj); | ||
| } | ||
| const data = decodedObj.data; | ||
| if (data !== undefined && data !== null && typeof data === "object") { | ||
| return data; | ||
| } | ||
| return decodedObj; | ||
| } | ||
| function mondayError(status, decoded) { | ||
| let message = ""; | ||
| const errs = decoded.errors; | ||
| if (Array.isArray(errs) && errs.length > 0) { | ||
| const first = errs[0]; | ||
| if (first && typeof first === "object") { | ||
| const m = first.message; | ||
| if (typeof m === "string") | ||
| message = m; | ||
| } | ||
| } | ||
| if (!message && typeof decoded.error_message === "string") | ||
| message = decoded.error_message; | ||
| if (!message && typeof decoded.message === "string") | ||
| message = decoded.message; | ||
| if (!message) | ||
| message = `monday.com returned HTTP ${status}.`; | ||
| let code = "monday_error"; | ||
| if (status === 401) | ||
| code = "unauthorized"; | ||
| else if (status === 403) | ||
| code = "permission_denied"; | ||
| else if (status === 404) | ||
| code = "not_found"; | ||
| else if (status === 400 || status === 422) | ||
| code = "validation_failed"; | ||
| else if (status === 429) | ||
| code = "rate_limited"; | ||
| const errCode = typeof decoded.error_code === "string" ? decoded.error_code : null; | ||
| if (errCode) { | ||
| if (errCode === "ComplexityException") | ||
| code = "rate_limited"; | ||
| else if (errCode === "InvalidUserException") | ||
| code = "unauthorized"; | ||
| else if (errCode === "ItemNotFoundException" || errCode === "BoardNotFoundException") | ||
| code = "not_found"; | ||
| } | ||
| return errorReturn(message, code, { status, monday_error: decoded }); | ||
| } | ||
| // ── GraphQL fragments ────────────────────────────────────────────────── | ||
| const BOARD_FIELDS = ` | ||
| id name description state board_kind | ||
| workspace_id | ||
| updated_at | ||
| owners { id name email } | ||
| `; | ||
| const BOARD_FIELDS_FULL = ` | ||
| id name description state board_kind | ||
| workspace_id | ||
| updated_at | ||
| owners { id name email } | ||
| columns { id title type settings_str } | ||
| groups { id title color } | ||
| `; | ||
| const ITEM_FIELDS = ` | ||
| id name state | ||
| created_at updated_at | ||
| board { id name } | ||
| group { id title } | ||
| creator { id name email } | ||
| column_values { id type text value } | ||
| `; | ||
| // ── Handlers ─────────────────────────────────────────────────────────── | ||
| const listBoards = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const opts = isPlainObject(args[1]) ? args[1] : {}; | ||
| const vars = {}; | ||
| vars.limit = opts.limit !== undefined ? Number(opts.limit) | 0 : 25; | ||
| if (opts.page !== undefined) | ||
| vars.page = Number(opts.page) | 0; | ||
| if (opts.workspace_ids !== undefined) | ||
| vars.workspace_ids = opts.workspace_ids; | ||
| if (opts.state !== undefined) | ||
| vars.state = opts.state; | ||
| if (opts.ids !== undefined) | ||
| vars.ids = opts.ids; | ||
| const query = ` | ||
| query ListBoards($limit: Int, $page: Int, $workspace_ids: [ID], $state: State, $ids: [ID!]) { | ||
| boards(limit: $limit, page: $page, workspace_ids: $workspace_ids, state: $state, ids: $ids) { | ||
| ${BOARD_FIELDS} | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, vars)); | ||
| }; | ||
| const getBoard = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const boardId = String(args[1] ?? ""); | ||
| if (!boardId) { | ||
| return errorReturn("`boardId` is required.", "validation_failed"); | ||
| } | ||
| const query = ` | ||
| query GetBoard($ids: [ID!]) { | ||
| boards(ids: $ids) { | ||
| ${BOARD_FIELDS_FULL} | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, { ids: [boardId] })); | ||
| }; | ||
| const listItems = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const boardId = String(args[1] ?? ""); | ||
| const opts = isPlainObject(args[2]) ? args[2] : {}; | ||
| if (!boardId) { | ||
| return errorReturn("`boardId` is required.", "validation_failed"); | ||
| } | ||
| const limit = opts.limit !== undefined ? Number(opts.limit) | 0 : 100; | ||
| const cursor = opts.cursor !== undefined ? String(opts.cursor) : null; | ||
| // monday.com uses cursor pagination via items_page; first call passes the | ||
| // query_params, subsequent calls use the cursor. | ||
| if (cursor) { | ||
| const query = ` | ||
| query NextItemsPage($cursor: String!, $limit: Int!) { | ||
| next_items_page(cursor: $cursor, limit: $limit) { | ||
| cursor | ||
| items { ${ITEM_FIELDS} } | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, { cursor, limit })); | ||
| } | ||
| const query = ` | ||
| query ListItems($boardId: [ID!], $limit: Int!) { | ||
| boards(ids: $boardId) { | ||
| items_page(limit: $limit) { | ||
| cursor | ||
| items { ${ITEM_FIELDS} } | ||
| } | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, { boardId: [boardId], limit })); | ||
| }; | ||
| const createItem = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const boardId = String(args[1] ?? ""); | ||
| const itemName = String(args[2] ?? ""); | ||
| const opts = isPlainObject(args[3]) ? args[3] : {}; | ||
| if (!boardId) { | ||
| return errorReturn("`boardId` is required.", "validation_failed"); | ||
| } | ||
| if (!itemName) { | ||
| return errorReturn("`itemName` is required.", "validation_failed"); | ||
| } | ||
| const vars = { | ||
| board_id: boardId, | ||
| item_name: itemName, | ||
| }; | ||
| if (opts.group_id !== undefined) | ||
| vars.group_id = String(opts.group_id); | ||
| if (opts.column_values !== undefined) { | ||
| vars.column_values = typeof opts.column_values === "string" | ||
| ? opts.column_values | ||
| : JSON.stringify(opts.column_values); | ||
| } | ||
| if (opts.create_labels_if_missing !== undefined) { | ||
| vars.create_labels_if_missing = Boolean(opts.create_labels_if_missing); | ||
| } | ||
| const query = ` | ||
| mutation CreateItem( | ||
| $board_id: ID! | ||
| $item_name: String! | ||
| $group_id: String | ||
| $column_values: JSON | ||
| $create_labels_if_missing: Boolean | ||
| ) { | ||
| create_item( | ||
| board_id: $board_id | ||
| item_name: $item_name | ||
| group_id: $group_id | ||
| column_values: $column_values | ||
| create_labels_if_missing: $create_labels_if_missing | ||
| ) { | ||
| ${ITEM_FIELDS} | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, vars)); | ||
| }; | ||
| const updateItem = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const boardId = String(args[1] ?? ""); | ||
| const itemId = String(args[2] ?? ""); | ||
| const columnValues = args[3]; | ||
| const opts = isPlainObject(args[4]) ? args[4] : {}; | ||
| if (!boardId) { | ||
| return errorReturn("`boardId` is required.", "validation_failed"); | ||
| } | ||
| if (!itemId) { | ||
| return errorReturn("`itemId` is required.", "validation_failed"); | ||
| } | ||
| if (columnValues === undefined || columnValues === null) { | ||
| return errorReturn("`columnValues` is required.", "validation_failed"); | ||
| } | ||
| const vars = { | ||
| board_id: boardId, | ||
| item_id: itemId, | ||
| column_values: typeof columnValues === "string" | ||
| ? columnValues | ||
| : JSON.stringify(columnValues), | ||
| }; | ||
| if (opts.create_labels_if_missing !== undefined) { | ||
| vars.create_labels_if_missing = Boolean(opts.create_labels_if_missing); | ||
| } | ||
| const query = ` | ||
| mutation UpdateItem( | ||
| $board_id: ID! | ||
| $item_id: ID! | ||
| $column_values: JSON! | ||
| $create_labels_if_missing: Boolean | ||
| ) { | ||
| change_multiple_column_values( | ||
| board_id: $board_id | ||
| item_id: $item_id | ||
| column_values: $column_values | ||
| create_labels_if_missing: $create_labels_if_missing | ||
| ) { | ||
| ${ITEM_FIELDS} | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, vars)); | ||
| }; | ||
| const changeColumnValue = async (args) => { | ||
| const cred = String(args[0] ?? ""); | ||
| const boardId = String(args[1] ?? ""); | ||
| const itemId = String(args[2] ?? ""); | ||
| const columnId = String(args[3] ?? ""); | ||
| const value = args[4]; | ||
| const opts = isPlainObject(args[5]) ? args[5] : {}; | ||
| if (!boardId) { | ||
| return errorReturn("`boardId` is required.", "validation_failed"); | ||
| } | ||
| if (!itemId) { | ||
| return errorReturn("`itemId` is required.", "validation_failed"); | ||
| } | ||
| if (!columnId) { | ||
| return errorReturn("`columnId` is required.", "validation_failed"); | ||
| } | ||
| if (value === undefined || value === null) { | ||
| return errorReturn("`value` is required.", "validation_failed"); | ||
| } | ||
| const vars = { | ||
| board_id: boardId, | ||
| item_id: itemId, | ||
| column_id: columnId, | ||
| value: typeof value === "string" ? value : JSON.stringify(value), | ||
| }; | ||
| if (opts.create_labels_if_missing !== undefined) { | ||
| vars.create_labels_if_missing = Boolean(opts.create_labels_if_missing); | ||
| } | ||
| const query = ` | ||
| mutation ChangeColumnValue( | ||
| $board_id: ID! | ||
| $item_id: ID! | ||
| $column_id: String! | ||
| $value: JSON! | ||
| $create_labels_if_missing: Boolean | ||
| ) { | ||
| change_column_value( | ||
| board_id: $board_id | ||
| item_id: $item_id | ||
| column_id: $column_id | ||
| value: $value | ||
| create_labels_if_missing: $create_labels_if_missing | ||
| ) { | ||
| ${ITEM_FIELDS} | ||
| } | ||
| } | ||
| `; | ||
| return (await callGraphql(cred, query, vars)); | ||
| }; | ||
| // ── Exports: functions map ───────────────────────────────────────────── | ||
| export const MondayFunctions = { | ||
| listBoards, | ||
| getBoard, | ||
| listItems, | ||
| createItem, | ||
| updateItem, | ||
| changeColumnValue, | ||
| }; | ||
| // ── Exports: credential types ────────────────────────────────────────── | ||
| export const MondayCredentialTypes = [ | ||
| { | ||
| slug: CREDENTIAL_TYPE, | ||
| title: "monday.com API Token", | ||
| icon: "kanban", | ||
| fields: [ | ||
| { | ||
| name: "api_token", | ||
| title: "Personal API Token", | ||
| type: "password", | ||
| required: true, | ||
| placeholder: "eyJhbGciOi…", | ||
| description: "Create one at `<account>.monday.com/admin/integrations/api`. The token is sent in the `Authorization` header *without* a `Bearer` prefix — monday.com's own quirk.", | ||
| }, | ||
| ], | ||
| }, | ||
| ]; | ||
| // ── Shared parameter metadata ────────────────────────────────────────── | ||
| const credentialParam = { | ||
| name: "credential", | ||
| title: "Credential", | ||
| description: "Slug of a saved `monday` credential.", | ||
| dataType: "string", | ||
| formInputType: "resource", | ||
| required: true, | ||
| allowExpression: true, | ||
| placeholder: "my_monday", | ||
| resource: { | ||
| type: "credential", | ||
| listFn: "credential.list", | ||
| modes: ["list", "expression"], | ||
| searchable: true, | ||
| filter: { type: CREDENTIAL_TYPE }, | ||
| }, | ||
| }; | ||
| const boardIdParam = { | ||
| name: "boardId", | ||
| title: "Board ID", | ||
| description: "Numeric monday.com board ID.", | ||
| dataType: "string", | ||
| formInputType: "text", | ||
| required: true, | ||
| allowExpression: true, | ||
| placeholder: "1234567890", | ||
| }; | ||
| const itemIdParam = { | ||
| name: "itemId", | ||
| title: "Item ID", | ||
| description: "Numeric monday.com item ID.", | ||
| dataType: "string", | ||
| formInputType: "text", | ||
| required: true, | ||
| allowExpression: true, | ||
| placeholder: "1234567891", | ||
| }; | ||
| const commonErrors = { | ||
| credential_not_found: "No credential with that slug exists in the vault.", | ||
| api_token_missing: "The credential has no `api_token` field.", | ||
| transport: "Network failure calling api.monday.com.", | ||
| monday_error: "monday.com returned an error — see `monday_error` in the response.", | ||
| unauthorized: "API token rejected (HTTP 401 or InvalidUserException).", | ||
| permission_denied: "The token does not have permission for this resource (HTTP 403).", | ||
| not_found: "No board or item with that id exists (HTTP 404).", | ||
| validation_failed: "monday.com rejected the input (HTTP 400/422).", | ||
| rate_limited: "Hit monday.com's complexity budget or burst limit — slow down and retry.", | ||
| }; | ||
| // ── Exports: function metadata ───────────────────────────────────────── | ||
| export const MondayFunctionMetadata = { | ||
| listBoards: { | ||
| title: "List boards", | ||
| summary: "Page through boards visible to the token", | ||
| description: "Runs `boards(limit, page, workspace_ids, state, ids)`. monday.com uses page-number pagination — pass `options.page` (1-indexed).", | ||
| group: "boards", | ||
| action: "query", | ||
| icon: "kanban", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: true, | ||
| since: "1.0.0", | ||
| tags: ["monday", "board", "list"], | ||
| parameters: [ | ||
| credentialParam, | ||
| { | ||
| name: "options", | ||
| title: "Options", | ||
| description: "Recognized keys:\n limit : page size (default 25, max 100)\n page : page number (1-indexed)\n workspace_ids : array of workspace ids to filter\n state : 'active' | 'archived' | 'deleted' | 'all'\n ids : array of board ids to fetch by id", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: false, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 4, | ||
| advanced: true, | ||
| }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "{ boards: [{id,name,state,workspace_id,owners,…}, …] }.", | ||
| errors: commonErrors, | ||
| example: 'monday.listBoards "my_monday" {limit: 50, state: "active"}', | ||
| }, | ||
| getBoard: { | ||
| title: "Get board", | ||
| summary: "Fetch a single board with its columns and groups", | ||
| description: "Runs `boards(ids: [id])` and returns the first match with full column and group definitions. Use this to discover column ids/types before writing items.", | ||
| group: "boards", | ||
| action: "read", | ||
| icon: "kanban", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: true, | ||
| since: "1.0.0", | ||
| tags: ["monday", "board", "lookup"], | ||
| parameters: [credentialParam, boardIdParam], | ||
| returnType: "object", | ||
| returnDescription: "{ boards: [{id,name,columns:[{id,title,type,settings_str}],groups:[{id,title,color}],…}] }.", | ||
| errors: commonErrors, | ||
| example: 'monday.getBoard "my_monday" "1234567890"', | ||
| }, | ||
| listItems: { | ||
| title: "List items on a board", | ||
| summary: "Cursor-paginated items within a board", | ||
| description: "Uses monday.com's `items_page` API (cursor pagination). First call returns `{cursor, items}`; pass that cursor back via `options.cursor` on the next call (which then uses `next_items_page`).", | ||
| group: "items", | ||
| action: "query", | ||
| icon: "list", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: true, | ||
| since: "1.0.0", | ||
| tags: ["monday", "item", "list"], | ||
| parameters: [ | ||
| credentialParam, | ||
| boardIdParam, | ||
| { | ||
| name: "options", | ||
| title: "Options", | ||
| description: "Recognized keys:\n limit : page size (default 100, max 500)\n cursor : cursor from previous response (switches to next_items_page)", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: false, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 3, | ||
| }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "First page: { boards: [{items_page: {cursor, items: [...]}}] }.\nSubsequent pages: { next_items_page: {cursor, items: [...]} }.", | ||
| errors: commonErrors, | ||
| example: 'monday.listItems "my_monday" "1234567890" {limit: 100}', | ||
| }, | ||
| createItem: { | ||
| title: "Create item", | ||
| summary: "Create a new item on a board", | ||
| description: "Runs `create_item(board_id, item_name, group_id, column_values)`. `column_values` is a map of `{columnId: value}`; it's JSON-encoded automatically if you pass an object.", | ||
| group: "items", | ||
| action: "write", | ||
| icon: "plus-square", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: false, | ||
| since: "1.0.0", | ||
| tags: ["monday", "item", "create"], | ||
| parameters: [ | ||
| credentialParam, | ||
| boardIdParam, | ||
| { | ||
| name: "itemName", | ||
| title: "Item name", | ||
| description: "The title shown for the new item.", | ||
| dataType: "string", | ||
| formInputType: "text", | ||
| required: true, | ||
| allowExpression: true, | ||
| placeholder: "New lead — Acme Inc", | ||
| }, | ||
| { | ||
| name: "options", | ||
| title: "Options", | ||
| description: "Recognized keys:\n group_id : group to add the item to (defaults to top group)\n column_values : {columnId: value} — auto-JSON-encoded\n create_labels_if_missing : bool — auto-create status/dropdown labels", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: false, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 5, | ||
| }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "{ create_item: {id, name, column_values:[{id,text,value}], …} }.", | ||
| errors: commonErrors, | ||
| examples: [ | ||
| { | ||
| title: "Create item with column values", | ||
| code: 'monday.createItem "my_monday" "1234567890" "New lead" {\n column_values: {status: {label: "Working on it"}, email: {email: "a@b.com", text: "a@b.com"}}\n}', | ||
| }, | ||
| ], | ||
| example: 'monday.createItem "my_monday" "1234567890" "New lead"', | ||
| }, | ||
| updateItem: { | ||
| title: "Update item (multiple columns)", | ||
| summary: "Patch several column values on an existing item at once", | ||
| description: "Runs `change_multiple_column_values(board_id, item_id, column_values)`. Only the columns you supply are changed. `column_values` is auto-JSON-encoded if passed as an object.", | ||
| group: "items", | ||
| action: "write", | ||
| icon: "edit-3", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: true, | ||
| since: "1.0.0", | ||
| tags: ["monday", "item", "update"], | ||
| parameters: [ | ||
| credentialParam, | ||
| boardIdParam, | ||
| itemIdParam, | ||
| { | ||
| name: "columnValues", | ||
| title: "Column values", | ||
| description: "Object of `{columnId: value}` to update. Values follow monday.com's per-column-type shape (e.g. `{status: {label: 'Done'}}`, `{email: {email, text}}`).", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: true, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 5, | ||
| }, | ||
| { | ||
| name: "options", | ||
| title: "Options", | ||
| description: "Recognized keys:\n create_labels_if_missing : bool — auto-create status/dropdown labels", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: false, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 2, | ||
| advanced: true, | ||
| }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "{ change_multiple_column_values: {id, name, column_values, …} }.", | ||
| errors: commonErrors, | ||
| example: 'monday.updateItem "my_monday" "1234567890" "1234567891" {status: {label: "Done"}}', | ||
| }, | ||
| changeColumnValue: { | ||
| title: "Change single column value", | ||
| summary: "Update exactly one column on an item", | ||
| description: "Runs `change_column_value(board_id, item_id, column_id, value)`. Use this when you want to touch exactly one column; prefer `updateItem` for multi-column patches.", | ||
| group: "items", | ||
| action: "write", | ||
| icon: "edit-3", | ||
| capability: "manage_options", | ||
| sideEffects: ["makes_http_call"], | ||
| idempotent: true, | ||
| since: "1.0.0", | ||
| tags: ["monday", "item", "column", "update"], | ||
| parameters: [ | ||
| credentialParam, | ||
| boardIdParam, | ||
| itemIdParam, | ||
| { | ||
| name: "columnId", | ||
| title: "Column ID", | ||
| description: "Column id (discover via `getBoard`).", | ||
| dataType: "string", | ||
| formInputType: "text", | ||
| required: true, | ||
| allowExpression: true, | ||
| placeholder: "status", | ||
| }, | ||
| { | ||
| name: "value", | ||
| title: "Value", | ||
| description: "Value for the column, following monday.com's per-type shape. Auto-JSON-encoded if passed as an object.", | ||
| dataType: "any", | ||
| formInputType: "json", | ||
| required: true, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 3, | ||
| }, | ||
| { | ||
| name: "options", | ||
| title: "Options", | ||
| description: "Recognized keys:\n create_labels_if_missing : bool", | ||
| dataType: "object", | ||
| formInputType: "json", | ||
| required: false, | ||
| allowExpression: true, | ||
| language: "json", | ||
| rows: 2, | ||
| advanced: true, | ||
| }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "{ change_column_value: {id, name, column_values, …} }.", | ||
| errors: commonErrors, | ||
| example: 'monday.changeColumnValue "my_monday" "1234567890" "1234567891" "status" {label: "Done"}', | ||
| }, | ||
| }; | ||
| // ── Exports: module metadata ─────────────────────────────────────────── | ||
| export const MondayModuleMetadata = { | ||
| slug: "monday", | ||
| title: "monday.com", | ||
| summary: "Boards, items, and column values — drive monday.com workflows via GraphQL", | ||
| description: "Create and update monday.com items, change column values, and browse boards from RobinPath scripts.\n\nAuthenticated via a **Personal API Token** from `<account>.monday.com/admin/integrations/api`. Store the token as a `monday` credential and pass the slug as the first argument to every method.\n\nmonday.com authenticates with a raw `Authorization` header (no `Bearer` prefix) — the module handles it; you just store the token.", | ||
| category: "project-management", | ||
| icon: "icon.svg", | ||
| color: "#ff3d57", | ||
| version: "0.2.0", | ||
| docsUrl: "https://docs.robinpath.com/modules/monday", | ||
| status: "stable", | ||
| requires: [], | ||
| minNodeVersion: "18.0.0", | ||
| credentialsType: CREDENTIAL_TYPE, | ||
| operationGroups: { | ||
| boards: { | ||
| title: "Boards", | ||
| description: "List and fetch boards, columns, and groups.", | ||
| order: 1, | ||
| }, | ||
| items: { | ||
| title: "Items", | ||
| description: "CRUD on rows within a board.", | ||
| order: 2, | ||
| }, | ||
| }, | ||
| methods: Object.keys(MondayFunctions), | ||
| }; | ||
| //# sourceMappingURL=monday.js.map |
| {"version":3,"file":"monday.js","sourceRoot":"","sources":["../src/monday.ts"],"names":[],"mappings":"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"} |
+20
-9
| { | ||
| "name": "@robinpath/monday", | ||
| "version": "0.1.2", | ||
| "version": "0.3.0", | ||
| "publishConfig": { | ||
@@ -23,12 +23,16 @@ "access": "public" | ||
| "peerDependencies": { | ||
| "@robinpath/core": ">=0.20.0" | ||
| "@robinpath/core": ">=0.40.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@robinpath/core": "^0.30.1", | ||
| "@robinpath/core": "^0.40.0", | ||
| "typescript": "^5.6.0" | ||
| }, | ||
| "description": "Monday.com module for RobinPath.", | ||
| "description": "monday.com GraphQL API v2 — boards, items, columns. Uses the encrypted credential vault for Personal API tokens.", | ||
| "keywords": [ | ||
| "monday", | ||
| "project management" | ||
| "project-management", | ||
| "kanban", | ||
| "boards", | ||
| "items", | ||
| "graphql" | ||
| ], | ||
@@ -38,7 +42,14 @@ "license": "MIT", | ||
| "category": "project-management", | ||
| "type": "integration", | ||
| "auth": "api-key", | ||
| "functionCount": 19, | ||
| "baseUrl": "https://api.monday.com" | ||
| "type": "module", | ||
| "auth": "credential-vault", | ||
| "credentialType": "monday", | ||
| "functionCount": 6, | ||
| "baseUrl": "https://api.monday.com/v2", | ||
| "language": "nodejs", | ||
| "platforms": [ | ||
| "cloud", | ||
| "cli", | ||
| "desktop" | ||
| ] | ||
| } | ||
| } |
+1
-1
@@ -22,3 +22,3 @@ # @robinpath/monday | ||
| ```bash | ||
| npm install @robinpath/monday | ||
| robinpath add @robinpath/monday | ||
| ``` | ||
@@ -25,0 +25,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
52743
1335.18%10
400%759
Infinity%2
100%