@hasna/skills 0.5.11 → 0.6.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.
Files changed (51) hide show
  1. package/README.md +95 -53
  2. package/bin/index.js +17704 -30170
  3. package/bin/mcp.js +6856 -21003
  4. package/bin/migrate.js +108 -6
  5. package/bin/server.js +5827 -565
  6. package/bin/worker.js +489 -135
  7. package/dist/admin-contract.d.ts +13 -13
  8. package/dist/admin-contract.js +28 -47
  9. package/dist/cli/commands/agent-integration.d.ts +2 -0
  10. package/dist/cli/commands/context.d.ts +19 -0
  11. package/dist/cli/commands/install.d.ts +1 -0
  12. package/dist/cli/commands/profile-sync.d.ts +10 -0
  13. package/dist/cli/commands/profiles.d.ts +2 -0
  14. package/dist/cli/commands/runtime.d.ts +0 -3
  15. package/dist/cli/output.d.ts +2 -0
  16. package/dist/index.d.ts +5 -0
  17. package/dist/index.js +5406 -19111
  18. package/dist/lib/agent-integration.d.ts +74 -0
  19. package/dist/lib/cloud-executions.d.ts +39 -0
  20. package/dist/lib/managed-policy.d.ts +6 -0
  21. package/dist/lib/profile-admin.d.ts +4 -0
  22. package/dist/lib/profile-client.d.ts +19 -0
  23. package/dist/lib/read-access.d.ts +3 -23
  24. package/dist/lib/selected-document.d.ts +6 -0
  25. package/dist/lib/selected-run.d.ts +31 -0
  26. package/dist/lib/selection-cache.d.ts +40 -0
  27. package/dist/lib/selection-resolver.d.ts +75 -0
  28. package/dist/lib/skill-context.d.ts +43 -0
  29. package/dist/lib/skillinfo.d.ts +2 -0
  30. package/dist/sdk/execution/dispatchers/ecs.d.ts +8 -0
  31. package/dist/sdk/index.d.ts +2 -0
  32. package/dist/sdk/index.js +9911 -8305
  33. package/dist/server/app.d.ts +7 -1
  34. package/dist/server/artifact-storage.d.ts +7 -10
  35. package/dist/server/auth.d.ts +2 -0
  36. package/dist/server/config.d.ts +2 -0
  37. package/dist/server/profile-api.d.ts +3 -0
  38. package/dist/server/runtime-api.d.ts +31 -0
  39. package/dist/server/runtime-policy.d.ts +25 -0
  40. package/dist/server/runtime-store.d.ts +73 -0
  41. package/dist/server/runtime-worker.d.ts +19 -0
  42. package/dist/server/selection-store.d.ts +39 -0
  43. package/dist/server/sqlite-store.d.ts +2 -0
  44. package/dist/server/store.d.ts +3 -0
  45. package/dist/server/types.d.ts +3 -0
  46. package/dist/types/skill-selection.d.ts +41 -0
  47. package/migrations/postgres/0007_skill_profiles.sql +19 -0
  48. package/migrations/postgres/0008_skill_runtime.sql +14 -0
  49. package/migrations/sqlite/0007_skill_profiles.sql +19 -0
  50. package/migrations/sqlite/0008_skill_runtime.sql +14 -0
  51. package/package.json +1 -1
@@ -4246,7 +4246,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4246
4246
  }, z.ZodTypeAny, "passthrough">>>;
4247
4247
  }, z.ZodTypeAny, "passthrough">>;
4248
4248
  readonly successStatuses: readonly [200];
4249
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
4249
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
4250
4250
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4251
4251
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4252
4252
  readonly additiveResponseFields: "allowed";
@@ -4318,7 +4318,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4318
4318
  }, z.ZodTypeAny, "passthrough">>;
4319
4319
  }, z.ZodTypeAny, "passthrough">>;
4320
4320
  readonly successStatuses: readonly [200];
4321
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
4321
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
4322
4322
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4323
4323
  readonly additiveResponseFields: "allowed";
4324
4324
  };
@@ -4389,7 +4389,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4389
4389
  }, z.ZodTypeAny, "passthrough">>;
4390
4390
  }, z.ZodTypeAny, "passthrough">>;
4391
4391
  readonly successStatuses: readonly [200];
4392
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
4392
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
4393
4393
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4394
4394
  readonly additiveResponseFields: "allowed";
4395
4395
  };
@@ -4505,7 +4505,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4505
4505
  offset: z.ZodNumber;
4506
4506
  }, z.ZodTypeAny, "passthrough">>;
4507
4507
  readonly successStatuses: readonly [200];
4508
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
4508
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
4509
4509
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4510
4510
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4511
4511
  readonly additiveResponseFields: "allowed";
@@ -4645,7 +4645,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4645
4645
  }, z.ZodTypeAny, "passthrough">>;
4646
4646
  }, z.ZodTypeAny, "passthrough">>;
4647
4647
  readonly successStatuses: readonly [200];
4648
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
4648
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
4649
4649
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4650
4650
  readonly additiveResponseFields: "allowed";
4651
4651
  };
@@ -4716,7 +4716,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4716
4716
  }, z.ZodTypeAny, "passthrough">>;
4717
4717
  }, z.ZodTypeAny, "passthrough">>;
4718
4718
  readonly successStatuses: readonly [200];
4719
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
4719
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
4720
4720
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4721
4721
  readonly additiveResponseFields: "allowed";
4722
4722
  };
@@ -4868,7 +4868,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
4868
4868
  offset: z.ZodNumber;
4869
4869
  }, z.ZodTypeAny, "passthrough">>;
4870
4870
  readonly successStatuses: readonly [200];
4871
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
4871
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
4872
4872
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4873
4873
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
4874
4874
  readonly additiveResponseFields: "allowed";
@@ -5599,7 +5599,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
5599
5599
  offset: z.ZodNumber;
5600
5600
  }, z.ZodTypeAny, "passthrough">>;
5601
5601
  readonly successStatuses: readonly [200];
5602
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
5602
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
5603
5603
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5604
5604
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5605
5605
  readonly additiveResponseFields: "allowed";
@@ -5757,7 +5757,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
5757
5757
  }, z.ZodTypeAny, "passthrough">>;
5758
5758
  }, z.ZodTypeAny, "passthrough">>;
5759
5759
  readonly successStatuses: readonly [200];
5760
- readonly errorStatuses: readonly [401, 403, 404, 429, 500, 502, 503, 504];
5760
+ readonly errorStatuses: readonly [400, 401, 403, 404, 429, 500, 502, 503, 504];
5761
5761
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5762
5762
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5763
5763
  readonly additiveResponseFields: "allowed";
@@ -5817,7 +5817,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
5817
5817
  }, z.ZodTypeAny, "passthrough">>;
5818
5818
  }, z.ZodTypeAny, "passthrough">>;
5819
5819
  readonly successStatuses: readonly [200];
5820
- readonly errorStatuses: readonly [401, 403, 404, 409, 429, 500, 502, 503, 504];
5820
+ readonly errorStatuses: readonly [400, 401, 403, 404, 409, 429, 500, 502, 503, 504];
5821
5821
  readonly querySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5822
5822
  readonly additiveResponseFields: "allowed";
5823
5823
  };
@@ -5951,7 +5951,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
5951
5951
  offset: z.ZodNumber;
5952
5952
  }, z.ZodTypeAny, "passthrough">>;
5953
5953
  readonly successStatuses: readonly [200];
5954
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
5954
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
5955
5955
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5956
5956
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
5957
5957
  readonly additiveResponseFields: "allowed";
@@ -6104,7 +6104,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
6104
6104
  offset: z.ZodNumber;
6105
6105
  }, z.ZodTypeAny, "passthrough">>;
6106
6106
  readonly successStatuses: readonly [200];
6107
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
6107
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
6108
6108
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
6109
6109
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
6110
6110
  readonly additiveResponseFields: "allowed";
@@ -6197,7 +6197,7 @@ export declare const SKILLS_ADMIN_OPERATIONS: {
6197
6197
  offset: z.ZodNumber;
6198
6198
  }, z.ZodTypeAny, "passthrough">>;
6199
6199
  readonly successStatuses: readonly [200];
6200
- readonly errorStatuses: readonly [401, 403, 429, 500, 502, 503, 504];
6200
+ readonly errorStatuses: readonly [400, 401, 403, 429, 500, 502, 503, 504];
6201
6201
  readonly pathSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
6202
6202
  readonly bodySchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
6203
6203
  readonly additiveResponseFields: "allowed";
@@ -46,7 +46,7 @@ var __export = (target, all) => {
46
46
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
47
47
  var __require = import.meta.require;
48
48
 
49
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/external.js
49
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.js
50
50
  var exports_external = {};
51
51
  __export(exports_external, {
52
52
  void: () => voidType,
@@ -158,7 +158,7 @@ __export(exports_external, {
158
158
  BRAND: () => BRAND
159
159
  });
160
160
 
161
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/helpers/util.js
161
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.js
162
162
  var util;
163
163
  (function(util2) {
164
164
  util2.assertEqual = (_) => {};
@@ -289,7 +289,7 @@ var getParsedType = (data) => {
289
289
  }
290
290
  };
291
291
 
292
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/ZodError.js
292
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/ZodError.js
293
293
  var ZodIssueCode = util.arrayToEnum([
294
294
  "invalid_type",
295
295
  "invalid_literal",
@@ -356,28 +356,13 @@ class ZodError extends Error {
356
356
  while (i < issue.path.length) {
357
357
  const el = issue.path[i];
358
358
  const terminal = i === issue.path.length - 1;
359
- if (el === "_errors") {
360
- if (terminal)
361
- curr._errors.push(mapper(issue));
362
- i++;
363
- continue;
364
- }
365
- if (!Object.prototype.hasOwnProperty.call(curr, el)) {
366
- if (el === "__proto__") {
367
- Object.defineProperty(curr, el, {
368
- value: { _errors: [] },
369
- writable: true,
370
- enumerable: true,
371
- configurable: true
372
- });
373
- } else {
374
- curr[el] = { _errors: [] };
375
- }
359
+ if (!terminal) {
360
+ curr[el] = curr[el] || { _errors: [] };
361
+ } else {
362
+ curr[el] = curr[el] || { _errors: [] };
363
+ curr[el]._errors.push(mapper(issue));
376
364
  }
377
365
  curr = curr[el];
378
- if (terminal) {
379
- curr._errors.push(mapper(issue));
380
- }
381
366
  i++;
382
367
  }
383
368
  }
@@ -401,7 +386,7 @@ class ZodError extends Error {
401
386
  return this.issues.length === 0;
402
387
  }
403
388
  flatten(mapper = (issue) => issue.message) {
404
- const fieldErrors = Object.create(null);
389
+ const fieldErrors = {};
405
390
  const formErrors = [];
406
391
  for (const sub of this.issues) {
407
392
  if (sub.path.length > 0) {
@@ -423,7 +408,7 @@ ZodError.create = (issues) => {
423
408
  return error;
424
409
  };
425
410
 
426
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/locales/en.js
411
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.js
427
412
  var errorMap = (issue, _ctx) => {
428
413
  let message;
429
414
  switch (issue.code) {
@@ -526,7 +511,7 @@ var errorMap = (issue, _ctx) => {
526
511
  };
527
512
  var en_default = errorMap;
528
513
 
529
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/errors.js
514
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.js
530
515
  var overrideErrorMap = en_default;
531
516
  function setErrorMap(map) {
532
517
  overrideErrorMap = map;
@@ -534,7 +519,7 @@ function setErrorMap(map) {
534
519
  function getErrorMap() {
535
520
  return overrideErrorMap;
536
521
  }
537
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/helpers/parseUtil.js
522
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
538
523
  var makeIssue = (params) => {
539
524
  const { data, path, errorMaps, issueData } = params;
540
525
  const fullPath = [...path, ...issueData.path || []];
@@ -640,14 +625,14 @@ var isAborted = (x) => x.status === "aborted";
640
625
  var isDirty = (x) => x.status === "dirty";
641
626
  var isValid = (x) => x.status === "valid";
642
627
  var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
643
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/helpers/errorUtil.js
628
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
644
629
  var errorUtil;
645
630
  (function(errorUtil2) {
646
631
  errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
647
632
  errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
648
633
  })(errorUtil || (errorUtil = {}));
649
634
 
650
- // ../../../../../../../skills/launch-evidence/20260908-resume/internal-origin-deploy-plan-20260908/frozen-docker-context/apps/skills/node_modules/zod/v3/types.js
635
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.js
651
636
  class ParseInputLazyPath {
652
637
  constructor(parent, value, path, key) {
653
638
  this._cachedPath = [];
@@ -1001,7 +986,7 @@ var nanoidRegex = /^[a-z0-9_-]{21}$/i;
1001
986
  var jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
1002
987
  var durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
1003
988
  var emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
1004
- var _emojiRegex = `^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;
989
+ var _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
1005
990
  var emojiRegex;
1006
991
  var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
1007
992
  var ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;
@@ -2888,11 +2873,7 @@ function mergeValues(a, b) {
2888
2873
  const bKeys = util.objectKeys(b);
2889
2874
  const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
2890
2875
  const newObj = { ...a, ...b };
2891
- if (Object.prototype.hasOwnProperty.call(newObj, "__proto__"))
2892
- delete newObj.__proto__;
2893
2876
  for (const key of sharedKeys) {
2894
- if (key === "__proto__")
2895
- continue;
2896
2877
  const sharedValue = mergeValues(a[key], b[key]);
2897
2878
  if (!sharedValue.valid) {
2898
2879
  return { valid: false };
@@ -4392,24 +4373,24 @@ var SKILLS_ADMIN_OPERATIONS = {
4392
4373
  status: operation({ ...contractDefaults, method: "GET", path: "/api/v1/status", responseSchema: SkillsAdminStatusResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4393
4374
  bootstrapSync: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/sync", responseSchema: SkillsAdminSyncResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4394
4375
  orgsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/orgs", querySchema: SkillsAdminPaginationQuerySchema, responseSchema: SkillsAdminListOrganizationsResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4395
- orgsShow: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/orgs/:id", pathSchema: SkillsAdminPathIdSchema, responseSchema: SkillsAdminShowOrganizationResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4396
- orgsSuspend: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/orgs/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminSuspendOrganizationRequestSchema, responseSchema: SkillsAdminSuspendOrganizationResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4397
- orgsResume: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/orgs/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminResumeOrganizationRequestSchema, responseSchema: SkillsAdminSuspendOrganizationResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4398
- usersList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/users", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListUsersResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4376
+ orgsShow: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/orgs/:id", pathSchema: SkillsAdminPathIdSchema, responseSchema: SkillsAdminShowOrganizationResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4377
+ orgsSuspend: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/orgs/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminSuspendOrganizationRequestSchema, responseSchema: SkillsAdminSuspendOrganizationResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4378
+ orgsResume: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/orgs/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminResumeOrganizationRequestSchema, responseSchema: SkillsAdminSuspendOrganizationResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4379
+ usersList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/users", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListUsersResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4399
4380
  usersRoleSet: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/users/:id/role", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminSetUserRoleRequestSchema, responseSchema: SkillsAdminSetUserRoleResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4400
- usersSuspend: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/users/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminSuspendUserRequestSchema, responseSchema: SkillsAdminSuspendUserResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4401
- usersResume: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/users/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminResumeUserRequestSchema, responseSchema: SkillsAdminSuspendUserResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4402
- entitlementsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/entitlements", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListEntitlementsResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4381
+ usersSuspend: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/users/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminSuspendUserRequestSchema, responseSchema: SkillsAdminSuspendUserResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4382
+ usersResume: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/users/:id/suspend", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminResumeUserRequestSchema, responseSchema: SkillsAdminSuspendUserResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4383
+ entitlementsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/entitlements", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListEntitlementsResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4403
4384
  entitlementsGrant: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/entitlements/grant", bodySchema: SkillsAdminGrantEntitlementRequestSchema, responseSchema: SkillsAdminGrantEntitlementResponseSchema, successStatuses: [201], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4404
4385
  entitlementsRevoke: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/entitlements/revoke", bodySchema: SkillsAdminRevokeEntitlementRequestSchema, responseSchema: SkillsAdminRevokeEntitlementResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4405
4386
  creditsShow: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/credits", querySchema: SkillsAdminOrganizationRequiredQuerySchema, responseSchema: SkillsAdminCreditsResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4406
4387
  creditsAdjust: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/credits/adjust", bodySchema: SkillsAdminAdjustCreditsRequestSchema, responseSchema: SkillsAdminAdjustCreditsResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 409, 429, 500, 502, 503, 504] }),
4407
- runsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/runs", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListRunsResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4408
- runsShow: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/runs/:id", pathSchema: SkillsAdminPathIdSchema, responseSchema: SkillsAdminShowRunResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 429, 500, 502, 503, 504] }),
4409
- runsCancel: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/runs/:id/cancel", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminCancelRunRequestSchema, responseSchema: SkillsAdminCancelRunResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 404, 409, 429, 500, 502, 503, 504] }),
4410
- billingSubscriptions: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/billing/subscriptions", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListSubscriptionsResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4411
- billingInvoices: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/billing/invoices", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListInvoicesResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4412
- auditList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/audit", querySchema: SkillsAdminAuditQuerySchema, responseSchema: SkillsAdminListAuditResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] })
4388
+ runsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/runs", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListRunsResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4389
+ runsShow: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/runs/:id", pathSchema: SkillsAdminPathIdSchema, responseSchema: SkillsAdminShowRunResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 429, 500, 502, 503, 504] }),
4390
+ runsCancel: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/runs/:id/cancel", pathSchema: SkillsAdminPathIdSchema, bodySchema: SkillsAdminCancelRunRequestSchema, responseSchema: SkillsAdminCancelRunResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 404, 409, 429, 500, 502, 503, 504] }),
4391
+ billingSubscriptions: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/billing/subscriptions", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListSubscriptionsResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4392
+ billingInvoices: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/billing/invoices", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListInvoicesResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] }),
4393
+ auditList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/audit", querySchema: SkillsAdminAuditQuerySchema, responseSchema: SkillsAdminListAuditResponseSchema, successStatuses: [200], errorStatuses: [400, 401, 403, 429, 500, 502, 503, 504] })
4413
4394
  };
4414
4395
  export {
4415
4396
  SkillsAdminUserSchema,
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerAgentIntegration(parent: Command): void;
@@ -0,0 +1,19 @@
1
+ import type { Command } from "commander";
2
+ import { type SkillContextInput } from "../../lib/skill-context.js";
3
+ import { type SelectionResolverOptions } from "../../lib/selection-resolver.js";
4
+ export declare function selectedProfileId(explicit?: string): string;
5
+ export interface ContextCommandOptions {
6
+ selectionProfile?: string;
7
+ cached?: boolean;
8
+ json?: boolean;
9
+ stdin?: boolean;
10
+ session?: string;
11
+ restore?: boolean;
12
+ maxChars?: string;
13
+ maxSkills?: string;
14
+ file?: string;
15
+ }
16
+ export declare function contextResolverOptions(options: ContextCommandOptions): SelectionResolverOptions;
17
+ export declare function registerContextCommands(parent: Command): void;
18
+ export declare function reportContextError(error: unknown, json?: boolean): void;
19
+ export declare function parseSkillContextInput(raw: string): SkillContextInput;
@@ -13,6 +13,7 @@ export declare function registerInstall(parent: Command): void;
13
13
  export declare function pinExactVersion(name: string, version: string, options: {
14
14
  useRemote: boolean;
15
15
  overwrite: boolean;
16
+ selectionProfile?: string;
16
17
  pull?: (spec: string) => Promise<{
17
18
  success: boolean;
18
19
  version?: string;
@@ -0,0 +1,10 @@
1
+ import { type SyncSelectionProfileOptions } from "../../lib/selection-resolver.js";
2
+ /** Command adapter for the top-level sync registrar; does not install native agent folders. */
3
+ export declare function handleProfileSync(options: {
4
+ selectionProfile?: string;
5
+ profile?: string;
6
+ project?: boolean;
7
+ station?: string;
8
+ check?: boolean;
9
+ json?: boolean;
10
+ }, dependencies?: SyncSelectionProfileOptions): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerProfiles(parent: Command): void;
@@ -1,5 +1,2 @@
1
- /**
2
- * run / mcp / self-update — runtime commands
3
- */
4
1
  import type { Command } from "commander";
5
2
  export declare function registerRuntime(parent: Command): void;
@@ -0,0 +1,2 @@
1
+ /** Finish pipe writes before an async command returns, including under backpressure. */
2
+ export declare function writeCliOutput(text: string, newline?: boolean): Promise<void>;
package/dist/index.d.ts CHANGED
@@ -54,3 +54,8 @@ export { WorkspaceInvitationInputError, RemoteWorkspaceInvitationError, RemoteWo
54
54
  export { InvitationEmailInputError, RemoteInvitationEmailError, RemoteInvitationEmailUnconfirmedError, type RequestInvitationEmailChallenge, type AcceptInvitationEmailChallenge, type RemoteInvitationEmailChallenge, type RemoteInvitationEmailAcceptance, type RemoteInvitationEmailErrorCode } from "./lib/remote-invitation-recovery.js";
55
55
  export { RemotePrivatePublicationsClient, PrivatePublicationError, PRIVATE_PUBLICATION_MAX_BYTES, type PrivatePublicationDeclaration, type PrivatePublicationView, type PrivatePublicationState, type PrivatePublishingCapability } from "./lib/remote-private-publications.js";
56
56
  export { preparePrivatePublication, readPrivatePublicationRecovery, continuePrivatePublication, inspectPrivatePublication, type PrivatePublicationRecovery, type PrivatePublicationResult } from "./lib/private-publication-recovery.js";
57
+ export { HttpProfileClient, createProfileClient, type ProfileClient } from "./lib/profile-client.js";
58
+ export type { SkillSelection, SkillProfile, ResolvedSkillSelection, ResolvedSkillProfile, StationSkillStateInput, StationSkillState } from "./types/skill-selection.js";
59
+ export { buildSkillContext } from "./lib/skill-context.js";
60
+ export { syncSelectionProfile } from "./lib/selection-resolver.js";
61
+ export { planAgentIntegration, applyAgentIntegration, inventoryNativeSkills, archiveNativeSkills } from "./lib/agent-integration.js";