@aephia/atlas-kit 0.6.0-next.58 → 0.6.0-next.59

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 (40) hide show
  1. package/README.md +1 -0
  2. package/dist/fleets/actions/index.d.ts.map +1 -1
  3. package/dist/fleets/actions/index.js +1 -42
  4. package/dist/fleets/actions/index.js.map +1 -1
  5. package/dist/internal/c4/game.d.ts +5 -0
  6. package/dist/internal/c4/game.d.ts.map +1 -1
  7. package/dist/internal/c4/game.js +12 -0
  8. package/dist/internal/c4/game.js.map +1 -1
  9. package/dist/internal/c4/region-geometry.d.ts +8 -0
  10. package/dist/internal/c4/region-geometry.d.ts.map +1 -0
  11. package/dist/internal/c4/region-geometry.js +43 -0
  12. package/dist/internal/c4/region-geometry.js.map +1 -0
  13. package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
  14. package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
  15. package/dist/internal/c4/scan-detection-codecs.js +3 -0
  16. package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
  17. package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
  18. package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
  19. package/dist/internal/planning/scan-detect-guard.js +77 -0
  20. package/dist/internal/planning/scan-detect-guard.js.map +1 -0
  21. package/dist/internal/planning/scan-detect.d.ts +24 -0
  22. package/dist/internal/planning/scan-detect.d.ts.map +1 -0
  23. package/dist/internal/planning/scan-detect.js +244 -0
  24. package/dist/internal/planning/scan-detect.js.map +1 -0
  25. package/dist/planning/execution.d.ts.map +1 -1
  26. package/dist/planning/execution.js +4 -0
  27. package/dist/planning/execution.js.map +1 -1
  28. package/dist/planning/index.d.ts +3 -2
  29. package/dist/planning/index.d.ts.map +1 -1
  30. package/dist/planning/index.js +79 -3
  31. package/dist/planning/index.js.map +1 -1
  32. package/dist/registry/scanning.d.ts +7 -0
  33. package/dist/registry/scanning.d.ts.map +1 -0
  34. package/dist/registry/scanning.js +13 -0
  35. package/dist/registry/scanning.js.map +1 -0
  36. package/dist/scanning/actions/index.d.ts +26 -0
  37. package/dist/scanning/actions/index.d.ts.map +1 -0
  38. package/dist/scanning/actions/index.js +31 -0
  39. package/dist/scanning/actions/index.js.map +1 -0
  40. package/package.json +5 -1
@@ -1,3 +1,4 @@
1
+ import { validateDetectInstructions, } from '../internal/planning/scan-detect-guard.js';
1
2
  import { validateRespawnInstructions } from '../internal/planning/respawn-guards.js';
2
3
  import { validateFleetAttackInstructions, } from '../internal/planning/fleet-attack-xp.js';
3
4
  import { validateMovementXpInstructions } from '../internal/planning/movement-xp-guard.js';
@@ -428,6 +429,71 @@ function normalizePrecondition(value, field) {
428
429
  describes: readString(precondition.describes, `${field}.describes`),
429
430
  });
430
431
  }
432
+ if (precondition.kind === 'scan-detect') {
433
+ assertKeys(precondition, field, [
434
+ 'kind',
435
+ 'address',
436
+ 'game',
437
+ 'profile',
438
+ 'authority',
439
+ 'character',
440
+ 'signal',
441
+ 'pattern',
442
+ 'policy',
443
+ 'loot',
444
+ 'tracker',
445
+ 'keyIndex',
446
+ 'patternId',
447
+ 'focus',
448
+ 'expectedSequence',
449
+ 'policyRevision',
450
+ 'profileRevision',
451
+ 'configHash',
452
+ 'describes',
453
+ ]);
454
+ const numbers = {};
455
+ for (const [key, max] of [
456
+ ['keyIndex', 65535],
457
+ ['patternId', 65535],
458
+ ['focus', 4],
459
+ ['policyRevision', 4294967295],
460
+ ['profileRevision', 4294967295],
461
+ ]) {
462
+ const value = precondition[key];
463
+ if (typeof value !== 'number' ||
464
+ !Number.isInteger(value) ||
465
+ value < 0 ||
466
+ value > max)
467
+ invalid(`${field}.${key}`, value, `an integer from zero through ${max}`);
468
+ numbers[key] = value;
469
+ }
470
+ const sequence = precondition.expectedSequence;
471
+ if (typeof sequence !== 'bigint' ||
472
+ sequence < 0n ||
473
+ sequence > 18446744073709551615n)
474
+ invalid(`${field}.expectedSequence`, sequence, 'a u64 bigint');
475
+ return Object.freeze({
476
+ kind: 'scan-detect',
477
+ address: readAddress(precondition.address, field),
478
+ game: readAddress(precondition.game, field),
479
+ profile: readAddress(precondition.profile, field),
480
+ authority: readAddress(precondition.authority, field),
481
+ character: readAddress(precondition.character, field),
482
+ signal: readAddress(precondition.signal, field),
483
+ pattern: readAddress(precondition.pattern, field),
484
+ policy: readAddress(precondition.policy, field),
485
+ loot: readAddress(precondition.loot, field),
486
+ tracker: readAddress(precondition.tracker, field),
487
+ keyIndex: numbers.keyIndex,
488
+ patternId: numbers.patternId,
489
+ focus: numbers.focus,
490
+ policyRevision: numbers.policyRevision,
491
+ profileRevision: numbers.profileRevision,
492
+ expectedSequence: sequence,
493
+ configHash: readDataHash(precondition.configHash, field),
494
+ describes: readString(precondition.describes, field),
495
+ });
496
+ }
431
497
  if (precondition.kind === 'fleet-respawn') {
432
498
  assertKeys(precondition, field, [
433
499
  'kind',
@@ -698,7 +764,7 @@ function instructionToJSON(instruction) {
698
764
  }
699
765
  function planToJSON(plan) {
700
766
  return deepFreeze({
701
- v: 20,
767
+ v: 21,
702
768
  kind: plan.kind,
703
769
  summary: plan.summary,
704
770
  affected: [...plan.affected],
@@ -712,6 +778,8 @@ function planToJSON(plan) {
712
778
  signers: [...step.signers],
713
779
  })),
714
780
  preconditions: plan.preconditions.map((guard) => {
781
+ if (guard.kind === 'scan-detect')
782
+ return { ...guard, expectedSequence: String(guard.expectedSequence) };
715
783
  if (guard.kind === 'fleet-arrival')
716
784
  return arrivalGuardToJSON(guard);
717
785
  if (guard.kind === 'fleet-respawn')
@@ -780,6 +848,7 @@ export function createPlan(input) {
780
848
  const preconditions = Object.freeze(readArray(value.preconditions, 'plan.preconditions').map((precondition, index) => normalizePrecondition(precondition, `plan.preconditions[${String(index)}]`)));
781
849
  validateShipImportFundingComposition(preconditions);
782
850
  validateStarbaseSystemGuards(steps, preconditions);
851
+ validateDetectInstructions(steps, preconditions);
783
852
  validateRespawnInstructions(steps, preconditions);
784
853
  const descriptions = Object.freeze(steps.map((step) => step.describes));
785
854
  const plan = {
@@ -843,11 +912,17 @@ export function planFromJSON(json) {
843
912
  'affected',
844
913
  'requiredSigners',
845
914
  ]);
846
- if (value.v !== 20) {
847
- throw new InvalidActionInputError('planJson.v', value.v, 'the current Plan wire version 20', 'Recreate the Plan using the current capability planner; do not change its saved version or migrate its guards.');
915
+ if (value.v !== 21) {
916
+ throw new InvalidActionInputError('planJson.v', value.v, 'the current Plan wire version 21', 'Recreate the Plan using the current capability planner; do not change its saved version or migrate its guards.');
848
917
  }
849
918
  value.preconditions = readArray(value.preconditions, 'planJson.preconditions').map((entry) => {
850
919
  const guard = readRecord(entry, 'precondition');
920
+ if (guard.kind === 'scan-detect') {
921
+ if (typeof guard.expectedSequence !== 'string' ||
922
+ !/^(0|[1-9][0-9]*)$/.test(guard.expectedSequence))
923
+ invalid('expectedSequence', guard.expectedSequence, 'a canonical unsigned decimal string');
924
+ return { ...guard, expectedSequence: BigInt(guard.expectedSequence) };
925
+ }
851
926
  if (guard.kind === 'fleet-arrival')
852
927
  return normalizeArrivalGuard(guard, 'precondition', true);
853
928
  if (isRuntimeGuard(guard))
@@ -1040,6 +1115,7 @@ export function combinePlans(...plans) {
1040
1115
  validateStarbaseSystemInstructions(steps, preconditions);
1041
1116
  validateCharacterRegistrationInstructions(steps, preconditions);
1042
1117
  validateArrivalInstructions(steps, preconditions);
1118
+ validateDetectInstructions(steps, preconditions);
1043
1119
  validateRespawnInstructions(steps, preconditions);
1044
1120
  validateRuntimeInstructions(steps, preconditions);
1045
1121
  validateMovementXpInstructions(steps, preconditions);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { SageContext, ReadAccountOptions } from '../client/contracts.js';
2
+ /** Fresh scanning configuration without retaining a Game snapshot or resolving unrelated definitions. */
3
+ export declare function readFreshGameScanningConfiguration(ctx: SageContext, options?: ReadAccountOptions): Promise<{
4
+ shipSequenceId: number;
5
+ cargo: import("../internal/c4/game.js").GameCargoDefinitionsSectionData;
6
+ }>;
7
+ //# sourceMappingURL=scanning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanning.d.ts","sourceRoot":"","sources":["../../src/registry/scanning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK9E,yGAAyG;AACzG,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,kBAAkB;;;GAU7B"}
@@ -0,0 +1,13 @@
1
+ import { SageSdkError } from '../client/errors.js';
2
+ import { readContextRawAccounts } from '../client/reconciliation.js';
3
+ import { requireGameAddress } from '../internal/game-context.js';
4
+ import { decodeGameScanningConfiguration } from '../internal/c4/game.js';
5
+ /** Fresh scanning configuration without retaining a Game snapshot or resolving unrelated definitions. */
6
+ export async function readFreshGameScanningConfiguration(ctx, options) {
7
+ const game = requireGameAddress(ctx);
8
+ const [raw] = await readContextRawAccounts(ctx, [game], options);
9
+ if (!raw)
10
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Scanning requires the configured Game. Restore the correct deployment context and refresh before detection.');
11
+ return decodeGameScanningConfiguration(raw);
12
+ }
13
+ //# sourceMappingURL=scanning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanning.js","sourceRoot":"","sources":["../../src/registry/scanning.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,GAAgB,EAChB,OAA4B;IAE5B,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,6GAA6G,CAC9G,CAAC;IACJ,OAAO,+BAA+B,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Address, SageContext } from '../../client/contracts.js';
2
+ import { type Plan } from '../../planning/index.js';
3
+ import { type DetectOptions } from '../../internal/planning/scan-detect.js';
4
+ /** Explicit choices for one Idle Fleet's detection; setup and funding are separate.
5
+ * @example
6
+ * ```ts
7
+ * declare const profile: Address, authority: Address;
8
+ * const authorization = { profile, authority, keyIndex: 0 };
9
+ * const options: PlanDetectSignalOptions = { authorization, patternId: 0, focus: 'any' };
10
+ * ```
11
+ */
12
+ export interface PlanDetectSignalOptions extends DetectOptions {
13
+ }
14
+ /** Plans one signal detection for an existing Empty signal and directly owned Idle Fleet.
15
+ * Reads fresh prerequisites without signing. Restricted-key sufficiency, cooldown
16
+ * rejection and final gameplay outcomes remain chain-authoritative; use simulatePlan.
17
+ * No automatic opening, deposits, loading, undocking or resolution occurs.
18
+ * @example
19
+ * ```ts
20
+ * declare const ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions;
21
+ * const plan = await planDetectSignal(ctx, fleet, options);
22
+ * console.log(plan.describe());
23
+ * ```
24
+ */
25
+ export declare function planDetectSignal(ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions): Promise<Plan>;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanning/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAChD;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAwB,SAAQ,aAAa;CAAG;AACjE;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -0,0 +1,31 @@
1
+ import { createPlan } from '../../planning/index.js';
2
+ import { resolveDetect, } from '../../internal/planning/scan-detect.js';
3
+ /** Plans one signal detection for an existing Empty signal and directly owned Idle Fleet.
4
+ * Reads fresh prerequisites without signing. Restricted-key sufficiency, cooldown
5
+ * rejection and final gameplay outcomes remain chain-authoritative; use simulatePlan.
6
+ * No automatic opening, deposits, loading, undocking or resolution occurs.
7
+ * @example
8
+ * ```ts
9
+ * declare const ctx: SageContext, fleet: Address, options: PlanDetectSignalOptions;
10
+ * const plan = await planDetectSignal(ctx, fleet, options);
11
+ * console.log(plan.describe());
12
+ * ```
13
+ */
14
+ export async function planDetectSignal(ctx, fleet, options) {
15
+ const resolved = await resolveDetect(ctx, fleet, options);
16
+ const guard = resolved.guard;
17
+ const description = `Detect a signal using pattern ${options.patternId}, focus ${options.focus}, consuming ${resolved.costDescription}. Restricted-key acceptance and final outcomes remain chain-authoritative; simulate before signing.`;
18
+ return createPlan({
19
+ kind: 'scan-detect',
20
+ summary: description,
21
+ steps: [
22
+ {
23
+ instruction: resolved.instruction,
24
+ describes: description,
25
+ signers: [guard.authority],
26
+ },
27
+ ],
28
+ preconditions: [guard],
29
+ });
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanning/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,aAAa,GAEd,MAAM,wCAAwC,CAAC;AAUhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAgB,EAChB,KAAc,EACd,OAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,WAAW,GAAG,iCAAiC,OAAO,CAAC,SAAS,WAAW,OAAO,CAAC,KAAK,eAAe,QAAQ,CAAC,eAAe,qGAAqG,CAAC;IAC3O,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE;YACL;gBACE,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;aAC3B;SACF;QACD,aAAa,EAAE,CAAC,KAAK,CAAC;KACvB,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aephia/atlas-kit",
3
- "version": "0.6.0-next.58",
3
+ "version": "0.6.0-next.59",
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",
@@ -147,6 +147,10 @@
147
147
  "./world": {
148
148
  "types": "./dist/world/index.d.ts",
149
149
  "import": "./dist/world/index.js"
150
+ },
151
+ "./scanning/actions": {
152
+ "types": "./dist/scanning/actions/index.d.ts",
153
+ "import": "./dist/scanning/actions/index.js"
150
154
  }
151
155
  },
152
156
  "files": [