@lssm/lib.identity-rbac 0.0.0-canary-20251217060804 → 0.0.0-canary-20251217062139

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 (137) hide show
  1. package/dist/contracts/dist/capabilities/openbanking.js +1 -0
  2. package/dist/contracts/dist/client/index.js +1 -0
  3. package/dist/contracts/dist/client/react/feature-render.js +1 -0
  4. package/dist/contracts/dist/client/react/form-render.js +1 -0
  5. package/dist/contracts/dist/client/react/index.js +1 -0
  6. package/dist/contracts/dist/contract-registry/index.js +1 -0
  7. package/dist/contracts/dist/contract-registry/schemas.js +1 -0
  8. package/dist/contracts/dist/docs/PUBLISHING.docblock.js +76 -0
  9. package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
  10. package/dist/contracts/dist/docs/index.js +1 -0
  11. package/dist/contracts/dist/docs/presentations.js +1 -0
  12. package/dist/contracts/dist/docs/registry.js +1 -0
  13. package/dist/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
  14. package/dist/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
  15. package/dist/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
  16. package/dist/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
  17. package/dist/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
  18. package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
  19. package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
  20. package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
  21. package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
  22. package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
  23. package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js +1 -0
  24. package/dist/contracts/dist/docs/tech/schema/README.docblock.js +262 -0
  25. package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js +1 -0
  26. package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
  27. package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
  28. package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
  29. package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js +1 -0
  30. package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
  31. package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
  32. package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
  33. package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js +41 -0
  34. package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
  35. package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js +1 -0
  36. package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js +68 -0
  37. package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js +1 -0
  38. package/dist/contracts/dist/events.js +1 -0
  39. package/dist/contracts/dist/experiments/evaluator.js +1 -0
  40. package/dist/contracts/dist/index.js +1 -0
  41. package/dist/contracts/dist/install.js +1 -0
  42. package/dist/contracts/dist/integrations/contracts.js +1 -0
  43. package/dist/contracts/dist/integrations/index.js +1 -0
  44. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
  45. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
  46. package/dist/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
  47. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
  48. package/dist/contracts/dist/integrations/openbanking/models.js +1 -0
  49. package/dist/contracts/dist/integrations/openbanking/telemetry.js +1 -0
  50. package/dist/contracts/dist/integrations/providers/elevenlabs.js +1 -0
  51. package/dist/contracts/dist/integrations/providers/gcs-storage.js +1 -0
  52. package/dist/contracts/dist/integrations/providers/gmail.js +1 -0
  53. package/dist/contracts/dist/integrations/providers/google-calendar.js +1 -0
  54. package/dist/contracts/dist/integrations/providers/index.js +1 -0
  55. package/dist/contracts/dist/integrations/providers/mistral.js +1 -0
  56. package/dist/contracts/dist/integrations/providers/postmark.js +1 -0
  57. package/dist/contracts/dist/integrations/providers/powens.js +1 -0
  58. package/dist/contracts/dist/integrations/providers/qdrant.js +1 -0
  59. package/dist/contracts/dist/integrations/providers/registry.js +1 -0
  60. package/dist/contracts/dist/integrations/providers/stripe.js +1 -0
  61. package/dist/contracts/dist/integrations/providers/twilio-sms.js +1 -0
  62. package/dist/contracts/dist/jsonschema.js +1 -0
  63. package/dist/contracts/dist/knowledge/contracts.js +1 -0
  64. package/dist/contracts/dist/knowledge/index.js +1 -0
  65. package/dist/contracts/dist/knowledge/spaces/email-threads.js +1 -0
  66. package/dist/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
  67. package/dist/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
  68. package/dist/contracts/dist/knowledge/spaces/index.js +1 -0
  69. package/dist/contracts/dist/knowledge/spaces/product-canon.js +1 -0
  70. package/dist/contracts/dist/knowledge/spaces/support-faq.js +1 -0
  71. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
  72. package/dist/contracts/dist/llm/exporters.js +1 -0
  73. package/dist/contracts/dist/llm/index.js +1 -0
  74. package/dist/contracts/dist/llm/prompts.js +1 -0
  75. package/dist/contracts/dist/onboarding-base.js +1 -0
  76. package/dist/contracts/dist/openapi.js +1 -0
  77. package/dist/contracts/dist/ownership.js +1 -0
  78. package/dist/contracts/dist/presentations.js +1 -0
  79. package/dist/contracts/dist/presentations.v2.js +1 -0
  80. package/dist/contracts/dist/prompt.js +1 -0
  81. package/dist/contracts/dist/promptRegistry.js +1 -0
  82. package/dist/contracts/dist/regenerator/index.js +1 -0
  83. package/dist/contracts/dist/regenerator/service.js +1 -0
  84. package/dist/contracts/dist/registry.js +1 -0
  85. package/dist/contracts/dist/resources.js +1 -0
  86. package/dist/contracts/dist/schema/dist/EnumType.js +1 -0
  87. package/dist/contracts/dist/schema/dist/FieldType.js +1 -0
  88. package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
  89. package/dist/contracts/dist/schema/dist/SchemaModel.js +1 -0
  90. package/dist/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  91. package/dist/contracts/dist/schema/dist/entity/index.js +1 -0
  92. package/dist/contracts/dist/schema/dist/entity/types.js +1 -0
  93. package/dist/contracts/dist/schema/dist/index.js +1 -0
  94. package/dist/contracts/dist/server/graphql-pothos.js +1 -0
  95. package/dist/contracts/dist/server/index.js +1 -0
  96. package/dist/contracts/dist/server/mcp/createMcpServer.js +1 -0
  97. package/dist/contracts/dist/server/mcp/registerPresentations.js +1 -0
  98. package/dist/contracts/dist/server/mcp/registerPrompts.js +1 -0
  99. package/dist/contracts/dist/server/mcp/registerResources.js +1 -0
  100. package/dist/contracts/dist/server/mcp/registerTools.js +1 -0
  101. package/dist/contracts/dist/server/provider-mcp.js +1 -0
  102. package/dist/contracts/dist/server/rest-elysia.js +1 -0
  103. package/dist/contracts/dist/server/rest-express.js +1 -0
  104. package/dist/contracts/dist/server/rest-generic.js +1 -0
  105. package/dist/contracts/dist/server/rest-next-app.js +1 -0
  106. package/dist/contracts/dist/server/rest-next-pages.js +1 -0
  107. package/dist/contracts/dist/spec.js +1 -0
  108. package/dist/contracts/dist/telemetry/index.js +1 -0
  109. package/dist/contracts/dist/telemetry/tracker.js +1 -0
  110. package/dist/contracts/dist/tests/index.js +1 -0
  111. package/dist/contracts/dist/tests/runner.js +1 -0
  112. package/dist/contracts/dist/workflow/index.js +1 -0
  113. package/dist/contracts/dist/workflow/runner.js +1 -0
  114. package/dist/contracts/organization.d.ts +193 -193
  115. package/dist/contracts/organization.js +1 -1
  116. package/dist/contracts/rbac.d.ts +126 -126
  117. package/dist/contracts/rbac.js +1 -1
  118. package/dist/contracts/user.d.ts +139 -139
  119. package/dist/contracts/user.js +1 -1
  120. package/dist/entities/index.d.ts +160 -160
  121. package/dist/entities/organization.d.ts +59 -59
  122. package/dist/entities/organization.js +1 -1
  123. package/dist/entities/rbac.d.ts +63 -63
  124. package/dist/entities/rbac.js +1 -1
  125. package/dist/entities/user.d.ts +67 -67
  126. package/dist/entities/user.js +1 -1
  127. package/dist/events.js +1 -1
  128. package/dist/index.d.ts +0 -1
  129. package/dist/schema/dist/EnumType.js +1 -0
  130. package/dist/schema/dist/FieldType.js +1 -0
  131. package/dist/schema/dist/ScalarTypeEnum.js +1 -0
  132. package/dist/schema/dist/SchemaModel.js +1 -0
  133. package/dist/schema/dist/entity/defineEntity.js +1 -0
  134. package/dist/schema/dist/entity/index.js +1 -0
  135. package/dist/schema/dist/entity/types.js +1 -0
  136. package/dist/schema/dist/index.js +1 -0
  137. package/package.json +5 -5
@@ -1 +1 @@
1
- import{SuccessResultModel as e}from"./user.js";import{ScalarTypeEnum as t,SchemaModel as n}from"@lssm/lib.schema";import{defineCommand as r,defineQuery as i}from"@lssm/lib.contracts";const a=[`platform.identity-rbac`],o=new n({name:`Organization`,description:`Organization details`,fields:{id:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!1},slug:{type:t.String_unsecure(),isOptional:!0},logo:{type:t.URL(),isOptional:!0},description:{type:t.String_unsecure(),isOptional:!0},type:{type:t.String_unsecure(),isOptional:!1},onboardingCompleted:{type:t.Boolean(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1}}}),s=new n({name:`MemberUser`,description:`Basic user info within a member`,fields:{id:{type:t.String_unsecure(),isOptional:!1},email:{type:t.EmailAddress(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!0}}}),c=new n({name:`Member`,description:`Organization member`,fields:{id:{type:t.String_unsecure(),isOptional:!1},userId:{type:t.String_unsecure(),isOptional:!1},organizationId:{type:t.String_unsecure(),isOptional:!1},role:{type:t.String_unsecure(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1},user:{type:s,isOptional:!1}}}),l=new n({name:`Invitation`,description:`Organization invitation`,fields:{id:{type:t.String_unsecure(),isOptional:!1},email:{type:t.EmailAddress(),isOptional:!1},role:{type:t.String_unsecure(),isOptional:!0},status:{type:t.String_unsecure(),isOptional:!1},expiresAt:{type:t.DateTime(),isOptional:!0},createdAt:{type:t.DateTime(),isOptional:!1}}}),u=new n({name:`CreateOrgInput`,description:`Input for creating an organization`,fields:{name:{type:t.NonEmptyString(),isOptional:!1},slug:{type:t.String_unsecure(),isOptional:!0},description:{type:t.String_unsecure(),isOptional:!0},type:{type:t.String_unsecure(),isOptional:!0}}}),d=new n({name:`GetOrgInput`,description:`Input for getting an organization`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1}}}),f=new n({name:`UpdateOrgInput`,description:`Input for updating an organization`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!0},slug:{type:t.String_unsecure(),isOptional:!0},logo:{type:t.URL(),isOptional:!0},description:{type:t.String_unsecure(),isOptional:!0}}}),p=new n({name:`InviteMemberInput`,description:`Input for inviting a member`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1},email:{type:t.EmailAddress(),isOptional:!1},role:{type:t.String_unsecure(),isOptional:!1},teamId:{type:t.String_unsecure(),isOptional:!0}}}),m=new n({name:`AcceptInviteInput`,description:`Input for accepting an invitation`,fields:{invitationId:{type:t.String_unsecure(),isOptional:!1}}}),h=new n({name:`RemoveMemberInput`,description:`Input for removing a member`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1},userId:{type:t.String_unsecure(),isOptional:!1}}}),g=new n({name:`MemberRemovedPayload`,description:`Payload for member removed event`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1},userId:{type:t.String_unsecure(),isOptional:!1}}}),_=new n({name:`ListMembersInput`,description:`Input for listing members`,fields:{orgId:{type:t.String_unsecure(),isOptional:!1},limit:{type:t.Int_unsecure(),isOptional:!0},offset:{type:t.Int_unsecure(),isOptional:!0}}}),v=new n({name:`ListMembersOutput`,description:`Output for listing members`,fields:{members:{type:c,isOptional:!1,isArray:!0},total:{type:t.Int_unsecure(),isOptional:!1}}}),y=new n({name:`OrganizationWithRole`,description:`Organization with user role`,fields:{id:{type:t.String_unsecure(),isOptional:!1},name:{type:t.String_unsecure(),isOptional:!1},slug:{type:t.String_unsecure(),isOptional:!0},logo:{type:t.URL(),isOptional:!0},description:{type:t.String_unsecure(),isOptional:!0},type:{type:t.String_unsecure(),isOptional:!1},onboardingCompleted:{type:t.Boolean(),isOptional:!1},createdAt:{type:t.DateTime(),isOptional:!1},role:{type:t.String_unsecure(),isOptional:!1}}}),b=new n({name:`ListUserOrgsOutput`,description:`Output for listing user organizations`,fields:{organizations:{type:y,isOptional:!1,isArray:!0}}}),x=r({meta:{name:`identity.org.create`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`create`],description:`Create a new organization.`,goal:`Allow users to create new organizations/workspaces.`,context:`Called during onboarding or when creating additional workspaces.`},io:{input:u,output:o,errors:{SLUG_EXISTS:{description:`An organization with this slug already exists`,http:409,gqlCode:`SLUG_EXISTS`,when:`Slug is already taken`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.created`,version:1,when:`Organization is created`,payload:o}],audit:[`org.created`]}}),S=i({meta:{name:`identity.org.get`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`get`],description:`Get organization details.`,goal:`Retrieve organization information.`,context:`Called when viewing organization settings or dashboard.`},io:{input:d,output:o},policy:{auth:`user`}}),C=r({meta:{name:`identity.org.update`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`update`],description:`Update organization details.`,goal:`Allow org admins to update organization settings.`,context:`Organization settings page.`},io:{input:f,output:o},policy:{auth:`user`},sideEffects:{emits:[{name:`org.updated`,version:1,when:`Organization is updated`,payload:o}],audit:[`org.updated`]}}),w=r({meta:{name:`identity.org.invite`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`invite`,`member`],description:`Invite a user to join the organization.`,goal:`Allow org admins to invite new members.`,context:`Team management. Sends invitation email.`},io:{input:p,output:l,errors:{ALREADY_MEMBER:{description:`User is already a member of this organization`,http:409,gqlCode:`ALREADY_MEMBER`,when:`Invitee is already a member`},INVITE_PENDING:{description:`An invitation for this email is already pending`,http:409,gqlCode:`INVITE_PENDING`,when:`Active invitation exists`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.invite.sent`,version:1,when:`Invitation is sent`,payload:l}],audit:[`org.invite.sent`]}}),T=r({meta:{name:`identity.org.invite.accept`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`invite`,`accept`],description:`Accept an organization invitation.`,goal:`Allow users to join organizations via invitation.`,context:`Called from invitation email link.`},io:{input:m,output:c,errors:{INVITE_EXPIRED:{description:`The invitation has expired`,http:410,gqlCode:`INVITE_EXPIRED`,when:`Invitation is past expiry date`},INVITE_USED:{description:`The invitation has already been used`,http:409,gqlCode:`INVITE_USED`,when:`Invitation was already accepted`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.member.added`,version:1,when:`Member joins org`,payload:c}],audit:[`org.member.added`]}}),E=r({meta:{name:`identity.org.member.remove`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`member`,`remove`],description:`Remove a member from the organization.`,goal:`Allow org admins to remove members.`,context:`Team management.`},io:{input:h,output:e,errors:{CANNOT_REMOVE_OWNER:{description:`Cannot remove the organization owner`,http:403,gqlCode:`CANNOT_REMOVE_OWNER`,when:`Target is the org owner`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.member.removed`,version:1,when:`Member is removed`,payload:g}],audit:[`org.member.removed`]}}),D=i({meta:{name:`identity.org.members.list`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`member`,`list`],description:`List organization members.`,goal:`View all members of an organization.`,context:`Team management page.`},io:{input:_,output:v},policy:{auth:`user`}}),O=i({meta:{name:`identity.org.list`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`list`],description:`List organizations the current user belongs to.`,goal:`Show user their organizations for workspace switching.`,context:`Workspace switcher, org selection.`},io:{input:null,output:b},policy:{auth:`user`}});export{T as AcceptInviteContract,m as AcceptInviteInputModel,x as CreateOrgContract,u as CreateOrgInputModel,S as GetOrgContract,d as GetOrgInputModel,l as InvitationModel,w as InviteMemberContract,p as InviteMemberInputModel,D as ListMembersContract,_ as ListMembersInputModel,v as ListMembersOutputModel,O as ListUserOrgsContract,b as ListUserOrgsOutputModel,c as MemberModel,g as MemberRemovedPayloadModel,s as MemberUserModel,o as OrganizationModel,y as OrganizationWithRoleModel,E as RemoveMemberContract,h as RemoveMemberInputModel,C as UpdateOrgContract,f as UpdateOrgInputModel};
1
+ import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{n,t as r}from"./dist/spec.js";import"./dist/index.js";import{SuccessResultModel as i}from"./user.js";const a=[`platform.identity-rbac`],o=new t({name:`Organization`,description:`Organization details`,fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!0},logo:{type:e.URL(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},type:{type:e.String_unsecure(),isOptional:!1},onboardingCompleted:{type:e.Boolean(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),s=new t({name:`MemberUser`,description:`Basic user info within a member`,fields:{id:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0}}}),c=new t({name:`Member`,description:`Organization member`,fields:{id:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},user:{type:s,isOptional:!1}}}),l=new t({name:`Invitation`,description:`Organization invitation`,fields:{id:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),u=new t({name:`CreateOrgInput`,description:`Input for creating an organization`,fields:{name:{type:e.NonEmptyString(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},type:{type:e.String_unsecure(),isOptional:!0}}}),d=new t({name:`GetOrgInput`,description:`Input for getting an organization`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1}}}),f=new t({name:`UpdateOrgInput`,description:`Input for updating an organization`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},slug:{type:e.String_unsecure(),isOptional:!0},logo:{type:e.URL(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0}}}),p=new t({name:`InviteMemberInput`,description:`Input for inviting a member`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},email:{type:e.EmailAddress(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},teamId:{type:e.String_unsecure(),isOptional:!0}}}),m=new t({name:`AcceptInviteInput`,description:`Input for accepting an invitation`,fields:{invitationId:{type:e.String_unsecure(),isOptional:!1}}}),h=new t({name:`RemoveMemberInput`,description:`Input for removing a member`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1}}}),g=new t({name:`MemberRemovedPayload`,description:`Payload for member removed event`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!1}}}),_=new t({name:`ListMembersInput`,description:`Input for listing members`,fields:{orgId:{type:e.String_unsecure(),isOptional:!1},limit:{type:e.Int_unsecure(),isOptional:!0},offset:{type:e.Int_unsecure(),isOptional:!0}}}),v=new t({name:`ListMembersOutput`,description:`Output for listing members`,fields:{members:{type:c,isOptional:!1,isArray:!0},total:{type:e.Int_unsecure(),isOptional:!1}}}),y=new t({name:`OrganizationWithRole`,description:`Organization with user role`,fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!0},logo:{type:e.URL(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},type:{type:e.String_unsecure(),isOptional:!1},onboardingCompleted:{type:e.Boolean(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1}}}),b=new t({name:`ListUserOrgsOutput`,description:`Output for listing user organizations`,fields:{organizations:{type:y,isOptional:!1,isArray:!0}}}),x=r({meta:{name:`identity.org.create`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`create`],description:`Create a new organization.`,goal:`Allow users to create new organizations/workspaces.`,context:`Called during onboarding or when creating additional workspaces.`},io:{input:u,output:o,errors:{SLUG_EXISTS:{description:`An organization with this slug already exists`,http:409,gqlCode:`SLUG_EXISTS`,when:`Slug is already taken`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.created`,version:1,when:`Organization is created`,payload:o}],audit:[`org.created`]}}),S=n({meta:{name:`identity.org.get`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`get`],description:`Get organization details.`,goal:`Retrieve organization information.`,context:`Called when viewing organization settings or dashboard.`},io:{input:d,output:o},policy:{auth:`user`}}),C=r({meta:{name:`identity.org.update`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`update`],description:`Update organization details.`,goal:`Allow org admins to update organization settings.`,context:`Organization settings page.`},io:{input:f,output:o},policy:{auth:`user`},sideEffects:{emits:[{name:`org.updated`,version:1,when:`Organization is updated`,payload:o}],audit:[`org.updated`]}}),w=r({meta:{name:`identity.org.invite`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`invite`,`member`],description:`Invite a user to join the organization.`,goal:`Allow org admins to invite new members.`,context:`Team management. Sends invitation email.`},io:{input:p,output:l,errors:{ALREADY_MEMBER:{description:`User is already a member of this organization`,http:409,gqlCode:`ALREADY_MEMBER`,when:`Invitee is already a member`},INVITE_PENDING:{description:`An invitation for this email is already pending`,http:409,gqlCode:`INVITE_PENDING`,when:`Active invitation exists`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.invite.sent`,version:1,when:`Invitation is sent`,payload:l}],audit:[`org.invite.sent`]}}),T=r({meta:{name:`identity.org.invite.accept`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`invite`,`accept`],description:`Accept an organization invitation.`,goal:`Allow users to join organizations via invitation.`,context:`Called from invitation email link.`},io:{input:m,output:c,errors:{INVITE_EXPIRED:{description:`The invitation has expired`,http:410,gqlCode:`INVITE_EXPIRED`,when:`Invitation is past expiry date`},INVITE_USED:{description:`The invitation has already been used`,http:409,gqlCode:`INVITE_USED`,when:`Invitation was already accepted`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.member.added`,version:1,when:`Member joins org`,payload:c}],audit:[`org.member.added`]}}),E=r({meta:{name:`identity.org.member.remove`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`member`,`remove`],description:`Remove a member from the organization.`,goal:`Allow org admins to remove members.`,context:`Team management.`},io:{input:h,output:i,errors:{CANNOT_REMOVE_OWNER:{description:`Cannot remove the organization owner`,http:403,gqlCode:`CANNOT_REMOVE_OWNER`,when:`Target is the org owner`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`org.member.removed`,version:1,when:`Member is removed`,payload:g}],audit:[`org.member.removed`]}}),D=n({meta:{name:`identity.org.members.list`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`member`,`list`],description:`List organization members.`,goal:`View all members of an organization.`,context:`Team management page.`},io:{input:_,output:v},policy:{auth:`user`}}),O=n({meta:{name:`identity.org.list`,version:1,stability:`stable`,owners:[...a],tags:[`identity`,`org`,`list`],description:`List organizations the current user belongs to.`,goal:`Show user their organizations for workspace switching.`,context:`Workspace switcher, org selection.`},io:{input:null,output:b},policy:{auth:`user`}});export{T as AcceptInviteContract,m as AcceptInviteInputModel,x as CreateOrgContract,u as CreateOrgInputModel,S as GetOrgContract,d as GetOrgInputModel,l as InvitationModel,w as InviteMemberContract,p as InviteMemberInputModel,D as ListMembersContract,_ as ListMembersInputModel,v as ListMembersOutputModel,O as ListUserOrgsContract,b as ListUserOrgsOutputModel,c as MemberModel,g as MemberRemovedPayloadModel,s as MemberUserModel,o as OrganizationModel,y as OrganizationWithRoleModel,E as RemoveMemberContract,h as RemoveMemberInputModel,C as UpdateOrgContract,f as UpdateOrgInputModel};