@glie/mcp-polaris 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/index.js +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -63,7 +63,9 @@ approval Release Candidate flow), `polaris.agent.*`, `polaris.team.*`,
|
|
|
63
63
|
`open`, `transition`, `add_task`). N tickets can dedup onto one issue, and one issue
|
|
64
64
|
fans out into N tasks. A reply carries files through `attachment_ids`: upload each
|
|
65
65
|
one to `POST /api/tickets/:id/attachments` first (this server does not carry bytes),
|
|
66
|
-
then paste its `marker` into `body_md` to draw it inside the message.
|
|
66
|
+
then paste its `marker` into `body_md` to draw it inside the message. `reply` with
|
|
67
|
+
`internal: true` writes an internal NOTE instead: what you checked or suspect, in the
|
|
68
|
+
thread for whoever works the ticket next and never sent to the customer.
|
|
67
69
|
|
|
68
70
|
**Context, read-only.** `polaris.activity.list` (what happened),
|
|
69
71
|
`polaris.chat.get` / `polaris.chat.messages` (comments agents left on a scope),
|
package/dist/index.js
CHANGED
|
@@ -30,7 +30,7 @@ var INLINE_MIMES = new Set([
|
|
|
30
30
|
]);
|
|
31
31
|
|
|
32
32
|
// ../../src/mcp/index.ts
|
|
33
|
-
var VERSION = "0.
|
|
33
|
+
var VERSION = "0.21.0";
|
|
34
34
|
var FRAMEWORK_KEY_DOC = "optional \u2014 a key from polaris.framework.list. Leave it out when none applies: a framework is for founding a large domain, and most milestones take none. An unknown key is refused (400) with the keys that exist.";
|
|
35
35
|
var BASE = process.env.POLARIS_URL ?? "http://127.0.0.1:7843";
|
|
36
36
|
var TOKEN = process.env.POLARIS_TOKEN ?? "";
|
|
@@ -118,6 +118,7 @@ var INSTRUCTIONS = [
|
|
|
118
118
|
'\u2022 "This milestone was only a hunch" \u2192 polaris.milestone.demote \u2014 back to the idea list, only while it has no tasks (human-only)',
|
|
119
119
|
`\u2022 "Triage support / what's waiting?" \u2192 polaris.ticket.list (status, project_key) \u2014 P1 first`,
|
|
120
120
|
'\u2022 "Reply to a customer / hand off" \u2192 polaris.ticket.reply then polaris.ticket.pass(to)',
|
|
121
|
+
'\u2022 "Leave the next person a note" \u2192 polaris.ticket.reply with internal=true \u2014 what you checked or suspect, in the thread, never sent to the customer (it moves no counter, no ball, no status)',
|
|
121
122
|
'\u2022 "Turn a report into work" \u2192 polaris.ticket.frame_issue \u2192 polaris.issue.add_task \xD7N (framing is HUMAN-only; the helpdesker proposes it)',
|
|
122
123
|
'\u2022 "Same bug reported again" \u2192 polaris.ticket.link_issue (dedup onto the open issue; HUMAN-only) \u2192 say we already have it \u2192 close the duplicate ticket',
|
|
123
124
|
"",
|
|
@@ -445,7 +446,7 @@ var TOOLS = [
|
|
|
445
446
|
},
|
|
446
447
|
{
|
|
447
448
|
name: "polaris.task.list",
|
|
448
|
-
description:
|
|
449
|
+
description: 'Find tasks \u2014 the agent\'s entry point. Pass assignee_agent_id="self" (or assignee_human_id="self" for a human) to get what is YOURS; add status=dev (etc.) to see only active work. Other filters: milestone_id (or "none" for the standalone tasks, which have no milestone), product_key, team, and q to find a task or creative by its name or by the title it publishes with. Each row carries `published_title`.',
|
|
449
450
|
inputSchema: objSchema({
|
|
450
451
|
status: strSchema("comma-separated subset of: draft,backlog,dev,test,approval,release,done,canceled"),
|
|
451
452
|
milestone_id: strSchema('a milestone id, or "none" for the standalone tasks (no milestone)'),
|
|
@@ -453,6 +454,7 @@ var TOOLS = [
|
|
|
453
454
|
team: strSchema("dev|mkt"),
|
|
454
455
|
assignee_agent_id: strSchema('agent id, or "self" for the calling agent'),
|
|
455
456
|
assignee_human_id: strSchema('human id, or "self" for the calling human'),
|
|
457
|
+
q: strSchema("words to find in the task's name or published title (article title, or the cover's title " + "of the newest ready version) \u2014 every word must appear, in any order; case and accents " + 'are ignored. "#2876" also matches the task with that id.'),
|
|
456
458
|
limit: intSchema()
|
|
457
459
|
}),
|
|
458
460
|
call: async (args) => {
|
|
@@ -464,6 +466,7 @@ var TOOLS = [
|
|
|
464
466
|
"team",
|
|
465
467
|
"assignee_agent_id",
|
|
466
468
|
"assignee_human_id",
|
|
469
|
+
"q",
|
|
467
470
|
"limit"
|
|
468
471
|
]) {
|
|
469
472
|
const v = args[k];
|
|
@@ -697,12 +700,17 @@ var TOOLS = [
|
|
|
697
700
|
type: "array",
|
|
698
701
|
items: { type: "integer" },
|
|
699
702
|
description: "Ids from the attachment upload above (or from ticket.attachment_list, where sent=false). They ride on THIS message and become visible with it."
|
|
703
|
+
},
|
|
704
|
+
internal: {
|
|
705
|
+
type: "boolean",
|
|
706
|
+
description: "true writes an INTERNAL NOTE instead of a reply: it lands in the thread for whoever works the ticket next (what you checked, what you suspect, what you did elsewhere) and is never sent to the customer. A note is not part of the conversation, so it moves no counter, no ball and no status. Always on the team side."
|
|
700
707
|
}
|
|
701
708
|
}, ["id", "body_md"]),
|
|
702
709
|
call: async (args) => (await apiCall("POST", `/api/tickets/${args.id}/messages`, {
|
|
703
710
|
body_md: args.body_md,
|
|
704
711
|
side: args.side,
|
|
705
|
-
attachment_ids: args.attachment_ids
|
|
712
|
+
attachment_ids: args.attachment_ids,
|
|
713
|
+
internal: args.internal
|
|
706
714
|
})).body
|
|
707
715
|
},
|
|
708
716
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glie/mcp-polaris",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Model Context Protocol (stdio) server exposing Polaris, glie's ops platform, as native tools in Claude Code and any MCP client.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "glie <carlos@glie.ai>",
|