@zackbart/connecta 0.12.2 → 0.14.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +324 -0
  2. package/README.md +4 -1
  3. package/dist/catalog-service.d.ts +41 -0
  4. package/dist/catalog-service.d.ts.map +1 -1
  5. package/dist/catalog-service.js +127 -11
  6. package/dist/catalog-service.js.map +1 -1
  7. package/dist/connectors/api.d.ts +5 -4
  8. package/dist/connectors/api.d.ts.map +1 -1
  9. package/dist/connectors/api.js +5 -1
  10. package/dist/connectors/api.js.map +1 -1
  11. package/dist/connectors/remote-mcp.d.ts +5 -4
  12. package/dist/connectors/remote-mcp.d.ts.map +1 -1
  13. package/dist/connectors/remote-mcp.js.map +1 -1
  14. package/dist/execute.d.ts.map +1 -1
  15. package/dist/execute.js +12 -10
  16. package/dist/execute.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/meta-tools.d.ts.map +1 -1
  21. package/dist/meta-tools.js +5 -4
  22. package/dist/meta-tools.js.map +1 -1
  23. package/dist/providers/cloudflare.d.ts +53 -0
  24. package/dist/providers/cloudflare.d.ts.map +1 -0
  25. package/dist/providers/cloudflare.js +1385 -0
  26. package/dist/providers/cloudflare.js.map +1 -0
  27. package/dist/providers/linear.d.ts +44 -0
  28. package/dist/providers/linear.d.ts.map +1 -0
  29. package/dist/providers/linear.js +243 -0
  30. package/dist/providers/linear.js.map +1 -0
  31. package/dist/providers/mixpanel.d.ts +21 -0
  32. package/dist/providers/mixpanel.d.ts.map +1 -0
  33. package/dist/providers/mixpanel.js +191 -0
  34. package/dist/providers/mixpanel.js.map +1 -0
  35. package/dist/providers/notion.d.ts +39 -0
  36. package/dist/providers/notion.d.ts.map +1 -0
  37. package/dist/providers/notion.js +1625 -0
  38. package/dist/providers/notion.js.map +1 -0
  39. package/dist/providers/stripe.d.ts +37 -0
  40. package/dist/providers/stripe.d.ts.map +1 -0
  41. package/dist/providers/stripe.js +232 -0
  42. package/dist/providers/stripe.js.map +1 -0
  43. package/dist/skills.d.ts +7 -9
  44. package/dist/skills.d.ts.map +1 -1
  45. package/dist/skills.js +58 -24
  46. package/dist/skills.js.map +1 -1
  47. package/dist/types.d.ts +26 -6
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/documentation/cloudflare.md +268 -0
  52. package/documentation/code-mode.md +6 -6
  53. package/documentation/connectors.md +122 -4
  54. package/documentation/linear.md +144 -0
  55. package/documentation/meta-tools.md +91 -8
  56. package/documentation/mixpanel.md +77 -0
  57. package/documentation/notion.md +233 -0
  58. package/documentation/stripe.md +202 -0
  59. package/ethos.md +8 -3
  60. package/package.json +21 -1
  61. package/src/catalog-service.ts +174 -10
  62. package/src/connectors/api.ts +10 -4
  63. package/src/connectors/remote-mcp.ts +5 -3
  64. package/src/execute.ts +18 -10
  65. package/src/index.ts +1 -0
  66. package/src/meta-tools.ts +10 -4
  67. package/src/providers/cloudflare.ts +1696 -0
  68. package/src/providers/linear.ts +301 -0
  69. package/src/providers/mixpanel.ts +228 -0
  70. package/src/providers/notion.ts +1879 -0
  71. package/src/providers/stripe.ts +306 -0
  72. package/src/skills.ts +64 -23
  73. package/src/types.ts +27 -6
  74. package/src/version.ts +1 -1
  75. package/templates/node/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion.js","sourceRoot":"","sources":["../../src/providers/notion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type RemoteMcpAuth } from "../connectors/remote-mcp.js";
2
+ import type { Connector } from "../types.js";
3
+ /**
4
+ * Which Stripe environment this instance speaks to. Required, and deliberately
5
+ * undefaulted: there is no safe guess between an account that moves real money
6
+ * and one that does not.
7
+ */
8
+ export type StripeMode = "production" | "sandbox";
9
+ /** Stripe publishes one hosted MCP endpoint; the credential selects the mode. */
10
+ export declare const STRIPE_MCP_ENDPOINT = "https://mcp.stripe.com/";
11
+ export interface StripeOptions {
12
+ /**
13
+ * Which Stripe environment this connector reaches. Shapes the title,
14
+ * description, guide, and admission budget, and is checked against a
15
+ * recognizable key prefix in `auth` headers.
16
+ */
17
+ mode: StripeMode;
18
+ /** Human-readable display name; defaults to "Stripe (<mode>)". */
19
+ title?: string;
20
+ /** Which business this account bills for, and what it may be asked. */
21
+ purpose: string;
22
+ /** OAuth by default; static headers support restricted API keys. */
23
+ auth?: RemoteMcpAuth;
24
+ /**
25
+ * Connect platform only: act as this connected account (`acct_...`) by
26
+ * sending Stripe's `Stripe-Account` header. Stripe does not support OAuth on
27
+ * connected-account calls, so this requires `headers` auth.
28
+ */
29
+ connectedAccount?: string;
30
+ /** Account-specific conventions appended to the maintained provider guide. */
31
+ instructions?: string;
32
+ /** Connector-specific inline result limit; omit to inherit the deployment. */
33
+ maxResultBytes?: number;
34
+ }
35
+ /** A maintained Stripe hosted-MCP connection. */
36
+ export declare function stripe(id: string, options: StripeOptions): Connector;
37
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAElD,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,EAAE,UAAU,CAAC;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqOD,iDAAiD;AACjD,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAgCpE"}
@@ -0,0 +1,232 @@
1
+ import { remoteMcp, } from "../connectors/remote-mcp.js";
2
+ /** Stripe publishes one hosted MCP endpoint; the credential selects the mode. */
3
+ export const STRIPE_MCP_ENDPOINT = "https://mcp.stripe.com/";
4
+ /**
5
+ * Stripe documents no MCP-specific rate limit, so this transcribes the account
6
+ * limit the MCP server spends: 100 requests per second in live mode, 25 in a
7
+ * sandbox (https://docs.stripe.com/rate-limits). The concurrency bound is
8
+ * connecta's own conservative choice — Stripe documents that per-account and
9
+ * per-endpoint concurrency limits exist and surface as `429` with a
10
+ * `Stripe-Rate-Limited-Reason` of `global-concurrency` or
11
+ * `endpoint-concurrency`, but publishes no number. Declaring `maxConcurrency`
12
+ * is also what earns the right to the queue settings beside it.
13
+ */
14
+ const STRIPE_ADMISSION = {
15
+ production: {
16
+ rules: [
17
+ {
18
+ maxConcurrency: 8,
19
+ queueTimeoutMs: 5_000,
20
+ retryAfterMs: 1_000,
21
+ budget: { kind: "rolling-window", maxCalls: 100, windowMs: 1_000 },
22
+ },
23
+ ],
24
+ },
25
+ sandbox: {
26
+ rules: [
27
+ {
28
+ maxConcurrency: 4,
29
+ queueTimeoutMs: 5_000,
30
+ retryAfterMs: 1_000,
31
+ budget: { kind: "rolling-window", maxCalls: 25, windowMs: 1_000 },
32
+ },
33
+ ],
34
+ },
35
+ };
36
+ /**
37
+ * Tools whose official contract is observational rather than mutating.
38
+ *
39
+ * `stripe_api_read` is on this list because Stripe documents it as the `GET`
40
+ * half of the generic pair — the tool itself is the read boundary, not the
41
+ * endpoint an agent names inside it.
42
+ */
43
+ const READ_ONLY_TOOLS = new Set([
44
+ "stripe_api_search",
45
+ "stripe_api_details",
46
+ "stripe_api_read",
47
+ "get_stripe_account_info",
48
+ "get_balance_summary",
49
+ "search_stripe_documentation",
50
+ "stripe_implementation_planner",
51
+ ]);
52
+ /**
53
+ * The maintained write catalog. `"destructive"` tools modify or remove state
54
+ * that already exists; `"additive"` ones only bring something new into being.
55
+ * Both leave the read-only path — the distinction only decides whether the
56
+ * connection asserts `destructiveHint`, which shapes the host's approval copy.
57
+ *
58
+ * `create_refund` is filed destructive despite its name: it reverses a
59
+ * settled charge and moves money back out, which is a mutation of something
60
+ * that already exists, not a fresh object appearing beside it.
61
+ */
62
+ const WRITE_TOOLS = new Map([
63
+ ["stripe_api_write", "destructive"],
64
+ ["create_refund", "destructive"],
65
+ ["stripe_report", "additive"],
66
+ ["send_stripe_mcp_feedback", "additive"],
67
+ ]);
68
+ /**
69
+ * Fill in what the downstream leaves unsaid; never argue with what it says.
70
+ *
71
+ * Silence is what a vetted classification is for, and an explicit downstream
72
+ * annotation wins in both directions. `destructiveHint: true` or
73
+ * `readOnlyHint: false` on an allowlisted read name is the downstream telling
74
+ * us this release's allowlist is stale; `readOnlyHint: true` on a name no
75
+ * release has classified says the same thing from the other side. The single
76
+ * place a vetted verdict still overrides the downstream is a name this release
77
+ * reviewed and filed destructive: there connecta knows what the tool does, and
78
+ * a claim to the contrary is a downstream bug rather than news
79
+ * ([#310](https://github.com/zackbart/connecta/issues/310)).
80
+ */
81
+ function vettedSafety(definition) {
82
+ const downstream = definition.annotations ?? {};
83
+ if (READ_ONLY_TOOLS.has(definition.name)) {
84
+ if (downstream.destructiveHint === true ||
85
+ downstream.readOnlyHint === false) {
86
+ return definition;
87
+ }
88
+ return {
89
+ ...definition,
90
+ annotations: {
91
+ ...downstream,
92
+ readOnlyHint: true,
93
+ destructiveHint: downstream.destructiveHint ?? false,
94
+ },
95
+ };
96
+ }
97
+ if (WRITE_TOOLS.get(definition.name) === "destructive") {
98
+ return {
99
+ ...definition,
100
+ annotations: {
101
+ ...downstream,
102
+ readOnlyHint: false,
103
+ destructiveHint: true,
104
+ },
105
+ };
106
+ }
107
+ // Maintained additive writes and tools this release has never seen land here
108
+ // alike. Fill-in only: a silent tool is not read-only, so drift still fails
109
+ // closed onto `call_destructive_tool`, and neither population gets a
110
+ // `destructiveHint` it has not earned. A tool that arrives explicitly
111
+ // read-only keeps that annotation — on a name no release has reviewed, the
112
+ // downstream's own word is the only evidence there is, and rewriting it
113
+ // would be an overrule rather than a fill-in.
114
+ return {
115
+ ...definition,
116
+ annotations: {
117
+ ...downstream,
118
+ readOnlyHint: downstream.readOnlyHint ?? false,
119
+ },
120
+ };
121
+ }
122
+ /** Stripe key prefixes carry their own mode; only a clear reading counts. */
123
+ const LIVE_KEY = /\b(?:sk|rk|pk)_live_/;
124
+ const TEST_KEY = /\b(?:sk|rk|pk)_test_/;
125
+ /**
126
+ * Refuse a deployment whose declared mode and supplied key disagree.
127
+ *
128
+ * This is the one half of production/sandbox routing connecta can actually
129
+ * enforce. Nothing here reads or reports key material: an unrecognizable
130
+ * credential (OAuth, or a key shape this release does not know) is left alone
131
+ * rather than guessed at, and a mismatch names only the two modes.
132
+ */
133
+ function assertModeMatchesKey(id, mode, auth) {
134
+ if (auth.type !== "headers")
135
+ return;
136
+ for (const value of Object.values(auth.headers)) {
137
+ const keyMode = LIVE_KEY.test(value)
138
+ ? "production"
139
+ : TEST_KEY.test(value)
140
+ ? "sandbox"
141
+ : undefined;
142
+ if (keyMode !== undefined && keyMode !== mode) {
143
+ throw new Error(`stripe("${id}") declares mode "${mode}" but its auth headers carry a ` +
144
+ `${keyMode === "production" ? "live" : "test"}-mode Stripe key.`);
145
+ }
146
+ }
147
+ }
148
+ function resolveAuth(id, options) {
149
+ const auth = options.auth ?? { type: "oauth" };
150
+ const connectedAccount = options.connectedAccount?.trim();
151
+ if (connectedAccount === undefined || connectedAccount === "")
152
+ return auth;
153
+ if (!connectedAccount.startsWith("acct_")) {
154
+ throw new Error(`stripe("${id}") connectedAccount must be a Stripe account id ("acct_...").`);
155
+ }
156
+ if (auth.type !== "headers") {
157
+ throw new Error(`stripe("${id}") cannot reach a connected account over OAuth; Stripe ` +
158
+ `requires a restricted API key for Stripe-Account calls.`);
159
+ }
160
+ return {
161
+ type: "headers",
162
+ headers: { ...auth.headers, "Stripe-Account": connectedAccount },
163
+ };
164
+ }
165
+ const MODE_COPY = {
166
+ production: {
167
+ title: "Stripe (production)",
168
+ blurb: "production — live money and real customers",
169
+ warning: "This is a PRODUCTION account. Every write moves real money against real customers, and a refund cannot be undone. If a request could plausibly be a rehearsal, route it to a sandbox connector instead.",
170
+ },
171
+ sandbox: {
172
+ title: "Stripe (sandbox)",
173
+ blurb: "sandbox — test data, no real money",
174
+ warning: "This is a SANDBOX account. Nothing here is real money and none of these objects exist in production, so never answer a question about live revenue, payouts, or a named customer from this connector.",
175
+ },
176
+ };
177
+ function usageGuide(mode, purpose, instructions) {
178
+ const copy = MODE_COPY[mode];
179
+ const accountInstructions = instructions?.trim();
180
+ const rate = mode === "production" ? "100" : "25";
181
+ return `# Stripe usage
182
+
183
+ Mode: ${mode}. Account purpose: ${purpose}
184
+
185
+ ${copy.warning}
186
+
187
+ - Four generic tools reach any Stripe API method. Find the method with \`stripe_api_search\`, read its parameters with \`stripe_api_details\`, then call \`stripe_api_read\` (GET) or \`stripe_api_write\` (POST/PATCH/PUT/DELETE). Never guess a path or a parameter name — \`stripe_api_details\` is cheaper than a rejected write.
188
+ - Prefer a dedicated tool when one covers the task: \`get_stripe_account_info\` for which account this is, \`get_balance_summary\` for balances, \`create_refund\` for refunds, \`stripe_report\` for reports. One call instead of three, and a refund named \`create_refund\` reads far more clearly in the approval a human sees than the same refund buried in \`stripe_api_write\` arguments.
189
+ - \`stripe_api_write\` carries the blast radius of the entire write API — every POST, PATCH, PUT, and DELETE, from a customer edit to a subscription cancellation. State the method and path explicitly; expect approval on every call.
190
+ - Lists are cursor-paginated: \`limit\` defaults to 10 and caps at 100, \`starting_after\` and \`ending_before\` take an object id and are mutually exclusive, and \`has_more\` says whether to continue. Page inside \`execute_code\` and reduce before returning.
191
+ - Amounts are integers in the currency's minor unit: \`1099\` is 10.99 USD, and zero-decimal currencies like JPY take \`10\` for 10 JPY. Never send a decimal.
192
+ - Send an \`Idempotency-Key\` on every write you might retry, if the tool accepts it, and reuse the same key for the retry. A retry with a fresh key is a second charge, not a second attempt.
193
+ - Stripe answers a rate limit with \`429\` and a \`Stripe-Rate-Limited-Reason\` header; back off on that rather than retrying immediately. This account's documented ceiling is ${rate} requests per second, and any single endpoint is capped at 25 per second regardless of mode, so paging one list is the real constraint.
194
+ - Use \`search_stripe_documentation\` when the shape of an object or a flow is unclear; it is a read and costs nothing but a call.
195
+ - Treat every create, update, delete, refund, and report run as a write. Connecta routes the maintained write catalog through \`call_destructive_tool\`; newly added tools also fail closed until classified.
196
+ ${accountInstructions
197
+ ? `\n## Account instructions\n\n${accountInstructions}\n`
198
+ : ""}`;
199
+ }
200
+ /** A maintained Stripe hosted-MCP connection. */
201
+ export function stripe(id, options) {
202
+ const purpose = options.purpose.trim();
203
+ if (!purpose) {
204
+ throw new Error("stripe() requires a non-empty account purpose.");
205
+ }
206
+ const mode = options.mode;
207
+ if (mode !== "production" && mode !== "sandbox") {
208
+ throw new Error(`stripe("${id}") requires mode "production" or "sandbox".`);
209
+ }
210
+ const auth = resolveAuth(id, options);
211
+ assertModeMatchesKey(id, mode, auth);
212
+ const copy = MODE_COPY[mode];
213
+ const connector = remoteMcp(id, {
214
+ url: STRIPE_MCP_ENDPOINT,
215
+ title: options.title ?? copy.title,
216
+ description: `Stripe payments (${copy.blurb}) — ${purpose}`,
217
+ auth,
218
+ requireHttps: true,
219
+ callAdmission: STRIPE_ADMISSION[mode],
220
+ usageGuide: usageGuide(mode, purpose, options.instructions),
221
+ ...(options.maxResultBytes !== undefined
222
+ ? { maxResultBytes: options.maxResultBytes }
223
+ : {}),
224
+ });
225
+ return {
226
+ ...connector,
227
+ async listTools(ctx) {
228
+ return (await connector.listTools(ctx)).map(vettedSafety);
229
+ },
230
+ };
231
+ }
232
+ //# sourceMappingURL=stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"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"}
package/dist/skills.d.ts CHANGED
@@ -1,13 +1,7 @@
1
1
  import type { Connector } from "./types.js";
2
- export declare const CONNECTA_INSTRUCTIONS = "Connecta exposes seven meta-tools. execute_code is primary: use connecta.search, describe, call, and batch for discovery, multiple or dependent calls, loops, joins, and result reduction. connecta.ui(html) is a guest function inside execute_code, never a connector address or search_tools result; pass one HTML string for display-only, or bind named read-only refresh/drill-down calls in its optional reads argument, and return the same initial summary data the HTML renders. For one read at an unknown address, search_tools with 2\u20134 distinctive action/object terms and includeSchemas=\"compact\", then one call_tool \u2014 a lone cold call is cheaper direct than a program. Use call_destructive_tool individually for unannotated, write-capable, or destructive tools; authorize_connector follows auth_required; get_result follows truncation. If this routing is unfamiliar, fetch skills({ name: \"usage\" }).";
3
- export declare const USAGE_SKILL = "# Connecta usage\n\n## The surface\n\nSeven tools: `execute_code`, `search_tools`, `call_tool`, `call_destructive_tool`, `authorize_connector`, `get_result`, `skills`. Broad discovery and multi-call work live in a program, not in top-level tools.\n\n## Choose the smallest execution tool\n\nUse exact addresses from discovery; never invent one. Search 2\u20134 distinctive action/object terms, not the whole request.\n\n- One read at an unknown address: `search_tools({ query, includeSchemas: \"compact\" })`, then `call_tool` once \u2014 one cold call is cheaper direct than a program.\n- Anything wider \u2014 two or more calls, dependent steps, loops, joins, branching, a whole-catalog browse, or a result to reduce: one `execute_code` run.\n- Any unannotated, write-capable, or destructive call: `call_destructive_tool`, one at a time, after reviewing its schema and consequences.\n- Truncated result: retry with `fields`, else page it with `get_result`.\n- `auth_required`: `authorize_connector`, hand its recovery text to the operator, retry the call.\n\n## Inside a program\n\nOne async arrow function. The only capabilities are one global per connector (`<connectorId>.<toolName>(args)`), the `connecta` functions, and `console.log`.\n\n- `connecta.search({})` browses every catalog; `safety: \"readOnly\"` narrows to calls a program can execute, `connector: \"<id>\"` to one. This filters results, not authority; matches carry `address` and annotations.\n- Exact schemas: `connecta.describe({ address: \"connector.tool\" })` for one, `{ addresses: [...] }` for many; `format: \"json\"` only for exact constraints.\n- Two to ten independent calls: `connecta.batch([...])`. Each outcome is `{ address, ok: true, data }` or `{ address, ok: false, error, errorDetails: { code, retryable } }` \u2014 how a program tells a policy refusal from a transient failure.\n- Search inside the run, not before it; return only the reduction the answer needs, never raw payloads.\n- Only tools annotated `readOnlyHint: true` are reachable; the gate, credentials, and admission are enforced below the sandbox \u2014 nothing a program does widens its reach.\n\n## Rendering a view\n\n`connecta.ui(html)` renders a display-only view on success for the client, never for the model. Fetch first, check the shape in code. On a surprise \u2014 empty array, missing key \u2014 return a trimmed first record instead of rendering: the wrong view becomes the sample you needed. Otherwise render from the variables you return; the model reads the return value, not the view.\n\n";
4
- /**
5
- * Appended to USAGE_SKILL only when the deployment actually has at least one
6
- * connector guide. A deployment with none — every deployment that has not
7
- * adopted the feature — keeps the base guide byte-for-byte, rather than paying
8
- * context for an instruction to fetch guides that do not exist.
9
- */
10
- export declare const CONNECTOR_GUIDES_SECTION = "\n## Per-connector guides\n\nSome connectors here ship their own usage guide \u2014 preferred tools, address quirks, pagination conventions, rate-limit etiquette, query patterns. `skills({})` lists each one as `connector:<connectorId>`; fetch it with `skills({ name: \"connector:<connectorId>\" })`. `search_tools`, `connecta.search`, and `connecta.describe` set `guide` on matches whose connector has one. Read a connector's guide before working with it for the first time in a task.\n";
2
+ export declare const CONNECTA_INSTRUCTIONS = "Connecta exposes seven meta-tools. For one read at an unknown address, search_tools with 2\u20134 distinctive action/object terms and includeSchemas=\"compact\", then one call_tool \u2014 a lone cold call is cheaper direct than a program. For read-only reduction, multiple or dependent calls, loops, joins, or branches, do not call top-level search_tools: make one execute_code call whose program searches, selects, calls, and reduces; never return discovery for another call. connecta.ui(html) is a guest function inside execute_code, never a connector address or search_tools result; pass one HTML string for display-only, or bind named read-only refresh/drill-down calls in its optional reads argument, and return the same initial summary data the HTML renders. Unannotated, write-capable, or destructive tools stay top level: search_tools, then call_destructive_tool; authorize_connector follows auth_required; get_result follows truncation. If this routing is unfamiliar, fetch skills({ name: \"usage\" }).";
3
+ /** Shared Connecta routing guidance, byte-identical across deployments. */
4
+ export declare const USAGE_SKILL: string;
11
5
  /** The always-loaded MCP `instructions` string. */
12
6
  export declare function instructionsFor(): string;
13
7
  /** True when at least one of `connectors` carries a usage guide. */
@@ -16,6 +10,10 @@ export declare function hasConnectorGuides(connectors: readonly Connector[]): bo
16
10
  export declare function connectorSkillName(connectorId: string): string;
17
11
  /** The connector's guide, or undefined when it declares none (or a blank one). */
18
12
  export declare function connectorGuide(connector: Connector): string | undefined;
13
+ /** Bounded, decision-useful discovery summary for a connector guide. */
14
+ export declare function connectorGuideSummary(connector: Connector): string | undefined;
15
+ /** Whether correct use always depends on conventions outside the tool schema. */
16
+ export declare function connectorGuideRequired(connector: Connector): boolean;
19
17
  export interface SkillListing {
20
18
  name: string;
21
19
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,qBAAqB,o5BACm2B,CAAC;AAEt4B,eAAO,MAAM,WAAW,mgFA8BvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,2eAIpC,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAI5E;AA0BD,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAGvE;AAyDD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,YAAY,EAAE,CAc3E;AAED,MAAM,MAAM,WAAW,GACrB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,SAAS,EAAE,GAC/B,WAAW,CAwCb"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,qBAAqB,w/BACu8B,CAAC;AAyC1+B,2EAA2E;AAC3E,eAAO,MAAM,WAAW,QAA8C,CAAC;AAEvE,mDAAmD;AACnD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAI5E;AA8BD,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAIvE;AAuED,wEAAwE;AACxE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,SAAS,CAQpB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAMpE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,YAAY,EAAE,CAgB3E;AAED,MAAM,MAAM,WAAW,GACrB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,SAAS,EAAE,GAC/B,WAAW,CAwCb"}
package/dist/skills.js CHANGED
@@ -1,5 +1,5 @@
1
- export const CONNECTA_INSTRUCTIONS = 'Connecta exposes seven meta-tools. execute_code is primary: use connecta.search, describe, call, and batch for discovery, multiple or dependent calls, loops, joins, and result reduction. connecta.ui(html) is a guest function inside execute_code, never a connector address or search_tools result; pass one HTML string for display-only, or bind named read-only refresh/drill-down calls in its optional reads argument, and return the same initial summary data the HTML renders. For one read at an unknown address, search_tools with 2–4 distinctive action/object terms and includeSchemas="compact", then one call_tool — a lone cold call is cheaper direct than a program. Use call_destructive_tool individually for unannotated, write-capable, or destructive tools; authorize_connector follows auth_required; get_result follows truncation. If this routing is unfamiliar, fetch skills({ name: "usage" }).';
2
- export const USAGE_SKILL = `# Connecta usage
1
+ export const CONNECTA_INSTRUCTIONS = 'Connecta exposes seven meta-tools. For one read at an unknown address, search_tools with 2–4 distinctive action/object terms and includeSchemas="compact", then one call_tool — a lone cold call is cheaper direct than a program. For read-only reduction, multiple or dependent calls, loops, joins, or branches, do not call top-level search_tools: make one execute_code call whose program searches, selects, calls, and reduces; never return discovery for another call. connecta.ui(html) is a guest function inside execute_code, never a connector address or search_tools result; pass one HTML string for display-only, or bind named read-only refresh/drill-down calls in its optional reads argument, and return the same initial summary data the HTML renders. Unannotated, write-capable, or destructive tools stay top level: search_tools, then call_destructive_tool; authorize_connector follows auth_required; get_result follows truncation. If this routing is unfamiliar, fetch skills({ name: "usage" }).';
2
+ const USAGE_SKILL_BASE = `# Connecta usage
3
3
 
4
4
  ## The surface
5
5
 
@@ -19,7 +19,7 @@ Use exact addresses from discovery; never invent one. Search 2–4 distinctive a
19
19
 
20
20
  One async arrow function. The only capabilities are one global per connector (\`<connectorId>.<toolName>(args)\`), the \`connecta\` functions, and \`console.log\`.
21
21
 
22
- - \`connecta.search({})\` browses every catalog; \`safety: "readOnly"\` narrows to calls a program can execute, \`connector: "<id>"\` to one. This filters results, not authority; matches carry \`address\` and annotations.
22
+ - \`connecta.search({})\` loads all catalogs; pass \`connector: "<id>"\` when obvious to load one. \`safety: "readOnly"\` keeps executable calls. Neither grants authority. Matches carry \`address\` and annotations.
23
23
  - Exact schemas: \`connecta.describe({ address: "connector.tool" })\` for one, \`{ addresses: [...] }\` for many; \`format: "json"\` only for exact constraints.
24
24
  - Two to ten independent calls: \`connecta.batch([...])\`. Each outcome is \`{ address, ok: true, data }\` or \`{ address, ok: false, error, errorDetails: { code, retryable } }\` — how a program tells a policy refusal from a transient failure.
25
25
  - Search inside the run, not before it; return only the reduction the answer needs, never raw payloads.
@@ -30,17 +30,14 @@ One async arrow function. The only capabilities are one global per connector (\`
30
30
  \`connecta.ui(html)\` renders a display-only view on success for the client, never for the model. Fetch first, check the shape in code. On a surprise — empty array, missing key — return a trimmed first record instead of rendering: the wrong view becomes the sample you needed. Otherwise render from the variables you return; the model reads the return value, not the view.
31
31
 
32
32
  `;
33
- /**
34
- * Appended to USAGE_SKILL only when the deployment actually has at least one
35
- * connector guide. A deployment with none — every deployment that has not
36
- * adopted the feature — keeps the base guide byte-for-byte, rather than paying
37
- * context for an instruction to fetch guides that do not exist.
38
- */
39
- export const CONNECTOR_GUIDES_SECTION = `
33
+ /** Deployment-scoped guide routing appended to the shared usage guide. */
34
+ const CONNECTOR_GUIDES_SECTION = `
40
35
  ## Per-connector guides
41
36
 
42
- Some connectors here ship their own usage guide preferred tools, address quirks, pagination conventions, rate-limit etiquette, query patterns. \`skills({})\` lists each one as \`connector:<connectorId>\`; fetch it with \`skills({ name: "connector:<connectorId>" })\`. \`search_tools\`, \`connecta.search\`, and \`connecta.describe\` set \`guide\` on matches whose connector has one. Read a connector's guide before working with it for the first time in a task.
37
+ When a connector here ships a deployment-scoped usage guide, \`skills({})\` and discovery return the exact \`guide\` name plus a bounded \`guideSummary\` saying what it covers. Fetch only a listed or carried name with \`skills({ name: <guide> })\`; never infer one from a connector id. \`guideRequired: true\` is a hard stop: fetch before calling. \`guideRequiredReasons\` says why — \`connector_required\` and \`approval_required\` stand however you expand the schema; \`schema_truncated\` clears once describe returns the exact one. Otherwise fetch when the summary names a connector-specific sequence, unit, pagination rule, alias, or generic API convention relevant to the task. A read-only call whose compact schema is complete and unambiguous may proceed without fetching an otherwise irrelevant guide. Connector guides do not replace the shared Connecta usage guide and never apply to another deployment implicitly.
43
38
  `;
39
+ /** Shared Connecta routing guidance, byte-identical across deployments. */
40
+ export const USAGE_SKILL = USAGE_SKILL_BASE + CONNECTOR_GUIDES_SECTION;
44
41
  /** The always-loaded MCP `instructions` string. */
45
42
  export function instructionsFor() {
46
43
  return CONNECTA_INSTRUCTIONS;
@@ -49,11 +46,14 @@ export function instructionsFor() {
49
46
  export function hasConnectorGuides(connectors) {
50
47
  return connectors.some((connector) => connectorGuide(connector) !== undefined);
51
48
  }
52
- /** The built-in usage guide, plus the guides section when there is one to point at. */
53
- function usageSkill(connectors) {
54
- if (!hasConnectorGuides(connectors))
55
- return USAGE_SKILL;
56
- return USAGE_SKILL + CONNECTOR_GUIDES_SECTION;
49
+ /**
50
+ * The built-in usage guide is byte-identical across deployments, so an agent
51
+ * that has read it once in a task never needs an equivalent deployment-local
52
+ * copy. Guide-free deployments still pay no fixed tool-description cost: the
53
+ * conditional notes in meta-tools.ts remain absent.
54
+ */
55
+ function usageSkill(_connectors) {
56
+ return USAGE_SKILL;
57
57
  }
58
58
  const AVAILABLE_SKILLS = [
59
59
  {
@@ -77,7 +77,8 @@ export function connectorSkillName(connectorId) {
77
77
  /** The connector's guide, or undefined when it declares none (or a blank one). */
78
78
  export function connectorGuide(connector) {
79
79
  const guide = connector.usageGuide;
80
- return guide && guide.trim() !== "" ? guide : undefined;
80
+ const content = typeof guide === "string" ? guide : guide?.content;
81
+ return content && content.trim() !== "" ? content : undefined;
81
82
  }
82
83
  const SUMMARY_LENGTH = 120;
83
84
  /** A `---`/`***`/`___` rule, which also opens and closes YAML frontmatter. */
@@ -107,8 +108,17 @@ function withoutFrontmatter(lines) {
107
108
  * the connector's own description when the guide opens with nothing but
108
109
  * markup.
109
110
  */
111
+ function boundedSummary(summary) {
112
+ const line = summary.replace(/\s+/g, " ").trim();
113
+ if (line === "")
114
+ return undefined;
115
+ return line.length <= SUMMARY_LENGTH
116
+ ? line
117
+ : `${line.slice(0, SUMMARY_LENGTH - 1).trimEnd()}…`;
118
+ }
110
119
  function summarizeGuide(connector, guide) {
111
120
  let inFence = false;
121
+ let headingFallback;
112
122
  for (const raw of withoutFrontmatter(guide.split("\n"))) {
113
123
  if (FENCE_RE.test(raw)) {
114
124
  inFence = !inFence;
@@ -118,6 +128,7 @@ function summarizeGuide(connector, guide) {
118
128
  continue;
119
129
  if (raw.trim() === "" || NOT_SUMMARY_RE.test(raw))
120
130
  continue;
131
+ const heading = /^\s*#{1,6}/.test(raw);
121
132
  const line = raw
122
133
  // `\s*` (not `\s+`) so a bare `#` strips to nothing and is skipped, and
123
134
  // an unspaced `#Heading` is still read as a heading.
@@ -127,11 +138,32 @@ function summarizeGuide(connector, guide) {
127
138
  .trim();
128
139
  if (line === "")
129
140
  continue;
130
- return line.length <= SUMMARY_LENGTH
131
- ? line
132
- : `${line.slice(0, SUMMARY_LENGTH - 1).trimEnd()}…`;
141
+ if (heading) {
142
+ headingFallback ??= boundedSummary(line);
143
+ continue;
144
+ }
145
+ return boundedSummary(line) ?? line;
133
146
  }
134
- return connector.description ?? `Usage guide for "${connector.id}".`;
147
+ if (headingFallback)
148
+ return headingFallback;
149
+ const fallback = connector.description ?? `Usage guide for "${connector.id}".`;
150
+ return boundedSummary(fallback) ?? `Usage guide for "${connector.id}".`;
151
+ }
152
+ /** Bounded, decision-useful discovery summary for a connector guide. */
153
+ export function connectorGuideSummary(connector) {
154
+ const guide = connectorGuide(connector);
155
+ if (!guide)
156
+ return undefined;
157
+ const configured = typeof connector.usageGuide === "object"
158
+ ? boundedSummary(connector.usageGuide.summary ?? "")
159
+ : undefined;
160
+ return configured ?? summarizeGuide(connector, guide);
161
+ }
162
+ /** Whether correct use always depends on conventions outside the tool schema. */
163
+ export function connectorGuideRequired(connector) {
164
+ return (connectorGuide(connector) !== undefined &&
165
+ typeof connector.usageGuide === "object" &&
166
+ connector.usageGuide.required === true);
135
167
  }
136
168
  /**
137
169
  * Every fetchable skill: the built-in guides plus one entry per connector that
@@ -144,12 +176,14 @@ export function listSkills(connectors) {
144
176
  description: skill.description,
145
177
  }));
146
178
  for (const connector of connectors) {
147
- const guide = connectorGuide(connector);
148
- if (!guide)
179
+ // Undefined here means "no guide" and nothing else: a connector that has
180
+ // one always summarizes to a non-empty line, configured or derived.
181
+ const summary = connectorGuideSummary(connector);
182
+ if (!summary)
149
183
  continue;
150
184
  listing.push({
151
185
  name: connectorSkillName(connector.id),
152
- description: summarizeGuide(connector, guide),
186
+ description: summary,
153
187
  });
154
188
  }
155
189
  return listing;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}