@poncho-ai/sdk 1.0.0 → 1.0.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @poncho-ai/sdk@1.0.0 build /home/runner/work/poncho-ai/poncho-ai/packages/sdk
2
+ > @poncho-ai/sdk@1.0.1 build /home/runner/work/poncho-ai/poncho-ai/packages/sdk
3
3
  > tsup src/index.ts --format esm --dts
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -7,8 +7,8 @@
7
7
  CLI tsup v8.5.1
8
8
  CLI Target: es2022
9
9
  ESM Build start
10
- ESM dist/index.js 6.37 KB
11
- ESM ⚡️ Build success in 20ms
10
+ ESM dist/index.js 7.48 KB
11
+ ESM ⚡️ Build success in 18ms
12
12
  DTS Build start
13
- DTS ⚡️ Build success in 1218ms
14
- DTS dist/index.d.ts 13.27 KB
13
+ DTS ⚡️ Build success in 1173ms
14
+ DTS dist/index.d.ts 14.79 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @poncho-ai/sdk
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#10](https://github.com/cesr/poncho-ai/pull/10) [`d5bce7b`](https://github.com/cesr/poncho-ai/commit/d5bce7be5890c657bea915eb0926feb6de66b218) Thanks [@cesr](https://github.com/cesr)! - Add generic messaging layer with Slack as the first adapter. Agents can now respond to @mentions in Slack by adding `messaging: [{ platform: 'slack' }]` to `poncho.config.js`. Includes signature verification, threaded conversations, processing indicators, and Vercel `waitUntil` support.
8
+
3
9
  ## 1.0.0
4
10
 
5
11
  ### Major Changes
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  type OnboardingScope = "light" | "full";
2
- type FeatureDomain = "model" | "deploy" | "storage" | "memory" | "auth" | "telemetry" | "mcp";
2
+ type FeatureDomain = "model" | "deploy" | "storage" | "memory" | "auth" | "telemetry" | "mcp" | "messaging";
3
3
  type OnboardingFieldTarget = "agent" | "config" | "env";
4
4
  type OnboardingFieldKind = "select" | "boolean" | "string" | "number";
5
5
  type OnboardingFieldCondition = {
@@ -287,6 +287,54 @@ declare const ONBOARDING_FIELDS: readonly [{
287
287
  readonly fieldId: "telemetry.enabled";
288
288
  readonly equals: true;
289
289
  };
290
+ }, {
291
+ readonly id: "messaging.platform";
292
+ readonly domain: "messaging";
293
+ readonly target: "agent";
294
+ readonly path: "messaging.platform";
295
+ readonly kind: "select";
296
+ readonly scopes: ["full"];
297
+ readonly label: "Messaging platform";
298
+ readonly prompt: "Connect to a messaging platform? (optional)";
299
+ readonly defaultValue: "none";
300
+ readonly options: [{
301
+ readonly value: "none";
302
+ readonly label: "None";
303
+ }, {
304
+ readonly value: "slack";
305
+ readonly label: "Slack";
306
+ }];
307
+ }, {
308
+ readonly id: "env.SLACK_BOT_TOKEN";
309
+ readonly domain: "messaging";
310
+ readonly target: "env";
311
+ readonly path: "SLACK_BOT_TOKEN";
312
+ readonly kind: "string";
313
+ readonly scopes: ["full"];
314
+ readonly label: "Slack Bot Token";
315
+ readonly prompt: "Slack Bot Token (from OAuth & Permissions)";
316
+ readonly defaultValue: "";
317
+ readonly placeholder: "xoxb-...";
318
+ readonly secret: true;
319
+ readonly dependsOn: {
320
+ readonly fieldId: "messaging.platform";
321
+ readonly equals: "slack";
322
+ };
323
+ }, {
324
+ readonly id: "env.SLACK_SIGNING_SECRET";
325
+ readonly domain: "messaging";
326
+ readonly target: "env";
327
+ readonly path: "SLACK_SIGNING_SECRET";
328
+ readonly kind: "string";
329
+ readonly scopes: ["full"];
330
+ readonly label: "Slack Signing Secret";
331
+ readonly prompt: "Slack Signing Secret (from Basic Information)";
332
+ readonly defaultValue: "";
333
+ readonly secret: true;
334
+ readonly dependsOn: {
335
+ readonly fieldId: "messaging.platform";
336
+ readonly equals: "slack";
337
+ };
290
338
  }];
291
339
  declare const FEATURE_DOMAIN_ORDER: readonly FeatureDomain[];
292
340
  declare const fieldsForScope: (scope: OnboardingScope) => OnboardingField[];
package/dist/index.js CHANGED
@@ -220,6 +220,48 @@ var ONBOARDING_FIELDS = [
220
220
  prompt: "OTLP endpoint (optional)",
221
221
  defaultValue: "",
222
222
  dependsOn: { fieldId: "telemetry.enabled", equals: true }
223
+ },
224
+ {
225
+ id: "messaging.platform",
226
+ domain: "messaging",
227
+ target: "agent",
228
+ path: "messaging.platform",
229
+ kind: "select",
230
+ scopes: ["full"],
231
+ label: "Messaging platform",
232
+ prompt: "Connect to a messaging platform? (optional)",
233
+ defaultValue: "none",
234
+ options: [
235
+ { value: "none", label: "None" },
236
+ { value: "slack", label: "Slack" }
237
+ ]
238
+ },
239
+ {
240
+ id: "env.SLACK_BOT_TOKEN",
241
+ domain: "messaging",
242
+ target: "env",
243
+ path: "SLACK_BOT_TOKEN",
244
+ kind: "string",
245
+ scopes: ["full"],
246
+ label: "Slack Bot Token",
247
+ prompt: "Slack Bot Token (from OAuth & Permissions)",
248
+ defaultValue: "",
249
+ placeholder: "xoxb-...",
250
+ secret: true,
251
+ dependsOn: { fieldId: "messaging.platform", equals: "slack" }
252
+ },
253
+ {
254
+ id: "env.SLACK_SIGNING_SECRET",
255
+ domain: "messaging",
256
+ target: "env",
257
+ path: "SLACK_SIGNING_SECRET",
258
+ kind: "string",
259
+ scopes: ["full"],
260
+ label: "Slack Signing Secret",
261
+ prompt: "Slack Signing Secret (from Basic Information)",
262
+ defaultValue: "",
263
+ secret: true,
264
+ dependsOn: { fieldId: "messaging.platform", equals: "slack" }
223
265
  }
224
266
  ];
225
267
  var FEATURE_DOMAIN_ORDER = [
@@ -229,7 +271,8 @@ var FEATURE_DOMAIN_ORDER = [
229
271
  "memory",
230
272
  "auth",
231
273
  "telemetry",
232
- "mcp"
274
+ "mcp",
275
+ "messaging"
233
276
  ];
234
277
  var fieldsForScope = (scope) => ONBOARDING_FIELDS.filter(
235
278
  (field) => field.scopes.includes(scope)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poncho-ai/sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Core types and utilities for building Poncho skills",
5
5
  "repository": {
6
6
  "type": "git",
@@ -7,7 +7,8 @@ export type FeatureDomain =
7
7
  | "memory"
8
8
  | "auth"
9
9
  | "telemetry"
10
- | "mcp";
10
+ | "mcp"
11
+ | "messaging";
11
12
 
12
13
  export type OnboardingFieldTarget = "agent" | "config" | "env";
13
14
 
@@ -265,6 +266,48 @@ export const ONBOARDING_FIELDS = [
265
266
  defaultValue: "",
266
267
  dependsOn: { fieldId: "telemetry.enabled", equals: true },
267
268
  },
269
+ {
270
+ id: "messaging.platform",
271
+ domain: "messaging",
272
+ target: "agent",
273
+ path: "messaging.platform",
274
+ kind: "select",
275
+ scopes: ["full"],
276
+ label: "Messaging platform",
277
+ prompt: "Connect to a messaging platform? (optional)",
278
+ defaultValue: "none",
279
+ options: [
280
+ { value: "none", label: "None" },
281
+ { value: "slack", label: "Slack" },
282
+ ],
283
+ },
284
+ {
285
+ id: "env.SLACK_BOT_TOKEN",
286
+ domain: "messaging",
287
+ target: "env",
288
+ path: "SLACK_BOT_TOKEN",
289
+ kind: "string",
290
+ scopes: ["full"],
291
+ label: "Slack Bot Token",
292
+ prompt: "Slack Bot Token (from OAuth & Permissions)",
293
+ defaultValue: "",
294
+ placeholder: "xoxb-...",
295
+ secret: true,
296
+ dependsOn: { fieldId: "messaging.platform", equals: "slack" },
297
+ },
298
+ {
299
+ id: "env.SLACK_SIGNING_SECRET",
300
+ domain: "messaging",
301
+ target: "env",
302
+ path: "SLACK_SIGNING_SECRET",
303
+ kind: "string",
304
+ scopes: ["full"],
305
+ label: "Slack Signing Secret",
306
+ prompt: "Slack Signing Secret (from Basic Information)",
307
+ defaultValue: "",
308
+ secret: true,
309
+ dependsOn: { fieldId: "messaging.platform", equals: "slack" },
310
+ },
268
311
  ] as const satisfies readonly OnboardingField[];
269
312
 
270
313
  export const FEATURE_DOMAIN_ORDER: readonly FeatureDomain[] = [
@@ -275,6 +318,7 @@ export const FEATURE_DOMAIN_ORDER: readonly FeatureDomain[] = [
275
318
  "auth",
276
319
  "telemetry",
277
320
  "mcp",
321
+ "messaging",
278
322
  ] as const;
279
323
 
280
324
  export const fieldsForScope = (scope: OnboardingScope): OnboardingField[] =>