@aephia/atlas-kit 0.6.0-next.3 → 0.6.0-next.5

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 (37) hide show
  1. package/README.md +2 -0
  2. package/dist/factions/actions/index.d.ts +33 -0
  3. package/dist/factions/actions/index.d.ts.map +1 -0
  4. package/dist/factions/actions/index.js +121 -0
  5. package/dist/factions/actions/index.js.map +1 -0
  6. package/dist/factions/index.d.ts +1 -0
  7. package/dist/factions/index.d.ts.map +1 -1
  8. package/dist/factions/index.js +1 -0
  9. package/dist/factions/index.js.map +1 -1
  10. package/dist/factions/profile-faction.d.ts +46 -0
  11. package/dist/factions/profile-faction.d.ts.map +1 -0
  12. package/dist/factions/profile-faction.js +51 -0
  13. package/dist/factions/profile-faction.js.map +1 -0
  14. package/dist/identity/actions/index.d.ts +35 -0
  15. package/dist/identity/actions/index.d.ts.map +1 -0
  16. package/dist/identity/actions/index.js +108 -0
  17. package/dist/identity/actions/index.js.map +1 -0
  18. package/dist/internal/c4/character-registration.d.ts +9 -0
  19. package/dist/internal/c4/character-registration.d.ts.map +1 -0
  20. package/dist/internal/c4/character-registration.js +21 -0
  21. package/dist/internal/c4/character-registration.js.map +1 -0
  22. package/dist/internal/c4/faction-enrollment.d.ts +6 -0
  23. package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
  24. package/dist/internal/c4/faction-enrollment.js +8 -0
  25. package/dist/internal/c4/faction-enrollment.js.map +1 -0
  26. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  27. package/dist/internal/c4/profile-faction.js +2 -0
  28. package/dist/internal/c4/profile-faction.js.map +1 -1
  29. package/dist/internal/planning/faction-enrollment.d.ts +12 -0
  30. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
  31. package/dist/internal/planning/faction-enrollment.js +73 -0
  32. package/dist/internal/planning/faction-enrollment.js.map +1 -0
  33. package/dist/registry/onboarding.d.ts +4 -0
  34. package/dist/registry/onboarding.d.ts.map +1 -0
  35. package/dist/registry/onboarding.js +19 -0
  36. package/dist/registry/onboarding.js.map +1 -0
  37. package/package.json +9 -1
package/README.md CHANGED
@@ -72,9 +72,11 @@ const systems = await getStarSystems(ctx);
72
72
  | `@aephia/atlas-kit/crafting` | Recipes, Crafting Habs, Processes, and production state |
73
73
  | `@aephia/atlas-kit/crafting/actions` | Address-only Crafting Process lifecycle planning |
74
74
  | `@aephia/atlas-kit/factions` | Faction identity, economics, diplomacy, and territory |
75
+ | `@aephia/atlas-kit/factions/actions` | Address-only first faction enrollment planning for an existing Profile |
75
76
  | `@aephia/atlas-kit/fleets` | Fleets, composition, movement state, and relationships |
76
77
  | `@aephia/atlas-kit/fleets/actions` | Inspectable Fleet movement and arrival-settlement planners |
77
78
  | `@aephia/atlas-kit/identity` | Wallet, Profile, Character, progression, and research reads |
79
+ | `@aephia/atlas-kit/identity/actions` | Address-only Character registration for an existing Profile, with an explicit funder |
78
80
  | `@aephia/atlas-kit/loyalty` | Loyalty epochs, contributions, banks, and lifecycle |
79
81
  | `@aephia/atlas-kit/loyalty/actions` | Address-only full-balance Loyalty ATLAS claim planning |
80
82
  | `@aephia/atlas-kit/markets` | Local Market orders, maker state, and discovery |
@@ -0,0 +1,33 @@
1
+ import type { SageContext } from '../../client/contracts.js';
2
+ import { type PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
3
+ import { type Plan } from '../../planning/index.js';
4
+ /** Playable factions offered for initial enrollment; the raw unaligned enum is intentionally excluded.
5
+ * @example
6
+ * ```ts
7
+ * const faction: PlayableFaction = 'ustur';
8
+ * ```
9
+ */
10
+ export type PlayableFaction = 'mud' | 'oni' | 'ustur';
11
+ /** Explicit initial faction choice and address-only Profile authorization; no independent payer.
12
+ * @example
13
+ * ```ts
14
+ * declare const authorization: PlanAuthorization;
15
+ * const options: PlanChooseFactionOptions = { faction:'ustur', authorization };
16
+ * ```
17
+ */
18
+ export interface PlanChooseFactionOptions {
19
+ readonly faction: PlayableFaction;
20
+ readonly authorization: PlanAuthorization;
21
+ }
22
+ /** Plans initial faction enrollment, spending only the existing Profile vault's observed storage funding.
23
+ * No account is created or funded until explicit execution. Existing enrollment is never changed.
24
+ * @example
25
+ * ```ts
26
+ * declare const ctx: SageContext;
27
+ * declare const authorization: PlanAuthorization;
28
+ * const plan=await planChooseFaction(ctx,{faction:'ustur',authorization});
29
+ * console.log(plan.describe());
30
+ * ```
31
+ */
32
+ export declare function planChooseFaction(ctx: SageContext, options: PlanChooseFactionOptions): Promise<Plan>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factions/actions/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQzE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAU1D,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AACtD;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AA+CD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAkHf"}
@@ -0,0 +1,121 @@
1
+ import { isAddress } from '@solana/kit';
2
+ import { PROFILE_FACTION_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../../internal/c4/faction-enrollment.js';
3
+ import { InvalidActionInputError } from '../../client/errors.js';
4
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
5
+ import { profileAccountDefinition } from '../../internal/c4/identity.js';
6
+ import { deriveProfileFactionAddress, profileFactionAccountDefinition, } from '../../internal/c4/profile-faction.js';
7
+ import { validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
8
+ import { adaptChooseFaction, CLOCK_ADDRESS, RENT_ADDRESS, enrollmentFailure, observeEnrollmentAccount, readClock, readRent, } from '../../internal/planning/faction-enrollment.js';
9
+ import { createPlan } from '../../planning/index.js';
10
+ function validate(value) {
11
+ if (value === null ||
12
+ typeof value !== 'object' ||
13
+ Array.isArray(value) ||
14
+ Object.keys(value).some((k) => !['faction', 'authorization'].includes(k)) ||
15
+ !['mud', 'oni', 'ustur'].includes(value.faction))
16
+ throw new InvalidActionInputError('options', value, 'a playable initial faction and Profile authorization only', 'Pass { faction: mud, oni, or ustur, authorization }; funding and faction changes are separate operations.');
17
+ const auth = value.authorization;
18
+ if (!auth ||
19
+ typeof auth !== 'object' ||
20
+ Array.isArray(auth) ||
21
+ Object.keys(auth).some((k) => !['profile', 'authority', 'keyIndex', 'certificate'].includes(k)) ||
22
+ typeof auth.profile !== 'string' ||
23
+ !isAddress(auth.profile) ||
24
+ typeof auth.authority !== 'string' ||
25
+ !isAddress(auth.authority) ||
26
+ (auth.certificate !== undefined &&
27
+ (typeof auth.certificate !== 'string' || !isAddress(auth.certificate))))
28
+ throw new InvalidActionInputError('authorization', auth, 'valid Profile, authority, keyIndex and optional certificate addresses', 'Supply the existing Profile authorization and retry initial enrollment.');
29
+ validatePlanAuthorization(auth);
30
+ }
31
+ function required(value, address) {
32
+ return (value ??
33
+ enrollmentFailure(`Enrollment prerequisite ${address} is missing. Create the Profile separately or refresh the deployment sysvars before retrying.`, address));
34
+ }
35
+ /** Plans initial faction enrollment, spending only the existing Profile vault's observed storage funding.
36
+ * No account is created or funded until explicit execution. Existing enrollment is never changed.
37
+ * @example
38
+ * ```ts
39
+ * declare const ctx: SageContext;
40
+ * declare const authorization: PlanAuthorization;
41
+ * const plan=await planChooseFaction(ctx,{faction:'ustur',authorization});
42
+ * console.log(plan.describe());
43
+ * ```
44
+ */
45
+ export async function planChooseFaction(ctx, options) {
46
+ validate(options);
47
+ const { authorization, faction } = options;
48
+ const target = await deriveProfileFactionAddress(authorization.profile);
49
+ const [profileCandidate, targetRaw, rentCandidate, clockCandidate] = await readContextRawAccounts(ctx, [
50
+ authorization.profile,
51
+ target,
52
+ RENT_ADDRESS,
53
+ CLOCK_ADDRESS,
54
+ ]);
55
+ const profileRaw = required(profileCandidate, authorization.profile);
56
+ if (profileRaw.executable)
57
+ enrollmentFailure('The Profile account is executable. Use a valid Player Profile before enrollment.', profileRaw.address);
58
+ const profile = profileAccountDefinition.decode(profileRaw);
59
+ if (targetRaw) {
60
+ if (targetRaw.executable)
61
+ enrollmentFailure('The derived faction enrollment account is executable. Verify the deployment before retrying.', target);
62
+ const existing = profileFactionAccountDefinition.decode(targetRaw);
63
+ if (existing.profile !== authorization.profile)
64
+ enrollmentFailure('The derived faction enrollment belongs to a different Profile. Verify the Profile and deployment before retrying.', target);
65
+ enrollmentFailure(`This Profile is already enrolled as ${existing.faction}. Read and reuse its existing enrollment; this planner does not change factions.`, target);
66
+ }
67
+ const rentRaw = required(rentCandidate, RENT_ADDRESS), clockRaw = required(clockCandidate, CLOCK_ADDRESS);
68
+ const minimum = readRent(rentRaw), now = readClock(clockRaw);
69
+ const key = profile.keys[authorization.keyIndex];
70
+ if (!key)
71
+ enrollmentFailure('The selected Profile key index does not exist. Refresh the Profile and choose an existing key before enrollment.', profileRaw.address);
72
+ const direct = key.address === authorization.authority;
73
+ const observed = [profileRaw, rentRaw];
74
+ const warnings = [
75
+ 'Profile vault funding is an observation, not a reservation. Its balance and chain time may change; simulate before signing.',
76
+ ];
77
+ if (direct) {
78
+ if (key.expiresAtRaw >= 0n && key.expiresAtRaw < now)
79
+ enrollmentFailure('The selected Profile key is expired. Choose a current authorized key before enrollment.', profileRaw.address);
80
+ const auth = key.scope === PLAYER_PROFILE_PROGRAM_ADDRESS &&
81
+ (key.permissionsRaw & 1n) !== 0n;
82
+ const scoped = key.scope === PROFILE_FACTION_PROGRAM_ADDRESS &&
83
+ (key.permissionsRaw & ((1n << 63n) | 1n)) === ((1n << 63n) | 1n);
84
+ if (!auth && !scoped)
85
+ enrollmentFailure('The selected key lacks initial faction permission or Profile vault access. Use Profile AUTH or a faction-scoped key with SET_FACTION and DRAIN_SOL_VAULT.', profileRaw.address);
86
+ }
87
+ else if (authorization.certificate !== undefined) {
88
+ const [certificate] = await readContextRawAccounts(ctx, [
89
+ authorization.certificate,
90
+ ]);
91
+ if (certificate)
92
+ observed.push(certificate);
93
+ warnings.push('Certificate-based authority is not resolved locally. The Profile program must accept the supplied certificate and key index during simulation and execution.');
94
+ }
95
+ else
96
+ enrollmentFailure('The selected Profile key does not match the authority. Refresh the Profile and choose the correct key index or provide its supported authorization certificate.', profileRaw.address);
97
+ const reserve = minimum(profileRaw.data.length), funding = minimum(43);
98
+ if (profileRaw.lamports < reserve + funding)
99
+ enrollmentFailure(`Profile ${authorization.profile} needs ${reserve + funding - profileRaw.lamports} more native lamports in its on-chain vault for enrollment while retaining its own storage reserve. Fund that Profile separately, refresh it, and retry.`, profileRaw.address);
100
+ const preconditions = await Promise.all(observed.map(observeEnrollmentAccount));
101
+ return createPlan({
102
+ kind: 'faction.choose',
103
+ summary: `Enroll Profile ${authorization.profile} in ${faction}.`,
104
+ preconditions: [
105
+ ...preconditions,
106
+ {
107
+ kind: 'account-absent',
108
+ address: target,
109
+ describes: 'Initial faction enrollment remains absent; reuse an existing enrollment instead of overwriting it.',
110
+ },
111
+ ],
112
+ steps: [
113
+ {
114
+ instruction: adaptChooseFaction(authorization, target, { mud: 1, oni: 2, ustur: 3 }[faction]),
115
+ signers: [authorization.authority],
116
+ describes: `Create initial ${faction} enrollment at ${target}; the Profile vault provides ${funding} native lamports of account storage funding, separate from transaction fees. ${warnings.join(' ')}`,
117
+ },
118
+ ],
119
+ });
120
+ }
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factions/actions/index.ts"],"names":[],"mappings":"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"}
@@ -289,4 +289,5 @@ export declare function getKingSystems(context: SageContext, options?: ReadOptio
289
289
  * ```
290
290
  */
291
291
  export declare function getTerritoryRegions(context: SageContext, options?: ReadOptions): Promise<TerritoryRegionsSnapshot>;
292
+ export { getProfileFactionForProfile, maybeGetProfileFactionForProfile, type ProfileFactionAlignment, type ProfileFactionSnapshot, } from './profile-faction.js';
292
293
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAqBL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iCAAiC,EACtC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC9B,MAAM,4BAA4B,CAAC;AAMpC;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,gBAAgB,EAChB,SAAS,GAAG,UAAU,CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,kBAAkB,EAChB,MAAM,GACN,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,0BAA0B,CAC7B;IACC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,iCAAiC,EACjC,MAAM,CACP;IACC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,iCAAiC,EACjC,MAAM,CACP;IACC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,0BAA0B,EAC1B,MAAM,GAAG,SAAS,GAAG,+BAA+B,CACrD;IACC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAChD,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,0BAA0B,EAC1B,MAAM,CACP;IACC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,2BAA2B,EACzB,MAAM,GACN,OAAO,GACP,sBAAsB,GACtB,6BAA6B,GAC7B,2BAA2B,GAC3B,0BAA0B,GAC1B,0BAA0B,CAC7B;IACC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,4BAA4B,EAC5B,MAAM,GAAG,SAAS,CACnB;IACC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAClD,iBAAiB,EACjB,SAAS,GAAG,aAAa,CAC1B;IACC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACxD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,wBAAwB,EACxB,MAAM,GAAG,SAAS,CACnB;IACC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,MAAM,IAAI,OAAO,CAAC;CACnB;AAiRD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,CAAC,CAgB1B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAS5C;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAWnC;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAWnC;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAoB9C;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAgBlC;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CA+B/C;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,gCAAgC,GACzC,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAU9C;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAoB9B;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CA0BnC;AAED,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC"}
@@ -331,4 +331,5 @@ export async function getTerritoryRegions(context, options) {
331
331
  }))),
332
332
  }, envelope);
333
333
  }
334
+ export { getProfileFactionForProfile, maybeGetProfileFactionForProfile, } from './profile-faction.js';
334
335
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,SAAS,GAQV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,mCAAmC,EACnC,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,EAC1B,gCAAgC,EAChC,wBAAwB,EACxB,8BAA8B,EAC9B,uCAAuC,EACvC,iCAAiC,EACjC,uCAAuC,EACvC,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,GAa/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAoQ1E,MAAM,SAAS,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEhD,SAAS,QAAQ,CACf,QAAmC,EACnC,WAAiC,SAAS;IAE1C,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,OAAoB,EACpB,QAAsD;IAEtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CAAC,kDAAkD,CAAC,EAClE,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,yBAAyB,IAAI,mDAAmD,CAClK,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,QAAmC,EACnC,MAAe;IAEf,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAa,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAChB,KAAQ,EACR,QAAmC,EACnC,WAAiC,SAAS;IAE1C,OAAO,sBAAsB,CAC3B,cAAc,CACZ,uBAAuB,CAAC,KAAK,CAAC,EAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAoB,EACpB,QAA8C;IAE9C,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC3B,MAAM,EACJ,cAAc,EACd,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,eAAe,EACf,GAAG,IAAI,EACR,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClB,OAAO,SAAS,CACd;YACE,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;YACtD,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YAC9C,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YAClD,IAAI,EAAE,SAAkB;YACxB,GAAG,CAAC,wBAAwB,KAAK,IAAI;gBACnC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;YACjC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1C,GAAG,CAAC,eAAe,KAAK,IAAI;gBAC1B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;SAChE,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CACrB,IAAa,EACb,QAAoD;IAEpD,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC3B,SAAS,CACP;QACE,GAAG,QAAQ,CAAC,IAAI;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,eAAwB;KAC/B,EACD,QAAQ,CACT,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoB,EACpB,QAA6D;IAE7D,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxC,OAAO,SAAS,CACd;YACE,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,IAAI,EAAE,wBAAiC;SACxC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoB,EACpB,QAA6D;IAE7D,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxC,OAAO,SAAS,CACd;YACE,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,IAAI,EAAE,wBAAiC;SACxC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAoB,EACpB,QAAsD;IAEtD,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,GAAG,IAAI,EAAE,GAC7D,QAAQ,CAAC,IAAI,CAAC;QAChB,OAAO,SAAS,CACd;YACE,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,IAAI,EAAE,iBAA0B;YAChC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;YACtC,GAAG,CAAC,6BAA6B,KAAK,IAAI;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,6BAA6B,EAAE,CAAC;SACvC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAoB,EACpB,QAAsD;IAEtD,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxC,OAAO,SAAS,CACd;YACE,GAAG,IAAI;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7B,IAAI,EAAE,iBAA0B;SACjC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoB,EACpB,QAAuD,EACvD,QAA8B;IAE9B,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,MAAM,EACJ,KAAK,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,IAAI,EACJ,wBAAwB,EACxB,2BAA2B,EAC3B,GAAG,IAAI,EACR,GAAG,QAAQ,CAAC,IAAI,CAAC;IAClB,OAAO,SAAS,CACd;QACE,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EACH,KAAK,CAAC,IAAI,KAAK,UAAU;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YACrE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBAC9D,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;QACtD,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,kBAA2B;QACjC,GAAG,CAAC,wBAAwB,KAAK,IAAI;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;QACjC,GAAG,CAAC,yBAAyB,KAAK,IAAI;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC;QAClC,GAAG,CAAC,oBAAoB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAClE,GAAG,CAAC,wBAAwB,KAAK,IAAI;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;QACjC,GAAG,CAAC,2BAA2B,KAAK,IAAI;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,2BAA2B,EAAE,CAAC;KACrC,EACD,QAAQ,EACR,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAa,EACb,OAGG;IAEH,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QAC5C,MAAM,EAAE,SAAS,CACf,YAAY,EACZ,MAAM,8BAA8B,CAAC,IAAI,EAAE,QAAQ,CAAC,CACrD;QACD,QAAQ;KACT,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAa,EACb,OAAqC;IAErC,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,MAAM;QACT,MAAM,EAAE,SAAS,CACf,YAAY,EACZ,MAAM,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC5D;KACF,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAoB,EACpB,SAAiB,EACjB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,wBAAwB,EACxB,OAAO,EACP,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CAC1B,SAAS,EACT,OAAO,EACP,IAAI,UAAU,CAAC,wCAAwC,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoB,EACpB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,8BAA8B,EAC9B,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAoB,EACpB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,iBAAiB,CACtB,OAAO,EACP,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACrB,uCAAuC,EACvC,OAAO,EACP,OAAO,CACR,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAoB,EACpB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,iBAAiB,CACtB,OAAO,EACP,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACrB,uCAAuC,EACvC,OAAO,EACP,OAAO,CACR,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAoB,EACpB,OAAgB,EAChB,SAAiB,EACjB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,gCAAgC,EAChC,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,IACE,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO;QACjC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EACrC,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,EACjB,OAAO,EACP,IAAI,UAAU,CAAC,sDAAsD,CAAC,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAoB,EACpB,SAAiB,EACjB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,gCAAgC,EAChC,OAAO,EACP,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CAC1B,iBAAiB,EACjB,OAAO,EACP,IAAI,UAAU,CAAC,wDAAwD,CAAC,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAoB,EACpB,KAA4B,EAC5B,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;QACvE,CAAC,CAAC,MAAM,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,iCAAiC,EACjC,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,eAAe,GACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACvC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACrC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACjD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;gBACvC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;oBACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO;gBAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;oBACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;oBACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,OAAO,EACP,IAAI,UAAU,CAAC,oDAAoD,CAAC,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAoB,EACpB,IAA0B,EAC1B,OAA0C;IAE1C,MAAM,SAAS,GAAG,MAAM,gCAAgC,CACtD,OAAO,EACP,IAAI,EACJ,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3C,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAClE,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAoB,EACpB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,kCAAkC,EAClC,OAAO,EACP,OAAO,CACR,CAAC;IACF,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7D,OAAO,SAAS,CACd;QACE,GAAG,IAAI;QACP,OAAO;QACP,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;QACnC,IAAI,EAAE,mBAA4B;QAClC,OAAO,EAAE,MAAM,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;KACrD,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAoB,EACpB,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CACtC,8BAA8B,EAC9B,OAAO,EACP,OAAO,CACR,CAAC;IACF,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7D,OAAO,SAAS,CACd;QACE,GAAG,IAAI;QACP,OAAO;QACP,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;QACnC,IAAI,EAAE,eAAwB;QAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,MAAM;YACT,WAAW,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;YAChE,OAAO,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC;SACzD,CAAC,CAAC,CACJ;KACF,EACD,QAAQ,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { Address, ReadOptions, SageContext } from '../client/contracts.js';
2
+ import { type EntityRef } from '../client/refs.js';
3
+ /** Stored Profile enrollment, including unaligned state that the initial-choice planner does not offer.
4
+ * @example
5
+ * ```ts
6
+ * const alignment: ProfileFactionAlignment = 'ustur';
7
+ * ```
8
+ */
9
+ export type ProfileFactionAlignment = 'unaligned' | 'mud' | 'oni' | 'ustur';
10
+ /** Immutable faction enrollment associated with a Profile across Games.
11
+ * @example
12
+ * ```ts
13
+ * declare const enrollment: ProfileFactionSnapshot;
14
+ * console.log(enrollment.profile.address, enrollment.faction);
15
+ * ```
16
+ */
17
+ export interface ProfileFactionSnapshot {
18
+ readonly kind: 'profileFaction';
19
+ readonly address: Address;
20
+ readonly profile: EntityRef<'profile'>;
21
+ readonly faction: ProfileFactionAlignment;
22
+ readonly factionId: number;
23
+ readonly version: number;
24
+ toJSON(): unknown;
25
+ }
26
+ /** Derives and reads a Profile's existing faction enrollment without loading Game.
27
+ * @example
28
+ * ```ts
29
+ * declare const ctx: SageContext;
30
+ * declare const profile: Address;
31
+ * const enrollment = await getProfileFactionForProfile(ctx, profile);
32
+ * console.log(enrollment.faction);
33
+ * ```
34
+ */
35
+ export declare function getProfileFactionForProfile(ctx: SageContext, profile: Address, options?: ReadOptions): Promise<ProfileFactionSnapshot>;
36
+ /** Reads optional Profile enrollment; absence is undefined, malformed accounts still fail.
37
+ * @example
38
+ * ```ts
39
+ * declare const ctx: SageContext;
40
+ * declare const profile: Address;
41
+ * const enrollment = await maybeGetProfileFactionForProfile(ctx, profile);
42
+ * console.log(enrollment?.faction ?? 'not enrolled');
43
+ * ```
44
+ */
45
+ export declare function maybeGetProfileFactionForProfile(ctx: SageContext, profile: Address, options?: ReadOptions): Promise<ProfileFactionSnapshot | undefined>;
46
+ //# sourceMappingURL=profile-faction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-faction.d.ts","sourceRoot":"","sources":["../../src/factions/profile-faction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAW9D;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,MAAM,IAAI,OAAO,CAAC;CACnB;AAiCD;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,sBAAsB,CAAC,CAMjC;AACD;;;;;;;;GAQG;AACH,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAQ7C"}
@@ -0,0 +1,51 @@
1
+ import { entityRef } from '../client/refs.js';
2
+ import { AccountDecodeError } from '../client/errors.js';
3
+ import { deriveProfileFactionAddress, profileFactionAccountDefinition, } from '../internal/c4/profile-faction.js';
4
+ import { attachJsonSerialization } from '../internal/json.js';
5
+ import { attachReadMeta } from '../internal/read-meta.js';
6
+ import { freezeResolvedSnapshot } from '../internal/resolved-snapshot.js';
7
+ function snapshot(envelope, profile) {
8
+ if (envelope.data.profile !== profile)
9
+ throw new AccountDecodeError('profileFaction', envelope.address, new RangeError('ProfileFaction identity contradicts its Profile-only PDA.'), `Faction enrollment ${envelope.address} belongs to another Profile. Verify the Profile address and deployment before retrying.`);
10
+ return freezeResolvedSnapshot(attachReadMeta(attachJsonSerialization({
11
+ kind: 'profileFaction',
12
+ address: envelope.address,
13
+ profile: entityRef('profile', profile),
14
+ faction: envelope.data.faction,
15
+ factionId: envelope.data.factionId,
16
+ version: envelope.data.version,
17
+ }), {
18
+ slot: envelope.slot,
19
+ commitment: envelope.commitment,
20
+ source: envelope.source,
21
+ strategy: 'derived',
22
+ }));
23
+ }
24
+ /** Derives and reads a Profile's existing faction enrollment without loading Game.
25
+ * @example
26
+ * ```ts
27
+ * declare const ctx: SageContext;
28
+ * declare const profile: Address;
29
+ * const enrollment = await getProfileFactionForProfile(ctx, profile);
30
+ * console.log(enrollment.faction);
31
+ * ```
32
+ */
33
+ export async function getProfileFactionForProfile(ctx, profile, options) {
34
+ const address = await deriveProfileFactionAddress(profile);
35
+ return snapshot(await ctx.data.read(profileFactionAccountDefinition, address, options), profile);
36
+ }
37
+ /** Reads optional Profile enrollment; absence is undefined, malformed accounts still fail.
38
+ * @example
39
+ * ```ts
40
+ * declare const ctx: SageContext;
41
+ * declare const profile: Address;
42
+ * const enrollment = await maybeGetProfileFactionForProfile(ctx, profile);
43
+ * console.log(enrollment?.faction ?? 'not enrolled');
44
+ * ```
45
+ */
46
+ export async function maybeGetProfileFactionForProfile(ctx, profile, options) {
47
+ const address = await deriveProfileFactionAddress(profile);
48
+ const [value] = await ctx.data.readMany(profileFactionAccountDefinition, [address], options);
49
+ return value === undefined ? undefined : snapshot(value, profile);
50
+ }
51
+ //# sourceMappingURL=profile-faction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-faction.js","sourceRoot":"","sources":["../../src/factions/profile-faction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAEhC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AA0B1E,SAAS,QAAQ,CACf,QAAqD,EACrD,OAAgB;IAEhB,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO;QACnC,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CACZ,2DAA2D,CAC5D,EACD,sBAAsB,QAAQ,CAAC,OAAO,yFAAyF,CAChI,CAAC;IACJ,OAAO,sBAAsB,CAC3B,cAAc,CACZ,uBAAuB,CAAC;QACtB,IAAI,EAAE,gBAAyB;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;QACtC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;QAC9B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;QAClC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;KAC/B,CAAC,EACF;QACE,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,SAAS;KACpB,CACF,CACF,CAAC;AACJ,CAAC;AACD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,GAAgB,EAChB,OAAgB,EAChB,OAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,QAAQ,CACb,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,EAAE,OAAO,CAAC,EACtE,OAAO,CACR,CAAC;AACJ,CAAC;AACD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,GAAgB,EAChB,OAAgB,EAChB,OAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CACrC,+BAA+B,EAC/B,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { SageContext } from '../../client/contracts.js';
3
+ import { type Plan } from '../../planning/index.js';
4
+ /** Address of the external signer that will fund Character account storage.
5
+ * Character registration has no Profile-authority or faction signer role.
6
+ * @example
7
+ * ```ts
8
+ * declare const funder: Address;
9
+ * const options:PlanRegisterCharacterOptions={funder};
10
+ * ```
11
+ */
12
+ export interface PlanRegisterCharacterOptions {
13
+ readonly funder: Address;
14
+ }
15
+ /** Plans creation of an existing Profile's canonical Character in the configured Game.
16
+ * Only the explicit storage funder signs. The Profile's authority and faction
17
+ * enrollment are not prerequisites for this instruction. Planning never creates
18
+ * an account, signs, submits, or retains a signer. Existing Characters are rejected;
19
+ * reuse them through `getCharacterForProfile` or `maybeGetCharacterForProfile`.
20
+ * Rent, funder balance, and final creation remain chain-authoritative. Simulate
21
+ * before signing and read the Character after confirmed execution to verify its
22
+ * exact Profile/Game identity. Submission alone does not prove creation.
23
+ * @example
24
+ * ```ts
25
+ * import {planRegisterCharacter} from '@aephia/atlas-kit/identity/actions';
26
+ * import type {SageContext,Address} from '@aephia/atlas-kit/client';
27
+ * declare const ctx:SageContext;
28
+ * declare const profileAddress:Address;
29
+ * declare const funder:Address;
30
+ * const plan=await planRegisterCharacter(ctx,profileAddress,{funder});
31
+ * console.log(plan.summary,plan.requiredSigners);
32
+ * ```
33
+ */
34
+ export declare function planRegisterCharacter(ctx: SageContext, profileAddress: Address, input: PlanRegisterCharacterOptions): Promise<Plan>;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAEL,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAoDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
@@ -0,0 +1,108 @@
1
+ import { getAddressEncoder, isAddress, isOffCurveAddress, } from '@solana/kit';
2
+ import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { createRegisterCharacterInstruction } from '../../internal/c4/character-registration.js';
5
+ import { characterAccountDefinition, profileAccountDefinition, findCharacterPda, } from '../../internal/c4/identity.js';
6
+ import { requireGameAddress } from '../../internal/game-context.js';
7
+ import { createPlan, } from '../../planning/index.js';
8
+ import { readFreshGameForCharacterRegistration } from '../../registry/onboarding.js';
9
+ function validateOptions(input) {
10
+ if (input === null || typeof input !== 'object' || Array.isArray(input))
11
+ throw new InvalidActionInputError('options', input, 'an object containing only funder', 'Pass { funder } with the address that will pay for Character account storage.');
12
+ const record = input;
13
+ if (Object.keys(record).length !== 1 ||
14
+ !Object.hasOwn(record, 'funder') ||
15
+ typeof record.funder !== 'string' ||
16
+ !isAddress(record.funder) ||
17
+ isOffCurveAddress(record.funder))
18
+ throw new InvalidActionInputError('options.funder', record.funder, 'one directly signing z.ink/Solana address and no other option fields', 'Set funder to an external signer address, not a signer object or program-derived address.');
19
+ return { funder: record.funder };
20
+ }
21
+ function fail(message, address) {
22
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
23
+ }
24
+ async function observe(account, describes) {
25
+ const owner = getAddressEncoder().encode(account.owner);
26
+ const data = new Uint8Array(owner.length + account.data.length);
27
+ data.set(owner);
28
+ data.set(account.data, owner.length);
29
+ const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', data));
30
+ return {
31
+ kind: 'account-state',
32
+ address: account.address,
33
+ dataHash: [...digest]
34
+ .map((byte) => byte.toString(16).padStart(2, '0'))
35
+ .join(''),
36
+ describes,
37
+ };
38
+ }
39
+ /** Plans creation of an existing Profile's canonical Character in the configured Game.
40
+ * Only the explicit storage funder signs. The Profile's authority and faction
41
+ * enrollment are not prerequisites for this instruction. Planning never creates
42
+ * an account, signs, submits, or retains a signer. Existing Characters are rejected;
43
+ * reuse them through `getCharacterForProfile` or `maybeGetCharacterForProfile`.
44
+ * Rent, funder balance, and final creation remain chain-authoritative. Simulate
45
+ * before signing and read the Character after confirmed execution to verify its
46
+ * exact Profile/Game identity. Submission alone does not prove creation.
47
+ * @example
48
+ * ```ts
49
+ * import {planRegisterCharacter} from '@aephia/atlas-kit/identity/actions';
50
+ * import type {SageContext,Address} from '@aephia/atlas-kit/client';
51
+ * declare const ctx:SageContext;
52
+ * declare const profileAddress:Address;
53
+ * declare const funder:Address;
54
+ * const plan=await planRegisterCharacter(ctx,profileAddress,{funder});
55
+ * console.log(plan.summary,plan.requiredSigners);
56
+ * ```
57
+ */
58
+ export async function planRegisterCharacter(ctx, profileAddress, input) {
59
+ const { funder } = validateOptions(input);
60
+ if (typeof profileAddress !== 'string' || !isAddress(profileAddress))
61
+ throw new InvalidActionInputError('profileAddress', profileAddress, 'an existing Profile account address', 'Pass the Profile address, not a wallet address or loaded signer.');
62
+ const game = requireGameAddress(ctx);
63
+ const character = await findCharacterPda(profileAddress, game);
64
+ const [gameAccount, [profileAccount, characterAccount]] = await Promise.all([
65
+ readFreshGameForCharacterRegistration(ctx),
66
+ readContextRawAccounts(ctx, [profileAddress, character]),
67
+ ]);
68
+ if (!profileAccount)
69
+ fail(`Profile ${profileAddress} does not exist. Create or select an existing Profile before registering its Character.`, profileAddress);
70
+ if (profileAccount.executable)
71
+ fail(`Profile ${profileAddress} is executable instead of Profile state. Select a valid Player Profile account and retry.`, profileAddress);
72
+ profileAccountDefinition.decode(profileAccount);
73
+ if (characterAccount) {
74
+ if (characterAccount.executable)
75
+ fail(`Canonical Character ${character} is executable instead of Character state. Verify the configured Game and account data before retrying.`, character);
76
+ const existing = characterAccountDefinition.decode(characterAccount);
77
+ if (existing.playerProfile !== profileAddress || existing.game !== game)
78
+ fail(`Canonical Character ${character} contains a different Profile or Game relationship. Verify the deployment and refresh the account; do not treat it as a missing Character.`, character);
79
+ fail(`Character ${character} is already registered for Profile ${profileAddress} in Game ${game}. Read and reuse it with getCharacterForProfile or maybeGetCharacterForProfile; registration is not idempotent.`, character);
80
+ }
81
+ const summary = `Register canonical Character ${character} for existing Profile ${profileAddress} in Game ${game}. Funder ${funder} is the sole instruction signer and pays Character account storage; transaction fees are separate. No Profile-authority or faction signature is required. Storage rent, funder balance and final creation remain chain-authoritative: simulate before signing, then use getCharacterForProfile after confirmed execution to verify the Profile/Game identity.`;
82
+ return createPlan({
83
+ kind: 'identity.register-character',
84
+ summary,
85
+ preconditions: [
86
+ await observe(profileAccount, `Profile ${profileAddress} retains its validated Player Profile state.`),
87
+ await observe(gameAccount, `Game ${game} retains its validated C4 state.`),
88
+ {
89
+ kind: 'account-absent',
90
+ address: character,
91
+ describes: `Canonical Character ${character} remains absent; if another transaction registers it, read and reuse it instead.`,
92
+ },
93
+ ],
94
+ steps: [
95
+ {
96
+ describes: summary,
97
+ signers: [funder],
98
+ instruction: createRegisterCharacterInstruction({
99
+ profile: profileAddress,
100
+ funder,
101
+ character,
102
+ game,
103
+ }),
104
+ },
105
+ ],
106
+ });
107
+ }
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type Address, type Instruction } from '@solana/kit';
2
+ /** Address-only adapter for the pinned registerCharacter instruction contract. */
3
+ export declare function createRegisterCharacterInstruction(input: {
4
+ readonly profile: Address;
5
+ readonly funder: Address;
6
+ readonly character: Address;
7
+ readonly game: Address;
8
+ }): Instruction;
9
+ //# sourceMappingURL=character-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-registration.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/character-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1E,kFAAkF;AAClF,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,GAAG,WAAW,CAgBd"}
@@ -0,0 +1,21 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SAGE_PROGRAM_ADDRESS, getRegisterCharacterInstructionDataEncoder, } from '@staratlas/dev-sage';
3
+ /** Address-only adapter for the pinned registerCharacter instruction contract. */
4
+ export function createRegisterCharacterInstruction(input) {
5
+ // Preserve the generated account order and roles without creating a signer.
6
+ return {
7
+ programAddress: SAGE_PROGRAM_ADDRESS,
8
+ accounts: [
9
+ { address: input.profile, role: AccountRole.READONLY },
10
+ { address: input.funder, role: AccountRole.WRITABLE_SIGNER },
11
+ { address: input.character, role: AccountRole.WRITABLE },
12
+ { address: input.game, role: AccountRole.READONLY },
13
+ {
14
+ address: '11111111111111111111111111111111',
15
+ role: AccountRole.READONLY,
16
+ },
17
+ ],
18
+ data: getRegisterCharacterInstructionDataEncoder().encode({}),
19
+ };
20
+ }
21
+ //# sourceMappingURL=character-registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-registration.js","sourceRoot":"","sources":["../../../src/internal/c4/character-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,0CAA0C,GAC3C,MAAM,qBAAqB,CAAC;AAE7B,kFAAkF;AAClF,MAAM,UAAU,kCAAkC,CAAC,KAKlD;IACC,4EAA4E;IAC5E,OAAO;QACL,cAAc,EAAE,oBAAoB;QACpC,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACtD,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;YAC5D,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACxD,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnD;gBACE,OAAO,EAAE,kCAA6C;gBACtD,IAAI,EAAE,WAAW,CAAC,QAAQ;aAC3B;SACF;QACD,IAAI,EAAE,0CAA0C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PROFILE_FACTION_PROGRAM_ADDRESS } from '@staratlas/dev-profile-faction';
2
+ import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
3
+ export { PROFILE_FACTION_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS };
4
+ /** Pinned initial-enrollment data only; keeps generated bindings behind the C4 boundary. */
5
+ export declare function encodeChooseFactionData(keyIndex: number, faction: 1 | 2 | 3): import("@solana/kit").ReadonlyUint8Array<ArrayBuffer>;
6
+ //# sourceMappingURL=faction-enrollment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faction-enrollment.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/faction-enrollment.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,+BAA+B,EAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,CAAC;AAC3E,4FAA4F;AAC5F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,yDAE3E"}
@@ -0,0 +1,8 @@
1
+ import { getChooseFactionInstructionDataEncoder, PROFILE_FACTION_PROGRAM_ADDRESS, } from '@staratlas/dev-profile-faction';
2
+ import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
3
+ export { PROFILE_FACTION_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS };
4
+ /** Pinned initial-enrollment data only; keeps generated bindings behind the C4 boundary. */
5
+ export function encodeChooseFactionData(keyIndex, faction) {
6
+ return getChooseFactionInstructionDataEncoder().encode({ keyIndex, faction });
7
+ }
8
+ //# sourceMappingURL=faction-enrollment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faction-enrollment.js","sourceRoot":"","sources":["../../../src/internal/c4/faction-enrollment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,CAAC;AAC3E,4FAA4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,OAAkB;IAC1E,OAAO,sCAAsC,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAChF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile-faction.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrD,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AA4CD,sFAAsF;AACtF,eAAO,MAAM,uCAAuC,EAAE,gBAAgB,CAAC,0BAA0B,CAwB7F,CAAC;AAEL,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,CAAC,yBAAyB,CAyBpF,CAAC;AAEL,uEAAuE;AACvE,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAalB"}
1
+ {"version":3,"file":"profile-faction.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrD,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkDD,sFAAsF;AACtF,eAAO,MAAM,uCAAuC,EAAE,gBAAgB,CAAC,0BAA0B,CAwB7F,CAAC;AAEL,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,CAAC,yBAAyB,CAyBpF,CAAC;AAEL,uEAAuE;AACvE,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAalB"}
@@ -9,6 +9,8 @@ function validate(account) {
9
9
  if (account.owner !== PROFILE_FACTION_PROGRAM_ADDRESS) {
10
10
  throw new InvalidAccountOwnerError('profileFaction', account.address, PROFILE_FACTION_PROGRAM_ADDRESS, account.owner);
11
11
  }
12
+ if (account.executable)
13
+ throw new AccountDecodeError('profileFaction', account.address, new RangeError('Faction enrollment must not be executable.'));
12
14
  if (account.data.length < DISCRIMINATOR.length ||
13
15
  DISCRIMINATOR.some((byte, index) => account.data[index] !== byte)) {
14
16
  throw new InvalidDiscriminatorError('profileFaction', account.address);
@@ -1 +1 @@
1
- {"version":3,"file":"profile-faction.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-faction.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import type { PlanPrecondition } from '../../planning/index.js';
4
+ import type { AddressOnlyInstruction, PlanAuthorization } from './authorization-adapter.js';
5
+ export declare const RENT_ADDRESS: Address;
6
+ export declare const CLOCK_ADDRESS: Address;
7
+ export declare function enrollmentFailure(message: string, address: Address): never;
8
+ export declare function readRent(account: RawAccount): (length: number) => bigint;
9
+ export declare function readClock(account: RawAccount): bigint;
10
+ export declare function observeEnrollmentAccount(account: RawAccount): Promise<PlanPrecondition>;
11
+ export declare function adaptChooseFaction(authorization: PlanAuthorization, target: Address, faction: 1 | 2 | 3): AddressOnlyInstruction;
12
+ //# sourceMappingURL=faction-enrollment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faction-enrollment.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/faction-enrollment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,YAAY,EAC0B,OAAO,CAAC;AAC3D,eAAO,MAAM,aAAa,EACyB,OAAO,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAE1E;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAqCxE;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAerD;AACD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AACD,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GACjB,sBAAsB,CAoBxB"}
@@ -0,0 +1,73 @@
1
+ import { AccountRole, getAddressEncoder } from '@solana/kit';
2
+ import { encodeChooseFactionData, PROFILE_FACTION_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../c4/faction-enrollment.js';
3
+ import { SageSdkError } from '../../client/errors.js';
4
+ export const RENT_ADDRESS = 'SysvarRent111111111111111111111111111111111';
5
+ export const CLOCK_ADDRESS = 'SysvarC1ock11111111111111111111111111111111';
6
+ const SYSVAR_OWNER = 'Sysvar1111111111111111111111111111111111111';
7
+ export function enrollmentFailure(message, address) {
8
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
9
+ }
10
+ export function readRent(account) {
11
+ if (account.owner !== SYSVAR_OWNER ||
12
+ account.executable ||
13
+ account.data.length !== 17)
14
+ enrollmentFailure('The Rent sysvar has an unexpected owner or layout. Refresh the configured deployment before calculating Profile funding.', account.address);
15
+ const view = new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
16
+ const rate = view.getBigUint64(0, true), threshold = view.getFloat64(8, true);
17
+ if (!Number.isFinite(threshold) || threshold < 0 || view.getUint8(16) > 100)
18
+ enrollmentFailure('The Rent sysvar contains unsupported values. Refresh the deployment or use a supported configuration before enrollment.', account.address);
19
+ return (length) => {
20
+ const base = (BigInt(length) + 128n) * rate;
21
+ const result = Number(base) * threshold;
22
+ if (base > BigInt(Number.MAX_SAFE_INTEGER) ||
23
+ !Number.isFinite(result) ||
24
+ result < 0 ||
25
+ result > Number.MAX_SAFE_INTEGER)
26
+ enrollmentFailure('Profile storage funding exceeds the supported exact calculation range. Use a supported Rent configuration before enrollment.', account.address);
27
+ return BigInt(Math.trunc(result));
28
+ };
29
+ }
30
+ export function readClock(account) {
31
+ if (account.owner !== SYSVAR_OWNER ||
32
+ account.executable ||
33
+ account.data.length !== 40)
34
+ enrollmentFailure('The Clock sysvar has an unexpected owner or layout. Refresh chain time before checking Profile key expiry.', account.address);
35
+ return new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength).getBigInt64(32, true);
36
+ }
37
+ export async function observeEnrollmentAccount(account) {
38
+ const owner = getAddressEncoder().encode(account.owner);
39
+ const bytes = new Uint8Array(owner.length + account.data.length);
40
+ bytes.set(owner);
41
+ bytes.set(account.data, owner.length);
42
+ const hash = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', bytes));
43
+ return {
44
+ kind: 'account-state',
45
+ address: account.address,
46
+ dataHash: [...hash]
47
+ .map((byte) => byte.toString(16).padStart(2, '0'))
48
+ .join(''),
49
+ describes: `Enrollment account ${account.address} retains its observed owner and data; native balance remains chain-authoritative.`,
50
+ };
51
+ }
52
+ export function adaptChooseFaction(authorization, target, faction) {
53
+ return {
54
+ programAddress: PROFILE_FACTION_PROGRAM_ADDRESS,
55
+ accounts: [
56
+ { address: authorization.authority, role: AccountRole.READONLY_SIGNER },
57
+ { address: authorization.profile, role: AccountRole.WRITABLE },
58
+ {
59
+ address: authorization.certificate ?? PROFILE_FACTION_PROGRAM_ADDRESS,
60
+ role: AccountRole.READONLY,
61
+ },
62
+ { address: PLAYER_PROFILE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
63
+ { address: target, role: AccountRole.WRITABLE },
64
+ {
65
+ address: '11111111111111111111111111111111',
66
+ role: AccountRole.READONLY,
67
+ },
68
+ { address: PLAYER_PROFILE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
69
+ ],
70
+ data: encodeChooseFactionData(authorization.keyIndex, faction),
71
+ };
72
+ }
73
+ //# sourceMappingURL=faction-enrollment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faction-enrollment.js","sourceRoot":"","sources":["../../../src/internal/planning/faction-enrollment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RawAccount, SageContext } from '../client/contracts.js';
2
+ /** Fresh Game validation for Character creation, without loading retained catalogs. */
3
+ export declare function readFreshGameForCharacterRegistration(ctx: SageContext): Promise<RawAccount>;
4
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMtE,uFAAuF;AACvF,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
@@ -0,0 +1,19 @@
1
+ import { SageSdkError } from '../client/errors.js';
2
+ import { readContextRawAccounts } from '../client/reconciliation.js';
3
+ import { decodeGameRegistrySections } from '../internal/c4/game.js';
4
+ import { requireGameAddress } from '../internal/game-context.js';
5
+ /** Fresh Game validation for Character creation, without loading retained catalogs. */
6
+ export async function readFreshGameForCharacterRegistration(ctx) {
7
+ const game = requireGameAddress(ctx);
8
+ const [account] = await readContextRawAccounts(ctx, [game]);
9
+ if (!account)
10
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is missing. Select an existing C4 Game before registering this Profile's Character.`, { address: game });
11
+ if (account.executable)
12
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is executable instead of Game state. Select a valid C4 Game account and retry registration.`, { address: game });
13
+ // Prefix validation alone cannot detect truncated variable-length Game data.
14
+ // The registry's pinned exact codec validates the whole account transiently;
15
+ // an empty section request translates and retains no definition catalogs.
16
+ decodeGameRegistrySections(account, []);
17
+ return account;
18
+ }
19
+ //# sourceMappingURL=onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,sFAAsF,EACjH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,IAAI,OAAO,CAAC,UAAU;QACpB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,8FAA8F,EACzH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aephia/atlas-kit",
3
- "version": "0.6.0-next.3",
3
+ "version": "0.6.0-next.5",
4
4
  "description": "Community-maintained non-custodial TypeScript SDK for Star Atlas SAGE C4.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Aephia contributors",
@@ -80,6 +80,10 @@
80
80
  "types": "./dist/factions/index.d.ts",
81
81
  "import": "./dist/factions/index.js"
82
82
  },
83
+ "./factions/actions": {
84
+ "types": "./dist/factions/actions/index.d.ts",
85
+ "import": "./dist/factions/actions/index.js"
86
+ },
83
87
  "./fleets": {
84
88
  "types": "./dist/fleets/index.d.ts",
85
89
  "import": "./dist/fleets/index.js"
@@ -92,6 +96,10 @@
92
96
  "types": "./dist/identity/index.d.ts",
93
97
  "import": "./dist/identity/index.js"
94
98
  },
99
+ "./identity/actions": {
100
+ "types": "./dist/identity/actions/index.d.ts",
101
+ "import": "./dist/identity/actions/index.js"
102
+ },
95
103
  "./loyalty": {
96
104
  "types": "./dist/loyalty/index.d.ts",
97
105
  "import": "./dist/loyalty/index.js"