@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 +124 -56
- package/dist/index.d.ts +1 -1
- package/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/tools.json +667 -4464
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.
|
|
817
|
-
|
|
818
|
-
`
|
|
819
|
-
|
|
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
|
|
822
|
-
|
|
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
|
|
835
|
-
task that wants to return five
|
|
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
|
|
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
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
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
|
|
901
|
-
|
|
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
|
|
1035
|
-
|
|
1036
|
-
|
|
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),
|
|
1067
|
-
|
|
1068
|
-
the last row lands.
|
|
1069
|
-
`
|
|
1070
|
-
batch means *"the drafts are ready
|
|
1071
|
-
nothing about what has been sent.
|
|
1072
|
-
|
|
1073
|
-
**Sending** is separate
|
|
1074
|
-
`
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
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
|
-
`
|
|
1095
|
-
|
|
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`, `
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
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
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
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
|
|
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
|
|
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.
|
|
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:
|
|
34
|
-
const byName = new Map(
|
|
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(
|
|
45
|
+
function describe(fn) {
|
|
46
46
|
return {
|
|
47
|
-
name:
|
|
48
|
-
description: `${
|
|
49
|
-
inputSchema:
|
|
47
|
+
name: fn.name,
|
|
48
|
+
description: `${fn.method} ${fn.path}\n\n${fn.description}`,
|
|
49
|
+
inputSchema: fn.parameters,
|
|
50
50
|
annotations: {
|
|
51
|
-
readOnlyHint:
|
|
52
|
-
destructiveHint:
|
|
53
|
-
idempotentHint: ["GET", "PUT", "DELETE"].includes(
|
|
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(
|
|
63
|
+
function requestFor(fn, args) {
|
|
64
64
|
const remaining = { ...args };
|
|
65
|
-
const path =
|
|
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:
|
|
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
|
|
96
|
-
if (!
|
|
97
|
-
return failure(`unknown
|
|
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(
|
|
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
|
|
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:
|
|
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":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,oCAAoC,CAAC;AAc5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEzE,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,QAAQ,CACvB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED