@talqing/mcp 0.2.0 → 0.3.1

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/SKILL.md CHANGED
@@ -624,7 +624,11 @@ instead.
624
624
  `export default async function handler(input)`, where `input` is
625
625
  `{args, tooldata, userdata, system_vars, vars, secrets}`, and return an object.
626
626
  The sandbox has `console` and a guarded `fetch` for public http(s) URLs — no
627
- Node APIs, no imports.
627
+ Node APIs, no imports. **That `fetch` is not how you call an API.** A plain
628
+ request/response call is an `http` operation: it costs no isolate, and the
629
+ person who owns this tool can read and edit it in the editor rather than
630
+ reading your TypeScript. Reach for `fetch` only for what `http` cannot say —
631
+ a second call that depends on the first, or a non-JSON response.
628
632
 
629
633
  That input object is the whole interface: a code operation has **no template
630
634
  syntax**. Write `input.system_vars.now`, never `{{system_vars.now}}` — braces
@@ -813,15 +817,14 @@ message, draft an opening line, pull a field out of a document.
813
817
  **not** read `{{system_vars.human_phone_number}}` / `.agent_phone_number` /
814
818
  `.direction` — there is no call.
815
819
  - **`llm`** — one model, with the same `fallback`, `reasoning_effort`,
816
- `priority` and `builtin_tools` an agent's LLM has. There is no `stt`, `tts`,
817
- `realtime`, `greeting`, `turn_handling`, `avatar`, `handoffs`, `recording`,
818
- `analysis`, `kb_ids` or lifecycle hook — a task has nobody to hear, nobody to
819
- greet, nothing to hand over and one turn to hook.
820
+ `priority` and `builtin_tools` an agent's LLM has. A provider tool runs inside
821
+ a step rather than as one, so it costs no steps and real seconds. There is no
822
+ `stt`, `tts`, `realtime`, `greeting`, `turn_handling`, `avatar`, `handoffs`,
823
+ `recording`, `analysis`, `kb_ids` or lifecycle hook a task has nobody to
824
+ hear, nobody to greet, nothing to hand over and one turn to hook.
820
825
  - **`tools`** / **`mcps`** — exactly an agent's, attached by id or defined
821
- inline. **A task never pins a tool version**: republishing a tool changes
822
- every task that uses it, immediately, with no step in between. That is
823
- defensible for a bounded job and would not be for a live call, which is why
824
- agents pin and tasks do not.
826
+ inline, and pinned by publish exactly as an agent's are: republishing a tool
827
+ does not change a published task until that task is published again.
825
828
  - **`vars`** — the task's **inputs**, declared exactly as an agent's variables
826
829
  are: a `name`, a `description`, an optional `default` and `required`. A run
827
830
  supplies values by name; one it omits falls back to the `default`, and a
@@ -831,25 +834,39 @@ message, draft an opening line, pull a field out of a document.
831
834
  agent, whose key space is open.
832
835
  - **`output`** — a flat list of the fields the model must produce, each with a
833
836
  `name`, a `type` (`string`, `boolean`, `integer` or `number`) and a
834
- `description`. At least one, at most 25. No arrays and no nested objects: a
835
- task that wants to return five talking points returns one string containing
836
- them.
837
+ `description`. At most 25, and at least one **to publish** a draft may have
838
+ none. No arrays and no nested objects: a task that wants to return five
839
+ talking points returns one string containing them.
837
840
  - **`max_steps`** (default 25, max 50) — how many LLM → tools → LLM **rounds**
838
841
  the run may take. A round, not a tool call: four tools in one reply cost one
839
842
  step. This is the runaway-loop guard.
840
- - **`timeout_seconds`** (default 120, max 600) — the real time budget.
843
+ - **`timeout_seconds`** (default 300, max 600) — the real time budget.
841
844
 
842
845
  A name may not appear in both `vars` and `output`: a run's inputs and its output
843
846
  are read side by side, so a collision would make one of the two unreachable.
844
847
 
845
- **There is no draft and no publish step.** One config, strict at save: an
846
- invalid one is refused with a 400 listing every problem and nothing is stored,
847
- so a task that exists can always run. An edit takes effect on the next run with
848
- nothing in between there are no versions, so there is no earlier wording to go
849
- back to and nothing records which definition produced an earlier run.
850
- `create_task` and `update_task` also return **`warnings`**: the problems that
851
- are real but not fatal, such as a prompt reading a variable nothing declares.
852
- There is no publish screen to show them on, so read them where they are.
848
+ ### Draft, publish, versions
849
+
850
+ **A task has the same lifecycle an agent has**, and the same four functions.
851
+ `create_task` and `update_task` write the **draft**, checked only for what a
852
+ half-written task can be judged on so a task saves before it has a model key,
853
+ a prompt or an output field, and the person can keep building. `publish_task`
854
+ freezes that draft as an immutable version, pins every attached tool to the
855
+ version live at that moment, and makes it what runs. `get_task_version` reads a
856
+ frozen one back and `rollback_task_version` puts one back into production,
857
+ replacing the draft.
858
+
859
+ `validate_task` is the publish-grade check without the publish: a workspace API
860
+ key for the model, at least one `output` field, the attached tools' operation
861
+ trees, and the email batches already drafting with this task. Run it before
862
+ `publish_task` — its `errors` are what a publish would refuse with, and its
863
+ `warnings` (a prompt reading a variable nothing declares, a task with no prompt)
864
+ are worth reporting but never block.
865
+
866
+ **Build order:** create the draft → write the prompt, `vars` and `output` →
867
+ `run_task` with `version: "draft"` to try it → fix → `validate_task` →
868
+ `publish_task` **when the person asks you to**. Publishing is their call, not
869
+ yours: it changes what every run and every live email batch does.
853
870
 
854
871
  ### The output tool
855
872
 
@@ -872,6 +889,11 @@ about what belongs there.
872
889
  their secrets, the MCP servers spend their credits, and the model spends their
873
890
  tokens. A task that books, charges or sends will do so.
874
891
 
892
+ It runs the published version unless `version` says otherwise. Pass
893
+ `version: "draft"` to try the unpublished config — that is the loop you build
894
+ in, and it is refused with the publish errors when the draft does not hold
895
+ together.
896
+
875
897
  The response is the whole run — `output`, a `trace` of every tool call and
876
898
  everything the model wrote (secrets redacted, long fields truncated and marked),
877
899
  `steps_used` against `max_steps`, the tokens each model spent and
@@ -897,9 +919,16 @@ problem it is:
897
919
  `no_output` precisely so nobody rewrites a prompt that was never the problem.
898
920
  - `timeout` — `timeout_seconds` elapsed.
899
921
  - `provider_error` — the model or an MCP server failed. Not yours to fix.
900
- - `configuration` — yours to tell them: a missing BYOK key, a deleted or
901
- unpublished tool, an integration whose credential no longer resolves.
922
+ - `configuration` — yours to tell them: a missing BYOK key, a tool version this
923
+ publish pinned that has since been deleted, an integration whose credential no
924
+ longer resolves.
902
925
  - `platform` — ours.
926
+ - `canceled` — a deploy or restart stopped the run. A batch row is drafted again
927
+ automatically; a run started by hand is run again.
928
+
929
+ Each run records `task_version` — which published definition ran it, and null
930
+ for a `version: "draft"` run. That is what makes two runs either side of an edit
931
+ tell apart.
903
932
 
904
933
  Task runs are **not** in the Observability charts, which are built on calls and
905
934
  conversations. `list_task_runs` is where a task's own history lives.
@@ -1031,9 +1060,11 @@ afterwards will not forgive us:
1031
1060
  opted in. This runs on *their* Resend account under *their* agreement.
1032
1061
  - **Nothing is sent that they have not reviewed and selected.** Creating a batch
1033
1062
  only drafts.
1034
- - **Every row runs the task as it stands right now.** Editing it while a batch
1035
- is drafting changes every row generated after that moment, and there is no way
1036
- to get the old wording back.
1063
+ - **Every row runs the task's CURRENT PUBLISHED version**, re-read every pass, so
1064
+ publishing mid-batch changes every row drafted after that moment. Which version
1065
+ wrote which rows is on the batch as `drafted_versions`, and
1066
+ `redraft_email_batch_recipients` with `selection: "stale_version"` is how the
1067
+ older ones are rewritten.
1037
1068
  - **Talqing reports what it sent, not what landed.** Deliveries, bounces and
1038
1069
  spam complaints live in the Resend dashboard, and watching them there is how a
1039
1070
  sending domain survives.
@@ -1063,26 +1094,46 @@ no tokens spent. Flag blank cells in a required column before creating.
1063
1094
 
1064
1095
  ### Two jobs, and a human between them
1065
1096
 
1066
- **Drafting** starts on `start_at` (or immediately), honours `calling_window` on
1067
- the batch's `timezone`, runs `max_concurrency` rows at a time, and stops when
1068
- the last row lands. Its `status` is about drafting and nothing else
1069
- `scheduled`, `drafting`, `paused`, `drafted`, `canceled`, `failed`. A `drafted`
1070
- batch means *"the drafts are ready to review"*, never "finished": it says
1071
- nothing about what has been sent.
1072
-
1073
- **Sending** is separate and only ever happens when a person asks.
1074
- `send_email_batch_recipients` takes **at most 50 rows, named one by one**. There
1075
- is no `selection` shorthand on it, no bulk endpoint, and there must not be one:
1076
- a 5 000-row batch cannot leave the building without a hundred deliberate calls,
1077
- each of which should follow reading the fifty drafts it covers. That friction is
1078
- the only structural safeguard this feature has **do not offer to work around
1079
- it.** `skip`, `restore` and `retry` *do* take `selection: "all_eligible"`,
1080
- because they are reversible and mailing strangers is not.
1081
-
1082
- Each send may override `from_email` / `from_name` / `reply_to` for that call
1083
- alone; the batch's own default is unchanged. The Resend account itself is not
1097
+ **Drafting** starts on `start_at` (or immediately), runs `draft_concurrency` rows
1098
+ at a time with at least `draft_gap_seconds` between two starts, and stops when
1099
+ the last row lands. It has no business-hours window: nobody receives a draft. Its
1100
+ `status` is about drafting and nothing else — `scheduled`, `drafting`, `paused`,
1101
+ `drafted`, `canceled`, `failed`. A `drafted` batch means *"the drafts are ready
1102
+ to review"*, never "finished": it says nothing about what has been sent.
1103
+
1104
+ **Sending** is separate, only ever happens when a person asks, and is its own
1105
+ row. `create_email_send` takes `recipient_ids` or `selection: "all_drafts"` and
1106
+ returns a **send** you can steer:
1107
+
1108
+ - `start_at` schedules it, `window` (on its own `timezone`) holds it to business
1109
+ hours, `send_gap_seconds` is the minimum wait between two emails (1 second to
1110
+ 1 hour) and `send_daily_cap` bounds how many may leave per local day. Anything
1111
+ omitted comes from the batch.
1112
+ - `pause_email_send` stops on the next email; `resume_email_send` carries on.
1113
+ - `cancel_email_send` gives **every unsent row back as a draft**, ready for
1114
+ another send. It is also the ONLY way to change what a scheduled send
1115
+ contains: a send's rows are fixed when it is created, and there is no verb for
1116
+ pulling rows out of one.
1117
+ - `get_email_send` carries `next_send_at`, which is how "waiting for Monday" is
1118
+ told apart from "stuck", and covers a start time, a shut window and a spent
1119
+ daily cap alike.
1120
+
1121
+ **The safeguard here is a RATE, not a row count.** `send_daily_cap` (200 by
1122
+ default, per batch, `null` for uncapped) is what stands between a 5 000-row list
1123
+ and a sending domain nobody trusts again. Before creating a send, say how many
1124
+ emails it is and roughly how long it will take at the pace it has — and if the
1125
+ user asks to raise or remove the cap, say what it is for rather than just doing
1126
+ it.
1127
+
1128
+ Each send may override `from_email` / `from_name` / `reply_to` for itself alone;
1129
+ the batch's own default is unchanged. The Resend account itself is not
1084
1130
  overridable — a different account is a different batch.
1085
1131
 
1132
+ Every email carries `List-Unsubscribe: <mailto:…?subject=unsubscribe>`, pointed
1133
+ at the send's `reply_to` or its `from_email`. There is no one-click unsubscribe
1134
+ and no suppression list, so an opt-out arrives as a reply in the tenant's own
1135
+ inbox and honouring it is theirs to do.
1136
+
1086
1137
  ### Fixing rows
1087
1138
 
1088
1139
  `list_email_batch_recipients` returns each row's `columns` (the merged space),
@@ -1091,8 +1142,13 @@ null when it can. `patch_email_batch_recipient` edits cells: the edit is stored
1091
1142
  apart from what the model wrote, merged last, and an empty value clears it. That
1092
1143
  is the answer to a row whose task returned `null` for the address — type one in.
1093
1144
 
1094
- `retry_email_batch_recipients` re-drafts rows whose drafting failed, and is the
1095
- one action that revives a batch that already finished drafting.
1145
+ `redraft_email_batch_recipients` writes rows again from scratch and is the one
1146
+ action that revives a batch that already finished drafting. Its `selection` is
1147
+ `failed` (drafting failed), `stale_version` (an older published version of the
1148
+ task wrote them), `not_sent`, or `all` — which names every row it refuses.
1149
+ **Each redrafted row runs the task again and is billed again**, so say the row
1150
+ count before running `all`. A person's edited cells survive unless
1151
+ `clear_overrides` is set.
1096
1152
 
1097
1153
  **One address is mailed at most once per batch**, enforced when the row is
1098
1154
  claimed for sending: the second row settles `skipped` with
@@ -1101,12 +1157,18 @@ ours — Resend keeps one and auto-suppresses hard bounces and complaints.
1101
1157
 
1102
1158
  ### Watching it
1103
1159
 
1104
- `get_email_batch` carries live counts, `failure_reason`, `next_draft_at` (which
1105
- is how "waiting for Monday" is told apart from "stuck") and the drafting cost so
1106
- far. A batch that stops itself did so after ten consecutive drafting failures,
1107
- or on the first `configuration` failure (a deleted task, a field map an edit
1108
- broke) or the first account-level send failure (a revoked key, an unverified
1109
- domain) — because those will fail identically for every remaining row.
1160
+ `get_email_batch` carries live counts, `failure_reason`, `sent_today` (against
1161
+ `send_daily_cap`), `drafted_versions` and the drafting cost so far. A batch that
1162
+ stops itself did so after ten consecutive drafting failures, or on the first
1163
+ `configuration` failure a deleted task, a field map an edit broke — because
1164
+ those will fail identically for every remaining row.
1165
+
1166
+ **A send fails on its own, and never takes the batch with it.** Ten consecutive
1167
+ provider failures, or one account-level refusal (a revoked key, an unverified
1168
+ domain, an exhausted quota), stop that send and return its untouched rows to the
1169
+ review table as drafts. Fix the cause and create another send; the drafts are
1170
+ still there. In the other direction, pausing or cancelling the *batch* stops
1171
+ drafting and does not touch a send that is already scheduled or going out.
1110
1172
 
1111
1173
  ## Knowledge bases
1112
1174
 
@@ -1258,11 +1320,17 @@ and the final `userdata` usually name the cause.
1258
1320
  against rules you cannot check by reading a draft, so **never report a
1259
1321
  validation result you did not get back from the operation**, and never answer
1260
1322
  a request to validate by reasoning about the config instead of calling it.
1323
+ - **Fetch the shape before you call.** Your tools carry a name and a description
1324
+ but not their arguments: `describe_function('name')` returns the argument
1325
+ schema, and you call it before the first time you use a function. Ask for
1326
+ everything a step needs in one go — these can be called side by side — and
1327
+ once you have a shape it stays good for the rest of the conversation. Two
1328
+ functions carry their own shape because they would otherwise be uncallable:
1329
+ `describe_function` itself, and `describe_schema`.
1261
1330
  - **Do not invent fields.** Author tools and configs through the exact schemas
1262
- the operations declare. A field the schema does not have is rejected. An
1263
- argument whose description ends in `describe_schema('X')` carries a
1264
- placeholder instead of its shape — fetch it before writing one, never
1265
- reconstruct it from memory.
1331
+ you fetched. A field the schema does not have is rejected, and an argument
1332
+ whose description ends in `describe_schema('X')` carries a placeholder instead
1333
+ of its type — fetch that too, never reconstruct it from memory.
1266
1334
  - **Say what the platform does not do.** Decline capabilities that do not exist
1267
1335
  yet rather than approximating them.
1268
1336
 
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Talqing MCP server.
4
4
  *
5
- * Serves the platform's agent-building operations to any MCP client and
5
+ * Serves the platform's agent-building functions to any MCP client and
6
6
  * executes each call against the Talqing API with a personal access token. The
7
7
  * tool list is `tools.json` and the instructions are `SKILL.md` — both generated
8
8
  * from the same source as our own CoPilot's tools and prompt, so an agent
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Talqing MCP server.
4
4
  *
5
- * Serves the platform's agent-building operations to any MCP client and
5
+ * Serves the platform's agent-building functions to any MCP client and
6
6
  * executes each call against the Talqing API with a personal access token. The
7
7
  * tool list is `tools.json` and the instructions are `SKILL.md` — both generated
8
8
  * from the same source as our own CoPilot's tools and prompt, so an agent
@@ -28,10 +28,10 @@ function required(name, hint) {
28
28
  throw new Error(`${name} is not set — ${hint}`);
29
29
  return value;
30
30
  }
31
- const BASE_URL = required("TALQING_BASE_URL", "set it to your Talqing API URL, e.g. https://api.your-talqing-host.com").replace(/\/+$/, "");
31
+ const BASE_URL = required("TALQING_BASE_URL", "set it to your region's Talqing API URL, e.g. https://api.in.talqing.com").replace(/\/+$/, "");
32
32
  const API_KEY = required("TALQING_API_KEY", "create a personal access token in the dashboard under Organization → API Tokens");
33
- const { tools: operations } = JSON.parse(readPackageFile("tools.json"));
34
- const byName = new Map(operations.map((operation) => [operation.name, operation]));
33
+ const { tools: functions } = JSON.parse(readPackageFile("tools.json"));
34
+ const byName = new Map(functions.map((fn) => [fn.name, fn]));
35
35
  /* Read, not restated. A client shows this version when it reports the server it
36
36
  connected to, and a second copy of the number is one `npm version` away from
37
37
  being wrong. */
@@ -42,15 +42,15 @@ function instructions() {
42
42
  const end = markdown.indexOf("\n---", 3);
43
43
  return (markdown.startsWith("---") && end !== -1 ? markdown.slice(end + 4) : markdown).trim();
44
44
  }
45
- function describe(operation) {
45
+ function describe(fn) {
46
46
  return {
47
- name: operation.name,
48
- description: `${operation.method} ${operation.path}\n\n${operation.description}`,
49
- inputSchema: operation.parameters,
47
+ name: fn.name,
48
+ description: `${fn.method} ${fn.path}\n\n${fn.description}`,
49
+ inputSchema: fn.parameters,
50
50
  annotations: {
51
- readOnlyHint: operation.read_only,
52
- destructiveHint: operation.method === "DELETE",
53
- idempotentHint: ["GET", "PUT", "DELETE"].includes(operation.method),
51
+ readOnlyHint: fn.read_only,
52
+ destructiveHint: fn.method === "DELETE",
53
+ idempotentHint: ["GET", "PUT", "DELETE"].includes(fn.method),
54
54
  openWorldHint: false,
55
55
  },
56
56
  };
@@ -60,9 +60,9 @@ function describe(operation) {
60
60
  * placeholders in the path are path parameters, `body` is the JSON body, and
61
61
  * everything else left over is a query parameter.
62
62
  */
63
- function requestFor(operation, args) {
63
+ function requestFor(fn, args) {
64
64
  const remaining = { ...args };
65
- const path = operation.path.replace(/\{([^}]+)\}/g, (_match, name) => {
65
+ const path = fn.path.replace(/\{([^}]+)\}/g, (_match, name) => {
66
66
  const value = remaining[name];
67
67
  if (value === undefined || value === null)
68
68
  throw new Error(`${name} is required`);
@@ -80,7 +80,7 @@ function requestFor(operation, args) {
80
80
  if (body !== undefined)
81
81
  headers["content-type"] = "application/json";
82
82
  return new Request(url, {
83
- method: operation.method,
83
+ method: fn.method,
84
84
  headers,
85
85
  body: body === undefined ? undefined : JSON.stringify(body),
86
86
  });
@@ -92,12 +92,12 @@ function failure(message, errors = []) {
92
92
  };
93
93
  }
94
94
  async function call(name, args) {
95
- const operation = byName.get(name);
96
- if (!operation)
97
- return failure(`unknown operation: ${name}`);
95
+ const fn = byName.get(name);
96
+ if (!fn)
97
+ return failure(`unknown function: ${name}`);
98
98
  let response;
99
99
  try {
100
- response = await fetch(requestFor(operation, args));
100
+ response = await fetch(requestFor(fn, args));
101
101
  }
102
102
  catch (error) {
103
103
  // A bad argument (missing path parameter) and an unreachable API both land
@@ -107,14 +107,14 @@ async function call(name, args) {
107
107
  const text = await response.text();
108
108
  if (!response.ok) {
109
109
  // Errors already carry {detail: {message, errors}} — pass them through so
110
- // one error shape reaches the model whichever operation failed.
110
+ // one error shape reaches the model whichever function failed.
111
111
  return { content: [{ type: "text", text: text || response.statusText }], isError: true };
112
112
  }
113
113
  return { content: [{ type: "text", text: text || "{}" }] };
114
114
  }
115
115
  const server = new Server({ name: "talqing", version: VERSION }, { capabilities: { tools: {} }, instructions: instructions() });
116
116
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
117
- tools: operations.map(describe),
117
+ tools: functions.map(describe),
118
118
  }));
119
119
  server.setRequestHandler(CallToolRequestSchema, async (request) => call(request.params.name, (request.params.arguments ?? {})));
120
120
  await server.connect(new StdioServerTransport());
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talqing/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "MCP server for building Talqing AI voice, video and text agents from Claude Code, Codex, or any MCP client.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://talqing.com",