@hasna/skills 0.5.10 → 0.6.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 (50) hide show
  1. package/README.md +95 -53
  2. package/bin/index.js +3467 -1460
  3. package/bin/mcp.js +2638 -1713
  4. package/bin/migrate.js +110 -7
  5. package/bin/server.js +5487 -216
  6. package/bin/worker.js +372 -17
  7. package/dist/admin-contract.d.ts +13 -13
  8. package/dist/admin-contract.js +13 -13
  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/index.d.ts +5 -0
  15. package/dist/index.js +1273 -331
  16. package/dist/lib/agent-integration.d.ts +74 -0
  17. package/dist/lib/cloud-executions.d.ts +39 -0
  18. package/dist/lib/managed-policy.d.ts +6 -0
  19. package/dist/lib/profile-admin.d.ts +4 -0
  20. package/dist/lib/profile-client.d.ts +19 -0
  21. package/dist/lib/read-access.d.ts +3 -23
  22. package/dist/lib/selected-document.d.ts +6 -0
  23. package/dist/lib/selected-run.d.ts +31 -0
  24. package/dist/lib/selection-cache.d.ts +40 -0
  25. package/dist/lib/selection-resolver.d.ts +75 -0
  26. package/dist/lib/skill-context.d.ts +43 -0
  27. package/dist/lib/skillinfo.d.ts +2 -0
  28. package/dist/sdk/execution/dispatchers/ecs.d.ts +8 -0
  29. package/dist/sdk/index.d.ts +2 -0
  30. package/dist/sdk/index.js +9791 -8152
  31. package/dist/server/app.d.ts +7 -1
  32. package/dist/server/artifact-storage.d.ts +7 -10
  33. package/dist/server/auth.d.ts +2 -0
  34. package/dist/server/config.d.ts +2 -0
  35. package/dist/server/profile-api.d.ts +3 -0
  36. package/dist/server/runtime-api.d.ts +31 -0
  37. package/dist/server/runtime-policy.d.ts +25 -0
  38. package/dist/server/runtime-store.d.ts +73 -0
  39. package/dist/server/runtime-worker.d.ts +19 -0
  40. package/dist/server/selection-store.d.ts +39 -0
  41. package/dist/server/sqlite-store.d.ts +2 -0
  42. package/dist/server/store.d.ts +3 -0
  43. package/dist/server/types.d.ts +3 -0
  44. package/dist/storage.js +3 -0
  45. package/dist/types/skill-selection.d.ts +41 -0
  46. package/migrations/postgres/0007_skill_profiles.sql +19 -0
  47. package/migrations/postgres/0008_skill_runtime.sql +14 -0
  48. package/migrations/sqlite/0007_skill_profiles.sql +19 -0
  49. package/migrations/sqlite/0008_skill_runtime.sql +14 -0
  50. package/package.json +3 -2
@@ -4373,24 +4373,24 @@ var SKILLS_ADMIN_OPERATIONS = {
4373
4373
  status: operation({ ...contractDefaults, method: "GET", path: "/api/v1/status", responseSchema: SkillsAdminStatusResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4374
4374
  bootstrapSync: operation({ ...contractDefaults, method: "POST", path: "/api/v1/admin/sync", responseSchema: SkillsAdminSyncResponseSchema, successStatuses: [200], errorStatuses: [401, 403, 429, 500, 502, 503, 504] }),
4375
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] }),
4376
- 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] }),
4377
- 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] }),
4378
- 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] }),
4379
- 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] }),
4380
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] }),
4381
- 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] }),
4382
- 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] }),
4383
- 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] }),
4384
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] }),
4385
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] }),
4386
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] }),
4387
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] }),
4388
- runsList: operation({ ...contractDefaults, method: "GET", path: "/api/v1/admin/runs", querySchema: SkillsAdminOrganizationQuerySchema, responseSchema: SkillsAdminListRunsResponseSchema, successStatuses: [200], errorStatuses: [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: [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: [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: [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: [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: [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] })
4394
4394
  };
4395
4395
  export {
4396
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;
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";